@font-face{font-family:"Archivo Variable";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../assets/fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Archivo Variable";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../assets/fonts/archivo-latin-wdth-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:400;src:url(../assets/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:400;src:url(../assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:500;src:url(../assets/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:500;src:url(../assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink:#111313;--grey:#a8aba8;--light:#e8e4dc;--signal:#e64a2e;--reverse:#f4f2ec;
  --ink-60:#5c5f5c;--surface:#dfdad0;
  --line:rgba(17,19,19,.24);--line-dark:rgba(232,228,220,.25);
  --font-sans:"Archivo Variable","Archivo",Arial,"Helvetica Neue",Helvetica,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --fs-display-xl:clamp(38px,12.4vw,64px);
  --fs-display-l:clamp(30px,9.8vw,40px);
  --fs-h2:clamp(30px,3.6vw,56px);
  --fs-h3:clamp(22px,1.8vw,28px);
  --fs-h4:18px;
  --fs-lead:clamp(18px,1.4vw,22px);
  --fs-body:16px;
  --fs-small:14px;
  --container:1440px;
  --pad:clamp(20px,4vw,64px);
  --gutter:16px;
  --space-section:clamp(72px,9vw,144px);
  --space-section-tight:clamp(48px,6vw,96px);
  --space-block:clamp(32px,4vw,64px);
  --space-title:clamp(28px,3.4vw,48px);
  --header-h:60px;
  --ease:cubic-bezier(.2,0,0,1);
  --t-fast:160ms;--t-base:320ms;--t-enter:480ms;--t-reveal:720ms;--step:70ms;
}
@media(min-width:768px){:root{--header-h:64px;--gutter:20px;--fs-body:17px;--fs-display-xl:clamp(64px,8.4vw,136px);--fs-display-l:clamp(40px,6.4vw,96px)}}
@media(min-width:1200px){:root{--header-h:72px;--gutter:24px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 64px)}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--light);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:clip;text-rendering:optimizeLegibility}
body.is-locked{overflow:hidden}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
img,picture{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
::selection{background:var(--ink);color:var(--light)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.skip{position:absolute;left:0;top:0;z-index:200;padding:14px 20px;background:var(--ink);color:var(--light);font-weight:600;transform:translateY(-110%)}
.skip:focus{transform:none}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--pad)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--gutter)}
.grid>*{grid-column:1/-1;min-width:0}
@media(min-width:768px){.grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(min-width:1200px){.grid{grid-template-columns:repeat(12,minmax(0,1fr))}}
.self-end{align-self:end}
.justify-end{justify-self:end}

.t-display-xl{font-size:var(--fs-display-xl);line-height:.86;letter-spacing:-.05em;font-weight:700;text-transform:uppercase;font-stretch:100%}
.t-display-l{font-size:var(--fs-display-l);line-height:.92;letter-spacing:-.04em;font-weight:700;text-transform:uppercase}
.t-h2{font-size:var(--fs-h2);line-height:.98;letter-spacing:-.03em;font-weight:700}
.t-h3{font-size:var(--fs-h3);line-height:1.12;letter-spacing:-.015em;font-weight:600}
.t-h4{font-size:var(--fs-h4);line-height:1.3;font-weight:600}
.t-lead{font-size:var(--fs-lead);line-height:1.45;max-width:48ch}
.t-body{max-width:62ch}
.t-small{font-size:var(--fs-small);line-height:1.5}
.muted{color:var(--ink-60)}
.on-dark .muted,.dark .muted{color:var(--grey)}
.dot{color:var(--signal)}
.mono,.eyebrow,.index{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.eyebrow{font-size:12px;line-height:1.2;letter-spacing:.14em;font-weight:500;text-transform:uppercase;display:block}
.index{font-size:13px;line-height:1;letter-spacing:.04em;font-weight:500}
.dark .eyebrow{color:var(--grey)}
.display-title{overflow-wrap:normal;hyphens:manual}
.maxch-18{max-width:20ch}

.mask{display:block;overflow:hidden;padding:.1em 0 .06em;margin:-.1em 0 -.06em}
.mask__in{display:block}

.dark{background:var(--ink);color:var(--light)}
.sec{position:relative}
.sec--ruled>.container::before{content:"";display:block;height:1px;background:var(--ink)}
.sec--ruled>.container>.sec__body{padding-top:var(--space-block);padding-bottom:var(--space-section)}
.sec--dark>.container{padding-block:var(--space-section)}
.sec--tight>.container>.sec__body{padding-bottom:var(--space-section-tight)}
.title-gap{margin-top:var(--space-title)}
.eyebrow+.t-h2,.eyebrow+.t-display-l,.eyebrow+.t-display-xl{margin-top:20px}
.t-h2+.t-lead,.t-display-l+.t-lead,.t-display-xl+.t-lead{margin-top:24px}
.t-lead+.btn-row,.t-lead+.btn,.t-lead+.tlink{margin-top:40px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 28px;background:var(--ink);color:var(--light);font-size:14px;line-height:1.2;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:left;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.btn::before{content:"";width:8px;height:8px;flex:none;background:var(--signal);transition:background-color var(--t-fast) var(--ease)}
.btn:hover{background:var(--signal);color:var(--ink)}
.btn:hover::before{background:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn:hover:focus-visible{outline-color:var(--ink)}
.btn--compact{min-height:44px;padding:0 20px}
.btn--on-dark{background:var(--light);color:var(--ink)}
.btn--secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn--secondary::before{display:none}
.btn--secondary:hover{background:var(--ink);color:var(--light)}
.btn--secondary:hover:focus-visible{outline-color:var(--signal)}
.dark .btn--secondary{color:var(--light);border-color:var(--light)}
.dark .btn--secondary:hover{background:var(--light);color:var(--ink)}
.btn--block{width:100%}
.btn[disabled],.btn[aria-busy="true"]{opacity:.7;pointer-events:none}
.btn-row{display:flex;flex-wrap:wrap;gap:16px}
@media(max-width:767px){.btn-row .btn{width:100%}}

.tlink{display:inline-flex;align-items:center;gap:.5em;min-height:44px;font-weight:600}
.tlink__t{text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:2px;text-underline-offset:6px;transition:text-decoration-color var(--t-fast) var(--ease)}
.tlink__a{display:inline-block;transition:transform var(--t-fast) var(--ease)}
.tlink:hover .tlink__t{text-decoration-color:var(--ink)}
.dark .tlink:hover .tlink__t{text-decoration-color:var(--light)}
.tlink:hover .tlink__a{transform:translateX(4px)}

.header{position:sticky;top:0;z-index:100;background:var(--light);border-bottom:1px solid var(--line);height:var(--header-h);transition:transform var(--t-base) var(--ease)}
.header.is-hidden{transform:translateY(-100%)}
.header__in{height:100%;display:flex;align-items:center;gap:32px}
.header__logo{display:flex;align-items:center;margin-right:auto;min-height:44px}
.header__logo img{height:22px;width:auto}
.nav{display:none}
.header__cta{display:none}
.menu-btn{display:inline-flex;align-items:center;gap:12px;min-height:44px;min-width:44px;padding:0 4px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.menu-btn__ico{display:grid;gap:8px;width:20px}
.menu-btn__ico i{display:block;height:1px;background:currentColor;height:2px}
.menu-btn__ico{height:10px;align-content:space-between;gap:0}
@media(min-width:768px){.header__logo img{height:26px}.header__cta{display:inline-flex}}
@media(min-width:1200px){
  .header__logo img{height:28px}
  .header__in{gap:32px}
  .nav{display:flex;gap:32px;margin-right:0}
  .menu-btn{display:none}
}
.nav a{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:500}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform var(--t-fast) var(--ease)}
.nav a:hover::after{transform:scaleX(1)}
.nav a[aria-current="page"]::before{content:"";width:6px;height:6px;background:var(--signal);flex:none}

.overlay{position:fixed;inset:0;z-index:300;background:var(--ink);color:var(--light);display:flex;flex-direction:column;visibility:hidden;transform:translateY(-100%);transition:transform var(--t-base) var(--ease),visibility 0s linear var(--t-base);overflow-y:auto}
.overlay.is-open{visibility:visible;transform:none;transition:transform var(--t-base) var(--ease)}
.overlay__top{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);flex:none}
.overlay__top img{height:22px;width:auto}
.overlay__close{min-height:44px;min-width:44px;padding:0 4px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.overlay__list{margin-top:clamp(24px,6vh,64px)}
.overlay__list li{border-top:1px solid var(--line-dark)}
.overlay__list li:last-child{border-bottom:1px solid var(--line-dark)}
.overlay__list a{display:flex;align-items:baseline;gap:20px;padding:clamp(14px,2.4vh,24px) 0;min-height:44px}
.overlay__list .index{width:2.2em;color:var(--grey);flex:none}
.overlay__list a[aria-current="page"] .index{color:var(--signal)}
.overlay__list .t-display-l{font-size:clamp(34px,7vw,72px)}
.overlay__foot{margin-top:auto;padding-top:32px;padding-bottom:calc(32px + env(safe-area-inset-bottom))}
.overlay [data-ov]{opacity:0;transform:translateY(12px)}
.overlay.is-open [data-ov]{opacity:1;transform:none;transition:opacity var(--t-enter) var(--ease),transform var(--t-enter) var(--ease);transition-delay:calc(var(--i,0)*var(--step) + 160ms)}
@media(prefers-reduced-motion:reduce){.overlay,.overlay.is-open{transition:none}.overlay [data-ov]{opacity:1;transform:none}}

.footer{background:var(--ink);color:var(--light)}
.footer__top{padding-top:var(--space-section-tight);padding-bottom:var(--space-block)}
.footer__logo img{width:min(420px,80%);height:auto}
.footer__tag{color:var(--grey);max-width:30ch}
.footer__cols{padding-block:var(--space-block);border-top:1px solid var(--line-dark);row-gap:40px}
.footer__col h2{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);font-weight:500;margin-bottom:16px}
.footer__col a{display:flex;align-items:center;min-height:44px;font-size:15px}
.footer__col a:hover{text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:2px;text-underline-offset:6px}
.footer__bottom{border-top:1px solid var(--line-dark);padding-block:24px;color:var(--grey);font-size:var(--fs-small);display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between}
.footer__bottom a{display:inline-flex;align-items:center;min-height:44px}
.footer__bottom a:hover{color:var(--light)}
@media(min-width:768px){.footer__col{grid-column:span 4}}
@media(min-width:1200px){.footer__col{grid-column:span 3}}

.hero{position:relative;min-height:min(calc(100svh - var(--header-h)),960px);display:flex;flex-direction:column}
.hero>.container{flex:1;display:flex;flex-direction:column;padding-top:0}
.hero__top{padding-bottom:32px}
.hero__top::before{content:"";display:block;height:1px;background:var(--ink);margin-bottom:20px}
.hero__main{margin-top:auto;padding-bottom:clamp(40px,5vw,72px)}
.hero__h1{font-size:var(--fs-display-xl)}
.hero__foot{margin-top:clamp(32px,3.6vw,48px);row-gap:40px}
.hero__lead{max-width:48ch}
.hero__copy .btn-row{margin-top:40px}
.masses{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:14px;height:160px}
.masses i{display:block;transform-origin:left center}
.m-ink{background:var(--ink)}.m-grey{background:var(--grey)}.m-signal{background:var(--signal)}
.masses--home .m1{grid-column:1/4;grid-row:1}.masses--home .m2{grid-column:4/6;grid-row:1}.masses--home .m3{grid-column:6/7;grid-row:1}
.masses--home .m4{grid-column:1/3;grid-row:2}.masses--home .m5{grid-column:3/7;grid-row:2}
@media(min-width:768px){.masses{height:200px}}
@media(min-width:1200px){.masses{height:240px}}
.masses--steps{display:grid;grid-template-columns:1fr 1.3fr 1.7fr 2.2fr .8fr;grid-template-rows:none;gap:14px;height:80px}
@media(min-width:768px){.masses--steps{height:100px}}
@media(min-width:1200px){.masses--steps{height:120px}}

.areas{border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.areas__list{display:grid;grid-template-columns:1fr}
.areas__item{position:relative;display:flex;align-items:center;gap:16px;min-height:56px;padding:0 4px;border-top:1px solid var(--line);transition:background-color var(--t-fast) var(--ease)}
.areas__item:first-child{border-top:0}
.areas__idx{display:flex;align-items:center;gap:8px;color:var(--ink-60);min-width:2.4em}
.areas__idx b{display:none;width:8px;height:8px;background:var(--signal)}
.areas__name{font-size:var(--fs-h4);font-weight:600;line-height:1.3}
.areas__arrow{margin-left:auto;opacity:0;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.areas__item:hover{background:var(--surface)}
.areas__item:hover .areas__arrow{opacity:1;transform:translateX(4px)}
@media(max-width:767px){.areas__arrow{opacity:1}}
@media(min-width:768px){
  .areas__list{grid-template-columns:repeat(6,minmax(0,1fr))}
  .areas__item{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:24px;min-height:96px;padding:14px 16px 14px 16px;border-top:0;border-left:1px solid var(--line)}
  .areas__item:nth-child(-n+3){grid-column:span 2}
  .areas__item:nth-child(n+4){grid-column:span 3;border-top:1px solid var(--line)}
  .areas__item:nth-child(4){border-left:0}
  .areas__arrow{position:absolute;right:16px;bottom:14px}
}
@media(min-width:1200px){
  .areas__list{grid-template-columns:repeat(5,minmax(0,1fr))}
  .areas__item,.areas__item:nth-child(-n+3),.areas__item:nth-child(n+4){grid-column:auto;border-top:0;border-left:1px solid var(--line)}
  .areas__item:first-child{border-left:0}
  .areas__item{padding:14px 16px 14px 20px}
}
.areas__item:hover .areas__idx{color:var(--ink)}
.areas__item:hover .areas__idx b{display:inline-block}

.srows__head{row-gap:24px;align-items:end}
.srows__list{margin-top:var(--space-block)}
.srow{position:relative;display:grid;grid-template-columns:2.4em minmax(0,1fr) 28px;column-gap:16px;row-gap:8px;padding:24px 0}
.srow::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line-dark);transition:background-color var(--t-fast) var(--ease)}
.srows__list li:last-child .srow{padding-bottom:24px}
.srows__list li:last-child{border-bottom:1px solid var(--line-dark)}
.srow__idx{color:var(--grey);transition:color var(--t-fast) var(--ease)}
.srow__name{grid-column:2}
.srow__desc{grid-column:2/4;color:var(--grey);max-width:56ch;font-size:var(--fs-body)}
.srow__arrow{grid-column:3;grid-row:1;justify-self:end;transition:transform var(--t-fast) var(--ease)}
.srow:hover::before{background:var(--light)}
.srow:hover .srow__idx{color:var(--signal)}
.srow:hover .srow__arrow{transform:translateX(6px)}
@media(min-width:768px){
  .srow{grid-template-columns:repeat(8,minmax(0,1fr));column-gap:20px;padding:32px 0;min-height:112px}
  .srow__idx{grid-column:1;grid-row:1}
  .srow__name{grid-column:2/8;grid-row:1}
  .srow__desc{grid-column:2/8;grid-row:2}
  .srow__arrow{grid-column:8;grid-row:1}
}
@media(min-width:1200px){
  .srow{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
  .srow__name{grid-column:2/7;grid-row:1}
  .srow__desc{grid-column:7/12;grid-row:1}
  .srow__arrow{grid-column:12;grid-row:1}
}

.situ{row-gap:var(--space-title)}
.situ__side{align-self:start}
@media(min-width:1200px){.situ__side{position:sticky;top:calc(var(--header-h) + 48px)}}
.situ__side .tlink{margin-top:24px}
.joints{display:grid;grid-template-columns:1fr;gap:2px;background:var(--grey);border:1px solid var(--grey)}
.joint{background:var(--light);min-height:140px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.joint__k{color:var(--ink-60)}
.joint__t{font-size:20px;line-height:1.3;font-weight:600;max-width:28ch}
@media(min-width:768px){.joints{grid-template-columns:1fr 1fr}.joint{min-height:220px;padding:32px}}
.joints--dark{background:rgba(168,171,168,.3);border-color:rgba(168,171,168,.3)}
.joints--dark .joint{background:var(--ink)}
.joints--dark .joint__k{color:var(--grey)}
.joints--dark .joint__t{color:var(--light);font-size:var(--fs-h3);letter-spacing:-.015em}
.joints--dark .joint__d{color:var(--grey)}
@media(min-width:768px){.joints--three{grid-template-columns:repeat(3,1fr)}}
@media(min-width:768px) and (max-width:1199px){.joints--three{grid-template-columns:1fr}}
@media(min-width:1200px){.joints--three{grid-template-columns:repeat(3,1fr)}.joints--three .joint{min-height:300px}}

.proc__head{row-gap:24px;align-items:end}
.proc__list{margin-top:var(--space-block);position:relative;display:grid;gap:40px;padding-left:28px}
.proc__list::before{content:"";position:absolute;left:3px;top:6px;bottom:6px;width:1px;background:var(--ink);transform-origin:top;pointer-events:none}
.pstep{position:relative}
.pstep__node{position:absolute;left:-28px;top:12px;width:8px;height:8px;background:var(--ink)}
.pstep__num{font-size:40px;display:block}
.pstep__name{margin-top:8px}
.pstep__desc{margin-top:8px;color:var(--ink-60);max-width:34ch}
.proc--dark .proc__list::before{background:var(--light)}
.proc--dark .pstep__node{background:var(--light)}
.proc--dark .pstep__desc{color:var(--grey)}
@media(min-width:768px) and (max-width:1199px){
  .pstep{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));column-gap:20px}
  .pstep__num{grid-column:1/3;font-size:56px}
  .pstep__body{grid-column:3/9}
  .pstep__name{margin-top:6px}
}
@media(min-width:1200px){
  .proc__list{grid-template-columns:repeat(5,1fr);gap:0;padding-left:0;margin-top:calc(var(--space-block) + 8px)}
  .proc__list::before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px;transform-origin:left}
  .pstep{padding:32px 24px 0 24px;border-left:1px solid var(--line)}
  .pstep:first-of-type{padding-left:0;border-left:0}
  .pstep__node{left:0;top:-4px}
  .pstep:not(:first-of-type) .pstep__node{left:-1px}
  .pstep__num{font-size:var(--fs-display-l);margin-top:8px}
  .pstep__name{margin-top:24px}
  .pstep__desc{max-width:24ch}
  .proc--dark .pstep{border-left-color:var(--line-dark)}
  .proc--3 .proc__list{grid-template-columns:repeat(3,1fr)}
}
.proc--3 .pstep__text{margin-top:16px;max-width:26ch;font-size:var(--fs-h4);line-height:1.35}
@media(min-width:1200px){.proc--3 .pstep__text{margin-top:24px}}

.js [data-reveal] .proc__list::before{transform:scaleY(0)}
.js [data-reveal].is-in .proc__list::before{transform:scaleY(1);transition:transform 960ms linear}
@media(min-width:1200px){
  .js [data-reveal] .proc__list::before{transform:scaleX(0)}
  .js [data-reveal].is-in .proc__list::before{transform:scaleX(1)}
}


.hall{row-gap:var(--space-title)}
.hall__media{margin:0}
.hall__media picture,.hall__media img{width:100%}
.hall__media img{aspect-ratio:4/5;object-fit:cover;object-position:50% 55%;height:auto}
@media(min-width:768px){.hall__media img{aspect-ratio:16/10;object-position:35% 60%}}
@media(min-width:1200px){.hall__media img{aspect-ratio:4/3}}
.hall__text{align-self:end}
.hall__text::before{content:"";display:block;height:1px;background:var(--ink);margin-bottom:24px}
.tband{margin-top:32px;border-top:1px solid var(--line)}
.tband__row{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:16px 0;border-bottom:1px solid var(--line)}
.tband__label{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);font-weight:500}
@media(min-width:768px){.tband__row{grid-template-columns:minmax(110px,1fr) 2fr;gap:24px;align-items:baseline}}
.dark .tband,.dark .tband__row{border-color:var(--line-dark)}
.dark .tband__label{color:var(--grey)}

.cta{row-gap:40px}
.cta__title{font-size:var(--fs-display-l)}
.cta__copy{margin-top:var(--space-title)}
.cta__lead{max-width:48ch}
.cta__btn{align-self:start}

.subnav{position:sticky;top:var(--header-h);z-index:50;background:var(--light);border-bottom:1px solid var(--line);transition:top var(--t-base) var(--ease)}
body.header-hidden .subnav{top:0}
.subnav__in{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad)}
.subnav__in::-webkit-scrollbar{display:none}
.subnav a{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 12px 0 0;margin-right:12px;font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;font-weight:500;color:var(--ink-60);white-space:nowrap}
.subnav a::before{content:"";width:6px;height:6px;background:transparent;flex:none}
.subnav a[aria-current="true"]{color:var(--ink)}
.subnav a[aria-current="true"]::before{background:var(--signal)}


