/* Shared visual system, loaded last on every page. */
:root{--paper:#e8e0d5;--cream:#f3eee8;--ink:#241d1b;--wine:#6a252c;--line:#b9aba1}
body{background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.wrap{width:min(1320px,calc(100% - 90px));margin-inline:auto}
.top{height:88px;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--cream);border-bottom:1px solid var(--line);position:relative;z-index:10}
.top .brand{font:700 39px/1.1 Georgia,serif;letter-spacing:-.08em;text-decoration:none;white-space:nowrap}
.top .nav{display:flex;gap:clamp(16px,2.2vw,34px);align-items:center;font:13px/1.4 Arial,sans-serif;letter-spacing:.04em}
.top .nav a{text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.top .nav .navbtn{border:1px solid var(--ink);padding:12px 19px;border-radius:100px}
.top a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.top .brand[aria-current="page"]{text-decoration:none}
.top .mobile-nav{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:57px;padding:18px 28px;border:1px solid var(--wine);border-radius:0;background:var(--wine);color:white;font:700 15px/1.4 Arial,sans-serif;text-decoration:none;text-align:center}
.btn:hover{background:#4a1b21}
.tag,.eyebrow{font:700 14px/1.5 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.page-hero{min-height:690px;padding-top:70px;padding-bottom:70px}
.page-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(60px,6.6vw,102px);line-height:1.04;letter-spacing:-.05em;margin:25px 0 28px;max-width:760px}
.page-hero p{font-size:22px;line-height:1.55}
.shop-hero{min-height:800px}.shop-hero h1{max-width:760px}.shop-hero .shop-message p{font-size:19px}.shop-hero .shop-message .shop-manifesto{font-size:25px}
.foot{background:#241d1b;color:#f7efe8;padding:28px 0}
.foot .bottom{margin:0;padding:0;border:0;display:flex;justify-content:space-between;align-items:center;gap:24px;font:14px/1.6 Arial,sans-serif}
.foot .bottom nav{display:flex;flex-wrap:wrap;gap:28px}
.foot .bottom a{display:inline-flex;align-items:center;min-height:44px;margin:0;text-underline-offset:5px}
.brand-closing{background:#241d1b;color:#f7efe8;padding:85px 0 70px}
.brand-closing .footer-vision{max-width:1000px;margin:0 auto;text-align:center;font:clamp(23px,2.25vw,34px)/1.55 Georgia,serif;letter-spacing:-.015em}
.brand-closing .footer-vision-text{display:block;max-width:880px;margin:0 auto;text-wrap:balance}
.brand-closing .footer-vision strong{display:block;margin-top:32px;font:400 clamp(44px,5.3vw,76px)/1.15 Georgia,serif;letter-spacing:-.045em}
.brand-closing .production-invitation{max-width:850px}
.brand-closing .production-invitation h2{font:400 clamp(38px,4.5vw,64px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:0 0 28px}
.brand-closing .production-invitation p{font-size:19px;line-height:1.7}.brand-closing .production-invitation .btn{margin-top:20px}
@media(max-width:1250px){.top .nav{display:none}.top .mobile-nav{display:block;position:relative;font:14px/1.4 Arial,sans-serif}.top .mobile-nav summary{list-style:none;border:1px solid var(--line);min-height:44px;padding:12px 16px;cursor:pointer}.top .mobile-nav summary::-webkit-details-marker{display:none}.top .mobile-nav nav{position:absolute;top:50px;right:0;width:245px;max-width:calc(100vw - 38px);background:var(--cream);border:1px solid var(--line);padding:10px;z-index:20}.top .mobile-nav nav a{display:block;min-height:44px;padding:13px;text-decoration:none;white-space:normal}}
@media(max-width:850px){.wrap{width:min(100% - 38px,620px)}.top{height:72px;min-height:72px}.top .brand{font-size:clamp(24px,6.8vw,30px)}.page-hero{min-height:750px;padding:65px 0 250px;align-items:flex-start}.page-hero h1{font-size:clamp(44px,10.5vw,76px)}.page-hero p{font-size:19px}.shop-hero{min-height:1050px}.foot .bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.foot .bottom nav{gap:24px}.brand-closing{padding:65px 0 45px}}
@media(max-width:600px){.brand-closing .footer-vision{font-size:24px}.brand-closing .footer-vision strong{font-size:48px;margin-top:26px}}

/* One campaign image size on every route. Content may grow for enlarged text. */
main>.campaign-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:840px;height:auto;padding:64px 0;margin:0;width:100%;border-bottom:0;box-sizing:border-box}
main>.campaign-hero>.wrap{padding-top:0;padding-bottom:0}
main>.campaign-hero>img,main>.campaign-hero>.hero-image{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0}
main>.campaign-hero>img,main>.campaign-hero>.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
main>.campaign-hero>.hero-image{display:block}
.shop-introduction{padding-top:80px;padding-bottom:80px}.shop-introduction .shop-message{max-width:820px}.shop-introduction .shop-message p{font-size:20px;line-height:1.65}.shop-introduction .shop-message .shop-manifesto{font:400 clamp(30px,3vw,44px)/1.2 Georgia,serif;letter-spacing:-.035em}.shop-introduction .shop-signoff{font:400 28px/1.35 Georgia,serif}
@media(max-width:850px){main>.campaign-hero{min-height:980px;align-items:flex-start;padding:64px 0 240px}main>.campaign-hero>img,main>.campaign-hero>.hero-image img{object-position:68% center}.shop-introduction{padding-top:60px;padding-bottom:60px}}

.footer-left{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}.foot .bottom .social-links{display:flex;align-items:center;gap:8px}.foot .bottom .social-links a{display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px;border-radius:50%;text-decoration:none}.social-links svg{display:block;width:22px;height:22px}.social-links a:hover{background:rgba(255,255,255,.12)}

/* Keep the extended main menu readable. */
@media(min-width:1251px) and (max-width:1450px){.top .nav{gap:13px;font-size:11px}.top .nav .navbtn{padding:10px 12px}}

.publication-consent{border:1px solid var(--line);padding:20px;margin:25px 0}.publication-consent legend{font-weight:700;font-size:16px;padding:0 8px}.publication-consent .check{margin:18px 0}

.publication-submit-note{font-size:15px!important;line-height:1.65;margin:22px 0;padding:18px;border-left:3px solid var(--wine);background:#e8e0d5}
