/* Shared navigation, cart and policy-page design. */
html{scroll-padding-top:145px}body>header{position:sticky;inset:0 auto auto;z-index:40;background:#082b20f5;backdrop-filter:blur(18px);border-bottom:1px solid #bd9a5b55;box-shadow:0 8px 30px #00170c20;padding:18px 5%;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}body>header nav{justify-content:center}body>header .brand{width:190px}body>header .cart-open{position:static;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;padding:12px 20px;box-shadow:none;background:#153c2b;color:#f0d49d;min-height:44px;font:14px Georgia,serif}.cart-open:hover{background:#214c36}.legal-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:45px;font-size:12px;color:#dfc18b}.footer-base{align-items:center;padding-bottom:0;margin-top:22px}.legal-links a{text-underline-offset:5px}.legal-hero{position:relative;overflow:hidden;padding:80px 8% 65px;background:radial-gradient(ellipse at 95% 0,#41644377,transparent 60%),linear-gradient(120deg,#0b3426,#062319);border-bottom:1px solid #ae895a55}.legal-hero:after{content:'✧';position:absolute;right:5%;top:-80px;font:450px Georgia;color:#d7ba7930;pointer-events:none}.legal-hero h1{position:relative;z-index:1;max-width:14ch;font-size:clamp(46px,5.5vw,80px);margin:24px 0;line-height:1.07}.legal-hero>p{position:relative;z-index:1;max-width:57ch;color:#d4dece;font-size:17px}.legal-meta{display:flex;gap:18px;align-items:center;margin-top:36px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#cbb888}.legal-layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:270px minmax(0,1fr);gap:80px;padding:70px 8% 95px}.legal-index{align-self:start;position:sticky;top:130px}.legal-index nav{display:flex;flex-direction:column;gap:0;margin-top:18px}.legal-index nav a{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid #af955333;color:#cdd6c6;font-size:12px;line-height:1.6}.legal-index nav span{color:#c7a568;font-size:10px}.legal-contact{display:block;margin-top:28px;font-size:12px;color:#e5c88f;text-underline-offset:5px}.legal-section{display:grid;grid-template-columns:30px minmax(0,1fr);gap:18px;padding:0 0 35px;margin-bottom:35px;border-bottom:1px solid #af95533d;scroll-margin-top:145px}.section-number{font:12px Georgia;color:#c3a367;padding-top:10px}.legal-section h2{font-size:29px;line-height:1.2;color:#edd4a4;margin:0 0 18px;letter-spacing:-.02em}.legal-section p{max-width:none;margin:0;color:#d3dccc;line-height:1.95;font-size:15px}.legal-section a{color:#eed2a0;text-underline-offset:4px}.legal-section strong{color:#f1d299;font-weight:500}.legal-end{padding:32px;background:linear-gradient(135deg,#16452f,#0b2f23);border:1px solid #af955355}.legal-end p{font:26px/1.3 Georgia;color:#ead0a0;max-width:25ch}.legal-end a{font-size:12px;color:#dfc18b;text-underline-offset:5px}
@media(max-width:1000px){body>header{gap:18px;padding:16px 4%}body>header .brand{width:155px}body>header nav{gap:15px;font-size:11px}.legal-layout{gap:40px;grid-template-columns:220px minmax(0,1fr);padding-left:6%;padding-right:6%}}
@media(max-width:700px){html{scroll-padding-top:145px}body>header{grid-template-columns:1fr auto;gap:14px;padding:14px 6%}body>header .brand{width:148px}body>header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:8px;font-size:10px;flex-wrap:wrap}body>header .cart-open{grid-column:2;grid-row:1;padding:10px 15px;font-size:13px}body>header .brand{grid-column:1;grid-row:1}.legal-hero{padding:50px 7% 40px}.legal-hero:after{font-size:300px;right:-85px;top:10px}.legal-hero h1{font-size:48px}.legal-hero>p{font-size:15px}.legal-meta{font-size:9px;gap:12px}.legal-layout{display:block;padding:35px 7% 60px}.legal-index{position:static;border-bottom:1px solid #af955355;padding-bottom:28px;margin-bottom:40px}.legal-index nav{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.legal-index nav a{font-size:11px;gap:8px}.legal-contact{margin-top:20px}.legal-section{grid-template-columns:22px minmax(0,1fr);gap:10px}.legal-section h2{font-size:27px}.legal-section p{font-size:14px}.legal-links{gap:14px 22px;margin-top:32px}.footer-base{padding-bottom:0}.legal-end{padding:25px}.legal-end p{font-size:24px}}
/* Compact navigation keeps brand, cart and gold menu control on one row. */
.menu-toggle{display:none}
@media(max-width:1000px){
 body>header.nav-ready{grid-template-columns:minmax(0,1fr) auto auto;gap:14px;padding:14px 6%;align-items:center}
 body>header.nav-ready>.brand{grid-column:1;grid-row:1;width:148px;max-width:100%}
 body>header.nav-ready>.cart-open{grid-column:2;grid-row:1;padding:10px 15px;min-height:44px;font-size:13px}
 body>header.nav-ready>.menu-toggle{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid #c6a46566;border-radius:50%;background:transparent;color:#e5bf76;cursor:pointer}
 .menu-toggle span{display:block;width:21px;height:2px;background:#e5bf76;border-radius:1px;pointer-events:none}
 body>header.nav-ready>nav{display:none}
 body>header.nav-ready.menu-is-open>nav{display:flex;grid-column:1/-1;grid-row:2;flex-direction:column;align-items:stretch;gap:0;justify-content:flex-start;width:100%;padding:5px 0 0;margin-top:2px;border-top:1px solid #c6a46555;max-height:calc(100dvh - 110px);overflow-y:auto}
 body>header.nav-ready>nav a{display:block;padding:13px 4px;min-height:44px;border-bottom:1px solid #c6a46522;font-size:14px;color:#f0dfbd;text-decoration:none}
 body>header.nav-ready>nav a:last-child{border-bottom:0}
 body>header.nav-ready>nav a:hover{color:#e5bf76;background:#163e2b}
}
@media(max-width:360px){body>header.nav-ready{gap:8px;padding-left:5%;padding-right:5%}body>header.nav-ready>.brand{width:128px}body>header.nav-ready>.cart-open{padding:10px 12px}}
/* A single, viewport-sized composition on portrait phones and tablets. */
@media(max-width:1000px) and (orientation:portrait){
 .hero{height:calc(100svh - var(--site-header-height,80px));min-height:0;max-height:none;align-items:stretch;background:#031d16}
 .hero-copy{width:100%;height:100%;padding:clamp(16px,3svh,30px) 7% 16px;display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:1}
 .hero-copy>.eyebrow{font-size:clamp(8px,2.1vw,10px);letter-spacing:.17em}
 .hero h1{font-size:clamp(30px,min(9.5vw,6.2svh),60px);line-height:1.02;max-width:15ch;margin:12px 0 10px;letter-spacing:-.04em}
 .hero h1 br{display:none}.hero h1 br:after{content:' '}
 .hero h1 em{display:block}
 .hero p{font-size:clamp(12px,3.2vw,15px);line-height:1.55;max-width:35ch;margin:0 0 15px}
 .hero-copy>.button{font-size:13px;padding:11px 20px;min-height:42px}
 .hero .scroll{display:none}
 .hero-art{inset:30% 0 0;z-index:-2}
 .hero-art img{object-fit:cover;object-position:82% 55%;width:100%;height:100%}
 .hero:after{background:linear-gradient(180deg,#031d16 0%,#031d16 24%,#031d16e0 34%,#031d1622 54%,transparent 70%,#031d1655 100%)}
 .hero-controls{margin-top:auto;gap:5px;padding:5px 8px;background:#032219d9;border:1px solid #c5a26355;border-radius:30px;backdrop-filter:blur(10px)}
 .hero-dot{width:30px;height:30px;padding:10px}.hero-pause{font-size:10px;padding:7px 10px}
}
@media(max-width:1000px) and (orientation:portrait) and (max-height:650px){
 .hero-copy{padding-top:14px;padding-bottom:10px}.hero h1{font-size:clamp(28px,8.8vw,38px);margin:8px 0}.hero p{font-size:12px;line-height:1.4;margin-bottom:10px}.hero-copy>.button{padding:9px 16px;min-height:38px}.hero-art{top:32%}.hero-controls{padding:2px 6px}
}

/* A warm gold accent puts flavour at the heart of the hero. */
.hero h1 em{color:#edc77e;font-style:italic}

/* Homepage navigation blends into the hero; scrolling restores contrast. */
body.home-page>header{position:fixed;inset:0 0 auto;width:100%;transition:background .2s ease,box-shadow .2s ease,border-color .2s ease}
body.home-page>header:not(.is-scrolled):not(.menu-is-open){background:transparent;backdrop-filter:none;border-color:transparent;box-shadow:none}
body.home-page>header:not(.is-scrolled)>.brand{width:250px}
body.home-page>header:not(.is-scrolled):not(.menu-is-open)>.cart-open{background:transparent}
.home-page .hero{height:100svh;min-height:760px}
@media(max-width:1000px){body.home-page>header.nav-ready:not(.is-scrolled)>.brand{width:174px}}
@media(max-width:360px){body.home-page>header.nav-ready:not(.is-scrolled)>.brand{width:148px}}
@media(max-width:1000px) and (orientation:portrait){
 .home-page .hero{height:100svh;min-height:0}
 .home-page .hero-copy{padding-top:calc(100px + clamp(16px,3svh,30px))}
 .home-page .hero-art{top:36%}
}
@media(max-width:1000px) and (orientation:portrait) and (max-height:650px){.home-page .hero-copy{padding-top:100px}.home-page .hero-art{top:38%}}
@media(prefers-reduced-motion:reduce){body.home-page>header{transition:none}}
.home-page .hero:before{content:'';position:absolute;inset:0 0 auto;height:150px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#001b1370,transparent)}
/* Scale the landscape composition to available height, including controls. */
@media(orientation:landscape),(min-width:1001px){
 .home-page .hero{height:100svh;min-height:0;align-items:stretch}
 .home-page .hero-copy{width:51%;height:100%;padding:120px 0 clamp(16px,3svh,32px) 6.5%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
 .home-page .hero-copy>.eyebrow{font-size:clamp(8px,1vw,10px);line-height:1.5}
 .home-page .hero h1{font-size:clamp(30px,min(5.5vw,8svh),86px);line-height:1.04;margin:clamp(10px,2svh,22px) 0;flex-shrink:0}
 .home-page .hero h1 em{display:block}
 .home-page .hero p{font-size:clamp(12px,1.1vw,15px);line-height:1.55;max-width:40ch;margin:0 0 clamp(12px,2.5svh,26px)}
 .home-page .hero-copy>.button{padding:clamp(9px,1.5svh,14px) 24px;font-size:14px;flex-shrink:0}
 .home-page .hero .scroll{margin-top:clamp(12px,2.5svh,28px);font-size:8px}
 .home-page .hero-controls{margin-top:clamp(12px,2svh,20px);flex-shrink:0}
 .home-page .hero-art{inset:0}
 .home-page .hero-art img{object-position:center 57%}
 .home-page .hero:after{background:linear-gradient(90deg,#001b1370,transparent 65%),linear-gradient(0deg,#031d1633,transparent 20%)}
}
@media(orientation:landscape) and (max-height:700px){
 body.home-page>header:not(.is-scrolled)>.brand{width:190px}
 .home-page .hero-copy{padding-top:100px}
 .home-page .hero .scroll{display:none}
}
@media(orientation:landscape) and (max-height:500px){
 body.home-page>header{padding-top:10px;padding-bottom:10px}
 body.home-page>header.nav-ready:not(.is-scrolled)>.brand,body.home-page>header:not(.is-scrolled)>.brand{width:148px}
 .home-page .hero-copy{width:55%;padding-top:76px;padding-bottom:12px;justify-content:center}
 .home-page .hero-copy>.eyebrow{font-size:8px;letter-spacing:.12em}
 .home-page .hero h1{font-size:clamp(24px,min(4.5vw,7.5svh),36px);margin:7px 0;line-height:1.04}
 .home-page .hero p{font-size:12px;line-height:1.35;max-width:44ch;margin-bottom:10px}
 .home-page .hero-copy>.button{padding:8px 18px;font-size:12px}
 .home-page .hero-controls{margin-top:8px;gap:6px}
 .home-page .hero-pause{font-size:10px;padding:6px 10px}
}

/* Match the two headline lines and let the description use the same measure. */
.home-page .hero h1{width:100%;max-width:none;container-type:inline-size}
.home-page .hero h1>span,.home-page .hero h1>em{display:block;white-space:nowrap;letter-spacing:-.04em}
.home-page .hero h1>span{font-size:clamp(24px,15.1cqw,86px);line-height:1.08}
.home-page .hero h1>em{font-size:clamp(18px,10.09cqw,57.54px);line-height:1.2}
.home-page .hero p{width:100%;max-width:none;text-wrap:pretty}
@media(orientation:landscape),(min-width:1001px){
 .home-page .hero h1>span{font-size:min(15.1cqw,10svh,86px)}
 .home-page .hero h1>em{font-size:min(10.09cqw,6.688svh,57.54px)}
}
