@font-face{font-family:Manrope;src:url('./assets/fonts/Manrope-ExtraLight.ttf') format('truetype');font-style:normal;font-weight:200;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/fonts/Manrope-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/fonts/Manrope-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
:root{font-family:Manrope,sans-serif;color:#fff;background:#102b2e;font-synthesis:none;color-scheme:dark;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit}
a[href],button{ -webkit-tap-highlight-color:transparent }
:focus-visible{outline:2px solid #8ee3e2;outline-offset:6px}
.hero{position:relative;isolation:isolate;container-type:inline-size;width:100%;min-height:100svh;min-height:100dvh;aspect-ratio:1192/614;overflow:hidden;--u:calc(100cqw / 1192)}
.hero__scene{position:absolute;inset:0;z-index:-1;overflow:hidden;background:white}
.hero__background{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.hero__background img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.hero__laptop{position:absolute;left:calc(461 * var(--u));bottom:0;width:calc(843 * var(--u));height:calc(524 * var(--u));overflow:hidden}
.hero__laptop img{display:block;width:100%;height:auto}
.hero__glass{position:absolute;left:calc(-1 * var(--u));top:0;width:calc(605 * var(--u));height:100%;background:rgb(15 15 15 / 25%);-webkit-backdrop-filter:blur(calc(17 * var(--u)));backdrop-filter:blur(calc(17 * var(--u)))}
.header{position:relative;display:flex;align-items:center;margin:0 calc(27 * var(--u)) 0 calc(39 * var(--u));padding-top:calc(27 * var(--u));height:calc(65 * var(--u));font-size:calc(14 * var(--u));font-weight:200;line-height:1.4;letter-spacing:-.03em;white-space:nowrap}
.brand{font-weight:400;letter-spacing:-.04em}
.navigation{position:absolute;left:calc(329 * var(--u));display:grid;grid-template-columns:calc(63 * var(--u)) calc(46 * var(--u)) calc(41 * var(--u)) calc(97 * var(--u)) auto;align-items:center;gap:calc(30 * var(--u))}
.navigation__link{display:inline-flex;align-items:center;justify-content:center;min-height:calc(27 * var(--u))}
.navigation__link--active{padding:calc(3 * var(--u)) calc(13 * var(--u));border-radius:100px;background:rgb(77 77 77 / 43%)}
.navigation__link[aria-disabled=true]{cursor:default}
.contact{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:calc(11 * var(--u));width:calc(172 * var(--u));height:calc(38 * var(--u));box-shadow:inset 0 0 0 calc(.4 * var(--u)) #fff;border-radius:100px;transition:background .2s}
.contact[href]:hover{background:rgb(142 227 226 / 12%)}
.dot{display:inline-block;flex:none;width:calc(9 * var(--u));height:calc(9 * var(--u));border-radius:50%;background:#8ee3e2}
.hero__copy{position:absolute;top:calc(50% + 44.5 * var(--u));transform:translateY(-50%);margin-left:calc(39 * var(--u))}
.services{list-style:none;display:grid;grid-template-columns:calc(116 * var(--u)) calc(164 * var(--u)) auto;align-items:center;margin:0;padding:0;font-size:calc(18 * var(--u));font-weight:200;line-height:calc(27 * var(--u));letter-spacing:-.03em}
.services li{position:relative;display:flex;align-items:center}
.services li+li::before{position:absolute;left:calc(-47 * var(--u));content:'';width:calc(29 * var(--u));height:calc(.5 * var(--u));background:#c6c6c6}
.services li:last-child::before{left:calc(-44 * var(--u))}
h1{margin:calc(50 * var(--u)) 0 0;font-size:calc(40 * var(--u));font-weight:500;line-height:calc(50 * var(--u));letter-spacing:-.03em}
h1 span{display:block}
.signature{display:flex;align-items:center;gap:calc(12 * var(--u));margin:calc(105 * var(--u)) 0 0;font-size:calc(18 * var(--u));font-weight:200;line-height:calc(27 * var(--u));letter-spacing:-.02em;white-space:nowrap}
.menu-toggle{display:none}
@media(min-width:769px) and (max-width:1000px){.header{font-size:12px}.navigation{gap:calc(18 * var(--u))}.contact{width:calc(185 * var(--u))}.signature,.services{font-size:16px}.signature{letter-spacing:-.045em}}
@media(max-width:768px){
  .hero{aspect-ratio:auto;min-height:100svh;--u:1px;padding-bottom:340px}
  .hero__scene{background:#102b2e}
  .hero__background{inset:0;width:100%;height:100%}
  .hero__background img{width:100%;height:100%;object-fit:cover}
  .hero__laptop{left:calc(50% - 255px);top:auto;bottom:-27px;width:510px;height:340px}
  .hero__glass{left:0;width:100%;height:calc(100% - 340px);background:rgb(15 15 15 / 25%);backdrop-filter:blur(17px);mask-image:linear-gradient(#000 85%,transparent)}
  .header{height:80px;margin:0 24px;padding-top:0;font-size:14px}
  .brand{font-size:14px}
  .contact{width:38px;height:38px;margin-right:16px;font-size:0;gap:0}
  .contact::after{content:'Обсудить проект';position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;font-size:14px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;border:0;background:transparent;color:white;padding:8px}
  .menu-toggle span{display:block;width:24px;height:1px;background:currentColor;transition:transform .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .navigation{display:none;z-index:2;left:0;right:0;top:72px;padding:16px;background:#143639;border:1px solid rgb(142 227 226 / 25%);border-radius:16px;box-shadow:0 12px 30px #0004}
  .navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}
  .navigation__link{min-height:44px;justify-content:flex-start;padding:10px 14px}
  .hero__copy{position:relative;top:auto;transform:none;margin:0;padding:42px 24px 30px}
  .services{display:flex;font-size:14px;line-height:24px;white-space:nowrap}
  .services li+li::before{position:static;width:18px;margin:0 12px;height:.5px}
  h1{margin-top:38px;font-size:clamp(28px,5.8vw,40px);line-height:1.25;max-width:650px}
  h1 span{display:inline}
  .signature{margin-top:42px;font-size:12px;line-height:20px;gap:10px;white-space:normal;max-width:340px}
  .signature .dot{width:7px;height:7px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Motion keeps the original Figma geometry as its resting state. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--fill-ease:cubic-bezier(.82,0,.3,1)}
.navigation__link{position:relative;z-index:1}
.navigation__link--active{background:transparent}
.navigation__pill{position:absolute;inset:0 auto auto 0;width:calc(63 * var(--u));height:calc(27 * var(--u));border-radius:100px;background:rgb(77 77 77 / 43%);pointer-events:none;transition:transform .45s var(--motion-ease),width .45s var(--motion-ease),height .45s var(--motion-ease)}
.contact{position:relative;isolation:isolate;overflow:hidden;transition:box-shadow .8s var(--fill-ease)}
.contact .dot{position:relative;z-index:0}
.contact .dot::before{content:'';position:absolute;inset:0;border-radius:50%;background:#8ee3e2;transform:scale(1);transition:transform .8s var(--fill-ease);pointer-events:none}
.contact__label{position:relative;z-index:1;transition:color .8s var(--fill-ease),transform .8s var(--fill-ease)}
.contact:is(:hover,:focus-visible){background:transparent;box-shadow:inset 0 0 0 calc(.4 * var(--u)) #8ee3e2}
.contact:is(:hover,:focus-visible) .dot::before{transform:scale(38)}
.contact:is(:hover,:focus-visible) .contact__label{color:#102b2e;transform:translateX(calc(-10 * var(--u)))}
.hero__background{background:#092428}
.hero__background>img{opacity:.82}
.ambient{position:absolute;inset:0;overflow:hidden;mix-blend-mode:screen;pointer-events:none}
.ambient__light{position:absolute;display:block;width:58%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgb(139 255 246 / .76) 0%,rgb(78 223 224 / .38) 22%,rgb(32 163 178 / .12) 45%,transparent 68%);will-change:transform;animation:ambient-one 23s ease-in-out infinite alternate}
.ambient__light--one{left:22%;top:10%}
.ambient__light--two{left:55%;top:-35%;width:48%;opacity:.65;animation-name:ambient-two;animation-duration:31s;animation-delay:-11s}
.ambient__light--three{left:35%;top:38%;width:40%;opacity:.5;animation-name:ambient-three;animation-duration:37s;animation-delay:-19s}
@keyframes ambient-one{0%{transform:translate(-15%,18%) scale(.85)}28%{transform:translate(24%,-10%) scale(1.12)}61%{transform:translate(-20%,-26%) scale(.9)}100%{transform:translate(18%,22%) scale(1.1)}}
@keyframes ambient-two{0%{transform:translate(12%,18%) scale(1)}32%{transform:translate(-35%,48%) scale(1.16)}70%{transform:translate(8%,65%) scale(.82)}100%{transform:translate(-42%,4%) scale(1.08)}}
@keyframes ambient-three{0%{transform:translate(0,0) scale(.9)}37%{transform:translate(55%,-70%) scale(1.3)}74%{transform:translate(-35%,-25%) scale(1)}100%{transform:translate(40%,15%) scale(1.12)}}
.laptop{position:relative;width:100%;aspect-ratio:2400/1601}
.laptop__screen{position:absolute;left:22.84%;top:10.66%;width:54.08%;height:50.77%;overflow:hidden;background:#100e14;clip-path:polygon(0 0,100% .1%,99.85% 100%,.08% 99.82%)}
.showreel{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s cubic-bezier(.4,0,.2,1);pointer-events:none}
.showreel.is-active{opacity:1;z-index:1}
.showreel.is-entering{opacity:1;z-index:2}
.motion-toggle{position:absolute;right:calc(27 * var(--u));bottom:calc(18 * var(--u));display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:#102b2ea6;color:#fff;cursor:pointer;opacity:.65;transition:opacity .2s}
.motion-toggle:hover,.motion-toggle:focus-visible{opacity:1}
.motion-toggle span{width:8px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.motion-toggle[aria-pressed=true] span{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor;border-right:0;margin-left:2px}
.hero.is-motion-paused .ambient__light{animation-play-state:paused}
@media(max-width:768px){
  .navigation__pill{left:0;top:0;width:calc(100% - 32px);height:44px;border-radius:100px}
  .contact__label{display:none}
  .contact .dot::before{transition-duration:.5s}
  .ambient__light{width:130%}
  .ambient__light--one{left:-25%;top:5%}
  .ambient__light--two{left:0;top:35%}
  .ambient__light--three{left:-10%;top:55%}
  .motion-toggle{right:18px;bottom:18px;width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){
  .ambient__light{animation:none!important;will-change:auto}
  .showreel,.navigation__pill,.contact__label,.contact .dot::before{transition:none!important}
}

main{min-height:100svh;background:#fff}

/* A smaller desktop header keeps its outer alignment with the hero copy. */
@media(min-width:769px){
  .header{--u:calc(70cqw / 1192);margin:0 calc(27 * 100cqw / 1192) 0 calc(39 * 100cqw / 1192);padding-top:calc(27 * 100cqw / 1192);height:calc(53.6 * 100cqw / 1192);font-size:calc(14 * var(--u))}
  .navigation{left:50%;transform:translateX(-50%);gap:calc(30 * var(--u))}
  .contact{width:calc(172 * var(--u))}
}
@media(max-width:768px){
  .header{height:56px}
  .brand{font-size:12px}
  .navigation{top:54px}
  .contact{width:34px;height:34px}
}

/* Shared viewport scale follows the 1192 px Figma frame. */
html{scroll-behavior:smooth;scroll-padding-top:100px}
.section-scale{--s:calc(100vw / 1192);--u:var(--s);font-weight:200;letter-spacing:-.03em}
.header{position:fixed;z-index:50;top:0;left:0;right:0;margin:0;transition:background .4s,box-shadow .4s,backdrop-filter .4s}
.header.is-scrolled{background:rgb(6 20 22 / .9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 0 #ffffff12}
@media(min-width:769px){
  .header{--u:calc(81.9vw / 1192);margin:0;padding:calc(18 * 100vw / 1192) calc(27 * 100vw / 1192) calc(18 * 100vw / 1192) calc(39 * 100vw / 1192);height:calc(74 * 100vw / 1192);font-size:calc(14 * var(--u))}
}
.hero__background>img{opacity:.62}
.ambient__light{background:radial-gradient(circle,rgb(160 255 248 / .92) 0%,rgb(80 243 232 / .55) 20%,rgb(40 184 197 / .2) 43%,transparent 68%);animation-duration:14s}
.ambient__light--two{animation-duration:19s;opacity:.85}
.ambient__light--three{animation-duration:23s;opacity:.8}
.portfolio{position:sticky;top:var(--stick-top,0);z-index:1;padding:calc(33 * var(--s)) calc(37 * var(--s)) calc(62 * var(--s));background:#fff;color:#0c0c0c}
.portfolio__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(22 * var(--s)) calc(19 * var(--s))}
.portfolio__intro{min-width:0;border-radius:calc(15 * var(--s));background:linear-gradient(#030303,#35868d);color:#fff;padding:calc(22 * var(--s));display:flex;flex-direction:column;justify-content:space-between;min-height:calc(400 * var(--s))}
.portfolio__intro p{font-size:calc(18 * var(--s));line-height:calc(24 * var(--s));margin:0;font-weight:200;color:#dedede}
.portfolio__intro h2{position:relative;margin:0 0 calc(2 * var(--s));font-size:calc(24 * var(--s));line-height:calc(28 * var(--s));font-weight:500;letter-spacing:-.03em}
.portfolio__intro h2::before{content:'';display:block;width:calc(65 * var(--s));height:1px;background:#fff8;margin-bottom:calc(20 * var(--s))}
.case{display:flex;flex-direction:column;min-width:0;gap:calc(9 * var(--s));padding:0;border:0;background:none;text-align:left;cursor:pointer;color:white;letter-spacing:-.03em;font-weight:200}
.case__media{position:relative;display:block;width:100%;aspect-ratio:360/323;overflow:hidden;border-radius:calc(15 * var(--s));background:#102b2e}
.case__media>img,.case__media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .55s ease,transform 1.1s var(--motion-ease)}
.case__media>video{opacity:0;pointer-events:none}
.case.is-playing .case__media>video.is-current{opacity:1}
.case:is(:hover,:focus-visible) .case__media>img{transform:scale(1.025)}
.case__tag{position:absolute;top:calc(24 * var(--s));left:calc(24 * var(--s));padding:calc(9 * var(--s)) calc(16 * var(--s));line-height:1.15;background:#363636b8;border-radius:100px;color:#fff;font-size:calc(14 * var(--s));pointer-events:none}
.case__caption{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(6 * var(--s));padding:calc(12 * var(--s)) calc(15 * var(--s));height:calc(68 * var(--s));border-radius:calc(14 * var(--s));background:var(--case-color)}
.case--abrau{--case-color:#a57648}.case--nyan{--case-color:#26121f}.case--mafia{--case-color:#6f2420}.case--realtor{--case-color:#e4bf9a;color:#0c0c0c}.case--law{--case-color:#2f2f2f}
.case__text{display:flex;flex-direction:column;min-width:0;gap:calc(3 * var(--s))}
.case__title{font-size:calc(18 * var(--s));font-weight:400;line-height:1.25;white-space:nowrap}
.case__description{font-size:calc(14 * var(--s));line-height:1.35;white-space:nowrap}
.case__watch{display:flex;align-items:center;gap:calc(10 * var(--s));justify-content:center;flex:none;border:1px solid #ffffff90;border-radius:100px;width:calc(104 * var(--s));height:calc(30 * var(--s));font-size:calc(14 * var(--s));margin-top:calc(2 * var(--s));transition:background .35s,color .35s,border-color .35s}
.case--realtor .case__watch{border-color:#4b454580}
.case__watch .dot{width:calc(6 * var(--s));height:calc(6 * var(--s))}
.case:is(:hover,:focus-visible) .case__watch{background:#8ee3e2;color:#102b2e;border-color:#8ee3e2}
.case:is(:hover,:focus-visible) .case__watch .dot{background:#102b2e}
.action{--u:var(--s);display:inline-flex;align-items:center;justify-content:center;gap:calc(16 * var(--s));height:calc(47 * var(--s));padding:0 calc(24 * var(--s));border:0;border-radius:100px;position:relative;isolation:isolate;overflow:hidden;cursor:pointer;font-size:calc(16 * var(--s));font-weight:200;letter-spacing:-.03em;white-space:nowrap}
.action--dark{background:#060a0b;color:#fff}.action--light{background:#fff;color:#0c0c0c}
.action>.dot{position:relative;z-index:0}
.action>.dot::before{content:'';position:absolute;inset:0;border-radius:50%;background:#8ee3e2;transition:transform .8s var(--fill-ease)}
.action>span:last-child{position:relative;z-index:1;transition:transform .8s var(--fill-ease),color .8s var(--fill-ease)}
.action:is(:hover,:focus-visible)>.dot::before{transform:scale(65)}
.action:is(:hover,:focus-visible)>span:last-child{color:#102b2e;transform:translateX(calc(-8 * var(--s)))}
.portfolio__all{display:flex;width:fit-content;max-width:100%;margin:calc(33 * var(--s)) auto 0}
.stacked-sections{position:relative;z-index:2}
.studio{position:sticky;top:var(--stick-top,0);height:calc(658 * var(--s));overflow:hidden;isolation:isolate;background:linear-gradient(#030303,#35868d);border-radius:calc(41 * var(--s)) calc(41 * var(--s)) 0 0}
.studio .ambient{z-index:-1;opacity:.7}
.studio .ambient__light--one{left:40%;top:12%}
.studio .ambient__light--two{left:-18%;top:15%}
.studio .ambient__light--three{left:35%;top:25%}
.section-label{display:flex;align-items:center;gap:calc(13 * var(--s));margin:0;font-size:calc(18 * var(--s));line-height:1.4;white-space:nowrap}
.studio__label{position:absolute;left:calc(54 * var(--s));top:calc(66 * var(--s));z-index:1}
.studio__portrait{position:absolute;left:calc(564.126 * var(--s));top:calc(-58.894 * var(--s));width:calc(677.643 * var(--s));height:calc(813.867 * var(--s));object-fit:cover;object-position:bottom;transform:matrix(-.984808,.173648,.173648,.984808,0,0);transform-origin:0 0}
.studio__title{position:absolute;left:calc(55 * var(--s));top:calc(421 * var(--s));font-size:calc(40 * var(--s));line-height:calc(50 * var(--s));font-weight:400;letter-spacing:-.03em;margin:0;z-index:1}
.studio__title>span{color:#bcbcbc}
.studio__stats{display:grid;grid-template-columns:1fr 1fr;gap:calc(55 * var(--s)) calc(38 * var(--s));position:absolute;left:calc(670 * var(--s));right:calc(34 * var(--s));top:calc(60 * var(--s));margin:0}
.stat{display:flex;flex-direction:column;min-width:0}
.stat dt{order:1;font-size:calc(18 * var(--s));line-height:1.4;white-space:nowrap;color:#e1eded}
.stat dt::before{content:'';display:block;width:calc(65 * var(--s));height:1px;background:#ffffff69;margin:calc(20 * var(--s)) 0 calc(13 * var(--s))}
.stat__value{display:flex;align-items:baseline;margin:0;font-weight:400;font-size:calc(60 * var(--s));line-height:1.15;letter-spacing:-.03em;white-space:pre}
.stat__suffix{font-size:.67em;margin-left:.2em}
.stat__digit{display:inline-block;height:1.15em;overflow:hidden;font-variant-numeric:tabular-nums}
.stat__strip{display:flex;flex-direction:column;will-change:transform}
.stat__strip>span{display:block;height:1.15em;line-height:1.15em}
.services-cover{position:relative;margin-top:calc(-54 * 100vw / 1192);z-index:3;background:white;border-radius:calc(41 * 100vw / 1192) calc(41 * 100vw / 1192) 0 0;box-shadow:0 -15px 35px #0614160d}
.offerings{color:#0c0c0c;padding:calc(54 * var(--s)) calc(32 * var(--s)) 0}
.offerings__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(30 * var(--s));margin-bottom:calc(54 * var(--s))}
.offerings__heading h2{font-size:calc(40 * var(--s));line-height:calc(50 * var(--s));font-weight:400;margin:0;letter-spacing:-.03em;max-width:calc(640 * var(--s))}
.offerings__heading h2>span{color:#3b8c92}
.accordion{border-top:1px solid #cfcfcf;margin:0 calc(30 * var(--s))}
.service{position:relative;border-bottom:1px solid #cfcfcf;isolation:isolate}
.service:last-child{border:0}
.service::before{content:'';position:absolute;inset:0 calc(-30 * var(--s));z-index:-1;border-radius:calc(35 * var(--s));background:linear-gradient(99deg,#f4f4f4 38%,#cae9ec);opacity:0;transition:opacity .6s}
.service.is-open::before{opacity:1}
.service.is-open{border-bottom-color:transparent}
.service h3{margin:0;font-weight:400}
.service__trigger{display:flex;flex-direction:column;align-items:flex-start;gap:calc(20 * var(--s));padding:calc(38 * var(--s)) 0 calc(26 * var(--s));width:100%;border:0;background:transparent;color:#0c0c0c;text-align:left;cursor:pointer;letter-spacing:-.03em;position:relative;z-index:2}
.service__number{display:grid;place-items:center;width:calc(44 * var(--s));height:calc(44 * var(--s));border:.5px solid #737373;border-radius:50%;font-size:calc(18 * var(--s));font-weight:200;line-height:1}
.service__title{font-size:calc(50 * var(--s));line-height:1.2;letter-spacing:-.035em;transition:color .3s}
.service__trigger:hover .service__title{color:#35868d}
.service__panel{overflow:clip;position:relative}
.service__panel[hidden]{display:none}
.service__content{position:relative;z-index:1;padding-bottom:calc(38 * var(--s))}
.service__types{font-size:calc(18 * var(--s));line-height:1.3;margin:0}
.service__description{font-size:calc(16 * var(--s));line-height:1.35;margin:calc(5 * var(--s)) 0 0;color:#606060}
.service__tags{display:flex;flex-wrap:wrap;gap:calc(9 * var(--s));list-style:none;margin:calc(24 * var(--s)) 0 0;padding:0}
.service__tags li{border:.5px solid #737373;border-radius:100px;padding:calc(10 * var(--s)) calc(18 * var(--s));font-size:calc(18 * var(--s));line-height:1.25;white-space:nowrap}
.service__content--pending{padding:calc(2 * var(--s)) 0 calc(35 * var(--s))}
.service__contact{display:inline-flex;gap:18px;border-bottom:1px solid #3b8c92;padding-bottom:6px;font-size:calc(18 * var(--s));color:#296e74}
.service__art{position:absolute;right:calc(-68 * var(--s));top:calc(-215 * var(--s));width:calc(417 * var(--s));height:calc(417 * var(--s));pointer-events:auto;z-index:0;opacity:.85}
.service__art img,.service__art canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.service__art canvas{opacity:0;transition:opacity .8s}.service__art.is-ready canvas{opacity:1}.service__art.is-ready img{opacity:0}.service__art img{transition:opacity .8s}
/* The artwork can extend behind the heading without intercepting its button. */
.service:has(.service__art) .service__panel{overflow:visible}
.contact-section{padding:calc(32 * var(--s)) calc(21 * var(--s)) calc(33 * var(--s));background:#fff;color:#fff}
.contact-section__inner{position:relative;isolation:isolate;overflow:hidden;border-radius:calc(26 * var(--s));background:linear-gradient(180deg,#030303 0%,#070c0d 36%,#2e777e 120%);height:calc(297 * var(--s));display:flex;align-items:center;flex-direction:column;justify-content:center;gap:calc(48 * var(--s))}
.contact-section h2{position:relative;font-size:calc(40 * var(--s));line-height:1.3;font-weight:400;letter-spacing:-.03em;margin:0}
.contact-section .ambient{z-index:-1;opacity:.65}
.contact-section .ambient__light{width:55%;top:-100%;left:10%}
.contact-section .ambient__light--two{top:-15%;left:50%;width:45%}
.contact-section .ambient__light--three{top:0;left:-10%;width:55%}
body.is-motion-paused .ambient__light,body.is-page-hidden .ambient__light,.ambient.is-offscreen .ambient__light{animation-play-state:paused}
.project-dialog{padding:0;width:min(1040px,92vw);max-width:none;max-height:92dvh;border:1px solid #ffffff26;border-radius:22px;background:#0b2023;color:white;overflow:auto;box-shadow:0 35px 90px #0007}
.project-dialog::backdrop{background:#021012d9;backdrop-filter:blur(10px)}
.project-dialog__close{position:absolute;right:16px;top:16px;z-index:1;width:44px;height:44px;border:1px solid #ffffff66;background:#092428c9;color:#fff;border-radius:50%;font-size:30px;font-weight:200;cursor:pointer}
.project-dialog__media{width:100%;height:min(68dvh,700px);background:#061113}
.project-dialog__media img,.project-dialog__media video{display:block;width:100%;height:100%;object-fit:contain}
.project-dialog__footer{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;gap:24px}
.project-dialog h2{font-size:24px;font-weight:400;margin:0}.project-dialog p{font-size:14px;font-weight:200;margin:6px 0 0;color:#d4dddd}
.project-dialog__navigation{display:flex;align-items:center;gap:16px;white-space:nowrap}
.project-dialog__navigation button{width:40px;height:40px;border-radius:50%;border:1px solid #fff8;background:transparent;color:#fff;cursor:pointer;font-size:22px}
body.has-dialog{overflow:hidden}
@media(max-width:768px){
  html{scroll-padding-top:84px}
  .header{--u:1.17px;height:66px;padding:0 20px;margin:0;font-size:14px}
  .brand{font-size:14.04px}.header .contact{width:40px;height:40px;margin-right:10px}
  .navigation{top:66px;left:16px;right:16px}.hero__copy{padding-top:108px}
  .section-scale{--s:1px;--u:1px}
  .portfolio{padding:24px 20px 58px;position:relative;top:auto}
  .portfolio__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  .portfolio__intro{padding:20px;min-height:300px}.portfolio__intro p{font-size:14px;line-height:1.5}.portfolio__intro h2{font-size:20px;line-height:1.25}
  .portfolio__intro br{display:none}
  .case__caption{height:auto;min-height:68px;padding:10px;gap:8px;flex-wrap:wrap}
  .case__title{font-size:15px;white-space:normal}.case__description{font-size:12px;white-space:normal}
  .case__watch{font-size:12px;width:88px;height:28px;margin-top:4px}
  .case__tag{font-size:11px;top:14px;left:14px;padding:8px 11px}
  .portfolio__all{margin-top:32px}.action{height:47px;font-size:15px;padding:0 24px}
  .studio{height:980px;border-radius:30px 30px 0 0}
  .studio__label{top:34px;left:24px;font-size:14px}
  .studio__portrait{left:450px;top:-60px;width:560px;height:672px}
  .studio__title{left:24px;top:400px;font-size:30px;line-height:1.25}
  .studio__stats{left:24px;right:24px;top:580px;gap:28px 22px}
  .stat__value{font-size:48px}.stat dt{font-size:14px;white-space:normal}.stat dt::before{margin:12px 0 10px;width:52px}
  .services-cover{margin-top:-30px;border-radius:30px 30px 0 0}
  .offerings{padding:35px 20px 0}.offerings__heading{flex-direction:column;gap:24px;margin-bottom:35px}.section-label{font-size:14px}
  .offerings__heading h2{font-size:30px;line-height:1.25;max-width:580px}.offerings__heading h2 br{display:none}
  .accordion{margin:0 12px}.service::before{inset:0 -12px;border-radius:24px}
  .service__trigger{padding:26px 0 22px;gap:16px}.service__title{font-size:36px}.service__number{width:36px;height:36px;font-size:14px}
  .service__types{font-size:16px;max-width:80%}.service__description{font-size:14px;max-width:80%}.service__description br{display:none}
  .service__tags{gap:7px;margin-top:22px}.service__tags li{font-size:13px;padding:8px 12px}
  .service__art{right:-28px;top:-152px;width:250px;height:250px;opacity:.55}
  .service__content{padding-bottom:28px}.service__contact{font-size:16px}
  .contact-section{padding:32px 14px 22px}.contact-section__inner{height:260px;border-radius:24px;padding:28px 20px;gap:30px}
  .contact-section h2{font-size:30px;line-height:1.25;text-align:center}
  .project-dialog__media{height:60dvh}.project-dialog__footer{padding:20px;align-items:flex-start;flex-direction:column;gap:18px}
}
@media(max-width:480px){
  .portfolio__grid{grid-template-columns:1fr;gap:22px}.portfolio__intro{min-height:360px;padding:24px}.portfolio__intro p{font-size:17px}.portfolio__intro h2{font-size:24px;max-width:290px}.portfolio__intro h2 br{display:initial}
  .case__caption{height:68px;align-items:flex-start;flex-wrap:nowrap;padding:12px}.case__title{font-size:17px}.case__description{font-size:13px}.case__watch{margin-top:1px;font-size:12px}
  .case__tag{font-size:13px}.studio__portrait{left:399px;top:-10px;width:510px;height:613px}
  .studio__title{font-size:26px;top:410px;left:20px}.studio__title br{display:none}.studio__title>span{display:block;max-width:335px}
  .studio__stats{top:570px;left:20px;right:20px;gap:30px 18px}.stat__value{font-size:44px}.stat dt{font-size:13px}
  .offerings__heading h2{font-size:28px}.service__title{font-size:32px}.service__art{position:relative;top:auto;right:auto;width:240px;height:190px;margin:-15px auto 10px;opacity:.9}
  .service__types,.service__description{max-width:100%}.service__content{padding-bottom:20px}.service__tags{margin-top:18px;gap:6px}.service__tags li{font-size:12px;padding:8px 10px}
  .contact-section h2{font-size:28px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.portfolio,.studio{position:relative;top:auto}.stat__strip{will-change:auto}.case__media>img{transform:none!important}
  .service__art.is-ready img{opacity:1}.service__art.is-ready canvas{opacity:0}
}
.services-cover{overflow:clip}
.service__art{pointer-events:none}
@media(min-width:769px){.offerings__heading h2{width:calc(640 * var(--s));flex:none}.studio__stats{grid-template-columns:calc(215 * var(--s)) 1fr}}
.portfolio__all{scroll-margin-top:calc(100dvh - 160px)}
.studio .ambient{opacity:.5}
.studio__stats{text-shadow:0 1px 12px #061c1e70}
@media(max-width:768px){.studio__portrait{mask-image:linear-gradient(#000 50%,transparent 86%);-webkit-mask-image:linear-gradient(#000 50%,transparent 86%)}}
@media(max-width:480px){.portfolio__intro h2{max-width:none;font-size:23px}.portfolio__intro h2 br{display:none}}

/* October revision: cases cover the hero; the studio enters in normal flow. */
.header{font-weight:400}
.case{align-items:stretch}
.case__caption{width:100%;flex:none}
.case--mafia:is(:hover,:focus-visible) .case__media>img,.case--law:is(:hover,:focus-visible) .case__media>img{transform:scale(1.12)}
.hero{position:sticky;top:var(--stick-top,0);z-index:0}
.work-and-studio{position:relative;z-index:2;background:#fff;border-radius:calc(41 * 100vw / 1192) calc(41 * 100vw / 1192) 0 0}
.portfolio{position:relative;top:auto;border-radius:inherit}
.portfolio__all{scroll-margin-top:100px}
.social-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(16 * var(--s));padding:calc(33 * var(--s)) calc(21 * var(--s)) calc(17 * var(--s));color:#0c0c0c}
.social-profile__copy,.social-profile__visual{height:calc(526 * var(--s));border-radius:calc(26 * var(--s));overflow:hidden}
.social-profile__copy{background:#f4f4f4;padding:calc(40 * var(--s)) calc(44 * var(--s))}
.social-profile h2{font-size:calc(40 * var(--s));font-weight:500;line-height:calc(50 * var(--s));letter-spacing:-.03em;margin:calc(20 * var(--s)) 0 0}
.social-profile h2>span{display:flex;align-items:center;gap:calc(24 * var(--s));margin-top:calc(16 * var(--s))}
.social-profile h2 img{display:block;width:calc(123 * var(--s));height:calc(51 * var(--s));object-fit:cover;border-radius:100px}
.social-profile__credentials{list-style:none;margin:calc(24 * var(--s)) 0 calc(27 * var(--s));padding:0;width:calc(356 * var(--s));max-width:100%;color:#606060;font-size:calc(18 * var(--s));line-height:calc(22 * var(--s))}
.social-profile__credentials li{display:flex;align-items:center;gap:calc(20 * var(--s));min-height:calc(62 * var(--s));border-bottom:1px solid #e4e4e4;padding:calc(9 * var(--s)) 0}
.social-profile__credentials li:last-child{border:0}
.social-profile__credentials img{width:calc(33 * var(--s));height:calc(33 * var(--s));object-fit:contain;flex:none;margin:0 calc(3 * var(--s))}
.social-profile__visual{position:relative;background:linear-gradient(180deg,#030303,#070c0d 36%,#35868d 123%)}
.social-profile__visual>img{position:absolute;bottom:0;left:calc(78 * var(--s));width:calc(420 * var(--s));height:calc(497 * var(--s));display:block;max-width:none}
.social-profile .action{min-width:calc(219 * var(--s))}
.action[aria-disabled=true]{cursor:default}
.action[aria-disabled=true]:hover>.dot::before{transform:none}
.action[aria-disabled=true]:hover>span:last-child{transform:none;color:inherit}
.contact-section{padding-top:0}
.site-footer{margin-top:calc(4 * var(--s));border-radius:calc(26 * var(--s)) calc(26 * var(--s)) 0 0;background:#f4f4f4;color:#6e6e6e;padding:calc(44 * var(--s)) calc(21 * var(--s)) calc(30 * var(--s));font-size:calc(14 * var(--s));font-weight:400}
.site-footer__main{display:grid;grid-template-columns:minmax(0,1fr) calc(117 * var(--s)) calc(117 * var(--s)) calc(130 * var(--s));gap:calc(70 * var(--s));min-height:calc(176 * var(--s))}
.site-footer__contact p{font-size:calc(16 * var(--s));line-height:calc(22 * var(--s));margin:0 0 calc(18 * var(--s))}
.site-footer__contact .action{min-width:calc(196 * var(--s))}
.site-footer__links{display:flex;flex-direction:column;align-items:stretch;gap:calc(11 * var(--s))}
.site-footer__links>a,.site-footer__links>span{display:block;border-bottom:.5px solid #b6b6b6;padding:0 0 calc(6 * var(--s));line-height:calc(24 * var(--s));white-space:nowrap}
.site-footer a[href]{transition:color .25s}
.site-footer a[href]:hover{color:#287c83}
.site-footer .action[href]:hover{color:#fff}
.site-footer__socials{display:flex;flex-direction:column;align-items:stretch;gap:calc(9 * var(--s))}
.site-footer__socials p{border-bottom:.5px solid #b6b6b6;margin:0 0 calc(10 * var(--s));padding-bottom:calc(6 * var(--s));line-height:calc(24 * var(--s))}
.site-footer__socials>a{display:flex;align-items:center;gap:calc(10 * var(--s));line-height:calc(20 * var(--s))}
.site-footer__socials svg{width:calc(16 * var(--s));height:calc(16 * var(--s));color:#24494c;flex:none}
.site-footer__legal{display:flex;justify-content:space-between;gap:24px;border-top:.5px solid #b6b6b6;padding-top:calc(16 * var(--s));font-size:calc(12 * var(--s));line-height:1.5}
@media(max-width:768px){
  .work-and-studio{border-radius:30px 30px 0 0}
  .social-profile{grid-template-columns:1fr;gap:16px;padding:28px 20px 16px}
  .social-profile__copy{height:auto;padding:30px 28px;border-radius:24px}
  .social-profile h2{font-size:34px;line-height:1.2;margin-top:22px}.social-profile h2>span{gap:22px;margin-top:16px}.social-profile h2 img{width:116px;height:49px}
  .social-profile__credentials{font-size:16px;line-height:1.35;width:100%;margin:26px 0 24px}.social-profile__credentials li{min-height:70px;gap:16px}.social-profile__credentials br{display:none}
  .social-profile__credentials img{width:30px;height:30px;margin:0}
  .social-profile__visual{height:480px;border-radius:24px}.social-profile__visual>img{height:450px;width:auto;left:50%;transform:translateX(-50%)}
  .contact-section{padding-top:0}
  .site-footer{margin-top:8px;padding:32px 20px 26px;border-radius:26px 26px 0 0;font-size:14px}
  .site-footer__main{grid-template-columns:1fr 1fr;gap:26px 22px;min-height:0;padding-bottom:28px}
  .site-footer__contact{grid-column:1/-1}.site-footer__contact p{font-size:16px;line-height:1.4;margin-bottom:18px}
  .site-footer__links{gap:9px}.site-footer__links>a,.site-footer__links>span{padding-bottom:6px;line-height:24px;white-space:normal}
  .site-footer__socials{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.site-footer__socials p{grid-column:1/-1;margin-bottom:4px}.site-footer__socials>a{gap:7px;font-size:13px}
  .site-footer__legal{flex-direction:column;gap:10px;padding-top:18px;font-size:12px}
}
@media(max-width:360px){.social-profile__copy{padding:26px 20px}.social-profile h2{font-size:30px}.social-profile h2 img{width:90px;height:42px}.social-profile__visual{height:400px}.social-profile__visual>img{height:380px}.case__caption{height:auto;min-height:68px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.hero{position:relative;top:auto}.case--mafia:is(:hover,:focus-visible) .case__media>img,.case--law:is(:hover,:focus-visible) .case__media>img{transform:none}}

/* October 4: the portfolio's lower edge sits over the square studio. */
.portfolio{z-index:3;border-radius:calc(41 * var(--s))}
.stacked-sections{margin-top:calc(-41 * 100vw / 1192)}
.studio{border-radius:0}
@media(min-width:769px){.navigation{display:flex;left:50%;transform:translateX(-50%);gap:calc(25 * var(--u))}.navigation__link{padding:calc(3 * var(--u)) calc(5 * var(--u))}.navigation__link--active{padding:calc(3 * var(--u)) calc(13 * var(--u))}}
.service__art{right:calc(-10 * var(--s));top:calc(-170 * var(--s));width:calc(280 * var(--s));height:calc(280 * var(--s));opacity:1}
.service__types,.service__description{max-width:75%}
.service__tags{position:relative;z-index:2}
.particle-art img,.particle-art canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;transition:opacity .55s}
.particle-art canvas{opacity:0}.particle-art.is-ready canvas{opacity:1}.particle-art.is-ready img{opacity:0}
.advantages,.reviews,.articles{color:#0c0c0c;letter-spacing:-.03em}
.advantages{padding:calc(64 * var(--s)) calc(29 * var(--s)) calc(48 * var(--s))}
.advantages__heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:calc(32 * var(--s))}
.advantages h2,.clients h2,.reviews h2,.articles h2{font-size:calc(40 * var(--s));line-height:1.12;font-weight:400;letter-spacing:-.035em;margin:0}
.advantages h2{text-align:right}.advantages h2>span{color:#5b9fa6}
.advantages__grid{display:grid;grid-template-columns:1.03fr 1fr 1.04fr;gap:calc(18 * var(--s))}
.advantage{position:relative;overflow:hidden;border-radius:calc(15 * var(--s));isolation:isolate;color:#fff;background:#050909}
.advantage__copy{position:relative;z-index:2;padding:calc(24 * var(--s));pointer-events:none}
.advantage h3{font-size:calc(18 * var(--s));line-height:1.15;font-weight:400;margin:0 0 calc(8 * var(--s));letter-spacing:-.03em}
.advantage p{font-size:calc(16 * var(--s));line-height:1.16;font-weight:200;margin:0;color:#ededed}
.advantage--standout{height:calc(465 * var(--s));background:linear-gradient(#030808,#35868d)}
.advantage--standout .advantage__art{position:absolute;width:calc(294 * var(--s));height:calc(294 * var(--s));left:calc(30 * var(--s));bottom:calc(10 * var(--s))}
.advantages__middle{display:flex;flex-direction:column;gap:calc(20 * var(--s))}
.advantage--conversion{height:calc(222 * var(--s));background:#f4f4f4;color:#111}
.advantage--conversion .advantage__copy{position:absolute;bottom:0;padding:calc(21 * var(--s))}
.advantage--conversion p{color:#555}
.advantage--conversion .advantage__art{position:absolute;width:calc(163 * var(--s));height:calc(163 * var(--s));right:calc(9 * var(--s));top:calc(8 * var(--s))}
.advantage--reach{height:calc(223 * var(--s))}
.viewport-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.advantage--reach::after,.advantage--portrait::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 15%,#0003 40%,#000c 100%);z-index:1;pointer-events:none}
.advantage--reach .advantage__copy,.advantage--portrait .advantage__copy{position:absolute;bottom:0;padding:calc(22 * var(--s))}
.advantage--portrait{height:calc(393 * var(--s));margin-bottom:calc(24 * var(--s))}
.advantage--portrait .viewport-video{object-position:center 28%}
.advantages__right .action{height:calc(48 * var(--s));font-size:calc(14 * var(--s));padding:0 calc(24 * var(--s))}
.clients{position:relative;background:linear-gradient(#020303 4%,#102b2e 57%,#28656c);border-radius:calc(25 * var(--s)) calc(25 * var(--s)) 0 0;padding:calc(47 * var(--s)) 0 calc(42 * var(--s));overflow:hidden}
.clients__heading{padding:0 calc(33 * var(--s))}.clients h2{margin-top:calc(24 * var(--s))}
.clients__marquee{overflow:hidden;margin-top:calc(26 * var(--s))}
.clients__track{display:flex;width:max-content;animation:clients-drift 42s linear infinite;will-change:transform}
.clients__group{display:flex;align-items:center;flex:none}
.clients__group img{width:calc(var(--logo-width) * var(--s));height:calc(113 * var(--s));object-fit:contain;flex:none;filter:none}
@keyframes clients-drift{from{transform:translateX(-33.333333%)}to{transform:translateX(0)}}
.reviews{position:relative;background:#fff;border-radius:calc(25 * var(--s)) calc(25 * var(--s)) 0 0;margin-top:calc(-36 * var(--s));padding:calc(64 * var(--s)) calc(33 * var(--s)) calc(60 * var(--s));isolation:isolate;min-height:calc(692 * var(--s))}
.reviews__heading{position:relative;z-index:2;pointer-events:none}.reviews h2{margin-top:calc(27 * var(--s))}
.reviews__map{position:absolute;top:calc(40 * var(--s));right:calc(14 * var(--s));width:calc(815 * var(--s));aspect-ratio:815/458;z-index:0}
.reviews__world{width:100%;height:100%;object-fit:contain;display:block;opacity:.8}
.reviews__pin{position:absolute;left:var(--x);top:var(--y);width:calc(55 * var(--s));height:calc(55 * var(--s));padding:calc(9 * var(--s));border:1px solid #e7e7e7;border-radius:50%;background:#fff;display:grid;place-items:center;transform:translate(-50%,-50%);transition:transform .7s cubic-bezier(.65,0,.35,1),box-shadow .7s;cursor:pointer;z-index:1}
.reviews__pin img{width:100%;height:100%;object-fit:contain}.reviews__pin.is-active{transform:translate(-50%,-50%) scale(1.72);box-shadow:0 5px 20px #102b2e09;z-index:2}
.reviews__content{position:relative;z-index:2;width:calc(426 * var(--s));margin-top:calc(24 * var(--s))}
.reviews__slides{display:grid}.review{grid-area:1/1;margin:0;background:#f4f4f4;border-radius:calc(15 * var(--s));padding:calc(24 * var(--s));min-height:calc(275 * var(--s));display:flex;flex-direction:column}
.review[hidden]{display:none}.review__quote{display:block;font-family:Arial,sans-serif;color:#8ee3e2;font-size:calc(65 * var(--s));line-height:.65;height:calc(40 * var(--s))}
.review blockquote{font-size:calc(16 * var(--s));line-height:1.18;font-weight:200;margin:calc(4 * var(--s)) 0 calc(24 * var(--s))}
.review figcaption{display:flex;gap:calc(15 * var(--s));align-items:center;margin-top:auto}
.review figcaption>img{width:calc(58 * var(--s));height:calc(58 * var(--s));object-fit:cover;border-radius:50%;flex:none}
.review figcaption strong{display:block;font-size:calc(17 * var(--s));font-weight:500;margin-bottom:calc(4 * var(--s))}
.review figcaption span span{display:block;font-size:calc(15 * var(--s));line-height:1.2;font-weight:200}
.reviews__controls,.articles__controls{display:flex;gap:calc(9 * var(--s));margin-top:calc(16 * var(--s))}
.circle-arrow{display:grid;place-items:center;width:calc(43 * var(--s));height:calc(43 * var(--s));padding:calc(11 * var(--s));border-radius:50%;border:1px solid #050909;color:#fff;background:#050909;cursor:pointer;transition:background .25s,color .25s;flex:none}
.circle-arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2}.circle-arrow[data-direction="-1"] svg{transform:rotate(180deg)}
.circle-arrow:hover{background:#8ee3e2;color:#102b2e;border-color:#8ee3e2}.circle-arrow:disabled{opacity:.35;cursor:default}
.reviews__contact{position:relative;display:flex;justify-content:center;margin-top:calc(54 * var(--s))}
.articles{padding:calc(22 * var(--s)) calc(33 * var(--s)) calc(15 * var(--s));overflow:hidden}
.articles__heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:calc(34 * var(--s))}
.articles h2{margin-top:calc(20 * var(--s))}.articles__controls{margin:0}.articles__controls .circle-arrow{background:white;color:#343434;border-color:#999}
.articles__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:calc(15 * var(--s))}
.articles__viewport::-webkit-scrollbar{display:none}
.articles__track{display:flex;gap:calc(16 * var(--s))}
.article-card{flex:0 0 calc((100% - 32 * var(--s))/3);min-width:0;border-radius:calc(15 * var(--s));background:#f4f4f4;padding:calc(24 * var(--s));scroll-snap-align:start;display:block}
.article-card>img{width:100%;height:auto;aspect-ratio:315/281;object-fit:cover;display:block;border-radius:calc(13 * var(--s));transition:filter .4s}
.article-card__caption{display:flex;gap:calc(12 * var(--s));align-items:flex-start;padding-top:calc(20 * var(--s))}
.article-card h3{font-size:calc(18 * var(--s));font-weight:400;line-height:1.18;letter-spacing:-.03em;margin:0;flex:1}
.article-card__arrow{display:grid;place-items:center;border-radius:50%;width:calc(38 * var(--s));height:calc(38 * var(--s));background:#020505;color:#fff;font-size:calc(24 * var(--s));flex:none;transition:transform .4s,background .4s,color .4s}
.article-card[href]:hover .article-card__arrow{transform:rotate(45deg);background:#8ee3e2;color:#102b2e}
.article-card[aria-disabled=true]{cursor:default}
body.is-motion-paused .clients__track,body.is-page-hidden .clients__track,.clients.is-offscreen .clients__track{animation-play-state:paused}
@media(max-width:768px){
 .stacked-sections{margin-top:-30px}.portfolio{border-radius:30px}.studio{border-radius:0}
 .service__types,.service__description{max-width:100%}.service__art{position:relative;top:auto;right:auto;width:240px;height:220px;margin:-15px auto 12px}
 .service__types br,.service__description br{display:none}
 .advantages{padding:55px 20px 40px}.advantages__heading{display:block;margin-bottom:28px}.advantages h2{text-align:left;margin-top:24px;font-size:32px}.advantages h2 br{display:none}
 .advantages__grid{grid-template-columns:1fr 1fr;gap:18px}.advantage--standout{height:465px}.advantages__right{display:grid;grid-template-columns:1fr 1fr;grid-column:1/-1;align-items:center;gap:20px}.advantage--portrait{margin:0;height:380px}
 .advantage__copy{padding:20px}.advantage--standout .advantage__art{left:5%;width:90%;height:auto;aspect-ratio:1}.advantage h3{font-size:18px}.advantage p{font-size:15px}.advantage p br{display:none}
 .advantage--conversion .advantage__copy,.advantage--reach .advantage__copy,.advantage--portrait .advantage__copy{padding:20px}.advantage--conversion .advantage__art{width:145px;height:145px;right:-10px;top:0}.advantage--conversion h3{max-width:55%}
 .clients{padding:38px 0 45px;border-radius:25px 25px 0 0}.clients__heading{padding:0 20px}.clients h2,.reviews h2,.articles h2{font-size:32px}.clients h2{margin-top:22px}.clients__marquee{margin-top:20px}.clients__group img{width:calc(var(--logo-width) * .8px);height:90px}
 .reviews{padding:40px 20px 45px;margin-top:-25px;border-radius:25px 25px 0 0;min-height:0}.reviews h2{margin-top:22px}.reviews__map{position:relative;right:auto;top:auto;width:100%;margin:0 auto -20px;aspect-ratio:815/458}.reviews__pin{width:40px;height:40px;padding:7px}.reviews__pin.is-active{transform:translate(-50%,-50%) scale(1.5)}
 .reviews__content{width:100%;margin-top:12px}.review{padding:24px;min-height:270px}.review blockquote{font-size:16px;line-height:1.3}.review figcaption strong{font-size:17px}.review figcaption span span{font-size:15px}.review__quote{font-size:65px;height:40px}.reviews__contact{margin-top:35px}
 .articles{padding:24px 20px 18px}.articles__heading{gap:15px;margin-bottom:28px;align-items:flex-end}.articles h2{font-size:30px;margin-top:20px}.articles__heading .section-label{font-size:16px}.article-card{flex-basis:calc((100% - 16px)/2);padding:18px;border-radius:16px}.article-card__caption{padding-top:16px;gap:10px}.article-card h3{font-size:17px}.article-card__arrow{width:33px;height:33px;font-size:22px}.articles__track{gap:16px}.circle-arrow{width:40px;height:40px;padding:10px}.articles__controls{gap:6px}
}
@media(max-width:480px){
 .advantages__grid{grid-template-columns:1fr;gap:18px}.advantages__right{display:flex;flex-direction:column;align-items:stretch;gap:20px;grid-column:auto}.advantages__right>.advantage{width:100%}.advantages__right>div{align-self:flex-start}
 .advantage--standout{height:430px}.advantage--standout .advantage__art{width:280px;height:280px;left:50%;transform:translateX(-50%);bottom:0}.advantage--conversion{height:242px}.advantage--conversion .advantage__art{width:175px;height:175px;right:4px;top:5px}.advantage--conversion p{max-width:245px}.advantage--reach{height:260px}.advantage--portrait{height:420px}
 .clients h2{font-size:29px}.reviews__map{width:calc(100% + 30px);margin-left:-15px;margin-top:8px;margin-bottom:0}.reviews__pin{width:32px;height:32px;padding:6px}.review{padding:22px;min-height:295px}
 .articles__heading{align-items:center}.articles h2{font-size:28px;max-width:230px}.articles__controls .circle-arrow{width:34px;height:34px;padding:8px}.article-card{flex-basis:91%;padding:20px}.articles__viewport{overflow:visible;overflow-x:auto;margin-right:-20px;padding-right:20px}.article-card h3{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.clients__track{animation:none}.particle-art.is-ready img{opacity:1}.particle-art.is-ready canvas{opacity:0}.reviews__pin,.particle-art img,.particle-art canvas{transition:none}}

/* All eight sections share the same navigation order in header and footer. */
@media(min-width:769px){.navigation{gap:calc(18 * var(--u))}}
@media(max-width:768px){.navigation{max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain}}

.page-presentations .advantage--conversion .advantage__art{width:calc(128 * var(--s));height:calc(128 * var(--s))}

/* Outlined service actions, matched to the supplied reference. */
.service__button{display:inline-flex;align-items:center;justify-content:center;gap:calc(12 * var(--s));min-height:calc(52 * var(--s));max-width:100%;margin-top:calc(26 * var(--s));padding:calc(12 * var(--s)) calc(24 * var(--s));border:1px solid #24494c66;border-radius:100px;background:transparent;color:#173c40;font-size:calc(18 * var(--s));font-weight:400;line-height:1.35;transition:background .3s,border-color .3s,color .3s}
.service__button svg{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .3s}
.service__button:hover{background:#173c40;border-color:#173c40;color:white}.service__button:hover svg{transform:translateX(3px)}
@media(max-width:768px){.service__button{font-size:16px;min-height:48px;padding:12px 22px;gap:12px;margin-top:22px}}
@media(prefers-reduced-motion:reduce){.service__button,.service__button svg{transition:none}}

.article-card[data-article="1"]>img{object-position:center 12%}

/* Compact article links with consistently centered vector arrows. */
.article-card__arrow{width:calc(30 * var(--s));height:calc(30 * var(--s))}
.article-card__arrow svg{display:block;width:calc(14 * var(--s));height:calc(14 * var(--s));fill:none;stroke:currentColor;stroke-width:1.6}
.articles__controls .circle-arrow{width:calc(34 * var(--s));height:calc(34 * var(--s));padding:calc(10 * var(--s))}
@media(max-width:768px){.article-card__arrow{width:28px;height:28px}.article-card__arrow svg{width:13px;height:13px}.articles__controls .circle-arrow{width:32px;height:32px;padding:9px}}

/* Applied only by the small head bootstrap, before content can be painted. */
@media(prefers-reduced-motion:no-preference){
  html.reveal-enabled [data-reveal]:not(.is-revealed){opacity:0}
  html.reveal-enabled:not(.intro-ready) :is(.header,.hero .services,.hero h1,.hero .signature,.hero__laptop){opacity:0}
}
