/* Clear action labels. Filled, outlined and text treatments respect each concept. */
body:is(.institutional,.signal,.horizon,.studio,.convergence,.gallery) .button,
body .hero .button,
body .clarity-hero .button,
body .horizon-hero .button,
body .enquiry-form .button{
  min-height:48px;max-width:100%;padding:13px 24px;gap:0;
  justify-content:center;font-family:inherit;font-size:14px;font-weight:600;
  line-height:1.5;letter-spacing:0;text-align:center;text-wrap:balance;
  transition:background .18s,color .18s,border-color .18s,box-shadow .18s;
}
body .button:hover{transform:none}
body:is(.institutional,.signal,.horizon,.studio,.convergence,.gallery) .text-link,
body .hero .text-link,
body .clarity-hero .text-link,
body .convergence-module-body:is(.institutional,.signal,.horizon,.studio,.convergence,.gallery) .text-link,
body .studio-person-story .text-link,
body .studio-spec-detail .text-link{
  display:inline-flex;align-items:center;min-height:44px;font-size:13px;
  font-weight:600;line-height:1.6;padding-block:7px;border:0;
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;
  text-decoration-color:currentColor;
}
body .site-header nav .nav-cta{
  justify-content:center;min-height:44px;padding:10px 18px;
  font-size:12px;font-weight:600;line-height:1.5;text-align:center;
}
body .menu-toggle{min-height:44px;min-width:92px;justify-content:center;font-size:12px;font-weight:600;line-height:1.5;padding:10px 14px}
body .riskline a{font-size:11px;line-height:1.6;padding-block:8px;border:0;text-decoration:underline;text-underline-offset:4px}
body .tech-note a{display:inline-block;padding-block:5px;text-decoration:underline;text-underline-offset:3px}
body .portrait-link>span{font-size:11px;font-weight:600;padding:9px 12px}
body .footer a:not(.brand){font-size:11px;text-decoration:underline;text-underline-offset:4px}
body .form-result a{display:inline-block;font-size:13px;font-weight:600;line-height:1.6;padding-block:10px;text-decoration:underline;text-underline-offset:4px}
body .form-note a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
body :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid currentColor;outline-offset:4px}
body :is(.button,.nav-cta):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
body :is(.button,.nav-cta):active{box-shadow:inset 0 0 0 2px currentColor}

/* Plus/minus describes expansion, with the same state as native details. */
body details>summary .disclosure-icon{
  display:inline-block;position:relative;width:22px;height:22px;min-width:22px;
  flex:0 0 22px;color:inherit;transform:none;border:0;transition:none;
}
body details>summary .disclosure-icon::before,
body details>summary .disclosure-icon::after{
  content:'';position:absolute;left:5px;top:10px;width:12px;height:2px;
  background:currentColor;border-radius:1px;transform:none;
}
body details>summary .disclosure-icon::after{transform:rotate(90deg)}
body:is(.institutional,.signal,.horizon,.studio,.convergence) details[open]>summary .disclosure-icon{transform:none}
body details[open]>summary .disclosure-icon::after{opacity:0}
body .faq-list summary{min-height:54px;font-size:15px;font-weight:500;line-height:1.6;gap:20px}
body .faq-list summary:hover{text-decoration:underline;text-underline-offset:4px}

