/* NAVE editorial desk: kinetic type, opening surfaces, useful interaction. */
/* Lucide icon geometry: see THIRD_PARTY_NOTICES.md. */
.desk-home .section { padding-block:clamp(80px,8vw,130px); }
.desk-hero { padding-top:58px; }
.hero-eyeline { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:38px; }
.desk-hero .hero-eyeline .eyebrow { margin:0; }
.display-title { max-width:none; font-size:clamp(60px,9.8vw,150px); line-height:1.01; letter-spacing:-.075em; font-weight:600; }
.title-line { display:block; padding-bottom:.1em; margin-bottom:-.1em; }
.title-line>span { display:block; }
.display-heading { font-size:clamp(52px,6.7vw,104px); line-height:1.02; letter-spacing:-.065em; font-weight:500; }
.accent { color:var(--signal); }
.desk-hero .hero-bottom { margin-top:40px; grid-template-columns:1fr 1fr; }
.desk-stage { margin-top:64px; padding:60px 64px 0; min-height:440px; grid-template-columns:.9fr 1.1fr; gap:85px; border-radius:18px; }
.desk-stage .stage-copy h2 { font-size:clamp(36px,3.6vw,56px); letter-spacing:-.055em; max-width:none; }
.desk-stage .motion-sculpture { right:31%; top:45px; }
.desk-stage .stage-copy { position:relative; }
.desk-paper { padding:30px 34px; margin-bottom:-24px; }
.desk-question { font-size:clamp(25px,2.7vw,40px); line-height:1.15; letter-spacing:-.045em; margin-top:30px; }
.desk-note { margin:30px 0; padding:20px; background:#f7eeec; border-left:3px solid var(--signal); }
.desk-note p { margin-top:9px; font-size:18px; line-height:1.3; }
.note-label { color:var(--red-text); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.desk-home .section-heading { grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; padding-top:0; margin-bottom:55px; }
.desk-home .section-heading:before { display:none; }
.desk-home .section-heading .eyebrow { margin-bottom:30px; }
.desk-home .section-heading p:not(.eyebrow) { font-size:18px; max-width:400px; }
.desk-home .section-heading .text-link { margin-top:20px; }
.desk-home .section-heading.is-revealed { animation:none; }
.motion-on .desk-hero .hero-enter>h1 { animation:none; }
.example-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:16px; }
.example-tabs .concern-row { min-height:112px; display:flex; gap:12px; align-items:flex-start; padding:20px; background:#f5f5f5; border:1px solid transparent; border-radius:8px; font-size:17px; line-height:1.25; letter-spacing:-.02em; }
.example-tabs .concern-row .num { padding-top:3px; }
.example-tabs .concern-row .arrow { margin-left:auto; font-size:20px; }
.example-tabs .concern-row:hover { padding:20px; box-shadow:none; background:#f2e2de; }
.example-tabs .concern-row[aria-selected=true] { background:var(--ink); color:white; }
.example-tabs .concern-row[aria-selected=true] .num { color:#eba79e; }
.example-panel { display:grid; grid-template-columns:1fr 1fr; border-radius:14px; overflow:hidden; margin-top:18px; background:#f5f5f5; }
.example-story { background:var(--signal); color:white; padding:42px; display:flex; flex-direction:column; align-items:flex-start; }
.example-story .eyebrow { color:white; font-size:10px; }
.example-story .eyebrow:before { background:white; }
.example-story h3 { font-size:clamp(36px,3.8vw,58px); font-weight:500; margin:45px 0 25px; letter-spacing:-.055em; }
.example-story>p { max-width:400px; font-size:17px; margin-bottom:35px; }
.example-story .text-link { margin-top:auto; font-size:14px; }
.example-story .text-link:hover { color:white; }
.example-story :focus-visible { outline-color:white; }
.example-work { padding:34px 40px; }
.work-heading { display:flex; align-items:center; justify-content:space-between; font-size:12px; text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid #ccc; padding-bottom:16px; }
.work-heading>span:last-child { color:var(--signal); font-size:36px; line-height:1; }
.work-steps { list-style:none; margin:0; padding:0; }
.work-steps li { padding:20px 0; border-bottom:1px solid #ddd; }
.work-steps li>span { color:var(--red-text); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.work-steps p { font-size:16px; line-height:1.4; margin-top:7px; }
.measure-strip { margin-top:25px; }
.measure-strip>span { font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.measure-strip p { font-size:14px; margin-top:7px; color:var(--muted); }
.example-boundary { margin-top:18px; max-width:900px; }
.method-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.method-description { position:relative; padding-top:30px; }
.method-description h3 { font-size:38px; margin:22px 0; }
.method-description>p { max-width:400px; }
.method-stamp { width:160px; height:160px; display:flex; align-items:center; justify-content:center; border:2px solid var(--signal); color:var(--red-text); border-radius:50%; font-size:28px; line-height:1.05; letter-spacing:-.04em; transform:rotate(-12deg); margin-top:45px; }
.desk-method .value-sheet { background:white; border:1px solid #ddd; border-top:4px solid var(--signal); border-radius:3px; }
.support-paths { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.support-paths article { border-top:1px solid #aaa; padding:30px 25px 30px 0; }
.path-symbol { display:block; color:var(--signal); font-size:60px; line-height:1; margin-bottom:38px; transition:transform .5s var(--ease); }
.support-paths h3 { font-size:clamp(28px,3vw,44px); font-weight:500; letter-spacing:-.05em; margin-bottom:20px; }
.support-paths p { font-size:16px; color:var(--muted); max-width:325px; min-height:82px; margin-bottom:25px; }
.support-paths a { display:block; width:fit-content; padding:9px 0; font-size:15px; text-decoration:underline; text-underline-offset:6px; }
.support-paths a:hover { color:var(--red-text); }
.support-paths article:focus-within .path-symbol { transform:translate(5px,-5px); }
.support-preview { display:none; border-top:1px solid var(--line); padding:25px 0; margin-top:25px; }
.enhanced .support-preview { display:block; }
.quick-offers { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.desk-preview { border:1px solid var(--line); background:white; border-radius:30px; padding:12px 18px; font-size:13px; display:flex; align-items:center; gap:22px; min-height:44px; }
.desk-preview span { color:var(--red-text); font-size:21px; line-height:1; }
.desk-preview:hover,.desk-preview:focus-visible { background:#f7eeec; border-color:var(--signal); }
.desk-principles { border-radius:24px 24px 0 0; }
.desk-principles .display-heading { font-size:clamp(64px,9vw,135px); }
.desk-principles .principles { margin-top:75px; }
.desk-home .closing h2 { font-size:clamp(64px,8.5vw,130px); }
.closing-section .eyebrow:before { background:white; }
.desk-home .closing .btn { flex-shrink:0; }
.desk-faq .split { grid-template-columns:.9fr 1.1fr; }
/* Professional asset layer: original NAVE diagrams, local Lucide SVGs. */
.nave-icon { width:24px; height:24px; flex:none; display:block; }
.example-tabs .nave-icon { color:var(--red-text); width:26px; height:26px; }
.example-tabs .concern-row[aria-selected=true] .nave-icon { color:#eba79e; }
.example-tabs .concern-row { align-items:center; }
.path-symbol .nave-icon { width:48px; height:48px; }
.business-diagram { width:100%; margin:0 0 28px; padding:16px 18px 14px; background:#ffffff0d; border:1px solid #ffffff55; border-radius:8px; }
.business-diagram svg { display:block; width:100%; height:auto; max-height:150px; }
.business-diagram rect,.business-diagram circle { fill:var(--signal); }
.business-diagram figcaption { font-size:12px; line-height:1.5; padding-top:12px; border-top:1px solid #ffffff55; margin-top:10px; }
.example-story h3 { margin-top:30px; }
.example-story>p { margin-bottom:24px; }
.value-journey { margin:0 0 55px; padding:28px 0; border-block:1px solid #ccc; }
.value-journey ol { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; margin:30px 0 24px; gap:28px; }
.value-journey li { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.journey-number { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--red-text); border-radius:50%; color:var(--red-text); font-size:12px; font-variant-numeric:tabular-nums; background:#f3f3f3; position:relative; z-index:1; }
.value-journey li:not(:last-child):after { content:""; position:absolute; top:20px; left:50px; width:calc(100% - 28px); height:1px; background:var(--red-text); transform-origin:left; }
.value-journey strong { font-size:19px; letter-spacing:-.035em; margin-top:5px; font-weight:550; }
.value-journey li>span:last-child { font-size:13px; color:var(--muted); }
.value-journey .caption { max-width:650px; }
/* Original arrow runway effect; no third-party component runtime. */
.btn .arrow { display:grid; place-items:center; width:26px; height:26px; flex:none; border-radius:50%; transition:transform .35s var(--ease),background .25s; }
.btn:is(:hover,:focus-visible) .arrow { transform:translate(4px,-2px); background:#ffffff24; }
.btn.outline:is(:hover,:focus-visible) .arrow,.closing-section .btn .arrow { background:#1515150d; }
.support-paths article { position:relative; }
.support-paths article:before { content:""; position:absolute; inset:-1px 0 auto; height:3px; background:var(--signal); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
.support-paths article:is(:hover,:focus-within):before { transform:scaleX(1); }
.desk-preview span { transition:transform .3s var(--ease); }
.desk-preview:is(:hover,:focus-visible) span { transform:rotate(90deg); }
.business-diagram.asset-enter .diagram-input { animation:asset-settle .65s var(--ease) both; }
.business-diagram.asset-enter .diagram-route { animation:asset-route .75s var(--ease) .2s both; }
.business-diagram.asset-enter .diagram-output { animation:asset-settle .7s var(--ease) .35s both; }
.value-journey.asset-enter li:after { animation:asset-line .75s var(--ease) both; }
.value-journey.asset-enter li:nth-child(2):after { animation-delay:.2s; }
.value-journey.asset-enter li:nth-child(3):after { animation-delay:.4s; }
@keyframes asset-settle { from { opacity:.35; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes asset-route { from { stroke-dasharray:1; stroke-dashoffset:1; } to { stroke-dasharray:1; stroke-dashoffset:0; } }
@keyframes asset-line { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(max-width:767px) {
  .example-tabs .nave-icon { width:22px; height:22px; }
  .business-diagram { padding:12px; }
  .business-diagram svg { max-height:135px; }
  .value-journey ol { grid-template-columns:1fr 1fr; gap:28px 22px; }
  .value-journey li:nth-child(2):after { display:none; }
  .value-journey strong { font-size:17px; }
  .path-symbol .nave-icon { width:40px; height:40px; }
}
@media(prefers-reduced-motion:reduce) {
  .btn .arrow,.desk-preview span { transform:none!important; }
  .asset-enter *,.asset-enter *:after { animation:none!important; }
}
/* Only backgrounds expand. Reading and focus never depend on a reveal. */
[data-surface] { position:relative; isolation:isolate; background:transparent; }
[data-surface]:before { content:""; position:absolute; inset:0; background:var(--surface-color,#f3f3f3); z-index:-1; border-radius:var(--surface-radius,0px); transform:scaleX(var(--surface-scale,1)); pointer-events:none; }
.desk-principles[data-surface] { --surface-color:#151515; }
.desk-stage[data-surface] { --surface-color:#f2f2f2; }
.title-ready .title-line { overflow:hidden; padding-bottom:.14em; margin-bottom:-.14em; }
.motion-on .title-in .title-line>span:not(.line-done) { animation:title-lift 1s var(--ease) both; animation-delay:var(--line-delay,0ms); }
.example-panel.panel-enter .example-story h3,.example-panel.panel-enter .work-steps { animation:desk-arrive .45s var(--ease) both; }
@keyframes title-lift { from { transform:translateY(105%) rotate(2deg); } to { transform:none; } }
@keyframes desk-arrive { from { opacity:.3; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(hover:hover) and (pointer:fine) { .support-paths article:hover .path-symbol { transform:translate(7px,-7px); } }
@media(max-width:1100px) {
  .desk-stage { gap:45px; padding-inline:36px; }
  .method-grid { gap:50px; }
  .example-story { padding:30px; }
  .example-work { padding:26px; }
  .example-tabs .concern-row,.example-tabs .concern-row:hover { padding:16px; font-size:15px; }
}
@media(max-width:767px) {
  .desk-hero { padding-top:35px; }
  .hero-eyeline { margin-bottom:28px; }
  .hero-eyeline>.caption { display:none; }
  .display-title { font-size:clamp(39px,10.4vw,77px); letter-spacing:-.065em; }
  .display-heading { font-size:clamp(46px,12vw,76px); }
  .desk-hero .hero-bottom { grid-template-columns:1fr; margin-top:30px; }
  .desk-stage { padding:28px 22px 0; margin-top:35px; grid-template-columns:1fr; gap:34px; min-height:0; }
  .desk-stage .stage-copy h2 { font-size:36px; }
  .desk-stage .motion-sculpture { top:185px; right:-60px; }
  .desk-paper { padding:24px 20px; }
  .desk-question { font-size:28px; }
  .desk-note { padding:15px; margin:25px 0; }
  .desk-note p { font-size:16px; }
  .desk-home .section-heading { grid-template-columns:1fr; gap:25px; margin-bottom:32px; }
  .desk-home .section-heading p:not(.eyebrow) { font-size:16px; }
  .example-tabs { grid-template-columns:1fr 1fr; }
  .example-tabs .concern-row,.example-tabs .concern-row:hover { padding:14px 12px; font-size:13px; min-height:92px; gap:8px; }
  .example-tabs .concern-row .num { font-size:10px; }
  .example-tabs .concern-row .arrow { display:none; }
  .example-panel { grid-template-columns:1fr; }
  .example-story { padding:28px 24px; }
  .example-story h3 { font-size:36px; margin-top:28px; }
  .example-story>p { font-size:16px; margin-bottom:25px; }
  .example-work { padding:25px 24px; }
  .method-grid { grid-template-columns:1fr; gap:35px; }
  .method-description { padding-top:0; }
  .method-description h3 { font-size:31px; }
  .method-stamp { display:none; }
  .support-paths { grid-template-columns:1fr; gap:15px; }
  .support-paths article { padding:24px 0; position:relative; }
  .path-symbol { font-size:46px; position:absolute; right:4px; top:24px; }
  .support-paths h3 { font-size:35px; padding-right:50px; }
  .support-paths p { min-height:0; margin-bottom:16px; max-width:90%; }
  .desk-principles .display-heading { font-size:clamp(50px,13vw,90px); }
  .desk-faq .split { grid-template-columns:1fr; }
  .desk-home .closing h2 { font-size:clamp(55px,14vw,90px); }
}
@media(prefers-reduced-motion:reduce) {
  .title-ready .title-line { overflow:visible; }
  .title-line>span { transform:none!important; animation:none!important; }
  [data-surface]:before { transform:none!important; border-radius:0!important; }
  .path-symbol { transform:none!important; }
}
@media print {
  .title-ready .title-line { overflow:visible; }
  .title-line>span { transform:none!important; }
  [data-surface]:before { display:none; }
  .desk-principles,.example-story { background:white; color:black; }
  .example-panel[hidden] { display:grid!important; }
  .example-tabs,.quick-offers { display:none; }
}
