/* ==========================================================================
   LIIQUIID 2.0 — "Il Giro"
   Ivory & Sage, plus one Italian signal: Rosso. DM Serif Display + DM Sans.
   ========================================================================== */
:root{
  --ivory:#f7f3e8; --ivory-soft:#ece5d2; --sage:#c9d8c1; --sage-deep:#a7bd9c;
  --herb:#6e8b62; --gold:#c89a3c; --gold-bright:#e0b65a;
  --forest:#1c2b21; --forest-deep:#10201a; --forest-soft:#2a3d30;
  --rosso:#cf3a24;
  --head:'DM Serif Display',Georgia,serif;
  --body:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  --ease:cubic-bezier(.65,0,.35,1); --out:cubic-bezier(.16,1,.3,1);
  --pad:clamp(20px,4vw,64px);
  --r:clamp(24px,3vw,44px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-size-adjust:100%}
body{background:var(--ivory);color:var(--forest);font:400 clamp(16px,1.05vw,18px)/1.6 var(--body);overflow-x:hidden}
body.is-loading{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-family:var(--head);font-style:italic;font-weight:400}
h1,h2,h3{font-family:var(--head);font-weight:400;line-height:1;letter-spacing:-.015em}
h2{font-size:clamp(2.8rem,8vw,8rem)}
h2 em{color:var(--herb)}
.wrap{width:min(1320px,100% - var(--pad)*2);margin-inline:auto}
::selection{background:var(--gold-bright);color:var(--forest)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.eyebrow{display:inline-flex;align-items:center;gap:.7em;font-size:.74rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--herb);margin-bottom:1.6rem}
.eyebrow::before{content:"";width:28px;height:1.5px;background:currentColor}
.eyebrow--gold{color:var(--gold-bright)}
.live{width:8px;height:8px;border-radius:50%;background:var(--rosso);box-shadow:0 0 0 0 rgba(207,58,36,.6);animation:pulse 2s infinite}
.eyebrow:has(.live)::before{display:none}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(207,58,36,0)}100%{box-shadow:0 0 0 0 rgba(207,58,36,0)}}

/* ── Buttons: pill with a liquid fill rising on hover ── */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:1.05em 1.9em;border-radius:999px;font-weight:600;font-size:.92rem;letter-spacing:.02em;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),transform .4s var(--out)}
.btn::before{content:"";position:absolute;left:-10%;right:-10%;top:100%;height:160%;border-radius:50% 50% 0 0;background:var(--fill);z-index:-1;transition:top .6s var(--ease)}
.btn:hover::before{top:-20%}
.btn--gold{background:var(--gold-bright);color:var(--forest);--fill:var(--ivory)}
.btn--ghost{border:1.5px solid rgba(247,243,232,.4);color:var(--ivory);--fill:var(--ivory)}
.btn--ghost:hover{color:var(--forest)}
.btn--forest{background:var(--forest);color:var(--ivory);--fill:var(--rosso);padding:1.2em 2.4em}

/* ── Loader ── */
.loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;pointer-events:none}
.loader__panel{position:absolute;left:0;right:0;height:50.5%;background:var(--forest-deep)}
.loader__panel--a{top:0}.loader__panel--b{bottom:0}
.loader__mark{position:relative;width:min(640px,78vw);overflow:visible}
.lp{stroke-dasharray:1;stroke-dashoffset:1}
.loader__count{position:absolute;bottom:var(--pad);right:var(--pad);font:500 .8rem var(--body);letter-spacing:.2em;color:var(--sage-deep)}

