/* Shared reading and navigation refinements. Keep the approved palette and open layouts. */
body{font-size:1.25rem;line-height:1.65}
body #main p{font-size:1.25rem;line-height:1.7;font-weight:400}
body #main .lead,body #main .project-summary>p,body #main .page-intro>p{font-size:1.5rem;line-height:1.6}
body #main p.fine-print{font-size:1rem!important;line-height:1.65!important}
body #main .project-facts>p{font-size:1rem}
body #main .hero-content p{font-size:1.5rem;line-height:1.5}
.eyebrow{font-size:.875rem;letter-spacing:1.6px}
.text-link,.button,.back-link,.nearby .text-link{font-size:1.0625rem;line-height:1.5;font-weight:400;min-height:44px;align-items:center}
.text-link{padding-top:8px;padding-bottom:8px}
.site-header{height:144px;gap:24px;padding:0 clamp(24px,3vw,65px)}
.brand-primary{display:block;flex:0 0 236px;line-height:0}
.brand-primary img{width:236px;height:auto;max-height:116px;object-fit:contain;mix-blend-mode:multiply;filter:none}
.desktop-nav{gap:clamp(14px,1.35vw,26px);font-size:1.09375rem;font-weight:400}
.desktop-nav>a,.desktop-nav .nav-trigger{font-size:1.09375rem;font-weight:400;line-height:1.4;padding:38px 0;min-height:44px}
.nav-trigger{display:flex;align-items:center;gap:7px}
.nav-trigger>span{font-size:1rem}
.desktop-nav .dropdown{top:100%;width:306px;padding:16px 24px;border-top:1px solid var(--rule);box-shadow:0 12px 24px #18181812}
.desktop-nav .dropdown a{font-size:1.09375rem;font-weight:400;line-height:1.4;min-height:46px;padding:12px 0}
.desktop-nav .nav-group:not(.is-open) .dropdown{opacity:0;visibility:hidden;transform:translateY(8px)}
.desktop-nav .nav-group.is-open .dropdown{opacity:1;visibility:visible;transform:none}
.desktop-nav a[aria-current=page],.desktop-nav .nav-trigger[aria-current=true]{color:var(--green);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.header-cta{font-size:1.0625rem;white-space:nowrap;padding:15px 18px;gap:18px}
.mobile-toggle{width:auto;min-width:90px;height:48px;padding:8px 0;gap:13px;align-items:center;justify-content:center}
.mobile-toggle .menu-label{font:400 1.125rem/1.4 Barlow,Arial,sans-serif;width:auto;height:auto;background:none;margin:0}
.mobile-toggle .menu-lines{display:flex;flex-direction:column;gap:7px;width:24px;height:auto;background:none;margin:0}
.menu-lines i{display:block;height:1.5px;width:24px;background:var(--ink)}
.menu-open .site-header{position:fixed;top:0;left:0;right:0}
.mobile-nav:not([hidden]){display:block;position:fixed;top:144px;inset-inline:0;bottom:0;padding:20px var(--gutter) 40px;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);z-index:29}
.mobile-main-links{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;border-bottom:1px solid var(--rule);padding-bottom:20px}
.mobile-main-links a{display:flex;align-items:center;min-height:52px;font-size:1.25rem}
.mobile-nav-groups{display:grid;grid-template-columns:1fr 1fr;gap:32px 45px;padding:30px 0}
.mobile-nav-section h2{font-size:1.0625rem;line-height:1.4;font-weight:500;letter-spacing:0;margin:0 0 12px;color:var(--green)}
.mobile-nav-section a,.mobile-utility a{display:block;font-size:1.1875rem;min-height:46px;padding:9px 0;line-height:1.5}
.mobile-nav a>span{display:none}
.mobile-utility{display:flex;flex-wrap:wrap;gap:8px 32px;border-top:1px solid var(--rule);padding-top:18px}
.mobile-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.work-actions{display:flex;flex-wrap:wrap;gap:10px 30px;align-items:center}
.work-actions .text-link{gap:15px}
.work-navigation{display:flex;gap:40px;align-items:center;margin-bottom:50px}
.work-navigation a{display:block;min-height:48px;padding:8px 1px;border-bottom:1px solid transparent;font-size:1.1875rem;color:var(--muted)}
.work-navigation a[aria-current=page]{color:var(--ink);border-bottom-color:var(--green)}
.gallery-intro{padding-bottom:35px}
.curated-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px 45px;padding-bottom:82px}
.curated-photo{margin:0;min-width:0;align-self:start}
.curated-photo .gallery-open{width:100%;padding:0;border:0;background:transparent;display:block;position:relative;cursor:zoom-in}
.curated-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.curated-photo.portrait img{max-height:610px}
.curated-photo .gallery-open>span{width:44px;height:44px;font-size:25px;background:#182517c9}
.curated-photo figcaption{padding-top:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.curated-photo h2{font-size:1.375rem;line-height:1.4;letter-spacing:0;font-weight:400;margin:0}
body #main .curated-photo figcaption p{font-size:1rem;line-height:1.6;color:var(--muted);margin:7px 0 0}
.gallery-project-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;flex-shrink:0;font-size:1rem;color:var(--green);border-bottom:1px solid var(--rule)}
.gallery-project-link:hover{border-bottom-color:var(--green)}
.gallery-dialog{width:min(1320px,94vw);max-height:94svh;overflow:auto;overscroll-behavior:contain}
.gallery-dialog::backdrop{background:#0c140eeb}
.gallery-dialog>img{display:block;width:auto;height:auto;max-width:100%;max-height:72svh;object-fit:contain;margin:0 auto}
.lightbox-info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 35px;align-items:center;padding:22px 28px}
.lightbox-caption{padding:0;font-size:1.0625rem;line-height:1.6;min-height:0;max-width:740px}
.lightbox-project{display:inline-flex;align-items:center;gap:15px;color:white;font-size:1.0625rem;line-height:1.4;min-height:44px;border-bottom:1px solid #ffffff80;padding:8px 0}
.lightbox-project[hidden]{display:none}
.lightbox-nav{position:static;display:flex;gap:12px;justify-content:flex-end;padding:0 28px 22px}
.lightbox-nav button{min-width:48px;height:48px;font-size:1.125rem}
.lightbox-close{width:48px;height:48px}
.gallery-dialog a:focus-visible,.gallery-dialog button:focus-visible{outline:2px solid white;outline-offset:4px}
.filters button{font-size:1.0625rem;padding:11px 18px;min-height:48px}
.project-facts li,.inquiry-layout ul,.process-timeline ul,.step-index>a{font-size:1.125rem;line-height:1.7}
.faq-list summary{font-size:1.375rem}
.footer-top>div a,.footer-regions,.footer-bottom,.prototype-footnote{font-size:1rem;line-height:1.65}
.footer-top>div a,.footer-regions a{min-height:44px;display:inline-flex;align-items:center}
.brand-signature{display:flex;align-items:center;gap:20px}
.brand-signature>img{width:60px;height:60px;object-fit:contain;filter:none}
.brand-signature .brand-name{display:block;font-size:30px;line-height:1.1;letter-spacing:2px;margin:0;color:white}
.brand-signature .brand-name>span{display:block;font-size:11px;letter-spacing:1.75px;margin-top:9px}
.project-cover figcaption,.gallery-item figcaption,.region-directory figcaption{font-size:1rem;line-height:1.6}
:focus-visible{outline:2px solid var(--green);outline-offset:5px}
[id]{scroll-margin-top:35px}
@media(max-width:1480px){
 .desktop-nav{display:none}.mobile-toggle{display:flex}.header-cta{margin-left:auto}.site-header{height:132px}.brand-primary{flex-basis:221px}.brand-primary img{width:221px;max-height:108px}.mobile-nav:not([hidden]){top:132px}
}
@media(min-width:1481px){.mobile-nav{display:none!important}.mobile-toggle{display:none}}
@media(max-width:1000px){.work .section-head{align-items:flex-start;gap:22px;flex-direction:column}.curated-gallery{gap:60px 28px}.curated-photo figcaption{display:block}.gallery-project-link{margin-top:10px}.brand-signature .brand-name{font-size:27px}}
@media(max-width:700px){
 body{font-size:1.1875rem}.site-header{height:120px;padding:0 22px;gap:20px}.brand-primary{flex-basis:198px}.brand-primary img{width:198px;max-height:97px}.header-cta{display:none}.mobile-toggle{margin-left:auto}.mobile-nav:not([hidden]){top:120px}
 body #main p{font-size:1.1875rem;line-height:1.7}body #main .lead,body #main .project-summary>p,body #main .page-intro>p{font-size:1.3125rem}body #main .hero-content p{font-size:1.25rem}
 .eyebrow{font-size:.8125rem;line-height:1.6;letter-spacing:1.3px}.hero .eyebrow,.page-hero .eyebrow{font-size:.8125rem}
 .text-link,.button,.hero .button{font-size:1.0625rem}.work-actions{gap:10px 22px}.work-actions .text-link{gap:12px}
 .mobile-nav-groups{grid-template-columns:1fr;gap:25px}.mobile-nav-section{border-bottom:1px solid var(--rule);padding-bottom:20px}.mobile-main-links{column-gap:18px}.mobile-main-links a{font-size:1.1875rem;line-height:1.5}
 .work-navigation{margin-bottom:35px;gap:32px}.curated-gallery{grid-template-columns:1fr;gap:52px;padding-bottom:53px}.curated-photo.portrait img{max-height:none;max-width:85%;margin:auto}.curated-photo figcaption{padding-top:16px}.curated-photo h2{font-size:1.3125rem}
 .gallery-dialog{width:100%;max-width:100vw;max-height:100svh;margin:auto 0}.gallery-dialog>img{max-height:64svh}.lightbox-info{display:block;padding:20px}.lightbox-project{margin-top:14px}.lightbox-caption{padding:0;font-size:1rem;min-height:0}.lightbox-nav{padding:0 20px 20px;justify-content:space-between}
 .filters{gap:10px}.filters button{font-size:1rem;padding:10px 14px}.faq-list summary{font-size:1.25rem}.project-facts li,.inquiry-layout ul,.process-timeline ul,.step-index>a{font-size:1.125rem}
 .footer-regions{gap:4px}.footer-bottom,.prototype-footnote{font-size:.9375rem}.footer-top p{font-size:1.25rem}.brand-signature>img{width:50px;height:50px}.brand-signature .brand-name{font-size:27px}
 .project-cover figcaption,.gallery-item figcaption,.region-directory figcaption{font-size:.9375rem}.portfolio-caption .eyebrow,.project-label .eyebrow,.project-caption .eyebrow{font-size:.8125rem}
}
@media(max-width:360px){.site-header{padding-inline:16px;gap:12px}.brand-primary{flex-basis:188px}.brand-primary img{width:188px}.mobile-toggle{min-width:74px;gap:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.brand-asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding-bottom:82px}
.brand-asset-preview{height:240px;display:flex;align-items:center;justify-content:center;background:#eeeee6;padding:25px;margin-bottom:24px}
.brand-asset-preview.dark{background:var(--green)}
.brand-asset-preview img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;filter:none}
.brand-asset-grid h2{font-size:1.6rem;letter-spacing:0;font-weight:400}
body #main .brand-asset-grid p{font-size:1rem;overflow-wrap:anywhere;margin:15px 0}
@media(max-width:700px){.brand-asset-grid{grid-template-columns:1fr;gap:40px}.brand-asset-preview{height:210px}}
/* Keep the word label upright; only the two icon strokes form the close symbol. */
.mobile-toggle[aria-expanded=true] span.menu-label,.mobile-toggle[aria-expanded=true] span.menu-lines{transform:none}
.mobile-toggle[aria-expanded=true] .menu-lines i:first-child{transform:translateY(4.25px) rotate(45deg)}
.mobile-toggle[aria-expanded=true] .menu-lines i:last-child{transform:translateY(-4.25px) rotate(-45deg)}

/* Compact footer: identity, useful destinations, regions and contact. */
.footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--rule);padding:48px var(--gutter) 22px}
.footer-inner{max-width:1440px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.2fr .65fr 1fr 1.1fr;gap:40px;align-items:start}
.footer-identity{display:flex;align-items:center;gap:22px}
.footer .brand-signature{display:block;min-width:0;width:92px;flex:none;line-height:0}
.footer .brand-signature>img{display:block;width:92px;height:92px;object-fit:contain;filter:none}
.footer-identity p{margin:0;font-size:20px;line-height:1.45}
.footer-identity p>span{display:block;font-size:15px;color:#50564b;margin-top:8px}
.footer h2{font-size:16px;line-height:1.5;font-weight:600;letter-spacing:0;margin:0 0 10px}
.footer-links{display:flex;flex-direction:column;align-items:flex-start}
.footer-links a,.footer-contact>a{font-size:16px;line-height:1.4;min-height:36px;display:flex;align-items:center;color:#50564b}
.footer-contact .footer-inquiry{color:var(--ink);gap:18px}
.footer-contact address{font-style:normal;font-size:16px;line-height:1.6;color:#50564b;margin-top:12px}
.footer-legal{border-top:1px solid var(--rule);margin-top:28px;padding-top:18px;font-size:14px;line-height:1.6;color:#50564b}
.footer a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.footer a:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px 60px}.footer-identity{align-self:start}}
@media(max-width:600px){
 .footer{padding:32px 24px 20px}
 .footer-grid{grid-template-columns:1fr 1.35fr;gap:28px 20px}
 .footer-identity,.footer-contact{grid-column:1/-1}
 .footer .brand-signature,.footer .brand-signature>img{width:80px;height:80px}
 .footer-identity p{font-size:20px}
 .footer-links a,.footer-contact>a{min-height:44px}
 .footer-contact{border-top:1px solid var(--rule);padding-top:24px}
 .footer-legal{margin-top:24px}
}

/* Let the process introduction sit alongside its title, without a narrow text column. */
#process{max-width:1800px}
#process .section-head{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:end;gap:48px}
#process .section-head>p{max-width:none;margin:0 0 5px;line-height:1.6}
@media(max-width:1100px){#process .section-head{grid-template-columns:1fr;gap:22px}#process .section-head>p{margin:0;max-width:850px}}

/* Give the hiring page an unmistakable identity and applicant-specific action. */
body #main .careers-hero .careers-lead{font-size:clamp(25px,2.1vw,34px);line-height:1.3;color:var(--ink);margin:24px 0 18px;max-width:none}
.careers-hero .careers-lead+p{margin:0 0 30px}
@media(max-width:700px){.careers-hero figure{order:0}}

/* A restrained lift on the house: retain the original photo and color. */
.hero-shade{-webkit-mask-image:radial-gradient(ellipse 17% 22% at 55% 67%,rgba(0,0,0,.68) 0%,#000 100%);mask-image:radial-gradient(ellipse 17% 22% at 55% 67%,rgba(0,0,0,.68) 0%,#000 100%)}

/* Direct Hudson careers board and complete position pages. */
.job-board{padding-top:74px;padding-bottom:40px;scroll-margin-top:120px}.job-board .section-head{align-items:end}.job-board .section-head>p{font-size:15px;color:var(--muted,#65685f)}.job-list{border-top:1px solid #c7c9c0}.job-card{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:55px;padding:36px 0;border-bottom:1px solid #c7c9c0;align-items:center}.job-card h3{font-size:30px;line-height:1.2;margin:12px 0}.job-card h3 a{text-decoration:none;color:inherit}.job-card p{max-width:680px;font-size:17px;line-height:1.65;margin:10px 0}.job-card .job-location{font-size:14px;color:#596256}.job-card-action{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.job-card-action strong{font-size:22px;font-weight:500}.job-intro{padding-top:49px;padding-bottom:37px}.job-intro .back-link{display:block;margin-bottom:36px}.job-intro h1{font-size:clamp(40px,5vw,76px);max-width:1050px;line-height:1.07;margin:20px 0}.job-intro>p{font-size:21px;max-width:780px;line-height:1.6}.job-tags{display:flex;gap:12px 28px;flex-wrap:wrap;margin-top:25px;color:#52604d;font-size:14px}.job-detail{display:grid;grid-template-columns:minmax(0,760px) 340px;gap:80px;justify-content:space-between;padding-top:35px;padding-bottom:57px;border-top:1px solid #c7c9c0}.job-description{font-size:17px;line-height:1.8;min-width:0}.job-description p{margin:0 0 22px}.job-description h2{font-size:30px;line-height:1.25;margin:44px 0 20px}.job-description h3{font-size:22px;line-height:1.35;margin:30px 0 15px}.job-description ul{padding-left:22px;margin-bottom:26px}.job-description li{padding-left:5px;margin-bottom:9px}.job-aside-panel{position:sticky;top:130px;background:#e9ece3;padding:30px}.job-aside-panel h2{font-size:29px;line-height:1.2;margin:18px 0 25px}.job-aside dl{margin:0 0 26px}.job-aside dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:20px;color:#596256}.job-aside dd{margin:6px 0 0;font-size:16px;line-height:1.55}.job-aside .button{width:100%;font-size:14px;padding:18px 15px;justify-content:space-between}.career-contact{background:#e9ece3;padding:55px;margin-top:30px;margin-bottom:85px}.career-contact h2{font-size:clamp(32px,4vw,48px);margin:18px 0}.career-contact>p{max-width:760px;line-height:1.7;font-size:18px}.career-contact .button{margin-top:15px}.career-contact .fine-print{font-size:13px;max-width:560px;margin-top:18px}.job-apply{scroll-margin-top:125px}.application-question{font-weight:600}.job-description a,.career-contact p a{overflow-wrap:anywhere}
@media(max-width:1000px){.job-detail{gap:35px;grid-template-columns:minmax(0,1fr) 300px}.job-card{gap:25px;grid-template-columns:minmax(0,1fr) 220px}.job-card-action strong{font-size:20px}}
@media(max-width:700px){.job-board{padding-top:45px}.job-board .section-head{display:block}.job-card{display:block;padding:28px 0}.job-card h3{font-size:26px}.job-card-action{margin-top:22px;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.job-card-action strong{font-size:18px}.job-card-action .text-link{font-size:14px}.job-detail{display:flex;flex-direction:column;gap:30px}.job-aside{order:-1}.job-aside-panel{position:static;padding:25px}.job-intro{padding-top:35px}.job-intro>p{font-size:18px}.job-description{font-size:16px}.job-description h2{font-size:27px}.career-contact{padding:30px 24px;margin-bottom:55px}.job-intro h1{overflow-wrap:anywhere}}

/* Readable supporting type with restrained proportions; retain generous touch targets. */
body{font-size:1.1875rem}
body #main p{font-size:1.1875rem;line-height:1.65}
body #main .lead,body #main .project-summary>p,body #main .page-intro>p{font-size:1.375rem;line-height:1.6}
body #main .hero-content p{font-size:1.375rem;line-height:1.5}
body #main p.fine-print{font-size:1.0625rem!important;line-height:1.65!important}
body #main .project-facts>p,body #main .curated-photo figcaption p,body #main .brand-asset-grid p{font-size:1.0625rem;line-height:1.65}
.eyebrow,.hero .eyebrow,.page-hero .eyebrow,.portfolio-caption .eyebrow,.project-label .eyebrow,.project-caption .eyebrow,.flagship-card .eyebrow,.capability-grid .eyebrow{font-size:1rem;line-height:1.6;letter-spacing:1.3px}
.desktop-nav,.desktop-nav>a,.desktop-nav .nav-trigger,.desktop-nav .dropdown a{font-size:1.125rem;line-height:1.45}
.desktop-nav{gap:clamp(16px,1.4vw,28px)}
.desktop-nav .dropdown{width:330px}
.text-link,.button,.back-link,.nearby .text-link,.inquiry-panel .text-link,.inquiry-panel .button,.flagship-card .text-link,.job-card-action .text-link,.job-aside .button{font-size:1.0625rem;line-height:1.5}
.header-cta{font-size:1.0625rem}
.mobile-toggle .menu-label{font-size:1.125rem}
.mobile-main-links a{font-size:1.1875rem}
.mobile-nav-section h2{font-size:1.0625rem}
.mobile-nav-section a,.mobile-utility a{font-size:1.1875rem}
.work-navigation a{font-size:1.1875rem}
.filters button{font-size:1.0625rem}
.design-list span,.project-facts li,.inquiry-layout ul,.process-timeline ul,.step-index>a,.job-description,.job-description li,.flagship-workflow li{font-size:1.125rem;line-height:1.7}
.hero-caption{font-size:1.0625rem;line-height:1.6}
.hero-caption span:first-child{font-size:1rem;letter-spacing:1px}
.page-hero figcaption,.story-split figcaption,.region-directory figcaption,.project-cover figcaption,.gallery-item figcaption,.flagship-card figcaption{font-size:1.0625rem;line-height:1.6}
.gallery-project-link,.lightbox-caption,.lightbox-project{font-size:1.0625rem;line-height:1.6}
.step-no,.regions>div>span,.scope-list>div>span,.team-roster article>span,.regional-priorities p>span,.cost-grid article>span{font-size:1rem;line-height:1.6}
.job-tags,.job-aside dt{font-size:1rem}
.job-aside dd{font-size:1.0625rem}
.job-aside-panel{padding:28px}
body #main .job-card .job-location{font-size:1.0625rem}
.footer h2,.footer-links a,.footer-contact>a,.footer-contact address{font-size:1.0625rem;line-height:1.6}
.footer-links a,.footer-contact>a{min-height:44px}
.footer-identity p{font-size:1.1875rem}
.footer-identity p>span,.footer-legal{font-size:1rem}
.prototype-footnote{font-size:1rem;line-height:1.6}
.review-bar{height:auto;min-height:42px;gap:16px;padding-block:8px;font-size:.875rem;line-height:1.5;letter-spacing:1px}
.review-bar nav{font-size:1rem;line-height:1.5}
.directory-link,.map-tabs,.map-card li,.nav-diagram,table,.source-links{font-size:1.0625rem;line-height:1.65}
.map-card small,.status,.palette span,th,.flagship-status{font-size:1rem;line-height:1.6}
.flagship-summary,.flagship-card summary{font-size:1.0625rem}
.cost-grid h2>small{font-size:1.125rem}
@media(max-width:700px){
 body{font-size:1.125rem}
 body #main p{font-size:1.125rem;line-height:1.7}
 body #main .lead,body #main .project-summary>p,body #main .page-intro>p{font-size:1.3125rem;line-height:1.6}
 body #main .hero-content p{font-size:1.1875rem;line-height:1.5}
 .eyebrow,.hero .eyebrow,.page-hero .eyebrow,.portfolio-caption .eyebrow,.project-label .eyebrow,.project-caption .eyebrow{font-size:.9375rem;letter-spacing:1px}
 .text-link,.button,.hero .button,.nearby .text-link,.job-card-action .text-link{font-size:1.0625rem}
 .job-card-action{flex-wrap:wrap;gap:14px 20px}
 .job-card-action strong{font-size:1.125rem}
 .job-aside .button{font-size:1.0625rem}
 .mobile-main-links a{font-size:1.1875rem}
 .filters button{font-size:1.0625rem}
 .step-index{grid-template-columns:1fr}
 .hero-caption,.hero-caption span:first-child{font-size:1rem}
 .page-hero figcaption,.story-split figcaption,.project-cover figcaption,.gallery-item figcaption,.region-directory figcaption{font-size:1rem}
 .review-bar{flex-wrap:wrap;gap:4px 16px;padding:8px 16px}
 .review-bar>span,.review-bar nav{font-size:.8125rem;line-height:1.5;letter-spacing:.3px}
 .prototype-footnote{flex-wrap:wrap;gap:10px;font-size:1rem}
 .footer-links a{overflow-wrap:anywhere}
}

/* Show the complete in-house design sheet without cutting off the drawing. */
.story-split img[src*="hudson-in-house-elevation"], .resource-card img[src*="hudson-in-house-elevation"]{object-fit:contain;background:#fff}

/* Hudson field notes: a quiet reading index, distinct from the project grid. */
.journal-heading{padding-top:82px;padding-bottom:57px;border-bottom:1px solid #c8c9bd}
.journal-heading h1{font-size:clamp(48px,6vw,96px);font-weight:400;line-height:1.06;letter-spacing:-.045em;margin:22px 0 28px}
.journal-heading>p{max-width:860px;font-size:24px;line-height:1.6;color:var(--muted)}
.journal-feature{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center;padding-top:52px;padding-bottom:62px}
.journal-feature-image{display:block}.journal-feature img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.journal-feature h2{font-size:clamp(32px,3vw,48px);line-height:1.15;font-weight:400;margin:20px 0 24px}
.journal-feature p{font-size:21px;line-height:1.65;color:var(--muted);margin-bottom:28px}
.journal-reading{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-top:41px;padding-bottom:66px;border-top:1px solid #c8c9bd}
.journal-section-label h2{font-size:36px;font-weight:400;line-height:1.2;margin-top:18px}
.journal-row{display:grid;grid-template-columns:32px 1fr 25px;gap:22px;padding:30px 0;border-bottom:1px solid #c8c9bd}
.journal-row:first-child{padding-top:0}.journal-row>span{font-size:18px;color:var(--green)}
.journal-row h3{font-size:29px;font-weight:400;line-height:1.25;margin:0 0 12px}.journal-row p{font-size:20px;line-height:1.6;color:var(--muted)}
.journal-row:hover h3{text-decoration:underline;text-underline-offset:5px}
.journal-invite{padding-top:37px;padding-bottom:53px;border-top:1px solid #c8c9bd}.journal-invite h2{font-size:40px;font-weight:400;margin:15px 0}.journal-invite p{max-width:800px;margin-bottom:25px}
.editorial-plan{display:grid;grid-template-columns:1fr 1fr;gap:45px 70px;padding-bottom:57px}.editorial-plan article{border-top:1px solid #c8c9bd;padding-top:26px}.editorial-plan h2{font-size:30px;font-weight:400;line-height:1.25;margin:16px 0}.editorial-plan p{font-size:20px;line-height:1.65}.editorial-note{color:var(--muted);margin-top:15px}.editorial-principles{padding-bottom:66px;max-width:1000px}.editorial-principles h2{font-size:36px;font-weight:400}.editorial-principles p{margin-top:22px}
.reading-article{max-width:920px;padding-top:49px;padding-bottom:57px}.reading-article header{margin-top:40px}.reading-article h1{font-size:clamp(40px,4.5vw,70px);font-weight:400;line-height:1.12;margin:20px 0}.article-summary{font-size:25px;line-height:1.6}.article-byline{font-size:18px;color:var(--muted);margin-top:25px}.article-contents{padding:28px;margin:45px 0;background:#e9e9df}.article-contents ol{padding-left:24px;margin-top:16px}.article-contents li{margin:10px 0}.article-contents a{text-decoration:underline;text-underline-offset:4px}.reading-article section{margin-top:45px;scroll-margin-top:160px}.reading-article h2{font-size:34px;font-weight:400;line-height:1.2;margin-bottom:22px}.reading-article section p{font-size:21px;line-height:1.8;margin:20px 0}.article-related{border-top:1px solid #c8c9bd;margin-top:41px;padding-top:35px}.article-related>a{display:flex;margin-top:20px}.journal-articles{padding-bottom:57px}
@media(max-width:800px){.journal-heading{padding-top:41px;padding-bottom:40px}.journal-heading>p{font-size:21px}.journal-feature{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:37px}.journal-reading{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:37px}.journal-row{grid-template-columns:24px 1fr 18px;gap:12px}.journal-row h3{font-size:25px}.journal-row p{font-size:19px}.editorial-plan{grid-template-columns:1fr;gap:35px}.reading-article{padding-top:35px}.article-summary{font-size:22px}.reading-article section p{font-size:20px}.article-contents{padding:22px}.journal-invite h2{font-size:34px}}

.journal-articles{display:grid;grid-template-columns:1fr 1fr;gap:36px 60px;padding-top:40px;border-top:1px solid #c8c9bd}.journal-articles>h2{grid-column:1/-1;font-size:38px;font-weight:400}.journal-articles article{padding-top:25px;border-top:1px solid #c8c9bd}.journal-articles h3{margin:20px 0;font-size:29px;line-height:1.3;font-weight:400}.journal-articles h3 .text-link{font-size:inherit;line-height:inherit;align-items:flex-start}.journal-articles p{font-size:20px;line-height:1.65;color:var(--muted)}.article-review-status{display:inline-block;font-size:17px;color:var(--green);border:1px solid #bfc7b7;padding:8px 14px;margin-top:25px}.article-sources{border-top:1px solid #c8c9bd;margin-top:45px;padding-top:30px}.article-sources ul{padding-left:24px}.article-sources li{margin:15px 0;font-size:19px;line-height:1.5}.article-sources a{text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.journal-articles{grid-template-columns:1fr;gap:28px}.journal-articles h3{font-size:26px}.journal-articles>h2{font-size:33px}}

/* Contextual reading paths and Hudson’s local connections. */
.context-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.reading-article section p a,.faq-list p a{text-decoration:underline;text-underline-offset:4px;color:var(--green)}
.local-group{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-top:49px;padding-bottom:49px;border-bottom:1px solid #c8c9bd;scroll-margin-top:150px}
.local-group h2{font-size:38px;font-weight:400;line-height:1.2;margin:18px 0 24px}.local-group p{line-height:1.7;color:var(--muted)}
.local-entries article{padding:28px 0;border-top:1px solid #c8c9bd}.local-entries article:first-child{padding-top:0;border:0}.local-entries h3{font-size:30px;font-weight:400;margin:16px 0}.local-entries p{max-width:760px;margin-bottom:22px}
@media(max-width:800px){.local-group{grid-template-columns:1fr;gap:32px;padding-top:36px;padding-bottom:36px}.local-group h2{font-size:32px}.local-entries h3{font-size:27px}}

.case-story{padding-top:53px;padding-bottom:41px}.case-story>h2{font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.12;margin:20px 0 25px;max-width:900px}.case-desire{max-width:860px}.case-story-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.case-story h3,.case-details h3{font-size:27px;font-weight:400;line-height:1.3;margin-bottom:18px}.case-story-columns p,.case-details p{line-height:1.75;color:var(--muted)}.case-details{padding-top:35px;padding-bottom:41px}.case-details>h2{font-size:38px;font-weight:400;line-height:1.2;margin:18px 0 35px}.case-details>div{display:grid;grid-template-columns:1fr 1fr;gap:45px}.case-details img{width:100%;aspect-ratio:4/3;object-fit:cover}.case-details figcaption{padding-top:25px}.case-quote{padding-top:40px;padding-bottom:41px;border-top:1px solid #c8c9bd}.case-quote blockquote{font-size:32px;line-height:1.5;max-width:950px}.case-quote figcaption{margin-top:22px}@media(max-width:800px){.case-story-columns,.case-details>div{grid-template-columns:1fr;gap:28px}.case-story{padding-top:40px}.case-details>h2{font-size:32px}}

.audit-board{padding-bottom:57px}.audit-board>p{max-width:1000px;margin:20px 0}.audit-page{border-top:1px solid #c8c9bd;padding:22px 0}.audit-page summary{font-size:25px;cursor:pointer;line-height:1.5}.audit-page summary span{font-size:17px;color:var(--muted);margin-left:18px}.audit-page>div{padding-top:25px}.audit-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:25px 0}.audit-page label{display:block;font-size:18px}.audit-page select,.audit-page textarea{display:block;width:100%;background:#fff;border:1px solid #8c9587;color:#242923;font:inherit;font-size:19px;padding:12px;margin-top:10px}.audit-page textarea{resize:vertical}.audit-page select:focus,.audit-page textarea:focus{outline:3px solid #a45b1c;outline-offset:2px}@media(max-width:800px){.audit-fields{grid-template-columns:1fr}.audit-board .section-head{display:block}.audit-board .button{margin-top:22px}}

/* Homepage: one complete mountain home, with uncropped interior photographs. */
.mountain-exterior .image-wrap{height:auto;aspect-ratio:8/5;max-height:none}
.mountain-exterior .image-wrap img{height:100%;object-position:50% 55%}
.mountain-exterior .project-caption{padding-bottom:32px}
.mountain-interiors{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mountain-interiors figure{margin:0}
.mountain-interiors img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.mountain-interiors figcaption{display:flex;justify-content:space-between;gap:18px;padding:18px 0 0;font-size:21px;line-height:1.4}
.mountain-interiors a:hover figcaption{color:var(--copper)}
.home-more-projects{margin-top:53px;padding-top:37px;border-top:1px solid var(--rule)}
.home-more-projects .image-wrap{aspect-ratio:3/2}
#great-room,#kitchen{scroll-margin-top:150px}
@media(max-width:700px){.mountain-exterior .image-wrap{height:auto;aspect-ratio:3/2;margin:0}.mountain-exterior .project-caption{padding-bottom:28px}.mountain-interiors{grid-template-columns:1fr;gap:30px}.mountain-interiors figcaption{font-size:19px;padding-top:14px}.home-more-projects{margin-top:42px;padding-top:34px}.home-more-projects .image-wrap{aspect-ratio:3/2}}
.hero-service-area{display:block;width:fit-content;color:#fff;font-size:1.125rem;line-height:1.5;margin:0 auto 26px;text-decoration:none}
.hero-service-area span{display:block;font-size:1rem;text-decoration:underline;text-underline-offset:5px;margin-top:4px}
.hero-shade{-webkit-mask-image:none;mask-image:none}
.cost-levels-intro{max-width:880px;margin:24px 0 36px}
.inquiry-panel label{display:block;font-size:1.125rem;font-weight:600;margin:28px 0 12px}
.inquiry-panel select{display:block;width:100%;font:inherit;color:var(--ink);background:#fff;padding:16px 12px;border:1px solid #657263;border-radius:0}
#location-fit{min-height:5em;padding:18px 0 0}
.location-next{margin-top:28px}
@media(max-width:700px){.hero-service-area{font-size:1.0625rem;margin-bottom:22px;max-width:290px}.hero .hero-content .eyebrow{max-width:300px;margin-inline:0;text-align:left}.hero-content{padding-top:30px}.cost-levels-intro{margin-bottom:24px}}

/* October 22: a wider range of rooms, with natural uncropped photographs. */
.hero-service-area{display:block;width:fit-content;color:#fff;font-size:1.125rem;line-height:1.5;margin:0 auto 26px;text-decoration:none}
.hero-shade{-webkit-mask-image:none;mask-image:none}
.home-room-range{padding-top:57px;padding-bottom:74px;border-top:1px solid var(--rule)}
.home-room-range .section-head>p{max-width:440px}
.home-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:36px 0 30px}
.home-room-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.home-room-grid>a>span{display:flex;justify-content:space-between;font-size:1.5rem;margin-top:14px}
.room-collection{padding-top:41px;padding-bottom:66px}
.room-intro{max-width:850px;margin-bottom:53px}.room-intro h2{margin:14px 0 22px}
.room-index{display:flex;flex-wrap:wrap;gap:24px;margin-top:30px}.room-index a{border-bottom:1px solid var(--ink);padding-bottom:5px}
.room-chapter{padding:36px 0 60px;border-top:1px solid var(--rule);scroll-margin-top:150px}
.room-chapter-heading{display:grid;grid-template-columns:140px 1fr 1fr;gap:30px;align-items:start;margin-bottom:30px}
.room-chapter-heading h3,.room-details h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1.15}
.room-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.room-collection figure{margin:0}.room-collection .gallery-open{position:relative;display:block;border:0;padding:0;background:none;width:100%}.room-collection .gallery-open>span{position:absolute;bottom:14px;right:14px;width:38px;height:38px;background:var(--paper);border-radius:50%;font-size:24px;line-height:38px}
.room-collection img{height:auto;object-fit:contain}.room-collection figcaption{font-size:1.0625rem;line-height:1.5;margin-top:12px}
.room-details{border-top:1px solid var(--rule);padding-top:35px}.room-details h3{margin:12px 0 30px}.room-details>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media(max-width:900px){.room-chapter-heading{grid-template-columns:1fr;gap:12px}.room-chapter-heading p{max-width:620px}.room-details>div{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.home-room-range{padding-block:45px}.home-room-grid{grid-template-columns:1fr;gap:32px}.home-room-grid img{aspect-ratio:auto}.room-pair{grid-template-columns:1fr;gap:30px}.room-chapter{padding-bottom:37px}.room-intro{margin-bottom:40px}.room-collection{padding-block:35px}.room-details>div{gap:20px}.room-collection figcaption{font-size:1rem}}
.hero-service-area{margin-left:0;margin-right:0}
/* Keep legibility behind the copy without dimming the entire facade. */
.hero-shade{background:linear-gradient(90deg,rgba(15,21,15,.42) 0%,rgba(15,21,15,.18) 30%,rgba(15,21,15,0) 58%),linear-gradient(0deg,rgba(0,0,0,.18),transparent 20%)}
.hero-content h1,.hero-content p,.hero-content .eyebrow,.hero-service-area{text-shadow:0 1px 12px #0005}
@media(max-width:700px){.hero-service-area{max-width:none}}
@media(max-width:700px){.inquiry-layout .inquiry-panel{order:-1}}
@media(max-width:700px){.inquiry-layout{display:flex;flex-direction:column;gap:38px}.inquiry-layout .inquiry-panel{margin-top:0}}
.design-studies{padding-top:57px;padding-bottom:66px;border-top:1px solid var(--rule)}
.study-row{display:grid;grid-template-columns:1fr 1.65fr;gap:55px;padding:38px 0;border-top:1px solid var(--rule);align-items:center}.study-row h3,.render-study h3{font-size:clamp(30px,3vw,42px);font-weight:400;line-height:1.15;margin:15px 0 20px}.study-row figure{margin:0}.study-row button{position:relative;border:1px solid var(--rule);padding:0;background:white;width:100%}.study-row img{object-fit:contain}.study-row .gallery-open>span{position:absolute;bottom:10px;right:10px;background:var(--paper);width:35px;height:35px;line-height:35px;border-radius:50%}.study-row figcaption,.render-study figcaption{font-size:1rem;margin-top:12px}.render-study{display:grid;grid-template-columns:1.65fr 1fr;gap:55px;align-items:center;padding-top:45px}.render-study figure{margin:0}
.site-work{padding-block:65px}.site-work>div:first-child{max-width:800px;margin-bottom:35px}.site-work h2{margin:12px 0 20px}.site-work-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.site-work-photos figure{margin:0}.site-work-photos button{display:block;position:relative;width:100%;padding:0;border:0;background:none}.site-work-photos button>span{position:absolute;bottom:12px;right:12px;background:var(--paper);width:35px;height:35px;line-height:35px;border-radius:50%}.site-work-photos img{aspect-ratio:3/4;object-fit:cover}.site-work-photos figcaption{font-size:1rem;line-height:1.5;margin-top:12px}
.page-hero img[src*="hudson-onsite-plan-review"]{object-position:50% 25%}.page-hero img[src*="hudson-builder-at-work"]{object-position:50% 32%}
@media(max-width:700px){.design-studies{padding-block:40px}.study-row,.render-study{grid-template-columns:1fr;gap:25px}.site-work-photos{grid-template-columns:1fr;gap:30px}.site-work-photos img{aspect-ratio:auto}.site-work{padding-block:40px}}

/* Gallery: equal image windows, full original proportions in the lightbox. */
.gallery-controls{padding-bottom:30px}.photo-filters{display:flex;flex-wrap:wrap;gap:10px}.photo-filters button{font:inherit;font-size:1.125rem;background:transparent;border:1px solid #8b9384;color:var(--green);padding:12px 18px;min-height:48px;cursor:pointer}.photo-filters button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.photo-filters button:focus-visible{outline:3px solid var(--copper);outline-offset:3px}#photo-filter-status{font-size:1.0625rem;margin:16px 0 0;color:var(--muted)}
.curated-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.curated-photo[hidden]{display:none}.curated-photo .gallery-open{aspect-ratio:4/3;overflow:hidden;background:#e8e8e0}.curated-photo img,.curated-photo.portrait img{width:100%;height:100%;max-height:none;max-width:none;aspect-ratio:4/3;object-fit:cover;margin:0}.curated-photo figcaption{display:block;padding:18px 0 0}.curated-photo h2{font-size:1.375rem;line-height:1.35;min-height:2.7em}.curated-photo figcaption p{margin:7px 0 0;font-size:1.0625rem;line-height:1.5;min-height:1.5em}.curated-photo .gallery-project-link{font-size:1.0625rem;margin-top:9px}
.project-chapter{padding-top:35px;padding-bottom:61px;scroll-margin-top:145px}.project-chapter .section-head{align-items:end}.project-chapter .section-head>p{max-width:500px}.project-chapter figure{margin:0}.project-chapter .gallery-open{display:block;position:relative;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.project-chapter img{width:100%;height:auto;display:block}.project-chapter .gallery-open>span{position:absolute;right:20px;bottom:20px;background:var(--paper);border-radius:50%;width:44px;height:44px;line-height:44px;font-size:25px}.project-chapter figcaption{margin-top:18px;font-size:1.125rem}
#location-fit{min-height:0;margin:26px 0 22px;padding:0}#location-fit-title{display:block;font-size:1.375rem;line-height:1.35;color:var(--green)}#location-fit-copy{margin:12px 0 0}#location-fit.outside-area{background:#fffaf1;border-left:5px solid #9a531c;padding:26px 24px;box-shadow:0 3px 14px #242b1910;animation:location-notice-in .35s ease-out both}.outside-area #location-fit-title{color:#663411;font-size:1.5rem}.outside-area #location-fit-copy{color:#343b31;line-height:1.65}.location-town-primary{display:inline-flex}.location-next.location-alternative{margin-top:24px}.location-alternative .text-link{font-size:1.125rem}.inquiry-panel .fine-print{line-height:1.65}
@keyframes location-notice-in{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#location-fit.outside-area{animation:none}}
@media(max-width:1100px){.curated-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-chapter .section-head{display:block}.project-chapter .section-head>p{max-width:750px;margin-top:24px}}
@media(max-width:700px){.curated-gallery{grid-template-columns:1fr;gap:36px}.curated-photo h2{min-height:0}.curated-photo figcaption p{min-height:0}.photo-filters{gap:8px}.photo-filters button{padding:10px 13px;font-size:1rem}.project-chapter{padding-bottom:37px}.project-chapter figcaption{font-size:1.0625rem}#location-fit.outside-area{padding:22px 18px}.outside-area #location-fit-title{font-size:1.375rem}}
.mountain-partner{margin:35px 0}.mountain-partner figure{margin:0;max-width:1050px}.mountain-partner img{display:block;width:100%;height:auto}.mountain-partner figcaption{font-size:1.1875rem;margin-top:14px}
/* Paired retouches have their own color balance; do not apply the old global photo filter again. */
img[src*="killington-winter-exterior"],img[src*="killington-house-garage-original"]{filter:none!important}
/* Project overview: details and next steps share one compact row. */
.project-summary-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding-top:36px;padding-bottom:48px;border-top:1px solid var(--rule);align-items:start}.project-summary-grid .project-facts{display:block;margin:0;padding:0}.project-summary-grid .project-facts ul{margin:20px 0 0;padding:0;list-style:none}.project-summary-grid .project-facts li{border-top:1px solid var(--rule);padding:11px 0;font-size:1.125rem;line-height:1.6}.project-next-step h2{font-size:clamp(26px,2.2vw,34px);font-weight:400;line-height:1.25;margin:0 0 18px}.project-next-step p{margin:0 0 18px}.project-next-step .context-links{display:flex;flex-wrap:wrap;gap:12px 24px}.project-next-step .context-links .text-link{font-size:1.0625rem}.case-story{padding-top:37px;padding-bottom:30px}.case-story-columns{margin-top:28px;gap:30px}.case-details{padding-top:25px;padding-bottom:32px}.case-details figcaption{padding-top:18px}.case-details>h2{margin-bottom:25px}
@media(max-width:760px){.project-summary-grid{grid-template-columns:1fr;gap:28px;padding-top:28px;padding-bottom:34px}.project-next-step{padding-top:24px;border-top:1px solid var(--rule)}.project-summary-grid .project-facts li{font-size:1.0625rem}}
.material-texture{padding-top:45px;padding-bottom:53px;border-top:1px solid var(--rule)}.material-texture .section-head>p{max-width:550px}.texture-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px}.texture-pair figure{margin:0}.texture-pair img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.texture-pair figcaption{padding-top:20px}.texture-pair h3{font-size:1.625rem;font-weight:400;margin:0 0 12px}.texture-pair p{margin:0 0 15px}.texture-pair .text-link{font-size:1.125rem}
@media(max-width:760px){.material-texture .section-head{display:block}.material-texture .section-head>p{margin-top:25px}.texture-pair{grid-template-columns:1fr;gap:35px}}
.materials-intro{padding-top:49px;padding-bottom:37px;max-width:1000px}.materials-intro h2{font-size:clamp(32px,4vw,50px);font-weight:400;margin:18px 0 22px}.flooring-option{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;padding-top:40px;padding-bottom:40px;border-top:1px solid var(--rule);scroll-margin-top:140px}.flooring-option figure{margin:0}.flooring-option .gallery-open{display:block;position:relative;padding:0;border:0;background:none;width:100%;cursor:zoom-in}.flooring-option img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}.flooring-option .gallery-open>span{position:absolute;bottom:15px;right:15px;border-radius:50%;background:var(--paper);width:42px;height:42px;line-height:42px;font-size:25px}.flooring-option figcaption{font-size:1.0625rem;line-height:1.5;margin-top:15px}.flooring-option h2,.charred-material h2{font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.15;margin:18px 0 22px}.material-consider{border-top:1px solid var(--rule);padding-top:20px}.charred-material{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;border-top:1px solid var(--rule);padding-top:45px;padding-bottom:45px}.material-decisions{padding-top:40px;padding-bottom:53px;border-top:1px solid var(--rule)}.material-decisions h2{font-size:clamp(32px,4vw,48px);font-weight:400;margin:18px 0 30px}.material-decisions>div{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.material-decisions h3{font-size:1.5rem;font-weight:400}.material-decisions>.text-link{margin-top:20px}
@media(max-width:850px){.flooring-option,.charred-material{grid-template-columns:1fr;gap:26px}.material-decisions>div{grid-template-columns:1fr;gap:15px}}
.material-range{padding-bottom:45px}.material-range>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:20px}.material-range article{border-top:1px solid var(--rule);padding-top:24px}.material-range h2{font-size:1.75rem;font-weight:400;margin-bottom:14px}.reclaimed-details{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:65px;padding-top:37px;padding-bottom:45px;border-top:1px solid var(--rule)}.reclaimed-details h2{font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.15;margin:18px 0 22px}.reclaimed-details figure{margin:0}.reclaimed-details img{display:block;width:100%;max-height:620px;object-fit:contain}.reclaimed-details figcaption{font-size:1.0625rem;line-height:1.5;margin-top:16px}
@media(max-width:850px){.material-range>div,.reclaimed-details{grid-template-columns:1fr;gap:25px}.reclaimed-details figure{max-width:460px}}
.materials-gallery{padding-top:45px;padding-bottom:57px;border-top:1px solid var(--rule);scroll-margin-top:140px}.materials-gallery .section-head{align-items:end;gap:45px}.materials-gallery .section-head>p{max-width:560px}.material-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}.material-detail-grid figure{margin:0;min-width:0}.material-crop{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;padding:0;border:0;background:#e7e6df;cursor:zoom-in}.material-crop img{position:absolute!important;max-width:none!important;max-height:none!important;object-fit:fill!important;aspect-ratio:auto!important;transform:none!important;filter:none!important}.material-crop>span{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:34px;height:34px;background:#f7f6f0ec;color:#223021;border-radius:50%;font-size:23px}.material-crop:focus-visible{outline:3px solid var(--copper);outline-offset:4px}.material-detail-grid figcaption{padding-top:13px}.material-detail-grid h3{font-size:1.1875rem;font-weight:500;line-height:1.35;margin:0 0 5px}.material-detail-grid figcaption p{font-size:1rem;line-height:1.45;margin:0;color:var(--muted)}.material-gallery-end{display:flex;justify-content:space-between;align-items:center;gap:50px;border-top:1px solid var(--rule);margin-top:35px;padding-top:25px}.material-gallery-end p{max-width:650px;margin:0}.material-gallery-end .text-link{flex-shrink:0;font-size:1.125rem}
@media(max-width:1050px){.material-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.materials-gallery .section-head{display:block}.materials-gallery .section-head>p{margin-top:22px;max-width:850px}.material-gallery-end{display:block}.material-gallery-end .text-link{margin-top:22px}}
@media(max-width:650px){.material-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.material-detail-grid h3{font-size:1.0625rem}.material-detail-grid figcaption p{font-size:.9375rem}.materials-gallery{padding-top:35px;padding-bottom:37px}}

/* The approved exterior pair leads the homepage portfolio together. */
.mountain-exterior-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.mountain-exterior-pair figure{margin:0}.mountain-exterior-pair .image-wrap{height:auto;aspect-ratio:4/3;overflow:hidden}.mountain-exterior-pair img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.mountain-exterior-pair figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:15px;font-size:1.0625rem;line-height:1.5}.mountain-exterior-pair figcaption span:last-child{color:var(--muted)}.mountain-pair-caption{padding:30px 0 35px}.mountain-pair-caption h3{margin-top:12px}
@media(max-width:760px){.mountain-exterior-pair{grid-template-columns:1fr;gap:28px}.mountain-exterior-pair figcaption{font-size:1rem}.mountain-pair-caption{padding-top:28px}}

.design-material-link{display:table;margin-top:18px}

img[src*="killington-railing-corrected"]{filter:none!important}

.hero img[src*="rochester-original-2048"]{filter:none!important}

/* Supplied finished photographs retain their own color treatment. */
img[src*="-lit"],img[src*="reclaimed-vanity-front"],img[src*="reclaimed-vessel-vanity"],img[src*="timber-vanity-stone"],img[src*="stone-shower-detail"],img[src*="botanical-powder-room"],img[src*="stone-copper-vanity"],img[src*="vertical-tile-shower"]{filter:none!important}

/* October 22: gentler logo tone, stronger navigation, original photo colors. */
.brand-primary img{opacity:.84}
.desktop-nav>.nav-group>.nav-trigger,.desktop-nav>a{font-size:1.125rem;font-weight:400}
.mobile-nav a{font-weight:400}
.mobile-toggle .menu-label{font-weight:500}
img[src*="oullette-green-tile"],img[src*="oullette-pendant-timbers"],img[src*="oullette-shower-pattern"],img[src*="oullette-timber-detail"],img[src*="oullette-hearth-detail"],img[src*="oullette-covered-deck"],img[src*="sunlit-bedroom"],img[src*="oval-mirror-double-vanity"],img[src*="walnut-vessel-vanity"],img[src*="quechee-garage-exterior"]{filter:none}

.curated-photo figcaption{display:flex;align-items:center;padding-top:14px}.curated-photo figcaption h2{margin:0;min-height:0}.curated-photo .gallery-project-link{margin-top:0}

/* Improve readability of supporting section labels and numbered lists. */
body #main .eyebrow{font-size:1rem;font-weight:500;line-height:1.5;letter-spacing:1.1px}
.step-no,.regions>div>span,.scope-list>div>span,.team-roster article>span,.regional-priorities p>span,.cost-grid article>span{font-size:1.125rem;font-weight:500;line-height:1.6}
@media(max-width:700px){body #main .eyebrow{font-size:1rem;letter-spacing:1px}}

/* Gallery: a plain-language feature title, with location kept secondary. */
.curated-photo figcaption{align-items:flex-start;gap:16px}.curated-photo figcaption h2{font-size:1.25rem;line-height:1.4;font-weight:400;min-height:0}body #main .curated-photo figcaption .gallery-town{font-size:1rem;line-height:1.5;margin-top:5px;min-height:0;color:#66685f}.curated-photo .gallery-project-link{font-size:1rem;white-space:nowrap}
@media(min-width:701px) and (max-width:1100px){.curated-photo figcaption{display:block}.curated-photo .gallery-project-link{margin-top:7px}}

/* Article tiles pair each subject with Hudson photography or an in-house study. */
.journal-articles{gap:48px 40px;padding-top:44px;padding-bottom:57px}
.journal-articles>h2{margin:0 0 4px}
.journal-articles .journal-card{padding:0;border:0;min-width:0}
.journal-card-link{display:flex;flex-direction:column;height:100%;background:#eeeee6;border-bottom:1px solid #c5c7b9}
.journal-card-image{aspect-ratio:3/2;overflow:hidden;background:#e7e8df}
.journal-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.journal-card-drawing .journal-card-image{background:#fff}
.journal-card-drawing .journal-card-image img{object-fit:contain;padding:22px;filter:none}
.journal-card-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:28px 30px 30px}
.journal-articles h3{font-size:28px;font-weight:400;line-height:1.24;margin:14px 0 18px}
.journal-articles p{font-size:21px;line-height:1.6;color:#50564b;margin:0 0 24px}
.journal-card-action{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding-top:17px;margin-top:auto;border-top:1px solid #c5c7b9;font-size:17px;font-weight:400}
.journal-card-link:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.journal-card-link:focus-visible{outline:3px solid #86502b;outline-offset:6px}
.journal-card-wide{grid-column:1/-1}
.journal-card-wide .journal-card-link{display:grid;grid-template-columns:1fr 1fr}
.journal-card-wide .journal-card-image{aspect-ratio:auto;min-height:350px}
body #main .journal-articles .eyebrow,body #main .journal-feature .eyebrow,body #main .journal-section-label .eyebrow,body #main .reading-article header .eyebrow{font-size:17px;font-weight:500;line-height:1.4;letter-spacing:.2px;text-transform:none;color:#824821}
.journal-reading{display:block;padding-top:42px;padding-bottom:41px}
.journal-section-label h2{margin:10px 0 28px}
.journal-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.journal-shortcuts .journal-row,.journal-shortcuts .journal-row:first-child{grid-template-columns:1fr 22px;padding:22px 0;border-top:1px solid #c8c9bd;border-bottom:0;gap:14px}
.journal-shortcuts .journal-row h3{font-size:25px;font-weight:400}
@media(max-width:800px){
.journal-articles{gap:32px;padding-top:30px;padding-bottom:37px}
.journal-card-copy{padding:24px}
.journal-articles h3{font-size:26px}
.journal-card-wide .journal-card-link{display:flex}
.journal-card-wide .journal-card-image{aspect-ratio:3/2;min-height:0}
.journal-shortcuts{grid-template-columns:1fr;gap:0}
body #main .journal-articles .eyebrow,body #main .journal-feature .eyebrow,body #main .journal-section-label .eyebrow,body #main .reading-article header .eyebrow{font-size:17px}
}

/* Keep each closing invitation and its action in one left-aligned group. */
.contact .contact-bottom{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:26px;margin-top:28px}
.contact .contact-bottom p{max-width:650px;margin:0}
.contact .contact-bottom .button{align-self:flex-start;width:auto;min-width:255px;max-width:100%}

.editorial-principles details{border-top:1px solid var(--rule);padding:22px 0}.editorial-principles summary{font-size:26px;font-weight:500;cursor:pointer}.editorial-principles details p{font-size:20px}

/* Homepage selection: different projects lead, then a mix of rooms and craft. */
.home-selected-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 32px}
.home-selected-card{display:block;min-width:0}
.home-selected-card .image-wrap{aspect-ratio:3/2;overflow:hidden}
.home-selected-card .image-wrap img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-selected-card .home-selected-caption{padding-top:18px}
.home-selected-card h3{font-size:clamp(21px,1.64vw,26px);font-weight:400;line-height:1.25;margin-top:8px}
.home-selected-card:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.home-selected-card:focus-visible{outline:3px solid var(--copper);outline-offset:6px}
.home-selected-card:hover .image-link{background:var(--copper);border-color:var(--copper)}
@media(max-width:700px){.home-selected-grid{grid-template-columns:1fr;gap:32px}.home-selected-card h3{font-size:22px}.home-selected-card .home-selected-caption{padding-top:16px}}

/* Homepage photo sequence: room range and quieter moments. */
.home-bath-grid{display:grid;grid-template-columns:1.5fr 1.4fr .75fr;gap:30px;margin:40px 0 32px}
.home-bath-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.home-bath-grid>a:nth-child(2) img{aspect-ratio:1.4}.home-bath-grid>a:nth-child(3) img{aspect-ratio:3/4}
.home-bath-grid>a>span,.home-living-grid>a>span{display:flex;justify-content:space-between;gap:16px;font-size:20px;line-height:1.4;margin-top:15px}
.home-living-moments{padding-top:49px;padding-bottom:53px;border-top:1px solid var(--rule)}
.home-living-moments .section-head>p{max-width:490px}
.home-living-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;align-items:start}
.home-living-grid img{height:auto;width:100%;aspect-ratio:auto 3/4;object-fit:contain;object-position:center}
body #main .material-detail-grid figcaption p{font-size:1rem;line-height:1.5}
body #main .reading-article section p{font-size:1.1875rem;line-height:1.75}
body #main .reading-article .article-summary{font-size:1.375rem;line-height:1.6}
body #main h2{font-weight:400}
@media(max-width:700px){
 .home-bath-grid{grid-template-columns:1fr;gap:28px}.home-bath-grid img{max-height:540px;object-fit:contain;aspect-ratio:auto!important}
 .home-living-moments{padding-block:40px}.home-living-grid{grid-template-columns:1fr;gap:30px}
 .home-bath-grid>a>span,.home-living-grid>a>span{font-size:19px}
 body #main .reading-article section p{font-size:1.125rem}
 body #main .reading-article .article-summary{font-size:1.25rem}
}

/* Lighting is part of the design story, with a consistent photographic grid. */
.lighting-design{padding-top:53px;padding-bottom:53px;border-top:1px solid var(--rule);scroll-margin-top:130px}
.lighting-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;align-items:center;margin-bottom:45px}
.lighting-intro h2{font-size:clamp(34px,3.5vw,52px);line-height:1.15;margin-bottom:24px}
.lighting-design figure{margin:0}.lighting-intro img{width:100%;height:auto}.lighting-intro figcaption{font-size:16px;margin-top:12px;color:var(--muted)}
.lighting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px}
.lighting-card>img{width:100%;aspect-ratio:4/3;object-fit:cover}.lighting-card.lighting-portrait>img{object-fit:contain;background:#17221f}
.lighting-card figcaption{padding-top:18px}.lighting-card h3{font-size:23px;line-height:1.3;font-weight:400;margin-bottom:12px}
body #main .lighting-card p{font-size:18px;line-height:1.6;color:var(--muted)}
.lighting-next{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid var(--rule);margin-top:40px;padding-top:28px}.lighting-next p{max-width:650px}.lighting-next .text-link{flex-shrink:0}
.design-lighting-link{margin-top:24px}
@media(max-width:900px){.lighting-intro{grid-template-columns:1fr;gap:30px}.lighting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lighting-next{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.lighting-design{padding-block:40px}.lighting-grid{grid-template-columns:1fr;gap:30px}.lighting-card h3{font-size:22px}}

/* Compact navigation: reveal one group at a time instead of the complete sitemap. */
.mobile-nav:not([hidden]){padding:16px max(24px,calc((100vw - 560px)/2)) max(28px,env(safe-area-inset-bottom));scrollbar-gutter:stable}
.mobile-main-links{display:flex;flex-direction:column;gap:0;border-bottom:0;padding:0 0 10px}
.mobile-main-links a{min-height:44px;font-size:18px;padding:7px 0}
.mobile-nav-groups{display:block;padding:0;border-top:1px solid var(--rule)}
.mobile-nav-section{margin:0;padding:0;border-bottom:1px solid var(--rule)}
.mobile-nav-section summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;min-height:54px;padding:13px 0;font-size:19px;line-height:1.4;font-weight:400;color:var(--ink);cursor:pointer}
.mobile-nav-section summary::-webkit-details-marker{display:none}
.mobile-nav-section summary>span{font-size:25px;line-height:1;font-weight:300;transition:transform .15s}
.mobile-nav-section[open] summary{color:var(--green)}
.mobile-nav-section[open] summary>span{transform:rotate(45deg)}
.mobile-section-links{padding:0 0 14px 16px}
.mobile-nav-section a{font-size:17px;min-height:44px;padding:9px 0;line-height:1.5}
.mobile-utility{border:0;padding:17px 0 9px;gap:12px 28px}
.mobile-utility a{font-size:16px;min-height:44px}
.mobile-inquiry{padding-top:8px}.mobile-inquiry .button{display:flex;justify-content:space-between;min-height:50px;width:100%;font-size:17px;padding:13px 18px}
.mobile-inquiry .button>span{display:inline}
@media(max-width:1480px){.menu-open .header-cta{display:none}.menu-open .mobile-toggle{margin-left:auto}}
@media(max-width:700px){.menu-open .site-header{height:104px}.menu-open .brand-primary{flex-basis:180px}.menu-open .brand-primary img{width:180px;max-height:88px}.mobile-nav:not([hidden]){top:104px;padding-top:10px}.mobile-main-links a{min-height:42px}.mobile-nav-section summary{min-height:50px;padding:11px 0}.mobile-utility{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.mobile-nav-section summary>span{transition:none}}
@media(max-width:380px){.process-steps{grid-template-columns:1fr}.process-steps h3{min-height:0}.site-header{padding-inline:18px;gap:12px}.brand-primary,.menu-open .brand-primary{flex-basis:170px;min-width:0}.brand-primary img,.menu-open .brand-primary img{width:170px;max-height:83px}}

.audit-findings a{text-decoration:underline;text-underline-offset:3px}.audit-findings li{margin:14px 0;line-height:1.65}.audit-findings h2{margin-bottom:24px}
.vermont-building{padding-block:55px 70px;scroll-margin-top:150px}.vermont-building-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 60px;margin-bottom:30px}.vermont-building-grid article{border-top:1px solid var(--rule);padding-top:24px}.vermont-building-grid h3{font-size:27px;font-weight:400;line-height:1.2;margin-bottom:16px}.vermont-building-grid p{font-size:19px;line-height:1.65;color:var(--muted)}
@media(max-width:1000px){.vermont-building .section-head{display:block}.vermont-building .section-head p{max-width:650px;margin-top:24px}}
@media(max-width:700px){.vermont-building{padding-block:30px 45px;scroll-margin-top:30px}.vermont-building-grid{grid-template-columns:1fr;gap:26px}.vermont-building-grid h3{font-size:25px}.vermont-building-grid p{font-size:18px}}

/* Keep visual disclosure and announced state in sync, including after Escape. */
.nav-group:hover .dropdown,.nav-group:focus-within .dropdown{opacity:0;visibility:hidden;transform:translateY(8px)}
.nav-group.is-open .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.owner-review{max-width:1100px;padding-bottom:57px}.owner-review>h2{margin-bottom:24px}.owner-review>p{max-width:850px;margin-bottom:32px}.owner-review details{border-top:1px solid var(--rule);padding:22px 0}.owner-review details:last-child{border-bottom:1px solid var(--rule)}.owner-review summary{font-size:25px;font-weight:400;line-height:1.35;cursor:pointer}.owner-review details p{margin-top:22px;line-height:1.65}.owner-review li{margin:10px 0}.owner-review a{text-decoration:underline;text-underline-offset:4px}.table-scroll:focus-visible{outline:3px solid var(--copper);outline-offset:5px}
@media(max-width:700px){.owner-review summary{font-size:23px}.owner-review{padding-bottom:37px}}

.dropdown{transition:opacity .2s,transform .2s}

/* A quiet geographic reference beneath the service area introduction. */
.service-area-map{margin:12px auto 0;width:330px;max-width:100%}
.service-area-map img{width:100%;height:auto}
@media(max-width:700px){.service-area-map{margin:24px 0 0;width:270px;max-width:100%}}
/* Pair field observation with the actual GPS screen used for site planning. */
.site-visit{display:grid;grid-template-columns:1.25fr 1fr;background:#e9e9e1;align-items:center}.site-visit-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:28px 0 28px 28px}.site-visit-photos figure{margin:0;min-width:0}.site-visit-photos img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;filter:none}.site-visit-photos figcaption{font-size:12px;line-height:1.5;padding:12px 8px 0;color:#43513e}.site-visit .story-copy{padding:55px max(30px,4vw)}
@media(max-width:900px){.site-visit{grid-template-columns:1fr}.site-visit .story-copy{grid-row:1;padding:45px 24px 20px}.site-visit-photos{padding:0 24px 40px;gap:14px}.site-visit-photos figcaption{padding-left:0;font-size:11px}}
.process-timeline .inline-link{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.process-timeline .inline-link:hover{color:var(--copper)}

/* Make the carpentry crews a clear part of the client team. */
.carpentry-team{margin-top:48px;padding:32px;background:#e9e9e1;border-left:3px solid var(--copper)}
.carpentry-team p{max-width:920px;font-size:18px;line-height:1.7;color:var(--muted);margin-bottom:0}
@media(max-width:700px){.carpentry-team{padding:24px;margin-top:32px}}

/* Compact process overview with small illustrations and optional depth. */
.process-overview{padding-top:38px;padding-bottom:36px}
.process-overview-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.process-overview-heading p{margin:0;font-size:18px;color:var(--muted)}
.process-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.process-card{min-width:0;scroll-margin-top:130px;padding:26px;background:#eeeee6;border:1px solid #d8d9ce;border-top:3px solid #779078}
.process-card:nth-child(n+4){background:#f3eee6;border-top-color:#aa7c4c}
.process-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.process-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #bfc9b7;border-radius:50%;color:var(--green);background:#f8f8f0}
.process-icon svg{display:block;width:32px;height:32px}
.process-card-number{font-size:32px;color:#687b62;font-weight:300;line-height:1}
body #main .process-card h2{font-size:25px;line-height:1.2;letter-spacing:-.02em;font-weight:400;margin:0 0 14px;min-height:60px}
.process-card-copy{font-size:17px;line-height:1.55;min-height:106px;margin:0;color:#41483f}
.process-card-tags{font-size:13px;letter-spacing:.025em;color:#66715e;margin:17px 0}
.process-milestone{border-top:1px solid #cfd4c6;padding:14px 0;display:flex;flex-direction:column;gap:4px}
.process-milestone>span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#69725e}
.process-milestone strong{font-size:17px;font-weight:500;color:var(--green)}
.process-card details{border-top:1px solid #cfd4c6}
.process-card summary{padding:14px 0 0;font-size:15px;cursor:pointer;min-height:44px;color:var(--green)}
.process-card summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.process-card-detail{padding-top:6px;font-size:16px;line-height:1.6}
.process-card-detail ul{padding-left:20px}.process-card-detail li{margin-bottom:8px}
.process-card .inline-link,.process-portal .inline-link{text-decoration:underline;text-underline-offset:3px}
.process-portal{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:24px;padding-bottom:28px;border-block:1px solid var(--rule)}
body #main .process-portal h2{font-size:28px;font-weight:400;margin:10px 0}
.process-portal p{font-size:17px;line-height:1.5;margin:0;max-width:700px}
.process-portal>.text-link{flex-shrink:0}
@media(max-width:1100px){.process-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-card-copy{min-height:106px}.process-overview-heading{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:650px){.process-card-grid{grid-template-columns:1fr;gap:14px}.process-card{padding:22px}.process-card-top{margin-bottom:14px}body #main .process-card h2{min-height:0;font-size:25px}.process-card-copy{min-height:0}.process-portal{align-items:flex-start;flex-direction:column;gap:18px}.process-overview{padding-top:26px}.process-card-tags{font-size:13px}}

.process-card-grid{align-items:stretch}.process-card{display:flex;flex-direction:column;padding:22px}.process-card-top{margin-bottom:12px}body #main .process-card h2{min-height:56px;margin-bottom:8px}.process-card-copy{min-height:106px;margin-bottom:14px}.process-milestone{padding-block:12px;margin-top:auto}
@media(max-width:650px){body #main .process-card h2{min-height:0}.process-card-copy{min-height:0}.process-milestone{margin-top:0}}

img[src*="killington-front-natural"]{filter:none!important}

img[src*="killington-house-garage-original"]{filter:none!important}

/* Full FAQ navigation and search. */
.faq-intro{padding-bottom:34px}.faq-tools{padding-bottom:30px}.faq-tools label{display:block;font-size:18px;margin-bottom:12px}.faq-tools input{width:100%;max-width:720px;padding:16px 18px;font:inherit;background:white;border:1px solid #9fa896;border-radius:0}.faq-tools input:focus{outline:2px solid var(--green);outline-offset:3px}.faq-tools #faq-results{font-size:14px;color:var(--muted);margin:12px 0 20px}.faq-category-nav{display:flex;flex-wrap:wrap;gap:10px}.faq-category-nav a{display:flex;gap:14px;align-items:center;padding:12px 16px;min-height:44px;border:1px solid #d0d4c8;color:var(--green);font-size:15px;text-decoration:none}.faq-category-nav a:hover{background:#e7ecdf}.faq-category-nav span{font-size:12px;color:var(--muted)}.faq-full .faq-section{scroll-margin-top:140px;padding-top:32px;padding-bottom:32px}.faq-answer>div p{max-width:850px}.faq-full [hidden],.faq-empty[hidden]{display:none!important}.faq-empty{padding-block:24px 60px}.faq-full .faq-list a{text-decoration:underline;text-underline-offset:3px}
/* Culture is a clear operating standard, not a slogan. */
.career-culture{padding-top:48px;padding-bottom:48px;border-top:1px solid var(--rule)}.career-culture-intro{max-width:900px}.career-culture-intro h2{font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.2;margin:14px 0 22px}.career-culture-intro>p{font-size:19px;line-height:1.65;color:var(--muted)}.career-expectations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}.career-expectations article{padding:24px;background:#eeeee6;border-top:2px solid #7c8a70}.career-expectations h3,.career-mutual h3{font-size:24px;line-height:1.25;font-weight:400;margin:12px 0}.career-expectations p,.career-mutual p{font-size:17px;line-height:1.6;margin:0;color:#4d5549}.career-mutual{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--rule);padding-top:30px;margin-top:30px}@media(max-width:1000px){.career-expectations{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.career-expectations,.career-mutual{grid-template-columns:1fr;gap:18px}.career-culture{padding-block:32px}.faq-category-nav a{font-size:14px;padding:10px 12px}.faq-full .faq-section{padding-block:24px}}

/* Preserve natural exterior photographs without display enhancement. */
img[src*="killington-house-garage-original"],img[src*="killington-winter-exterior"]{filter:none!important}

/* Inquiry confirmation: compact next steps and a quiet portrait. */
.inquiry-thanks{display:grid;grid-template-columns:1.4fr .75fr;gap:70px;align-items:center;padding-top:53px;padding-bottom:53px}
.thanks-copy h1{font-size:clamp(38px,4.3vw,66px);line-height:1.08;font-weight:400;letter-spacing:-1.4px;max-width:820px}
.thanks-copy p{max-width:690px;font-size:18px;line-height:1.7;margin:22px 0;color:var(--muted)}
.thanks-copy .thanks-lead{font-size:22px;color:var(--ink)}
.inquiry-thanks figure{margin:0;max-width:360px;justify-self:end}
.inquiry-thanks figure img{width:100%;height:auto;display:block}
.inquiry-thanks figcaption{font-size:11px;line-height:1.5;margin-top:12px;color:var(--muted)}
.thanks-next{padding-top:41px;padding-bottom:45px;border-top:1px solid var(--rule)}
.thanks-next h2,.thanks-prepare h2,.thanks-resources h2{font-size:clamp(29px,3vw,42px);font-weight:400;line-height:1.2}
.thanks-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;list-style:none;margin:35px 0 0;padding:0}
.thanks-steps li{border-top:1px solid var(--rule);padding-top:22px}
.thanks-steps .step-number{color:var(--copper);font-size:14px;letter-spacing:.12em}
.thanks-steps h3{font-size:25px;font-weight:400;line-height:1.25;margin:16px 0}
.thanks-steps p,.thanks-prepare p{font-size:17px;line-height:1.7;color:var(--muted)}
.thanks-prepare{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;padding-top:30px;padding-bottom:53px}
.thanks-prepare p{margin:18px 0}
.thanks-prepare aside{background:#e9e9e1;padding:32px}
.thanks-prepare h3{font-size:26px;font-weight:400}
.thanks-resources{border-top:1px solid var(--rule);padding-top:37px;padding-bottom:53px}
.thanks-resources>div{display:flex;flex-wrap:wrap;gap:20px 40px;margin:28px 0}
.thanks-resources>p{font-size:15px;color:var(--muted);line-height:1.6}
@media(max-width:760px){.inquiry-thanks{grid-template-columns:1fr;gap:30px;padding-top:40px;padding-bottom:35px}.inquiry-thanks figure{display:none}.thanks-copy .thanks-lead{font-size:20px}.thanks-steps{grid-template-columns:1fr;gap:22px}.thanks-prepare{grid-template-columns:1fr;gap:20px;padding-bottom:40px}.thanks-next{padding-top:35px;padding-bottom:25px}.thanks-prepare aside{padding:25px}.thanks-resources>div{display:grid;gap:18px}.thanks-resources .text-link{font-size:16px}}

/* Slightly stronger navigation, balanced with the Hudson wordmark. */
.desktop-nav>.nav-group>.nav-trigger,.desktop-nav>a,.mobile-toggle .menu-label{font-weight:500;color:#252a23}
/* A single, searchable location choice before the inquiry. */
.location-simple h3{margin-bottom:16px}.location-search{position:relative}.location-search input{display:block;width:100%;box-sizing:border-box;min-height:54px;padding:14px;font:inherit;color:var(--ink);border:1px solid #657263;border-radius:0;background:#fff}.location-search input:focus-visible{outline:2px solid var(--green);outline-offset:3px}.location-search ul{position:absolute;top:100%;left:0;right:0;z-index:10;max-height:260px;overflow:auto;overscroll-behavior:contain;list-style:none;padding:6px;margin:5px 0 0;background:#fff;border:1px solid #657263;box-shadow:0 8px 24px #25332118}.location-search li{padding:12px 10px;margin:0;cursor:pointer;line-height:1.4}.location-search li:hover,.location-search li[aria-selected="true"]{background:#e8ece4;color:#233a2a}#location-status{font-size:1rem;margin:14px 0;line-height:1.5}#location-status:empty{display:none}#location-status.location-outside{color:#674629}.location-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:24px}.location-actions .text-link{border:0;background:none;cursor:pointer;text-align:left;padding:4px 0;font:inherit;text-decoration:underline;text-underline-offset:5px}.location-actions .button[aria-disabled="true"]{opacity:.45;cursor:default}.location-help{font-size:.95rem;margin:24px 0 0}.location-help a{text-underline-offset:4px}.service-town-directory{padding-top:24px;padding-bottom:59px;scroll-margin-top:120px}.service-town-directory details{border-top:1px solid #bac1b2;border-bottom:1px solid #bac1b2;padding:18px 0;margin:28px 0}.service-town-directory summary{cursor:pointer;font-size:1.125rem;font-weight:500}.service-town-directory table{width:100%;border-collapse:collapse;margin-top:20px;text-align:left}.service-town-directory th,.service-town-directory td{padding:12px 16px;border-bottom:1px solid #d5d9d0;vertical-align:top}.service-town-directory td:first-child{white-space:nowrap}@media(max-width:600px){.location-actions{align-items:flex-start;flex-direction:column}.location-search ul{max-height:220px}.service-town-directory th,.service-town-directory td{padding:10px 8px}.service-town-directory th:last-child,.service-town-directory td:last-child{display:none}}

/* Compact inquiry confirmation, shared by /thankyou and /thank-you. */
.inquiry-confirmation{padding-top:8px}
.inquiry-confirmation .wrap{max-width:1180px}
.inquiry-confirmation .inquiry-thanks{grid-template-columns:1.35fr .85fr;gap:60px;padding-top:42px;padding-bottom:42px}
body #main .inquiry-confirmation h1{font-size:clamp(34px,3.5vw,52px);line-height:1.12;letter-spacing:-.025em}
.inquiry-confirmation .thanks-copy p{font-size:16px;line-height:1.65;margin:18px 0}
.inquiry-confirmation .thanks-copy .thanks-lead{font-size:19px;max-width:540px}
.inquiry-confirmation .inquiry-thanks figure{width:100%;max-width:380px}
.inquiry-confirmation .inquiry-thanks figure img{aspect-ratio:3/2;object-fit:contain}
.inquiry-confirmation .thanks-next{padding-top:32px;padding-bottom:32px}
.inquiry-confirmation h2{font-size:clamp(27px,2.5vw,35px);max-width:760px}
.inquiry-confirmation .thanks-steps{gap:22px;margin-top:26px}
.inquiry-confirmation .thanks-steps li{background:#eeeee7;border-top:0;padding:24px}
.inquiry-confirmation .step-number{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #bcc7b9;border-radius:50%;color:var(--green);font-size:12px;letter-spacing:.04em}
.inquiry-confirmation .thanks-steps h3{font-size:23px;margin:16px 0 12px}
.inquiry-confirmation .thanks-steps p,.inquiry-confirmation .thanks-prepare p{font-size:16px;line-height:1.65}
.inquiry-confirmation .thanks-prepare{padding-top:16px;padding-bottom:32px;gap:40px;align-items:start}
.inquiry-confirmation .thanks-prepare aside{background:#3d553e;padding:28px;color:#fff}
.inquiry-confirmation .thanks-prepare aside p{color:#f1f1e9}
.inquiry-confirmation .thanks-prepare aside .text-link{color:#fff}
.inquiry-confirmation .thanks-prepare h3{font-size:25px}
.inquiry-confirmation .thanks-checklist{padding-left:19px;color:var(--muted);font-size:16px;line-height:1.65}
.inquiry-confirmation .thanks-checklist li{padding:5px 0}
.inquiry-confirmation .thanks-resources{padding-top:8px;padding-bottom:32px}
.inquiry-confirmation .thanks-resources>div{margin:22px 0}
@media(max-width:760px){
 .inquiry-confirmation .inquiry-thanks{grid-template-columns:1fr;gap:24px;padding-top:28px;padding-bottom:28px}
 .inquiry-confirmation .inquiry-thanks figure{display:block;max-width:380px;justify-self:start}
 .inquiry-confirmation .thanks-steps{grid-template-columns:1fr;gap:12px}
 .inquiry-confirmation .thanks-steps li{padding:22px}
 .inquiry-confirmation .thanks-prepare{grid-template-columns:1fr;gap:24px}
 .inquiry-confirmation .thanks-next{padding-top:26px;padding-bottom:26px}
}

/* Killington: a compact, illustrated design progression. */
.killington-feature{display:grid;grid-template-columns:1fr 1.15fr;gap:32px 48px;align-items:center}
.killington-feature h2,.killington-case h2,.leadership-story h2,.hudson-character h2{font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.15;letter-spacing:-.025em;margin:14px 0 22px}
.killington-feature p,.killington-case p,.leadership-story p,.hudson-character p{font-size:17px;line-height:1.7;color:var(--muted)}
.killington-feature figure,.killington-case figure{margin:0;min-width:0}
.killington-feature .gallery-open,.killington-case .gallery-open{display:block;position:relative;width:100%;border:0;padding:0;background:#fff;cursor:zoom-in}
.killington-feature .gallery-open img,.killington-case .gallery-open img{display:block;width:100%;height:auto;object-fit:contain}
.killington-feature .gallery-open>span,.killington-case .gallery-open>span{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--green);background:var(--paper);font-size:24px;box-shadow:0 1px 8px #0002}
.killington-feature figcaption,.killington-case figcaption{font-size:12px;color:var(--muted);line-height:1.5;margin-top:10px}
.killington-preview-steps,.killington-stage-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.killington-preview-steps{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:20px}
.killington-preview-steps a,.killington-stage-nav a{display:flex;gap:14px;font-size:15px;line-height:1.5;text-decoration:none;padding:10px 0}
.killington-preview-steps span{color:var(--copper)}
.killington-case .wrap{max-width:1280px}
.killington-intro{padding-top:34px;padding-bottom:28px}
.killington-intro>.text-link{display:inline-block;font-size:14px;margin-bottom:26px}
.killington-intro>.eyebrow{display:block}
body #main .killington-intro h1{font-size:clamp(36px,4.5vw,62px);font-weight:400;line-height:1.08;letter-spacing:-.03em;margin:18px 0}
.killington-intro .lead{max-width:760px;font-size:19px}
.killington-facts{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:13px;line-height:1.6;margin-top:25px}
.killington-facts span{border-top:1px solid var(--rule);padding-top:10px}
.killington-hero{padding-bottom:30px}
.killington-hero .gallery-open{max-width:100%;background:transparent}
.killington-hero .gallery-open img{max-height:580px}
.killington-brief,.leadership-story{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;padding-top:40px;padding-bottom:40px;align-items:start}
.killington-brief p:first-child,.leadership-story p:first-child{margin-top:0}
.killington-stage-nav{padding-top:16px;padding-bottom:16px;border-block:1px solid var(--rule)}
.killington-stage{padding-top:44px;padding-bottom:34px;scroll-margin-top:120px}
.killington-stage-copy{max-width:850px;margin-bottom:28px}
.killington-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;align-items:start}
.killington-image-grid.sketches .gallery-open img,.killington-image-grid.drawings .gallery-open img{aspect-ratio:4/3;object-fit:contain}
.killington-image-grid.interiors .gallery-open img{aspect-ratio:4/3;object-fit:contain;background:#eeeee7}
.killington-technical{margin-bottom:28px}
.killington-case .fine-print,.killington-feature .fine-print{font-size:13px;line-height:1.6}
.killington-close{padding-top:35px;padding-bottom:44px;border-top:1px solid var(--rule)}
.killington-close p{max-width:800px}.killington-close .button{margin-top:15px}
/* Character and complementary leadership on About Us. */
.leadership-story{border-top:1px solid var(--rule)}
.hudson-character{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;padding-top:36px;padding-bottom:42px;border-top:1px solid var(--rule)}
.character-values{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.character-values article{padding:22px;background:#eeeee6;border-top:2px solid #7c8a70}
.character-values h3{font-size:23px;font-weight:400;line-height:1.2;margin:0 0 12px}
.character-values p{font-size:16px;margin:0;line-height:1.6}
@media(max-width:760px){.killington-feature,.killington-brief,.leadership-story,.hudson-character{grid-template-columns:1fr;gap:22px}.killington-preview-steps,.killington-stage-nav{grid-template-columns:1fr;gap:0}.killington-preview-steps a,.killington-stage-nav a{padding:12px 0;border-bottom:1px solid var(--rule)}.killington-image-grid{grid-template-columns:1fr;gap:24px}.killington-intro{padding-top:25px}.killington-facts{gap:12px 20px}.killington-stage{padding-top:30px;padding-bottom:25px}.killington-stage-copy{margin-bottom:22px}.killington-brief,.leadership-story,.hudson-character{padding-top:28px;padding-bottom:28px}.killington-feature p,.killington-case p,.leadership-story p,.hudson-character p{font-size:16px}.killington-intro .lead{font-size:18px}}
@media(max-width:500px){.character-values{grid-template-columns:1fr}.character-values article{padding:20px}}

.leadership-story{scroll-margin-top:130px}

/* Keep the About Us portrait intact on wide screens. */
.page-about-us .page-hero{grid-template-columns:minmax(0,1fr) minmax(0,460px);align-items:center;gap:52px;max-width:1400px;min-height:0;margin:0 auto;padding:30px clamp(24px,4vw,70px);background:var(--paper)}
.page-about-us .page-hero-copy{padding:20px 0;max-width:600px}
.page-about-us .page-hero figure{width:100%;margin:0;min-width:0}
.page-about-us .page-hero figure>img{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain}
.page-about-us .page-hero figcaption{left:12px;right:12px;bottom:12px;max-width:calc(100% - 24px);font-size:12px}
.pc-investment-invite{display:grid;grid-template-columns:minmax(0,800px) auto;align-items:center;gap:35px}
.pc-investment-invite h2{font-size:clamp(27px,3vw,40px);font-weight:400;margin:14px 0 18px;line-height:1.2}
.pc-investment-invite p{font-size:17px;line-height:1.7;color:var(--muted)}
@media(max-width:900px){.page-about-us .page-hero{grid-template-columns:1fr 1fr;gap:30px}.pc-investment-invite{grid-template-columns:1fr;gap:12px}}
@media(max-width:700px){.page-about-us .page-hero{display:flex;flex-direction:column;padding:24px;gap:24px}.page-about-us .page-hero figure{order:0;max-width:360px;align-self:center}.page-about-us .page-hero-copy{padding:0}.page-about-us .page-hero figure>img{height:auto;aspect-ratio:auto}.page-about-us .page-hero figcaption{font-size:11px}.pc-investment-invite p{font-size:16px}}

/* Equal prominence for Hudson's two leadership profiles. */
.leadership-profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;max-width:1280px;padding-top:24px;padding-bottom:42px}
.leader-profile{min-width:0;scroll-margin-top:35px}
.leader-profile figure{margin:0 0 26px;max-width:420px}
.leader-profile figure img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;filter:none}
.leader-profile h2{font-size:clamp(28px,3vw,38px);font-weight:400;line-height:1.15;letter-spacing:-.02em;margin:12px 0 16px}
.leader-profile h3{font-size:22px;font-weight:400;line-height:1.35;margin:0 0 20px;max-width:420px}
.leader-profile p{font-size:17px;line-height:1.7;color:var(--muted);margin:0 0 18px}
@media(max-width:700px){.leadership-profiles{grid-template-columns:1fr;gap:36px;padding-top:16px;padding-bottom:30px}.leader-profile figure{max-width:360px;margin-bottom:22px}.leader-profile h2{font-size:30px}.leader-profile h3{font-size:21px}.leader-profile p{font-size:16px}.leader-profile+.leader-profile{border-top:1px solid var(--rule);padding-top:30px}}

.leader-profile-copy p a{color:var(--green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Carry the same column edges through the About Us introduction. */
.page-about-us .page-hero,
.page-about-us>.intro,
.page-about-us .leadership-profiles{max-width:1400px;width:100%;margin-left:auto;margin-right:auto;padding-left:clamp(24px,4vw,70px);padding-right:clamp(24px,4vw,70px);grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
.page-about-us .page-hero figure{max-width:460px;justify-self:start}
.page-about-us>.intro{padding-top:40px;padding-bottom:40px}
@media(min-width:701px){.page-about-us>.intro{display:grid}}
@media(max-width:900px){.page-about-us .page-hero,.page-about-us>.intro,.page-about-us .leadership-profiles{gap:30px}}
@media(max-width:700px){.page-about-us .page-hero,.page-about-us>.intro,.page-about-us .leadership-profiles{padding-left:24px;padding-right:24px;grid-template-columns:1fr;gap:24px}.page-about-us .page-hero figure{max-width:360px}.page-about-us>.intro{padding-top:28px;padding-bottom:28px}}

/* A shared childhood story, separate from the individual biographies. */
.leadership-fun-fact{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;background:#eeeee6;border-top:2px solid #7c8a70;padding:26px 30px}
.leadership-fun-fact .eyebrow{margin-bottom:8px}
.leadership-fun-fact h3{font-size:26px;font-weight:400;line-height:1.25;margin:0}
.leadership-fun-fact p{font-size:17px;line-height:1.7;color:var(--muted);margin:0}
@media(max-width:700px){.leadership-fun-fact{grid-template-columns:1fr;gap:14px;padding:22px}.leadership-fun-fact h3{font-size:24px}.leadership-fun-fact p{font-size:16px}}

/* Compact training and insurance credentials alongside the carpentry team. */
.team-safety{margin-top:24px;padding-top:22px;border-top:1px solid #c9cbbf}
.team-safety h4{font-size:16px;font-weight:500;margin:0 0 14px;color:var(--green)}
.team-safety ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}
.team-safety li{font-size:18px;line-height:1.5;color:var(--green);padding-left:15px;border-left:2px solid #7c8a70}
@media(max-width:700px){.team-safety ul{grid-template-columns:1fr;gap:14px}.team-safety li{font-size:17px}}

/* Continue the About Us content edges through every contained section. */
.page-about-us>.wrap{max-width:1400px;width:100%;margin-left:auto;margin-right:auto;padding-left:clamp(24px,4vw,70px);padding-right:clamp(24px,4vw,70px)}
@media(min-width:761px){.page-about-us>.hudson-character{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}}
@media(min-width:761px) and (max-width:900px){.page-about-us>.hudson-character{gap:30px}}
@media(max-width:700px){.page-about-us>.wrap{padding-left:24px;padding-right:24px}}

/* Rental planning on the two ski region landing pages. */
.rental-planning{padding-top:40px;padding-bottom:44px;border-top:1px solid var(--rule)}
.rental-planning-heading{display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:start;margin-bottom:26px}
.rental-planning h2{font-size:clamp(28px,3.1vw,44px);font-weight:400;line-height:1.15;margin:10px 0 18px}
.rental-planning p{font-size:17px;line-height:1.7;color:var(--muted);margin:0 0 16px}
.rental-planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.rental-planning-grid article{background:#eeeee6;border-top:2px solid #7c8a70;padding:24px}
.rental-planning-grid h3{font-size:23px;font-weight:400;line-height:1.25;margin:0 0 12px}
.rental-planning-grid p{margin:0}
.rental-planning-links{display:flex;flex-wrap:wrap;gap:20px 36px;margin-top:24px}
@media(max-width:700px){.rental-planning{padding-top:28px;padding-bottom:30px}.rental-planning-heading,.rental-planning-grid{grid-template-columns:1fr;gap:18px}.rental-planning-heading{margin-bottom:18px}.rental-planning p{font-size:16px}.rental-planning-grid article{padding:22px}.rental-planning-links{flex-direction:column;align-items:flex-start}}

/* Real team collaboration and an approachable full-length careers portrait. */
#team{grid-template-columns:.85fr 1.25fr;gap:48px;align-items:center}
#team .team-collaboration{margin:0;min-width:0}
#team .team-collaboration img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.team-collaboration figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.page-about-us .page-hero figure img,.careers-hero figure img{object-position:center 72%}
.career-contact.career-invitation{display:grid;grid-template-columns:minmax(180px,290px) 1fr;gap:48px;align-items:center;text-align:left;padding:36px 48px}
.career-invitation figure{margin:0}.career-invitation figure img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain}
.career-invitation h2{font-size:clamp(30px,3vw,42px);margin-top:14px}
.career-invitation p{max-width:550px}
@media(max-width:700px){#team{gap:24px}.career-contact.career-invitation{grid-template-columns:1fr;gap:24px;padding:24px}.career-invitation figure{max-width:260px;margin:auto}.career-invitation figure img{max-height:360px}}

/* Mild, reversible presentation adjustments retain original faces and branding. */
.lifestyle-photo,.page-our-process img[src*="hudson-field-conversation"],.site-work img[src*="hudson-documenting-home"]{filter:brightness(1.025) contrast(1.025) saturate(.97)}
.life-at-hudson{padding-block:30px 42px;border-bottom:1px solid var(--rule)}
.life-at-hudson .section-head{align-items:end;gap:35px;margin-bottom:24px}.life-at-hudson h2{font-size:clamp(28px,3vw,40px);line-height:1.15;font-weight:400;margin:12px 0 0}.life-at-hudson .section-head>p{max-width:430px;font-size:17px;line-height:1.6;color:var(--muted)}
.lifestyle-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lifestyle-pair figure{margin:0;min-width:0}.lifestyle-pair img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.lifestyle-pair .office-candid{object-position:50% 23%;filter:brightness(1.025) contrast(1.035) saturate(.9)}
.lifestyle-pair figcaption,.career-culture-opening figcaption{font-size:13px;line-height:1.5;color:var(--muted);margin-top:10px}
.career-culture-opening{display:grid;grid-template-columns:1fr minmax(220px,300px);gap:60px;align-items:center}.career-culture-opening figure{margin:0}.career-culture-opening img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center bottom}
.page-our-process .page-hero img[src*="hudson-field-conversation"]{object-position:center 55%}
@media(max-width:700px){.life-at-hudson .section-head{display:block}.lifestyle-pair{grid-template-columns:1fr;gap:24px}.career-culture-opening{grid-template-columns:1fr;gap:22px}.career-culture-opening figure{max-width:300px}.life-at-hudson{padding-block:24px 30px}}

/* Shared column rhythm for contained editorial sections. Full-bleed stories,
   technical drawings, article reading measures and compact portraits retain
   their purpose-specific layouts. */
:root{--editorial-gap:clamp(28px,3.5vw,56px)}
.intro,.project-caption,.project-pair,.portfolio-grid,.capability-grid,
.home-selected-grid,.home-living-grid,.mountain-interiors,.texture-pair,
.room-pair,.lifestyle-pair,.project-next,.rental-planning-heading,
.rental-planning-grid,.flooring-option,.charred-material,.reclaimed-details,
.lighting-intro,.vermont-building-grid{column-gap:var(--editorial-gap)}
.region-directory>a{column-gap:var(--editorial-gap)}
body #main .pc-story,body #main .pc-photo-grid{column-gap:var(--editorial-gap)}
.page-about-us .page-hero,.page-about-us>.intro,
.page-about-us .leadership-profiles,.page-about-us>.hudson-character{
  column-gap:var(--editorial-gap);
}
.page-about-us .page-hero figure,.leader-profile figure{
  width:100%;max-width:none;justify-self:stretch;align-self:stretch;
}
.page-about-us .page-hero-copy{max-width:none}
.leader-profile h3{max-width:none}
.life-at-hudson .section-head>p{max-width:60ch;width:100%;margin:0}
#process{max-width:1600px}
@media(min-width:701px){
  .intro,.project-next,.rental-planning-heading,
  .flooring-option,.charred-material,.reclaimed-details,.lighting-intro,
  .region-directory>a,#team,.where{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:var(--editorial-gap);
  }
  .life-at-hudson .section-head{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:var(--editorial-gap);
  }
}
/* Captions and their photos occupy the same column, including stacked views. */
.reclaimed-details figure{width:100%;max-width:none;margin-inline:0}
.reclaimed-details figure img{width:100%}
.character-values{grid-template-columns:repeat(2,minmax(0,1fr))}
.character-values article{min-width:0;overflow-wrap:anywhere}
@media(min-width:701px) and (max-width:900px){.character-values{grid-template-columns:1fr}}
@media(max-width:500px){.character-values{grid-template-columns:1fr}}
@media(max-width:700px){
  :root{--editorial-gap:24px}
  .page-about-us .page-hero-copy,.page-about-us .page-hero figure{width:100%}
  .career-culture-opening figure{width:100%;max-width:none}
}

/* The original brand artwork accompanies its origin story, without redrawing it. */
.logo-story{padding-block:12px 40px}
.logo-story-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--editorial-gap);align-items:center;background:#eeeee6;border-top:2px solid #7c8a70;padding:30px}
.logo-story-art{position:relative;aspect-ratio:2048/652;overflow:hidden}
.logo-story-art img{position:absolute;display:block;top:-89.1104%;left:0;width:100%;height:auto;max-width:none;filter:none}
.logo-story-copy h2{font-size:clamp(26px,2.5vw,34px);font-weight:400;line-height:1.2;margin:10px 0 18px}
body #main .logo-story-copy p{font-size:17px;line-height:1.65;color:var(--muted);margin:0 0 16px}
.logo-story-copy p:last-child{margin-bottom:0}
@media(max-width:700px){.logo-story{padding-block:10px 28px}.logo-story-panel{grid-template-columns:1fr;padding:22px;gap:24px}.logo-story-copy h2{font-size:27px}body #main .logo-story-copy p{font-size:16px}}

/* Broad budget guidance: three simple levers with an immediately visible result. */
.budget-planner{padding-block:12px 54px;scroll-margin-top:30px}
.budget-planner-heading{max-width:780px;margin-bottom:30px}
.budget-planner-heading h2{font-size:clamp(30px,3.2vw,46px);font-weight:400;line-height:1.15;margin:12px 0 18px}
.budget-planner-heading p{color:var(--muted)}
.budget-planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--editorial-gap);align-items:start}
.budget-controls{padding:8px 0}
.budget-control{padding-bottom:28px;margin-bottom:25px;border-bottom:1px solid var(--rule)}
.budget-control:last-child{margin-bottom:0}
.budget-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;align-items:baseline;margin-bottom:16px}
.budget-label label{font-size:19px;font-weight:500;color:var(--green)}
.budget-label output{font-size:21px;font-weight:500;font-variant-numeric:tabular-nums}
.budget-control input[type=range]{display:block;width:100%;height:44px;margin:0;padding:0;cursor:pointer;appearance:none;background:transparent;--range-progress:50%}
.budget-control input[type=range]::-webkit-slider-runnable-track{height:7px;background:linear-gradient(to right,var(--green) 0 var(--range-progress),#d0d4c8 var(--range-progress) 100%);border-radius:5px}
.budget-control input[type=range]::-webkit-slider-thumb{appearance:none;width:26px;height:26px;border-radius:50%;background:var(--green);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--green);margin-top:-9.5px}
.budget-control input[type=range]::-moz-range-track{height:7px;background:#d0d4c8;border-radius:5px}
.budget-control input[type=range]::-moz-range-progress{height:7px;background:var(--green)}
.budget-control input[type=range]::-moz-range-thumb{width:22px;height:22px;border:3px solid var(--paper);border-radius:50%;background:var(--green);box-shadow:0 0 0 1px var(--green)}
.budget-control input[type=range]:focus-visible{outline:2px solid var(--copper);outline-offset:5px;border-radius:4px}
.budget-scale{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:1.4;color:var(--muted)}
.budget-tier-scale span{flex:1}.budget-tier-scale span:nth-child(2){text-align:center}.budget-tier-scale span:last-child{text-align:right}
body #main .budget-control>p{font-size:15px;line-height:1.55;color:var(--muted);margin:14px 0 0;min-height:47px}
.budget-result{background:#e9ece3;padding:32px;border-top:3px solid var(--green)}
.budget-result .eyebrow{font-size:13px}
body #main .budget-total{font-size:clamp(29px,3vw,44px);font-weight:400;letter-spacing:-.02em;line-height:1.2;margin:16px 0}
body #main #budget-summary{font-size:15px;line-height:1.55;color:var(--muted);margin-bottom:24px}
.budget-breakdown{margin:0 0 22px;font-size:16px;line-height:1.5}
.budget-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #c4ccbd}
.budget-breakdown dd{margin:0;text-align:right}
body #main .budget-separate,body #main .budget-note{font-size:15px;line-height:1.6;color:#4d5549;margin:0 0 18px}
.budget-separate strong{font-weight:500}
.budget-result .button{width:100%;justify-content:space-between;margin-top:7px}
.budget-renovation{display:block;font-size:14px;line-height:1.55;margin-top:20px;text-decoration:underline;text-underline-offset:4px}
.budget-planner [hidden]{display:none!important}
.budget-mobile-summary{display:none}
@media(max-width:900px){.budget-planner-grid{grid-template-columns:1fr}.budget-control>p{min-height:0}.budget-result{padding:28px}.budget-control{padding-bottom:23px;margin-bottom:22px}}
@media(max-width:500px){.budget-planner{padding-block:10px 36px}.budget-planner-heading{margin-bottom:22px}.budget-label{display:block}.budget-label output{display:block;margin-top:6px}.budget-result{padding:24px 20px}.budget-breakdown{font-size:15px}.budget-breakdown>div{gap:12px}.budget-scale{font-size:12px}.budget-result .button{font-size:16px;padding-inline:18px}}
@media(max-width:700px){.budget-mobile-summary{position:fixed;display:grid;grid-template-columns:1fr auto;gap:2px 12px;bottom:12px;left:16px;right:16px;background:var(--green);color:white;padding:12px 16px;z-index:20;box-shadow:0 4px 18px #14241925}.budget-mobile-summary>span:first-child{font-size:12px}.budget-mobile-summary strong{grid-row:2;font-size:21px;font-weight:500;line-height:1.3}.budget-mobile-summary>span:last-child{grid-column:2;grid-row:1/3;align-self:center;font-size:13px}#budget-result{scroll-margin-top:24px}.menu-open .budget-mobile-summary{display:none}}
/* Budget planner: native inputs, two project paths, and an always-readable guide. */
.budget-jump{display:flex;flex-wrap:wrap;gap:18px 32px;padding-block:0 35px}.budget-jump a,.budget-text-link{text-decoration:underline;text-underline-offset:5px;font-size:16px}
.budget-modes{display:flex;gap:8px;border:0;padding:0;margin:0 0 28px}.budget-modes label{display:flex;align-items:center;gap:9px;padding:14px 20px;border:1px solid #bcc5b3;cursor:pointer;border-radius:3px;font-size:17px}.budget-modes label:has(input:checked){background:var(--green);color:white;border-color:var(--green)}.budget-modes input{accent-color:var(--green);width:18px;height:18px}
.budget-control select{width:100%;font:inherit;font-size:17px;color:var(--green);background:var(--paper);border:1px solid #9ba78f;padding:14px 12px;min-height:48px;border-radius:3px}.budget-adjust{display:flex;align-items:center;gap:10px;margin-top:8px}.budget-adjust button{width:44px;height:44px;background:transparent;border:1px solid #a7b19e;border-radius:3px;font-size:23px;color:var(--green);cursor:pointer}.budget-number-label{display:flex;gap:10px;align-items:center;font-size:14px}.budget-number-label input{width:108px;min-height:44px;font:inherit;font-size:17px;border:1px solid #a7b19e;background:transparent;color:var(--green);padding:8px}.budget-number-label span:last-child{min-width:32px}
.budget-planner button:focus-visible,.budget-planner select:focus-visible,.budget-planner input:focus-visible,.budget-planner a:focus-visible{outline:2px solid var(--green);outline-offset:4px}
body #main .budget-fit{font-size:15px;line-height:1.6;padding-block:15px;border-block:1px solid #c4ccbd;margin:18px 0}.budget-note a{text-decoration:underline;text-underline-offset:3px}.budget-share{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:16px}.budget-share button{font:inherit;font-size:14px;background:none;border:0;color:var(--green);text-decoration:underline;text-underline-offset:4px;min-height:44px;cursor:pointer;padding:0}.budget-result #budget-share-status{font-size:14px;margin:8px 0 0}.budget-result input[readonly]{width:100%;padding:10px;box-sizing:border-box}
.budget-reference{scroll-margin-top:30px}.budget-reference h3{font-size:25px;font-weight:400;margin:34px 0 16px}.budget-reference>p{max-width:850px}.budget-reference table{width:100%;border-collapse:collapse}.budget-reference td,.budget-reference th{padding:18px;text-align:left;border-bottom:1px solid var(--rule);font-weight:400;font-size:16px;line-height:1.55}.budget-reference thead th{background:#e9ece3;font-weight:500}.budget-reference tbody th{font-weight:500;min-width:175px}.budget-reference .table-scroll{overflow-x:auto}.budget-reference .fine-print{font-size:14px}
.budget-method{display:grid;grid-template-columns:1fr 1fr;gap:var(--editorial-gap);padding-block:35px;border-block:1px solid var(--rule);scroll-margin-top:25px}.budget-method h2,.budget-faq h2{font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.2}.budget-method p{font-size:17px}.budget-method a{ text-decoration:underline;text-underline-offset:4px}.budget-faq{padding-block:40px}.budget-faq details{border-bottom:1px solid var(--rule);padding:18px 0}.budget-faq summary{font-size:19px;cursor:pointer;line-height:1.45;padding-right:15px}.budget-faq details p{max-width:900px;font-size:17px;line-height:1.65}.budget-faq a{text-decoration:underline}
@media(max-width:700px){.budget-modes{gap:6px}.budget-modes label{flex:1;padding:12px 9px;font-size:15px}.budget-method{grid-template-columns:1fr;gap:14px}.budget-reference td,.budget-reference th{font-size:14px;padding:14px 12px}.budget-reference tbody th{min-width:145px}.budget-reference table{min-width:560px}.budget-reference h3{font-size:23px}.budget-planner-grid{gap:24px}.budget-control{margin-bottom:18px;padding-bottom:18px}body #main .budget-control>p{min-height:0}.budget-mobile-summary{bottom:max(12px,env(safe-area-inset-bottom))}.budget-jump{padding-bottom:28px}}
.budget-tier-link{font-size:14px;display:inline-block;text-decoration:underline;text-underline-offset:4px;margin-top:12px}.budget-customization{margin-top:28px;scroll-margin-top:30px}.budget-customization>p{max-width:850px}.budget-customization details{border-bottom:1px solid var(--rule);padding:16px 0}.budget-customization summary{font-size:18px;cursor:pointer}.tier-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:20px 0 8px}.tier-detail-grid h4{font-weight:500;font-size:16px;margin:0 0 10px}.tier-detail-grid p{font-size:16px;line-height:1.6;margin:0}.budget-reference tbody th{text-transform:none;letter-spacing:0}.budget-reference table:has(th:nth-child(3)){min-width:650px}.budget-reference table:not(:has(th:nth-child(3))){min-width:0}
@media(max-width:700px){.tier-detail-grid{grid-template-columns:1fr;gap:20px}.budget-reference table:not(:has(th:nth-child(3))) th{min-width:100px}.budget-reference table:not(:has(th:nth-child(3))) td{min-width:110px}.budget-reference .table-scroll:has(th:nth-child(3)):after{content:'Swipe to compare →';display:block;font-size:12px;padding:8px 0;color:var(--muted)}}
.budget-contract{display:grid;grid-template-columns:1fr 1fr;gap:var(--editorial-gap);padding-block:30px 40px;border-block:1px solid var(--rule)}.budget-contract h2{font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.2;margin-top:12px}.budget-contract p{font-size:17px;line-height:1.65}.budget-contract-links{display:flex;flex-wrap:wrap;gap:16px 28px}.budget-contract-links a{font-size:16px;text-decoration:underline;text-underline-offset:4px}.faq-answer[id]{scroll-margin-top:25px}@media(max-width:700px){.budget-contract{grid-template-columns:1fr;gap:16px}}
/* Inquiry: optional planning path, retained choices, honest CRM handoff. */
.inquiry-calculator{margin-top:32px;padding:26px;border:1px solid var(--line,#d9d8cf);background:#f1f0e9;max-width:530px}.inquiry-calculator h3{font-size:clamp(24px,2vw,30px);line-height:1.2;margin:10px 0}.inquiry-calculator .fine-print{margin:14px 0 0;font-size:13px}.location-simple #location-undecided{display:block;margin:0 0 24px}.location-simple select{display:block;width:100%;font:inherit;color:inherit;min-height:48px;padding:12px;background:#fff;border:1px solid #a6aaa0;border-radius:0;margin:8px 0}.location-simple .fine-print{font-size:13px;line-height:1.55}.saved-plan{padding:18px;background:#efeee5;border-left:3px solid #486048;margin:22px 0}.saved-plan p{margin:8px 0}.saved-plan button{display:block;margin-top:10px;border:0;background:none;padding:0;font:inherit;font-size:13px;text-decoration:underline;color:inherit;cursor:pointer}.inquiry-handoff{margin-top:28px;padding-top:24px;border-top:1px solid #c4c8bf;scroll-margin-top:120px}.inquiry-handoff textarea{box-sizing:border-box;display:block;width:100%;font:inherit;font-size:14px;line-height:1.5;padding:14px;resize:vertical;margin:14px 0;border:1px solid #acb3a6;background:white;color:#29362b}.inquiry-handoff iframe{display:block;width:100%;height:1450px;border:0;background:white;margin:20px 0}.inquiry-handoff #inquiry-copy-status{font-size:14px;min-height:1.5em}.location-simple .button[aria-disabled=true]{cursor:not-allowed;opacity:.48}.location-simple #inquiry-fit{font-size:14px;line-height:1.6}.location-simple :focus-visible{outline:3px solid #536c4c;outline-offset:4px}@media(max-width:700px){.inquiry-calculator{padding:20px}.inquiry-handoff iframe{height:1650px}.location-simple .button{white-space:normal;text-align:left}}
.guide-paths{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px;margin-bottom:48px}.guide-paths a{padding:22px;background:#eceee5;display:flex;flex-direction:column;text-decoration:none;gap:12px;color:#304735}.guide-paths span{font-size:12px;letter-spacing:.06em;text-transform:uppercase}.guide-paths strong{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.2}.article-takeaway,.article-budget-path{padding:28px;background:#f0f1e8;border-top:2px solid #536b4e;margin:36px 0}.article-takeaway h2,.article-budget-path h2{margin-top:8px!important}.article-checklist{padding-left:22px;line-height:1.65}.article-checklist li{padding:8px 0}.article-takeaway .fine-print{font-size:13px}.article-budget-path>a{display:block;margin-top:14px}.article-team-link{font-size:14px}.article-print{font:inherit;cursor:pointer}.reading-article .article-byline{margin-bottom:10px}.article-sources{overflow-wrap:anywhere}@media(max-width:900px){.guide-paths{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.guide-paths{grid-template-columns:1fr}.article-takeaway,.article-budget-path{padding:20px}}
@media print{.site-header,.mobile-nav,.site-footer,.footer,.contact,.article-contents,.article-related,.article-budget-path,.article-print,.skip,.reading-article>nav,.article-team-link{display:none!important}body{color:#000!important;background:white!important}.reading-article{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;font-size:11pt!important}.reading-article h1{font-size:24pt!important}.reading-article h2{font-size:16pt!important;break-after:avoid}.reading-article p,.reading-article li{font-size:11pt!important;line-height:1.5!important}.article-takeaway{break-inside:avoid;background:none!important}.article-sources a{overflow-wrap:anywhere}a{color:inherit!important}body>footer{display:none!important}}
.inquiry-handoff.wrap{max-width:900px;margin:36px auto 70px;padding-top:28px}.inquiry-handoff.wrap h3{font-size:32px;line-height:1.2}.inquiry-handoff.wrap>p{max-width:720px;line-height:1.6}.inquiry-handoff.wrap .fine-print{font-size:13px}
.location-simple #location-undecided{border:0;border-bottom:1px solid #a46b32;padding:0 0 4px;background:transparent;font:inherit;font-size:14px;cursor:pointer;color:inherit;line-height:1.4;text-align:left}

/* Real site photography within the reading column. */
.reading-article .article-photo{margin:32px 0;width:100%}
.reading-article .article-photo img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#e9e9df}
.reading-article .article-photo figcaption{font-size:14px;line-height:1.55;color:var(--muted);margin-top:10px;max-width:65ch}
@media(max-width:600px){.reading-article .article-photo{margin:24px 0}.reading-article .article-photo img{max-height:440px}}
@media print{.reading-article .article-photo{break-inside:avoid}.reading-article .article-photo img{max-height:230px}}

/* Land advisory connects the process to real site work. */
.process-land{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;margin-block:36px 48px}
.process-land figure{margin:0;min-width:0}.process-land img{display:block;width:100%;height:auto}
.process-land figcaption{font-size:13px;line-height:1.5;color:var(--muted);margin-top:10px}
.process-land h2{font-size:clamp(28px,3vw,40px);line-height:1.15;margin:14px 0 20px}
.process-land p{font-size:18px;line-height:1.65}.process-land .text-link{margin-top:12px}
@media(max-width:760px){.process-land{grid-template-columns:1fr;gap:24px;margin-block:28px 36px}.process-land p{font-size:17px}.process-land figure{max-width:100%}}

/* Editorial images use contextual pairs and restrained, responsive crops. */
.reading-article .article-photo-landscape img{height:auto;aspect-ratio:16/10;max-height:none;object-fit:cover;object-position:center}
.reading-article .article-photo-drawing img{height:auto;max-height:none;object-fit:contain;background:#fff}
.article-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:32px 0;align-items:start}
.reading-article .article-photo-pair .article-photo{margin:0}
.reading-article .article-photo-pair img{width:100%;height:auto;aspect-ratio:3/4;max-height:none;object-fit:cover}
.reading-article .article-photo-pair .article-photo-landscape img{aspect-ratio:4/3}
@media(max-width:600px){.article-photo-pair{gap:12px;margin:24px 0}.reading-article .article-photo-pair figcaption{font-size:12px}.reading-article .article-photo-landscape img{max-height:none}}
@media(max-width:380px){.article-photo-pair{grid-template-columns:1fr}.reading-article .article-photo-pair img{aspect-ratio:auto;max-height:440px;object-fit:contain}}
@media print{.reading-article .article-photo-landscape img{max-height:230px;object-fit:contain}.article-photo-pair{break-inside:avoid}.reading-article .article-photo-pair img{max-height:220px;object-fit:contain}}

/* Budget planning sits ahead of the inquiry, on the same content grid. */
#project-location{column-gap:clamp(30px,5vw,80px);row-gap:42px;align-items:start}
.inquiry-budget{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;padding:30px 0;border-top:3px solid var(--green);border-bottom:1px solid var(--rule);margin:0}
.inquiry-budget h2{max-width:600px;margin:0 0 18px}
.inquiry-budget p{font-size:18px;line-height:1.65;max-width:590px;margin:0;color:var(--muted)}
.inquiry-budget-action .button{display:inline-flex;gap:24px;justify-content:space-between;white-space:normal}
.inquiry-budget-action .fine-print{font-size:14px;margin:12px 0 20px}
.inquiry-budget-skip{display:inline-block;font-size:15px;line-height:1.6;text-decoration:underline;text-underline-offset:4px}
.inquiry-intro{scroll-margin-top:120px}
@media(max-width:700px){#project-location{display:flex;flex-direction:column;gap:28px}#project-location> *{width:100%;box-sizing:border-box}#project-location .inquiry-panel{order:initial}.inquiry-budget{grid-template-columns:1fr;gap:22px;padding:24px 0}.inquiry-budget p{font-size:17px}.inquiry-budget-action .button{display:flex;width:100%;box-sizing:border-box}.inquiry-budget-action .fine-print{margin-bottom:12px}}
/* Quiet sharing controls, for continuing the conversation beyond the page. */
.share-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;margin-top:24px;margin-bottom:22px;padding-top:16px;border-top:1px solid var(--rule)}
.share-tools[hidden],.share-tools [hidden]{display:none!important}
.share-label{font-size:14px;color:var(--muted)}
.share-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.share-actions button,.share-actions a{font:inherit;font-size:14px;line-height:1.3;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;background:transparent;color:var(--green);border:1px solid #a6b09f;cursor:pointer;text-decoration:none}
.share-actions button:hover,.share-actions a:hover{background:#e7ebe2;border-color:var(--green)}
.share-tools :focus-visible{outline:3px solid var(--green);outline-offset:3px}
.share-tools .share-status{flex-basis:100%;font-size:14px;line-height:1.5;margin:0}
.share-tools .share-status:empty{display:none}
.share-fallback{box-sizing:border-box;width:100%;min-height:44px;padding:10px;font:inherit;font-size:14px;border:1px solid var(--green);color:var(--ink);background:white}
.budget-workup{padding-top:24px;border-top:1px solid #b6bdae;margin-top:24px}
.budget-workup h3{font-size:24px;font-weight:400;line-height:1.3;margin:0 0 12px}
.budget-workup>p{font-size:16px;line-height:1.65}
.budget-workup .share-tools{border:0;padding:0;margin:18px 0}
.budget-workup .share-label{flex-basis:100%}
.budget-workup .fine-print{font-size:13px;line-height:1.6}
.budget-reset{background:none;border:0;padding:12px 0;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:inherit;min-height:44px}
@media(max-width:700px){.share-tools{gap:10px 16px}.share-label{flex-basis:100%}.share-actions{gap:8px}.share-actions button,.share-actions a{padding:10px 14px}.budget-workup h3{font-size:23px}}
@media print{.share-tools,.budget-reset{display:none!important}}

/* Keep the leadership roster compact without compressing the type. */
.page-about-us .team-roster{padding-block:52px;scroll-margin-top:24px}
.page-about-us .team-roster>.team-note{max-width:1000px;margin:20px 0 0}
.page-about-us .team-roster>div{gap:24px 32px;margin-top:28px;align-items:start}
.page-about-us .team-roster article{padding-top:16px}
.page-about-us .team-roster h3{margin:10px 0 8px}
.page-about-us .team-roster article p{margin:0}
.page-about-us .carpentry-team{margin-top:28px;padding:24px}
.page-about-us .carpentry-team h3{margin-bottom:12px}
.page-about-us .team-safety{margin-top:18px;padding-top:16px}
.page-about-us .team-safety h4{margin-bottom:10px}
@media(max-width:700px){
 .page-about-us .team-roster{padding-block:36px}
 .page-about-us .team-roster>.team-note{margin-top:18px}
 .page-about-us .team-roster>div{gap:20px;margin-top:24px}
 .page-about-us .team-roster article{padding-top:14px}
 .page-about-us .carpentry-team{margin-top:24px;padding:20px}
 .page-about-us .team-safety ul{gap:10px}
}