.svc-hero{row-gap:40px}
.svc-hero__list{margin-top:8px}
.svc-hero__list li{border-top:1px solid var(--line)}
.svc-hero__list li:last-child{border-bottom:1px solid var(--line)}
.svc-hero__list a{display:flex;align-items:center;gap:16px;min-height:56px;transition:background-color var(--t-fast) var(--ease);padding-inline:4px}
.svc-hero__list a:hover{background:var(--surface)}
.svc-hero__list .index{color:var(--ink-60);width:2.4em}
.svc-hero__list a:hover .index{color:var(--ink)}
.svc-hero__list .t-h4{font-weight:600}
.svc-hero__list .arrow{margin-left:auto;transition:transform var(--t-fast) var(--ease)}
.svc-hero__list a:hover .arrow{transform:translateX(4px)}

.mod{scroll-margin-top:calc(var(--header-h) + 48px)}
.mod__row1{row-gap:16px;align-items:start}
.mod__idx{color:var(--ink-60);font:500 13px/1 var(--font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;order:-1}
@media(min-width:768px){.mod__idx{font:700 var(--fs-display-l)/.9 var(--font-sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums}}
@media(min-width:1200px){.mod__idx{order:0}}
.mod__lists{margin-top:var(--space-block);row-gap:40px}
.mlist h3{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding-top:14px;border-top:1px solid var(--ink)}
.mlist li{padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--fs-body);line-height:1.45}
.mlist li:first-child{margin-top:4px}
.callout{background:var(--surface);padding:24px;border-left:2px solid var(--ink);font-size:var(--fs-h4);line-height:1.45;font-weight:600}
@media(min-width:768px){.callout{padding:32px}}
.callout--ink{background:var(--ink);color:var(--light);border-left:0;font-size:var(--fs-h3);line-height:1.2;letter-spacing:-.015em;padding:32px}
@media(min-width:1200px){.callout--ink{padding:40px}}
.callout--plain{background:transparent;padding:16px 0 0;border-left:0;border-top:1px solid var(--ink);font-size:var(--fs-h3);line-height:1.2;letter-spacing:-.015em}
.mod__callout-row{margin-top:var(--space-block)}
.mod__foot-link{margin-top:24px}
@media(min-width:768px){.mod__foot-link{display:none}}
.mod--dark{background:var(--ink);color:var(--light)}
.mod--dark>.container{padding-block:var(--space-section)}
.mod--dark .mod__idx{color:var(--grey)}
.mod--dark .mlist h3{border-top-color:var(--light)}
.mod--dark .mlist li{border-bottom-color:var(--line-dark);color:var(--light)}
.mod--dark .callout{background:transparent;border-left-color:var(--light);color:var(--light)}
.mod--dark .t-lead{color:var(--grey)}
.mod--dark .tlink:hover .tlink__t{text-decoration-color:var(--light)}
.ba{margin-top:var(--space-block);row-gap:32px}
.ba__col h3{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--grey);padding-bottom:14px;border-bottom:1px solid var(--light)}
.ba__col h3 b{width:8px;height:8px;background:var(--signal)}
.ba__col li{padding:18px 0;border-bottom:1px solid var(--line-dark);font-size:var(--fs-h3);font-weight:600;letter-spacing:-.015em;line-height:1.15}
.ba__col--before li{color:var(--grey)}
.mod .mlist-grid{margin-top:var(--space-block)}

