/* Layout: présentation-site éditoriale ; nuit de Riviera + doubles pages ivoire, photos plein cadre, serif Bodoni en très grand. */
:root{
  --night:#0A1019; --night2:#0F1723; --night3:#16202E; --sea:#14304A;
  --pearl:#F2EDE4; --ivory:#E9E2D5; --sand:#CFC4B2;
  --ink:#F4F0E8; --mute:#A9AFB8; --dim:#6B7380;
  --champ:#CDB27E; --champ2:#E8D5AA; --champ3:#9C8354; --champ-soft:rgba(205,178,126,.14); --champ-line:rgba(205,178,126,.45);
  --azure:#7DA9C7;
  --line:rgba(244,240,232,.1); --line2:rgba(244,240,232,.18);
  --dline:rgba(10,16,25,.12); --dline2:rgba(10,16,25,.22);
  --glass:rgba(12,18,28,.42); --glass-b:rgba(255,255,255,.14);
  --fs:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --fb:"Jost","Futura","Avenir Next","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1); --ease2:cubic-bezier(.7,0,.2,1);
  --nav:72px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--night);color:var(--ink);font:400 16px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
img{display:block;max-width:100%}
svg{display:block}
:focus-visible{outline:1px solid var(--champ);outline-offset:4px}
::selection{background:var(--champ);color:var(--night)}
.wrap{width:100%;max-width:1360px;margin-inline:auto;padding-inline:clamp(16px,4.5vw,64px)}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.lbl{font:500 11px/1.4 var(--fb);letter-spacing:.32em;text-transform:uppercase}
.it{font-family:var(--fs);font-style:italic;font-weight:400}
.champ{color:var(--champ)}
.ctxt{background:linear-gradient(100deg,var(--champ2),var(--champ) 45%,var(--champ3));-webkit-background-clip:text;background-clip:text;color:transparent}
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.4s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-2%,3%)}50%{transform:translate(3%,-2%)}75%{transform:translate(-3%,-3%)}100%{transform:translate(0,0)}}

/* ---------- Preloader ---------- */
.pre{position:fixed;inset:0;z-index:100;background:var(--night);display:flex;align-items:center;justify-content:center;animation:preOut 1.2s var(--ease2) 2.5s forwards;clip-path:ellipse(150% 150% at 50% 0%)}
@keyframes preOut{to{clip-path:ellipse(150% 0% at 50% 0%);visibility:hidden}}
.pre-in{display:flex;flex-direction:column;align-items:center;gap:26px;animation:fade .5s linear 2.2s forwards}
.pre-sun{position:relative;width:220px;height:110px;overflow:hidden}
.pre-sun i{position:absolute;left:50%;bottom:0;width:120px;height:120px;margin-left:-60px;border-radius:50%;background:radial-gradient(circle at 50% 40%,var(--champ2),var(--champ) 60%,var(--champ3));transform:translateY(100%);animation:sunrise 1.6s var(--ease) .3s forwards;box-shadow:0 0 60px rgba(205,178,126,.45)}
.pre-sun b{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--champ);transform:scaleX(0);animation:line .9s var(--ease2) .1s forwards}
@keyframes sunrise{to{transform:translateY(38%)}}
@keyframes line{to{transform:scaleX(1)}}
@keyframes fade{to{opacity:0}}
.pre-name{font:400 clamp(30px,5vw,54px)/1 var(--fs);letter-spacing:.02em;display:flex;overflow:hidden;padding:6px 0}
.pre-name span{display:inline-block;transform:translateY(110%);animation:up 1s var(--ease) forwards;animation-delay:calc(.7s + var(--i)*45ms)}
.pre-name em{font-style:italic;margin-left:.3em;display:flex}
@keyframes up{to{transform:none}}
.pre-meta{display:flex;gap:18px;align-items:center;color:var(--dim);opacity:0;animation:show .8s linear 1.3s forwards}
.pre-meta i{width:40px;height:1px;background:var(--line2)}
@keyframes show{to{opacity:1}}
.pre-skip .pre{display:none}

/* ---------- Cursor ---------- */
.cur,.cur-r{position:fixed;left:0;top:0;z-index:95;pointer-events:none;border-radius:50%;opacity:0;transition:opacity .3s}
.cur{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--champ)}
.cur-r{width:42px;height:42px;margin:-21px 0 0 -21px;border:1px solid rgba(244,240,232,.4);display:grid;place-items:center;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),background .4s,border-color .4s,opacity .3s;mix-blend-mode:normal}
.cur-r span{font:500 10px/1 var(--fb);letter-spacing:.2em;text-transform:uppercase;color:var(--night);opacity:0;transition:opacity .2s}
.has-cur .cur,.has-cur .cur-r{opacity:1}
.has-cur,.has-cur *{cursor:none!important}
.has-cur input,.has-cur textarea{cursor:text!important}
.cur-r.big{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--champ);border-color:var(--champ)}
.cur-r.big span{opacity:1}
.cur-r.hov{width:62px;height:62px;margin:-31px 0 0 -31px;border-color:var(--champ)}
.on-light .cur-r{border-color:rgba(10,16,25,.4)}

