.inner-page{background:var(--cream);color:var(--ink);background-image:none;--cyan:#bd3024;--safety:#bd3024;--line:#d7dccf;--line-soft:#e2e6dc;--alu-mute:#626b59;--black:#eef0e8;--black-deep:#f6f5f1;--panel:#fff;--panel-2:#e9eee2}.inner-page h1,.inner-page h2,.inner-page h3,.inner-page h4{color:var(--ink);text-shadow:none;text-transform:none}.inner-page h1{font-size:clamp(58px,7vw,104px);line-height:.98}.inner-page h2{font-size:clamp(36px,4.5vw,64px);line-height:1.03;letter-spacing:-.025em}.inner-page h2 em{font-style:normal;color:#717b65}.inner-page h3{font-size:30px;line-height:1.1}.inner-page p{color:#606a55}.inner-page .eyebrow{color:var(--red)}.inner-page .lede{color:#606a55;font-size:19px}.inner-page .muted{color:#636d59}.inner-page .kicker{color:#bc3023;font-family:var(--body);font-size:12px;letter-spacing:.13em}.inner-page .btn{background:var(--red);color:white;border-color:var(--red);font-family:var(--body);text-transform:none;font-size:15px;letter-spacing:0;padding:15px 22px}.inner-page .btn--ghost{background:transparent;color:var(--ink);border-color:#adb7a1}.inner-page .btn:hover{background:#ae291f;color:#fff}.inner-page .hero{background:#eef0e8;min-height:0}.inner-page .hero__bg{background:none;display:none}.inner-page .hero h1{max-width:18ch}.inner-page .hero h1 em{color:var(--red);text-shadow:none}.inner-page .hero__grid{gap:65px;padding-top:70px;padding-bottom:70px}.inner-page .hero__inner{padding:70px var(--pad)}.inner-page .hero--split .hero__inner{padding:0}.inner-page .hero__meta{gap:22px;align-items:flex-start;flex-direction:column}.inner-page .hero__fig,.inner-page .hero__fig img{background:#e2e7d8;border:0}.inner-page .hero__credit{color:#68725b}.inner-page .hero__credit b{color:#313b27}.inner-page .crumbs{background:var(--cream)}.inner-page .crumbs ol{font-family:var(--body);font-size:12px;text-transform:none;letter-spacing:0}.inner-page .crumbs a,.inner-page .crumbs [aria-current]{color:#657157}.inner-page .sec{border-bottom:1px solid #dfe3d7}.inner-page .prose{font-size:17px;line-height:1.8}.inner-page .prose h2{font-size:38px}.inner-page .prose h3{color:#303a26;font-size:27px}.inner-page .prose h4,.inner-page .prose strong{color:#27321d}.inner-page .prose a{color:#ab2b20}.inner-page .panel,.inner-page .glowcard{background:#e9eee1;border:0;box-shadow:none}.inner-page .panel h3,.inner-page .glowcard h3{color:#2f3b23}.inner-page .figure{border:0;background:#e2e6d9;box-shadow:none}.inner-page .figure__cap{background:transparent;padding:18px 0;border:0;font-family:var(--body);letter-spacing:0;text-transform:none;font-size:14px}.inner-page .figure__cap b,.inner-page .figure__cap--ill b{color:#2f3826;font-size:18px}.inner-page .figure__cap span{color:#647156}.inner-page .figure__note{color:#667357}.inner-page .gal{gap:30px}.inner-page .spec th,.inner-page .spec td,.inner-page .spec td:first-child{color:#36422b}.inner-page .field label{color:#39472d}.inner-page .field input,.inner-page .field textarea,.inner-page .field select{background:#fff;color:#283320;border-color:#bec9b0}.inner-page .card{background:transparent;border:0}.inner-page .card__fig,.inner-page .card__fig img{background:#e3e7dc}.inner-page .card__body{padding:20px 0}.inner-page .card__body h3{color:#27321f;font-size:29px}.inner-page .card__body p{color:#667259}.inner-page .card__more{color:#b83023}.inner-page .stack .w{color:#2c3723;text-transform:none}.inner-page .stack .t{color:#637255}.inner-page .posts{border:0;gap:20px;background:transparent;grid-template-columns:repeat(2,minmax(0,1fr))}.inner-page .post{background:#e9eee1;padding:35px}.inner-page .post h3{color:#2b3721;font-size:33px}.inner-page .post p{color:#647357}.inner-page .post:hover{background:#e0e8d6}.inner-page .note,.inner-page .note--y{background:#e6eddd;color:#566c42;border-color:var(--red);font-family:var(--body);text-transform:none;letter-spacing:0;font-size:15px}.inner-page .addr,.inner-page address{font-style:normal;color:#596b46;line-height:1.8}.inner-page .villages li{color:#566a41;border-color:#bcc9ad;font-family:var(--body);text-transform:none;letter-spacing:0}.inner-page .studio{background:#fff;border-color:#d1d9c7}.inner-page .cap,.inner-page .cap b{color:#53653f}.inner-page .new-section{max-width:1600px}.inner-page .section-intro h2{max-width:760px}.page-lead{max-width:1600px;margin:auto;padding:75px var(--pad);display:grid;grid-template-columns:1.04fr 1fr;gap:70px;align-items:center}.page-lead.text-only{grid-template-columns:1fr;padding-bottom:55px;max-width:1600px}.page-lead h1{max-width:900px}.page-lead-copy>p:not(.eyebrow){font-size:19px;line-height:1.65;max-width:570px;margin:26px 0}.page-lead .action{margin-top:5px}.page-lead-media img{display:block;width:100%;height:auto;max-height:530px;object-fit:contain;background:#e4e8de}.page-image-note{font-size:12px;text-align:right;padding:0 var(--pad);margin:0}.service-overview{display:grid;grid-template-columns:1.25fr 1fr;gap:100px}.service-overview>div>p:not(.eyebrow){font-size:18px;max-width:650px;margin-top:24px}.service-overview aside{background:#e8ede0;padding:38px;align-self:start}.service-overview aside>h3{font-family:var(--body);font-size:24px;font-weight:600}.service-overview aside>p{font-size:16px;margin-top:17px}.planning-list{list-style:none;padding:0;margin:30px 0}.planning-list li{display:flex;gap:20px;border-top:1px solid #c8d2bd;padding:17px 0;font-size:17px}.planning-list span{font-size:13px;color:var(--red);padding-top:4px}.service-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 27px}.service-tile{color:var(--ink);text-decoration:none}.service-tile>div{aspect-ratio:1.45;background:#e7ebdf;overflow:hidden}.service-tile img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .3s}.service-tile:hover img{transform:scale(1.02)}.service-tile>p{font-size:12px;margin:18px 0 9px;letter-spacing:.04em}.service-tile h3{font-family:var(--body);font-size:23px;line-height:1.25;font-weight:500;display:flex;justify-content:space-between;gap:20px}.service-tile h3 span{color:var(--red)}.detail-quote{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#e9eee1;max-width:none!important}.detail-quote>div:first-child{padding-top:35px}.detail-quote h2{font-size:clamp(60px,6vw,90px)}.detail-quote>div>p:not(.eyebrow){font-size:18px;max-width:350px;margin:26px 0}.start-phone{font-size:26px;font-weight:500;text-decoration:none}.quote-panel{width:100%;min-width:0}.quote-panel .project-form{margin:0}.quote-panel .project-form h3{font-size:24px}.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.detail-gallery .figure{height:fit-content}.portfolio-list{display:grid;gap:75px}.portfolio-item{display:grid;grid-template-columns:1.5fr 1fr;gap:55px;align-items:center}.portfolio-item:nth-child(even){grid-template-columns:1fr 1.5fr}.portfolio-item:nth-child(even)>.figure{order:2}.portfolio-item h2{font-size:52px}.portfolio-item .eyebrow{font-size:12px}.portfolio-item .text-link{margin-top:24px}.portfolio-item img{max-height:600px;object-fit:contain}.wide-video,.architecture-film video{display:block;width:100%;height:auto;background:#13201d}.architecture-film{padding-top:50px}.architecture-film .section-intro>p{font-size:17px}.film-stages{display:flex;justify-content:space-between;gap:20px;list-style:decimal-leading-zero;padding:25px 0 0 25px;margin:0;font-size:14px}.film-stages li{padding-left:4px}.film-stages li::marker{color:var(--red)}.contact-layout{padding-top:25px;display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.contact-number{display:block;font-family:var(--display);font-size:48px;font-weight:700;line-height:1.1;text-decoration:none}.contact-email{display:inline-block;font-size:20px;margin-top:18px;color:#aa3024;text-decoration:none}.contact-detail{padding-top:30px;margin-top:30px;border-top:1px solid #cfd8c3;max-width:400px}.contact-detail h3{font-size:29px;margin-bottom:16px}.contact-detail p{font-size:17px}.permit-steps article{display:grid;grid-template-columns:100px 1fr;gap:25px;padding:33px 0;border-top:1px solid #cbd5bf}.permit-steps article>span{font-family:var(--display);font-size:46px;color:var(--red)}.permit-steps h2{font-size:39px}.permit-steps p{font-size:18px;margin:16px 0 0}.permit-scope{font-size:15px;margin-top:30px}.inner-page .ftr p{color:#545d49}.inner-page .mobile-contact{display:none}
@media(max-width:1000px){.page-lead{gap:35px}.page-lead h1{font-size:70px}.service-overview{gap:45px}.portfolio-item,.portfolio-item:nth-child(even){gap:30px}.portfolio-item h2{font-size:42px}.service-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout{gap:45px}.contact-number{font-size:38px}.detail-quote{gap:40px}.inner-page .hero__grid{gap:35px}}
@media(max-width:700px){.page-lead,.page-lead.text-only{grid-template-columns:1fr;padding:48px 24px;gap:30px}.page-lead h1,.inner-page h1{font-size:62px}.page-lead-copy>p:not(.eyebrow){font-size:17px}.page-lead-media img{max-height:400px}.service-overview{grid-template-columns:1fr;gap:28px}.service-overview aside{padding:26px}.inner-page h2{font-size:43px}.service-overview>div>p:not(.eyebrow){font-size:17px}.service-tiles{grid-template-columns:1fr;gap:35px}.service-tile h3{font-size:23px}.detail-quote{grid-template-columns:1fr;gap:30px}.detail-quote h2{font-size:63px}.detail-quote>div:first-child{padding:0}.detail-gallery{grid-template-columns:1fr}.portfolio-list{gap:42px;padding-top:20px}.portfolio-item,.portfolio-item:nth-child(even){grid-template-columns:1fr;gap:24px}.portfolio-item:nth-child(even)>.figure{order:0}.portfolio-item h2{font-size:42px}.portfolio-item .eyebrow{margin-bottom:16px}.portfolio-item .text-link{margin-top:10px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-number{font-size:44px}.contact-detail{max-width:none}.film-stages{flex-wrap:wrap;justify-content:flex-start;gap:15px 40px;font-size:12px}.film-stages li{margin-right:4px}.permit-steps article{grid-template-columns:45px 1fr;gap:17px}.permit-steps article>span{font-size:34px}.permit-steps h2{font-size:30px}.permit-steps p{font-size:16px}.inner-page .posts{grid-template-columns:1fr}.inner-page .hero__inner{padding:45px 24px}.inner-page .hero__grid{padding:45px 24px;grid-template-columns:1fr}.inner-page .prose h2{font-size:33px}.inner-page .prose h3{font-size:26px}.inner-page .mobile-contact{display:grid}.inner-page{padding-bottom:50px}}
.faq-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;padding-top:20px}.faq-item{border-top:1px solid #cbd5bf}.faq-item:last-child{border-bottom:1px solid #cbd5bf}.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;padding:25px 0;font-size:21px;font-weight:500}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{color:var(--red);font-size:25px}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{font-size:17px;padding:0 32px 22px 0}.faq-layout aside{padding:30px;background:#e8ede0;align-self:start}.faq-layout aside p{margin:25px 0}.reading-page{max-width:1000px!important;padding-top:20px}.reading-page h2{font-size:35px;margin:35px 0 20px}.reading-page p{font-size:18px;line-height:1.8}.reading-page a:not(.action){color:#af2d23}.architecture-film .film-stages{color:#4f5e43}@media(max-width:700px){.faq-layout{grid-template-columns:1fr;gap:35px}.faq-item summary{font-size:19px}.reading-page h2{font-size:30px}}

/* ---- Integration with the canonical generator (2026-09-08) ----------------
   Images are emitted by templates.photo()/illustrative() inside a .figure
   wrapper; long-form service copy sits in .service-detail; crumbs and notes
   are the canonical components restyled for the light redesign palette. */
.new-home .figure,.inner-page .figure{border:0;background:transparent;box-shadow:none;margin:0}
.showcase-photo .figure,.craft-image .figure,.project-image .figure,.service-tile>div .figure{height:100%;width:100%}
.showcase-photo .figure img,.craft-image .figure img,.project-image .figure img{height:100%;width:100%;object-fit:cover}
.service-tile>div .figure img{height:100%;width:100%;object-fit:contain}
.page-lead-media .figure img{display:block;width:100%;height:auto;max-height:530px;object-fit:contain;background:#e4e8de}
.figure--video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#13201d}
.new-home .figure__cap,.inner-page .figure__cap{background:transparent;padding:16px 0 0;border:0;font-family:var(--body);letter-spacing:0;text-transform:none;font-size:14px}
.new-home .figure__cap b,.inner-page .figure__cap b{display:block;color:#2f3826;font-size:17px;font-weight:600}
.new-home .figure__cap span,.inner-page .figure__cap span{display:block;color:#647156;margin-top:3px}
.new-home .figure__note,.inner-page .figure__note{display:block;margin-top:6px;color:#6d7269;font-size:12px}
.film-section .figure__cap{color:#c4cbbf}
.inner-page .crumbs{background:transparent;border:0;max-width:1600px;margin:0 auto;padding:22px var(--pad) 0}
.inner-page .crumbs ol{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;list-style:none;font-family:var(--body);font-size:13px}
.inner-page .crumbs li+li::before{content:"/";color:#9aa391;margin-right:8px}
.inner-page .crumbs a{color:#657157;text-decoration:none}
.inner-page .crumbs a:hover{color:var(--red)}
.inner-page .crumbs [aria-current]{color:#2f3826}
.inner-page .page-lead{padding-top:40px}
.page-image-note{max-width:1600px;margin:0 auto;color:#6d7269}
.inner-page .note,.inner-page .note--y{margin:0 0 24px;padding:14px 18px;border-left:3px solid var(--red)}
.inner-page .note[hidden]{display:none}
.service-detail{padding-top:20px}
.service-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:70px;align-items:start}
.service-detail .prose{max-width:72ch;font-size:17px;line-height:1.75}
.service-detail .prose h2{font-size:clamp(28px,3vw,38px);margin:1.6em 0 .5em;line-height:1.1}
.service-detail .prose h2:first-child{margin-top:0}
.service-detail .prose h3{font-size:24px;margin:1.4em 0 .4em}
.service-detail .prose p{margin:0 0 1.1em;color:#4f5a46}
.service-detail .prose ul,.service-detail .prose ol{margin:0 0 1.3em;padding-left:1.2em;color:#4f5a46}
.service-detail .prose li{margin:0 0 .5em}
.service-detail .prose li::marker{color:var(--red)}
.service-detail .prose strong{color:#27321d}
.service-detail .prose .villages{margin-top:10px}
.service-facts{position:sticky;top:120px;background:#e8ede0;padding:34px;display:grid;gap:16px;align-self:start}
.service-facts h3{font-family:var(--body);font-size:22px;font-weight:600;margin:0}
.service-facts h3+h3,.service-facts p+h3{margin-top:14px}
.service-facts p{margin:0;font-size:15px;color:#4f5a46}
.service-facts .action{width:100%}
.service-facts .spec{width:100%;border-collapse:collapse;font-size:15px}
.service-facts .spec td{padding:10px 0;border-top:1px solid #c8d2bd;vertical-align:top;color:#36422b}
.service-facts .spec td:first-child{color:#657157;padding-right:16px;white-space:nowrap}
.service-facts .addr{font-style:normal;color:#4f5a46;line-height:1.7}
.inner-page .villages{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0 0}
.inner-page .villages li{border:1px solid #bcc9ad;padding:6px 12px;font-size:14px;color:#566a41}
.permit-steps h3{font-size:30px;line-height:1.1}
.studio-section{padding-top:20px}
.studio{background:#fff;border:1px solid #d1d9c7}
.studio__frame{display:block;width:100%;height:min(80vh,900px);border:0}
.studio-section .muted{font-size:14.5px;margin-top:12px}
.detail-quote .note{margin:0 0 20px;font-size:15px}
.reading-page .reference-line{font-size:20px;color:#2f3826}
.reading-page .reference{font-family:var(--display);font-size:1.4em;font-weight:700;letter-spacing:.02em;color:var(--red)}
.ftr .areas{font-size:13px;color:#6b7262;max-width:1000px;margin:34px 0 0;line-height:1.7}
.hero-credit small span{margin-left:12px}
@media(max-width:1000px){.service-detail-grid{grid-template-columns:1fr;gap:40px}.service-facts{position:static}}
@media(max-width:700px){.inner-page .crumbs{padding:18px 24px 0}.inner-page .page-lead{padding-top:26px}.service-facts{padding:24px}.page-image-note{padding:0 24px}}

/* ---- Q&A page groups (2026-09-08) ---- */
.faq-group{margin-bottom:64px;scroll-margin-top:24px}.faq-group h2{font-size:34px;margin:0 0 18px}.faq-group .eyebrow{margin-bottom:12px}.faq-layout aside{position:sticky;top:24px}.faq-nav{list-style:none;padding:0;margin:0 0 30px;display:flex;flex-wrap:wrap;gap:8px 18px}.faq-nav a{font-size:14px;font-weight:600;color:inherit;text-decoration:none;border-bottom:1px solid #aaada4}.faq-nav a:hover{color:var(--red)}@media(max-width:700px){.faq-layout aside{position:static}.faq-group h2{font-size:28px}}

/* ---- round 3 (2026-09-08): portfolio grid, read-more, audiences, towns ---- */
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 40px;padding-top:20px}.portfolio-card{display:flex;flex-direction:column;gap:12px}.portfolio-card>.figure img{width:100%;max-height:520px;object-fit:cover;aspect-ratio:4/3}.portfolio-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.portfolio-thumbs .figure img{aspect-ratio:1;object-fit:cover;width:100%}.portfolio-card .eyebrow{margin:10px 0 4px}.portfolio-card h2{font-size:36px;margin:0}.portfolio-scope{font-size:16px;color:#4f5a45;margin:4px 0 0}.portfolio-card .text-link{margin-top:10px;align-self:flex-start}.prose .prose-figure{margin:28px 0}.read-more{margin-top:24px;border-top:1px solid #cbd5bf}.read-more summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:19px;font-weight:600}.read-more summary::-webkit-details-marker{display:none}.read-more summary small{font-weight:400;color:#6b7262;font-size:14px;margin-left:auto}.read-more summary span{color:var(--red);font-size:25px}.read-more[open] summary span{transform:rotate(45deg)}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.audience-grid>div{padding:26px;background:#e8ede0}.audience-grid h3{font-size:24px;margin:0 0 10px}.audience-grid p{margin:0;font-size:16px}.villages.towns{columns:3;column-gap:32px}@media(max-width:900px){.audience-grid{grid-template-columns:1fr}.villages.towns{columns:2}}@media(max-width:700px){.portfolio-grid{grid-template-columns:1fr;gap:40px}.portfolio-card h2{font-size:30px}.villages.towns{columns:1}}

.action.external{background:var(--ink);margin-bottom:12px}

/* ---- supplier product pages (2026-09-09) ---- */
.page-lead.product-lead{grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}.product-features ul{padding-left:18px;margin:14px 0 22px}.product-features li{font-size:16px;margin:4px 0}.product-gallery{display:flex;flex-direction:column;gap:12px}.product-gallery{align-self:start}.pg-main{position:relative;background:#e7ebdf;aspect-ratio:4/3}.pg-slide{display:none;height:100%;scroll-margin-top:120px}.pg-slide:first-child{display:block}.pg-slide .figure{height:100%;margin:0}.pg-main:has(.pg-slide:target) .pg-slide:first-child{display:none}.pg-slide:target{display:block!important}.pg-slide .figure img{width:100%;height:100%;object-fit:contain}.product-lead .page-image-note{text-align:left;font-size:12px;margin:6px 0 0;color:#6b7262}.pg-slide figcaption{display:none}.pg-thumbs{display:flex;gap:8px;flex-wrap:wrap}.pg-thumbs a{width:84px;height:84px;background:#e7ebdf;display:block;border:2px solid transparent}.pg-thumbs a:hover,.pg-thumbs a:focus{border-color:var(--red)}.pg-thumbs .figure{margin:0;height:100%}.pg-thumbs img{width:100%;height:100%;object-fit:contain}.pg-thumbs figcaption{display:none}.products-group{font-size:26px;margin:36px 0 16px}.product-tile small{display:block;font-size:13px;color:#6b7262;margin-top:4px}@media(max-width:900px){.page-lead.product-lead{grid-template-columns:1fr}}