.roles{margin-top:var(--space-title);row-gap:48px}
.roles h3{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding-bottom:14px;border-bottom:1px solid var(--light)}
.roles h3 b{width:8px;height:8px;background:var(--signal)}
.roles li{padding:16px 0;border-bottom:1px solid var(--line-dark);font-size:var(--fs-h4);font-weight:500;line-height:1.4}

.faq{row-gap:var(--space-title)}
.faq__side{align-self:start}
@media(min-width:1200px){.faq__side{position:sticky;top:calc(var(--header-h) + 48px)}}
.faq__item{border-top:1px solid var(--line)}
.faq__item:last-child{border-bottom:1px solid var(--line)}
.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:16px 0;text-align:left}
.faq__ico{position:relative;width:16px;height:16px;flex:none}
.faq__ico::before,.faq__ico::after{content:"";position:absolute;left:0;top:7.5px;width:16px;height:1px;background:var(--ink);transition:transform var(--t-base) var(--ease)}
.faq__ico::after{transform:rotate(90deg)}
.faq__q[aria-expanded="true"] .faq__ico::before{transform:rotate(45deg)}
.faq__q[aria-expanded="true"] .faq__ico::after{transform:rotate(135deg)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--t-base) var(--ease)}
.faq__a>div{overflow:hidden}
.faq__a p{padding-bottom:24px;color:var(--ink-60);max-width:62ch}
.faq__item.is-open .faq__a{grid-template-rows:1fr}