/* ---------- Nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:80;padding-top:env(safe-area-inset-top,0px);transition:background .5s,border-color .5s,color .5s}
.nav.solid{background:rgba(10,16,25,.7);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line)}
.nav .wrap{height:var(--nav);display:flex;align-items:center;gap:22px;max-width:none}
.brand{display:flex;flex-direction:column;line-height:1;text-align:left}
.brand b{font:500 19px/1 var(--fs);letter-spacing:.04em}
.brand b em{font-style:italic}
.brand small{font:500 9px/1 var(--fb);letter-spacing:.42em;text-transform:uppercase;color:var(--champ);margin-top:5px}
.nums{display:flex;gap:2px;margin-inline:auto}
.nums button{font:400 13px/1 var(--fs);font-style:italic;color:var(--dim);padding:10px 8px;position:relative;transition:color .3s}
.nums button:hover,.nums button.on{color:var(--ink)}
.nums button::after{content:"";position:absolute;left:50%;bottom:2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--champ);transform:scale(0);transition:transform .4s var(--ease)}
.nums button.on::after{transform:none}
.nums .tip{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);white-space:nowrap;font:500 10px/1 var(--fb);letter-spacing:.2em;text-transform:uppercase;background:var(--night3);border:1px solid var(--line2);padding:7px 10px;color:var(--ink);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-style:normal}
.nums button:hover .tip{opacity:1;transform:translate(-50%,0)}
.pager{display:none;align-items:center;gap:10px;margin-inline:auto;font:italic 400 14px/1 var(--fs);color:var(--mute)}
.pager button{width:34px;height:34px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;font-style:normal}
.nav-cta{display:flex;gap:10px}
.progress{position:absolute;left:0;bottom:-1px;height:1px;width:0;background:linear-gradient(90deg,var(--champ3),var(--champ2))}

.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;height:54px;padding:0 30px;border-radius:999px;font:500 12px/1 var(--fb);letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .4s,background .4s}
.btn-sm{height:42px;padding:0 20px;font-size:10.5px;gap:10px}
.btn-champ{background:var(--champ);color:var(--night)}
.btn-champ::before,.btn-line::before{content:"";position:absolute;inset:0;border-radius:inherit;transform:translateY(101%);transition:transform .6s var(--ease2);z-index:-1}
.btn-champ::before{background:var(--pearl)}
.btn-champ:hover::before,.btn-line:hover::before{transform:none}
.btn-line{border:1px solid var(--line2);color:var(--ink)}
.btn-line::before{background:var(--ink)}
.btn-line:hover{color:var(--night);border-color:var(--ink)}
.light .btn-line{border-color:var(--dline2);color:var(--night)}
.light .btn-line::before{background:var(--night)}
.light .btn-line:hover{color:var(--pearl)}
.btn .arr{transition:transform .4s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn:disabled{opacity:.35;pointer-events:none}
.tlink{display:inline-flex;gap:10px;align-items:center;font:500 11px/1 var(--fb);letter-spacing:.24em;text-transform:uppercase;color:var(--champ);padding-bottom:6px;border-bottom:1px solid var(--champ-line)}

/* ---------- Reveal & split ---------- */
.js [data-r]{opacity:0;transform:translateY(40px);transition:opacity 1.2s var(--ease),transform 1.4s var(--ease);transition-delay:calc(var(--d,0)*100ms)}
.js [data-r="fade"]{transform:none}
.js [data-r="scale"]{transform:scale(.94)}
.js [data-r="curtain"]{opacity:1;transform:none}
.js [data-r="curtain"]::after{content:"";position:absolute;inset:0;z-index:4;background:var(--curtain,var(--night));transform-origin:top;transition:transform 1.6s var(--ease2);transition-delay:calc(var(--d,0)*100ms)}
.js [data-r="curtain"].in::after{transform:scaleY(0)}
.js [data-r].in{opacity:1;transform:none}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em .04em .1em;margin:-.12em -.04em -.1em}
.w>i{display:inline-block;font-style:inherit;transform:translateY(115%);transition:transform 1.3s var(--ease);transition-delay:calc(var(--i)*22ms + var(--sd,0ms))}
.in .w>i{transform:none}
.no-anim .w>i{transform:none}

