/* P74: shared finishing rules for public website pages. */
.website-polish{--navy:#06183e;--teal:#21bfc1;--muted:#576574;--line:#d7dfe3;color-scheme:light}
.website-polish :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #087677;outline-offset:4px}
.website-polish :is(header,.nav,.family-footer) :is(a,button,input):focus-visible{outline-color:#75dedd}
.website-polish main:focus{outline:none}
.website-polish :is(.button,.btn,.view-product,.plain-button,.filters button,.quantity button){min-height:44px}
.website-polish .view-product{display:inline-flex;align-items:center}
.website-polish :is(header nav,.navlinks) a{min-height:44px;display:inline-flex;align-items:center}
.website-polish :is(button,a)[aria-current=page]{text-underline-offset:6px}
.website-polish header a[aria-current=page]:not(.brand){text-decoration:underline;text-decoration-thickness:2px}
.website-polish summary{min-height:44px;cursor:pointer}
.website-polish :is(.empty-state,.empty-list,.polish-handoff) p{max-width:65ch}
.website-polish .polish-handoff{padding:26px;border:1px solid #d7dfe3;border-radius:12px;background:#edf3f3;margin:24px 0}
.website-polish .polish-handoff h2{font-size:26px;margin-bottom:14px}
.website-polish .polish-handoff p{margin-bottom:18px}
.website-polish .polish-error{padding-block:48px;min-height:45vh}
.website-polish .quantity button:focus-visible{position:relative;z-index:1}
.website-polish.site-family{font:400 14px/1.65 Montserrat,Arial,sans-serif;color:#06183e;--ink:#06183e;--paper:#fafafa;--tint:#edf3f3}
.site-family .wrap{width:min(1280px,calc(100% - 112px))}
.site-family h1{font-size:clamp(44px,4.7vw,70px);line-height:1.1;letter-spacing:-.045em}
.site-family h2{font-size:36px;line-height:1.2}
.site-family .hero{background:#edf3f3;padding:64px 0 70px}
.site-family .hero .lead{font-size:16px;line-height:1.8;max-width:680px}
.site-family .section{padding:65px 0}
.site-family>header{background:#06183e;color:white;border-color:#34425c}
.site-family header .link{color:#fff;border-color:transparent}
.site-family header a:hover{color:#75dedd}
.site-family header .menu{color:#fff;border-color:#8797a2;border-radius:8px}
.site-family .preview{border-bottom:1px solid #34425c}
.site-family .directory>a:hover{color:#087677}
.site-family .button{font-size:12px;line-height:1.5;border-radius:8px}
.site-family .link{min-height:44px;display:inline-flex;align-items:center}
.site-family .polish-destinations{display:flex;flex-wrap:wrap;gap:12px}
.site-family .polish-destinations a{margin:0}
@media(max-width:1100px){.site-family .wrap{width:calc(100% - 56px)}.site-family .cards,.site-family .architecture{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .website-polish :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important}
 .website-polish :is(.quantity button,.add){min-width:44px;min-height:44px}
 .site-family .wrap{width:calc(100% - 36px)}
 .site-family .hero{padding:38px 0}.site-family .section{padding:38px 0}.site-family h2{font-size:30px}
 .site-family .hero .lead{font-size:14px}.site-family .cards,.site-family .steps,.site-family .architecture,.site-family .directory{grid-template-columns:1fr}
 .site-family header .menu{display:block;min-height:44px}
 .site-family header #nav{width:100%;flex-direction:column;align-items:stretch;gap:6px}
 html.js .site-family header #nav{display:none}html.js .site-family header #nav.open{display:flex}
 .website-polish .polish-handoff{padding:20px}
}
@media(prefers-reduced-motion:reduce){.website-polish *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