.stages{row-gap:var(--space-title)}
.stages__side{display:none}
@media(min-width:1200px){
  .stages__side{display:block;align-self:start;position:sticky;top:calc(var(--header-h) + 48px)}
  .stages__side ol{position:relative;display:grid;gap:4px;padding-left:28px}
  .stages__side ol::before{content:"";position:absolute;left:3px;top:14px;bottom:14px;width:1px;background:var(--ink)}
  .stages__side a{position:relative;display:flex;gap:12px;align-items:center;min-height:44px;color:var(--ink-60);font-weight:500;transition:color var(--t-base) var(--ease)}
  .stages__side a::before{content:"";position:absolute;left:-28px;top:50%;margin-top:-4px;width:8px;height:8px;background:var(--ink);transition:background-color var(--t-base) var(--ease)}
  .stages__side a.is-next::before{background:var(--light);border:1px solid var(--ink)}
  .stages__side a.is-active{color:var(--ink);font-weight:600}
  .stages__side a.is-active::before{background:var(--signal);border:0}
}
.stage{scroll-margin-top:calc(var(--header-h) + 72px);padding-top:24px;border-top:1px solid var(--ink)}
.stage+.stage{margin-top:var(--space-block)}
.stage__head{row-gap:16px}
.stage__num{font-size:var(--fs-display-l);line-height:.9;display:block}
.stage__fields{margin-top:var(--space-block);row-gap:32px}
.stage__out{background:var(--surface);padding:20px}
@media(min-width:1200px){
  .stage{min-height:70vh}
  .stage__num{font-size:var(--fs-display-xl)}
}
.field-h{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);font-weight:500;margin-bottom:12px;display:block}
.stage__fields li{padding:10px 0;border-bottom:1px solid var(--line);line-height:1.45}
.stage__out p{font-weight:600;line-height:1.35}
.subnav--stages .subnav__in{align-items:center}
@media(min-width:1200px){.subnav--stages{display:none}}
.subnav--stages a{padding-right:0}
.subnav--stages a .t{margin-left:2px}

