/* Revision10: individual compositions within Manzanita's original visual identity. */
:root { --chapter-space:clamp(72px,7.4vw,116px); --reading-width:1232px; }
.section-inner,.hero-inner,.footer-grid,.footer-bottom { max-width:var(--reading-width); margin-left:auto; margin-right:auto; }
.section-heading { text-wrap:balance; }
.section-tag { display:flex; align-items:center; gap:14px; letter-spacing:.16em; }
.section-tag::before { content:''; flex:0 0 32px; height:1px; background:currentColor; opacity:.6; }
.text-link { display:inline-flex; gap:20px; align-items:center; font-size:12px; font-weight:500; text-decoration:none; border-bottom:1px solid var(--gold); padding:8px 0; }
.text-link span { font-size:20px; }
.home-index { max-width:var(--reading-width); margin:auto; padding:26px 0; display:flex; gap:32px; align-items:center; border-bottom:1px solid var(--line); }
.home-index>span { font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:#796c58; margin-right:auto; }
.home-index a { font-size:12px; text-decoration:none; padding:5px 0; color:#33435b; }
.home-index a:hover { color:#80633a; }
.home-page .hero { min-height:clamp(700px,88vh,920px); }
.about { padding-top:var(--chapter-space); padding-bottom:var(--chapter-space); }
.about-corners { display:none; }
.practice-heading { max-width:850px; margin-bottom:56px; }
.practice-heading .section-heading { font-size:clamp(36px,3.7vw,52px); line-height:1.18; margin:0; }
.about-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(40px,7vw,108px); align-items:start; }
.about-left { max-width:none; min-width:0; }
.about-right { width:auto; flex:none; }
.practice-photo { margin:0; }
.practice-photo img { display:block; width:100%; height:auto; aspect-ratio:5/4; object-fit:cover; }
.practice-photo figcaption { display:flex; justify-content:space-between; align-items:baseline; gap:15px; padding:17px 0; font-family:var(--serif); font-size:23px; border-bottom:1px solid var(--line); }
.practice-photo figcaption span { font-family:var(--sans); font-size:10px; color:#75674e; letter-spacing:.06em; }
.about .certificate { max-width:none; background:transparent; padding:26px 0; border:0; display:grid; grid-template-columns:54px 1fr; column-gap:20px; text-align:left; }
.about .certificate::before,.about .certificate::after { display:none; }
.about .cert-mark { grid-column:1; grid-row:1/5; width:50px; height:57px; margin:4px 0 0; }
.about .cert-established { grid-column:2; font-size:9px; letter-spacing:.1em; margin:0 0 8px; }
.about .cert-company { grid-column:2; font-size:23px; line-height:1.3; margin:0 0 12px; }
.about .cert-company br,.about .certificate-note br { display:none; }
.about .cert-licensed { grid-column:2; font-size:11px; line-height:1.8; }
.about .cert-cslb { grid-column:2; font-size:10px; margin:9px 0 0; }
.about .certificate-rule { display:none; }
.about .certificate-note { grid-column:2; font-size:17px; margin-top:14px; }
.about .principles { margin:0; }
.about .principle { grid-template-columns:28px 1fr; gap:18px; padding:25px 0; }
.about .principle:first-child { padding-top:0; border-top:0; }
.about .principle h3 { font-size:31px; margin-bottom:12px; }
.about .principle p { font-size:15px; line-height:1.85; max-width:48ch; }
.about-signature { margin-top:20px; }
.about-sig-name { font-size:30px; margin-bottom:2px; }
.about .text-link { margin-top:15px; }
.home-page .project-divider { height:clamp(420px,42vw,620px)!important; }
.project-divider .image-divider-inner { background:#01173ef2; padding:25px 34px 30px; left:max(5vw,calc((100vw - 1232px)/2)); bottom:0; max-width:70%; }
.project-divider .image-divider-border { display:none; }
.project-divider .image-divider-title { font-size:clamp(38px,4vw,56px); }
.project-divider .image-divider-overlay { bottom:28px; right:max(5vw,calc((100vw - 1232px)/2)); font-size:11px; }
.services-light { background:#f5f1e9; padding-top:var(--chapter-space); padding-bottom:var(--chapter-space); }
.services-light::before { display:none; }
.experience-heading-group { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:end; margin-bottom:38px; }
.experience-heading-group .section-heading { margin:0; max-width:18ch; font-size:clamp(36px,3.25vw,44px); line-height:1.18; letter-spacing:-.018em; }
.experience-intro { text-align:left; max-width:38ch; margin:0 0 4px; font-size:16px; }
#o4Tabs { max-width:none; gap:36px; justify-content:flex-start; margin:0 0 40px; border-color:#cdbfaba6; }
.o4-tab { padding:17px 0; }
#o4Panels { max-width:none; }
.o4-panel,.js .o4-panel.active { margin-bottom:0; gap:70px; align-items:center; }
.o4-panel>div:first-child { flex:1; min-width:0; }
.o4-panel-header { align-items:flex-start; gap:20px; }
.o4-panel-title { max-width:23ch; font-size:32px; line-height:1.25; text-wrap:balance; letter-spacing:-.015em; }
.o4-panel-num { font-size:35px; line-height:1.15; color:#8a7047; }
.o4-panel-line { display:none; }
.o4-panel-desc,.o4-panel-desc2 { max-width:47ch; font-size:15px; line-height:1.85; }
.o4-panel-img { flex:0 0 48%; height:440px; }
.o4-panel-img::before,.o4-panel-img::after,.o4-panel-img .corner-tr,.o4-panel-img .corner-bl { display:none; }
.atmosphere-divider { height:340px!important; }
.atmosphere-divider .image-divider-border { display:none; }
.atmosphere-divider .image-divider-inner { max-width:var(--reading-width); width:90%; left:50%; transform:translateX(-50%); bottom:42px; }
.atmosphere-divider .image-divider-title { font-size:clamp(35px,4vw,58px); }
.home-page .process { background:#01173e; padding-top:var(--chapter-space)!important; padding-bottom:var(--chapter-space)!important; color:#fff; }
.process::before { display:none; }
.process-heading-group { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; margin-bottom:48px; }
.process .section-tag { color:#d2bd9c; }
.process .section-heading { color:#fff; font-size:clamp(38px,3.8vw,52px); line-height:1.2; margin-bottom:20px; }
.process .section-heading em { color:#d8c39f; }
.process-subheading { font-size:21px; color:#e2d5c0; margin:0; }
.process-description { font-size:15px; color:#d1d8e2; line-height:1.95; max-width:47ch; }
.process-reading-note { color:#cbb793; font-size:11px; letter-spacing:.06em; margin:22px 0 0; }
.process-reading-note span { margin-left:24px; }
.process-stages { border-top:1px solid #bfa77b66; }
.process-stage { border-bottom:1px solid #bfa77b66; }
.process-stage summary { display:block; list-style:none; cursor:pointer; padding:27px 0; }
.process-stage summary::-webkit-details-marker { display:none; }
.process-stage summary h3 { display:grid; grid-template-columns:92px 1fr 32px; gap:24px; align-items:center; margin:0; font-weight:400; color:white; }
.process-stage-number { font-family:var(--serif); color:#cab186; font-size:38px; line-height:1.1; }
.process-stage-label { font-family:var(--serif); font-size:29px; line-height:1.25; }
.process-stage .process-stage-heading { display:block; font-family:var(--sans); font-size:12px; color:#c1ccdb; line-height:1.65; margin:8px 0 0; font-weight:400; min-height:0; }
.process-stage-toggle { font-family:var(--sans); font-size:25px; color:#cab186; transition:transform .15s; text-align:center; }
.process-stage[open] .process-stage-toggle { transform:rotate(45deg); }
.process-stage-body { margin-left:116px; padding:0 0 34px; display:grid; grid-template-columns:1.3fr 1fr; gap:64px; }
.process-stage-body .process-step-text { color:#e1e6ee; font-size:15px; line-height:1.95; max-width:54ch; }
.process-stage-body .process-expect { border-top:0; border-left:1px solid #bfa77b66; padding:0 0 0 28px; margin:0; color:#cbd4e1; font-size:13px; line-height:1.9; }
.process-stage-body .process-expect strong { color:#d7c19b; margin-bottom:9px; }
.reviews-section { padding-top:var(--chapter-space); padding-bottom:var(--chapter-space); background:white; }
.reviews-heading { margin-bottom:45px; align-items:end; }
.reviews-heading .section-heading { font-size:clamp(37px,3.6vw,50px); line-height:1.2; }
.reviews-context { font-size:14px; line-height:1.85; max-width:38ch; color:#566171; margin-top:20px; }
.review-strip { gap:24px; padding-bottom:26px; align-items:stretch; }
.review-card { flex:0 0 calc(66.666% - 12px); padding:34px 40px 34px; background:#f7f4ed; border:0; border-top:2px solid #c8b28d; position:relative; }
.review-card blockquote { max-width:43ch; font-size:26px; line-height:1.6; min-height:0; text-wrap:pretty; }
.review-card .quote-mark { font-size:64px; margin-bottom:6px; color:#aa8b59; }
.review-card cite { font-size:12px; margin-top:28px; padding-top:18px; border-top:1px solid #dcd0be; }
.review-source { display:inline-block; font-size:10px; margin-top:12px; color:#65543a; text-underline-offset:4px; }
.review-more { margin-top:18px; }
.review-more summary { display:inline-block; cursor:pointer; font-size:11px; color:#70562e; text-decoration:underline; text-underline-offset:4px; }
.review-more p { color:#37414b; font-size:14px; line-height:1.9; margin:15px 0 0; }
.review-status { font-size:11px; letter-spacing:.1em; color:#74644b; min-width:60px; align-self:center; text-align:center; }
.review-controls button:disabled { opacity:.35; cursor:default; }
.cta-section { background:#f0e9dd; padding-top:80px; padding-bottom:80px; text-align:left; }
.cta-section::before { display:none; }
.cta-section .section-inner { display:grid; grid-template-columns:1.35fr .65fr; column-gap:70px; align-items:center; }
.cta-section .section-tag { grid-column:1/-1; }
.cta-heading { max-width:none; margin:0; font-size:clamp(33px,3.25vw,44px); line-height:1.25; text-wrap:balance; }
.cta-buttons { flex-direction:column; align-items:stretch; margin:0; max-width:280px; justify-self:end; width:100%; }
.cta-buttons a { text-align:center; }
.cta-note { grid-column:1/-1; margin-top:30px; font-size:11px; }
.footer { padding-top:56px; }
.collection-header { max-width:var(--reading-width); margin:auto; text-align:left; padding:158px 0 45px; display:grid; grid-template-columns:1fr auto; align-items:end; gap:16px 40px; }
.collection-header .collection-eyebrow { grid-column:1/-1; }
.collection-header h1 { max-width:19ch; font-size:clamp(40px,4.2vw,58px); line-height:1.18; margin:0; text-wrap:balance; }
.collection-header .collection-intro { max-width:270px; font-size:15px; }
.collection-gold-line { display:none; }
.collection-shell { max-width:var(--reading-width); }
.collection-jump-links { justify-content:flex-start; padding-left:0; padding-right:0; gap:18px 32px; margin-bottom:36px; }
.collection-jump-links a { font-size:12px; }
.collection-project-intro { padding:56px 0 45px; grid-template-columns:1fr 1fr; gap:90px; }
.collection-project-intro h2 { max-width:22ch; font-size:40px; line-height:1.22; text-wrap:balance; }
.collection-project-copy p { font-size:15px; line-height:1.9; }
.collection-photo-grid { grid-template-columns:1.15fr .85fr; gap:40px 32px; }
.collection-photo img { height:350px; }
.collection-photo:nth-child(2n) { margin-top:54px; }
.collection-photo:last-child { margin-top:0; }
.collection-more { padding-top:80px; }
.collection-section-heading { max-width:none; margin-bottom:36px; }
.collection-section-heading h2 { font-size:40px; line-height:1.22; }
.collection-work-grid { gap:40px; align-items:start; }
.collection-work-card { border:0; }
.collection-work-card-copy,.collection-dry-creek-copy { padding:27px 0 0; }
.collection-dry-creek-card { background:transparent; border:0; padding:0; justify-content:flex-start; }
.collection-dry-creek-original-image { margin:0; }
.collection-dry-creek-card h3 { margin-bottom:14px; }
.collection-dry-creek-copy p { font-size:15px; }
.collection-construction-image { border:0; }
.collection-dry-creek-original-image img { height:auto!important; object-fit:contain; }
.collection-transformation { margin-top:80px; border-top:1px solid var(--line); }
.collection-story { background:#f4f0e8; padding-top:100px; padding-bottom:100px; border:0; }
.collection-story-inner { max-width:var(--reading-width); grid-template-columns:.85fr 1.15fr; gap:110px; }
.collection-story-heading { max-width:360px; }
.collection-story-heading h2 { font-size:43px; line-height:1.2; }
.collection-bio { max-width:65ch; }
.bio-chapter { padding-bottom:30px; margin-bottom:30px; border-bottom:1px solid #d7cbb6; }
.bio-chapter:last-child { margin-bottom:0; padding-bottom:0; border:0; }
.collection-bio .bio-chapter h3 { font-family:var(--sans); font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:#80633a; margin:0 0 20px; }
.collection-bio p { font-size:16px; line-height:1.85; text-wrap:pretty; }
.collection-bio p+p { margin-top:20px; }
.collection-bio .bio-chapter:first-child p:first-of-type { font-family:var(--serif); font-size:19px; color:#24364e; line-height:1.7; }
.collection-cta { padding:78px 24px 84px; }
.collection-cta h2 { font-size:42px; line-height:1.25; text-wrap:balance; }
.contact-page .contact-hero { text-align:left; min-height:0; padding:160px 5vw 60px; }
.contact-page .contact-hero-content { max-width:var(--reading-width); width:100%; }
.contact-page .contact-hero h1 { max-width:24ch; font-size:clamp(40px,4.2vw,58px); line-height:1.2; text-wrap:balance; }
.contact-page .contact-hero-description { margin:24px 0 0; max-width:50ch; }
.contact-page .location-bar { justify-content:flex-start; padding-left:max(5vw,calc((100vw - 1232px)/2)); background:#01173e; border:0; }
.contact-page .location-bar-item { color:#e0e6ef; font-size:11px; }
.contact-page .location-bar-item+.location-bar-item { border-color:#cab18666; }
.contact-page .contact-main { padding-top:70px; }
.contact-page .contact-grid { max-width:var(--reading-width); grid-template-columns:.9fr 1.1fr; grid-template-areas:'intro form' 'details form'; row-gap:0; column-gap:80px; }
.contact-info { grid-area:intro; }
.contact-form-card { grid-area:form; }
.contact-details { grid-area:details; }
.contact-page .contact-info h2 { max-width:25ch; font-size:33px; line-height:1.3; text-wrap:balance; }
.contact-page .contact-info-desc { font-size:15px; line-height:1.9; }
.contact-page .contact-email-feature { margin-bottom:28px; }
.contact-page .info-cards { margin-top:0; margin-bottom:28px; }
.contact-page .info-card { border:0; border-left:1px solid #cab186; background:none; padding:0 0 0 17px; }
.contact-page .contact-personal-note { font-size:13px; line-height:1.85; }
.contact-page .contact-personal-note+.contact-personal-note { margin-top:16px; }
.contact-page .contact-form-card { background:#f6f3ec; border:0; border-top:3px solid #01173e; box-shadow:none; padding:36px; }
.contact-page .contact-form-header { font-size:29px; line-height:1.3; text-wrap:balance; }
.contact-page .contact-form-sub { font-size:13px; line-height:1.8; }
@media(min-width:1440px) { .nav,.nav.scrolled { padding-left:max(4vw,calc((100vw - 1376px)/2)); padding-right:max(4vw,calc((100vw - 1376px)/2)); } }
@media(max-width:1350px) { .home-index { margin-left:5vw; margin-right:5vw; } .collection-header { margin-left:48px; margin-right:48px; } }
@media(max-width:1100px) { .about-grid { gap:45px; } .experience-heading-group { gap:45px; } .o4-panel,.js .o4-panel.active { gap:38px; } .process-heading-group { gap:50px; } .process-stage-body { gap:35px; } .collection-story-inner { gap:55px; } .collection-project-intro { gap:45px; } .contact-page .contact-grid { column-gap:45px; } }
@media(max-width:850px) {
  .home-index { gap:12px 25px; flex-wrap:wrap; padding:21px 0; } .home-index>span { width:100%; }
  .practice-heading { margin-bottom:35px; } .about-grid { grid-template-columns:.85fr 1.15fr; gap:32px; }
  .about .certificate { padding:24px 0!important; grid-template-columns:1fr; }
  .about .cert-mark { display:none; } .about .certificate>* { grid-column:1; } .about .cert-company { font-size:21px!important; }
  .about .principle { padding:19px 0; grid-template-columns:20px 1fr; gap:10px; }
  .about .principle h3 { font-size:27px; } .about .principle p { font-size:14px; }
  .experience-heading-group { gap:30px; grid-template-columns:1.1fr .9fr; } .experience-heading-group .section-heading { font-size:38px!important; }
  .experience-intro { font-size:14px; }
  .o4-panel,.js .o4-panel.active { flex-direction:row; } .o4-panel-img { flex:0 0 45%; width:auto; height:360px!important; }
  .o4-panel-title { font-size:29px; } .o4-panel-desc,.o4-panel-desc2 { font-size:14px; }
  .process-heading-group { grid-template-columns:1fr; gap:28px; } .process-description { max-width:65ch; }
  .process-stage-body { margin-left:90px; grid-template-columns:1fr; gap:24px; } .process-stage summary h3 { grid-template-columns:66px 1fr 28px; }
  .process-stage-body .process-expect { max-width:58ch; }
  .review-card { flex-basis:85%; } .review-card blockquote { font-size:25px; }
  .cta-section .section-inner { grid-template-columns:1fr; gap:25px; } .cta-buttons { flex-direction:row; justify-self:start; max-width:none; width:auto; }
  .cta-note { margin-top:0; } .cta-heading { margin:0; }
  .collection-header { margin-left:32px; margin-right:32px; } .collection-header .collection-intro { max-width:230px; font-size:13px; }
  .collection-project-intro h2 { font-size:38px; } .collection-photo-grid { gap:28px 22px; } .collection-photo:nth-child(2n) { margin-top:30px; }
  .collection-work-grid { gap:30px; } .collection-work-card-copy { padding:24px 0; } .collection-dry-creek-card { padding:0; }
  .collection-story-inner { gap:38px; } .collection-story-heading h2 { font-size:39px; } .collection-bio .bio-chapter:first-child p:first-of-type { font-size:19px; }
  .contact-page .contact-grid { grid-template-columns:1fr; grid-template-areas:'intro' 'form' 'details'; row-gap:38px; }
  .contact-page .contact-info { max-width:650px; } .contact-page .contact-email-feature { margin-bottom:0; } .contact-page .contact-details { padding-top:8px; }
}
@media(max-width:600px) {
  :root { --chapter-space:70px; }
  .home-page .hero { min-height:0; padding-top:345px; }
  .hero-heading { font-size:clamp(30px,9.3vw,42px)!important; line-height:1.14; } .hero-text { font-size:14px; }
  .home-index { margin:0 25px; gap:8px 22px; padding:22px 0; } .home-index a { font-size:11px; }
  .section-tag { font-size:10px; gap:10px; } .section-tag::before { flex-basis:22px; }
  .practice-heading .section-heading { font-size:36px!important; }
  .about-grid { display:flex; flex-direction:column; gap:35px; } .about-right { width:100%; }
  .practice-photo img { aspect-ratio:4/3; } .practice-photo figcaption { font-size:22px; } .practice-photo figcaption span { font-size:9px; }
  .about .certificate { grid-template-columns:42px 1fr; gap:0 14px; padding:22px 0 0!important; }
  .about .cert-mark { display:block; grid-column:1; grid-row:1/6; width:40px; height:46px; }
  .about .certificate>*:not(.cert-mark) { grid-column:2; }
  .about .cert-established { font-size:8px; margin-bottom:8px; } .about .cert-company { font-size:21px!important; margin-bottom:9px; }
  .about .cert-licensed br { display:none; } .about .cert-licensed { font-size:10px; } .about .cert-cslb { font-size:10px!important; }
  .about .certificate-note { font-size:16px; margin-top:8px; }
  .about .principle { grid-template-columns:25px 1fr; gap:12px; padding:22px 0; } .about .principle h3 { font-size:29px; }
  .about .principle p { font-size:14px; } .about .about-signature { margin-top:25px; }
  .project-divider .image-divider-inner { left:0; bottom:0; padding:19px 25px 22px; max-width:86%; }
  .home-page .project-divider { height:360px!important; } .project-divider .image-divider-title { font-size:35px!important; }
  .experience-heading-group { grid-template-columns:1fr; gap:24px; margin-bottom:30px; }
  .experience-heading-group .section-heading { font-size:34px!important; max-width:19ch; }
  .experience-intro { max-width:42ch; font-size:14px; margin:0; }
  #o4Tabs { gap:0!important; margin-bottom:30px!important; } #o4Tabs .o4-tab { font-size:10px!important; text-align:left; padding-left:0!important; padding-right:12px!important; }
  .o4-panel,.js .o4-panel.active { flex-direction:column; gap:28px!important; } .o4-panel-img { flex:none; width:100%; height:280px!important; }
  .o4-panel-title { font-size:28px!important; } .o4-panel-num { font-size:32px!important; }
  .atmosphere-divider { height:280px!important; } .atmosphere-divider .image-divider-inner { width:calc(100% - 50px); bottom:30px; }
  .atmosphere-divider .image-divider-title { font-size:35px!important; }
  .process-heading-group { gap:25px; margin-bottom:30px; } .process .section-heading { font-size:36px!important; }
  .process-subheading { font-size:21px; } .process-description { font-size:14px; line-height:1.9; }
  .process-stage summary { padding:24px 0; } .process-stage summary h3 { grid-template-columns:42px 1fr 22px; gap:12px; }
  .process-stage-number { font-size:30px; align-self:start; margin-top:2px; } .process-stage-label { font-size:26px; }
  .process-stage .process-stage-heading { font-size:11px; line-height:1.65; margin-top:9px; }
  .process-stage-toggle { font-size:23px; align-self:start; }
  .process-stage-body { margin-left:0; padding:0 0 28px; gap:24px; }
  .process-stage-body .process-step-text { font-size:14px; line-height:1.9; }
  .process-stage-body .process-expect { padding-left:18px; font-size:12px; }
  .reviews-heading { gap:16px; align-items:start; flex-direction:column; margin-bottom:28px; }
  .reviews-heading .section-heading { font-size:36px!important; } .reviews-context { font-size:13px; }
  .review-controls { align-self:flex-end; } .review-controls button { width:39px; height:39px; }
  .review-strip { gap:16px; } .review-card { flex-basis:94%; padding:27px 24px; }
  .review-card blockquote { font-size:23px; line-height:1.6; } .review-card cite { font-size:11px; }
  .cta-heading { font-size:31px; } .cta-section .section-inner { gap:23px; } .cta-buttons { width:100%; flex-direction:column; max-width:none; }
  .cta-note { font-size:11px; }
  .collection-header { display:block; margin:0 25px; padding-top:132px; padding-bottom:32px; }
  .collection-header h1 { font-size:37px; max-width:19ch; } .collection-header .collection-intro { max-width:none; font-size:14px; margin-top:22px; }
  .collection-shell { width:calc(100% - 50px); } .collection-jump-links { justify-content:flex-start; gap:0 20px; margin-bottom:25px; }
  .collection-jump-links a { font-size:11px; }
  .collection-project-intro { grid-template-columns:1fr; gap:24px; padding:35px 0; } .collection-project-intro h2 { font-size:32px; }
  .collection-photo-grid { grid-template-columns:1fr; gap:30px; } .collection-photo:nth-child(2n) { margin-top:0; }
  .collection-photo img,.collection-photo:last-child img,.collection-photo-grid > .collection-photo:last-child:nth-child(odd) img { height:auto; aspect-ratio:3/2; }
  .collection-more { padding-top:58px; } .collection-section-heading h2 { font-size:33px; }
  .collection-work-grid { grid-template-columns:1fr; gap:42px; } .collection-work-card-copy,.collection-dry-creek-copy { padding:25px 0 0; }
  .collection-dry-creek-card { padding:0; } .collection-transformation { margin-top:60px; }
  .collection-story { padding:70px 25px; } .collection-story-inner { grid-template-columns:1fr; gap:40px; }
  .collection-story-heading { max-width:none; } .collection-story-heading h2 { font-size:36px; }
  .collection-bio p { font-size:16px; line-height:1.85; } .collection-bio .bio-chapter:first-child p:first-of-type { font-size:18px; line-height:1.7; }
  .bio-chapter { margin-bottom:29px; padding-bottom:29px; } .collection-bio .bio-chapter h3 { font-size:10px; margin-bottom:20px; }
  .collection-cta h2 { font-size:32px; }
  .contact-page .contact-hero { padding:132px 25px 40px; } .contact-page .contact-hero h1 { font-size:37px; }
  .contact-page .contact-hero-description { font-size:14px; margin-top:22px; }
  .contact-page .location-bar { padding:22px 25px; gap:10px; align-items:flex-start; }
  .contact-page .location-bar-item { font-size:10px; } .contact-page .location-bar-item+.location-bar-item { border:0; padding-left:0; }
  .contact-page .contact-main { padding:55px 25px 70px; } .contact-page .contact-grid { row-gap:35px; }
  .contact-page .contact-info h2 { font-size:30px; } .contact-page .contact-info-desc { font-size:14px; }
  .contact-page .contact-form-card { padding:28px 20px; } .contact-page .contact-form-header { font-size:27px; }
  .contact-page .info-cards { grid-template-columns:1fr 1fr; gap:25px 18px; } .contact-page .info-card { padding-left:13px; }
  .contact-page .info-card-value { font-size:14px; }
  .contact-page .info-card-value span { font-size:12px; }
  .contact-page .info-card-label { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .process-stage-toggle { transition:none; } }
@media(min-width:601px) and (max-width:760px) {
  .collection-project-intro { grid-template-columns:1fr; gap:26px; }
}
/* Replace the inherited two-plus-one tablet tab arrangement deliberately. */
@media(min-width:601px) and (max-width:850px) {
  #o4Tabs { display:flex!important; grid-template-columns:none!important; gap:0!important; padding:0!important; margin:0 0 32px!important; border-bottom:1px solid #cdbfaba6!important; }
  #o4Tabs .o4-tab { flex:1; width:auto!important; background:transparent!important; text-align:left; font-size:11px!important; padding:15px 12px 15px 0!important; border:0!important; border-bottom:2px solid transparent!important; }
  #o4Tabs .o4-tab.active { color:#01173e!important; background:transparent!important; border-bottom-color:#9a7946!important; }
  .o4-panel,.js .o4-panel.active { flex-direction:column!important; padding:0!important; gap:30px!important; }
  .o4-panel-img { flex:none!important; width:100%!important; height:360px!important; }
  .o4-panel-title { font-size:30px!important; }
  .o4-panel-num { font-size:34px!important; }
  .o4-panel-desc,.o4-panel-desc2 { font-size:15px!important; }
}

/* Revision10: shared reading rhythm, with display type reserved for short headings. */
.hero-heading { font-size:clamp(48px,4.8vw,66px); line-height:1.12; max-width:11.5em; }
.hero-left { max-width:700px; }
.hero-text { max-width:46ch; }
.practice-heading { max-width:760px; }
.experience-intro { line-height:1.85; max-width:36ch; }
.o4-panel-desc,.o4-panel-desc2 { font-size:16px!important; line-height:1.85; max-width:48ch; }
.o4-panel-desc2 { margin-top:18px; }
.collection-project-copy p,.collection-dry-creek-copy p,.collection-work-card-copy p,.collection-section-heading p { max-width:61ch; font-size:16px; line-height:1.85; text-wrap:pretty; }
.collection-work-card h3,.collection-dry-creek-card h3 { font-size:33px; line-height:1.25; text-wrap:balance; }
.collection-bio { max-width:59ch; }
.contact-page .contact-info-desc { max-width:50ch; font-size:16px; line-height:1.85; text-wrap:pretty; }
.contact-page .contact-hero-description { max-width:50ch; font-size:16px; line-height:1.85; }
.process-stage-body .process-step-text { font-size:16px; line-height:1.85; }
.process-stage-body .process-expect { font-size:14px; line-height:1.85; }
@media(max-width:850px) {
 .hero-heading { font-size:clamp(44px,6.7vw,58px); }
 .experience-heading-group { align-items:start; }
 .collection-header { grid-template-columns:1.5fr 1fr; }
 .collection-project-copy p,.collection-dry-creek-copy p,.collection-work-card-copy p { font-size:16px; }
}
@media(max-width:600px) {
 .experience-heading-group { gap:18px; }
 .home-page .hero { padding-bottom:45px; }
 .hero-tag { font-size:10px; line-height:1.9; }
 .hero-text { font-size:15px; line-height:1.8; margin-bottom:24px; }
 .about .principle p,.experience-intro { font-size:16px; line-height:1.85; }
 .about .principle h3 { font-size:27px; }
 .o4-panel-header { gap:14px!important; }
 .o4-panel-desc,.o4-panel-desc2 { font-size:16px!important; }
 .process-description { font-size:16px; line-height:1.85; }
 .process-subheading { font-size:20px; line-height:1.5; }
 .process-stage .process-stage-heading { font-size:12px; }
 .collection-work-card h3,.collection-dry-creek-card h3 { font-size:30px; }
 .collection-header .collection-intro,.contact-page .contact-hero-description { font-size:16px; }
 .contact-page .contact-info-desc { font-size:16px; }
}
