:root{--paper:#f5f4ee;--surface:#eaece4;--ink:#232c29;--muted:#59635c;--line:#ced2c8;--accent:#526444;--button:#526444;--button-text:#fff;--sand:#d5bd91;--header:#fafaf6;--field:#fff;--dark:#202c29;color-scheme:light;font-family:Arial,Helvetica,sans-serif;font-size:16px}
html[data-theme=dark]{--paper:#1b2523;--surface:#25312d;--ink:#f0f1e9;--muted:#b8c1b8;--line:#435047;--accent:#c5d0aa;--button:#c5d0aa;--button-text:#202c29;--header:#1b2523;--field:#26322e;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:205px}
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.6}
a{color:inherit;text-decoration:none}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
img{display:block;width:100%;height:auto}
figure{margin:0}
p{margin:0 0 1.2rem;color:var(--muted)}
h1,h2,h3{font-weight:400;line-height:1.06;letter-spacing:-.05em;margin:0}
h1{font-size:clamp(3rem,5.5vw,5.5rem)}
h1 span{color:var(--accent)}
h2{font-size:clamp(2.1rem,3.7vw,3.7rem)}
h3{font-size:1.5rem;letter-spacing:-.03em}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.wrap{width:calc(100% - 112px);max-width:1320px;margin-inline:auto}
.section{padding-block:100px}
.eyebrow{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:24px}
.lead{font-size:1.12rem;line-height:1.65;max-width:550px}
.small,small{font-size:.875rem}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:16px 22px;min-height:54px;background:var(--button);color:var(--button-text);border:1px solid transparent;font-weight:600;font-size:.94rem;cursor:pointer;transition:background .2s,transform .2s}
.button:hover{transform:translateY(-2px);filter:brightness(1.09)}
.button span{font-size:1.35rem;font-weight:400}
.text-link{display:inline-block;width:fit-content;font-size:.95rem;font-weight:600;padding:10px 0;border-bottom:1px solid currentColor}
.text-link:hover{color:var(--accent)}
.skip{position:fixed;left:20px;top:-100px;padding:15px;background:var(--ink);color:var(--paper);z-index:300}
.skip:focus{top:12px}
.logo-dark{display:none}
html[data-theme=dark] .logo-light{display:none}
html[data-theme=dark] .logo-dark{display:block}
.icon-button{border:1px solid var(--line);background:transparent;color:var(--ink);min-width:44px;min-height:44px;cursor:pointer;padding:8px}
.theme-toggle{border-radius:50%;font-size:1.35rem;line-height:1}
.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto;min-height:625px}
.hero-copy{padding:70px 45px 34px max(56px,calc((100vw - 1320px)/2));display:flex;flex-direction:column;align-items:flex-start}
.hero h1{font-size:clamp(3.1rem,5.25vw,5.1rem);margin-bottom:25px;line-height:1.01}
.hero .lead{max-width:475px;font-size:1.05rem}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:9px;flex-wrap:wrap}
.hero-actions .text-link{font-size:.9rem}
.hero-foot{font-size:.75rem;margin:38px 0 0;letter-spacing:.02em}
.hero-image{position:relative;min-width:0;display:flex;flex-direction:column;background:var(--surface)}
.hero-image>img{height:100%;min-height:0;flex:1;object-fit:cover;object-position:48% center}
.hero-image figcaption{background:var(--dark);color:#f5f4ee;padding:19px 30px;display:flex;justify-content:space-between;gap:20px;font-size:.875rem}
.hero-image figcaption a{white-space:nowrap}
.hero-image figcaption a span{padding-left:12px}
.credentials{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding-block:32px;gap:35px}
.credentials>div{display:flex;align-items:center;gap:20px}
.credentials>div+div{border-left:1px solid var(--line);padding-left:32px}
.credentials p{font-size:.82rem;margin:0;line-height:1.7}
.credentials strong,.credentials p>span,.credentials p>a{display:block}
.credentials strong{color:var(--ink);font-weight:600}
.credential-mark{font-size:1.25rem;font-weight:700;color:var(--accent);letter-spacing:-.04em}
.credential-mark>span{font-size:.6rem;margin-left:2px}
.service-overview{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.section-intro p:not(.eyebrow){max-width:400px;margin-top:27px}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:40px 1fr 25px;gap:14px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line);transition:padding .2s,color .2s}
.service-row:hover{padding-inline:12px;color:var(--accent)}
.service-row .number{font-size:.75rem;color:var(--muted)}
.service-row h3{font-size:1.5rem}
.service-row>span:last-child{font-size:1.6rem}
.work-section{background:var(--surface)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}
.work-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:36px;align-items:start}
.work-grid figure>img{aspect-ratio:1.45;object-fit:cover}
.work-grid .work-secondary{margin-top:100px}
.work-grid .work-secondary>img{aspect-ratio:1.1;object-fit:cover;object-position:center bottom}
.work-grid figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:22px}
.work-grid figcaption .eyebrow{font-size:.7rem;margin-bottom:10px}
.work-grid figcaption h3{font-size:1.6rem;max-width:350px}
.work-grid figcaption>a{border:1px solid var(--line);height:44px;min-width:44px;text-align:center;font-size:1.5rem;line-height:42px}
.process{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.process-list{list-style:none;padding:0;margin:0}
.process-list li{display:flex;gap:28px;border-top:1px solid var(--line);padding:27px 0}
.process-list li>span{color:var(--accent);font-size:.85rem}
.process-list h3{font-size:1.45rem;margin-bottom:13px}
.process-list p{font-size:.95rem;margin:0}
.warranty{background:#24322e;color:#f3f2e9;padding-block:80px}
.warranty-inner{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:center}
.warranty .eyebrow{color:var(--sand)}
.warranty h2{margin-bottom:25px}
.warranty p{color:#d0d7cf;max-width:590px}
.warranty .warranty-note{font-size:.85rem;color:#b7c0b8}
.warranty .text-link{color:var(--sand)}
.warranty-type{border-block:1px solid #788273;padding:27px 0;text-align:center;color:var(--sand);max-width:330px}
.warranty-type>span{font-size:.73rem;letter-spacing:.15em}
.warranty-type strong{font-size:9rem;line-height:1.1;font-weight:400;display:block;letter-spacing:-.07em}
.warranty-type strong span{font-size:1rem;letter-spacing:.13em;margin-left:15px}
.areas{display:grid;grid-template-columns:1fr 1fr;gap:130px}
.areas h2{margin-bottom:25px}
.areas p{max-width:440px}
.area-list>span{display:flex;justify-content:space-between;font-size:2.5rem;line-height:1.5;letter-spacing:-.04em;border-bottom:1px solid var(--line);padding:10px 0}
.area-list small{letter-spacing:0;color:var(--accent);padding-top:15px}
.area-list p{font-size:.85rem;margin-top:20px}
.faq-section{border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.faq details{padding:23px 0;border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-size:1.05rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';color:var(--accent);font-size:1.3rem}
.faq details[open] summary:after{content:'−'}
.faq p{font-size:.95rem;margin:18px 30px 0 0}
.final-cta{background:var(--surface);padding-block:70px}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:55px}
.cta-inner h2{font-size:clamp(2rem,3vw,3rem)}
.cta-inner>div:last-child{display:flex;flex-direction:column;gap:12px;flex-shrink:0}
.footer{background:#17231f;color:#ebeee5;padding-top:64px}
.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:65px;padding-bottom:45px}
.footer img{width:280px;max-height:160px;object-fit:contain;object-position:left;margin-bottom:20px}
.footer p{color:#b5beb5;font-size:.85rem}
.footer h2{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--sand);margin:10px 0 25px}
.footer a{display:block;margin-bottom:10px;font-size:.92rem}
.footer a:hover{text-decoration:underline}
.footer .footer-phone{font-size:1.55rem;margin-bottom:18px}
.legal{border-top:1px solid #39463e;display:flex;justify-content:space-between;gap:25px;padding-block:24px}
.legal p{font-size:.72rem;margin:0}
.mobile-actions{display:none}
.page-intro{padding-block:80px 60px}
.page-intro h1{margin-bottom:28px}
.page-intro .lead{max-width:650px}
.service-jumps{display:flex;flex-wrap:wrap;gap:12px 25px;padding-bottom:45px}
.service-jumps a{padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.service-detail{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:65px 0;border-top:1px solid var(--line);scroll-margin-top:10px}
.service-detail h2{font-size:2.7rem;margin-bottom:24px}
.service-detail p{max-width:650px}
.service-detail .button{margin-top:12px}
.service-details{padding-bottom:40px}
.project-story{padding-bottom:80px}
.project-story>figure img{aspect-ratio:2;object-fit:cover}
.project-description{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;padding-top:35px}
.project-description h2{font-size:2.8rem;margin-bottom:22px}
.project-description p{max-width:630px}
.project-description .button{margin-top:6px}
.residential-gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:25px}
.residential-gallery img{height:100%;aspect-ratio:1.2;object-fit:cover}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}
.contact-intro h1{font-size:clamp(3rem,4.7vw,4.7rem);margin-bottom:28px}
.contact-phone{display:inline-block;font-size:1.7rem;letter-spacing:-.025em;border-bottom:1px solid var(--line);padding-bottom:8px;margin:15px 0}
.contact-area{padding-top:30px}
.contact-area .eyebrow{margin-bottom:15px}
.form-panel{background:var(--surface);padding:36px}
.form-panel h2{font-size:2rem;margin-bottom:14px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:.85rem;font-weight:600}
.field label span{font-weight:400;color:var(--muted)}
input,select,textarea{border:1px solid var(--line);background:var(--field);color:var(--ink);padding:12px;width:100%;min-height:48px;border-radius:0;min-width:0}
textarea{resize:vertical}
input[type=file]{font-size:.8rem;padding:10px}
input::file-selector-button{font:inherit;padding:7px 10px;background:var(--paper);color:var(--ink);border:1px solid var(--line);margin-right:10px}
.field small{font-size:.75rem;color:var(--muted)}
form>.small{font-size:.78rem;margin:22px 0}
form>.small a{text-decoration:underline}
.form-status{margin-top:20px;border-left:3px solid var(--accent);padding-left:15px;color:var(--ink)}
.prose{max-width:780px;padding-bottom:80px}
.prose h2{font-size:1.6rem;margin:30px 0 15px}
.prose a{text-decoration:underline}
.thank-you{min-height:60vh}
.thank-you h1{margin-bottom:35px}
.thank-you .button{margin-top:20px}
[hidden]{display:none!important}
@media(min-width:1600px){.hero-copy{padding-left:140px}}
@media(max-width:1250px){.wrap{width:calc(100% - 72px)}
.hero-copy{padding-left:36px;padding-right:32px}
.hero-actions{gap:13px}
.hero h1{font-size:4rem}
.hero{min-height:610px}
.service-overview,.process,.contact-layout{gap:60px}
.credentials{gap:20px}
.credentials>div+div{padding-left:20px}
.credentials>div{gap:14px}}
@media(max-width:960px){.wrap{width:calc(100% - 48px)}
.hero-copy{padding:55px 28px 30px 24px}
.hero h1{font-size:3.25rem}
.hero{min-height:590px}
.hero-actions{flex-direction:column;align-items:flex-start}
.hero-image figcaption{flex-direction:column;gap:4px;padding:18px}
.hero-foot{margin-top:25px}
.credentials{gap:12px}
.credentials>div{align-items:flex-start;gap:8px}
.credentials>div+div{padding-left:12px}
.credential-mark{font-size:1rem}
.credentials p{font-size:.73rem}
.section{padding-block:75px}
.service-overview,.process,.areas,.faq-grid{gap:45px}
.warranty-inner{gap:55px}
.service-row h3{font-size:1.2rem}
.work-grid{gap:24px}
.work-grid .work-secondary{margin-top:70px}
.footer-grid{gap:35px}
.footer .footer-phone{font-size:1.2rem}
.cta-inner{gap:35px}
.contact-layout{gap:35px}
.form-panel{padding:25px}
.form-grid{grid-template-columns:1fr}}
@media(max-width:800px){.hero h1{font-size:3rem}
.hero .lead{font-size:1rem}
.hero{grid-template-columns:1fr 1fr}
.credentials{grid-template-columns:1fr;gap:0;padding-block:10px}
.credentials>div{align-items:center;padding:15px 0;gap:20px}
.credentials>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}
.credential-mark{min-width:55px;font-size:1.15rem}
.credentials p{font-size:.82rem}
.credentials p>span,.credentials p>a{display:inline}
.footer-grid{grid-template-columns:1.1fr 1fr}
.footer-grid>div:first-child{grid-column:1/-1;display:flex;gap:35px;align-items:center}
.footer img{margin:0}
.footer-grid>div:first-child p{margin:0}
.contact-layout{grid-template-columns:1fr;gap:45px}
.contact-area{padding-top:15px}
.form-grid{grid-template-columns:1fr 1fr}
.contact-intro .small{display:none}
.service-detail{gap:35px;grid-template-columns:.6fr 1.4fr}}
@media(max-width:620px){html{scroll-padding-top:160px}
.wrap{width:calc(100% - 40px)}
.icon-button{min-width:44px}
.hero{display:flex;flex-direction:column}
.hero-copy{padding:43px 20px 28px}
.hero .eyebrow{font-size:.7rem;margin-bottom:20px}
.hero h1{font-size:clamp(2.9rem,10.5vw,4rem);line-height:1.02;margin-bottom:23px}
.hero h1 br:last-child{display:none}
.hero .lead{max-width:460px}
.hero-actions{flex-direction:row;align-items:center;gap:17px;margin-top:4px}
.hero-actions .button{font-size:.875rem;padding-inline:16px;gap:17px}
.hero-actions .text-link{font-size:.82rem}
.hero-foot{font-size:.7rem;margin-top:24px}
.hero-image>img{height:310px;flex:none;object-position:center 55%}
.hero-image figcaption{flex-direction:row;padding:15px 20px;font-size:.72rem}
.section{padding-block:60px}
.eyebrow{font-size:.72rem;margin-bottom:18px}
h2{font-size:2.45rem}
.service-overview,.process,.areas,.faq-grid{grid-template-columns:1fr;gap:35px}
.section-intro p:not(.eyebrow){margin-top:22px}
.service-row{padding-block:20px}
.service-row h3{font-size:1.4rem}
.section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:30px}
.section-heading h2{font-size:2.3rem}
.work-grid{grid-template-columns:1fr;gap:36px}
.work-grid .work-secondary{margin-top:0}
.work-grid .work-secondary>img{aspect-ratio:1.5}
.work-grid figcaption{margin-top:17px}
.work-grid figcaption h3{font-size:1.5rem}
.process-list li{padding:23px 0;gap:20px}
.warranty{padding-block:55px}
.warranty-inner{grid-template-columns:1fr;gap:40px}
.warranty-type{width:100%;max-width:280px;margin:auto}
.warranty-type strong{font-size:7rem}
.warranty h2{font-size:2.4rem}
.area-list>span{font-size:2rem}
.faq summary{font-size:1rem}
.cta-inner{align-items:flex-start;flex-direction:column;gap:30px}
.final-cta{padding-block:50px}
.cta-inner h2{font-size:2.2rem}
.footer{padding-top:45px;padding-bottom:70px}
.footer-grid{gap:30px;padding-bottom:30px}
.footer-grid>div:first-child{display:block}
.footer-grid>div:first-child p{margin-top:20px}
.footer img{width:225px}
.footer h2{font-size:.7rem}
.footer .footer-phone{font-size:1.2rem}
.legal{flex-direction:column;gap:15px}
.legal p{font-size:.7rem}
.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:110;display:grid;grid-template-columns:1fr 1fr;background:var(--header);border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}
.mobile-actions a{min-height:46px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;background:var(--paper);border:1px solid var(--line)}
.mobile-actions a:last-child{background:var(--button);color:var(--button-text);border-color:var(--button);gap:20px}
.page-intro{padding-block:50px 30px}
.page-intro h1{font-size:2.9rem}
.service-jumps{gap:8px 18px;padding-bottom:30px}
.service-jumps a{font-size:.8rem}
.service-detail{grid-template-columns:1fr;gap:10px;padding-block:40px}
.service-detail h2{font-size:2.25rem}
.project-story>figure img{aspect-ratio:1.25}
.project-description{grid-template-columns:1fr;gap:5px;padding-top:25px}
.project-description h2{font-size:2.3rem}
.project-story{padding-bottom:50px}
.residential-gallery{grid-template-columns:1fr;gap:20px}
.residential-gallery img{aspect-ratio:1.4}
.contact-layout{gap:28px}
.contact-intro h1{font-size:3.25rem}
.contact-phone{font-size:1.5rem}
.form-panel{padding:25px 20px;margin-inline:-4px}
.form-panel h2{font-size:1.8rem}
.form-grid{grid-template-columns:1fr;gap:18px}
.form-panel .button{width:100%}
.prose{padding-bottom:50px}
.thank-you h1{font-size:3rem}
.thank-you{min-height:65vh}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}
.hero-copy{padding-inline:14px}
.hero h1{font-size:2.8rem}
.hero-actions{gap:12px}
.footer-grid{grid-template-columns:1fr}
.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}}



/* The logo meets a continuous descriptor band at the foot of the header. */
.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--header);
}
.header-inner {
  min-height: 155px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand {
  display: flex;
  align-self: stretch;
  align-items: flex-end;
  flex-shrink: 0;
  width: 460px;
}
.brand img {
  width: 100%;
  height: 152px;
  object-fit: contain;
  object-position: left bottom;
}
.brand-band {
  background: #38463c;
  color: #f5f4ee;
}
.brand-band .wrap {
  min-height: 35px;
  display: flex;
  align-items: center;
  padding-block: 7px;
}
.brand-band p {
  margin: 0;
  color: inherit;
  font-size: .92rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
html[data-theme=dark] .brand-band { background: #35473c; color: #e7dcc3; }
nav {
  display: flex;
  gap: 25px;
  align-items: center;
  font-size: .94rem;
}
nav a { padding-block: 12px; }
nav a:hover, nav [aria-current=page] {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 7px;
}
.header-actions { display: flex; align-items: center; gap: 20px; }
.phone { font-size: .94rem; font-weight: 600; white-space: nowrap; }
.header-quote { min-height: 48px; padding: 11px 17px; gap: 24px; }
.menu-toggle, .mobile-contact { display: none; }
.hero-copy { padding-top: 70px; }
main > .page-intro { padding-top: 80px; }
html { scroll-padding-top: 222px; }

@media (max-width: 1320px) {
  .header-inner { min-height: 154px; gap: 22px; }
  .brand { width: 420px; }
  .brand img { height: 140px; }
  .header-actions { gap: 14px; }
  .phone { display: none; }
  nav { gap: 22px; }
}
@media (max-width: 1100px) {
  .brand { width: 350px; }
  nav { font-size: .875rem; gap: 18px; }
  .header-inner { gap: 18px; }
}
@media (max-width: 1000px) {
  .header-inner { min-height: 142px; }
  .brand img { height: 128px; }
  .header-actions { margin-left: auto; }
  .header-quote { display: none; }
  .phone { display: block; }
  .menu-toggle { display: block; font-size: .8rem; }
  .mobile-contact { display: block; }
  nav { display: none; }
  html.js nav.is-open {
    display: flex;
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    top: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    max-height: calc(100dvh - 245px);
    overflow: auto;
    padding: 18px 24px 24px;
    background: var(--header);
    border-bottom: 1px solid var(--line);
    font-size: 1rem;
    box-shadow: 0 15px 18px -18px #17231f80;
  }
  nav.is-open a { padding: 14px 8px; }
  html:not(.js) .header-inner { flex-wrap: wrap; }
  html:not(.js) nav { display: flex; flex-basis: 100%; padding-block: 16px; flex-wrap: wrap; }
  html:not(.js) .menu-toggle { display: none; }
  .hero-copy { padding-top: 55px; }
}
@media (max-width: 620px) {
  html { scroll-padding-top: 170px; }
  .header-inner { min-height: 122px; gap: 14px; }
  .brand {
    width: min(280px, calc(100vw - 88px));
    padding-top: 10px;
  }
  .brand img { height: 112px; }
  .brand-band .wrap { min-height: 32px; }
  .brand-band p { font-size: .75rem; letter-spacing: .075em; }
  .header-actions { display: grid; grid-template-columns: 44px; gap: 5px; padding-block: 5px; }
  .phone, .header-quote { display: none; }
  .menu-toggle { font-size: .7rem; padding: 5px; }
  .hero-copy { padding-top: 43px; }
  main > .page-intro { padding-top: 50px; }
  html.js nav.is-open { padding: 14px 20px 20px; }
}
@media (max-width: 360px) {
  .brand { width: calc(100vw - 88px); }
  .header-inner { gap: 12px; min-height: 108px; }
  .brand img { height: 98px; }
}

/* Supplied credential artwork: unobtrusive on light, original colour on dark. */
.credential-logo{display:flex;align-items:center;justify-content:center;flex:0 0 136px;width:136px;height:84px;background:#fff;padding:5px;mix-blend-mode:multiply}
.credential-logo img{width:100%;height:100%;object-fit:contain}
html[data-theme=dark] .credential-logo{mix-blend-mode:normal}
.credentials>div{min-width:0;gap:18px}
.credentials>div:last-child .credential-mark{min-width:55px}
.contact-credentials{display:flex;flex-wrap:wrap;gap:24px;padding-top:16px}
.contact-credentials>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.contact-credentials .credential-logo{flex-basis:auto}
.contact-credentials p{font-size:.78rem;margin:0}
@media(min-width:621px) and (max-width:1100px){
 .credentials>div{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px}
 .credentials>div:last-child .credential-mark{display:flex;align-items:center;min-height:84px}
}
@media(max-width:620px){
 .credentials>div{gap:18px}
 .credential-logo{flex-basis:112px;width:112px;height:70px;padding:4px}
 .credentials>div:last-child .credential-mark{min-width:112px}
 .contact-credentials .credential-logo{width:136px;height:84px}
}

/* Supporting service imagery; portfolio photographs remain separate. */
.hero-image figcaption small{font-size:.72rem;white-space:nowrap;color:#c6cfc7}
.service-intro-image{margin-top:32px;max-width:400px}
.service-intro-image img{aspect-ratio:1.8;object-fit:cover;object-position:center 62%}
.service-intro-image figcaption,.service-visual figcaption{font-size:.7rem;color:var(--muted);margin-top:8px;letter-spacing:.02em}
.service-detail{grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.service-visual{min-width:0}
.service-visual .eyebrow{margin-bottom:20px}
.service-visual img{aspect-ratio:1.5;object-fit:cover}
.service-copy{padding-top:32px}
@media(max-width:960px){.service-detail{gap:35px}.service-copy h2{font-size:2.3rem}}
@media(max-width:620px){
 .hero-image figcaption{flex-direction:column;gap:8px}
 .service-intro-image{max-width:none;margin-top:28px}
 .service-intro-image img{aspect-ratio:1.7}
 .service-detail{grid-template-columns:1fr;gap:23px;padding-block:40px}
 .service-copy{padding-top:0}
 .service-visual img{aspect-ratio:1.4}
}

/* Give visitors a clear choice between a short enquiry and detailed project information. */
.quote-choice{border-block:1px solid var(--line);padding:24px 0;margin:28px 0;max-width:470px}
.quote-choice h2{font-size:1.35rem;letter-spacing:-.025em;margin-bottom:12px}
.quote-choice p{font-size:1rem;margin-bottom:10px}
.quote-choice .text-link{font-size:1rem}