.rules{margin-top:var(--space-title)}
.rule-row{position:relative;display:grid;grid-template-columns:2.4em minmax(0,1fr);column-gap:16px;row-gap:12px;padding:28px 0}
.rule-row::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line-dark)}
.rules li:last-child{border-bottom:1px solid var(--line-dark)}
.rule-row .index{color:var(--grey)}
.rule-row__desc{grid-column:2;color:var(--grey);max-width:56ch}
@media(min-width:1200px){
  .rule-row{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:36px 0}
  .rule-row h3{grid-column:2/6}
  .rule-row__desc{grid-column:7/13}
}

.about{row-gap:var(--space-title)}

.contact-hero{row-gap:var(--space-title)}
.contact-hero__title{font-size:clamp(30px,9.8vw,56px)}
@media(min-width:1200px){.contact-hero__title{font-size:clamp(47px,3.9vw,56px)}}
.contact-photo{margin-top:var(--space-block);display:none}
@media(min-width:1200px){.contact-photo{display:block}.contact-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:40% 55%}.contact-photo__col{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}}
.form{border-top:1px solid var(--ink);padding-top:var(--space-block)}
.form__grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:768px){.form__grid{grid-template-columns:1fr 1fr;column-gap:20px}.form__full{grid-column:1/-1}}
.field label,.field .label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.field .req{font-weight:400;color:var(--ink-60);margin-left:6px}
.field input,.field select,.field textarea{display:block;width:100%;min-height:52px;padding:14px 16px;background:var(--surface);border:0;border-bottom:1px solid var(--ink);font-size:16px;line-height:1.4;appearance:none;-webkit-appearance:none}
.field textarea{min-height:156px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--signal);outline-offset:2px;border-bottom:2px solid var(--ink)}
.field input::placeholder{color:var(--ink-60);opacity:1}
.field select{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111313' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.field [aria-invalid="true"]{border-bottom:2px solid var(--ink)}
.field__hint{margin-top:8px;font-size:var(--fs-small);color:var(--ink-60);line-height:1.5}
.field__err{display:none;margin-top:8px;font-size:var(--fs-small);line-height:1.5;align-items:center;gap:8px}
.field__err::before{content:"";width:6px;height:6px;background:var(--signal);flex:none}
.field.has-error .field__err{display:flex}
.consent{display:grid;grid-template-columns:20px 1fr;gap:14px;align-items:start}
.consent input{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-height:20px;padding:0;margin:2px 0 0;background:var(--surface);border:1px solid var(--ink);position:relative;cursor:pointer}
.consent input:checked{background:var(--ink)}
.consent input:checked::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--light);border-width:0 2px 2px 0;transform:rotate(45deg)}
.consent label{font-weight:400;margin:0;font-size:var(--fs-small);line-height:1.5}
.consent label a{text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:2px;text-underline-offset:4px}
.consent .field__err{grid-column:2}
.form__bot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__submit{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 24px}
.form__summary{margin-bottom:24px;padding:16px 20px;background:var(--surface);border-left:2px solid var(--ink)}
.form__summary ul{margin-top:8px}
.form__summary a{text-decoration:underline;text-underline-offset:4px;min-height:32px;display:inline-block}
.form__fail{margin-top:16px;display:flex;align-items:center;gap:8px;font-size:var(--fs-small)}
.form__fail::before{content:"";width:6px;height:6px;background:var(--signal);flex:none}
.sent{border-top:1px solid var(--ink);padding-top:var(--space-block)}
.sent:focus{outline:none}
.sent h2:focus{outline:none}

.empty{row-gap:40px}
.legal{max-width:62ch}
.legal p+p{margin-top:16px}
.page-hero__h1{font-size:var(--fs-display-xl)}
.page-hero__row{row-gap:32px;margin-top:var(--space-title)}