/* ── Progress, cursor ── */
.progress{position:fixed;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,var(--gold-bright),var(--rosso));transform:scaleX(0);transform-origin:0 50%;z-index:90}
.cursor{position:fixed;left:0;top:0;z-index:999;pointer-events:none;display:none}
.cursor span{display:block;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid #f7f3e8;box-shadow:0 0 0 1.5px rgba(16,32,26,.85),inset 0 0 0 1.5px rgba(16,32,26,.85);transition:transform .35s var(--out),background .3s}
.cursor.is-link span{transform:scale(1.9);background:rgba(224,182,90,.85);border-color:transparent}
@media (hover:hover) and (pointer:fine){.cursor{display:block}}

/* ── Nav capsule ── */
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:100;width:min(900px,100% - 28px);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .6rem .55rem 1.4rem;border-radius:999px;background:rgba(247,243,232,.78);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(28,43,33,.08);box-shadow:0 10px 40px -12px rgba(16,32,26,.35);transition:transform .6s var(--out),opacity .6s}
body.is-loading .nav{opacity:0;transform:translate(-50%,-30px)}
.nav__logo svg{display:block;height:30px;width:114px;color:var(--forest)}
.nav__links{display:flex;gap:2rem;font-size:.86rem;font-weight:500}
.nav__links a{position:relative;padding:.3em 0}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--rosso);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__cta{padding:.8em 1.4em;font-size:.82rem}
.nav__burger{display:none;width:44px;height:44px;border-radius:50%;background:var(--forest);position:relative}
.nav__burger i{position:absolute;left:13px;right:13px;height:1.5px;background:var(--ivory);transition:transform .4s var(--ease)}
.nav__burger i:first-child{top:18px}.nav__burger i:last-child{top:25px}
.nav__burger[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav__burger[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:95;background:var(--forest-deep);color:var(--ivory);display:flex;flex-direction:column;justify-content:center;padding:var(--pad);clip-path:circle(0 at calc(100% - 50px) 40px);transition:clip-path .9s var(--ease);pointer-events:none}
.menu.open{clip-path:circle(160% at calc(100% - 50px) 40px);pointer-events:auto}
.menu a{font:clamp(2.6rem,12vw,6rem)/1.1 var(--head);padding:.1em 0;display:flex;align-items:baseline;gap:1rem}
.menu a small{font:600 .75rem var(--body);letter-spacing:.2em;color:var(--gold-bright)}
@media(max-width:820px){.nav__links,.nav__cta{display:none}.nav__burger{display:block}.nav{padding:.5rem .5rem .5rem 1.2rem}}

/* ── HERO ── */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:var(--forest-deep);color:var(--ivory)}
.hero__scene{position:absolute;inset:0;display:flex;align-items:center;padding:0 var(--pad);padding-top:70px}
.hero__glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform}
.hero__glow--a{width:50vw;height:50vw;right:-8vw;top:-12vw;background:radial-gradient(circle,var(--herb),transparent 68%);animation:drift 18s ease-in-out infinite alternate}
.hero__glow--b{width:40vw;height:40vw;left:-10vw;bottom:-14vw;background:radial-gradient(circle,var(--gold),transparent 66%);opacity:.38;animation:drift 22s ease-in-out infinite alternate-reverse}
.hero__glow--c{width:26vw;height:26vw;left:42%;top:34%;background:radial-gradient(circle,var(--rosso),transparent 65%);opacity:.22;animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(6vw,4vw,0) scale(1.15)}}
.hero__content{position:relative;z-index:2;max-width:1320px;width:100%;margin-inline:auto}
.hero__title{font-size:clamp(3.6rem,13.2vw,13.5rem);line-height:.9;margin:.2em 0 .35em;letter-spacing:-.03em}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.08em}
.hero__title .line>span{display:block}
.hero__title em{color:var(--gold-bright)}
.hero__sub{max-width:34em;font-size:clamp(1rem,1.5vw,1.3rem);color:rgba(247,243,232,.78)}
.hero__sub strong{color:var(--ivory);font-weight:600}
.hero__actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.hero__dash{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:28px;display:flex;justify-content:flex-end;gap:clamp(1rem,3vw,3rem);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,243,232,.6)}
.hero__dash div{display:flex;align-items:baseline;gap:.6em}
.hero__dash b{font:400 1.7rem/1 var(--head);color:var(--gold-bright)}
.badge{position:absolute;z-index:2;right:var(--pad);top:50%;width:clamp(120px,15vw,210px);aspect-ratio:1;display:grid;place-items:center;transform:translateY(-62%);color:var(--gold-bright)}
.badge__ring{position:absolute;inset:0;animation:spin 24s linear infinite}
.badge__ring text{font:600 11.4px var(--body);letter-spacing:.2em;fill:currentColor}
.badge__q{width:34%}
@keyframes spin{to{transform:rotate(360deg)}}
.fog{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.blade{position:absolute;z-index:4;left:50%;bottom:-6px;width:5px;height:0;border-radius:5px;background:var(--forest);box-shadow:0 0 0 2px var(--gold-bright);transform-origin:50% 100%;opacity:0;pointer-events:none}
.hero__hint{position:absolute;z-index:5;left:50%;top:50%;transform:translateX(-50%);font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--forest);opacity:0;transition:opacity .6s;pointer-events:none;display:flex;gap:.8em;align-items:center}
.hero__hint span{width:9px;height:9px;border-radius:50%;background:var(--rosso);animation:pulse 2s infinite}
.hero__hint.show{opacity:.85}
.scrollcue{position:absolute;z-index:5;left:var(--pad);bottom:28px;width:26px;height:44px;border:1.5px solid rgba(247,243,232,.5);border-radius:14px;display:flex;justify-content:center;padding-top:8px}
.scrollcue i{width:3px;height:8px;border-radius:2px;background:var(--gold-bright);animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(0);opacity:1}80%,100%{transform:translateY(14px);opacity:0}}
@media(max-width:820px){.badge{display:none}.hero__dash{display:none}.hero__scene{align-items:flex-end;padding-bottom:90px}}