/* ---------- Sections ---------- */
.sec{position:relative;padding-block:clamp(110px,15vh,180px)}
.light{background:var(--pearl);color:var(--night);--curtain:var(--pearl)}
.light .mute{color:#5E6570}
.eyebrow{display:flex;align-items:center;gap:16px;margin:0 0 28px;color:var(--mute)}
.light .eyebrow{color:#5E6570}
.eyebrow b{font:italic 400 15px/1 var(--fs);letter-spacing:0;text-transform:none;color:var(--champ)}
.light .eyebrow b{color:var(--champ3)}
.eyebrow i{width:44px;height:1px;background:currentColor;opacity:.4}
.h2{font:400 clamp(44px,6.6vw,108px)/.98 var(--fs);letter-spacing:-.02em;margin:0;text-wrap:balance}
.h2 em{font-style:italic}
.lede{font-size:clamp(16px,1.25vw,19px);font-weight:300;color:var(--mute);max-width:46ch;margin:0;text-wrap:pretty}
.light .lede{color:#4E5561}
.sec-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:34px 70px;align-items:end;margin-bottom:clamp(50px,8vh,96px)}
.note{display:inline-flex;align-items:center;gap:10px;font:500 10px/1.4 var(--fb);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line2);border-radius:999px;padding:8px 14px}
.note::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--champ)}
.light .note{color:#5E6570;border-color:var(--dline2)}
.glass{background:var(--glass);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid var(--glass-b)}

/* ---------- 01 Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;padding:calc(var(--nav) + 40px) 0 0}
.hero-bg{position:absolute;inset:-8% 0 0 0;z-index:0;will-change:transform}
.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.2);transition:transform 3.2s var(--ease)}
.ready .hero-bg img{transform:scale(1.04)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,16,25,.55),rgba(10,16,25,.15) 30%,rgba(10,16,25,.35) 62%,var(--night) 100%),linear-gradient(90deg,rgba(10,16,25,.78),rgba(10,16,25,.35) 55%,transparent 80%)}
.hero-in{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center}
.hero-top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;color:var(--ink)}
.coord{font:italic 400 14px/1 var(--fs);color:var(--champ2)}
.hero h1{font:400 clamp(58px,10.4vw,180px)/.92 var(--fs);letter-spacing:-.03em;margin:clamp(30px,6vh,70px) 0 34px}
.hero h1 .l{display:block}
.hero h1 .l2{padding-left:clamp(0px,9vw,160px)}
.hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.hero-row p{max-width:44ch;margin:0;font-size:clamp(16px,1.3vw,19px);font-weight:300;color:#DAD6CF}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-foot{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:0;border-top:1px solid var(--line);margin-top:clamp(40px,7vh,80px)}
.hero-foot>div{padding:22px 24px 26px 0;display:flex;flex-direction:column;gap:6px}
.hero-foot b{font:400 26px/1 var(--fs)}
.hero-foot b em{font-style:italic;color:var(--champ)}
.hero-foot span{font-size:14px;font-weight:300;color:var(--mute)}
.scroll{display:flex;align-items:center;gap:14px;color:var(--mute);padding:22px 0}
.scroll i{width:1px;height:44px;background:var(--line2);position:relative;overflow:hidden}
.scroll i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--champ);animation:drip 2s var(--ease2) infinite}
@keyframes drip{to{top:100%}}

.marquee{border-block:1px solid var(--line);overflow:hidden;padding:26px 0;background:var(--night)}
.mq{display:flex;width:max-content;animation:mq 46s linear infinite}
.mq span{display:flex;align-items:center;gap:44px;padding-right:44px;font:400 clamp(36px,4.6vw,70px)/1 var(--fs);white-space:nowrap}
.mq span.o{font-style:italic;color:transparent;-webkit-text-stroke:1px rgba(244,240,232,.45)}
.mq .s{width:9px;height:9px;border-radius:50%;background:var(--champ);flex:none}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- Manifesto ---------- */
.manif{position:relative;height:250vh;background:var(--pearl);color:var(--night)}
.manif-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.manif p{font:400 clamp(40px,6.2vw,104px)/1.04 var(--fs);letter-spacing:-.02em;margin:0;max-width:18ch}
.manif .wd{color:rgba(10,16,25,.12);transition:color .5s}
.manif .wd.on{color:var(--night)}
.manif .wd.em{font-style:italic}
.manif .wd.on.em{color:var(--champ3)}
.manif .sig{position:absolute;right:clamp(16px,4.5vw,64px);bottom:52px;text-align:right;color:#5E6570}
.manif .sun{position:absolute;right:8%;top:14%;width:clamp(120px,16vw,240px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--champ2),var(--champ) 55%,var(--champ3));opacity:.9;transform:translateY(var(--sy,0px))}

/* ---------- 02 Audience ---------- */
.aud{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(40px,6vw,100px);align-items:start}
.alist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.alist li{border-bottom:1px solid var(--line)}
.alist button{width:100%;display:grid;grid-template-columns:60px 1fr auto;gap:20px;align-items:center;padding:30px 0;text-align:left;transition:padding .6s var(--ease)}
.alist .n{font:italic 400 16px/1 var(--fs);color:var(--champ)}
.alist b{display:block;font:400 clamp(28px,3vw,46px)/1.05 var(--fs);letter-spacing:-.01em;transition:transform .6s var(--ease)}
.alist span.d{display:block;font-size:15px;font-weight:300;color:var(--mute);margin-top:8px;max-height:0;overflow:hidden;opacity:0;transition:max-height .6s var(--ease),opacity .5s}
.alist .ar{width:46px;height:46px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;transition:all .5s var(--ease)}
.alist li.on button{padding-left:20px}
.alist li.on span.d{max-height:80px;opacity:1}
.alist li.on .ar{background:var(--champ);border-color:var(--champ);color:var(--night);transform:rotate(-45deg)}
.aimg{position:sticky;top:calc(var(--nav) + 40px);aspect-ratio:4/5;border-radius:4px;overflow:hidden}
.aimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity 1s var(--ease),transform 1.6s var(--ease)}
.aimg img.on{opacity:1;transform:none}
.aimg figcaption{position:absolute;left:18px;bottom:18px;right:18px;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;color:var(--ink)}
.aimg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,16,25,.6),transparent 40%);z-index:1}
.floatimg{position:fixed;left:0;top:0;z-index:70;width:260px;aspect-ratio:3/4;pointer-events:none;overflow:hidden;border-radius:4px;opacity:0;transform:translate(-50%,-50%) scale(.8);transition:opacity .4s,transform .5s var(--ease)}
.floatimg img{width:100%;height:100%;object-fit:cover}
.floatimg.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.princ{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(60px,9vh,110px);background:var(--line);border:1px solid var(--line)}
.princ div{background:var(--night);padding:34px 30px}
.princ b{display:block;font:italic 400 34px/1 var(--fs);color:var(--champ);margin-bottom:12px}
.princ span{font-weight:300;color:var(--mute)}