.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--ink);padding:0 var(--pad) env(safe-area-inset-bottom);height:calc(56px + env(safe-area-inset-bottom));display:flex;align-items:center;transform:translateY(100%);transition:transform var(--t-base) var(--ease);visibility:hidden}
.sticky-cta.is-on{transform:none;visibility:visible}
.sticky-cta .btn{width:100%;min-height:44px;background:var(--light);color:var(--ink)}
.sticky-cta .btn:hover{background:var(--signal)}
@media(min-width:768px){.sticky-cta{display:none}}

.rv,.rv-line,.rv-mask,.rv-img,.rv-fade,.rv-mass{--i:0}
.js .rv{opacity:0;transform:translateY(12px)}
.js .rv-fade{opacity:0}
.js .rv-lg{transform:translateY(16px)}
.js .rv-mask .mask__in{transform:translateY(108%)}
.js .rv-img{clip-path:inset(0 100% 0 0)}
.js .rv-mass{transform:scaleX(0);transform-origin:left center}
.js .rv-line::before{transform:scaleX(0);transform-origin:left center}
.js .is-in .rv,.js .rv.is-in{opacity:1;transform:none;transition:opacity var(--t-enter) var(--ease),transform var(--t-enter) var(--ease);transition-delay:calc(var(--i)*var(--step))}
.js .is-in .rv-fade,.js .rv-fade.is-in{opacity:1;transition:opacity var(--t-enter) var(--ease);transition-delay:calc(var(--i)*var(--step))}
.js .is-in .rv-mask .mask__in,.js .rv-mask.is-in .mask__in{transform:none;transition:transform var(--t-enter) var(--ease);transition-delay:calc(var(--i)*var(--step))}
.js .is-in .rv-img,.js .rv-img.is-in{clip-path:inset(0 0 0 0);transition:clip-path var(--t-reveal) var(--ease)}
.js .is-in .rv-mass,.js .rv-mass.is-in{transform:none;transition:transform var(--t-enter) var(--ease);transition-delay:calc(var(--i)*var(--step))}
.js .is-in .rv-line::before,.js .rv-line.is-in::before{transform:none;transition:transform var(--t-enter) var(--ease);transition-delay:calc(var(--i)*var(--step))}
.js .is-in .rv-line::before{transition-duration:var(--t-enter)}
.js .pstep.rv{transition-delay:calc(var(--k,0)*190ms)}
.js .is-in .pstep.rv{transition-delay:calc(var(--k,0)*190ms)}
.js [data-reveal].is-in .pstep__node{animation:node-flash 190ms linear calc(var(--k,0)*190ms) backwards}
.js [data-reveal].is-in .pstep:last-of-type .pstep__node{animation-duration:600ms}
@keyframes node-flash{from,to{background:var(--signal)}}
.js .no-js-only{display:none}
.no-reveal .rv,.no-reveal .rv-fade,.no-reveal .rv-mask .mask__in,.no-reveal .rv-img,.no-reveal .rv-mass,.no-reveal .rv-line::before{opacity:1!important;transform:none!important;clip-path:none!important}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;transition-delay:0ms!important;animation:none!important;scroll-behavior:auto!important}
  .js .rv,.js .rv-fade,.js .rv-mask .mask__in,.js .rv-img,.js .rv-mass,.js .rv-line::before,.js [data-reveal] .proc__list::before{opacity:1!important;transform:none!important;clip-path:none!important}
}

.sub{display:grid;grid-template-columns:minmax(0,1fr);column-gap:24px;row-gap:32px}
@media(min-width:1200px){
  .sub{grid-template-columns:repeat(9,minmax(0,1fr))}
  .s-1-3{grid-column:1/4}.s-4-9{grid-column:4/10}.s-1-4{grid-column:1/5}.s-5-7{grid-column:5/8}.s-8-9{grid-column:8/10}
}
@media(min-width:768px) and (max-width:1199px){
  .stage__fields{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:32px}
  .stage__fields>:first-child{grid-column:1/-1}
  .stage__out-wrap{grid-column:1/-1}
}
.stage__head .stage__num{margin-bottom:12px}
.stage__title{margin-top:0}
.stage__desc{margin-top:16px}
@media(min-width:768px){.subnav--stages .t{display:inline}}
.subnav--stages .t{display:none}
.subnav--stages a[aria-current="true"] .t{display:inline}
@media(min-width:768px){.subnav--stages .t{display:inline}}
.mod__inner-lists{display:grid;grid-template-columns:minmax(0,1fr);row-gap:40px;column-gap:24px}
@media(min-width:768px) and (max-width:1199px){.mod__inner-lists{grid-template-columns:1fr 1fr}.mod__inner-lists .mlist:first-child{grid-column:1/-1}}
@media(min-width:1200px){.mod__inner-lists{grid-template-columns:1.25fr 1fr 1fr}}
.proc--3 .pstep__num{font-size:var(--fs-h2);display:block;line-height:1;letter-spacing:-.03em}
.hero__copy{align-self:start}
.cta__direct{align-self:end}
@media(min-width:1200px){.hero__h1{max-width:100%}}
@media(min-width:768px){.areas__item:first-child{border-left:0}}

.joints--dark .joint{justify-content:flex-start;gap:clamp(40px,5vw,72px)}
.srow__idx{padding-top:.5em}
@media(min-width:768px){.hero__lead{max-width:44ch}}

@media(max-width:399px){.btn{padding:12px 20px;letter-spacing:.06em}}
.btn--compact{white-space:nowrap}
.subnav__in{overflow-x:auto}
@media(min-width:1200px){.subnav__in{overflow-x:auto;overflow-y:hidden}.subnav a{margin-right:20px}}
@media(min-width:1440px){.subnav a{margin-right:32px}}
.subnav__in{scroll-padding-inline:var(--pad)}
@media(max-width:767px){.mod__idx{justify-self:start}.form__submit .btn{width:100%}}
.proc--3 .pstep__num{font-weight:700}
button,input,select,textarea{border-radius:0}

/* ---- icons & photos ---- */
.ico{display:block;flex:none;color:inherit}
.ico--xs{width:20px;height:20px}.ico--sm{width:32px;height:32px}.ico--md{width:44px;height:44px}.ico--lg{width:56px;height:56px}
.ico .acc{fill:currentColor;stroke:none;transition:fill var(--t-fast) var(--ease)}
a:hover .ico .acc,.joint:hover .ico .acc,.why__item:hover .ico .acc,.pstep:hover .ico .acc,.svc-card:hover .ico .acc,.stage:hover .ico .acc{fill:var(--signal)}
.photo{display:block;width:100%}
.photo img{display:block;width:100%;height:100%;object-fit:cover;background:var(--surface)}
figure{margin:0}