/* ── PRINCIPLE ── */
.principle{padding:clamp(100px,16vw,220px) 0 clamp(80px,12vw,180px)}
.manifesto{font:clamp(1.9rem,4.6vw,4.6rem)/1.12 var(--head);letter-spacing:-.015em;max-width:19em;margin-bottom:clamp(60px,9vw,130px)}
.manifesto .w{opacity:.14;transition:opacity .2s}
.manifesto em{color:var(--herb)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem);border-top:1.5px solid rgba(28,43,33,.15);padding-top:2.4rem}
.trio__art{width:120px;height:60px;color:var(--herb);margin-bottom:1.4rem}
.trio__art .draw{stroke-dasharray:1;stroke-dashoffset:1}
.trio h3{font-size:clamp(2rem,3vw,3rem);margin-bottom:.6rem}
.trio h3 small{font:600 .7rem var(--body);letter-spacing:.2em;color:var(--gold);vertical-align:super;margin-right:.5em}
.trio p{max-width:22em;color:rgba(28,43,33,.72)}
@media(max-width:820px){.trio{grid-template-columns:1fr}}

/* ── WORK / stages ── */
.work{background:var(--ivory)}
.work__head{padding-bottom:clamp(40px,6vw,90px)}
.work__note{margin-top:1.6rem;color:rgba(28,43,33,.6);font-size:.95rem}
.stage{position:sticky;top:0;height:100vh;height:100svh;border-radius:var(--r) var(--r) 0 0;overflow:hidden;background:var(--bg);color:var(--ink);box-shadow:0 -30px 60px -30px rgba(16,32,26,.35);will-change:transform}
.stage[data-theme=ivory]{--bg:var(--ivory-soft);--ink:var(--forest);--mute:rgba(28,43,33,.7);--chip:rgba(28,43,33,.35)}
.stage[data-theme=gold]{--bg:var(--gold-bright);--ink:var(--forest);--mute:rgba(28,43,33,.75);--chip:rgba(28,43,33,.4)}
.stage[data-theme=sage]{--bg:var(--sage);--ink:var(--forest);--mute:rgba(28,43,33,.72);--chip:rgba(28,43,33,.35)}
.stage[data-theme=rosso]{--bg:var(--rosso);--ink:var(--ivory);--mute:rgba(247,243,232,.85);--chip:rgba(247,243,232,.55)}
.stage[data-theme=forest]{--bg:var(--forest);--ink:var(--ivory);--mute:rgba(247,243,232,.75);--chip:rgba(247,243,232,.4)}
.stage__inner{position:relative;height:100%;width:min(1320px,100% - var(--pad)*2);margin-inline:auto;padding:clamp(88px,8vw,100px) 0 clamp(24px,4vw,56px);display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto 1fr auto;column-gap:4vw}
.stage__top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.stage__top span:first-child{opacity:.75}
.stage__top span:last-child{font:400 clamp(2rem,4.6vw,4.6rem)/1 var(--head);letter-spacing:-.02em;text-transform:none;text-align:right}
.stage__num{grid-column:1;grid-row:2;align-self:center;font:400 clamp(5.4rem,17vw,17rem)/.95 var(--head);letter-spacing:-.04em}
.stage__body{grid-column:1;grid-row:3;max-width:34em}
.stage__lede{font-size:clamp(1.05rem,1.6vw,1.45rem);line-height:1.4;color:var(--mute);margin-bottom:1.4rem}
.stage__lede strong{color:var(--ink);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none}
.chips li{padding:.45em 1em;border:1.5px solid var(--chip);border-radius:999px;font-size:.82rem;font-weight:500}
.stage__art{grid-column:2;grid-row:2/4;align-self:center;justify-self:center;width:min(100%,520px);height:auto;max-height:62vh}
.stage .btn--gold{--fill:var(--ivory)}
/* odometer */
.odo{display:flex;align-items:flex-end;height:.95em;overflow:hidden;line-height:.95}
.odo .d{display:inline-block;height:1em;overflow:hidden;width:.545em;text-align:center}
.odo .d>span{display:block;will-change:transform}
.odo .d i{display:block;height:1em;font-style:normal;line-height:.95}
.odo .s{display:inline-block;line-height:.95}
/* art motion */
.art-arches path{stroke-dasharray:1;stroke-dashoffset:1}
.art-grow circle{transform-origin:270px 150px}
.art-ripple{overflow:visible}
.art-ripple .r{fill:none;stroke:var(--ivory);stroke-width:2.5;transform-origin:150px 150px;animation:ripple 4.5s cubic-bezier(.2,.6,.3,1) infinite;opacity:0}
.art-ripple .r2{animation-delay:1.5s}.art-ripple .r3{animation-delay:3s}
@keyframes ripple{0%{transform:scale(.3);opacity:.9}100%{transform:scale(4.2);opacity:0}}
@media(max-width:820px){
  .stage{position:relative;height:auto;min-height:100svh;margin-top:calc(var(--r)*-1)}
  .stage:first-child{margin-top:0}
  .stage__inner{display:flex;flex-direction:column;gap:1.4rem;padding-top:clamp(36px,8vw,56px);padding-bottom:calc(var(--r) + 28px)}
  .stage__top{flex-direction:column;gap:.3rem}
  .stage__art{max-width:300px;max-height:none;align-self:flex-start}
  .stage__num{font-size:clamp(5rem,26vw,10rem)}
}

