/* INKredible — shared styles */
:root{
  --paper:#edeae3;
  --paper-2:#e2ded4;
  --white:#f7f5f0;
  --ink:#0f0f0e;
  --ink-2:#55534d;
  --ink-3:#8a877f;
  --line:rgba(15,15,14,.14);
  --stencil:#4b3bff;
  --stencil-2:#3426e0;
  --stencil-soft:#dcd8ff;
  --gold:#b8912f;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
  --pad:clamp(16px,4vw,48px);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:clip;}
body{background:var(--paper);color:var(--ink);font-family:'Archivo',system-ui,sans-serif;font-weight:400;font-size:1rem;line-height:1.6;
     -webkit-font-smoothing:antialiased;overflow-x:clip;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
::selection{background:var(--stencil);color:#fff;}
.wrap{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--pad);}
section{padding:clamp(72px,11vw,150px) 0;}

/* type */
.display{font-family:'Archivo',sans-serif;font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;
         line-height:.88;letter-spacing:-.035em;}
.serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.01em;font-stretch:100%;font-variation-settings:normal;}
h1,h2,h3{font-weight:800;}
.h2{font-size:clamp(2.4rem,7.4vw,7rem);}
.h3{font-family:'Archivo',sans-serif;font-weight:700;font-stretch:112%;font-variation-settings:'wdth' 112;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.1;letter-spacing:-.015em;}
.label{font-family:'Archivo',sans-serif;font-stretch:75%;font-variation-settings:'wdth' 75;font-weight:600;font-size:.78rem;letter-spacing:.14em;
       text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;}
.label::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--stencil);}
.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.55;color:var(--ink-2);max-width:56ch;}
.muted{color:var(--ink-2);}
.st{color:var(--stencil);}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;font-weight:600;font-size:.98rem;
     background:var(--ink);color:var(--paper);overflow:hidden;isolation:isolate;transition:color .45s var(--ease);white-space:nowrap;}
