/* Maquette — layout and motion modelled on bymonolog.com, rebuilt from scratch.
   Fonts: Inter Tight (text), Barlow Condensed (display), JetBrains Mono (labels). */

:root{
  --bg:#e8e8e3; --ink:#080807; --ink-2:#181715; --ink-3:#22201d;
  --grey:#938f8a; --grey-2:#6b645c; --grey-3:#524d47;
  --b100:#fafaf9; --b400:#cdccc5; --line-d:#2b2926; --line-l:#c4c2ba; --signal:#e4572e;
  --m:clamp(1rem,1.8vw,1.75rem); --g:1rem;
  --sans:"Inter Tight","Helvetica Neue",Arial,sans-serif;
  --cond:"Barlow Condensed","Arial Narrow",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --e-transition:cubic-bezier(.22,1,.36,1); --e-fade:cubic-bezier(.76,0,.24,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--ink)}
body{margin:0;font-family:var(--sans);font-weight:500;font-size:clamp(1rem,1.233vw,1.125rem);line-height:1.2;letter-spacing:-.01em;color:var(--ink);background:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,canvas{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.js:not(.ready) [data-animate]{visibility:hidden}

/* type */
.t-hero{font-weight:700;font-size:clamp(3rem,9.69vw,11rem);line-height:.8;letter-spacing:-.035em}
.t-display{font-family:var(--cond);font-weight:600;text-transform:uppercase;font-size:clamp(3.6rem,10.4vw,12rem);line-height:.86;letter-spacing:-.005em}
.t-h2{font-weight:700;font-size:clamp(2.2rem,6.53vw,7rem);line-height:1.01;letter-spacing:-.035em}
.t-h2b{font-weight:700;font-size:clamp(2rem,5.03vw,5.4rem);line-height:1.01;letter-spacing:-.035em}
.t-h3{font-weight:700;font-size:clamp(1.7rem,3.68vw,4rem);line-height:1;letter-spacing:-.03em}
.t-h5{font-weight:700;font-size:clamp(1.2rem,1.65vw,1.6rem);line-height:1.1;letter-spacing:-.015em}
.t-h5m{font-weight:500;font-size:clamp(1.2rem,1.65vw,1.6rem);line-height:1.1;letter-spacing:-.015em}
.t-mono{font-family:var(--mono);font-size:.74rem;line-height:1.2;letter-spacing:.01em;text-transform:uppercase;font-weight:500}
.t-micro{font-family:var(--mono);font-size:.645rem;line-height:1;letter-spacing:.02em;text-transform:uppercase;font-weight:500}
.mask{display:block;overflow:hidden}
span.mask{display:inline-block;vertical-align:top}
.line-mask{padding-bottom:.16em;margin-bottom:-.16em}

.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g)}

/* grain + cursor */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain 1s steps(5) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-2%,3%)}80%{transform:translate(4%,1%)}100%{transform:translate(0,0)}}
.cursor{position:fixed;left:0;top:0;z-index:95;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:opacity .25s}
.cursor span{display:block;transform:translate(14px,18px) scale(.6);transform-origin:left top;background:var(--b100);color:var(--ink);font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.02em;padding:.5em .7em;border-radius:.2rem;white-space:nowrap;transition:transform .35s var(--e-transition)}
.cursor.is-active{opacity:1}
.cursor.is-active span{transform:translate(14px,18px) scale(1)}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.7em;padding:.55em .55em .55em .7em;border-radius:.2rem;background:var(--ink);color:var(--bg);font-size:.89rem;font-weight:500;line-height:1;white-space:nowrap}
.btn--light{background:var(--bg);color:var(--ink)}
.btn--sm{padding:.5em .5em .5em .65em}
.btn__arrow{position:relative;width:1em;height:1em;overflow:hidden;flex:none}
.btn__arrow svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .5s var(--e-transition)}
.btn__arrow svg:last-child{transform:translate(-110%,110%)}
.btn:hover .btn__arrow svg:first-child{transform:translate(110%,-110%)}
.btn:hover .btn__arrow svg:last-child{transform:translate(0,0)}
.btn__arrow--box{width:1.5em;height:1.5em;background:var(--ink);color:var(--bg);border-radius:.15rem}
.btn__arrow--box svg{inset:22%;width:56%;height:56%}
.btn--big{font-size:clamp(1.4rem,3.1vw,2.9rem);font-weight:700;letter-spacing:-.03em;padding:.22em .25em .22em .32em;gap:.45em}
.btn--big .btn__arrow--box{width:.92em;height:.92em}

