/* Quieter presentation; loaded after the original brand styles. */
html { scroll-behavior:auto; }
.page-hero { min-height:0; }
.page-hero-copy { min-height: 260px; padding-block: 48px; }
.page-hero-media { min-height: 260px; max-height: 360px; }
.page-hero h1 { font-size: clamp(38px, 5vw, 66px); letter-spacing: -.035em; }
.page-section,.about-intro,.advantages,.references-intro,.before-after,.direct-cta { padding-block: 60px; }
.section-index { font-size: 12px; letter-spacing: .06em; }
.services-heading h2,.about-copy h2,.advantages-head h2,.references-intro h2,.project-heading h2,.direct-cta h2,.references-cta > p,.service-cta h2 { font-size: clamp(28px,3.5vw,46px); line-height: 1.12; letter-spacing: -.025em; }
.statement { min-height: 0; padding: 64px var(--gutter); }
.statement h1 { max-width: 860px; font: 700 clamp(32px,4.5vw,58px)/1.12 var(--display); letter-spacing: -.025em; margin: 0 0 20px; }
.statement > p:not(.since) { max-width: 700px; font-size: 19px; line-height: 1.6; }
.statement .since { position: static; text-align: right; margin-top: 20px; }
.services { padding-top: 56px; }
.services-heading { padding-bottom: 36px; }
.service-card { min-height: 220px; padding: 26px; }
.service-card .number,.advantage > span { display: none; }
.service-card svg { width: 40px; height: 40px; margin-bottom: 22px; }
.service-card h3 { font-size: 25px; line-height: 1.15; }
.service-card:hover { background: #20201d; color: var(--paper); }
.service-card:hover svg { color: var(--yellow); transform: none; }
.service-card:hover ul { color: #aaa99f; }
.cta { min-height: 52px; font-size: 16px; gap: 24px; padding: 16px 22px; }
.cta:hover { transform: none; }
.featured-work { padding: 64px var(--gutter); background: var(--paper); color: var(--black); }
.featured-work h2 { font: 700 clamp(28px,3vw,42px)/1.15 var(--display); }
.featured-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.featured-grid figure { margin: 0; }
.featured-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.featured-grid figcaption { padding: 16px 0; line-height: 1.5; }
.featured-grid strong { display: block; }
.service-list { padding-bottom:60px; }
.service-list-grid { display: block; background: transparent; border-left:0; }
.service-detail { min-height:0; background: transparent; padding: 24px 0; border-right:0; border-bottom: 1px solid #b9b6ad; scroll-margin-top: 24px; }
.service-detail summary { display: flex; align-items: baseline; justify-content: space-between; gap:24px; cursor:pointer; list-style:none; }
.service-detail summary::-webkit-details-marker { display:none; }
.service-detail summary::after { content:'+'; font-size:24px; }
.service-detail[open] summary::after { content:'−'; }
.service-detail summary h2 { font:700 clamp(22px,2.4vw,30px)/1.2 var(--display); margin:0; }
.service-detail summary p { margin:10px 0 0; max-width:700px; }
.service-detail .service-body { max-width:800px; padding:20px 0 4px; line-height:1.65; }
.service-detail summary:focus-visible { outline:2px solid #9a7800; outline-offset:6px; }
.service-body ul { padding-left:22px; }
.service-body p + p,.service-body h3 { margin-top:16px; }
.service-body a { text-underline-offset:4px; }
.advantages-head { padding-bottom:32px; }
.advantage { min-height:0; padding:28px; }
.advantage svg { width:44px; height:44px; margin:0 0 24px; }
.advantage h3 { font-size:24px; }
.about-portrait img { filter:none; }
.contact-heading { padding:40px var(--gutter) 0; }
.contact-heading h1 { font:700 clamp(34px,4vw,52px)/1.1 var(--display); margin:0; }
.contact-section { padding-block:40px 64px; gap:48px; }
.contact-aside { position:static; }
.contact-aside h2 { margin:0 0 20px; font:700 28px/1.2 var(--display); letter-spacing:-.02em; }
.contact-facts { margin-top:28px; }
.contact-form { padding:28px; gap:20px; }
.contact-form input,.contact-form textarea,.contact-form select { font-weight:400; line-height:1.5; letter-spacing:normal; }
.contact-form label { font-weight:600; letter-spacing:.04em; }
.contact-form button { min-height:52px; font-size:16px; }
.contact-form button:disabled { opacity:.55; cursor:not-allowed; }
.form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.project-card > p { font-size:14px; line-height:1.55; margin:8px 0; color:#54544e; }
.project-card { display:flex; flex-direction:column; min-width:0; }
.project-card > .project-open { flex:none; }
.project-card > .service-link { align-self:flex-start; margin-top:auto; }
.project-badge { background:var(--black); color:white; font-weight:600; }
.project-open:hover img { transform:none; }
.project-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; padding:12px 0; }
.project-filters { display:flex; flex-wrap:wrap; gap:6px; min-width:0; flex:1; }
.project-filters button { min-height:44px; padding:10px 12px; border:1px solid #c6c3ba; background:transparent; color:#55534e; font-size:12px; font-weight:600; cursor:pointer; }
.project-filters button:hover { border-color:var(--black); color:var(--black); }
.project-filters button[aria-pressed="true"] { background:var(--black); border-color:var(--black); color:var(--yellow); }
.project-toolbar #project-count { margin:0; font-size:12px; }
.references-heading { padding:48px var(--gutter) 36px; border-bottom:1px solid #d4d1c8; }
.references-heading h1 { margin:0 0 16px; font:700 clamp(38px,4.5vw,60px)/1.1 var(--display); letter-spacing:-.035em; }
.references-heading p { margin:0; max-width:650px; font-size:17px; line-height:1.6; color:#55534e; }
.footer-legal a,.footer-social a,.service-link { display:inline-flex; align-items:center; min-height:44px; }
.project-card[data-website] .project-open img { object-fit:contain; background:#e7e3d8; }
.viewer-caption .viewer-description { margin:8px auto; max-width:760px; line-height:1.5; }
.viewer-website { display:inline-block; padding:10px; color:var(--yellow); font-size:14px; text-underline-offset:4px; }
.viewer-website[hidden] { display:none; }
.services-intro h2,.before-after-head h2 { font-size:clamp(28px,3.5vw,46px); line-height:1.15; letter-spacing:-.025em; }
.quote-builder { padding:60px var(--gutter); background:#fff; }
.quote-builder h2 { font:700 clamp(28px,3vw,42px)/1.15 var(--display); }
.quote-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; }
.quote-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.quote-fields label { display:grid; align-content:start; gap:8px; font-size:14px; }
.quote-fields input,.quote-fields select,.quote-fields textarea { width:100%; min-height:46px; padding:10px; border:1px solid #8d8a82; border-radius:0; font:inherit; }
.quote-fields .full { grid-column:1/-1; }
.quote-fields [hidden] { display:none; }
.quote-result { border:1px solid #b9b6ad; padding:24px; align-self:start; }
.quote-result dl > div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid #ddd; }
.quote-result dd { margin:0; text-align:right; }
.quote-result p { line-height:1.55; }
.quote-result a { margin-top:24px; }
@media(max-width:980px) {
 .footer-legal { grid-column:1; grid-row:auto; }
 .footer-social { grid-column:2; grid-row:auto; justify-content:flex-end; align-self:stretch; align-content:flex-start; padding-top:40px; border-top:1px solid rgba(255,204,7,.32); text-align:right; }
 .contact-section,.quote-layout { grid-template-columns:1fr; }
 .page-hero-media { min-height:220px; }
 .about-intro { gap:28px; }
}
@media(max-width:640px) {
 .page-hero-copy { min-height:180px; padding-block:28px; }
 .page-hero h1 { margin-top:36px; }
 .site-footer { grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:16px; }
 .footer-brand,.footer-block,.copyright { grid-column:1/-1; }
 .footer-legal { grid-column:1; }
 .footer-legal { gap:4px; }
 .footer-social { grid-column:2; }
 .featured-grid { grid-template-columns:1fr; }
 .featured-work,.quote-builder { padding-block:40px; }
 .contact-form { padding:20px; }
 .quote-fields { grid-template-columns:1fr; }
 .quote-fields .full { grid-column:1; }
 .statement { padding-block:40px; }
 .project-filters { flex-basis:100%; flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; scrollbar-width:thin; }
 .project-filters button { flex-shrink:0; }
 .project-toolbar #project-count { margin-left:auto; }
}
