:root{--bg:#F7F1E8;--sand:#EFE5D8;--soft:#EFE5D8;--burg:#6B1E2E;--burg-deep:#4A1220;--band:#6B1E2E;--rose:#A9797F;--rose-soft:#D9C3BC;--ink:#2A2326;--muted:#6B605C;--line:#DDD1C4;--card:#FBF8F3;--btn:#6B1E2E;--btnt:#F7F1E8;--btnh:#4A1220;--pad:clamp(58px,7.2vw,102px);--serif:"Cormorant Garamond",Georgia,serif;--sans:Jost,"Helvetica Neue",Arial,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1E1618;--sand:#251B1E;--soft:#251B1E;--burg:#E3B4BB;--ink:#F2E9DF;--muted:#B9A9A6;--line:#4A3C3F;--card:#271D20;--rose:#C9A0A3;--rose-soft:#5A4547;--btn:#E3B4BB;--btnt:#2A2326;--btnh:#F0CDD2}}
:root[data-theme="dark"]{--bg:#1E1618;--sand:#251B1E;--soft:#251B1E;--burg:#E3B4BB;--ink:#F2E9DF;--muted:#B9A9A6;--line:#4A3C3F;--card:#271D20;--rose:#C9A0A3;--rose-soft:#5A4547;--btn:#E3B4BB;--btnt:#2A2326;--btnh:#F0CDD2}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.8;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:300;margin:0;text-transform:none}
h2{font-size:clamp(38px,4.8vw,66px);line-height:1.04;letter-spacing:-.012em;margin:0 0 30px}
h1 em,h2 em{font-style:italic;font-weight:300;color:var(--burg)}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.eyebrow{display:flex;align-items:center;gap:14px;font:500 11.5px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--burg);margin:0 0 24px}
.eyebrow:before{content:"";width:34px;height:1px;background:var(--rose)}
.rule{display:none}
section{padding:var(--pad) 0 calc(var(--pad) + 45px)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--burg);outline-offset:3px}
/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:96px;transition:height .3s}
header.sm .nav{height:68px}
.logo{display:inline-flex;text-decoration:none}
.lg{display:block;aspect-ratio:3.5503;height:60px;background-repeat:no-repeat;background-position:left center;background-size:contain;transition:height .3s}
header.sm .lg{height:44px}
.lgB{background-image:url("../logo/logo-burgundy.png")}.lgI{background-image:url("../logo/logo-ivory.png")}
header .lgI{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) header .lgB{display:none}:root:not([data-theme="light"]) header .lgI{display:block}}
:root[data-theme="dark"] header .lgB{display:none}:root[data-theme="dark"] header .lgI{display:block}
nav{display:flex;align-items:center}
nav a{font:500 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;margin-left:36px;position:relative;padding:6px 0}
nav a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .35s}
nav a:not(.btn):hover:after{transform:scaleX(1)}nav a:hover{color:var(--burg)}
/* buttons */
.btn{display:inline-block;background:var(--btn);color:var(--btnt);padding:16px 36px;font:500 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border:1px solid var(--btn);border-radius:999px;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.btn:hover{background:var(--btnh);border-color:var(--btnh)}
.btn.light{background:#F7F1E8;color:#6B1E2E;border-color:#F7F1E8}.btn.light:hover{background:#EBDDD0;border-color:#EBDDD0}
.btn.alt{background:transparent;color:var(--burg);border-color:var(--rose-soft)}.btn.alt:hover{background:var(--burg);color:var(--bg);border-color:var(--burg)}
.btn.sm{padding:12px 24px;font-size:11px}
header .btn.sm{color:var(--btnt);margin-left:36px}header .btn.sm:hover{color:var(--btnt)}
/* hero */
.hero{position:relative;min-height:min(94vh,880px);display:flex;align-items:flex-end;color:#F7F1E8;overflow:hidden;background:#3a0f19;padding:0}
.hero img{position:absolute;top:0;right:0;width:78%;height:100%;object-fit:cover;object-position:center 28%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%);mask-image:linear-gradient(90deg,transparent 0,#000 26%)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(52,14,24,.86) 0%,rgba(52,14,24,.4) 48%,rgba(52,14,24,0) 82%),linear-gradient(0deg,rgba(36,16,22,.55),transparent 40%)}
.hero .in{position:relative;z-index:2;max-width:1160px;margin:0 auto;width:100%;padding:0 28px clamp(58px,7.2vw,99px)}
.hero .kick{display:flex;align-items:center;gap:14px;font:500 11.5px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:#EBD6D2;margin:0 0 28px}
.hero .kick:before{content:"";width:34px;height:1px;background:#D9B8B0}
.hero h1{font-size:clamp(54px,8.6vw,124px);line-height:.95;letter-spacing:-.02em;max-width:920px;color:#F7F1E8}
.hero h1 em{color:#EBCFC8}
.hero p.tag{font-size:17px;line-height:1.7;margin:30px 0 40px;max-width:none;white-space:nowrap;color:#F3E9DF}
.hero p.tm{display:none}
.hero .cta{display:flex;align-items:center;gap:34px;flex-wrap:wrap}
.hero .lnk{font:500 11.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:#F7F1E8;border-bottom:1px solid rgba(247,241,232,.5);padding-bottom:7px;transition:border-color .3s}
.hero .lnk:hover{border-color:#EBCFC8}
.hero a:focus-visible{outline-color:#F7F1E8}
@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero .in>*{opacity:0;animation:up .95s cubic-bezier(.2,.7,.2,1) forwards}
.hero .in>*:nth-child(2){animation-delay:.12s}.hero .in>*:nth-child(3){animation-delay:.24s}.hero .in>*:nth-child(4){animation-delay:.36s}.hero .in>*:nth-child(5){animation-delay:.48s}
/* about */
.about{background:var(--bg)}
.about .wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(40px,7vw,104px);align-items:center}
.ab-img{max-width:400px;position:relative;isolation:isolate}
.ab-img:after{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--rose-soft);z-index:-1}
.ab-img img{width:100%;aspect-ratio:3/4;object-fit:cover;transform:scaleX(-1)}
.about p{margin:0 0 22px;max-width:60ch}
.big-p{font-size:17px;line-height:1.8}
.facts{display:flex;flex-wrap:wrap;gap:12px 34px;margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}
.facts span{display:flex;align-items:center;gap:10px;font:500 11.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--burg)}
.facts span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--rose);flex:0 0 auto}
/* years */
.yrs{background:var(--sand);overflow:hidden}
.yrs .head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.yrs h2{margin-bottom:0}
.arrows button{width:48px;height:48px;border-radius:50%;border:1px solid var(--rose-soft);background:transparent;color:var(--burg);font-size:20px;cursor:pointer;margin-left:8px;transition:background .3s,color .3s}
.arrows button:hover{background:var(--burg);color:var(--bg)}
.scroller{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:48px 28px 14px max(28px,calc((100vw - 1160px)/2 + 28px));scrollbar-width:thin;scrollbar-color:var(--rose) transparent}
.scroller figure{margin:0;flex:0 0 auto;scroll-snap-align:start}
.scroller img{height:min(52vh,420px);aspect-ratio:3/4;object-fit:cover}
.igl{position:relative;display:block;color:inherit}.igl img{transition:opacity .3s}.igl:hover img{opacity:.9}
.igb{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:50%;background:rgba(247,241,232,.94);display:flex;align-items:center;justify-content:center}
.igb svg{width:18px;height:18px;stroke:#6B1E2E;fill:none;stroke-width:1.6}
/* experiences */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:56px}
.card img{width:100%;aspect-ratio:3/4;object-fit:cover}
.card .t{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 12px;border-bottom:1px solid var(--line);padding-bottom:12px}
.card h3{font-size:27px;font-weight:400;letter-spacing:0;line-height:1.1}
.card .t span{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--rose)}
.card p{font-size:17px;color:var(--muted);margin:0 0 20px;line-height:1.7}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:56px}
.chips span{border:1px solid var(--rose-soft);padding:8px 20px;font:500 11.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--burg);border-radius:999px}
/* how */
.how{background:var(--sand)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px}
.steps div{border-top:1px solid var(--rose-soft);padding-top:20px}
.steps b{font-family:var(--serif);font-style:italic;font-size:52px;color:var(--rose);font-weight:300;line-height:1}
.steps p{margin:12px 0 0;max-width:34ch}
/* words */
.words{background:var(--band);color:#F7F1E8}
.words .eyebrow{color:#E3C3BA}.words .eyebrow:before{background:#C9A0A3}
.words h2{color:#F7F1E8;margin-bottom:8px}.words h2 em{color:#E3C3BA}
.wqw{position:relative;margin-top:18px}
.wq{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:center;min-height:360px;outline:none}
.wq::-webkit-scrollbar{display:none}
.wq .q{flex:0 0 100%;scroll-snap-align:center;margin:0;padding:10px 6%;text-align:center}
.wq .q p{max-width:800px;margin:0 auto;font-family:Gwendolyn,"Segoe Script","Bradley Hand",cursive;font-size:32px;line-height:1.32;font-weight:400;letter-spacing:.01em;color:#F7F1E8}
.wq .q small{display:block;margin-top:26px;font:500 11.5px/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#E3C3BA}
.wqc{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:30px}
.wqb{width:48px;height:48px;border-radius:50%;border:1px solid rgba(235,214,210,.5);background:transparent;color:#F7F1E8;font-size:20px;cursor:pointer;transition:background .3s,color .3s}
.wqb:hover{background:#F7F1E8;color:#6B1E2E}
.dots{display:flex;gap:9px}.dots i{width:8px;height:8px;border-radius:50%;background:#EBD6D2;opacity:.35;transition:opacity .2s,transform .2s;cursor:pointer}.dots i.on{opacity:1;transform:scale(1.25)}
/* contact */
.contact .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,104px)}
.det .lead{max-width:440px;margin:0 0 14px}
.det .sub{max-width:440px;margin:0;color:var(--muted)}
.ci{display:flex;align-items:center;gap:14px;margin:0 0 14px;text-decoration:none}
.ci svg{width:22px;height:22px;flex:0 0 auto;stroke:var(--rose);fill:none;stroke-width:1.5;color:var(--rose)}
.ci,.ci:hover,.ci:visited{text-decoration:none}.ci:hover{color:var(--burg)}
form{display:grid;gap:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
input,select,textarea{width:100%;background:var(--card);border:1px solid var(--line);padding:14px 16px;font:inherit;font-size:16px;color:var(--ink);border-radius:0;transition:border-color .3s}
input:focus,select:focus,textarea:focus{border-color:var(--burg);outline:none}
textarea{min-height:130px;resize:vertical}
label{font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--burg);display:block;margin-bottom:8px}
/* footer */
footer{background:var(--band);color:#F7F1E8;padding:56px 0 48px;text-align:center}
footer .fw{display:flex;flex-direction:column;align-items:center;gap:22px}
footer .logo{margin:0}
footer .lg{width:min(460px,82vw);height:auto;background-position:center}
footer .cp{margin:0;font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:#E3C3BA}
/* waves */
.wv{position:relative;z-index:2;height:92px;margin-top:-91px;pointer-events:none;line-height:0}
.wv svg{display:block;width:100%;height:100%;overflow:visible}
.wv .f{fill:var(--w)}.wv .l{fill:none;stroke:var(--rose);stroke-width:1;opacity:.55;vector-effect:non-scaling-stroke}.wv .l2{opacity:.28}
/* reveal */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.hero .in>*{animation:none;opacity:1}.js .rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
/* tablet and mobile */
@media(max-width:860px){
.about .wrap,.contact .wrap{grid-template-columns:1fr}
.cards{grid-template-columns:1fr 1fr;gap:22px}.steps{grid-template-columns:1fr;gap:30px}
nav a:not(.btn){display:none}header .btn.sm{margin-left:0}
.nav{height:78px}header.sm .nav{height:62px}.lg{height:46px}header.sm .lg{height:38px}
.two{grid-template-columns:1fr}.ab-img{max-width:380px}
.hero .in{padding-bottom:52px}
.hero img{width:100%;-webkit-mask-image:none;mask-image:none;object-position:center 10%}
.hero:after{background:linear-gradient(0deg,rgba(52,14,24,.92),rgba(52,14,24,.12) 64%)}
.hero p.td{display:none}.hero p.tm{display:block;font-size:min(16px,calc((100vw - 56px)/21.5));white-space:nowrap;margin:24px 0 32px}
.wv{height:60px;margin-top:-59px}
.wq{min-height:0;align-items:flex-start}.wq .q{padding:10px 2%}.wq .q p{font-size:27px}
.yrs .head{align-items:flex-end}
footer .lg{width:min(360px,80vw)}
}
@media(max-width:560px){.cards{grid-template-columns:1fr}.chips{margin-top:44px}.wrap,.hero .in{padding-left:24px;padding-right:24px}.hero .cta{gap:24px}}

.facts{flex-direction:column;gap:12px}
.hero h1{font-size:clamp(52px,7.8vw,112px)}
.wq{min-height:300px}
@media(max-width:860px){.hero:after{background:linear-gradient(0deg,rgba(52,14,24,.95) 0%,rgba(52,14,24,.84) 44%,rgba(52,14,24,0) 74%)}.hero .kick{font-size:10.5px;letter-spacing:.2em;white-space:nowrap}.hero .kick:before{width:22px}.wq{min-height:0}}
@media(max-width:400px){.hero .kick:before{display:none}.hero .kick{letter-spacing:.18em}}
.words{padding-top:calc(var(--pad)*.8);padding-bottom:calc(var(--pad)*.8 + 45px)}
.wq{min-height:0}
.wq .q{padding:0 6%}
@font-face{font-family:"Gwendolyn Local";src:url("../fonts/gwendolyn-subset.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
.wq .q p{font-family:"Gwendolyn Local",Gwendolyn,"Segoe Print","Segoe Script",cursive;font-size:31px;line-height:1.4;font-weight:400;letter-spacing:.01em;word-spacing:.16em;max-width:820px}
.wq .q small{margin-top:18px}
.wqc{margin-top:22px}.wqw{margin-top:4px}
@media(max-width:860px){.wq .q p{font-size:26px}}
.hero .lnk{display:inline-flex;align-items:center;min-height:30px;padding-bottom:4px}.hero .lnk.media{display:inline-flex;align-items:center;gap:10px}.hero .lnk.media svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4;flex:0 0 auto}.hero .lnk.media polygon{fill:currentColor;stroke:none}
