/* Aanrader identity: navy, warm neutrals and red accents from the supplied logo. */
:root {
  --navy: #102d42;
  --navy-deep: #0b2132;
  --ink: #182f40;
  --muted: #5d666e;
  --blue: #b33e38;
  --light: #faf3ed;
  --line: #e5d8d3;
  --cream: #faf3ed;
  --paper: #fdfbf8;
  --sage: #f3e5df;
  --peach: #f2d9d4;
  --accent: #b33e38;
  --accent-hover: #922e2a;
  --green: #b33e38;
}

body { background: var(--paper); font-family: 'Segoe UI', 'Aptos', Arial, sans-serif; }
::selection { background: var(--peach); color: var(--ink); }
h1, h2, h3, h4 { color: var(--ink); font-weight: 650; letter-spacing: -.04em; }
p, li { text-wrap: pretty; }
.eyebrow { color: var(--accent); letter-spacing: .12em; }
.section { padding-block: 100px; }
.body-copy { line-height: 1.8; }
.site-header { background: #fff; border-color: #ecece5; }
.header-inner { min-height: 122px; gap: 28px; }
.brand-image { width: 330px; }
.brand-image svg { aspect-ratio: 1580 / 410; background: #fff; }
.main-nav { gap: 28px; font-weight: 600; }
.main-nav a { transition: color .18s; }
.main-nav a[aria-current=page]:after { width: 28px; border-radius: 5px; background: var(--accent); }
.main-nav a.nav-cta { background: var(--accent); border-radius: 999px; padding: 14px 25px; }
.main-nav .nav-cta:hover { background: var(--accent-hover); }
.main-nav .nav-cta[aria-current=page]:after { background: #fff; }
.menu-toggle { min-height: 44px; background: var(--cream); border: 1px solid var(--line); border-radius: 999px; }

.button { border-radius: 999px; min-height: 52px; padding: 15px 25px; background: var(--accent); font-weight: 600; transition: background .2s, color .2s, box-shadow .2s; }
.button:hover { background: var(--accent-hover); box-shadow: 0 5px 16px #70682320; }
.button-outline { background: transparent; color: var(--navy); border-color: #71877b; }
.button-outline:hover { background: var(--sage); color: var(--navy); box-shadow: none; }
.button-white { background: var(--paper); color: var(--navy); }
.button-white:hover { background: #fff; color: var(--accent); box-shadow: 0 5px 16px #34442714; }
.button-quiet { background: transparent; color: var(--navy); border-color: #9daa9e; }
.button-quiet:hover { background: var(--sage); box-shadow: none; }
.text-link { min-height: 36px; padding-bottom: 4px; text-underline-offset: 5px; }
.text-link:hover { color: var(--green); }

.home-hero { background: var(--cream); }
.home-hero-project .hero-copy { padding: 62px 0 46px; gap: 76px; }
.home-hero-project .hero-copy h1 { font-size: clamp(3.2rem, 5.1vw, 4.9rem); line-height: 1.07; }
.home-hero-project .hero-heading .eyebrow { display: inline-flex; background: var(--peach); color: #813c2e; padding: 7px 14px; border-radius: 999px; margin-bottom: 24px; font-size: .73rem; }
.home-hero-project .hero-copy .body-copy { color: #53605a; font-size: 1.08rem; }
.home-hero-project .hero-grid { padding-bottom: 42px; }
.home-hero-project .hero-photo { border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 10px 36px #3444270b; }
.home-hero-project .hero-photo img { border-radius: 0; }
.home-hero-project .photo-label { border: 0; padding: 13px 24px; }
.home-hero-project .photo-label span { color: #616651; }
.home-hero-project .photo-label a { color: var(--accent); }
.focus-strip { background: var(--sage); border: 0; padding-block: 25px; }
.focus-strip strong { color: var(--navy); }
.focus-items { color: #4d6258; }
.focus-items span:before { border: 0; border-radius: 50%; background: #6b917e; width: 7px; height: 7px; }

.service-row { border-color: var(--line); padding-block: 30px; }
.service-row .number, .detail-row>.number { display: inline-flex; align-items: center; justify-content: center; background: var(--sage); color: var(--green); width: 40px; height: 40px; border-radius: 50%; }
.service-row h3 { color: var(--navy); }
.expertise-preview { background: var(--sage); }
.case-stage-heading { border-top: 1px solid #bccdbb; gap: 12px; }
.case-stage-heading .number { display: inline-flex; justify-content: center; align-items: center; width: 36px; height: 36px; border-radius: 50%; background: #fcfbf6; color: var(--green); flex-shrink: 0; }
.case-stage-image { background: var(--paper); border: 1px solid #d4ddce; border-radius: 14px; overflow: hidden; }
.case-stage-image img { border-radius: 0; }
.case-stage-heading h2, .case-stage-heading h3 { font-size: 1.4rem; }
.case-stage figcaption p { color: #52624f; }
.case-project-footer { border-color: var(--line); }
.principle { border: 1px solid var(--line); border-top: 0; border-radius: 16px; padding: 30px; background: var(--cream); }
.principle:nth-child(2) { background: var(--sage); }
.principle:nth-child(3) { background: var(--peach); }
.principle h3 { color: var(--navy); }
.principle p { font-size: .98rem; }

.page-hero { background: var(--cream); padding-block: 44px 76px; border-bottom: 1px solid #eee9e1; }
.page-hero h1 { max-width: 830px; }
.page-hero-grid { grid-template-columns: 1.2fr 1fr; gap: 70px; align-items: center; }
.page-hero .eyebrow { color: var(--accent); }
.breadcrumb { color: #66726b; margin-bottom: 36px; }
.breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.detail-row { padding-block: 48px; gap: 35px; border-color: var(--line); }
.detail-row h2 { color: var(--navy); font-size: 1.9rem; }
.detail-row li:before { background: #64927b; border-radius: 50%; }
.detail-row strong { color: var(--navy); font-weight: 650; }
.process { background: var(--sage); }
.process-item { border-color: #bbcdbc; }
.process-item .number { color: var(--green); }
.process-item h3 { color: var(--navy); }
.process-item p { color: #52634f; }
.project-portfolio { background: var(--paper); }
.project-card { border: 1px solid var(--line); border-radius: 18px; background: #fff; padding: 34px; }
.project-card:nth-child(3n+2) { background: var(--cream); }
.project-card:nth-child(3n+3) { background: #eef2e9; }
.project-meta { color: #616b62; }
.project-meta span:last-child { color: var(--accent); }
.project-card h3 { color: var(--navy); }
.project-portfolio+.expertise-section { background: var(--cream); }
.filter { border-radius: 999px; border-color: #c8d0c3; background: var(--paper); color: var(--navy); padding: 11px 20px; }
.filter[aria-pressed=true] { background: var(--green); border-color: var(--green); }
.filter:hover { border-color: var(--green); }
.expertise-card { border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.expertise-card .card-meta { color: var(--green); }
.expertise-card h2 { color: var(--navy); }
details { border-color: #d1d7cb; }
summary:after { color: var(--green); }
.practical-expertise { background: var(--sage); }
.practice-list p { border-color: #bdcdb8; color: var(--navy); }
.note-panel { background: var(--cream); border-left-color: var(--green); border-radius: 0 16px 16px 0; }

.about-panel { background: var(--peach); color: var(--navy); border-radius: 20px; padding: 42px; }
.about-panel .eyebrow { color: var(--accent); }
.about-panel h3 { color: var(--navy); }
.about-panel p { color: #625e51; }
.about-panel .signature { border-color: #d8c2b2; }
.signature span { color: #625e51; }
.about-image { border-radius: 20px; overflow: hidden; background: var(--cream); }
.image-caption { background: rgba(23, 61, 59, .92); }
.image-feature { background: var(--sage); color: var(--navy); border-radius: 18px; overflow: hidden; }
.feature-copy h3 { color: var(--navy); }
.feature-copy p, .about-image .feature-copy p { color: var(--muted); }
.feature-copy .eyebrow { color: var(--accent); }
.feature-copy .text-link { color: var(--accent); }
.current-work { background: var(--cream); }
.current-task { background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.current-task h3 { color: var(--navy); }
.current-task li:before { background: #64927b; border-radius: 50%; }
.experience-section { background: var(--paper); }
.experience-period { color: var(--green); }
.earlier-career { background: var(--cream); border-radius: 16px; }
.skill-list span { border-radius: 999px; background: var(--sage); border: 0; color: #355c4f; }
.profile-qualifications { gap: 65px; }

.contact-section { background: var(--paper); }
.contact-form { background: var(--sage); border: 1px solid #d8e1d0; border-radius: 20px; padding: 38px; }
.contact-method { border-color: var(--line); }
.contact-method>a { color: var(--navy); overflow-wrap: anywhere; }
.contact-method>a:hover { color: var(--accent); }
.field label { color: var(--navy); }
input, textarea, select { background: #fcfbf6; border-color: #afbeaa; border-radius: 9px; padding: 13px 15px; }
input:focus, textarea:focus, select:focus { outline-color: var(--green); border-color: var(--green); }
input::placeholder, textarea::placeholder { color: #6a7465; opacity: 1; }
.contact-band { background: var(--sage); color: var(--navy); border-top: 1px solid #d4dfcc; padding-block: 74px; }
.contact-band h2 { color: var(--navy); }
.contact-band .eyebrow { color: var(--accent); }
.contact-band p { color: #53644f; }
.contact-band .button-white { background: var(--accent); color: #fff; white-space: nowrap; }
.contact-band .button-white:hover { background: var(--accent-hover); }
.site-footer { background: var(--cream); color: var(--navy); border-top: 1px solid var(--line); padding-top: 60px; }
.site-footer .brand-image { width: 320px; padding: 0; border-radius: 0; background: transparent; }
.site-footer .brand-image svg { border-radius: 0; background: transparent; }
.footer-caption { color: var(--muted); margin-top: 24px; }
.footer-heading { color: #52634f; }
.footer-links a:hover { color: var(--accent); }
.footer-bottom { border-color: var(--line); color: #616651; padding-block: 25px; }

@media (max-width: 1150px) {
  .brand-image { width: 305px; }
  .main-nav { gap: 20px; font-size: .88rem; }
  .header-inner { gap: 24px; }
  .home-hero-project .hero-copy { gap: 42px; }
  .section { padding-block: 80px; }
  .principle { padding: 25px; }
  .page-hero-grid { gap: 45px; }
}

@media (max-width: 1024px) {
  .header-inner { min-height: 108px; }
  .menu-toggle { display: flex; }
  .main-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; padding: 20px 32px 28px; border-bottom: 1px solid var(--line); box-shadow: 0 15px 20px #3444270d; align-items: stretch; gap: 4px; }
  .main-nav.is-open { display: flex; flex-direction: column; }
  .main-nav a { padding: 12px 0; font-size: 1rem; }
  .main-nav .nav-cta { margin-top: 10px; align-self: start; }
  .main-nav a[aria-current=page]:after { bottom: 6px; }
  .home-hero-project .hero-copy h1 { font-size: 3.6rem; }
}

@media (max-width: 900px) {
  .page-hero-grid { grid-template-columns: 1fr; gap: 26px; }
  .page-hero { padding-bottom: 55px; }
  .detail-row { grid-template-columns: 48px minmax(0, 1fr); gap: 20px; }
  .detail-content { grid-column: 2; }
  .principle-grid { gap: 18px; }
  .principle { padding: 22px; }
  .about-panel { padding: 30px; }
  .case-stage-heading h2, .case-stage-heading h3 { font-size: 1.5rem; }
}

@media (max-width: 800px) {
  .home-hero-project .hero-copy { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 42px 0 34px; }
  .home-hero-project .hero-copy h1 { font-size: clamp(2.8rem, 7vw, 3.8rem); }
  .home-hero-project .hero-intro { max-width: 640px; }
}

@media (max-width: 640px) {
  .header-inner { min-height: 94px; gap: 12px; }
  .brand-image { width: clamp(185px, 59vw, 255px); }
  .menu-toggle { padding: 10px 12px; font-size: .82rem; gap: 7px; }
  .main-nav { padding-inline: 20px; }
  .section { padding-block: 56px; }
  .home-hero-project .hero-copy { padding-top: 34px; }
  .home-hero-project .hero-copy .body-copy { font-size: 1rem; }
  .home-hero-project .hero-heading .eyebrow { font-size: .64rem; padding: 7px 10px; letter-spacing: .08em; margin-bottom: 20px; }
  .home-hero-project .hero-grid { padding-bottom: 28px; }
  .home-hero-project .hero-photo { border-radius: 12px; }
  .home-hero-project .photo-label { padding: 13px 16px; gap: 6px; }
  .home-hero-project .hero-image-actions { gap: 0 18px; }
  .home-hero-project .photo-label a { font-size: .76rem; }
  .focus-strip { padding-block: 22px; }
  .service-row { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; }
  .service-row .number { width: 32px; height: 32px; }
  .principle { padding: 27px; }
  .page-hero { padding-block: 30px 44px; }
  .page-hero h1 { font-size: clamp(2.25rem, 8.5vw, 3rem); }
  .detail-row { grid-template-columns: 36px minmax(0, 1fr); gap: 15px; padding-block: 32px; }
  .detail-row>.number { width: 32px; height: 32px; }
  .detail-row h2 { font-size: 1.65rem; }
  .case-stage-heading h2, .case-stage-heading h3 { font-size: 1.35rem; }
  .contact-form { padding: 25px 20px; border-radius: 16px; }
  .contact-method>a { font-size: 1.15rem; }
  .contact-band { padding-block: 52px; }
  .contact-band h2 { font-size: 2rem; }
  .site-footer { padding-top: 42px; }
  .site-footer .brand-image { width: min(305px, 100%); }
  .footer-grid { gap: 35px 15px; }
  .footer-links { font-size: .82rem; }
}

@media (max-width: 360px) {
  .brand-image { width: 175px; }
  .menu-toggle { padding: 10px; }
  .menu-lines { display: none; }
  .home-hero-project .hero-copy h1 { font-size: 2.55rem; }
}

/* Larger type and architectural compositions, inspired by the supplied reference. */
:root { --header-height: 108px; }
html { scroll-padding-top: calc(var(--header-height) + 20px); }
.site-header { position: sticky; top: 0; }
.header-inner { min-height: 108px; }
.brand-image { width: 320px; }
h1, h2 { font-weight: 720; line-height: 1.08; }
.main-nav a.nav-cta { border-radius: 7px; }
.button { border-radius: 7px; gap: 24px; }
.button span[aria-hidden] { font-size: 1.25rem; }
.eyebrow { color: var(--green); }
.home-hero-cinematic .hero-grid { width: min(calc(100% - 48px), 1600px); padding-bottom: 45px; }
.home-hero-cinematic .hero-copy { max-width: 1280px; width: 100%; margin-inline: auto; padding: 66px 0 54px; grid-template-columns: 1.13fr 1fr; gap: 84px; }
.home-hero-cinematic .hero-heading .eyebrow { background: none; padding: 0; border-radius: 0; color: var(--green); font-size: .78rem; letter-spacing: .13em; margin-bottom: 23px; }
.home-hero-cinematic .hero-copy h1 { font-size: clamp(3.5rem, 6vw, 6rem); max-width: 760px; }
.home-hero-cinematic h1 span { color: var(--accent); }
.home-hero-cinematic .hero-copy .body-copy { font-size: 1.1rem; max-width: 515px; }
.home-hero-cinematic .hero-photo { transform: translate3d(0, var(--photo-shift, 0px), 0); border-radius: 0 0 0 60px; box-shadow: none; }
.home-hero-cinematic .photo-label { background: var(--paper); padding: 17px 28px 17px 55px; }
.home-hero-cinematic .hero-contact { display: inline-flex; align-items: center; gap: 20px; }
.hero-scroll-link { display: inline-flex; align-items: center; gap: 12px; font-size: .84rem; color: var(--green); margin-top: 32px; min-height: 44px; }
.hero-scroll-link>span { display: flex; align-items: center; justify-content: center; border: 1px solid #a5af8e; border-radius: 50%; width: 35px; height: 35px; font-size: 1.1rem; }
.hero-scroll-link:hover { color: var(--accent); }
.focus-strip { background: #e5e4d1; }
.home-services .section-intro h2 { font-size: clamp(2.4rem, 3.7vw, 3.55rem); }
.home-services .service-row h3 { font-size: 1.7rem; }
.home-services .service-row .number { background: var(--cream); border-radius: 7px; color: var(--accent); }
.principle { border-radius: 0 0 0 30px; background: var(--cream); padding: 34px; }
.principle:nth-child(2) { background: var(--sage); }
.principle:nth-child(3) { background: #e5dfea; }
.principle h3 { color: var(--navy); }
.expertise-preview { background: var(--navy); border-radius: 0 70px 0 0; }
.expertise-preview .eyebrow, .expertise-preview .section-top h2 { color: #f6f4e9; }
.expertise-preview .section-top>.text-link { color: #f6f4e9; }
.expertise-preview>.wrap>.case-gallery-intro { color: #e2e6d6; }
.expertise-preview .case-stage { background: var(--paper); border-radius: 0 0 0 25px; padding: 25px; }
.expertise-preview .case-stage-heading { border: 0; padding-top: 0; }
.expertise-preview .case-stage-heading h3 { color: var(--navy); font-size: 1.3rem; }
.expertise-preview .case-stage-heading .number { background: #e5e8d5; color: #4b6136; }
.expertise-preview .case-stage figcaption p { color: var(--muted); }
.expertise-preview .case-stage-image { border-radius: 0; border-color: var(--line); }
.case-stage figcaption .text-link { min-height: 44px; }
.page-hero { background: var(--cream); border-bottom: 0; padding-bottom: 76px; }
.page-hero h1 { color: var(--navy); font-size: clamp(2.9rem, 4.8vw, 4.8rem); }
.page-hero .eyebrow { color: var(--green); }
.project-card { border-radius: 0 0 0 25px; }
.expertise-card, .current-task { border-radius: 0 0 0 25px; }
.about-panel { border-radius: 0 0 0 40px; background: #e5dfea; }
.about-image { border-radius: 0 0 0 40px; }
.process { background: var(--sage); }
.process .principle { background: var(--paper); }
.contact-band { background: #e4e6d1; border: 0; }
.contact-band h2 { max-width: 780px; font-weight: 720; }
.contact-band .button-white { color: #fff; background: var(--navy); }
.contact-band .button-white:hover { background: var(--navy-deep); }
.contact-form { border-radius: 0 0 0 35px; }
.site-footer { background: var(--navy); color: #f5f4e8; border: 0; padding-top: 65px; }
.footer-heading { color: #d1d9bd; }
.footer-caption { color: #e0e4d5; }
.footer-links a:hover { color: #e1d890; }
.footer-bottom { border-color: #5f6b4e; color: #d6ddc7; }
.site-footer .brand-image { padding: 0; background: transparent; width: 325px; border-radius: 0; }
.site-footer .brand-image svg {
  border-radius: 0;
  background: transparent;
  filter: grayscale(1) invert(1) contrast(1.25);
  mix-blend-mode: screen;
}
.footer-legal { display: flex; flex-wrap: wrap; gap: 8px 24px; }

/* Scroll is native. Only this illustration stays in view during its build sequence. */
.bridge-story { background: #efefdf; scroll-margin-top: var(--header-height); }
.bridge-sticky { position: relative; padding-block: 72px; }
.bridge-layout { display: grid; grid-template-columns: .9fr 1.65fr; gap: 35px 40px; align-items: center; }
.bridge-copy { min-width: 0; }
.bridge-copy h2 { font-size: clamp(2.5rem, 3.8vw, 3.8rem); }
.bridge-copy .body-copy { font-size: 1rem; margin-top: 24px; max-width: 360px; }
.bridge-scroll-hint { display: none; font-size: .83rem; color: #596a3c; margin-top: 24px; }
.bridge-scroll-hint span { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border: 1px solid #aab792; border-radius: 50%; margin-right: 8px; }
.bridge-skip { margin-top: 18px; font-size: .83rem; min-height: 44px; }
.bridge-visual { min-width: 0; }
.bridge-scene { display: block; width: 100%; height: auto; overflow: visible; }
.bridge-current { display: flex; gap: 20px; align-items: start; border-top: 1px solid #c9d0b5; padding: 20px 12px 0; min-height: 100px; }
.bridge-current-number { color: #657147; font-size: .8rem; font-weight: 600; padding-top: 4px; white-space: nowrap; }
.bridge-current h3 { font-size: 1.35rem; letter-spacing: -.02em; }
.bridge-phase-copy { font-size: .91rem; color: #5a6650; margin-top: 7px; }
.bridge-controls { display: none; grid-column: 1 / -1; }
.bridge-story[data-controls-ready=true] .bridge-controls { display: block; }
.bridge-story[data-controls-ready=true] .bridge-static-note { display: none; }
.bridge-story[data-scroll-ready=true] { height: 340svh; }
.bridge-story[data-scroll-ready=true] .bridge-sticky { position: sticky; top: var(--header-height); height: calc(100svh - var(--header-height)); padding-block: 34px; }
.bridge-story[data-scroll-ready=true] .bridge-layout { height: 100%; grid-template-rows: minmax(0, 1fr) auto; }
.bridge-story[data-scroll-ready=true] .bridge-scroll-hint { display: block; }
.bridge-phase-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #bdc9ab; }
.bridge-phase-nav button { border: 0; border-bottom: 2px solid transparent; background: transparent; padding: 15px 12px; color: #58634a; text-align: left; font-size: .9rem; min-height: 50px; }
.bridge-phase-nav button span { display: inline-block; color: #7b805d; font-size: .74rem; margin-right: 12px; }
.bridge-phase-nav button:hover { background: #e3e8d3; }
.bridge-phase-nav button[aria-pressed=true] { border-bottom-color: #65713c; color: #334425; background: #e3e8d3; font-weight: 650; }
.bridge-range-row { display: flex; align-items: center; gap: 16px; padding-top: 17px; color: #596548; font-size: .8rem; }
.bridge-range-row input { flex: 1; padding: 0; min-height: 32px; height: 32px; border: 0; background: none; accent-color: #68783e; cursor: pointer; }
.bridge-range-row output { min-width: 38px; text-align: right; font-variant-numeric: tabular-nums; }
.bridge-note, .bridge-static-note { font-size: .75rem; color: #657058; margin-top: 8px; }
.bridge-static-note { grid-column: 1 / -1; }

@media (max-width: 1150px) {
  .brand-image { width: 295px; }
  .home-hero-cinematic .hero-copy { gap: 45px; }
  .home-hero-cinematic .hero-copy h1 { font-size: 4.8rem; }
  .bridge-layout { grid-template-columns: .9fr 1.5fr; gap: 24px; }
  .bridge-copy h2 { font-size: 2.9rem; }
  .bridge-phase-nav button { padding-inline: 10px; }
}
@media (max-width: 1024px) {
  .header-inner { min-height: 100px; }
  .home-hero-cinematic .hero-copy h1 { font-size: 4rem; }
  .main-nav .nav-cta { border-radius: 7px; }
}
@media (max-width: 900px) {
  .bridge-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .bridge-copy h2 { font-size: 2.5rem; }
  .bridge-copy h2 br { display: none; }
  .bridge-copy .eyebrow { margin-bottom: 12px; }
  .bridge-copy .body-copy { margin-top: 16px; max-width: 680px; }
  .bridge-scroll-hint { margin-top: 12px; }
  .bridge-skip { margin-top: 0; }
  .bridge-story[data-scroll-ready=true] .bridge-layout { grid-template-rows: auto minmax(0, 1fr) auto; }
  .bridge-story[data-scroll-ready=true] .bridge-sticky { padding-block: 24px; }
  .bridge-visual { display: flex; flex-direction: column; justify-content: center; min-height: 0; }
  .bridge-scene { max-height: 31svh; }
  .bridge-current { min-height: 74px; padding-top: 14px; }
  .bridge-phase-nav button { font-size: .78rem; padding: 10px 5px; }
  .bridge-phase-nav button span { display: block; margin: 0 0 4px; font-size: .65rem; }
  .bridge-note { font-size: .7rem; }
  .bridge-range-row { padding-top: 9px; }
}
@media (max-width: 800px) {
  .home-hero-cinematic .hero-copy { grid-template-columns: minmax(0, 1fr); padding-block: 42px 32px; gap: 24px; }
  .home-hero-cinematic .hero-copy h1 { font-size: clamp(3.25rem, 8vw, 4.6rem); }
  .hero-scroll-link { margin-top: 20px; }
}
@media (max-width: 640px) {
  .header-inner { min-height: 88px; }
  .brand-image { width: clamp(185px, 59vw, 250px); }
  .home-hero-cinematic .hero-grid { width: 100%; padding-bottom: 24px; }
  .home-hero-cinematic .hero-copy { width: calc(100% - 40px); padding: 34px 0 26px; }
  .home-hero-cinematic .hero-copy h1 { font-size: clamp(3.05rem, 9.7vw, 3.9rem); }
  .home-hero-cinematic .hero-heading .eyebrow { font-size: .66rem; letter-spacing: .09em; }
  .home-hero-cinematic .hero-copy .body-copy { font-size: 1rem; }
  .home-hero-cinematic .hero-photo { border-radius: 0 0 0 30px; }
  .home-hero-cinematic .photo-label { padding: 15px 20px 15px 30px; }
  .home-hero-cinematic .photo-label span { font-size: .74rem; }
  .hero-scroll-link { font-size: .79rem; }
  .home-services .section-intro h2 { font-size: 2.5rem; }
  .home-services .service-row h3 { font-size: 1.5rem; }
  .page-hero h1 { font-size: clamp(2.3rem, 8.6vw, 3.1rem); }
  .expertise-preview { border-radius: 0 40px 0 0; }
  .expertise-preview .case-stage { padding: 22px; }
  .expertise-preview .case-stage-heading h3 { font-size: 1.45rem; }
  .principle { padding: 28px; }
  .site-footer .brand-image { width: min(305px, 100%); }
  .bridge-story[data-scroll-ready=true] { height: 310svh; }
  .bridge-story[data-scroll-ready=true] .bridge-sticky { padding-block: 18px; }
  .bridge-layout { gap: 12px; }
  .bridge-copy h2 { font-size: 2.15rem; }
  .bridge-copy .eyebrow { font-size: .65rem; margin-bottom: 10px; }
  .bridge-copy .body-copy { font-size: .91rem; line-height: 1.6; margin-top: 10px; }
  .bridge-story[data-scroll-ready=true] .bridge-scroll-hint { display: none; }
  .bridge-skip { margin-top: 8px; font-size: .75rem; min-height: 32px; }
  .bridge-current { padding: 10px 0 0; gap: 14px; min-height: 76px; }
  .bridge-current h3 { font-size: 1.13rem; }
  .bridge-current-number { font-size: .66rem; }
  .bridge-phase-copy { font-size: .8rem; line-height: 1.5; margin-top: 4px; }
  .bridge-phase-nav button { font-size: .72rem; padding-inline: 2px; }
  .bridge-note { font-size: .65rem; line-height: 1.45; }
}
@media (max-height: 760px) and (min-width: 901px) {
  .bridge-story[data-scroll-ready=true] .bridge-sticky { padding-block: 20px; }
  .bridge-copy h2 { font-size: 2.6rem; }
  .bridge-copy .body-copy { margin-top: 16px; }
  .bridge-scene { max-height: 43svh; }
  .bridge-current { min-height: 78px; padding-top: 12px; }
}
@media (max-height: 740px) and (max-width: 900px) {
  .bridge-copy h2 { font-size: 1.8rem; }
  .bridge-copy .body-copy { font-size: .85rem; margin-top: 8px; }
  .bridge-copy .eyebrow { margin-bottom: 8px; }
  .bridge-skip { margin-top: 0; }
  .bridge-scene { max-height: 26svh; }
  .bridge-phase-nav button { min-height: 44px; padding-block: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero-cinematic .hero-photo { transform: none; }
}