.btn::before{content:'';position:absolute;inset:0;background:var(--stencil);transform:translateY(101%);border-radius:inherit;transition:transform .55s var(--ease);z-index:-1;}
.btn:hover::before{transform:none;}
.btn .arr{display:inline-block;transition:transform .45s var(--ease);}
.btn:hover .arr{transform:translateX(4px) rotate(-45deg);}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);}
.btn.ghost:hover{color:#fff;}
.btn.light{background:var(--paper);color:var(--ink);}
.btn.light:hover{color:#fff;}
@media(max-width:22.5rem){ .btn{padding:14px 20px;font-size:.92rem;} }

/* ---------- preloader + page transition ---------- */
.loader{position:fixed;inset:0;z-index:3000;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;
        padding:var(--pad);transition:transform 1s var(--ease-io);}
.loader.done{transform:translateY(-100%);}
.loader .count{font-family:'Archivo',sans-serif;font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;font-size:clamp(5rem,22vw,20rem);line-height:.8;letter-spacing:-.05em;align-self:flex-end;}
.loader .lw{display:flex;justify-content:space-between;align-items:flex-start;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;}
.loader .bar{height:2px;background:rgba(255,255,255,.15);position:relative;overflow:hidden;margin-top:18px;}
.loader .bar i{position:absolute;inset:0;background:var(--stencil);transform-origin:left;transform:scaleX(0);}
.no-loader .loader{display:none;}

.curtain{position:fixed;inset:0;z-index:2900;pointer-events:none;display:grid;grid-template-columns:repeat(5,1fr);}
.curtain i{background:var(--stencil);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease-io);
           margin-right:-2px;box-shadow:0 0 0 1px var(--stencil);backface-visibility:hidden;will-change:transform;}
.curtain i:nth-child(2){transition-delay:.04s}.curtain i:nth-child(3){transition-delay:.08s}.curtain i:nth-child(4){transition-delay:.12s}.curtain i:nth-child(5){transition-delay:.16s}
.curtain.in i{transform:scaleY(1);transform-origin:bottom;}
.curtain.out i{transform:scaleY(0);transform-origin:top;}
.curtain.cover i{transform:scaleY(1);transition:none;}

/* ---------- cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:2800;pointer-events:none;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--stencil);
        transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .3s;display:flex;align-items:center;justify-content:center;
        mix-blend-mode:normal;opacity:0;}
.cursor span{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .2s;white-space:nowrap;}
.cursor.show{opacity:1;}
.cursor.big{width:92px;height:92px;margin:-46px 0 0 -46px;}
.cursor.big span{opacity:1;}
.cursor.link{width:44px;height:44px;margin:-22px 0 0 -22px;background:rgba(75,59,255,.18);}
@media(hover:none),(pointer:coarse){ .cursor{display:none;} }

/* ---------- header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform .5s var(--ease),background .4s;}
.hdr.hide{transform:translateY(-100%);}
.hdr.solid{background:rgba(237,234,227,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);}
.nav{max-width:1440px;margin:0 auto;padding:16px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px;}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;letter-spacing:-.03em;font-size:1.22rem;line-height:1;text-transform:uppercase;}
.logo b{color:var(--stencil);}
.logo small{display:block;font-weight:500;font-stretch:75%;font-variation-settings:'wdth' 75;font-size:.62rem;letter-spacing:.16em;color:var(--ink-2);margin-top:4px;}
.links{display:flex;align-items:center;gap:6px;}
.links a{position:relative;padding:9px 14px;border-radius:999px;font-weight:500;font-size:.95rem;transition:background .3s;}
.links a:hover{background:rgba(15,15,14,.06);}
.links a[aria-current="page"]::after{content:'';position:absolute;left:50%;bottom:3px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--stencil);}
.links .lang{font-stretch:75%;font-variation-settings:'wdth' 75;font-weight:700;letter-spacing:.1em;font-size:.8rem;box-shadow:inset 0 0 0 1.5px var(--line);}
.nav .btn{padding:12px 20px;font-size:.9rem;}
.burger{display:none;width:48px;height:48px;border-radius:50%;background:var(--ink);align-items:center;justify-content:center;position:relative;z-index:1101;flex:0 0 auto;}
.burger i{position:absolute;width:18px;height:2px;background:var(--paper);border-radius:2px;transition:transform .45s var(--ease);}
.burger i:first-child{transform:translateY(-4px);} .burger i:last-child{transform:translateY(4px);}
.menu-open .burger i:first-child{transform:rotate(45deg);} .menu-open .burger i:last-child{transform:rotate(-45deg);}
@media(max-width:56rem){
  .links,.nav>.btn{display:none;}
  .burger{display:inline-flex;}
}
.menu{position:fixed;inset:0;z-index:1100;background:var(--ink);color:var(--paper);padding:110px var(--pad) 36px;display:flex;flex-direction:column;justify-content:space-between;
      clip-path:circle(0% at calc(100% - 48px) 40px);transition:clip-path .8s var(--ease-io);visibility:hidden;}
.menu-open .menu{clip-path:circle(150% at calc(100% - 48px) 40px);visibility:visible;}
.menu nav{display:flex;flex-direction:column;}
.menu nav a{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(2.4rem,11vw,4.5rem);line-height:1.02;
            display:flex;align-items:baseline;gap:14px;overflow:hidden;}
.menu nav a span{display:inline-block;transform:translateY(110%);transition:transform .7s var(--ease);}
.menu nav a sup{font-size:.8rem;font-stretch:100%;letter-spacing:0;color:var(--stencil-soft);font-weight:500;opacity:0;transition:opacity .5s .3s;}
.menu-open .menu nav a span{transform:none;}
.menu-open .menu nav a sup{opacity:1;}
.menu nav a:nth-child(2) span{transition-delay:.05s}.menu nav a:nth-child(3) span{transition-delay:.1s}.menu nav a:nth-child(4) span{transition-delay:.15s}.menu nav a:nth-child(5) span{transition-delay:.2s}.menu nav a:nth-child(6) span{transition-delay:.25s}
.menu .m-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.9rem;color:#b9b6ae;}
.menu .m-foot a{color:var(--paper);}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1.1s var(--ease);}
.rv.in{opacity:1;transform:none;}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}
.split .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em;}
.split .ln>span{display:inline-block;transform:translateY(105%);transition:transform 1.15s var(--ease);}
.split.in .ln>span{transform:none;}
.split .ln:nth-child(2)>span{transition-delay:.08s}.split .ln:nth-child(3)>span{transition-delay:.16s}.split .ln:nth-child(4)>span{transition-delay:.24s}
.img-rv{overflow:hidden;}
.img-rv img{transform:scale(1.18);transition:transform 1.6s var(--ease);}
.img-rv.in img{transform:scale(1);}
.img-rv{clip-path:inset(100% 0 0 0);transition:clip-path 1.2s var(--ease-io);}
.img-rv.in{clip-path:inset(0 0 0 0);}

/* ---------- marquee ---------- */
.marquee{background:var(--stencil);color:#fff;overflow:hidden;padding:20px 0;white-space:nowrap;}
.marquee .track{display:inline-flex;gap:0;animation:mq 32s linear infinite;}
.marquee span{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(1.6rem,3.6vw,3rem);
              display:inline-flex;align-items:center;gap:28px;padding-right:28px;}
.marquee span em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-stretch:100%;font-variation-settings:normal;}
.marquee svg{width:.8em;height:.8em;flex:0 0 auto;}
@keyframes mq{to{transform:translateX(-50%);}}
.marquee.rev .track{animation-direction:reverse;}
.marquee.ink{background:var(--ink);}

/* ---------- page head (inner pages) ---------- */
.phead{padding:clamp(130px,18vw,210px) 0 clamp(40px,6vw,80px);}
.phead h1{font-size:clamp(2.8rem,11.5vw,11.5rem);}
.phead .row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-top:34px;}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
.stat{padding:28px 22px 0 0;}
.stat+.stat{padding-left:22px;border-left:1px solid var(--line);}
.stat b{display:block;font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;font-size:clamp(2.2rem,5vw,4.4rem);line-height:1;letter-spacing:-.04em;}
.stat span{display:block;margin-top:10px;font-size:.92rem;color:var(--ink-2);max-width:22ch;}
@media(max-width:52rem){ .stats{grid-template-columns:1fr 1fr;} .stat:nth-child(3){padding-left:0;border-left:0;} .stat:nth-child(n+3){border-top:1px solid var(--line);margin-top:26px;} }

