:root{--bg:#1B1931;--bg2:#241f42;--ink:#f8eef0;--mut:#bdb3c8;--ivory:#f6eae7;--dk:#1B1931;--line:rgba(233,188,185,.16);--g1:#ED9E59;--metal:linear-gradient(115deg,#ED9E59 0%,#F6C9A0 35%,#E9BCB9 65%,#ED9E59 100%);--serif:'Lora',Georgia,serif;--sans:'Poppins',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:300 1rem/1.75 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--g1);outline-offset:4px}
.atmos{position:fixed;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(40% 35% at 18% 12%,rgba(237,158,89,.13),transparent 70%),radial-gradient(35% 32% at 86% 32%,rgba(102,34,73,.40),transparent 70%),radial-gradient(45% 38% at 50% 98%,rgba(68,23,78,.55),transparent 70%);animation:drift 46s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(4%,3%,0) scale(1.08)}}
@keyframes sheen{to{background-position:200% 0}}
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1.3rem 4vw;background:linear-gradient(rgba(27,25,49,.82),rgba(27,25,49,0));backdrop-filter:blur(6px)}
.logo{font:500 1.35rem var(--serif);letter-spacing:.04em}
nav ul{display:flex;gap:2.2rem;list-style:none}
nav a.l{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);transition:color .3s}
nav a.l:hover,nav a.on{color:var(--ink)}
section,main,footer{position:relative;z-index:1}
.eb{font:500 .72rem var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--g1);margin-bottom:1.2rem;display:flex;align-items:center;gap:1rem}
.eb::before{content:"";width:2.4rem;height:1px;background:var(--metal)}
h2.t{font:400 clamp(2.4rem,5vw,4.4rem)/1.04 var(--serif)}
.wrap{max-width:1360px;margin:0 auto;padding:7rem 4vw}
.metal{background:var(--metal);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 18s linear infinite}
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:9rem 4vw 5rem;max-width:1500px;margin:0 auto}
.name{font:400 clamp(4.8rem,15.5vw,14rem)/.84 var(--serif);letter-spacing:-.02em}
.name span{display:block}.name .r{font-style:italic;padding-left:clamp(2rem,12vw,13rem)}
.role{margin:2.6rem 0 1.4rem;font:500 clamp(.72rem,1.1vw,.9rem) var(--sans);letter-spacing:.3em;text-transform:uppercase;display:flex;align-items:center;gap:1.2rem}
.role::before{content:"";width:4rem;height:1px;background:var(--metal)}
.lead{max-width:46ch;color:var(--mut);font-size:1.02rem;margin-left:5.2rem}
.cta{align-self:flex-start;display:inline-flex;align-items:center;gap:1rem;margin:2.6rem 0 0 5.2rem;padding:1rem 2rem;border-radius:99px;font:500 .78rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#1B1931;background:var(--metal);background-size:200% 100%;transition:background-position .8s,transform .4s,box-shadow .4s}
.cta:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 14px 40px rgba(237,158,89,.25)}
.side{position:absolute;right:4vw;bottom:5rem;writing-mode:vertical-rl;font:300 .72rem var(--sans);letter-spacing:.35em;text-transform:uppercase;color:var(--mut)}
.side::before{content:"";display:block;width:1px;height:6rem;margin:0 auto 1rem;background:linear-gradient(var(--g1),transparent)}
.gal{padding:5rem 0 3rem;overflow:hidden}.gal .hd{max-width:1360px;margin:0 auto;padding:0 4vw 2.5rem}
.rows{display:flex;flex-direction:column;gap:1rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.row{display:flex;gap:1rem;width:max-content;animation:mq 110s linear infinite}.row.rev{animation-direction:reverse}.row:hover{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.th{flex:none;width:230px;height:288px;overflow:hidden;border:1px solid var(--line);cursor:pointer;background:var(--bg2);transition:transform .6s cubic-bezier(.2,.7,.2,1),border-color .4s}
.th.ls{width:400px;height:225px;align-self:center}.th img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.th:hover{transform:translateY(-6px);border-color:rgba(233,188,185,.5)}.th:hover img{transform:scale(1.04)}
.svc{display:grid;grid-template-columns:.8fr 1.4fr;gap:5vw}
.svc .stk{position:sticky;top:7rem;align-self:start}.svc .stk p{color:var(--mut);margin-top:1.4rem;max-width:34ch}
.sr{display:grid;grid-template-columns:3.2rem 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--line);position:relative}
.sr::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--metal);transition:width .9s cubic-bezier(.2,.7,.2,1)}.sr:hover::after{width:100%}
.sr:last-child{border-bottom:1px solid var(--line)}
.sr b{font:500 .75rem var(--sans);color:var(--g1);letter-spacing:.15em;padding-top:.7rem}
.sr h3{font:400 clamp(1.7rem,2.6vw,2.4rem)/1.15 var(--serif);margin-bottom:.6rem}.sr p{color:var(--mut);font-size:.93rem;max-width:62ch}
.pj{display:grid;grid-template-columns:3rem 1.05fr 1.2fr;gap:2rem;padding:2.4rem 0;border-top:1px solid var(--line);align-items:start;transition:padding .5s}
.pj:hover{padding-left:1rem}.pj:last-of-type{border-bottom:1px solid var(--line)}
.pj b{font:500 .75rem var(--sans);color:var(--g1);letter-spacing:.15em;padding-top:.6rem}
.pj h3{font:400 clamp(1.5rem,2.3vw,2.1rem)/1.15 var(--serif)}.pj i{display:block;margin-top:.6rem;font:500 .68rem var(--sans);font-style:normal;letter-spacing:.22em;text-transform:uppercase;color:var(--g1)}
.pj p{color:var(--mut);font-size:.93rem}.pj em{display:block;margin-top:.8rem;font:italic 400 1.15rem var(--serif);color:var(--ink)}
.big{display:inline-flex;align-items:center;gap:1.4rem;margin-top:4.5rem;font:400 clamp(2.6rem,6.4vw,5.6rem)/1 var(--serif);position:relative;padding-bottom:.6rem}
.big::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--metal);transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.big:hover::after{transform:scaleX(.35)}.big span{font-style:italic}.big svg{width:.7em;transition:transform .6s}.big:hover svg{transform:translateX(.5rem)}
.about{background:var(--ivory);color:var(--dk)}
.about .eb{color:#662249}.about .eb::before{background:#662249}
.ab{display:grid;grid-template-columns:1fr 1.15fr;gap:6vw;align-items:start}
.ab h2{font:400 clamp(2.4rem,4.6vw,4.2rem)/1.04 var(--serif)}
.ab q{display:block;margin-top:3rem;font:italic 400 clamp(1.6rem,2.6vw,2.3rem)/1.25 var(--serif);color:#A34054;quotes:none;border-left:1px solid #662249;padding-left:1.6rem}
.ab p{font-size:1.04rem;margin-bottom:1.5rem;color:#2a2540}
.wr{display:grid;grid-template-columns:.8fr 1.1fr;gap:7vw;align-items:center}
.cv{max-width:380px;margin:0 auto;transform:rotate(-2.5deg);transition:transform 1s cubic-bezier(.2,.7,.2,1);box-shadow:0 40px 90px rgba(0,0,0,.55),0 0 80px rgba(237,158,89,.16)}.cv:hover{transform:rotate(0) scale(1.02)}
.wr h2{font:400 clamp(3rem,7vw,6rem)/.95 var(--serif);letter-spacing:.02em}
.wr h3{font:italic 400 clamp(1.3rem,2vw,1.7rem) var(--serif);color:var(--g1);margin:.6rem 0 1.8rem}
.wr p{color:var(--mut);max-width:54ch;margin-bottom:1.1rem}.wr p.s{font:italic 400 1.35rem/1.5 var(--serif);color:var(--ink)}
.fin{text-align:center;padding:9rem 4vw}.fin .big{margin-top:1rem}
footer{border-top:1px solid var(--line);padding:2rem 4vw 2.6rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.78rem;color:var(--mut)}footer a:hover{color:var(--ink)}footer div{display:flex;gap:1.6rem}
.page{max-width:1360px;margin:0 auto;padding:9rem 4vw 5rem}
.chips{display:flex;gap:.6rem;flex-wrap:wrap;margin:2rem 0 2.5rem}
.chips button{background:none;border:1px solid var(--line);color:var(--mut);font:400 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:.55rem 1.1rem;border-radius:99px;cursor:pointer;transition:.3s}
.chips button:hover,.chips button.on{color:#1B1931;background:var(--metal);border-color:transparent}
.dg{columns:4 240px;column-gap:1rem}.dg button{display:block;width:100%;margin:0 0 1rem;padding:0;border:1px solid var(--line);background:var(--bg2);cursor:pointer;break-inside:avoid;overflow:hidden;position:relative;transition:transform .5s,border-color .4s}
.dg button:hover{transform:translateY(-4px);border-color:rgba(233,188,185,.5)}.dg img{width:100%;transition:transform 1.2s}.dg button:hover img{transform:scale(1.03)}
.dg button span{position:absolute;left:0;right:0;bottom:0;padding:1.4rem .9rem .7rem;font:500 .65rem var(--sans);letter-spacing:.18em;text-transform:uppercase;text-align:left;color:var(--ink);background:linear-gradient(transparent,rgba(27,25,49,.88));opacity:0;transition:opacity .4s}.dg button:hover span,.dg button:focus-visible span{opacity:1}
.tg{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:3.5rem}
.tc{padding:2.4rem;border:1px solid var(--line);background:linear-gradient(160deg,rgba(233,188,185,.05),rgba(255,255,255,0));position:relative;transition:border-color .5s,transform .6s}
.tc:hover{border-color:rgba(233,188,185,.45);transform:translateY(-4px)}.tc:nth-child(even){margin-top:2.5rem}
.tc::before{content:"\201C";font:400 5rem/1 var(--serif);display:block;height:2.4rem;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.tc blockquote{font:300 .98rem/1.85 var(--sans);color:#e3dccd;margin:1rem 0 1.8rem}
.tc h3{font:400 1.7rem var(--serif)}.tc i{font:500 .66rem var(--sans);font-style:normal;letter-spacing:.22em;text-transform:uppercase;color:var(--g1)}
.fm{display:grid;grid-template-columns:1fr 1.2fr;gap:6vw}.fm label{display:block;font:500 .68rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin:1.5rem 0 .5rem}
.fm input,.fm select,.fm textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:300 1rem var(--sans);padding:.8rem 0;border-radius:0}.fm select option{background:var(--bg)}
.fm input:focus,.fm select:focus,.fm textarea:focus{outline:0;border-color:var(--g1)}.fm textarea{min-height:140px;resize:vertical}.fm button{margin-top:2rem;border:0;cursor:pointer;margin-left:0}
.hp{position:absolute;left:-9999px}.mail{color:var(--g1);word-break:break-all}
.lb{position:fixed;inset:0;z-index:100;background:rgba(18,16,36,.96);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:1.5rem}.lb.open{display:flex}
.lbi{width:min(980px,100%);display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center}
.lbs{position:relative;height:min(78vh,720px);aspect-ratio:4/5;border:1px solid var(--line)}.lbs.landscape{aspect-ratio:16/9;height:auto;width:min(60vw,640px)}.lbs img{width:100%;height:100%;object-fit:contain;background:#000}
.lbt small{font:500 .68rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--g1)}.lbt h3{font:400 2.2rem/1.1 var(--serif);margin:.6rem 0 1rem}.lbt p{color:var(--mut);font-size:.92rem}
.lbc{display:flex;gap:.6rem;margin-top:1.8rem;align-items:center}.lbc button,.lbx{background:none;border:1px solid var(--line);color:var(--ink);width:2.8rem;height:2.8rem;border-radius:50%;cursor:pointer;font-size:1.1rem;transition:.3s}.lbc button:hover,.lbx:hover{background:var(--metal);color:#1B1931;border-color:transparent}
.lbx{position:absolute;top:1.4rem;right:1.4rem}.dots{display:flex;gap:.4rem;margin-left:.8rem}.dots i{width:6px;height:6px;border-radius:50%;background:var(--line);cursor:pointer}.dots i.on{background:var(--g1)}
.rv{opacity:0;transform:translateY(26px);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
@media(max-width:900px){nav ul{gap:1rem}.logo{display:none}nav{justify-content:center}nav a.l{font-size:.62rem;letter-spacing:.1em}.lead,.cta{margin-left:0}.side{display:none}.svc,.ab,.wr,.fm,.tg{grid-template-columns:1fr}.svc .stk{position:static}.pj{grid-template-columns:2rem 1fr}.pj>div:last-child{grid-column:2}.tc:nth-child(even){margin-top:0}.th{width:170px;height:213px}.th.ls{width:290px;height:163px}.lbi{grid-template-columns:1fr}.lbs{height:56vh}.wrap{padding:5rem 6vw}.name .r{padding-left:1.5rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

nav{background:rgba(27,25,49,.9)}
.meta{display:flex;justify-content:space-between;font:400 .7rem var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--mut);border-top:1px solid var(--line);padding-top:1rem;margin-bottom:3.5rem}
.lt,.about{background:var(--ivory);color:var(--dk)}
.lt .eb{color:#662249}.lt .eb::before{background:#662249}.lt h2.t i,.lt h2 i{color:#662249}
.lt .sr,.lt .rl{border-color:rgba(27,25,49,.18)}.lt .sr::after{background:#662249}.lt .sr b,.lt .rl b{color:#662249}
.lt p,.lt .sr p,.lt .stk p,.lt li{color:#3d3552}.lt .big::after{background:#662249}
.chp{display:inline-block;margin:0 .5rem .6rem 0;padding:.4rem 1rem;border:1px solid var(--line);border-radius:99px;font-size:.82rem;color:var(--mut)}.lt .chp{border-color:rgba(27,25,49,.25);color:#3d3552}
.wp{display:grid;grid-template-columns:1fr 1.6fr;gap:6vw;align-items:start}.wp h2{position:sticky;top:7rem}
.wp .in2 p{margin-bottom:1.3rem;max-width:62ch}
.rl{border-top:1px solid var(--line);padding:1.7rem 0;display:grid;grid-template-columns:1fr 2fr;gap:2rem}.rl h3{font:400 1.7rem/1.15 var(--serif)}.rl p{color:var(--mut);font-size:.95rem}.lt .rl p{color:#3d3552}
.rl i{display:block;margin-top:.5rem;font:500 .66rem var(--sans);font-style:normal;letter-spacing:.22em;text-transform:uppercase;color:var(--g1)}.lt .rl i{color:#662249}
.dc::first-letter{font:400 4.8rem/.78 var(--serif);float:left;padding:.45rem .8rem 0 0;color:var(--g1)}
.pl{columns:2;list-style:none;font:italic 400 1.3rem/1.9 var(--serif);margin:1.2rem 0 1.8rem}
.lede{font:400 clamp(1.8rem,3.4vw,3rem)/1.18 var(--serif);max-width:24ch}.lede strong{font-weight:400;font-style:italic;color:var(--g1)}
.facts p{margin:0!important;padding:.35rem 0;color:var(--mut)}.facts b{font-weight:500;color:var(--ink);display:inline-block;min-width:7rem}
@media(max-width:900px){.wp,.rl{grid-template-columns:1fr}.wp h2{position:static}.pl{columns:1}.meta span:last-child{display:none}}

.hero{position:relative}
.art{position:absolute;right:4vw;top:50%;transform:translateY(-46%);width:min(40vw,560px);height:min(74vh,640px);display:flex;align-items:flex-end;gap:3%}
.ar{position:relative;flex:1;overflow:hidden;border-radius:999px 999px 0 0;border:1px solid var(--line);animation:fl 11s ease-in-out infinite alternate}
.ar img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.ar:hover img{transform:scale(1.06)}
.a1{height:82%}.a2{height:100%;animation-duration:14s;animation-delay:-5s;background:var(--metal);background-size:220% 100%;animation-name:fl,sheen;display:flex;align-items:center;justify-content:center}.a3{height:64%;animation-duration:9s;animation-delay:-2s}
.a2 svg{width:62%;opacity:.85}
.a3::after,.a1::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(203,191,227,.38),rgba(27,25,49,.25));mix-blend-mode:soft-light;pointer-events:none}
@keyframes fl{to{transform:translateY(-14px)}}
.ac{border-top:1px solid rgba(27,25,49,.18);transition:background .5s,color .5s,border-radius .5s,padding .5s}.ac:last-child{border-bottom:1px solid rgba(27,25,49,.18)}
.ach{width:100%;display:grid;grid-template-columns:3.2rem 1fr auto;align-items:center;gap:1rem;padding:1.6rem 0;background:none;border:0;color:inherit;text-align:left;cursor:pointer;font:inherit}
.ach b{font:500 .75rem var(--sans);letter-spacing:.15em;color:#662249}.ach h3{font:400 clamp(1.6rem,2.5vw,2.3rem)/1.15 var(--serif)}
.tg2{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--metal);position:relative;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.tg2::before,.tg2::after{content:"";position:absolute;left:50%;top:50%;width:.9rem;height:1.5px;background:#1B1931;transform:translate(-50%,-50%);transition:transform .5s}.tg2::after{transform:translate(-50%,-50%) rotate(90deg)}
.acp{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.2,.7,.2,1)}.acp>div{overflow:hidden;padding-left:4.2rem}.acp p{padding-bottom:1.8rem;max-width:58ch}
.ac.open{background:var(--dk);color:var(--ink);border-radius:20px;padding:0 1.6rem;border-color:transparent}.ac.open .ach b{color:var(--g1)}.ac.open .acp{grid-template-rows:1fr}.ac.open .acp p{color:#e8dde8!important}.ac.open .tg2{transform:rotate(180deg)}.ac.open .tg2::after{transform:translate(-50%,-50%) rotate(0)}
.ac.open+.ac{border-top-color:transparent}
.pj i{color:#E9BCB9}.pj:hover h3{color:var(--g1)}
@media(max-width:900px){.art{position:relative;right:auto;top:auto;transform:none;width:100%;height:300px;margin-top:3rem}.acp>div{padding-left:0}.ach{grid-template-columns:2.4rem 1fr auto}}
/* ===== v4: sunset palette, Lora + Poppins, sketch layout ===== */
nav{padding:.9rem 4vw;background:none;backdrop-filter:none;justify-content:center}
.pill{width:100%;max-width:1180px;display:flex;justify-content:space-between;align-items:center;padding:.55rem .8rem .55rem 1.3rem;border-radius:99px;background:rgba(27,25,49,.74);backdrop-filter:blur(16px);border:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:.75rem;font:400 .8rem var(--serif)}.wm{font:400 .78rem var(--serif);letter-spacing:.24em;color:var(--mut)}
.lg{display:inline-flex;align-items:center;gap:.3em;font:500 1.7rem/1 var(--serif);color:var(--ink)}
.lg b{font-weight:500;display:inline-block;animation:lgl 1.3s cubic-bezier(.2,.7,.2,1) both}.lg b:last-child{animation-name:lgr}
.lg i{display:block;width:.09em;min-width:2px;height:1.3em;margin:0 .06em;border-radius:2px;background:linear-gradient(#ED9E59,#A34054);transform:skewX(-16deg);transform-origin:50% 100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);animation:lgs 1.2s .4s cubic-bezier(.2,.7,.2,1) both}
.logo:hover .lg i{transform:skewX(-16deg) rotate(16deg)}
@keyframes lgl{from{transform:translateX(-.3em);opacity:0}}@keyframes lgr{from{transform:translateX(.3em);opacity:0}}@keyframes lgs{from{transform:skewX(-16deg) scaleY(0)}}
footer{align-items:center}footer .lg{font-size:2rem}
.eb::before{display:none}.eb span{font:italic 500 1rem var(--serif);color:var(--g1);letter-spacing:0}
.eb span::after{content:"/";margin-left:.8rem;font-style:normal;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.lt .eb span{color:#A34054}.lt .eb span::after{background:linear-gradient(#A34054,#662249);-webkit-background-clip:text;background-clip:text}
h1.t,h2.t{font:500 clamp(2rem,4.2vw,3.6rem)/1.12 var(--serif)}
h1.t i,h2.t i{font-style:italic;background:linear-gradient(110deg,#ED9E59,#E9BCB9);-webkit-background-clip:text;background-clip:text;color:transparent}
.lt h2.t i{background:linear-gradient(110deg,#A34054,#662249);-webkit-background-clip:text;background-clip:text;color:transparent}
h1.t::after,h2.t::after{content:"";display:block;height:10px;width:0;margin-top:1rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='10' viewBox='0 0 120 10'%3E%3Cpath d='M0 5Q15 0 30 5T60 5T90 5T120 5' fill='none' stroke='%23ED9E59' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") left center/120px 10px no-repeat;transition:width 1.3s .3s cubic-bezier(.2,.7,.2,1)}
.lt h2.t::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='10' viewBox='0 0 120 10'%3E%3Cpath d='M0 5Q15 0 30 5T60 5T90 5T120 5' fill='none' stroke='%23A34054' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
h2.t.in::after,.rv.in h2.t::after,h1.t.in::after,.rv.in h1.t::after{width:120px}
.hero{min-height:auto;padding:8rem 4vw 4.5rem}
.name{font:500 clamp(4rem,11.5vw,10.5rem)/.9 var(--serif);letter-spacing:-.03em}
.name .r{display:block;width:max-content;position:relative;padding-left:clamp(2rem,10vw,10rem);font-style:normal}.rt{font-style:italic;display:inline-block;padding-right:.1em}
.role{margin:1.8rem 0 1rem}.lead{max-width:52ch}.cta{margin:1.8rem 0 0 5.2rem}
.sw{position:absolute;left:calc(100% + .5rem);top:50%;width:min(40vw,640px);height:auto;transform:translateY(-50%);overflow:visible;pointer-events:none}
.sw .p1,.sw .p2{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 3.8s .5s cubic-bezier(.4,0,.2,1) forwards}.sw .p2{opacity:.45;animation-delay:.9s}
.sw .end{opacity:0;animation:pop .8s 4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{to{opacity:1}}
.cvt{position:relative}.cvt::before{display:none}
.cvt>.wrap{padding-top:4.5rem}
.wrap{padding:4.5rem 4vw}.gal{padding:2.5rem 0 1rem}.gal .hd{padding-bottom:1.6rem}.big{margin-top:2.2rem}.page{padding:7.5rem 4vw 4rem}.tg{margin-top:2.2rem}
.pg{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.pc{grid-column:span 2;position:relative;display:flex;flex-direction:column;min-height:250px;padding:1.8rem 1.8rem 4.2rem;border:1px solid var(--line);border-radius:24px;background:radial-gradient(95% 90% at 0% 0%,var(--c),transparent 72%),var(--bg2);cursor:pointer;overflow:hidden;transition:transform .6s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .6s}
.pc:nth-child(5n+1),.pc:nth-child(5n+2){grid-column:span 3;min-height:285px}
.pc:hover{transform:translateY(-6px);border-color:rgba(237,158,89,.55);box-shadow:0 24px 50px rgba(0,0,0,.35)}
.pn{font:500 .72rem var(--sans);letter-spacing:.18em;color:var(--g1)}.pk{margin-top:.5rem;font:500 .64rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#E9BCB9}
.pc h3{font:500 clamp(1.25rem,1.8vw,1.65rem)/1.2 var(--serif);margin:.9rem 0 .6rem}.pc p{font-size:.86rem;color:#ddd3e3;max-width:44ch}
.pp{position:absolute;right:1.4rem;bottom:1.4rem;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--metal);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pp::before,.pp::after{content:"";position:absolute;left:50%;top:50%;width:.9rem;height:1.5px;background:#1B1931;transform:translate(-50%,-50%)}.pp::after{transform:translate(-50%,-50%) rotate(90deg)}.pc:hover .pp{transform:rotate(90deg)}
.pm{position:fixed;inset:0;z-index:120;background:rgba(14,12,30,.82);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:1.5rem}.pm.open{display:flex}
.pmc{position:relative;width:min(640px,100%);padding:2.8rem;border-radius:26px;border:1px solid var(--line);background:linear-gradient(160deg,#44174E,#1B1931 72%)}
.pmc small{font:500 .68rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--g1)}.pmc h3{font:500 clamp(1.6rem,3vw,2.3rem)/1.15 var(--serif);margin:.7rem 0 1rem}.pmc p{color:#e8dde8;font-size:.95rem}
.pmr{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line);font:italic 400 1.2rem/1.5 var(--serif)}.pmr small{display:block;font-style:normal;margin-bottom:.4rem}
.pmx{position:absolute;top:1.2rem;right:1.2rem;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);font-size:1.3rem;cursor:pointer;transition:.3s}.pmx:hover{background:var(--metal);color:#1B1931;border-color:transparent}
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.st{position:relative;padding:1.8rem;border:1px solid rgba(27,25,49,.14);border-radius:24px;background:rgba(255,255,255,.5);transition:transform .5s,box-shadow .5s}.st:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(68,23,78,.14)}
.ico{width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ED9E59,#E9BCB9);color:#1B1931}.ico svg{width:1.4rem;height:1.4rem}
.st b{position:absolute;top:1.6rem;right:1.8rem;font:italic 500 1.2rem var(--serif);color:#A34054}.st h3{font:500 1.25rem var(--serif);margin:1.2rem 0 .5rem}.st p{font-size:.88rem;color:#3d3552!important}
.fin{text-align:center;padding:4.5rem 4vw;overflow:hidden;background:radial-gradient(70% 90% at 50% 125%,rgba(163,64,84,.55),transparent 70%),radial-gradient(55% 80% at 15% 105%,rgba(68,23,78,.75),transparent 70%)}
.fin .eb{justify-content:center}.wm2{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:.06}.wm2 .lg{font-size:min(42vw,480px)}
.dh{margin-bottom:.4rem}.dsub{color:var(--mut);margin-top:1rem;max-width:52ch}.dg button{border-radius:16px}
.dfoot{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}
.dcard{position:relative;padding:2rem;border:1px solid var(--line);border-radius:24px;background:radial-gradient(90% 90% at 0% 0%,rgba(102,34,73,.8),transparent 70%),var(--bg2);transition:transform .5s,border-color .4s}.dcard:hover{transform:translateY(-4px);border-color:rgba(237,158,89,.5)}
.dcard small{color:var(--g1);font:500 .66rem var(--sans);letter-spacing:.22em;text-transform:uppercase}.dcard h3{font:500 1.7rem var(--serif);margin:.5rem 0}.dcard p{color:var(--mut);font-size:.9rem}.dcard svg{width:2.4rem;margin-top:1.2rem;color:var(--g1)}
.tc{border-radius:22px}.lbs,.chips button{border-radius:14px}.chips button{border-radius:99px}
@media(max-width:900px){.pill{padding:.5rem .6rem .5rem 1rem}.wm{display:none}.logo{display:flex!important}.hero{padding:7rem 6vw 3rem}.name .r{width:auto;padding-left:1.5rem}.sw{position:relative;left:0;top:auto;transform:none;width:min(100%,420px);margin-top:-.5rem}.cta{margin-left:0}.pg,.sg,.dfoot{grid-template-columns:1fr}.pc,.pc:nth-child(5n+1),.pc:nth-child(5n+2){grid-column:auto;min-height:230px}.wrap{padding:3.5rem 6vw}.fin{padding-left:6vw;padding-right:6vw}}
@media(prefers-reduced-motion:reduce){.sw .p1,.sw .p2{stroke-dashoffset:0!important}.sw .end{opacity:1!important}h2.t::after,h1.t::after{width:120px!important}}

.big{font-size:clamp(1.6rem,3.2vw,2.8rem)}.big{margin-top:1.8rem;gap:1rem;padding-bottom:.5rem}
.wr h2{margin-bottom:1rem}.wr h3{margin:0 0 1.8rem}
.wm{display:inline-block;width:17em;white-space:nowrap;overflow:hidden}.wmin{animation:wmIn .7s cubic-bezier(.2,.7,.2,1)}
@keyframes wmIn{from{opacity:0;transform:translateY(.7em)}}
footer .wm{width:auto}

/* v5 */
.herow{position:relative;background:linear-gradient(165deg,#2a2150 0%,#44174E 62%,#662249 135%);border-radius:0 0 clamp(28px,4.5vw,64px) clamp(28px,4.5vw,64px)}
.lg b,.lg i{animation:none!important;transition:none!important}.logo:hover .lg i{transform:skewX(-16deg)!important}.wm{width:auto!important;overflow:visible}
.swc{position:absolute;left:calc(100% + .5rem);top:50%;width:min(40vw,640px);aspect-ratio:8/5;transform:translateY(-50%)}
.swc .sw{position:absolute;left:0;top:0;width:100%;height:100%;transform:none}
.tl{--tw:84px;position:absolute;width:var(--tw);height:calc(var(--tw)*1.25);margin:calc(var(--tw)*-.625) 0 0 calc(var(--tw)*-.5);padding:0;border:0;background:none;cursor:pointer;z-index:1;transform:rotate(var(--r));animation:pop2 .95s var(--d) cubic-bezier(.34,1.56,.64,1) backwards,bob 7s calc(var(--d) + 1s) ease-in-out infinite alternate;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}
.tl .im{display:block;width:100%;height:100%;border-radius:18px;overflow:hidden;border:1px solid rgba(233,188,185,.45);box-shadow:0 18px 40px rgba(0,0,0,.45);transition:box-shadow .5s,border-color .5s}.tl img{width:100%;height:100%;object-fit:cover}
.tl:hover,.tl:focus-visible{transform:rotate(0) scale(1.35);z-index:5}.tl:hover .im,.tl:focus-visible .im{border-color:#ED9E59;box-shadow:0 24px 60px rgba(237,158,89,.38)}
.cap{position:absolute;left:50%;top:calc(100% + 12px);transform:translate(-50%,8px) scale(.74);transform-origin:top center;opacity:0;white-space:nowrap;padding:.55rem 1rem;border-radius:99px;background:rgba(27,25,49,.94);border:1px solid rgba(237,158,89,.5);font:400 .8rem var(--sans);color:var(--ink);pointer-events:none;text-align:center;transition:opacity .35s,transform .55s cubic-bezier(.34,1.56,.64,1)}
.cap b{display:block;font:500 .56rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#ED9E59}
.tl:hover .cap,.tl:focus-visible .cap{opacity:1;transform:translate(-50%,0) scale(.74)}
@keyframes pop2{from{opacity:0;transform:scale(.2) rotate(calc(var(--r) - 40deg))}}@keyframes bob{to{translate:0 -9px}}
@media(max-width:900px){.swc{position:relative;left:0;top:auto;transform:none;width:min(100%,420px);margin-top:.5rem}.tl{--tw:60px}.herow{border-radius:0 0 28px 28px}}

/* v6: logo at the end of the curve */
.sw .end{display:none}
.hl{position:absolute;left:calc(98% + .6rem);top:86%;transform:translateY(-50%);font-size:clamp(4rem,7.6vw,7.4rem);line-height:1;filter:drop-shadow(0 0 26px rgba(237,158,89,.28));animation:pop3 1.1s 4.3s cubic-bezier(.34,1.56,.64,1) backwards}
.hl .lg{font-size:1em;gap:.28em}.hl .lg b{font-weight:500}.hl .lg i{height:1.18em;background:linear-gradient(#ED9E59,#E9BCB9 55%,#A34054)}
@keyframes pop3{from{opacity:0;transform:translateY(-50%) scale(.3)}}
@media(max-width:900px){.hl{font-size:4rem;left:auto;right:0;top:92%}}
.name .hl .lg{display:inline-flex!important;flex-direction:row}.name .hl .lg b,.name .hl .lg i{display:block}.name .hl .lg i{display:block!important}

.sw .end{display:block}

/* v7: design page */
.dhero{display:flex;justify-content:space-between;align-items:center;gap:3rem;margin-bottom:1rem}.dh{max-width:560px}.sec2{margin-top:3.2rem}
.fan{position:relative;flex:none;width:min(34vw,380px);height:min(36vw,400px)}
.fan span{position:absolute;left:50%;top:50%;width:62%;aspect-ratio:4/5;border-radius:16px;overflow:hidden;border:1px solid rgba(233,188,185,.4);box-shadow:0 24px 50px rgba(0,0,0,.45);transform:translate(-50%,-50%) translateX(var(--x)) rotate(var(--r));transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.fan span img{width:100%;height:100%;object-fit:cover}
.fan:hover span:nth-child(1){--x:-64%;--r:-14deg}.fan:hover span:nth-child(2){--x:64%;--r:14deg}.fan:hover span:nth-child(3){--x:0%;--r:0deg;transform:translate(-50%,-54%) rotate(0)}
.fm4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.2rem}
.fc{padding:1.6rem;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.03);transition:transform .5s,border-color .4s}.fc:hover{transform:translateY(-4px);border-color:rgba(237,158,89,.5)}
.fc h3{font:500 1.15rem var(--serif);margin:1rem 0 .4rem}.fc p{font-size:.85rem;color:var(--mut)}
.pr3{display:grid;grid-template-columns:repeat(3,1fr);margin-top:1.2rem;border-top:1px solid var(--line)}.pr3>div{padding:1.5rem 1.6rem 0 0}.pr3 b{font:italic 500 1.4rem var(--serif);color:var(--g1)}.pr3 h3{font:500 1.3rem var(--serif);margin:.3rem 0}.pr3 p{font-size:.88rem;color:var(--mut)}
.dend{margin-top:3rem;padding:2.2rem;border:1px solid var(--line);border-radius:24px;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;background:radial-gradient(90% 120% at 0% 0%,rgba(102,34,73,.7),transparent 70%),var(--bg2)}.dend h3{font:500 1.5rem var(--serif)}.dend p{color:var(--mut);font-size:.92rem}
.chips{margin-top:1.4rem}
@media(max-width:900px){.dhero{flex-direction:column;align-items:flex-start}.fan{width:min(80vw,320px);height:min(70vw,300px);margin:0 auto}.fm4{grid-template-columns:1fr 1fr}.pr3{grid-template-columns:1fr}nav ul{overflow-x:auto;scrollbar-width:none;gap:.9rem}nav ul::-webkit-scrollbar{display:none}}
@media(max-width:560px){.fm4{grid-template-columns:1fr}}

/* ===== MOBILE FIXES ===== */
html{-webkit-text-size-adjust:100%}
.cv{max-width:min(380px,100%)}
.wm2 .lg{font-size:clamp(90px,14vw,170px)}
.wm2{opacity:.07}

@media (max-width:900px){
  /* navigation: logo on top, links in a neat row underneath */
  nav{padding:.6rem 3vw}
  .pill{flex-direction:column;align-items:center;gap:.35rem;border-radius:26px;padding:.6rem .9rem .7rem}
  .wm{display:none!important}
  nav ul{width:100%;justify-content:center;flex-wrap:wrap;gap:.2rem .95rem;overflow:visible}
  nav ul li:first-child{display:none}
  nav a.l{font-size:.66rem;letter-spacing:.12em;padding:.35rem 0}

  /* hero */
  .hero{padding:9rem 6vw 3rem}
  .name{font-size:clamp(4.2rem,21vw,6.5rem)}
  .role{font-size:.7rem;letter-spacing:.2em;gap:.8rem}
  .role::before{width:2rem}
  .lead{font-size:.95rem}
  .cta{margin-left:0}

  /* spacing and type */
  h1.t,h2.t{font-size:clamp(1.8rem,7.4vw,2.4rem)}
  .big{font-size:clamp(1.5rem,6.4vw,2rem)}
  .page{padding:8.5rem 6vw 3rem}
  .fin{padding:3.5rem 6vw}
  .chips{gap:.45rem}
  .lbs{height:auto;width:100%}
  .lbs.landscape{width:100%}
  footer{flex-direction:column;align-items:flex-start;gap:1rem;padding:2rem 6vw}
  footer div{flex-wrap:wrap;gap:.6rem 1.2rem}
}
@media (max-width:420px){
  .cap{display:none}
  .pmc{padding:2.2rem 1.4rem}
}

/* small glowing dot on the hero curve: hidden until its animation starts */
.sw circle:not(.end){opacity:0;animation:dotin .01s 4.5s forwards}
@keyframes dotin{to{opacity:.9}}
