:root{--sand:#F4F0E8;--paper:#FFFDF9;--ink:#2A2320;--ink-soft:#7A6E64;--forest:#7C2D3C;--forest-deep:#231C19;--clay:#7C2D3C;--brass:#B08428;--line:#E7DECE;--on-dark:#FAF7F2;--on-dark-soft:#CBBCAC;--f-display:'Fraunces',Georgia,serif;--f-body:'Inter',system-ui,sans-serif;--f-mono:'IBM Plex Mono',ui-monospace,monospace;--gutter:clamp(16px,5vw,64px);--maxw:1240px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font:400 17px/1.65 var(--f-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.label{font:600 .76rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--clay)}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px;border-radius:8px;font:600 15px/1 var(--f-body);letter-spacing:0;text-transform:none;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s}
.btn-primary{background:var(--forest);color:var(--on-dark)}
.btn-primary:hover{background:var(--forest-deep)}
.btn-line{border-color:currentColor;color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-light{background:var(--paper);color:var(--forest-deep)}
.btn-light:hover{background:#fff}
.btn-ghost-light{border-color:rgba(250,247,242,.7);color:var(--on-dark)}
.btn-ghost-light:hover{background:var(--on-dark);color:var(--forest-deep)}
.masthead{background:var(--sand);position:sticky;top:env(safe-area-inset-top,0px);z-index:30;border-bottom:1px solid var(--line)}
.masthead .wrap{display:grid;justify-items:center;gap:10px;padding-block:18px 0}
.word{font:600 clamp(1.9rem,4vw,2.6rem)/1 var(--f-display);letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;text-decoration:none;color:var(--forest-deep)}
.word small{display:block;margin-top:8px;font:600 .74rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;text-indent:.08em;color:var(--ink-soft)}
.menu{display:flex;gap:clamp(18px,3.4vw,44px);overflow-x:auto;max-width:100%;padding:12px 2px 14px;scrollbar-width:none}
.menu a{flex:none;text-decoration:none;font-weight:500;font-size:.95rem;color:var(--ink);padding-bottom:4px;border-bottom:1px solid transparent}
.menu a:hover{border-color:var(--clay)}
.intro{padding-block:clamp(72px,11vw,140px);text-align:center}
.intro .wrap{display:grid;justify-items:center;gap:26px}
.intro p.lead{font:400 clamp(1.55rem,3.2vw,2.35rem)/1.35 var(--f-display);max-width:30ch;color:var(--forest-deep)}
.creds{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;font-size:.88rem;color:var(--ink-soft)}
.creds b{font-weight:600;color:var(--brass)}
.row{display:grid;grid-template-columns:1.15fr 1fr;min-height:clamp(380px,48vw,560px);background:var(--paper)}
.row.flip{grid-template-columns:1fr 1.15fr}
.row.flip .ph{order:2}
.row .ph{position:relative;overflow:hidden;min-height:300px}
.row .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.row:hover .ph img{transform:scale(1.03)}
.row .tx{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:clamp(36px,6vw,88px);min-width:0}
.row h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.08;color:var(--forest-deep)}
.row p{color:var(--ink-soft);max-width:44ch}
.sec{padding-block:clamp(80px,10vw,128px)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.sec-head h2{font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.05;color:var(--forest-deep);max-width:16ch}
.sec-head p{max-width:40ch;color:var(--ink-soft)}
.prog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.prog article{padding:34px 30px 36px;display:flex;flex-direction:column;gap:12px}
.prog .label{font-size:.74rem}
.prog h3{font-size:1.75rem;line-height:1.1;color:var(--forest-deep)}
.prog p{color:var(--ink-soft);font-size:.97rem}
.prog a{margin-top:auto;padding-top:14px;font:600 .92rem/1.4 var(--f-body);letter-spacing:0;text-transform:none;text-decoration:none;color:var(--forest);cursor:pointer}
.prog a:hover{color:var(--clay)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px);list-style:none;margin:0;padding:0}
.steps>li{display:grid;gap:12px;align-content:start}
.steps h3{font-size:1.45rem;color:var(--forest-deep)}
.steps p{font-size:.95rem;color:var(--ink-soft)}
.band{display:flex;overflow-x:auto;padding-inline:var(--gutter);scroll-snap-type:x mandatory;scrollbar-width:thin}
.band figure{margin:0;background:var(--forest-deep);flex:none;width:clamp(220px,26vw,340px);aspect-ratio:3/4;overflow:hidden;scroll-snap-align:start;position:relative;max-width:100%}
.band img{width:100%;height:100%;object-fit:cover}
.band figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;background:linear-gradient(0deg,rgba(35,28,25,.8),transparent);color:var(--on-dark);font-size:.85rem}
.enq{color:var(--on-dark)}
.enq .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,6vw,90px);padding-block:clamp(80px,10vw,120px);align-items:center}
.enq h2{font-size:clamp(2.4rem,5vw,4rem);line-height:1.02}
.enq p{color:var(--on-dark-soft);max-width:42ch;margin-top:18px}
.enq .label{color:#CBBCAC}
.enq .side{display:grid;gap:22px}
.enq dl{margin:0;display:grid;gap:14px;border-top:1px solid rgba(250,247,242,.2);padding-top:22px}
.enq dl div{display:grid;grid-template-columns:110px 1fr;gap:12px}
.enq dt{font:600 .74rem/1.9 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-soft)}
.enq dd{margin:0}
footer{color:var(--on-dark-soft);font-size:.92rem;background:linear-gradient(180deg,#231C19,#1A1412)}
footer .wrap{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px;padding-block:64px 40px}
footer h4{margin:0 0 14px;font:600 .74rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark)}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer a{text-decoration:none}
footer a:hover{color:var(--on-dark)}
footer .fw{font:600 1.7rem/1 var(--f-display);letter-spacing:.3em;color:var(--on-dark);margin-bottom:14px}
.base{border-top:1px solid rgba(250,247,242,.12)}
.base .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:18px;font-size:.8rem}
@media (prefers-reduced-motion:no-preference){.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% entry 40%}@keyframes rise{from{transform:translateY(24px)}to{transform:none}}}
/* ===== gloss layer ===== */
:root{--glass-edge:rgba(255,255,255,.75);--shadow:0 18px 50px -18px rgba(42,35,32,.35),0 2px 6px rgba(42,35,32,.08);--wa:#1faa59;--wa-hi:#5fe08f}
body{background:radial-gradient(1100px 700px at 8% 0%,rgba(255,255,255,.75),transparent 60%),radial-gradient(900px 700px at 100% 35%,rgba(124,45,60,.10),transparent 60%),radial-gradient(900px 800px at 0% 80%,rgba(231,222,206,.75),transparent 60%),var(--sand);background-attachment:fixed}
.btn{position:relative;overflow:hidden;border-radius:8px;isolation:isolate;transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:-1;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);transition:left .7s ease}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:scale(.97)}
.btn:hover::after{left:130%}
.btn svg{width:18px;height:18px;fill:currentColor;flex:none}
.btn-xs{min-height:32px;padding:0 14px;border-radius:6px;font-size:13px;gap:7px}
.btn-xs svg{width:15px;height:15px}
.btn-lg{min-height:56px;padding:0 26px;font-size:16px}
.btn-primary{background:linear-gradient(180deg,#A44A5A 0%,#7C2D3C 52%,#5E1F2B 100%);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 4px rgba(0,0,0,.25),0 10px 24px -8px rgba(124,45,60,.6)}
.btn-primary:hover{background:linear-gradient(180deg,#B05667 0%,#873241 52%,#66222F 100%)}
.btn-wa{background:linear-gradient(180deg,var(--wa-hi) 0%,#25c26a 45%,var(--wa) 100%);color:#fff;text-shadow:0 1px 1px rgba(0,60,25,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 4px rgba(0,70,30,.3),0 10px 26px -8px rgba(31,170,89,.7)}
.btn-wa:hover{background:linear-gradient(180deg,#74ea9e 0%,#2bd075 45%,#20b260 100%)}
.btn-light{background:linear-gradient(180deg,#ffffff 0%,#F4F0E8 55%,#E7DECE 100%);color:var(--forest-deep);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(0,0,0,.08),0 12px 28px -10px rgba(0,0,0,.5)}
.btn-line{background:linear-gradient(180deg,rgba(255,253,249,.95),rgba(255,253,249,.6));border:1px solid #E7DECE;color:var(--forest-deep);box-shadow:inset 0 1px 0 #fff,var(--shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn-line:hover{background:linear-gradient(180deg,#fff,rgba(255,255,255,.6));color:var(--forest-deep)}
.btn-ghost-light{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.5);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.btn-ghost-light:hover{background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,.15));color:#fff}
.masthead{background:linear-gradient(180deg,rgba(255,253,249,.78),rgba(244,240,232,.6));backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border-bottom:1px solid var(--glass-edge);box-shadow:0 10px 30px -20px rgba(42,35,32,.45)}
.word{background:linear-gradient(100deg,#2A2320 0%,#7C2D3C 35%,#2A2320 50%,#7C2D3C 70%,#2A2320 100%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 9s linear infinite}
.word small{-webkit-text-fill-color:var(--ink-soft);color:var(--ink-soft)}
@keyframes sheen{to{background-position:-250% 0}}
.hero{margin:clamp(12px,2vw,22px);border-radius:clamp(18px,2.4vw,30px);box-shadow:0 40px 80px -40px rgba(35,28,25,.7);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 32%),radial-gradient(60% 50% at 85% 0%,rgba(255,255,255,.14),transparent 70%)}
.hero h1 em{font-style:normal;display:inline-block;background:linear-gradient(100deg,#fff 0%,#fff 40%,#F0D9DE 50%,#fff 60%,#fff 100%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 6s linear infinite;filter:drop-shadow(0 6px 24px rgba(0,0,0,.35))}
.chipg{display:inline-flex;gap:6px;padding:9px 16px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.4));border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 #fff,0 8px 20px -12px rgba(42,35,32,.4)}
.row{background:transparent;padding:clamp(10px,1.6vw,20px) clamp(12px,2vw,22px);min-height:0;gap:0;align-items:center}
.row .ph{border-radius:clamp(18px,2.4vw,30px);aspect-ratio:5/4;box-shadow:var(--shadow);min-height:0}
.row .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 35%);pointer-events:none}
.row .tx{position:relative;z-index:2;margin-left:-90px;border-radius:26px;background:linear-gradient(150deg,rgba(255,255,255,.86),rgba(255,255,255,.5));border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 #fff,var(--shadow);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}
.row.flip .tx{margin-left:0;margin-right:-90px}
.prog{gap:18px}
.prog article,.glass{position:relative;overflow:hidden;border:1px solid var(--glass-edge);border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.82),rgba(255,255,255,.42));box-shadow:inset 0 1px 0 #fff,var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .35s,box-shadow .35s}
.prog article::before,.glass::before{content:"";position:absolute;top:-60%;left:-30%;width:70%;height:200%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(12deg) translateX(-140%);transition:transform .9s ease;pointer-events:none}
.prog article:hover,.glass:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 #fff,0 28px 60px -24px rgba(42,35,32,.45)}
.prog article:hover::before,.glass:hover::before{transform:rotate(12deg) translateX(260%)}
.steps>li{padding:26px 24px 28px}
.steps .n{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font:400 1.5rem/1 var(--f-display);color:#fff;background:radial-gradient(circle at 32% 26%,#C46B7B 0%,#7C2D3C 45%,#4A1720 100%);box-shadow:inset 0 -3px 6px rgba(0,0,0,.3),inset 0 2px 2px rgba(255,255,255,.4),0 10px 20px -8px rgba(124,45,60,.7)}
.band{gap:16px;padding-block:6px 20px}
.band figure{border-radius:22px;box-shadow:var(--shadow)}
.band figure::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.32) 0%,rgba(255,255,255,0) 32%);pointer-events:none}
.enq{margin:clamp(12px,2vw,22px);border-radius:clamp(18px,2.4vw,30px);background:radial-gradient(800px 420px at 85% 10%,rgba(124,45,60,.5),transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(176,132,40,.16),transparent 60%),linear-gradient(160deg,#3A302B,#231C19);position:relative;overflow:hidden;box-shadow:0 40px 80px -40px rgba(35,28,25,.8)}
.enq::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.12),rgba(255,255,255,0) 35%);pointer-events:none}
.enq .side{padding:clamp(24px,3vw,36px);border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.enq h2{background:linear-gradient(100deg,#fff 0%,#fff 40%,#F0D9DE 50%,#fff 60%,#fff 100%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 8s linear infinite}
.fab{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 32% 26%,#9bf2bd 0%,#25d366 42%,#128c4a 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.55),inset 0 -4px 8px rgba(0,70,30,.45),0 12px 30px -6px rgba(18,140,74,.7);transition:transform .25s}
.fab:hover{transform:scale(1.07)}
.fab svg{width:30px;height:30px;fill:currentColor}
@media (max-width:900px){.row,.row.flip{grid-template-columns:1fr}.row.flip .ph{order:0}.row .ph{aspect-ratio:4/3}.row .tx,.row.flip .tx{margin:-70px 14px 0}.prog{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.enq .wrap{grid-template-columns:1fr}footer .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:560px){body{font-size:16px}.prog,.steps{grid-template-columns:1fr}footer .wrap{grid-template-columns:1fr}.enq dl div{grid-template-columns:1fr;gap:2px}}
@media (prefers-reduced-motion:reduce){.word,.hero h1 em,.enq h2{animation:none}.flip{transition:none}.btn::after,.prog article::before,.glass::before{display:none}}

/* ===== WhatsApp name box (#nm), photo lightbox (#lb), videos: same light glossy language ===== */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nm{position:fixed;inset:0;z-index:70;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(35,28,25,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.nm.open{display:flex}
.nm-card{position:relative;width:min(100%,460px);padding:clamp(26px,5vw,38px);border-radius:26px;border:1px solid var(--glass-edge);background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(255,255,255,.72));box-shadow:inset 0 1px 0 #fff,0 40px 90px -30px rgba(35,28,25,.7);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);color:var(--ink)}
.nm-t{margin:12px 0 10px;font-size:clamp(1.9rem,7vw,2.5rem);line-height:1.05;color:var(--forest-deep)}
.nm-t span{color:var(--clay)}
.nm-card .note{color:var(--ink-soft);font-size:.95rem}
.lb-l{display:block;margin:22px 0 8px;font:600 .76rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--clay)}
.nm-card input{width:100%;min-height:50px;padding:0 18px;border-radius:8px;border:1px solid rgba(42,35,32,.22);background:rgba(255,255,255,.9);box-shadow:inset 0 2px 4px rgba(42,35,32,.08);font:400 1.05rem var(--f-body);color:var(--ink)}
.nm-card input:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
.nm-card input[aria-invalid="true"]{border-color:#b3472a}
.nm-card .err{margin:10px 0 0;color:#b3472a;font-size:.9rem}
.nm-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.nm-row .btn{border:1px solid transparent}
.nm-row .btn-line{border:1px solid var(--glass-edge)}
.lb-b{position:absolute;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--glass-edge);background:linear-gradient(180deg,rgba(255,253,249,.95),rgba(231,222,206,.8));box-shadow:inset 0 1px 0 #fff,0 10px 24px -8px rgba(0,0,0,.5);color:var(--forest-deep);font-size:1.5rem;line-height:1;cursor:pointer;transition:transform .2s}
.lb-b:hover{transform:scale(1.07)}
.nm-x{top:14px;right:14px;width:40px;height:40px}
.lb{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:clamp(12px,4vw,40px);background:rgba(35,28,25,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.lb.open{display:flex}
.lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%}
.lb img{max-width:min(94vw,1200px);max-height:80svh;width:auto;height:auto;border-radius:22px;border:1px solid rgba(255,255,255,.4);box-shadow:0 30px 90px rgba(0,0,0,.6)}
.lb figcaption{font:500 .9rem var(--f-body);letter-spacing:.04em;color:var(--on-dark);text-align:center}
.lb-x{top:calc(14px + env(safe-area-inset-top,0px));right:14px}
.lb-p{left:12px;top:50%;margin-top:-24px}
.lb-n{right:12px;top:50%;margin-top:-24px}
@media (max-width:560px){.lb-p,.lb-n{top:auto;bottom:16px;margin:0}}
.band figure>button{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.band figure>button:focus-visible{outline-offset:-4px}
.band figcaption{pointer-events:none}
.vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}
.vid{margin:0;position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--glass-edge);background:linear-gradient(160deg,rgba(255,255,255,.82),rgba(255,255,255,.42));box-shadow:inset 0 1px 0 #fff,var(--shadow)}
.vbox{position:relative;aspect-ratio:16/9;background:var(--forest-deep);border-radius:22px 22px 0 0;overflow:hidden}
.vbox video,.vbox iframe,.vbox>button{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vbox video{object-fit:contain;background:#000}
.vbox>button{padding:0;cursor:pointer;background:var(--forest-deep) center/cover no-repeat;color:#fff}
.vbox>button::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 35%),linear-gradient(180deg,transparent 45%,rgba(35,28,25,.55))}
.play{position:absolute;left:50%;top:50%;z-index:1;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#C46B7B 0%,#7C2D3C 45%,#4A1720 100%);box-shadow:inset 0 -3px 6px rgba(0,0,0,.3),inset 0 2px 2px rgba(255,255,255,.45),0 14px 30px -8px rgba(35,28,25,.8);transition:transform .25s}
.play::before{content:"";position:absolute;left:27px;top:20px;border-left:21px solid #FAF7F2;border-top:14px solid transparent;border-bottom:14px solid transparent}
.vbox>button:hover .play,.vbox>button:focus-visible .play{transform:scale(1.08)}
.vid figcaption{padding:14px 18px 16px;font:400 1.3rem/1.15 var(--f-display);color:var(--forest-deep)}

/* sections and lines the client adds from the admin panel */
.tsec .wrap>*{max-width:880px}
.tsec h2{font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.05;color:var(--forest-deep);margin:14px 0 18px}
.blocks{display:grid;gap:18px;justify-items:start;margin-top:30px}
.sec-head+.blocks,.tsec .rise+.blocks{margin-top:24px}
.blocks>*{margin:0;max-width:62ch}
.b-p{color:var(--ink-soft);font-size:1.05rem;line-height:1.7}
.b-p+.b-p{margin-top:-4px}
.b-lead{font:400 clamp(1.3rem,2.6vw,1.8rem)/1.4 var(--f-display);color:var(--forest-deep)}
.b-quote{padding-left:20px;border-left:3px solid var(--brass);font:italic 400 1.2rem/1.5 var(--f-display);color:var(--forest-deep)}
.b-h{font:500 clamp(1.4rem,2.6vw,1.9rem)/1.15 var(--f-display);color:var(--forest-deep)}
.b-ul{padding-left:1.2em;display:grid;gap:8px;color:var(--ink-soft)}
.b-ul li::marker{color:var(--brass)}
.b-fig{max-width:min(100%,720px)}
.b-fig button{display:block;padding:0;border:0;background:none;cursor:zoom-in;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.b-fig img{display:block;width:100%;height:auto}
.b-fig figcaption{margin-top:8px;font-size:.9rem;color:var(--ink-soft)}
.enq .blocks{margin-top:22px}
.enq .b-p,.enq .b-ul,.enq .b-fig figcaption{color:var(--on-dark-soft)}
.enq .b-h,.enq .b-lead,.enq .b-quote{color:var(--on-dark)}
.fblocks{padding-block:clamp(40px,6vw,72px)}
.tsec .b-p{max-width:62ch}

/* separate pages: the heading at the top of each page, and lists of dated entries */
.menu a[aria-current="page"]{border-color:var(--clay);color:var(--clay)}
.pagehead{padding-block:clamp(48px,7vw,96px) 0}
.pagehead .wrap{display:grid;gap:14px;justify-items:start}
.pagehead h1{font-family:var(--f-display);font-weight:500;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;color:var(--forest-deep)}
.pagehead p:not(.label){max-width:56ch;color:var(--ink-soft);font-size:1.1rem}
.pagehead+.sec,.pagehead+section .sec-head{padding-top:clamp(36px,5vw,64px)}
.tline{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tline li{display:grid;grid-template-columns:minmax(96px,160px) minmax(0,1fr) auto;gap:8px 22px;align-items:baseline;padding:18px 24px;border-radius:18px}
.tline li:not(:has(.yr)){grid-template-columns:minmax(0,1fr) auto}
.tline .yr{font:600 .8rem/1.4 var(--f-mono);letter-spacing:.04em;color:var(--clay)}
.tline h3{font:500 1.2rem/1.3 var(--f-display);color:var(--forest-deep)}
.tline p{margin-top:4px;color:var(--ink-soft);font-size:.98rem}
.tline .chipg{justify-self:end}
.prog.q{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.prog.q{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.prog.q{grid-template-columns:1fr}.tline li{grid-template-columns:1fr}.tline .chipg{justify-self:start}}
.sec:has(.tline){padding-block:clamp(44px,6vw,80px)}
.faq{display:grid;gap:12px;max-width:860px}
.faq details{border-radius:18px}
.faq summary{list-style:none;cursor:pointer;position:relative;padding:18px 58px 18px 24px;font:500 1.15rem/1.35 var(--f-display);color:var(--forest-deep)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font:400 1.7rem/1 var(--f-body);color:var(--clay)}
.faq details[open] summary::after{content:"\2013"}
.faq .ans{padding:0 24px 20px;color:var(--ink-soft)}
.faq .ans p+p{margin-top:.7em}

/* hero without photos */
.hero{position:relative;overflow:hidden;isolation:isolate;margin:clamp(12px,2vw,22px);border-radius:clamp(18px,2.4vw,30px);color:var(--on-dark);min-height:clamp(540px,82vh,780px);display:flex;
  background:radial-gradient(70% 90% at 12% 8%,rgba(124,45,60,.55),transparent 62%),radial-gradient(60% 70% at 100% 100%,rgba(176,132,40,.20),transparent 60%),linear-gradient(160deg,#2E2420 0%,#231C19 55%,#1B1512 100%);box-shadow:0 40px 80px -40px rgba(35,28,25,.7)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 30%)}
.hero-copy{position:relative;z-index:2;display:flex;width:100%;align-items:center;padding-block:clamp(36px,4.6vw,64px)}
.hero-copy .wrap{display:grid;gap:clamp(18px,2.4vw,28px);width:100%}
.hero-copy .label{color:#F0D9DE}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}
.facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px clamp(20px,4vw,48px);padding-top:clamp(14px,2vw,22px);border-top:1px solid rgba(250,247,242,.18)}
.facts li{display:grid;gap:2px}
.facts b{font:500 clamp(1.3rem,2.6vw,1.8rem)/1.1 var(--f-display);color:#F0D9DE}
.facts span{font:600 .74rem/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-soft)}
.who{display:grid;gap:10px}
.who p{font:600 .74rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-soft)}
.who div{display:flex;flex-wrap:wrap;gap:8px}
.who a{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border-radius:999px;text-decoration:none;font:500 .95rem/1 var(--f-body);color:var(--on-dark);background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .25s,transform .25s}
.who a:hover{background:rgba(255,255,255,.24);transform:translateY(-1px)}
@media (max-width:560px){.hero{min-height:0}.facts{display:grid;grid-template-columns:1fr 1fr}}

/* hero: 3D step word, step number, line, rail */
.hero h1{margin:0;font:700 min(19vw,11rem)/1 var(--f-display);letter-spacing:-.01em;color:#fff}
.persp{display:block;perspective:1100px;padding-block:.12em .2em}
.rot,.flip{display:inline-block;transform-style:preserve-3d;will-change:transform}
.flip{transition:transform .55s cubic-bezier(.5,0,.3,1)}
.w3{position:relative;display:inline-block;transform-style:preserve-3d;white-space:nowrap;font-style:normal}
.w3.ready{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:inherit;animation:none;filter:none}
.w3 .ly{position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none}
.w3 .ly.front{position:relative;background:linear-gradient(100deg,#fff 0%,#fff 42%,#F0D9DE 52%,#fff 62%,#fff 100%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 6s linear infinite}
.stepno{font:600 .8rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-soft);display:flex;align-items:baseline;gap:8px}
.stepno b{font:500 1.7rem/1 var(--f-display);letter-spacing:0;color:#F0D9DE}
.stepline{font:italic 400 clamp(1.3rem,3vw,2.1rem)/1.2 var(--f-display);color:#F0D9DE;min-height:1.2em;transition:opacity .35s ease}
.stepline.out{opacity:0}
.subline{font:400 clamp(1rem,2vw,1.25rem)/1.5 var(--f-body);color:var(--on-dark-soft);max-width:38ch}
.rail{display:flex;gap:6px;width:100%;max-width:560px}
.rail button{--c:color-mix(in srgb,#A44A5A calc((1 - var(--k))*100%),#C79A3B);flex:1 1 0;min-width:0;min-height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:var(--on-dark-soft);font:600 .8rem/1 var(--f-mono);letter-spacing:.04em;cursor:pointer;transition:background .25s,color .25s,transform .25s,border-color .25s}
.rail button:hover{background:rgba(255,255,255,.16);color:#fff}
.rail button.on{background:var(--c);border-color:transparent;color:#fff;transform:translateY(-3px);box-shadow:0 10px 20px -10px var(--c)}
.rail button:focus-visible{outline:2px solid #F0D9DE;outline-offset:2px}
@media (max-width:560px){.rail{gap:4px}.rail button{min-height:40px;font-size:.72rem;border-radius:8px}}

/* the steps on the How it works page: wine to brass */
.steps>li{--c:color-mix(in srgb,#7C2D3C calc((1 - var(--k,0))*100%),#B08428)}
.steps .n{background:radial-gradient(circle at 32% 26%,color-mix(in srgb,var(--c) 70%,#fff) 0%,var(--c) 50%,color-mix(in srgb,var(--c) 55%,#000) 100%);box-shadow:inset 0 -3px 6px rgba(0,0,0,.3),inset 0 2px 2px rgba(255,255,255,.4),0 10px 20px -8px var(--c)}
.steps .sline{font:italic 500 1.02rem/1.3 var(--f-display);color:color-mix(in srgb,var(--c) 80%,#231C19)}
.steps ul{margin:0;padding-left:1.1em;display:grid;gap:6px;font-size:.93rem;line-height:1.5;color:var(--ink-soft);list-style:disc}
.steps ul li{display:list-item;padding:0}
.steps ul li::marker{color:var(--c)}
.steps.many{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.steps.many{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps.many{grid-template-columns:1fr}}
/* the coach credit under the hero line, and tap-to-call numbers */
.coach{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0;padding:11px 20px;width:fit-content;max-width:100%;border:1px solid rgba(226,190,106,.75);border-radius:999px;background:linear-gradient(180deg,rgba(176,132,40,.34),rgba(176,132,40,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 26px -14px rgba(0,0,0,.7)}
.coach b{font:600 1.2rem/1.1 var(--f-display);color:#fff}
.coach span{font:600 .8rem/1.25 var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:#F0D58C}
.enq dd a,footer li a[href^="tel:"]{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
@media (max-width:560px){.coach{border-radius:20px;padding:12px 16px}.coach b{font-size:1.1rem}.coach span{font-size:.74rem}}