/* ---------- drag gallery ---------- */
.drag{cursor:grab;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y;}
.drag.down{cursor:grabbing;}
.drag .rail{display:flex;gap:18px;padding:0 var(--pad);will-change:transform;}
.drag figure{flex:0 0 auto;width:clamp(240px,26vw,380px);margin:0;}
.drag figure .ph{aspect-ratio:4/5;overflow:hidden;border-radius:18px;background:var(--paper-2);}
.drag figure img{width:100%;height:100%;object-fit:cover;pointer-events:none;transition:transform .9s var(--ease);}
.drag figure:hover img{transform:scale(1.05);}
.drag figcaption{display:flex;justify-content:space-between;margin-top:12px;font-size:.88rem;color:var(--ink-2);}
.drag figcaption b{color:var(--ink);font-weight:600;}
.prog{height:2px;background:var(--line);margin:34px var(--pad) 0;position:relative;overflow:hidden;}
.prog i{position:absolute;left:0;top:0;bottom:0;width:20%;background:var(--ink);}

/* ---------- reviews ticker ---------- */
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:60rem){ .revs{grid-template-columns:1fr 1fr;} }
@media(max-width:40rem){ .revs{grid-template-columns:1fr;} }
.rev{background:var(--white);border-radius:22px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-height:230px;
     transition:transform .6s var(--ease),box-shadow .6s var(--ease);}