/* ---------- 03 Site showcase ---------- */
.show-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.seg{display:inline-flex;border:1px solid var(--dline2);border-radius:999px;padding:4px}
.seg button{font:500 10.5px/1 var(--fb);letter-spacing:.22em;text-transform:uppercase;padding:11px 18px;border-radius:999px;color:#5E6570;transition:all .35s}
.seg button[aria-pressed="true"]{background:var(--night);color:var(--pearl)}
.stage{display:flex;justify-content:center}
.device{width:100%;max-width:100%;background:var(--night);border:1px solid var(--dline2);border-radius:14px;overflow:hidden;transition:max-width .9s var(--ease2),border-radius .7s,border-width .5s;box-shadow:0 70px 120px -60px rgba(10,16,25,.6)}
.device.mobile{max-width:390px;border-radius:50px;border:11px solid #121A26}
.chrome{height:46px;display:flex;align-items:center;gap:16px;padding:0 18px;background:#0D141F;border-bottom:1px solid var(--line)}
.dots{display:flex;gap:7px}
.dots i{width:11px;height:11px;border-radius:50%;background:#27303D}
.ptabs{display:flex;gap:4px}
.ptabs button{font:500 10px/1 var(--fb);letter-spacing:.18em;text-transform:uppercase;padding:9px 12px;border-radius:999px;color:var(--dim);transition:all .3s}
.ptabs button[aria-pressed="true"]{background:#1A2432;color:var(--ink)}
.url{margin-left:auto;height:28px;border-radius:999px;background:var(--night);display:flex;align-items:center;gap:8px;padding:0 16px;font-size:11.5px;color:var(--dim);letter-spacing:.04em;white-space:nowrap}
.url .ic{width:13px;height:13px}
.device.mobile .chrome{justify-content:center}
.device.mobile .dots,.device.mobile .url{display:none}
.vp{height:720px;overflow-y:auto;container-type:inline-size;container-name:site;background:var(--night);scrollbar-width:thin;scroll-behavior:smooth;position:relative}
.device.mobile .vp{height:720px}

/* mock site */
.ms{color:var(--ink);position:relative}
.ms-nav{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:30px;padding:20px 40px;transition:background .4s}
.ms-nav.solid{background:rgba(10,16,25,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ms-nav .brand{margin-right:auto}
.ms-links{display:flex;gap:28px;font:500 10.5px/1 var(--fb);letter-spacing:.22em;text-transform:uppercase;color:#DAD6CF}
.ms-links button:hover{color:var(--champ)}
.ms-lang{font:500 10.5px/1 var(--fb);letter-spacing:.2em;color:var(--mute)}
.ms-lang b{color:var(--ink);font-weight:500}
.ms-burger{display:none;width:42px;height:42px;border:1px solid var(--line2);border-radius:50%;place-items:center}
.ms-hero{position:relative;height:720px;margin-top:-82px;display:flex;align-items:flex-end;padding:0 40px 60px;overflow:hidden}
.ms-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 18s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-1%,-1%)}}
.ms-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,16,25,.55),transparent 30%,rgba(10,16,25,.25) 55%,rgba(10,16,25,.92))}
.ms-hero .in{position:relative;z-index:2;width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.ms-kick{display:block;color:var(--champ2);margin-bottom:18px}
.ms-hero h3{font:400 clamp(52px,9.4cqi,120px)/.94 var(--fs);letter-spacing:-.03em;margin:0}
.ms-hero p{max-width:34ch;margin:0 0 20px;font-weight:300;color:#DAD6CF;font-size:15px}
.ms-side{display:flex;flex-direction:column;align-items:flex-start;max-width:360px}
.ms-btns{display:flex;gap:10px;flex-wrap:wrap}
.wa{position:sticky;float:right;bottom:22px;margin:-80px 22px 0 0;z-index:7;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;color:#fff;box-shadow:0 14px 30px -8px rgba(37,211,102,.6)}
.wa .ic{width:28px;height:28px;stroke-width:1.6}
.ms-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:90px 40px 70px;align-items:end;clear:both}
.ms-intro h4{font:400 clamp(34px,5cqi,58px)/1.04 var(--fs);letter-spacing:-.02em;margin:0}
.ms-intro h4 em{font-style:italic;color:var(--champ)}
.ms-pill{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.ms-pill div{background:var(--night);padding:20px}
.ms-pill b{display:block;font:italic 400 22px/1.1 var(--fs);color:var(--champ)}
.ms-pill span{font-size:13px;font-weight:300;color:var(--mute)}
.ms-exp{padding:0 40px 80px}
.ms-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.ms-h h4{font:400 clamp(34px,5cqi,58px)/1 var(--fs);letter-spacing:-.02em;margin:10px 0 0}
.ms-h h4 em{font-style:italic}
.ms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ms-card{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;text-align:left;display:flex;align-items:flex-end;padding:22px}
.ms-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.ms-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(10,16,25,.9),rgba(10,16,25,.05) 60%);transition:background .6s}
.ms-card:hover img{transform:scale(1.08)}
.ms-card:hover::before{background:linear-gradient(0deg,rgba(10,16,25,.95),rgba(10,16,25,.35))}
.ms-card>div{position:relative;z-index:2;width:100%}
.ms-card .n{font:italic 400 14px/1 var(--fs);color:var(--champ2)}
.ms-card b{display:block;font:400 30px/1.02 var(--fs);margin:8px 0 0}
.ms-card span.d{display:block;font-size:13.5px;font-weight:300;color:#D6D2CB;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s,margin .5s}
.ms-card:hover span.d{max-height:80px;opacity:1;margin-top:10px}
.ms-card .go{display:flex;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2);color:var(--champ2)}
.ms-dest{padding:26px 0;border-block:1px solid var(--line);overflow:hidden}
.ms-dest .mq{animation-duration:34s}
.ms-dest .mq span{font-size:40px;gap:28px;padding-right:28px}
.ms-quote{padding:100px 40px;text-align:center;background:var(--pearl);color:var(--night)}
.ms-quote p{font:italic 400 clamp(34px,5.4cqi,64px)/1.1 var(--fs);margin:0 auto 18px;max-width:18ch;letter-spacing:-.01em}
.ms-cta{position:relative;margin:0;min-height:420px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:60px 30px}
.ms-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ms-cta::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(10,16,25,.6)}
.ms-cta>div{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:22px}
.ms-cta h4{font:400 clamp(38px,6cqi,72px)/1 var(--fs);margin:0;letter-spacing:-.02em}
.ms-foot{padding:44px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;border-top:1px solid var(--line);font-size:13px;color:var(--mute);font-weight:300}
.ms-foot b{display:block;color:var(--ink);font-weight:500;letter-spacing:.2em;text-transform:uppercase;font-size:10.5px;margin-bottom:12px}
.ms-rows{padding:30px 40px 80px}
.ms-row{position:relative;width:100%;display:grid;grid-template-columns:70px 1fr 160px;gap:20px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-align:left;overflow:hidden}
.ms-row .n{font:italic 400 16px/1 var(--fs);color:var(--champ)}
.ms-row b{display:block;font:400 clamp(30px,4.6cqi,52px)/1 var(--fs);letter-spacing:-.01em;transition:transform .6s var(--ease)}
.ms-row:hover b{transform:translateX(14px);font-style:italic}
.ms-row .d{display:block;font-size:14px;font-weight:300;color:var(--mute);margin-top:8px}
.ms-row .th{width:160px;aspect-ratio:4/3;overflow:hidden;border-radius:3px}
.ms-row .th img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 1s var(--ease)}
.ms-row:hover .th img{transform:none}
.ms-form{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:40px 40px 90px}
.ms-form .fimg{position:relative;min-height:460px;overflow:hidden;border-radius:3px}
.ms-form .fimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hot{position:absolute;z-index:8;width:28px;height:28px;border-radius:50%;background:var(--champ);color:var(--night);font:italic 400 14px/28px var(--fs);text-align:center;animation:ping 2.2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(205,178,126,.6)}70%{box-shadow:0 0 0 14px rgba(205,178,126,0)}100%{box-shadow:0 0 0 0 rgba(205,178,126,0)}}
.hot .tt{position:absolute;left:38px;top:50%;transform:translateY(-50%);width:230px;padding:12px 14px;background:var(--pearl);color:var(--night);font:400 13px/1.45 var(--fb);text-align:left;opacity:0;pointer-events:none;transition:opacity .25s;border-radius:3px}
.hot:hover .tt,.hot:focus .tt{opacity:1}
@container site (max-width:680px){
  .ms-links,.ms-lang,.ms-nav .btn{display:none}
  .ms-burger{display:grid}
  .ms-nav{padding:16px 20px}
  .ms-hero{height:640px;padding:0 20px 40px;margin-top:-74px}
  .ms-hero h3{font-size:56px}
  .ms-side{max-width:none}
  .ms-btns .btn{flex:1;padding:0 16px}
  .ms-intro{grid-template-columns:1fr;padding:60px 20px 40px;gap:26px}
  .ms-pill{grid-template-columns:1fr}
  .ms-exp{padding:0 20px 60px}
  .ms-grid{grid-template-columns:1fr 1fr;gap:10px}
  .ms-card{padding:14px}
  .ms-card b{font-size:21px}
  .ms-card .go{display:none}
  .ms-quote{padding:70px 20px}
  .ms-foot{grid-template-columns:1fr;padding:34px 20px}
  .ms-rows{padding:20px}
  .ms-row{grid-template-columns:40px 1fr}
  .ms-row .th{display:none}
  .ms-form{grid-template-columns:1fr;padding:20px 20px 60px}
  .ms-form .fimg{min-height:220px}
  .hot .tt{left:auto;right:38px;width:180px}
  .wa{margin-right:16px}
}
.notes3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--dline2);margin-top:34px}
.notes3>div{padding:26px 26px 0 0;display:flex;gap:16px}
.notes3 .n{font:italic 400 30px/1 var(--fs);color:var(--champ3)}
.notes3 b{display:block;font-weight:500;margin-bottom:4px}
.notes3 span{font-size:14.5px;font-weight:300;color:#4E5561}

/* ---------- 04 Horizontal experiences ---------- */
.hsec{position:relative}
.hpin{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:var(--nav)}
.hhead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(26px,5vh,50px)}
.hsec .h2{font-size:clamp(44px,5.6vw,92px)}
.hcount{font:italic 400 64px/.8 var(--fs);color:var(--champ)}
.hcount small{font-size:22px;color:var(--dim)}
.htrack{display:flex;gap:22px;padding-inline:clamp(16px,4.5vw,64px);will-change:transform}
.hcard{position:relative;flex:none;width:clamp(300px,30vw,440px);height:min(58vh,540px);overflow:hidden;border-radius:3px}
.hcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 1.6s var(--ease)}
.hcard.on img{transform:scale(1)}
.hcard::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(10,16,25,.92),rgba(10,16,25,.05) 55%)}
.hcard .in{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:28px}
.hcard .n{position:absolute;z-index:2;top:22px;left:26px;font:italic 400 18px/1 var(--fs);color:var(--champ2)}
.hcard .fr{display:block;color:var(--champ2);margin-bottom:10px}
.hcard h3{font:400 clamp(32px,2.8vw,44px)/1 var(--fs);margin:0 0 12px;letter-spacing:-.01em}
.hcard p{margin:0;font-weight:300;font-size:14.5px;color:#D6D2CB;max-width:34ch}
.hcard .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.hcard .tags span{font:500 9.5px/1 var(--fb);letter-spacing:.2em;text-transform:uppercase;padding:7px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px}
.hbar{margin:clamp(26px,5vh,46px) clamp(16px,4.5vw,64px) 0;height:1px;background:var(--line)}
.hbar i{display:block;height:100%;width:0;background:var(--champ)}

/* ---------- 05 Request ---------- */
.req{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}
.form-card{background:var(--night2);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.fsteps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.fsteps button{padding:20px 22px;text-align:left;display:flex;gap:12px;align-items:baseline;color:var(--dim);position:relative;transition:color .3s}
.fsteps button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--champ);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease2)}
.fsteps button.on{color:var(--ink)}
.fsteps button.on::after{transform:none}
.fsteps button.ok{color:var(--mute)}
.fsteps .n{font:italic 400 18px/1 var(--fs);color:var(--champ)}
.fsteps .t{font:500 10.5px/1 var(--fb);letter-spacing:.22em;text-transform:uppercase}
.fsteps button:disabled{cursor:default}
.fbody{padding:clamp(24px,3.4vw,44px);min-height:480px}
.fbody h3{font:400 clamp(34px,3.4vw,50px)/1 var(--fs);letter-spacing:-.02em;margin:0 0 10px}
.fbody h3 em{font-style:italic;color:var(--champ)}
.fbody .sub{margin:0 0 28px;font-weight:300;color:var(--mute)}
.anim{animation:swap .7s var(--ease)}
@keyframes swap{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.xopts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.xo{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:3px;text-align:left;display:flex;align-items:flex-end;padding:14px;border:1px solid transparent;transition:border-color .3s}
.xo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s;filter:saturate(.6) brightness(.7)}
.xo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(10,16,25,.85),transparent 70%)}
.xo b{position:relative;z-index:2;font:400 20px/1.05 var(--fs)}
.xo .ck{position:absolute;z-index:2;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;transition:all .3s}
.xo .ck .ic{width:13px;height:13px;opacity:0}
.xo:hover img{transform:scale(1.06);filter:saturate(.9) brightness(.85)}
.xo[aria-pressed="true"]{border-color:var(--champ)}
.xo[aria-pressed="true"] img{filter:none}
.xo[aria-pressed="true"] .ck{background:var(--champ);border-color:var(--champ);color:var(--night)}
.xo[aria-pressed="true"] .ck .ic{opacity:1}
.flab{display:block;color:var(--dim);margin:28px 0 14px}
.flab:first-of-type{margin-top:0}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line2);font-size:14px;font-weight:400;color:#DAD6CF;transition:all .3s}
.chip:hover{border-color:var(--mute)}
.chip[aria-pressed="true"]{background:var(--champ);border-color:var(--champ);color:var(--night)}
.chip small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-top:-2px}
.chip.tall{height:auto;padding:10px 18px;text-align:left}
.stepper{display:inline-flex;align-items:center;gap:22px;border:1px solid var(--line2);border-radius:999px;padding:6px}
.stepper button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);font-size:20px;line-height:1;transition:all .25s}
.stepper button:hover{background:var(--ink);color:var(--night)}
.stepper b{font:400 30px/1 var(--fs);min-width:40px;text-align:center}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field.full{grid-column:1/-1}
.field label{color:var(--dim)}
.field label i{font-style:normal;color:var(--champ)}
.field input,.field textarea{background:transparent;border:0;border-bottom:1px solid var(--line2);padding:10px 0 12px;font-size:17px;font-weight:300;outline:none;transition:border-color .3s;width:100%;border-radius:0}
.field textarea{resize:vertical;min-height:70px}
.field input:focus,.field textarea:focus{border-color:var(--champ)}
.field.err input{border-color:#D98B7A}
.field .msg{font-size:12.5px;color:#E4A596}
.ffoot{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px clamp(24px,3.4vw,44px);border-top:1px solid var(--line)}
.ffoot .hint{font-size:13px;font-weight:300;color:var(--dim);flex:1;text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.done{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.seal{width:84px;height:84px;border-radius:50%;border:1px solid var(--champ);display:grid;place-items:center;color:var(--champ);animation:sealIn 1s var(--ease) both}
@keyframes sealIn{from{transform:scale(.6) rotate(-40deg);opacity:0}}
.seal svg{width:36px;height:36px;stroke-dasharray:30;stroke-dashoffset:30;animation:draw .7s .4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.brief{border-radius:4px;padding:26px;position:sticky;top:calc(var(--nav) + 30px);background:var(--pearl);color:var(--night)}
.brief .lbl{color:var(--champ3)}
.brief h4{font:400 30px/1.05 var(--fs);margin:12px 0 6px}
.brief h4 em{font-style:italic}
.brief p.s{margin:0 0 22px;font-size:14px;font-weight:300;color:#4E5561}
.bmsg{border-radius:18px 18px 18px 4px;background:#fff;padding:16px 18px;box-shadow:0 20px 40px -24px rgba(10,16,25,.4);font-size:14px;line-height:1.55;transition:box-shadow .4s}
.bmsg .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11.5px;color:#6B7280}
.bmsg .top b{display:flex;gap:8px;align-items:center;color:#111;font-weight:600;font-size:13px}
.bmsg .top b i{width:26px;height:26px;border-radius:50%;background:#25D366;display:grid;place-items:center;color:#fff}
.bmsg .top b i .ic{width:15px;height:15px;stroke-width:1.8}
.bmsg dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px}
.bmsg dt{color:#6B7280}
.bmsg dd{margin:0;text-align:right;font-weight:500;color:#111;overflow-wrap:anywhere}
.bmsg.live{box-shadow:0 0 0 2px var(--champ),0 20px 40px -24px rgba(10,16,25,.4)}
.brief .foot{margin-top:18px;font-size:12.5px;color:#5E6570;display:flex;gap:8px}

/* ---------- 06 Calendar ---------- */
.cal{display:grid;grid-template-columns:repeat(12,1fr);border-top:1px solid var(--dline2);border-bottom:1px solid var(--dline2)}
.cal .m{position:relative;padding:22px 8px 90px;border-right:1px solid var(--dline);min-width:0}
.cal .m:last-child{border-right:0}
.cal .m>span{font:italic 400 18px/1 var(--fs);color:#5E6570;text-transform:capitalize}
.cal .ev{position:absolute;left:8px;right:-40px;z-index:2;text-align:left;display:flex;gap:10px;align-items:center;padding:8px 12px 8px 8px;border-radius:999px;background:#fff;border:1px solid var(--dline);font-size:12.5px;white-space:nowrap;transition:all .35s var(--ease);box-shadow:0 10px 24px -16px rgba(10,16,25,.4)}
.cal .ev i{width:10px;height:10px;border-radius:50%;background:var(--champ);flex:none}
.cal .ev:hover,.cal .ev.on{background:var(--night);color:var(--pearl);border-color:var(--night);z-index:3}
.cal-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0;margin-top:34px;background:var(--night);color:var(--ink);border-radius:4px;overflow:hidden;min-height:340px}
.cal-detail .im{position:relative;min-height:280px}
.cal-detail .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cal-detail .tx{padding:clamp(24px,3.5vw,48px);display:flex;flex-direction:column;justify-content:center;gap:14px}
.cal-detail .tx .when{color:var(--champ2)}
.cal-detail h4{font:400 clamp(34px,3.6vw,54px)/1 var(--fs);letter-spacing:-.02em;margin:0}
.cal-detail h4 em{font-style:italic}
.cal-detail p{margin:0;font-weight:300;color:#D6D2CB;max-width:44ch}

/* ---------- 07 Map ---------- */
.map{position:relative;aspect-ratio:1200/560;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:radial-gradient(80% 90% at 50% 100%,#122A40,#0B1522 70%)}
.map svg{position:absolute;inset:0;width:100%;height:100%}
.map .pt{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px}
.map .pt i{width:14px;height:14px;border-radius:50%;background:var(--night);border:2px solid var(--champ);transition:all .35s;position:relative}
.map .pt i::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid var(--champ-line);animation:ring 2.4s infinite}
@keyframes ring{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.map .pt span{font:400 clamp(14px,1.4vw,19px)/1 var(--fs);white-space:nowrap;transition:color .3s}
.map .pt.up{flex-direction:column-reverse}
.map .pt:hover i,.map .pt.on i{background:var(--champ);transform:scale(1.3)}
.map .pt.on span{color:var(--champ2);font-style:italic}
.map-card{position:absolute;left:22px;top:22px;width:min(440px,44%);border-radius:4px;overflow:hidden;z-index:4;display:grid;grid-template-columns:150px 1fr}
.map-card .im{overflow:hidden;min-height:150px}
.map-card img{width:100%;height:100%;object-fit:cover}
.map-card .tx{padding:16px 18px}
.map-card h4{font:400 28px/1 var(--fs);margin:6px 0 6px}
.map-card p{margin:0;font-size:14px;font-weight:300;color:#D6D2CB}
.map-legend{position:absolute;left:22px;bottom:18px;color:var(--mute);z-index:3}
.dest-m{display:none}

/* ---------- 08 Mobile ---------- */
.mob{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(40px,7vw,120px);align-items:center}
.feat{list-style:none;padding:0;margin:34px 0 0;border-top:1px solid var(--line)}
.feat li{display:grid;grid-template-columns:50px 1fr;gap:10px;padding:22px 0;border-bottom:1px solid var(--line)}
.feat .n{font:italic 400 22px/1 var(--fs);color:var(--champ)}
.feat b{display:block;font:400 26px/1.1 var(--fs);margin-bottom:6px}
.feat span{font-weight:300;color:var(--mute)}
.phone{width:320px;max-width:100%;aspect-ratio:320/660;border-radius:56px;padding:11px;background:linear-gradient(145deg,#3B4350,#131922 35%,#2B323C 70%,#141A22);box-shadow:0 0 0 1px #4A525E,0 90px 140px -50px rgba(0,0,0,.95);position:relative;margin-inline:auto}
.screen{width:100%;height:100%;border-radius:46px;overflow:hidden;position:relative;background:var(--night)}
.island{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:100px;height:29px;border-radius:20px;background:#000;z-index:10}
.pscroll{position:absolute;inset:0;overflow-y:auto;scrollbar-width:none}
.pscroll::-webkit-scrollbar{display:none}
.p-hero{position:relative;height:560px;display:flex;align-items:flex-end;padding:0 20px 34px}
.p-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,16,25,.6),transparent 30%,rgba(10,16,25,.95))}
.p-hero>div{position:relative;z-index:2}
.p-top{position:absolute;z-index:5;top:52px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center}
.p-top .brand b{font-size:15px}
.p-top .brand small{font-size:7.5px}
.p-hero h5{font:400 44px/.95 var(--fs);letter-spacing:-.03em;margin:10px 0 16px}
.p-hero .btn{height:46px;width:100%}
.p-list{padding:26px 16px 90px;display:flex;flex-direction:column;gap:10px}
.p-list .c{position:relative;height:150px;overflow:hidden;border-radius:3px;display:flex;align-items:flex-end;padding:14px}
.p-list .c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-list .c::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(10,16,25,.85),transparent)}
.p-list .c b{position:relative;z-index:2;font:400 24px/1 var(--fs)}
.p-wa{position:absolute;z-index:9;right:16px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;color:#fff;box-shadow:0 14px 30px -8px rgba(37,211,102,.7);animation:bob 3s ease-in-out infinite}
.p-wa .ic{width:26px;height:26px;stroke-width:1.7}
@keyframes bob{50%{transform:translateY(-6px)}}
.p-chat{position:absolute;z-index:9;left:14px;right:14px;bottom:92px;border-radius:18px;padding:14px;background:#fff;color:#111;font-size:13px;transform:translateY(20px);opacity:0;transition:all .6s cubic-bezier(.3,1.4,.5,1);pointer-events:none}
.p-chat.show{transform:none;opacity:1;pointer-events:auto}
.p-chat b{display:block;font-size:13.5px;margin-bottom:4px}
.p-chat span{color:#555}

/* ---------- 09 Identity ---------- */
.ident{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sw{aspect-ratio:3/4;border-radius:4px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .6s var(--ease)}
.sw:hover{transform:translateY(-8px)}
.sw b{font:italic 400 26px/1.05 var(--fs)}
.sw span{font:500 10.5px/1.5 var(--fb);letter-spacing:.2em;text-transform:uppercase}
.type{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;margin-top:14px}
.tcard{border:1px solid var(--dline2);border-radius:4px;padding:30px;min-width:0}
.tcard .big{font:400 clamp(90px,12vw,200px)/.9 var(--fs);letter-spacing:-.04em}
.tcard .big em{font-style:italic;color:var(--champ3)}
.tcard .big2{font:300 clamp(40px,5vw,80px)/1 var(--fb);letter-spacing:.02em}
.tcard p{margin:14px 0 0;color:#4E5561;font-weight:300}
.tone{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.tone div{border-top:1px solid var(--dline2);padding-top:20px}
.tone q{display:block;font:italic 400 24px/1.25 var(--fs);quotes:"« " " »";margin-bottom:10px}
.tone span{font-size:14px;color:#4E5561;font-weight:300}

/* ---------- 10 Scope ---------- */
.scope{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px)}
.pages{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);counter-reset:p}
.pages li{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.pages li::before{counter-increment:p;content:counter(p,decimal-leading-zero);font:italic 400 15px/1 var(--fs);color:var(--champ)}
.pages b{font:400 24px/1.1 var(--fs)}
.pages span{font-size:13.5px;font-weight:300;color:var(--mute);text-align:right}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.fgrid div{background:var(--night);padding:24px}
.fgrid .ic{color:var(--champ);width:24px;height:24px;margin-bottom:14px}
.fgrid b{display:block;font-weight:500;margin-bottom:4px}
.fgrid span{font-size:14px;font-weight:300;color:var(--mute)}
.tl{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(50px,8vh,90px);position:relative}
.tl::before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:var(--line2)}
.tl div{position:relative;padding:36px 20px 0 0}
.tl div::before{content:"";position:absolute;left:0;top:4px;width:11px;height:11px;border-radius:50%;background:var(--night);border:1px solid var(--champ)}
.tl div.on::before{background:var(--champ)}
.tl .lbl{color:var(--champ)}
.tl b{display:block;font:400 26px/1.1 var(--fs);margin:10px 0 6px}
.tl span{font-size:14px;font-weight:300;color:var(--mute)}

/* ---------- 11 Final ---------- */
.final{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding-block:150px 100px}
.final-bg{position:absolute;inset:0}
.final-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 3.4s var(--ease)}
.final.in .final-bg img{transform:scale(1)}
.final-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--night),rgba(10,16,25,.35) 30%,rgba(10,16,25,.5) 70%,var(--night))}
.final .wrap{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}
.stmt{font:400 clamp(48px,8.4vw,150px)/.98 var(--fs);letter-spacing:-.03em;margin:26px 0 30px}
.stmt .l{display:block}
.final p.s{max-width:52ch;margin:0 auto;font-size:18px;font-weight:300;color:#E4E0D8}
.ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:38px}
.next{margin-top:44px;width:min(900px,100%);text-align:left;border-radius:4px;padding:30px}
.next h4{font:400 34px/1 var(--fs);margin:0 0 20px}
.next h4 em{font-style:italic;color:var(--champ)}
.next ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.next li{background:rgba(10,16,25,.6);padding:22px;display:flex;flex-direction:column;gap:8px}
.next li .n{font:italic 400 30px/1 var(--fs);color:var(--champ)}
.next li b{font-weight:500}
.next li span{font-size:14px;font-weight:300;color:var(--mute)}
footer{border-top:1px solid var(--line);padding-block:26px}
footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12.5px;font-weight:300;color:var(--dim)}
.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;z-index:85;padding:14px 22px;border-radius:999px;background:var(--pearl);color:var(--night);font-size:14px;box-shadow:0 20px 40px -10px rgba(0,0,0,.5);transition:all .45s var(--ease);pointer-events:none;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .nums{display:none}
  .pager{display:flex}
  .ident{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .nav-cta .btn-line{display:none}
  .sec-head,.aud,.req,.mob,.scope,.type,.cal-detail{grid-template-columns:minmax(0,1fr)}
  .hero-foot{grid-template-columns:1fr}
  .hero-foot>div{padding:14px 0}
  .scroll{display:none}
  .manif{height:auto}
  .manif-pin{position:relative;height:auto;padding-block:120px}
  .manif .wd{color:var(--night)}
  .manif .wd.em{color:var(--champ3)}
  .aimg{display:none}
  .princ,.notes3,.tone,.next ol{grid-template-columns:1fr}
  .hsec{height:auto!important}
  .hpin{position:relative;height:auto;padding-top:0}
  .htrack{flex-direction:column;transform:none!important;gap:14px}
  .hcard{width:100%;height:440px}
  .hcard img{transform:none}
  .hbar,.hcount{display:none}
  .hhead{flex-direction:column;align-items:flex-start}
  .cal{grid-template-columns:repeat(4,1fr)}
  .cal .m{border-bottom:1px solid var(--dline);padding-bottom:70px}
  .cal .ev{position:static;white-space:normal;margin-top:8px;width:100%;border-radius:14px}
  .cal .m{padding-bottom:18px}
  .map{display:none}
  .dest-m{display:grid;grid-template-columns:1fr;gap:10px}
  .dest-m button{display:grid;grid-template-columns:90px 1fr;gap:16px;align-items:center;text-align:left;border-bottom:1px solid var(--line);padding-bottom:10px}
  .dest-m img{width:90px;aspect-ratio:1;object-fit:cover;border-radius:3px}
  .dest-m b{display:block;font:400 26px/1 var(--fs)}
  .dest-m span{font-size:13.5px;font-weight:300;color:var(--mute)}
  .tl{grid-template-columns:1fr 1fr;row-gap:30px}
  .brief{position:relative;top:auto}
}
@media (max-width:640px){
  .brand small{letter-spacing:.3em}
  .xopts{grid-template-columns:1fr 1fr}
  .form{grid-template-columns:1fr}
  .fsteps button{padding:16px 12px;flex-direction:column;gap:6px}
  .fsteps .t{font-size:9px;letter-spacing:.14em}
  .ident{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgrid{grid-template-columns:1fr}
  .pages span{display:none}
  .cal{grid-template-columns:repeat(3,1fr)}
  .btn{height:50px;padding:0 22px}
  .hero h1 .l2{padding-left:0}
  .device.mobile{border-width:7px;border-radius:42px}
  .nav .wrap{gap:10px}
  .brand b{font-size:15px}
  .brand small{font-size:8px}
  .pager{display:none}
  .sw b{font-size:20px;overflow-wrap:anywhere}
  .sw{padding:14px}
  .nav-cta .btn{padding:0 14px;letter-spacing:.14em}
  .cal .ev{position:static;white-space:normal;margin-top:8px;width:100%;padding:7px 10px 7px 8px;font-size:11.5px;border-radius:14px}
  .cal .m{padding-bottom:16px}
  .ptabs button{padding:8px 9px;font-size:9px;letter-spacing:.12em}
}
@media (hover:none),(pointer:coarse){.cur,.cur-r,.floatimg{display:none}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .pre{display:none}
}