/* ── LAB ── */
.lab{background:var(--forest-deep);color:var(--ivory);padding:clamp(90px,12vw,180px) 0;position:relative;z-index:2;border-radius:var(--r) var(--r) 0 0;margin-top:calc(var(--r)*-1)}
.lab__title{font-size:clamp(2.8rem,8.4vw,8.6rem)}
.lab__title em{color:var(--gold-bright)}
.lab__lede{margin:1.6rem 0 clamp(40px,6vw,80px);color:rgba(247,243,232,.7);max-width:34em;font-size:1.1rem}
.tag{display:inline-flex;align-items:center;gap:.5em;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.5em 1em;border-radius:999px;background:rgba(247,243,232,.1);color:var(--gold-bright);margin-bottom:1.2rem}
.tag--live i{width:7px;height:7px;border-radius:50%;background:#7bd88f;box-shadow:0 0 10px #7bd88f}
.foot{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2rem 4vw;padding:clamp(24px,4vw,56px);border-radius:var(--r);background:linear-gradient(145deg,var(--forest-soft),var(--forest));border:1px solid rgba(247,243,232,.1);margin-bottom:1.2rem;overflow:hidden}
.foot::after{content:"";position:absolute;width:44vw;height:44vw;right:-12vw;top:-18vw;background:radial-gradient(circle,rgba(224,182,90,.22),transparent 65%);pointer-events:none}
.foot__head h3{font-size:clamp(2rem,4.2vw,4.2rem);margin-bottom:1rem}
.foot__head h3 em{color:var(--gold-bright)}
.foot__head p{color:rgba(247,243,232,.72);max-width:32em}
.foot__steps{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;align-content:start;position:relative;z-index:1}
.foot__steps button{text-align:left;padding:1rem 1.2rem;border-radius:20px;border:1.5px solid rgba(247,243,232,.18);font-weight:600;font-size:.95rem;transition:background .4s,color .4s,border-color .4s,transform .4s var(--out)}
.foot__steps button b{display:block;font:400 .75rem var(--body);letter-spacing:.2em;color:var(--gold-bright);margin-bottom:.3rem}
.foot__steps button:hover{transform:translateY(-3px)}
.foot__steps button[aria-selected=true]{background:var(--gold-bright);color:var(--forest);border-color:var(--gold-bright)}
.foot__steps button[aria-selected=true] b{color:var(--forest)}
.foot__panel{grid-column:1/-1;position:relative;z-index:1;padding:1.4rem 1.6rem;border-left:3px solid var(--rosso);font:clamp(1.2rem,2vw,1.8rem)/1.3 var(--head);min-height:5.6em}
.foot__stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(247,243,232,.12);border-radius:22px;overflow:hidden;position:relative;z-index:1}
.foot__stats div{background:var(--forest);padding:1.4rem 1.2rem}
.foot__stats dt{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,243,232,.6);margin-bottom:.5rem}
.foot__stats dd{font:400 clamp(2rem,3.6vw,3.6rem)/1 var(--head)}
.foot__stats .hot{background:var(--gold-bright);color:var(--forest)}
.foot__stats .hot dt{color:rgba(28,43,33,.7)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.card{position:relative;display:flex;flex-direction:column;padding:clamp(24px,2.6vw,40px);min-height:340px;border-radius:var(--r);background:var(--forest);border:1px solid rgba(247,243,232,.1);overflow:hidden;transition:transform .6s var(--out),border-color .4s;transform-style:preserve-3d}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(224,182,90,.18),transparent 60%);opacity:0;transition:opacity .4s}
.card:hover{border-color:rgba(224,182,90,.5)}
.card:hover::before{opacity:1}
.card h3{font-size:clamp(2.2rem,3.4vw,3.4rem);margin-bottom:1rem}
.card p{color:rgba(247,243,232,.72);max-width:26em}
.card__go{margin-top:auto;padding-top:1.6rem;font-weight:600;color:var(--gold-bright);display:flex;gap:.6em;align-items:center}
.card__go i{font-style:normal;transition:transform .4s var(--out)}
a.card:hover .card__go i{transform:translate(4px,-4px)}
@media(max-width:960px){.foot{grid-template-columns:1fr}.foot__stats{grid-template-columns:repeat(2,1fr)}.foot__stats .hot{grid-column:1/-1}.cards{grid-template-columns:1fr}.card{min-height:0}}