/* eyebrow */
.eyebrow{display:flex;align-items:center;gap:.6rem;font-size:1.11em;line-height:1.2}
.eyebrow i{width:.5em;height:.5em;border-radius:50%;background:currentColor;flex:none}
.eyebrow span{display:inline-block}

/* NAV */
.nav{position:fixed;left:0;right:0;top:0;z-index:60;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:center;padding:calc(var(--m) + .25rem) var(--m) 0;color:var(--ink);transition:color .35s}
.nav[data-theme="dark"]{color:var(--bg)}
.nav__logo{grid-column:1 / span 3;display:block;width:5rem}
.nav__logo svg{width:100%;height:auto}
.nav__links{grid-column:5 / span 5;display:flex;gap:1rem;font-size:.89rem}
.nav__links a{position:relative;display:block;padding-bottom:2px}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--e-transition)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__cta{grid-column:10 / -1;justify-self:end;display:flex;gap:.6rem;align-items:center}
.nav .btn{background:var(--ink);color:var(--bg);transition:background-color .35s,color .35s}
.nav[data-theme="dark"] .btn,body.menu-open .nav .btn{background:var(--bg);color:var(--ink)}
.nav .nav__menu-wrap{display:none}
.nav__menu{font-size:.89rem;padding:.5em .1em}
.nav__menu-close{display:none}
body.menu-open .nav__menu-open{display:none}
body.menu-open .nav__menu-close{display:inline}
.menu{position:fixed;inset:0;z-index:55;background:var(--ink);color:var(--bg);padding:6.5rem var(--m) 2rem;transform:translateY(-101%);transition:transform .75s cubic-bezier(.7,0,.22,1);overflow:auto}
body.menu-open .menu{transform:none}
body.menu-open .nav{color:var(--bg)}
.menu li{border-bottom:1px dotted var(--line-d)}
.menu a{display:block;padding:.35em 0;font-weight:700;font-size:clamp(2.2rem,11vw,4rem);letter-spacing:-.03em}

