/* Shared navigation and original-plan page extensions. */
.hero { overflow:clip; }
[hidden] { display:none!important; }
:is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #d52b2e; outline-offset:4px; }
.header .nav-item:focus-within .dropdown-menu,.header .nav-item.open .dropdown-menu { opacity:1; visibility:visible; transform:none; }
.header .nav-item > a { display:flex; align-items:center; gap:6px; min-height:44px; }
.header [aria-current=page] { color:var(--brand); }
.header .nav-item > a i { font-size:.8rem; }
.mobile-toggle { min-width:44px; min-height:44px; }
.complete-footer-grid { display:grid; grid-template-columns:1.15fr 1fr .9fr 1.2fr; gap:36px; margin-bottom:44px; }
.complete-footer-grid > div { min-width:0; }
.complete-footer-grid h2 { font:700 1.05rem 'Montserrat',sans-serif; color:#fff; margin:0 0 22px; }
.complete-footer-grid p,.complete-footer-grid .footer-links span { color:#bbb; font-size:.9rem; line-height:1.8; }
.complete-footer-grid .footer-links { gap:8px; }
.complete-footer-grid a { overflow-wrap:anywhere; min-height:44px; color:#ccc; }
.footer-bottom a { display:inline-flex; align-items:center; min-height:44px; color:#ccc; text-decoration:underline; }
.footer-bottom p { color:#bbb; }
.new-page .story-hero { position:relative; isolation:isolate; background:#181818; min-height:620px; display:flex; align-items:center; padding:90px 0; color:white; }
.new-page .story-hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.new-page .story-hero:before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(12,12,12,.86),rgba(12,12,12,.45) 60%,rgba(12,12,12,.1)); }
.new-page .story-hero-copy { max-width:780px; }
.new-page .story-hero h1 { color:#fff; font-size:clamp(2.4rem,4.4vw,4.2rem); line-height:1.13; letter-spacing:-.025em; margin:20px 0 26px; }
.new-page .story-hero p { max-width:610px; font-size:1.1rem; line-height:1.8; color:#fff; }
.new-page .story-hero .section-subtitle { color:#fff; }
.new-page .story-hero .hero-ed-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:30px; }
.new-page .story-hero .btn-outline { color:#fff; border-color:#fff; }
.new-page .compact-hero { min-height:430px; }
.new-page .editorial-photo { display:block; padding:0; width:100%; color:#222; font:inherit; text-align:left; border:0; background:#fff; border-radius:6px; overflow:hidden; box-shadow:var(--shadow-lg); cursor:pointer; }
.new-page .editorial-photo img { display:block; width:100%; height:340px; object-fit:cover; }
.new-page .editorial-photo > span { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; padding:20px 24px; font-weight:600; }
.new-page .editorial-photo i { flex-shrink:0; color:var(--brand); }
.new-page .editorial-photo:hover { box-shadow:0 20px 46px #0003; }
.new-page .light-diagram { display:grid; grid-template-columns:1fr 1.1fr 1fr; align-items:center; gap:32px; }
.new-page .light-diagram .application-row { display:block; }
.new-page .light-diagram .application-row i { display:block; margin-bottom:14px; }
.new-page .light-diagram .editorial-photo img { height:480px; }
.new-page .flexible-rail { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
.new-page .inspiration-grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:start; gap:32px; }
.new-page .inspiration-grid .editorial-photo:nth-child(2n) { margin-top:50px; }
.new-page .inspiration-grid .editorial-photo img { height:360px; }
.new-page .project-archive { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }
.new-page .project-archive article { min-width:0; }
.new-page .project-archive .editorial-photo img { height:270px; }
.new-page .project-archive article:nth-child(3n + 2) .editorial-photo img { height:350px; }
.new-page .project-archive article > p { font-size:.82rem; color:#666; margin:18px 0 0; }
.new-page .reference-filters { margin-bottom:35px; }
.new-page .reference-filters > p { color:#555; }
.new-page .split-reverse > :first-child { order:2; }
.new-page .split-reverse > :last-child { order:1; }
.new-page .factor-columns { display:grid; grid-template-columns:1fr 1fr; gap:0 60px; }
.new-page .factor-columns .application-row { padding:25px 0; }
.new-page .experience-copy { max-width:760px; }
.new-page .experience-copy h2 { color:#fff; font-size:clamp(2rem,4vw,3.4rem); margin-bottom:24px; }
.new-page .experience-copy p { color:#fff; font-size:1.1rem; line-height:1.8; margin-bottom:30px; }
.new-page .knowledge-layout { display:grid; grid-template-columns:245px minmax(0,1fr); gap:50px; align-items:start; }
.new-page .topic-nav { display:flex; flex-direction:column; gap:8px; }
.new-page .knowledge-layout > .topic-nav { position:sticky; top:120px; }
.new-page .topic-nav a { display:flex; align-items:center; min-height:44px; padding:12px 15px; background:#f2efeb; color:#242424; font-weight:600; border-radius:4px; }
.new-page .topic-nav a:hover { color:#a51c1c; background:#f7eae7; }
.new-page .question-group { margin-bottom:56px; scroll-margin-top:120px; }
.new-page .question-group h2 { font-size:clamp(1.5rem,2.5vw,2rem); margin-bottom:24px; }
.new-page .question-group .faq-item { box-shadow:none; border:1px solid #ddd; }
.new-page .question-group .faq-item[open] { border-color:var(--brand); }
.new-page .detail-thumbnails { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.new-page .detail-thumbnails .editorial-photo img { height:130px; }
.new-page .detail-thumbnails .editorial-photo > span { padding:12px; font-size:.75rem; min-height:65px; }
.new-page .decision-list { padding:0; list-style:none; max-width:940px; }
.new-page .decision-list li { display:flex; align-items:flex-start; gap:24px; padding:24px 0; border-bottom:1px solid #ddd; }
.new-page .decision-list i { color:var(--brand); font-size:28px; }
.new-page .decision-list p { margin:0; color:#555; }
.new-page .direct-contact { display:grid; grid-template-columns:1fr 1.4fr 1.4fr; gap:32px; }
.new-page .direct-contact > div { min-width:0; }
.new-page .direct-contact i { color:var(--brand); font-size:28px; }
.new-page .direct-contact h2 { font-size:1.1rem; margin:18px 0 10px; }
.new-page .direct-contact a { display:inline-flex; align-items:center; min-height:44px; color:#a71d20; font-weight:600; overflow-wrap:anywhere; max-width:100%; }
.new-page .direct-contact p { color:#555; margin:0; }
.new-page .legal-page > .container { max-width:960px; }
.new-page .legal-page h1 { font-size:clamp(2rem,4vw,3rem); margin:20px 0 36px; }
.new-page .legal-page h2 { font-size:1.5rem; margin-bottom:16px; }
.new-page .legal-page p { line-height:1.8; color:#444; }
.new-page .legal-notice { display:flex; align-items:flex-start; gap:20px; background:#fff0e9; padding:30px; border-radius:6px; margin-bottom:30px; }
.new-page .legal-notice i { font-size:32px; color:#a71d20; }
.new-page .legal-page .topic-nav { flex-direction:row; flex-wrap:wrap; margin-bottom:36px; }
.new-page .legal-page section { margin:44px 0; scroll-margin-top:120px; }
.new-page .legal-action { border-top:1px solid #ddd; padding-top:30px; }
@media(max-width:1180px) {
 .header .nav-links.active { max-height:calc(100dvh - 90px); overflow-y:auto; }
 .header .nav-item.open .dropdown-menu { display:flex; }
 .header .nav-item > a { width:100%; justify-content:space-between; }
 .complete-footer-grid { grid-template-columns:1fr 1fr; gap:35px; }
}
@media(max-width:992px) {
 .ms-float { right:12px; bottom:12px; gap:8px; }
 .ms-float a,.ms-float button { width:48px; min-height:48px; padding:13px; border-radius:50%; }
 .ms-float button { font-size:0; gap:0; }
 .new-page .flexible-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .new-page .light-diagram { grid-template-columns:1fr 1fr; }
 .new-page .light-diagram .editorial-photo { grid-row:span 2; }
 .new-page .light-diagram > div:last-child { grid-column:1; grid-row:2; }
 .new-page .project-archive { grid-template-columns:1fr 1fr; }
 .new-page .project-archive .editorial-photo img,.new-page .project-archive article:nth-child(3n + 2) .editorial-photo img { height:280px; }
 .new-page .knowledge-layout { display:block; }
 .new-page .knowledge-layout > .topic-nav { position:static; flex-direction:row; flex-wrap:wrap; margin-bottom:40px; }
 .new-page .direct-contact { grid-template-columns:1fr 1fr; }
 .new-page .direct-contact > div:last-child { grid-column:1 / -1; }
 .new-page .split-reverse > :first-child,.new-page .split-reverse > :last-child { order:initial; }
}
@media(max-width:600px) {
 .complete-footer-grid { grid-template-columns:1fr; }
 .new-page .story-hero { min-height:520px; padding:56px 0; }
 .new-page .compact-hero { min-height:430px; }
 .new-page .story-hero:before { background:rgba(10,10,10,.68); }
 .new-page .story-hero p { font-size:1rem; }
 .new-page .story-hero h1 { font-size:2.35rem; }
 .new-page .light-diagram,.new-page .inspiration-grid,.new-page .project-archive,.new-page .factor-columns,.new-page .direct-contact { grid-template-columns:1fr; }
 .new-page .light-diagram > div:last-child { grid-column:auto; grid-row:auto; }
 .new-page .light-diagram .editorial-photo { grid-row:auto; }
 .new-page .light-diagram .editorial-photo img { height:360px; }
 .new-page .inspiration-grid .editorial-photo:nth-child(2n) { margin-top:0; }
 .new-page .inspiration-grid .editorial-photo img { height:270px; }
 .new-page .editorial-photo img { height:280px; }
 .new-page .detail-thumbnails { grid-template-columns:1fr; gap:12px; }
 .new-page .detail-thumbnails .editorial-photo { display:grid; grid-template-columns:90px minmax(0,1fr); }
 .new-page .detail-thumbnails .editorial-photo img { height:90px; }
 .new-page .detail-thumbnails .editorial-photo > span { padding:14px; font-size:.85rem; min-height:90px; }
 .new-page .legal-notice { padding:22px; flex-direction:column; }
 .new-page .flexible-rail { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .story-hero *, .editorial-photo { animation:none!important; transition:none!important; } }

/* The review preview uses the original ClientsFlow mark; these rules are inert on the public site. */
body .cmt-mode-toggle::before {
 content:"";
 display:block;
 width:86px;
 height:18px;
 flex:none;
 border-radius:0;
 background:transparent url('/assets/cf-review-logo.svg') center / contain no-repeat;
 box-shadow:none;
}
body .cmt-mode-toggle[aria-pressed="true"]::before {
 background:transparent url('/assets/cf-review-logo-ondark.svg') center / contain no-repeat;
 box-shadow:none;
}