/* ── Worked-across band ── */
.band{background:var(--ivory-soft);padding:1.3rem 0;display:flex;align-items:center;gap:2rem;overflow:hidden;border-bottom:1px solid rgba(28,43,33,.1)}
.band__label{flex:none;padding-left:var(--pad);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--herb)}
.band__track{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.band__track div{display:inline-flex;gap:.7rem;animation:marq 50s linear infinite;white-space:nowrap}
.band__track span{padding:.45em 1.2em;border:1.5px solid rgba(28,43,33,.22);border-radius:999px;font-size:.85rem;font-weight:500}
@media(max-width:600px){.band__label{display:none}}

/* ── Mitr flagship ── */
.mitr{display:grid;grid-template-columns:1.25fr 1fr;gap:2rem 4vw;align-items:center;padding:clamp(24px,4vw,56px);border-radius:var(--r);background:linear-gradient(135deg,#3b0f22,#6d1a38);border:1px solid rgba(247,243,232,.1);margin-bottom:1.2rem;position:relative;overflow:hidden}
.mitr::after{content:"";position:absolute;width:40vw;height:40vw;left:-14vw;bottom:-20vw;background:radial-gradient(circle,rgba(224,182,90,.2),transparent 65%);pointer-events:none}
.mitr__copy{position:relative;z-index:1}
.mitr h3{font-size:clamp(2rem,4.2vw,4.2rem);margin-bottom:1rem}
.mitr h3 em{color:var(--gold-bright)}
.mitr__copy>p{color:rgba(247,243,232,.8);max-width:34em;margin-bottom:1.4rem}
.mitr .chips{margin-bottom:1.2rem}
.mitr .chips li{border-color:rgba(247,243,232,.4)}
.mitr__note{font-size:.8rem;color:rgba(247,243,232,.6)!important;margin-bottom:1.4rem!important}
.mitr__phone{position:relative;z-index:1;justify-self:center;width:min(340px,100%);padding:1rem;border-radius:36px;background:rgba(16,32,26,.55);border:1px solid rgba(247,243,232,.18);backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:.7rem}
.mitr__bar{display:flex;align-items:center;gap:.6em;font-weight:600;font-size:.85rem;padding:.2rem .4rem .6rem;border-bottom:1px solid rgba(247,243,232,.12)}
.mitr__bar i{width:9px;height:9px;border-radius:50%;background:#7bd88f;box-shadow:0 0 10px #7bd88f}
.bub{max-width:86%;padding:.7em 1em;border-radius:20px;font-size:.92rem;line-height:1.4}
.bub--me{align-self:flex-end;background:var(--gold-bright);color:var(--forest);border-bottom-right-radius:6px}
.bub--mitr{align-self:flex-start;background:rgba(247,243,232,.14);border-bottom-left-radius:6px}
.mitr__phone small{text-align:center;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,243,232,.45);margin-top:.3rem}
@media(max-width:960px){.mitr{grid-template-columns:1fr}}

/* ── Showcase (horizontal) ── */
.showcase{background:var(--sage);padding:clamp(70px,9vw,110px) 0 clamp(40px,5vw,70px);overflow:hidden;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.showcase__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(24px,3.5vw,48px)}
.showcase__head h2 em{color:var(--forest)}
.showcase .eyebrow{color:var(--forest)}
.showcase__count{font:400 clamp(1.6rem,3vw,3rem)/1 var(--head);text-align:right;white-space:nowrap}
.showcase__count b{font-weight:400}
.showcase__count small{display:block;font:600 .68rem var(--body);letter-spacing:.2em;text-transform:uppercase;margin-top:.6rem;opacity:.7}
.showcase__track{display:flex;gap:clamp(14px,1.6vw,26px);padding:0 var(--pad);width:max-content}
.shot{flex:none;display:flex;flex-direction:column;gap:.8rem}
.shot img{height:clamp(260px,52vh,540px);width:auto;border-radius:clamp(16px,2vw,28px);background:#111;box-shadow:0 24px 50px -24px rgba(16,32,26,.55);transition:transform .7s var(--out)}
.shot:hover img{transform:translateY(-8px) scale(1.012)}
.shot figcaption{display:flex;gap:.8rem;align-items:baseline;font-size:.85rem}
.shot figcaption b{font:600 .7rem var(--body);letter-spacing:.2em;color:var(--forest);opacity:.6}
.shot figcaption span{font-weight:600}
.shot figcaption em{font:400 .85rem var(--body);opacity:.65}
@media(max-width:820px){.showcase__view{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:1rem}.shot{scroll-snap-align:start}.shot img{height:46vh}.showcase__head{flex-direction:column;align-items:flex-start;gap:1rem}.showcase__count{text-align:left}}

/* ── Pillars (from the Credentials deck) ── */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.4vw,2.4rem);margin-bottom:clamp(36px,5vw,64px)}
.pillars div{border-top:1.5px solid var(--forest);padding-top:1rem}
.pillars b{display:block;font:400 clamp(1.5rem,2.2vw,2.2rem)/1 var(--head);margin-bottom:.5rem}
.pillars span{font-size:.92rem;color:rgba(28,43,33,.7)}
@media(max-width:820px){.pillars{grid-template-columns:1fr 1fr}}

/* ── Index ── */
.index{background:var(--ivory);padding:clamp(90px,12vw,170px) 0 clamp(60px,8vw,110px)}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:2.2rem 0 clamp(24px,4vw,48px)}
.filters button{padding:.55em 1.3em;border:1.5px solid rgba(28,43,33,.25);border-radius:999px;font-weight:600;font-size:.85rem;transition:all .3s}
.filters button:hover{border-color:var(--forest)}
.filters button.on{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.rows{list-style:none;border-top:1.5px solid var(--forest)}
.row{position:relative;display:grid;grid-template-columns:3.5rem 1.6fr 8rem 1.4fr;gap:1rem;align-items:baseline;padding:1.25rem .6rem;border-bottom:1px solid rgba(28,43,33,.18);isolation:isolate;transition:color .4s,padding .5s var(--out)}
.row::before{content:"";position:absolute;inset:0;background:var(--forest);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1}
.row:hover{color:var(--ivory);padding-left:1.4rem}
.row:hover::before{transform:scaleY(1)}
.row__n{font:600 .75rem var(--body);letter-spacing:.2em;color:var(--gold)}
.row__t{font:clamp(1.3rem,2.4vw,2.2rem)/1.1 var(--head)}
.row__c{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--herb)}
.row:hover .row__c{color:var(--gold-bright)}
.row__r{font-size:.95rem;opacity:.8}
.row.hide{display:none}
@media(max-width:820px){.row{grid-template-columns:2.5rem 1fr;row-gap:.2rem}.row__c,.row__r{grid-column:2}}

/* ── CRAFT stripes ── */
.craft{padding:clamp(90px,12vw,180px) 0 0;background:var(--ivory)}
.craft .wrap{margin-bottom:clamp(40px,6vw,80px)}
.stripes{display:flex;height:min(78vh,680px);min-height:480px}
.stripe{flex:1;position:relative;background:var(--c);color:var(--t);padding:clamp(20px,2.4vw,36px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:flex .8s var(--ease);outline-offset:-4px}
.stripe:hover,.stripe:focus-visible,.stripe:focus-within{flex:3.2}
.stripe__n{position:absolute;top:clamp(20px,2.4vw,36px);left:clamp(20px,2.4vw,36px);font:600 .75rem var(--body);letter-spacing:.22em}
.stripe h3{font-size:clamp(1.7rem,2.8vw,2.8rem);line-height:1.02;margin-bottom:.8rem}
.stripe p{max-height:0;opacity:0;max-width:24em;transition:max-height .8s var(--ease),opacity .6s .15s}
.stripe:hover p,.stripe:focus-visible p{max-height:10em;opacity:.92}
@media(max-width:820px){.stripes{flex-direction:column;height:auto}.stripe{flex:none;min-height:190px;padding-top:56px}.stripe p{max-height:none;opacity:.92}.stripe:hover{flex:none}}

/* ── Skin in the game ── */
.skin{background:var(--forest);color:var(--ivory);padding:clamp(70px,9vw,130px) 0 clamp(90px,12vw,180px);overflow:hidden}
.marquee{white-space:nowrap;margin-bottom:clamp(60px,8vw,120px);font:clamp(4rem,12vw,12rem)/1 var(--head);color:transparent;-webkit-text-stroke:1.5px rgba(247,243,232,.35)}
.marquee div{display:inline-flex;animation:marq 38s linear infinite}
.marquee span{padding-right:.4em}
@keyframes marq{to{transform:translateX(-50%)}}
.skin blockquote{font:clamp(1.8rem,4vw,3.8rem)/1.15 var(--head);max-width:22em;letter-spacing:-.01em}
.skin blockquote em{color:var(--gold-bright)}

/* ── Contact ── */
.contact{background:var(--gold-bright);padding:clamp(90px,12vw,170px) 0;border-radius:var(--r) var(--r) 0 0;position:relative;margin-top:calc(var(--r)*-1)}
.contact__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,6vw,7rem);align-items:start}
.contact h2{font-size:clamp(3rem,7vw,7rem)}
.contact h2 em{color:var(--rosso)}
.contact .eyebrow{color:var(--forest)}
.contact__lede{margin:1.6rem 0 2rem;font-size:1.15rem;max-width:26em}
.contact__mail{font:clamp(1.4rem,2.4vw,2.2rem) var(--head);border-bottom:2px solid var(--forest);padding-bottom:.1em}
.form{display:grid;gap:1.1rem;padding:clamp(22px,3vw,40px);background:var(--ivory);border-radius:var(--r);box-shadow:0 30px 70px -30px rgba(16,32,26,.5)}
.form label>span,.form legend{display:block;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.4rem;color:rgba(28,43,33,.7)}
.form input[type=text],.form input[type=email],.form input:not([type]),.form textarea{width:100%;padding:.9em 1.1em;font:inherit;color:var(--forest);background:#fff;border:1.5px solid rgba(28,43,33,.15);border-radius:16px;transition:border-color .3s,box-shadow .3s}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--forest);box-shadow:0 0 0 4px rgba(200,154,60,.35)}
.form textarea{resize:vertical}
.form fieldset{border:0}
.pills{display:flex;flex-wrap:wrap;gap:.45rem}
.pills label{cursor:pointer}
.pills input{position:absolute;opacity:0;pointer-events:none}
.pills span{display:inline-block!important;margin:0!important;padding:.55em 1.1em;border:1.5px solid rgba(28,43,33,.22);border-radius:999px;font-size:.82rem!important;letter-spacing:.02em!important;text-transform:none!important;font-weight:600!important;color:var(--forest)!important;transition:all .3s}
.pills input:checked+span{background:var(--forest);color:var(--ivory)!important;border-color:var(--forest)}
.pills input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.hp{position:absolute!important;left:-9999px}
.form__msg{min-height:1.4em;font-weight:600;font-size:.95rem}
.form__msg.ok{color:var(--herb)}.form__msg.err{color:var(--rosso)}
@media(max-width:900px){.contact__grid{grid-template-columns:1fr}}

/* ── Footer ── */
.foot-site{background:var(--forest-deep);color:var(--ivory);padding:clamp(60px,9vw,130px) var(--pad) 28px}
.foot-site__mark{display:block;width:100%;height:auto;aspect-ratio:1536/404;color:var(--ivory);margin-bottom:clamp(30px,5vw,70px)}
.foot-site__row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:rgba(247,243,232,.6);border-top:1px solid rgba(247,243,232,.12);padding-top:1.4rem}
.foot-site a:hover{color:var(--gold-bright)}

/* ── Reveal util ── */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .fog,.blade,.hero__hint,.loader{display:none!important}
  .rv{opacity:1;transform:none}.manifesto .w{opacity:1}
  .lp,.draw,.art-arches path{stroke-dashoffset:0!important}
}

/* ── v2.1 additions ── */
.row__t a::after{content:"";position:absolute;inset:0;z-index:1}
.row__t a:focus-visible{outline-offset:-4px}
.index__more{margin-top:clamp(30px,4vw,56px)}
.contact__chat{margin-top:1.4rem;font-size:.95rem}
.contact__chat a{font-weight:700;border-bottom:2px solid var(--forest)}