.rev:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 30px 50px -30px rgba(15,15,14,.35);}
.rev p{font-size:1.04rem;line-height:1.5;}
.rev .who{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--ink-2);}
.rev .who b{color:var(--ink);font-weight:600;}
.rev .stars{color:var(--stencil);letter-spacing:2px;}
.rev.dark{background:var(--ink);color:var(--paper);}
.rev.dark .who{color:#a9a69e;} .rev.dark .who b{color:var(--paper);}
.rev.st-bg{background:var(--stencil);color:#fff;}
.rev.st-bg .who,.rev.st-bg .stars{color:#d9d5ff;} .rev.st-bg .who b{color:#fff;}

/* ---------- CTA block ---------- */
.cta{background:var(--ink);color:var(--paper);border-radius:clamp(22px,3vw,40px);padding:clamp(40px,7vw,100px) clamp(22px,5vw,80px);position:relative;overflow:hidden;}
.cta h2{font-size:clamp(2.6rem,9vw,8.4rem);}
.cta .row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-top:40px;}
.cta p{color:#b9b6ae;max-width:44ch;}
.cta .blob{position:absolute;width:44vw;height:44vw;max-width:600px;max-height:600px;right:-12vw;top:-18vw;border-radius:50%;
           background:radial-gradient(circle at 30% 30%,#7b6dff,var(--stencil) 45%,transparent 70%);filter:blur(30px);opacity:.55;pointer-events:none;}
.cta .acts{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- footer ---------- */
.ftr{padding:clamp(60px,9vw,120px) 0 30px;}
.ftr .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:34px;}
@media(max-width:60rem){ .ftr .grid{grid-template-columns:1fr 1fr;} }
@media(max-width:34rem){ .ftr .grid{grid-template-columns:1fr;} }
.ftr h4{font-stretch:75%;font-variation-settings:'wdth' 75;font-weight:600;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px;}
.ftr .grid a{display:block;padding:3px 0;transition:color .25s;}
.ftr .grid a:hover{color:var(--stencil);}
.ftr .big{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;letter-spacing:-.05em;line-height:.8;
          font-size:clamp(3rem,12.5vw,13rem);margin:70px 0 26px;white-space:nowrap;}
.ftr .big em{font-family:'Instrument Serif',serif;font-weight:400;font-style:italic;text-transform:none;letter-spacing:-.02em;font-stretch:100%;font-variation-settings:normal;color:var(--stencil);}
.ftr .legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;font-size:.82rem;color:var(--ink-3);}
.ftr .legal p{max-width:70ch;}

/* ---------- sticky mobile bar ---------- */
.mbar{display:none;}
@media(max-width:56rem){
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:10px;right:10px;bottom:10px;z-index:1050;}
  .mbar a{padding:15px 10px;border-radius:999px;text-align:center;font-weight:700;font-size:.95rem;}
  .mbar .wa{background:var(--stencil);color:#fff;}
  .mbar .tel{background:var(--ink);color:var(--paper);}
  body{padding-bottom:78px;}
}

/* scroll progress */
.sprog{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--stencil);transform-origin:left;transform:scaleX(0);z-index:1001;pointer-events:none;}

/* =========================================================
   HOME
   ========================================================= */
.hero{min-height:100svh;padding:clamp(110px,14vw,150px) 0 40px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;}
.hero>.wrap{flex:1;display:flex;flex-direction:column;justify-content:space-between;}
.hero .top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;position:relative;z-index:2;}
.hero h1{font-size:clamp(3.3rem,14.5vw,15rem);position:relative;z-index:2;margin:clamp(20px,4vw,40px) 0;}
.hero h1 .serif{color:var(--stencil);padding-right:.05em;}
.hero .bottom{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;position:relative;z-index:2;}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
.rate{display:inline-flex;align-items:center;gap:12px;background:var(--white);border-radius:999px;padding:8px 16px 8px 8px;font-size:.9rem;margin-bottom:22px;}
.rate b{background:var(--ink);color:var(--paper);border-radius:999px;padding:6px 12px;font-weight:700;}
.rate .stars{color:var(--stencil);letter-spacing:2px;}
@media(max-width:56rem){ .hero .bottom{grid-template-columns:1fr;gap:26px;} .hero .acts{justify-content:flex-start;} }
.hcards{position:absolute;inset:0;z-index:1;pointer-events:none;}
.hcard{position:absolute;border-radius:18px;overflow:hidden;box-shadow:0 40px 60px -30px rgba(15,15,14,.5);background:var(--paper-2);}
.hcard img{width:100%;height:100%;object-fit:cover;}
.hcard.c1{width:clamp(150px,17vw,270px);aspect-ratio:3/4;right:6%;top:15%;}
.hcard.c2{width:clamp(120px,13vw,210px);aspect-ratio:3/4;right:26%;top:34%;}
.hcard.c3{width:clamp(110px,12vw,190px);aspect-ratio:9/14;right:2%;top:50%;}
.hcard.c4{width:clamp(100px,10vw,165px);aspect-ratio:1;right:40%;top:12%;}
.hcards .in-card{width:100%;height:100%;opacity:0;transform:translateY(60px) scale(.9);transition:opacity 1s var(--ease),transform 1.3s var(--ease);}
.ready .hcards .in-card{opacity:1;transform:none;}
.ready .hcard.c2 .in-card{transition-delay:.12s}.ready .hcard.c3 .in-card{transition-delay:.24s}.ready .hcard.c4 .in-card{transition-delay:.36s}
@media(max-width:56rem){
  .hcards{position:relative;inset:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:end;gap:10px;margin:0 0 30px;}
  .hcard{position:relative;right:auto!important;top:auto!important;width:auto!important;}
  .hcard.c4{display:none;}
  .hcard.c2{margin-bottom:24px;}
  .hero{min-height:0;}
}

.intro{display:grid;grid-template-columns:.38fr 1fr;gap:40px;margin-bottom:clamp(50px,7vw,90px);}
.intro p.big{font-size:clamp(1.7rem,3.8vw,3.4rem);line-height:1.08;letter-spacing:-.025em;font-weight:500;}
.intro p.big .serif{color:var(--stencil);}
@media(max-width:52rem){ .intro{grid-template-columns:1fr;gap:18px;} }

.sec-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(34px,5vw,60px);}
.sec-top .label{margin-bottom:18px;}

/* hover list */
.hover-list{border-top:1px solid var(--line);}
.hl-row{display:grid;grid-template-columns:70px 1fr auto 48px;gap:20px;align-items:center;padding:clamp(20px,3vw,34px) 0;border-bottom:1px solid var(--line);position:relative;}
.hl-row::before{content:'';position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .55s var(--ease);z-index:-1;}
.hl-row{isolation:isolate;transition:color .4s var(--ease),padding .5s var(--ease);}
.hl-row:hover{color:var(--paper);padding-left:18px;padding-right:18px;}
.hl-row:hover::before{transform:scaleY(1);}
.hl-row .n{font-size:.85rem;color:var(--ink-3);font-weight:600;}
.hl-row h3{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;letter-spacing:-.035em;font-size:clamp(1.5rem,4.2vw,3.6rem);line-height:.95;}
.hl-row h3 small{display:block;font-family:'Archivo',sans-serif;font-stretch:100%;font-variation-settings:normal;text-transform:none;letter-spacing:0;font-weight:400;font-size:.95rem;color:var(--ink-2);margin-top:10px;max-width:52ch;line-height:1.45;transition:color .4s;}
.hl-row:hover h3 small{color:#b9b6ae;}
.hl-row .pr{font-weight:600;font-size:1rem;text-align:right;white-space:nowrap;}
.hl-row .ar{width:48px;height:48px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;display:flex;align-items:center;justify-content:center;transition:transform .5s var(--ease),background .3s;}
.hl-row:hover .ar{transform:rotate(-45deg);background:var(--stencil);box-shadow:none;}
@media(max-width:44rem){ .hl-row{grid-template-columns:1fr auto;gap:10px 16px;} .hl-row .n{grid-column:1/-1;} .hl-row .ar{display:none;} .hl-row .pr{align-self:start;} }
.hl-float{position:fixed;left:0;top:0;width:260px;aspect-ratio:3/4;border-radius:16px;overflow:hidden;pointer-events:none;z-index:900;opacity:0;scale:.6;transition:opacity .35s,scale .5s var(--ease);}
.hl-float.on{opacity:1;scale:1;}
.hl-float img{width:100%;height:100%;object-fit:cover;}

/* sticky stack */
.stack{display:grid;gap:0;}
.scard{position:sticky;top:calc(90px + var(--i,0) * 22px);min-height:clamp(300px,42vh,420px);border-radius:clamp(20px,2.4vw,32px);padding:clamp(26px,4vw,54px);
       display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,60px);margin-bottom:22px;box-shadow:0 -20px 40px -30px rgba(15,15,14,.4);}
.scard:nth-child(1){background:var(--white);}
.scard:nth-child(2){background:var(--paper-2);}
.scard:nth-child(3){background:var(--stencil);color:#fff;}
.scard:nth-child(4){background:var(--ink);color:var(--paper);}
.scard:nth-child(5){background:var(--stencil-soft);}
.scard .k{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;font-size:clamp(4rem,11vw,10rem);line-height:.8;letter-spacing:-.06em;}
.scard h3{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(1.6rem,3.6vw,3rem);line-height:.98;margin-bottom:16px;}
.scard p{font-size:clamp(1rem,1.3vw,1.18rem);max-width:52ch;opacity:.85;}
.scard q{display:block;margin-top:22px;font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.25;max-width:40ch;}
.scard q::before,.scard q::after{content:none;}
.scard cite{display:block;font-style:normal;font-size:.82rem;margin-top:8px;opacity:.7;}
@media(max-width:40rem){ .scard{grid-template-columns:1fr;top:calc(76px + var(--i,0) * 14px);} }

/* visitors */
.visitors{background:var(--ink);color:var(--paper);overflow:hidden;}
.visitors .wrap{position:relative;}
.visitors h2{font-size:clamp(2.6rem,8.6vw,8.6rem);}
.visitors h2 .serif{color:#9b91ff;}
.flags{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0 46px;}
.flags span{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 16px;font-size:.9rem;color:#d6d3cb;}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:60rem){ .vgrid{grid-template-columns:1fr;} }
.vq{border-top:1px solid rgba(255,255,255,.18);padding-top:22px;}
.vq p{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.25;}
.vq span{display:block;margin-top:14px;font-size:.85rem;color:#a9a69e;}

/* =========================================================
   LUCRARI
   ========================================================= */
.pf-filters{display:flex;gap:8px;flex-wrap:wrap;}
.pf-filters button{padding:11px 18px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line);font-weight:600;font-size:.92rem;transition:background .3s,color .3s,box-shadow .3s;}
.pf-filters button:hover{box-shadow:inset 0 0 0 1.5px var(--ink);}
.pf-filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);box-shadow:none;}
.pf-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,19vw,290px);grid-auto-flow:dense;gap:14px;margin-top:40px;}
@media(max-width:60rem){ .pf-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:40rem){ .pf-grid{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(150px,48vw,240px);gap:10px;} }
.pf-item{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;background:var(--paper-2);padding:0;text-align:left;}
.pf-item.tall{grid-row:span 2;}
.pf-item.wide{grid-column:span 2;}
.pf-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s;}
.pf-item:hover img{transform:scale(1.06);}
.pf-item .tag{position:absolute;left:10px;bottom:10px;background:var(--paper);color:var(--ink);border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600;
              transform:translateY(8px);opacity:0;transition:all .5s var(--ease);}