.hero--photo .hero__foot{align-items:end}
.hero__masses{margin-top:40px}
.hero__photo .photo{aspect-ratio:4/5}
@media(min-width:768px){.hero__photo .photo{aspect-ratio:16/10}}
@media(min-width:1200px){.hero__photo .photo{aspect-ratio:4/3}}
@media(max-width:1199px){.hero__photo{margin-top:8px}}
.hero__photo .photo img{object-position:50% 50%}

.areas__top{display:flex;align-items:center;gap:12px}
.areas__item{gap:16px}
@media(max-width:767px){.areas__item{min-height:72px}.areas__top .areas__idx{display:none}}
@media(min-width:768px){
  .areas__item{min-height:148px;padding:16px}
  .areas__top{width:100%;justify-content:space-between;align-items:flex-start}
}
.areas__item:hover .ico{color:var(--ink)}

.svc-cards{margin-top:var(--space-block);display:grid;grid-template-columns:1fr;gap:2px;background:rgba(168,171,168,.3);border:1px solid rgba(168,171,168,.3)}
.svc-card{background:var(--ink)}
.svc-card__a{display:flex;flex-direction:column;gap:16px;height:100%;padding:28px 24px;transition:background-color var(--t-fast) var(--ease)}
.svc-card__a:hover{background:#181b1b}
.svc-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:clamp(16px,3vw,40px)}
.svc-card__top .index{color:var(--grey)}
.svc-card__desc{color:var(--grey);max-width:44ch}
.svc-card__list{margin-top:auto;border-top:1px solid var(--line-dark)}
.svc-card__list li{padding:10px 0;border-bottom:1px solid var(--line-dark);font-size:15px;line-height:1.4}
.svc-card__more{display:inline-flex;gap:.5em;margin-top:8px;font-weight:600;font-size:14px;letter-spacing:.04em;text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:2px;text-underline-offset:6px}
.svc-card__more span{text-decoration:none;display:inline-block;transition:transform var(--t-fast) var(--ease)}
.svc-card__a:hover .svc-card__more span{transform:translateX(4px)}
@media(min-width:768px){
  .svc-cards{grid-template-columns:repeat(2,1fr)}
  .svc-card--5{grid-column:1/-1}
  .svc-card__a{padding:32px}
}
@media(min-width:1200px){
  .svc-cards{grid-template-columns:repeat(6,1fr)}
  .svc-card--1,.svc-card--2{grid-column:span 3}
  .svc-card--3,.svc-card--4,.svc-card--5{grid-column:span 2}
  .svc-card--1 .svc-card__name,.svc-card--2 .svc-card__name{font-size:clamp(26px,2.4vw,36px)}
}

.photo-band{background:var(--ink)}
.photo-band .photo{aspect-ratio:4/5;max-height:80svh}
@media(min-width:768px){.photo-band .photo{aspect-ratio:21/9;max-height:none}}
@media(min-width:1440px){.photo-band .photo{aspect-ratio:21/8}}

.joint__top{display:flex;justify-content:space-between;align-items:flex-start}
.joint{gap:20px;justify-content:flex-start}
.joint__t{margin-top:auto}
.joint__tag{display:flex;flex-wrap:wrap;gap:.4em;align-items:center;margin-top:4px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;font-weight:500;min-height:44px}
.joint__tag span:first-child{color:var(--ink-60)}
.joint__tag:hover{text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:2px;text-underline-offset:5px}
@media(min-width:768px){.joint{min-height:300px}}
.joints--dark .joint{min-height:0}
.joints--dark .joint__top{margin-bottom:8px}

.why{margin-top:var(--space-block);row-gap:var(--space-title)}
.why__photo .photo{aspect-ratio:4/5}
@media(min-width:1200px){.why__photo{position:sticky;top:calc(var(--header-h) + 32px);align-self:start}}
.why__list{display:grid;grid-template-columns:1fr}
.why__item{display:flex;gap:20px;padding:28px 0;border-top:1px solid var(--line-dark)}
.why__item p{margin-top:8px;color:var(--grey);max-width:52ch}
.why__item:last-child{border-bottom:1px solid var(--line-dark)}
@media(min-width:1200px){.why__list{grid-template-columns:1fr}.why__item{padding:32px 0}}
.gets{margin-top:var(--space-block);padding-top:24px;border-top:1px solid var(--line-dark)}
.gets__list{margin-top:20px;display:grid;grid-template-columns:1fr;gap:0}
.gets__list li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line-dark);font-size:var(--fs-h4);font-weight:600}
@media(min-width:768px){.gets__list{grid-template-columns:1fr 1fr;column-gap:32px}}
@media(min-width:1200px){.gets__list{grid-template-columns:repeat(4,1fr);gap:0 24px}.gets__list li{border-bottom:0;border-top:1px solid var(--line-dark);padding:20px 0;align-items:flex-start}}

.pstep__ico{display:block;margin-bottom:16px}
@media(min-width:768px) and (max-width:1199px){
  .pstep__ico{grid-column:1/3;grid-row:1;margin-bottom:8px}
  .pstep__num{grid-row:2}
  .pstep__body{grid-row:1/3}
}
@media(min-width:1200px){.pstep__ico{margin-bottom:0}.pstep__num{margin-top:20px}}

.mod__row1{row-gap:24px}
.mod__idx-wrap{display:flex;flex-direction:column;gap:16px}
.mod__idx-wrap .mod__idx{order:0}
.mod__row1--L .mod__idx-wrap{align-items:flex-end}
.mod__photo .photo{aspect-ratio:4/3}
@media(min-width:1200px){.mod__photo .photo{aspect-ratio:4/5}.mod__row1--L .mod__idx-wrap{align-items:flex-end;text-align:right}}
@media(max-width:1199px){
  .mod__idx-wrap{order:-1;flex-direction:row;align-items:center;gap:16px}
  .mod__row1--L .mod__idx-wrap{align-items:center}
  .mod__photo{order:2}
  .mod__title{order:1}
}
@media(min-width:768px) and (max-width:1199px){.mod__photo .photo{aspect-ratio:16/9}.mod__idx-wrap .ico{width:56px}}
.mod__ico{color:inherit}