/* HERO */
.hero{position:relative;z-index:1;background:var(--bg);color:var(--ink);padding:clamp(6.5rem,9.17vw,8.25rem) var(--m) clamp(1.5rem,2.3vw,2.4rem);overflow:hidden}
.hero__deco{position:absolute;left:0;top:0;width:32.6vw;color:#dcdcd6;pointer-events:none;will-change:transform}
.hero__deco svg{width:100%;height:auto}
.hero__grid{position:relative;row-gap:clamp(2.5rem,5.3vw,4.8rem)}
.hero__left{grid-column:1 / span 3;display:flex;flex-direction:column;align-items:flex-start;gap:2.6rem}
.hero__p{font-size:clamp(1.15rem,1.65vw,1.6rem);line-height:1.1;letter-spacing:-.015em;max-width:23ch}
.hero__h1{grid-column:5 / -1}
.hero__visuals{grid-column:5 / -1;position:relative;aspect-ratio:5/4;border-radius:.15rem;overflow:hidden;background:var(--b400)}
.hero__item{position:absolute;inset:0}
.hero__item + .hero__item{opacity:0;visibility:hidden}
.hero__item img{width:100%;height:100%;object-fit:cover}
.hero__flash{position:absolute;inset:0;background:var(--ink);opacity:0;visibility:hidden;z-index:3}
.popups{position:absolute;z-index:4;left:var(--m);top:var(--m);display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.popup{position:relative;display:flex;gap:var(--g);padding:.5rem;border-radius:.2rem;background:var(--b100);overflow:hidden;cursor:pointer;width:fit-content}
.popup__bg{position:absolute;inset:0;background:var(--bg);transform:translateY(100%);pointer-events:none}
.popup__cover{position:relative;width:4.25em;height:4.25em;border-radius:.2rem;background:var(--ink);display:grid;place-items:center;flex:none;overflow:hidden}
.popup__cover img{width:70%;height:auto}
.popup__cover img.is-invert{filter:brightness(0) invert(1);width:54%}
.popup__content{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:.5rem;padding-right:.5rem}
.popup__p{font-size:.89rem;line-height:1.05;max-width:21ch}
.popup__date{color:var(--grey)}
.popup__overlay{position:absolute;inset:0;background:#08080799;opacity:0;pointer-events:none}
.popup + .popup{transform:scale(.95);transform-origin:center}
.popup + .popup .popup__overlay{opacity:1}
.hero__note{position:absolute;left:var(--m);top:calc(100svh - 2.6rem);font-size:1em}
.stack-overlay{position:absolute;inset:0;background:var(--ink);opacity:0;pointer-events:none;z-index:5}

/* PROBLEMS */
.problems{position:relative;z-index:2;background:var(--ink);color:var(--bg);padding:clamp(1.5rem,2.2vw,2rem) var(--m) clamp(6rem,14.6vw,13rem)}
.problems .grid{row-gap:clamp(4rem,12vw,11rem)}
.problems__stats{grid-column:1 / span 3;align-self:start}
.problems__main{grid-column:5 / span 7}
.slider__bar{height:1px;background:var(--line-d);overflow:hidden}
.slider__bar span{display:block;height:100%;background:var(--bg);transform:scaleX(0);transform-origin:left}
.slider__head{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;color:var(--grey)}
.slider__arrows{display:flex;gap:.75rem;color:var(--bg)}
.slider__arrows button{width:1rem;height:1rem;opacity:.9;transition:opacity .2s,transform .35s var(--e-transition)}
.slider__arrows button:hover{opacity:1}
.slider__arrows button:first-child:hover{transform:translateX(-3px)}
.slider__arrows button:last-child:hover{transform:translateX(3px)}
.slider__arrows svg{width:100%;height:100%}
.slider__stage{position:relative;margin-top:2.6rem;min-height:8.5rem}
.slide{position:absolute;left:0;right:0;top:0}
.slide + .slide{opacity:0;visibility:hidden}
.stat__num{font-weight:700;font-size:clamp(2.2rem,3.68vw,4rem);line-height:1;letter-spacing:-.03em;padding-bottom:.08em}
.stat__p{color:var(--grey);margin-top:.9rem;max-width:27ch}
.problems__h{max-width:19.5ch}
.problems__h + .problems__h{margin-top:.75em}
.sig{display:flex;align-items:center;gap:.7rem;margin-top:clamp(2.5rem,4.2vw,3.8rem);color:var(--grey)}
.sig__avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg);color:var(--ink);display:grid;place-items:center;font-family:var(--mono);font-size:.7rem;letter-spacing:.02em}
.sig__text{display:flex;flex-direction:column;gap:.35rem;font-size:1em;line-height:1}
.problems__eyebrow{grid-column:1 / span 4;align-self:start;padding-top:2rem}
.logos{grid-column:5 / -1;display:grid;grid-template-columns:repeat(4,1fr)}
.logos li{position:relative;aspect-ratio:1;display:flex;flex-direction:column;border-bottom:1px dotted var(--line-d)}
.logo-cell{flex:1;display:grid;place-items:center;min-height:0}
.logo-cell img{width:var(--w,55%);max-height:46%;object-fit:contain;filter:brightness(0) invert(1);opacity:.92;transition:transform .6s var(--e-transition),opacity .3s}
.logos li:hover .logo-cell img{transform:scale(1.06);opacity:1}
.logos .t-micro{color:var(--grey-3);padding-bottom:.8rem;transition:color .3s}
.logos li:hover .t-micro{color:var(--grey)}

/* GAP */
.gap{position:relative;z-index:2;background:var(--ink);color:var(--bg);height:220vh}
.gap__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gap__row{display:flex;align-items:center;justify-content:center;gap:clamp(.75rem,1.6vw,1.5rem);width:100%;white-space:nowrap}
.gap__word{flex:none}
.gap__cover{position:relative;flex:none;width:clamp(7rem,17.8vw,17rem);aspect-ratio:4/5;border-radius:.25rem;overflow:hidden;background:var(--ink-2)}
.gap__cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.gap__cover img.is-on{opacity:1}
.gap__p{position:absolute;left:50%;bottom:clamp(2rem,5.5vw,5rem);transform:translateX(-50%);width:min(24.5rem,86vw);text-align:center;font-size:.89rem;line-height:1.2}

/* WORKS */
.works{position:relative;z-index:2;background:var(--bg);color:var(--ink);padding:clamp(5rem,10.5vw,9.5rem) var(--m) 0}
.works__eyebrow{position:absolute;left:var(--m);top:clamp(5rem,10.5vw,9.5rem)}
.works__list{margin-left:13.2vw}
.work{border-bottom:1px dotted var(--line-l)}
.work__link{display:grid;grid-template-columns:55.2vw minmax(0,1fr);gap:var(--g);padding:var(--g) var(--g) var(--g) 0;border-radius:.2rem;transition:background-color .65s var(--e-transition),padding .65s var(--e-transition)}
.work__link:hover{background:var(--b100);padding-left:var(--g)}
.work__media{position:relative;aspect-ratio:3/2;border-radius:.15rem;overflow:hidden;background:var(--b400)}
.work__media > img{width:100%;height:100%;object-fit:cover}
.work__inset{position:absolute;right:var(--g);bottom:var(--g);width:42%;aspect-ratio:16/10;border-radius:.15rem;overflow:hidden;box-shadow:0 18px 40px -14px rgba(8,8,7,.6);transition:transform .8s var(--e-transition)}
.work__inset img{width:100%;height:100%;object-fit:cover;object-position:top}
.work__link:hover .work__inset{transform:translateY(-.4rem) scale(1.03)}
.work__phones{position:absolute;right:var(--g);bottom:-1.4rem;width:56%;display:flex;align-items:flex-end;justify-content:flex-end;gap:.6rem;transition:transform .8s var(--e-transition)}
.work__link:hover .work__phones{transform:translateY(-.5rem)}
.phone{flex:1 1 0;max-width:31%;aspect-ratio:480/935;border-radius:1.15rem;padding:.3rem;background:#0b0b0a;box-shadow:0 24px 46px -16px rgba(8,8,7,.75);overflow:hidden}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:.88rem}
.phone--main{margin-bottom:2.2rem}
.work__body{display:flex;flex-direction:column;align-items:flex-start;padding:2.1rem 0 0 var(--g)}
.work__index{display:flex;align-items:center;gap:.5em;color:var(--ink)}
.work__chip{border:1px solid currentColor;border-radius:.15rem;padding:.15em .3em}
.work__title{margin-top:1.6rem}
.work__p{color:var(--grey-2);margin-top:1.1rem;max-width:30ch}
.work__result{margin-top:clamp(2rem,5.2vw,4.7rem);display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}
.work__value{font-size:clamp(1.2rem,1.65vw,1.6rem);line-height:1.1;background:var(--b400);padding:.15em .3em;border-radius:.15rem}
.work__label{max-width:22ch}
.works__all{display:grid;grid-template-columns:13.2vw 1fr auto;align-items:center;padding:1.6rem 0 1.7rem;margin-top:0;transition:background-color .65s var(--e-transition)}
.works__all-n{font-family:var(--mono);font-size:1.4rem;font-weight:500}
.works__all-a i{display:inline-block;font-style:normal;transition:transform .5s var(--e-transition)}
.works__all:hover .works__all-a i{transform:translateX(.35rem)}

/* SERVICES */
.services{position:relative;z-index:2;background:var(--ink);color:var(--bg);padding:clamp(6rem,14.6vw,13.2rem) var(--m) clamp(4rem,5.3vw,4.8rem)}
.services__left{grid-column:1 / span 3;align-self:start;padding-top:.8rem}
.services__kicker{color:var(--grey);margin-top:2rem}
.services .slider__stage{margin-top:2.2rem;min-height:19rem}
.services__msg{line-height:1.2}
.services__list{margin-top:1.4rem;border-top:1px dotted var(--line-d)}
.services__list li{border-bottom:1px dotted var(--line-d);color:var(--grey)}
.services__list li span{display:block;padding:.65em 0;font-size:.89rem}
.services__foot{color:var(--grey);margin-top:1.3rem}
.services__main{grid-column:5 / -1}
.services__main .eyebrow{padding-left:0}
.services__wrap{position:relative;margin-top:clamp(2rem,3.3vw,3rem)}
.services__names li{display:block;will-change:transform}
.services__names button{display:block;width:100%;padding:0 0 .02em;opacity:.3;transition:opacity .2s var(--e-fade)}
.services__names button.is-on{opacity:1}
.services__float{position:absolute;right:0;top:0;width:clamp(8rem,15.2vw,14rem);aspect-ratio:4/5;border-radius:.2rem;overflow:hidden;pointer-events:none;background:var(--ink-2);will-change:transform}
.services__float img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s var(--e-fade)}
.services__float img.is-on{opacity:1}

/* PROCESS */
.process{position:relative;z-index:2;background:var(--ink);color:var(--bg);padding:clamp(5rem,10.5vw,9.5rem) 0 clamp(6rem,14.6vw,13.2rem)}
.process__title{width:calc(100% - 2 * var(--m));margin:0 var(--m);height:auto;overflow:visible}
.process__title text{font-family:var(--cond);font-weight:600;font-size:196px;fill:var(--bg)}
.steps{margin-top:clamp(3rem,5.8vw,5.2rem)}
.step{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);padding:0 var(--m);border-top:1px solid var(--line-d)}
.step:last-child{border-bottom:1px solid var(--line-d)}
.step__n{grid-column:1 / span 1;padding-top:2.25rem;white-space:nowrap}
.step__body{grid-column:2 / span 4;padding:2.1rem 0 2.5rem 3.3rem;display:flex;flex-direction:column;align-items:flex-start}
.step__p{color:var(--grey);margin-top:1.4rem;max-width:32ch}
.step__get{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.8rem}
.step__get li{border:1px solid var(--line-d);border-radius:.15rem;padding:.45em .6em;color:var(--bg)}
.step__when{color:var(--grey);margin-top:auto;padding-top:1.6rem}
.step__visual{grid-column:7 / -1;aspect-ratio:16/9;overflow:hidden;background:var(--ink-2)}
.step__visual img{width:100%;height:100%;object-fit:cover}