.pf-item:hover .tag,.pf-item:focus-visible .tag{transform:none;opacity:1;}
@media(hover:none){ .pf-item .tag{opacity:1;transform:none;} }
.pf-item[hidden]{display:none;}
.lb{position:fixed;inset:0;z-index:2500;background:rgba(15,15,14,.94);display:flex;align-items:center;justify-content:center;padding:70px 70px 60px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;}
.lb.open{opacity:1;visibility:visible;}
.lb figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px;}
.lb img{max-width:min(92vw,1100px);max-height:calc(100svh - 150px);width:auto;object-fit:contain;border-radius:12px;}
.lb figcaption{color:#c9c6be;font-size:.88rem;text-align:center;}
.lb button{position:absolute;width:52px;height:52px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:1.3rem;display:flex;align-items:center;justify-content:center;}
.lb .lb-close{top:16px;right:16px;}
.lb .lb-prev{left:16px;top:50%;margin-top:-26px;}
.lb .lb-next{right:16px;top:50%;margin-top:-26px;}
@media(max-width:40rem){ .lb{padding:70px 12px 90px;} .lb .lb-prev,.lb .lb-next{top:auto;bottom:18px;margin:0;} .lb .lb-prev{left:calc(50% - 62px);} .lb .lb-next{right:calc(50% - 62px);} }

/* =========================================================
   PIERCING
   ========================================================= */
.pcards{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:48rem){ .pcards{grid-template-columns:1fr;} }
.pcard{border-radius:clamp(22px,2.6vw,34px);padding:clamp(26px,3.6vw,48px);min-height:clamp(320px,34vw,460px);display:flex;flex-direction:column;justify-content:space-between;gap:30px;position:relative;overflow:hidden;}
.pcard.a{background:var(--white);} .pcard.b{background:var(--stencil);color:#fff;}
.pcard .price{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;font-size:clamp(4.6rem,11vw,10rem);line-height:.8;letter-spacing:-.06em;}
.pcard .price small{font-size:.22em;letter-spacing:0;font-weight:600;margin-left:6px;}
.pcard h3{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;font-size:clamp(1.4rem,2.6vw,2.2rem);letter-spacing:-.03em;}
.pcard p{max-width:40ch;opacity:.85;}
.pcard .ring{position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:18px solid currentColor;opacity:.08;transition:transform 1.2s var(--ease);}
.pcard:hover .ring{transform:scale(1.25) translate(-20px,20px);}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px;}
@media(max-width:60rem){ .facts{grid-template-columns:1fr 1fr;} }
.fact{border-radius:22px;background:var(--paper-2);padding:22px;}
.fact b{display:block;font-size:1.6rem;font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;letter-spacing:-.03em;line-height:1;margin-bottom:8px;}
.fact span{font-size:.92rem;color:var(--ink-2);}

.zones{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,5vw,70px);align-items:start;}
@media(max-width:56rem){ .zones{grid-template-columns:1fr;} }
.ztabs{display:flex;flex-direction:column;border-top:1px solid var(--line);}
.ztabs button{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);text-align:left;
              font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;letter-spacing:-.035em;font-size:clamp(1.6rem,4vw,3.2rem);line-height:1;color:var(--ink-3);transition:color .3s,padding .5s var(--ease);}