.stage__lead{display:flex;flex-direction:column;gap:20px}
.stage__lead .stage__num{margin:0}
@media(max-width:1199px){.stage__lead{flex-direction:row;align-items:center;gap:20px}}
.rule-row__h{display:flex;align-items:center;gap:16px}
@media(min-width:1200px){.rule-row__h{grid-column:2/6}.rule-row h3{grid-column:2/6}}
.about__photo{margin-top:var(--space-block)}
.about__photo .photo{aspect-ratio:4/5}
@media(min-width:768px){.about__photo .photo{aspect-ratio:21/9}}
@media(min-width:1200px){.mod__photo .photo{aspect-ratio:1/1}.why__photo .photo{aspect-ratio:3/4}}

.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;font-weight:500;min-height:44px}
.crumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:2px;text-underline-offset:5px}
.crumb span{color:var(--ink-60)}
.crumb span[aria-current]{color:var(--ink)}
.svc-page__hero{row-gap:40px;align-items:center}
.svc-page__ico{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.svc-page__ico .index{color:var(--ink-60)}
.svc-page__h1{font-size:clamp(30px,5.4vw,76px)}
.svc-page__photo .photo{aspect-ratio:4/3}
@media(min-width:1200px){.svc-page__photo .photo{aspect-ratio:4/5}}
.strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.strip__t{max-width:22ch}
.mod__more{margin-top:24px}
@media(min-width:1200px){.mod__more{padding-left:calc(2/12 * 100%)}}

@media(min-width:1200px){.cta__btn .btn{white-space:nowrap}}

/* grid placement */
@media(min-width:768px) and (max-width:1199px){
.t-1-1{grid-column:1/2}
.t-1-2{grid-column:1/3}
.t-1-3{grid-column:1/4}
.t-1-4{grid-column:1/5}
.t-1-5{grid-column:1/6}
.t-1-6{grid-column:1/7}
.t-1-7{grid-column:1/8}
.t-1-8{grid-column:1/9}
.t-2-2{grid-column:2/3}
.t-2-3{grid-column:2/4}
.t-2-4{grid-column:2/5}
.t-2-5{grid-column:2/6}
.t-2-6{grid-column:2/7}
.t-2-7{grid-column:2/8}
.t-2-8{grid-column:2/9}
.t-3-3{grid-column:3/4}
.t-3-4{grid-column:3/5}
.t-3-5{grid-column:3/6}
.t-3-6{grid-column:3/7}
.t-3-7{grid-column:3/8}
.t-3-8{grid-column:3/9}
.t-4-4{grid-column:4/5}
.t-4-5{grid-column:4/6}
.t-4-6{grid-column:4/7}
.t-4-7{grid-column:4/8}
.t-4-8{grid-column:4/9}
.t-5-5{grid-column:5/6}
.t-5-6{grid-column:5/7}
.t-5-7{grid-column:5/8}
.t-5-8{grid-column:5/9}
.t-6-6{grid-column:6/7}
.t-6-7{grid-column:6/8}
.t-6-8{grid-column:6/9}
.t-7-7{grid-column:7/8}
.t-7-8{grid-column:7/9}
.t-8-8{grid-column:8/9}
}
@media(min-width:1200px){
.d-1-1{grid-column:1/2}
.d-1-2{grid-column:1/3}
.d-1-3{grid-column:1/4}
.d-1-4{grid-column:1/5}
.d-1-5{grid-column:1/6}
.d-1-6{grid-column:1/7}
.d-1-7{grid-column:1/8}
.d-1-8{grid-column:1/9}
.d-1-9{grid-column:1/10}
.d-1-10{grid-column:1/11}
.d-1-11{grid-column:1/12}
.d-1-12{grid-column:1/13}
.d-2-2{grid-column:2/3}
.d-2-3{grid-column:2/4}
.d-2-4{grid-column:2/5}
.d-2-5{grid-column:2/6}
.d-2-6{grid-column:2/7}
.d-2-7{grid-column:2/8}
.d-2-8{grid-column:2/9}
.d-2-9{grid-column:2/10}
.d-2-10{grid-column:2/11}
.d-2-11{grid-column:2/12}
.d-2-12{grid-column:2/13}
.d-3-3{grid-column:3/4}
.d-3-4{grid-column:3/5}
.d-3-5{grid-column:3/6}
.d-3-6{grid-column:3/7}
.d-3-7{grid-column:3/8}
.d-3-8{grid-column:3/9}
.d-3-9{grid-column:3/10}
.d-3-10{grid-column:3/11}
.d-3-11{grid-column:3/12}
.d-3-12{grid-column:3/13}
.d-4-4{grid-column:4/5}
.d-4-5{grid-column:4/6}
.d-4-6{grid-column:4/7}
.d-4-7{grid-column:4/8}
.d-4-8{grid-column:4/9}
.d-4-9{grid-column:4/10}
.d-4-10{grid-column:4/11}
.d-4-11{grid-column:4/12}
.d-4-12{grid-column:4/13}
.d-5-5{grid-column:5/6}
.d-5-6{grid-column:5/7}
.d-5-7{grid-column:5/8}
.d-5-8{grid-column:5/9}
.d-5-9{grid-column:5/10}
.d-5-10{grid-column:5/11}
.d-5-11{grid-column:5/12}
.d-5-12{grid-column:5/13}
.d-6-6{grid-column:6/7}
.d-6-7{grid-column:6/8}
.d-6-8{grid-column:6/9}
.d-6-9{grid-column:6/10}
.d-6-10{grid-column:6/11}
.d-6-11{grid-column:6/12}
.d-6-12{grid-column:6/13}
.d-7-7{grid-column:7/8}
.d-7-8{grid-column:7/9}
.d-7-9{grid-column:7/10}
.d-7-10{grid-column:7/11}
.d-7-11{grid-column:7/12}
.d-7-12{grid-column:7/13}
.d-8-8{grid-column:8/9}
.d-8-9{grid-column:8/10}
.d-8-10{grid-column:8/11}
.d-8-11{grid-column:8/12}
.d-8-12{grid-column:8/13}
.d-9-9{grid-column:9/10}
.d-9-10{grid-column:9/11}
.d-9-11{grid-column:9/12}
.d-9-12{grid-column:9/13}
.d-10-10{grid-column:10/11}
.d-10-11{grid-column:10/12}
.d-10-12{grid-column:10/13}
.d-11-11{grid-column:11/12}
.d-11-12{grid-column:11/13}
.d-12-12{grid-column:12/13}
}