/* FAQ */
.faq{position:relative;z-index:2;background:var(--ink-2);color:var(--bg);padding:clamp(4rem,7.4vw,6.6rem) var(--m) clamp(1.5rem,2.2vw,2rem)}
.faq__left{grid-column:1 / span 3;display:flex;flex-direction:column;justify-content:space-between;gap:3rem}
.faq__card{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.faq__avatar{width:8.75rem;height:8.75rem;border-radius:.2rem;background:var(--bg);color:var(--ink);display:grid;place-items:center}
.faq__avatar svg{width:38%;height:auto}
.faq__ask{color:var(--grey);font-weight:600;max-width:17ch;line-height:1.15;font-size:1.11em}
.faq__main{grid-column:5 / -1}
.faq__h{max-width:13.5ch}
.acc{margin-top:clamp(2.5rem,5.4vw,4.9rem)}
.acc__item{border-top:1px dotted var(--line-d);transition:background-color .65s var(--e-transition)}
.acc__item:last-child{border-bottom:1px dotted var(--line-d)}
.acc__item:hover,.acc__item.is-open{background:var(--ink-3)}
.acc__q{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;padding:1.05rem .6rem 1.05rem 0;font-size:1.11em;line-height:1.2;transition:padding .65s var(--e-transition)}
.acc__item:hover .acc__q,.acc__item.is-open .acc__q{padding-left:.6rem}
.acc__q i{position:relative;width:.7rem;height:.7rem;flex:none}
.acc__q i::before,.acc__q i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor;transition:transform .6s var(--e-transition)}
.acc__q i::after{transform:rotate(90deg)}
.acc__item.is-open .acc__q i::after{transform:rotate(0deg)}
.acc__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .75s var(--e-transition)}
.acc__item.is-open .acc__a{grid-template-rows:1fr}
.acc__a > div{overflow:hidden;color:var(--grey)}
.acc__a p{max-width:58ch;padding:0 .6rem .9rem}
.acc__a p:last-child{padding-bottom:1.6rem}

