:root {
  --snow:#f6f9fc; --white:#fff; --navy:#0b3a5e; --muted:#506b80;
  --blue:#2873a6; --ice:#eaf4fb; --line:#d8e6f0; --gold:#a8701d;
  --green:#25765a; --amber:#875b12; --ember:#ff7955;
  --sans:Geist,Arial,sans-serif; --serif:'Instrument Serif',Georgia,serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:26px; }
body { margin:0; background:var(--snow); color:var(--navy); font:400 18px/1.5 var(--sans); }
button,select { font:inherit; color:inherit; }
button,select,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button,select { cursor:pointer; }
a { color:inherit; text-underline-offset:.22em; }
img { max-width:100%; height:auto; }
h1,h2,h3,h4,p,figure,blockquote { margin:0; }
h1,h2,h3,h4 { font-weight:600; letter-spacing:-.035em; text-wrap:balance; }
h1 { font-size:clamp(46px,5.6vw,76px); line-height:1.01; }
h2 { font-size:clamp(34px,3.7vw,50px); line-height:1.08; }
h3 { font-size:26px; line-height:1.16; }
h4 { font-size:20px; line-height:1.2; }
em { font-family:var(--serif); font-weight:400; color:var(--blue); }
::selection { background:#cae8f8; }
.product-link { display:block; text-decoration:none; border-radius:10px 10px 0 0; }
.product-link:hover { background:var(--ice); }
.product-link:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.product-cta { display:inline-block; margin-top:16px; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:.2em; }
.catalogue-main { padding-block:70px 80px; }
.catalogue-main>.lead { max-width:690px; margin-block:24px 48px; }
.catalogue-main .family-layers { gap:24px; }
.catalogue-language a[aria-current="page"] { font-weight:700; text-decoration:underline; }
@media(max-width:720px) {
  .catalogue-main { padding-block:36px 60px; }
  .catalogue-main>.lead { margin-block:20px 32px; }
  .site-header .catalogue-language { display:flex; }
}
:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.wrap { max-width:1232px; padding-inline:36px; margin-inline:auto; }
.section { padding:88px 0; }
.caption { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; }
.section-heading { max-width:800px; margin-bottom:36px; }
.section-heading h2 { max-width:750px; }
.section-heading p { max-width:610px; color:var(--muted); margin-top:18px; font-size:18px; }
.section-heading.center { text-align:center; margin-inline:auto; }
.section-heading.center h2,.section-heading.center p { margin-inline:auto; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; padding:14px 21px; border:1px solid transparent; border-radius:9px; text-decoration:none; font-size:15px; font-weight:600; transition:background .15s; }
.button.primary { background:var(--ember); color:#08283e; }
.button.primary:hover { background:#ff916d; }
.button.secondary { background:white; border-color:var(--line); }
.button.secondary:hover { background:var(--ice); }
.button.small { min-height:42px; padding:10px 16px; font-size:13px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; }
.text-button { border:0; background:transparent; text-decoration:underline; text-underline-offset:4px; font-size:12px; padding:5px 0; }
.skip { position:absolute; left:20px; top:-100px; z-index:30; background:white; padding:12px; }
.skip:focus { top:12px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* 01 · A recognizable Firny first screen. */
.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:24px; }
.brand { display:flex; align-items:center; gap:18px; flex:none; text-decoration:none; }
.brand img { display:block; width:104px; }
.brand>span { border-left:1px solid #bed0dc; padding-left:17px; font-size:24px; line-height:1; letter-spacing:-.04em; }
.site-header nav { display:flex; gap:27px; font-size:14px; }
.site-header nav a { text-decoration:none; }
.site-header nav a:hover { text-decoration:underline; }
.header-actions { display:flex; gap:20px; align-items:center; }
.language { display:flex; gap:2px; }
.language button { background:transparent; border:0; border-radius:5px; padding:8px; font-size:12px; min-height:36px; }
.language button[aria-pressed=true] { background:var(--navy); color:white; }
.hero { display:grid; grid-template-columns:1.02fr 1fr; gap:14px; align-items:center; padding-block:42px 68px; overflow:clip; }
.hero h1 { margin-bottom:24px; }
.hero h1 em { display:block; }
.hero .lead { font-size:20px; line-height:1.55; color:var(--muted); max-width:490px; margin-bottom:28px; }
.hero-scene>img { width:116%; max-width:none; display:block; margin-left:-7%; }
.hero-scene figcaption { display:flex; align-items:center; justify-content:center; gap:10px; font-size:13px; color:var(--muted); margin-top:2px; }
.watch-light { width:7px; height:7px; border-radius:50%; background:var(--green); flex:none; box-shadow:0 0 0 4px #dfeee8; }
.assurances { display:flex; flex-wrap:wrap; gap:20px; list-style:none; padding:0; margin:22px 0 0; font-size:12px; color:var(--muted); }
.assurances li::before { content:'✓'; color:var(--green); margin-right:7px; }

/* 02 · Show the handoffs where an agreement disappears. */
.drift { background:#edf5fb; border-block:1px solid var(--line); }
.drift-diagram { max-width:990px; margin:auto; }
.drift-diagram>figcaption { text-align:center; margin:0 0 14px; }
.decision-source { display:flex; align-items:center; gap:21px; max-width:640px; padding:23px 27px; margin:auto; background:white; border:1px solid #bdd5e5; border-radius:13px; }
.document-seal { display:grid; place-items:center; width:43px; height:43px; border:1px solid #acd3bf; border-radius:50%; background:#e8f5ee; color:var(--green); font-size:23px; flex:none; }
.decision-source blockquote { font-size:21px; font-weight:500; line-height:1.3; margin-top:5px; letter-spacing:-.02em; }
.branch-line { height:44px; position:relative; }
.branch-line::before { content:''; position:absolute; top:0; bottom:0; left:50%; border-left:1px solid #99b7ca; }
.drift-branches { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); position:relative; gap:28px; }
.drift-branches::before { content:''; position:absolute; left:16.666%; right:16.666%; top:0; border-top:1px solid #99b7ca; }
.drift-branch { position:relative; text-align:center; padding:28px 18px 22px; }
.drift-branch::before { content:''; position:absolute; top:0; left:50%; height:20px; border-left:1px solid #99b7ca; }
.change-symbol { display:grid; place-items:center; width:55px; height:55px; margin:0 auto 12px; background:#d9ecf9; border:1px solid #a8cce4; border-radius:14px; font-weight:600; font-size:21px; }
.symbol-1 { border-radius:50%; background:#e4f3ec; border-color:#bad7c9; }
.symbol-2 { background:#fff5e0; border-color:#e6d1a3; }
.drift-branch h3 { font-size:21px; }
.drift-branch p { font-size:15px; line-height:1.45; color:var(--muted); max-width:24ch; margin:9px auto 0; }
.missing-thread { display:block; color:#ad8a50; font-size:32px; letter-spacing:6px; line-height:.9; margin-top:15px; }
.helm-finding { display:flex; justify-content:center; align-items:center; gap:18px; max-width:700px; margin:4px auto 0; padding:18px 26px; background:var(--navy); color:white; border-radius:13px; }
.helm-finding img { width:62px; height:62px; object-fit:contain; flex:none; }
.helm-finding strong { display:block; font-size:18px; line-height:1.3; font-weight:500; }
.helm-finding span { display:block; font-size:14px; margin-top:5px; color:#c1d9e9; }

/* The six-step loop, adapted from Setu's Russian demo diagram. */
.loop-section { background:white; }
.loop-map { position:relative; height:780px; max-width:1160px; margin:20px auto 0; }
.loop-ring { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.loop-hub { position:absolute; left:50%; top:48%; transform:translate(-50%,-50%); width:30%; text-align:center; z-index:1; }
.loop-hub img { width:100%; mix-blend-mode:multiply; }
.loop-hub p { font-size:14px; color:var(--muted); line-height:1.6; }
.loop-hub strong { color:var(--navy); font-weight:500; }
.loop-steps { list-style:none; margin:0; padding:0; }
.loop-step { padding:19px; position:absolute; width:29%; background:white; border:1px solid #d1e3ee; border-radius:12px; }
.loop-step h3 { font-family:var(--serif); font-size:28px; font-weight:500; padding-left:37px; min-height:29px; display:flex; align-items:center; }
.loop-step p { font-size:14px; line-height:1.5; color:var(--muted); margin-top:10px; }
.loop-number { position:absolute; top:20px; left:18px; display:grid; place-items:center; width:27px; height:27px; border-radius:50%; background:#277cab; color:white; font-size:13px; font-weight:500; }
.loop-step-1 { top:0; left:50%; transform:translateX(-50%); }
.loop-step-2 { right:0; top:165px; }
.loop-step-3 { right:0; bottom:170px; }
.loop-step-4 { width:38%; bottom:0; left:50%; transform:translateX(-50%); border-color:#d2ae60; }
.loop-step-4 .loop-number { background:#996d1a; }
.loop-step-5 { left:0; bottom:170px; }
.loop-step-6 { left:0; top:165px; }
.loop-example { margin-top:13px; padding:10px 11px; border-radius:7px; background:#edf5fb; font-size:12.5px; line-height:1.4; }
.simulation-tag { display:inline-block; background:#f4d181; color:#624307; padding:2px 5px; margin-right:5px; border-radius:3px; font-size:11px; font-weight:600; }
.loop-levers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:13px; }
.loop-levers>div { background:#fff7e6; border:1px solid #edd8ac; border-radius:7px; padding:10px; }
.loop-levers b { display:block; color:#795210; font-size:11px; font-weight:600; margin-bottom:5px; }
.loop-levers span { display:block; font-size:13px; line-height:1.35; }
.loop-return { color:var(--muted); text-align:center; font-size:15px; margin-top:28px; }

/* One proposal branches into three different kinds of work. */
.decision-section { background:#edf5fb; border-block:1px solid var(--line); }
.business-case { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:20px 0; margin-bottom:35px; border-block:1px solid #bdd5e5; }
.business-case>div { padding:0 24px; border-left:1px solid #bdd5e5; }
.business-case>div:first-child { border:0; padding-left:0; }
.business-case>div:last-child { padding-right:0; }
.business-case span { display:block; font-size:13px; font-weight:600; color:var(--blue); margin-bottom:8px; }
.business-case strong { display:block; font-size:15px; font-weight:400; line-height:1.5; }
.proposal-root { max-width:760px; margin:auto; border:1px solid #d8af55; background:#fffdf7; border-radius:12px; padding:24px; text-align:center; }
.proposal-root>span { font-size:13px; color:var(--muted); }
.proposal-root h3 { font-family:var(--serif); font-size:36px; font-weight:400; color:#865e19; margin-top:7px; }
.proposal-root p { font-size:16px; color:var(--muted); margin-top:7px; }
.implementation-branches { height:44px; position:relative; }
.implementation-branches::before { content:''; position:absolute; left:50%; top:0; bottom:0; border-left:2px dashed #d9b468; }
.implementation-branches::after { content:''; position:absolute; left:16.66%; right:16.66%; bottom:0; height:20px; border:2px dashed #d9b468; border-bottom:0; border-radius:60% 60% 0 0; }
.implementation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.implementation-lane { min-width:0; display:flex; flex-direction:column; position:relative; padding-top:24px; }
.implementation-lane::before { content:''; position:absolute; left:50%; top:0; height:16px; border-left:2px dashed #d9b468; }
.lane-heading { text-align:center; margin-bottom:17px; }
.lane-heading h3 { font-size:24px; }
.lane-heading p { font-size:13px; color:var(--muted); margin-top:5px; }
.work-preview { border:1px solid #cedfeb; border-radius:12px; overflow:hidden; background:white; flex:1; min-height:320px; }
.work-bar { padding:10px 15px; font-size:12px; color:var(--muted); background:#f0f5fa; }
.coaching-messages { padding:15px; display:flex; flex-direction:column; gap:10px; }
.coaching-messages p { font-size:14px; line-height:1.4; padding:10px 12px; border-radius:9px; max-width:93%; }
.coaching-messages .lead { background:#e4eff7; align-self:flex-start; }
.coaching-messages .seller { background:#1c709e; color:white; align-self:flex-end; }
.instruction-diff { padding:18px; }
.instruction-diff del,.instruction-diff ins { display:block; font-size:15px; line-height:1.5; padding-left:19px; position:relative; margin-bottom:17px; }
.instruction-diff del { color:#9c493e; }
.instruction-diff del::before { content:'−'; position:absolute; left:0; }
.instruction-diff ins { color:#246348; text-decoration:none; }
.instruction-diff ins::before { content:'+'; position:absolute; left:0; }
.crm-preview { background:#112e46; color:white; border-color:#112e46; }
.crm-preview .work-bar { background:#1e3d55; color:#c8dce8; }
.crm-content { padding:22px 18px; }
.field-name { display:block; font-size:14px; margin-bottom:8px; }
.field-name b { color:#f1ce83; }
.second-field { margin-top:18px; }
.crm-value { background:white; color:var(--navy); border:2px solid #e7c372; padding:13px; border-radius:6px; font-size:15px; }
.crm-validation { margin-top:28px; border-top:1px solid #38576c; padding-top:18px; }
.crm-validation>span { font-size:12px; color:#b9d3e3; }
.crm-validation p { font-size:15px; color:#b1e0c9; margin-top:8px; }
.lane-effort { font-size:13px; color:var(--muted); margin:14px 0; min-height:3em; }
.measure-choice { display:block; margin-top:auto; }
.measure-choice select { width:100%; min-height:45px; padding:10px; border:1px solid #a7cabb; border-radius:7px; font-size:14px; font-weight:500; background:#e8f5ed; color:#225f44; }
.measure-choice select.revise { background:#fff5e3; color:#7c5618; border-color:#dcc38e; }
.measure-choice select.exclude { background:#f0f3f6; color:#506778; border-color:#c9d5df; }
.choice-foot { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:29px; }
#choice-counts { display:flex; gap:20px; flex-wrap:wrap; font-size:13px; }
#choice-counts b { font-size:17px; }
.choice-foot p { color:var(--muted); font-size:13px; max-width:65ch; margin-top:12px; }
.plan-actions { display:flex; flex-direction:column; align-items:center; gap:12px; flex:none; }
.plan-summary { margin-top:28px; padding:24px; background:white; border:1px solid var(--line); border-radius:12px; scroll-margin-top:25px; }
.plan-summary[hidden] { display:none; }
.plan-summary h3 { margin-bottom:20px; font-size:25px; }
.plan-summary>p { color:var(--muted); font-size:14px; margin-top:18px; max-width:75ch; }
.selected-plan { list-style:none; padding:0; margin:0; }
.selected-plan li { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0; border-top:1px solid var(--line); }
.selected-plan b { font-size:14px; font-weight:500; }
.status { display:inline-block; padding:5px 9px; border-radius:5px; font-size:12px; font-weight:500; line-height:1.35; }
.status.amber { background:#fff0d2; color:#79510d; }
.status.green { background:#dff0e7; color:#236345; }
.status.neutral { background:#eaf0f4; color:#506b80; }

/* 04 · A compact operational view and the message it produces. */
.watch-section { border-block:1px solid var(--line); }
.watch-controls { display:flex; justify-content:center; gap:8px; margin:0 0 32px; }
.watch-controls button { padding:10px 17px; border:1px solid #cadde9; background:white; border-radius:7px; font-size:13px; min-height:43px; }
.watch-controls button>span { margin-right:9px; color:var(--blue); }
.watch-controls button[aria-selected=true] { background:var(--navy); border-color:var(--navy); color:white; }
.watch-controls button[aria-selected=true]>span { color:#8ed8fa; }
#watch-panel { display:grid; grid-template-columns:.95fr 1.1fr; gap:52px; align-items:center; max-width:1050px; margin:auto; }
.watch-board { background:white; border:1px solid #c9dce8; border-radius:13px; padding:25px; box-shadow:0 10px 28px #123f5b09; }
.board-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:18px; }
.board-heading .caption { font-size:10px; }
.board-dot { width:7px; height:7px; background:var(--blue); border-radius:50%; }
.watch-board h3 { font-size:28px; }
.watch-board>p { font-size:14px; color:var(--muted); margin-top:8px; }
.board-rows { margin-top:23px; border-top:1px solid var(--line); }
.board-rows>div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); font-size:12px; }
.state { font-size:11px; font-weight:500; display:inline-flex; align-items:center; gap:6px; text-align:right; }
.state.green { color:var(--green); }
.state.amber { color:var(--amber); }
.state i { width:6px; height:6px; border-radius:50%; background:currentColor; flex:none; }
.board-check { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:11px; margin-top:21px; }
.board-check>span { font-size:19px; color:var(--blue); }
.owner-message { display:table; margin:0 0 15px auto; background:#ddeaf5; border-radius:12px 12px 3px 12px; padding:12px 18px; font-size:14px; }
.deputy-message { background:white; border:1px solid #cfdee9; padding:22px 25px; border-radius:12px 12px 12px 3px; box-shadow:0 10px 28px #123f5b09; }
.deputy-header { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:11px; margin-bottom:12px; }
.deputy-header img { width:38px; height:38px; object-fit:contain; }
.deputy-message h3 { font-size:21px; letter-spacing:-.025em; }
.deputy-message>p { font-size:15px; color:var(--muted); margin-top:12px; }
.chat-action { display:flex; align-items:center; gap:20px; margin-top:18px; border:0; border-bottom:1px solid #91afc2; background:transparent; padding:0 0 4px; font-size:13px; font-weight:500; }
.sample-note { font-size:12px; color:var(--muted); text-align:center; margin-top:24px; }

/* 05 · Boundaries are easy to remember. */
.authority { background:var(--navy); color:white; padding:36px 0; }
.authority-inner { display:grid; grid-template-columns:repeat(3,1fr); gap:55px; }
.authority h3 { font-size:21px; }
.authority p { margin-top:9px; font-size:14px; color:#c6deed; max-width:34ch; }

/* 06 · A short pilot map, rather than a second pitch. */
.pilot-heading { display:flex; align-items:center; justify-content:space-between; gap:55px; }
.pilot-heading>div { max-width:750px; }
.pilot-heading p { max-width:570px; font-size:18px; color:var(--muted); margin-top:18px; }
.pilot-heading>.button { flex:none; }
.pilot-road { list-style:none; padding:0; margin:43px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:42px; position:relative; }
.pilot-road::before { content:''; position:absolute; top:22px; left:8%; right:8%; border-top:7px solid #d8eaf6; }
.pilot-road li { position:relative; text-align:center; }
.road-stop { display:grid; place-items:center; width:45px; height:45px; border:1px solid #a6c9e1; box-shadow:0 0 0 7px var(--snow); border-radius:50%; background:#e3f1fa; color:var(--blue); margin:0 auto 19px; font-size:12px; }
.pilot-road h3 { font-size:23px; }
.pilot-road p { font-size:14px; color:var(--muted); margin:8px auto 0; max-width:28ch; }
.family { margin-top:56px; padding-top:32px; border-top:1px solid var(--line); }
.family>h2 { font-size:24px; font-weight:500; }
.family-layers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin-top:20px; }
.family-layer { min-width:0; padding:0 10px 20px; border-bottom:1px solid #bcd9ec; }
.family-illustration { width:150px; max-width:100%; aspect-ratio:1; margin:0 auto 14px; }
.family-role-0 { background-position:0 50%; }
.family-role-1 { background-position:33.333333% 50%; }
.family-role-2 { background-position:66.666667% 50%; }
.family-role-3 { background-position:100% 50%; }
.family-layer h3 { font-size:22px; font-weight:600; }
.family-layer p { font-size:14px; color:var(--muted); margin-top:7px; line-height:1.5; max-width:24ch; }
.family-layer.active { border-bottom:2px solid var(--navy); }

.faq { border-top:1px solid var(--line); padding-block:42px 55px; }
.faq h2 { font-size:32px; margin-bottom:19px; }
.faq details { border-bottom:1px solid var(--line); padding:18px 0; }
.faq summary { list-style:none; cursor:pointer; font-size:16px; font-weight:500; display:flex; justify-content:space-between; gap:25px; }
.faq summary::after { content:'+'; font-size:21px; line-height:1.2; }
.faq summary::-webkit-details-marker { display:none; }
.faq details[open] summary::after { content:'−'; }
.faq details p { font-size:15px; max-width:70ch; color:var(--muted); margin-top:14px; }
footer.wrap { display:flex; justify-content:space-between; gap:25px; border-top:1px solid var(--line); padding-block:24px; font-size:12px; color:var(--muted); }
footer>div { display:flex; gap:22px; }
.fallback { padding-block:60px; max-width:900px; }
.fallback p { margin-block:25px; }
.fallback img { display:block; max-width:600px; margin-top:30px; }

@media(max-width:1050px) {
  .site-header nav { gap:17px; font-size:13px; }
  .header-actions>.button { display:none; }
  .hero .lead { font-size:18px; }
  #watch-panel { gap:28px; }
  .pilot-heading { gap:25px; }
}
@media(max-width:1000px) {
  .loop-map { display:block; height:auto; max-width:640px; }
  .loop-ring { display:none; }
  .loop-hub { display:none; }
  .loop-steps { display:block; position:relative; padding-left:24px; }
  .loop-steps::before { content:''; position:absolute; top:10px; bottom:10px; left:9px; border-left:2px dashed #a9cde3; }
  .loop-step { position:relative; width:100%; left:auto; right:auto; top:auto; bottom:auto; transform:none; margin-bottom:15px; padding:19px; }
  .loop-step::before { content:''; position:absolute; left:-15px; top:32px; width:15px; border-top:1px solid #a9cde3; }
  .loop-step h3 { font-size:27px; }
  .loop-step p { font-size:14px; }
  .loop-return { font-size:14px; }
}
@media(max-width:480px) {
  .loop-levers { grid-template-columns:1fr; }
  .loop-levers>div { display:grid; grid-template-columns:100px 1fr; gap:8px; }
  .loop-levers b { margin:0; }
}
@media(max-width:760px) {
  .implementation-grid { grid-template-columns:1fr; gap:26px; }
  .implementation-branches { height:27px; }
  .implementation-branches::after { display:none; }
  .implementation-lane { padding-top:0; }
  .implementation-lane::before { display:none; }
  .proposal-root { padding:22px 18px; }
  .proposal-root h3 { font-size:30px; }
  .proposal-root p { font-size:15px; }
  .work-preview { min-height:0; flex:auto; }
  .lane-effort { min-height:0; font-size:14px; }
  .coaching-messages p { font-size:15px; }
  .instruction-diff del,.instruction-diff ins { font-size:15px; }
  .choice-foot { display:block; }
  .plan-actions { margin-top:24px; align-items:stretch; }
  .plan-summary { padding:20px; }
  .wrap { padding-inline:24px; }
  .section { padding-block:60px; }
  .site-header { padding-block:20px; }
  .site-header nav { display:none; }
  .brand { gap:13px; }
  .brand img { width:88px; }
  .brand>span { font-size:22px; padding-left:13px; }
  .hero { grid-template-columns:1fr; padding-block:28px 42px; gap:20px; }
  .hero h1 { font-size:clamp(44px,10.2vw,65px); max-width:600px; }
  .hero .lead { max-width:560px; font-size:18px; margin-bottom:23px; }
  .hero-scene { max-width:500px; margin:auto; }
  .hero-scene>img { width:100%; max-width:100%; margin:0; }
  .hero-scene figcaption { font-size:11px; }
  .assurances { gap:16px; margin-top:20px; }
  .section-heading { margin-bottom:28px; }
  .section-heading p { font-size:16px; margin-top:15px; }
  .decision-source { padding:19px; gap:15px; }
  .decision-source blockquote { font-size:18px; }
  .document-seal { width:33px; height:33px; font-size:18px; }
  .drift-branches { gap:8px; }
  .drift-branch { padding-inline:3px; }
  .change-symbol { width:44px; height:44px; border-radius:10px; font-size:17px; }
  .symbol-1 { border-radius:50%; }
  .drift-branch h3 { font-size:17px; }
  .drift-branch p { font-size:12px; margin-top:7px; }
  .helm-finding { padding:17px; gap:12px; }
  .helm-finding img { width:46px; height:46px; }
  .helm-finding strong { font-size:16px; }
  .helm-finding span { font-size:12px; }
  .business-case { grid-template-columns:1fr; padding:0 18px; }
  .business-case>div { padding:13px 0; border-left:0; border-top:1px solid #c2d9e8; }
  .business-case strong { font-size:14px; }
  .business-case span { margin-bottom:4px; }
  .measure-choice select { font-size:14px; }
  .choice-foot { display:block; }
  .choice-foot>p { margin-top:13px; }
  .selected-plan li { display:block; padding:14px; }
  .selected-plan b { display:block; margin-bottom:7px; }
  .watch-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .watch-controls button { padding:11px 6px; font-size:11px; }
  .watch-controls button>span { display:block; margin:0 0 4px; font-size:15px; }
  #watch-panel { grid-template-columns:1fr; gap:25px; }
  .watch-board { padding:23px; }
  .deputy-message { padding:19px; }
  .deputy-message h3 { font-size:22px; }
  .deputy-message>p { font-size:15px; }
  .authority-inner { grid-template-columns:1fr; gap:24px; }
  .authority-inner>div { position:relative; }
  .authority h3 { font-size:21px; }
  .authority p { max-width:50ch; font-size:14px; margin-top:6px; }
  .pilot-heading { display:block; }
  .pilot-heading p { font-size:17px; }
  .pilot-heading>.button { margin-top:24px; }
  .pilot-road { gap:20px; }
  .pilot-road h3 { font-size:18px; }
  .pilot-road p { font-size:12px; }
  .road-stop { width:36px; height:36px; margin-bottom:14px; }
  .pilot-road::before { top:16px; }
  .family { margin-top:35px; }
  .family-layers { margin-top:16px; grid-template-columns:1fr 1fr; gap:24px 18px; }
  .family-layer { padding:0 0 18px; }
  .family-illustration { width:132px; margin-bottom:10px; }
  .family-layer h3 { font-size:20px; }
  .family-layer p { font-size:13px; }
  .faq h2 { font-size:30px; }
  footer.wrap { flex-direction:column; gap:12px; }
  footer>div { gap:18px; flex-wrap:wrap; }
}
@media(max-width:480px) {
  .drift-branches { grid-template-columns:1fr; gap:0; margin-left:17px; }
  .drift-branches::before { left:0; right:auto; top:0; bottom:20px; border-top:0; border-left:1px solid #99b7ca; }
  .drift-branch { display:grid; grid-template-columns:44px 1fr; gap:3px 14px; padding:14px 0 14px 23px; text-align:left; }
  .drift-branch::before { top:36px; left:0; width:23px; height:0; border-left:0; border-top:1px solid #99b7ca; }
  .change-symbol { grid-row:span 2; margin:0; }
  .drift-branch h3 { font-size:18px; align-self:end; }
  .drift-branch p { font-size:14px; margin:0; max-width:none; }
  .missing-thread { display:none; }
  .branch-line { height:30px; }
  .branch-line::before { left:17px; top:0; }
}
@media(max-width:370px) {
  .wrap { padding-inline:20px; }
  .header-actions { gap:0; }
  .brand img { width:78px; }
  .brand>span { font-size:20px; }
  h1 { overflow-wrap:normal; }
  .hero h1 { font-size:40px; }
  .drift-branch h3 { font-size:17px; }
  .drift-branch p { font-size:13px; }
  .pilot-road { grid-template-columns:1fr; gap:24px; }
  .pilot-road li { text-align:left; padding-left:53px; }
  .road-stop { position:absolute; left:0; top:0; }
  .pilot-road p { max-width:none; margin:6px 0 0; }
  .pilot-road::before { left:15px; top:0; bottom:15px; right:auto; border-top:0; border-left:6px solid #d8eaf6; }
}
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.button{transition:none} }
