/* Zhora: original Firny glacier palette, shared functional page layout. */
:root { --serif:Geist,Arial,sans-serif; }
html { scrollbar-color:#87bfdf var(--snow); }
h1,h2,h3 { letter-spacing:-.035em; }
em { font-style:normal; font-weight:500; }
button,select { accent-color:var(--blue); caret-color:var(--blue); }
.site-header { border-bottom:1px solid var(--line); padding-block:21px; }
.brand { gap:9px; }
.brand img { width:48px; height:48px; }
.brand b { font-size:35px; font-weight:700; letter-spacing:-.04em; line-height:1; }
.brand>span { margin-left:12px; font-size:22px; }
.header-actions { gap:24px; }
.all-roles { font-size:14px; text-decoration:none; white-space:nowrap; }
.all-roles:hover { text-decoration:underline; }
.hero { grid-template-columns:1fr 1.08fr; gap:15px; padding-block:65px 64px; }
.hero h1 { font-size:clamp(44px,4.8vw,66px); line-height:1.08; max-width:600px; }
.hero h1 em { margin-top:4px; }
.hero .lead { font-size:19px; line-height:1.6; max-width:480px; }
.hero-scene>img { width:110%; margin-left:-5%; }
.hero-scene figcaption { font-size:14px; text-align:center; line-height:1.5; margin-top:10px; }
.assurances { gap:12px 18px; font-size:12px; }
.material-story { border-top:1px solid var(--line); padding-top:48px; padding-bottom:52px; }
.material-story h2 { font-size:36px; line-height:1.2; text-align:center; }
.data-flow { display:grid; grid-template-columns:1fr 36px 1.25fr 36px .9fr; align-items:start; gap:16px; margin-top:48px; }
.data-stage h3 { font-size:18px; font-weight:500; text-align:center; letter-spacing:-.015em; margin:0; }
.data-sources { position:relative; height:310px; margin-top:24px; }
.data-source { position:absolute; display:flex; gap:12px; align-items:center; background:var(--white); border:1px solid #bcd0df; border-radius:9px; padding:17px 15px; width:90%; }
.data-source svg { width:30px; height:34px; flex:none; color:var(--blue); }
.data-source span,.data-node span { display:block; font-size:12px; color:var(--muted); line-height:1.4; }
.data-source b { display:block; color:var(--navy); font-size:14px; font-weight:500; line-height:1.45; margin-top:5px; }
.source-meeting { top:8px; left:0; transform:rotate(-4deg); }
.source-chat { top:116px; right:0; transform:rotate(3deg); }
.source-crm { top:213px; left:8px; transform:rotate(-2deg); }
.data-flow-arrow { align-self:center; color:var(--blue); padding-bottom:10px; }
.data-flow-arrow>svg { width:100%; height:36px; }
.data-map { position:relative; height:310px; margin-top:24px; }
.data-connectors { position:absolute; inset:0; width:100%; height:100%; color:#76a7c8; }
.data-node { position:absolute; display:flex; align-items:center; gap:9px; background:var(--white); border:1px solid #abc7db; border-radius:9px; padding:12px 10px; z-index:1; }
.data-node svg { width:25px; height:28px; flex:none; color:var(--blue); }
.data-node b { display:block; color:var(--navy); font-size:14px; line-height:1.3; font-weight:500; margin-top:4px; }
.node-decision { top:0; left:15%; width:70%; min-height:68px; background:var(--ice); }
.node-owner { top:126px; left:0; width:47%; min-height:68px; }
.node-deal { top:126px; right:0; width:47%; min-height:68px; }
.data-gap { position:absolute; bottom:0; left:9%; width:82%; display:flex; gap:12px; align-items:center; padding:11px 12px; min-height:64px; border:1px dashed #a77c32; border-radius:9px; background:#fff7e8; color:#79510d; font-size:12px; line-height:1.35; }
.data-gap>span { font-size:26px; width:24px; text-align:center; }
.data-gap b { display:block; font-size:14px; font-weight:500; margin-top:3px; }
.data-task { margin-top:24px; height:310px; padding:25px 4px 0; display:flex; flex-direction:column; align-items:center; text-align:center; }
.data-task-symbol { width:62px; height:62px; border:1px solid #b4ccde; border-radius:50%; background:var(--ice); display:grid; place-items:center; }
.data-task-symbol svg { width:29px; height:29px; color:var(--blue); }
.data-task>strong { font-size:25px; line-height:1.2; font-weight:500; margin-top:19px; letter-spacing:-.025em; }
.data-task-owner,.data-task-next { display:flex; gap:7px; align-items:center; font-size:12px; color:var(--muted); margin-top:19px; }
.data-task-owner svg,.data-task-next svg { width:19px; height:19px; flex:none; }
.data-task-next { margin-top:23px; padding-top:15px; border-top:1px solid var(--line); color:#236345; }
.material-story .data-footnote { text-align:center; font-size:13px; color:var(--muted); margin:32px auto 0; line-height:1.5; }
@media(max-width:1100px) {
 .data-flow { grid-template-columns:1fr 28px 1.25fr 28px .9fr; gap:8px; }
 .data-node { padding:11px 8px; gap:6px; }
 .data-node svg { width:20px; }
 .data-node b { font-size:12px; }
 .data-task>strong { font-size:22px; }
}
@media(max-width:900px) {
 .data-flow { grid-template-columns:minmax(0,400px); justify-content:center; gap:24px; margin-top:32px; }
 .data-flow-arrow { justify-self:center; transform:rotate(90deg); width:40px; height:40px; padding:0; }
 .data-sources { height:286px; }
 .source-chat { top:100px; } .source-crm { top:192px; }
 .data-stage h3 { font-size:21px; }
 .data-node b { font-size:14px; } .data-node svg { width:25px; }
 .data-task { height:auto; padding-top:6px; margin-top:18px; }
 .data-task>strong { font-size:27px; }
 .data-task-next { margin-top:18px; }
}
.brand b small { display:block; font-size:14px; letter-spacing:.015em; font-weight:500; margin-top:3px; }
.helm-finding img,.deputy-header img { background:var(--snow); border-radius:50%; padding:7px; }
.loop-step h3 { font-size:24px; font-weight:600; letter-spacing:-.025em; }
.loop-step p { font-size:14px; }
.loop-hub img { mix-blend-mode:normal; }
.loop-hub p { font-size:13px; }
.proposal-root h3 { font-size:32px; font-weight:500; }
.watch-board,.deputy-message { box-shadow:none; }
.authority { padding-block:42px; }
.pilot-heading>div { max-width:690px; }
.pilot-contact { flex:none; text-align:center; }
.pilot-heading .pilot-contact p { font-size:12px; margin-top:10px; }
.family-intro { font-size:16px; color:var(--muted); margin-top:8px; }
.text-link { font-size:14px; text-decoration:underline; text-underline-offset:.3em; }
.family>.text-link { display:inline-block; margin-top:20px; }
.role-list { margin-top:28px; border-top:1px solid #bcd9ec; }
.role-row { display:grid; grid-template-columns:1fr 1.3fr 160px; gap:26px; align-items:center; padding:25px 12px; border-bottom:1px solid #bcd9ec; text-decoration:none; }
a.role-row { background:var(--ice); }
a.role-row:hover { background:#dceefa; }
.role-name h3 { font-size:24px; font-weight:600; }
.role-name>span { font-size:13px; color:var(--muted); display:block; margin-top:7px; }
.role-row>p { font-size:15px; color:var(--muted); line-height:1.55; }
.role-state { font-size:12px; color:var(--muted); text-align:right; }
.role-state.ready { color:var(--blue); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.compact .role-row { padding-block:20px; }
.compact .role-name h3 { font-size:21px; }
.catalogue-intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:30px; margin-bottom:70px; }
.catalogue-main h1 { font-size:clamp(48px,6vw,80px); line-height:1.04; }
.catalogue-intro .lead { font-size:19px; color:var(--muted); max-width:480px; margin-top:26px; }
.catalogue-note { font-size:13px; color:var(--muted); max-width:440px; margin-top:20px; }
.catalogue-main section>h2 { font-size:34px; }
.naming-note { max-width:700px; padding-block:60px 0; }
.naming-note p { font-size:17px; color:var(--muted); margin-top:20px; line-height:1.6; }
@media(max-width:1150px) { .site-header nav { gap:16px; font-size:13px; } .site-header { gap:18px; } .header-actions>.button { display:none; } }
@media(max-width:1000px) { .role-row { grid-template-columns:1fr 1.2fr; gap:14px 24px; } .role-state { grid-column:2; text-align:left; } }
@media(max-width:760px) {
  .site-header { padding-block:18px; } .brand b { font-size:31px; } .brand img { width:42px; height:42px; }
  .brand>span { font-size:19px; margin-left:4px; padding-left:13px; } .all-roles { font-size:12px; }
  .hero { grid-template-columns:1fr; padding-block:35px 36px; gap:24px; } .hero h1 { font-size:clamp(41px,9.7vw,63px); }
  .hero .lead { font-size:18px; } .hero-scene { max-width:520px; width:100%; } .hero-scene>img { width:100%; margin:0; }
  .hero-scene figcaption { font-size:13px; } .hero .actions { gap:10px; } .assurances { font-size:11px; gap:9px 14px; }
  .material-story { padding-top:36px; padding-bottom:40px; } .material-story h2 { font-size:29px; }
  .loop-step h3 { font-size:23px; } .loop-map { margin-top:24px; }
  .proposal-root h3 { font-size:28px; } .pilot-heading .pilot-contact { text-align:left; margin-top:24px; }
  .role-row { grid-template-columns:1fr; padding:22px 8px; gap:10px; }
  .role-name h3 { font-size:23px; } .role-row>p { max-width:50ch; } .role-state { grid-column:1; text-align:left; margin-top:2px; }
  .compact .role-row { grid-template-columns:1fr; } .compact .role-state { grid-column:1; }
  .catalogue-intro { grid-template-columns:1fr; gap:18px; margin-bottom:38px; } .catalogue-intro>img { width:100%; max-width:500px; }
  .catalogue-main { padding-block:38px 55px; } .catalogue-main h1 { font-size:56px; } .catalogue-intro .lead { font-size:18px; }
  .catalogue-main section>h2 { font-size:30px; } .naming-note { padding-top:45px; }
  .site-header>.text-link { font-size:12px; }
}
@media(max-width:390px) { .brand { gap:7px; } .brand>span { padding-left:10px; font-size:18px; } .header-actions { gap:0; } .hero .actions>.button { width:100%; } }

/* Shared, two-person team navigation. */
.team-menu { position:relative; flex:none; z-index:20; }
.team-menu summary { display:flex; align-items:center; gap:10px; min-height:44px; padding:10px 0 10px 16px; font-size:16px; font-weight:500; cursor:pointer; list-style:none; }
.team-menu summary::-webkit-details-marker { display:none; }
.team-menu[open] summary svg { transform:rotate(180deg); }
.site-header .team-dropdown { display:flex; position:absolute; right:0; top:calc(100% + 10px); width:240px; padding:8px; flex-direction:column; gap:4px; border:1px solid var(--line); border-radius:12px; background:var(--white,#fff); }
.team-menu:not([open]) .team-dropdown { display:none; }
.team-dropdown a { display:block; padding:14px 16px; border-radius:8px; }
.team-dropdown a:hover,.team-dropdown a[aria-current="page"] { background:var(--ice,#eaf3f9); text-decoration:none; }
.team-dropdown strong { display:block; font-size:19px; font-weight:600; }
.team-dropdown span { display:block; margin-top:4px; font-size:13px; color:var(--muted); }
.team-menu summary:focus-visible,.team-dropdown a:focus-visible { outline:2px solid var(--navy); outline-offset:4px; }
.catalogue-main>.role-list { margin-top:40px; }
.role-name h2 { font-size:24px; font-weight:600; }
