@font-face{font-family:"Allura";src:url(assets/fonts/allura.woff2) format("woff2");font-display:swap}
:root{--cl-bg:#f4ead8;--cl-ink:#0b0a08;--cl-gold:#c7a456;--cl-gold-d:#8b6420;--cl-gold-l:#ead9a8;--cl-card:#14110c;--cl-muted:#5b554b}
.cl-page{margin:0;background:var(--cl-bg);color:var(--cl-ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;overflow-x:hidden}
.cl-page a{color:inherit}
.cl-header{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 4vw;transition:background .5s,backdrop-filter .5s,padding .5s,box-shadow .5s}
.cl-header.is-scrolled{background:rgba(244,234,216,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:.55rem 4vw;box-shadow:0 1px 0 rgba(123,87,24,.15)}
.cl-logo{font-family:"Allura",cursive;font-size:2.6rem;line-height:1;color:var(--cl-ink);text-decoration:none;letter-spacing:.01em;transition:color .3s}
.cl-logo:hover{color:var(--cl-gold-d)}
.cl-nav{display:flex;align-items:center;gap:2.2rem;font-size:.95rem}
.cl-nav a{text-decoration:none;position:relative}
.cl-nav a:not(.cl-nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--cl-gold-d);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.cl-nav a:not(.cl-nav-cta):hover::after{transform:scaleX(1);transform-origin:left}
.cl-nav-cta{padding:.7rem 1.3rem;border-radius:10px;background:var(--cl-ink);color:#fff!important;transition:background .3s,transform .3s}
.cl-nav-cta:hover{background:var(--cl-gold-d);transform:translateY(-2px)}

.cl-hero{position:relative;height:118svh;min-height:760px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 55% 55% at 50% 45%,#fbf3e2,var(--cl-bg) 75%)}
.cl-word{position:absolute;left:0;right:0;text-align:center;font-weight:900;line-height:.8;white-space:nowrap;user-select:none;pointer-events:none;will-change:translate}
.cl-word-top{top:25svh;z-index:1;font-size:clamp(5rem,19vw,20rem);letter-spacing:-.06em;background:linear-gradient(180deg,#c7a456 0%,#8b6420 55%,#3a2708 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.cl-word-bottom{top:calc(25svh + clamp(5rem,19vw,20rem) * .9);font-size:clamp(3rem,10.5vw,11.5rem);letter-spacing:.08em;padding-left:.08em}
.cl-solid{z-index:1;color:var(--cl-ink)}
.cl-outline{z-index:3;color:transparent;-webkit-text-stroke:2px var(--cl-ink)}
.cl-portrait{position:absolute;z-index:2;left:50%;top:max(5.5rem,9svh);margin:0;width:min(62vw,calc(100svh * .78));transform:translateX(-50%)}
.cl-portrait img{display:block;width:100%;height:auto;filter:drop-shadow(0 30px 60px rgba(60,40,10,.16))}
.cl-hero .cl-word,.cl-portrait img{animation:clIn 1.5s cubic-bezier(.22,1,.36,1) both}
.cl-word-top{animation-delay:.15s!important}.cl-portrait img{animation-delay:.35s!important}.cl-hero .cl-word-bottom{animation-delay:.55s!important}
@keyframes clIn{from{opacity:0;filter:blur(14px);transform:translateY(70px)}}

.cl-card{position:relative;z-index:5;margin:-42svh auto 0;width:min(1240px,90vw);padding:clamp(3rem,7vw,6.5rem) clamp(1.5rem,6vw,6rem);border-radius:36px;background:radial-gradient(circle at 20% 0%,rgba(199,164,86,.16),transparent 45%),var(--cl-card);color:#f4ead8;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:4rem;align-items:center;box-shadow:0 -30px 80px rgba(20,14,4,.25)}
.cl-hello{margin:0;font-size:1.15rem;color:inherit;opacity:.85}
.cl-script-wrap{margin:.1em 0 .05em;font-weight:400}
.cl-script{display:inline-block;font-family:"Allura",cursive;font-weight:400;font-size:clamp(6rem,15vw,13rem);line-height:.9;letter-spacing:0;background:linear-gradient(170deg,#ead9a8 0%,#c7a456 40%,#8b6420 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.05em .1em .15em 0}
.cl-role{margin:0 0 1.4rem;color:var(--cl-gold);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.cl-lead{margin:0;max-width:34rem;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.55;color:rgba(244,234,216,.88);text-wrap:pretty}
.cl-facts{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.cl-facts li{padding:1.8rem 2rem;border-radius:22px;background:#000;border:1px solid rgba(199,164,86,.18);display:grid;gap:.4rem;transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .4s}
.cl-facts li:hover{transform:translateX(-6px);border-color:rgba(199,164,86,.6)}
.cl-facts strong{font-size:clamp(2.4rem,4vw,3.4rem);font-weight:300;letter-spacing:-.04em;color:#fff}
.cl-facts span{font-size:1rem;color:rgba(244,234,216,.75)}

.cl-section{padding:clamp(6rem,11vw,10rem) 5vw 0}
.cl-head{max-width:56rem;margin:0 auto clamp(3rem,6vw,5rem);text-align:center}
.cl-head h2,.cl-contact h2{margin:0 0 1.2rem;font-size:clamp(2.6rem,6vw,5rem);font-weight:400;letter-spacing:-.04em;line-height:1}
.cl-head p{margin:0;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.55;color:var(--cl-muted);text-wrap:pretty}
.cl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1440px;margin:0 auto}
.cl-tile{position:relative;display:grid;place-items:center;aspect-ratio:4/3;border-radius:28px;overflow:hidden;text-decoration:none;isolation:isolate;background:#2a2219}
.cl-tile img{position:absolute;inset:0;width:100%;height:118%;top:-9%;object-fit:cover;z-index:-2;transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter .8s;will-change:translate}
.cl-tile-dark{background:#0b0a08}.cl-tile-dark img{object-fit:contain;padding:8%}
.cl-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(20,14,6,.38);transition:background .6s}
.cl-tile span{color:#fff;font-size:clamp(1.8rem,3.2vw,2.8rem);letter-spacing:-.02em;transition:transform .6s cubic-bezier(.22,1,.36,1),letter-spacing .6s}
.cl-tile:hover img{transform:scale(1.07)}
.cl-tile:hover::after{background:rgba(20,14,6,.18)}
.cl-tile:hover span{transform:scale(1.04);letter-spacing:0}

.cl-method{position:relative}
.cl-rows{list-style:none;margin:0 auto;padding:0;max-width:1300px}
.cl-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:3rem 2rem;border-top:1px solid rgba(123,87,24,.2);cursor:default;transition:padding .6s cubic-bezier(.22,1,.36,1)}
.cl-row:last-child{border-bottom:1px solid rgba(123,87,24,.2)}
.cl-row h3{margin:0;font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:400;letter-spacing:-.03em;transition:transform .6s cubic-bezier(.22,1,.36,1),color .4s}
.cl-row p{margin:.5rem 0 0;font-size:1.05rem;color:var(--cl-muted)}
.cl-row i{flex:none;width:52px;height:52px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;font-style:normal;font-size:1.2rem;transition:transform .5s cubic-bezier(.22,1,.36,1),background .4s,color .4s}
.cl-row:hover{padding-left:3.2rem;padding-right:3.2rem}
.cl-row:hover h3{color:var(--cl-gold-d)}
.cl-row:hover i{transform:rotate(45deg);background:var(--cl-ink);color:var(--cl-gold-l)}
.cl-float{position:fixed;z-index:20;left:0;top:0;width:300px;aspect-ratio:4/5;border-radius:999px 999px 24px 24px;overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(-6deg);transition:opacity .4s,transform .6s cubic-bezier(.22,1,.36,1);box-shadow:0 30px 70px rgba(40,28,8,.3)}
.cl-float.is-on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-3deg)}
.cl-float img{width:100%;height:100%;object-fit:cover}

.cl-reel-frame{max-width:1440px;margin:0 auto;aspect-ratio:16/8;border-radius:36px;overflow:hidden;background:#14110c;transform:scale(calc(.86 + var(--reel,0) * .14));border-radius:calc(80px - var(--reel,0) * 44px);will-change:transform}
.cl-reel-frame video{width:100%;height:100%;object-fit:cover;object-position:52% 35%}

.cl-contact{position:relative;margin-top:clamp(7rem,12vw,11rem);padding:clamp(4rem,8vw,7rem) 7vw;border-radius:clamp(60px,12vw,200px) clamp(60px,12vw,200px) 0 0;background:var(--cl-card);color:#f4ead8;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:4rem;align-items:center}
.cl-contact .cl-hello{color:rgba(244,234,216,.6)}
.cl-contact dl{margin:2.5rem 0;display:grid;gap:1.6rem}
.cl-contact dt{font-size:.85rem;color:rgba(244,234,216,.55);margin-bottom:.35rem}
.cl-contact dd{margin:0;font-size:clamp(1.1rem,1.8vw,1.5rem)}
.cl-contact dd a{text-decoration:none;background:linear-gradient(var(--cl-gold),var(--cl-gold)) 0 100%/0 1px no-repeat;transition:background-size .5s}
.cl-contact dd a:hover{background-size:100% 1px}
.cl-contact-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.cl-btn{display:inline-flex;align-items:center;gap:.8rem;padding:.75rem .75rem .75rem 1.4rem;border-radius:999px;background:var(--cl-gold);color:var(--cl-ink)!important;text-decoration:none;font-weight:500;transition:transform .35s,background .35s}
.cl-btn i{width:32px;height:32px;border-radius:50%;background:var(--cl-ink);color:var(--cl-gold-l);display:grid;place-items:center;font-style:normal;transition:transform .4s}
.cl-btn:hover{transform:translateY(-3px)}.cl-btn:hover i{transform:rotate(45deg)}
.cl-btn-ghost{background:transparent;color:#f4ead8!important;border:1px solid rgba(244,234,216,.3)}
.cl-btn-ghost i{background:rgba(244,234,216,.12);color:#f4ead8}
.cl-contact-photo{margin:-11rem 0 0;border-radius:40px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(160deg,#e9d6ad,#c7a456)}
.cl-contact-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.cl-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:2rem 7vw 2.4rem;background:var(--cl-card);color:rgba(244,234,216,.7);font-size:.85rem;border-top:1px solid rgba(244,234,216,.1)}
.cl-footer .cl-logo{color:var(--cl-gold);font-size:2.2rem}
.cl-footer a{text-decoration:none}

/* Scroll reveal */
.rv-on [data-rv]{opacity:0;transform:translateY(40px);filter:blur(8px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1),filter 1s;transition-delay:var(--d,0s)}
.rv-on [data-rv].is-in{opacity:1;transform:none;filter:none}
.rv-on [data-rv="script"]{opacity:1;transform:none;filter:none}
.rv-on [data-rv="script"] .cl-script{clip-path:inset(0 100% 0 0);transition:clip-path 2s cubic-bezier(.77,0,.18,1) .2s}
.rv-on [data-rv="script"].is-in .cl-script{clip-path:inset(-20% -10% -30% 0)}
.rv-on [data-rv="card"]{transform:translateX(60px)}
.rv-on [data-rv="tile"]{transform:translateY(80px) scale(.94);clip-path:inset(18% 6% 0 6% round 28px)}
.rv-on [data-rv="tile"].is-in{clip-path:inset(0 0 0 0 round 28px);transition:opacity 1s,transform 1.3s cubic-bezier(.22,1,.36,1),clip-path 1.4s cubic-bezier(.22,1,.36,1),filter 1s}
.rv-on [data-rv="row"]{transform:translateX(-60px)}
.rv-on [data-rv="photo"]{transform:translateY(80px) rotate(3deg)}
.rv-on [data-rv="reel"]{transform:scale(calc(.86 + var(--reel,0) * .14)) translateY(60px)}
.rv-on [data-rv="reel"].is-in{transform:scale(calc(.86 + var(--reel,0) * .14))}
.rv-on [data-rv="words"]{opacity:1;filter:none;transform:none}
[data-rv="words"] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
[data-rv="words"] .w>span{display:inline-block;transform:translateY(105%) rotate(4deg);transition:transform 1.1s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i) * .07s)}
[data-rv="words"].is-in .w>span{transform:none}

@media (max-width:860px){
.cl-nav a:not(.cl-nav-cta){display:none}
.cl-logo{font-size:2.1rem}
.cl-hero{height:100svh;min-height:640px}
.cl-word-top{top:30svh}
.cl-portrait{width:min(96vw,calc(100svh * .62));top:auto;bottom:-6svh}
.cl-word-bottom{top:auto;bottom:16svh}
.cl-card{margin-top:-14svh;grid-template-columns:1fr;gap:2.5rem;border-radius:28px}
.cl-grid{grid-template-columns:1fr}
.cl-row{padding:2rem .5rem}.cl-row:hover{padding-left:.5rem;padding-right:.5rem}
.cl-float{display:none}
.cl-reel-frame{aspect-ratio:4/5}
.cl-contact{grid-template-columns:1fr;border-radius:48px 48px 0 0}
.cl-contact-photo{margin:0;order:-1;max-width:360px}
}
@media (prefers-reduced-motion:reduce){.cl-page *{animation:none!important;transition:none!important}.rv-on [data-rv],.rv-on [data-rv] .w>span{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}
.skip-link{position:fixed;z-index:100;left:1rem;top:-100px;padding:.6rem 1rem;border-radius:8px;background:var(--cl-ink);color:#fff;text-decoration:none}
.skip-link:focus{top:1rem}
/* Sticky hero: stays while content scrolls over it */
.cl-hero{position:sticky;top:0;height:100svh!important;min-height:620px;z-index:0}
.cl-card{margin-top:-6svh!important;z-index:5}
.cl-section,.cl-contact{position:relative;z-index:5}
.cl-section{background:var(--cl-bg)}
.cl-card+.cl-section{margin-top:clamp(4rem,8vw,7rem);border-radius:48px 48px 0 0;box-shadow:0 -30px 60px rgba(60,40,10,.08)}
.cl-section+.cl-section{padding-top:clamp(6rem,11vw,10rem)}
.cl-reel{padding-bottom:clamp(7rem,12vw,11rem)}
.cl-contact{margin-top:0!important}
.cl-hero{--hp:0}
.cl-portrait{opacity:calc(1 - var(--hp) * .35);scale:calc(1 - var(--hp) * .06)}
@media (max-width:860px){.cl-card{margin-top:-4svh!important}}
.cl-card,.cl-card[style]{margin-top:0!important}
.cl-hero+.cl-card{margin-top:0!important}
.cl-portrait{top:auto!important;bottom:0;width:min(62vw,calc((100svh - 5.5rem) * .806))}
@media (max-width:860px){.cl-card{margin-top:0!important}.cl-portrait{bottom:0!important}}
/* Solid ground under card so the sticky hero never peeks below it */
.cl-dock{position:relative;z-index:5;background:linear-gradient(rgba(244,234,216,0) 0,var(--cl-bg) 14rem)}
.cl-dock+.cl-section{margin-top:0!important;border-radius:0!important;box-shadow:none!important}
.cl-portrait-canvas{position:absolute;left:50%;bottom:0;height:100%;width:auto;aspect-ratio:1248/1664;transform:translateX(-50%);opacity:0;transition:opacity 1.2s;filter:drop-shadow(0 30px 60px rgba(60,40,10,.16))}
.cl-portrait.is-live .cl-portrait-canvas{opacity:1}
.cl-portrait img{transition:opacity 1.2s}
.cl-portrait.is-live img{opacity:0}
/* Story */
.cl-story{position:relative;z-index:5;background:var(--cl-bg);padding:clamp(6rem,11vw,10rem) 5vw clamp(4rem,8vw,7rem)}
.cl-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6vw;max-width:1300px;margin:0 auto}
.cl-story-sticky{position:sticky;top:18vh;align-self:start;height:64vh;display:flex;flex-direction:column;justify-content:center;gap:1rem}
.cl-story-num{font-size:clamp(9rem,22vw,20rem);font-weight:900;line-height:.8;letter-spacing:-.07em;background:linear-gradient(180deg,#c7a456,#8b6420 60%,#3a2708);-webkit-background-clip:text;background-clip:text;color:transparent;transition:opacity .5s,transform .7s cubic-bezier(.22,1,.36,1),filter .5s}
.cl-story-num.is-swap{opacity:0;transform:translateY(30px);filter:blur(8px)}
.cl-story-place{font-family:"Allura",cursive;font-size:clamp(2.2rem,4vw,3.4rem);color:var(--cl-ink);line-height:1;transition:opacity .5s}
.cl-story-place.is-swap{opacity:0}
.cl-story-bar{display:block;width:min(320px,80%);height:2px;background:rgba(123,87,24,.18);border-radius:2px;overflow:hidden;margin-top:1rem}
.cl-story-bar i{display:block;height:100%;width:calc(var(--sp,0) * 100%);background:linear-gradient(90deg,var(--cl-gold),var(--cl-gold-d))}
.cl-chapters{list-style:none;margin:0;padding:12vh 0 18vh}
.cl-chapter{min-height:58vh;display:flex;flex-direction:column;justify-content:center;gap:1rem;opacity:.18;filter:blur(3px);transform:translateY(30px);transition:opacity .8s,filter .8s,transform 1s cubic-bezier(.22,1,.36,1)}
.cl-chapter.is-active{opacity:1;filter:none;transform:none}
.cl-chapter-tag{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cl-gold-d);font-weight:600}
.cl-chapter h3{margin:0;font-size:clamp(2.4rem,4.6vw,4.2rem);font-weight:400;letter-spacing:-.04em;line-height:1}
.cl-chapter p{margin:0;max-width:32rem;font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.6;color:var(--cl-muted);text-wrap:pretty}
.cl-ventures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1440px;margin:clamp(2rem,5vw,4rem) auto 0}
.cl-venture{position:relative;min-height:clamp(320px,34vw,460px);border-radius:28px;overflow:hidden;padding:2.4rem;display:flex;flex-direction:column;justify-content:flex-end;gap:.6rem;text-decoration:none;color:#fff;isolation:isolate;background:#14110c}
.cl-venture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.cl-venture::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 30%,rgba(10,8,4,.7))}
.cl-venture:hover img{transform:scale(1.06)}
.cl-venture-tag{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.cl-venture strong{font-size:clamp(2rem,3.6vw,3.2rem);font-weight:400;letter-spacing:-.03em;line-height:1}
.cl-venture em{font-family:"Allura",cursive;font-style:normal;font-size:1.25em;color:var(--cl-gold-l)}
.cl-venture i{position:absolute;top:2rem;right:2rem;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;font-style:normal;transition:transform .4s,background .4s}
.cl-venture:hover i{transform:rotate(45deg);background:var(--cl-gold);color:var(--cl-ink);border-color:var(--cl-gold)}
.cl-venture-kids{background:radial-gradient(circle at 80% 20%,rgba(234,217,168,.55),transparent 50%),linear-gradient(150deg,#c7a456,#8b6420);color:#fff}
.cl-venture-kids::after{display:none}
.cl-venture-kids em{color:#fff}
@media (max-width:860px){
.cl-story-grid{grid-template-columns:1fr;gap:0}
.cl-story-sticky{position:sticky;top:64px;height:auto;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:1rem;padding:1rem 0;background:var(--cl-bg);z-index:2}
.cl-story-num{font-size:4.5rem}.cl-story-place{font-size:2rem}.cl-story-bar{display:none}
.cl-chapters{padding:4vh 0 10vh}.cl-chapter{min-height:46vh}
.cl-ventures{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cl-chapter{opacity:1!important;filter:none!important;transform:none!important}}
.cl-page a.cl-venture{color:#fff}
.cl-nav a,.cl-logo{white-space:nowrap}
@media (max-width:1180px){.cl-nav{gap:1.2rem;font-size:.88rem}.cl-logo{font-size:2.2rem}}
@media (max-width:1040px){.cl-nav a:not(.cl-nav-cta){display:none}}
/* Specialties premium */
.cl-grid{perspective:1400px}
.cl-tile{place-items:end start;padding:2.2rem;align-content:end;display:grid;grid-template-rows:auto auto auto;gap:.35rem;transform-style:preserve-3d;--mx:50%;--my:50%;--rx:0deg;--ry:0deg}
.cl-tile.is-in{transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .35s ease-out,opacity 1s,clip-path 1.4s cubic-bezier(.22,1,.36,1),filter 1s}
.cl-tile::after{background:linear-gradient(180deg,rgba(20,14,6,0) 35%,rgba(20,14,6,.72) 100%)!important}
.cl-tile::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(500px circle at var(--mx) var(--my),rgba(234,217,168,.35),transparent 45%);opacity:0;transition:opacity .4s}
.cl-tile:hover::before{opacity:1}
.cl-tile>span{position:relative;z-index:1}
.cl-tile-n{position:absolute!important;top:1.6rem;left:2rem;font-size:.8rem;letter-spacing:.2em;color:rgba(255,255,255,.85)}
.cl-tile-t{font-size:clamp(1.8rem,3.2vw,2.8rem);letter-spacing:-.03em;color:#fff;line-height:1}
.cl-tile-sub{font-size:.95rem;color:rgba(255,255,255,.82);max-height:0;opacity:0;overflow:hidden;transform:translateY(10px);transition:max-height .6s cubic-bezier(.22,1,.36,1),opacity .5s,transform .6s cubic-bezier(.22,1,.36,1)}
.cl-tile-go{position:absolute!important;top:1.4rem;right:1.6rem;padding:.55rem 1rem;border-radius:999px;background:rgba(255,253,248,.92);color:var(--cl-ink);font-size:.8rem;opacity:0;transform:translateY(-8px) scale(.9);transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1)}
.cl-tile:hover .cl-tile-sub{max-height:3rem;opacity:1;transform:none}
.cl-tile:hover .cl-tile-go{opacity:1;transform:none}
.cl-tile:hover span.cl-tile-t{transform:none;letter-spacing:-.03em}
.cl-tile img{filter:saturate(.9)}
.cl-tile:hover img{filter:saturate(1.05)}
.cl-tile .cl-tile-t{transition:transform .6s}
@media (hover:none){.cl-tile-sub{max-height:3rem;opacity:1;transform:none}}

/* Method steps */
.cl-method{padding-bottom:clamp(4rem,8vw,7rem)}
.cl-steps{list-style:none;margin:0 auto;padding:0;max-width:1300px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);position:relative;z-index:1}
.cl-step{display:grid;gap:1rem;align-content:start}
.cl-step:nth-child(2){margin-top:5rem}.cl-step:nth-child(3){margin-top:10rem}
.cl-step-n{font-size:.8rem;letter-spacing:.2em;color:var(--cl-gold-d);font-weight:600;display:flex;align-items:center;gap:.8rem}
.cl-step-n::after{content:"";flex:1;height:1px;background:rgba(123,87,24,.25)}
.cl-step figure{margin:0;aspect-ratio:4/5;border-radius:999px 999px 28px 28px;overflow:hidden;background:#e9dcc0}
.cl-step img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:transform 2s cubic-bezier(.22,1,.36,1)}
.cl-step.is-in img{transform:scale(1)}
.cl-step h3{margin:.4rem 0 0;font-size:clamp(2rem,3.4vw,3rem);font-weight:400;letter-spacing:-.03em}
.cl-step p{margin:0;font-size:1.05rem;line-height:1.55;color:var(--cl-muted);max-width:22rem}
.rv-on [data-rv="step"] figure{clip-path:inset(100% 0 0 0 round 999px 999px 28px 28px);transition:clip-path 1.5s cubic-bezier(.77,0,.18,1)}
.rv-on [data-rv="step"].is-in figure{clip-path:inset(0 0 0 0 round 999px 999px 28px 28px)}
.cl-steps-line{display:none}
@media (max-width:860px){.cl-steps{grid-template-columns:1fr}.cl-step:nth-child(n){margin-top:0}.cl-step figure{max-width:380px}}
/* Burger + drawer */
.cl-burger{display:none;position:relative;z-index:61;width:48px;height:48px;border-radius:50%;border:1px solid rgba(11,10,8,.2);background:rgba(255,253,248,.6);backdrop-filter:blur(8px);cursor:pointer}
.cl-burger span{position:absolute;left:14px;right:14px;height:1.5px;background:var(--cl-ink);transition:transform .5s cubic-bezier(.77,0,.18,1),top .5s,background .3s}
.cl-burger span:first-child{top:19px}.cl-burger span:last-child{top:27px}
.menu-on .cl-burger{border-color:rgba(244,234,216,.35);background:transparent}
.menu-on .cl-burger span{background:#f4ead8;top:23px}
.menu-on .cl-burger span:first-child{transform:rotate(45deg)}.menu-on .cl-burger span:last-child{transform:rotate(-45deg)}
.menu-on .cl-header .cl-logo{color:#f4ead8}
.menu-on .cl-header{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.menu-on .cl-nav-cta{opacity:0;pointer-events:none}
.cl-drawer{position:fixed;inset:0;z-index:49;display:flex;flex-direction:column;justify-content:space-between;padding:7rem 1.6rem calc(2rem + env(safe-area-inset-bottom));pointer-events:none;visibility:hidden}
.cl-drawer-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 80% 0%,rgba(199,164,86,.25),transparent 50%),#14110c;clip-path:circle(0% at calc(100% - 2.4rem) 2.4rem);transition:clip-path .9s cubic-bezier(.77,0,.18,1)}
.menu-on .cl-drawer{pointer-events:auto;visibility:visible}
.menu-on .cl-drawer-bg{clip-path:circle(150% at calc(100% - 2.4rem) 2.4rem)}
.cl-drawer-nav{display:grid;gap:.4rem}
.cl-drawer-nav a{display:flex;align-items:baseline;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(244,234,216,.12);color:#f4ead8!important;text-decoration:none;font-size:clamp(2.2rem,10vw,3.4rem);letter-spacing:-.04em;line-height:1;opacity:0;transform:translateY(30px);transition:opacity .6s,transform .8s cubic-bezier(.22,1,.36,1),color .3s}
.cl-drawer-nav small{font-size:.75rem;letter-spacing:.2em;color:var(--cl-gold)}
.cl-drawer-nav a:active,.cl-drawer-nav a:hover{color:var(--cl-gold-l)!important}
.menu-on .cl-drawer-nav a{opacity:1;transform:none}
.menu-on .cl-drawer-nav a:nth-child(1){transition-delay:.3s}.menu-on .cl-drawer-nav a:nth-child(2){transition-delay:.38s}.menu-on .cl-drawer-nav a:nth-child(3){transition-delay:.46s}.menu-on .cl-drawer-nav a:nth-child(4){transition-delay:.54s}
.cl-drawer-foot{display:grid;gap:1rem;justify-items:start;opacity:0;transform:translateY(20px);transition:opacity .6s .6s,transform .8s .6s cubic-bezier(.22,1,.36,1)}
.menu-on .cl-drawer-foot{opacity:1;transform:none}
.cl-drawer-wa{color:rgba(244,234,216,.75)!important;text-decoration:none;font-size:.95rem}
.cl-drawer-foot .cl-logo{color:var(--cl-gold);font-size:2.4rem}
body.menu-on{overflow:hidden}
@media (max-width:1040px){.cl-burger{display:block}.cl-nav{gap:.7rem}}
@media (max-width:480px){.cl-nav-cta{padding:.6rem .9rem;font-size:.82rem}}

/* Mobile hero + sections polish */
@media (max-width:860px){
  .cl-hero{height:100svh!important;min-height:600px}
  .cl-word-top{top:15svh!important;font-size:24vw!important}
  .cl-portrait{width:min(122vw,calc(100svh * .68))!important;bottom:0!important}
  .cl-word-bottom{top:auto!important;bottom:13svh!important;font-size:13vw!important;letter-spacing:.04em!important}
  .cl-outline{-webkit-text-stroke:1.5px var(--cl-ink)}
  .cl-step figure{max-width:none!important;width:100%}
  .cl-step{justify-items:stretch}
  .cl-contact{padding:3rem 1.4rem 4rem}
  .cl-contact-photo{max-width:none!important;width:100%;aspect-ratio:4/4.6;border-radius:28px}
  .cl-section{padding-left:1.2rem;padding-right:1.2rem}
  .cl-card{width:calc(100% - 1.6rem);padding:2.6rem 1.4rem}
  .cl-script{font-size:clamp(5rem,26vw,7.5rem)}
}
@media (min-width:861px) and (max-width:1100px){
  .cl-portrait{width:min(70vw,calc((100svh - 5.5rem) * .806))!important}
  .cl-card{grid-template-columns:1fr;gap:2.5rem}
  .cl-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.cl-drawer-bg,.cl-drawer-nav a,.cl-drawer-foot{transition:none!important}}
/* Dynamic timeline */
.cl-ch-media{position:relative;width:100%;aspect-ratio:16/10;border-radius:24px;overflow:hidden;background:linear-gradient(150deg,#e9d6ad,#c7a456);margin-bottom:.6rem;clip-path:inset(12% 8% 12% 8% round 24px);transition:clip-path 1.4s cubic-bezier(.77,0,.18,1)}
.cl-ch-media video{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 2.2s cubic-bezier(.22,1,.36,1);opacity:0}
.cl-ch-media video.is-ready{opacity:1;transition:transform 2.2s cubic-bezier(.22,1,.36,1),opacity .8s}
.cl-chapter.is-active .cl-ch-media{clip-path:inset(0 0 0 0 round 24px)}
.cl-chapter.is-active .cl-ch-media video{transform:scale(1)}
.cl-ch-dot{display:none}
.cl-chapters{position:relative}
@media (max-width:860px){
  .cl-story-sticky{display:none!important}
  .cl-story-grid{display:block}
  .cl-chapters{padding:2rem 0 4rem 2.6rem!important}
  .cl-chapters::before{content:"";position:absolute;left:.7rem;top:2rem;bottom:4rem;width:1px;background:rgba(123,87,24,.2)}
  .cl-chapters::after{content:"";position:absolute;left:.7rem;top:2rem;width:2px;margin-left:-.5px;height:calc(var(--sp,0) * (100% - 6rem));background:linear-gradient(var(--cl-gold),var(--cl-gold-d));box-shadow:0 0 14px rgba(199,164,86,.7);border-radius:2px}
  .cl-chapter{position:relative;min-height:auto!important;padding:1.6rem 0 2.6rem;opacity:.35!important;filter:none!important}
  .cl-chapter.is-active{opacity:1!important}
  .cl-ch-dot{display:block;position:absolute;left:-2.25rem;top:2.2rem;width:14px;height:14px;border-radius:50%;background:var(--cl-bg);border:2px solid rgba(199,164,86,.5);transition:background .5s,box-shadow .5s,transform .5s}
  .cl-chapter.is-active .cl-ch-dot{background:var(--cl-gold);border-color:var(--cl-gold);transform:scale(1.25);box-shadow:0 0 0 6px rgba(199,164,86,.18),0 0 18px rgba(199,164,86,.7)}
  .cl-ch-media{aspect-ratio:4/5}
  .cl-chapter h3{font-size:2.3rem}
  .cl-chapter-tag{order:-1}
}
.cl-legal{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}.cl-legal a{color:rgba(244,234,216,.7)!important}.cl-legal a:hover{color:var(--cl-gold)!important}
.cl-footer{position:relative;z-index:6}
.cl-dock,.cl-story,.cl-section,.cl-contact{position:relative}
.ic{display:inline-block;width:1em;height:1em;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Instagram button – premium */
.ig-btn{position:relative;display:inline-flex;align-items:center;gap:.55rem;height:44px;padding:0 .95rem 0 .8rem;border-radius:999px;border:1px solid rgba(139,100,32,.35);color:inherit;text-decoration:none;font-size:.82rem;overflow:hidden;isolation:isolate;transition:color .45s,border-color .45s,transform .45s cubic-bezier(.22,1,.36,1)}
.ig-btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,#8b6420,#c7a456 50%,#ead9a8);transform:translateY(102%);transition:transform .55s cubic-bezier(.77,0,.18,1)}
.ig-btn .ic{font-size:1.15rem;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.ig-btn:hover{color:#0b0a08;border-color:transparent;transform:translateY(-2px)}
.ig-btn:hover::before{transform:none}
.ig-btn:hover .ic{transform:rotate(-12deg) scale(1.12)}
.ig-head span{display:none}.ig-head{width:44px;padding:0;justify-content:center}
.ig-drawer,.ig-foot{color:#f4ead8;border-color:rgba(244,234,216,.3)}
@media (max-width:680px){.ig-head{display:none}}
@media (prefers-reduced-motion:reduce){.ig-btn,.ig-btn::before,.ig-btn .ic{transition:none}}
/* Smoothness (no features disabled) */
*{-webkit-tap-highlight-color:transparent}
.ma-bg-video,.tl-card,.cs-card,.mm-card,.cl-tile,.cl-word{backface-visibility:hidden}

/* Mobile: single opaque video on white, no ghosting */
.cl-portrait-video{position:absolute;left:50%;bottom:0;height:100%;width:auto;aspect-ratio:1248/1664;translate:-50% 0;object-fit:cover;opacity:0;transition:opacity 1.2s}
.cl-portrait.is-live .cl-portrait-video{opacity:1}
.cl-mobile-video .cl-hero{background:radial-gradient(ellipse 80% 60% at 50% 60%,#fff 55%,#fbf6ec 100%)}
.cl-mobile-video .cl-word-top{z-index:3;mix-blend-mode:multiply}
.cl-mobile-video .cl-solid{display:none}
.cl-mobile-video .cl-portrait img{filter:none}
.cl-portrait-video{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 16%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0,#000 16%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);mask-composite:intersect}