@font-face{font-family:Belleza;src:url(../fonts/belleza-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Allison;src:url(../fonts/allison-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:'Ms Madi';src:url(../fonts/ms-madi-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Roboto;src:url(../fonts/roboto-latin-300-normal.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Roboto;src:url(../fonts/roboto-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Roboto;src:url(../fonts/roboto-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--champagne:#d6cbb3;--champagne-deep:#b9a98a;--taupe:#b59175;--ink:#111;--text:#595959;--paper:#f6f4f0;--line:#e3ddd2;--script:Allison,'Ms Madi','Brush Script MT',cursive;--btn:#b59175;--head:Belleza,Optima,Georgia,sans-serif;--body:Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper) url(../img/frost.png);color:var(--text);font:300 16px/1.75 var(--body)}
img{max-width:100%;display:block}a{color:var(--taupe);text-decoration:none}
h1,h2,h3{font-family:var(--head);font-weight:500;color:var(--ink);text-transform:uppercase;letter-spacing:.04em;line-height:1.1;margin:0}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
/* header */
.site-header{position:absolute;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:26px 44px}
.logo{font-family:var(--head);font-size:24px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.nav{display:flex;gap:38px;align-items:center}
.nav a{font:400 12px var(--body);letter-spacing:.28em;text-transform:uppercase;color:var(--ink)}
.nav a:hover{color:var(--taupe)}
.nav-toggle{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;padding:0}
.nav-toggle span{display:block;height:2px;background:var(--ink);margin:7px 8px}
.tools{display:flex;gap:18px}
.tools a{color:var(--ink);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.tag{display:block;font:400 clamp(64px,9vw,128px)/.8 var(--script);color:#d7cbb7;letter-spacing:.06em;text-transform:none;margin-bottom:-.12em;position:relative;z-index:1;text-shadow:0 0 18px rgba(246,244,240,.6)}
.btn{display:inline-block;padding:16px 38px;border:1px solid var(--btn);color:var(--btn);font:400 13px var(--body);letter-spacing:.2em;text-transform:uppercase;transition:.3s}
.btn:hover{background:var(--btn);color:#fff}
.arrows{position:absolute;z-index:6;right:44px;bottom:44px;display:flex;gap:10px}
.arrows button{width:52px;height:52px;background:rgba(246,244,240,.85);border:1px solid var(--ink);cursor:pointer;font-size:18px;color:var(--ink)}
.arrows button:hover{background:var(--ink);color:#fff}
.dots{position:absolute;z-index:6;left:9%;bottom:48px;display:flex;gap:12px;align-items:center}
.dots button{width:46px;height:3px;border:0;padding:0;background:rgba(17,17,17,.25);cursor:pointer;position:relative;overflow:hidden}
.dots button.is-active::after{content:"";position:absolute;inset:0;background:var(--ink);transform-origin:left;animation:bar 12s linear forwards}
.hero.paused .dots button.is-active::after{animation-play-state:paused}
@keyframes bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* sections */
section{padding:96px 0}.refine,.tiles{padding:0}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}
.tile{position:relative;min-height:520px;display:flex;align-items:flex-end;padding:44px;background-size:cover;background-position:center;color:var(--ink)}
.tile h3{font-size:clamp(28px,3.4vw,46px)}.tile a{display:inline-block;margin-top:14px;font:500 12px var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px}
.intro{text-align:center;max-width:760px;margin:0 auto}.intro h2{font-size:clamp(30px,4vw,52px);margin-bottom:22px}
.eyebrow{font:500 12px var(--body);letter-spacing:.34em;text-transform:uppercase;color:var(--taupe);margin-bottom:16px;display:block}
.doors{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:54px}
.door img{width:100%;aspect-ratio:7/10;object-fit:cover}.door span{display:block;margin-top:14px;font:400 12px var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);text-align:center}
.quote{background:var(--champagne);text-align:center}
.quote blockquote{margin:0 auto;max-width:760px;font:400 26px/1.5 var(--head);color:var(--ink)}
.quote cite{display:block;margin-top:22px;font:500 12px var(--body);letter-spacing:.3em;text-transform:uppercase;font-style:normal;color:#5b5143}
.site-footer{background:#1a1816;color:#c8c0b2;padding:60px 0;text-align:center;font-size:13px;letter-spacing:.06em}
.site-footer .logo{color:#f1ece2;display:block;margin-bottom:18px}.site-footer a{color:#c8c0b2;margin:0 14px}
@media(max-width:900px){.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);flex-direction:column;padding:26px;gap:22px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav-toggle{display:block}.tools{display:none}.site-header{padding:18px 22px}.logo{font-size:19px}}
@media(max-width:680px){.tiles{grid-template-columns:1fr}.tile{min-height:380px;padding:28px}.doors{grid-template-columns:1fr 1fr;gap:14px}section{padding:64px 0}}
/* preview helper: #s1-still freezes motion for screenshots */

/* refinement cards */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:0}
.card{text-align:center;padding:96px 6vw}.card .script{display:block;letter-spacing:.06em;font:400 clamp(64px,8vw,110px)/.8 var(--script);color:#d7cbb7;margin-bottom:-.12em;position:relative}
.card h3{font-size:clamp(34px,4vw,56px);margin-bottom:34px;position:relative}
.card p{font-size:clamp(18px,1.7vw,22px);line-height:1.7;color:#111;max-width:560px;margin:0 auto 44px}
.card.frost{background:transparent}.card.white{background:#fff}
.sec-title{text-align:center;padding:90px 0 20px}.sec-title h2{font-size:clamp(30px,4vw,52px)}
@media(max-width:680px){.cards{grid-template-columns:1fr}.card{padding:70px 22px}}
/* buttons over images need more contrast than on the plain background */

/* inner pages */
.page-main{padding:150px 0 90px;min-height:60vh}.entry-title,.page-main h1{font-size:clamp(34px,5vw,60px);margin-bottom:30px}
.entry-content{max-width:860px}.entry-content p{margin:0 0 1.2em}.page-main .woocommerce{max-width:100%}
.btn.button,.page-main .button{display:inline-block;padding:14px 32px;border:1px solid var(--btn);color:var(--btn);background:transparent;font:400 13px var(--body);letter-spacing:.2em;text-transform:uppercase}

/* full-width parallax banners */
.banner{position:relative;height:min(82vh,760px);min-height:520px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:0;background:#555}
.banner-bg{position:absolute;left:0;right:0;top:-18%;bottom:-18%;background-size:cover;background-position:center;will-change:transform}
.banner-text{position:relative;z-index:2;text-align:center;color:#fff;max-width:760px;padding:0 24px;will-change:transform;display:flex;flex-direction:column;align-items:center}
.banner-text h2{color:#fff;font-size:clamp(34px,4.6vw,66px);line-height:1.05}
.banner-text .script{display:block;font:400 clamp(60px,8vw,112px)/1 var(--script);letter-spacing:.06em;margin:-.14em 0 36px;color:#fff}
@media(max-width:680px){.banner{min-height:460px}.banner-text h2{font-size:34px}}

/* ===== hero: split layout (dark text left, image panel right, card that slides in) ===== */
.hero{position:relative;height:100vh;min-height:640px;max-height:940px;overflow:hidden}
.slide{position:absolute;inset:0;visibility:hidden;opacity:0;transition:opacity .8s ease,visibility 0s .8s}
.slide.is-active{visibility:visible;opacity:1;transition:opacity .8s ease}
.slide-panel{position:absolute;top:0;right:0;bottom:0;width:30.2%;overflow:hidden;clip-path:inset(0 0 0 100%);transition:clip-path 0s .8s}
.p-img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.18);transition:transform 0s .8s}
.slide-card{position:absolute;left:58.6%;top:27.7%;width:17.8%;aspect-ratio:334/412;opacity:0;transform:perspective(1100px) translateX(-70px) rotateY(-62deg);transform-origin:left center;transition:opacity .4s .6s,transform 0s .8s;z-index:3;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.c-img{position:absolute;inset:0;background-size:cover;background-position:center}
.slide-text{position:absolute;z-index:4;left:0;width:59%;top:50%;margin-top:-190px;text-align:center;display:flex;flex-direction:column;align-items:center;transform:translateY(44px);transition:transform 0s .8s}
.slide-text>*{opacity:0;transform:translateY(26px);transition:opacity .4s .6s,transform 0s .8s}
.slide-text h1,.slide-text h2{font-size:clamp(34px,3.75vw,72px);line-height:1.08;max-width:11.5em;letter-spacing:.03em}
.slide-text .tag{font:400 clamp(60px,6.2vw,118px)/1 var(--script);letter-spacing:.06em;color:#d7cbb7;margin:-.12em 0 .35em;text-shadow:none}
.slide .btn{display:inline-flex;align-items:center;justify-content:center;min-width:13.5vw;min-height:65px;padding:0 30px;border:1px solid var(--btn);color:var(--btn);background:transparent;font:400 15px var(--body);letter-spacing:0;text-transform:uppercase}
.slide .btn:hover{background:var(--btn);color:#fff}
/* sequence once a slide becomes active: text rises in, then panel wipes in, card turns in and the text lifts up slightly */
.slide.is-active .slide-text>*{opacity:1;transform:none;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.slide.is-active .slide-text>:nth-child(1){transition-delay:.25s}.slide.is-active .slide-text>:nth-child(2){transition-delay:.5s}.slide.is-active .slide-text>:nth-child(3){transition-delay:.75s}
.slide.is-active .slide-text{transform:none;transition:transform 1s cubic-bezier(.45,0,.2,1) 1.15s}
.slide.is-active .slide-panel{clip-path:inset(0);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1) .9s}
.slide.is-active .p-img{transform:scale(1.04);transition:transform 9s ease-out .9s}
.slide.is-active .slide-card{opacity:1;transform:none;transition:opacity .5s ease 1.25s,transform 1.1s cubic-bezier(.2,.8,.2,1) 1.25s}
.hero.still *{transition:none!important}.hero.still .p-img{transform:scale(1.04)}
.site-header .logo,.site-header .nav a,.tools a{color:#111}.nav-toggle span{background:#111}
.tools{align-items:center;gap:28px}.tools svg{display:block;width:24px;height:24px;stroke:#111;fill:none;stroke-width:1.5}
.dots{left:44px}.dots button{background:rgba(17,17,17,.2)}.dots button.is-active::after{background:var(--btn)}
.arrows{right:auto;left:44px;bottom:86px}.arrows button{background:transparent;border:1px solid var(--btn);color:var(--btn);width:44px;height:44px}.arrows button:hover{background:var(--btn);color:#fff}
@media(max-width:900px){.slide-text{width:100%;padding:0 22px}.arrows{display:none}}
@media(max-width:680px){
 .hero{height:auto;min-height:0;max-height:none;height:max(100vh,760px)}
 .slide-panel{width:100%;height:42%;bottom:auto}
 .slide-card{left:50%;margin-left:-21vw;width:42vw;top:25%}
 .slide-text{top:auto;bottom:70px;margin-top:0;width:100%;padding:0 22px}
 .slide-text h1,.slide-text h2{font-size:34px}.slide-text .tag{font-size:64px}
 .slide .btn{min-width:200px;min-height:56px}.dots{left:22px;bottom:30px}}
@media(prefers-reduced-motion:reduce){.slide,.slide *{transition:none!important}.slide-panel{clip-path:none}.slide-card{opacity:1;transform:none}.slide-text,.slide-text>*{opacity:1;transform:none}.p-img{transform:none}}
/* header like live: logo, then menu beside it, tools right */
.site-header{justify-content:flex-start;padding:34px 52px}
.logo{font-size:clamp(24px,1.85vw,36px);letter-spacing:.015em}
.nav{margin-left:4.2%;gap:3.2vw}.nav a{font-size:clamp(11px,.75vw,14px)}
.tools{margin-left:auto}.tools a{font-size:clamp(11px,.75vw,14px);letter-spacing:.3em}
.slide-text{margin-top:-210px}.slide-text h1,.slide-text h2{max-width:9.3em;letter-spacing:.005em}
.slide-text .tag{font-size:clamp(64px,6.8vw,128px)}
@media(max-width:900px){.site-header{padding:18px 22px;justify-content:space-between}.nav{margin-left:0}}

/* intro, doors (real images, float on hover) and comments */
.intro-split{max-width:1240px;margin:0 auto;padding:0 52px}.intro-split .tag{margin:0;font-size:clamp(50px,4vw,76px);line-height:.9}
.intro-split h2{font-size:clamp(30px,3.6vw,64px);margin:6px 0 24px}.intro-split p{max-width:640px;font-size:18px}
.doors-sec{padding:70px 0}.doors-sec h2{text-align:center;font-size:clamp(30px,3.6vw,56px);margin-bottom:24px}
.doors-sec .lead{max-width:860px;margin:0 auto 46px;text-align:center;font-size:17px}
.doors{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2.4vw,40px);max-width:1240px;margin:0 auto;padding:0 28px;align-items:start}
.door{display:block;transition:transform .35s ease}.door:hover{transform:translateY(-10px)}
.door img{width:100%;height:auto;aspect-ratio:auto}
.doors-note{max-width:760px;margin:46px auto 0;text-align:center;font-size:17px}
.say{max-width:860px;margin:0 auto;text-align:center;position:relative;min-height:300px}
.say-item{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s}
.say-item.on{opacity:1;visibility:visible;transition:opacity .9s ease}
.say-item p{font:400 clamp(17px,1.7vw,22px)/1.65 var(--head);color:var(--ink);margin:0 0 22px}
.say-item cite{font:500 12px var(--body);letter-spacing:.3em;text-transform:uppercase;font-style:normal;color:#5b5143}
@media(max-width:900px){.doors{grid-template-columns:1fr 1fr}.intro-split{padding:0 22px}.say{min-height:420px}}
@media(max-width:680px){.say{min-height:520px}}
@media(prefers-reduced-motion:reduce){.say-item{transition:none}}
/* match original spacing: wide left-aligned text, no big gap, doors row centred and narrower */
section.intro-sec{padding:130px 0 0}
.intro-split{max-width:none;padding:0 7.5vw}.intro-split p{max-width:none;font-size:clamp(17px,1.35vw,24px);line-height:1.55;color:#111;margin:0}
.intro-split h2{margin:2px 0 30px;letter-spacing:.015em}
.doors-sec{padding:50px 0 80px}
.doors-sec h2{text-align:left;padding:0 7.5vw;margin-bottom:26px;letter-spacing:.015em}
.doors-sec .lead{max-width:none;margin:0 0 52px;padding:0 7.5vw;text-align:left;font-size:clamp(16px,1.2vw,20px);line-height:1.65;color:#6d6d6d}
.doors{max-width:740px;gap:22px;padding:0}
.doors-note{max-width:none;margin:56px 0 0;padding:0 7.5vw;text-align:left}
@media(max-width:900px){.doors{max-width:none;padding:0 22px}.intro-split,.doors-sec h2,.doors-sec .lead,.doors-note{padding-left:22px;padding-right:22px}section.intro-sec{padding-top:100px}}

/* Allison script: no extra letter-spacing, slightly larger */
.tag,.slide-text .tag,.card .script,.banner-text .script,.intro-split .tag{letter-spacing:.02em}
.slide-text .tag{font-size:clamp(72px,7.4vw,140px)}.banner-text .script{font-size:clamp(70px,8.6vw,124px)}
.card .script{margin-bottom:.08em;line-height:.95}
.banner{height:700px;min-height:560px;max-height:none}@media(max-width:680px){.banner{height:auto;min-height:560px}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.slide-text h1{font-size:clamp(34px,3.75vw,72px);line-height:1.08;max-width:9.3em;letter-spacing:.005em;color:var(--ink);text-transform:uppercase;margin:0}
.doors{max-width:740px!important}@media(max-width:900px){.doors{max-width:none!important}}
