/* Shared Shop navigation treatment; scoped to this link on every page. */
.header-shop{position:relative;isolation:isolate;overflow:visible;transition:background 350ms,color 350ms,box-shadow 500ms,transform 500ms!important}.header-shop:before{content:'';position:absolute;inset:-3px;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.9),rgba(182,163,224,.08) 38%,rgba(237,211,166,.7) 73%,rgba(255,255,255,.85));filter:blur(5px);opacity:0;transition:opacity 450ms}.header-shop:hover,.header-shop:focus-visible{background:var(--ink)!important;color:var(--paper-hi)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.55),0 10px 24px rgba(27,36,64,.25);transform:translateY(-2px)}.header-shop:hover:before,.header-shop:focus-visible:before{opacity:1}.header-shop span{margin-left:9px}@media(prefers-reduced-motion:reduce){.header-shop,.header-shop:before{transition:none!important}.header-shop:hover{transform:none}}
.header-shop:hover,.header-shop:focus-visible{background:linear-gradient(155deg,#46465e,#1b243b 65%)!important;box-shadow:inset 0 2px 2px #ffffff55,inset 0 -3px 2px #13192c,0 5px 0 -2px #22243b,0 12px 26px #44375040}.header-shop:before{filter:blur(6px)}

/* Keep one desktop header alignment across collection and case pages. */
@media(min-width:901px){.header .header__inner>.brand{margin-right:auto}.header .header__inner>.nav{margin-left:0}.header .header__inner>.pc-language,.header .header__inner>.vm-language{margin-left:0}}

@media(min-width:901px){.header .header__inner>.pc-language{gap:2px;font-family:var(--font-mono)}.header .header__inner>.pc-language button{min-width:38px;width:38px;padding:0;font-family:inherit}.header .header__inner>.pc-language button[aria-pressed=true]{background:rgba(27,36,64,.08);text-decoration:none;border-radius:4px}}

/* Compact public header: two-thirds height, with full-size dropdown contents. */
:root{--header-h:46px}
.header .header__inner{min-height:var(--header-h);gap:12px}
.header .header__inner>.brand{min-height:32px;--mark-h:calc(var(--header-h)*.65)}
.header .header__inner>.brand .brand__lg img{height:calc(var(--mark-h)*.674);width:auto;max-width:none}
.header .header__inner>.header-shop{min-height:30px;height:30px;padding:0 16px;font-size:12px;border-radius:999px;box-sizing:border-box}
.header .header-shop span{margin-left:5px}
.header .header-shop span:first-child{margin-left:0}
.header .header__inner .member-entry{flex-basis:44px;width:44px;min-width:40px;height:30px}
.header .header__inner .member-entry svg{width:16px;height:16px}
.header .header__inner :is(.lang,.pc-language,.vm-language) button{min-height:30px;height:30px;min-width:28px;width:28px;padding:0;font-size:10px}
.header .header__inner>.navtoggle{width:32px;height:30px;padding:0 7px;border-radius:10px}
@media(min-width:1101px){.header .header__inner>.nav{gap:clamp(12px,1.5vw,22px)}.header .header__inner>.nav a{min-height:32px;font-size:13px}}
@media(max-width:599px){
 :root{--header-h:40px}
 .header .header__inner{gap:5px}
 .header .header__inner>.brand .brand__lg img{height:calc(var(--mark-h)*.883)}
 .header .header__inner>.header-shop{padding:0 10px;font-size:11px;height:28px;min-height:28px}
 .header .header__inner .member-entry{flex-basis:38px;width:38px;min-width:38px;height:28px}
 .header .header__inner :is(.lang,.pc-language,.vm-language) button{width:25px;min-width:25px}
}

/* Shop is the shared header baseline. The logo alone breaks below its edge. */
body .header.header{background:rgba(228,225,235,.94);border-bottom:0;box-shadow:none;overflow:visible;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.header.header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,#ffffff20,#fff9 18%,#ffffffb3 48%,#f9eaff80 72%,#ffffff20);pointer-events:none}
.header.header .header__inner{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter);height:var(--header-h);min-height:var(--header-h);box-sizing:border-box}
.header .header__inner>.brand{position:relative;isolation:isolate;z-index:1;flex-shrink:0;height:var(--header-h);min-height:0;padding:0 18px;margin-left:-18px;max-width:none}
.header .header__inner>.brand:before{content:'';position:absolute;z-index:-1;inset:0 0 -14px;border-radius:0 0 30px 30px;background:linear-gradient(155deg,#e4e1eb,#e6e2ed);box-shadow:0 2px 0 #ffffff36;pointer-events:none}
.header .header__inner>.brand:after{content:'';position:absolute;inset:0 0 -14px;padding:0 1px 1px;border-radius:0 0 30px 30px;background:linear-gradient(130deg,#ffffff00 5%,#ffffffb0 45%,#fff9 70%,#ffffff20);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.header .header__inner>.brand .brand__lg img{height:23.52px;max-width:none;transform:translateY(7px)}
@media(max-width:1100px) and (min-width:768px){.header .header__inner>.brand .brand__lg img{height:21.168px}}
@media(max-width:767px){
 .header .header__inner>.brand{padding-inline:12px;margin-left:-8px}
 .header .header__inner>.brand .brand__lg img{height:23.52px;transform:translateY(5px)}
 .header .header__inner>.brand:before,.header .header__inner>.brand:after{bottom:-10px;border-radius:0 0 23px 23px}
}

/* One visible luminous lower edge across every public page. */
body .header.header:after{display:block;opacity:1;visibility:visible;z-index:0;bottom:-1px;height:1px;background:linear-gradient(90deg,#ffffff40 0%,#fff9 15%,#fff 42%,#fff2fc 64%,#ffffffa6 85%,#ffffff40 100%);box-shadow:0 1px 2px #ffffff28;pointer-events:none}

/* A stretched brand star marks the capsule/header junction. */
.header .header__inner>.brand:before{box-shadow:0 1px 0 #ffffff30,0 3px 7px #ffffff28,0 5px 12px #d9cbea18}
.header .brand>.brand__lg:before,.header .brand>.brand__lg:after{content:'';position:absolute;right:-13px;top:calc(100% - 6px);width:34px;height:12px;pointer-events:none;z-index:3;transform-origin:center;animation:header-junction-twinkle 3.8s ease-in-out infinite}
.header .brand>.brand__lg:before{background:radial-gradient(ellipse,#fff5 0%,#fff2 30%,transparent 70%);filter:blur(3px)}
.header .brand>.brand__lg:after{background:linear-gradient(90deg,#ffffff10,#fff 42%,#fff 58%,#ffffff10);clip-path:polygon(0 50%,42% 40%,50% 0,58% 40%,100% 50%,58% 60%,50% 100%,42% 60%)}
@keyframes header-junction-twinkle{0%,100%{opacity:.3;transform:scale(.72,.8)}45%{opacity:.75;transform:scale(1.08,1)}65%{opacity:.55;transform:scale(.9,.88)}}
@media(max-width:767px){.header .brand>.brand__lg:before,.header .brand>.brand__lg:after{right:-9px;width:26px;height:10px;top:calc(100% - 5px)}}
@media(prefers-reduced-motion:reduce){.header .brand>.brand__lg:before,.header .brand>.brand__lg:after{animation:none;opacity:.7;transform:none}}
/* Mobile needs breathing room; the logo junction sparkle is desktop only. */
@media(max-width:767px){:root{--header-h:52px}.header .brand>.brand__lg:before,.header .brand>.brand__lg:after{display:none}}
/* Mobile logo sits inside the header, without the desktop capsule extension. */
@media(max-width:767px){
 .header .header__inner>.brand:before,.header .header__inner>.brand:after{display:none}
 .header .header__inner>.brand .brand__lg img{height:30px;transform:none}
}

/* Keep the existing logo size within a continuous header. */
.header .header__inner>.brand:before,.header .header__inner>.brand:after,.header .brand>.brand__lg:before,.header .brand>.brand__lg:after{display:none!important}
.header .header__inner>.brand .brand__lg img{transform:none}
.footer .footer__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;text-align:left;align-items:start}
.footer__group{display:flex;flex-direction:column;gap:12px;min-width:0}
.footer__group h3{font-size:13px;font-weight:700;margin:0 0 8px;color:var(--f-text);opacity:.7}
.footer__group a{font-size:14px;line-height:1.6}
@media(max-width:600px){.footer .footer__nav{width:100%;gap:24px}}

/* Footer headings share one baseline; wordmark is the sole brand anchor. */
.footer .footer__inner{align-items:start}
.footer .flogo>.mark{display:none}
.footer .flogo{margin-top:2px;gap:0}
.footer .flogo__word{width:clamp(190px,17vw,250px)}
.footer .flogo__sub{font-size:10px;margin-top:10px}
.footer .footer__group h3,.footer .reach__grp>.label{font-family:var(--font-mono);font-size:11px;line-height:20px;font-weight:600;letter-spacing:.08em;margin:0 0 16px;opacity:1;color:var(--f-strong)}
.footer .footer__group{gap:9px}
.footer .footer__group a{font-size:13px;line-height:1.7;opacity:.84;transition:opacity .2s,transform .2s}
.footer .footer__group a:hover{opacity:1;transform:translateX(3px)}
.footer .reach__grp{align-content:start;gap:0}
@media(min-width:900px){.footer .footer__inner{grid-template-columns:minmax(190px,.9fr) minmax(280px,1.15fr) minmax(300px,1.3fr);gap:32px}.footer .reach{gap:26px}}
@media(prefers-reduced-motion:reduce){.footer .footer__group a{transition:none}.footer .footer__group a:hover{transform:none}}
@media(min-width:900px){
 .footer .reach{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}
 .footer .reach__grp{min-width:0}
 .footer .reach__grp:first-child .icons{display:grid;grid-template-columns:repeat(3,40px);gap:10px}
 .footer .reach__grp:last-child .icons{flex-direction:column;align-items:flex-start;gap:8px}
}
@media(min-width:900px) and (max-width:1100px){.footer .footer__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer .flogo{grid-column:1/-1}}

/* A quiet dusk gradient, with a restrained star field and aligned link columns. */
.footer{--f-text:#d9dce9;--f-strong:#fff;--f-line:#ffffff40;background:radial-gradient(ellipse at 5% 100%,#1b0f32 0%,transparent 65%),radial-gradient(ellipse at 80% 15%,#170d24 0%,transparent 58%),linear-gradient(145deg,#0d0917,#100b1b 52%,#07060e 100%)}
.footer::after{background:radial-gradient(ellipse at 45% 95%,#19152928,transparent 65%);opacity:1}
.footer .sky--dark{opacity:.22}
.footer .flogo__word{width:clamp(210px,18.5vw,274px)}
.footer-policies{display:flex;flex-wrap:wrap;gap:12px 28px;margin-bottom:24px;font-size:12px;line-height:1.7}
.footer-policies a{text-decoration:none;border-bottom:1px solid transparent}.footer-policies a:hover{border-color:currentColor}
@media(min-width:1101px){.footer .footer__inner{grid-template-columns:minmax(210px,1.05fr) minmax(280px,1.15fr) minmax(300px,1.3fr);padding-left:clamp(26px,3vw,48px);box-sizing:border-box}}
@media(max-width:600px){.footer-policies{gap:12px 20px}.footer .flogo__word{width:220px}}

/* Lower the brand anchor into the centre of the navigation row. */
.footer .flogo{align-self:center;margin-top:0;padding-block:18px}
.footer .flogo__word{width:clamp(230px,21vw,302px);max-width:100%}
@media(max-width:1100px){.footer .flogo{padding-block:20px 12px}}
@media(max-width:600px){.footer .flogo__word{width:246px}.footer .flogo{padding-block:24px 12px}}
