/* U-026: consistent typography and complete service catalogue. */
.page-intro h1{overflow-wrap:anywhere;max-width:1100px;text-wrap:balance}
.service-intro h1{font-size:clamp(2rem,4.6vw,4.7rem);line-height:1.12;letter-spacing:-.035em}
.service-intro .eyebrow{line-height:1.65;letter-spacing:.09em}
.back-link{display:inline-block;margin-bottom:30px;text-decoration:underline;text-underline-offset:5px;font-size:.875rem}
.service-links{display:flex;gap:26px;flex-wrap:wrap;align-items:center;margin-top:30px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:8vw;align-items:start}
.detail-copy{max-width:780px;font-size:1.05rem;line-height:1.75}
.detail-copy h2{font:600 clamp(1.6rem,2.6vw,2.5rem)/1.2 Manrope,Arial,sans-serif!important;margin:56px 0 24px;letter-spacing:-.025em!important}
.detail-copy h2:first-of-type{margin-top:18px}.detail-copy h3{font-size:1.2rem;line-height:1.4;margin:28px 0 12px}
.detail-note{border-left:3px solid currentColor;padding:1px 24px;margin:35px 0;background:#00000005}
.detail-aside{border:1px solid #7775;padding:28px;line-height:1.75}.detail-aside h3{line-height:1.35;font-size:1.3rem}.detail-aside .button{gap:20px;padding:16px 20px}.detail-aside hr{border:0;border-top:1px solid #7775;margin:32px 0}
.related-services{display:grid;gap:18px;font-size:.9rem}.related-services a{text-decoration:underline;text-underline-offset:4px}
.detail-faq details{border-bottom:1px solid #7775;padding:22px 0}.detail-faq summary{cursor:pointer;font-weight:600;line-height:1.5}.detail-faq p{margin-bottom:0}.detail-copy .source-note{margin-top:40px;font-size:.85rem}.detail-copy .source-note a{overflow-wrap:anywhere;text-decoration:underline}
.catalog ul{padding:0;list-style:none}.catalog li{padding:0!important}.catalog-item{display:block;padding:23px 0;border-bottom:1px solid #7773}.catalog-item strong{font-size:1.1rem;font-weight:600;line-height:1.5}.catalog-item p{max-width:76ch;font-size:.95rem;line-height:1.65;margin:8px 0;color:#46534c}.catalog-item:hover strong{text-decoration:underline;text-underline-offset:5px}
.catalog-search{display:block;max-width:640px;margin:0 0 24px;font-size:.9rem}.catalog-search input{display:block;width:100%;padding:17px 18px;margin-top:10px;background:transparent;border:1px solid #7778;color:inherit;border-radius:0}.catalog-empty{padding:25px 0}
.design-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.design-card{border:1px solid #7775;min-width:0}.design-sample{background:var(--sample-bg);color:var(--sample-text);padding:40px;min-height:355px}.design-sample>span{font-size:.75rem;letter-spacing:.13em}.design-sample h2{font:500 3.15rem/1.1 Manrope,Arial,sans-serif!important;color:var(--sample-text);margin:28px 0 18px!important}.design-sample p{color:var(--sample-text)!important;font-size:.9rem}.sample-reference .design-sample h2,.sample-burgundy .design-sample h2,.sample-sand .design-sample h2{font-family:Georgia,serif!important}.sample-button{display:inline-block;border-bottom:1px solid var(--sample-accent);color:var(--sample-accent);padding:14px 0;font-size:.9rem}.sample-blue .design-sample h2{font-weight:700!important}.sample-blue .design-sample{border-top:8px solid var(--sample-accent)}.sample-architecture .design-sample{background-image:linear-gradient(#285d4c0a 1px,transparent 1px),linear-gradient(90deg,#285d4c0a 1px,transparent 1px);background-size:32px 32px}.design-description{padding:32px;line-height:1.7}.design-description h3{font-size:1.8rem;margin:20px 0 10px}.palette{display:flex;flex-wrap:wrap;gap:18px;font-size:.7rem;margin:25px 0}.palette i{display:block;width:45px;height:28px;border:1px solid #8885;margin-bottom:6px}.design-description .text-link{display:block;margin-top:20px}.font-spec{max-width:850px;margin-top:70px;line-height:1.75}
html[data-theme=architecture] .hero-layout{grid-template-columns:1.12fr 1fr;gap:4%}html[data-theme=architecture] .hero-visual{position:relative;right:auto;top:auto;bottom:auto;width:100%;height:85%;align-self:center;clip-path:none}html[data-theme=architecture] .hero h1{font-size:clamp(2.8rem,4.6vw,5rem);letter-spacing:-.055em}html[data-theme=architecture] .solution-card{border-top:3px solid var(--gold)}
html[data-theme=blue] .hero h1{font-weight:700;letter-spacing:-.055em}html[data-theme=blue] .solution-card{border:1px solid var(--line);padding:30px}html[data-theme=blue] .solution-grid{gap:22px}html[data-theme=blue] .page-intro{padding-top:65px;padding-bottom:65px}
html[data-theme=reference] .page-intro h1,html[data-theme=burgundy] .page-intro h1{font-family:Georgia,serif;font-weight:400}
html:is([data-theme=reference],[data-theme=burgundy],[data-theme=dark]) .light{--gold:#765423;--muted:#46534c}.light .source-note{color:#46534c}.light .catalog summary span{color:#765423}
@media(min-width:701px) and (max-width:1150px){.site-header{gap:15px}.brand-small{letter-spacing:.09em}.nav{gap:15px}html[data-theme=burgundy] .brand-name{font-size:1.65rem}.nav-cta{display:none}.detail-layout{gap:35px;grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:700px){.detail-layout,.design-grid{grid-template-columns:1fr}.detail-aside{margin-top:35px}.detail-copy{font-size:1rem}.design-sample{padding:28px;min-height:330px}.design-description{padding:25px}.design-sample h2{font-size:2.7rem!important}.service-intro h1{font-size:2.05rem}.service-links{gap:20px}.style-picker{bottom:14px}.footer{padding-bottom:135px}.hero{min-height:0!important;height:auto!important;padding-bottom:105px}.hero-copy{padding-bottom:0}.hero-visual,html[data-theme=architecture] .hero-visual{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;height:280px!important;width:100%;margin-top:35px}.hero-layout{display:block!important}.hero-bottom{flex-wrap:wrap;gap:8px}.brand-small{font-size:.47rem;letter-spacing:.09em}.site-header{gap:12px}html[data-theme=burgundy] .brand-name{font-size:1.4rem}.menu-toggle{padding:10px;flex-shrink:0}.catalog summary{overflow-wrap:anywhere}.style-panel{max-height:calc(100svh - 150px);overflow:auto}.detail-copy .button{max-width:100%}.page-intro p{font-size:1rem}}
.button{max-width:100%;gap:18px}.button>.arrow{flex-shrink:0}
@media(max-width:380px){html[data-theme] .hero h1{font-size:2rem;line-height:1.12;letter-spacing:-.04em}.hero .button{padding:16px 14px;font-size:.8rem}.service-intro h1{font-size:1.8rem}.site-header .brand-small{font-size:.4rem}html[data-theme=burgundy] .brand-name{font-size:1.15rem}}
@media(max-width:700px){.service-row{grid-template-columns:28px minmax(0,1fr) 25px}.service-row h3{overflow-wrap:anywhere}}
@media(max-width:380px){.service-row h3{font-size:1.15rem}}