/* CTA */
.cta{position:relative;z-index:2;background:var(--ink);color:var(--bg)}
.cta__inner{position:relative;overflow:hidden;padding:clamp(7rem,17.8vw,16rem) var(--m) clamp(5rem,13vw,12rem);display:flex;flex-direction:column;align-items:center;will-change:clip-path}
.cta__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,7,.25),rgba(8,8,7,.55) 60%,rgba(8,8,7,.8))}
.cta__heading{position:relative;width:100%}
.cta__line{padding-left:var(--in,20%);white-space:nowrap;will-change:transform}
.cta__arrow{font-family:var(--sans);font-weight:500;display:inline-block;transform:translateY(-.04em)}
.cta__btn-wrap{position:relative;margin-top:clamp(3rem,8.3vw,7.5rem);display:flex;flex-direction:column;align-items:center;gap:1rem}
.cta__mail{color:var(--bg);opacity:.75;text-transform:none;letter-spacing:0}
.cta__pillars{position:relative;margin-top:clamp(5rem,22vw,20rem);display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1.5rem,4vw,4rem)}
.cta__pillars li{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:0 1rem;min-width:9rem;border-left:1px solid rgba(232,232,227,.35);border-right:1px solid rgba(232,232,227,.35)}
.cta__pillars b{font-family:var(--cond);font-weight:600;text-transform:uppercase;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1;letter-spacing:.01em}
.cta__pillars span{opacity:.7}
.cta__quote{position:relative;margin-top:clamp(2rem,3.3vw,3rem);max-width:15.5em;text-align:center}
.cta__by{position:relative;margin-top:2.5rem;color:var(--grey)}

