/* Layout: editorial bands alternating Auraveil Green and Ivory Silk on a 1320px column; story first, shop second */
:root{
  --forest:#0C3B2F;--deep:#072A21;--night:#04190F;
  --pearl:#E6E9E4;--ivory:#F5F2EA;--ivory-2:#ECE7DB;--paper:#FBF9F4;
  --gold:#C6A76A;--gold-ink:#9A7B3F;--gold-soft:rgba(198,167,106,.35);
  --sage:#8FA597;--onyx:#141414;--muted:#5E6B63;--soft:#C9D1CB;
  --line-d:rgba(230,233,228,.14);--line:rgba(12,59,47,.14);
  --display:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --body:"Jost","Futura","Avenir Next","Segoe UI",sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--onyx);font-family:var(--body);font-weight:300;font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--deep)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,select,textarea{font:inherit;color:var(--onyx)}
:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
img{max-width:100%}
.wrap{max-width:1320px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
@media(min-width:760px){.wrap{padding-left:max(44px,env(safe-area-inset-left,0px));padding-right:max(44px,env(safe-area-inset-right,0px))}}
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
h1,h2,h3,h4{font-family:var(--display);font-weight:300;margin:0;text-wrap:balance;line-height:1.06}
p{margin:0}
em{font-style:italic}
.label{font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:400}
.serif{font-family:var(--display);font-weight:300}
.h-xl{font-size:clamp(54px,8.5vw,128px);line-height:.95;letter-spacing:-.01em}
.h-l{font-size:clamp(40px,5.4vw,76px)}
.h-m{font-size:clamp(32px,3.8vw,52px)}
.lede{font-size:clamp(17px,1.4vw,19px);line-height:1.7}
.eyebrow{display:flex;gap:16px;align-items:center}
.eyebrow::before{content:"";width:40px;height:1px;background:currentColor;opacity:.8}
.center{text-align:center}.center .eyebrow{justify-content:center}
.dark{background:var(--forest);color:var(--pearl)}
.dark.deep{background:var(--deep)}.dark.night{background:var(--night)}
.dark .muted,.dark .lede{color:var(--soft)}
.dark .gold,.gold{color:var(--gold)}
.light .gold,.ivory .gold{color:var(--gold-ink)}
.ivory{background:var(--ivory)}
.paper{background:var(--paper)}
.muted{color:var(--muted)}
section{padding-block:clamp(76px,10vw,150px)}
.green-em em{color:var(--gold)}
.ivory .green-em em,.paper .green-em em{color:var(--gold-ink)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 32px;border:1px solid currentColor;font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:400;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s;color:var(--forest)}
.btn:hover{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.dark .btn{color:var(--pearl);border-color:var(--gold)}
.dark .btn:hover{background:var(--gold);color:var(--night)}
.btn.solid{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.btn.solid:hover{background:var(--night)}
.dark .btn.solid{background:var(--gold);color:var(--night);border-color:var(--gold)}
.dark .btn.solid:hover{background:var(--pearl);border-color:var(--pearl)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.link{display:inline-flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:400;padding-bottom:7px;position:relative}
.link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:left;transition:transform .6s var(--ease)}
.link:hover::after{transform:scaleX(.3)}
.ulink{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.note{font-size:11px;color:var(--muted);letter-spacing:.04em;border:1px dashed var(--line);padding:6px 10px;display:inline-block}
.dark .note{color:var(--sage);border-color:var(--line-d)}
.art{position:absolute;inset:12%;transition:transform 1.2s var(--ease),opacity .7s}

/* ===== header ===== */
.announce{background:var(--night);color:var(--sage);text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding-block:10px}
.announce span{transition:opacity .7s}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--deep);color:var(--pearl);border-bottom:1px solid var(--line-d)}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:80px}
.nav-l,.nav-r{display:flex;align-items:center;gap:30px}
.nav-r{justify-content:flex-end;gap:14px}
.nav-l>button,.nav-l>a{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;padding-block:10px;border-bottom:1px solid transparent}
.nav-l>[aria-expanded="true"],.nav-l>[aria-current="page"]{border-color:var(--gold)}
.wordmark{display:block;width:210px;color:var(--pearl)}
.wordmark svg{display:block;width:100%}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:38px;height:38px}
.icon-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.1}
.count{position:absolute;top:2px;right:0;min-width:16px;height:16px;border-radius:8px;background:var(--gold);color:var(--night);font-size:9.5px;display:grid;place-items:center;font-weight:500;padding:0 4px}
.cur{background:transparent;border:0;color:var(--sage);font-size:11px;letter-spacing:.16em;padding:6px 2px;cursor:pointer}
.cur option{color:var(--onyx)}
.burger{display:none}
@media(max-width:1020px){.nav-l>.nl{display:none}.burger{display:inline-grid}.wordmark{width:150px}.nav{height:64px}.nav-r .hide-sm{display:none}}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--deep);border-bottom:1px solid var(--line-d);box-shadow:0 30px 60px rgba(0,0,0,.25)}
.mega .wrap{padding-block:42px 48px}
.mega-coll{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.mega-coll a{display:grid;gap:10px}
.mega-coll .pic{position:relative;aspect-ratio:4/3;background:radial-gradient(90% 80% at 50% 40%,#15493B,var(--night));border:1px solid var(--line-d);overflow:hidden}
.mega-coll a:hover .art{transform:scale(1.07)}
.mega-coll b{font-family:var(--display);font-weight:300;font-size:24px}
.mega-coll span{font-size:13px;color:var(--sage)}
.mega-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.3fr;gap:40px}
.mega h5{margin:0 0 16px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:400;color:var(--gold)}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mega li a{font-family:var(--display);font-size:22px;transition:color .3s}
.mega li a:hover{color:var(--gold)}
.mega .feat{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;border:1px solid var(--line-d);padding:18px}
.mega .feat .pic{position:relative;aspect-ratio:1;background:radial-gradient(circle at 50% 40%,#123f33,var(--night))}
.drawer{position:fixed;inset:0;z-index:80;background:var(--deep);color:var(--pearl);overflow:auto;padding:calc(env(safe-area-inset-top,0px) + 18px) max(22px,env(safe-area-inset-right,0px)) 30px max(22px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:6px}
.drawer .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.drawer a.big{font-family:var(--display);font-size:32px;padding-block:6px;border-bottom:1px solid var(--line-d)}
.drawer .sub{display:flex;flex-wrap:wrap;gap:8px 20px;padding-block:14px;color:var(--sage);font-size:13px;letter-spacing:.1em;text-transform:uppercase}

/* search */
.search{position:fixed;inset:0;z-index:85;background:rgba(4,25,15,.97);color:var(--pearl);overflow:auto;padding-top:calc(env(safe-area-inset-top,0px) + 40px)}
.search .bar{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--pearl);padding-bottom:12px}
.search input{flex:1;min-width:0;background:transparent;border:0;color:var(--pearl);font-family:var(--display);font-size:clamp(30px,4vw,48px);font-weight:300}
.search input:focus{outline:none}
.search input::placeholder{color:#58705F}
.sres{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:40px 60px}
.sres h5{margin:0 0 14px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:400;color:var(--gold)}
.sres .list{display:grid;gap:10px}
.sres .list a{font-family:var(--display);font-size:24px}
.sres .list a span{font-family:var(--body);font-size:12px;color:var(--sage);margin-left:10px;letter-spacing:.1em}
.sprod{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sprod a{display:grid;gap:8px}
.sprod .pic{position:relative;aspect-ratio:1;background:radial-gradient(90% 80% at 50% 40%,#15493B,var(--night))}
.sprod b{font-weight:300;font-family:var(--display);font-size:20px}
@media(max-width:800px){.sres{grid-template-columns:1fr}.sprod{grid-template-columns:1fr 1fr}}

.crumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-top:26px}
.crumbs a:hover{color:var(--forest)}
.dark .crumbs{color:var(--sage)}

/* ===== hero ===== */
.hero{position:relative;overflow:hidden;padding-block:clamp(36px,6vw,80px) clamp(60px,8vw,100px);background:radial-gradient(120% 90% at 78% 30%,rgba(198,167,106,.10),transparent 55%),radial-gradient(90% 80% at 15% 100%,rgba(4,25,15,.85),transparent 60%),linear-gradient(180deg,var(--deep),var(--forest) 60%)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55;pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;min-height:min(74vh,700px)}
.hero h1 em{color:var(--gold);font-weight:300}
.hero .lede{max-width:440px;margin-top:30px}
.hero .ctas{display:flex;gap:28px;align-items:center;margin-top:44px;flex-wrap:wrap}
.hero-mark{position:relative;aspect-ratio:1/1.05;max-width:560px;width:100%;justify-self:end}
.hero-mark svg{width:100%;height:100%;overflow:visible}
.draw{stroke-dasharray:1200;animation:draw 3.2s var(--ease) both}
@keyframes draw{from{stroke-dashoffset:1200}to{stroke-dashoffset:0}}
.glint{animation:glint 6s ease-in-out infinite}
@keyframes glint{0%,100%{opacity:.25}50%{opacity:.95}}
.hero-meta{position:relative;display:flex;justify-content:space-between;gap:16px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line-d);color:var(--sage);flex-wrap:wrap}
.hero-meta span{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero-mark{max-width:320px;justify-self:center;order:-1}}

/* manifesto */
.manifesto p.big{font-family:var(--display);font-size:clamp(28px,3.6vw,48px);line-height:1.3;max-width:980px;margin:0 auto;color:var(--forest);font-weight:300}
.manifesto p.big em{color:var(--gold-ink)}
.manifesto .mark{width:44px;margin:0 auto 36px;display:block}
.manifesto .sig{margin-top:36px;color:var(--muted)}

/* worlds (collection chapters) */
.world{display:grid;grid-template-columns:1.1fr .9fr;min-height:clamp(480px,62vw,760px)}
.world:nth-child(even){grid-template-columns:.9fr 1.1fr}
.world:nth-child(even) .w-pic{order:2}
.w-pic{position:relative;overflow:hidden}
.w-pic .art{inset:14%}
.w-pic:hover .art{transform:scale(1.05)}
.w-text{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:clamp(40px,6vw,96px)}
.w-text .num{font-family:var(--display);font-size:20px;opacity:.75}
.w-text p.lede{max-width:440px}
.bg-green{background:radial-gradient(90% 80% at 50% 42%,#1A5544 0%,#0C3B2F 55%,#062419 100%);color:var(--pearl)}
.bg-night{background:radial-gradient(90% 80% at 50% 42%,#164A3C 0%,#072A21 55%,#04190F 100%);color:var(--pearl)}
.bg-deep{background:radial-gradient(90% 80% at 50% 42%,#123F33 0%,#072A21 70%);color:var(--pearl)}
.bg-ivory{background:radial-gradient(90% 75% at 50% 42%,#fff 0%,var(--ivory-2) 70%,#E2DCCD 100%);color:var(--onyx)}
.w-text.bg-ivory,.w-text.t-ivory{background:var(--ivory);color:var(--onyx)}
.w-text.t-dark{background:var(--deep);color:var(--pearl)}
.w-text.t-dark .muted{color:var(--soft)}
@media(max-width:860px){.world,.world:nth-child(even){grid-template-columns:1fr}.world:nth-child(even) .w-pic{order:0}.w-pic{min-height:360px}}

/* moments */
.moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.moment{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:28px;aspect-ratio:4/4.6;overflow:hidden;border:1px solid var(--line-d);background:radial-gradient(100% 80% at 50% 32%,#174C3E,var(--night));color:var(--pearl)}
.moment .art{inset:8% 14% 34%}
.moment:hover .art{transform:scale(1.06) translateY(-4px)}
.moment h3{font-size:30px;position:relative}
.moment p{position:relative;color:var(--soft);font-size:14px}
.moment .link{position:relative;align-self:flex-start;margin-top:8px;color:var(--gold)}
@media(max-width:900px){.moments{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.moments{grid-template-columns:1fr}.moment{aspect-ratio:4/3.6}}

/* style edit / shop the look */
.look{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:center}
.look-pic{position:relative;aspect-ratio:1;background:radial-gradient(85% 75% at 50% 40%,#fff,var(--ivory-2) 70%,#DED7C6)}
.look-pic .art{inset:4%}
.hot{position:absolute;width:30px;height:30px;border-radius:50%;background:var(--paper);border:1px solid var(--forest);color:var(--forest);font-size:12px;display:grid;place-items:center;transform:translate(-50%,-50%);transition:background .3s,color .3s;box-shadow:0 0 0 6px rgba(245,242,234,.6)}
.hot:hover,.hot[aria-pressed="true"]{background:var(--forest);color:var(--ivory)}
.look-list{display:grid;gap:0;border-top:1px solid var(--line);margin-top:30px}
.look-item{display:grid;grid-template-columns:30px 70px 1fr auto;gap:16px;align-items:center;padding-block:16px;border-bottom:1px solid var(--line)}
.look-item.on{background:linear-gradient(90deg,rgba(198,167,106,.12),transparent)}
.look-item .n{font-family:var(--display);font-size:20px;color:var(--gold-ink)}
.look-item .th{position:relative;aspect-ratio:1;background:var(--ivory-2)}
.look-item .th .art{inset:8%}
.look-item b{font-weight:400;font-family:var(--display);font-size:22px;display:block}
.look-item small{color:var(--muted)}
.look-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-top:30px;flex-wrap:wrap}
.look-tabs button{padding-bottom:12px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid transparent;margin-bottom:-1px}
.look-tabs button[aria-selected="true"]{color:var(--forest);border-color:var(--forest)}
@media(max-width:900px){.look{grid-template-columns:1fr}}

/* making timeline */
.steps6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-top:60px;border-top:1px solid var(--line-d)}
.steps6 div{padding:26px 18px 0 0;display:grid;gap:10px;position:relative}
.steps6 div::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.steps6 .k{font-family:var(--display);font-size:30px;color:var(--gold)}
.steps6 b{font-weight:400;letter-spacing:.04em}
.steps6 p{font-size:13.5px;color:var(--soft)}
@media(max-width:1000px){.steps6{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}}
@media(max-width:560px){.steps6{grid-template-columns:1fr 1fr}}

/* spotlight */
.spot{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.spot .pic{position:relative;aspect-ratio:4/5}
.spot dl{display:grid;grid-template-columns:auto 1fr;gap:12px 26px;margin:30px 0 36px;font-size:14px}
.spot dt{color:var(--muted);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding-top:3px}
.spot dd{margin:0}
@media(max-width:860px){.spot{grid-template-columns:1fr}}

/* ritual */
.ritual{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:56px}
.ritual div{display:grid;gap:12px;align-content:start}
.ritual .pic{position:relative;aspect-ratio:1;background:var(--ivory-2);border:1px solid var(--line)}
.ritual .pic svg{position:absolute;inset:18%;width:64%;height:64%}
.ritual b{font-family:var(--display);font-weight:400;font-size:22px;color:var(--forest)}
.ritual p{color:var(--muted);font-size:14px}
@media(max-width:900px){.ritual{grid-template-columns:1fr 1fr}}

/* client stories */
.stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.story-c{border:1px solid var(--line-d);padding:30px;display:flex;flex-direction:column;gap:16px;background:rgba(4,25,15,.35)}
.story-c q{font-family:var(--display);font-size:23px;line-height:1.35;quotes:none}
.story-c .who{margin-top:auto;color:var(--sage);font-size:12.5px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.stars{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}
.stars i{color:#B08D4C;font-style:normal;letter-spacing:2px;font-size:11px}
.dark .stars{color:var(--sage)}.dark .stars i{color:var(--gold)}
.verified{display:inline-flex;gap:6px;align-items:center;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
@media(max-width:900px){.stories{grid-template-columns:1fr}}

/* services */
.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.services a{padding:32px 24px;display:grid;gap:8px;border-right:1px solid var(--line);transition:background .4s}
.services a:hover{background:var(--paper)}
.services a:last-child{border-right:0}
.services svg{width:24px;height:24px;stroke:var(--forest);fill:none;stroke-width:1.1}
.services b{font-family:var(--display);font-weight:400;font-size:22px;color:var(--forest)}
.services span{color:var(--muted);font-size:13.5px}
@media(max-width:900px){.services{grid-template-columns:1fr 1fr}.services a:nth-child(2){border-right:0}.services a:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* journal cards */
.jgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px}
.jcard{display:grid;gap:14px;align-content:start}
.jcard .pic{position:relative;aspect-ratio:4/3;background:radial-gradient(80% 80% at 50% 40%,#1A5544,var(--night));overflow:hidden}
.jcard:hover .art{transform:scale(1.05)}
.jcard h3{font-size:28px;line-height:1.15}
@media(max-width:900px){.jgrid{grid-template-columns:1fr}}

/* newsletter */
.circle{background:radial-gradient(70% 120% at 50% 0%,#145140,var(--forest) 70%)}
.nl{display:flex;max-width:540px;margin:40px auto 0;border-bottom:1px solid var(--pearl)}
.nl input{flex:1;min-width:0;background:transparent;border:0;color:var(--pearl);padding:16px 4px;font-size:16px}
.nl input::placeholder{color:var(--sage)}
.nl input:focus{outline:none}
.nl button{font-size:11px;letter-spacing:.26em;text-transform:uppercase;padding:0 6px}
.consent{max-width:540px;margin:16px auto 0;font-size:12px;color:var(--sage);display:flex;gap:10px;text-align:left;align-items:flex-start}
.consent input{accent-color:var(--gold);margin-top:3px}
.nl-msg{margin-top:18px;color:var(--gold);font-size:13.5px;min-height:20px}

/* ===== product cards (story-led) ===== */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,34px) clamp(14px,2vw,26px)}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.grid,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0}
.card .media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:radial-gradient(90% 75% at 50% 42%,#fff 0%,var(--ivory-2) 70%,#E2DCCD 100%)}
.dark .card .media{background:radial-gradient(90% 75% at 50% 42%,#164A3C,#0A3127 60%,var(--night));border:1px solid var(--line-d)}
.card .alt{opacity:0}
.card:hover .main{opacity:0;transform:scale(.95)}
.card:hover .alt{opacity:1}
.card .alt .art,.card .alt{inset:0}
.card .discover{position:absolute;left:0;right:0;bottom:0;padding:14px;text-align:center;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--forest);background:linear-gradient(transparent,rgba(245,242,234,.95));transform:translateY(100%);transition:transform .6s var(--ease)}
.card:hover .discover{transform:none}
.badge{position:absolute;top:14px;left:14px;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;padding:5px 9px;background:var(--forest);color:var(--pearl);z-index:2}
.heart{position:absolute;top:10px;right:10px;width:38px;height:38px;display:grid;place-items:center;z-index:2}
.heart svg{width:19px;height:19px;stroke:var(--forest);stroke-width:1.1;fill:none;transition:fill .4s}
.dark .heart svg{stroke:var(--pearl)}
.heart[aria-pressed="true"] svg{fill:var(--gold);stroke:var(--gold)}
.card .coll{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink)}
.dark .card .coll{color:var(--gold)}
.card h3{font-size:25px;font-weight:400;line-height:1.1}
.card .line{color:var(--muted);font-size:13.5px}
.dark .card .line{color:var(--soft)}
.card .foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:2px}
.card .price{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.dark .card .price{color:var(--sage)}
.swatches{display:flex;gap:6px}
.sw{display:inline-block;width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.15);box-shadow:inset 0 0 0 2px var(--ivory);flex:none}
.dark .sw{box-shadow:inset 0 0 0 2px var(--forest);border-color:rgba(255,255,255,.2)}
.sw.y{background:linear-gradient(135deg,#F3DFA6,#B88E3E)}.sw.w{background:linear-gradient(135deg,#F7F8F6,#AEB4B1)}.sw.r{background:linear-gradient(135deg,#F6D6C6,#C08470)}.sw.p{background:linear-gradient(135deg,#F2F3F4,#9DA3A8)}
.edit-tile{background:var(--forest);color:var(--pearl);padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.edit-tile q{font-family:var(--display);font-size:clamp(24px,2.3vw,34px);line-height:1.25;quotes:none}

/* ===== page heroes ===== */
.phero{padding-block:clamp(50px,7vw,100px)}
.phero .grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:center}
.phero .pic{position:relative;aspect-ratio:1/1.05;max-width:560px;width:100%;justify-self:end}
@media(max-width:860px){.phero .grid2{grid-template-columns:1fr}.phero .pic{justify-self:center;max-width:380px}}
.chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,60px)}
.chapters div{display:grid;gap:14px;align-content:start;border-top:1px solid var(--line);padding-top:22px}
.dark .chapters div{border-color:var(--line-d)}
.chapters .k{font-family:var(--display);font-size:24px;color:var(--gold-ink)}
.dark .chapters .k{color:var(--gold)}
.chapters h3{font-size:30px}
.chapters p{color:var(--muted)}
.dark .chapters p{color:var(--soft)}
@media(max-width:860px){.chapters{grid-template-columns:1fr}}
.pull{font-family:var(--display);font-size:clamp(30px,4vw,56px);line-height:1.2;max-width:980px;margin:0 auto;text-align:center;font-weight:300}
.pull::before{content:"";display:block;width:1px;height:60px;background:var(--gold);margin:0 auto 36px}

/* collections index */
.cidx{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cidx a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;aspect-ratio:5/4;padding:clamp(24px,3vw,40px);overflow:hidden;border:1px solid var(--line)}
.cidx a .art{inset:8% 20% 30%}
.cidx a:hover .art{transform:scale(1.06)}
.cidx h3{font-size:clamp(36px,4vw,54px);position:relative}
.cidx p{position:relative}
.cidx .label{position:relative}
@media(max-width:800px){.cidx{grid-template-columns:1fr}}

/* ===== shop ===== */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);padding:9px 16px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;transition:all .35s}
.chip[aria-pressed="true"]{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.chip:hover{border-color:var(--forest)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:18px;flex-wrap:wrap;position:sticky;top:calc(env(safe-area-inset-top,0px) + 80px);background:var(--ivory);z-index:20;border-bottom:1px solid var(--line)}
.toolbar select{border:1px solid var(--line);background:var(--paper);padding:10px 12px}
.toolbar .left{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.filter-toggle{display:none}
@media(max-width:1020px){.filter-toggle{display:inline-flex}.toolbar{top:calc(env(safe-area-inset-top,0px) + 64px)}}
.shop{display:grid;grid-template-columns:240px minmax(0,1fr);gap:46px;padding-block:30px 100px}
.filters{position:sticky;top:170px;max-height:calc(100vh - 190px);overflow:auto;padding-right:6px}
.fgroup{border-bottom:1px solid var(--line);padding-block:18px}
.fgroup h4{margin:0 0 12px;font-family:var(--body);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--forest)}
.fopt{display:flex;align-items:center;gap:10px;padding-block:5px;font-size:14px;cursor:pointer}
.fopt input{accent-color:var(--forest);width:15px;height:15px}
.fopt .n{margin-left:auto;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.active{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.active .tag{border:1px solid var(--line);padding:6px 10px;font-size:12px;display:inline-flex;gap:8px;align-items:center;background:var(--paper)}
.filters .fhead{display:flex;justify-content:space-between;align-items:center;padding-bottom:6px}
.filters .fhead h3{font-size:28px;color:var(--forest)}
.filters .close-f{display:none;font-size:26px}
@media(max-width:1020px){.shop{grid-template-columns:1fr}.filters{position:fixed;inset:0 auto 0 0;width:min(360px,92vw);max-height:none;z-index:72;background:var(--ivory);padding:calc(env(safe-area-inset-top,0px) + 20px) 20px 20px max(20px,env(safe-area-inset-left,0px));transform:translateX(-105%);transition:transform .5s var(--ease)}.filters.open{transform:none}.filters .close-f{display:block}}
.empty-state{grid-column:1/-1;padding:80px 20px;text-align:center;display:grid;gap:16px;justify-items:center}
.more{display:grid;justify-items:center;gap:14px;margin-top:60px}
.progress{width:220px;height:1px;background:var(--line);position:relative}
.progress i{position:absolute;inset:0 auto 0 0;background:var(--forest)}

/* ===== product page ===== */
.pdp{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);padding-block:24px 90px;align-items:start}
@media(max-width:960px){.pdp{grid-template-columns:1fr}}
.gallery{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;position:sticky;top:112px}
@media(max-width:960px){.gallery{position:static;grid-template-columns:1fr}.thumbs{order:2;flex-direction:row!important;overflow-x:auto}}
.thumbs{display:flex;flex-direction:column;gap:10px}
.thumb{position:relative;width:76px;aspect-ratio:1;flex:none;background:var(--ivory-2);border:1px solid transparent}
.thumb[aria-pressed="true"]{border-color:var(--forest)}
.thumb .art{inset:8%}
.stage{position:relative;aspect-ratio:1/1.08;background:radial-gradient(85% 70% at 50% 42%,#fff 0%,var(--ivory-2) 70%,#E0D9CA 100%);overflow:hidden;cursor:zoom-in}
.stage .art{inset:9%;transition:transform .5s var(--ease)}
.stage.d{background:radial-gradient(85% 70% at 50% 42%,#1A5544,#0A3127 60%,var(--night))}
.stage .vn{position:absolute;bottom:14px;left:16px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.stage .hint{position:absolute;bottom:14px;right:16px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.stage.d .vn,.stage.d .hint{color:var(--sage)}
.info{display:grid;gap:24px;min-width:0}
.info h1{font-size:clamp(44px,5vw,66px);color:var(--forest)}
.info .story-intro{font-family:var(--display);font-size:22px;line-height:1.45;color:#26302B}
.info .pr{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;font-variant-numeric:tabular-nums;font-size:17px}
.info .pr small{font-size:12.5px;color:var(--muted)}
.opt-label{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:flex;justify-content:space-between;gap:10px}
.opt-label b{font-weight:400;color:var(--onyx);letter-spacing:.04em;text-transform:none;font-size:13px}
.opts{display:flex;gap:8px;flex-wrap:wrap}
.opt{border:1px solid var(--line);padding:10px 14px;font-size:13px;display:inline-flex;gap:8px;align-items:center;background:var(--paper);transition:border-color .3s}
.opt[aria-pressed="true"]{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.opt .d{font-size:11.5px;color:var(--muted)}
.sizes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.sizes .opt{justify-content:center;padding:10px 4px;font-variant-numeric:tabular-nums}
.engr{display:grid;gap:8px}
.engr input{border:1px solid var(--line);background:var(--paper);padding:12px 14px;font-family:var(--display);font-size:19px}
.engr small{color:var(--muted);font-size:12px}
.delivery{border:1px solid var(--line);background:var(--paper);padding:16px 18px;display:grid;gap:8px;font-size:13.5px}
.delivery .drow{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.delivery select{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;padding:0}
.cta-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.cta-row .heart-lg{border:1px solid var(--forest);width:58px;display:grid;place-items:center}
.cta-row .heart-lg svg{width:20px;height:20px;stroke:var(--forest);fill:none;stroke-width:1.2}
.cta-row .heart-lg[aria-pressed="true"] svg{fill:var(--gold);stroke:var(--gold)}
.assure{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.assure div{display:flex;gap:10px;align-items:flex-start}
.assure svg{width:18px;height:18px;stroke:var(--forest);fill:none;stroke-width:1.1;flex:none;margin-top:1px}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;padding:18px 0;display:flex;justify-content:space-between;cursor:pointer;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--forest)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:18px;line-height:1}
.acc details[open] summary::after{content:"−"}
.acc .body{padding-bottom:20px;color:var(--muted);font-size:14px;display:grid;gap:10px}
.spec{width:100%;border-collapse:collapse;font-size:13.5px}
.spec td{padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top}
.spec td:first-child{color:var(--muted);width:44%}
.meaning{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.meaning .pic{position:relative;aspect-ratio:5/4}
@media(max-width:860px){.meaning{grid-template-columns:1fr}}
.rev-sum{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);margin-top:40px;padding-bottom:40px;border-bottom:1px solid var(--line);align-items:start}
.big-score{font-family:var(--display);font-size:clamp(76px,9vw,116px);line-height:.85;color:var(--forest)}
.bars{display:grid;gap:8px}
.bar{display:grid;grid-template-columns:56px 1fr 34px;gap:12px;align-items:center;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:left;padding:2px 0}
.bar .t{height:3px;background:var(--line);position:relative}
.bar .t i{position:absolute;inset:0 auto 0 0;background:var(--forest)}
.bar[aria-pressed="true"]{color:var(--forest)}
.subr{display:grid;gap:14px}
.subr div{display:grid;gap:6px;font-size:12.5px;color:var(--muted)}
.subr .scale{height:3px;background:var(--line);position:relative}
.subr .scale i{position:absolute;inset:0 auto 0 0;background:var(--gold)}
.subr .row{display:flex;justify-content:space-between}
@media(max-width:900px){.rev-sum{grid-template-columns:1fr}}
.rev-tools{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-block:24px}
.rev-tools select{border:1px solid var(--line);background:var(--paper);padding:9px 12px}
.rv{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;padding-block:30px;border-bottom:1px solid var(--line)}
.rv .who{display:grid;gap:4px;align-content:start;font-size:13px;color:var(--muted)}
.rv .who b{font-weight:400;color:var(--onyx);font-size:15px}
.rv .verified{color:var(--forest)}
.rv h4{font-size:25px;color:var(--forest);font-weight:400}
.rv .txt{margin-top:8px;color:#2B302D;max-width:680px}
.rv .rfoot{display:flex;gap:20px;align-items:center;margin-top:14px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.rv .reply{margin-top:16px;border-left:1px solid var(--gold);padding-left:16px;font-size:13.5px;color:var(--muted)}
.rv .reply b{display:block;font-weight:400;color:var(--forest);font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:4px}
.rv .pending{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
@media(max-width:760px){.rv{grid-template-columns:1fr;gap:12px}}
.wform{display:grid;gap:12px;max-width:640px;padding:30px;background:var(--paper);border:1px solid var(--line);margin-top:30px}
.wform input,.wform textarea{border:1px solid var(--line);background:#fff;padding:12px;width:100%}
.wform textarea{min-height:110px;resize:vertical}
.starpick{display:flex;gap:4px}
.starpick button{font-size:26px;color:#D8D1C0;line-height:1;padding:2px}
.starpick button.on{color:#B08D4C}
.err{color:#8E3B2F;font-size:13px;min-height:18px}
.sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--deep);color:var(--pearl);padding:12px max(18px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));display:flex;justify-content:space-between;align-items:center;gap:14px;transform:translateY(110%);transition:transform .5s var(--ease)}
.sticky-buy.show{transform:none}
.sticky-buy .n{font-family:var(--display);font-size:21px}
.sticky-buy .s{font-size:12px;color:var(--sage)}
.sticky-buy .btn{color:var(--night);background:var(--gold);border-color:var(--gold);padding:13px 22px}

/* client care / article */
.care{display:grid;grid-template-columns:240px minmax(0,1fr);gap:60px;padding-block:40px 100px}
.care nav{position:sticky;top:120px;align-self:start;display:grid;gap:4px}
.care nav a{padding:8px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:20px;color:var(--forest)}
.care section{padding-block:0 60px;border-bottom:1px solid var(--line);margin-bottom:60px}
.care h2{font-size:clamp(32px,3.5vw,46px);color:var(--forest);margin-bottom:18px}
.care p{color:#2B302D;max-width:680px;margin-bottom:12px}
.care .contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.care .contact div{background:var(--paper);border:1px solid var(--line);padding:22px;display:grid;gap:4px}
.care .contact b{font-weight:400;user-select:all}
@media(max-width:860px){.care{grid-template-columns:1fr;gap:20px}.care nav{position:static;grid-template-columns:1fr 1fr}.care .contact{grid-template-columns:1fr}}
.tbl-wrap{overflow-x:auto;margin-top:14px}
.size-tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:14px;min-width:440px}
.size-tbl th,.size-tbl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.size-tbl th{font-weight:400;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.size-tbl tr.sel td{background:#fff;color:var(--forest)}
.article .body p{font-size:18px;line-height:1.8;margin-bottom:22px;color:#26302B}
.article .body p:first-child::first-letter{font-family:var(--display);font-size:72px;float:left;line-height:.8;padding:8px 10px 0 0;color:var(--forest)}

/* footer */
footer.site{background:var(--deep);color:var(--pearl);padding-block:80px 30px}
.foot{display:grid;grid-template-columns:1.5fr repeat(4,minmax(0,1fr));gap:40px}
.foot h5{margin:0 0 18px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:400;color:var(--gold)}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:13.5px;color:var(--soft)}
.foot ul a:hover{color:var(--pearl)}
.foot .brand p{color:var(--sage);font-size:14px;max-width:300px;margin-top:22px}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:70px;padding-top:24px;border-top:1px solid var(--line-d);font-size:11.5px;color:var(--sage);letter-spacing:.06em}
.pay{display:flex;gap:8px;flex-wrap:wrap}
.pay span{border:1px solid var(--line-d);padding:4px 9px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
@media(max-width:1000px){.foot{grid-template-columns:1fr 1fr}.foot .brand{grid-column:1/-1}}

/* overlays */
.scrim{position:fixed;inset:0;background:rgba(4,25,15,.62);z-index:70;backdrop-filter:blur(3px)}
.sheet{position:fixed;z-index:73;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;background:var(--ivory);padding:clamp(24px,4vw,44px)}
.sheet h3{font-size:38px;color:var(--forest)}
.sheet .x{position:absolute;top:10px;right:12px;font-size:26px;color:var(--forest);width:40px;height:40px}
.lightbox{position:fixed;inset:0;z-index:88;display:grid;place-items:center;cursor:zoom-out}
.lightbox .art{position:relative;inset:auto;width:min(92vw,92vh);aspect-ratio:1}
.lightbox .x{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:max(18px,env(safe-area-inset-right,0px));font-size:30px}
.bag{position:fixed;top:0;right:0;bottom:0;z-index:74;width:min(440px,100vw);background:var(--ivory);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 26px) max(26px,calc(env(safe-area-inset-right,0px) + 26px)) calc(env(safe-area-inset-bottom,0px) + 26px) 26px}
.bag h4{font-size:32px;color:var(--forest)}
.bag-items{flex:1;overflow:auto;margin-block:20px;display:grid;align-content:start;gap:16px}
.bag-item{display:grid;grid-template-columns:80px 1fr auto;gap:14px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}
.bag-item .th{aspect-ratio:1;position:relative;background:var(--ivory-2)}
.bag-item .th .art{inset:10%}
.bag-item small{color:var(--muted);display:block;font-size:12px}
.bag-item button{font-size:11px;color:var(--muted);text-decoration:underline}
.bag-sum{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:18px;font-variant-numeric:tabular-nums}
.bag-sum div{display:flex;justify-content:space-between}
.gift-opt{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);padding:12px 0}
.gift-opt input{accent-color:var(--forest);margin-top:3px}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 92px);transform:translateX(-50%);z-index:95;background:var(--night);color:var(--pearl);border:1px solid var(--gold-soft);padding:14px 22px;font-size:13.5px;max-width:calc(100vw - 32px)}
.contact-chip{position:fixed;right:max(18px,calc(env(safe-area-inset-right,0px) + 18px));bottom:calc(env(safe-area-inset-bottom,0px) + 18px);z-index:40;display:flex;gap:10px;align-items:center;padding:13px 20px;background:rgba(230,233,228,.94);color:var(--forest);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.contact-chip svg{width:16px;height:16px;stroke:var(--forest);fill:none;stroke-width:1.3}
.cookie{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:46;width:min(440px,calc(100vw - 32px));background:var(--deep);color:var(--pearl);border:1px solid var(--line-d);padding:22px;display:grid;gap:14px;box-shadow:0 20px 40px rgba(0,0,0,.3)}
.cookie p{font-size:13px;color:var(--soft)}
.cookie .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cookie .btn{padding:12px 10px}
.fade{animation:fade .7s var(--ease) both}
@keyframes fade{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:860px){.mk-head,.shop-head,.mrow,.vals,#shopHelp{grid-template-columns:1fr!important}.mrow>div:first-child{position:static!important}}
.w-text.t-dark .btn,.bg-green .btn,.bg-night .btn,.bg-deep .btn{color:var(--pearl);border-color:var(--gold)}
.w-text.t-dark .btn:hover,.bg-green .btn:hover,.bg-night .btn:hover,.bg-deep .btn:hover{background:var(--gold);color:var(--night)}
.w-text.t-dark .lede{color:var(--soft)}
.nav-l{gap:24px}
.wordmark{width:190px}
@media(max-width:1240px){.nav-l>.nl{display:none}.burger{display:inline-grid}.nav-r .hide-sm{display:none}}
@media(max-width:1240px) and (min-width:1021px){.wordmark{width:190px}}

/* ================= BAG + CHECKOUT ================= */
.gold-ink{color:var(--gold-ink)}
.co-head{display:none;background:var(--deep);color:var(--pearl);border-bottom:1px solid var(--line-d);position:sticky;top:env(safe-area-inset-top,0px);z-index:50}
.co-head .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px}
.co-back{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.co-back:hover{color:var(--pearl)}
.co-mark{width:180px}
.co-secure{justify-self:end;display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.co-secure svg,.co-secure-s svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.2}
body.checkout-mode .co-head{display:block}
body.checkout-mode header.site,body.checkout-mode .announce,body.checkout-mode footer.site,body.checkout-mode .contact-chip,body.checkout-mode .cookie{display:none!important}
@media(max-width:600px){.co-secure span,.co-secure{font-size:0}.co-secure svg{width:18px;height:18px}.co-mark{width:140px}}
.co-page{padding-block:40px 110px}
.co-steps{list-style:none;margin:0 0 40px;padding:0;display:flex;gap:0;border-bottom:1px solid var(--line);overflow-x:auto}
.co-steps li{display:flex;gap:10px;align-items:center;padding:0 28px 16px 0;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.co-steps li span{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;font-family:var(--display);font-size:13px;letter-spacing:0}
.co-steps li.on{color:var(--forest)}.co-steps li.on span{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.co-steps li.done span{border-color:var(--gold);color:var(--gold-ink)}
.co-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:clamp(30px,5vw,70px);align-items:start}
@media(max-width:960px){.co-grid{grid-template-columns:1fr}.co-sum{order:-1}}
.co-main{display:grid;gap:14px}
.co-step{background:var(--paper);border:1px solid var(--line);padding:clamp(22px,3vw,36px)}
.co-step.locked{background:transparent;opacity:.55;padding-block:20px}
.co-step.done{padding-block:22px}
.co-sh{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.co-sh h2{font-size:clamp(28px,2.6vw,36px);color:var(--forest);display:flex;gap:14px;align-items:baseline}
.co-sh h2 span{font-size:18px;color:var(--gold-ink)}
.co-step.on .co-sh{margin-bottom:24px}
.co-secure-s{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.co-done{margin-top:12px;font-size:14px;line-height:1.7;padding-left:34px}
.co-h3{font-family:var(--display);font-size:24px;color:var(--forest);margin:30px 0 14px}
.co-next{width:100%;margin-top:28px}
.co-next.place{font-size:12px;padding-block:20px}
.co-next svg,.co-sum .btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.3}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.fgrid .span2,.span2{grid-column:1/-1}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
.fl{display:grid;gap:6px;min-width:0}
.fl label{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.fl input,.fl select,.fl textarea,.phone select,.phone input{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;font-size:15px;border-radius:0;transition:border-color .3s;color:var(--onyx)}
.fl textarea{min-height:96px;resize:vertical;font-family:var(--display);font-size:18px}
.fl input:focus,.fl select:focus,.fl textarea:focus,.phone select:focus,.phone input:focus{outline:none;border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.ferr{color:#8E3B2F;font-size:12.5px;min-height:18px;margin:0}
.fhint{color:var(--gold-ink);font-size:12px;margin:0}
.fhint:empty{display:none}
.phone{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:8px}
.ccnum{position:relative}
.ccnum[data-brand]::after{content:attr(data-brand);position:absolute;right:12px;top:37px;font-size:10px;letter-spacing:.16em;color:var(--forest)}
.sugg-wrap{position:relative}
.sugg{position:absolute;left:0;right:0;top:72px;z-index:5;background:#fff;border:1px solid var(--forest);display:grid;box-shadow:0 14px 30px rgba(4,25,15,.15)}
.sugg button{text-align:left;padding:12px 14px;font-size:14px;border-bottom:1px solid var(--line)}
.sugg button:hover,.sugg button:focus{background:var(--ivory)}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:#2B302D;margin-top:14px;cursor:pointer}
.chk input{accent-color:var(--forest);width:16px;height:16px;margin-top:3px;flex:none}
.radios{display:grid;gap:10px}
.radios.two{grid-template-columns:1fr 1fr}
@media(max-width:560px){.radios.two{grid-template-columns:1fr}}
.rcard{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);background:#fff;padding:16px 18px;cursor:pointer;transition:border-color .3s}
.rcard.on{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.rcard input{accent-color:var(--forest);width:16px;height:16px}
.rcard b{display:block;font-weight:400;font-size:15px}
.rcard span{font-size:12.5px;color:var(--muted)}
.rcard em{font-style:normal;font-size:12.5px;color:var(--gold-ink);white-space:nowrap}
.pm{font-size:11px!important;letter-spacing:.08em;border:1px solid var(--line);padding:4px 8px;color:var(--forest)!important}
.cardbox{border:1px solid var(--forest);border-top:0;margin-top:-11px;padding:18px;background:#fff}
.testnote{font-size:12.5px;color:var(--gold-ink);background:rgba(198,167,106,.1);padding:10px 12px;margin-bottom:14px}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-bottom:24px}
.seg button{display:flex;gap:10px;align-items:center;justify-content:center;padding:15px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.seg button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.2}
.seg button[aria-selected="true"]{background:var(--forest);color:var(--ivory)}
@media(max-width:560px){.seg button{font-size:10.5px;letter-spacing:.08em;padding:13px 6px}}
.dates{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px}
.dchip{flex:none;width:66px;display:grid;justify-items:center;gap:2px;padding:10px 4px;border:1px solid var(--line);background:#fff}
.dchip b{font-family:var(--display);font-weight:400;font-size:24px;line-height:1}
.dchip small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dchip[aria-pressed="true"]{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.dchip[aria-pressed="true"] small{color:var(--sage)}
.slots{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.co-note{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);background:rgba(12,59,47,.04);padding:12px 14px;margin-top:14px}
.co-note svg{width:18px;height:18px;stroke:var(--forest);fill:none;stroke-width:1.2;flex:none}
.showroom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;align-items:center;border:1px solid var(--line);background:#fff;padding:14px}
.showroom .map{aspect-ratio:5/3;overflow:hidden}
@media(max-width:560px){.showroom{grid-template-columns:1fr}}
.gift-box{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.switch{display:inline-flex;gap:14px;align-items:center;cursor:pointer}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch span{width:42px;height:24px;border-radius:12px;background:var(--line);position:relative;transition:background .3s;flex:none}
.switch span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .3s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.switch input:checked+span{background:var(--forest)}
.switch input:checked+span::after{transform:translateX(18px)}
.switch input:focus-visible+span{outline:1px solid var(--gold);outline-offset:3px}
.switch b{font-weight:400;font-family:var(--display);font-size:22px;color:var(--forest)}
.express{display:grid;gap:12px;justify-items:center;margin-top:18px}
.express.top{margin:0 0 24px}
.express>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.express .or{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.xp{height:46px;font-size:15px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:2px;border:1px solid transparent}
.xp.apple{background:#000;color:#fff}
.xp.paypal{background:#FFC439;color:#003087;font-weight:600}.xp.paypal i{color:#009cde;font-style:normal}
.xp.gpay{background:#fff;color:#3c4043;border-color:#dadce0}
.co-sum{position:sticky;top:110px}
.co-sum-in{background:var(--paper);border:1px solid var(--line);padding:clamp(22px,3vw,32px);display:grid;gap:4px}
.co-sum h3{font-size:30px;color:var(--forest)}
.co-sum-h{display:flex;justify-content:space-between;align-items:baseline}
.co-items{display:grid;gap:14px;margin-block:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.co-item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;font-size:14px}
.co-item .th,.rv-i .th{position:relative;aspect-ratio:1;background:var(--ivory-2)}
.co-item .th .art,.rv-i .th .art{inset:8%}
.co-item .q{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--forest);color:var(--ivory);font-size:11px;display:grid;place-items:center}
.co-item b{font-weight:400;font-family:var(--display);font-size:19px;display:block;line-height:1.2}
.co-item small{display:block;font-size:12px;color:var(--muted)}
.co-item small.gold-ink{color:var(--gold-ink)}
.co-item>span,.rv-i>span{font-variant-numeric:tabular-nums}
.gc details summary{cursor:pointer;font-size:12.5px;letter-spacing:.06em;color:var(--forest);padding-block:6px;list-style:none;text-decoration:underline;text-underline-offset:4px}
.gc details summary::-webkit-details-marker{display:none}
.gc-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}
.gc-row input{border:1px solid var(--line);background:#fff;padding:11px 12px;min-width:0;text-transform:uppercase}
.gc-on{display:flex;justify-content:space-between;font-size:13px;color:var(--forest);padding-block:6px}
.co-tot{display:grid;grid-template-columns:1fr auto;gap:10px 16px;margin:18px 0 0;font-size:14px;font-variant-numeric:tabular-nums}
.co-tot dt{color:var(--muted)}
.co-tot dd{margin:0;text-align:right}
.co-tot .grand{font-family:var(--display);font-size:26px;color:var(--forest);padding-top:14px;border-top:1px solid var(--line)}
.co-tot dd.grand small{font-family:var(--body);font-size:11px;letter-spacing:.14em;color:var(--muted);margin-left:8px}
.co-promise{list-style:none;padding:18px 0 0;margin:18px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;font-size:12.5px;color:var(--muted)}
.co-promise li{display:flex;gap:10px;align-items:flex-start}
.co-promise svg{width:16px;height:16px;stroke:var(--forest);fill:none;stroke-width:1.2;flex:none;margin-top:1px}
.co-help{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:6px;font-size:13px;color:var(--muted)}
.co-help .label{color:var(--gold-ink)}
.co-help button,.co-help a{justify-self:start;color:var(--forest);font-size:13px}
.review{display:grid;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.rv-i{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center}
.rv-i small{display:block;font-size:12.5px;color:var(--muted)}
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-block:20px;font-size:14px;line-height:1.7}
.rv-grid .label{display:block;margin-bottom:6px}
.rv-grid.conf{background:var(--paper);border:1px solid var(--line);padding:26px}
@media(max-width:560px){.rv-grid{grid-template-columns:1fr}}
/* bag page */
.bag-head{display:flex;justify-content:space-between;align-items:baseline;padding-block:30px 30px;border-bottom:1px solid var(--line);margin-bottom:30px}
.bp-items{display:grid;gap:0;border-top:1px solid var(--line)}
.bp-item{display:grid;grid-template-columns:clamp(110px,16vw,180px) minmax(0,1fr) auto;gap:clamp(16px,3vw,30px);padding-block:26px;border-bottom:1px solid var(--line)}
.bp-item .pic{position:relative;aspect-ratio:4/5;background:radial-gradient(90% 75% at 50% 42%,#fff,var(--ivory-2) 70%,#E2DCCD)}
.bp-info{display:grid;gap:10px;align-content:start;min-width:0}
.bp-info h3{font-size:30px;color:var(--forest)}
.bp-opts{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;font-size:13.5px;margin:0}
.bp-opts dt{color:var(--muted);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding-top:3px}
.bp-opts dd{margin:0}
.bp-act{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:12.5px;margin-top:6px}
.bp-act select{border:1px solid var(--line);background:#fff;padding:6px 8px}
.bp-price{font-variant-numeric:tabular-nums;font-size:16px}
@media(max-width:620px){.bp-item{grid-template-columns:100px minmax(0,1fr)}.bp-price{grid-column:2}}
.bp-gift{margin-top:30px;padding:24px;background:var(--paper);border:1px solid var(--line)}
.bp-comp{margin-top:30px}
.bp-comp>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:14px}
.bp-comp>div div{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:12px}
.bp-comp b{font-weight:400;font-family:var(--display);font-size:19px;color:var(--forest)}
.bp-comp span{font-size:12.5px;color:var(--muted)}
@media(max-width:760px){.bp-comp>div{grid-template-columns:1fr 1fr}}
.bag .btn{width:100%}
.bag-sum .btn{margin-top:8px}
/* confirmation tracker */
.track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.track::before{content:"";position:absolute;top:7px;left:0;right:0;height:1px;background:var(--line)}
.track li{position:relative;display:grid;gap:6px;padding-right:16px}
.track li span{width:15px;height:15px;border-radius:50%;background:var(--ivory);border:1px solid var(--forest);position:relative}
.track li.on span{background:var(--forest);box-shadow:0 0 0 5px rgba(12,59,47,.12)}
.track b{font-weight:400;font-family:var(--display);font-size:21px;color:var(--forest);margin-top:8px}
.track small{color:var(--muted);font-size:12.5px}
@media(max-width:700px){.track{grid-template-columns:1fr 1fr;row-gap:26px}.track::before{display:none}}
.sum-toggle{display:none}
@media(max-width:960px){
  .co-sum{position:static;order:-1}
  .co-sum.bag-side{order:0}
  .co-sum:not(.bag-side) .sum-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;padding:16px 18px;background:var(--paper);border:1px solid var(--line);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--forest)}
  .sum-toggle b{font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:0;text-transform:none}
  .co-sum:not(.bag-side):not(.open) .co-sum-in{display:none}
  .co-sum.open .co-sum-in{border-top:0}
  .co-sum.bag-side,.co-sum.open{position:static}
}

/* ================= HOME (editorial, photo-led) ================= */
body.on-home header.site{background:transparent;border-color:transparent;transition:background .5s var(--ease),border-color .5s}
body.on-home header.site.scrolled,body.on-home header.site:has(.mega:not([hidden])){background:var(--deep);border-color:var(--line-d)}
.ph{position:absolute;inset:0;overflow:hidden;background-size:cover;background-position:center}
.ph.has{transition:transform 1.6s var(--ease)}
.ph .art{inset:14%}
.ph-green{background:radial-gradient(90% 80% at 50% 42%,#1A5544 0%,#0C3B2F 55%,#062419 100%)}
.ph-night{background:radial-gradient(80% 70% at 55% 40%,#1A5544 0%,#072A21 55%,#030F0A 100%)}
.ph-ivory{background:radial-gradient(90% 75% at 50% 42%,#fff 0%,var(--ivory-2) 70%,#E2DCCD 100%)}
.ph-tag{position:absolute;top:14px;right:14px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;padding:4px 8px;border:1px dashed currentColor;opacity:.45}
.ph-ivory .ph-tag{color:var(--forest)}.ph-green .ph-tag,.ph-night .ph-tag{color:var(--pearl)}
.h-hero{position:relative;height:clamp(560px,100svh,1000px);margin-top:-81px;display:flex;align-items:flex-end;justify-content:center;color:var(--pearl);overflow:hidden;background:var(--night)}
@media(max-width:1240px){.h-hero{margin-top:-65px}}
.h-hero-ph .art{inset:6% 32% 42%}
.h-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,25,15,.55) 0%,rgba(4,25,15,0) 22%,rgba(4,25,15,0) 50%,rgba(4,25,15,.78) 100%);pointer-events:none}
.h-hero-text{position:relative;text-align:center;padding:0 20px clamp(70px,10vh,120px);display:grid;gap:16px;justify-items:center}
.h-hero-text .label{color:var(--gold);letter-spacing:.36em}
.h-hero-text h1{font-size:clamp(46px,7vw,104px);font-weight:300;line-height:1}
.h-hero-text p{font-size:clamp(17px,1.5vw,21px);color:var(--soft);font-weight:300}
.h-hero-text .link{margin-top:10px;color:var(--pearl)}
.h-scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);width:1px;height:46px;background:rgba(230,233,228,.25);overflow:hidden}
.h-scroll span{position:absolute;left:0;top:-46px;width:1px;height:46px;background:var(--gold);animation:drip 2.4s var(--ease) infinite}
@keyframes drip{to{top:46px}}
.h-intro{padding-block:clamp(70px,9vw,130px)}
.h-intro .big{font-size:clamp(26px,3vw,40px);line-height:1.35;color:var(--forest)}
.h-intro .mark{width:40px;margin:0 auto 30px;display:block}
.h-sechead{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.h-sechead h2{color:var(--forest);margin-top:12px}
.h-coll{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.h-ct{position:relative;overflow:hidden;display:flex;align-items:flex-end;color:var(--pearl);min-height:420px}
.h-ct0{grid-column:span 7;min-height:clamp(460px,48vw,680px)}
.h-ct1{grid-column:span 5;min-height:clamp(460px,48vw,680px)}
.h-ct2{grid-column:span 5;min-height:clamp(400px,38vw,560px)}
.h-ct3{grid-column:span 7;min-height:clamp(400px,38vw,560px)}
.h-ct::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,25,15,.72));pointer-events:none}
.h-ct:hover .ph.has,.h-cat:hover .ph.has,.h-ct:hover .art,.h-cat:hover .art{transform:scale(1.04)}
.h-ct-txt{position:relative;z-index:2;padding:clamp(22px,3vw,40px);display:grid;gap:8px}
.h-ct-txt .label{color:var(--gold)}
.h-ct-txt h3{font-size:clamp(38px,4vw,58px)}
.h-ct-txt p{font-family:var(--display);font-style:italic;font-size:20px;color:var(--soft)}
.h-ct-txt .link{justify-self:start;margin-top:6px}
@media(max-width:860px){.h-coll{grid-template-columns:1fr}.h-ct0,.h-ct1,.h-ct2,.h-ct3{grid-column:auto;min-height:440px}}
.h-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.h-cat{display:grid;gap:14px}
.h-cat>.ph{position:relative;inset:auto;aspect-ratio:3/4}
.h-cat-txt{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px}
.h-cat-txt h3{font-size:28px;color:var(--forest)}
.h-cat-txt span{font-size:12px;color:var(--muted);letter-spacing:.08em}
@media(max-width:860px){.h-cats{grid-template-columns:1fr 1fr}}
.h-story{padding:0}
.h-story-grid{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(560px,60vw,820px)}
.h-story-pic{position:relative;min-height:420px}
.h-story-txt{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:clamp(40px,6vw,100px)}
.h-story-txt .lede{max-width:480px}
.h-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px;border-top:1px solid var(--line-d);padding-top:24px}
.h-steps div{display:grid;gap:4px}
.h-steps span{font-family:var(--display);color:var(--gold);font-size:18px}
.h-steps b{font-weight:400;letter-spacing:.04em}
.h-steps p{font-size:12.5px;color:var(--soft)}
@media(max-width:860px){.h-story-grid{grid-template-columns:1fr}.h-steps{grid-template-columns:1fr 1fr}}
.h-rev-top{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.h-rev-top h2{color:var(--forest)}
.h-score{display:flex;gap:16px;align-items:center}
.h-score .serif{font-size:72px;line-height:1;color:var(--forest)}
.h-revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.h-revs figure{margin:0;background:#fff;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;gap:16px}
.h-revs blockquote{margin:0;font-family:var(--display);font-size:22px;line-height:1.4;color:#26302B}
.h-revs figcaption{margin-top:auto;display:grid;gap:2px;font-size:13px;color:var(--muted)}
.h-revs figcaption b{font-weight:400;color:var(--onyx)}
@media(max-width:860px){.h-revs{grid-template-columns:1fr}}
.h-trust{background:var(--paper);border-bottom:1px solid var(--line)}
.h-trust .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.h-trust div div,.h-trust .wrap>div{padding:22px 18px;display:grid;gap:2px;text-align:center;border-right:1px solid var(--line)}
.h-trust .wrap>div:last-child{border-right:0}
.h-trust b{font-weight:400;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--forest)}
.h-trust span{font-size:12.5px;color:var(--muted)}
@media(max-width:860px){.h-trust .wrap{grid-template-columns:1fr 1fr}.h-trust .wrap>div:nth-child(2){border-right:0}.h-trust .wrap>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.h-cats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.h-cat>.ph{aspect-ratio:4/4.4!important}
@media(max-width:700px){.h-cats{grid-template-columns:1fr 1fr!important}}
.h-shapes{padding-top:clamp(50px,6vw,90px)}
.shapes{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.shapes a{display:grid;justify-items:center;gap:6px;padding:20px 10px 18px;border:1px solid var(--line);background:var(--paper);transition:border-color .4s,background .4s}
.shapes a:hover{border-color:var(--forest);background:#fff}
.shapes .sh{position:relative;width:90px;height:90px;display:block}
.shapes .sh svg{width:100%;height:100%}
.shapes b{font-family:var(--display);font-weight:400;font-size:21px;color:var(--forest)}
.shapes small{font-size:11.5px;color:var(--muted)}
.h-hero-ph.has{background-position:center 38%}
.h-story-pic .ph.has{background-position:center}
.h-hero-ph.has{background-position:center 22%}
.h-hero-shade{background:linear-gradient(180deg,rgba(4,25,15,.6) 0%,rgba(4,25,15,0) 20%,rgba(4,25,15,.08) 42%,rgba(4,25,15,.82) 70%,rgba(4,25,15,.94) 100%)}
.h-hero-text h1,.h-hero-text p{text-shadow:0 2px 24px rgba(0,0,0,.45)}
.h-hero-ph.has{background-position:center 28%}
.h-hero-shade{background:linear-gradient(180deg,rgba(4,25,15,.55) 0%,rgba(4,25,15,0) 18%,rgba(4,25,15,0) 55%,rgba(4,25,15,.55) 80%,rgba(4,25,15,.85) 100%)}
@media(max-width:700px){.h-hero-ph.has{background-position:50% 30%}}
.h-hero-text{padding-bottom:clamp(34px,5vh,60px);gap:10px}
.h-hero-text h1{font-size:clamp(30px,3.4vw,50px)}
.h-hero-text p{font-size:clamp(15px,1.15vw,18px)}
.h-hero-text .link{margin-top:6px}
.h-hero-shade{background:linear-gradient(180deg,rgba(4,25,15,.55) 0%,rgba(4,25,15,0) 16%,rgba(4,25,15,0) 64%,rgba(4,25,15,.6) 84%,rgba(4,25,15,.88) 100%)}
.h-scroll{display:none}
@media(max-width:700px){.h-hero{height:min(92svh,780px)}.h-hero-ph.has{background-position:50% 18%;background-size:auto 112%}}

/* films */
.films{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.film-card{margin:0;display:grid;gap:16px;align-content:start}
.film-frame{position:relative;aspect-ratio:3/4.4;overflow:hidden;background:var(--night)}
.film-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-btn{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;background:rgba(4,25,15,.55);border:1px solid rgba(230,233,228,.4);display:grid;place-items:center;backdrop-filter:blur(4px)}
.film-btn span{width:12px;height:12px;border-left:3px solid var(--pearl);border-right:3px solid var(--pearl)}
.film-btn.paused span{width:0;height:0;border-left:11px solid var(--pearl);border-right:0;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
.film-card h3{font-size:28px}
.film-card p{font-size:14px;opacity:.85}
.film-card .link{justify-self:start;margin-top:4px}
.dark .film-card p{color:var(--soft)}
.paper .film-card h3{color:var(--forest)}
.paper .film-card .link{color:var(--forest)}
@media(max-width:860px){.films{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.film-card{scroll-snap-align:start}}
.stage-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.thumb-play{position:absolute;left:50%;top:50%;transform:translate(-40%,-50%);width:0;height:0;border-left:12px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.dark .h-sechead h2{color:var(--pearl)}
@media(max-width:700px){.ph.has-m{background-image:var(--m)!important;background-size:cover!important;background-position:50% 20%!important}.h-hero{height:min(94svh,820px)}}
.phero .pic .ph.has{position:absolute;inset:0}
.phero .pic:has(.ph.has){aspect-ratio:4/5}
.stage-photo{position:absolute;inset:0}
.thumb .ph.has{position:absolute;inset:0}
.ph.has{background-repeat:no-repeat}
/* hero sits flush under the header at every width */
.h-hero{margin-top:calc(-1 * var(--hdr, 81px))}
.cookie .btn{color:var(--pearl);border-color:var(--gold)}
.cookie .btn:hover{background:var(--gold);color:var(--night)}
.cookie .btn[data-ck="accept"]{background:var(--gold);color:var(--night)}
/* shop by stone shape: line drawings */
.h-shapes .shapes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-top:46px}
.h-shapes .shapes a{display:grid;justify-items:center;gap:10px;padding:18px 6px;border:0;background:transparent;color:var(--forest);transition:color .4s var(--ease)}
.h-shapes .shapes a:hover,.h-shapes .shapes a:focus-visible{background:transparent;color:var(--gold-ink)}
.h-shapes .shapes .sh{width:72px;height:72px;transition:transform .6s var(--ease)}
.h-shapes .shapes a:hover .sh{transform:translateY(-4px)}
.h-shapes .shapes b{font-family:var(--body);font-weight:400;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:inherit}
.h-shapes .shapes small{font-size:11.5px;color:var(--muted);letter-spacing:.04em}
@media(max-width:900px){.h-shapes .shapes{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:110px;overflow-x:auto;scroll-snap-type:x mandatory;justify-content:start;padding-bottom:8px}.h-shapes .shapes a{scroll-snap-align:start}}
/* atelier films */
.atelier{background:radial-gradient(80% 90% at 80% 40%,#0F3A2D,var(--night) 70%);color:var(--pearl);padding-block:clamp(80px,10vw,140px);overflow:hidden}
.atelier-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,90px);align-items:center}
.atelier-txt{display:grid;gap:22px;align-content:start}
.atelier-txt .lede{color:var(--soft);max-width:460px}
.atelier-steps{list-style:none;margin:6px 0 4px;padding:0;display:grid;gap:0;border-top:1px solid var(--line-d)}
.atelier-steps li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding-block:14px;border-bottom:1px solid var(--line-d)}
.atelier-steps span{font-family:var(--display);color:var(--gold);font-size:19px}
.atelier-steps b{font-weight:400;letter-spacing:.04em}
.atelier-steps p{font-size:13px;color:var(--soft)}
.atelier-films{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.at-film{margin:0;display:grid;gap:16px}
.at-film.lower{margin-top:clamp(40px,8vw,110px)}
.at-film .film-frame{aspect-ratio:9/15;border:1px solid var(--line-d);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.at-film h3{font-size:26px}
.at-film p{font-size:13.5px;color:var(--soft)}
.at-film .link{justify-self:start;color:var(--gold);margin-top:2px}
.lb-film{display:grid;gap:12px;justify-items:center;cursor:default}
.lb-film video{max-height:84vh;max-width:92vw;width:auto;background:#000}
.lb-film p{color:var(--sage);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
@media(max-width:900px){.atelier-grid{grid-template-columns:1fr}.at-film.lower{margin-top:40px}}
@media(max-width:480px){.atelier-films{grid-template-columns:1fr 1fr;gap:10px}.at-film h3{font-size:21px}.at-film p{display:none}}
/* bespoke: design your own ring */
.bespoke-x{background:#14322A;color:var(--pearl);padding-block:clamp(80px,10vw,140px)}
.bx-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);align-items:center}
.bx-pics{position:relative;padding:0 12% 14% 0}
.bx-main{aspect-ratio:1;background-size:cover;background-position:center;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.bx-inset{position:absolute;right:0;bottom:0;width:42%;aspect-ratio:1;background-size:cover;background-position:center;border:8px solid #14322A;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.bx-txt{display:grid;gap:22px;text-align:left}
.bx-txt .lede{color:var(--soft);max-width:500px}
.bx-steps{list-style:none;margin:4px 0;padding:0;border-top:1px solid var(--line-d)}
.bx-steps li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding-block:14px;border-bottom:1px solid var(--line-d)}
.bx-steps span{font-family:var(--display);color:var(--gold);font-size:19px}
.bx-steps b{font-weight:400;letter-spacing:.04em}
.bx-steps p{font-size:13px;color:var(--soft)}
.bx-cta{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:6px}
.bespoke-x .btn.solid{background:var(--pearl);color:var(--forest);border-color:var(--pearl)}
.bespoke-x .btn.solid:hover{background:var(--gold);border-color:var(--gold);color:var(--night)}
.bespoke-x .link{color:var(--gold)}
@media(max-width:900px){.bx-grid{grid-template-columns:1fr}.bx-pics{max-width:560px}}
.bx-pics{padding:0 20% 20% 0}
.bx-inset{width:36%}
/* client films */
.clients{background:var(--ivory);padding-block:clamp(70px,9vw,120px);overflow:hidden}
.cl-head{text-align:center;display:grid;gap:12px;justify-items:center;margin-bottom:44px}
.cl-head h2{color:var(--forest)}
.cl-head p{max-width:520px}
.cl-wrap{position:relative}
.cl-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,19vw,290px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.cl-track::-webkit-scrollbar{display:none}
.cl-card{scroll-snap-align:start;display:grid;background:#fff;border:1px solid var(--line)}
.cl-vid{position:relative;aspect-ratio:9/16;background:var(--night);overflow:hidden}
.cl-vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cl-vid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,25,15,.35),transparent 22%,transparent 80%,rgba(4,25,15,.25));pointer-events:none}
.cl-tag{position:absolute;top:12px;left:12px;z-index:2;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#fff}
.cl-ctrl{position:absolute;top:8px;right:8px;z-index:2;display:flex;gap:4px}
.cl-btn{width:32px;height:32px;display:grid;place-items:center;color:#fff}
.cl-btn svg{width:18px;height:18px}
.cl-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:58px;height:58px;border-radius:50%;background:rgba(4,25,15,.45);border:1px solid rgba(255,255,255,.6);color:#fff;display:grid;place-items:center;backdrop-filter:blur(4px);transition:opacity .4s}
.cl-play svg{width:22px;height:22px;margin-left:3px}
.cl-card.playing .cl-play{opacity:0}
.cl-card.playing:hover .cl-play{opacity:1}
.cl-card.playing .cl-play svg{margin-left:0}
.cl-prod{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;padding:12px;border-top:1px solid var(--line);transition:background .3s}
.cl-prod:hover{background:var(--paper)}
.cl-prod .th{position:relative;aspect-ratio:1;background:var(--ivory-2)}
.cl-prod .th .art{inset:8%}
.cl-prod .tx{display:grid;gap:2px;min-width:0}
.cl-prod b{font-family:var(--display);font-weight:400;font-size:18px;color:var(--forest);line-height:1.15}
.cl-prod small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-prod em{font-style:normal;font-size:12.5px;color:var(--onyx);font-variant-numeric:tabular-nums}
.cl-arrow{position:absolute;top:calc(50% - 60px);z-index:5;width:46px;height:46px;border-radius:50%;background:var(--paper);border:1px solid var(--line);color:var(--forest);display:grid;place-items:center;box-shadow:0 8px 20px rgba(4,25,15,.12);transition:opacity .3s}
.cl-arrow svg{width:20px;height:20px}
.cl-arrow.prev{left:-18px}.cl-arrow.next{right:-18px}
.cl-arrow:disabled{opacity:0;pointer-events:none}
@media(max-width:700px){.cl-arrow{display:none}.cl-track{grid-auto-columns:70%}}
.cl-card{border:0;background:transparent}
.cl-vid::after{background:linear-gradient(180deg,rgba(4,25,15,.28),transparent 18%)}
.cl-arrow{top:calc(50% - 23px)}
/* client films: green theme, tighter spacing */
.clients{background:radial-gradient(90% 120% at 50% 0%,#14463A,var(--forest) 55%,var(--deep) 100%);color:var(--pearl);padding-block:clamp(44px,5vw,70px)}
.cl-head{gap:8px;margin-bottom:26px}
.cl-head .label{color:var(--gold)}
.cl-head h2{color:var(--pearl);font-size:clamp(34px,3.6vw,52px)}
.cl-head p{color:var(--soft);font-size:14.5px}
.cl-track{gap:10px}
.cl-vid{border:1px solid rgba(198,167,106,.28)}
.cl-arrow{background:var(--deep);border-color:var(--gold-soft);color:var(--gold);box-shadow:0 8px 20px rgba(0,0,0,.3)}
.cl-arrow:hover{background:var(--gold);color:var(--night)}
/* newsletter in footer */
footer.site{padding-top:0}
.ft-nl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;padding-block:40px;margin-bottom:56px;border-bottom:1px solid var(--line-d)}
.ft-nl .serif{font-size:clamp(20px,1.8vw,26px);line-height:1.35;margin-top:10px;color:var(--pearl);max-width:460px}
.ft-nl .nl{margin:0;max-width:none}
.ft-nl .consent{margin:12px 0 0;max-width:none}
.ft-nl .nl-msg{margin-top:8px;min-height:0;font-size:12.5px}
@media(max-width:800px){.ft-nl{grid-template-columns:1fr;padding-block:32px}}
/* the Auraveil promise */
.promise{background:linear-gradient(180deg,var(--deep),var(--night));color:var(--pearl);padding-block:clamp(56px,7vw,90px);position:relative}
.promise::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.55}
.pr-head{text-align:center;display:grid;gap:10px;justify-items:center;margin-bottom:44px}
.pr-head h2{color:var(--pearl)}
.pr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.pr-item{display:grid;justify-items:center;text-align:center;gap:10px;padding:34px 22px;border-right:1px solid var(--line-d);transition:background .5s var(--ease)}
.pr-item:last-child{border-right:0}
.pr-item:hover{background:rgba(198,167,106,.06)}
.pr-ic{width:56px;height:56px;border-radius:50%;border:1px solid var(--gold-soft);display:grid;place-items:center;margin-bottom:6px;transition:border-color .5s,background .5s}
.pr-item:hover .pr-ic{border-color:var(--gold);background:rgba(198,167,106,.08)}
.pr-ic svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.1}
.pr-item b{font-family:var(--display);font-weight:400;font-size:24px;color:var(--pearl)}
.pr-item>span:last-child{font-size:13px;color:var(--soft);max-width:240px;line-height:1.55}
.pr-seals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin-top:46px}
.seal{display:grid;justify-items:center;gap:10px;text-align:center;color:var(--gold)}
.seal svg{width:104px;height:104px;transition:transform .8s var(--ease)}
.seal:hover svg{transform:rotate(12deg)}
.seal small{font-size:11.5px;color:var(--soft);letter-spacing:.04em;max-width:140px}
@media(max-width:1000px){.pr-grid{grid-template-columns:1fr 1fr}.pr-item:nth-child(2){border-right:0}.pr-item:nth-child(-n+2){border-bottom:1px solid var(--line-d)}.pr-seals{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}}
@media(max-width:520px){.pr-item{padding:24px 12px}.pr-item b{font-size:20px}.seal svg{width:86px;height:86px}}
.pr-item{align-content:start}
/* homepage showcase */
.showcase{background:radial-gradient(90% 120% at 50% 0%,#14463A,var(--forest) 55%,var(--deep));color:var(--pearl);padding-block:clamp(44px,5vw,70px)}
.sc-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.sc-head h2{color:var(--pearl);margin-top:8px}
.sc-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:4px;border:1px solid var(--line-d);border-radius:999px}
.sc-tabs button{padding:10px 18px;border-radius:999px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);transition:background .4s,color .4s}
.sc-tabs button:hover{color:var(--pearl)}
.sc-tabs button[aria-selected="true"]{background:var(--gold);color:var(--night)}
.sc-wrap{position:relative}
.sc-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,22vw,300px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.sc-track::-webkit-scrollbar{display:none}
.sc-tile{scroll-snap-align:start;display:grid;gap:12px;animation:fade .6s var(--ease) both}
.sc-pic{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border:1px solid rgba(198,167,106,.22)}
.sc-pic .ph{position:absolute;inset:0;transition:transform 1.2s var(--ease)}
.sc-pic .art{inset:14%}
.sc-tile:hover .sc-pic .ph{transform:scale(1.05)}
.sc-badge{position:absolute;top:12px;left:12px;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;padding:5px 9px;background:var(--gold);color:var(--night)}
.sc-cap{display:grid;gap:3px}
.sc-cap b{font-family:var(--display);font-weight:400;font-size:24px;color:var(--pearl);line-height:1.1}
.sc-cap small{font-size:12.5px;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-cap em{font-style:normal;font-size:12.5px;color:var(--gold);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.sc-wrap .cl-arrow{top:calc(50% - 50px);background:var(--deep);border-color:var(--gold-soft);color:var(--gold)}
.sc-wrap .cl-arrow:hover{background:var(--gold);color:var(--night)}
.sc-foot{margin-top:26px;text-align:center}
.sc-foot .link{color:var(--gold)}
@media(max-width:700px){.sc-track{grid-auto-columns:68%}.sc-tabs{width:100%;justify-content:space-between}.sc-tabs button{padding:9px 12px;font-size:10px;letter-spacing:.12em}}

/* ===== shared title ===== */
.sec-title{text-align:center;display:grid;gap:8px;justify-items:center;margin-bottom:30px}
.sec-title h2{color:var(--forest)}
.sec-title.left{text-align:left;justify-items:start;margin-bottom:24px}
.sec-title p{font-size:14px}
.velvet{position:absolute;inset:0;background:radial-gradient(75% 65% at 50% 46%,#1B5A47 0%,#0F4434 45%,#082A20 100%)}
.velvet::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px),repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px)}

/* ===== best-selling bridal ===== */
.bsell{background:var(--paper);padding-block:clamp(48px,6vw,80px)}
.bs-wrap{position:relative}
.bs-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*14px)/4);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.bs-track::-webkit-scrollbar{display:none}
.bs-card{position:relative;scroll-snap-align:start;display:grid;gap:14px;min-width:0}
.bs-pic{position:relative;display:block;aspect-ratio:1;overflow:hidden}
.bs-pic .art{inset:10%;transition:transform 1.1s var(--ease)}
.bs-card:hover .bs-pic .art{transform:scale(1.06)}
.bs-icons{position:absolute;top:10px;left:10px;display:grid;gap:4px;opacity:0;transition:opacity .4s}
.bs-card:hover .bs-icons,.bs-icons:focus-within{opacity:1}
.bs-ic{width:30px;height:30px;display:grid;place-items:center;color:#fff}
.bs-ic svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.3}
.bs-ic[aria-pressed="true"] svg{fill:var(--gold);stroke:var(--gold)}
.bs-info{display:grid;gap:5px}
.bs-info b{font-family:var(--display);font-weight:400;font-size:19px;line-height:1.25;color:var(--onyx)}
.bs-info small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bs-info .stars i{color:#D9A441}
.bs-info em{font-style:normal;font-size:17px;color:var(--onyx);font-variant-numeric:tabular-nums}
.bs-arrow{position:absolute;top:calc(25% - 10px);z-index:3;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--forest);display:grid;place-items:center;box-shadow:0 6px 20px rgba(4,25,15,.18);transition:opacity .3s}
.bs-arrow svg{width:18px;height:18px}
.bs-arrow.prev{left:-20px}.bs-arrow.next{right:-20px}
.bs-arrow:disabled{opacity:0;pointer-events:none}
.bs-dots{display:flex;justify-content:center;gap:8px;margin-top:26px}
.bs-dots span{width:6px;height:6px;border-radius:50%;border:1px solid var(--forest);transition:background .3s}
.bs-dots span.on{background:var(--forest)}
@media(max-width:1000px){.bs-track{grid-auto-columns:calc((100% - 14px)/2)}}
@media(max-width:560px){.bs-track{grid-auto-columns:78%}.bs-arrow{display:none}}

/* ===== shop by category ===== */
.bcat{background:var(--paper);padding-block:0 clamp(56px,7vw,90px)}
.bc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2.4vw,36px)}
.bc-tile{display:grid;gap:16px;justify-items:center}
.bc-pic{position:relative;width:100%;aspect-ratio:1;overflow:hidden}
.bc-pic .art{transition:transform 1.1s var(--ease)}
.bc-tile:hover .bc-pic .art{transform:scale(1.05)}
.bc-a1-0{inset:12%}
.bc-a3-0{inset:4% 22% 64% 18%}.bc-a3-1{inset:34% 18% 34% 22%}.bc-a3-2{inset:64% 22% 4% 18%}
.bc-name{font-family:var(--display);font-size:21px;color:var(--forest);transition:color .3s}
.bc-tile:hover .bc-name{color:var(--gold-ink)}
@media(max-width:860px){.bc-grid{grid-template-columns:1fr 1fr}}

/* ===== mega menu: blurred glass ===== */
.mega{background:rgba(7,42,33,.72);-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2);border-bottom:1px solid rgba(198,167,106,.18);box-shadow:0 30px 60px rgba(0,0,0,.3)}
body.on-home header.site:has(.mega:not([hidden])){background:rgba(7,42,33,.72);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
.mega .wrap.mg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(30px,5vw,80px);padding-block:30px 34px}
.mg-list{display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.mg-list ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.mg-list li a{display:flex;align-items:baseline;gap:12px;padding-block:7px;font-family:var(--body);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--pearl);transition:color .3s,padding .4s var(--ease)}
.mg-list li a span{font-size:10px;letter-spacing:.14em;color:var(--sage);font-weight:400}
.mg-list li a:hover{color:var(--gold);padding-left:6px}
.mg-foot{display:flex;gap:26px;flex-wrap:wrap}
.mg-foot a,.mg-foot button{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--pearl)}
.mg-foot a:hover,.mg-foot button:hover{color:var(--gold)}
.mg-banner{position:relative;display:block;min-height:250px;background-size:cover;overflow:hidden}
.mg-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,15,.82) 0%,rgba(4,25,15,.35) 45%,transparent 70%)}
.mg-txt{position:relative;display:grid;gap:6px;justify-items:start;padding:clamp(26px,3vw,40px)}
.mg-txt small{font-family:var(--body);font-size:15px;font-weight:500;color:var(--pearl)}
.mg-txt b{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,30px);letter-spacing:.06em;color:var(--pearl)}
.mg-btn{margin-top:22px;padding:14px 32px;border:1px solid var(--gold);color:var(--gold);font-size:11px;letter-spacing:.24em;text-transform:uppercase;transition:background .4s,color .4s}
.mg-banner:hover .mg-btn{background:var(--gold);color:var(--night)}
.bc-a3-0{inset:-6% 14% 52% 14%}.bc-a3-1{inset:22% 14% 24% 14%}.bc-a3-2{inset:50% 14% -4% 14%}
.bc-pic .ph.has,.bs-pic .ph.has{transition:transform 1.1s var(--ease)}.bc-tile:hover .ph.has,.bs-card:hover .ph.has{transform:scale(1.05)}

/* ===== premium trio: best sellers / stone shape / category ===== */
.sec-title .label{display:flex;align-items:center;gap:14px}
.sec-title .label::before,.sec-title .label::after{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.sec-title p{font-size:14.5px;max-width:520px}
/* best sellers: deep green */
.bsell{background:radial-gradient(100% 120% at 50% 0%,#14463A 0%,var(--forest) 50%,var(--deep) 100%);color:var(--pearl);padding-block:clamp(60px,7vw,96px);position:relative}
.bsell::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.45}
.bsell .sec-title{margin-bottom:38px}
.bsell .sec-title h2{color:var(--pearl)}
.bsell .sec-title p{color:var(--soft)}
.bs-track{gap:20px;grid-auto-columns:calc((100% - 3*20px)/4)}
.bs-pic{border:1px solid rgba(198,167,106,.35);outline:1px solid rgba(198,167,106,.12);outline-offset:5px;margin:6px}
.bs-pic .ph.has{position:absolute;inset:0;background-size:cover;background-position:center}
.bs-info{padding:4px 6px 0;gap:6px}
.bs-info b{color:var(--pearl);font-size:21px}
.bs-info small{color:var(--soft)}
.bs-info .stars{color:var(--sage)}
.bs-info .stars i{color:var(--gold)}
.bs-info em{color:var(--gold);font-size:16px;letter-spacing:.04em}
.bs-arrow{background:var(--deep);color:var(--gold);border:1px solid var(--gold-soft);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.bs-arrow:hover{background:var(--gold);color:var(--night)}
.bs-dots span{border-color:var(--gold)}
.bs-dots span.on{background:var(--gold)}
.bs-card .sc-badge,.bs-pic .badge{z-index:2}
@media(max-width:1000px){.bs-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media(max-width:560px){.bs-track{grid-auto-columns:78%}}
/* stone shape: ivory band between two greens */
.h-shapes{background:linear-gradient(180deg,var(--paper),var(--ivory));padding-block:clamp(54px,6vw,84px)}
.h-shapes .h-l{font-size:clamp(34px,3.6vw,52px)}
.h-shapes .shapes{margin-top:36px}
.h-shapes .shapes .sh{width:66px;height:66px;padding:0}
.h-shapes .shapes a{position:relative}
.h-shapes .shapes a::after{content:"";position:absolute;left:30%;right:30%;bottom:6px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .5s var(--ease)}
.h-shapes .shapes a:hover::after{transform:scaleX(1)}
/* category: deep green with framed photographs */
.bcat{background:radial-gradient(100% 120% at 50% 100%,#14463A 0%,var(--forest) 45%,var(--deep) 100%);color:var(--pearl);padding-block:clamp(60px,7vw,96px)}
.bcat .sec-title{margin-bottom:38px}
.bcat .sec-title h2{color:var(--pearl)}
.bcat .sec-title p{color:var(--soft)}
.bc-grid{gap:clamp(16px,2.2vw,30px)}
.bc-tile{gap:14px}
.bc-pic{border:1px solid rgba(198,167,106,.35)}
.bc-pic::after{content:"";position:absolute;inset:10px;border:1px solid rgba(230,233,228,.28);pointer-events:none;transition:inset .6s var(--ease),border-color .6s}
.bc-tile:hover .bc-pic::after{inset:16px;border-color:rgba(198,167,106,.7)}
.bc-pic .ph.has{position:absolute;inset:0;background-size:cover;background-position:center}
.bc-name{color:var(--pearl);font-size:23px}
.bc-tile:hover .bc-name{color:var(--gold)}
.bc-shop{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-top:-6px;padding-bottom:4px;border-bottom:1px solid transparent;transition:border-color .4s}
.bc-tile:hover .bc-shop{border-color:var(--gold)}
/* larger, wider best sellers + category */
.bsell>.wrap,.bcat>.wrap{max-width:1720px}
@media(min-width:760px){.bsell>.wrap,.bcat>.wrap{padding-left:max(48px,env(safe-area-inset-left,0px));padding-right:max(48px,env(safe-area-inset-right,0px))}}
.bs-track{gap:26px;grid-auto-columns:calc((100% - 3*26px)/4)}
.bs-pic{aspect-ratio:4/5;margin:7px}
.bs-pic .art{inset:16% 12%}
.bs-info{gap:7px;padding-top:6px}
.bs-info b{font-size:clamp(22px,1.6vw,27px)}
.bs-info small{font-size:13px}
.bs-info .stars{font-size:12.5px}
.bs-info em{font-size:17px}
.bs-arrow{width:52px;height:52px;top:calc(40% - 26px)}
.bs-arrow.prev{left:-6px}.bs-arrow.next{right:-6px}
.bsell .sec-title h2,.bcat .sec-title h2{font-size:clamp(42px,4.6vw,68px)}
.bc-grid{gap:clamp(18px,2vw,30px)}
.bc-pic{aspect-ratio:4/5}
.bc-name{font-size:clamp(23px,1.8vw,30px)}
.bc-shop{font-size:11px}
@media(max-width:1000px){.bs-track{grid-auto-columns:calc((100% - 26px)/2)}}
@media(max-width:560px){.bs-track{grid-auto-columns:80%;gap:16px}}

/* tighter spacing: best sellers + categories (v26) */
.bsell,.bcat{padding-block:clamp(36px,3.6vw,56px)}
.bsell .sec-title,.bcat .sec-title{margin-bottom:clamp(20px,2vw,28px)}
.bsell .sec-title,.bcat .sec-title{gap:4px}
.bs-dots{margin-top:16px}
.bs-card{gap:10px}
.bc-tile{gap:10px}.bc-shop{margin-top:-4px;padding-bottom:0}
/* mobile polish: best sellers + categories (v27) */
@media(max-width:760px){
  .bsell>.wrap,.bcat>.wrap{padding-inline:18px}
  .bsell,.bcat{padding-block:34px}
  .bsell .sec-title h2,.bcat .sec-title h2{font-size:clamp(34px,9.6vw,44px);line-height:1.05}
  .bsell .sec-title p,.bcat .sec-title p{font-size:13px;max-width:none;text-wrap:balance}
  .bsell .sec-title,.bcat .sec-title{margin-bottom:20px}
  .bs-track{gap:14px;grid-auto-columns:80%;scroll-padding-inline:0}
  .bs-pic{margin:4px;outline-offset:3px}
  .bs-info{padding:2px 4px 0;gap:4px}
  .bs-info b{font-size:20px}
  .bs-info small{font-size:12px}
  .bs-info em{font-size:15px}
  .bs-icons{opacity:1}
  .bs-dots{margin-top:14px}
  .bc-grid{grid-template-columns:1fr 1fr;gap:22px 12px;align-items:start}
  .bc-tile{gap:8px}
  .bc-pic{aspect-ratio:4/5}
  .bc-pic::after{inset:6px}
  .bc-tile:hover .bc-pic::after{inset:9px}
  .bc-name{font-size:18px;line-height:1.2;text-align:center}
  .bc-shop{font-size:9.5px;letter-spacing:.22em;margin-top:-2px}
}
/* saved alternative: satin-teal look matched to studio photography. Switch on by adding class "theme-satin" to <body>. Not active. */
.theme-satin .bsell,.theme-satin .bcat{background:radial-gradient(70% 55% at 50% 0%,rgba(120,160,150,.22),transparent 70%),radial-gradient(120% 90% at 50% 40%,#3A5F59 0%,#2B4B46 55%,#1A3431 100%)}
.theme-satin .bs-pic,.theme-satin .bc-pic{border-color:rgba(220,226,222,.32);background:#1A3431}
.theme-satin .bs-info em,.theme-satin .bc-shop,.theme-satin .bsell .label.gold,.theme-satin .bcat .label.gold{color:#E3D3AE}
.theme-satin .bs-arrow{background:rgba(26,52,49,.82);color:#DCE2DE;border-color:rgba(220,226,222,.32)}
/* shape icons slightly larger (v29) */
.h-shapes .shapes .sh{width:84px;height:84px}
.h-shapes .shapes b{font-size:14px;letter-spacing:.2em}
.h-shapes .shapes small{font-size:13px}
.h-shapes .shapes a{gap:12px}
@media(max-width:900px){.h-shapes .shapes{grid-auto-columns:120px}.h-shapes .shapes .sh{width:72px;height:72px}.h-shapes .shapes b{font-size:13px}}
/* best sellers on ivory, matching stone shapes (v30) */
.bsell{background:linear-gradient(180deg,var(--paper),var(--ivory));color:var(--forest)}
.bsell::after{display:none}
.bsell .sec-title h2{color:var(--forest)}
.bsell .sec-title p{color:var(--muted)}
.bsell .label.gold{color:var(--gold-ink)}
.bsell .sec-title .label::before,.bsell .sec-title .label::after{background:var(--gold-ink)}
.bs-pic{border-color:rgba(154,123,63,.35);outline-color:rgba(154,123,63,.15);box-shadow:0 18px 40px -24px rgba(12,59,47,.35)}
.bs-info b{color:var(--forest)}
.bs-info small{color:var(--muted)}
.bs-info .stars{color:var(--muted)}.bs-info .stars i{color:var(--gold-ink)}
.bs-info em{color:var(--gold-ink)}
.bs-arrow{background:#fff;color:var(--forest);border:1px solid rgba(12,59,47,.18);box-shadow:0 10px 24px rgba(12,59,47,.14)}
.bs-arrow:hover{background:var(--forest);color:var(--ivory)}
.bs-dots span{border-color:var(--forest)}.bs-dots span.on{background:var(--forest)}
.bs-card:hover .bs-info b{color:var(--gold-ink)}
/* bespoke on ivory (v31) */
.bespoke-x{background:linear-gradient(180deg,var(--paper),var(--ivory));color:var(--forest)}
.bespoke-x h2{color:var(--forest)}
.bespoke-x .label.gold{color:var(--gold-ink)}
.bx-txt .lede{color:var(--muted)}
.bx-main{box-shadow:0 30px 60px -20px rgba(12,59,47,.35)}
.bx-inset{border-color:var(--paper);box-shadow:0 20px 44px -12px rgba(12,59,47,.4)}
.bx-steps{border-top-color:var(--line)}
.bx-steps li{border-bottom-color:var(--line)}
.bx-steps span{color:var(--gold-ink)}
.bx-steps b{color:var(--forest)}
.bx-steps p{color:var(--muted)}
.bespoke-x .btn.solid{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.bespoke-x .btn.solid:hover{background:var(--gold-ink);border-color:var(--gold-ink);color:#fff}
.bespoke-x .link{color:var(--gold-ink)}
/* less space above stone shapes (v32) */
.h-shapes{padding-top:clamp(28px,2.6vw,40px)}
.h-shapes .center .h-l{margin-top:8px!important}
/* bespoke: green theme panel behind the photo side (v33) */
.bespoke-x{position:relative;overflow:hidden}
.bespoke-x>.wrap{position:relative;z-index:1}
.bespoke-x::before{content:"";position:absolute;left:0;top:0;bottom:0;width:34%;
  background:radial-gradient(120% 80% at 30% 30%,#14463A 0%,var(--forest) 45%,var(--deep) 100%)}
.bespoke-x::after{content:"";position:absolute;left:28px;top:28px;bottom:28px;width:calc(34% - 56px);border:1px solid rgba(198,167,106,.38);pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(198,167,106,.05) 0 1px,transparent 1px 14px)}
.bx-inset{border-color:var(--paper)}
@media(max-width:900px){
  .bespoke-x::before{width:auto;right:0;bottom:auto;height:min(62vw,420px)}
  .bespoke-x::after{width:auto;right:20px;left:20px;top:20px;bottom:auto;height:calc(min(62vw,420px) - 40px)}
}
/* client films: wider, larger grid (v34) */
.clients>.wrap{max-width:1720px}
@media(min-width:760px){.clients>.wrap{padding-left:48px;padding-right:48px}}
.clients .cl-track{gap:16px;grid-auto-columns:calc((100% - 4*16px)/5)}
.clients .cl-vid{box-shadow:0 24px 50px -24px rgba(0,0,0,.6)}
.clients .cl-head h2{font-size:clamp(40px,4.4vw,64px)}
.clients .cl-head p{font-size:15.5px;max-width:52ch;margin-inline:auto}
.clients .cl-head{margin-bottom:34px}
.clients .cl-arrow{width:52px;height:52px;top:calc(50% - 26px)}
.clients .cl-arrow.prev{left:-24px}.clients .cl-arrow.next{right:-24px}
@media(max-width:1200px){.clients .cl-track{grid-auto-columns:calc((100% - 3*16px)/4)}}
@media(max-width:900px){.clients .cl-track{grid-auto-columns:calc((100% - 2*14px)/3);gap:14px}}
@media(max-width:700px){.clients .cl-track{grid-auto-columns:72%;gap:12px}.clients>.wrap{padding-inline:18px}.clients .cl-head h2{font-size:clamp(32px,9vw,42px)}.clients .cl-head p{font-size:13.5px}}
/* leaf edit (homepage) */
.leaf-x{background:radial-gradient(100% 120% at 0% 0%,#14463A 0%,var(--forest) 50%,var(--deep) 100%);color:var(--pearl);padding-block:clamp(48px,5vw,80px)}
.leaf-x>.wrap{max-width:1720px}
@media(min-width:760px){.leaf-x>.wrap{padding-inline:48px}}
.lx-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,.72fr);gap:clamp(18px,2.4vw,36px);align-items:center}
.lx-txt{display:grid;gap:20px;align-content:center}
.lx-txt h2{color:var(--pearl);font-size:clamp(42px,4.6vw,68px);line-height:1.02}
.lx-txt p{color:var(--soft);max-width:420px;line-height:1.7}
.lx-cta{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:6px}
.leaf-x .btn.solid{background:var(--pearl);color:var(--forest);border-color:var(--pearl)}
.leaf-x .btn.solid:hover{background:var(--gold);border-color:var(--gold);color:var(--night)}
.leaf-x .link{color:var(--gold)}
.lx-pic{display:block;aspect-ratio:4/5;background-size:cover;background-position:center;border:1px solid rgba(198,167,106,.35);outline:1px solid rgba(198,167,106,.12);outline-offset:6px;box-shadow:0 30px 60px -26px rgba(0,0,0,.6);transition:transform 1s var(--ease)}
.lx-pic:hover{transform:scale(1.01)}
.lx-film{position:relative;aspect-ratio:9/16;overflow:hidden;border:1px solid rgba(198,167,106,.35);box-shadow:0 30px 60px -26px rgba(0,0,0,.6)}
.lx-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.lx-grid{grid-template-columns:1fr 1fr}.lx-txt{grid-column:1/-1;text-align:center;justify-items:center}.lx-txt p{margin-inline:auto}.lx-cta{justify-content:center}.lx-pic,.lx-film{aspect-ratio:4/5}}
@media(max-width:560px){.leaf-x>.wrap{padding-inline:18px}.lx-grid{gap:12px}.lx-txt h2{font-size:clamp(36px,10vw,46px)}}
/* wedding bands banner */
.shop-banner{position:relative;display:block;margin-top:28px;height:clamp(240px,30vw,420px);background-size:cover;background-position:50% 42%;overflow:hidden}
.sb-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,15,.78),rgba(4,25,15,.15) 60%,transparent)}
.sb-txt{position:absolute;left:clamp(22px,4vw,56px);bottom:clamp(22px,4vw,48px);display:grid;gap:10px;color:var(--pearl);max-width:440px}
.sb-txt small{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.sb-txt b{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,44px);line-height:1.1}
/* maison film */
.mx-film{background:var(--paper);padding-block:clamp(56px,7vw,100px)}
.mx-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:center;max-width:1100px;margin-inline:auto}
.mx-vid{position:relative;aspect-ratio:4/5;overflow:hidden;box-shadow:0 30px 60px -24px rgba(12,59,47,.4)}
.mx-vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mx-txt{display:grid;gap:20px}
.mx-txt h2{color:var(--forest)}
.mx-txt h2 em{font-style:italic;color:var(--gold-ink)}
@media(max-width:800px){.mx-grid{grid-template-columns:1fr}.mx-vid{max-width:420px;width:100%;margin-inline:auto}.mx-txt{text-align:center}}
@media(max-width:560px){.lx-grid{grid-template-columns:1fr;gap:16px}.lx-pic{aspect-ratio:4/5;outline-offset:4px}.lx-film{aspect-ratio:4/5}}
/* films: four across (v38) */
.films-sec>.wrap{max-width:1720px}
@media(min-width:760px){.films-sec>.wrap{padding-inline:48px}}
@media(min-width:1101px){.films{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}}
.film-card h3{font-size:clamp(22px,1.8vw,28px)}
@media(min-width:861px) and (max-width:1100px){.films{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* client films: obsidian green + champagne gold (v39) */
.clients{position:relative;overflow:hidden;color:var(--pearl);
  background:
    radial-gradient(60% 40% at 50% 0%,rgba(198,167,106,.16),transparent 70%),
    radial-gradient(80% 60% at 50% 110%,rgba(20,70,58,.55),transparent 70%),
    linear-gradient(180deg,#04140E 0%,#062019 45%,#04140E 100%)}
.clients::before,.clients::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:min(1100px,86%);height:1px;background:linear-gradient(90deg,transparent,rgba(198,167,106,.7),transparent)}
.clients::before{top:0}.clients::after{bottom:0}
.clients>.wrap{position:relative;z-index:1}
.clients .cl-head .label{color:#D9BF86;letter-spacing:.32em}
.clients .cl-head h2{color:#F3EFE6;font-weight:300;letter-spacing:.005em}
.clients .cl-head h2::after{content:"";display:block;width:56px;height:1px;margin:18px auto 0;background:linear-gradient(90deg,transparent,#C6A76A,transparent)}
.clients .cl-head p{color:rgba(230,233,228,.68)}
.clients .cl-card{padding:6px;border:1px solid rgba(198,167,106,.32);background:linear-gradient(180deg,rgba(198,167,106,.08),rgba(198,167,106,.02));transition:border-color .5s,transform .7s var(--ease),box-shadow .7s}
.clients .cl-card:hover{border-color:rgba(198,167,106,.75);transform:translateY(-4px);box-shadow:0 30px 60px -28px rgba(0,0,0,.85),0 0 0 1px rgba(198,167,106,.15)}
.clients .cl-vid{border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.clients .cl-vid::after{background:linear-gradient(180deg,rgba(4,20,14,.45),transparent 22%,transparent 78%,rgba(4,20,14,.35))}
.clients .cl-btn{background:rgba(4,20,14,.45);border:1px solid rgba(198,167,106,.35);border-radius:50%;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#F3EFE6}
.clients .cl-ctrl{gap:6px;top:10px;right:10px}
.clients .cl-arrow{background:rgba(4,20,14,.85);border:1px solid rgba(198,167,106,.55);color:#D9BF86;backdrop-filter:blur(8px)}
.clients .cl-arrow:hover{background:#C6A76A;color:#04140E}
/* bespoke: tighter, no gold frame on the green panel (v40) */
.bespoke-x{padding-block:clamp(40px,4vw,64px)}
.bespoke-x::after{display:none}
.bx-txt{gap:18px}
@media(max-width:900px){.bespoke-x{padding-block:28px 40px}}

/* entry chip to the admin, editors only */
.admin-chip{position:fixed;left:18px;bottom:18px;z-index:45;padding:10px 16px;border-radius:30px;background:#06231A;color:#F3E6C6;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(198,167,106,.5);box-shadow:0 12px 30px rgba(0,0,0,.25);text-decoration:none}
.admin-chip:hover{background:var(--gold);color:var(--night)}
body.admin-mode .admin-chip{display:none}

/* stone shapes: 13 cuts in a gliding strip (v42) */
.h-shapes .sh-wrap{position:relative;margin-top:36px}
.h-shapes .sh-wrap .shapes{margin-top:0;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 8*14px)/9);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 0 10px}
.h-shapes .sh-wrap .shapes::-webkit-scrollbar{display:none}
.h-shapes .sh-wrap .shapes a{scroll-snap-align:start}
.h-shapes .sh-wrap::before,.h-shapes .sh-wrap::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none;opacity:0;transition:opacity .3s}
.h-shapes .sh-wrap::before{left:0;background:linear-gradient(90deg,#F6F2E9,transparent)}
.h-shapes .sh-wrap::after{right:0;background:linear-gradient(270deg,#F5F0E6,transparent)}
.h-shapes .sh-wrap.over::before,.h-shapes .sh-wrap.over::after{opacity:1}
.sh-arrow{position:absolute;top:calc(50% - 40px);z-index:3;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--forest);border:1px solid rgba(12,59,47,.16);box-shadow:0 8px 22px rgba(12,59,47,.12);display:none;place-items:center;transition:opacity .3s,background .3s,color .3s}
.sh-arrow svg{width:18px;height:18px}
.sh-arrow:hover{background:var(--forest);color:var(--ivory)}
.sh-arrow.prev{left:-22px}.sh-arrow.next{right:-22px}
.sh-wrap.over .sh-arrow{display:grid}
.sh-arrow:disabled{opacity:0;pointer-events:none}
.h-shapes .shapes a small{white-space:nowrap}
@media(max-width:1100px){.h-shapes .sh-wrap .shapes{grid-auto-columns:calc((100% - 5*14px)/6)}}
@media(max-width:700px){.h-shapes .sh-wrap .shapes{grid-auto-columns:30%;gap:10px}.sh-arrow{display:none!important}}
.h-shapes .sh-wrap::before,.h-shapes .sh-wrap::after{display:none}

/* ===== client accounts (v42) ===== */
.acc-btn .acc-ini,.acc-ini{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gold);color:var(--night);font-family:var(--display);font-size:16px;line-height:1}
.acc-auth{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:calc(100vh - var(--hdr,110px));background:var(--ivory)}
.acc-media{position:relative;background-size:cover;background-position:50% 30%;min-height:520px}
.acc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,25,15,.15),rgba(4,25,15,.82))}
.acc-media-in{position:absolute;left:clamp(28px,4vw,60px);right:clamp(28px,4vw,60px);bottom:clamp(30px,5vw,64px);z-index:1;color:var(--pearl);display:grid;gap:16px}
.acc-media-in .serif{font-size:clamp(26px,2.4vw,36px);line-height:1.2}
.acc-media-in ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px;font-size:14px;color:var(--soft)}
.acc-media-in li::before{content:"";display:inline-block;width:14px;height:1px;background:var(--gold);vertical-align:middle;margin-right:12px}
.acc-form-wrap{display:grid;place-items:center;padding:clamp(36px,5vw,80px) clamp(20px,4vw,60px)}
.acc-form{width:100%;max-width:470px;display:grid;gap:18px}
.acc-form h1,.acc-head h1{font-family:var(--display);font-weight:400;font-size:clamp(38px,3.6vw,54px);line-height:1.05;color:var(--forest);margin:4px 0 0}
.acc-lede{color:var(--muted);font-size:14.5px;line-height:1.65;margin:0}
.acc-lede b{color:var(--forest);font-weight:500}
.acc-form form{display:grid;gap:14px}
.acc-f{display:grid;gap:7px}
.acc-f>label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.acc-in{position:relative}
.acc-in input,.acc-in select{width:100%;height:52px;border:1px solid var(--line);background:#FDFCF9;padding:0 16px;font:inherit;font-size:15px;color:var(--onyx);transition:border-color .3s,box-shadow .3s}
.acc-in input:focus,.acc-in select:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,167,106,.18);background:#fff}
.acc-in input[aria-invalid="true"]{border-color:#B4483C}
.acc-eye{position:absolute;right:8px;top:8px;width:36px;height:36px;display:grid;place-items:center;color:var(--muted)}
.acc-eye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}
.acc-err{margin:0;font-size:12.5px;color:#9A3A2E;min-height:0}
.acc-err:empty{display:none}
.acc-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.acc-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;flex-wrap:wrap}
.acc-go{width:100%;height:54px;margin-top:4px}
.acc-or{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.acc-or::before,.acc-or::after{content:"";flex:1;height:1px;background:var(--line)}
.acc-social{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.acc-sso{height:50px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13.5px;color:var(--onyx);transition:border-color .3s}
.acc-sso:hover{border-color:var(--forest)}
.acc-sso svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}
.acc-alt{text-align:center;font-size:14px;color:var(--muted);margin:4px 0 0}
.acc-test{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:rgba(198,167,106,.1);border:1px solid rgba(198,167,106,.35);font-size:12.5px;line-height:1.55;color:#6A5321}
.acc-test svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;margin-top:1px}
.acc-code{font-family:var(--display);font-size:20px;letter-spacing:.24em;color:var(--forest)}
.acc-meter{display:grid;gap:6px;font-size:12px;color:var(--muted);margin-top:-6px}
.acc-meter div{height:4px;background:var(--line);overflow:hidden}
.acc-meter i{display:block;height:100%;width:0;background:#B4483C;transition:width .3s,background .3s}
.acc-meter i[data-s="2"]{background:#C29436}.acc-meter i[data-s="3"],.acc-meter i[data-s="4"]{background:#2F7A55}
.acc-otp{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.acc-otp input{height:62px;text-align:center;font-family:var(--display);font-size:28px;border:1px solid var(--line);background:#fff;color:var(--forest)}
.acc-otp input:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,167,106,.18)}
.acc-page{background:var(--ivory);padding-block:clamp(40px,5vw,70px) clamp(70px,8vw,110px)}
.acc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:34px}
.acc-tier{display:grid;gap:4px;text-align:right;padding:14px 20px;background:radial-gradient(120% 120% at 0% 0%,#14463A,#062019);color:var(--pearl)}
.acc-tier span{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.acc-tier b{font-weight:400;font-size:13px;color:var(--soft)}
.acc-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.acc-nav{display:grid;gap:2px;position:sticky;top:calc(var(--hdr,110px) + 20px)}
.acc-nav a,.acc-nav button{display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:14px;color:var(--onyx);text-align:left;border-left:2px solid transparent;transition:background .3s,border-color .3s}
.acc-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;color:var(--gold-ink)}
.acc-nav a:hover,.acc-nav button:hover{background:rgba(12,59,47,.04)}
.acc-nav a[aria-current="page"]{border-color:var(--gold);background:#fff;color:var(--forest)}
.acc-nav button{margin-top:14px;color:var(--muted)}
.acc-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.acc-card{display:grid;gap:6px;padding:20px;background:#fff;border:1px solid var(--line);transition:border-color .3s,transform .5s var(--ease)}
.acc-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.acc-card small{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.acc-card b{font-family:var(--display);font-weight:400;font-size:32px;color:var(--forest);line-height:1.1}
.acc-card span{font-size:12.5px;color:var(--muted)}
.acc-card.dark{background:radial-gradient(120% 120% at 0% 0%,#14463A,#062019);border-color:#0E3B2E}
.acc-card.dark b{color:#F3E6C6}.acc-card.dark small{color:var(--gold)}.acc-card.dark span{color:var(--soft)}
.acc-h2{font-family:var(--display);font-weight:400;font-size:26px;color:var(--forest);margin:34px 0 14px}
.acc-empty{padding:44px 30px;background:#fff;border:1px solid var(--line);text-align:center;display:grid;gap:10px;justify-items:center;margin-top:20px}
.acc-empty b{font-family:var(--display);font-weight:400;font-size:28px;color:var(--forest)}
.acc-empty p{color:var(--muted);margin:0 0 8px}
.acc-order{background:#fff;border:1px solid var(--line);padding:22px;display:grid;gap:18px;margin-bottom:16px}
.ao-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ao-h b{font-family:var(--display);font-weight:400;font-size:22px;color:var(--forest)}
.ao-h small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.ao-items{display:flex;flex-wrap:wrap;gap:16px}
.ao-i{display:flex;gap:12px;align-items:center}
.ao-i .th{position:relative;width:64px;height:64px;background:var(--paper);overflow:hidden;flex:none}
.ao-i .th .art{position:absolute;inset:6%}
.ao-i .th .ph{position:absolute;inset:0;background-size:cover;background-position:center}
.ao-i b{display:block;font-weight:400;color:var(--onyx)}
.ao-i small{color:var(--muted);font-size:12px}
.ao-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.ao-track li{position:relative;display:grid;gap:8px;justify-items:center;text-align:center;font-size:11.5px;color:var(--muted)}
.ao-track li::before{content:"";position:absolute;top:6px;left:-50%;right:50%;height:1px;background:var(--line)}
.ao-track li:first-child::before{display:none}
.ao-track li i{position:relative;z-index:1;width:13px;height:13px;border-radius:50%;border:1px solid var(--line);background:#fff}
.ao-track li.done i,.ao-track li.on i{background:var(--forest);border-color:var(--forest)}
.ao-track li.on i{box-shadow:0 0 0 4px rgba(198,167,106,.35)}
.ao-track li.done::before,.ao-track li.on::before{background:var(--forest)}
.ao-track li.on span{color:var(--forest)}
.ao-f{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.acc-recs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.acc-addrs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.acc-addr{position:relative;background:#fff;border:1px solid var(--line);padding:20px;display:grid;gap:8px;font-size:14px}
.acc-addr.def{border-color:var(--gold)}
.acc-addr p{margin:0;color:#3D4842;line-height:1.6}
.acc-addr div{display:flex;gap:14px;font-size:13px}
.acc-addr.add{place-items:center;align-content:center;min-height:170px;border-style:dashed;color:var(--forest);gap:10px}
.acc-addr.add svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4}
.pill-d{position:absolute;top:14px;right:14px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}
.acc-pane{background:#fff;border:1px solid var(--line);padding:clamp(20px,3vw,34px);display:grid;gap:14px;margin-bottom:18px}
.acc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.acc-chips{display:flex;flex-wrap:wrap;gap:8px}
.acc-chips label{cursor:pointer}
.acc-chips input{position:absolute;opacity:0}
.acc-chips span{display:inline-block;padding:9px 16px;border:1px solid var(--line);font-size:13px;background:#fff;transition:all .25s}
.acc-chips input:checked+span{border-color:var(--forest);background:var(--forest);color:var(--ivory)}
.acc-chips input:focus-visible+span{outline:2px solid var(--gold)}
@media(max-width:960px){.acc-auth{grid-template-columns:1fr}.acc-media{min-height:260px}.acc-media-in ul{display:none}.acc-grid{grid-template-columns:1fr}.acc-nav{position:static;display:flex;overflow-x:auto;gap:4px}.acc-nav a,.acc-nav button{white-space:nowrap;border-left:0;border-bottom:2px solid transparent;margin:0}.acc-nav a[aria-current="page"]{border-color:var(--gold)}.acc-cards{grid-template-columns:1fr 1fr}.acc-recs{grid-template-columns:1fr 1fr!important}}
@media(max-width:560px){.acc-two,.acc-social{grid-template-columns:1fr}.ao-track span{font-size:10px}.acc-tier{text-align:left}}

/* buy now */
.cta-row .buy-now{background:transparent;color:var(--forest);border:1px solid var(--forest)}
.cta-row .buy-now:hover{background:var(--gold);border-color:var(--gold);color:var(--night)}
.cta-row{display:flex;gap:10px;flex-wrap:wrap}
.cta-row .btn{flex:1 1 160px}

/* checkout: test bar, account, card, trust (v42) */
.co-testbar{display:flex;gap:10px;align-items:center;padding:11px 16px;margin-bottom:26px;background:#FBF3E1;border:1px solid #EADBB7;color:#6A5321;font-size:12.5px;line-height:1.5}
.co-testbar svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5}
.co-acct,.co-guest{display:flex;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);background:#fff;margin-bottom:18px}
.co-acct div,.co-guest div{flex:1;display:grid;gap:2px}
.co-acct b,.co-guest b{font-weight:500;font-size:14px;color:var(--forest)}
.co-acct small,.co-guest small{font-size:12.5px;color:var(--muted)}
.cc-vis{perspective:900px;margin-bottom:18px;max-width:360px}
.cc-face{position:relative;aspect-ratio:1.586;border-radius:14px;padding:22px 24px;color:#F3EFE6;background:radial-gradient(120% 140% at 0% 0%,#1C5A49,#0A2E24 55%,#04140E);box-shadow:0 24px 50px -20px rgba(4,25,15,.6),inset 0 0 0 1px rgba(198,167,106,.35);display:grid;grid-template-rows:auto 1fr auto auto;overflow:hidden;transition:transform .6s var(--ease)}
.cc-face::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.08) 45%,transparent 60%)}
.cc-vis.flip .cc-face{transform:rotateY(-12deg) translateX(6px)}
.cc-chip{width:42px;height:31px;border-radius:6px;background:linear-gradient(135deg,#E7CF95,#B48C45);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.cc-brand{position:absolute;top:22px;right:24px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#E3D3AE}
.cc-num{font-family:ui-monospace,Menlo,monospace;font-weight:400;font-size:clamp(16px,2vw,20px);letter-spacing:.08em;align-self:end;margin-bottom:14px}
.cc-row{display:flex;justify-content:space-between;gap:12px}
.cc-row span{display:grid;gap:2px}
.cc-row small{font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,239,230,.55)}
.cc-row em{font-style:normal;font-size:13px;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.cc-mark{position:absolute;right:-6px;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:center;font-family:var(--display);font-size:13px;letter-spacing:.4em;color:rgba(198,167,106,.35)}
.co-trust{display:grid;gap:14px;padding:18px 0;border-top:1px solid var(--line);margin-top:6px}
.ct-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ct-row div{display:grid;justify-items:center;text-align:center;gap:3px;padding:12px 6px;border:1px solid var(--line);background:#fff}
.ct-row svg{width:20px;height:20px;fill:none;stroke:var(--gold-ink);stroke-width:1.4}
.ct-row b{font-weight:500;font-size:12px;color:var(--forest)}
.ct-row small{font-size:10.5px;color:var(--muted)}
.ct-pay{display:flex;flex-wrap:wrap;gap:6px}
.ct-pay span{font-size:10.5px;letter-spacing:.06em;padding:5px 9px;border:1px solid var(--line);background:#fff;color:#3D4842}
.acc-auth{padding:0!important}

/* ===== client experience (v43) ===== */
.sr{position:absolute;left:-9999px}
.contact-chip svg{width:16px;height:16px}
/* concierge */
.cg{position:fixed;right:20px;bottom:20px;z-index:70;width:min(400px,calc(100vw - 24px));height:min(640px,calc(100vh - 40px));display:flex;flex-direction:column;background:var(--ivory);border:1px solid rgba(198,167,106,.35);box-shadow:0 40px 80px -20px rgba(4,25,15,.45);animation:cgIn .35s var(--ease)}
@keyframes cgIn{from{opacity:0;transform:translateY(16px)}}
.cg-h{display:flex;gap:12px;align-items:center;padding:16px 18px;background:radial-gradient(120% 140% at 0% 0%,#14463A,#062019);color:var(--pearl)}
.cg-h>div:nth-child(2){flex:1;display:grid;gap:2px}
.cg-h b{font-family:var(--display);font-weight:400;font-size:20px}
.cg-h small{font-size:11.5px;color:var(--soft);display:flex;align-items:center;gap:6px}
.cg-h small i{width:7px;height:7px;border-radius:50%;background:#5BC08A;box-shadow:0 0 0 3px rgba(91,192,138,.2)}
.cg-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-family:var(--display);font-size:20px}
.cg-x{width:34px;height:34px;display:grid;place-items:center;color:var(--pearl)}
.cg-x svg,.cg-ch svg,.cg-f svg,.cg-act svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.cg-ch{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);background:#fff}
.cg-ch button{display:grid;justify-items:center;gap:4px;padding:12px 6px;font-size:11.5px;color:var(--forest);border-right:1px solid var(--line);transition:background .25s}
.cg-ch button:last-child{border:0}
.cg-ch button:hover{background:var(--paper)}
.cg-ch svg{color:var(--gold-ink)}
.cg-b{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.cg-m{max-width:86%;display:grid;gap:8px;justify-items:start}
.cg-m p{margin:0;padding:11px 14px;font-size:13.5px;line-height:1.55;background:#fff;border:1px solid var(--line)}
.cg-m.me{align-self:flex-end;justify-items:end}
.cg-m.me p{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.cg-m.typing p{display:flex;gap:4px}
.cg-m.typing i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:cgDot 1s infinite}
.cg-m.typing i:nth-child(2){animation-delay:.15s}.cg-m.typing i:nth-child(3){animation-delay:.3s}
@keyframes cgDot{50%{opacity:.25;transform:translateY(-2px)}}
.cg-act{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:12px;border:1px solid var(--gold);color:var(--gold-ink);background:#fff}
.cg-act:hover{background:var(--gold);color:var(--night)}
.cg-hand{display:flex;gap:6px;flex-wrap:wrap}
.cg-q{display:flex;gap:6px;overflow-x:auto;padding:0 14px 10px;scrollbar-width:none}
.cg-q button{flex:none;padding:7px 12px;font-size:12px;border:1px solid var(--line);background:#fff;color:var(--forest);white-space:nowrap}
.cg-q button:hover{border-color:var(--forest)}
.cg-f{display:flex;gap:8px;align-items:flex-end;padding:10px 14px;border-top:1px solid var(--line);background:#fff}
.cg-f textarea{flex:1;border:0;resize:none;font:inherit;font-size:14px;padding:8px 2px;max-height:110px;background:transparent;color:var(--onyx)}
.cg-f textarea:focus{outline:0}
.cg-f button{width:40px;height:40px;display:grid;place-items:center;background:var(--forest);color:var(--ivory)}
.cg-note{margin:0;padding:8px 14px 12px;font-size:10.5px;color:var(--muted);background:#fff}
@media(max-width:560px){.cg{right:0;bottom:0;width:100vw;height:100dvh;border:0}}
/* pdp extras */
.pdp-extra{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
.pdp-extra button{display:inline-flex;align-items:center;gap:7px}
.pdp-extra svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;color:var(--gold-ink)}
.sh-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.sh-opts button{display:grid;justify-items:center;gap:8px;padding:18px 8px;border:1px solid var(--line);background:#fff;font-size:13px;color:var(--forest)}
.sh-opts button:hover{border-color:var(--gold)}
.sh-opts svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4}
/* appointments */
.ap-hero{background:radial-gradient(90% 120% at 80% 0%,#14463A,var(--forest) 50%,var(--deep));color:var(--pearl);padding-block:30px clamp(50px,6vw,90px)}
.ap-hero-in{max-width:720px;margin-top:40px;display:grid;gap:20px}
.ap-hero .lede{color:var(--soft);max-width:600px}
.ap{padding-block:clamp(40px,5vw,70px) clamp(70px,8vw,110px)}
.ap-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:clamp(30px,5vw,70px);align-items:start}
.ap-form{display:grid;gap:18px}
.ap-step{position:relative;background:#fff;border:1px solid var(--line);padding:clamp(22px,3vw,34px) clamp(22px,3vw,34px) clamp(22px,3vw,34px) clamp(56px,6vw,74px);display:grid;gap:14px}
.ap-n{position:absolute;left:clamp(20px,2.4vw,28px);top:clamp(24px,3vw,36px);font-family:var(--display);font-size:20px;color:var(--gold-ink)}
.ap-step h2{font-family:var(--display);font-weight:400;font-size:26px;color:var(--forest);margin:0}
.ap-types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ap-type input,.ap-chips input{position:absolute;opacity:0}
.ap-type span{display:grid;gap:6px;padding:16px;border:1px solid var(--line);cursor:pointer;height:100%;transition:border-color .25s,background .25s}
.ap-type svg{width:22px;height:22px;fill:none;stroke:var(--gold-ink);stroke-width:1.4}
.ap-type b{font-weight:500;font-size:14px;color:var(--forest)}
.ap-type small{font-size:12px;color:var(--muted)}
.ap-type input:checked+span{border-color:var(--forest);background:#F6F3EB;box-shadow:inset 0 0 0 1px var(--forest)}
.ap-type input:focus-visible+span,.ap-chips input:focus-visible+span{outline:2px solid var(--gold)}
.ap-chips{display:flex;flex-wrap:wrap;gap:8px}
.ap-chips label{cursor:pointer}
.ap-chips span{display:inline-block;padding:10px 16px;border:1px solid var(--line);font-size:13px}
.ap-chips input:checked+span{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.ap-tz{margin:-6px 0 0;font-size:12.5px;color:var(--muted)}
.ap-days{display:grid;grid-auto-flow:column;grid-auto-columns:72px;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.ap-days button{display:grid;justify-items:center;gap:2px;padding:10px 0;border:1px solid var(--line);background:#fff}
.ap-days button small{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ap-days button b{font-family:var(--display);font-weight:400;font-size:24px;color:var(--forest)}
.ap-days button[aria-pressed="true"]{background:var(--forest);border-color:var(--forest)}
.ap-days button[aria-pressed="true"] b,.ap-days button[aria-pressed="true"] small{color:var(--ivory)}
.ap-slots{display:flex;flex-wrap:wrap;gap:8px}
.ap-slots button{padding:10px 16px;border:1px solid var(--line);background:#fff;font-size:13.5px;font-variant-numeric:tabular-nums}
.ap-slots button:disabled{opacity:.4}
.ap-slots button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--night)}
.ap-small{margin:0;font-size:12px;color:var(--muted);text-align:center}
.ap-side{display:grid;gap:16px;position:sticky;top:calc(var(--hdr,110px) + 20px)}
.ap-card{padding:26px;background:radial-gradient(120% 120% at 0% 0%,#14463A,#062019);color:var(--pearl);display:grid;gap:14px}
.ap-card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px;color:var(--soft)}
.ap-card li::before{content:"";display:inline-block;width:14px;height:1px;background:var(--gold);vertical-align:middle;margin-right:12px}
.ap-card.light{background:#fff;border:1px solid var(--line);color:var(--onyx)}
.ap-card.light p{margin:0;color:var(--muted);font-size:14px}
.ap-done{padding-block:clamp(60px,8vw,120px)}
.ap-seal{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1px solid var(--gold);color:var(--gold-ink);margin-bottom:18px}
.ap-seal svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4}
@media(max-width:960px){.ap-grid{grid-template-columns:1fr}.ap-side{position:static}.ap-types{grid-template-columns:1fr}}
/* gift finder */
.gf{background:radial-gradient(90% 120% at 50% 0%,#14463A,var(--forest) 55%,var(--deep));color:var(--pearl);padding-block:clamp(60px,8vw,120px);min-height:70vh}
.gf.res{min-height:0;padding-bottom:clamp(40px,5vw,70px)}
.gf .h-l{margin-top:22px}
.gf .lede{color:var(--soft);max-width:560px;margin:18px auto 0}
.gf-bar{height:2px;background:rgba(230,233,228,.15);max-width:240px;margin:18px auto 0}
.gf-bar i{display:block;height:100%;background:var(--gold);transition:width .5s var(--ease)}
.gf-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:640px;margin:40px auto 0}
.gf-opts button{padding:26px 20px;border:1px solid rgba(198,167,106,.4);color:var(--pearl);font-family:var(--display);font-size:24px;transition:background .3s,border-color .3s,color .3s}
.gf-opts button:hover{background:var(--gold);border-color:var(--gold);color:var(--night)}
.gf-back{margin-top:28px;color:var(--soft)}
@media(max-width:560px){.gf-opts{grid-template-columns:1fr}.gf-opts button{font-size:20px;padding:20px}}
/* client care hub */
.cc-hero{background:radial-gradient(90% 120% at 80% 0%,#14463A,var(--forest) 50%,var(--deep));color:var(--pearl);padding-block:30px clamp(40px,5vw,70px)}
.cc-hero-in{max-width:720px;margin-top:36px;display:grid;gap:18px}
.cc-hero .lede{color:var(--soft)}
.cc-ways{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:40px}
.cc-way{display:grid;gap:6px;justify-items:start;text-align:left;padding:22px;border:1px solid rgba(198,167,106,.32);color:var(--pearl);transition:background .3s,border-color .3s}
.cc-way:hover{background:rgba(255,255,255,.04);border-color:var(--gold)}
.cc-way svg{width:24px;height:24px;fill:none;stroke:var(--gold);stroke-width:1.4;margin-bottom:6px}
.cc-way b{font-family:var(--display);font-weight:400;font-size:22px}
.cc-way small{font-size:12.5px;color:var(--soft)}
.cc-faq{display:grid;border-top:1px solid var(--line);margin-top:10px}
.cc-faq details{border-bottom:1px solid var(--line)}
.cc-faq summary{list-style:none;cursor:pointer;padding:18px 0;font-family:var(--display);font-size:21px;color:var(--forest);display:flex;justify-content:space-between;gap:16px}
.cc-faq summary::-webkit-details-marker{display:none}
.cc-faq summary::after{content:"+";color:var(--gold-ink);font-family:var(--body);font-size:20px;transition:transform .3s}
.cc-faq details[open] summary::after{transform:rotate(45deg)}
.cc-faq p{margin:0 0 18px;color:#3D4842;line-height:1.7}
@media(max-width:900px){.cc-ways{grid-template-columns:1fr 1fr}}

body.cg-open .contact-chip{opacity:0;pointer-events:none}
@media(max-width:900px){.care{grid-template-columns:minmax(0,1fr)!important}.care>nav{display:flex;overflow-x:auto;max-width:100%;scrollbar-width:none;gap:6px}.care>nav a{white-space:nowrap;flex:none}.care>div{min-width:0}}

/* ===== phones & tablets: iPhone and Galaxy S polish (v44) ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{-webkit-tap-highlight-color:transparent}
img,video{image-rendering:auto}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.contact-chip{bottom:calc(18px + env(safe-area-inset-bottom,0px));right:calc(18px + env(safe-area-inset-right,0px))}
.admin-chip{bottom:calc(18px + env(safe-area-inset-bottom,0px))}
.sticky-buy{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.cookie{margin-bottom:env(safe-area-inset-bottom,0px)}
.toast{bottom:calc(24px + env(safe-area-inset-bottom,0px))}
@media(max-width:820px){
  input,select,textarea{font-size:16px!important}
  .icon-btn{min-width:44px;min-height:44px}
  .btn{min-height:48px}
  .opt,.sizes button,.dchip,.chip{min-height:44px}
}
@media(max-width:600px){
  header.site #accBtn{display:none}
  .announce{font-size:9.5px;letter-spacing:.14em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-inline:14px}
  .wordmark{width:138px}
  .cg{padding-bottom:env(safe-area-inset-bottom,0px)}
}
@media(max-width:380px){.wordmark{width:124px}.nav-r{gap:2px}}
@supports(height:100dvh){.acc-auth{min-height:calc(100dvh - var(--hdr,110px))}}
@media(max-width:700px){.chapters{grid-template-columns:1fr!important}}
@media(max-width:700px){
  .contact-chip{width:52px;height:52px;padding:0;border-radius:50%;justify-content:center;background:var(--forest);color:var(--gold);border:1px solid rgba(198,167,106,.5);box-shadow:0 12px 28px rgba(4,25,15,.35)}
  .contact-chip span{position:absolute;left:-9999px}
  .contact-chip svg{width:20px;height:20px}
  .sticky-buy.show~.contact-chip,body:has(.sticky-buy.show) .contact-chip{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .cta-row{display:grid;grid-template-columns:1fr 1fr 52px;gap:8px}
  .cta-row .btn{min-width:0;padding-inline:10px}
  .cta-row .heart-lg{width:52px;height:auto;min-height:48px}
  .pdp-extra{gap:14px 18px}
  .h-shapes .sh-wrap .shapes{grid-auto-columns:26%}
}
@media(max-width:700px){.contact-chip{display:grid!important;place-items:center;font-size:0;letter-spacing:0}.contact-chip svg{display:block!important;fill:none;stroke:var(--gold);stroke-width:1.5}}

/* ===== gift card (v45) ===== */
.gc-hero{background:radial-gradient(90% 120% at 20% 0%,#14463A,var(--forest) 50%,var(--deep));color:var(--pearl);padding-block:30px clamp(60px,7vw,100px)}
.gc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:start;margin-top:34px}
.gc-visual{position:sticky;top:calc(var(--hdr,110px) + 24px);display:grid;gap:18px}
.gc-card{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(198,167,106,.25);transform:perspective(1200px) rotateX(4deg) rotateY(-6deg);transition:transform .8s var(--ease)}
.gc-card:hover{transform:none}
.gc-card img{display:block;width:100%;aspect-ratio:1200/760}
.gc-amt{position:absolute;left:6%;top:7%;font-family:var(--display);font-size:clamp(22px,2.6vw,34px);color:#D6BA80}
.gc-to{position:absolute;right:6%;top:8.5%;font-size:clamp(11px,1vw,13px);letter-spacing:.18em;text-transform:uppercase;color:#D6BA80}
.gc-card[data-des="ivory"] .gc-amt,.gc-card[data-des="ivory"] .gc-to{color:var(--forest)}
.gc-note{margin:0;font-size:13.5px;color:var(--soft);line-height:1.6}
.gc-form{background:var(--ivory);color:var(--onyx);padding:clamp(24px,3.5vw,44px);display:grid;gap:18px}
.gc-form h1{color:var(--forest);margin:0}
.gc-form .lede{color:var(--muted);margin:-6px 0 4px}
.gc-form fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}
.gc-form legend{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.gc-amts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gc-amts button{height:52px;border:1px solid var(--line);background:#fff;font-family:var(--display);font-size:20px;color:var(--forest)}
.gc-amts button[aria-pressed="true"]{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.gc-custom input{width:100%;height:52px;border:1px solid var(--line);background:#fff;padding:0 12px;font:inherit;font-size:15px}
.gc-des{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gc-des button{display:grid;gap:6px;padding:6px;border:1px solid var(--line);background:#fff;font-size:12px;color:var(--muted)}
.gc-des img{width:100%;display:block;border-radius:6px}
.gc-des button[aria-pressed="true"]{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);color:var(--forest)}
.gc-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:16px}
.gc-total span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.gc-total b{font-family:var(--display);font-weight:400;font-size:32px;color:var(--forest)}
.gc-issued{display:grid;gap:12px;padding:20px;border:1px solid var(--gold);background:#fff;margin-bottom:30px}
.gc-issued>div{display:flex;gap:14px;align-items:center}
.gc-issued img{width:96px;border-radius:6px}
.gc-issued b{display:block;font-family:var(--display);font-weight:400;font-size:20px;color:var(--forest)}
.gc-issued small{color:var(--muted)}
.gc-issued code{font-size:13px;color:var(--forest);background:var(--paper);padding:2px 6px}
@media(max-width:900px){.gc-grid{grid-template-columns:1fr}.gc-visual{position:static}.gc-card{transform:none}}
.gc-issued{text-align:left}.gc-issued>div>div{display:grid;gap:4px}

/* ===== accessibility (v45) ===== */
.skip{position:fixed;left:16px;top:-60px;z-index:100;padding:12px 18px;background:var(--gold);color:var(--night);font-size:12px;letter-spacing:.18em;text-transform:uppercase;transition:top .2s}
.skip:focus{top:12px}
#app:focus,#app h1:focus{outline:none}
.toast{pointer-events:none}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media (forced-colors: active){.btn,.opt,.chip{border:1px solid ButtonText}}

/* ===== payment badges (v46) ===== */
.pbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pb{display:inline-block;width:48px;height:auto;aspect-ratio:186/127;object-fit:contain;flex:none}
span.pb{display:inline-grid;place-items:center;border:1.5px solid #D9D9D9;border-radius:6px;background:#fff;box-sizing:border-box}
.pb-t{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:11px;letter-spacing:-.01em}
.pb-affirm{color:#4A4AF4}.pb-sepa{color:#10298E;letter-spacing:.06em}
.pbs-sm .pb{width:40px}
.pbs-foot{gap:8px}.pbs-foot .pb{width:46px;opacity:.92}
.pbs-pdp{margin-top:-6px}
.rcard .pm-b{font-style:normal}.rcard .pm-b .pbs{justify-content:flex-end}
@media(max-width:560px){.rcard .pm-b .pbs{max-width:130px}.pbs-sm .pb{width:36px}}

/* ===== laboratory marks (v47) ===== */
.labs{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.lab{display:block;height:54px;width:auto;object-fit:contain}
.lab-sgl{height:58px}
.labs-sm{gap:16px}.labs-sm .lab{height:38px}.labs-sm .lab-sgl{height:42px}
.pdp-labs{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--line)}
.pdp-labs>span,.co-labs>span{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.co-labs{display:grid;gap:10px;padding:16px 0 4px;border-top:1px solid var(--line)}
.ft-labs{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 0;border-top:1px solid var(--line-d)}
.labs-foot .lab{height:44px;opacity:.95}.labs-foot .lab-sgl{height:50px}
.cc-labs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 12px}
.cc-labs div{display:grid;gap:10px;justify-items:center;text-align:center;padding:22px 14px;background:#fff;border:1px solid var(--line)}
.cc-labs .lab{height:60px;max-width:100%}
.cc-labs small{font-size:12px;color:var(--muted)}
.seal-img{display:grid;place-items:center;width:100%;aspect-ratio:1}
.seal-img .lab{width:100%;height:auto;max-height:96px;object-fit:contain}
.seal-img .lab-igi,.seal-img .lab-gia{object-fit:cover;object-position:left center;aspect-ratio:1;width:96px;height:96px}
@media(max-width:700px){.cc-labs{grid-template-columns:1fr}.lab{height:44px}.labs-foot .lab{height:36px}.ft-labs{justify-content:flex-start}.labs{gap:14px}}

.labchips{display:flex;flex-wrap:wrap;gap:10px}
.labchip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid var(--line);background:#fff;border-radius:40px}
.labchip img{width:34px;height:34px;object-fit:contain;display:block}
.labchip b{font-weight:500;font-size:12px;letter-spacing:.16em;color:var(--forest)}
.pr-seals{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-items:start}
.seal-img{width:104px;height:104px;aspect-ratio:auto}
.seal-img .lab-seal{width:100%;height:100%;object-fit:contain;transition:transform .8s var(--ease)}
.seal:hover .lab-seal{transform:rotate(-8deg)}
.labs-foot .lab{height:50px}.labs-foot .lab-sgl{height:56px}
@media(max-width:520px){.seal-img{width:86px;height:86px}}

/* ===== courier marks (v48) ===== */
.ships .pb{width:58px}
.pdp-ship{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:-6px}
.pdp-ship>span{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.co-h3-ship{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.co-h3-ship .pbs{gap:6px}
.cc-ship{margin:4px 0 16px}.cc-ship .pb{width:84px}
.ft-ship{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:0 0 26px}
.ft-ship .pb{width:62px}
.ao-f .pb{width:42px;vertical-align:middle;margin-right:10px}
@media(max-width:700px){.ft-ship{justify-content:flex-start}}

/* ===== trust seals (v49) ===== */
.pdp-seals{display:flex;align-items:center;gap:14px;padding:4px 0 16px}
.pdp-seals img{width:58px;height:58px;object-fit:contain;flex:none}
.pdp-seals span{font-size:12.5px;color:var(--muted);line-height:1.6}
.cc-seal{display:flex;gap:18px;align-items:center;margin-top:18px;padding:18px 20px;background:#fff;border:1px solid var(--line)}
.cc-seal img{width:76px;height:76px;object-fit:contain;flex:none}
.cc-seal p{margin:0!important;font-size:14px}
.cc-pay{margin:14px 0 4px}.cc-pay .pb{width:52px}
.co-seal{width:26px;height:26px;object-fit:contain;margin-right:6px;vertical-align:middle}
.co-labs-in{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.co-cf{width:56px;height:56px;object-fit:contain}
.ft-labs-in{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.ft-seals{display:flex;gap:14px;padding-left:22px;border-left:1px solid var(--line-d)}
.ft-seals img{width:58px;height:58px;object-fit:contain}
@media(max-width:700px){.ft-seals{padding-left:0;border:0}.ft-seals img{width:48px;height:48px}.pdp-seals img{width:48px;height:48px}}

/* ===== delivery & certificates (v50) ===== */
.dl-made span{font-size:12.5px;color:var(--muted)!important}
.dl-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.dl-opts>div{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);background:#fff}
.dl-opts b{font-weight:500;font-size:13px;color:var(--forest)}
.dl-opts small{font-size:11.5px;color:var(--muted)}
.dl-opts span{font-size:12.5px;color:var(--onyx);margin-top:2px}
.certs{display:grid;gap:8px}
.cert{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;text-align:left;padding:10px 14px 10px 10px;border:1px solid var(--line);background:#fff;transition:border-color .25s,box-shadow .25s}
.cert:hover{border-color:#CDBF9F}
.cert[aria-checked="true"]{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.cert-ic{width:44px;height:44px;display:grid;place-items:center}
.cert-ic img,.cert-ic svg{width:40px;height:40px;object-fit:contain}
.cert-t{display:grid;gap:2px}
.cert-t b{font-weight:500;font-size:13.5px;color:var(--forest)}
.cert-t small{font-size:11.5px;color:var(--muted)}
.cert em{font-style:normal;font-size:13px;color:var(--gold-ink);white-space:nowrap}
.cc-dlv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}
.cc-dlv div{display:grid;gap:6px;padding:18px;background:#fff;border:1px solid var(--line)}
.cc-dlv b{font-family:var(--display);font-weight:400;font-size:21px;color:var(--forest);line-height:1.15}
.cc-dlv small{font-size:12px;color:var(--muted)}
@media(max-width:900px){.cc-dlv{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.dl-opts{grid-template-columns:1fr}.cc-dlv{grid-template-columns:1fr}}

html.av-wait #app{opacity:0}#app{transition:opacity .35s}