.ztabs button span{font-family:'Archivo',sans-serif;font-stretch:100%;font-variation-settings:normal;font-size:.85rem;letter-spacing:0;font-weight:600;color:var(--ink-3);}
.ztabs button:hover{color:var(--ink);}
.ztabs button[aria-selected="true"]{color:var(--ink);padding-left:16px;}
.ztabs button[aria-selected="true"]::before{content:'';width:12px;height:12px;border-radius:50%;background:var(--stencil);position:absolute;margin-left:-22px;}
.ztabs button{position:relative;}
@media(max-width:56rem){ .ztabs{flex-direction:row;flex-wrap:wrap;gap:8px;border:0;} .ztabs button{font-size:1rem;padding:11px 16px;border:0;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line);font-stretch:100%;font-variation-settings:normal;letter-spacing:0;text-transform:none;font-weight:600;}
  .ztabs button span{display:none;} .ztabs button[aria-selected="true"]{background:var(--ink);color:var(--paper);padding-left:16px;box-shadow:none;} .ztabs button[aria-selected="true"]::before{display:none;} }
.zpanel{background:var(--white);border-radius:28px;padding:clamp(22px,3.4vw,40px);animation:zin .6s var(--ease);}
@keyframes zin{from{opacity:0;transform:translateY(20px);}}
.zpanel ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;}
@media(max-width:34rem){ .zpanel ul{grid-template-columns:1fr;} }
.zpanel li{display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:14px;background:var(--paper);padding:14px 16px;font-weight:500;}
.zpanel li i{font-style:normal;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px;background:var(--paper-2);white-space:nowrap;}
.zpanel li i.sp{background:var(--stencil);color:#fff;}
.zpanel .zh{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;}
.zpanel .zh h3{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(1.5rem,2.6vw,2.2rem);}

.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font-weight:700;font-size:clamp(1.1rem,1.8vw,1.45rem);letter-spacing:-.01em;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary i{flex:0 0 auto;width:40px;height:40px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line);position:relative;transition:transform .5s var(--ease),background .3s;}
.faq summary i::before,.faq summary i::after{content:'';position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:currentColor;}
.faq summary i::after{transform:rotate(90deg);transition:transform .4s var(--ease);}
.faq details[open] summary i{background:var(--stencil);color:#fff;box-shadow:none;}
.faq details[open] summary i::after{transform:none;}
.faq details p{padding:0 0 26px;max-width:70ch;color:var(--ink-2);}

/* =========================================================
   STUDIO
   ========================================================= */
.tl{position:relative;border-left:1.5px solid var(--line);margin-left:8px;}
.tl .step{position:relative;padding:0 0 clamp(40px,6vw,70px) clamp(26px,4vw,56px);}
.tl .step::before{content:'';position:absolute;left:-8px;top:10px;width:14px;height:14px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 2px var(--ink);transition:background .5s;}
.tl .step.in::before{background:var(--stencil);box-shadow:none;}
.tl .yr{font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--stencil);}
.tl h3{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;letter-spacing:-.035em;font-size:clamp(1.8rem,4.6vw,4rem);line-height:.95;margin:10px 0 14px;}
.tl p{max-width:58ch;color:var(--ink-2);font-size:1.05rem;}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:start;}
@media(max-width:56rem){ .split2{grid-template-columns:1fr;} }
.sticky-col{position:sticky;top:110px;}
@media(max-width:56rem){ .sticky-col{position:static;} }
.photo{border-radius:clamp(18px,2.4vw,30px);overflow:hidden;background:var(--paper-2);}
.photo img{width:100%;height:100%;object-fit:cover;}
.mosaic{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:14px;}
.mosaic .p1{grid-row:span 2;aspect-ratio:auto;}
.mosaic .p1 img{height:100%;}
@media(max-width:44rem){ .mosaic{grid-template-columns:1fr;} .mosaic .p1{grid-row:auto;} }
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media(max-width:60rem){ .perks{grid-template-columns:1fr 1fr;} }
.perk{border-radius:22px;background:var(--white);padding:24px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;transition:background .4s,color .4s,transform .6s var(--ease);}
.perk:hover{background:var(--ink);color:var(--paper);transform:translateY(-6px);}
.perk .em{font-size:2rem;line-height:1;}
.perk h3{font-weight:700;font-size:1.15rem;margin-bottom:6px;}
.perk p{font-size:.92rem;opacity:.75;}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:52rem){ .team{grid-template-columns:1fr;} }
.tm{border-radius:24px;padding:28px;background:var(--paper-2);min-height:240px;display:flex;flex-direction:column;justify-content:space-between;}
.tm:nth-child(2){background:var(--stencil-soft);}
.tm:nth-child(3){background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);}
.tm h3{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.2rem);line-height:.9;}
.tm p{color:var(--ink-2);margin-top:12px;}
.price-sheet{background:var(--ink);color:var(--paper);border-radius:clamp(22px,3vw,40px);padding:clamp(26px,5vw,70px);}
.prow{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.prow span{font-size:clamp(1rem,1.6vw,1.25rem);}
.prow b{font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;font-size:clamp(1.4rem,2.6vw,2.2rem);letter-spacing:-.03em;white-space:nowrap;}
.factors{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;}
.factors span{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 14px;font-size:.88rem;color:#d6d3cb;}
.est{background:var(--white);border-radius:clamp(22px,3vw,40px);padding:clamp(24px,4vw,54px);}
.seg{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;}
.seg label{position:relative;}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.seg span{display:block;padding:12px 18px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line);font-weight:600;font-size:.94rem;transition:all .3s;}
.seg input:checked+span{background:var(--ink);color:var(--paper);box-shadow:none;}
.seg input:focus-visible+span{outline:2px solid var(--stencil);outline-offset:2px;}
.est-range{margin:10px 0 6px;}
.est-range input{width:100%;accent-color:var(--stencil);height:28px;}
.est-range .row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--ink-2);}
.est-out{display:flex;align-items:baseline;gap:10px;margin-top:20px;overflow:hidden;}
.est-out b{display:inline-block;font-weight:800;font-stretch:125%;font-variation-settings:'wdth' 125;font-size:clamp(4rem,10vw,8rem);line-height:.85;letter-spacing:-.06em;}
.est-out span{font-weight:700;font-size:1.3rem;}
.est-note{color:var(--ink-2);font-size:.95rem;margin-top:12px;min-height:3em;}

