@layer base, layout, components, responsive;
@layer base {
  :root { color-scheme: light; --paper:#f7f8fa; --white:#fff; --ink:#181b24; --muted:#626976; --blue:#3556df; --blue-hover:#2744bf; --blue-light:#e9eeff; --line:#d7dce5; --dark:#191d26; --dark-muted:#b9c0ce; --radius:7px; --space:24px; --body:1rem; --small:.875rem; --large:1.3rem; --display:clamp(2.2rem,4.7vw,4.4rem); font-family:'Golos Text',system-ui,sans-serif; color:var(--ink); background:var(--paper); scroll-behavior:smooth; scroll-padding-top:28px; }
  * { box-sizing:border-box; } body { margin:0; } h1,h2,h3,p { margin:0; } button,input,textarea { font:inherit; } button,a,input,textarea { -webkit-tap-highlight-color:transparent; } a { color:inherit; text-underline-offset:4px; } button { cursor:pointer; } img { display:block; max-width:100%; } p { line-height:1.6; } button:disabled { cursor:wait; opacity:.7; } :focus-visible { outline:3px solid var(--blue); outline-offset:5px; } ::selection { background:#cdd7ff; color:var(--ink); } .accent { color:var(--blue); } h2 { font-size:var(--display); font-weight:600; letter-spacing:-.052em; line-height:1.08; } .wrap { width:min(1280px,calc(100% - 96px)); margin-inline:auto; } .section { padding-block:104px; } .eyebrow { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:var(--small); font-weight:500; letter-spacing:.07em; text-transform:uppercase; } .skip-link { position:absolute; top:-100px; left:16px; z-index:10; padding:16px; background:var(--white); } .skip-link:focus { top:12px; }
}
@layer layout {
  .header { display:flex; align-items:center; justify-content:space-between; padding-block:28px; gap:24px; } .header nav { display:flex; align-items:center; gap:36px; } .header nav a { text-decoration:none; font-size:var(--small); padding-block:12px; } .header nav a:hover { color:var(--blue); } .hero { padding-top:70px; } h1 { margin-top:28px; font-size:clamp(2.5rem,6.95vw,6.45rem); letter-spacing:-.062em; font-weight:600; line-height:1.04; } h1>span { display:block; } .hero-bottom { display:grid; grid-template-columns:.85fr 1.25fr; gap:80px; align-items:start; margin-top:52px; } .hero-intro>p { font-size:var(--large); line-height:1.5; max-width:33ch; } .hero-intro>.text-link { margin-top:25px; } .hero-caption { margin-top:54px; border-top:1px solid var(--line); padding:18px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--muted); font-size:var(--small); } .hero-caption>a { display:grid; place-items:center; width:44px; height:44px; color:var(--blue); font-size:24px; text-decoration:none; } .section-heading { display:flex; justify-content:space-between; gap:32px; align-items:end; margin-bottom:52px; } .section-heading>p { color:var(--muted); font-size:var(--body); padding-bottom:6px; } .service-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; } .services { background:#eef1f6; padding-top:86px; } .selection-bar { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:32px; } .selection-bar p { color:var(--muted); font-size:var(--small); } .team { background:var(--dark); color:var(--paper); } .team h2>span { color:#8da4ff; } .team .section-heading>p { color:var(--dark-muted); } .experts { display:grid; grid-template-columns:1fr 1fr; gap:72px; } .expert+.expert { border-left:1px solid #3b424f; padding-left:48px; } .expert-top { display:flex; align-items:center; gap:24px; margin-bottom:28px; } .expert h3 { font-size:clamp(1.65rem,2.6vw,2.3rem); font-weight:500; line-height:1.12; letter-spacing:-.04em; } .expert>p { font-size:var(--body); color:#d3d8e2; margin-top:16px; max-width:55ch; } .expert-role { color:var(--dark-muted); font-size:var(--small); margin-top:12px; line-height:1.5; } .contact { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; } .contact-intro h2 { margin-top:24px; } .contact-intro>p:not(.eyebrow) { margin-top:28px; font-size:var(--body); max-width:37ch; color:var(--muted); } .contact-intro .pricing-note { padding-top:24px; border-top:1px solid var(--line); } .contact-intro .text-link { margin-top:24px; } .footer { border-top:1px solid var(--line); padding-top:36px; padding-bottom:28px; } .footer-top { display:grid; grid-template-columns:1.15fr 1fr 1fr; align-items:start; gap:32px; } .footer-top>p { color:var(--muted); font-size:var(--small); } .footer-contacts { display:flex; flex-direction:column; align-items:start; gap:8px; } .footer-contacts>a { text-decoration:none; } .footer-contacts>a:last-child { color:var(--blue); font-size:var(--small); padding-block:8px; } .footer-bottom { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:32px; align-items:start; margin-top:32px; color:var(--muted); font-size:.8rem; line-height:1.6; } .footer-bottom>a { padding-block:0; justify-self:start; }
}
@layer components {
  .brand { display:flex; align-items:center; gap:12px; color:var(--blue); text-decoration:none; font-size:18px; font-weight:600; line-height:1.05; letter-spacing:-.025em; } .brand-mark { display:block; width:54px; height:45px; background:var(--blue); mask:url('/assets/logo.png') left top/54px 63px no-repeat; -webkit-mask:url('/assets/logo.png') left top/54px 63px no-repeat; } .nav-contact { display:flex; align-items:center; gap:16px; color:var(--blue); } .nav-contact>span { color:var(--blue); font-size:24px; line-height:1; } .small-cross { color:var(--blue); font-size:22px; line-height:1; } .button { border:1px solid var(--blue); border-radius:var(--radius); background:var(--blue); color:var(--white); min-height:56px; padding:16px 20px; display:inline-flex; align-items:center; justify-content:space-between; gap:24px; font-weight:500; font-size:var(--small); text-decoration:none; } .button:hover { background:var(--blue-hover); border-color:var(--blue-hover); } .button:active { transform:translateY(1px); } .button span { font-size:23px; line-height:.8; } .text-link { display:inline-flex; align-items:center; gap:24px; min-height:44px; color:var(--blue); text-decoration:none; font-size:var(--small); font-weight:500; } .text-link span { font-size:22px; } .text-link:hover { text-decoration:underline; } .lead-form>label:first-child { font-size:var(--small); font-weight:500; display:block; margin-bottom:12px; } input:not([type=checkbox]),textarea { width:100%; background:transparent; color:var(--ink); border:1px solid #929bab; border-radius:var(--radius); padding:16px; font-size:var(--body); min-height:56px; } input::placeholder,textarea::placeholder { color:#667080; opacity:1; } input:hover,textarea:hover { border-color:var(--blue); } input[aria-invalid=true] { border-color:#b22b35; } textarea { resize:vertical; line-height:1.5; } .quick-fields { display:flex; gap:8px; } .quick-fields>input { min-width:0; flex:1; font-size:var(--small); } .quick-fields>.button { flex-shrink:0; gap:16px; } .form-hint { margin-top:12px; color:var(--muted); font-size:var(--small); line-height:1.5; } .consent { display:flex; gap:10px; align-items:start; font-size:.78rem; line-height:1.6; color:var(--muted); margin-top:18px; cursor:pointer; min-height:36px; } input[type=checkbox] { width:19px; height:19px; flex-shrink:0; margin:1px 0 0; accent-color:var(--blue); cursor:pointer; } .consent a:hover { color:var(--blue); } .form-status { font-size:var(--small); line-height:1.5; } .form-status:empty { display:none; } .form-status:not(:empty) { margin-top:16px; padding:16px; border:1px solid var(--line); border-radius:var(--radius); } .form-status[data-state=error] { color:#9c2735; border-color:#b22b35; } .form-status[data-state=success] { background:#e4f1e8; color:#215839; border-color:#9abca5; } .honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); } .service { text-align:left; background:transparent; border:0; border-top:1px solid #c9d0dc; display:grid; grid-template-columns:30px 1fr 24px; align-items:start; gap:18px; padding:32px 12px 32px 0; color:var(--ink); min-height:222px; position:relative; } .service-index { font-family:ui-monospace,monospace; color:var(--muted); font-size:var(--small); padding-top:6px; } .service-content { display:flex; flex-direction:column; gap:12px; } .service-title { font-size:clamp(1.15rem,1.8vw,1.55rem); font-weight:600; letter-spacing:-.035em; line-height:1.25; } .service-description { font-size:var(--body); line-height:1.55; color:#545e70; } .service-example { color:var(--blue); font-size:.8rem; line-height:1.5; } .service-arrow { font-size:26px; line-height:1; color:var(--blue); } .service:hover .service-title { color:var(--blue); } .service:hover .service-arrow { transform:translate(2px,-2px); } .service[aria-pressed=true] { background:#e0e7fc; } .service[aria-pressed=true] .service-title { color:var(--blue); } .service-other { background:#e4eaff; padding-left:18px; } .portrait { width:128px; height:158px; border-radius:var(--radius); object-fit:cover; object-position:center; flex-shrink:0; } .monogram { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; background:#28334d; border:1px solid #4c608e; color:#b3c2ff; font-size:42px; font-weight:500; letter-spacing:-.05em; } .monogram>span { font-family:ui-monospace,monospace; color:#b9c6e7; font-size:9px; text-align:center; line-height:1.5; letter-spacing:.07em; } .expert-link { display:inline-flex; align-items:center; gap:20px; color:#a9baff; font-size:var(--small); min-height:44px; margin-top:24px; text-decoration:none; } .expert-link:hover { text-decoration:underline; } .expert-link:focus-visible { outline-color:#a9baff; } .directions { border:0; margin:0 0 28px; padding:0; min-width:0; } .directions>legend { font-size:var(--small); font-weight:500; margin-bottom:14px; } .chips { display:flex; flex-wrap:wrap; gap:8px; } .chips>label { position:relative; display:flex; cursor:pointer; } .chips input { position:absolute; opacity:0; width:100%; height:100%; } .chips span { border:1px solid #a9b1bf; border-radius:6px; padding:12px 14px; font-size:var(--small); min-height:44px; pointer-events:none; } .chips input:checked+span { background:var(--blue-light); border-color:var(--blue); color:var(--blue); } .chips input:checked+span::before { content:'✓ '; } .chips input:focus-visible+span { outline:3px solid var(--blue); outline-offset:3px; } .chips label:hover>span { border-color:var(--blue); } .form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; } .field { margin-bottom:22px; } .field>label { display:block; font-size:var(--small); font-weight:500; margin-bottom:10px; } .field>label>span { color:var(--muted); font-weight:400; font-size:.73rem; margin-left:5px; } .full-form .button { width:100%; margin-top:20px; font-size:var(--body); } .legal { max-width:800px; padding-top:64px; padding-bottom:96px; } .legal h1 { font-size:clamp(2rem,5vw,3.7rem); line-height:1.1; overflow-wrap:anywhere; } .legal h2 { font-size:1.4rem; margin:32px 0 12px; letter-spacing:-.03em; } .legal p,.legal ul { line-height:1.7; color:#505a6b; margin-top:16px; } .legal .back { display:inline-flex; min-height:44px; align-items:center; color:var(--blue); }
}
@layer responsive {
  @media(min-width:1500px) { .hero { padding-top:90px; } .hero-bottom { margin-top:64px; } .hero-caption { margin-top:64px; } }
  @media(max-width:1150px) { .hero-bottom { grid-template-columns:.8fr 1.2fr; gap:40px; } .quick-fields { flex-direction:column; } .contact { gap:48px; } .experts { gap:32px; } .expert+.expert { padding-left:32px; } .expert-top { gap:16px; } .portrait { width:95px; height:128px; } .section-heading>p { max-width:230px; } }
  @media(max-width:780px) { .wrap { width:calc(100% - 40px); } .header { padding-block:22px; } .header nav { gap:16px; } .header nav>a:not(.nav-contact) { display:none; } .nav-contact { gap:8px; } .brand { font-size:15px; gap:8px; } .brand-mark { width:42px; height:36px; mask-size:42px 49px; -webkit-mask-size:42px 49px; } .hero { padding-top:40px; } h1 { font-size:clamp(2.25rem,7.6vw,3.75rem); line-height:1.1; letter-spacing:-.058em; margin-top:24px; } .hero-bottom { grid-template-columns:1fr; gap:32px; margin-top:28px; } .hero-intro>p { font-size:1.13rem; max-width:43ch; } .hero-intro>.text-link { margin-top:12px; } .quick-fields { flex-direction:row; } .hero-caption { margin-top:32px; font-size:.75rem; } .hero-caption>span { max-width:30ch; } .section { padding-block:64px; } .section-heading { align-items:start; flex-direction:column; gap:20px; margin-bottom:32px; } .section-heading>p { max-width:none; } .section-heading>p>br { display:none; } .service-grid { gap:0 24px; } .service { grid-template-columns:1fr 20px; gap:12px; padding-block:24px; min-height:245px; } .service-index { display:none; } .service-title { font-size:1.18rem; } .service-description { font-size:.95rem; } .service-other { padding-left:16px; } .experts { grid-template-columns:1fr; gap:36px; } .expert+.expert { padding-left:0; border-left:0; padding-top:36px; border-top:1px solid #3b424f; } .expert h3 { font-size:2rem; } .portrait { width:116px; height:142px; } .contact { grid-template-columns:1fr; gap:36px; } .contact-intro>p:not(.eyebrow) { max-width:55ch; } .contact-intro .pricing-note { padding-top:16px; margin-top:20px; } .contact-intro .text-link { margin-top:12px; } .footer-top { grid-template-columns:1fr 1fr; gap:24px; } .footer-top>p { display:none; } .footer-bottom { grid-template-columns:1fr; align-items:start; gap:16px; } .footer-contacts { font-size:var(--small); } }
  @media(max-width:480px) { .eyebrow { font-size:.68rem; gap:8px; } h1 { font-size:clamp(1.9rem,7.55vw,2.4rem); } .quick-fields { flex-direction:column; } .quick-fields input { font-size:1rem; } .quick-fields>.button { font-size:1rem; } .service-grid { grid-template-columns:1fr; } .service { min-height:0; padding:24px 12px 24px 0; grid-template-columns:24px 1fr 22px; gap:12px; } .service-index { display:block; font-size:.75rem; } .service-title { font-size:1.2rem; } .service-description { font-size:1rem; } .service-other { padding-left:12px; } .selection-bar { align-items:start; flex-direction:column; gap:8px; } .form-row { grid-template-columns:1fr; gap:0; } .footer-top { align-items:start; grid-template-columns:1fr; } .footer-contacts { align-items:start; gap:4px; } .header nav a { font-size:.75rem; } .nav-contact>span { font-size:20px; } .expert-top { gap:18px; } .expert h3 { font-size:1.7rem; } .portrait { width:104px; height:140px; } .consent { font-size:.75rem; min-height:44px; } }
  @media(prefers-reduced-motion:reduce) { :root { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
}

@layer components {
  .portrait-alexey { object-position:58% center; }
  .practice { margin-top:52px; padding-top:36px; border-top:1px solid #3b424f; }
  .practice-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:28px; }
  .practice-heading h3 { margin:0; font-size:1.4rem; font-weight:500; letter-spacing:-.035em; }
  .practice-heading>p { color:var(--dark-muted); font-size:var(--small); max-width:48ch; }
  .practice-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px 72px; }
  .practice-grid article { padding-top:22px; border-top:1px solid #3b424f; }
  .practice-grid h4 { margin:0 0 12px; font-size:1.05rem; font-weight:500; color:var(--paper); }
  .practice-grid p { margin:0; font-size:var(--small); color:var(--dark-muted); max-width:60ch; }
  .practice-grid article>span { display:block; margin-top:14px; color:#a9baff; font-size:.8rem; line-height:1.5; }
}
@layer responsive {
  @media(max-width:780px) { .practice-heading { flex-direction:column; align-items:start; gap:12px; } .practice-grid { gap:24px 32px; } }
  @media(max-width:480px) { .header { gap:12px; } .header nav { min-width:0; } .nav-contact { gap:6px; line-height:1.4; } .practice-grid { grid-template-columns:1fr; } .practice-grid p { font-size:1rem; } }
}

@layer components {
  html { scrollbar-gutter:stable; }
  html.nudge-open { overflow:hidden; }
  .lead-nudge { width:min(568px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--line); border-radius:16px; background:var(--paper); color:var(--ink); box-shadow:0 24px 90px #11182730; overscroll-behavior:contain; }
  .lead-nudge::backdrop { background:rgb(15 21 35 / 48%); }
  .lead-nudge[open] { animation:nudge-enter 220ms cubic-bezier(.23,1,.32,1) both; }
  .lead-nudge[open]::backdrop { animation:nudge-backdrop 180ms linear both; }
  .nudge-content { padding:46px 40px 22px; position:relative; }
  .nudge-close { position:absolute; top:8px; right:8px; width:44px; height:44px; border:0; background:transparent; color:var(--muted); font-size:30px; font-weight:400; border-radius:50%; }
  .nudge-close:hover { background:#e6eaf2; color:var(--ink); }
  .nudge-eyebrow { display:flex; align-items:center; gap:10px; color:var(--blue); font-size:var(--small); font-weight:500; margin-bottom:22px; }
  .nudge-eyebrow>span { font-size:26px; line-height:1; }
  .lead-nudge h2 { font-size:clamp(1.7rem,5vw,2.7rem); letter-spacing:-.045em; line-height:1.12; }
  #nudge-description { margin-top:20px; color:#545e70; font-size:1rem; line-height:1.6; }
  .nudge-context { margin-top:16px; color:var(--blue); font-size:var(--small); line-height:1.5; }
  .nudge-next { display:flex; align-items:center; gap:14px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
  .nudge-next-mark { font-size:28px; color:var(--blue); }
  .nudge-next p { font-size:var(--small); line-height:1.5; }
  .nudge-next p>span { color:var(--muted); }
  .nudge-cta { width:100%; margin-top:24px; font-size:1rem; }
  .nudge-later { display:block; width:100%; min-height:44px; padding:12px 4px; margin-top:6px; background:none; border:0; color:var(--muted); font-size:var(--small); text-underline-offset:4px; }
  .nudge-later:hover { color:var(--ink); text-decoration:underline; }
  @keyframes nudge-enter { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
  @keyframes nudge-backdrop { from { opacity:0; } to { opacity:1; } }
}
@layer responsive {
  @media(max-width:480px) { .nudge-content { padding:42px 24px 18px; } .nudge-eyebrow { font-size:.8rem; margin-bottom:18px; } .nudge-next { margin-top:18px; padding-top:16px; } .nudge-cta { margin-top:20px; font-size:.9rem; } }
  @media(prefers-reduced-motion:reduce) { .lead-nudge[open],.lead-nudge[open]::backdrop { animation:none; } }
}
@layer components {
  .nudge-close:focus-visible { outline-width:2px; outline-offset:-5px; }
}