/* FOOTER */
.footer{position:relative;z-index:1;background:var(--ink);color:var(--bg);overflow:hidden}
.footer__inner{position:relative;padding:clamp(1.8rem,2.6vw,2.4rem) var(--m) 1.6rem}
.footer__nav{grid-column:1 / span 6}
.footer__nav ul{margin-top:clamp(2.5rem,4.2vw,3.8rem)}
.footer__nav li{border-bottom:1px dotted var(--line-d)}
.footer__nav a{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0 .75rem;transition:padding .65s var(--e-transition)}
.footer__nav a:hover{padding-left:.75rem}
.footer__arr{font-weight:500;opacity:0;transform:translateX(-1rem);transition:opacity .4s,transform .65s var(--e-transition)}
.footer__nav a:hover .footer__arr{opacity:1;transform:none}
.footer__details{grid-column:8 / span 3}
.footer__socials{grid-column:11 / -1}
.footer__label{color:var(--grey);margin-bottom:2.4rem}
.footer__label--ai{margin-top:6rem;margin-bottom:1.6rem}
.footer__mail{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:1px}
.footer__addr{color:var(--grey);margin-top:1.6rem}
.footer__ai{display:flex;gap:.5rem}
.footer__ai a{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.2rem;background:var(--ink-3);font-family:var(--mono);font-size:.7rem;transition:background-color .3s,color .3s}
.footer__ai a:hover{background:var(--bg);color:var(--ink)}
.footer__socials li + li{margin-top:.7rem}
.footer__socials a{display:inline-block;transition:transform .5s var(--e-transition)}
.footer__socials a:hover{transform:translateX(.35rem)}
.footer__bottom{margin-top:clamp(5rem,16vw,14.5rem);font-size:.89rem;line-height:1.1;align-items:end}
.footer__time{grid-column:1 / span 4;display:flex;flex-direction:column;gap:.1rem;font-variant-numeric:tabular-nums}
.footer__mid{grid-column:5 / span 4;display:flex;flex-direction:column;gap:.1rem}
.footer__copy{grid-column:9 / -1;text-align:right}
.blink{animation:blink 1s steps(2,jump-none) infinite}
@keyframes blink{50%{opacity:.25}}
.footer__dark{position:absolute;inset:0;background:var(--ink);opacity:0;pointer-events:none}
.footer__strip{position:relative;height:clamp(11rem,25vw,22.5rem);background:var(--ink-2);display:flex;align-items:center;justify-content:space-between;padding:0 var(--m);overflow:hidden}
.footer__canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.footer__strip-logo{position:relative;width:5rem;color:var(--bg)}
.footer__strip-tag{position:relative;font-size:1em}