/* =========================================================
   CONTACT
   ========================================================= */
.brief{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,56px);align-items:start;}
@media(max-width:56rem){ .brief{grid-template-columns:1fr;} }
.bq{padding:26px 0;border-top:1px solid var(--line);}
.bq h3{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);}
.bq .seg{margin:14px 0 0;}
.field{display:block;width:100%;margin-top:14px;padding:16px 18px;border-radius:16px;border:1.5px solid var(--line);background:var(--white);font:inherit;font-size:1rem;color:var(--ink);resize:vertical;}
.field:focus{outline:none;border-color:var(--stencil);}
.phone-mock{position:sticky;top:110px;background:#0b141a;border-radius:34px;padding:16px;color:#e9edef;box-shadow:0 40px 60px -30px rgba(15,15,14,.5);}
.phone-mock .bar{display:flex;align-items:center;gap:12px;padding:8px 8px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
.phone-mock .av{width:40px;height:40px;border-radius:50%;background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;}
.phone-mock .bar small{display:block;color:#8696a0;font-size:.78rem;}
.phone-mock .chat{min-height:240px;padding:20px 6px;display:flex;flex-direction:column;justify-content:flex-end;}
.brief-preview{align-self:flex-end;background:#005c4b;border-radius:14px 14px 4px 14px;padding:12px 14px;font-size:.92rem;white-space:pre-line;max-width:92%;line-height:1.45;}
.phone-mock .btn{width:100%;justify-content:center;margin-top:10px;}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:56rem){ .cgrid{grid-template-columns:1fr;} }
.cbox{border-radius:24px;background:var(--white);padding:26px;}
.cbox h3{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px;}
.cbox a{display:block;font-weight:600;font-size:1.1rem;padding:3px 0;}
.cbox a:hover{color:var(--stencil);}
.map{border-radius:clamp(22px,3vw,34px);overflow:hidden;height:clamp(320px,42vw,480px);background:var(--paper-2);margin-top:14px;}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05);}

/* reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;}
  .rv,.split .ln>span,.img-rv img{opacity:1!important;transform:none!important;}
  .img-rv{clip-path:none!important;}
  .loader,.curtain{display:none!important;}
}