/* 01 — solid forest buttons and quiet editorial underlines. */
.institutional .button,.institutional .clarity-hero .button{border-radius:3px;background:#344330;border-color:#344330;color:#fffdf6}
.institutional .button:hover,.institutional .clarity-hero .button:hover{background:#243320;border-color:#243320;color:#fffdf6}
.institutional .site-header nav .nav-cta{border:1px solid #7b896e;border-radius:3px;color:#344330;background:transparent}
.institutional .site-header nav .nav-cta:hover{background:#e5ebdd;color:#293329}
.institutional .clarity-hero .text-link{color:#344330}
.institutional .clarity-column h4{justify-content:flex-start;text-decoration:underline;text-decoration-color:#a7b298;text-underline-offset:6px;text-decoration-thickness:1px}
.institutional .clarity-column a:hover h4,.institutional .clarity-column a:focus-visible h4{color:#344330;text-decoration-color:#344330}
.institutional .clarity-flow a b{text-decoration:underline;text-decoration-color:#bfc7b2;text-underline-offset:5px;text-decoration-thickness:1px}
.institutional .clarity-flow a:hover b{text-decoration-color:#344330}
.institutional .flow-index,.institutional .tech-number{color:#705c3c}
.institutional .enquiry-form .button{background:#eee5d1;border-color:#eee5d1;color:#293329}
.institutional .enquiry-form .button:hover{background:#fff8e8;border-color:#fff8e8;color:#293329}
.institutional .contact-section .text-link{color:#f5e4c1}

/* 02 — crisp gold controls; outlined secondary actions on charcoal. */
.signal .button{border-radius:0;background:#f3ba59;border-color:#f3ba59;color:#281e0d}
.signal .button:hover{background:#ffd38c;border-color:#ffd38c;color:#281e0d}
.signal .hero .text-link{border:1px solid #8c7757;min-height:48px;padding:12px 21px;color:#f5efe4;text-decoration:none}
.signal .hero .text-link:hover{background:#342c20;border-color:#d0ae77;color:#fff4df}
.signal .site-header nav .nav-cta{border-color:#a98a59;color:#f5efe4;background:#24211d;border-radius:0}
.signal .site-header nav .nav-cta:hover{background:#393020;color:#fff4df}
.signal .module-name{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;text-decoration-color:#a88a58}
.signal .module-name>span{text-decoration:none}
.signal .module:hover .module-name{color:#f3ba59;text-decoration-color:#f3ba59}
.signal .node-row .wide span:last-child{color:#c8baa1;font-size:11px;margin-left:0}
.signal .contact-inner .button{background:#302516;border-color:#302516;color:#fff0d2}
.signal .contact-inner .button:hover{background:#4a3420;border-color:#4a3420;color:#fff0d2}
.signal .contact-section .text-link{color:#302516}
.signal .faq-list summary .disclosure-icon{color:#f3ba59}

/* 03 — softly rounded controls and a clear selected-layer indicator. */
.horizon .button,.horizon .horizon-hero .button{border-radius:8px;background:#e8f2ff;border-color:#e8f2ff;color:#15356b}
.horizon .button:hover,.horizon .horizon-hero .button:hover{background:#cfe2ff;border-color:#cfe2ff;color:#102951}
.horizon-opening .site-header nav .nav-cta{border-radius:8px;border-color:#9ab7e5;color:#edf5ff;background:#ffffff08}
.horizon-opening .site-header nav .nav-cta:hover{background:#ffffff16;color:#fff}
.horizon .stage-controls button{font-size:11px;min-height:56px;position:relative}
.horizon .stage-controls button span{font-size:17px;font-weight:600;color:#213d67}
.horizon .stage-controls button[aria-pressed=true]{background:#e4edff;color:#173e85}
.horizon .stage-controls button[aria-pressed=true] span{color:#173e85}
.horizon .stage-controls button::after{content:'';width:7px;height:7px;background:#2459d5;border-radius:50%;opacity:0;flex:none}
.horizon .stage-controls button[aria-pressed=true]::after{opacity:1}
.horizon .stage-modules b{display:inline-block;text-decoration:underline;text-decoration-color:#9db8e8;text-decoration-thickness:1px;text-underline-offset:6px}
.horizon .stage-modules a:hover b{text-decoration-color:#2459d5}
.horizon .horizon-chapter-strip a{font-size:12px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#6887b9}
.horizon .enquiry-form .button{background:#e8f2ff;border-color:#e8f2ff;color:#15356b;border-radius:8px}
.horizon .enquiry-form .button:hover{background:#cfe2ff;border-color:#cfe2ff;color:#102951}
.horizon .contact-section .text-link{color:#e8f2ff}

/* 04 — ink outlines and typographic links, aligned with the editorial grid. */
.studio .button,.studio .enquiry-form .button{border-radius:0;border:1.5px solid #343a2f;background:#f5f4ef;color:#293024}
.studio .button:hover,.studio .enquiry-form .button:hover{background:#293024;border-color:#293024;color:#fffdf6}
.studio .studio-cover-link{min-height:44px;font-size:13px;font-weight:600;color:#343a2f;border-bottom:1px solid #7b866b;justify-content:flex-start}
.studio .studio-cover-link:hover{border-color:#343a2f}
.studio-nav nav>.studio-invitation{padding:13px 11px;border:1px solid #8d937d;margin-top:25px;font-size:12px;font-weight:600;line-height:1.6;color:#343a2f;text-align:center;justify-content:center}
.studio-nav nav>.studio-invitation:hover{background:#e5e7da}
.studio .studio-founder-strip a>div>span:first-child{display:inline;color:var(--ink);font-size:9px;line-height:1.7;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#adb39e}
.studio .studio-module-index summary{min-height:64px}.studio .studio-module-purpose{font-size:13px;color:#515c45}
.studio .studio-module-index summary:hover h3{color:#655033}
.studio .studio-module-index details[open] .disclosure-icon{color:#655033}
.studio .studio-spec-detail .text-link,.studio .studio-person-story .text-link{color:#455239}
.studio .studio-tech .tech-note a{color:#f3e1bd}

/* 05 — champagne pills, quiet underlined links, and rounded disclosure controls. */
.convergence .button{border-radius:100px;background:#edc995;border-color:#edc995;color:#2b1e22}
.convergence .button:hover{background:#ffe2b9;border-color:#ffe2b9;color:#2b1e22}
.convergence .site-header nav .nav-cta{border-radius:100px;border-color:#b09a83;background:transparent;color:#f4e7d7}
.convergence .site-header nav .nav-cta:hover{background:#4b3543;color:#fff3e0}
.convergence .convergence-hero .text-link{color:#f4e7d7;text-decoration-color:#a58c8e}
.convergence .convergence-hero-bottom a{min-height:44px;font-size:11px;text-decoration:underline;text-underline-offset:5px}
.convergence .convergence-circle-link{font-size:12px;font-weight:600;color:#4f382d}
.convergence .convergence-module-body .text-link{color:#754328}
.convergence .convergence-module-label{font-size:12px;color:#6a5349}
.convergence .convergence-people summary{min-height:48px;font-size:13px;font-weight:600;align-items:center}
.convergence details>summary .disclosure-icon{border:1px solid #a28b7a;border-radius:50%;width:24px;height:24px;min-width:24px;flex-basis:24px;color:#715744}
.convergence details>summary .disclosure-icon::before,.convergence details>summary .disclosure-icon::after{left:6px;top:10px;width:10px}
.convergence .enquiry-form .button{background:#392733;border-color:#392733;color:#fff0d8}
.convergence .enquiry-form .button:hover{background:#60404e;border-color:#60404e;color:#fff0d8}
.convergence .contact-section .text-link{color:#503b42}

/* Preview buttons reflect the same distinction; captions remain preview-scale. */
.theme-signal .sample-button{font-weight:600;border-radius:0}
.theme-perspective .sample-button{font-weight:600;border-radius:5px}
.theme-convergence .sample-button{font-weight:600;border-radius:100px}
.sample-nav>span:last-child{white-space:normal}

@media(max-width:1100px){
 body .site-header nav{gap:16px}
 body .site-header nav .nav-cta{font-size:11px;padding-inline:14px}
 .studio-nav nav>.studio-invitation{font-size:11px;padding-inline:8px}
}
@media(max-width:850px){
 body .site-header nav .nav-cta{font-size:13px}
 .studio-nav nav>.studio-invitation{font-size:13px;align-self:flex-start;padding:12px 18px}
 .convergence .convergence-module-label{font-size:11px}
}
@media(max-width:600px){
 body:is(.institutional,.signal,.horizon,.studio,.convergence,.gallery) .button,body .hero .button,body .clarity-hero .button,body .horizon-hero .button,body .enquiry-form .button{font-size:14px;min-height:48px;padding:13px 20px}
 body:is(.institutional,.signal,.horizon,.studio,.convergence,.gallery) .text-link,body .hero .text-link,body .clarity-hero .text-link,body .convergence-module-body:is(.institutional,.signal,.horizon,.studio,.convergence,.gallery) .text-link,body .studio-person-story .text-link,body .studio-spec-detail .text-link{font-size:13px}
 body .actions{row-gap:16px}
 body .riskline a{font-size:11px;flex-shrink:1}
 body .faq-list summary{font-size:14px;line-height:1.6;gap:15px}
 .institutional .portrait-link>span{font-size:9px;padding:7px 6px}
 .signal .hero .text-link{font-size:13px;padding:12px 20px}
 .signal .node-row .wide span:last-child{font-size:9px}
 .horizon .stage-controls button{font-size:10px;padding:16px 10px 25px}
 .horizon .stage-controls button span{font-size:12px;margin-bottom:0}
 .horizon .stage-controls button::after{position:absolute;bottom:10px;left:calc(50% - 3px);width:6px;height:6px}
 .horizon .horizon-chapter-strip a,.horizon .horizon-chapter-strip a:first-child{font-size:10px}
 .studio .studio-cover-link{font-size:13px}
 .studio .studio-founder-strip a>div>span:first-child{font-size:8px}
 .studio .studio-module-purpose{font-size:11px;line-height:1.6;overflow-wrap:normal}
 .studio .studio-module-index summary{grid-template-columns:17px minmax(0,1fr) minmax(0,1fr) 22px;gap:10px}
 .studio .studio-module-index summary h3{font-size:24px}
 .convergence .convergence-module-label{font-size:11px;line-height:1.6}
 .convergence .convergence-module summary{grid-template-columns:18px 72px minmax(0,1fr) 24px;gap:10px}
 .convergence .convergence-hero-bottom a{font-size:10px}
}
