@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Georgian:wght@300;400&display=swap');
/* User-supplied Luxury Elegance palette: cream, limestone, taupe, burgundy and graphite. */
:root{--gutter:clamp(22px,4.8vw,76px);--content-width:1440px;--paper:#f1ece6;--surface:#ddd5cd;--stone:#b6a697;--hero-surface:var(--paper);--ink:#2e2e2e;--muted:#635b54;--line:var(--stone);--slate:var(--ink);--accent:#7d4047;--on-dark:var(--stone);--display:'Noto Serif Georgian',Georgia,serif}
h1,h2{font-family:var(--display);font-weight:300;letter-spacing:-.025em}
.wrap{width:calc(100% - var(--gutter) * 2);max-width:var(--content-width)}
.header-inner{max-width:1660px;padding-inline:var(--gutter);gap:32px}
.site-header{background:#f1ece6f5;backdrop-filter:blur(16px);border-color:#b6a69780}
/* The outlined wordmark preserves the supplied TOMSONS lettering on every device. */
.brand{width:220px;gap:10px;align-items:center;text-align:center}
.brand>span,.site-header .brand>span,.site-footer .brand>span{display:block;width:100%;aspect-ratio:505.4/55.7;font-size:0;line-height:0;background:currentColor;-webkit-mask:url('/assets/tomsons-wordmark.svg') center/contain no-repeat;mask:url('/assets/tomsons-wordmark.svg') center/contain no-repeat}
.site-header .brand{width:230px;min-height:70px;padding:13px 22px;gap:9px;align-content:center;background:var(--accent);color:var(--paper);box-shadow:inset 0 0 0 1px #f1ece626}
.brand small{font:400 10px/1.3 Arial,sans-serif;letter-spacing:.34em;text-indent:.34em;white-space:nowrap}
.site-header .brand small{border:0;padding:0;color:var(--paper)}
.desktop-nav{gap:clamp(18px,2vw,30px);font-size:14px}
.desktop-nav a{color:var(--ink)}
.desktop-nav a::after{bottom:7px;transform-origin:right;transition:transform .25s}
.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{transform-origin:left}
.header-contact{min-height:44px;padding:0 18px;border:1px solid var(--line);gap:22px;margin-left:0;transition:border-color .2s,background .2s}
.header-contact:hover{border-color:var(--accent);background:var(--surface)}
.header-contact span,.text-link span,.hero-service-link span,.bridge-services a>span:last-child{transition:transform .22s}
.header-contact:hover span,.text-link:hover span,.hero-service-link:hover span,.bridge-services a:hover>span:last-child{transform:translate(3px,-3px)}
.text-link,.hero-service-link{min-height:44px;border-color:var(--accent)}
.eyebrow{display:flex;align-items:center;gap:13px;font-size:13px;letter-spacing:.035em}
.eyebrow::before{content:none;display:none}
h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.menu-toggle{border:1px solid var(--line);width:46px;height:44px;padding:10px}
.menu-toggle span{width:24px;transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{padding:22px var(--gutter) 40px}
.mobile-menu a{border-bottom:1px solid var(--line);font-size:clamp(23px,5.8vw,32px);padding-block:20px}

/* The house now has its own wide stage, not a narrow column beside the headline. */
.hero--build,.hero--build.is-scroll-scene{height:auto;margin:0;padding:0;background:var(--hero-surface)}
.hero--build .hero-heading{width:100%;max-width:1592px;margin-inline:auto;padding:52px var(--gutter) 32px;display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:center}
.hero-title-group,.hero-heading-copy{min-width:0}
.hero--build h1{font-size:clamp(44px,5.2vw,78px);line-height:1.3;letter-spacing:-.045em}
.hero-kicker{font-size:14px;margin-bottom:17px;gap:14px}
.hero-kicker::before{content:none;display:none}
.hero-heading-copy{padding:6px 0 6px 30px;border-left:1px solid var(--line);max-width:440px}
.hero--build .hero-summary{display:block;font-size:16px;line-height:1.9;max-width:38ch;margin:0}
.hero--build .hero-service-link{display:inline-flex;margin-top:17px;font-size:14px;gap:45px}
.build-hint{font-size:13px;margin-top:16px}
.build-track{position:relative}
.hero--build.is-scroll-scene .build-track{height:var(--build-scene-height,auto)}
.hero--build .build-panel,.hero--build.is-manual .build-panel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;justify-items:center;align-items:start;gap:0;width:100%;max-width:1720px;padding:8px 28px 16px;margin-inline:auto;background:var(--hero-surface);min-height:0}
.is-scroll-scene .build-panel{position:sticky;top:var(--header-height)}
.hero--build .build-figure{width:100%;max-width:none;margin:0}
.build-art{border:1px solid var(--line);background:var(--surface)}
.build-scan{background:var(--accent)}
.hero--build .build-figure figcaption{align-items:baseline;border-top:0;padding:10px 0;gap:12px 20px}
.build-current{max-width:none}
.build-stage-name{font-size:15px;line-height:1.7}
.hero--build .build-caption-note{max-width:none;font-size:12px;line-height:1.7;margin:0}
.hero--build .build-stage-detail{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.build-progress{width:100%;grid-column:auto}
.hero--build .build-cycle{grid-template-columns:1fr 1.3fr 1fr 1fr;gap:18px;padding:14px 0 8px;align-items:start}
.hero--build .build-cycle>li{border:0;padding:0}
.hero--build .build-cycle .cycle-title{font-size:16px;line-height:1.6;font-weight:400}
.hero--build .build-cycle .cycle-detail{display:none}
.hero--build .build-cycle .cycle-link{min-height:44px}
.construction-stages{gap:0 12px;margin-top:0}
.hero--build .construction-stages button{font-size:13px;min-height:44px;padding:4px 0 8px}
.hero--build .build-cycle a .cycle-title{transition:color .2s}

/* Consistent, editorial spacing through the main page and its detail pages. */
.home-bridge{padding-block:84px;background:var(--surface);border-top:1px solid var(--line)}
.bridge-layout{gap:8vw;align-items:start}
.bridge-intro{position:relative;padding-left:25px;border-left:1px solid var(--accent)}
.bridge-intro .eyebrow::before{display:none}
.bridge-intro h2,.reference-copy h2,.start-intro h2{line-height:1.4;letter-spacing:-.025em}
.bridge-services a{padding:21px 0;transition:color .2s,border-color .2s,background .2s}
.bridge-services a:hover{border-bottom-color:var(--accent);background:#f1ece680}
.bridge-services a small{font-size:14px}
.bridge-scope{margin-top:42px;padding-top:24px}
.bridge-scope p{font-size:14px}
.home-reference{padding-block:88px}
.reference-layout{gap:0;grid-template-columns:1.15fr .85fr;align-items:stretch}
.reference-photo{aspect-ratio:1.8}
.reference-copy{max-width:none;align-self:center;background:var(--surface);padding:clamp(28px,4vw,62px);margin-left:-24px;position:relative;z-index:1;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reference-figure figcaption{border-left:1px solid var(--accent);padding-left:14px;margin:18px 35px 0 0}
.home-start{padding-block:80px;background:var(--surface)}
.start-layout{gap:8vw}
.start-options h3{font-weight:300;font-size:24px}
.start-options summary{padding-block:22px}
.start-options details[open]{border-top-color:var(--accent);background:var(--paper)}
.start-options details{padding-inline:22px;transition:background .2s}
.start-preparation{max-width:39ch}
.reno-heading{padding-inline:var(--gutter);padding-top:56px;padding-bottom:34px}
.reno-heading h2{line-height:1.35}
.renovation-journey{--room-ink:var(--paper);--room-muted:var(--surface);background:var(--slate);border-top:1px solid #b6a69755;border-bottom:1px solid #b6a69755}
.reno-panel{background:var(--slate)}
.reno-art{background:var(--slate);border-color:#b6a69780}
.reno-heading .eyebrow,.reno-hint{color:var(--surface)}
.reno-archive-link{border-bottom-color:var(--stone)}
.reno-progress-line{background:#b6a69766}
.reno-stages button{color:var(--surface)}
.reno-stages button[aria-pressed="true"]{color:var(--paper)}
.reno-scan{background:var(--stone);box-shadow:0 0 14px #b6a69766}
.reno-heading h2 em,.reno-hint>span:first-child,.reno-archive-link>span,.reno-archive-link:hover,.reno-stages button:hover{color:var(--on-dark)}
.reno-progress-line>span,.reno-stages button::after{background:var(--on-dark)}
.renovation-journey :focus-visible{outline-color:var(--on-dark)}
.renovation-comparison{background:var(--surface);border-color:var(--line)}
.renovation-badge,.renovation-divider>span{background:var(--paper)}
.renovation-divider>span{box-shadow:0 3px 18px #2e2e2e0d}
::selection{background:var(--accent);color:var(--paper)}
.skip{color:var(--paper)}
.breadcrumb{font-size:13px;padding-top:30px;padding-bottom:20px}
.page-inner .section{padding-bottom:76px}
.page-inner .section-heading{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.page-inner h1{line-height:1.3;letter-spacing:-.03em}
.service-list summary{min-height:80px;padding-block:25px}
.service-list details{padding-inline:22px;transition:background .2s}
.service-list details[open]{border-top-color:var(--accent);background:var(--surface)}
.service-body .service-tags{font-size:13px}
.project-caption{padding-top:18px}
.project-caption strong{font-size:25px}
.project-grid{gap:70px 5vw}
.project-caption strong{font-family:var(--display);font-weight:400}
.project-image{outline:1px solid #b6a69780;outline-offset:8px}
.image-action{width:50px;height:50px;transition:background .2s,color .2s}
.project-open:hover .image-action{background:var(--accent);color:var(--paper)}
.commercial-portfolio{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;margin-top:52px;padding:clamp(28px,4.5vw,64px);border-top:2px solid var(--accent);background:var(--slate);color:var(--paper)}
.commercial-portfolio .eyebrow{color:var(--surface);margin-bottom:24px}
.commercial-portfolio h2{font-size:clamp(30px,3.5vw,48px);line-height:1.4;letter-spacing:-.025em}
.commercial-portfolio h2 em{color:inherit}
.commercial-copy{min-width:0}
.commercial-copy h3{font-size:20px;font-weight:400;line-height:1.65;margin-bottom:16px}
.commercial-copy p{font-size:16px;line-height:1.9;color:var(--surface);margin-bottom:22px}
.commercial-copy .text-link{font-size:14px;color:var(--paper);gap:24px}
.process-grid li{padding-block:30px}
.contact-band{padding-block:66px;background:var(--accent);color:var(--paper)}
.contact-band .eyebrow,.contact-band h2 em,.contact-copy .contact-pending{color:var(--surface)}
.contact-copy .contact-pending{border-color:#ddd5cd66}
.contact-band :focus-visible{outline-color:var(--paper)}
.contact-inner{align-items:end}
.contact-band h2{font-size:clamp(31px,3.25vw,48px);line-height:1.35}
.contact-copy{padding-left:28px;border-left:1px solid #ddd5cd80}
.site-footer{padding-top:40px}
.footer-main{padding-bottom:36px}
.site-footer .brand{width:220px;gap:11px}
.site-footer .brand small{color:var(--accent)}
.back-top{font-size:14px;min-height:44px}
.footer-bottom{padding-block:21px}
.icon-button:hover,.gallery-arrow:hover{background:var(--accent);color:var(--paper)}
/* Keep the partner's available source photographs close to their natural framing.
   This limits unnecessary enlargement; it does not manufacture higher resolution. */
[data-parallax="subtle"]>img{inset:-4% 0 auto;height:108%}
.project-image,.project-card:nth-child(even) .project-image{aspect-ratio:1.8}
.service-photo .motion-frame{aspect-ratio:1.85}
.gallery-stage{display:grid;place-items:center;min-height:180px;padding-block:12px}
.gallery-stage>img{width:auto;height:auto;max-width:100%;max-height:min(55vh,560px);object-fit:contain}
.page-inner .intro{background:linear-gradient(90deg,transparent 49.9%,var(--line) 50%,transparent 50.1%)}
.approach-lead{font-family:var(--display);font-weight:300}
.process-grid li{padding-inline:20px}
.process-grid li:nth-child(even){background:var(--surface)}
.renovation-scope li{background:var(--surface);padding:24px}
.renovation-scope li::before{left:24px}
dialog::backdrop{background:#2e2e2ed9}

@media(min-width:761px){
  .hero--build.is-scroll-scene .build-figure,.hero--build.is-scroll-scene .build-progress{width:min(100%,calc((100svh - var(--header-height) - 180px) * 1.5))}
}
@media(max-width:1100px){
  .header-inner{gap:22px}.desktop-nav{gap:18px;font-size:13px}.header-contact{padding-left:18px;font-size:13px}
  .site-header .brand{width:208px;padding-inline:20px}
  .hero--build .hero-heading{gap:5vw}.hero--build h1{font-size:clamp(41px,5.5vw,62px)}
  .hero--build .build-cycle{gap:12px}.hero--build .build-cycle .cycle-title{font-size:15px}
  .construction-stages{gap:0 9px}.hero--build .construction-stages button{font-size:12px}
}
@media(max-width:760px){
  .site-header .brand{width:198px;min-height:62px;padding:12px 20px;gap:8px}
  .site-header .brand small{font-size:9.5px;letter-spacing:.32em;text-indent:.32em;padding:0}
  .hero--build .hero-heading{display:block;padding:30px var(--gutter) 22px}
  .hero--build h1{font-size:clamp(38px,8.5vw,56px);line-height:1.32}.hero--build h1 br{display:none}
  .hero--build h1 span{display:block}.hero--build h1 span::before{content:none}
  .hero-kicker{font-size:13px;margin-bottom:15px}
  .hero-heading-copy{max-width:540px;padding:0;border:0;margin-top:20px}
  .hero--build .hero-summary{font-size:16px;line-height:1.8;max-width:none}
  .hero--build .hero-service-link{margin-top:8px}
  .build-hint{font-size:13px;margin-top:8px}
  .hero--build .build-panel,.hero--build.is-manual .build-panel{padding:8px 12px 16px}
  .hero--build .build-figure figcaption{display:block;padding:10px 4px}
  .hero--build .build-caption-note{display:block;text-align:left;margin-top:4px}
  .hero--build .build-cycle{grid-template-columns:1fr 1.35fr;gap:9px 20px;padding:12px 4px 4px}
  .hero--build .build-cycle>li:nth-child(n+3){padding-top:10px;border-top:1px solid var(--line)}
  .hero--build .build-cycle .cycle-title{font-size:15px}
  .hero--build .construction-stages button{font-size:12px;min-height:44px}
  .home-bridge,.home-reference,.home-start{padding-block:48px}
  .bridge-layout,.reference-layout,.start-layout{grid-template-columns:1fr;gap:30px}
  .bridge-intro{padding-left:18px}
  .bridge-intro h2,.reference-copy h2,.start-intro h2{font-size:32px;line-height:1.4}
  .bridge-services a{padding-block:18px}.bridge-services a small{font-size:14px}
  .bridge-scope{margin-top:28px;padding-top:22px}.bridge-scope p:last-child{font-size:12px}
  .reference-layout{gap:24px}.reference-copy{max-width:none;margin:0;padding:26px 24px}.reference-photo{aspect-ratio:1.65}.reference-figure figcaption{margin-top:14px}
  .start-options h3{font-size:22px}.start-options summary{padding-block:20px}
  .start-options details,.service-list details{padding-inline:15px}
  .reno-heading{padding-top:34px}
  .page-inner .section{padding-bottom:48px}.page-inner .section-heading{margin-bottom:28px}
  .service-list summary{min-height:72px;padding-block:20px}
  .project-caption strong{font-size:22px}
  .commercial-portfolio{grid-template-columns:1fr;gap:28px;margin-top:36px;padding:28px 24px}.commercial-portfolio .eyebrow{margin-bottom:18px}
  .contact-band{padding-block:45px}.contact-inner{gap:28px}.contact-band h2{font-size:34px}
  .contact-copy{padding-left:0;border-left:0}.contact-copy p{font-size:16px}
  .site-footer{padding-top:30px}.site-footer .brand{width:198px}.footer-main{padding-bottom:28px}
  .page-inner .intro{background:none}.page-inner .section-heading{padding-bottom:24px}.process-grid li{padding-inline:15px}
}
/* Trust is carried by authorship, project detail and a restrained editorial layout. */
.signature-project{padding-block:76px 36px;background:var(--paper)}
.signature-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:22px;margin-bottom:36px;border-bottom:1px solid var(--line)}
.signature-heading .eyebrow{margin:0}.signature-heading>span{font-size:14px;color:var(--muted)}
.signature-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw;align-items:center}
.signature-copy h2{font-size:clamp(32px,3.5vw,52px);line-height:1.38}.signature-copy>p{font-size:16px;color:var(--muted);max-width:39ch;margin:24px 0}
.signature-figure{margin:0;min-width:0}.signature-photo{aspect-ratio:1.8;max-width:680px;margin-left:auto}.signature-figure figcaption{font-size:13px;color:var(--muted);line-height:1.8;margin-top:14px;text-align:right}
.partner-byline{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;margin-top:38px;padding-top:26px;border-top:1px solid var(--line)}
.partner-label{display:block;color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:8px}.partner-name{font-family:var(--display);font-size:24px;line-height:1.6}.partner-name:hover{color:var(--accent)}
.partner-byline p{font-size:14px;color:var(--muted);margin:0;max-width:29ch}.partner-more{display:inline-flex;align-items:center;gap:22px;min-height:44px;font-size:14px}.partner-more span{color:var(--accent);font-size:22px}
.quality-note{padding-block:58px 64px;background:var(--paper)}.quality-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;border-top:1px solid var(--line);padding-top:42px}.quality-layout h2{font-size:clamp(30px,3vw,44px);line-height:1.45}.quality-layout .text-link{margin-top:26px}
.quality-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}.quality-principles article{padding-top:18px;border-top:1px solid var(--accent)}.quality-principles h3{font-size:20px;line-height:1.6;font-weight:400;margin-bottom:16px}.quality-principles p{font-size:16px;color:var(--muted);line-height:1.85;margin:0}
.partner-profile{background:var(--slate);color:var(--paper);padding-block:64px}.partner-profile .eyebrow{color:var(--surface)}.partner-profile-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;align-items:start}.partner-profile h2{font-size:clamp(34px,4vw,58px);line-height:1.4}.partner-profile .partner-studio{font:14px/1.8 Arial,sans-serif;letter-spacing:.07em;color:var(--surface);margin-top:20px}.partner-profile-copy>p{color:var(--surface);font-size:16px}.partner-profile .text-link{color:var(--paper);border-color:var(--on-dark);margin-top:12px}.partner-profile .text-link span{color:var(--on-dark)}.partner-profile :focus-visible{outline-color:var(--on-dark)}
.role-note{border-top:1px solid #ddd5cd66;margin-top:28px;padding-top:20px;color:var(--surface);font-size:14px;line-height:1.9}.role-note strong{font-weight:500;color:var(--paper)}
.project-clarity{padding-block:64px;background:var(--surface)}.clarity-heading{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;align-items:end;margin-bottom:34px}.clarity-heading>p{color:var(--muted);margin:0;font-size:16px;max-width:49ch}.clarity-list{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.clarity-list article{border-top:1px solid var(--line);padding:24px 0}.clarity-list h3{font-size:23px;margin-bottom:12px}.clarity-list p{font-size:16px;color:var(--muted);margin:0;max-width:58ch}.clarity-note{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin:8px 0 0}
.case-hero{padding-block:24px 58px}.case-heading{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end;margin-bottom:34px}.case-heading h1{font-size:clamp(40px,5vw,70px);line-height:1.3}.case-heading>p{color:var(--muted);font-size:17px;max-width:45ch;margin:0}.case-cover-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:6vw;align-items:center}.case-cover{margin:0;min-width:0}.case-cover img,.case-image img{display:block;width:100%;max-width:680px;height:auto;margin-inline:auto}.case-cover figcaption,.case-image figcaption{font-size:13px;color:var(--muted);line-height:1.8;margin:14px 0 0}.case-facts{margin:0}.case-facts>div{padding:17px 0;border-top:1px solid var(--line)}.case-facts dt{font-size:13px;color:var(--muted);margin-bottom:6px}.case-facts dd{font-size:16px;line-height:1.7;margin:0}.case-authorship{font-size:14px;line-height:1.85;color:var(--muted);padding-left:18px;border-left:1px solid var(--accent);margin:28px 0 0}
.case-story{background:var(--surface);padding-block:60px}.case-row{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}.case-image{margin:0;min-width:0}.case-copy h2{font-size:clamp(30px,3vw,44px);line-height:1.4}.case-copy>p:not(.eyebrow){color:var(--muted);font-size:16px;margin:22px 0 0}.case-materials{display:flex;flex-wrap:wrap;gap:12px 24px;padding:18px 0 0;border-top:1px solid var(--line);margin:24px 0 0;list-style:none;font-size:14px;color:var(--muted)}
.case-plan{padding-block:64px}.case-plan .case-row{grid-template-columns:.85fr 1.15fr}.plan-image{background:var(--paper);outline:1px solid var(--line);outline-offset:10px}.case-closing{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;margin-top:44px;border-top:1px solid var(--line);padding-top:24px}.case-closing p{font-size:14px;color:var(--muted);max-width:65ch;margin:0}.case-closing a{font-size:14px;text-decoration:underline;text-underline-offset:5px;line-height:1.8;min-height:44px;display:flex;align-items:center}.case-return{padding-block:30px 46px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:26px}.case-return a{min-height:44px;display:flex;align-items:center;gap:25px;font-size:14px;color:var(--accent)}
@media(max-width:1100px){.quality-principles{grid-template-columns:1fr;gap:18px}.quality-principles article{display:grid;grid-template-columns:1fr 1.2fr;gap:22px}.quality-principles h3{font-size:19px;margin:0}.partner-byline{grid-template-columns:1fr auto}.partner-byline>p{display:none}}
@media(max-width:760px){.signature-project{padding-block:44px 28px}.signature-heading{display:block;margin-bottom:28px;padding-bottom:18px}.signature-heading>span{display:block;margin-top:10px;font-size:13px}.signature-layout{grid-template-columns:1fr;gap:28px}.signature-copy h2{font-size:36px}.signature-copy h2 br:first-child{display:none}.signature-copy>p{max-width:none;margin:20px 0}.signature-figure figcaption{text-align:left}.partner-byline{grid-template-columns:1fr;gap:12px;padding-top:22px;margin-top:26px}.partner-name{font-size:25px}.quality-note{padding-block:24px 44px}.quality-layout{grid-template-columns:1fr;gap:30px;padding-top:30px}.quality-layout h2{font-size:32px}.quality-principles article{display:block}.quality-principles h3{font-size:21px;margin-bottom:10px}.quality-principles{gap:24px}.partner-profile{padding-block:44px}.partner-profile-inner,.clarity-heading{grid-template-columns:1fr;gap:24px}.partner-profile h2{font-size:39px}.partner-profile .partner-studio{margin-bottom:0}.project-clarity{padding-block:44px}.clarity-heading h2{font-size:32px}.clarity-list{grid-template-columns:1fr}.clarity-list article{padding-block:21px}.case-hero{padding-block:18px 40px}.case-heading,.case-cover-layout,.case-row,.case-plan .case-row{grid-template-columns:1fr;gap:26px}.case-heading h1{font-size:40px}.case-heading{margin-bottom:26px}.case-cover{grid-row:1}.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.case-facts>div{padding:14px 0}.case-facts dd{font-size:15px}.case-authorship{margin-top:20px}.case-story,.case-plan{padding-block:42px}.case-copy h2{font-size:32px}.case-story .case-copy{grid-row:1}.case-closing{grid-template-columns:1fr;gap:14px;margin-top:32px}.case-return{display:block;padding-bottom:26px}.case-return a{margin-bottom:8px}.breadcrumb{flex-wrap:wrap;gap:10px}}
@media(prefers-reduced-motion:reduce){
  .hero--build.is-scroll-scene .build-track{height:auto}
  .header-contact span,.text-link span,.hero-service-link span,.bridge-services a>span:last-child,.desktop-nav a::after,.menu-toggle span,.image-action{transition:none;transform:none}
}
/* Service categories and execution phases stay separate; management spans the cycle. */
.service-management{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
.service-management h2{font-size:1.125rem;line-height:1.6;margin:0 0 10px}
.service-management p,.service-sequence-note{font-size:1rem;line-height:1.9;color:var(--muted)}
.service-sequence-note{margin:22px 22px 0}
.service-body h4{font-size:1rem;line-height:1.8;font-weight:500;color:var(--ink);margin:0 0 8px}
.service-subsection{margin-top:20px;scroll-margin-top:120px}
.project-types{background:var(--surface)}
.project-types h2{font-size:clamp(30px,3.2vw,44px);line-height:1.45}
.project-types .service-list details[open]{background:var(--paper)}
.project-types .service-body .text-link{font-size:.875rem;margin-top:16px}
.page-inner .renovation-scope{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.role-note>p{margin:8px 0 0}
.page-inner .approach-lead br{display:initial}
@media(max-width:1100px){.page-inner .renovation-scope{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.page-inner .renovation-scope{grid-template-columns:1fr}.service-sequence-note{margin-inline:15px}.project-types h2{font-size:32px}}
