/* Desire — modern layer v4. Loads after style.css and hero.css. Bigger type, bigger imagery, more depth. */
:root{--max:1440px;--pad:clamp(1.2rem,4.5vw,3.5rem);--r1:36px;--r2:24px;--sh:0 30px 70px -30px rgba(60,20,70,.5);--hh:84px;--grad:linear-gradient(135deg,#9c258a 0%,#c0397a 55%,#c9a04f 120%)}
body{font-size:1.16rem;line-height:1.7}
p{max-width:68ch}
h2{font-size:clamp(2.4rem,5vw,4.6rem)}
h3{font-size:1.4rem}
.sec{padding:clamp(4.5rem,10vw,9rem) 0}
.sh{margin-bottom:3.4rem}
.sh p{font-size:1.2rem;max-width:56ch}
.tag{font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;padding:.4rem 1.1rem;background:linear-gradient(90deg,#f6e3f2,#fbf1de);color:var(--brand-d)}
.dark .tag{background:rgba(255,255,255,.12)}
/* buttons */
.btn{padding:1.05rem 2rem;font-size:1.05rem;box-shadow:0 14px 30px -14px rgba(156,37,138,.7);position:relative}
.btn::after{content:"→";transition:transform .25s;margin-left:.1rem}
.btn:hover::after{transform:translateX(5px)}
.btn.line{box-shadow:none}.btn.sm{padding:.7rem 1.35rem;font-size:.97rem}
.btn.sm::after{display:none}
.btn.brass{box-shadow:0 14px 34px -14px rgba(201,160,79,.9)}
.more{font-size:1.05rem}.more::after{content:" →"}
/* header */
.bar{font-size:.9rem}
.hd{background:rgba(255,255,255,.82);backdrop-filter:blur(18px) saturate(1.4);transition:box-shadow .3s}
.hd.sc{box-shadow:0 12px 40px -22px rgba(60,20,70,.5)}
.logo img{height:62px;width:62px;box-shadow:0 6px 18px -6px rgba(60,20,70,.5)}
.nav>a,.dd>a{font-size:1.02rem;padding:.65rem 1rem}
/* home hero */
.hx.home .in{min-height:min(92vh,900px);grid-template-columns:1.1fr .9fr;gap:4rem}
.hx.home h1{font-size:clamp(3rem,7.2vw,7rem);line-height:.98}
.hx .lead{font-size:clamp(1.15rem,1.7vw,1.45rem)}
.stkw{width:min(560px,100%)}
.chip{padding:1.1rem 1.4rem;max-width:300px;border-radius:var(--r2)}
.hx .in{padding-top:5rem;padding-bottom:5.5rem}
.hx h1{font-size:clamp(2.8rem,6.4vw,6rem)}
.trust{gap:2rem;font-size:1.02rem}
.trust span{background:rgba(255,255,255,.1);padding:.5rem 1rem;border-radius:99px;border:1px solid rgba(255,255,255,.16)}
.scrollcue{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:6;width:28px;height:46px;border:2px solid rgba(255,255,255,.7);border-radius:99px}
.scrollcue::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:9px;margin-left:-2px;border-radius:4px;background:#fff;animation:sc 1.8s infinite}
@keyframes sc{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(16px)}}
/* marquee */
.mq{background:var(--plum);color:#fff;overflow:hidden;border-block:1px solid rgba(255,255,255,.12);padding:1.25rem 0}
.mq .tr{display:flex;width:max-content;gap:3rem;animation:mq 38s linear infinite}
.mq:hover .tr{animation-play-state:paused}
.mq span{font:italic 500 clamp(1.4rem,2.6vw,2.2rem)/1 'Fraunces',Georgia,serif;white-space:nowrap;display:flex;align-items:center;gap:3rem}
.mq span::after{content:"✦";color:var(--brass);font-style:normal;font-size:.8em}
@keyframes mq{to{transform:translateX(-50%)}}
/* stats */
.stats{background:var(--grad);color:#fff;position:relative;overflow:hidden}
.stats::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.12);right:-140px;top:-220px}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding-top:4rem;padding-bottom:4rem;position:relative}
.stat{text-align:center;padding:0 .5rem;border-right:1px solid rgba(255,255,255,.28)}
.stat:last-child{border:0}
.stat b{display:block;font:400 clamp(3.2rem,6vw,5.4rem)/1 'DM Serif Display',Georgia,serif}
.stat span{display:block;margin-top:.5rem;font-size:1.05rem;opacity:.92}
/* bento */
.bento{grid-auto-rows:minmax(300px,auto);gap:1.4rem}
.bc{min-height:300px;border-radius:var(--r1)}
.bc:nth-child(1){min-height:620px}.bc:nth-child(6){min-height:380px}
.bc h3{font-size:clamp(1.6rem,2.4vw,2.2rem)}
.bc p{font-size:1.02rem}
.bc div{padding:2rem}
.bc::after{background:linear-gradient(0deg,rgba(37,16,42,.94) 0%,rgba(37,16,42,.1) 66%)}
.bc div::after{content:"Explore →";display:inline-block;margin-top:.9rem;font-weight:650;color:var(--brass);opacity:0;transform:translateY(8px);transition:.3s}
.bc:hover div::after{opacity:1;transform:none}
.bc em{font-size:.9rem;padding:.35rem 1rem}
/* product cards */
.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.8rem}
.pc{border-radius:var(--r1);border:0;box-shadow:0 12px 40px -24px rgba(60,20,70,.45)}
.pc:hover{box-shadow:var(--sh);transform:translateY(-8px)}
.pc .im{aspect-ratio:1/.95}.pc .im img{transition:transform .7s}.pc:hover .im img{transform:scale(1.07)}
.pc h3{font-size:1.3rem}
.pc .bd{padding:1.5rem 1.6rem 1.7rem}
/* services & cards */
.svcs{gap:1.8rem}
.sv{padding:2.4rem;border:0;background:linear-gradient(160deg,#fff,#faf3fa);box-shadow:0 14px 44px -26px rgba(60,20,70,.55);transition:transform .3s,box-shadow .3s}
.sv:hover{transform:translateY(-8px);box-shadow:var(--sh)}
.sv .ic{width:68px;height:68px;border-radius:22px;background:var(--grad)}
.sv .ic svg{stroke:#fff;width:32px;height:32px}
.tips,.subs{gap:1.5rem}
.tips div,.sub{padding:2.1rem;border:0;box-shadow:0 12px 40px -26px rgba(60,20,70,.5);border-radius:var(--r2);transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}
.tips div::before,.sub::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .5s}
.tips div:hover,.sub:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.tips div:hover::before,.sub:hover::before{transform:none}
.tips h3,.sub h3{font-size:1.25rem;margin-bottom:.55rem}
.tips p,.sub p{font-size:1.02rem}
.sec.tint{background:linear-gradient(180deg,#f7f1f8,#f3ebf5)}
.why{gap:1.6rem}
.why div{padding:2.2rem;border-radius:var(--r2);background:#fff;box-shadow:0 12px 40px -26px rgba(60,20,70,.5)}
.why svg{width:40px;height:40px}
.sec:not(.tint) .why div{background:var(--mist);box-shadow:none}
.steps{gap:1.6rem}.st{padding:2.2rem;border-radius:var(--r2)}
.st::before{width:54px;height:54px;font-size:1.4rem}
.split{gap:clamp(2.5rem,6vw,6rem)}
.split .pic{aspect-ratio:4/4.6;border-radius:var(--r1);box-shadow:var(--sh)}
.split .pic img{transition:transform 1s}.split .pic:hover img{transform:scale(1.05)}
.facts div{padding:1.3rem 1.4rem;background:#fff}
.srow{gap:4rem;padding:4rem 0}.si{aspect-ratio:4/3.4;border-radius:var(--r1);box-shadow:var(--sh)}
.faq details{border-radius:var(--r2);padding:0 1.8rem;box-shadow:0 10px 30px -24px rgba(60,20,70,.5);transition:box-shadow .3s}
.faq details[open]{box-shadow:var(--sh);border-color:var(--brand)}
.faq summary{padding:1.5rem 0;font-size:1.2rem}
.cta .wrap{padding-top:8rem;padding-bottom:8rem}
.cta h2{font-size:clamp(2.6rem,6vw,5.6rem);max-width:16ch}
.cta img{opacity:.38}
.mas{columns:3 300px;column-gap:1.4rem}.mas button{margin-bottom:1.4rem;border-radius:var(--r2)}
/* showcase (parallax feature band) */
.show{position:relative;color:#fff;overflow:hidden;min-height:min(86vh,760px);display:flex;align-items:center;background:var(--plum)}
.show img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.show .wrap{position:relative;padding-top:6rem;padding-bottom:6rem}
.show h2{font-size:clamp(2.8rem,6.4vw,6rem);max-width:15ch;margin:1rem 0 1.4rem}
.show p{font-size:1.25rem;color:#f0e4f3;max-width:50ch;margin-bottom:2rem}
/* floors */
.floors{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.fl4{position:relative;border-radius:var(--r1);overflow:hidden;min-height:480px;color:#fff;display:flex;align-items:flex-end;background:var(--plum2)}
.fl4 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.fl4:hover img{transform:scale(1.08)}
.fl4::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(37,16,42,.95),rgba(37,16,42,.05) 70%)}
.fl4 div{position:relative;z-index:1;padding:1.8rem}
.fl4 i{font:normal 400 3.6rem/1 'DM Serif Display',serif;color:var(--brass);display:block}
.fl4 h3{font-size:1.5rem;margin:.3rem 0 .4rem}.fl4 p{font-size:1rem;color:#eadcee}
/* size guide */
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.sg div{padding:2.2rem 1.6rem;border-radius:var(--r2);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);text-align:center}
.sg b{display:block;font:400 clamp(2.8rem,4.5vw,4.2rem)/1 'DM Serif Display',serif;color:var(--brass)}
.sg b small{font-size:.4em;margin-left:.15em;color:#fff}
.sg h3{margin:.8rem 0 .4rem;font-size:1.2rem}.sg p{font-size:.98rem;margin:0 auto}
/* visit panel */
.visit{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.5rem}
.visit>div{padding:2.4rem;border-radius:var(--r1);background:#fff;box-shadow:0 14px 44px -26px rgba(60,20,70,.55)}
.visit>div:first-child{background:var(--grad);color:#fff}
.visit h3{font-size:1.5rem;margin-bottom:.7rem}.visit p{margin-bottom:.9rem;font-size:1.02rem}
.visit>div:first-child p{color:#fbeefa}
.visit .btn.line:hover{background:#fff;color:var(--brand-d);border-color:#fff}
/* floating enquire */
.fab{position:fixed;right:1.2rem;bottom:1.2rem;z-index:60;display:flex;align-items:center;gap:.6rem;background:var(--brand);color:#fff;font-weight:650;padding:.9rem 1.4rem;border-radius:99px;box-shadow:0 18px 40px -12px rgba(156,37,138,.8);transition:transform .25s,opacity .3s;opacity:0;transform:translateY(20px);pointer-events:none}
.fab.on{opacity:1;transform:none;pointer-events:auto}
.fab:hover{transform:translateY(-3px);background:var(--brand-d)}
.fab svg{width:22px;height:22px;stroke:#fff}
/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--rd,0)*90ms)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
/* inner heroes bigger */
.hx .in{min-height:380px}
.ft2{padding:6rem 0 2rem;background:linear-gradient(180deg,#25102a,#190a1d)}
.fc h4{font-size:1.1rem}.fc a,.fc p{font-size:1.02rem}
@media(max-width:1100px){.floors,.sg{grid-template-columns:1fr 1fr}.visit{grid-template-columns:1fr 1fr}.visit>div:first-child{grid-column:span 2}.stats .wrap{grid-template-columns:1fr 1fr}.stat:nth-child(2){border:0}.hx.home .in{grid-template-columns:1fr}.bc:nth-child(1){min-height:420px}}
@media(max-width:700px){body{font-size:1.06rem}.floors,.sg,.visit{grid-template-columns:1fr}.visit>div:first-child{grid-column:auto}.fl4{min-height:380px}.stats .wrap{gap:1.4rem}.stat{border:0}.hx.home h1{font-size:clamp(2.6rem,12vw,3.6rem)}.cta .wrap{padding-top:5rem;padding-bottom:5rem}.fab span{display:none}.fab{padding:.9rem}.scrollcue{display:none}.hx.home .in{min-height:0}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.mq .tr{animation:none}}
.hx.home h1{font-size:clamp(3rem,6vw,5.6rem)}
.hx.home .in{padding-top:3.5rem;padding-bottom:4.5rem}
.stkw{width:min(500px,100%)}
html,body{overflow-x:clip}
.show img{filter:brightness(.45) saturate(1.1)}
.show::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(37,16,42,.92) 0%,rgba(37,16,42,.65) 45%,rgba(37,16,42,.15) 100%)}
.show .wrap{z-index:1}
.show h2{text-shadow:0 4px 30px rgba(0,0,0,.45)}
.subs>div{padding:2.1rem;background:#fff;border-radius:var(--r2);box-shadow:0 12px 40px -26px rgba(60,20,70,.5);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;border-top:5px solid transparent;border-image:var(--grad) 1}
.subs>div:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.subs>div h3{font-size:1.25rem;margin-bottom:.55rem}.subs>div p{font-size:1.02rem;color:var(--mute)}
.sec:not(.tint) .subs>div{background:var(--mist);box-shadow:none}
