/* Components: navigation, controls, disclosures, media and footer. */
.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{min-height:var(--header-row-height);display:flex;align-items:center;gap:28px;padding-block:6px;position:relative}
.brand{width:174px;flex:0 0 auto}.brand img{width:100%;height:auto}
.desktop-nav{display:flex;flex-wrap:wrap;min-width:0;gap:12px 24px;margin-left:auto;align-items:center;font-size:.875rem}
.desktop-nav a{display:flex;align-items:center;min-height:44px;position:relative;white-space:nowrap}
.desktop-nav a[aria-current="location"],.desktop-nav a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-underline-offset:7px}
.desktop-nav a[aria-current="location"]::after{content:"";position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--ink)}
.desktop-nav a:hover{color:var(--muted)}
.button,.nav-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:13px 20px;border:1px solid transparent;border-radius:3px;font-size:.9375rem;line-height:1.5;transition:background .18s,color .18s}
.button-dark,.nav-contact{background:var(--ink);color:var(--reverse)}
.button-dark:hover,.nav-contact:hover{background:#30343a}
.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:white}
.secondary-button{background:transparent;border-color:var(--line)}
.nav-contact{flex-shrink:0;white-space:nowrap;gap:20px;font-size:.875rem}
.text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:.875rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.text-link:hover{color:var(--muted)}
.github-link{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.github-icon{width:20px;height:20px;flex:0 0 20px}.github-link:hover{text-decoration:underline;text-underline-offset:5px}
.menu-toggle{display:none;margin-left:auto;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:3px;background:transparent}
.mobile-nav{display:none}
.back-link{margin-left:auto;display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;text-decoration:underline;text-underline-offset:5px}
.language-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:36px;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;flex-shrink:0}
.language-fallback{display:flex;gap:12px;align-items:center;font-size:.75rem;color:var(--muted)}
.subpage-header .header-inner{flex-wrap:wrap}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:40px}
.section-heading .eyebrow{margin-bottom:16px}
.section-intro{font-size:1rem;line-height:1.85;color:var(--muted);max-width:460px}
.case-tabs{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.case-tabs button{display:flex;align-items:center;gap:20px;min-height:64px;padding:16px 0;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:1rem;color:var(--muted)}
.case-tabs button[aria-selected="true"]{color:var(--ink);font-weight:500}
.tab-arrow{margin-left:auto;color:var(--orange);opacity:0}
.case-tabs button[aria-selected="true"] .tab-arrow{opacity:1}
.demo{border:1px solid var(--line);background:var(--night);color:var(--reverse)}
.demo-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;font-size:.75rem;color:#c5c3bc}
.demo-top>span{display:flex;align-items:center;gap:8px}.demo-top i{width:5px;height:5px;border-radius:50%;background:currentColor}
.demo-top button{min-height:44px;border:0;background:transparent;color:var(--reverse);font-size:.875rem;padding:8px 0}
.demo-media{background:#e8e8e5;aspect-ratio:1000/637;padding:6px}
.demo-media video{width:100%;height:100%;background:#e8e8e5}
.demo figcaption{font-size:.75rem;color:#c5c3bc;padding:10px 16px}
.case-flow{font-size:.875rem;line-height:1.9;color:var(--muted);display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.delivery-path{border-top:1px solid var(--line)}
.delivery-step{border-bottom:1px solid var(--line)}
.delivery-step summary{list-style:none;display:grid;grid-template-columns:26px minmax(0,1fr) 24px;gap:8px 16px;align-items:start;padding:22px 0;cursor:pointer}
.delivery-step summary::-webkit-details-marker{display:none}
.step-number{font: .875rem/1.9 Arial,sans-serif;color:var(--muted);padding-top:2px}
.delivery-name{grid-column:2;font-size:1.5rem;line-height:1.4;font-weight:500}
.delivery-description{grid-column:2;color:var(--muted);font-size:1rem;line-height:1.8}
.step-output{grid-column:2;color:var(--muted);font-size:.875rem}
.step-mark{grid-column:3;grid-row:1;color:var(--ink);font-size:1.5rem;line-height:1.4;transition:transform .18s}
.delivery-step[open] .step-mark{transform:rotate(45deg)}
.delivery-detail{padding:4px 16px 24px 42px;display:grid;gap:20px}
.delivery-detail h3{font-size:1rem;margin-bottom:6px}
.delivery-detail p{font-size:1rem;line-height:1.85;color:var(--muted)}
dialog{width:min(1120px,calc(100% - 40px));max-height:calc(100svh - 40px);border:0;border-radius:3px;background:var(--paper);color:var(--ink);padding:24px;overflow:auto}
dialog::backdrop{background:#080b10c9}
.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;color:var(--muted);font-size:.875rem}
.dialog-close{min-width:44px;min-height:44px;font-size:2rem;line-height:1;background:none;border:0}
dialog h2{font-size:1.5rem;margin-bottom:20px}
#dialog-body video{width:100%;max-height:65svh;background:var(--night)}
#dialog-body .status{font-size:.75rem;color:var(--muted);margin-top:12px}
#dialog-body .text-link{margin-top:12px}
.site-footer{background:var(--surface);padding:56px 0 24px;border-top:1px solid var(--line)}
.footer-main{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(0,3.1fr);gap:64px;align-items:start}
.footer-brand img{width:174px;height:auto}
.footer-nav{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:32px}
.footer-group h2{font-size:.9375rem;line-height:1.8;letter-spacing:0;font-weight:600;margin-bottom:10px}
.footer-group ul{margin:0;padding:0;list-style:none}
.footer-group a,.footer-current{display:flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.6;color:#514d46;overflow-wrap:anywhere}
.footer-group a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #cbc4b7;margin-top:32px;padding-top:20px}
.footer-bottom p{font-size:.75rem;color:#625d53;line-height:1.9}.footer-bottom p span{padding:0 8px}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:12px 24px}.footer-bottom a{display:flex;align-items:center;min-height:44px;font-size:.875rem}
@media(max-width:1099px){
 .header-inner>.language-link{margin-left:auto}.header-inner>.language-link+.nav-contact{margin-left:0}.header-inner>.menu-toggle{margin-left:0}
 .header-inner{gap:20px}.brand{width:150px}.desktop-nav{display:none}
 html[data-js] .menu-toggle{display:block}.header-inner>.nav-contact{margin-left:auto}
 .mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border:1px solid var(--line);padding:12px 24px;max-height:calc(100dvh - var(--header-height) - 24px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 12px 24px #080b100d}
 html[data-js] .mobile-nav:not([hidden]){display:block}
 .mobile-nav a{display:flex;align-items:center;min-height:48px;font-size:1rem}
 .mobile-nav a[aria-current="location"]{text-decoration:underline;text-underline-offset:6px}
 html:not([data-js]) .header-inner{height:auto;min-height:var(--header-height);flex-wrap:wrap;padding-block:10px}
 html:not([data-js]) .mobile-nav{display:flex;position:static;flex-wrap:wrap;gap:8px 20px;width:100%;padding:0;border:0;box-shadow:none;max-height:none}
 .footer-main{grid-template-columns:1fr;gap:32px}.footer-nav{gap:28px}
}
@media(max-width:760px){
 .language-fallback{flex-basis:100%;justify-content:flex-end}.subpage-header .header-inner{gap:8px 16px}
 .brand{width:144px}.header-inner>.nav-contact{display:none}.header-inner{gap:16px}
 .section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:12px}
 .section-intro{margin-top:18px}.button{min-height:46px;padding:12px 16px}
 .case-tabs{flex-direction:row;gap:24px;overflow:auto;border-top:0;scrollbar-width:thin}
 .case-tabs button{flex:0 0 auto;min-height:52px;white-space:nowrap;font-size:.9375rem;border-bottom:2px solid transparent}
 .case-tabs button[aria-selected="true"]{border-color:var(--ink)}.tab-arrow{display:none}
 .demo-top{padding:6px 12px}.demo-media{padding:4px}.demo figcaption{padding:8px 12px}
 .delivery-step summary{padding:20px 0;gap:8px 12px}
 .delivery-name{font-size:1.375rem}.delivery-detail{padding-left:38px}
 .footer-nav{grid-template-columns:1fr 1fr;gap:24px}.site-footer{padding:40px 0 20px}
 .footer-brand img{width:160px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}
 dialog{width:calc(100% - 24px);padding:16px}.back-link{font-size:.875rem}
}