/* ENQUIRY: the form panel that slides in from the right */
body.enquiry-open{overflow:hidden}
.enq{position:fixed;inset:0;z-index:80}
.enq[hidden]{display:none}
.enq__overlay{position:absolute;inset:0;background:rgba(8,8,7,.62);opacity:0}
.enq__panel{position:absolute;top:0;right:0;bottom:0;width:min(44rem,100%);background:var(--bg);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}
.enq__top{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--m) + .1rem) var(--m) 0;color:var(--grey-2)}
.enq__close{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink);padding:.4rem 0}
.enq__close i{position:relative;width:.8rem;height:.8rem}
.enq__close i::before,.enq__close i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor;transform:rotate(45deg);transition:transform .5s var(--e-transition)}
.enq__close i::after{transform:rotate(-45deg)}
.enq__close:hover i::before{transform:rotate(135deg)}
.enq__close:hover i::after{transform:rotate(45deg)}
.enq__body{padding:clamp(2.2rem,5vw,4.2rem) var(--m) var(--m);display:flex;flex-direction:column;flex:1}
.enq__body[hidden]{display:none}
.enq__title{max-width:9ch}
.enq__lede{color:var(--grey-2);margin-top:1.1rem;max-width:34ch;font-size:1.05em;line-height:1.3}
.enq__form{display:flex;flex-direction:column;gap:1.8rem;margin-top:clamp(2rem,4vw,3rem)}
.enq__row{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem var(--g)}
.enq__field{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.enq__field label,.enq__set legend{color:var(--grey-2)}
.enq__field input,.enq__field textarea{font:inherit;font-size:1.05em;letter-spacing:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:.3rem 0 .55rem;width:100%;transition:border-color .2s,box-shadow .2s}
.enq__field textarea{resize:vertical;min-height:7rem;line-height:1.35}
.enq__field input:focus-visible,.enq__field textarea:focus-visible{outline:none;border-bottom-color:var(--signal);box-shadow:0 1px 0 var(--signal)}
.enq__field [aria-invalid="true"]{border-bottom-color:#a8352e}
.enq__err{color:#a8352e;font-size:.85em}
.enq__set{border:0;padding:0;margin:0;min-width:0}
.enq__set legend{padding:0;margin-bottom:.75rem}
.enq__chips{display:flex;flex-wrap:wrap;gap:.45rem}
.enq__chips label{position:relative;cursor:pointer;display:inline-flex;align-items:center;border:1px solid var(--line-l);border-radius:.2rem;padding:.6em .8em;font-size:.89rem;line-height:1;transition:background-color .25s,color .25s,border-color .25s}
.enq__chips label:hover{border-color:var(--ink)}
.enq__chips input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.enq__chips label:has(input:checked){background:var(--ink);color:var(--bg);border-color:var(--ink)}
.enq__chips label:has(input:focus-visible){outline:2px solid var(--signal);outline-offset:2px}
.enq__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.enq__fail{border:1px solid #a8352e;border-radius:.2rem;padding:.9rem 1rem;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;justify-content:space-between;font-size:.95em}
.enq__fail[hidden]{display:none}
.enq__mailto{border-bottom:1px solid currentColor;white-space:nowrap;font-weight:600}
.enq__foot{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;padding-bottom:1rem}
.enq__submit{font-size:1rem;padding:.75em .7em .75em .9em;cursor:pointer}
.enq__submit[disabled]{opacity:.6;cursor:progress}
.enq__note{color:var(--grey-2);font-size:.85em;max-width:26ch}
.enq__done{justify-content:center;align-items:flex-start;gap:1.4rem}
.enq__done:focus{outline:none}
.enq__done-title{font-size:clamp(4.5rem,13vw,9.5rem)}
.enq__done .btn{cursor:pointer;margin-top:.6rem}
.enq__dot{display:inline-block;width:.5em;height:.5em;border-radius:50%;background:var(--signal);margin-left:.5em;vertical-align:middle}
@media (max-width:640px){.enq__row{grid-template-columns:1fr}}

/* RESPONSIVE */
@media (max-width:991px){
  .nav__links{display:none}
  .nav__logo{grid-column:1 / span 6}
  .nav__cta{grid-column:7 / -1}
  .nav .nav__menu-wrap{display:inline-block}
  .hero__deco{width:60vw;opacity:.7}
  .hero__left,.hero__h1,.hero__visuals{grid-column:1 / -1}
  .hero__h1{order:-1}
  .hero__left{gap:1.6rem}
  .hero__p{max-width:34ch}
  .hero__note{position:static;margin-top:1.5rem}
  .problems__stats,.problems__main,.problems__eyebrow,.logos{grid-column:1 / -1}
  .problems .grid{row-gap:3.5rem}
  .problems__eyebrow{padding-top:0;margin-bottom:-2rem}
  .works__eyebrow{position:static;margin-bottom:2rem}
  .works__list{margin-left:0}
  .work__link{grid-template-columns:1fr;padding:var(--g) 0}
  .work__link:hover{padding-left:0;background:transparent}
  .work__body{padding:1.2rem 0 1rem}
  .work__result{margin-top:1.6rem}
  .works__all{grid-template-columns:3.5rem 1fr auto}
  .services__left,.services__main{grid-column:1 / -1}
  .services__left{order:2;margin-top:2.5rem}
  .services .slider__stage{min-height:17rem}
  .services__float{position:relative;right:auto;width:min(60%,16rem);margin-top:2rem;transform:none!important}
  .step__n{grid-column:1 / -1}
  .step__body{grid-column:1 / -1;padding:1rem 0 1.8rem}
  .step__visual{grid-column:1 / -1;margin-bottom:var(--m)}
  .faq__left,.faq__main{grid-column:1 / -1}
  .faq__left{flex-direction:column-reverse;gap:2rem;margin-bottom:3rem}
  .faq__avatar{width:5.5rem;height:5.5rem}
  .cta__line{padding-left:calc(var(--in) * .25)}
  .footer__nav,.footer__details,.footer__socials{grid-column:1 / -1}
  .footer__details{margin-top:3rem}
  .footer__socials{margin-top:3rem}
  .footer__label--ai{margin-top:3rem}
  .footer__time,.footer__mid,.footer__copy{grid-column:1 / -1;text-align:left}
  .footer__bottom{row-gap:1.2rem;margin-top:4rem}
}
@media (max-width:640px){
  .logos{grid-template-columns:repeat(2,1fr)}
  .nav .btn{display:none}
  .gap__row{flex-direction:column;gap:.6rem}
  .gap__cover{width:42vw}
  .t-display{font-size:clamp(3.4rem,19vw,6rem)}
  .popup__p{max-width:17ch}
  .popups{left:.6rem;top:.6rem}
  .hero__visuals{aspect-ratio:4/5}
  .cta__pillars li{min-width:0;border:0;padding:0 .5rem}
}
@media (prefers-reduced-motion:reduce){
  .grain{animation:none}
  .blink{animation:none}
  .gap{height:auto}
  .gap__sticky{position:relative;height:auto;padding:6rem 0 9rem}
}
