@font-face{font-family:'Sentient';src:url('assets/fonts/Sentient-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Sentient';src:url('assets/fonts/Sentient-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url('assets/fonts/GeneralSans-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url('assets/fonts/GeneralSans-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url('assets/fonts/GeneralSans-Semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
:root{
  --paper: #EDEFEE;
  --mist: #DCE1E0;
  --slate: #43525A;
  --graphite: #171E22;
  --cobalt: #2340C8;
  --steel: #8CA0A8;
  --surface-page: var(--paper);
  --surface-card: var(--mist);
  --surface-band: var(--slate);
  --surface-gravity: var(--graphite);
  --ink-on-light: var(--graphite);
  --ink-on-dark: var(--paper);
  --accent: var(--cobalt);
  --accent-on-dark: var(--paper);
}
:root{
  --font-display: "Sentient", Georgia, "Times New Roman", serif;
  --font-body: "General Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --w-body: 400;
  --w-medium: 500;
  --w-display: 500;
  --w-law-lead: 600;
  --fs-display-1: clamp(2.75rem, 6.5vw, 5.25rem);
  --fs-display-2: clamp(2.25rem, 4.5vw, 3.5rem);
  --fs-display-3: clamp(1.75rem, 3vw, 2.5rem);
  --fs-lead: clamp(1.125rem, 1.4vw, 1.375rem);
  --fs-body: 1.0625rem;
  --fs-small: 0.9375rem;
  --fs-stat: clamp(2rem, 3.5vw, 3rem);
  --lh-display: 1.08;
  --lh-body: 1.5;
  --ls-display: -0.005em;
}
:root{
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 96px;
  --sp-10: 128px;
  --content-max: 1400px;
  --measure: 68ch;
  --gutter: clamp(24px, 5vw, 88px);
  --band-min-h: 100vh;
  --radius-card: 8px;
  --stroke-thickness: 1.5px;
  --stroke-length: 1.25em;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--surface-page);color:var(--ink-on-light);font-family:var(--font-body);font-weight:var(--w-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--graphite)}
h1,h2,h3{font-family:var(--font-display);font-weight:var(--w-display);line-height:var(--lh-display);letter-spacing:var(--ls-display)}
.stroke{display:inline-block;width:var(--stroke-length);height:var(--stroke-thickness);background:var(--accent);vertical-align:middle}
.stroke--paper{background:var(--paper)}
.container{max-width:var(--content-max);margin-inline:auto;width:100%}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px var(--gutter);background:var(--paper)}
.nav__wrap{max-width:var(--content-max);margin-inline:auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:48px}
.nav__mark{font-family:var(--font-display);font-weight:var(--w-display);font-size:1.375rem;letter-spacing:-0.005em;color:var(--graphite);white-space:nowrap}
.nav__mark,.nav__mark a{display:flex;align-items:center;gap:11px}
.nav__mark svg{height:25px;width:auto;display:block;flex:none;color:var(--cobalt);shape-rendering:geometricPrecision}
.nav__links{display:flex;align-items:center;gap:30px}
.nav__links a{color:var(--graphite);font-family:var(--font-body);font-weight:var(--w-medium);font-size:0.9375rem;opacity:1;white-space:nowrap}
.nav__links a:hover{color:var(--graphite);opacity:.62}
.nav__links .nav__cta{font-family:var(--font-body);font-weight:var(--w-medium);font-size:0.9375rem;color:var(--paper);background:var(--cobalt);padding:11px 20px;border-radius:6px;white-space:nowrap}
.nav__links .nav__cta:hover{color:var(--paper);background:#1B33A8;opacity:1}
@media(max-width:1080px){.nav__links{display:none}}
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:104px;padding-inline:var(--gutter);overflow:hidden;color:var(--paper)}
.hero__bg{position:absolute;inset:0;background:url("assets/img/london-skyline.jpg") center/cover no-repeat;transform:scale(1.03)}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,30,34,.42) 0%,rgba(23,30,34,.12) 30%,rgba(23,30,34,.35) 62%,rgba(23,30,34,.88) 100%)}
.hero__inner{position:relative;z-index:2;padding:0 0 56px;width:100%;max-width:var(--content-max);margin-inline:auto}
.hero__lead-mark{margin-bottom:22px}
.hero__brand{font-family:var(--font-body);font-weight:var(--w-medium);font-size:1rem;color:var(--paper);margin-bottom:14px}
.hero h1{font-size:clamp(2.5rem,5.2vw,4.25rem);max-width:16ch;margin-bottom:26px}
.hero__sub{font-family:var(--font-body);font-weight:var(--w-body);font-size:var(--fs-lead);line-height:1.45;color:var(--paper);max-width:56ch;margin-bottom:34px}
.facts{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(237,239,238,.28);width:100%;max-width:var(--content-max);margin-inline:auto}
.fact{padding:26px 32px 30px 0}
.fact + .fact{padding-left:32px;border-left:1px solid rgba(237,239,238,.28)}
.fact__value{font-family:var(--font-body);font-weight:var(--w-medium);color:var(--paper);font-variant-numeric:tabular-nums}
.fact--stat .fact__value{font-size:var(--fs-stat);line-height:1;margin-bottom:8px}
.fact--note .fact__value{font-size:1.25rem;line-height:1.2;margin-bottom:8px}
.fact__label{font-family:var(--font-body);font-weight:var(--w-body);font-size:0.9375rem;color:var(--paper);opacity:.82}
@media(max-width:860px){
  .nav__links{display:none}
  .hero h1{font-size:clamp(2.25rem,9vw,3rem)}
  .facts{grid-template-columns:1fr}
  .fact,.fact + .fact{padding:22px 0;border-left:0;border-top:1px solid rgba(237,239,238,.22)}
  .facts{border-top:0}
}
.waypoint{display:flex;align-items:center;gap:14px}
.waypoint__label{font-family:var(--font-body);font-weight:var(--w-medium);font-size:var(--fs-body);color:var(--ink-on-light)}
.intro{background:var(--surface-page);color:var(--ink-on-light);padding:var(--sp-9) var(--gutter)}
.intro__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,6vw,104px);width:100%;max-width:var(--content-max);margin-inline:auto;align-items:start}
.intro__grid + .intro__grid{margin-top:var(--sp-9)}
.intro__head h2{font-size:clamp(1.5rem,2.4vw,2rem);color:var(--ink-on-light);max-width:18ch}
.intro__body p{font-size:var(--fs-body);line-height:1.5;max-width:52ch;display:flex;align-items:baseline;gap:20px}
.intro__body p::before{content:"";flex:none;width:7px;height:7px;background:var(--accent);transform:translateY(-1px)}
.intro__body p + p{margin-top:20px}
.lead-cobalt{color:var(--accent)}
.diff-sec__lead{font-size:var(--fs-lead);font-weight:var(--w-medium);line-height:1.4;max-width:46ch;margin-bottom:8px}
.diff-list{list-style:none;display:flex;flex-direction:column;gap:20px}
.diff-list li{display:flex;align-items:baseline;gap:20px;font-size:var(--fs-body);line-height:1.45;max-width:52ch}
.diff-list li::before{content:"";flex:none;width:7px;height:7px;background:var(--accent);transform:translateY(-1px)}
@media(max-width:860px){
  .intro__grid{grid-template-columns:1fr;gap:32px}
  .intro__grid + .intro__grid{margin-top:56px}
  .intro__head h2{font-size:clamp(1.625rem,6.5vw,2rem)}
}
.advise{min-height:100vh;display:flex;flex-direction:column;justify-content:center;background:var(--surface-band);color:var(--ink-on-dark);padding:var(--sp-9) var(--gutter)}
.advise__head{margin-bottom:var(--sp-7)}
.advise__head h2{font-size:var(--fs-display-2);color:var(--ink-on-dark);max-width:12ch}
.advise__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.adv-card{position:relative;overflow:hidden;background:var(--surface-card);color:var(--ink-on-light);border-radius:var(--radius-card);padding:28px 28px 32px;display:flex;flex-direction:column;min-height:236px;transition:transform .3s ease,box-shadow .3s ease}
.adv-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.adv-card__index{align-self:stretch;color:var(--ink-on-light);transition:color .25s ease;display:flex;padding-bottom:20px;border-bottom:1px solid rgba(23,30,34,.14)}
.adv-card__index svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.adv-card__title{font-family:var(--font-body);font-weight:var(--w-medium);font-size:1.1875rem;line-height:1.25;margin:22px 0 12px;color:var(--ink-on-light)}
.adv-card__desc{font-size:var(--fs-small);line-height:1.5;color:var(--ink-on-light)}
.adv-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(23,30,34,.3)}
.adv-card:hover::before{transform:scaleX(1)}
.adv-card:hover .adv-card__index{color:var(--accent)}
.advise__cta{align-self:flex-start;margin-top:var(--sp-7);display:inline-block;font-family:var(--font-body);font-weight:var(--w-medium);font-size:1rem;color:var(--paper);border:1px solid var(--paper);padding:14px 26px;border-radius:7px;white-space:nowrap;transition:background .2s ease,color .2s ease}
.advise__cta:hover{background:var(--paper);color:var(--graphite)}
@media(max-width:1040px){.advise__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){
  .advise__head h2{font-size:clamp(2rem,8vw,2.5rem)}
  .advise__grid{grid-template-columns:1fr}
}
.strong{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;gap:64px;color:var(--paper);padding:var(--sp-9) var(--gutter);overflow:hidden}
.strong__bg{position:absolute;inset:0;background:url("assets/img/atrium.jpg") center/cover no-repeat}
.strong__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,30,34,.72) 0%,rgba(23,30,34,.38) 45%,rgba(23,30,34,.82) 100%)}
.strong__inner{position:relative;z-index:2;width:100%}
.strong__head{max-width:640px}
.strong h2{font-size:var(--fs-display-2);margin-bottom:18px;color:var(--paper)}
.strong__lead{font-size:var(--fs-lead);line-height:1.45;max-width:46ch;color:var(--paper);opacity:.9}
.strong__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(20px,3vw,44px)}
.strong__area{border-top:1.5px solid rgba(237,239,238,.55);padding-top:22px}
.strong__area-name{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-display-3);line-height:1.1;letter-spacing:var(--ls-display);display:block;max-width:12ch;color:var(--paper)}
@media(max-width:900px){
  .strong__grid{grid-template-columns:repeat(2,1fr);gap:40px clamp(20px,4vw,44px)}
  .strong h2{font-size:clamp(2rem,8vw,2.5rem)}
}
@media(max-width:560px){.strong__grid{grid-template-columns:1fr}}
.duo{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:var(--mist);color:var(--ink-on-light)}
.duo__media{position:relative;min-height:420px}
.duo__media img{position:absolute;inset:0;width:100%;height:100%}
.duo__panel{display:flex;flex-direction:column;justify-content:flex-start;padding:var(--sp-9) var(--gutter);min-width:0}
.duo__tabs{display:flex;gap:28px;margin-bottom:44px}
.duo__tab{appearance:none;background:none;border:0;cursor:pointer;font-family:var(--font-body);font-weight:var(--w-medium);font-size:0.9375rem;color:var(--ink-on-light);opacity:.45;padding:0 0 10px;border-bottom:2px solid transparent;transition:opacity .2s ease,border-color .2s ease}
.duo__tab[aria-selected="true"]{opacity:1;border-bottom-color:var(--accent)}
.duo__slides{position:relative;min-height:30ch}
.duo__slide{max-width:52ch}
.duo__slide[hidden]{display:none}
.duo__slide h2{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-display-3);line-height:1.12;letter-spacing:var(--ls-display);margin-bottom:22px}
.duo__slide p{font-size:var(--fs-body);line-height:1.55}
.duo__slide p + p{margin-top:18px}
.duo__slide.is-in{animation:duoIn .45s ease both}
@keyframes duoIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.duo__cta{display:inline-block;margin-top:30px;font-family:var(--font-body);font-weight:var(--w-medium);font-size:1rem;color:var(--paper);background:var(--graphite);padding:14px 26px;border-radius:7px;white-space:nowrap}
.duo__cta:hover{color:var(--paper);background:var(--slate)}
@media(max-width:900px){
  .duo{grid-template-columns:1fr}
  .duo__media{min-height:320px}
  .duo__panel{padding:64px var(--gutter)}
}
.footer{background:var(--graphite);color:var(--paper);padding:60px var(--gutter) 36px}
.footer__wrap{max-width:var(--content-max);margin-inline:auto}
.footer__top{display:flex;justify-content:space-between;align-items:baseline;gap:32px 48px;flex-wrap:wrap;padding-bottom:44px;border-bottom:1px solid rgba(237,239,238,.18)}
.footer__mark{font-family:var(--font-display);font-weight:var(--w-display);font-size:1.375rem;letter-spacing:-0.005em;display:flex;align-items:center;gap:11px}
.footer__mark svg{height:25px;width:auto;display:block;flex:none;color:var(--paper)}
.footer__links{display:flex;flex-wrap:wrap;gap:12px 28px}
.footer__links a{color:var(--paper);font-family:var(--font-body);font-weight:var(--w-medium);font-size:0.9375rem;white-space:nowrap}
.footer__links a:hover{color:var(--paper);opacity:.68}
.footer__bottom{padding-top:24px;font-size:0.875rem;color:var(--paper);opacity:.6;text-align:center}
.nav__mark a{color:var(--graphite)}
.hero-s{position:relative;color:var(--ink-on-dark);min-height:48vh;display:flex;flex-direction:column;justify-content:flex-end;padding:140px var(--gutter) 56px;overflow:hidden}
.hero-s__bg{position:absolute;inset:0;background:url("assets/img/atrium.jpg") center/cover no-repeat}
.hero-s__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,30,34,.55) 0%,rgba(23,30,34,.35) 45%,rgba(23,30,34,.8) 100%)}
.hero-s__inner{position:relative;z-index:2;width:100%;max-width:var(--content-max);margin-inline:auto}
.hero-s h1{font-size:var(--fs-display-2);max-width:20ch;margin-bottom:20px;color:var(--paper)}
.hero-s__sub{font-size:var(--fs-lead);line-height:1.45;color:var(--paper);opacity:.88;max-width:52ch}
.about{padding:var(--sp-9) var(--gutter)}
.about__grid{display:grid;grid-template-columns:minmax(280px,4fr) 6fr;gap:clamp(48px,7vw,128px);max-width:var(--content-max);margin-inline:auto;align-items:start}
.about__rail{position:sticky;top:48px}
.about__nav{list-style:none;display:flex;flex-direction:column;gap:2px;margin-bottom:44px}
.about__nav a{display:flex;align-items:baseline;gap:16px;padding:9px 0;font-family:var(--font-body);font-weight:var(--w-medium);font-size:1rem;color:var(--ink-on-light);opacity:.42;transition:opacity .25s ease}
.about__nav a::before{content:"";flex:none;width:7px;height:7px;background:var(--accent);transform:translateY(-1px);opacity:0;transition:opacity .25s ease}
.about__nav a:hover{opacity:.75;color:var(--ink-on-light)}
.about__nav a.is-active{opacity:1}
.about__nav a.is-active::before{opacity:1}
.about__flow{min-width:0}
.about__block{padding:52px 0;border-top:1px solid rgba(23,30,34,.16)}
.about__block:first-child{padding-top:0;border-top:0}
.about__block h2{font-family:var(--font-body);font-weight:var(--w-medium);font-size:1.0625rem;line-height:1.4;max-width:46ch;margin-bottom:14px}
.about__block .kick{font-family:var(--font-body);font-weight:var(--w-medium);font-size:1.0625rem;line-height:1.4;max-width:46ch;margin-bottom:14px}
.about__block p{font-size:var(--fs-body);line-height:1.55;max-width:56ch}
.about__block p + p{margin-top:16px}
@media(max-width:900px){
  .about__grid{grid-template-columns:1fr}
  .about__rail{position:static}
  .about__nav{flex-direction:row;flex-wrap:wrap;gap:6px 22px}
  .about__nav a::before{display:none}
}
.svc{position:relative;min-height:100vh;padding:150px var(--gutter) 72px;display:flex;align-items:center;overflow:hidden;color:var(--paper)}
.svc__bg{position:absolute;inset:0;background:url("assets/img/city-view.jpg") center/cover no-repeat}
.svc__scrim{position:absolute;inset:0;background:linear-gradient(105deg,rgba(23,30,34,.82) 0%,rgba(23,30,34,.55) 48%,rgba(23,30,34,.4) 100%)}
.svc__grid{position:relative;z-index:2;display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,5vw,88px);width:100%;max-width:var(--content-max);margin-inline:auto;align-items:start}
.svc__head h1{font-size:clamp(2rem,3.4vw,3rem);max-width:16ch;margin-bottom:24px;color:var(--paper)}
.svc__head p{font-size:var(--fs-body);line-height:1.55;color:var(--paper);opacity:.9;max-width:48ch}
.svc__head p + p{margin-top:16px}
.svc-card{background:var(--surface-page);color:var(--ink-on-light);border-radius:var(--radius-card);box-shadow:0 32px 80px rgba(23,30,34,.45);display:grid;grid-template-columns:230px 1fr;overflow:hidden}
.svc-card__nav{background:var(--mist);padding:28px 0;display:flex;flex-direction:column}
.svc-card__tab{appearance:none;background:none;border:0;cursor:pointer;text-align:left;font-family:var(--font-body);font-weight:var(--w-medium);font-size:0.9375rem;line-height:1.3;color:var(--ink-on-light);opacity:.5;padding:11px 24px;border-left:2px solid transparent;transition:opacity .2s ease,border-color .2s ease,background .2s ease}
.svc-card__tab:hover{opacity:.85}
.svc-card__tab[aria-selected="true"]{opacity:1;border-left-color:var(--accent);background:var(--surface-page)}
.svc-card__panes{padding:36px 36px 40px}
.svc-pane[hidden]{display:none}
.svc-pane.is-in{animation:svcIn .4s ease both}
@keyframes svcIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.svc-pane h2{font-size:1.5rem;max-width:24ch;margin-bottom:16px}
.svc-pane p{font-size:0.9375rem;line-height:1.55;max-width:58ch}
.svc-pane p + p{margin-top:14px}
.svc-pane__orgs{margin-top:22px;padding-top:18px;border-top:1px solid rgba(23,30,34,.14)}
.svc-pane__orgs-label{font-family:var(--font-body);font-weight:var(--w-medium);font-size:0.8125rem;letter-spacing:.02em;margin-bottom:10px}
.svc-pane__orgs ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.svc-pane__orgs img{display:block;height:44px;width:auto;mix-blend-mode:multiply}
.close-cta{background:var(--surface-band);color:var(--ink-on-dark);padding:var(--sp-9) var(--gutter);display:flex;flex-direction:column;align-items:center;text-align:center}
.close-cta h2{font-size:clamp(1.5rem,2.4vw,2rem);max-width:24ch;margin-bottom:20px;color:var(--paper)}
.close-cta p{font-size:var(--fs-lead);line-height:1.5;max-width:56ch;color:var(--paper);opacity:.9}
.close-cta__btn{display:inline-block;margin-top:36px;font-family:var(--font-body);font-weight:var(--w-medium);font-size:1rem;color:var(--graphite);background:var(--paper);padding:15px 26px;border-radius:7px;white-space:nowrap}
.close-cta__btn:hover{color:var(--graphite);background:#fff}
@media(max-width:860px){.close-cta h2{font-size:clamp(2rem,8vw,2.5rem)}}
@media(max-width:1080px){
  .svc{align-items:flex-start}
  .svc__grid{grid-template-columns:1fr;gap:44px}
  .svc__head h1{font-size:clamp(2rem,7vw,2.5rem)}
}
@media(max-width:760px){
  .svc-card{grid-template-columns:1fr}
  .svc-card__nav{flex-direction:row;flex-wrap:wrap;gap:2px;padding:16px}
  .svc-card__tab{border-left:0;border-bottom:2px solid transparent;padding:8px 12px}
  .svc-card__tab[aria-selected="true"]{border-bottom-color:var(--accent);background:none}
  .svc-card__panes{min-height:0}
}
.hero-s__sub{font-size:var(--fs-lead);line-height:1.45;color:var(--paper);opacity:.88;max-width:56ch}
.cases{padding:var(--sp-8) var(--gutter) var(--sp-9)}
.cases__list{max-width:var(--content-max);margin-inline:auto}
.case{border-top:1px solid rgba(23,30,34,.18)}
.case:last-child{border-bottom:1px solid rgba(23,30,34,.18)}
.case__head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:34px 0;cursor:pointer}
.case__title{font-size:var(--fs-display-3);max-width:26ch;margin-bottom:20px}
.case__meta{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.case__meta li{font-size:0.8125rem;font-weight:var(--w-medium);letter-spacing:.01em;color:var(--ink-on-light);background:var(--mist);padding:6px 12px;border-radius:100px;white-space:nowrap}
.case__toggle{font-family:var(--font-body);font-weight:var(--w-medium);font-size:0.9375rem;color:var(--ink-on-light);white-space:nowrap;display:flex;align-items:center;gap:10px}
.case__toggle::after{content:"";width:9px;height:9px;background:var(--accent);transition:transform .3s ease}
.case.is-open .case__toggle::after{transform:rotate(45deg)}
.case__body{overflow:hidden;height:0;transition:height .45s cubic-bezier(.4,0,.2,1)}
.case__body-grid{display:grid;grid-template-columns:minmax(280px,2fr) 3fr;gap:clamp(32px,4vw,64px);padding:8px 0 48px;align-items:start}
.case__media{position:relative;aspect-ratio:4/3}
.case__media img{position:absolute;inset:0;width:100%;height:100%}
.case__text p{font-size:var(--fs-body);line-height:1.55;max-width:60ch}
.case__text p + p{margin-top:16px}
@media(max-width:860px){
  .case__title{font-size:clamp(1.375rem,5vw,1.75rem)}
  .case__head{grid-template-columns:1fr;gap:14px}
  .case__body-grid{grid-template-columns:1fr}
  .hero-s h1{font-size:clamp(2rem,8vw,2.5rem)}
}
@media(max-width:860px){.hero-s h1{font-size:clamp(2rem,8vw,2.5rem)}}
.contact{padding:var(--sp-8) var(--gutter) var(--sp-9)}
.contact__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(48px,6vw,112px);max-width:var(--content-max);margin-inline:auto;align-items:start}
.contact__aside h2{font-size:var(--fs-display-3);max-width:16ch;margin-bottom:24px}
.contact__aside > p{font-size:var(--fs-body);line-height:1.55;max-width:44ch}
.contact__details{margin-top:40px;display:flex;flex-direction:column;gap:18px}
.contact__row{display:grid;grid-template-columns:7px 110px 1fr;gap:0 20px;align-items:baseline;font-size:0.9375rem}
.contact__row::before{content:"";width:7px;height:7px;background:var(--accent);transform:translateY(-1px)}
.contact__row dt{font-weight:var(--w-medium)}
.contact__row dd{opacity:.72}
.contact__row dd a{color:var(--ink-on-light)}
.contact__row dd a:hover{color:var(--accent)}
.contact__note{margin-top:28px;font-size:0.8125rem;line-height:1.5;max-width:44ch;opacity:.72}
.form-card{background:var(--mist);border-radius:var(--radius-card);padding:40px 40px 44px}
.form-card h2{font-family:var(--font-body);font-weight:var(--w-medium);font-size:1.0625rem;margin-bottom:28px}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.field{display:flex;flex-direction:column;gap:8px}
.field--full{grid-column:1/-1}
.field label{font-family:var(--font-body);font-weight:var(--w-medium);font-size:0.8125rem;letter-spacing:.01em}
.field input,.field select,.field textarea{appearance:none;background:none;border:0;border-bottom:1px solid rgba(23,30,34,.3);border-radius:0;padding:8px 0 10px;font-family:var(--font-body);font-weight:var(--w-body);font-size:0.9375rem;color:var(--ink-on-light);outline:none;transition:border-color .2s ease}
.field select{cursor:pointer}
.field textarea{resize:vertical;min-height:96px;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--accent)}
.form__fine{grid-column:1/-1;font-size:0.8125rem;line-height:1.5;opacity:.66;max-width:56ch}
.form__submit{grid-column:1/-1;justify-self:start;appearance:none;border:0;cursor:pointer;font-family:var(--font-body);font-weight:var(--w-medium);font-size:1rem;color:var(--paper);background:var(--graphite);padding:15px 26px;border-radius:7px;white-space:nowrap;transition:background .2s ease}
.form__submit:hover{background:var(--slate)}
.form__submit[disabled]{opacity:.55;cursor:default}
.form__status{grid-column:1/-1;font-size:0.9375rem;font-weight:var(--w-medium);margin:0;display:none}
.form__status.is-visible{display:block}
.form__status.is-error{color:#8a2f2f}
@media(max-width:900px){
  .contact__grid{grid-template-columns:1fr}
  .form-card{padding:28px 24px 32px}
  .form__grid{grid-template-columns:1fr}
}
.duo__media img,.case__media img{object-fit:cover;display:block}
.legal{padding:160px var(--gutter) var(--sp-9)}
.legal__inner{max-width:760px;margin-inline:auto}
.legal h1{font-size:var(--fs-display-3);margin-bottom:16px}
.legal__updated{font-size:0.875rem;opacity:.6;margin-bottom:44px}
.legal h2{font-family:var(--font-body);font-weight:var(--w-medium);font-size:1.125rem;line-height:1.3;margin:40px 0 14px}
.legal p{margin-bottom:14px;line-height:1.6;font-size:0.9375rem}
.legal ul{margin:0 0 14px;padding-left:22px}
.legal li{margin-bottom:8px;line-height:1.6;font-size:0.9375rem}
