@charset "UTF-8";
:root{--ink:#102c39;--ink-light:#24414b;--paper:#fbfaf7;--sand:#f0eee8;--line:#d7dbd7;--muted:#58696d;--blue:#b8e9eb;--white:#fff;--max:1320px;--gutter:clamp(22px,4.6vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;height:auto}svg{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(50px,6.4vw,94px)}h2{font-size:clamp(36px,4vw,57px)}h3{font-size:26px;letter-spacing:-.035em}p+p{margin-top:1.2em}p{color:var(--muted)}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #00748b;outline-offset:5px}a:hover{color:#257888}.container{width:calc(100% - var(--gutter)*2);max-width:var(--max);margin-inline:auto}.section{padding-block:104px}.section-topless{padding-top:12px}.bg-sand{background:var(--sand)}.eyebrow{font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:inherit}.eyebrow+h1,.eyebrow+h2{margin-top:23px}.small{font-size:14px}.muted{color:#a2b2b7}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid currentColor;padding:9px 0;font-size:14px;font-weight:600;line-height:1.5}.text-link>span{font-size:22px;font-weight:400}.text-link:hover{gap:38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:37px;padding:18px 25px;background:var(--ink);color:var(--white);border:1px solid var(--ink);font-size:14px;font-weight:600;line-height:1.35;transition:background .2s,color .2s;white-space:normal}.button span{font-size:21px;font-weight:400;line-height:1}.button:hover{background:#275463;border-color:#275463;color:var(--white)}.button-light{background:var(--blue);border-color:var(--blue);color:var(--ink)}.button-light:hover{background:#d4f3f4;border-color:#d4f3f4;color:var(--ink)}.button-small{padding:14px 20px;font-size:13px;gap:24px}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:30px}.skip-link{position:fixed;z-index:100;top:-100px;left:15px;padding:12px 20px;background:var(--white);color:var(--ink)}.skip-link:focus{top:10px}.utility{background:var(--ink);color:#d9e5e6;font-size:11px;line-height:1.4}.utility .container{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:15px}.utility a{color:var(--white);white-space:nowrap}.utility a>span{margin-left:15px}.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid #dce0dc}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:26px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:var(--ink);line-height:.88;font-size:30px;font-weight:800;letter-spacing:-.045em}.brand svg{width:38px;height:45px}.brand-sub{display:block;font-weight:500;font-size:10px;letter-spacing:.22em;margin-top:9px}.navigation{display:flex;gap:27px;align-items:center;font-size:12px;font-weight:600}.navigation>a:not(.button){position:relative;white-space:nowrap;padding:11px 0}.navigation>a[aria-current=page]:after{content:'';height:2px;background:var(--ink);position:absolute;bottom:3px;left:0;right:0}.navigation .button{margin-left:14px}.menu-toggle{display:none}.hero{position:relative;min-height:660px;height:min(740px,calc(100svh - 129px));background:#1c343e;color:var(--white);isolation:isolate;display:flex;align-items:center}.hero-image,.hero-image:after{position:absolute;inset:0;z-index:-1}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:55% 58%}.hero-image:after{content:'';background:linear-gradient(90deg,rgba(5,26,37,.82) 0%,rgba(7,28,39,.5) 44%,rgba(7,28,39,.12) 85%),linear-gradient(0deg,rgba(5,22,30,.6),transparent 28%)}.hero-content{padding-block:75px 100px}.hero h1{font-size:clamp(64px,7.6vw,112px);line-height:.99;letter-spacing:-.055em;max-width:850px}.hero h1 em{font-size:.98em;line-height:1.12}.hero .eyebrow{font-size:11px;letter-spacing:.17em}.hero .eyebrow+h1{margin-top:30px}.hero-copy{margin-top:30px;max-width:430px;color:#eef2ed;font-size:16px;line-height:1.8}.hero .button-row{margin-top:35px}.hero-link{font-size:13px;border-bottom:1px solid #ffffff80;padding:10px 0;display:inline-flex;gap:28px;align-items:center}.hero-link:hover{color:var(--blue)}.hero-foot{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ffffff40;min-height:59px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.04em}.hero-foot a{display:flex;gap:22px}.hero-foot .hero-location{font-size:10px;text-transform:uppercase;letter-spacing:.13em}.principles{border-bottom:1px solid var(--line);background:var(--paper)}.principles-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:30px}.principles-inner>div{display:flex;align-items:center;gap:22px;padding:6px 30px;border-right:1px solid var(--line)}.principles-inner>div:first-child{padding-left:0}.principles-inner>div:last-child{border:0}.principles p{font-size:13px;line-height:1.6}.principles strong{font-weight:500;color:var(--ink)}.principle-mark{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex-shrink:0}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:11%}.intro h2{font-size:clamp(34px,3.55vw,52px);line-height:1.14}.intro-copy{padding-top:40px;font-size:15px;line-height:1.8}.intro-copy .text-link{margin-top:15px}.pool-section{background:var(--sand)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:44px}.section-head h2{font-size:clamp(34px,3.7vw,53px)}.section-head .text-link{flex-shrink:0;margin-bottom:4px}.pool-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.photo-link{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;background:#d1dbd7}.photo-link img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.photo-link:hover img{transform:scale(1.04)}.photo-arrow{position:absolute;bottom:18px;right:18px;display:grid;place-items:center;background:var(--paper);color:var(--ink);width:42px;height:42px;border-radius:50%;font-size:23px}.pool-card-label{display:flex;gap:15px;align-items:center;margin-top:23px}.pool-card-label>span{align-self:flex-start;padding-top:3px;font-size:10px}.pool-card h3{font-size:29px}.pool-card p{font-size:13px;margin-top:12px;margin-left:27px}.project-feature{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;align-items:center}.feature-photo{position:relative}.feature-photo img{width:100%;aspect-ratio:1.15;object-fit:cover}.image-note{position:absolute;bottom:14px;left:16px;right:16px;font-size:10px;line-height:1.5;color:var(--white);text-shadow:0 1px 6px #000}.feature-photo:after,.wide-image:after{content:'';position:absolute;inset:75% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}.image-note{z-index:1}.feature-copy h2{font-size:clamp(36px,3.8vw,56px);line-height:1.15}.feature-copy>p:not(.eyebrow){font-size:15px;margin-top:26px}.feature-copy .text-link{margin-top:23px}.renovation-band{background:#dfe9e6;padding-block:65px}.renovation-inner{display:grid;grid-template-columns:.35fr 1fr .9fr;gap:6%;align-items:center}.large-index{font-family:Georgia,serif;font-size:130px;line-height:1;color:#639091}.renovation-inner h2{font-size:43px}.renovation-inner>div:last-child{font-size:15px}.renovation-inner .text-link{margin-top:18px}.process-home .section-head{margin-bottom:55px}.process-steps,.info-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.process-steps article,.info-columns article{border-top:1px solid var(--line);padding-top:24px}.step-number{font-size:11px;display:block;color:var(--muted);margin-bottom:32px}.process-steps h3,.info-columns h3{font-size:25px;margin-bottom:17px}.process-steps p,.info-columns p{font-size:14px;line-height:1.8}.aquarius-section{background:var(--sand);padding-block:80px}.aquarius-inner{display:grid;grid-template-columns:.28fr 1.15fr .8fr;gap:7%;align-items:center}.aquarius-monogram{display:grid;place-items:center;aspect-ratio:1;border:1px solid #bacbc9;border-radius:50%;color:#457d87}.aquarius-monogram svg{width:58%}.aquarius-inner h2{font-size:40px;line-height:1.1}.aquarius-inner p:not(.eyebrow){margin-top:22px;font-size:14px}.aquarius-inner .text-link{margin-top:17px}.aquarius-links a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c7cfcb;padding:20px 0;gap:15px;font-size:13px}.aquarius-links a>span{font-size:23px}.closing{background:var(--ink);color:var(--white);padding-block:80px}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.closing h2{font-size:clamp(40px,4.3vw,64px);line-height:1.1}.closing p:not(.eyebrow){margin-top:24px;color:#b7c8cb;font-size:14px;max-width:490px}.closing .button{flex-shrink:0}.site-footer{background:#0b242f;color:#d5e1e3;padding-top:70px}.site-footer .brand{color:var(--white)}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1.3fr 1fr;gap:6%}.footer-grid>div>h2{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#9db1b8;margin-bottom:27px;font-weight:500}.footer-grid>div>a:not(.brand){display:block;font-size:12px;margin-top:12px}.footer-grid p{color:#adc0c6;font-size:12px;line-height:1.8;margin-top:22px}.footer-grid .footer-phone{font-size:20px!important;color:var(--white)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ffffff20;margin-top:65px;padding-block:23px;font-size:10px;color:#a0b4bc}.footer-grid a:hover,.footer-bottom a:hover{color:var(--blue)}.page-intro{padding-block:85px 70px;max-width:var(--max)}.page-intro h1{max-width:1000px;font-size:clamp(50px,6.2vw,88px)}.page-lead{font-size:18px;line-height:1.8;max-width:690px;margin-top:28px}.page-intro>.button{margin-top:30px}.section-description{max-width:650px;margin-bottom:40px;font-size:16px}.table-scroll{overflow:auto;border-top:1px solid #bdc8c3}table{width:100%;border-collapse:collapse;min-width:690px;line-height:1.65;text-align:left}caption{text-align:left;font-size:14px;padding-block:20px;font-weight:600}th,td{padding:22px 23px;border-bottom:1px solid #ccd1cb;vertical-align:top;font-size:14px;font-weight:400}thead th{font-size:23px;line-height:1.2}th:first-child{padding-left:0;font-size:12px;font-weight:600;width:22%}thead th:first-child{font-weight:400}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.two-col h2{line-height:1.1}.two-col>div>p:not(.eyebrow){margin-top:25px;font-size:15px;line-height:1.8}.two-col .text-link,.two-col .button{margin-top:24px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:30px;cursor:pointer;padding:23px 0;list-style:none;font-size:16px;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:23px;transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-answer{padding-bottom:25px;font-size:14px;line-height:1.85}.faq-answer a{border-bottom:1px solid currentColor}.breadcrumbs{display:flex;gap:12px;padding-top:30px;font-size:11px}.breadcrumbs a{border-bottom:1px solid #b3c4c5}.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-block:55px 95px}.detail-hero h1{font-size:clamp(45px,4.65vw,68px);line-height:1.08}.detail-hero .page-lead{font-size:16px;margin-top:26px}.detail-hero .button-row{margin-top:30px;gap:24px}.detail-hero .button{font-size:13px;gap:25px;padding:17px 21px}.detail-photo img{width:100%;aspect-ratio:4/4.7;object-fit:cover}.fit-note{border-top:1px solid var(--line);padding-top:23px;margin-top:36px;font-size:13px}.fit-note>span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}.fit-note strong{font-weight:500}.list-panel{background:var(--sand);padding:35px}.list-panel h3{font-size:24px}.list-panel ul,.contact-details ul{padding-left:18px;color:var(--muted);font-size:14px}.list-panel li,.contact-details li{margin-top:11px}.wide-image{position:relative}.wide-image img{width:100%;height:480px;object-fit:cover;object-position:center 64%}.lined-list article{border-top:1px solid var(--line);padding-block:22px 30px}.lined-list h3{font-size:25px}.lined-list p{font-size:14px;margin-top:14px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:0 35px;border-bottom:1px solid var(--line);margin-bottom:42px}.gallery-filters{display:flex;gap:9px;flex-wrap:wrap}.filter-button{background:transparent;border:1px solid #c7d0cb;border-radius:0;color:var(--ink);padding:10px 22px;font-size:12px}.filter-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--white)}.filter-button:hover{border-color:var(--ink)}.gallery-count{font-size:12px;white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 35px}.gallery-card[hidden]{display:none}.gallery-open{position:relative;width:100%;border:0;padding:0;background:#dbe3df;overflow:hidden;display:block}.gallery-open img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}.gallery-open:hover img{transform:scale(1.025)}.gallery-expand{position:absolute;bottom:18px;right:18px;background:var(--paper);width:42px;height:42px;display:grid;place-items:center;font-size:23px;color:var(--ink);border-radius:50%}.gallery-label{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:23px}.gallery-label h2{font-size:26px;margin-top:9px}.gallery-label>span{font-size:12px;color:var(--muted)}.gallery-label .eyebrow{color:var(--muted);font-size:10px}.gallery-note{font-size:13px;margin-top:15px;max-width:480px}.gallery-disclaimer{font-size:12px;max-width:750px;margin-top:60px;margin-bottom:20px}.gallery-dialog{width:min(1100px,94vw);max-height:94svh;border:none;padding:0;background:var(--paper);color:var(--ink)}.gallery-dialog::backdrop{background:#051923df}.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;font-size:12px}.dialog-close{display:flex;align-items:center;gap:18px;background:transparent;border:0;padding:4px;color:var(--ink);font-size:13px}.dialog-close span{font-size:27px;line-height:1}.gallery-dialog>img{width:100%;max-height:62svh;object-fit:contain;background:#0b242f}.dialog-description{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:24px}.dialog-description h2{font-size:28px}.dialog-description p{font-size:13px;margin-top:10px}.dialog-controls{display:flex;align-items:center;gap:15px;flex-shrink:0;font-size:11px}.dialog-controls button{width:38px;height:38px;background:transparent;border:1px solid var(--line);font-size:22px;color:var(--ink)}.process-timeline{max-width:1000px;margin:auto}.process-timeline article{display:grid;grid-template-columns:.3fr 1fr;gap:50px;padding-block:47px;border-top:1px solid var(--line)}.timeline-number{font-size:66px;letter-spacing:-.06em;color:#7e9c9d;font-weight:400;line-height:1}.process-timeline h2{font-size:35px;margin-bottom:22px}.process-timeline p{max-width:650px;font-size:15px}.timeline-meta{display:block;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-top:25px}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-bottom:100px}.about-split img{width:100%;max-height:680px;object-fit:cover;aspect-ratio:4/5}.about-split>div>p:not(.eyebrow){font-size:15px;margin-top:23px}.about-split .text-link{margin-top:23px}.brand-relationship{display:grid;grid-template-columns:1fr 1fr;border:1px solid #c7d0ca}.brand-relationship article{padding:50px}.brand-relationship article+article{border-left:1px solid #c7d0ca}.brand-relationship h3{font-size:39px;margin-top:25px}.brand-relationship p:not(.eyebrow){font-size:15px;margin-top:23px;max-width:430px}.brand-relationship .text-link{margin-top:20px}.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:12%;align-items:start}.inquiry-panel{background:var(--ink);color:var(--white);padding:55px}.inquiry-mark{font-size:70px;line-height:1;display:block;color:var(--blue);margin-bottom:45px}.inquiry-panel h2{font-size:44px}.inquiry-panel p:not(.eyebrow){color:#bfd2d6;font-size:15px;margin-top:26px}.inquiry-panel .button{margin-top:30px;max-width:100%;gap:20px}.inquiry-panel .handoff-note{font-size:11px!important;margin-top:16px!important}.contact-details>div{padding-bottom:30px;margin-bottom:25px;border-bottom:1px solid var(--line)}.contact-details h2{font-size:23px;letter-spacing:-.02em;line-height:1.5}.contact-details>div>p:not(.eyebrow){margin-top:14px;font-size:14px}.contact-phone{display:inline-block;font-size:35px;line-height:1.2;letter-spacing:-.04em;margin-top:18px}.contact-details .text-link{font-size:13px;margin-top:10px}.contact-details .small a{text-decoration:underline}.contact-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.contact-routes>a{position:relative;border-top:1px solid #bac9c5;padding-top:26px;padding-right:30px}.contact-routes h3{font-size:23px}.contact-routes p{font-size:13px;margin-top:16px}.contact-routes>a>span{position:absolute;right:0;top:21px;font-size:25px}
@media(min-width:1550px){.hero-content{padding-block:90px 110px}.hero-image img{object-position:center 56%}}
@media(max-width:1160px){.navigation{gap:20px}.navigation .button{margin-left:0}.nav-wrap{gap:20px}.brand{font-size:27px}.brand svg{width:33px}.button-small{gap:16px;padding:13px 15px}.hero{min-height:610px}.principles-inner>div{padding-inline:20px;gap:15px}.aquarius-inner{gap:5%;grid-template-columns:.22fr 1fr .8fr}.footer-grid{gap:4%}.detail-hero{gap:6%}.inquiry-panel{padding:40px}.inquiry-panel h2{font-size:37px}}
@media(max-width:960px){.site-header .nav-wrap{min-height:80px}.menu-toggle{display:flex;gap:12px;align-items:center;background:none;border:1px solid #ccd3cc;padding:9px 13px;color:var(--ink);font-size:12px}.menu-lines{width:18px;height:12px;border-top:1px solid;border-bottom:1px solid;position:relative}.menu-lines:before{content:'';position:absolute;top:5px;left:0;right:0;border-top:1px solid}.menu-toggle[aria-expanded=true] .menu-lines{border:0}.menu-toggle[aria-expanded=true] .menu-lines:before{top:5px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{content:'';position:absolute;top:5px;left:0;right:0;border-top:1px solid;transform:rotate(-45deg)}.navigation{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:20px var(--gutter) 28px;align-items:stretch;gap:0;box-shadow:0 18px 20px #102c3910}.navigation.is-open{display:flex;flex-direction:column}.navigation>a:not(.button){padding-block:15px;border-bottom:1px solid var(--line);font-size:17px}.navigation>a[aria-current=page]:after{display:none}.navigation .button{align-self:flex-start;margin-top:22px}.hero{height:auto;min-height:650px}.hero h1{font-size:82px}.section{padding-block:75px}.section-topless{padding-top:10px}.intro{gap:7%}.intro h2{font-size:38px}.principles p{font-size:11px}.principle-mark{display:none}.pool-cards{gap:20px}.pool-card h3{font-size:26px}.pool-card p{margin-left:0}.project-feature{gap:6%}.feature-copy h2{font-size:39px}.renovation-inner{grid-template-columns:1fr 1fr}.large-index{display:none}.aquarius-inner{grid-template-columns:1fr 1fr;gap:9%}.aquarius-monogram{display:none}.footer-grid{grid-template-columns:1fr 1fr;gap:50px 12%}.footer-bottom{margin-top:45px}.two-col{gap:8%}.detail-hero{grid-template-columns:1.1fr 1fr;gap:5%}.detail-hero h1{font-size:46px}.detail-hero .page-lead{font-size:14px}.detail-hero .button-row{gap:14px}.detail-hero .text-link{font-size:12px}.info-columns{gap:28px}.contact-layout{gap:7%}.inquiry-panel{padding:32px}.inquiry-panel h2{font-size:33px}.inquiry-panel .button{font-size:12px}.contact-phone{font-size:30px}.about-split{gap:7%}.about-split h2{font-size:39px}.brand-relationship article{padding:35px}}
@media(max-width:700px){:root{--gutter:23px}body{font-size:15px}.utility .container{font-size:9px;gap:7px;min-height:37px}.utility span{max-width:225px;line-height:1.5}.utility a>span{margin-left:5px}.brand{font-size:26px}.brand svg{width:32px;height:39px}.brand-sub{font-size:8px;margin-top:8px}.site-header .nav-wrap{min-height:76px}.hero{min-height:650px;height:calc(100svh - 113px);max-height:850px;align-items:flex-start}.hero-content{padding-block:72px 110px}.hero h1{font-size:clamp(56px,10.9vw,76px);line-height:1.02}.hero h1 em{line-height:1.1}.hero .eyebrow{font-size:9px;max-width:260px}.hero .eyebrow+h1{margin-top:27px}.hero-copy{max-width:335px;font-size:14px;line-height:1.8;margin-top:25px}.hero .button-row{margin-top:29px;gap:24px}.hero .button{font-size:12px;padding:16px 19px;gap:22px}.hero-link{font-size:12px;gap:14px}.hero-image img{object-position:56% 60%}.hero-image:after{background:linear-gradient(90deg,#061f2cbd,#0b2c3c55),linear-gradient(0deg,#071e2d99,transparent 75%)}.hero-foot{min-height:66px;font-size:9px;gap:15px}.hero-foot>a{gap:9px;white-space:nowrap}.hero-foot .hero-location{display:none}.principles-inner{display:block;padding-block:12px}.principles-inner>div{display:none}.principles-inner>div:first-child{display:flex;border:0;justify-content:center;text-align:center;padding:5px}.principles p{font-size:12px}.principles p br{display:none}.principles p strong{margin-left:5px}.section{padding-block:62px}.section-topless{padding-top:0}.intro,.two-col{grid-template-columns:1fr;gap:35px}.intro h2{font-size:36px;line-height:1.15}.intro-copy{padding-top:0;font-size:14px}.eyebrow{font-size:10px}.eyebrow+h2{margin-top:19px}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:36px;line-height:1.12}.section-head .text-link{margin-top:21px;font-size:12px;gap:35px}.pool-cards{grid-template-columns:1fr;gap:40px}.photo-link{aspect-ratio:1.15}.photo-link img{object-position:50% 58%}.pool-card:nth-child(3) .photo-link img{object-position:50% 65%}.pool-card-label{margin-top:20px;gap:14px}.pool-card h3{font-size:30px}.pool-card p{font-size:13px;margin-top:9px;margin-left:27px}.photo-arrow{width:39px;height:39px}.project-feature{grid-template-columns:1fr;gap:36px}.feature-photo img{aspect-ratio:1.05}.feature-copy h2{font-size:39px}.feature-copy>p:not(.eyebrow){font-size:14px;margin-top:22px}.feature-copy .text-link{margin-top:20px}.renovation-band{padding-block:53px}.renovation-inner{grid-template-columns:1fr;gap:28px}.renovation-inner h2{font-size:40px}.renovation-inner>div:last-child{font-size:14px}.process-home .section-head{margin-bottom:35px}.process-steps,.info-columns{grid-template-columns:1fr;gap:27px}.step-number{margin-bottom:18px}.process-steps article,.info-columns article{padding-top:22px}.process-steps h3,.info-columns h3{font-size:25px;margin-bottom:12px}.aquarius-section{padding-block:57px}.aquarius-inner{grid-template-columns:1fr;gap:29px}.aquarius-inner h2{font-size:38px}.aquarius-links a{font-size:13px;padding-block:18px}.closing{padding-block:58px}.closing-inner{display:block}.closing h2{font-size:41px;line-height:1.12}.closing p:not(.eyebrow){font-size:13px}.closing .button{margin-top:30px;gap:45px}.site-footer{padding-top:54px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:25px}.footer-grid>div>h2{font-size:9px;margin-bottom:20px}.footer-grid>div>a:not(.brand){font-size:11px}.footer-grid p{font-size:11px;margin-top:17px}.footer-bottom{display:block;padding-block:22px;font-size:9px;line-height:1.8}.footer-bottom>a{display:block;margin-top:12px}.page-intro{padding-block:55px 42px}.page-intro h1{font-size:clamp(43px,10vw,64px);line-height:1.09}.page-lead{font-size:16px;line-height:1.8;margin-top:23px}.section-description{font-size:14px;margin-bottom:25px}th,td{padding:18px;font-size:12px}thead th{font-size:20px}.two-col>div>p:not(.eyebrow){font-size:14px;margin-top:22px}.two-col h2{font-size:38px}.faq-list summary{font-size:15px}.breadcrumbs{padding-top:23px}.detail-hero{grid-template-columns:1fr;gap:38px;padding-block:35px 60px}.detail-hero h1{font-size:49px}.detail-hero .page-lead{font-size:15px}.detail-hero .button-row{gap:25px}.detail-photo img{aspect-ratio:1.05;max-height:550px}.fit-note{margin-top:28px}.list-panel{padding:28px}.wide-image img{height:370px;object-position:center 65%}.gallery-toolbar{display:block;margin-bottom:32px;padding-bottom:24px}.gallery-filters{gap:7px}.filter-button{font-size:11px;padding:9px 16px}.gallery-count{margin-top:17px}.gallery-grid{grid-template-columns:1fr;gap:38px}.gallery-label h2{font-size:26px}.gallery-disclaimer{margin-top:40px;font-size:11px}.dialog-bar{padding:12px 15px;font-size:10px}.dialog-description{display:block;padding:19px}.dialog-description h2{font-size:25px}.dialog-controls{justify-content:flex-end;margin-top:20px}.gallery-dialog>img{max-height:57svh}.process-timeline article{grid-template-columns:50px 1fr;gap:22px;padding-block:30px}.timeline-number{font-size:46px}.process-timeline h2{font-size:28px;line-height:1.15}.process-timeline p{font-size:14px}.timeline-meta{font-size:9px;line-height:1.9;letter-spacing:.05em}.about-split{grid-template-columns:1fr;gap:37px;padding-bottom:60px}.about-split img{max-height:460px;aspect-ratio:1.1;object-position:50% 60%}.about-split h2{font-size:39px}.about-split>div>p:not(.eyebrow){font-size:14px}.brand-relationship{grid-template-columns:1fr}.brand-relationship article{padding:30px}.brand-relationship article+article{border-left:0;border-top:1px solid #c7d0ca}.brand-relationship h3{font-size:34px}.brand-relationship p:not(.eyebrow){font-size:14px}.contact-layout{grid-template-columns:1fr;gap:43px}.inquiry-panel{padding:35px 28px}.inquiry-mark{font-size:57px;margin-bottom:32px}.inquiry-panel h2{font-size:36px}.inquiry-panel p:not(.eyebrow){font-size:14px}.inquiry-panel .button{font-size:12px;gap:18px;padding:16px 18px}.contact-phone{font-size:35px}.contact-routes{grid-template-columns:1fr;gap:28px}.contact-routes h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Keep the contrast overlay above the hero photograph. */
.hero-image:after{z-index:auto}

/* Burton Pools — the editorial collection. Shared layout foundations live in styles.css. */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("/assets/fonts/cormorant-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-italic-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/fonts/manrope-latin.woff2") format("woff2");
}
:root {
  --ink: #152f35;
  --ink-light: #29454a;
  --paper: #f8f6f0;
  --sand: #eeebe2;
  --line: #d7d4c9;
  --muted: #59666a;
  --blue: #d9c8a6;
  --brass: #8a7043;
  --display: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
  --gutter: clamp(24px, 5vw, 90px);
}
body { font-family: var(--sans); line-height: 1.8; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; letter-spacing: -.037em; }
h1 { font-size: clamp(64px, 7.6vw, 116px); }
h2 { font-size: clamp(48px, 5.2vw, 78px); line-height: 1.04; }
h3 { font-size: 34px; }
em { font-family: var(--display); font-style: italic; font-weight: 400; letter-spacing: -.045em; }
p { line-height: 1.9; }
a { transition: color .25s ease, background-color .25s ease, border-color .25s ease; }
a:hover { color: #80673c; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline-color: #9b7839; }
.section { padding-block: 122px; }
.section-topless { padding-top: 10px; }
.eyebrow { font-family: var(--sans); font-size: 10px; letter-spacing: .19em; font-weight: 500; line-height: 1.8; }
.eyebrow + h1, .eyebrow + h2 { margin-top: 27px; }
.text-link { font-family: var(--sans); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; gap: 34px; padding: 12px 0; border-color: #a9aca2; }
.text-link > span { font-family: var(--sans); font-size: 20px; line-height: 1; }
.text-link:hover { gap: 34px; border-color: var(--brass); }
.button { padding: 20px 28px; font-family: var(--sans); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; gap: 42px; }
.button > span { font-size: 23px; }
.button:hover { background: #36565b; border-color: #36565b; }
.button-light { background: #dfd0b0; border-color: #dfd0b0; color: var(--ink); }
.button-light:hover { background: #f0e5cd; border-color: #f0e5cd; color: var(--ink); }
.button-small { padding: 15px 18px; font-size: 9px; gap: 21px; }
.utility { background: #112c32; }
.utility .container { min-height: 33px; font-size: 9px; letter-spacing: .055em; }
.utility span { color: #d4dcd9; }
.utility a:hover { color: #e6d1aa; }
.site-header { background: var(--paper); border-color: #d9d7ce; }
.nav-wrap { min-height: 102px; }
.brand { font-family: var(--sans); font-size: 26px; letter-spacing: .11em; font-weight: 500; gap: 15px; }
.brand svg { width: 34px; height: 40px; color: #9c8356; }
.brand-sub { font-family: var(--sans); font-size: 6px; letter-spacing: .18em; font-weight: 500; margin-top: 11px; }
.navigation { font-size: 11px; font-weight: 500; gap: 25px; }
.navigation .button { background: transparent; color: var(--ink); border-color: #aca895; margin-left: 17px; }
.navigation .button:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.navigation > a[aria-current="page"]::after { height: 1px; background: #9c8356; }
.hero-editorial { min-height: 730px; height: min(900px, calc(100svh - 135px)); }
.hero-editorial .hero-image img { object-position: 55% 53%; }
.hero-editorial .hero-image::after {
  z-index: auto;
  background: linear-gradient(90deg, #08242de0 0%, #112c3475 54%, #102b3320 100%), linear-gradient(0deg, #06212cbb, transparent 33%);
}
.hero-editorial .hero-content { padding-block: 76px 150px; }
.hero-editorial .eyebrow { font-size: 9px; letter-spacing: .2em; color: #e9e8df; }
.hero-editorial h1 { font-family: var(--display); font-size: clamp(100px, 10.6vw, 160px); line-height: .81; letter-spacing: -.04em; max-width: 850px; margin-top: 37px; }
.hero-editorial h1 em { display: inline-block; line-height: 1.08; font-size: 1em; }
.hero-editorial .hero-copy { font-size: 13px; max-width: 370px; line-height: 1.95; margin-top: 32px; color: #e3e8e3; }
.hero-editorial .button-row { margin-top: 34px; gap: 34px; }
.hero-editorial .hero-link { font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; padding: 15px 0; gap: 28px; }
.hero-editorial .hero-link:hover { color: #e6d1aa; }
.hero-editorial .hero-foot { min-height: 102px; font-size: 10px; line-height: 1.9; border-color: #c2d4d240; }
.hero-foot > span:first-child { text-transform: uppercase; letter-spacing: .14em; }
.hero-editorial .hero-location { font-size: 8px; font-family: var(--sans); color: #c6d2d2; letter-spacing: .1em; text-transform: none; }
.hero-scroll { text-transform: uppercase; letter-spacing: .15em; font-size: 8px; align-items: center; }
.scroll-line { width: 1px; height: 33px; background: #e3d0a4; }
.hero-project-link { align-items: center; gap: 19px !important; line-height: 1.9; font-size: 10px; }
.hero-project-link:hover { color: #e6d1aa; }
.hero-project-number { align-self: flex-start; color: #e0cfac; font-size: 9px; }
.hero-project-type { color: #c6d2d2; font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }
.hero-project-link > span:last-child { font-size: 27px; margin-left: 18px; }
.intro-editorial { grid-template-columns: 1.35fr .8fr; column-gap: 10%; row-gap: 56px; padding-block: 139px 110px; }
.intro-editorial h2 { font-size: clamp(54px, 5.2vw, 78px); line-height: 1.03; max-width: 780px; }
.intro-editorial .intro-copy { padding-top: 53px; font-size: 13px; }
.intro-editorial .intro-copy .text-link { margin-top: 18px; }
.intro-signature { display: flex; align-items: center; gap: 21px; grid-column: 1/-1; border-top: 1px solid var(--line); padding-top: 25px; font-size: 10px; color: var(--muted); line-height: 1.8; letter-spacing: .02em; }
.intro-signature strong { font-weight: 500; color: var(--ink); }
.signature-rule { width: 31px; height: 31px; border: 1px solid #aa9364; border-radius: 50%; position: relative; }
.signature-rule::after { content: ""; position: absolute; width: 12px; height: 1px; background: #aa9364; left: 9px; top: 14px; }
.signature-location { margin-left: auto; text-align: right; }
.section-head { margin-bottom: 61px; align-items: flex-end; }
.section-head h2 { font-size: clamp(49px, 5.7vw, 85px); line-height: .98; }
.section-head .text-link { margin-bottom: 5px; }
.selected-work { background: var(--sand); padding-top: 106px; padding-bottom: 112px; }
.selected-grid { display: grid; grid-template-columns: 1.3fr .8fr; column-gap: 7.3%; align-items: start; }
.selected-project-tall { margin-top: 164px; }
.selected-image { display: block; position: relative; overflow: hidden; background: #d2d8d0; }
.selected-image img { width: 100%; height: auto; aspect-ratio: 1.13; object-fit: cover; transition: transform .9s cubic-bezier(.2,.65,.3,1); }
.selected-project-tall .selected-image img { aspect-ratio: .8; object-position: 50% 56%; }
.selected-image:hover img { transform: scale(1.035); }
.project-view { position: absolute; bottom: 17px; right: 17px; display: flex; align-items: center; gap: 22px; color: var(--ink); background: var(--paper); padding: 9px 13px 9px 17px; text-transform: uppercase; font-size: 8px; font-weight: 600; letter-spacing: .12em; }
.project-view > span { font-size: 23px; line-height: 1; }
.selected-caption { display: flex; align-items: start; justify-content: space-between; gap: 15px; padding-top: 24px; }
.selected-caption .eyebrow { color: var(--muted); font-size: 8px; }
.selected-caption h3 { font-size: 33px; line-height: 1.08; margin-top: 9px; }
.selected-caption > span { font-size: 8px; color: var(--muted); white-space: nowrap; padding-top: 3px; }
.pool-collection { padding-block: 118px 126px; }
.collection-layout { display: grid; grid-template-columns: .65fr 1.5fr; gap: 9%; }
.collection-sidebar { padding-top: 6px; }
.collection-intro { font-size: 12px; line-height: 1.9; margin-bottom: 33px; }
.collection-tabs { border-top: 1px solid var(--line); }
.collection-tabs [role="tab"] { display: flex; align-items: center; gap: 17px; width: 100%; background: transparent; color: #768184; padding: 23px 0; border: 0; border-bottom: 1px solid var(--line); text-align: left; font-family: var(--display); font-size: 39px; line-height: 1.1; transition: color .2s; }
.collection-tabs [aria-selected="true"] { color: var(--ink); }
.collection-number { font-family: var(--sans); font-size: 8px; letter-spacing: .08em; color: var(--muted); align-self: flex-start; margin-top: 10px; }
.collection-tab-arrow { font-family: var(--sans); margin-left: auto; font-size: 22px; opacity: 0; transform: translateX(-5px); transition: opacity .2s, transform .2s; }
.collection-tabs [aria-selected="true"] .collection-tab-arrow { color: #8a7043; opacity: 1; transform: none; }
.collection-tabs [role="tab"]:hover { color: var(--ink); }
.collection-footnote { font-size: 11px; line-height: 1.95; max-width: 260px; margin-top: 29px; }
.collection-panel[hidden] { display: none; }
.collection-photo { display: block; position: relative; overflow: hidden; background: #dce1d9; }
.collection-photo img { width: 100%; aspect-ratio: 1.48; object-fit: cover; object-position: 50% 55%; transition: transform .8s; }
.collection-photo:hover img { transform: scale(1.025); }
.collection-image-label { position: absolute; left: 20px; bottom: 18px; font-size: 8px; font-family: var(--sans); letter-spacing: .12em; text-transform: uppercase; color: white; text-shadow: 0 1px 5px #000; z-index: 1; }
.collection-photo::after { content: ""; position: absolute; inset: 75% 0 0; background: linear-gradient(transparent,#102c3977); }
.collection-description { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: start; margin-top: 27px; }
.collection-description h3 { font-size: 30px; line-height: 1.12; }
.collection-description p { font-size: 11px; line-height: 1.95; margin-top: 15px; max-width: 440px; }
.collection-description .text-link { font-size: 8px; gap: 18px; margin-top: 1px; white-space: nowrap; }
.renovation-story { background: var(--ink); position: relative; color: var(--paper); isolation: isolate; }
.renovation-image { position: absolute; top: 0; right: 0; bottom: 0; width: 58%; z-index: -1; overflow: hidden; }
.renovation-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
.renovation-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #152f35 0%, #152f3520 58%); }
.renovation-story-inner { min-height: 660px; display: flex; align-items: center; padding-block: 100px; }
.renovation-story-copy { max-width: 620px; width: 56%; }
.renovation-story h2 { font-size: clamp(52px, 5.1vw, 76px); line-height: 1.03; }
.renovation-story-copy > p:not(.eyebrow) { font-size: 13px; color: #d0d9d3; line-height: 1.95; max-width: 355px; margin-top: 27px; }
.renovation-story .text-link { color: #f0e0bf; border-color: #b7b7a9; margin-top: 23px; }
.process-home .section-head { margin-bottom: 68px; }
.process-steps { gap: 65px; }
.process-steps article { padding-top: 30px; }
.process-steps .step-number { font-family: var(--display); font-size: 45px; line-height: 1; color: #9b8357; margin-bottom: 40px; }
.process-steps h3 { font-size: 35px; margin-bottom: 17px; }
.process-steps p { font-size: 12px; line-height: 1.95; max-width: 345px; }
.aquarius-section { padding-block: 100px; background: var(--sand); border-top: 1px solid #dad8cd; }
.aquarius-inner { grid-template-columns: .25fr 1.1fr .7fr; gap: 8%; }
.aquarius-monogram { border-color: #b8aa8a; color: #9b8357; }
.aquarius-inner h2 { font-size: 55px; line-height: 1.02; }
.aquarius-inner p:not(.eyebrow) { font-size: 12px; line-height: 1.95; }
.aquarius-links a { font-size: 10px; border-color: #cfcec1; padding-block: 24px; }
.aquarius-links a > span { font-size: 20px; color: #8a7043; }
.closing { position: relative; padding-block: 110px 118px; overflow: hidden; }
.closing::after { content: "B"; font-family: var(--display); font-size: 600px; line-height: 1; position: absolute; right: -15px; bottom: -126px; color: #f7f1de04; pointer-events: none; }
.closing h2 { font-size: clamp(70px, 7.6vw, 112px); line-height: .94; position: relative; z-index: 1; }
.closing .eyebrow { color: #dfcfb1; }
.closing p:not(.eyebrow) { font-size: 12px; line-height: 1.95; max-width: 390px; color: #c3d1cf; margin-top: 28px; }
.closing .button { color: #e5d5b7; background: transparent; border-color: #b9a37e; z-index: 1; }
.closing .button:hover { background: #e5d5b7; color: var(--ink); }
.site-footer { background: #10292f; padding-top: 78px; }
.footer-grid > div > h2 { font-family: var(--sans); font-size: 8px; font-weight: 400; letter-spacing: .16em; color: #adbbb5; }
.footer-grid > div > a:not(.brand) { font-size: 10px; line-height: 1.9; }
.footer-grid p { font-size: 10px; line-height: 1.95; }
.footer-grid .footer-phone { font-family: var(--display); font-size: 28px !important; letter-spacing: -.01em; }
.footer-bottom { font-size: 8px; letter-spacing: .04em; margin-top: 65px; padding-block: 26px; }
.page-intro { padding-block: 98px 77px; }
.page-intro h1 { font-size: clamp(67px, 7.9vw, 120px); max-width: 1100px; line-height: .98; }
.page-lead { font-size: 15px; line-height: 1.95; max-width: 630px; margin-top: 33px; }
.page-intro .eyebrow { color: #80663c; }
.pool-cards { gap: 34px; }
.pool-cards .photo-link { aspect-ratio: .81; }
.pool-card-label { gap: 17px; margin-top: 25px; }
.pool-card-label > span { font-size: 8px; padding-top: 9px; color: #8a7043; }
.pool-card h2, .pool-card h3 { font-size: 42px; }
.pool-card p { font-size: 11px; line-height: 1.85; }
.photo-arrow { background: var(--paper); color: #8a7043; width: 43px; height: 43px; border-radius: 0; font-size: 24px; }
.two-col h2 { font-size: 66px; line-height: 1.02; }
.two-col > div > p:not(.eyebrow) { font-size: 13px; line-height: 1.95; }
.section-description { font-size: 13px; line-height: 1.9; }
.faq-list summary { font-size: 13px; padding-block: 25px; line-height: 1.8; }
.faq-list summary > span { color: #8a7043; font-size: 21px; }
.faq-answer { font-size: 12px; line-height: 1.95; }
caption { font-family: var(--sans); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
thead th { font-family: var(--display); font-size: 32px; }
th, td { font-size: 12px; line-height: 1.9; }
th:first-child { font-family: var(--sans); font-size: 10px; }
.breadcrumbs { font-size: 9px; padding-top: 33px; }
.detail-hero { padding-block: 66px 110px; }
.detail-hero h1 { font-size: clamp(57px, 5.5vw, 84px); line-height: 1; }
.detail-hero .page-lead { font-size: 13px; line-height: 1.95; }
.detail-hero .button { font-size: 9px; padding: 19px 24px; }
.detail-photo { position: relative; }
.detail-photo::before { content: ""; position: absolute; border: 1px solid #b8a47d; inset: 21px -17px -17px 21px; z-index: -1; }
.detail-photo img { aspect-ratio: .83; }
.fit-note { font-size: 11px; line-height: 1.9; }
.fit-note > span { font-size: 8px; letter-spacing: .13em; }
.info-columns h3 { font-size: 35px; line-height: 1.05; }
.info-columns p { font-size: 12px; line-height: 1.95; }
.info-columns .step-number { color: #8a7043; font-size: 9px; margin-bottom: 28px; }
.list-panel { padding: 42px; background: var(--sand); border: 1px solid #ded9cb; }
.list-panel h3 { font-size: 32px; }
.list-panel li, .contact-details li { font-size: 12px; line-height: 1.9; }
.wide-image img { height: 530px; }
.lined-list h3 { font-size: 34px; }
.lined-list p { font-size: 12px; line-height: 1.95; }
.gallery-toolbar { margin-bottom: 53px; padding-bottom: 25px; }
.gallery-filters { gap: 26px; }
.filter-button { font-size: 9px; font-family: var(--sans); text-transform: uppercase; letter-spacing: .12em; border: 0; border-bottom: 1px solid transparent; padding: 10px 1px; }
.filter-button[aria-pressed="true"] { background: transparent; color: var(--ink); border-color: #9b8357; }
.filter-button:hover { color: #8a7043; border-color: #b8a47d; }
.gallery-count { font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.gallery-grid { grid-template-columns: repeat(12,minmax(0,1fr)); gap: 76px 5.5%; align-items: start; }
.gallery-card { grid-column: span 6; }
.gallery-grid:not(.is-filtered) .gallery-card:first-child { grid-column: span 12; }
.gallery-grid:not(.is-filtered) .gallery-card:first-child img { aspect-ratio: 1.95; object-position: 50% 58%; }
.gallery-grid:not(.is-filtered) .gallery-card:nth-child(2), .gallery-grid:not(.is-filtered) .gallery-card:nth-child(5) { grid-column: span 5; }
.gallery-grid:not(.is-filtered) .gallery-card:nth-child(3), .gallery-grid:not(.is-filtered) .gallery-card:nth-child(4) { grid-column: span 7; margin-top: 100px; }
.gallery-grid:not(.is-filtered) .gallery-card:nth-child(2) img, .gallery-grid:not(.is-filtered) .gallery-card:nth-child(5) img { aspect-ratio: .92; }
.gallery-grid:not(.is-filtered) .gallery-card:nth-child(3) img, .gallery-grid:not(.is-filtered) .gallery-card:nth-child(4) img { aspect-ratio: 1.2; }
.gallery-grid.is-single .gallery-card { grid-column: 3/span 8; }
.gallery-grid.is-single .gallery-open img { aspect-ratio: 1.25; object-position: 50% 55%; }
.gallery-open { background: #d6ded6; }
.gallery-open img { transition: transform 1s; }
.gallery-expand { border-radius: 0; background: var(--paper); color: #8a7043; }
.gallery-label { margin-top: 25px; }
.gallery-label h2 { font-size: clamp(30px,3.15vw,45px); line-height: 1.08; margin-top: 11px; }
.gallery-label .eyebrow { font-size: 8px; color: #80663c; }
.gallery-label > span { font-size: 9px; }
.gallery-note { font-size: 11px; line-height: 1.95; max-width: 440px; margin-top: 13px; }
.gallery-disclaimer { font-size: 10px; line-height: 1.95; max-width: 650px; margin-top: 80px; }
.gallery-dialog { max-width: 1220px; width: 94vw; background: var(--ink); color: var(--paper); }
.gallery-dialog::backdrop { background: #061c24ed; }
.dialog-bar { font-family: var(--sans); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; padding: 18px 28px; color: #e1d7bf; }
.dialog-close { color: var(--paper); font-family: var(--sans); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.dialog-description { padding: 27px 30px; gap: 30px; }
.dialog-description h2 { font-family: var(--display); font-size: 38px; line-height: 1; }
.dialog-description p { font-size: 11px; line-height: 1.9; color: #c5d0cb; margin-top: 14px; }
.dialog-controls { font-family: var(--sans); color: #d9c6a0; font-size: 9px; gap: 18px; }
.dialog-controls button { color: #e4d5b6; border-color: #627578; }
.dialog-controls button:hover { background: #29454a; }
.dialog-controls button:disabled { opacity: .3; cursor: default; }
.process-timeline article { padding-block: 53px; grid-template-columns: .23fr 1fr; }
.timeline-number { font-family: var(--display); font-size: 83px; color: #9b8357; }
.process-timeline h2 { font-size: 47px; line-height: 1; }
.process-timeline p { font-size: 13px; line-height: 1.95; }
.timeline-meta { font-size: 8px; letter-spacing: .14em; color: #80663c; }
.about-split { padding-bottom: 120px; }
.about-split h2 { font-size: 66px; }
.about-split > div > p:not(.eyebrow) { font-size: 13px; line-height: 1.95; }
.brand-relationship article { padding: 56px; }
.brand-relationship h3 { font-size: 52px; line-height: 1; }
.brand-relationship p:not(.eyebrow) { font-size: 13px; line-height: 1.95; }
.contact-layout { gap: 11%; }
.inquiry-panel { padding: 60px 50px; background: var(--ink); }
.inquiry-mark { color: #d4c2a0; font-size: 64px; margin-bottom: 58px; }
.inquiry-panel h2 { font-size: 63px; line-height: 1; }
.inquiry-panel p:not(.eyebrow) { font-size: 12px; line-height: 1.95; color: #cad6d0; }
.inquiry-panel .eyebrow { color: #d4c2a0; font-size: 8px; }
.inquiry-panel .button { font-size: 9px; gap: 25px; padding: 20px 23px; }
.inquiry-panel .handoff-note { font-size: 9px !important; }
.contact-details h2 { font-family: var(--display); font-size: 32px; line-height: 1.2; }
.contact-details > div > p:not(.eyebrow) { font-size: 12px; line-height: 1.95; }
.contact-details .eyebrow { color: #80663c; font-size: 9px; }
.contact-phone { font-family: var(--display); font-size: 49px; }
.contact-details .text-link { font-size: 9px; }
.contact-routes h3 { font-size: 34px; line-height: 1.07; }
.contact-routes p { font-size: 11px; line-height: 1.9; }
.contact-routes > a > span { color: #8a7043; }
.reveal-ready [data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.65,.3,1); }
.reveal-ready [data-reveal].is-visible { opacity: 1; transform: none; }
@media (min-width: 1550px) {
  .hero-editorial .hero-content { padding-block: 98px 160px; }
}
@media (max-width: 1160px) {
  .navigation { gap: 20px; font-size: 10px; }
  .navigation .button { margin-left: 0; }
  .nav-wrap { gap: 22px; min-height: 94px; }
  .brand { font-size: 24px; gap: 12px; }
  .brand-sub { font-size: 5.5px; }
  .brand svg { width: 29px; }
  .hero-editorial { min-height: 710px; }
  .collection-layout { grid-template-columns: .7fr 1.5fr; gap: 6%; }
  .collection-tabs [role="tab"] { font-size: 34px; }
  .collection-description { display: block; }
  .collection-description .text-link { margin-top: 14px; }
  .selected-caption { display: block; }
  .selected-caption > span { display: block; padding-top: 12px; }
  .inquiry-panel { padding: 47px 36px; }
  .inquiry-panel h2 { font-size: 52px; }
}
@media (max-width: 960px) {
  .site-header .nav-wrap { min-height: 84px; }
  .navigation { font-family: var(--sans); }
  .navigation > a:not(.button) { font-family: var(--display); font-size: 29px; padding-block: 14px; }
  .navigation .button { font-family: var(--sans); margin-top: 25px; }
  .menu-toggle { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; border-color: #c2bdab; }
  .hero-editorial h1 { font-size: 115px; }
  .hero-editorial { min-height: 735px; height: auto; }
  .hero-editorial .hero-content { padding-block: 105px 162px; }
  .hero-editorial .hero-foot { min-height: 100px; }
  .section { padding-block: 88px; }
  .section-topless { padding-top: 0; }
  .intro-editorial { grid-template-columns: 1.2fr 1fr; gap: 50px 7%; }
  .intro-editorial h2 { font-size: 58px; }
  .intro-editorial .intro-copy { padding-top: 40px; font-size: 12px; }
  .section-head h2 { font-size: 65px; }
  .section-head .text-link { font-size: 9px; }
  .selected-project-tall { margin-top: 100px; }
  .selected-grid { column-gap: 6%; grid-template-columns: 1.2fr .9fr; }
  .selected-caption h3 { font-size: 29px; }
  .collection-layout { grid-template-columns: .9fr 1.4fr; gap: 6%; }
  .collection-intro { font-size: 11px; }
  .collection-tabs [role="tab"] { font-size: 31px; gap: 12px; padding-block: 23px; }
  .collection-photo img { aspect-ratio: .95; }
  .collection-description h3 { font-size: 28px; }
  .collection-description p { font-size: 11px; }
  .renovation-story-inner { min-height: 610px; }
  .renovation-story-copy { width: 61%; }
  .renovation-story h2 { font-size: 59px; }
  .process-steps { gap: 35px; }
  .process-steps h3 { font-size: 30px; }
  .aquarius-inner { grid-template-columns: 1.1fr .8fr; gap: 8%; }
  .aquarius-inner h2 { font-size: 55px; }
  .closing h2 { font-size: 83px; }
  .closing .button { font-size: 8px; gap: 25px; padding: 18px 20px; }
  .closing-inner { gap: 25px; }
  .two-col h2 { font-size: 56px; }
  .page-intro { padding-block: 75px 60px; }
  .page-intro h1 { font-size: 86px; }
  .page-lead { font-size: 14px; }
  .pool-card h2, .pool-card h3 { font-size: 36px; }
  .detail-hero h1 { font-size: 62px; }
  .detail-hero .page-lead { font-size: 12px; }
  .gallery-grid { gap: 60px 5%; }
  .gallery-grid:not(.is-filtered) .gallery-card:nth-child(3), .gallery-grid:not(.is-filtered) .gallery-card:nth-child(4) { margin-top: 70px; }
  .gallery-label h2 { font-size: 33px; }
  .inquiry-panel { padding: 39px 30px; }
  .inquiry-panel h2 { font-size: 45px; }
  .inquiry-panel .button { font-size: 8px; padding: 18px; }
  .about-split h2 { font-size: 55px; }
}
@media (max-width: 700px) {
  :root { --gutter: 25px; }
  body { font-size: 14px; }
  h2 { font-size: 47px; }
  .eyebrow { font-size: 8px; letter-spacing: .16em; }
  .eyebrow + h1, .eyebrow + h2 { margin-top: 23px; }
  .utility .container { min-height: 35px; font-size: 7px; letter-spacing: 0; }
  .utility span { max-width: 221px; }
  .brand { font-size: 23px; letter-spacing: .1em; gap: 10px; }
  .brand svg { width: 27px; height: 37px; }
  .brand-sub { font-size: 5.5px; letter-spacing: .1em; margin-top: 9px; }
  .site-header .nav-wrap { min-height: 78px; }
  .menu-toggle { padding: 10px 12px; font-size: 8px; gap: 10px; }
  .navigation { padding-bottom: 28px; }
  .navigation > a:not(.button) { font-size: 27px; padding-block: 12px; }
  .button { font-size: 9px; letter-spacing: .08em; padding: 19px 23px; gap: 32px; }
  .button > span { font-size: 20px; }
  .text-link { font-size: 9px; letter-spacing: .08em; gap: 29px; }
  .text-link:hover { gap: 29px; }
  .hero-editorial { min-height: 650px; height: calc(100svh - 113px); max-height: 850px; }
  .hero-editorial .hero-content { padding-block: 78px 125px; }
  .hero-editorial .eyebrow { font-size: 7.5px; letter-spacing: .14em; max-width: 300px; }
  .hero-editorial h1 { font-size: clamp(77px, 20vw, 126px); line-height: .84; letter-spacing: -.04em; margin-top: 35px; }
  .hero-editorial h1 em { line-height: 1.12; }
  .hero-editorial .hero-copy { max-width: 310px; font-size: 11px; line-height: 1.95; margin-top: 24px; }
  .hero-editorial .button-row { margin-top: 28px; gap: 22px; }
  .hero-editorial .button { font-size: 8px; letter-spacing: .07em; padding: 18px 18px; gap: 23px; }
  .hero-editorial .hero-link { font-size: 8px; letter-spacing: .05em; gap: 15px; padding-block: 12px; }
  .hero-editorial .hero-image img { object-position: 56% 53%; }
  .hero-editorial .hero-image::after { background: linear-gradient(90deg, #0c2732d0, #152f3555),linear-gradient(0deg, #0a2632cc, transparent 65%); }
  .hero-editorial .hero-foot { min-height: 86px; font-size: 8px; }
  .hero-editorial .hero-location { display: inline; font-size: 7px; }
  .hero-project-link { display: none !important; }
  .hero-scroll { font-size: 7px; gap: 12px !important; }
  .scroll-line { height: 25px; }
  .section { padding-block: 72px; }
  .section-topless { padding-top: 0; }
  .intro-editorial { grid-template-columns: 1fr; gap: 29px; padding-block: 80px 65px; }
  .intro-editorial h2 { font-size: clamp(45px, 12.5vw, 64px); line-height: 1.02; }
  .intro-editorial .intro-copy { padding-top: 0; font-size: 12px; max-width: 480px; }
  .intro-editorial .intro-copy .text-link { margin-top: 16px; }
  .intro-signature { padding-top: 24px; margin-top: 7px; font-size: 8px; gap: 12px; }
  .signature-location { font-size: 7px; }
  .signature-rule { width: 27px; height: 27px; flex-shrink: 0; }
  .signature-rule::after { left: 7px; top: 12px; }
  .section-head { margin-bottom: 36px; }
  .section-head h2 { font-size: clamp(46px, 12.5vw, 65px); line-height: 1; }
  .section-head .text-link { font-size: 9px; margin-top: 23px; }
  .selected-grid { grid-template-columns: 1fr; gap: 38px; }
  .selected-project-tall { margin-top: 0; width: 83%; margin-left: auto; }
  .selected-project-wide .selected-image img { aspect-ratio: 1.05; }
  .selected-project-tall .selected-image img { aspect-ratio: .9; }
  .selected-caption { padding-top: 19px; }
  .selected-caption .eyebrow { font-size: 7px; }
  .selected-caption h3 { font-size: 32px; }
  .selected-caption > span { font-size: 7px; padding-top: 10px; }
  .project-view { bottom: 12px; right: 12px; font-size: 7px; padding: 8px 10px 8px 13px; gap: 17px; }
  .project-view > span { font-size: 21px; }
  .collection-layout { grid-template-columns: 1fr; gap: 24px; }
  .collection-sidebar { padding-top: 0; }
  .collection-intro { margin-bottom: 23px; font-size: 11px; }
  .collection-intro br { display: none; }
  .collection-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
  .collection-tabs [role="tab"] { display: block; font-family: var(--display); font-size: 25px; padding: 15px 0 16px; line-height: 1.1; white-space: nowrap; }
  .collection-number { display: block; font-size: 7px; margin: 0 0 9px; }
  .collection-tab-arrow { display: none; }
  .collection-tabs [aria-selected="true"] { border-bottom-color: #8a7043; }
  .collection-footnote { display: none; }
  .collection-photo img { aspect-ratio: 1.02; }
  .collection-image-label { left: 15px; bottom: 14px; font-size: 7px; }
  .collection-description { margin-top: 24px; }
  .collection-description h3 { font-size: 32px; line-height: 1.04; max-width: 320px; }
  .collection-description p { font-size: 11px; margin-top: 15px; }
  .collection-description .text-link { font-size: 9px; margin-top: 17px; }
  .renovation-story-inner { min-height: auto; padding-block: 66px 345px; }
  .renovation-story-copy { width: 100%; max-width: 480px; }
  .renovation-story h2 { font-size: clamp(46px, 12vw, 64px); line-height: 1.03; }
  .renovation-story-copy > p:not(.eyebrow) { max-width: 300px; font-size: 11px; margin-top: 23px; }
  .renovation-story .text-link { font-size: 9px; margin-top: 18px; }
  .renovation-image { top: 30%; width: 100%; }
  .renovation-image img { object-position: 50% 61%; }
  .renovation-image::after { background: linear-gradient(180deg, #152f35 0%, #152f35b3 25%, #152f3500 74%); }
  .process-home .section-head { margin-bottom: 38px; }
  .process-steps { gap: 28px; }
  .process-steps article { padding-top: 23px; }
  .process-steps .step-number { font-size: 39px; margin-bottom: 23px; }
  .process-steps h3 { font-size: 34px; margin-bottom: 12px; }
  .process-steps p { font-size: 11px; }
  .aquarius-section { padding-block: 67px; }
  .aquarius-inner { grid-template-columns: 1fr; gap: 28px; }
  .aquarius-inner h2 { font-size: 49px; }
  .aquarius-inner p:not(.eyebrow) { font-size: 11px; }
  .aquarius-links a { font-size: 10px; padding-block: 21px; }
  .closing { padding-block: 76px 80px; }
  .closing h2 { font-size: clamp(56px, 14.6vw, 83px); line-height: .98; }
  .closing p:not(.eyebrow) { font-size: 11px; max-width: 300px; margin-top: 26px; }
  .closing .button { font-size: 9px; padding: 18px 23px; gap: 35px; margin-top: 28px; }
  .closing::after { font-size: 390px; bottom: -80px; right: -20px; }
  .site-footer { padding-top: 58px; }
  .footer-grid { gap: 38px 22px; }
  .footer-grid > div > h2 { font-size: 7px; letter-spacing: .12em; }
  .footer-grid > div > a:not(.brand) { font-size: 9px; }
  .footer-grid p { font-size: 9px; }
  .footer-bottom { font-size: 7px; line-height: 1.9; padding-block: 24px; margin-top: 43px; }
  .page-intro { padding-block: 58px 46px; }
  .page-intro h1 { font-size: clamp(56px, 14.8vw, 81px); line-height: 1; }
  .page-lead { font-size: 12px; line-height: 1.95; margin-top: 26px; }
  .pool-cards { gap: 37px; }
  .pool-cards .photo-link { aspect-ratio: 1.05; }
  .pool-card h2, .pool-card h3 { font-size: 39px; }
  .pool-card-label { margin-top: 20px; gap: 15px; }
  .pool-card p { font-size: 11px; margin-left: 27px; }
  .two-col { gap: 37px; }
  .two-col h2 { font-size: 50px; }
  .two-col > div > p:not(.eyebrow) { font-size: 12px; line-height: 1.95; }
  .section-description { font-size: 12px; }
  .faq-list summary { font-size: 12px; padding-block: 23px; gap: 24px; }
  .faq-answer { font-size: 11px; }
  .breadcrumbs { font-size: 8px; padding-top: 24px; }
  .detail-hero { padding-block: 39px 79px; gap: 39px; }
  .detail-hero h1 { font-size: 57px; }
  .detail-hero .page-lead { font-size: 12px; }
  .detail-hero .button { font-size: 9px; padding: 18px 20px; }
  .detail-hero .text-link { font-size: 9px; }
  .detail-photo img { aspect-ratio: 1.05; }
  .detail-photo::before { inset: 15px -10px -10px 15px; }
  .fit-note { font-size: 10px; }
  .fit-note > span { font-size: 7px; }
  .info-columns h3 { font-size: 33px; }
  .info-columns p { font-size: 11px; }
  .info-columns .step-number { margin-bottom: 20px; font-size: 8px; }
  .list-panel { padding: 30px 26px; }
  .list-panel h3 { font-size: 33px; }
  .list-panel li, .contact-details li { font-size: 11px; }
  .wide-image img { height: 410px; }
  .lined-list h3 { font-size: 34px; }
  .lined-list p { font-size: 11px; }
  .gallery-toolbar { margin-bottom: 34px; padding-bottom: 23px; }
  .gallery-filters { gap: 23px; }
  .filter-button { font-size: 8px; letter-spacing: .08em; padding: 10px 0; }
  .gallery-count { font-size: 8px; margin-top: 17px; }
  .gallery-grid { grid-template-columns: 1fr; gap: 41px; }
  .gallery-grid .gallery-card,
  .gallery-grid:not(.is-filtered) .gallery-card:first-child,
  .gallery-grid:not(.is-filtered) .gallery-card:nth-child(2),
  .gallery-grid:not(.is-filtered) .gallery-card:nth-child(3),
  .gallery-grid:not(.is-filtered) .gallery-card:nth-child(4),
  .gallery-grid:not(.is-filtered) .gallery-card:nth-child(5),
  .gallery-grid.is-single .gallery-card { grid-column: 1; margin-top: 0; }
  .gallery-grid:not(.is-filtered) .gallery-card:first-child img { aspect-ratio: 1.14; }
  .gallery-grid:not(.is-filtered) .gallery-card:nth-child(2) img,
  .gallery-grid:not(.is-filtered) .gallery-card:nth-child(3) img,
  .gallery-grid:not(.is-filtered) .gallery-card:nth-child(4) img,
  .gallery-grid:not(.is-filtered) .gallery-card:nth-child(5) img,
  .gallery-grid.is-single .gallery-card img { aspect-ratio: 1.1; }
  .gallery-label { margin-top: 22px; }
  .gallery-label h2 { font-size: 35px; line-height: 1.04; }
  .gallery-label .eyebrow { font-size: 7px; }
  .gallery-label > span { font-size: 8px; }
  .gallery-note { font-size: 11px; margin-top: 13px; }
  .gallery-disclaimer { font-size: 9px; margin-top: 45px; }
  .dialog-bar { font-size: 8px; padding: 13px 17px; }
  .dialog-close { font-size: 8px; }
  .dialog-description { display: block; padding: 21px; }
  .dialog-description h2 { font-size: 33px; }
  .dialog-description p { font-size: 10px; }
  .dialog-controls { margin-top: 23px; gap: 17px; font-size: 8px; }
  .gallery-dialog > img { max-height: 51svh; }
  .process-timeline article { grid-template-columns: 45px 1fr; padding-block: 30px; gap: 23px; }
  .timeline-number { font-size: 52px; }
  .process-timeline h2 { font-size: 36px; line-height: 1.03; margin-bottom: 19px; }
  .process-timeline p { font-size: 11px; }
  .timeline-meta { font-size: 7px; letter-spacing: .08em; line-height: 2; }
  .about-split { padding-bottom: 70px; }
  .about-split h2 { font-size: 51px; }
  .about-split > div > p:not(.eyebrow) { font-size: 12px; }
  .brand-relationship article { padding: 32px 27px; }
  .brand-relationship h3 { font-size: 43px; }
  .brand-relationship p:not(.eyebrow) { font-size: 12px; }
  .contact-layout { gap: 43px; }
  .inquiry-panel { padding: 39px 29px; }
  .inquiry-mark { font-size: 48px; margin-bottom: 35px; }
  .inquiry-panel h2 { font-size: 48px; line-height: 1; }
  .inquiry-panel p:not(.eyebrow) { font-size: 11px; }
  .inquiry-panel .eyebrow { font-size: 7px; }
  .inquiry-panel .button { font-size: 8px; padding: 18px 16px; gap: 20px; }
  .inquiry-panel .handoff-note { font-size: 8px !important; }
  .contact-details h2 { font-size: 31px; }
  .contact-details > div > p:not(.eyebrow) { font-size: 11px; }
  .contact-phone { font-size: 43px; }
  .contact-routes h3 { font-size: 34px; }
  .contact-routes p { font-size: 11px; }
}
@media (max-width: 360px) {
  .hero-editorial .button-row { gap: 16px; }
  .hero-editorial .button { font-size: 7px; gap: 17px; padding-inline: 14px; }
  .hero-editorial .hero-link { font-size: 7px; gap: 10px; }
  .collection-tabs { gap: 12px; }
  .collection-tabs [role="tab"] { font-size: 22px; }
  .inquiry-panel .button { font-size: 7px; padding-inline: 12px; gap: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-ready [data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* Keep the reading copy comfortable alongside the smaller editorial labels. */
.hero-editorial .hero-copy,
.intro-editorial .intro-copy,
.collection-intro,
.collection-description p,
.renovation-story-copy > p:not(.eyebrow),
.process-steps p,
.aquarius-inner p:not(.eyebrow),
.closing p:not(.eyebrow),
.page-lead,
.two-col > div > p:not(.eyebrow),
.section-description,
.detail-hero .page-lead,
.info-columns p,
.lined-list p,
.about-split > div > p:not(.eyebrow),
.brand-relationship p:not(.eyebrow),
.inquiry-panel p:not(.eyebrow),
.contact-details > div > p:not(.eyebrow),
.process-timeline p { font-size: 14px; }
.gallery-note, .faq-answer, .contact-routes p { font-size: 13px; }
.closing::after { content: ""; }
@media (max-width: 700px) {
  .hero-editorial .hero-copy,
  .intro-editorial .intro-copy,
  .collection-intro,
  .collection-description p,
  .renovation-story-copy > p:not(.eyebrow),
  .process-steps p,
  .aquarius-inner p:not(.eyebrow),
  .closing p:not(.eyebrow),
  .page-lead,
  .two-col > div > p:not(.eyebrow),
  .section-description,
  .detail-hero .page-lead,
  .info-columns p,
  .lined-list p,
  .about-split > div > p:not(.eyebrow),
  .brand-relationship p:not(.eyebrow),
  .inquiry-panel p:not(.eyebrow),
  .contact-details > div > p:not(.eyebrow),
  .process-timeline p,
  .gallery-note, .faq-answer, .contact-routes p { font-size: 13px; }
  .hero-editorial .hero-content { padding-top: 64px; }
  .hero-editorial { min-height: 690px; }
}
@media (max-width: 360px) {
  .hero-editorial { min-height: 700px; }
  .hero-editorial .hero-content { padding-top: 54px; }
  .hero-editorial h1 { font-size: 64px; line-height: .88; margin-top: 28px; }
  .hero-editorial .hero-copy { font-size: 12px; }
  .hero-editorial .button-row { gap: 14px; }
  .hero-editorial .button { gap: 12px; padding-inline: 13px; }
  .hero-editorial .hero-link { font-size: 6.5px; letter-spacing: 0; gap: 8px; }
}

/* Iteration 03 — project stories and the path from inspiration to inquiry. */
.story-hero { display: grid; grid-template-columns: 1fr 1.02fr; gap: 9%; align-items: center; padding-block: 60px 112px; }
.story-copy h1 { font-size: clamp(64px,6.5vw,94px); line-height: .96; }
.story-intro { max-width: 440px; margin-top: 31px; font-size: 14px; line-height: 1.95; }
.story-copy > .button { margin-top: 29px; font-size: 9px; }
.story-facts { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 37px; }
.story-facts > div { display: grid; grid-template-columns: 110px 1fr; gap: 20px; margin-top: 14px; align-items: baseline; }
.story-facts dt { font-family: var(--sans); font-size: 8px; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); }
.story-facts dd { margin: 0; font-size: 11px; line-height: 1.8; }
.story-pool-link { display: inline-flex; gap: 20px; align-items: center; }
.story-pool-link > span { font-size: 18px; color: var(--brass); }
.story-frame { margin: 0; position: relative; }
.story-frame::before { content: ""; position: absolute; inset: 20px -17px 10px 20px; border: 1px solid #b5a37c; z-index: -1; }
.story-frame .story-image { display: block; width: 100%; }
.story-image img { aspect-ratio: .79; object-fit: cover; object-position: center; width: 100%; }
.story-image .gallery-expand { border-radius: 0; width: auto; height: auto; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; padding: 13px 18px; line-height: 1.5; font-family: var(--sans); }
.story-frame figcaption { font-size: 8px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); padding-top: 19px; }
.story-observations { display: grid; grid-template-columns: .9fr 1fr; gap: 12%; align-items: start; }
.story-observations h2 { font-size: 77px; line-height: .98; }
.story-observations > div > p:not(.eyebrow) { font-size: 14px; line-height: 1.95; margin-top: 30px; max-width: 390px; }
.story-observations .text-link { margin-top: 23px; font-size: 9px; }
.story-features article { border-top: 1px solid #c9c7ba; padding-block: 27px 35px; display: grid; grid-template-columns: 22px 1fr; gap: 19px; }
.feature-index { font-size: 8px; letter-spacing: .1em; color: var(--brass); padding-top: 8px; }
.story-features h3 { font-size: 38px; line-height: 1.06; }
.story-features p { font-size: 13px; line-height: 1.95; margin-top: 18px; }
.story-question { text-align: center; max-width: 960px; padding-block: 115px 125px; }
.story-question .eyebrow { color: var(--brass); }
.story-question h2 { font-size: clamp(49px,5.4vw,78px); line-height: 1.02; margin-top: 26px; }
.story-question .text-link { margin-top: 32px; }
.story-related { background: var(--sand); }
.story-related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6%; }
.story-related-photo { display: block; overflow: hidden; }
.story-related-photo img { width: 100%; aspect-ratio: 1.2; object-fit: cover; transition: transform .8s; }
.story-related-photo:hover img { transform: scale(1.025); }
.story-related-grid .eyebrow { margin-top: 25px; color: var(--brass); font-size: 8px; }
.story-related-grid h3 { font-size: 42px; line-height: 1.04; margin-top: 11px; }
.story-related-grid .text-link { margin-top: 17px; font-size: 9px; }
.gallery-card-actions { margin-top: 10px; }
.gallery-card-actions .text-link { font-size: 8px; padding-block: 10px; gap: 27px; }
.dialog-actions { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 20px; }
.dialog-actions a { color: #e2cfaa; font-family: var(--sans); font-size: 8px; letter-spacing: .09em; text-transform: uppercase; display: inline-flex; gap: 15px; align-items: center; border-bottom: 1px solid #70817e; padding-block: 6px; }
.dialog-actions a > span { font-size: 17px; }
.dialog-actions a:hover { color: #fff6df; }
.dialog-actions a[hidden] { display: none; }
.inspiration-card { display: grid; grid-template-columns: .5fr 1fr; gap: 42px; padding: 32px; background: var(--sand); margin-bottom: 62px; align-items: center; border: 1px solid var(--line); }
.inspiration-card[hidden] { display: none; }
.inspiration-card img { width: 100%; aspect-ratio: 1.55; object-fit: cover; }
.inspiration-card h2 { font-size: 43px; line-height: 1.04; margin-top: 12px; }
.inspiration-card .eyebrow { font-size: 8px; color: var(--brass); }
.inspiration-card p:not(.eyebrow) { font-size: 12px; line-height: 1.9; margin-top: 14px; max-width: 520px; }
.inspiration-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 15px; }
.inspiration-actions .text-link { font-size: 8px; gap: 20px; }
.quiet-button { border: 0; background: transparent; padding: 8px 0; font-family: var(--sans); color: var(--muted); font-size: 10px; text-decoration: underline; text-underline-offset: 4px; }
.quiet-button:hover { color: var(--ink); }
.contact-layout-refined { grid-template-columns: 1.05fr 1fr; gap: 9%; }
.project-brief > .eyebrow { color: var(--brass); font-size: 8px; }
.project-brief > h2 { font-size: 72px; line-height: 1; }
.brief-intro { font-size: 13px; line-height: 1.95; max-width: 370px; margin-top: 26px; }
.brief-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 33px; }
.brief-fields label, .brief-output > label { display: block; color: var(--ink); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; font-weight: 500; }
.brief-fields select { width: 100%; min-height: 54px; padding: 13px 30px 13px 12px; background: transparent; color: var(--ink); border: 1px solid #babdad; border-radius: 0; font-family: var(--sans); font-size: 12px; margin-top: 12px; }
.brief-fields select:focus-visible, .brief-output textarea:focus-visible { outline: 2px solid #9b7839; outline-offset: 4px; }
.brief-priorities { padding: 0; border: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 30px 0; }
.brief-priorities legend { font-size: 9px; text-transform: uppercase; letter-spacing: .1em; color: var(--ink); margin-bottom: 17px; padding: 0; }
.brief-priorities label { position: relative; cursor: pointer; }
.brief-priorities input { position: absolute; width: 20px; height: 20px; opacity: 0; left: 10px; top: 10px; }
.brief-priorities span { display: flex; align-items: center; min-height: 52px; padding: 13px 15px; border: 1px solid #c8cbbb; font-size: 11px; color: var(--muted); line-height: 1.6; transition: background .2s,color .2s,border-color .2s; }
.brief-priorities input:checked + span { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.brief-priorities input:focus-visible + span { outline: 2px solid #9b7839; outline-offset: 4px; }
.brief-priorities label:hover span { border-color: #9b8357; }
.brief-output { border-top: 1px solid var(--line); padding-top: 27px; }
.brief-output > p { font-size: 11px; line-height: 1.85; margin-top: 12px; }
.brief-output textarea { display: block; width: 100%; min-height: 223px; resize: vertical; margin-top: 17px; border: 1px solid #d6d5c8; border-radius: 0; padding: 19px; color: #45585b; background: #f0eee5; font-family: var(--sans); font-size: 11px; line-height: 1.9; overflow-wrap: anywhere; }
.brief-copy-row { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 19px; }
.brief-copy-row .button { font-size: 8px; gap: 27px; padding: 18px 22px; }
.brief-output .copy-status { color: #526d55; font-size: 11px; min-height: 1.8em; margin-top: 12px; }
.brief-noscript { font-size: 12px; margin-top: 20px; }
.contact-conversation .inquiry-panel { padding: 45px 37px; }
.contact-conversation .inquiry-panel h2 { font-size: 57px; line-height: 1.02; }
.contact-conversation .inquiry-panel .inquiry-mark { font-size: 50px; margin-bottom: 35px; }
.contact-conversation .inquiry-panel p:not(.eyebrow) { font-size: 13px; }
.contact-conversation .contact-details { margin-top: 39px; }
.contact-conversation .contact-phone { margin-top: 14px; }
.contact-conversation .contact-details > div > p:not(.eyebrow) { font-size: 12px; }
.page-contact .page-intro { padding-bottom: 60px; }
.contact-first-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 33px; margin-top: 29px; }
.contact-first-actions .button { font-size: 9px; }
.contact-first-actions .text-link { font-size: 9px; }
@media (max-width: 1160px) {
  .story-hero { gap: 7%; }
  .story-copy h1 { font-size: 76px; }
  .story-copy > .button { font-size: 8px; gap: 23px; padding: 18px 22px; }
  .story-facts > div { grid-template-columns: 90px 1fr; gap: 15px; }
  .story-observations { gap: 9%; }
  .story-observations h2 { font-size: 67px; }
  .story-features h3 { font-size: 35px; }
  .contact-layout-refined { gap: 7%; }
  .brief-fields { gap: 15px; }
  .contact-conversation .inquiry-panel { padding: 40px 28px; }
  .contact-conversation .inquiry-panel h2 { font-size: 51px; }
}
@media (max-width: 960px) {
  .story-hero { grid-template-columns: 1.05fr 1fr; gap: 6%; padding-block: 48px 85px; }
  .story-copy h1 { font-size: 63px; }
  .story-intro { font-size: 13px; }
  .story-facts > div { display: block; }
  .story-facts dd { font-size: 10px; margin-top: 5px; }
  .story-frame figcaption { font-size: 7px; }
  .story-image img { aspect-ratio: .65; }
  .story-image .gallery-expand { left: 12px; right: 12px; bottom: 12px; font-size: 7px; }
  .story-observations { grid-template-columns: .9fr 1fr; gap: 7%; }
  .story-observations h2 { font-size: 57px; }
  .story-observations > div > p:not(.eyebrow) { font-size: 13px; }
  .story-observations .text-link { font-size: 8px; }
  .story-features h3 { font-size: 31px; }
  .story-features article { grid-template-columns: 17px 1fr; gap: 14px; }
  .story-features p { font-size: 12px; }
  .story-question { padding-block: 85px 90px; max-width: 720px; }
  .story-question h2 { font-size: 60px; }
  .story-related-grid h3 { font-size: 34px; }
  .inspiration-card { gap: 27px; padding: 26px; }
  .inspiration-card h2 { font-size: 36px; }
  .contact-layout-refined { grid-template-columns: 1.05fr 1fr; gap: 6%; }
  .project-brief > h2 { font-size: 57px; }
  .brief-fields { grid-template-columns: 1fr; gap: 20px; }
  .brief-priorities { gap: 10px; }
  .brief-priorities span { font-size: 10px; padding: 12px 10px; }
  .contact-conversation .inquiry-panel h2 { font-size: 43px; }
  .contact-conversation .inquiry-panel p:not(.eyebrow) { font-size: 12px; }
  .contact-conversation .inquiry-panel .button { font-size: 8px; padding: 18px; gap: 22px; }
}
@media (max-width: 700px) {
  .story-hero { grid-template-columns: 1fr; gap: 42px; padding-block: 38px 74px; }
  .story-copy h1 { font-size: clamp(56px,14.7vw,81px); line-height: .98; }
  .story-intro { font-size: 13px; line-height: 1.95; margin-top: 26px; }
  .story-copy > .button { font-size: 8px; margin-top: 26px; }
  .story-facts { margin-top: 30px; padding-top: 17px; }
  .story-facts > div { display: grid; grid-template-columns: 90px 1fr; gap: 15px; margin-top: 13px; }
  .story-facts dt { font-size: 7px; }
  .story-facts dd { font-size: 10px; margin-top: 0; }
  .story-image img { aspect-ratio: .95; }
  .story-image .gallery-expand { left: auto; right: 13px; bottom: 13px; font-size: 7px; padding: 12px 15px; }
  .story-frame::before { inset: 15px -9px 10px 15px; }
  .story-frame figcaption { font-size: 7px; padding-top: 18px; line-height: 1.8; }
  .story-observations { grid-template-columns: 1fr; gap: 36px; }
  .story-observations h2 { font-size: 56px; }
  .story-observations > div > p:not(.eyebrow) { font-size: 13px; margin-top: 25px; }
  .story-observations .text-link { margin-top: 19px; font-size: 8px; gap: 25px; }
  .story-features h3 { font-size: 36px; }
  .story-features p { font-size: 13px; margin-top: 16px; }
  .story-features article { padding-block: 23px 29px; grid-template-columns: 17px 1fr; gap: 16px; }
  .story-question { padding-block: 74px 82px; }
  .story-question h2 { font-size: 46px; }
  .story-question .text-link { font-size: 8px; gap: 26px; margin-top: 25px; }
  .story-related-grid { grid-template-columns: 1fr; gap: 37px; }
  .story-related-grid h3 { font-size: 36px; }
  .story-related-grid .eyebrow { font-size: 7px; margin-top: 21px; }
  .story-related-grid .text-link { font-size: 8px; margin-top: 12px; }
  .gallery-card-actions { margin-top: 8px; }
  .gallery-card-actions .text-link { font-size: 8px; }
  .dialog-description { padding: 19px; }
  .dialog-description h2 { font-size: 30px; }
  .dialog-actions { margin-top: 15px; gap: 9px 18px; }
  .dialog-actions a { font-size: 7px; gap: 10px; }
  .gallery-dialog > img { max-height: 44svh; }
  .dialog-controls { margin-top: 18px; }
  .inspiration-card { grid-template-columns: 1fr; gap: 24px; padding: 23px; margin-bottom: 43px; }
  .inspiration-card img { aspect-ratio: 1.4; }
  .inspiration-card .eyebrow { font-size: 7px; }
  .inspiration-card h2 { font-size: 38px; margin-top: 13px; }
  .inspiration-card p:not(.eyebrow) { font-size: 12px; }
  .inspiration-actions { gap: 10px 23px; }
  .inspiration-actions .text-link { font-size: 7px; }
  .quiet-button { font-size: 9px; }
  .contact-layout-refined { grid-template-columns: 1fr; gap: 42px; }
  .project-brief > h2 { font-size: 59px; }
  .project-brief > .eyebrow { font-size: 7px; }
  .brief-intro { font-size: 13px; margin-top: 23px; }
  .brief-fields { grid-template-columns: 1fr; gap: 22px; margin-top: 28px; }
  .brief-fields label, .brief-output > label { font-size: 8px; }
  .brief-fields select { font-size: 16px; min-height: 55px; padding-block: 12px; margin-top: 10px; }
  .brief-priorities { margin-block: 26px; gap: 10px; }
  .brief-priorities legend { font-size: 8px; margin-bottom: 16px; }
  .brief-priorities span { min-height: 56px; font-size: 11px; padding: 12px 11px; }
  .brief-output { padding-top: 25px; }
  .brief-output > p { font-size: 11px; }
  .brief-output textarea { font-size: 12px; min-height: 250px; padding: 17px; }
  .brief-copy-row { gap: 22px; }
  .brief-copy-row .button { font-size: 8px; padding: 18px 20px; gap: 23px; }
  .brief-output .copy-status { font-size: 10px; }
  .contact-conversation .inquiry-panel { padding: 38px 27px; }
  .contact-conversation .inquiry-panel h2 { font-size: 49px; }
  .contact-conversation .inquiry-panel p:not(.eyebrow) { font-size: 13px; }
  .contact-conversation .inquiry-panel .button { font-size: 8px; padding: 18px 19px; gap: 26px; }
  .contact-conversation .contact-details { margin-top: 32px; }
  .page-contact .page-intro { padding-bottom: 45px; }
  .contact-first-actions { gap: 19px 28px; margin-top: 25px; }
  .contact-first-actions .button, .contact-first-actions .text-link { font-size: 8px; }
}
@media (max-width: 360px) {
  .story-copy h1 { font-size: 54px; }
  .story-facts > div { grid-template-columns: 80px 1fr; gap: 13px; }
  .story-observations .text-link { font-size: 7px; gap: 15px; }
  .story-question h2 { font-size: 42px; }
  .story-question .text-link { font-size: 7px; gap: 16px; }
  .project-brief > h2 { font-size: 53px; }
  .inspiration-card { padding: 20px; }
  .inspiration-card h2 { font-size: 34px; }
  .brief-priorities span { font-size: 10px; padding-inline: 9px; }
  .brief-copy-row { gap: 17px; }
  .brief-copy-row .button { font-size: 7px; padding-inline: 15px; gap: 17px; }
  .contact-conversation .inquiry-panel { padding-inline: 23px; }
  .contact-conversation .inquiry-panel h2 { font-size: 43px; }
  .contact-conversation .inquiry-panel .button { font-size: 7px; padding-inline: 15px; gap: 17px; }
}

/* A considered choice: navigation, design topics, and pool comparison. */
.pool-navigation { position: relative; flex-shrink: 0; }
.pool-navigation > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 9px; padding: 11px 0; font-family: var(--sans); font-size: 11px; font-weight: 500; line-height: 1.65; white-space: nowrap; }
.pool-navigation > summary::-webkit-details-marker { display: none; }
.pool-navigation > summary > span { color: var(--brass); font-size: 14px; }
.pool-navigation[data-current="true"] > summary::after { content: ""; position: absolute; height: 1px; background: #9c8356; bottom: 3px; left: 0; right: 0; }
.pool-menu { position: absolute; top: calc(100% + 16px); left: -24px; width: 290px; padding: 25px; background: var(--paper); border: 1px solid #d1cdbd; box-shadow: 0 15px 35px #102c3914; }
.pool-menu .eyebrow { color: var(--brass); font-size: 7px; margin-bottom: 13px; }
.pool-menu > a { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 11px; font-family: var(--sans); font-size: 11px; line-height: 1.6; }
.pool-menu > a > span { font-size: 18px; color: var(--brass); }
.pool-menu .pool-menu-compare { font-family: var(--display); font-size: 25px; line-height: 1.1; border-bottom: 1px solid var(--line); padding-bottom: 18px; margin-bottom: 7px; }
.pool-menu .pool-menu-renovation { border-top: 1px solid var(--line); margin-top: 7px; padding-top: 17px; }
.details-context { max-width: 690px; margin-top: 23px; font-size: 11px; color: var(--brass); line-height: 1.9; }
.details-context[hidden] { display: none; }
.design-selection { display: flex; align-items: center; justify-content: space-between; gap: 25px; background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: 22px; position: sticky; top: 102px; z-index: 10; }
.design-selection .eyebrow { font-size: 8px; color: var(--brass); }
.design-selection-count { font-size: 12px; line-height: 1.7; margin-top: 4px; color: var(--ink); }
.design-selection-actions { display: flex; align-items: center; gap: 27px; }
.design-selection-actions .button { font-size: 8px; padding: 18px 22px; gap: 27px; }
.design-selection .quiet-button { font-size: 9px; }
.quiet-button:disabled { opacity: .4; cursor: default; }
.design-details-content { padding-top: 48px; }
.design-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 61px 5%; align-items: stretch; }
.design-card { border-bottom: 1px solid var(--line); padding-bottom: 29px; display: flex; flex-direction: column; }
.design-card-image { overflow: hidden; background: #dce1d7; }
.design-card-image img { width: 100%; aspect-ratio: 1.45; object-fit: cover; object-position: 50% 58%; }
.design-card-copy { padding-top: 26px; display: flex; flex-direction: column; flex: 1; }
.design-card-top { display: flex; justify-content: space-between; align-items: start; gap: 17px; }
.design-card-top .eyebrow { color: var(--brass); font-size: 8px; }
.design-card-top > span { font-size: 9px; color: var(--muted); }
.design-card h2 { font-size: clamp(38px,3.8vw,55px); line-height: 1.04; margin-top: 17px; }
.design-card-copy > p { font-size: 13px; line-height: 1.95; margin-top: 22px; max-width: 500px; }
.design-card ul { margin: 21px 0 28px; padding: 0; list-style: none; }
.design-card li { font-family: var(--sans); font-size: 11px; line-height: 1.85; padding-block: 7px; border-top: 1px solid #e0ddd1; color: var(--muted); }
.design-card-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; margin-top: auto; }
.topic-choice { display: inline-flex; align-items: center; justify-content: space-between; gap: 26px; min-width: 170px; min-height: 48px; padding: 13px 17px; background: transparent; border: 1px solid #a9ad9b; color: var(--ink); font-family: var(--sans); font-size: 9px; line-height: 1.5; }
.topic-choice > span:last-child { font-size: 20px; line-height: 1; color: var(--brass); }
.topic-choice[aria-pressed="true"] { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.topic-choice[aria-pressed="true"] > span:last-child { color: #e3cda4; font-size: 16px; }
.topic-choice:hover { border-color: #8a7043; }
.design-card-actions .text-link { font-size: 8px; gap: 18px; }
.design-card-text { background: var(--sand); border: 1px solid #dcd7c8; padding: 38px; }
.design-card-text .design-card-copy { padding-top: 0; }
.design-card-text h2 { font-size: 48px; max-width: 450px; }
.design-card-text li { border-color: #d6d1c4; }
.design-scope-note { max-width: 700px; font-size: 11px; line-height: 1.95; margin-top: 48px; }
.design-bottom { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 76px; border-top: 1px solid var(--line); padding-top: 61px; }
.design-bottom h2 { font-size: 69px; line-height: 1; }
.design-bottom .eyebrow { color: var(--brass); font-size: 8px; }
.design-bottom .button { font-size: 9px; flex-shrink: 0; }
.pool-intro-actions { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; margin-top: 31px; }
.pool-intro-actions .button, .pool-intro-actions .text-link { font-size: 9px; }
.comparison-tools { border-top: 1px solid #c9c9ba; padding-block: 24px 30px; display: flex; align-items: end; justify-content: space-between; gap: 25px; }
.comparison-choices { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.comparison-choices legend { padding: 0; margin-bottom: 17px; font-size: 8px; text-transform: uppercase; letter-spacing: .12em; color: var(--brass); }
.comparison-choices label { position: relative; cursor: pointer; }
.comparison-choices input { position: absolute; opacity: 0; width: 20px; height: 20px; top: 10px; left: 10px; }
.comparison-choices span { display: flex; align-items: center; min-height: 45px; font-size: 11px; line-height: 1.5; padding: 12px 19px; border: 1px solid #b8bdad; color: var(--ink); }
.comparison-choices input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.comparison-choices input:focus-visible + span { outline: 2px solid #9b7839; outline-offset: 4px; }
.comparison-status { font-size: 10px; line-height: 1.8; max-width: 270px; }
.comparison-table { --compare-count: 3; min-width: calc(140px + var(--compare-count)*175px); }
.comparison-table [data-compare-col][hidden] { display: none; }
.comparison-table th:first-child { position: sticky; left: 0; z-index: 1; background: var(--sand); width: 155px; min-width: 155px; font-size: 10px; font-family: var(--sans); }
.comparison-table thead th { font-size: 34px; }
.comparison-table td { font-size: 12px; min-width: 175px; line-height: 1.95; }
.comparison-note { margin-top: 20px; font-size: 10px; color: var(--muted); }
.comparison-next { display: inline-flex; gap: 20px; align-items: center; font-size: 9px; line-height: 1.7; border-bottom: 1px solid #a9ad9b; padding-block: 7px; }
.comparison-next > span { color: var(--brass); font-size: 20px; }
.brief-design { border-top: 1px solid var(--line); margin-bottom: 28px; }
.brief-design > summary { display: flex; align-items: center; gap: 18px; padding: 21px 0; cursor: pointer; list-style: none; font-size: 12px; line-height: 1.8; }
.brief-design > summary::-webkit-details-marker { display: none; }
.brief-design > summary > span:first-child { font-size: 9px; color: var(--muted); margin-left: auto; }
.brief-design > summary > span:last-child { font-size: 21px; color: var(--brass); transition: transform .2s; }
.brief-design[open] > summary > span:last-child { transform: rotate(45deg); }
.brief-design fieldset { border: 0; margin: 0; padding: 0 0 5px; display: grid; grid-template-columns: 1fr 1fr; gap: 13px 20px; }
.brief-design legend { font-size: 10px; color: var(--muted); padding: 0; margin-bottom: 17px; }
.brief-design label { display: flex; align-items: start; gap: 10px; font-size: 11px; line-height: 1.7; cursor: pointer; min-height: 32px; }
.brief-design input { accent-color: var(--ink); width: 15px; height: 15px; margin-top: 2px; flex-shrink: 0; }
.brief-design .text-link { font-size: 8px; margin-top: 9px; gap: 20px; }
.story-resource { margin-top: 18px; }
.story-resource .text-link { font-size: 8px; gap: 25px; }
@media (max-width: 1160px) {
  .pool-navigation > summary { font-size: 10px; }
  .design-card-actions { align-items: start; }
  .design-card-text { padding: 31px; }
  .design-card-text h2 { font-size: 42px; }
  .design-card-actions .text-link { font-size: 7px; }
  .topic-choice { min-width: 155px; }
}
@media (max-width: 960px) {
  .navigation { max-height: calc(100svh - 120px); overflow-y: auto; overscroll-behavior: contain; }
  .pool-navigation { border-bottom: 1px solid var(--line); }
  .pool-navigation > summary { font-family: var(--display); font-size: 29px; line-height: 1.3; padding-block: 14px; font-weight: 400; justify-content: space-between; }
  .pool-navigation > summary > span { font-size: 20px; padding-right: 5px; }
  .pool-navigation[data-current="true"] > summary::after { display: none; }
  .pool-menu { position: static; width: auto; border: 0; box-shadow: none; background: transparent; padding: 11px 0 22px 23px; }
  .pool-menu .eyebrow { font-size: 7px; margin-bottom: 12px; }
  .pool-menu > a { font-family: var(--sans); font-size: 12px; padding-block: 12px; }
  .pool-menu .pool-menu-compare { font-size: 24px; padding-bottom: 16px; }
  .design-selection { top: 84px; gap: 20px; }
  .design-selection-actions { gap: 20px; }
  .design-selection-count { font-size: 11px; }
  .design-card h2 { font-size: 39px; }
  .design-card-copy > p { font-size: 12px; }
  .design-card-text { padding: 26px; }
  .design-card-text h2 { font-size: 37px; }
  .design-card-actions { display: block; }
  .design-card-actions .text-link { display: inline-flex; margin-top: 14px; }
  .design-bottom h2 { font-size: 56px; }
  .design-bottom .button { font-size: 8px; padding: 18px 21px; gap: 26px; }
  .comparison-tools { display: block; }
  .comparison-status { margin-top: 18px; max-width: none; }
  .comparison-table thead th { font-size: 30px; }
  .brief-design fieldset { gap: 12px 15px; }
  .brief-design label { font-size: 10px; }
}
@media (max-width: 700px) {
  .navigation { max-height: calc(100svh - 113px); }
  .pool-navigation > summary { font-size: 27px; padding-block: 12px; }
  .pool-menu { padding-left: 17px; }
  .pool-menu > a { font-size: 11px; }
  .pool-menu .pool-menu-compare { font-size: 25px; }
  .details-context { font-size: 10px; margin-top: 20px; }
  .design-selection { position: static; display: block; padding-block: 21px; }
  .design-selection .eyebrow { font-size: 7px; }
  .design-selection-count { font-size: 11px; }
  .design-selection-actions { justify-content: space-between; gap: 17px; margin-top: 19px; }
  .design-selection-actions .button { font-size: 7px; padding: 16px 18px; gap: 25px; }
  .design-selection .quiet-button { font-size: 8px; }
  .design-details-content { padding-top: 34px; }
  .design-details-grid { grid-template-columns: 1fr; gap: 38px; }
  .design-card { padding-bottom: 25px; }
  .design-card-image img { aspect-ratio: 1.17; }
  .design-card-copy { padding-top: 23px; }
  .design-card-top .eyebrow { font-size: 7px; }
  .design-card-top > span { font-size: 8px; }
  .design-card h2 { font-size: 42px; margin-top: 16px; }
  .design-card-copy > p { font-size: 13px; line-height: 1.95; margin-top: 21px; }
  .design-card li { font-size: 11px; padding-block: 8px; }
  .design-card ul { margin-block: 20px 23px; }
  .design-card-actions { display: flex; align-items: center; gap: 15px; }
  .topic-choice { min-width: 155px; font-size: 8px; padding-inline: 15px; gap: 21px; }
  .design-card-actions .text-link { margin-top: 0; font-size: 7px; gap: 14px; }
  .design-card-text { padding: 28px; }
  .design-card-text .design-card-actions { display: block; }
  .design-card-text .text-link { display: inline-flex; margin-top: 15px; }
  .design-card-text h2 { font-size: 41px; }
  .design-scope-note { font-size: 10px; margin-top: 32px; }
  .design-bottom { display: block; margin-top: 45px; padding-top: 43px; }
  .design-bottom h2 { font-size: 51px; }
  .design-bottom .button { margin-top: 27px; }
  .pool-intro-actions { gap: 20px 28px; margin-top: 25px; }
  .pool-intro-actions .button, .pool-intro-actions .text-link { font-size: 8px; }
  .comparison-tools { padding-block: 20px 24px; }
  .comparison-choices { gap: 9px; }
  .comparison-choices legend { font-size: 7px; margin-bottom: 15px; }
  .comparison-choices span { font-size: 10px; padding-inline: 15px; min-height: 46px; }
  .comparison-status { font-size: 9px; line-height: 1.9; margin-top: 17px; }
  .comparison-table th:first-child { width: 130px; min-width: 130px; font-size: 9px; }
  .comparison-table thead th { font-size: 28px; }
  .comparison-table td { font-size: 11px; min-width: 160px; }
  .comparison-next { font-size: 8px; gap: 18px; }
  .comparison-note { font-size: 9px; line-height: 1.9; }
  .brief-design { margin-bottom: 24px; }
  .brief-design > summary { font-size: 12px; padding-block: 19px; }
  .brief-design > summary > span:first-child { font-size: 8px; }
  .brief-design label { font-size: 11px; min-height: 38px; }
  .brief-design legend { font-size: 9px; }
  .brief-design .text-link { font-size: 8px; margin-top: 8px; }
  .story-resource { margin-top: 16px; }
  .story-resource .text-link { font-size: 8px; }
}
@media (max-width: 360px) {
  .design-selection-actions .button { font-size: 6.5px; padding-inline: 14px; gap: 18px; }
  .design-card h2 { font-size: 38px; }
  .design-card-actions { display: block; }
  .design-card-actions .text-link { display: inline-flex; margin-top: 14px; }
  .design-card-text { padding: 24px; }
  .design-card-text h2 { font-size: 37px; }
  .design-bottom h2 { font-size: 47px; }
  .comparison-choices { gap: 8px; }
  .comparison-choices span { font-size: 9px; padding-inline: 12px; }
  .brief-design fieldset { grid-template-columns: 1fr; gap: 10px; }
}

/* Shared-team social destinations: no embedded feeds or tracking scripts. */
.social-editorial{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;border-top:1px solid #d9d5c9}
.social-editorial p:not(.eyebrow){max-width:44ch;color:#526166}
.social-destinations a{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid #d9d5c9;text-decoration:none;color:#152f35}
.social-destinations a:first-child{border-top:1px solid #d9d5c9}
.social-destinations a:hover{color:#8a7043}
.social-destinations small{display:block;font-size:.74rem;line-height:1.6;color:#526166;margin-top:.4rem}
@media(max-width:700px){.social-editorial{grid-template-columns:1fr;gap:2rem}.social-destinations a{padding:1.3rem 0}}

#social-heading{scroll-margin-top:150px}

.company-brand{gap:16px;letter-spacing:0;flex-shrink:0}.company-brand img{width:116px;height:84px;object-fit:contain}.construction-label{font:9px/1.7 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#354e56;border-left:1px solid #c5cec9;padding-left:16px}.site-header .nav-wrap{min-height:116px}.site-footer .company-brand{background:#fff;border-radius:2px;padding:14px;max-width:265px}.site-footer .company-brand img{width:110px;height:80px}.aquarius-brand-link{display:block;background:white;padding:14px;margin-bottom:24px;max-width:240px}.aquarius-brand-link img{width:100%;height:auto}.aquarius-logo-card{display:block;padding:32px;background:white}.aquarius-logo-card img{width:100%;height:auto}.construction-split,.construction-paths{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.construction-split p,.construction-paths p{max-width:58ch}.construction-photo{margin:0}.construction-photo img{width:100%;height:auto;max-height:580px;object-fit:cover}.construction-photo figcaption{font-size:11px;line-height:1.7;color:#526166;padding-top:14px}.construction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.construction-grid h3{font-size:32px;margin-top:20px}.construction-grid p{max-width:54ch}.construction-resources{border-top:1px solid #c5cec9}.resource-row{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid #c5cec9;text-decoration:none;color:inherit;font-size:15px}.resource-row:hover{color:#8a7043}.consultation-context{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:40px;background:#eeeae0}.consultation-context label{display:block;font-size:12px;margin-bottom:12px}.consultation-context textarea{width:100%;resize:vertical;padding:18px;border:1px solid #9daaa9;font:13px/1.8 var(--sans);background:#f8f6f0;color:#152f35}.consultation-context [role=status]{font-size:12px}.request-section{scroll-margin-top:140px}.request-heading{display:flex;justify-content:space-between;gap:40px;align-items:center}.request-heading p{max-width:56ch}.request-heading>.text-link{flex-shrink:0}.request-choices{display:flex;gap:12px;margin:35px 0 24px;flex-wrap:wrap}.request-choices button{font:12px/1.6 var(--sans);padding:17px 23px;border:1px solid #9daaa9;background:transparent;color:#152f35;cursor:pointer;display:flex;gap:25px;justify-content:space-between}.request-choices button[aria-pressed=true]{background:#152f35;color:white;border-color:#152f35}.request-launch{background:#eeeae0;padding:48px}.request-launch h3{font-size:38px;line-height:1.1;margin:14px 0 20px}.request-launch>p{max-width:72ch}.request-host-note{font-size:12px;line-height:1.8;color:#526166;margin:24px 0}.hosted-request{border:1px solid #bbc6c4}.hosted-request-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#152f35;color:#fff;font-size:12px;padding:18px 24px}.hosted-request-bar a{color:white}.hosted-request iframe{display:block;width:100%;height:1050px;border:0;background:white}.hosted-request>.request-host-note{padding:0 24px}.request-status{font-size:12px;line-height:1.8}.request-section dialog{max-width:580px;width:calc(100% - 40px);padding:38px;background:#f8f6f0;border:1px solid #9daaa9;color:#152f35}.request-section dialog::backdrop{background:#122c35b0}.request-section dialog h2{font-size:36px}.request-section dialog .button-row{gap:20px;flex-wrap:wrap}.request-section [hidden]{display:none!important}
@media(max-width:1100px){.construction-label{display:none}.site-header .company-brand img{width:102px;height:74px}.site-header .nav-wrap{min-height:96px}.nav-wrap nav>a{font-size:10px}.aquarius-logo-card{padding:18px}}
@media(max-width:700px){.site-header .company-brand img{width:88px;height:64px}.site-header .nav-wrap{min-height:86px}.construction-split,.construction-paths,.consultation-context{grid-template-columns:1fr;gap:32px}.construction-grid{grid-template-columns:1fr;gap:30px}.construction-grid h3{font-size:29px}.consultation-context{padding:26px}.request-heading{display:block}.request-heading>.text-link{margin-top:20px}.request-choices{display:grid;grid-template-columns:1fr;gap:8px;margin:26px 0 18px}.request-choices button{padding:15px 18px}.request-launch{padding:28px}.request-launch h3{font-size:30px}.hosted-request-bar{align-items:start;flex-direction:column;gap:10px;padding:16px}.hosted-request iframe{height:850px}.request-section{scroll-margin-top:110px}.aquarius-logo-card{max-width:230px}.request-section dialog{padding:26px}.request-section dialog h2{font-size:30px}}

@media(max-width:960px){.navigation.is-open{max-height:calc(100svh - 145px)}}

.consultation-context[hidden]{display:none!important}

/* Iteration 07: clearer journeys and architectural page composition. */
:root{--header-height:104px;--section-offset:176px}
html{scroll-padding-top:var(--section-offset)}
body{font-size:15px}
[hidden]{display:none!important}
.button{min-height:48px;font-size:11px;line-height:1.6;letter-spacing:.075em}
.text-link{font-size:11px;line-height:1.7;letter-spacing:.07em;min-height:44px}
.quiet-button{min-height:44px;font-size:12px;line-height:1.7}
.eyebrow{font-size:10px;line-height:1.8}
.small,.handoff-note,.request-host-note{font-size:12px;line-height:1.8}
.site-header .nav-wrap{min-height:var(--header-height);position:relative}
.site-header .company-brand img{width:104px;height:76px}
.construction-label{font-size:9px;line-height:1.8}
.navigation{gap:28px;font-size:12px}
.navigation>a{font-size:12px}
.navigation .button{font-size:10px;padding:15px 19px;gap:21px;min-height:48px;margin-left:6px}
.nav-disclosure{position:static}
.nav-disclosure>summary{display:flex;gap:9px;align-items:center;list-style:none;cursor:pointer;font:500 12px/1.7 var(--sans);padding:18px 0;white-space:nowrap}
.nav-disclosure>summary::-webkit-details-marker{display:none}
.nav-disclosure>summary>span{font-size:15px;color:var(--brass);transition:transform .2s}
.nav-disclosure[open]>summary>span{transform:rotate(180deg)}
.nav-disclosure[data-current=true]>summary{color:#80673c}
.pool-navigation[data-current=true]>summary::after{display:none}
.visual-pool-menu{position:absolute;left:0;right:0;top:100%;width:auto;padding:30px;background:var(--paper);border:1px solid var(--line);box-shadow:0 24px 40px #102c3926}
.menu-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px}
.menu-heading .eyebrow{font-size:9px;margin:0 0 8px;color:var(--brass)}
.menu-heading strong{font:400 33px/1.05 var(--display);letter-spacing:-.025em}
.menu-heading>a{display:flex;gap:24px;align-items:center;font-size:12px;min-height:44px}
.menu-pool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.menu-pool-card{text-decoration:none;display:block;min-width:0}
.menu-pool-card img{width:100%;height:130px;object-fit:cover;transition:filter .25s}
.menu-pool-card:hover img{filter:brightness(.88)}
.menu-pool-card>span{display:flex;align-items:center;justify-content:space-between;font:400 29px/1.2 var(--display);margin-top:12px;letter-spacing:-.02em}
.menu-pool-card>span>span{font:18px var(--sans);color:var(--brass)}
.menu-pool-card small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:7px}
.visual-pool-menu>.menu-renovation-link{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);margin-top:25px;padding:20px 0 0;font-size:13px}
.menu-renovation-link small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.menu-renovation-link>span:last-child{display:flex;align-items:center;gap:24px;font-size:12px;color:var(--ink)}
.planning-menu{position:absolute;right:0;top:100%;width:440px;padding:27px 32px;background:var(--paper);border:1px solid var(--line);box-shadow:0 24px 40px #102c3926}
.planning-menu>.eyebrow{color:var(--brass);font-size:9px;margin-bottom:15px}
.planning-menu>a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:15px 0;border-top:1px solid var(--line);font-size:14px;text-decoration:none;min-height:70px}
.planning-menu small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:3px}
.planning-menu>a>span:last-child{font-size:20px;color:var(--brass)}
.mobile-menu-contact{display:none}
/* Home: three distinct ways into the same local team. */
.home-starting-points{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-starting-points>a{display:flex;align-items:start;gap:16px;padding:28px 28px 28px 0;text-decoration:none;min-width:0}
.home-starting-points>a+a{border-left:1px solid var(--line);padding-left:28px}
.starting-point-number{font-size:10px;color:var(--brass);padding-top:7px}
.home-starting-points h3{font-size:33px;line-height:1.1;letter-spacing:-.02em}
.home-starting-points p{font-size:12px;line-height:1.8;color:var(--muted);max-width:25ch;margin-top:10px}
.home-starting-points>a>span:last-child{color:var(--brass);font-size:23px;margin-left:auto;padding-top:2px}
.home-starting-points>a:hover h3{color:var(--brass)}
/* Pool pages: edge-to-edge photography, anchored chapters, and a quieter reading rhythm. */
.pool-detail-hero{display:grid;grid-template-columns:48% 52%;align-items:stretch;max-width:1800px;margin:0 auto 0}
.pool-hero-copy{padding:52px 8% 50px var(--gutter);align-self:center;min-width:0}
.pool-hero-copy h1{font-size:clamp(58px,5.5vw,87px);line-height:1.01;letter-spacing:-.04em;margin-top:25px}
.pool-hero-copy .page-lead{font-size:15px;line-height:1.85;max-width:48ch;margin-top:28px}
.pool-hero-copy .button-row{gap:24px;margin-top:30px;align-items:center;flex-wrap:wrap}
.pool-hero-copy .button{gap:28px;padding-inline:22px}
.pool-hero-copy .text-link{font-size:10px;gap:20px}
.pool-hero-fit{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;max-width:440px}
.pool-hero-fit .eyebrow{font-size:9px;color:var(--brass)}
.pool-hero-fit p{font-size:13px;line-height:1.8;margin-top:8px}
.pool-hero-figure{margin:0;position:relative;min-height:660px;background:#d2d9d1}
.pool-hero-figure>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.pool-hero-figure::after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#122f359c);pointer-events:none}
.pool-hero-figure figcaption{position:absolute;bottom:25px;left:28px;right:28px;z-index:1;color:white;display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.8;letter-spacing:.04em}
.page-outline{position:sticky;top:var(--header-height);z-index:15;background:var(--paper);border-block:1px solid var(--line)}
.page-outline>.container{display:flex;gap:35px;align-items:center;min-height:65px}
.outline-title{font:400 24px/1.1 var(--display);letter-spacing:-.02em;white-space:nowrap}
.outline-scroll{display:flex;gap:28px;align-items:stretch;overflow-x:auto;min-width:0;scrollbar-width:thin;flex:1}
.outline-scroll>a{white-space:nowrap;font-size:11px;line-height:1.7;padding:22px 0 19px;border-bottom:2px solid transparent;text-decoration:none;color:var(--muted)}
.outline-scroll>a[aria-current=location]{color:var(--ink);border-color:var(--brass)}
.outline-consult{white-space:nowrap;font-size:11px;display:flex;gap:25px;align-items:center;min-height:45px}
.pool-detail-hero~section[id]{scroll-margin-top:0}
.section-aside{max-width:30ch;font-size:14px;line-height:1.9;color:var(--muted)}
.pool-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:45px}
.pool-stage-grid>article{border-top:1px solid var(--line);padding-top:22px}
.pool-stage-grid .step-number{font-size:32px}
.pool-stage-grid h3{font-size:32px;margin-top:24px;line-height:1.15}
.pool-stage-grid p{font-size:14px;line-height:1.9;margin-top:17px;color:var(--muted)}
.pool-detail-feature{background:#e8e8de;position:relative;overflow:hidden}
.pool-detail-feature .construction-split{gap:8%}
.pool-detail-feature h2{font-size:clamp(45px,4.4vw,67px)}
.pool-detail-feature .construction-photo img{aspect-ratio:1.1;object-fit:cover}
.pool-detail-feature .construction-photo figcaption{font-size:11px}
.pool-resource-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.pool-resource-layout>div>p:not(.eyebrow){font-size:14px;line-height:1.95;max-width:48ch;margin-top:24px}
.pool-resource-layout .construction-resources{margin-top:16px}
.pool-resource-layout .resource-row{min-height:80px;align-items:center;font-size:14px}
.pool-inspiration{padding-top:20px}
.pool-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.pool-related-space{display:block;text-decoration:none;max-width:760px}
.pool-related-space>div{position:relative;overflow:hidden}
.pool-related-space img{width:100%;aspect-ratio:1.35;object-fit:cover;transition:transform .5s ease}
.pool-related-space:hover img{transform:scale(1.025)}
.pool-related-space>.eyebrow{display:block;margin-top:22px;font-size:10px;color:var(--brass)}
.pool-related-space h3{font-size:37px;line-height:1.12;margin-top:10px}
.pool-questions-section{background:var(--sand)}
.pool-questions-section .construction-split{align-items:start}
.pool-questions-section h2{font-size:clamp(44px,4.6vw,65px)}
.pool-questions-section p{font-size:14px;max-width:46ch}
.pool-questions-section .faq-list{border-top:1px solid #c0c6ba}
.pool-questions-section summary{font-size:18px;line-height:1.5;min-height:70px}
/* Request page: choose a project, then speak with the team. */
.consultation-intro{padding-top:65px;padding-bottom:56px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.1fr .9fr;gap:22px 9%;align-items:end}
.consultation-intro>.eyebrow{grid-column:1/-1;margin:0}
.consultation-intro>h1{font-size:clamp(58px,6.1vw,90px);line-height:.98;margin:0;grid-row:2/4}
.consultation-intro>.page-lead{font-size:15px;line-height:1.9;max-width:45ch;margin:0}
.consultation-intro-note{display:flex;gap:17px;align-items:center;font-size:11px;line-height:1.9;color:var(--muted)}
.consultation-intro-rule{height:1px;width:42px;background:var(--brass);flex-shrink:0}
.request-section{padding-top:55px;padding-bottom:70px}
.request-heading h2{font-size:clamp(39px,3.8vw,54px);line-height:1.02;margin-top:14px}
.request-heading .eyebrow{font-size:9px;color:var(--brass)}
.request-heading p:not(.eyebrow){font-size:14px;line-height:1.85;max-width:62ch;margin-top:18px}
.request-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:32px 0}
.request-choices>button{display:flex;flex-direction:column;text-align:left;gap:0;padding:24px;min-height:204px;position:relative;background:transparent;border:1px solid #b6beb0;transition:background .2s,border-color .2s,box-shadow .2s}
.request-choices>button:hover{border-color:var(--brass);box-shadow:0 5px 18px #102c390b}
.request-choices>button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.request-choice-top{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:10px;color:var(--brass);margin-bottom:27px}
.request-choice-mark{font-size:19px}
.request-choice-title{font:400 32px/1.15 var(--display);letter-spacing:-.025em}
.request-choice-copy{font-size:12px;line-height:1.8;margin-top:12px;color:var(--muted)}
.request-choice-state{font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin-top:24px;color:var(--brass);line-height:1.8}
.request-choices>button[aria-pressed=true] .request-choice-top,.request-choices>button[aria-pressed=true] .request-choice-state{color:#e5cf9e}
.request-choices>button[aria-pressed=true] .request-choice-copy{color:#d4ddda}
.request-launch{display:grid;grid-template-columns:1fr .8fr;gap:8%;padding:35px 38px;background:#eeebe2;border-left:3px solid var(--brass)}
.request-launch h3{font-size:36px;margin:15px 0}
.request-launch p{font-size:14px;line-height:1.9}
.request-launch .eyebrow{font-size:9px;color:var(--brass)}
.request-launch .request-host-note{font-size:11px;line-height:1.9;margin:0 0 20px}
.request-launch-action{display:flex;flex-direction:column;align-items:start;justify-content:center}
.request-launch-action .button{font-size:11px;gap:23px}
.request-call{font-size:12px;min-height:44px;display:flex;align-items:center;margin-top:12px}
.consultation-notes-jump{margin:0 0 28px}
.consultation-context{margin-bottom:70px;background:#eeebe2;gap:7%;padding:35px;scroll-margin-top:130px}
.consultation-context h2{font-size:45px;margin-top:15px}
.consultation-context p{font-size:13px;line-height:1.8}
.consultation-context textarea{background:var(--paper)}
.consultation-context .eyebrow{font-size:9px;color:var(--brass)}
/* Readable controls and captions throughout the existing collection. */
.design-card-copy>p{font-size:14px;line-height:1.9}
.design-card li{font-size:12px;line-height:1.85}
.design-card-actions .text-link{font-size:10px}
.topic-choice{font-size:11px;min-height:48px}
.gallery-filters .filter-button{font-size:12px;min-height:44px;padding:11px 20px}
.gallery-note{font-size:14px;line-height:1.9}
.gallery-count{font-size:12px}
.gallery-card-actions .text-link{font-size:11px}
.gallery-toolbar{border-block:1px solid var(--line);padding-block:22px}
.project-view{font-size:11px}
.mobile-project-action{display:none}
@media(max-width:1160px){.navigation{gap:20px}.navigation>a,.nav-disclosure>summary{font-size:11px}.navigation .button{font-size:9px;gap:15px;padding-inline:15px}.construction-label{display:none}.pool-hero-copy h1{font-size:64px}.pool-hero-copy{padding-right:7%}.outline-scroll{gap:22px}.page-outline>.container{gap:24px}.home-starting-points>a{padding-right:20px;gap:12px}.home-starting-points>a+a{padding-left:20px}.home-starting-points h3{font-size:29px}}
@media(max-width:960px){:root{--header-height:90px;--section-offset:160px}.site-header .company-brand img{width:100px;height:72px}.navigation{padding:20px 26px 28px;max-height:calc(100svh - 130px);overflow-y:auto;overscroll-behavior:contain}.navigation.is-open{max-height:calc(100svh - 130px)}.nav-is-open{overflow:hidden}.nav-disclosure{width:100%;border-bottom:1px solid var(--line)}.nav-disclosure>summary{font:400 29px/1.3 var(--display);padding:15px 0;justify-content:space-between}.nav-disclosure>summary>span{font:20px var(--sans)}.visual-pool-menu{position:static;padding:8px 0 24px;border:0;box-shadow:none;max-width:none;width:100%;background:transparent}.menu-heading{margin-bottom:8px}.menu-heading>div{display:none}.menu-heading>a{font-size:13px;width:100%;justify-content:space-between;border-bottom:1px solid var(--line);padding-block:10px}.menu-pool-grid{grid-template-columns:1fr;gap:0}.menu-pool-card{padding:14px 0;border-bottom:1px solid var(--line)}.menu-pool-card img{display:none}.menu-pool-card>span{font:500 15px/1.5 var(--sans);margin:0}.menu-pool-card small{font-size:12px;margin-top:5px;max-width:34ch}.visual-pool-menu>.menu-renovation-link{margin:0;border:0;padding:18px 0 0;display:block}.menu-renovation-link>span:first-child{display:none}.menu-renovation-link>span:last-child{justify-content:space-between;font-size:14px}.planning-menu{position:static;width:100%;padding:10px 0 24px;border:0;box-shadow:none}.planning-menu>.eyebrow{display:none}.planning-menu>a{font-size:15px;min-height:70px}.planning-menu>a:first-of-type{border-top:0}.planning-menu small{font-size:12px}.navigation>a{font-size:29px;line-height:1.3;padding-block:16px}.navigation>.button{font-size:11px;min-height:52px;padding:17px 20px;margin:24px 0 0;justify-content:space-between}.mobile-menu-contact{display:block;margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.mobile-menu-contact>span{display:block;font-size:11px;color:var(--muted)}.mobile-menu-contact>a{font-size:18px;display:inline-flex;align-items:center;min-height:44px}.pool-detail-hero{grid-template-columns:1fr 1fr}.pool-hero-copy h1{font-size:58px}.pool-hero-figure{min-height:650px}.pool-hero-copy .page-lead{font-size:14px}.pool-hero-copy .button-row{display:block}.pool-hero-copy .text-link{display:inline-flex;margin-top:14px}.pool-hero-fit{margin-top:22px}.outline-title{display:none}.outline-scroll{gap:27px}.outline-scroll>a{font-size:12px}.page-outline>.container{gap:25px}.pool-stage-grid{gap:28px}.pool-stage-grid h3{font-size:28px}.pool-stage-grid p{font-size:13px}.home-starting-points{grid-template-columns:1fr}.home-starting-points>a{padding:23px 0;gap:22px;align-items:center}.home-starting-points>a+a{padding-left:0;border-left:0;border-top:1px solid var(--line)}.home-starting-points h3{font-size:31px}.home-starting-points p{max-width:none;margin-top:5px;font-size:13px}.consultation-intro{gap:20px 7%}.consultation-intro>h1{font-size:64px}.request-launch{gap:30px;grid-template-columns:1fr .9fr;padding:30px}.request-choices>button{padding:22px;min-height:220px}.request-choice-title{font-size:29px}.request-choice-copy{font-size:12px}.request-heading>.text-link{font-size:10px;gap:20px}.consultation-context h2{font-size:39px}.pool-related-space h3{font-size:33px}}
@media(max-width:700px){:root{--header-height:80px;--section-offset:145px}body{font-size:14px}.section{padding-block:70px}.site-header .company-brand img{width:88px;height:64px}.site-header .nav-wrap{min-height:80px}.navigation,.navigation.is-open{max-height:calc(100svh - 122px)}.utility .container{font-size:8px;line-height:1.6}.button{font-size:11px;min-height:48px;padding:17px 21px;gap:25px}.text-link{font-size:10px;min-height:44px;gap:22px}.quiet-button{font-size:12px}.home-starting-points{margin-top:32px}.home-starting-points>a{gap:16px;padding:22px 0}.home-starting-points h3{font-size:30px}.home-starting-points p{font-size:12px;line-height:1.8}.starting-point-number{font-size:10px}.pool-detail-hero{grid-template-columns:1fr}.pool-hero-copy{padding:28px var(--gutter) 36px}.pool-hero-copy h1{font-size:clamp(48px,11vw,69px);line-height:1.02;margin-top:20px}.pool-hero-copy .eyebrow{font-size:9px;max-width:28ch}.pool-hero-copy .page-lead{font-size:14px;line-height:1.9;margin-top:23px}.pool-hero-copy .button-row{margin-top:25px;display:flex;gap:15px;align-items:center}.pool-hero-copy .text-link{margin-top:0}.pool-hero-copy .button{font-size:10px;padding-inline:18px;gap:21px}.pool-hero-fit{margin-top:25px;padding-top:17px;max-width:none}.pool-hero-fit p{font-size:12px}.pool-hero-figure{min-height:0;aspect-ratio:1.06}.pool-hero-figure figcaption{left:24px;right:24px;bottom:20px;font-size:9px;display:block}.pool-hero-figure figcaption>span{display:block}.page-outline>.container{min-height:58px;gap:0}.outline-scroll{gap:24px;margin-right:0;scroll-padding-inline:5px}.outline-scroll>a{font-size:11px;padding:18px 0 15px}.outline-consult{display:none}.section-aside{font-size:13px;max-width:45ch}.pool-overview .section-head{display:block}.pool-overview .section-head .section-aside{margin-top:24px}.pool-stage-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.pool-stage-grid>article{display:grid;grid-template-columns:42px 1fr;gap:10px 20px;padding-top:24px}.pool-stage-grid .step-number{grid-row:1/3;font-size:29px}.pool-stage-grid h3{font-size:30px;margin:0}.pool-stage-grid p{font-size:14px;margin:0}.pool-detail-feature .construction-split{gap:35px}.pool-detail-feature h2{font-size:46px}.pool-detail-feature .construction-photo img{aspect-ratio:1.05}.pool-detail-feature p{font-size:14px}.pool-resource-layout{grid-template-columns:1fr;gap:25px}.pool-resource-layout h2{font-size:47px}.pool-resource-layout>div>p:not(.eyebrow){font-size:14px;margin-top:20px}.pool-resource-layout .resource-row{font-size:13px;min-height:74px}.pool-inspiration{padding-top:8px}.pool-related-grid{grid-template-columns:1fr;gap:35px}.pool-related-space img{aspect-ratio:1.15}.pool-related-space>.eyebrow{font-size:9px;margin-top:18px}.pool-related-space h3{font-size:34px}.pool-questions-section h2{font-size:44px}.pool-questions-section .faq-list{margin-top:0}.pool-questions-section summary{font-size:17px;min-height:70px}.consultation-intro{display:block;padding-top:40px;padding-bottom:33px}.consultation-intro>.eyebrow{font-size:9px}.consultation-intro>h1{font-size:clamp(48px,11vw,65px);margin-top:24px;line-height:1.01}.consultation-intro>.page-lead{font-size:14px;margin-top:25px;max-width:44ch}.consultation-intro-note{font-size:10px;margin-top:23px;gap:15px}.consultation-intro-rule{width:30px}.request-section{padding-top:36px;padding-bottom:45px}.request-heading h2{font-size:44px}.request-heading p:not(.eyebrow){font-size:13px;margin-top:17px}.request-heading>.text-link{margin-top:15px;font-size:10px}.request-choices{grid-template-columns:1fr;gap:10px;margin:25px 0}.request-choices>button{display:grid;grid-template-columns:34px 1fr;min-height:0;gap:5px 15px;padding:20px}.request-choice-top{grid-column:1;grid-row:1/4;display:block;margin:2px 0 0}.request-choice-mark{display:none}.request-choice-title{font-size:28px}.request-choice-copy{font-size:12px;margin:0}.request-choice-state{font-size:9px;margin:4px 0 0}.request-launch{display:block;padding:26px}.request-launch h3{font-size:32px}.request-launch p{font-size:13px}.request-launch .request-host-note{font-size:11px;margin:22px 0 18px}.request-launch-action .button{font-size:10px;padding:16px 18px;gap:20px}.request-call{font-size:11px}.consultation-context{padding:26px;margin-bottom:45px;gap:25px}.consultation-context h2{font-size:39px}.consultation-context p{font-size:13px}.design-card-copy>p{font-size:14px}.design-card li{font-size:12px}.design-card-actions .text-link{font-size:10px}.design-card-actions{align-items:start}.topic-choice{font-size:11px;min-width:170px;min-height:48px}.gallery-filters{gap:8px}.gallery-filters .filter-button{font-size:11px;min-height:44px;padding:10px 16px}.gallery-note{font-size:14px}.gallery-card-actions .text-link{font-size:10px}.gallery-toolbar{padding-block:18px}.mobile-project-action{position:fixed;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:.8fr 1.2fr;background:var(--paper);border:1px solid #b7b5a4;box-shadow:0 4px 24px #132d3533;padding:6px;gap:5px}.mobile-project-action>a{display:flex;gap:14px;align-items:center;justify-content:center;min-height:47px;padding:11px 12px;font-size:11px;line-height:1.5;text-decoration:none}.mobile-project-action>a:last-child{background:var(--ink);color:var(--paper)}.page-pools .design-bottom .button{min-height:48px}.site-footer{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.nav-disclosure>summary>span,.menu-pool-card img,.pool-related-space img,.request-choices>button{transition:none}.pool-related-space:hover img{transform:none}}

.request-section,.consultation-context{scroll-margin-top:0}
.pool-related-grid:has(>a:only-child){grid-template-columns:minmax(0,760px);justify-content:center}
.footer-grid p{font-size:12px;line-height:1.9}
.footer-grid h2{font:600 11px/1.7 var(--sans);letter-spacing:.12em}
.footer-grid>div>a:not(.brand):not(.aquarius-brand-link){font-size:12px;line-height:1.8;min-height:40px;display:flex;align-items:center}
.footer-grid>div>.footer-phone{font-size:34px!important;line-height:1.3}
.footer-bottom{font-size:11px;line-height:1.9}
.footer-bottom>a{min-height:44px;display:inline-flex;align-items:center}

.analytics-banner{position:fixed;left:24px;right:24px;bottom:max(20px,env(safe-area-inset-bottom));max-width:1100px;margin:auto;z-index:70;background:var(--paper);color:var(--ink);padding:25px 30px;border:1px solid #a5ad9d;box-shadow:0 8px 40px #102c3930;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.analytics-banner h2{font-size:30px;margin:0}.analytics-banner p{font-size:12px;line-height:1.8;max-width:76ch;margin-top:10px}.analytics-banner a{text-decoration:underline}.analytics-actions{display:flex;flex-direction:column;gap:12px;min-width:205px}.analytics-actions .button{background:transparent;color:var(--ink);border:1px solid #7f8c81;min-height:48px;font-size:10px;justify-content:center;padding:14px 20px}.analytics-actions .button:hover{background:var(--ink);color:var(--paper)}.analytics-choice-state{color:var(--muted);font-size:11px!important}.footer-bottom .privacy-open{color:inherit;font-size:11px;min-height:44px;padding:0;background:none;border:0;cursor:pointer}.privacy-content{max-width:900px;padding-top:0}.privacy-content article+article{border-top:1px solid var(--line);padding-top:45px;margin-top:45px}.privacy-content h2{font-size:42px;margin-bottom:25px}.privacy-content p{font-size:15px;line-height:1.95;margin:20px 0}.privacy-content a{text-decoration:underline}.privacy-settings{padding:25px;background:var(--sand);margin-top:25px}.privacy-settings .button{background:transparent;color:var(--ink);min-height:48px;border-color:#7f8c81}.privacy-settings .button:hover{background:var(--ink);color:white}.request-confirmed{padding:20px;border:1px solid #66866f;background:#edf2e8;font-size:14px!important}
@media(max-width:700px){.analytics-banner{left:12px;right:12px;bottom:12px;padding:22px;display:block;max-height:calc(100svh - 48px);overflow:auto}.analytics-banner h2{font-size:28px}.analytics-banner p{font-size:12px}.analytics-actions{display:grid;grid-template-columns:1fr 1fr;min-width:0;gap:10px;margin-top:20px}.analytics-actions .button{font-size:9px;padding:13px 10px;letter-spacing:.03em}.privacy-content h2{font-size:35px}.privacy-content p{font-size:14px}.privacy-settings{padding:20px}.privacy-settings .button-row{display:grid;grid-template-columns:1fr;gap:12px}}
@media(max-width:700px){.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px}}

.policy-content { max-width: 900px; padding-top: 0; }
.policy-content article + article { border-top: 1px solid var(--line); padding-top: 38px; margin-top: 38px; }
.policy-content h2 { font-size: clamp(28px,3vw,38px); line-height: 1.25; margin-bottom: 20px; }
.policy-content p { margin-block: 18px; }
.policy-content ul { padding-left: 24px; margin-block: 18px; }
.policy-content li { font-size: 17px; line-height: 1.75; margin-block: 10px; }
.policy-content a { text-decoration: underline; overflow-wrap: anywhere; }
.privacy-summary { background: var(--sand); border-left: 3px solid var(--brass); padding: 28px; margin-bottom: 38px; }
#main .policy-date { font-size: 14px; color: var(--muted); margin-top: 22px; }
.analytics-banner p { font-size: 15px; line-height: 1.7; }
.analytics-banner h2 { font-size: 28px; }
.analytics-actions .button { font-size: 14px; letter-spacing: 0; }
.analytics-choice-state { font-size: 14px !important; }
.analytics-actions .button:disabled, .privacy-settings .button:disabled { opacity: .6; cursor: not-allowed; }
.footer-bottom { flex-wrap: wrap; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.footer-legal a { min-height: 44px; font-size: 13px; }
.site-breadcrumbs { padding-block: 22px 0; font-size: 14px; line-height: 1.6; }
.site-breadcrumbs ol { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; list-style: none; padding: 0; margin: 0; }
.site-breadcrumbs li + li::before { content: '/'; margin-right: 14px; color: var(--muted); }
.site-breadcrumbs a { display: inline-flex; min-height: 36px; align-items: center; text-decoration: underline; }
@media(max-width:1100px) {
 .no-js .site-header { position: static; }
 .no-js .nav-wrap { flex-wrap: wrap; }
 .no-js .menu-toggle { display: none; }
 .no-js .navigation { display: flex; position: static; flex: 1 0 100%; flex-direction: column; max-height: none; padding: 8px 0 20px; }
}
@media(max-width:700px) {
 .privacy-summary { padding: 23px; }
 .analytics-actions { grid-template-columns: 1fr; }
 .analytics-banner .analytics-actions .button { font-size: 14px; }
 .site-breadcrumbs { padding-top: 14px; }
}

.policy-intro.page-intro { max-width: 800px; padding-block: 42px 38px; }
.policy-intro.page-intro h1 { font-size: clamp(38px,4vw,56px); line-height: 1.2; }
.policy-content { max-width: 800px; }
@media(max-width:700px) { .policy-intro.page-intro { padding-block: 30px 32px; } }

/* A quiet, shared presentation system for the Burton Pools collection. */
:root {
  --ink: #22322f;
  --ink-light: #344540;
  --paper: #fffefa;
  --sand: #f5f4ee;
  --line: #dedfd7;
  --muted: #626c66;
  --brass: #756c55;
  --blue: #edeadf;
  --header-height: 92px;
  --section-offset: 116px;
}
body { background: var(--paper); font-size: 15px; }
h1, h2, h3 { letter-spacing: -.035em; }
h2, .section-head h2 { font-size: clamp(42px, 4.4vw, 66px); line-height: 1.07; }
p { line-height: 1.85; }
.section { padding-block: 100px; }
.section-topless { padding-top: 0; }
.section-head { margin-bottom: 44px; }
.eyebrow { color: var(--muted); font-size: 11px; letter-spacing: .1em; }
.button, .text-link, .quiet-button {
  font-size: 13px; letter-spacing: .015em; text-transform: none;
}
.button { background: var(--ink); border: 1px solid var(--ink); color: var(--paper); padding: 16px 24px; min-height: 52px; gap: 28px; }
.button:hover { background: #3c4d45; border-color: #3c4d45; color: white; }
.button > span, .text-link > span { font-size: 18px; }
.text-link { gap: 22px; border-color: #a4aaa0; }
.text-link:hover { gap: 22px; }
.site-header { background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: none; }
.site-header .nav-wrap { min-height: var(--header-height); }
.site-header .company-brand img { width: 98px; height: 71px; }
.navigation { gap: 34px; }
.navigation > a, .nav-wrap nav > a { font-size: 13px; }
.navigation .button { background: var(--ink); border-color: var(--ink); color: var(--paper); padding: 13px 22px; font-size: 12px; margin-left: 14px; }
.navigation > a[aria-current=page]::after { background: var(--ink); }
.hero-editorial {
  height: min(780px, calc(100svh - var(--header-height))); min-height: 610px;
  background: var(--sand); color: var(--ink); align-items: center;
}
.hero-editorial .hero-image { left: 48%; }
.hero-editorial .hero-image img { object-position: 57% center; }
.hero-editorial .hero-image::after { display: none; }
.hero-editorial .hero-content { padding-block: 80px; }
.hero-editorial .eyebrow { font-size: 11px; color: var(--muted); letter-spacing: .07em; max-width: 40%; }
.hero-editorial h1 { font-size: clamp(68px, 6.6vw, 104px); line-height: .98; margin-top: 30px; max-width: 46%; }
.hero-editorial h1 em { line-height: 1.08; }
.hero-editorial .hero-copy { color: var(--muted); max-width: 31ch; font-size: 15px; line-height: 1.85; margin-top: 28px; }
.hero-editorial .button-row { margin-top: 32px; }
.hero-editorial .button-light { background: var(--ink); color: var(--paper); border-color: var(--ink); font-size: 13px; }
.intro-editorial { grid-template-columns: 1.1fr 1fr; align-items: center; gap: 10%; padding-block: 110px; }
.intro-editorial h2 { font-size: clamp(42px, 4.5vw, 66px); }
.intro-editorial .intro-copy { padding-top: 0; font-size: 15px; }
.selected-work { background: var(--paper); padding-top: 0; }
.selected-grid { grid-template-columns: 1.2fr 1fr; gap: 6%; }
.selected-project-tall { margin-top: 70px; }
.selected-image img { aspect-ratio: 1.25; }
.selected-project-tall .selected-image img { aspect-ratio: 1.04; }
.selected-caption { padding-top: 18px; align-items: center; }
.selected-caption h3 { font-size: 30px; margin-top: 0; }
.selected-caption > span { font-size: 12px; }
.pool-collection { border-top: 1px solid var(--line); padding-block: 100px; }
.collection-layout { grid-template-columns: .7fr 1.5fr; gap: 9%; }
.collection-intro { font-size: 14px; margin-bottom: 24px; }
.collection-tabs [role=tab] { font-size: 34px; padding-block: 23px; color: var(--muted); }
.collection-tabs [aria-selected=true] { color: var(--ink); }
.collection-tab-arrow, .collection-tabs [aria-selected=true] .collection-tab-arrow { color: var(--ink); }
.collection-image-label, .collection-photo::after { display: none; }
.collection-description { display: block; margin-top: 22px; }
.collection-description h3 { font-size: 30px; }
.collection-description p { font-size: 14px; max-width: 60ch; margin-top: 13px; }
.collection-description .text-link { font-size: 13px; margin-top: 12px; }
.renovation-story { background: var(--sand); color: var(--ink); }
.renovation-image { width: 48%; z-index: -1; }
.renovation-image::after { display: none; }
.renovation-story-inner { min-height: 470px; padding-block: 80px; }
.renovation-story-copy { width: 46%; max-width: none; }
.renovation-story h2 { font-size: clamp(42px, 4.2vw, 62px); }
.renovation-story-copy > p:not(.eyebrow) { font-size: 14px; color: var(--muted); }
.renovation-story .text-link { color: var(--ink); border-color: #a4aaa0; }
.process-home .section-head { margin-bottom: 42px; }
.process-steps { gap: 50px; }
.process-steps .step-number { font: 12px var(--sans); color: var(--muted); margin-bottom: 22px; }
.process-steps h3 { font-size: 32px; }
.process-steps p { font-size: 14px; }
.aquarius-section { background: var(--paper); border-top: 1px solid var(--line); padding-block: 80px; }
.aquarius-inner { grid-template-columns: .55fr 1.2fr .85fr; gap: 7%; }
.aquarius-logo-card { padding: 0; background: transparent; }
.aquarius-inner h2 { font-size: 44px; }
.aquarius-inner p:not(.eyebrow) { font-size: 14px; }
.aquarius-links a { font-size: 13px; }
.aquarius-links a > span { color: var(--ink); font-size: 18px; }
.closing { background: var(--sand); color: var(--ink); padding-block: 85px; }
.closing::after, .story-frame::before { display: none; }
.closing h2 { font-size: clamp(48px, 5.1vw, 74px); line-height: 1.05; }
.closing p:not(.eyebrow) { color: var(--muted); font-size: 14px; max-width: 48ch; margin-top: 22px; }
.closing .button { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.closing .button:hover { background: #3c4d45; border-color: #3c4d45; color: white; }
.site-footer { background: var(--paper); color: var(--ink); padding-top: 70px; }
.footer-grid { grid-template-columns: 1.2fr .7fr .8fr 1.2fr; gap: 5%; }
.site-footer .company-brand { background: transparent; padding: 0; max-width: none; }
.site-footer .company-brand img { width: 98px; height: 71px; }
.footer-grid > div > h2 { color: var(--muted); font-size: 11px; text-transform: none; letter-spacing: .04em; margin-bottom: 18px; }
.footer-grid p, .footer-grid .muted { color: var(--muted); font-size: 13px; }
.footer-grid > div > a:not(.brand):not(.aquarius-brand-link) { color: var(--ink); font-size: 13px; min-height: 36px; }
.footer-grid > div > .footer-phone { font-size: 29px !important; }
.footer-bottom { color: var(--muted); border-color: var(--line); display: flex; gap: 24px; align-items: center; margin-top: 48px; font-size: 11px; }
.footer-bottom a, .footer-bottom .quiet-button { color: var(--muted); font-size: 11px; }
.footer-social { display: flex; gap: 24px; margin-left: auto; }
.page-intro { padding-block: 80px 64px; }
.page-intro h1 { font-size: clamp(56px, 6.5vw, 92px); line-height: 1.04; }
.page-lead { font-size: 16px; max-width: 60ch; }
.breadcrumbs { font-size: 12px; }
.page-outline { position: static; background: var(--paper); }
.outline-title, .outline-consult { display: none; }
.outline-scroll > a { font-size: 13px; }
.pool-hero-copy h1 { font-size: clamp(48px, 4.8vw, 72px); line-height: 1.07; }
.pool-hero-copy .page-lead { font-size: 15px; }
.pool-hero-figure { min-height: 580px; }
.pool-hero-fit { margin-top: 28px; }
.pool-hero-fit p { font-size: 14px; }
.pool-hero-figure::after { display: none; }
.pool-hero-figure figcaption { background: var(--paper); color: var(--muted); left: 0; right: 0; bottom: 0; padding: 12px 20px; font-size: 11px; }
.pool-detail-feature, .pool-questions-section, .story-related, .bg-sand { background: var(--sand); }
.pool-stage-grid p, .pool-resource-layout > div > p:not(.eyebrow), .story-intro, .story-features p { font-size: 15px; }
.pool-stage-grid .step-number { font: 12px var(--sans); margin-bottom: 22px; color: var(--muted); }
.pool-stage-grid h3 { font-size: 30px; margin-top: 0; }
.pool-detail-feature h2, .pool-questions-section h2 { font-size: clamp(42px, 4vw, 60px); }
.story-frame figcaption { font-size: 11px; text-transform: none; letter-spacing: 0; }
.story-features article { grid-template-columns: 1fr; gap: 0; }
.feature-index { display: none; }
.story-facts dt { font-size: 11px; }
.story-facts dd { font-size: 13px; }
.gallery-toolbar { border-top: 0; }
.gallery-filters .filter-button { border: 0; border-bottom: 1px solid transparent; background: transparent; border-radius: 0; padding: 10px 0; margin-right: 22px; font-size: 13px; color: var(--muted); }
.gallery-filters .filter-button[aria-pressed=true] { border-color: var(--ink); color: var(--ink); }
.gallery-count { font-size: 12px; text-transform: none; letter-spacing: 0; }
.gallery-label h2 { font-size: 34px; }
.gallery-label > span, .gallery-note, .gallery-card-actions .text-link { font-size: 13px; }
.design-selection { position: static; background: transparent; border-inline: 0; box-shadow: none; padding-inline: 0; }
.design-card { border: 0; background: transparent; }
.design-card-copy { padding: 28px 0 10px; }
.design-card-copy > p { font-size: 15px; }
.design-card li { font-size: 13px; }
.design-card-top > span { display: none; }
.design-card-actions .text-link, .topic-choice { font-size: 12px; }
.consultation-intro { gap: 20px 8%; }
.consultation-intro > h1 { font-size: clamp(54px, 5.5vw, 80px); }
.consultation-intro-note { display: none; }
.request-heading h2 { font-size: 42px; }
.request-heading .eyebrow, .request-launch-content .eyebrow { display: none; }
.request-choices { gap: 0; border-bottom: 1px solid var(--line); margin-block: 30px; }
.request-choices > button { display: block; padding: 19px 22px; min-height: 74px; border: 0; border-bottom: 2px solid transparent; background: transparent; box-shadow: none; }
.request-choices > button:hover { background: var(--sand); box-shadow: none; }
.request-choices > button[aria-pressed=true] { background: var(--sand); color: var(--ink); border-color: var(--ink); }
.request-choice-title { font-size: 28px; }
.request-choice-top, .request-choice-copy, .request-choice-state { display: none; }
.request-launch { background: var(--sand); border: 0; padding: 32px; }
.request-launch h3 { font-size: 32px; }
.request-launch .request-host-note { font-size: 12px; }
.contact-layout-refined { grid-template-columns: 1.15fr 1fr; gap: 12%; }
.contact-conversation .contact-details { margin-top: 0; }
.brief-disclosure { border-block: 1px solid var(--line); }
.brief-disclosure > summary { display: flex; justify-content: space-between; gap: 24px; align-items: center; list-style: none; padding-block: 26px; cursor: pointer; }
.brief-disclosure > summary::-webkit-details-marker { display: none; }
.brief-disclosure > summary > span:last-child { font-size: 25px; transition: transform .2s; }
.brief-disclosure[open] > summary > span:last-child { transform: rotate(45deg); }
.brief-disclosure-title { display: block; font: 38px/1.15 var(--display); margin-top: 12px; }
.brief-disclosure-body { padding-bottom: 24px; }
.brief-disclosure-body .brief-intro { margin-top: 0; max-width: 48ch; font-size: 14px; }
.brief-fields label, .brief-output > label, .brief-priorities legend { font-size: 11px; text-transform: none; letter-spacing: .015em; }
.brief-priorities span, .brief-output textarea { font-size: 13px; }
.brief-fields select { font-size: 14px; }
.brief-output textarea { background: var(--sand); }
.brief-copy-row .button { font-size: 13px; }
.contact-first-actions .button, .pool-intro-actions .button,
.pool-hero-copy .button, .story-copy > .button, .detail-hero .button,
.request-launch-action .button { font-size: 13px; }
.request-heading > .text-link { font-size: 13px; }
.contact-conversation .contact-details .text-link,
.contact-conversation .contact-details p,
.contact-conversation .contact-details .small { font-size: 13px; }

@media (max-width: 1100px) {
  .navigation { gap: 24px; }
  .hero-editorial h1 { font-size: 76px; }
  .hero-editorial .hero-copy { max-width: 29ch; font-size: 14px; }
  .aquarius-inner { grid-template-columns: .6fr 1.4fr; }
  .aquarius-links { grid-column: 2; }
}
@media (max-width: 960px) {
  :root { --header-height: 84px; --section-offset: 108px; }
  .site-header .company-brand img { width: 90px; height: 65px; }
  .menu-toggle { min-height: 44px; border: 0; padding-right: 0; font-size: 13px; }
  .navigation, .navigation.is-open { max-height: calc(100svh - 84px); padding: 15px 28px 28px; box-shadow: none; }
  .navigation > a:not(.button), .nav-wrap nav > a:not(.button) { font: 30px/1.4 var(--display); padding-block: 15px; }
  .navigation .button { font-size: 13px; margin: 24px 0 0; padding: 16px 24px; align-self: stretch; justify-content: center; }
  .mobile-menu-contact { margin-top: 20px; padding-top: 12px; }
  .hero-editorial { min-height: 560px; }
  .hero-editorial h1 { font-size: 64px; }
  .hero-editorial .eyebrow { max-width: 36%; font-size: 10px; }
  .hero-editorial .hero-copy { max-width: 25ch; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 10%; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: auto; }
  .footer-grid > div:last-child { border: 0; padding-top: 0; }
  .aquarius-inner h2 { font-size: 42px; }
  .collection-layout { gap: 6%; }
  .collection-tabs [role=tab] { font-size: 28px; }
}
@media (max-width: 700px) {
  :root { --gutter: 24px; --header-height: 78px; --section-offset: 100px; }
  .site-header .nav-wrap { min-height: 78px; }
  .site-header .company-brand img { width: 84px; height: 61px; }
  .section { padding-block: 64px; }
  .section-topless { padding-top: 0; }
  .section-head { margin-bottom: 30px; }
  h2, .section-head h2 { font-size: 42px; }
  .eyebrow { font-size: 10px; }
  .button, .text-link { font-size: 13px; }
  .hero-editorial { height: auto; max-height: none; min-height: 0; display: flex; flex-direction: column; align-items: stretch; }
  .hero-editorial .hero-image { position: relative; inset: auto; width: 100%; aspect-ratio: 1.24; order: 2; }
  .hero-editorial .hero-image img { height: 100%; object-position: 55% center; }
  .hero-editorial .hero-content { padding-block: 48px 52px; order: 1; }
  .hero-editorial .eyebrow { max-width: none; font-size: 10px; }
  .hero-editorial h1 { font-size: clamp(57px, 15vw, 78px); max-width: none; margin-top: 23px; line-height: 1; }
  .hero-editorial .hero-copy { font-size: 14px; max-width: 34ch; margin-top: 22px; }
  .hero-editorial .button-row { margin-top: 25px; }
  .hero-editorial .button { font-size: 13px; padding: 15px 22px; }
  .intro-editorial { grid-template-columns: 1fr; gap: 28px; padding-block: 64px; }
  .intro-editorial h2 { font-size: 44px; }
  .intro-editorial .intro-copy { font-size: 14px; }
  .selected-work { padding-top: 0; }
  .selected-grid { grid-template-columns: 1fr; gap: 34px; }
  .selected-project-tall { margin-top: 0; }
  .selected-project-tall .selected-image img, .selected-image img { aspect-ratio: 1.15; }
  .selected-caption h3 { font-size: 29px; }
  .selected-caption > span { font-size: 11px; }
  .pool-collection { padding-block: 64px; }
  .collection-layout { grid-template-columns: 1fr; gap: 24px; }
  .collection-intro { font-size: 14px; }
  .collection-tabs { gap: 20px; }
  .collection-tabs [role=tab] { font-size: 23px; padding-block: 16px; gap: 0; }
  .collection-photo img { aspect-ratio: 1.18; }
  .collection-description h3 { font-size: 28px; }
  .collection-description p { font-size: 14px; }
  .renovation-story { display: flex; flex-direction: column; }
  .renovation-image { position: relative; width: 100%; aspect-ratio: 1.35; order: 2; }
  .renovation-story-inner { min-height: 0; padding-block: 56px; }
  .renovation-story-copy { width: 100%; }
  .renovation-story h2 { font-size: 42px; }
  .renovation-story-copy > p:not(.eyebrow) { font-size: 14px; }
  .process-steps { gap: 28px; }
  .process-steps .step-number { margin-bottom: 14px; }
  .process-steps p { font-size: 14px; max-width: none; }
  .aquarius-section { padding-block: 56px; }
  .aquarius-inner { grid-template-columns: 1fr; gap: 28px; }
  .aquarius-logo-card { max-width: 180px; }
  .aquarius-links { grid-column: auto; }
  .aquarius-inner h2 { font-size: 40px; }
  .closing { padding-block: 58px; }
  .closing h2 { font-size: 46px; }
  .closing .button { margin-top: 28px; }
  .site-footer { padding-top: 50px; padding-bottom: 0; }
  .footer-grid { gap: 32px 24px; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1/-1; }
  .footer-grid > div > a:not(.brand):not(.aquarius-brand-link) { font-size: 13px; min-height: 40px; }
  .footer-bottom { flex-wrap: wrap; justify-content: start; gap: 6px 22px; margin-top: 32px; padding-block: 24px; }
  .footer-bottom > span { width: 100%; }
  .footer-social { margin: 0; gap: 22px; width: 100%; }
  .footer-social a { min-height: 40px; display: inline-flex; align-items: center; }
  .page-intro { padding-block: 48px 42px; }
  .page-intro h1 { font-size: clamp(48px, 12vw, 66px); }
  .page-lead { font-size: 15px; margin-top: 24px; }
  .pool-detail-hero { grid-template-columns: 1fr; }
  .pool-hero-copy { padding: 28px var(--gutter) 40px; }
  .pool-hero-copy h1 { font-size: 48px; }
  .pool-hero-figure { min-height: 0; aspect-ratio: 1.05; }
  .pool-hero-figure figcaption { font-size: 10px; }
  .outline-scroll { gap: 23px; }
  .outline-scroll > a { font-size: 12px; }
  .pool-stage-grid { gap: 26px; }
  .pool-stage-grid > article { grid-template-columns: 1fr; gap: 0; }
  .pool-stage-grid .step-number { grid-row: auto; font-size: 12px; margin-bottom: 16px; }
  .pool-stage-grid h3 { font-size: 29px; margin-bottom: 13px; }
  .pool-stage-grid p { font-size: 14px; }
  .pool-detail-feature h2, .pool-questions-section h2 { font-size: 42px; }
  .gallery-filters { gap: 14px; }
  .gallery-filters .filter-button { margin-right: 0; font-size: 12px; }
  .design-card-copy { padding: 23px 0; }
  .design-card-copy > p { font-size: 14px; }
  .design-selection { flex-wrap: wrap; gap: 18px; }
  .request-choices { grid-template-columns: 1fr; border-top: 1px solid var(--line); }
  .request-choices > button { min-height: 64px; padding: 16px; border-bottom: 1px solid var(--line); }
  .request-choice-title { font-size: 27px; }
  .request-launch { padding: 24px; }
  .request-launch h3 { font-size: 30px; }
  .request-heading h2 { font-size: 36px; }
  .consultation-intro > h1 { font-size: 52px; }
  .contact-layout-refined { grid-template-columns: 1fr; gap: 42px; }
  .brief-disclosure-title { font-size: 33px; }
  .brief-disclosure > summary { padding-block: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .brief-disclosure > summary > span:last-child { transition: none; }
}

/* Local resources use the same restrained materials as the project collection. */
:root{--muted:#4d6267}
.community-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center;padding-block:70px 80px}
.community-hero h1{font-size:clamp(56px,6.8vw,100px);line-height:1;letter-spacing:-.04em;margin:22px 0 28px}
.community-hero .page-lead{max-width:46ch;font-size:16px;line-height:1.9}
.community-hero .button{margin-top:30px}
.community-hero figure{margin:0;align-self:stretch;min-width:0}
.community-hero img{width:100%;height:100%;max-height:540px;object-fit:cover}
.community-hero figcaption{font-size:11px;margin-top:12px;color:var(--muted)}
.local-contact-band{background:var(--ink);color:var(--paper);padding:26px 0}
.local-contact-band>.container{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:13px;line-height:1.9}
.local-contact-band strong{display:block;color:#e2d2ae;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.local-contact-band a{color:inherit;display:flex;align-items:center;gap:26px;min-height:44px}
.community-planning,.community-questions,.community-assistance{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}
.community-planning>div>p:not(.eyebrow),.community-assistance p:not(.eyebrow){font-size:16px;line-height:1.9;margin:24px 0;max-width:48ch}
.community-checklist article{display:grid;grid-template-columns:28px 1fr;gap:24px;border-top:1px solid var(--line);padding:25px 0}
.community-checklist article>span{font-size:11px;color:#7a6138;padding-top:9px}
.community-checklist h3{font-size:33px;line-height:1.15}
.community-checklist p{font-size:15px;line-height:1.9;color:var(--muted);margin-top:12px}
.community-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.community-resource-grid>a{position:relative;display:block;padding:32px 26px 62px;border-top:1px solid #8b9d95;background:var(--paper);text-decoration:none;transition:background .2s}
.community-resource-grid>a:hover{background:#e7e6d9}
.community-resource-grid h3{font-size:35px;line-height:1.12;margin:22px 0}
.community-resource-grid p{font-size:14px;line-height:1.9;max-width:32ch}
.resource-arrow{position:absolute;right:26px;bottom:24px;font-size:24px;color:#7a6138}
.community-questions .faq-list{margin-top:0}
.community-contact-options{border-top:1px solid var(--line)}
.community-contact-options>a{display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.8;text-decoration:none;overflow-wrap:anywhere}
.community-contact-options small{display:block;font-size:12px;color:var(--muted);margin-top:5px}
.community-assistance{border-top:1px solid var(--line)}
.home-local-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.home-local-photo{position:relative;margin:0}
.home-local-photo img{width:100%;height:auto;aspect-ratio:1.12;object-fit:cover}
.home-local-photo figcaption{font-size:11px;color:var(--muted);margin-top:12px}
.home-local-section p:not(.eyebrow){font-size:16px;line-height:1.9;margin:25px 0;max-width:45ch}
.local-proof{display:flex;justify-content:space-between;gap:25px;padding:25px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.local-proof strong{display:block;font-size:15px;font-weight:500;color:var(--ink);margin-bottom:4px}
.hosted-request{background:var(--paper)}
.hosted-request iframe{height:1200px;background:var(--paper);overflow:hidden}
.hosted-request-bar{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);font-size:13px}
.hosted-request-bar a{color:var(--ink);min-height:44px;display:flex;align-items:center}
.request-host-note a{text-decoration:underline}
.request-section{scroll-margin-top:130px}
.request-launch-copy{font-size:16px}
@media(max-width:800px){.community-hero{grid-template-columns:1fr;gap:35px;padding-block:40px 55px}.community-hero h1{font-size:clamp(48px,12vw,78px)}.community-hero figure{max-height:none}.community-hero img{aspect-ratio:1.2;max-height:none;height:auto}.local-contact-band>.container{align-items:start;flex-wrap:wrap;gap:15px 28px}.local-contact-band>.container>span{flex-basis:100%}.community-planning,.community-questions,.community-assistance,.home-local-section{grid-template-columns:1fr;gap:36px}.community-resource-grid{grid-template-columns:1fr;gap:18px}.community-resource-grid>a{padding:28px 25px 58px}.community-resource-grid h3{font-size:34px}.community-resource-grid h3 br{display:none}.community-resource-grid h3 br:after{content:' '}.community-checklist article{gap:18px}.community-checklist p{font-size:15px}.community-contact-options>a{font-size:15px}.local-proof{flex-wrap:wrap;padding:20px 0;gap:15px 25px}.local-proof span{flex:1;min-width:130px}.home-local-section .home-local-photo{order:2}.hosted-request-bar{padding:12px 16px;align-items:center;gap:15px}.hosted-request-bar>span{max-width:22ch}.hosted-request-bar a{font-size:12px}.request-heading p:not(.eyebrow),.request-launch p{font-size:15px}.request-choice-copy{font-size:14px}.request-host-note{font-size:13px}.request-section{scroll-margin-top:95px}body{font-size:16px}}
@media(prefers-reduced-motion:reduce){.community-resource-grid>a{transition:none}}

/* Burton Pools: an established local builder, since 1976. */
/* Core brand styles are followed by the reading and navigation refinements. */
:root{--ink:#172c43;--ink-light:#294158;--paper:#fcfaf5;--sand:#eee9df;--line:#d3cbbb;--muted:#4e5961;--brass:#806634;--display:Georgia,'Times New Roman',serif;--header-height:112px}
body{font-size:17px;color:var(--ink)}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.025em}
h1 em,h2 em{font-style:normal}
p{line-height:1.8}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.13em;color:var(--brass)}
.heritage-bar{background:var(--ink);color:#fff8e8;font-size:11px;letter-spacing:.09em;padding:12px 0}
.heritage-bar .container{display:flex;align-items:center;justify-content:space-between;gap:16px}
.heritage-bar a{color:#fff8e8;letter-spacing:.025em;font-size:13px}
.site-header{background:#fff;border-bottom:3px solid #a38b5c}
.site-header .company-brand img{width:128px;height:93px;object-fit:contain}
.navigation{gap:27px}
.navigation>a,.nav-wrap nav>a{font-size:14px;font-weight:600}
.navigation .button{font-size:13px;margin-left:0}
.button{font-size:14px;font-weight:600;letter-spacing:.025em;padding:17px 25px;min-height:54px}
.text-link{font-size:15px;font-weight:600}
.hero-editorial{min-height:660px;height:auto;background:var(--ink);color:#fffaf0;border-bottom:5px solid #a38b5c}
.hero-editorial .hero-image{left:49%;top:32px;bottom:32px;right:32px;border:1px solid #b6a47e}
.hero-editorial .hero-image img{object-position:57% center}
.hero-editorial .hero-content{padding-block:62px;position:relative}
.hero-editorial .eyebrow{max-width:44%;color:#d5bd8c;font-size:11px;letter-spacing:.12em}
.hero-editorial h1{max-width:45%;font-size:clamp(48px,4.7vw,72px);line-height:1.08;margin-top:24px;letter-spacing:-.025em}
.hero-editorial h1 em{color:#e1cfaa;line-height:1.08}
.hero-editorial .hero-copy{max-width:38%;color:#f2ede2;font-size:17px;line-height:1.8;margin-top:24px}
.hero-editorial .button-row{max-width:44%;gap:22px;align-items:center;flex-wrap:wrap;margin-top:28px}
.hero-editorial .button-light{background:#e4d4b2;border-color:#e4d4b2;color:#172c43;font-size:14px}
.hero-editorial .button-light:hover{background:#fff8e8;border-color:#fff8e8}
.hero-phone{font-size:16px;color:#fff8e8;border-bottom:1px solid #9c8f76;padding-block:7px}
.heritage-signature{display:flex;align-items:center;gap:15px;margin-top:36px;color:#e1cfaa;max-width:44%;border-top:1px solid #ffffff35;padding-top:23px}
.anniversary-number{font:54px/1 Georgia,serif;letter-spacing:-.05em}
.heritage-signature>span:last-child{font-size:10px;letter-spacing:.16em;line-height:1.8}
.heritage-signature small{display:block;font-size:12px;letter-spacing:.15em}
.local-proof{padding-block:28px;gap:32px;font-size:14px}
.local-proof strong{font-family:Georgia,serif;font-size:23px;font-weight:400;margin-bottom:7px}
h2,.section-head h2,.intro-editorial h2{font-size:clamp(34px,3.5vw,50px);line-height:1.15}
.section{padding-block:86px}.section-topless{padding-top:0}
.intro-editorial{padding-block:90px;gap:9%}
.intro-editorial .intro-copy{font-size:17px}
.selected-work{padding-top:0}.selected-grid{grid-template-columns:1fr 1fr;gap:36px}.selected-project-tall{margin-top:0}
.selected-image img,.selected-project-tall .selected-image img{aspect-ratio:1.35}
.selected-caption{padding:20px 0;border-bottom:1px solid var(--line)}
.selected-caption h3{font-size:27px}.selected-caption>span{font-size:14px}
.pool-collection{background:var(--sand);border-block:1px solid var(--line)}
.collection-layout{grid-template-columns:.75fr 1.5fr;gap:7%}
.collection-intro,.collection-description p{font-size:16px}
.collection-tabs [role=tab]{font-size:29px;font-family:Georgia,serif}
.collection-description h3{font-size:27px;line-height:1.25}
.collection-photo{border:7px solid var(--paper);box-shadow:0 2px 12px #172c4310}
.renovation-story{background:var(--ink);color:var(--paper)}
.renovation-story .eyebrow{color:#d5bd8c}.renovation-story h2{font-size:clamp(34px,3.5vw,50px)}
.renovation-story-copy>p:not(.eyebrow){color:#eee8dc;font-size:16px}
.renovation-story .text-link{color:#fff8e8;border-color:#bba16e}
.process-steps article{border-top:2px solid #a38b5c;padding-top:26px}
.process-steps h3{font-size:29px}.process-steps p{font-size:16px}
.heritage-values{background:#e8dfce;border-block:1px solid #cbbd9f}
.heritage-values .two-col>div>p:not(.eyebrow){font-size:17px}
.home-local-section h2{font-size:clamp(34px,3.5vw,50px)}
.home-local-section p:not(.eyebrow){font-size:17px}
.closing{background:var(--ink);color:var(--paper);border-top:4px solid #a38b5c}
.closing h2{font-size:clamp(36px,4.2vw,60px);line-height:1.15}
.closing p:not(.eyebrow){font-size:17px;color:#e4dfd4}
.closing .button{background:#e4d4b2;border-color:#e4d4b2;color:#172c43}
.site-footer{background:#f0ece3}.site-footer .company-brand{background:#fff;padding:9px;display:inline-flex}
.site-footer .company-brand img{width:128px;height:93px}
.footer-grid>div>h2{font-size:13px;font-family:var(--sans);font-weight:700;color:var(--ink)}
.footer-grid p,.footer-grid>div>a:not(.brand):not(.aquarius-brand-link){font-size:14px;line-height:1.8}
.footer-bottom,.footer-bottom a,.footer-bottom .quiet-button{font-size:12px}
.page-intro h1{font-size:clamp(42px,5.3vw,76px);line-height:1.12}.page-lead{font-size:18px}
.about-split>div>p:not(.eyebrow),.faq-answer p,.pool-stage-grid p{font-size:17px}
:focus-visible{outline:3px solid #ad8030;outline-offset:5px}
@media(max-width:1100px){.navigation{gap:18px}.hero-editorial h1{font-size:56px}.hero-editorial .hero-copy{font-size:16px}.hero-editorial .hero-image{right:20px}}
@media(max-width:960px){:root{--header-height:96px}.site-header .company-brand img{width:110px;height:80px}.navigation,.navigation.is-open{max-height:calc(100svh - 140px);background:var(--paper)}.hero-editorial h1{font-size:48px}.hero-editorial .hero-content{padding-block:46px}.hero-editorial .hero-image{left:52%;top:25px;bottom:25px}.hero-editorial .hero-copy{max-width:44%}.heritage-bar{font-size:9px}.heritage-bar a{font-size:12px}}
@media(max-width:700px){:root{--header-height:94px}.heritage-bar .container{justify-content:center}.heritage-bar span{display:none}.heritage-bar a{font-size:13px}.site-header .nav-wrap{min-height:94px}.site-header .company-brand img{width:112px;height:81px}.menu-toggle{font-size:15px}.hero-editorial{min-height:0;height:auto}.hero-editorial .hero-content{padding-block:40px 36px}.hero-editorial .eyebrow{max-width:100%;font-size:10px;line-height:1.8}.hero-editorial h1{max-width:100%;font-size:clamp(44px,11vw,65px);margin-top:20px}.hero-editorial .hero-copy{max-width:38ch;font-size:16px}.hero-editorial .button-row{max-width:100%;gap:19px}.heritage-signature{max-width:100%;margin-top:28px;padding-top:20px}.anniversary-number{font-size:46px}.hero-editorial .hero-image{inset:auto;margin:0 20px 20px;width:calc(100% - 40px);aspect-ratio:1.35}.local-proof{display:grid;grid-template-columns:1fr;gap:0;padding-block:8px}.local-proof>span{padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.local-proof>span:last-child{border:0}.local-proof strong{font-size:22px}.section,.intro-editorial{padding-block:58px}.selected-work,.section-topless{padding-top:0}.selected-grid,.collection-layout{grid-template-columns:1fr}.selected-grid{gap:30px}h2,.section-head h2,.intro-editorial h2{font-size:35px}.collection-tabs{gap:16px}.collection-tabs [role=tab]{font-size:22px}.renovation-story h2,.home-local-section h2{font-size:35px}.intro-editorial .intro-copy,.process-steps p,.home-local-section p:not(.eyebrow){font-size:16px}.closing h2{font-size:37px}.closing p:not(.eyebrow){font-size:16px}.footer-grid>div>a:not(.brand):not(.aquarius-brand-link){font-size:14px}.page-lead{font-size:17px}}

/* Clearer services, comfortable reading sizes, and a consistent next step. */
:root { --header-height: 104px; --section-offset: 132px; }
body { font-size: 17px; }
p { line-height: 1.75; }
.section { padding-block: 76px; }
.section-topless { padding-top: 0; }
.section-head { gap: 28px; margin-bottom: 32px; }
h2, .section-head h2 { font-size: clamp(34px, 3.5vw, 48px); line-height: 1.18; }
h3 { line-height: 1.25; }
a { text-underline-offset: .2em; }
.text-link, .quiet-button { font-size: 15px; }
.eyebrow { font-size: 12px; line-height: 1.7; }
.site-header .company-brand img { width: 116px; height: 84px; }
.navigation { gap: 22px; }
.navigation > a, .nav-wrap nav > a { font-size: 15px; }
.navigation .button { font-size: 14px; padding: 15px 20px; }
.hero-editorial { min-height: 590px; }
.hero-editorial .hero-content { padding-block: 54px; }
.hero-editorial h1 { font-size: clamp(46px, 4.9vw, 68px); max-width: 46%; line-height: 1.12; margin-top: 22px; }
.hero-editorial .hero-copy { max-width: 42%; font-size: 17px; line-height: 1.75; margin-top: 23px; }
.hero-editorial .hero-image { left: 51%; top: 28px; right: 28px; bottom: 28px; }
.hero-editorial .button-row { max-width: 45%; gap: 14px 24px; margin-top: 24px; }
.hero-editorial .hero-link { display: inline-flex; align-items: center; gap: 15px; min-height: 44px; font-size: 15px; letter-spacing: 0; color: #fff8e8; text-transform: none; padding-block: 7px; }
.hero-editorial .hero-link:hover { text-decoration: underline; }
.heritage-signature { max-width: 44%; margin-top: 24px; padding-top: 20px; }
.anniversary-number { font-size: 46px; }
.heritage-signature small { font-size: 12px; letter-spacing: .035em; }
.section-aside { max-width: 34ch; font-size: 16px; line-height: 1.75; color: var(--muted); }
.project-path-grid, .home-pool-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
.project-path { display: flex; flex-direction: column; padding: 24px 0 12px; border-top: 2px solid #a38b5c; text-decoration: none; min-width: 0; }
.path-index { font-size: 12px; color: var(--muted); }
.project-path h3 { font-size: 30px; margin-top: 18px; }
.project-path p { font-size: 16px; margin-block: 14px 22px; max-width: 34ch; }
.path-action { display: flex; gap: 16px; align-items: center; margin-top: auto; min-height: 44px; font-size: 15px; font-weight: 600; }
.project-path:hover .path-action { text-decoration: underline; }
.project-path:focus-visible { outline-offset: 8px; }
.home-pool-options { border-block: 1px solid var(--line); }
.section-description { font-size: 17px; line-height: 1.75; max-width: 65ch; margin-bottom: 34px; }
.home-pool-card { min-width: 0; display: flex; flex-direction: column; }
.home-pool-photo { display: block; overflow: hidden; }
.home-pool-photo img { width: 100%; height: auto; aspect-ratio: 1.42; object-fit: cover; }
.home-pool-card h3 { font-size: 33px; margin-top: 22px; }
.home-pool-card h3 a { text-decoration: none; }
.home-pool-card h3 a:hover { text-decoration: underline; }
.home-pool-card p { font-size: 16px; margin-top: 14px; }
.home-pool-card .pool-consideration { color: var(--muted); font-size: 15px; padding-top: 14px; margin-block: 16px; border-top: 1px solid var(--line); }
.home-pool-card > .text-link { align-self: start; margin-top: auto; }
.page-home .selected-work { padding-block: 76px; }
.selected-grid { gap: 34px; }
.selected-caption { gap: 16px; align-items: start; }
.selected-caption h3 { font-size: 27px; }
.selected-caption h3 a { text-decoration: none; }
.selected-caption h3 a:hover { text-decoration: underline; }
.selected-caption > span { padding-top: 5px; font-size: 14px; }
.home-process { list-style: none; margin: 0; padding: 0; }
.home-process li { border-top: 2px solid #a38b5c; padding-top: 24px; }
.home-process h3 { font-size: 28px; }
.home-process p { font-size: 17px; }
.home-questions .two-col > div > p:not(.eyebrow) { font-size: 17px; }
.home-questions .care-connection { padding-top: 24px; border-top: 1px solid var(--line); color: var(--muted); }
.faq-list summary { font-size: 17px; line-height: 1.6; padding-block: 22px; gap: 20px; }
.faq-answer p { font-size: 17px; line-height: 1.75; }
.page-intro .button { margin-top: 26px; }
.page-lead, .pool-hero-copy .page-lead { font-size: 18px; line-height: 1.75; max-width: 58ch; }
.pool-hero-copy h1 { font-size: clamp(44px, 4.4vw, 66px); }
.pool-hero-fit p, .pool-stage-grid p, .pool-resource-layout > div > p:not(.eyebrow), .construction-split > div > p:not(.eyebrow), .construction-grid p { font-size: 17px; line-height: 1.75; }
.pool-cards .photo-link { aspect-ratio: 1.2; }
.pool-card h2, .pool-card h3 { font-size: 34px; }
.pool-card p { font-size: 17px; line-height: 1.75; margin-left: 0; }
.pool-hero-copy .button, .pool-intro-actions .button, .contact-first-actions .button, .request-launch-action .button { font-size: 15px; }
.comparison-table th, .comparison-table td { font-size: 16px; line-height: 1.65; }
.comparison-table thead th { font-size: 25px; }
.comparison-table caption { font-size: 16px; line-height: 1.6; }
.comparison-choices span, .comparison-status, .comparison-note { font-size: 15px; line-height: 1.7; }
.comparison-scroll:focus-visible { outline-offset: 6px; }
.outline-scroll > a { min-height: 44px; font-size: 15px; }
.gallery-note, .story-intro, .story-features p, .design-card-copy > p, .design-card li { font-size: 17px; line-height: 1.75; }
.gallery-filters .filter-button, .gallery-card-actions .text-link, .design-card-actions .text-link, .topic-choice { font-size: 15px; min-height: 44px; }
.gallery-count, .gallery-disclaimer, .design-scope-note, .timeline-meta { font-size: 14px; line-height: 1.75; }
.process-timeline p { font-size: 17px; line-height: 1.75; }
.contact-layout-refined { gap: 9%; }
.contact-conversation .contact-details p, .contact-conversation .contact-details .small, .contact-conversation .contact-details .text-link { font-size: 16px; }
.contact-conversation .contact-details h2 { font-size: 29px; line-height: 1.4; }
.brief-disclosure-title { font-size: 32px; }
.brief-disclosure-body .brief-intro, .brief-output textarea, .brief-fields select, .brief-priorities span { font-size: 16px; line-height: 1.75; }
.brief-fields label, .brief-output > label, .brief-priorities legend { font-size: 15px; }
.consultation-intro { display: block; padding-block: 54px 26px; }
.consultation-intro > h1 { font-size: clamp(44px, 4.9vw, 64px); margin-top: 20px; }
.consultation-intro .page-lead { margin-top: 22px; }
.request-section { padding-top: 26px; padding-bottom: 40px; }
.request-heading h2 { font-size: 34px; }
.request-heading p:not(.eyebrow) { max-width: 60ch; font-size: 17px; line-height: 1.75; }
.request-heading > .text-link { font-size: 15px; }
.request-choices { gap: 16px; border: 0; }
.request-choices > button { display: flex; flex-direction: column; align-items: start; text-align: left; padding: 22px; border: 1px solid var(--line); border-bottom: 3px solid var(--line); min-width: 0; }
.request-choices > button[aria-pressed=true] { border-color: #a38b5c; background: var(--sand); }
.request-choice-title { font: 27px/1.25 var(--display); }
.request-choice-copy { display: block; font-size: 15px; line-height: 1.7; margin-top: 10px; }
.request-choice-state { display: block; margin-top: 16px; font-size: 12px; font-weight: 600; }
.request-choices > button[aria-pressed=false] .request-choice-state { visibility: hidden; }
.request-launch { gap: 40px; }
.request-launch h3 { font-size: 29px; }
.request-launch p, .request-status { font-size: 17px; line-height: 1.75; }
.request-launch .request-host-note, .request-host-note { font-size: 14px; line-height: 1.75; }
.request-call { font-size: 16px; min-height: 44px; display: inline-flex; align-items: center; }
.request-next { display: grid; grid-template-columns: .55fr 1fr; gap: 40px; border-top: 1px solid var(--line); padding-block: 30px 50px; }
.request-next h2 { font-size: 27px; }
.request-next p { font-size: 17px; max-width: 66ch; }
.footer-grid > div > a:not(.brand):not(.aquarius-brand-link) { min-height: 44px; }
.footer-bottom a, .footer-bottom .quiet-button { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 1100px) {
  .menu-toggle { display: flex; gap: 12px; align-items: center; min-height: 44px; border: 1px solid var(--line); background: transparent; padding: 10px 14px; color: var(--ink); font-size: 15px; }
  .navigation { display: none; position: absolute; left: 0; right: 0; top: 100%; overflow-y: auto; padding: 15px 28px 28px; background: var(--paper); border-bottom: 1px solid var(--line); max-height: calc(100svh - 110px); }
  .navigation.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; max-height: calc(100svh - 110px); }
  .navigation > a:not(.button), .nav-wrap nav > a:not(.button) { font: 24px/1.4 var(--display); padding-block: 12px; border-bottom: 1px solid var(--line); }
  .navigation .button { margin: 18px 0 0; align-self: stretch; justify-content: center; }
  .mobile-menu-contact { display: block; padding-top: 14px; }
  .mobile-menu-contact a { display: inline-flex; align-items: center; min-height: 44px; font-size: 17px; }
  .hero-editorial h1 { font-size: 51px; }
  .project-path-grid, .home-pool-grid { gap: 25px; }
  .project-path h3 { font-size: 27px; }
}
@media (max-width: 800px) {
  .hero-editorial .hero-copy { max-width: 44%; }
  .hero-editorial h1 { font-size: 44px; }
  .project-path-grid { grid-template-columns: 1fr; gap: 8px; }
  .project-path { display: grid; grid-template-columns: 1fr 1.1fr; gap: 5px 30px; padding-block: 24px; }
  .project-path h3 { grid-column: 1; margin-top: 8px; }
  .project-path p { grid-column: 2; grid-row: 1/3; margin-block: 0; }
  .path-action { grid-column: 2; margin-top: 6px; }
  .home-pool-grid { gap: 20px; }
  .home-pool-card h3 { font-size: 29px; }
}
@media (max-width: 700px) {
  :root { --header-height: 88px; --section-offset: 110px; }
  .site-header .nav-wrap { min-height: 88px; }
  .site-header .company-brand img { width: 100px; height: 73px; }
  .section { padding-block: 54px; }
  .section-topless { padding-top: 0; }
  h2, .section-head h2 { font-size: 34px; }
  .section-aside { font-size: 16px; margin-top: 20px; }
  .hero-editorial { min-height: 0; }
  .hero-editorial .hero-content { padding-block: 36px 30px; }
  .hero-editorial .eyebrow { max-width: 100%; font-size: 11px; }
  .hero-editorial h1 { max-width: 100%; font-size: clamp(40px, 10.8vw, 60px); margin-top: 20px; }
  .hero-editorial .hero-copy { max-width: 100%; font-size: 17px; margin-top: 20px; }
  .hero-editorial .button-row { max-width: 100%; gap: 12px; align-items: start; flex-direction: column; }
  .hero-editorial .button-light { font-size: 15px; }
  .hero-editorial .hero-link { padding-block: 8px; }
  .hero-editorial .hero-image { position: relative; inset: auto; margin: 0 20px 20px; width: calc(100% - 40px); aspect-ratio: 1.5; }
  .heritage-signature { max-width: 100%; margin-top: 20px; }
  .anniversary-number { font-size: 40px; }
  .heritage-signature > span:last-child { font-size: 10px; letter-spacing: .08em; }
  .heritage-signature small { font-size: 11px; }
  .project-path { display: flex; gap: 0; }
  .project-path h3 { font-size: 29px; }
  .project-path p { margin-block: 12px 8px; }
  .home-pool-grid { grid-template-columns: 1fr; gap: 36px; }
  .home-pool-photo img { aspect-ratio: 1.5; }
  .home-pool-card h3 { font-size: 32px; }
  .home-pool-card p { font-size: 17px; }
  .home-pool-card .pool-consideration { font-size: 16px; }
  .page-home .selected-work { padding-block: 54px; }
  .selected-caption { align-items: start; }
  .selected-caption h3 { font-size: 25px; }
  .selected-caption > span { font-size: 13px; }
  .home-process { gap: 28px; }
  .home-process h3 { font-size: 28px; }
  .home-process p { font-size: 17px; }
  .page-intro h1 { font-size: clamp(42px, 11vw, 58px); }
  .pool-hero-copy h1 { font-size: clamp(38px, 10vw, 50px); }
  .page-lead, .pool-hero-copy .page-lead { font-size: 17px; }
  .pool-hero-fit p, .pool-stage-grid p, .pool-resource-layout > div > p:not(.eyebrow) { font-size: 17px; }
  .pool-cards .photo-link { aspect-ratio: 1.3; }
  .pool-card h2, .pool-card h3 { font-size: 33px; }
  .pool-card p { font-size: 17px; }
  .outline-scroll > a { font-size: 15px; }
  .gallery-filters .filter-button { font-size: 15px; }
  .gallery-note, .story-intro, .story-features p, .design-card-copy > p, .design-card li { font-size: 17px; }
  .request-heading { display: block; }
  .request-heading h2 { font-size: 32px; }
  .request-heading p:not(.eyebrow) { font-size: 17px; }
  .request-heading > .text-link { margin-top: 16px; }
  .request-choices { gap: 12px; border: 0; }
  .request-choices > button { padding: 18px; }
  .request-choice-copy { font-size: 16px; }
  .request-launch { padding: 25px; }
  .request-launch p { font-size: 17px; }
  .request-launch .request-host-note { margin-top: 22px; font-size: 14px; }
  .request-launch h3 { font-size: 28px; }
  .request-next { grid-template-columns: 1fr; gap: 16px; padding-block: 28px 40px; }
  .consultation-intro { padding-block: 40px 18px; }
  .consultation-intro > h1 { font-size: 46px; }
  .contact-layout-refined { gap: 30px; }
  .contact-conversation .contact-details h2 { font-size: 27px; }
  .footer-grid > div > a:not(.brand):not(.aquarius-brand-link) { min-height: 44px; }
}

p a:not(.button):not(.text-link) { text-decoration: underline; }
.button:hover, .navigation .button:hover { background: var(--ink-light); border-color: var(--ink-light); color: var(--paper); }
.hero-editorial .button-light:hover, .closing .button:hover { background: #fff8e8; border-color: #fff8e8; color: var(--ink); }
.navigation > a[data-section-current=true] { text-decoration: underline; text-decoration-thickness: 1px; }
.navigation .button[aria-current=page]::after { display: none; }
/* Keep task links readable when earlier page-specific styles are more specific. */
#main .text-link, #main .comparison-next, #main .resource-row, #main .quiet-button { font-size: 15px; line-height: 1.7; }
#main .button { font-size: 15px; letter-spacing: .025em; line-height: 1.5; }
#main .lined-list p, #main .two-col > div > p:not(.eyebrow) { font-size: 17px; line-height: 1.75; }
#main p:not(.eyebrow) { font-size: 17px; line-height: 1.75; }
#main .eyebrow { font-size: 12px; }
#main .page-lead { font-size: 18px; }
#main figcaption { font-size: 14px; line-height: 1.65; }
@media (max-width: 700px) { #main .page-lead { font-size: 17px; } }

/* Editorial project composition: clear image hierarchy with useful next steps. */
.portfolio-composition{display:grid;grid-template-columns:1.45fr 1fr;gap:44px;align-items:start}
.portfolio-photo{display:block;position:relative;overflow:hidden;background:var(--sand)}
.portfolio-photo img{width:100%;height:auto;object-fit:cover;transition:transform .5s ease}
.portfolio-lead .portfolio-photo img{aspect-ratio:.87}
.portfolio-support{display:grid;gap:38px;padding-top:70px}
.portfolio-support .portfolio-photo img{aspect-ratio:1.9}
.portfolio-photo:hover img,.portfolio-photo:focus-visible img{transform:scale(1.025)}
.portfolio-open{position:absolute;left:20px;bottom:20px;background:var(--paper);color:var(--ink);padding:14px 18px;font-size:14px}
.portfolio-caption{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-top:20px}
.portfolio-caption h3{font-size:29px;margin-top:10px}
.portfolio-caption h3 a:hover{text-decoration:underline}
#main .portfolio-caption .eyebrow{font-size:11px}
#main .portfolio-caption>p{font-size:15px;max-width:24ch;margin-top:4px}
.portfolio-lead .portfolio-caption{display:block}
.portfolio-lead .portfolio-caption>p{max-width:none;margin-top:16px}
.portfolio-caption>span{font-size:25px;color:var(--brass)}
.design-journal{background:#eae4d8;border-block:1px solid var(--line)}
.design-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.design-chapter{display:block;min-width:0}
.design-chapter>div{position:relative;overflow:hidden}
.design-chapter img{width:100%;height:auto;aspect-ratio:1.1;object-fit:cover;transition:transform .5s ease}
.design-chapter:nth-child(2){padding-top:54px}
.design-chapter:hover img,.design-chapter:focus-visible img{transform:scale(1.025)}
.chapter-number{position:absolute;left:15px;top:15px;background:var(--paper);color:var(--ink);padding:8px 11px;font-size:12px}
.design-chapter h3{font-size:28px;margin-top:22px;max-width:20ch}
.chapter-link{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:15px;min-height:48px;border-bottom:1px solid #b6aa92;margin-top:14px}
.journal-end{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #c9bea9;padding-top:30px;margin-top:46px}
.project-next{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;border-top:1px solid var(--line)}
.project-next>div{position:sticky;top:145px;align-self:start}
.project-next>div>p:not(.eyebrow){margin-top:25px;max-width:42ch}
.project-next ol{list-style:none;padding:0;margin:0}
.project-next li{display:grid;grid-template-columns:35px 1fr;gap:20px;border-top:1px solid var(--line);padding-block:28px}
.project-next li>span{color:var(--brass);font-size:13px;padding-top:5px}
.project-next h3{font-size:29px}
.project-next li p{margin-top:13px}
.project-next .text-link{margin-top:12px}
.page-home .project-paths{border-bottom:1px solid var(--line)}
@media(max-width:960px){.portfolio-composition{gap:28px;grid-template-columns:1.15fr 1fr}.portfolio-support{padding-top:35px}.portfolio-caption h3{font-size:25px}.design-journal-grid{gap:22px}.design-chapter h3{font-size:25px}.project-next{gap:6%}}
@media(max-width:700px){.portfolio-composition,.design-journal-grid,.project-next{grid-template-columns:1fr}.portfolio-lead .portfolio-photo img{aspect-ratio:1.15}.portfolio-support{padding-top:0;gap:30px}.portfolio-support .portfolio-photo img{aspect-ratio:1.5}.portfolio-open{left:14px;bottom:14px;font-size:13px}.portfolio-caption h3{font-size:27px}.design-journal-grid{gap:32px}.design-chapter:nth-child(2){padding-top:0}.design-chapter img{aspect-ratio:1.5}.design-chapter h3{font-size:28px}.journal-end{display:block;margin-top:30px}.journal-end .text-link{margin-top:18px}.project-next{gap:30px}.project-next>div{position:static}.project-next li{grid-template-columns:26px 1fr;gap:14px}}
@media(prefers-reduced-motion:reduce){.portfolio-photo img,.design-chapter img{transition:none}.portfolio-photo:hover img,.portfolio-photo:focus-visible img,.design-chapter:hover img,.design-chapter:focus-visible img{transform:none}}
@media print{.site-header,.heritage-bar,.site-footer,.analytics-banner,.gallery-dialog{display:none!important}.project-next>div{position:static}body{background:white;color:black}.section{padding-block:24px}a{color:inherit}.hero-editorial{color:black;background:white}.hero-editorial h1 em,.hero-editorial .hero-copy{color:black}}
#main .portfolio-lead .portfolio-caption>p{max-width:none}

/* A more expressive editorial layer, using the existing Burton palette and photography. */
.hero-editorial { min-height: 620px; border-bottom-width: 2px; }
.hero-editorial .hero-image { left: 52%; top: 0; right: 0; bottom: 0; border: 0; }
.hero-editorial .hero-image img { object-position: 55% center; }
.hero-editorial .hero-content { padding-block: 68px; }
.hero-editorial h1 { font-size: clamp(54px, 5.3vw, 76px); line-height: 1.04; max-width: 48%; }
.hero-editorial .hero-copy { max-width: 38%; }
.hero-photo-note { position: absolute; right: 28px; bottom: 24px; z-index: 1; padding: 11px 15px; background: #172c43ed; color: #fffaf0; font-size: 12px; letter-spacing: .03em; }
.hero-photo-note span { margin-left: 12px; }

.home-heritage { background: #f7f3eb; }
.home-heritage-layout { display: grid; grid-template-columns: 1fr .82fr; gap: 10%; align-items: center; }
.home-heritage-photo { margin: 0; position: relative; }
.home-heritage-photo img { display: block; width: 100%; aspect-ratio: 1.02; object-fit: cover; object-position: center 58%; }
.home-heritage-photo figcaption { color: var(--muted); margin-top: 12px; }
.home-heritage-copy h2 { margin-top: 20px; }
.home-heritage-copy > p:not(.eyebrow) { max-width: 46ch; margin-top: 24px; }
.home-heritage-note { display: grid; grid-template-columns: 132px 1fr; gap: 24px; border-top: 1px solid var(--line); padding-block: 19px; }
.home-heritage-note:first-of-type { margin-top: 30px; }
.home-heritage-note span { color: var(--brass); font-size: 12px; font-weight: 600; letter-spacing: .04em; }
#main .home-heritage-note p { font-size: 15px; line-height: 1.65; }
.home-heritage-copy > .text-link { margin-top: 14px; }

.brand-story-hero, .renovation-intro { display: grid; grid-template-columns: .95fr 1.05fr; gap: 9%; align-items: center; padding-block: 55px 80px; }
.brand-story-hero h1, .renovation-intro h1 { font-size: clamp(48px, 5.1vw, 74px); line-height: 1.08; margin-top: 22px; }
.brand-story-hero .page-lead, .renovation-intro .page-lead { margin-top: 24px; }
.brand-story-intro > .text-link { margin-top: 22px; }
.brand-story-hero figure, .renovation-intro figure, .brand-connection figure, .renovation-planning figure { margin: 0; }
.brand-story-hero figure img, .renovation-intro figure img { display: block; width: 100%; height: auto; aspect-ratio: 1.06; object-fit: cover; }
.brand-story-hero figcaption, .renovation-intro figcaption, .brand-connection figcaption, .renovation-planning figcaption { color: var(--muted); margin-top: 12px; }
.brand-legacy { background: var(--ink); color: var(--paper); }
.brand-legacy > .container { display: flex; justify-content: space-between; align-items: center; gap: 35px; padding-block: 30px; }
.brand-legacy > .container > div { display: flex; gap: 20px; align-items: center; }
.legacy-year { font: 54px/1 var(--display); color: #e1cfaa; }
.legacy-label { font-size: 11px; letter-spacing: .11em; line-height: 1.6; text-transform: uppercase; color: #e1cfaa; }
#main .brand-legacy p { color: #f2ede2; max-width: 46ch; font-size: 15px; }
.brand-principles { display: grid; grid-template-columns: .85fr 1.15fr; gap: 12%; }
.brand-principles-intro > p:not(.eyebrow) { margin-top: 24px; max-width: 42ch; }
.brand-principles-intro > .text-link { margin-top: 15px; }
.brand-principle-list article { display: grid; grid-template-columns: 34px 1fr; gap: 22px; padding-block: 25px; border-top: 1px solid var(--line); }
.brand-principle-list article > span { color: var(--brass); font-size: 12px; padding-top: 7px; }
.brand-principle-list h3 { font-size: 29px; }
.brand-principle-list p { margin-top: 12px; }
.brand-connection { background: #eae4d8; border-block: 1px solid var(--line); }
.brand-connection-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10%; align-items: center; }
.brand-connection-copy > p:not(.eyebrow) { max-width: 48ch; margin-top: 25px; }
.brand-connection-links { display: flex; flex-wrap: wrap; gap: 10px 25px; margin-top: 18px; }
.brand-connection figure img { display: block; width: 100%; aspect-ratio: 1.25; object-fit: cover; }
.brand-invitation { text-align: center; max-width: 850px; }
.brand-invitation h2 { margin-top: 20px; }
.brand-invitation > p:not(.eyebrow) { margin: 24px auto 0; max-width: 50ch; }
.brand-invitation > div { display: flex; justify-content: center; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-top: 28px; }

.renovation-intro-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 26px; margin-top: 28px; }
.renovation-scope { background: var(--sand); border-block: 1px solid var(--line); scroll-margin-top: var(--section-offset); }
.renovation-scope-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 30px; }
.renovation-scope-grid article { border-top: 2px solid #a38b5c; padding-top: 22px; }
.renovation-scope-grid article > span { color: var(--brass); font-size: 12px; font-weight: 600; }
.renovation-scope-grid h3 { font-size: 27px; margin-top: 20px; }
.renovation-scope-grid p { margin-top: 14px; }
.renovation-planning { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 10%; }
.renovation-planning figure img { display: block; width: 100%; aspect-ratio: .9; object-fit: cover; }
.renovation-planning > div > p:not(.eyebrow) { margin-top: 24px; }
.renovation-planning ol { list-style: none; padding: 0; margin: 28px 0 10px; }
.renovation-planning li { display: grid; grid-template-columns: 30px 1fr; gap: 20px; border-top: 1px solid var(--line); padding-block: 18px; }
.renovation-planning li > span { color: var(--brass); font-size: 12px; padding-top: 5px; }
.renovation-planning li strong { font-size: 16px; }
#main .renovation-planning li p { font-size: 15px; margin-top: 5px; line-height: 1.65; }

@media (max-width: 1100px) {
  .hero-editorial h1 { font-size: clamp(46px, 5.6vw, 62px); }
  .renovation-scope-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 32px; }
}
@media (max-width: 800px) {
  .home-heritage-layout, .brand-story-hero, .renovation-intro, .brand-principles, .brand-connection-layout, .renovation-planning { grid-template-columns: 1fr; gap: 36px; }
  .brand-story-hero, .renovation-intro { padding-block: 40px 55px; }
  .home-heritage-photo img { aspect-ratio: 1.25; }
  .brand-story-hero figure img, .renovation-intro figure img { aspect-ratio: 1.25; }
  .renovation-planning figure img { aspect-ratio: 1.2; }
  .brand-principles { gap: 30px; }
  .brand-legacy > .container { flex-wrap: wrap; gap: 22px; }
}
@media (max-width: 700px) {
  .hero-editorial { min-height: 0; }
  .hero-editorial .hero-content { padding-block: 40px 34px; }
  .hero-editorial h1 { font-size: clamp(43px, 11vw, 60px); max-width: 100%; }
  .hero-editorial .hero-copy { max-width: 100%; }
  .hero-editorial .hero-image { inset: auto; margin: 0; width: 100%; aspect-ratio: 1.45; }
  .hero-photo-note { display: none; }
  .home-heritage-note { grid-template-columns: 1fr; gap: 7px; }
  .brand-story-hero h1, .renovation-intro h1 { font-size: clamp(42px, 10.8vw, 58px); }
  .legacy-year { font-size: 46px; }
  .brand-principle-list h3 { font-size: 27px; }
  .brand-connection-links, .renovation-intro-actions { align-items: flex-start; flex-direction: column; }
  .renovation-scope-grid { grid-template-columns: 1fr; gap: 27px; }
  .renovation-scope-grid h3 { margin-top: 12px; }
  .renovation-planning figure { order: 2; }
  .brand-invitation > div { flex-direction: column; }
}
@media print {
  .hero-photo-note { display: none; }
  .brand-legacy { background: white; color: black; }
  .legacy-year, .legacy-label, #main .brand-legacy p { color: black; }
}

/* The collection continues from the homepage into useful, image-led exploration. */
.pool-approach-nav { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-block: 1px solid var(--line); }
.pool-approach-nav a { display: flex; align-items: center; gap: 15px; min-height: 70px; padding: 15px 22px; font-size: 17px; }
.pool-approach-nav a:first-child { padding-left: 0; }
.pool-approach-nav a + a { border-left: 1px solid var(--line); }
.pool-approach-nav a > span:first-child { font-size: 11px; color: var(--brass); }
.pool-approach-nav a > span:last-child { margin-left: auto; }
.pool-approach-nav a:hover { background: var(--sand); }
.pool-approach { display: grid; grid-template-columns: 1.1fr .9fr; gap: 9%; align-items: center; padding-block: 70px; border-bottom: 1px solid var(--line); scroll-margin-top: var(--section-offset); }
.pool-approach:last-child { border: 0; }
.pool-approach figure { margin: 0; min-width: 0; }
.pool-approach figure img { width: 100%; height: auto; aspect-ratio: 1.03; object-fit: cover; }
.pool-approach figcaption { color: var(--muted); margin-top: 12px; }
.pool-approach:nth-child(even) figure { order: 2; }
.pool-approach-copy h2 { font-size: clamp(40px,4.5vw,62px); margin-top: 18px; }
#main .pool-approach-copy .approach-tag { font: 24px/1.4 var(--display); color: var(--ink); margin-top: 18px; max-width: 28ch; }
.pool-approach-copy > p:not(.eyebrow):not(.approach-tag) { margin-top: 20px; }
.pool-approach-copy dl { margin: 26px 0 18px; }
.pool-approach-copy dl > div { padding-block: 16px; border-top: 1px solid var(--line); }
.pool-approach-copy dt { color: var(--brass); font-size: 12px; font-weight: 600; margin-bottom: 8px; }
.pool-approach-copy dd { margin: 0; font-size: 16px; line-height: 1.7; }
.gallery-intro, .pool-collection-intro { display: grid; grid-template-columns: 1.05fr .8fr; gap: 12%; align-items: end; }
.gallery-intro .page-lead, .pool-collection-intro .page-lead { margin-top: 0; }
.pool-collection-intro .pool-intro-actions { gap: 15px 24px; }
.pool-collection-intro .pool-intro-actions .button { margin-top: 0; }
.gallery-intro .text-link { margin-top: 18px; }
.curated-collection { scroll-margin-top: var(--section-offset); }
.curated-collection .gallery-grid { gap: 56px 40px; }
.curated-collection .gallery-card:first-child { grid-column: 1 / -1; }
.curated-collection .gallery-card:first-child .gallery-open img { aspect-ratio: 2.1; object-position: center 61%; }
.curated-collection .gallery-card:first-child .gallery-label h2 { font-size: 36px; }
.curated-collection .gallery-card:first-child .gallery-note { max-width: 65ch; }
.curated-collection .gallery-label h2 { font-size: 29px; line-height: 1.2; }
.curated-collection .gallery-card-actions { margin-top: 10px; }
.curated-collection .gallery-grid:has(.gallery-card[hidden]) .gallery-card { grid-column: auto; }
.curated-collection .gallery-grid:has(.gallery-card[hidden]) .gallery-card .gallery-open img { aspect-ratio: 1.3; }
.curated-collection .gallery-grid:has(.gallery-card[hidden]) .gallery-card .gallery-label h2 { font-size: 29px; }
.curated-collection .gallery-grid:has(.gallery-card[hidden]) { grid-template-columns: repeat(auto-fit,minmax(min(100%,420px),1fr)); }
.gallery-source { display: flex; justify-content: space-between; gap: 36px; align-items: start; border-top: 1px solid var(--line); margin-top: 50px; padding-top: 25px; }
#main .gallery-source .gallery-disclaimer { font-size: 14px; max-width: 65ch; margin: 0; }
.gallery-source .text-link { flex-shrink: 0; }
.gallery-perspective { background: var(--sand); border-top: 1px solid var(--line); }
.perspective-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; }
.perspective-links > a { display: flex; flex-direction: column; padding-top: 22px; border-top: 2px solid #a38b5c; }
.perspective-links > a > span:first-child { color: var(--brass); font-size: 12px; }
.perspective-links h3 { font-size: 28px; margin-top: 18px; }
.perspective-links p { margin-block: 15px 20px; }
.perspective-action { display: flex; justify-content: space-between; gap: 20px; align-items: center; min-height: 48px; font-size: 15px; font-weight: 600; margin-top: auto; }
.perspective-links > a:hover .perspective-action { text-decoration: underline; }
@media(max-width: 900px) {
  .pool-approach { gap: 6%; }
  .gallery-intro, .pool-collection-intro { gap: 7%; grid-template-columns: 1fr 1fr; }
  .gallery-source { flex-direction: column; gap: 20px; }
  .perspective-links { gap: 24px; }
}
@media(max-width: 800px) {
  .pool-approach { grid-template-columns: 1fr; gap: 28px; padding-block: 45px; }
  .pool-approach figure img { aspect-ratio: 1.4; }
  .pool-approach:nth-child(even) figure { order: 0; }
  .pool-approach-copy { max-width: 60ch; }
  .gallery-intro, .pool-collection-intro { grid-template-columns: 1fr; gap: 26px; }
  .gallery-intro .page-lead { max-width: 55ch; }
  .perspective-links { grid-template-columns: 1fr; gap: 28px; }
}
@media(max-width: 700px) {
  .pool-approach-nav { grid-template-columns: 1fr; }
  .pool-approach-nav a, .pool-approach-nav a:first-child { padding-inline: 0; min-height: 58px; }
  .pool-approach-nav a + a { border-left: 0; border-top: 1px solid var(--line); }
  .pool-approach-copy h2 { font-size: 40px; }
  .curated-collection .gallery-grid { grid-template-columns: 1fr; gap: 38px; }
  .curated-collection .gallery-card:first-child .gallery-open img { aspect-ratio: 1.3; }
  .curated-collection .gallery-card:first-child .gallery-label h2, .curated-collection .gallery-label h2 { font-size: 28px; }
  .gallery-source { margin-top: 35px; }
}
@media print {
  .pool-approach { break-inside: avoid; padding-block: 24px; }
  .pool-approach-nav { display: none; }
}

/* Clear contact choices and resilient request forms for public visitors. */
.consultation-contact-options { display: flex; flex-wrap: wrap; gap: 10px 30px; margin-top: 22px; }
.consultation-contact-options a { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; font-size: 15px; font-weight: 600; border-bottom: 1px solid var(--line); }
.contact-email { display: inline-flex; min-height: 44px; align-items: center; font-size: 18px; text-decoration: underline; overflow-wrap: anywhere; }
#main .request-loading { margin: 0; padding: 18px 24px; background: var(--sand); color: var(--ink); font-size: 15px; line-height: 1.7; border-bottom: 1px solid var(--line); }
.hosted-request-bar { gap: 24px; flex-wrap: wrap; }
.hosted-request-bar > a { white-space: normal; }
.request-without-js { padding: 28px; background: var(--sand); margin-top: 25px; }
.request-without-js h3 { font-size: 28px; }
.request-without-js p { margin-block: 16px; }
.request-without-js ul { padding-left: 22px; }
.request-without-js a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
.no-js .request-choices, .no-js #request-launch, .no-js #full-consultation, .no-js .comparison-tools, .no-js .gallery-filters, .no-js .topic-choice { display: none; }
@media(max-width:700px) {
  .consultation-contact-options { flex-direction: column; align-items: start; gap: 8px; }
  .contact-email { font-size: 17px; }
  #main .request-loading { padding: 18px; }
  .request-without-js { padding: 22px; }
}
.consultation-public-intro { display: grid; grid-template-columns: .9fr 1.1fr; align-items: end; gap: 8%; padding-block: 44px 32px; }
.consultation-public-intro h1 { font-size: clamp(44px,4.9vw,64px); line-height: 1.12; margin-top: 20px; }
.consultation-public-intro .page-lead { margin-top: 0; }
@media(max-width:800px) { .consultation-public-intro { grid-template-columns: 1fr; gap: 25px; padding-block: 32px 24px; } }
.no-js [data-privacy-open], .no-js [data-analytics-choice], .no-js .project-brief, .no-js .design-selection, .no-js .design-bottom { display: none; }
.request-choices > button[aria-pressed=true] .request-choice-copy { color: var(--muted); }
.request-choices > button[aria-pressed=true] .request-choice-state { color: var(--brass); }
:root { --brass: #765d2f; }

/* A calmer reading rhythm, with practical reasons to trust the local team. */
#main .eyebrow { text-transform: none; letter-spacing: .045em; }
#main .page-lead, #main .section-description { max-width: 60ch; }
.faq-answer p { max-width: 64ch; }
h2, .section-head h2 { font-size: clamp(32px,3.2vw,44px); line-height: 1.2; }
.hero-editorial h1 { font-size: clamp(50px,4.9vw,68px); }
.hero-editorial .hero-copy { max-width: 40%; }
.trust-foundations { background: var(--paper); border-bottom: 1px solid var(--line); }
.trust-foundations > .container { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding-block: 25px; }
.trust-foundations a { display: block; padding: 5px 28px; }
.trust-foundations a:first-child { padding-left: 0; }
.trust-foundations a + a { border-left: 1px solid var(--line); }
.trust-foundations strong { display: block; font-size: 16px; font-weight: 600; line-height: 1.6; }
.trust-foundations a > span { display: flex; align-items: center; gap: 16px; min-height: 40px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.trust-foundations a:hover > span { text-decoration: underline; }
.care-approach { border-top: 1px solid var(--line); background: #f7f3eb; }
.care-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 38px; padding: 0; margin: 0; list-style: none; }
.care-steps li { border-top: 1px solid #a38b5c; padding-top: 24px; }
.care-steps .step-number { font-size: 13px; color: var(--brass); margin-bottom: 15px; }
.care-steps h3 { font-size: 27px; line-height: 1.3; margin-bottom: 14px; }
.care-contact { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; border-top: 1px solid var(--line); padding-top: 24px; margin-top: 35px; }
.care-contact a { display: inline-flex; align-items: center; gap: 24px; font-size: 16px; font-weight: 600; min-height: 44px; text-decoration: underline; }
.page-home .project-paths { border-bottom: 0; }
.page-home .portfolio-lead .portfolio-photo img { aspect-ratio: 1.05; }
.page-home .portfolio-support { padding-top: 30px; }
@media(max-width:900px) { .trust-foundations a { padding-inline: 18px; } .care-steps { gap: 24px; } }
@media(max-width:700px) {
  .hero-editorial h1 { font-size: clamp(40px,10.8vw,56px); }
  .hero-editorial .hero-copy { max-width: 100%; }
  .trust-foundations > .container, .care-steps { grid-template-columns: 1fr; }
  .trust-foundations > .container { padding-block: 10px; }
  .trust-foundations a, .trust-foundations a:first-child { padding: 16px 0; }
  .trust-foundations a + a { border-left: 0; border-top: 1px solid var(--line); }
  .trust-foundations a > span { min-height: 32px; }
  .care-steps { gap: 28px; }
  .care-contact { align-items: start; flex-direction: column; }
  .page-home .portfolio-support { padding-top: 0; }
}

/* Reading order: heading, explanation, choices, then the next step.
   Keep these rules last so every page shares the same reading rhythm. */
#main h1, #main h2, #main h3 { text-wrap: balance; }
#main h1, #main h2 { letter-spacing: -.025em; }
#main h2 { font-size: clamp(32px, 3.2vw, 44px); line-height: 1.22; }
#main h3 { line-height: 1.3; letter-spacing: -.015em; }
#main em { letter-spacing: inherit; }
#main p:not(.eyebrow) { text-wrap: pretty; }
#main p, #main li, #main dd { overflow-wrap: break-word; }
#main .section > p:not(.eyebrow), #main .two-col > div > p:not(.eyebrow) { max-width: 62ch; }
#main .eyebrow + h1, #main .eyebrow + h2 { margin-top: 16px; }
#main h2 + p:not(.eyebrow), #main h3 + p:not(.eyebrow) { margin-top: 16px; }
#main .section-head { align-items: end; gap: 24px 36px; }
#main .section-head > div { min-width: 0; }
#main .section-head h2 { max-width: 26ch; }
#main .section-head + .section-description { margin-top: -8px; margin-bottom: 32px; }
#main .page-intro:not(.policy-intro) h1 { font-size: clamp(42px, 4.6vw, 66px); line-height: 1.15; }
#main .brand-story-hero h1, #main .renovation-intro h1 { font-size: clamp(42px, 4.6vw, 66px); line-height: 1.15; }
#main .pool-hero-copy h1 { font-size: clamp(42px, 4.6vw, 66px); line-height: 1.15; }
#main .policy-content { max-width: 760px; }
#main .policy-content article { scroll-margin-top: var(--section-offset); }
#main .policy-content article + article { padding-top: 32px; margin-top: 40px; }
#main .policy-content h2 { font-size: clamp(28px, 2.7vw, 36px); margin-bottom: 20px; }
#main .policy-content p { max-width: 62ch; }
#main .policy-content .privacy-summary { margin-bottom: 40px; }
#main .pool-approach-copy dt { font-size: 14px; line-height: 1.6; }
#main .pool-approach-copy dd { line-height: 1.75; }
#main .faq-list summary { line-height: 1.6; padding-block: 22px; }
#main .faq-answer { padding-bottom: 24px; }
#main .faq-answer p { max-width: 58ch; }
.button-row { row-gap: 14px; }
.button, .text-link { white-space: normal; }

@media (max-width: 800px) {
  /* Let headings wrap with the available width instead of preserving poster lines. */
  #main .heading-break { display: none; }
  #main .section-head { align-items: start; }
  #main .section-head h2 { max-width: 26ch; }
}
@media (max-width: 700px) {
  #main h2 { font-size: clamp(30px, 8vw, 36px); }
  #main .page-intro:not(.policy-intro) h1,
  #main .brand-story-hero h1, #main .renovation-intro h1,
  #main .pool-hero-copy h1 { font-size: clamp(38px, 10vw, 50px); }
  #main .hero-editorial h1 { max-width: 15ch; line-height: 1.16; }
  #main .section-head { display: flex; flex-direction: column; gap: 16px; margin-bottom: 28px; }
  #main .section-head > .text-link { margin-top: 0; }
  #main .section-head + .section-description { margin-top: 0; }
  .section { padding-block: 56px; }
  .section-topless, .selected-work { padding-top: 0; }
  .pool-detail-hero .pool-hero-figure { min-height: 0; }
}

@media print {
  @page { margin: 18mm 16mm; }
  html { scroll-padding-top: 0; }
  body { font-size: 11pt; line-height: 1.5; }
  #main p:not(.eyebrow), #main li, #main dd { font-size: 11pt; line-height: 1.5; color: #222; }
  #main h1 { font-size: 28pt !important; max-width: none; }
  #main h2 { font-size: 20pt; }
  #main h3 { font-size: 15pt; }
  #main .eyebrow { color: #333; }
  h1, h2, h3, dt, figcaption, .section-head { break-after: avoid-page; }
  p, li { orphans: 3; widows: 3; }
  figure, tr, .care-steps li, .pool-stage-grid article,
  .project-path, .home-pool-card, .gallery-card { break-inside: avoid-page; }
  .section, .pool-approach { break-inside: auto; padding-block: 18pt; }
  .container { width: 100%; max-width: none; }
  .page-outline, .pool-approach-nav, .gallery-filters, .comparison-tools,
  .hero-photo-note, .hero-image, .pool-hero-figure, .button-row,
  .request-choices, .request-launch, .hosted-request, .site-breadcrumbs { display: none !important; }
  .hero-editorial { display: block; min-height: 0; height: auto; border: 0; }
  .hero-editorial .hero-content { padding-block: 12pt; }
  #main .hero-editorial .hero-copy { max-width: 62ch; }
  .hero-editorial .eyebrow { max-width: none; }
  .pool-detail-hero, .brand-story-hero, .renovation-intro,
  .pool-approach, .two-col, .construction-split, .brand-principles,
  .pool-resource-layout, .process-timeline, .project-next,
  .pool-collection-intro, .gallery-intro { display: block; }
  .brand-story-hero figure, .renovation-intro figure { margin-top: 18pt; }
  #main figure img { max-height: 85mm; width: auto; max-width: 100%; object-fit: contain; }
  .page-home .portfolio-composition, .project-path-grid,
  .home-pool-grid, .care-steps, .pool-stage-grid { display: block; }
  .care-steps li, .pool-stage-grid article, .project-path, .home-pool-card { margin-block: 16pt; }
  .pool-approach-copy { margin-top: 16pt; }
  .table-scroll, .comparison-scroll { overflow: visible; }
  table.comparison-table { width: 100%; min-width: 0; table-layout: fixed; }
  .comparison-table th, .comparison-table td, .comparison-table th:first-child { position: static; min-width: 0; width: auto; font-size: 9pt; overflow-wrap: anywhere; }
  .comparison-table thead th { font-size: 13pt; }
  thead { display: table-header-group; }
  #main .closing { color: #111; background: white; }
  #main .closing h2, #main .closing p { color: #111; }
}

/* Burton home: real projects, clear choices, and a useful path into planning. */
.page-home { --hp-green:#285e59; --hp-cream:#f4f0e6; --hp-line:#d3d8cf; background:#fcfbf7; }
.page-home #main { overflow:clip; }
.page-home #main .eyebrow { font-size:12px; line-height:1.7; letter-spacing:.12em; color:#6e5b37; }
.page-home #main h2 { font-size:clamp(36px,3.55vw,52px); line-height:1.12; letter-spacing:-.035em; }
.page-home #main h3 { font-size:29px; line-height:1.2; letter-spacing:-.025em; }
.page-home #main p { font-size:17px; line-height:1.75; }
.page-home #main em { color:var(--hp-green); }
.page-home #main a:focus-visible { outline:3px solid var(--hp-green); outline-offset:6px; }
.page-home #main .button { min-height:56px; font-size:15px; gap:28px; }
.hp-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:46px; font-size:15px; font-weight:600; text-decoration:underline; text-decoration-color:#a1afa2; text-underline-offset:7px; }
.hp-link>span { font-size:22px; font-weight:400; }
.hp-link:hover { color:var(--hp-green); text-decoration-color:currentColor; }
.hp-hero { padding-top:32px; }
.hp-hero-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:5%; align-items:stretch; }
.hp-hero-copy { padding-block:35px 40px; align-self:center; }
.page-home #main .hp-hero h1 { font-size:clamp(54px,4.9vw,77px); line-height:1.04; letter-spacing:-.045em; margin-top:24px; }
.hp-hero-copy>p:not(.eyebrow) { max-width:42ch; }
.page-home #main .hp-hero-copy .hp-lead { font-size:22px; line-height:1.5; color:var(--ink); margin-top:27px; }
.hp-hero-copy .hp-lead+p { margin-top:18px; }
.hp-hero .button-row { margin-top:30px; gap:14px 25px; }
.page-home #main .hp-small { font-size:14px; line-height:1.65; margin-top:15px; }
.hp-hero-photo { margin:0; position:relative; min-height:560px; background:#ccd9d0; }
.hp-hero-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:53% center; }
.hp-hero-photo figcaption { position:absolute; bottom:0; inset-inline:0; display:flex; align-items:end; justify-content:space-between; gap:18px; padding:70px 28px 27px; color:white; background:linear-gradient(transparent,rgba(9,27,27,.84)); }
.hp-photo-label { display:block; font-size:12px; line-height:1.7; margin-bottom:8px; color:#f6f4e9; }
.hp-hero-photo strong { display:block; max-width:28ch; font-weight:500; font-size:18px; line-height:1.5; }
.hp-hero-photo figcaption a { display:grid; place-items:center; flex-shrink:0; width:48px; height:48px; border:1px solid #ffffffb5; font-size:25px; color:white; }
.hp-hero-photo figcaption a:hover { background:white; color:var(--ink); }
.page-home #main .hp-hero-photo a:focus-visible { outline-color:white; }
.hp-start { display:grid; grid-template-columns:.85fr repeat(3,1fr); margin-top:28px; padding-block:22px; align-items:center; gap:25px; border-top:1px solid var(--hp-line); }
.hp-start>span { color:#576561; font-size:14px; }
.hp-start>a { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:48px; padding-left:25px; border-left:1px solid var(--hp-line); font-size:16px; font-weight:600; }
.hp-start>a>span { font-size:23px; color:var(--hp-green); }
.hp-start>a:hover { text-decoration:underline; text-underline-offset:5px; color:var(--hp-green); }
.hp-trust { background:#eaf0e9; border-block:1px solid #d7dfd2; }
.hp-trust>.container { display:grid; grid-template-columns:repeat(3,1fr); padding-block:23px; }
.hp-trust a { padding:2px 32px; border-left:1px solid #c6d2c3; }
.hp-trust a:first-child { padding-left:0; border:0; }
.hp-trust a:last-child { padding-right:0; }
.hp-trust strong { display:block; color:var(--ink); font-size:17px; line-height:1.5; font-weight:600; }
.hp-trust a>span { display:flex; gap:12px; justify-content:space-between; color:#4e6256; font-size:14px; line-height:1.7; margin-top:5px; }
.hp-trust a>span>span { margin-left:auto; }
.hp-trust a:hover strong { text-decoration:underline; text-underline-offset:5px; }
.hp-section { padding-block:92px; }
.hp-section-head { display:flex; align-items:end; justify-content:space-between; gap:40px 10%; margin-bottom:38px; }
.hp-section-head>div { flex:1; }
.hp-section-head>p { flex:.83; max-width:43ch; }
.hp-section-head h2 { margin-top:16px; }
.hp-evidence-grid { display:grid; grid-template-columns:1.3fr .8fr; gap:6.5%; align-items:center; }
.hp-evidence figure { margin:0; }
.hp-evidence figure a { display:block; overflow:hidden; }
.hp-evidence figure img { width:100%; aspect-ratio:1.2; object-fit:cover; object-position:53% 58%; transition:transform .4s; }
.hp-evidence figure a:hover img { transform:scale(1.015); }
.hp-evidence figcaption,.hp-renovation figcaption { color:#58685c; margin-top:12px; font-size:13px; line-height:1.65; }
.hp-evidence-copy>h3 { margin-top:14px; }
.hp-evidence-copy ol { list-style:none; padding:0; margin:27px 0 18px; }
.hp-evidence-copy li { display:flex; gap:17px; border-top:1px solid var(--hp-line); padding-block:17px; }
.hp-evidence-copy li>span { font-size:12px; color:var(--hp-green); padding-top:4px; }
.hp-evidence-copy strong { font-size:15px; font-weight:600; }
.page-home #main .hp-evidence-copy li p { font-size:15px; line-height:1.7; margin-top:6px; }
.hp-gallery-note { display:flex; justify-content:space-between; align-items:center; gap:25px; border-top:1px solid var(--hp-line); margin-top:32px; padding-top:21px; }
.page-home #main .hp-gallery-note p { font-size:15px; }
.hp-choices { background:#f0f2eb; }
.hp-goals { padding:30px; background:white; border:1px solid #ccd5c9; }
.hp-goal-controls { border:0; padding:0; margin:0; min-width:0; }
.hp-goal-controls legend { font-size:14px; color:#54655a; margin-bottom:15px; padding:0; }
.hp-goal-controls>div { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.hp-goal-controls label { position:relative; min-width:0; cursor:pointer; }
.hp-goal-controls input { position:absolute; width:1px; height:1px; opacity:0; }
.hp-goal-controls label>span { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:54px; padding:12px 17px; border:1px solid #b6c4b5; background:#fafbf7; color:var(--ink); font-size:15px; font-weight:600; }
.hp-goal-controls label>span>span { font-size:21px; font-weight:400; }
.hp-goal-controls input:checked+span { border-color:var(--hp-green); background:var(--hp-green); color:white; }
.hp-goal-controls input:focus-visible+span { outline:3px solid #285e59; outline-offset:4px; }
.hp-goal-controls label:hover>span { border-color:var(--hp-green); }
.hp-goal-panels>article { display:grid; grid-template-columns:1fr 1fr; gap:8%; padding-top:32px; }
.hp-goal-panels>article+article { border-top:1px solid var(--hp-line); margin-top:28px; }
.hp-goal-panels>article[hidden], .hp-goal-controls[hidden] { display:none; }
.hp-goals.is-enhanced .hp-goal-panels>article { border:0; margin:0; min-height:270px; }
.hp-goal-panels h3 { margin:10px 0 14px; }
.hp-goal-panels p { max-width:47ch; }
.hp-goal-panels strong { font-size:14px; font-weight:600; }
.hp-goal-panels ul { margin:13px 0 14px; padding-left:19px; color:#4f6057; font-size:15px; line-height:1.75; }
.hp-goal-panels li { padding-block:3px; }
.hp-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.hp-method-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:54px; margin-bottom:25px; }
.hp-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.hp-method { display:flex; flex-direction:column; background:#fcfdf9; border:1px solid #d2d9cc; }
.hp-method-photo { display:block; overflow:hidden; }
.hp-method-photo img { width:100%; aspect-ratio:1.7; object-fit:cover; object-position:center 60%; transition:transform .4s; }
.hp-method-photo:hover img { transform:scale(1.025); }
.hp-method-copy { display:flex; flex-direction:column; flex:1; padding:24px; }
.hp-method h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.page-home #main .hp-method p { font-size:15px; line-height:1.7; margin-top:13px; }
.page-home #main .hp-method .hp-method-consideration { font-size:14px; padding-top:14px; border-top:1px solid #d5dccf; margin-block:18px; }
.hp-method .hp-link { margin-top:auto; align-self:start; font-size:14px; }
.hp-budget { padding-block:78px; background:#152f3b; color:white; }
.hp-budget-grid { display:grid; grid-template-columns:1fr .9fr; gap:10%; align-items:center; }
.page-home #main .hp-budget .eyebrow { color:#d9c9a5; }
.hp-budget h2 { margin-top:17px; }
.page-home #main .hp-budget em { color:#d9c9a5; }
.page-home #main .hp-budget p { color:#d9e2df; margin-top:25px; }
.hp-budget .button { margin-top:28px; background:#f2eadb; color:#152f3b; border-color:#f2eadb; }
.hp-budget .button:hover { background:white; border-color:white; }
.page-home #main .hp-budget a:focus-visible { outline-color:#f2eadb; }
.page-home #main .hp-budget .hp-small { margin-top:15px; }
.hp-scope-stack>div { display:flex; gap:23px; border-top:1px solid #5b6f72; padding-block:25px; }
.hp-scope-stack>div:last-child { border-bottom:1px solid #5b6f72; }
.hp-scope-stack>div>span { font-size:13px; color:#d9c9a5; padding-top:6px; }
.page-home #main .hp-scope-stack h3 { font-size:27px; }
.page-home #main .hp-scope-stack p { font-size:15px; line-height:1.75; margin-top:10px; max-width:40ch; }
.hp-renovation-grid { display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:center; }
.hp-renovation figure { margin:0; }
.hp-renovation img { width:100%; aspect-ratio:1.1; object-fit:cover; }
.hp-renovation h2 { margin-top:16px; }
.hp-renovation p:not(.eyebrow) { margin-top:22px; }
.hp-renovation ul { list-style:none; padding:0; margin:25px 0 15px; font-size:15px; }
.hp-renovation li { border-top:1px solid var(--hp-line); padding-block:12px; }
.hp-renovation li:before { content:'+'; color:var(--hp-green); margin-right:13px; }
.hp-process { background:var(--hp-cream); }
.hp-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; list-style:none; padding:0; margin:44px 0 0; }
.hp-steps li { border-top:1px solid #c9c9b9; padding-top:23px; }
.hp-steps li>span { font-size:12px; font-weight:600; color:#685b3c; }
.hp-steps h3 { margin-top:21px; }
.page-home #main .hp-steps p { font-size:16px; margin-top:16px; max-width:35ch; }
.hp-questions-grid { display:grid; grid-template-columns:.83fr 1fr; gap:12%; }
.hp-questions h2 { margin-top:16px; }
.hp-questions-grid>div:first-child>p:not(.eyebrow) { margin-top:25px; max-width:33ch; }
.hp-questions .hp-link { margin-top:18px; }
.hp-questions summary { font-size:17px; padding-block:22px; }
.page-home #main .hp-questions .faq-answer p { font-size:16px; }
.hp-invitation { padding-block:76px 0; background:#e4ebe2; }
.hp-invitation-grid { display:grid; grid-template-columns:1.1fr .7fr; gap:15%; padding-bottom:58px; }
.hp-invitation h2 { margin-top:17px; }
.hp-invitation-grid>div:first-child>p:not(.eyebrow) { max-width:44ch; margin-top:25px; }
.hp-invitation .button { margin-top:28px; }
.hp-visit { align-self:center; padding-left:32px; border-left:1px solid #b6c5b4; }
.hp-phone { display:block; font-size:30px; line-height:1.5; letter-spacing:-.025em; margin-top:18px; }
.hp-phone:hover { color:var(--hp-green); text-decoration:underline; text-underline-offset:6px; }
.page-home #main .hp-visit p { font-size:16px; margin-top:14px; }
.hp-visit .hp-link { margin-top:14px; }
.hp-care { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-block:25px; border-top:1px solid #b6c5b4; }
.page-home #main .hp-care p { font-size:14px; }
.hp-care a { font-size:14px; font-weight:600; min-height:44px; display:flex; align-items:center; gap:25px; text-decoration:underline; text-underline-offset:5px; }
@media(max-width:1100px) {
  .hp-hero-grid { grid-template-columns:1fr 1fr; gap:4%; }
  .page-home #main .hp-hero h1 { font-size:clamp(47px,5.7vw,64px); }
  .hp-hero-copy { padding-block:25px; }
  .hp-hero-photo { min-height:570px; }
  .hp-goal-controls label>span { font-size:14px; padding-inline:12px; }
  .hp-evidence-grid { gap:5%; grid-template-columns:1.1fr .9fr; }
  .hp-evidence figure img { aspect-ratio:1; }
  .hp-budget-grid { gap:7%; }
  .hp-methods { gap:18px; }
  .hp-method-copy { padding:20px; }
  .hp-invitation-grid { gap:9%; }
}
@media(max-width:850px) {
  .hp-section { padding-block:68px; }
  .hp-start { gap:16px; grid-template-columns:repeat(3,1fr); }
  .hp-start>span { grid-column:1/-1; }
  .hp-start>a { padding-left:0; border:0; font-size:15px; }
  .hp-section-head { gap:35px; }
  .hp-trust a { padding-inline:20px; }
  .hp-evidence-grid { grid-template-columns:1fr; gap:30px; }
  .hp-evidence figure img { aspect-ratio:1.6; }
  .hp-evidence-copy ol { display:grid; grid-template-columns:repeat(3,1fr); gap:23px; margin-bottom:8px; }
  .hp-evidence-copy li { gap:10px; }
  .hp-evidence-copy h3 br { display:none; }
  .hp-goals { padding:24px; }
  .hp-goal-controls>div { grid-template-columns:repeat(2,1fr); }
  .hp-goal-panels>article { gap:5%; }
  .hp-budget-grid { gap:6%; }
  .hp-renovation-grid { gap:6%; }
  .hp-steps { gap:24px; }
  .hp-questions-grid { gap:7%; }
  .hp-phone { font-size:26px; }
}
@media(max-width:700px) {
  .page-home #main h2 { font-size:clamp(35px,8.7vw,44px); }
  .page-home #main .eyebrow { font-size:11px; }
  .hp-hero { padding-top:10px; }
  .hp-hero-grid { display:flex; flex-direction:column; gap:18px; }
  .hp-hero-copy { display:contents; }
  .hp-hero-copy>.eyebrow { order:0; margin-top:22px; }
  .page-home #main .hp-hero h1 { order:1; font-size:clamp(49px,12vw,72px); margin-top:0; }
  .hp-hero-photo { order:2; min-height:0; aspect-ratio:1.55; }
  .page-home #main .hp-hero-copy .hp-lead { order:3; font-size:20px; margin-top:0; }
  .hp-hero .button-row { order:4; margin-top:0; gap:10px 23px; }
  .hp-hero-copy .hp-lead+p { order:5; margin-top:0; }
  .page-home #main .hp-hero-copy .hp-small { order:6; margin-top:0; }
  .hp-hero-photo figcaption { padding:65px 20px 20px; align-items:end; }
  .hp-hero-photo strong { font-size:16px; }
  .hp-photo-label { font-size:11px; }
  .hp-hero-photo figcaption a { width:44px; height:44px; }
  .hp-start { grid-template-columns:1fr; gap:0; margin-top:22px; padding-block:13px; }
  .hp-start>span { margin-bottom:10px; }
  .hp-start>a { min-height:50px; border-top:1px solid #d8dfd2; font-size:16px; }
  .hp-trust>.container { grid-template-columns:1fr; padding-block:5px; }
  .hp-trust a,.hp-trust a:first-child,.hp-trust a:last-child { padding:16px 0; border-left:0; border-top:1px solid #c6d2c3; }
  .hp-trust a:first-child { border-top:0; }
  .hp-trust a>span { margin-top:2px; }
  .hp-section { padding-block:56px; }
  .hp-section-head { display:block; margin-bottom:29px; }
  .hp-section-head>p { margin-top:22px; max-width:44ch; }
  .hp-section-head>.hp-link { margin-top:18px; }
  .hp-evidence figure img { aspect-ratio:1.12; }
  .hp-evidence-grid { gap:26px; }
  .hp-evidence-copy ol { grid-template-columns:1fr; gap:0; margin-top:22px; }
  .hp-evidence-copy li { gap:17px; }
  .hp-evidence figcaption,.hp-renovation figcaption { font-size:12px; }
  .hp-gallery-note { display:block; margin-top:25px; }
  .hp-gallery-note .hp-link { margin-top:10px; }
  .hp-goals { padding:22px 19px; }
  .hp-goal-controls label>span { font-size:14px; min-height:52px; }
  .hp-goal-controls label>span>span { font-size:18px; }
  .hp-goal-panels>article { grid-template-columns:1fr; gap:23px; padding-top:26px; }
  .hp-goals.is-enhanced .hp-goal-panels>article { min-height:0; }
  .page-home #main .hp-goal-panels h3 { font-size:28px; }
  .hp-goal-panels .hp-link { font-size:14px; gap:14px; }
  .hp-method-heading { display:block; margin-top:36px; }
  .hp-method-heading .hp-link { margin-top:12px; }
  .hp-methods { grid-template-columns:1fr; gap:25px; }
  .hp-method-photo img { aspect-ratio:1.55; }
  .hp-method-copy { padding:23px; }
  .page-home #main .hp-method p { font-size:16px; }
  .hp-budget { padding-block:56px; }
  .hp-budget-grid { grid-template-columns:1fr; gap:35px; }
  .hp-budget .button { font-size:14px; }
  .hp-scope-stack>div { padding-block:22px; }
  .hp-renovation-grid { grid-template-columns:1fr; gap:30px; }
  .hp-renovation img { aspect-ratio:1.2; }
  .hp-renovation p:not(.eyebrow) { margin-top:21px; }
  .hp-steps { grid-template-columns:1fr; gap:25px; margin-top:30px; }
  .hp-steps h3 { margin-top:16px; }
  .hp-steps p { max-width:43ch; }
  .hp-questions-grid { grid-template-columns:1fr; gap:28px; }
  .hp-invitation { padding-top:56px; }
  .hp-invitation-grid { grid-template-columns:1fr; gap:35px; padding-bottom:35px; }
  .hp-visit { border-left:0; border-top:1px solid #b6c5b4; padding:28px 0 0; }
  .hp-phone { font-size:30px; margin-top:12px; }
  .hp-care { display:block; padding-block:21px; }
  .hp-care a { margin-top:10px; }
}
@media print {
  .hp-hero-grid,.hp-evidence-grid,.hp-methods,.hp-budget-grid,.hp-renovation-grid,.hp-steps,.hp-questions-grid,.hp-invitation-grid { display:block; }
  .hp-section,.hp-budget,.hp-invitation { padding-block:20pt; }
  .hp-hero-photo,.hp-start,.hp-goal-controls,.hp-care,.hp-invitation .button { display:none; }
  .hp-goal-panels>article[hidden] { display:grid; }
  .hp-budget { background:white; color:#111; }
  .page-home #main .hp-budget p,.page-home #main .hp-budget em,.page-home #main .hp-budget .eyebrow { color:#111; }
}

/* Practical guide paths within the studio invitation. */
.hp-studio-invitation .hp-studio-guides{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid #b9c8b2;padding-top:25px;margin-top:28px}
.hp-studio-guides a{display:block;min-width:0;padding-block:8px;color:#18333f;text-decoration:none}
.hp-studio-guides a>span{display:block;font-size:12px;line-height:1.7;color:#425c4c}
.hp-studio-invitation .hp-studio-guides strong{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:7px;font-size:15px;line-height:1.7;font-weight:600}
.hp-studio-guides a:hover strong{text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){.hp-studio-invitation .hp-studio-guides{grid-template-columns:1fr;gap:10px;margin-top:0;padding-top:16px}.hp-studio-guides a+a{border-top:1px solid #c4d0be;padding-top:15px}}

/* Readable, reusable guidance for the expanded customer pages. */
.ex-page-nav { display:flex; align-items:center; gap:8px; overflow-x:auto; padding-block:14px; margin-bottom:10px; border-block:1px solid var(--line); scrollbar-width:thin; scroll-margin-top:0; }
.ex-page-nav a { display:inline-flex; align-items:center; flex-shrink:0; min-height:44px; padding:8px 14px; border:1px solid #d6dbd3; background:#fff; color:var(--ink); font-size:14px; line-height:1.5; }
.ex-page-nav a:hover { background:#edf2ed; border-color:#9aafa4; }
.ex-page-nav a:focus-visible { outline-offset:-4px; }
.ex-section, .ex-section [id], .ex-grid[id], .ex-checklist[id] { scroll-margin-top:0; }
.ex-soft { background:#f0f3ee; }
.ex-intro { max-width:760px; margin-bottom:34px; }
#main .ex-intro h2 { margin-top:14px; }
#main .ex-intro > p:not(.eyebrow) { margin-top:18px; font-size:17px; max-width:64ch; }
.ex-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.ex-grid:has(> :nth-child(4):last-child), .ex-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ex-grid > *, .ex-checklist-panel > * { min-width:0; }
.ex-card { border-top:1px solid #bbc8bc; padding-top:24px; }
#main .ex-card h3 { font-size:clamp(25px,2.3vw,30px); line-height:1.25; }
#main .ex-card p, #main .ex-card li { font-size:17px; line-height:1.75; }
#main .ex-card p { margin-top:15px; max-width:53ch; }
.ex-card .eyebrow { margin-top:0; }
.ex-card .text-link { margin-top:18px; font-size:15px; }
.ex-grid + .ex-intro { margin-top:28px; }
.ex-grid + .ex-checklist { margin-top:34px; }
.ex-checklist > h3 { margin-bottom:22px; }
.construction-resources > article { border-bottom:1px solid var(--line); padding-block:22px; }
.construction-resources > article:first-child { padding-top:0; }
.construction-resources > article h3 { font-size:28px; }
.construction-resources > article p { margin-top:14px; font-size:17px; }
.ex-card a:not(.button):not(.text-link), .ex-checklist a, .ex-intro a:not(.button):not(.text-link) { text-decoration:underline; text-underline-offset:4px; }
.ex-checklist-panel { display:grid; grid-template-columns:.85fr 1.15fr; gap:9%; padding:40px; background:#f1eee6; border:1px solid #ddd8cc; }
#main .ex-checklist-panel h2 { margin-top:14px; font-size:clamp(30px,3vw,40px); }
#main .ex-checklist-panel p { margin-top:18px; font-size:17px; }
.ex-checklist { padding:0; margin:0; list-style:none; }
#main .ex-checklist li, #main .ex-checklist ul li, #main .ex-checklist ol li { position:relative; border-top:1px solid #cbd2c8; padding:15px 0 15px 25px; font-size:17px; line-height:1.75; }
.ex-checklist li::before { content:'✓'; color:#2e6465; position:absolute; left:0; top:15px; font-size:16px; }
.ex-checklist li:first-child { border-top:0; padding-top:0; }
.ex-checklist li:first-child::before { top:0; }
.ex-checklist ul, .ex-checklist ol { padding:0; margin-top:22px; list-style:none; }
.ex-links { display:flex; flex-wrap:wrap; align-items:center; gap:14px 30px; margin-top:26px; }
.ex-links a { display:inline-flex; align-items:center; gap:20px; min-height:44px; font-size:15px; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.ex-note { margin-top:28px; padding:20px 24px; border-left:3px solid #729486; background:#f0f3ee; }
#main .ex-note p { font-size:16px; line-height:1.75; }
.ex-process-deliverables { padding:0; margin:18px 0 0; list-style:none; display:flex; flex-wrap:wrap; gap:8px; }
.ex-process-deliverables li { font-size:13px; color:#3d5a59; background:#edf2ed; border:1px solid #d8dfd5; padding:5px 10px; line-height:1.6; }
.ex-process-note { margin-top:18px; border-top:1px solid var(--line); padding-top:16px; }
#main .ex-process-note strong { color:var(--ink); font-weight:600; }
#main .ex-process-note p { font-size:16px; }
.page-home .bp-guidance { background:#eef2ee; }
.page-home .bp-guidance .ex-card h3 { font-size:28px; }
.page-home .bp-guidance .ex-card p { font-size:17px; }
.policy-content .ex-page-nav { width:100%; margin:0 0 30px; }
@media(max-width:1000px) {
  .ex-grid { gap:26px; }
  .ex-checklist-panel { padding:30px; gap:6%; }
}
@media(max-width:800px) {
  .ex-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ex-checklist-panel { grid-template-columns:1fr; gap:28px; }
  .ex-intro { margin-bottom:28px; }
}
@media(max-width:600px) {
  .ex-page-nav { gap:8px; padding-block:11px; }
  .ex-page-nav a { font-size:14px; padding-inline:12px; }
  .ex-grid, .ex-grid:has(> :nth-child(4):last-child), .ex-grid--two { grid-template-columns:1fr; gap:28px; }
  .ex-card { padding-top:22px; }
  .ex-checklist-panel { padding:25px 22px; }
  #main .ex-card h3 { font-size:27px; }
  .ex-process-deliverables { gap:7px; }
  .ex-links { gap:10px 24px; }
}
@media print {
  .ex-page-nav { display:none; }
  .ex-grid, .ex-checklist-panel, .ex-grid:has(> :nth-child(4):last-child) { display:block; }
  .ex-card { margin-block:15pt; break-inside:avoid; }
  .ex-checklist-panel { background:white; padding:16pt; }
  .ex-process-deliverables li { color:#222; }
}

/* Clear choices, readable controls and visible feedback. */
.ux-project-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:26px; max-width:520px; }
.ux-project-paths a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:46px; padding:10px 12px; background:white; border:1px solid #b4c2b7; color:var(--ink); font-size:14px; line-height:1.5; font-weight:600; }
.ux-project-paths a:hover { background:#edf2ee; border-color:#2e6465; text-decoration:underline; text-underline-offset:4px; }
.ux-project-paths a>span { color:#2e6465; font-size:20px; }
#main .ux-action-note, .page-home #main .bp-hero-copy .ux-action-note { font-size:14px; line-height:1.65; margin-top:14px; max-width:57ch; color:#4e5961; }
.ux-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:42px; }
.ux-summary-item { display:flex; flex-direction:column; align-items:start; min-width:0; padding:25px; border:1px solid #d0d7cd; background:white; color:var(--ink); }
.ux-summary-item>strong { font:400 28px/1.25 var(--display); }
.ux-summary-item>span { font-size:16px; line-height:1.7; color:#4e5961; margin-top:14px; }
.ux-summary-item>span:last-child { padding-top:20px; margin-top:auto; color:var(--ink); font-size:14px; font-weight:600; }
.ux-summary-item:hover { border-color:#577e6e; background:#f4f7f2; }
.ux-summary-item:hover>span:last-child { text-decoration:underline; text-underline-offset:4px; }
.ux-next-step { display:flex; justify-content:space-between; align-items:center; gap:35px; padding:30px 34px; border:1px solid #cbd5c9; background:#eff3ee; margin-block:10px 64px; }
.ux-next-step>div { min-width:0; }
#main .ux-next-step h3 { font-size:29px; line-height:1.3; }
#main .ux-next-step p { font-size:17px; line-height:1.75; margin-top:12px; max-width:64ch; }
.ux-next-step>.button { flex-shrink:0; max-width:100%; font-size:15px; }
.ux-assurance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-block:24px; border-block:1px solid var(--line); padding-block:24px; }
.ux-assurance-item { min-width:0; padding-left:20px; border-left:1px solid var(--line); }
.ux-assurance-item:first-child { padding-left:0; border-left:0; }
.ux-assurance-item strong { display:block; color:var(--ink); font-size:15px; line-height:1.6; }
#main .ux-assurance-item p { font-size:15px; line-height:1.7; margin-top:8px; max-width:37ch; }
.ux-disclosure { padding:24px 0; border-block:1px solid #c5cfc3; margin-top:30px; }
.ux-disclosure>summary { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:44px; cursor:pointer; list-style:none; font-size:18px; color:var(--ink); font-weight:600; }
.ux-disclosure>summary::-webkit-details-marker { display:none; }
.ux-disclosure>summary>span { font-size:24px; font-weight:400; }
.ux-disclosure[open]>summary>span { transform:rotate(45deg); }
.ux-disclosure>div { padding-top:28px; }
.ux-story-actions { margin-top:28px; }
.site-footer .footer-bottom a:hover, .site-footer .footer-bottom a:focus-visible { color:#245859; text-decoration:underline; text-underline-offset:4px; }
.gallery-dialog .dialog-bar { font-size:14px; }
.gallery-dialog .dialog-close { font-size:15px; min-height:44px; min-width:44px; padding:8px 10px; }
.gallery-dialog .dialog-actions { display:flex; flex-wrap:wrap; gap:8px 24px; }
.gallery-dialog .dialog-actions a { display:inline-flex; align-items:center; min-height:44px; padding-block:9px; font-size:15px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.gallery-dialog .dialog-controls { font-size:14px; }
.gallery-dialog .dialog-controls button { width:44px; height:44px; font-size:24px; }
.gallery-dialog .dialog-description { align-items:start; gap:24px; }
.gallery-dialog .dialog-description p { font-size:15px; line-height:1.65; }
.gallery-dialog .dialog-description h2 { font-size:29px; line-height:1.25; }
.design-card-actions { flex-wrap:wrap; }
.design-card-actions .topic-choice { max-width:100%; min-height:48px; font-size:15px; line-height:1.5; text-align:left; white-space:normal; gap:15px; }
.design-card-actions .topic-choice [data-choice-label] { min-width:0; }
.design-card-actions .topic-choice[aria-pressed=true] { background:#2e6465; border-color:#2e6465; color:white; }
@media(max-width:1000px) {
  .ux-summary { gap:16px; }
  .ux-summary-item { padding:21px; }
  .ux-summary-item>strong { font-size:26px; }
  .ux-next-step { align-items:start; flex-direction:column; gap:22px; }
}
@media(max-width:700px) {
  .ux-summary { grid-template-columns:1fr; gap:14px; margin-bottom:30px; }
  .ux-summary-item { padding:22px; }
  .ux-summary-item>span:last-child { padding-top:14px; }
  .ux-summary-item>strong { font-size:28px; }
  .ux-next-step { margin-block:0 48px; padding:26px 23px; }
  .ux-assurance { grid-template-columns:1fr; gap:18px; padding-block:22px; }
  .ux-assurance-item { border-left:0; border-top:1px solid var(--line); padding:18px 0 0; }
  .ux-assurance-item:first-child { border-top:0; padding-top:0; }
  #main .ux-assurance-item p { max-width:46ch; }
  .gallery-dialog .dialog-description h2 { font-size:27px; }
  .gallery-dialog .dialog-controls { justify-content:space-between; }
  .gallery-dialog .dialog-close { font-size:15px; }
  .gallery-dialog .dialog-actions a { font-size:15px; }
  .ux-disclosure>summary { font-size:17px; }
}
@media(max-width:480px) {
  .ux-project-paths a { justify-content:center; padding-inline:5px; font-size:14px; }
  .ux-project-paths a>span { display:none; }
}
@media print {
  .ux-project-paths, .ux-next-step, .ux-summary, .ux-assurance { display:block; }
  .ux-summary-item, .ux-assurance-item { margin-block:14pt; }
  .ux-story-actions { display:none; }
}

/* Project-cost education. Every rule is scoped to this guide. */
.cost-page { --cost-teal:#2e6465; --cost-rule:#d1d9d2; --cost-soft:#eef2ee; }
.cost-page a:focus-visible { outline:3px solid var(--cost-teal); outline-offset:5px; }
.cost-hero { display:grid; grid-template-columns:1.4fr .8fr; gap:8%; align-items:center; padding-block:48px 58px; }
.cost-hero h1 { font-size:clamp(42px,4.2vw,64px); line-height:1.13; letter-spacing:-.035em; margin-top:18px; }
.cost-hero .page-lead { max-width:51ch; margin-top:24px; font-size:18px; line-height:1.8; }
.cost-hero .button-row { margin-top:28px; }
.cost-start { padding:32px; background:var(--cost-soft); border-top:3px solid var(--cost-teal); }
.cost-start-number { display:block; color:var(--cost-teal); font:italic 38px/1 Georgia,serif; margin-bottom:25px; }
#main .cost-start h2 { font-size:29px; line-height:1.2; }
.cost-start>p { margin-top:18px; font-size:16px; }
.cost-start .text-link { margin-top:20px; }
#main .cost-page .cost-note { font-size:13px; line-height:1.75; color:#566266; }
.cost-start .cost-note { padding-top:20px; margin-top:22px; border-top:1px solid var(--cost-rule); }
.cost-page-nav { display:flex; flex-wrap:wrap; gap:0 30px; border-block:1px solid var(--cost-rule); }
.cost-page-nav a { display:flex; align-items:center; min-height:58px; font-size:14px; line-height:1.5; font-weight:600; }
.cost-page-nav a:hover { color:var(--cost-teal); text-decoration:underline; text-underline-offset:5px; }
.cost-section-aside { max-width:42ch; font-size:17px; line-height:1.75; }
.cost-drivers { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 65px; }
.cost-drivers li { display:grid; grid-template-columns:40px 1fr; gap:20px; border-top:1px solid var(--cost-rule); padding-top:24px; }
.cost-index { font:italic 26px/1.4 Georgia,serif; color:var(--cost-teal); }
#main .cost-drivers h3 { font-size:29px; }
.cost-drivers p { font-size:16px; line-height:1.8; }
.cost-drivers .text-link { margin-top:16px; }
.cost-scope { background:var(--cost-soft); }
.cost-scope-layout { display:grid; grid-template-columns:.82fr 1.3fr; gap:10%; align-items:start; }
.cost-scope-intro>p:not(.eyebrow) { margin-top:24px; max-width:34ch; font-size:17px; line-height:1.8; }
.cost-scope-key { padding-block:20px; border-block:1px solid #c9d2c9; }
.cost-scope-key strong { color:var(--ink); font-weight:600; }
.cost-scope-list { margin:0; }
.cost-scope-list>div { display:grid; grid-template-columns:.7fr 1.2fr; gap:24px; padding-block:22px; border-top:1px solid #c9d2c9; }
.cost-scope-list>div:first-child { padding-top:0; border-top:0; }
.cost-scope-list dt { font-size:16px; font-weight:600; line-height:1.6; color:var(--ink); }
.cost-scope-list dd { margin:0; font-size:15px; line-height:1.8; color:var(--muted,#566266); }
.cost-compare-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.cost-compare-grid article { padding-top:24px; border-top:1px solid var(--cost-rule); }
#main .cost-compare-grid h3 { font-size:27px; }
.cost-compare-grid p { font-size:16px; line-height:1.8; }
.cost-question { display:flex; gap:24px; max-width:860px; padding:32px 40px; margin:45px auto 0; background:#f4f1e9; }
.cost-question>span { font:72px/.9 Georgia,serif; color:#8d7c59; }
#main .cost-question p { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#6b5d42; line-height:1.7; }
.cost-question blockquote { margin:12px 0 0; color:var(--ink); font-family:var(--serif,Georgia,serif); font-size:30px; line-height:1.35; }
.cost-ownership { background:#f6f6f0; }
.cost-ownership-layout { display:grid; grid-template-columns:1fr 1fr; gap:12%; }
.cost-ownership-layout>div>p:not(.eyebrow) { margin-top:24px; max-width:43ch; font-size:17px; line-height:1.8; }
.cost-ownership-layout .text-link { margin-top:22px; }
.cost-owner-list { margin:0; padding:0; list-style:none; }
.cost-owner-list li { padding-block:18px; border-top:1px solid var(--cost-rule); }
.cost-owner-list li:first-child { padding-top:0; border-top:0; }
.cost-owner-list strong { display:block; font-size:16px; font-weight:600; color:var(--ink); }
.cost-owner-list span { display:block; margin-top:6px; font-size:16px; line-height:1.75; }
.cost-questions { display:grid; grid-template-columns:.8fr 1.2fr; gap:10%; }
.cost-questions-intro .text-link { margin-top:24px; }
.cost-questions .faq-list summary { font-size:17px; }
.cost-questions .faq-answer p { font-size:16px; }
.cost-next { padding-block:65px; color:white; background:var(--ink); }
.cost-next>.container { display:flex; justify-content:space-between; align-items:center; gap:45px; }
.cost-next .eyebrow { color:#d9c9a6; }
.cost-next h2 { margin-top:16px; }
#main .cost-next h2 em { color:#d9c9a6; }
.cost-next p:not(.eyebrow) { color:#d9e0dc; max-width:49ch; margin-top:20px; font-size:17px; }
.cost-next .button { flex-shrink:0; background:#f5f2e9; color:var(--ink); border-color:#f5f2e9; }
.cost-next .button:hover { background:#dce7df; border-color:#dce7df; }
@media(max-width:1000px) {
  .cost-hero { gap:5%; grid-template-columns:1.15fr .85fr; }
  .cost-start { padding:25px; }
  .cost-drivers { column-gap:35px; }
  .cost-scope-layout { gap:6%; }
  .cost-scope-list>div { grid-template-columns:1fr; gap:8px; }
  .cost-compare-grid { gap:25px; }
  .cost-next>.container { align-items:start; flex-direction:column; gap:28px; }
}
@media(max-width:700px) {
  .cost-hero { grid-template-columns:1fr; gap:36px; padding-block:35px 36px; }
  .cost-hero h1 { font-size:clamp(38px,10vw,50px); }
  .cost-hero .page-lead { font-size:17px; }
  .cost-hero h1 br { display:none; }
  .cost-start { padding:27px; }
  .cost-start-number { margin-bottom:20px; }
  .cost-page-nav { gap:0; display:grid; grid-template-columns:1fr 1fr; padding-block:10px; }
  .cost-page-nav a { padding-block:8px; padding-right:14px; min-height:50px; font-size:13px; }
  .cost-drivers { grid-template-columns:1fr; gap:28px; }
  .cost-drivers li { grid-template-columns:30px 1fr; gap:16px; padding-top:20px; }
  #main .cost-drivers h3 { font-size:27px; }
  .cost-section-aside { font-size:16px; }
  .cost-scope-layout, .cost-ownership-layout, .cost-questions { grid-template-columns:1fr; gap:35px; }
  .cost-scope-intro>p:not(.eyebrow) { max-width:55ch; font-size:16px; }
  .cost-scope-list>div:first-child { border-top:1px solid #c9d2c9; padding-top:22px; }
  .cost-compare-grid { grid-template-columns:1fr; gap:28px; }
  .cost-question { margin-top:32px; padding:28px 23px; gap:16px; }
  .cost-question>span { font-size:54px; }
  .cost-question blockquote { font-size:26px; }
  .cost-ownership-layout>div>p:not(.eyebrow) { font-size:16px; }
  .cost-owner-list li:first-child { padding-top:18px; border-top:1px solid var(--cost-rule); }
  .cost-questions .faq-list summary { font-size:16px; }
  .cost-next { padding-block:50px; }
  .cost-next p:not(.eyebrow) { font-size:16px; }
}
@media print {
  .cost-page-nav, .cost-next { display:none; }
  .cost-hero, .cost-scope-layout, .cost-ownership-layout, .cost-questions { display:block; }
  .cost-start, .cost-question { padding:16pt; margin-top:20pt; }
  .cost-scope-list { margin-top:20pt; }
  .cost-scope-list>div { break-inside:avoid; }
}

/* Project stories: real photography, observable details, and useful planning. */
.pj-project { --pj-line: #cbd2ca; }
.pj-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding-top:30px; font-size:13px; line-height:1.6; color:var(--muted); }
.pj-breadcrumb a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.pj-hero { display:grid; grid-template-columns:1.1fr .9fr; align-items:end; gap:9%; padding-block:45px 48px; }
#main .pj-hero h1 { font-size:clamp(45px,5.2vw,76px); line-height:1.07; max-width:15ch; margin-top:23px; }
.pj-introduction > p:first-child { max-width:45ch; color:var(--ink); font-size:18px; line-height:1.7; }
.pj-introduction > .button { margin-top:25px; }
#main .pj-introduction .pj-action-note { max-width:44ch; font-size:13px; line-height:1.7; margin-top:15px; }
.pj-photo { margin-block:0; }
.pj-photo .story-image { width:100%; }
.pj-photo .story-image img { aspect-ratio:1.72; width:100%; height:auto; object-fit:cover; }
.pj-photo .story-image .gallery-expand { width:auto; height:auto; left:auto; right:20px; bottom:20px; padding:13px 17px; background:var(--paper); color:var(--ink); font:600 13px/1.5 var(--sans,Arial,sans-serif); text-transform:none; letter-spacing:0; border-radius:0; }
.pj-photo figcaption { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding-block:15px 18px; color:var(--muted); font-size:13px; line-height:1.7; }
.pj-photo .story-pool-link { display:inline-flex; gap:14px; font-size:13px; color:var(--ink); }
.pj-photo .story-pool-link > span { font-size:19px; }
.pj-page-nav { display:flex; flex-wrap:wrap; gap:14px 35px; border-block:1px solid var(--pj-line); padding-block:16px; }
.pj-page-nav a { display:inline-flex; align-items:center; gap:18px; min-height:30px; font-size:14px; font-weight:600; }
.pj-page-nav a > span { font-size:19px; font-weight:400; }
.pj-details { background:var(--paper); }
.pj-detail-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:12%; align-items:start; }
#main .pj-section-intro h2, #main .pj-planning-head h2 { font-size:clamp(36px,3.7vw,54px); line-height:1.12; }
.pj-section-intro > p:not(.eyebrow) { margin-top:25px; max-width:37ch; font-size:17px; line-height:1.75; }
.pj-resource { margin-top:23px; }
.pj-features > article { display:grid; grid-template-columns:30px 1fr; gap:20px; border-top:1px solid var(--pj-line); padding-block:27px 33px; }
.pj-features > article:last-child { border-bottom:1px solid var(--pj-line); }
.pj-features .feature-index { font:13px/1.5 var(--sans,Arial,sans-serif); color:var(--muted); padding-top:4px; }
#main .pj-features h3 { font-size:clamp(25px,2.2vw,32px); line-height:1.2; }
.pj-features p { margin-top:13px; max-width:55ch; font-size:17px; line-height:1.75; }
.pj-question { padding-block:65px 70px; background:#dfe8e1; text-align:center; }
.pj-question .container { max-width:980px; }
#main .pj-question h2 { font-size:clamp(32px,3.3vw,47px); line-height:1.25; margin-top:20px; }
.pj-question .text-link { margin-top:25px; }
.pj-planning-head { display:grid; grid-template-columns:.85fr 1.15fr; gap:12%; align-items:end; }
.pj-planning-head > p { max-width:54ch; font-size:17px; line-height:1.75; }
.pj-planning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin-top:45px; }
.pj-planning-grid article { display:flex; flex-direction:column; align-items:start; padding-top:22px; border-top:1px solid var(--pj-line); }
.pj-step { color:var(--muted); font-size:12px; line-height:1.6; }
#main .pj-planning-grid h3 { font-size:26px; line-height:1.2; margin-top:17px; }
.pj-planning-grid p { font-size:16px; line-height:1.75; margin-top:17px; margin-bottom:20px; }
.pj-planning-grid .text-link { margin-top:auto; font-size:14px; gap:20px; }
.pj-scope-note { display:flex; justify-content:space-between; align-items:center; gap:45px; border-top:1px solid var(--pj-line); padding-top:25px; margin-top:45px; }
.pj-scope-note p { font-size:14px; line-height:1.75; max-width:76ch; }
.pj-scope-note .text-link { flex-shrink:0; font-size:14px; }
.pj-planning-action { display:flex; flex-wrap:wrap; align-items:center; gap:18px 26px; margin-top:32px; }
.pj-planning-action p { font-size:13px; max-width:38ch; line-height:1.65; }
.pj-related { background:var(--sand); }
.pj-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px; }
.pj-related-grid .story-related-photo { display:block; overflow:hidden; }
.pj-related-grid .story-related-photo img { width:100%; aspect-ratio:1.5; object-fit:cover; transition:transform .5s ease; }
.pj-related-grid .story-related-photo:hover img { transform:scale(1.025); }
.pj-related-grid .eyebrow { color:var(--muted); margin-top:22px; font-size:11px; }
#main .pj-related-grid h3 { font-size:clamp(26px,2.7vw,38px); line-height:1.2; margin-top:10px; }
.pj-related-grid .text-link { font-size:14px; margin-top:16px; }
.pj-project [id] { scroll-margin-top:125px; }
@media (max-width:960px) {
  .pj-hero { gap:6%; grid-template-columns:1fr 1fr; }
  #main .pj-hero h1 { font-size:clamp(42px,5.4vw,58px); }
  .pj-introduction > p:first-child { font-size:17px; }
  .pj-detail-layout, .pj-planning-head { gap:7%; grid-template-columns:.9fr 1.1fr; }
  .pj-planning-grid { gap:25px; }
  .pj-scope-note { align-items:start; flex-direction:column; gap:15px; }
}
@media (max-width:700px) {
  .pj-breadcrumb { padding-top:23px; font-size:12px; gap:8px; }
  .pj-hero { grid-template-columns:1fr; gap:27px; padding-block:30px 32px; }
  #main .pj-hero h1 { font-size:clamp(40px,10.6vw,64px); line-height:1.1; margin-top:18px; }
  .pj-introduction > p:first-child { font-size:17px; max-width:47ch; }
  .pj-introduction > .button { margin-top:22px; }
  .pj-photo .story-image img { aspect-ratio:1.16; }
  .pj-photo .story-image .gallery-expand { right:12px; bottom:12px; padding:10px 12px; font-size:12px; }
  .pj-photo figcaption { display:block; font-size:12px; padding-block:12px 15px; }
  .pj-photo figcaption > span { display:block; }
  .pj-photo figcaption > span + span { margin-top:5px; }
  .pj-page-nav { gap:4px 20px; padding-block:10px; }
  .pj-page-nav a { font-size:13px; gap:10px; min-height:35px; }
  .pj-detail-layout, .pj-planning-head { grid-template-columns:1fr; gap:32px; }
  .pj-section-intro > p:not(.eyebrow) { max-width:50ch; margin-top:21px; }
  .pj-features > article { grid-template-columns:24px 1fr; gap:14px; padding-block:23px 28px; }
  .pj-features p { font-size:16px; }
  .pj-question { padding-block:48px 53px; }
  #main .pj-question h2 { font-size:clamp(30px,7.7vw,42px); }
  .pj-planning-head { gap:22px; }
  .pj-planning-grid { grid-template-columns:1fr; gap:30px; margin-top:30px; }
  .pj-planning-grid p { margin-bottom:12px; }
  .pj-scope-note { margin-top:32px; }
  .pj-planning-action { display:block; }
  .pj-planning-action p { margin-top:14px; max-width:42ch; }
  .pj-related-grid { grid-template-columns:1fr; gap:37px; }
  .pj-related-grid .story-related-photo img { aspect-ratio:1.35; }
  .pj-related-grid .eyebrow { margin-top:18px; }
}
@media (prefers-reduced-motion:reduce) {
  .pj-related-grid .story-related-photo img { transition:none; }
}
@media print {
  .pj-hero, .pj-detail-layout, .pj-planning-head { display:block; }
  .pj-introduction { margin-top:20px; }
  .pj-page-nav, .pj-planning-action, .pj-related, .pj-photo .gallery-expand { display:none; }
  .pj-photo .story-image img { max-height:120mm; object-fit:contain; aspect-ratio:auto; }
  .pj-details, .pj-question { background:transparent; }
  .pj-features { margin-top:25px; }
  .pj-features article, .pj-planning-grid article { break-inside:avoid; }
}

/* Renovation studio: a photo-led service page with progressively disclosed detail. */
.renovation-studio { --rs-teal:#295c5b; --rs-rule:#d4d9d0; --rs-soft:#edf1ea; background:#fcfbf8; }
.renovation-studio a:focus-visible,.renovation-studio summary:focus-visible { outline:3px solid #548e80; outline-offset:5px; }
.renovation-studio .rs-hero { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:7%; padding-block:42px 54px; }
.renovation-studio .rs-hero-copy { padding-block:20px; }
#main .renovation-studio .rs-hero h1 { font-size:clamp(44px,4.8vw,70px); line-height:1.1; letter-spacing:-.04em; }
.renovation-studio .rs-hero h1 em { color:var(--rs-teal); }
.renovation-studio .rs-hero .page-lead { max-width:43ch; font-size:18px; line-height:1.8; margin-top:26px; }
.renovation-studio .renovation-intro-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 26px; margin-top:28px; }
.renovation-studio .rs-hero .button { font-size:14px; padding:18px 22px; min-height:56px; gap:26px; }
#main .renovation-studio .rs-hero-note { font-size:14px; line-height:1.75; margin-top:26px; max-width:39ch; color:#5c6967; }
.renovation-studio .rs-hero-photo { margin:0; position:relative; min-height:545px; align-self:stretch; background:#dbe4d9; }
.renovation-studio .rs-hero-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:52% center; }
.renovation-studio .rs-hero-photo figcaption { position:absolute; left:15px; right:15px; bottom:15px; padding:14px 18px; margin:0; color:var(--ink); background:#fcfbf8f2; line-height:1.5; }
.renovation-studio .rs-hero-photo figcaption>span { display:block; }
.renovation-studio .rs-hero-photo figcaption>span:first-child { font-size:14px; font-weight:600; }
.renovation-studio .rs-hero-photo figcaption>span:last-child { font-size:12px; margin-top:3px; color:#556361; }
.renovation-studio .rs-service { border-block:1px solid var(--rs-rule); background:#f1f3ee; }
.renovation-studio .rs-service>.container { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:21px; }
#main .renovation-studio .rs-service p { font-size:14px; line-height:1.8; max-width:74ch; }
.renovation-studio .rs-service p strong { color:var(--ink); font-weight:600; }
.renovation-studio .rs-service .text-link { flex-shrink:0; font-size:14px; }
.renovation-studio .rs-aside { max-width:42ch; font-size:17px; line-height:1.8; }
.renovation-studio .rs-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:0; border:1px solid var(--rs-rule); padding:0; background:white; }
.renovation-studio .rs-paths .ux-summary-item { display:flex; flex-direction:column; align-items:start; gap:0; padding:28px 30px; margin:0; border:0; border-left:1px solid var(--rs-rule); background:transparent; }
.renovation-studio .rs-paths .ux-summary-item:first-child { border-left:0; }
.renovation-studio .rs-paths .ux-summary-item:hover { background:var(--rs-soft); }
.renovation-studio .rs-path-number { font:italic 32px/1 Georgia,serif; color:var(--rs-teal); margin:0 0 27px; }
.renovation-studio .rs-paths strong { display:block; font:400 28px/1.2 var(--display,Georgia,serif); letter-spacing:-.02em; max-width:16ch; }
.renovation-studio .rs-paths strong+span { font-size:15px; line-height:1.8; margin-top:18px; margin-bottom:28px; color:#586662; }
.renovation-studio .rs-paths .rs-path-action { display:flex; justify-content:space-between; align-items:center; width:100%; gap:16px; margin-top:auto; padding-top:0; font-size:13px; font-weight:600; color:var(--rs-teal); line-height:1.6; }
.renovation-studio .rs-path-action>span { font-size:22px; }
.renovation-studio .rs-outline { background:#fcfbf8; border-color:var(--rs-rule); }
.renovation-studio .rs-options { background:#f2f1e9; }
.renovation-studio .rs-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 7%; }
.renovation-studio .rs-option-grid>article { padding:26px 0 0; border-top:1px solid #c6ccbf; background:transparent; }
.renovation-studio .rs-area-label { display:block; color:#64745f; font-size:12px; line-height:1.7; letter-spacing:.08em; text-transform:uppercase; }
#main .renovation-studio .rs-option-grid h3 { font-size:34px; line-height:1.2; margin-top:13px; }
#main .renovation-studio .rs-option-grid>article>p { font-size:17px; line-height:1.8; max-width:49ch; margin-top:17px; }
.renovation-studio .rs-option-detail { border-top:1px solid #d0d5c8; margin-top:22px; }
.renovation-studio .rs-option-detail summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; font-size:14px; line-height:1.6; font-weight:600; padding-block:14px; cursor:pointer; color:var(--rs-teal); }
.renovation-studio .rs-option-detail summary::-webkit-details-marker { display:none; }
.renovation-studio .rs-option-detail summary>span { font-size:23px; font-weight:400; transition:transform .15s; }
.renovation-studio .rs-option-detail[open] summary>span { transform:rotate(45deg); }
#main .renovation-studio .rs-option-detail p { font-size:15px; line-height:1.8; max-width:53ch; margin:0 0 16px; }
.renovation-studio .rs-option-link { margin-top:35px; }
.renovation-studio .rs-condition { background:#214b49; color:#dbe5dd; }
.renovation-studio .rs-condition-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; }
.renovation-studio .rs-condition .eyebrow { color:#dacba9; }
#main .renovation-studio .rs-condition h2 { color:white; }
#main .renovation-studio .rs-condition h2 em { color:#cbdcc8; }
#main .renovation-studio .rs-condition-intro>p:not(.eyebrow) { margin-top:24px; font-size:17px; line-height:1.8; color:#dbe5dd; }
#main .renovation-studio .rs-condition-intro .rs-condition-note { border-top:1px solid #52736b; padding-top:23px; font-size:14px; }
.renovation-studio .rs-condition-points article { display:grid; grid-template-columns:30px 1fr; gap:23px; padding-block:24px; border-top:1px solid #52736b; }
.renovation-studio .rs-condition-points article:first-child { padding-top:0; border-top:0; }
.renovation-studio .rs-condition-points article>span { color:#c9d7bc; font:italic 24px/1.4 Georgia,serif; }
#main .renovation-studio .rs-condition-points h3 { font-size:28px; color:white; }
#main .renovation-studio .rs-condition-points p { font-size:15px; line-height:1.8; color:#dbe5dd; margin-top:13px; }
.renovation-studio .rs-help { padding:36px 40px; margin-block:45px 0; border:1px solid var(--rs-rule); background:#f5f4ed; display:flex; align-items:center; gap:35px; }
#main .renovation-studio .rs-help h3 { font-size:30px; }
#main .renovation-studio .rs-help p { font-size:15px; line-height:1.8; max-width:67ch; margin-top:13px; }
.renovation-studio .rs-help .button { flex-shrink:0; font-size:14px; }
.renovation-studio .rs-sequence-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; padding:0; margin:0; }
.renovation-studio .rs-sequence-steps>li { padding-top:24px; border-top:1px solid var(--rs-rule); }
.renovation-studio .rs-sequence-steps>li>span { display:block; font:italic 32px/1 Georgia,serif; color:var(--rs-teal); margin-bottom:24px; }
#main .renovation-studio .rs-sequence-steps h3 { font-size:28px; }
#main .renovation-studio .rs-sequence-steps p { font-size:16px; line-height:1.8; margin-top:17px; }
.renovation-studio .rs-agreement { margin-top:40px; padding-inline:26px; background:#eff2ec; border:1px solid var(--rs-rule); }
.renovation-studio .rs-agreement summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:74px; font-size:17px; line-height:1.6; font-weight:600; list-style:none; color:var(--ink); }
.renovation-studio .rs-agreement summary::-webkit-details-marker { display:none; }
.renovation-studio .rs-agreement summary>span:last-child { font-size:26px; font-weight:400; transition:transform .15s; }
.renovation-studio .rs-agreement[open] summary>span:last-child { transform:rotate(45deg); }
.renovation-studio .rs-agreement>div { padding-bottom:24px; }
.renovation-studio .rs-agreement ul { padding-left:20px; margin:0; }
.renovation-studio .rs-agreement li { font-size:16px; line-height:1.8; padding:5px 0 5px 3px; }
.renovation-studio .rs-budget { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-top:32px; padding:32px; background:#f2eee3; }
.renovation-studio .rs-budget .eyebrow { font-size:11px; color:#756443; }
#main .renovation-studio .rs-budget h3 { font-size:29px; margin-top:12px; }
#main .renovation-studio .rs-budget p:not(.eyebrow) { font-size:15px; line-height:1.8; max-width:61ch; margin-top:14px; }
.renovation-studio .rs-budget>.text-link { flex-shrink:0; font-size:14px; }
.renovation-studio .rs-preparation { display:grid; grid-template-columns:.95fr 1.05fr; gap:9%; align-items:start; padding-top:0; }
.renovation-studio .rs-preparation figure { margin:0; }
.renovation-studio .rs-preparation figure img { width:100%; aspect-ratio:.82; object-fit:cover; object-position:center; }
.renovation-studio .rs-preparation figcaption { font-size:12px; line-height:1.7; margin-top:12px; color:#59685e; }
#main .renovation-studio .rs-preparation>div>p:not(.eyebrow) { margin-top:24px; font-size:17px; line-height:1.8; }
.renovation-studio .rs-preparation ol { margin:26px 0; padding:0; list-style:none; }
.renovation-studio .rs-preparation li { display:grid; grid-template-columns:27px 1fr; gap:18px; border-top:1px solid var(--rs-rule); padding-block:18px; }
.renovation-studio .rs-preparation li>span { color:var(--rs-teal); font:italic 21px/1.5 Georgia,serif; }
.renovation-studio .rs-preparation li strong { font-size:15px; font-weight:600; color:var(--ink); }
#main .renovation-studio .rs-preparation li p { margin-top:7px; font-size:14px; line-height:1.8; }
.renovation-studio .rs-questions { background:#f0f3ed; }
.renovation-studio .rs-questions .two-col { gap:11%; grid-template-columns:.85fr 1.15fr; }
#main .renovation-studio .rs-questions .two-col>div:first-child>p:not(.eyebrow) { font-size:17px; max-width:33ch; }
.renovation-studio .rs-questions .two-col>div:first-child .text-link { margin-top:22px; }
.renovation-studio .rs-questions summary { font-size:16px; }
#main .renovation-studio .rs-questions .faq-answer p { font-size:16px; }
@media(max-width:1100px) {
  .renovation-studio .rs-hero { gap:5%; grid-template-columns:1fr 1fr; }
  .renovation-studio .rs-hero-photo { min-height:590px; }
  .renovation-studio .rs-paths .ux-summary-item { padding:26px 22px; }
  .renovation-studio .rs-paths strong { font-size:26px; }
  .renovation-studio .rs-condition-layout { gap:7%; }
  .renovation-studio .rs-help { align-items:start; flex-direction:column; gap:23px; }
  .renovation-studio .rs-budget { align-items:start; flex-direction:column; gap:20px; }
  .renovation-studio .rs-preparation { gap:6%; }
}
@media(max-width:800px) {
  .renovation-studio .rs-hero { grid-template-columns:1fr; padding-top:28px; gap:30px; }
  .renovation-studio .rs-hero-copy { padding:0; }
  .renovation-studio .rs-hero-photo { min-height:440px; }
  .renovation-studio .rs-service>.container { align-items:start; flex-direction:column; gap:12px; }
  .renovation-studio .rs-paths { grid-template-columns:1fr; }
  .renovation-studio .rs-paths .ux-summary-item { display:grid; grid-template-columns:38px 1fr; gap:0 18px; padding:25px; border-left:0; border-top:1px solid var(--rs-rule); }
  .renovation-studio .rs-paths .ux-summary-item:first-child { border-top:0; }
  .renovation-studio .rs-path-number { grid-row:1/4; margin:0; }
  .renovation-studio .rs-paths strong { max-width:none; }
  .renovation-studio .rs-paths strong+span { margin:12px 0 18px; max-width:55ch; }
  .renovation-studio .rs-condition-layout { grid-template-columns:1fr; gap:35px; }
  .renovation-studio .rs-condition-intro { max-width:650px; }
  .renovation-studio .rs-condition-points article:first-child { padding-top:24px; border-top:1px solid #52736b; }
  .renovation-studio .rs-sequence-steps { gap:25px; }
  .renovation-studio .rs-preparation { grid-template-columns:1fr; gap:35px; }
  .renovation-studio .rs-preparation figure img { aspect-ratio:1.35; max-height:480px; }
  .renovation-studio .rs-questions .two-col { grid-template-columns:1fr; gap:32px; }
}
@media(max-width:600px) {
  #main .renovation-studio .rs-hero h1 { font-size:clamp(39px,10.4vw,53px); }
  .renovation-studio .rs-hero .page-lead { font-size:17px; margin-top:22px; }
  .renovation-studio .rs-hero-photo { min-height:350px; }
  .renovation-studio .rs-hero-photo figcaption { left:12px; right:12px; bottom:12px; padding:12px 14px; }
  .renovation-studio .renovation-intro-actions { gap:17px; margin-top:24px; }
  .renovation-studio .rs-hero .button { gap:22px; padding-inline:18px; font-size:13px; }
  .renovation-studio .rs-hero-note { max-width:none; }
  .renovation-studio .rs-aside { font-size:16px; }
  .renovation-studio .rs-paths .ux-summary-item { padding:24px 20px; gap:0 15px; grid-template-columns:30px 1fr; }
  .renovation-studio .rs-path-number { font-size:27px; }
  .renovation-studio .rs-paths strong { font-size:27px; }
  .renovation-studio .rs-option-grid { grid-template-columns:1fr; gap:27px; }
  #main .renovation-studio .rs-option-grid h3 { font-size:31px; }
  #main .renovation-studio .rs-option-grid>article>p { font-size:16px; }
  .renovation-studio .rs-condition-points article { gap:17px; grid-template-columns:26px 1fr; }
  .renovation-studio .rs-help { padding:28px 24px; margin-top:32px; }
  #main .renovation-studio .rs-help h3 { font-size:28px; }
  .renovation-studio .rs-help .button { font-size:13px; gap:22px; }
  .renovation-studio .rs-sequence-steps { grid-template-columns:1fr; gap:28px; }
  .renovation-studio .rs-sequence-steps>li>span { margin-bottom:18px; }
  #main .renovation-studio .rs-sequence-steps h3 { font-size:29px; }
  .renovation-studio .rs-agreement { padding-inline:21px; margin-top:30px; }
  .renovation-studio .rs-agreement summary { font-size:16px; min-height:80px; }
  .renovation-studio .rs-budget { padding:25px; }
  .renovation-studio .rs-preparation figure img { aspect-ratio:1.08; }
  .renovation-studio .rs-preparation>div>p:not(.eyebrow) { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .renovation-studio .rs-option-detail summary>span,.renovation-studio .rs-agreement summary>span:last-child { transition:none; }
}
@media print {
  .renovation-studio .rs-hero,.renovation-studio .rs-condition-layout,.renovation-studio .rs-preparation { display:block; }
  .renovation-studio .rs-hero-photo { display:none; }
  .renovation-studio .rs-service,.renovation-studio .rs-outline,.renovation-studio .rs-path-section,.renovation-studio .rs-help { display:none; }
  .renovation-studio .rs-condition { color:#222; background:white; }
  #main .renovation-studio .rs-condition h2,#main .renovation-studio .rs-condition h2 em,#main .renovation-studio .rs-condition-points h3,#main .renovation-studio .rs-condition p { color:#222; }
  .renovation-studio .rs-condition-points { margin-top:20pt; }
  .renovation-studio .rs-option-grid,.renovation-studio .rs-sequence-steps { display:block; }
  .renovation-studio .rs-option-grid>article,.renovation-studio .rs-sequence-steps>li { margin-block:15pt; }
  .renovation-studio .rs-option-detail:not([open])>p,.renovation-studio .rs-agreement:not([open])>div { display:block; }
  .renovation-studio .rs-preparation figure { display:none; }
}

/* An editorial collection that keeps real project stories easy to explore. */
.gallery-studio { --gs-line:#c4cec5; }
.gs-intro { display:grid; grid-template-columns:1.05fr .8fr; gap:12%; align-items:end; padding-block:38px 32px; }
#main .gs-intro h1 { font-size:clamp(48px,4.8vw,68px); line-height:1.07; margin-top:22px; }
.gs-intro-copy > p:first-child { color:var(--ink); font-size:17px; line-height:1.75; max-width:45ch; }
.gs-intro-copy > p + p { font-size:17px; line-height:1.75; margin-top:18px; max-width:48ch; }
.gs-intro-copy .text-link { margin-top:22px; }
.gs-collection { padding-bottom:80px; scroll-margin-top:120px; }
.gallery-studio .gallery-toolbar { align-items:end; border-top:1px solid var(--gs-line); border-bottom:1px solid var(--gs-line); padding-block:22px; margin-bottom:0; }
.gs-filter-area { display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px; }
.gs-filter-label { display:block; font-size:13px; font-weight:600; line-height:1.5; }
.gallery-studio .gallery-filters { gap:8px; }
.gallery-studio .filter-button { min-height:44px; font-size:14px; line-height:1.4; padding:10px 17px; border-color:#b8c5ba; }
.gallery-studio .gallery-count { font-size:13px; padding-block:11px; }
.gs-gallery-help { margin-top:15px; margin-bottom:28px; font-size:13px; line-height:1.7; }
.gallery-studio .gallery-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:62px 45px; align-items:start; }
.gallery-studio .gallery-grid > .gallery-card { grid-column:span 6; min-width:0; }
.gallery-studio .gallery-grid > .gallery-card:first-child { grid-column:1 / -1; display:grid; grid-template-columns:1.1fr .9fr; column-gap:8%; row-gap:0; }
.gallery-studio .gallery-grid > .gallery-card:first-child > .gallery-open { grid-column:1 / -1; }
.gallery-studio .gallery-grid > .gallery-card:first-child .gallery-label { grid-column:1; grid-row:2 / 4; }
.gallery-studio .gallery-grid > .gallery-card:first-child .gallery-note { grid-column:2; max-width:48ch; margin-top:26px; }
.gallery-studio .gallery-grid > .gallery-card:first-child .gallery-card-actions { grid-column:2; }
.gallery-studio .gallery-grid > .gallery-card:nth-child(2) { grid-column:span 7; }
.gallery-studio .gallery-grid > .gallery-card:nth-child(3) { grid-column:span 5; margin-top:75px; }
.gallery-studio .gallery-grid > .gallery-card:nth-child(4) { grid-column:span 5; margin-top:60px; }
.gallery-studio .gallery-grid > .gallery-card:nth-child(5) { grid-column:span 7; }
.gallery-studio .gallery-open { overflow:hidden; background:#d9e1d9; }
.gallery-studio .gallery-open img { width:100%; height:auto; aspect-ratio:1.35; object-fit:cover; transition:transform .6s ease; }
.gallery-studio .gallery-card:first-child .gallery-open img { aspect-ratio:2.05; object-position:center 61%; }
.gallery-studio .gallery-card:nth-child(3) .gallery-open img, .gallery-studio .gallery-card:nth-child(4) .gallery-open img { aspect-ratio:1.07; }
.gallery-studio .gallery-open:hover img { transform:scale(1.025); }
.gallery-studio .gallery-expand { border-radius:0; width:44px; height:44px; bottom:16px; right:16px; font-size:25px; }
.gallery-studio .gallery-label { display:flex; align-items:start; gap:20px; margin-top:25px; }
.gallery-studio .gallery-label .eyebrow { font-size:11px; line-height:1.6; color:var(--muted); }
#main .gallery-studio .gallery-label h2 { font-size:clamp(27px,2.6vw,38px); line-height:1.18; margin-top:10px; }
#main .gallery-studio .gallery-card:first-child .gallery-label h2 { font-size:clamp(31px,3.4vw,47px); max-width:19ch; }
.gallery-studio .gallery-label > span { font-size:13px; line-height:1.5; color:var(--muted); padding-top:2px; }
.gallery-studio .gallery-note { font-size:16px; line-height:1.75; max-width:48ch; margin-top:16px; }
.gallery-studio .gallery-card-actions { margin-top:14px; }
.gallery-studio .gallery-card-actions .text-link { font-size:14px; min-height:44px; gap:24px; }
.gallery-studio .gallery-grid > .gallery-card[hidden] { display:none; }
.gallery-studio .gallery-grid:has(.gallery-card[hidden]) { grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); gap:48px 40px; }
.gallery-studio .gallery-grid:has(.gallery-card[hidden]) > .gallery-card { display:block; grid-column:auto; margin-top:0; }
.gallery-studio .gallery-grid:has(.gallery-card[hidden]) .gallery-card .gallery-open img { aspect-ratio:1.4; object-position:center; }
#main .gallery-studio .gallery-grid:has(.gallery-card[hidden]) .gallery-card .gallery-label h2 { font-size:clamp(27px,2.6vw,38px); }
.gallery-studio .gallery-grid:has(.gallery-card[hidden]) .gallery-card .gallery-note { margin-top:16px; }
.gallery-studio .gallery-source { display:flex; justify-content:space-between; align-items:center; gap:45px; border-top:1px solid var(--gs-line); margin-top:65px; padding-top:27px; }
.gallery-studio .gallery-source > div { max-width:73ch; }
#main .gallery-studio .gallery-source .gallery-disclaimer { font-size:14px; line-height:1.75; margin-top:10px; max-width:73ch; }
.gallery-studio .gallery-source > .text-link { flex-shrink:0; font-size:14px; }
.gs-planning { background:#e5ebe4; }
.gs-planning-heading { display:grid; grid-template-columns:1fr .9fr; gap:12%; align-items:end; }
#main .gs-planning-heading h2, #main .gs-shortlist h2 { font-size:clamp(37px,3.8vw,55px); line-height:1.12; }
.gs-planning-heading > p { font-size:17px; line-height:1.75; max-width:45ch; }
.gs-planning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:45px; }
.gs-planning-grid > a { display:flex; flex-direction:column; align-items:start; padding-top:23px; border-top:1px solid #a9b9aa; }
.gs-plan-index { font-size:12px; line-height:1.6; color:var(--muted); }
#main .gs-planning-grid h3 { font-size:clamp(24px,2vw,29px); line-height:1.35; margin-top:18px; }
.gs-planning-grid p { font-size:16px; line-height:1.75; margin-top:17px; margin-bottom:24px; }
.gs-plan-action { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid currentColor; min-height:44px; font-size:14px; line-height:1.5; font-weight:600; margin-top:auto; padding-block:8px; }
.gs-plan-action > span { font-size:22px; font-weight:400; }
.gs-shortlist { display:grid; grid-template-columns:1fr .9fr; gap:12%; padding-block:84px; align-items:start; }
.gs-shortlist > div > p:not(.eyebrow) { font-size:17px; line-height:1.75; max-width:48ch; }
.gs-shortlist .text-link { margin-top:22px; }
#main .gs-shortlist .gs-shortlist-note { margin-top:22px; font-size:13px; line-height:1.75; }
@media (max-width:1050px) {
  .gs-intro { gap:7%; }
  .gallery-studio .gallery-grid { gap:45px 30px; }
  .gallery-studio .gallery-grid > .gallery-card:nth-child(3) { margin-top:50px; }
  .gallery-studio .gallery-grid > .gallery-card:nth-child(4) { margin-top:40px; }
  .gallery-studio .gallery-grid > .gallery-card:first-child { column-gap:6%; }
  .gallery-studio .gallery-source { align-items:start; flex-direction:column; gap:18px; }
  .gs-planning-heading, .gs-shortlist { gap:7%; }
  .gs-planning-grid { gap:25px; }
}
@media (max-width:700px) {
  .gs-intro { grid-template-columns:1fr; gap:20px; padding-block:26px 25px; }
  #main .gs-intro h1 { font-size:clamp(45px,11.5vw,66px); line-height:1.09; margin-top:19px; }
  .gs-intro-copy > p:first-child { font-size:16px; max-width:43ch; }
  .gs-intro-copy > p + p { font-size:16px; margin-top:15px; }
  .gs-intro-copy .text-link { margin-top:18px; }
  .gs-collection { padding-bottom:55px; }
  .gallery-studio .gallery-toolbar { align-items:start; gap:12px; padding-block:17px; }
  .gs-filter-area { gap:13px; }
  .gs-filter-label { width:100%; }
  .gallery-studio .gallery-filters { gap:7px; }
  .gallery-studio .filter-button { min-height:44px; padding:10px 13px; font-size:13px; }
  .gallery-studio .gallery-count { padding-block:0; padding-top:1px; font-size:12px; }
  .gs-gallery-help { font-size:12px; margin-block:13px 22px; max-width:43ch; }
  .gallery-studio .gallery-grid, .gallery-studio .gallery-grid:has(.gallery-card[hidden]) { grid-template-columns:1fr; gap:39px; }
  .gallery-studio .gallery-grid > .gallery-card, .gallery-studio .gallery-grid > .gallery-card:first-child, .gallery-studio .gallery-grid > .gallery-card:nth-child(2), .gallery-studio .gallery-grid > .gallery-card:nth-child(3), .gallery-studio .gallery-grid > .gallery-card:nth-child(4), .gallery-studio .gallery-grid > .gallery-card:nth-child(5) { display:block; grid-column:auto; margin-top:0; }
  .gallery-studio .gallery-grid > .gallery-card[hidden] { display:none; }
  .gallery-studio .gallery-card .gallery-open img, .gallery-studio .gallery-card:first-child .gallery-open img, .gallery-studio .gallery-card:nth-child(3) .gallery-open img, .gallery-studio .gallery-card:nth-child(4) .gallery-open img, .gallery-studio .gallery-grid:has(.gallery-card[hidden]) .gallery-card .gallery-open img { aspect-ratio:1.25; object-position:center; }
  .gallery-studio .gallery-expand { bottom:12px; right:12px; }
  .gallery-studio .gallery-label { margin-top:19px; }
  #main .gallery-studio .gallery-label h2, #main .gallery-studio .gallery-card:first-child .gallery-label h2 { font-size:29px; max-width:22ch; }
  .gallery-studio .gallery-grid > .gallery-card:first-child .gallery-note, .gallery-studio .gallery-note { margin-top:13px; font-size:16px; }
  .gallery-studio .gallery-card-actions { margin-top:9px; }
  .gallery-studio .gallery-source { margin-top:40px; padding-top:23px; }
  .gs-planning-heading, .gs-shortlist { grid-template-columns:1fr; gap:24px; }
  .gs-planning-grid { grid-template-columns:1fr; gap:30px; margin-top:32px; }
  .gs-planning-grid > a { padding-top:21px; }
  #main .gs-planning-grid h3 { font-size:27px; line-height:1.3; }
  .gs-planning-grid p { margin-bottom:14px; }
  .gs-shortlist { padding-block:55px; }
}
@media (prefers-reduced-motion:reduce) {
  .gallery-studio .gallery-open img { transition:none; }
}
@media print {
  .gs-intro, .gs-planning-heading, .gs-shortlist { display:block; }
  .gs-intro-copy, .gs-planning-heading > p, .gs-shortlist > div + div { margin-top:20px; }
  .gallery-studio .gallery-grid { display:block; }
  .gallery-studio .gallery-grid > .gallery-card { display:block; margin-top:25px; break-inside:avoid; }
  .gallery-studio .gallery-card[hidden] { display:block; }
  .gallery-studio .gallery-card .gallery-open img { max-height:100mm; aspect-ratio:auto; object-fit:contain; }
  .gallery-toolbar, .gs-gallery-help, .gallery-studio .gallery-expand { display:none; }
  .gs-planning { background:transparent; }
}

/* Photographic opening and clearer construction comparison. */
.hp-hero-immersive { padding-top:0; background:#142e3b; color:white; }
.hp-hero-immersive .hp-hero-grid { position:relative; isolation:isolate; display:block; min-height:640px; padding-block:65px 85px; }
.hp-hero-immersive .hp-hero-copy { position:relative; max-width:650px; padding:0; }
.page-home #main .hp-hero-immersive .eyebrow { color:#e5d6b7; }
.page-home #main .hp-hero-immersive h1 { font-size:clamp(65px,5.5vw,86px); line-height:1.02; margin-top:24px; }
.page-home #main .hp-hero-immersive em { color:#e8d9b6; }
.page-home #main .hp-hero-immersive .hp-lead { color:white; max-width:36ch; font-size:23px; margin-top:27px; }
.page-home #main .hp-hero-immersive .hp-lead+p { color:#e7eeeb; max-width:41ch; margin-top:19px; }
.hp-hero-immersive .button { background:#f5efe0; border-color:#f5efe0; color:#142e3b; }
.hp-hero-immersive .button:hover { background:white; border-color:white; }
.hp-hero-immersive .hp-link { color:white; text-decoration-color:#c2d0c8; }
.page-home #main .hp-hero-immersive .hp-small { color:#e0e8e4; }
.hp-hero-immersive .hp-hero-photo { position:absolute; inset-block:0; left:50%; width:100vw; min-height:0; margin:0; transform:translateX(-50%); z-index:-1; aspect-ratio:auto; background:#2b4148; }
.hp-hero-immersive .hp-hero-photo>img { object-position:center 58%; }
.hp-hero-immersive .hp-hero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,27,37,.94) 0%,rgba(8,27,37,.81) 28%,rgba(8,27,37,.35) 58%,rgba(8,27,37,.05) 80%),linear-gradient(0deg,rgba(8,27,37,.55),transparent 45%); }
.hp-hero-immersive .hp-hero-photo figcaption { z-index:1; left:auto; right:max(var(--gutter),calc((100vw - 1320px)/2)); bottom:28px; width:310px; padding:0; background:none; align-items:end; }
.hp-hero-immersive .hp-hero-photo strong { font-size:16px; }
.hp-hero-immersive .hp-start { margin-top:0; border-top:1px solid #ffffff40; }
.hp-hero-immersive .hp-start>span { color:#dbe5df; }
.hp-hero-immersive .hp-start>a { border-color:#ffffff40; color:white; }
.hp-hero-immersive .hp-start>a>span { color:#e8d9b6; }
.hp-hero-immersive .hp-start>a:hover { color:#f0e6cf; }
.page-home #main .hp-hero-immersive a:focus-visible { outline-color:#f5efe0; }
.page-home .hp-process { padding-block:65px; }
.pool-studio { --ps-green:#285e59; --ps-line:#cbd5c8; }
.ps-intro { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:10%; padding-block:45px 38px; }
#main .ps-intro h1 { font-size:clamp(48px,5vw,72px); line-height:1.08; margin-top:20px; }
.ps-intro .page-lead { margin:0; font-size:18px; line-height:1.8; max-width:45ch; }
.ps-intro .text-link { margin-top:16px; }
.ps-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; padding-bottom:38px; }
.ps-methods article { display:flex; flex-direction:column; background:#f1f3ed; border:1px solid #d5dcd0; }
.ps-method-image { display:block; overflow:hidden; }
.ps-method-image img { width:100%; aspect-ratio:1.5; object-fit:cover; object-position:center 60%; transition:transform .4s; }
.ps-method-image:hover img { transform:scale(1.025); }
.ps-methods article>div { display:flex; flex-direction:column; align-items:start; flex:1; padding:24px; }
.ps-methods .eyebrow { font-size:11px; color:#6e5b37; }
#main .ps-methods h2 { font-size:36px; line-height:1.15; margin-top:13px; }
.ps-methods p { font-size:16px; line-height:1.75; margin-block:15px; }
.ps-methods .text-link { font-size:14px; margin-top:auto; }
.ps-page-nav { display:flex; justify-content:space-between; gap:16px 30px; border-block:1px solid var(--ps-line); padding-block:12px; }
.ps-page-nav a { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:46px; font-size:14px; font-weight:600; }
.ps-page-nav a>span { color:var(--ps-green); font-size:20px; }
.ps-page-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.ps-comparison { background:#eef2ec; margin-top:65px; }
.ps-comparison .section-head { align-items:end; gap:10%; }
#main .pool-studio h2 { line-height:1.14; }
.ps-aside { max-width:43ch; font-size:17px; line-height:1.8; }
.ps-comparison .comparison-tools { border-top:1px solid #c4cfbf; padding-top:24px; margin-bottom:24px; }
.ps-comparison .comparison-choices legend { font-size:14px; color:#4c6154; }
.ps-comparison .comparison-choices span { font-size:15px; }
.ps-comparison .comparison-table { background:#fcfdf9; min-width:780px; }
.ps-comparison .comparison-table caption { text-align:left; padding-block:0 20px; font-size:14px; }
.ps-comparison .comparison-table thead th { background:#203f43; color:white; font-size:27px; }
.ps-comparison .comparison-table thead th:first-child { font-size:15px; }
.ps-comparison .comparison-table tbody th { background:#e2e9dd; font-size:14px; line-height:1.7; }
.ps-comparison .comparison-table td { font-size:15px; line-height:1.75; vertical-align:top; padding:23px; }
.ps-comparison .comparison-table .comparison-next { font-size:14px; }
.ps-comparison-close { display:flex; align-items:center; justify-content:space-between; gap:35px; border-top:1px solid #c4cfbf; padding-top:24px; margin-top:28px; }
.ps-comparison-close p { font-size:14px; line-height:1.75; max-width:69ch; }
.ps-comparison-close .text-link { flex-shrink:0; font-size:14px; }
.pool-compare-mobile { display:none; }
.ps-choice { display:grid; grid-template-columns:.9fr 1.1fr; gap:12%; }
.ps-choice>div>p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:25px; max-width:37ch; }
.ps-choice ol { list-style:none; margin:0; padding:0; }
.ps-choice li { display:flex; gap:25px; padding-block:24px; border-top:1px solid var(--ps-line); }
.ps-choice li>span { font-size:13px; color:var(--ps-green); padding-top:7px; }
#main .ps-choice h3 { font-size:28px; line-height:1.25; }
.ps-choice li p { font-size:16px; line-height:1.75; margin-top:13px; }
.ps-choice .text-link { margin-top:13px; }
.ps-guide-section { background:#f1eee6; padding-top:65px; }
.ps-guide-intro { max-width:720px; }
.ps-guide-intro>p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:24px; max-width:53ch; }
.ps-guide-section .pool-approach { gap:8%; padding-block:60px; }
.ps-guide-section .pool-approach figure img { aspect-ratio:1.3; }
.ps-guide-section .pool-approach-copy h2 { font-size:48px; }
.ps-budget { display:grid; grid-template-columns:1fr .9fr; gap:11%; align-items:start; }
.ps-budget>div:first-child>p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:24px; }
.ps-budget .button-row { gap:16px 25px; margin-top:25px; }
.ps-budget .button { font-size:14px; }
.ps-budget .faq-list summary { font-size:16px; }
.ps-budget .faq-answer p { font-size:16px; line-height:1.8; }
@media(max-width:1000px) {
  .hp-hero-immersive .hp-hero-grid { min-height:640px; padding-block:55px 100px; }
  .hp-hero-immersive .hp-hero-copy { max-width:570px; }
  .page-home #main .hp-hero-immersive h1 { font-size:68px; }
  .hp-hero-immersive .hp-hero-photo figcaption { width:270px; }
  .ps-intro { gap:7%; }
  .ps-methods { gap:18px; }
  .ps-methods article>div { padding:20px; }
  #main .ps-methods h2 { font-size:31px; }
  .ps-methods p { font-size:15px; }
  .ps-comparison-close { flex-direction:column; align-items:start; gap:16px; }
  .ps-choice { gap:7%; }
  .ps-budget { gap:7%; }
}
@media(max-width:700px) {
  .hp-hero-immersive .hp-hero-grid { display:block; min-height:700px; padding-block:42px 125px; }
  .hp-hero-immersive .hp-hero-copy { display:block; max-width:none; }
  .hp-hero-immersive .hp-hero-copy>.eyebrow { margin-top:0; }
  .page-home #main .hp-hero-immersive h1 { font-size:clamp(51px,12vw,69px); margin-top:22px; max-width:11ch; }
  .page-home #main .hp-hero-immersive .hp-lead { font-size:21px; margin-top:24px; }
  .page-home #main .hp-hero-immersive .hp-lead+p { font-size:16px; margin-top:18px; }
  .hp-hero-immersive .hp-hero .button-row, .hp-hero-immersive .button-row { margin-top:24px; }
  .page-home #main .hp-hero-immersive .hp-small { font-size:13px; margin-top:15px; }
  .hp-hero-immersive .hp-hero-photo { order:initial; aspect-ratio:auto; }
  .hp-hero-immersive .hp-hero-photo>img { object-position:65% 58%; }
  .hp-hero-immersive .hp-hero-photo::after { background:linear-gradient(180deg,rgba(8,27,37,.89) 0%,rgba(8,27,37,.76) 48%,rgba(8,27,37,.3) 100%); }
  .hp-hero-immersive .hp-hero-photo figcaption { left:var(--gutter); right:var(--gutter); bottom:23px; width:auto; padding:0; }
  .hp-hero-immersive .hp-hero-photo strong { max-width:24ch; font-size:15px; }
  .hp-hero-immersive .hp-photo-label { font-size:10px; }
  .hp-hero-immersive .hp-start { padding-block:15px; }
  .page-home .hp-method { display:grid; grid-template-columns:100px minmax(0,1fr); }
  .page-home .hp-method-photo img { height:100%; min-height:270px; aspect-ratio:auto; }
  .page-home .hp-method-copy { padding:20px; }
  .page-home #main .hp-method h3 { font-size:28px; }
  .page-home #main .hp-method p { font-size:15px; }
  .page-home #main .hp-method .hp-method-consideration { font-size:13px; }
  .page-home .hp-method .hp-link { font-size:13px; gap:10px; }
  .page-home .hp-process { padding-block:48px; }
  .ps-intro { grid-template-columns:1fr; gap:24px; padding-block:30px; }
  #main .ps-intro h1 { font-size:clamp(44px,11vw,62px); }
  .ps-intro .page-lead { font-size:17px; }
  .ps-methods { grid-template-columns:1fr; gap:24px; padding-bottom:30px; }
  .ps-method-image img { aspect-ratio:1.7; }
  .ps-methods article>div { padding:23px; }
  #main .ps-methods h2 { font-size:34px; }
  .ps-methods p { font-size:16px; }
  .ps-page-nav { display:block; padding-block:10px; }
  .ps-page-nav a { font-size:14px; }
  .ps-page-nav a+a { border-top:1px solid var(--ps-line); }
  .ps-comparison { margin-top:45px; }
  .ps-comparison .section-head { display:block; }
  .ps-aside { margin-top:22px; }
  .ps-comparison .comparison-tools { padding-top:20px; }
  .ps-comparison .comparison-choices { gap:10px; }
  .ps-comparison .comparison-choices legend { margin-bottom:13px; }
  .ps-comparison .comparison-scroll { display:none; }
  .pool-compare-mobile { display:grid; gap:24px; }
  .pool-compare-mobile>article { background:#fcfdf9; border:1px solid #c9d3c2; padding:25px 22px; }
  .pool-compare-mobile>article[hidden] { display:none; }
  #main .pool-compare-mobile h3 { font-size:32px; line-height:1.2; }
  .pool-compare-mobile dl { margin:22px 0 10px; }
  .pool-compare-mobile dl>div { padding-block:15px; border-top:1px solid var(--ps-line); }
  .pool-compare-mobile dt { font-size:12px; line-height:1.7; font-weight:600; color:#425c49; }
  .pool-compare-mobile dd { margin:7px 0 0; font-size:16px; line-height:1.75; color:#506057; }
  .pool-compare-mobile .text-link { font-size:14px; }
  .ps-choice { grid-template-columns:1fr; gap:30px; }
  .ps-choice>div>p:not(.eyebrow) { max-width:43ch; margin-top:22px; }
  .ps-choice li { gap:18px; }
  .ps-guide-section { padding-top:48px; }
  .ps-guide-section .pool-approach { grid-template-columns:1fr; gap:29px; padding-block:38px 45px; }
  .ps-guide-section .pool-approach:nth-child(even) figure { order:0; }
  .ps-guide-section .pool-approach figure img { aspect-ratio:1.25; }
  .ps-guide-section .pool-approach-copy h2 { font-size:43px; }
  .ps-budget { grid-template-columns:1fr; gap:35px; }
}
@media print {
  .hp-hero-immersive { color:#111; background:white; }
  .hp-hero-immersive .hp-hero-grid { min-height:0; padding-block:20pt; }
  .hp-hero-immersive .hp-hero-photo { display:none; }
  .page-home #main .hp-hero-immersive p,.page-home #main .hp-hero-immersive em { color:#111; }
  .ps-intro,.ps-methods,.ps-choice,.ps-budget { display:block; }
  .ps-methods article { margin-block:15pt; }
  .ps-page-nav,.pool-compare-mobile { display:none; }
  .ps-comparison .comparison-scroll { display:block; }
}

/* Method detail pages. Keep construction guidance visible and give each chapter room. */
.pool-detail-studio { --pds-teal:#2a6260; --pds-rule:#cdd6ca; --pds-soft:#eff2ec; background:#fcfbf8; }
.pool-detail-studio a:focus-visible,.pool-detail-studio summary:focus-visible { outline:3px solid #548e80; outline-offset:5px; }
.pool-detail-studio .pds-hero { max-width:1800px; grid-template-columns:46% 54%; background:#f1f2ec; }
.pool-detail-studio .pool-hero-copy { padding-block:55px 48px; padding-right:12%; }
#main .pool-detail-studio .pool-hero-copy h1 { font-size:clamp(58px,5.65vw,86px); line-height:1.05; letter-spacing:-.04em; margin-top:22px; }
#main .pool-detail-studio .pds-tag { font:italic 29px/1.35 var(--display,Georgia,serif); letter-spacing:-.02em; color:var(--pds-teal); margin-top:21px; max-width:25ch; }
#main .pool-detail-studio .pool-hero-copy .page-lead { font-size:17px; line-height:1.8; margin-top:22px; max-width:45ch; }
.pool-detail-studio .pool-hero-copy .eyebrow { font-size:11px; line-height:1.7; color:#74613e; }
.pool-detail-studio .pool-hero-copy .button-row { gap:16px 24px; margin-top:28px; display:flex; }
.pool-detail-studio .pool-hero-copy .button { font-size:14px; min-height:56px; gap:24px; padding:17px 21px; }
.pool-detail-studio .pool-hero-copy .text-link { font-size:14px; gap:24px; margin-top:0; }
.pool-detail-studio .pool-hero-fit { padding-top:20px; margin-top:28px; border-color:#c5cfc1; }
.pool-detail-studio .pool-hero-fit .eyebrow { color:#5c745b; font-size:10px; }
#main .pool-detail-studio .pool-hero-fit p { font-size:15px; line-height:1.75; margin-top:9px; color:#3e5553; }
.pool-detail-studio .pds-compare-link { display:inline-flex; align-items:center; gap:14px; padding-block:8px; margin-top:17px; font-size:13px; line-height:1.65; color:#48625b; text-decoration:underline; text-underline-offset:4px; }
.pool-detail-studio .pds-compare-link>span { font-size:20px; }
.pool-detail-studio .pool-hero-figure { min-height:680px; }
.pool-detail-studio .pool-hero-figure>img { object-position:55% center; }
.pool-detail-studio[data-pool-method="vinyl-liner"] .pool-hero-figure>img { object-position:52% center; }
.pool-detail-studio .pool-hero-figure::after { inset:55% 0 0; background:linear-gradient(transparent,#102f36bf); }
.pool-detail-studio .pool-hero-figure figcaption { bottom:28px; left:30px; right:30px; font-size:12px; align-items:end; letter-spacing:0; }
.pool-detail-studio .pool-hero-figure figcaption>span:first-child { font:italic 32px/1.1 var(--display,Georgia,serif); }
.pool-detail-studio .pool-hero-figure figcaption>span:last-child { text-align:right; font-size:11px; line-height:1.7; }
.pool-detail-studio .pds-outline { background:#fcfbf8; border-color:var(--pds-rule); }
.pool-detail-studio .pds-outline .outline-scroll>a { font-size:13px; }
.pool-detail-studio .pds-overview .section-head { margin-bottom:0; }
.pool-detail-studio .pds-overview .section-aside { max-width:42ch; font-size:17px; line-height:1.8; }
.pool-detail-studio .pool-stage-grid { margin-top:40px; gap:38px; }
.pool-detail-studio .pool-stage-grid>article { border-color:var(--pds-rule); padding-top:24px; }
.pool-detail-studio .pool-stage-grid .step-number { color:var(--pds-teal); font:italic 31px/1 Georgia,serif; }
#main .pool-detail-studio .pool-stage-grid h3 { font-size:29px; margin-top:23px; line-height:1.25; }
#main .pool-detail-studio .pool-stage-grid p { font-size:16px; line-height:1.8; margin-top:17px; }
.pool-detail-studio .pds-feature { background:#e9eee5; }
.pool-detail-studio .pds-feature .construction-split { grid-template-columns:1.05fr .95fr; gap:8%; }
.pool-detail-studio .pds-feature .construction-photo img { aspect-ratio:.96; max-height:none; object-fit:cover; }
.pool-detail-studio .pds-feature .construction-photo figcaption { font-size:12px; line-height:1.7; }
#main .pool-detail-studio .pds-feature h2 { font-size:clamp(36px,3.4vw,51px); }
#main .pool-detail-studio .pds-feature p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:24px; }
#main .pool-detail-studio .pds-feature .pds-feature-note { font-size:15px; border-top:1px solid #c5cfc0; padding-top:21px; margin-top:24px; }
.pool-detail-studio .pds-feature-actions { display:flex; flex-wrap:wrap; gap:14px 24px; margin-top:24px; }
.pool-detail-studio .pds-feature-actions .button { font-size:14px; min-height:54px; padding:17px 20px; gap:22px; }
.pool-detail-studio .pds-feature-actions .text-link { font-size:14px; }
.pool-detail-studio .pds-decision-intro { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:end; padding-block:80px 45px; }
#main .pool-detail-studio .pds-decision-intro>p { font-size:17px; line-height:1.8; max-width:48ch; }
.pool-detail-studio .pds-guides { counter-reset:method-chapter; }
.pool-detail-studio .pds-guides .ex-section:not(#project-checklist) { counter-increment:method-chapter; background:#fcfbf8; padding-block:45px 52px; }
.pool-detail-studio .pds-guides .ex-section:not(#project-checklist)>.container { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; padding-top:32px; border-top:1px solid var(--pds-rule); }
.pool-detail-studio .pds-guides .ex-section:not(#project-checklist) .ex-intro { margin:0; }
.pool-detail-studio .pds-guides .ex-section:not(#project-checklist) .ex-intro::before { content:'0' counter(method-chapter); display:block; font:italic 37px/1 Georgia,serif; color:var(--pds-teal); margin-bottom:24px; }
.pool-detail-studio .pds-guides .ex-section:not(#project-checklist) .ex-intro>.eyebrow { color:#64785d; font-size:10px; }
#main .pool-detail-studio .pds-guides .ex-intro h2 { font-size:clamp(30px,2.8vw,41px); line-height:1.2; max-width:22ch; }
#main .pool-detail-studio .pds-guides .ex-intro>p:not(.eyebrow) { font-size:16px; line-height:1.8; margin-top:22px; max-width:45ch; }
.pool-detail-studio .pds-guides .ex-grid { grid-template-columns:1fr; gap:0; margin:0; }
.pool-detail-studio .pds-guides .ex-card { padding-block:22px; border-color:var(--pds-rule); }
.pool-detail-studio .pds-guides .ex-card:first-child { border-top:0; padding-top:0; }
.pool-detail-studio .pds-guides .ex-card:last-child { padding-bottom:0; }
#main .pool-detail-studio .pds-guides .ex-card h3 { font-size:27px; }
#main .pool-detail-studio .pds-guides .ex-card p { font-size:16px; line-height:1.8; max-width:56ch; margin-top:13px; }
.pool-detail-studio .pds-guides #project-checklist { padding-top:30px; padding-bottom:0; }
.pool-detail-studio .pds-guides .ex-checklist-panel { background:#f1eee4; padding:38px; grid-template-columns:.85fr 1.15fr; border:1px solid #d9d4c5; gap:10%; }
#main .pool-detail-studio .pds-guides .ex-checklist-panel h2 { font-size:clamp(29px,2.8vw,39px); }
#main .pool-detail-studio .pds-guides .ex-checklist-panel p { font-size:16px; line-height:1.8; }
#main .pool-detail-studio .pds-guides .ex-checklist li { font-size:15px; line-height:1.8; }
.pool-detail-studio .pds-resources { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; align-items:start; }
#main .pool-detail-studio .pds-resources>div:first-child>p:not(.eyebrow) { font-size:16px; line-height:1.8; margin-top:22px; max-width:45ch; }
.pool-detail-studio .pds-resources>div:first-child>.text-link { margin-top:22px; font-size:14px; }
.pool-detail-studio .pds-resource-disclosure { border:1px solid var(--pds-rule); padding-inline:27px; background:white; }
.pool-detail-studio .pds-resource-disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; list-style:none; min-height:76px; font-size:17px; line-height:1.6; font-weight:600; }
.pool-detail-studio .pds-resource-disclosure summary::-webkit-details-marker { display:none; }
.pool-detail-studio .pds-resource-disclosure summary>span:last-child { font-size:26px; font-weight:400; transition:transform .15s; }
.pool-detail-studio .pds-resource-disclosure[open] summary>span:last-child { transform:rotate(45deg); }
.pool-detail-studio .pds-resource-disclosure .construction-resources { border-color:var(--pds-rule); padding-bottom:12px; }
.pool-detail-studio .pds-resource-disclosure .resource-row { font-size:15px; line-height:1.7; min-height:68px; padding-block:20px; border-color:var(--pds-rule); }
.pool-detail-studio .pds-resource-disclosure .resource-row:last-child { border-bottom:0; }
#main .pool-detail-studio .pds-resource-note { font-size:13px; line-height:1.8; margin-top:18px; color:#5c6860; }
.pool-detail-studio .pds-cost-section { padding-block:60px; background:#244f4d; color:white; }
.pool-detail-studio .pds-cost-section>.container { display:grid; grid-template-columns:1.15fr .85fr; gap:12%; align-items:center; }
.pool-detail-studio .pds-cost-section .eyebrow { color:#dccca7; }
#main .pool-detail-studio .pds-cost-section h2 em { color:#c5dcc9; }
#main .pool-detail-studio .pds-cost-section p:not(.eyebrow) { font-size:16px; line-height:1.8; margin-top:23px; max-width:51ch; color:#d7e3da; }
.pool-detail-studio .pds-cost-action .button { font-size:14px; background:#f6f3e9; border-color:#f6f3e9; color:var(--ink); min-height:56px; padding:17px 20px; gap:25px; }
.pool-detail-studio .pds-cost-action .button:hover { background:#dbe6d9; border-color:#dbe6d9; }
#main .pool-detail-studio .pds-cost-action p:not(.eyebrow) { max-width:35ch; font-size:13px; margin-top:20px; }
.pool-detail-studio .pds-inspiration { padding-top:80px; }
.pool-detail-studio .pds-inspiration .pool-related-grid { gap:35px; }
.pool-detail-studio .pds-inspiration .pool-related-space img { aspect-ratio:1.3; }
.pool-detail-studio .pds-inspiration .pool-related-space>.eyebrow { font-size:11px; }
#main .pool-detail-studio .pds-inspiration .pool-related-space h3 { font-size:34px; margin-top:11px; }
#main .pool-detail-studio .pds-gallery-note { max-width:78ch; font-size:14px; line-height:1.8; margin-top:32px; }
.pool-detail-studio .pds-questions { background:#eff2ec; }
.pool-detail-studio .pds-questions .construction-split { align-items:start; gap:10%; grid-template-columns:.85fr 1.15fr; }
#main .pool-detail-studio .pds-questions .construction-split>div:first-child>p:not(.eyebrow) { font-size:16px; line-height:1.8; margin-top:23px; max-width:45ch; }
.pool-detail-studio .pds-question-links { display:flex; flex-wrap:wrap; gap:10px 25px; margin-top:22px; }
.pool-detail-studio .pds-question-links .text-link { font-size:14px; }
.pool-detail-studio .pds-questions .faq-list summary { font-size:17px; }
#main .pool-detail-studio .pds-questions .faq-answer p { font-size:16px; }
@media(max-width:1100px) {
  .pool-detail-studio .pds-hero { grid-template-columns:1fr 1fr; }
  .pool-detail-studio .pool-hero-copy { padding-right:8%; }
  #main .pool-detail-studio .pool-hero-copy h1 { font-size:60px; }
  #main .pool-detail-studio .pds-tag { font-size:26px; }
  .pool-detail-studio .pool-hero-figure { min-height:760px; }
  .pool-detail-studio .pool-hero-figure figcaption { display:block; }
  .pool-detail-studio .pool-hero-figure figcaption>span:last-child { display:block; text-align:left; margin-top:14px; }
  .pool-detail-studio .pool-stage-grid { gap:27px; }
  .pool-detail-studio .pds-guides .ex-section:not(#project-checklist)>.container,.pool-detail-studio .pds-resources { gap:7%; }
  .pool-detail-studio .pds-guides .ex-checklist-panel { padding:30px; gap:7%; }
  .pool-detail-studio .pds-feature .construction-split { gap:6%; }
}
@media(max-width:850px) {
  .pool-detail-studio .pds-hero { grid-template-columns:1fr; }
  .pool-detail-studio .pool-hero-copy { padding:35px var(--gutter) 38px; }
  .pool-detail-studio .pool-hero-copy .page-lead { max-width:60ch; }
  .pool-detail-studio .pool-hero-fit { max-width:none; }
  .pool-detail-studio .pool-hero-figure { min-height:0; aspect-ratio:1.6; }
  .pool-detail-studio .pool-hero-figure figcaption { display:flex; align-items:end; }
  .pool-detail-studio .pool-hero-figure figcaption>span:last-child { text-align:right; margin-top:0; }
  .pool-detail-studio .pds-decision-intro { gap:7%; padding-block:60px 20px; }
  .pool-detail-studio .pds-guides .ex-section:not(#project-checklist)>.container { grid-template-columns:1fr; gap:30px; }
  .pool-detail-studio .pds-guides .ex-section:not(#project-checklist) .ex-intro { max-width:650px; }
  #main .pool-detail-studio .pds-guides .ex-intro h2 { max-width:30ch; }
  #main .pool-detail-studio .pds-guides .ex-intro>p:not(.eyebrow) { max-width:65ch; }
  .pool-detail-studio .pds-guides .ex-section:not(#project-checklist) .ex-intro::before { margin-bottom:20px; }
  .pool-detail-studio .pds-guides .ex-card:first-child { border-top:1px solid var(--pds-rule); padding-top:22px; }
  .pool-detail-studio .pds-guides .ex-checklist-panel { grid-template-columns:1fr; gap:26px; }
  .pool-detail-studio .pds-feature .construction-split { grid-template-columns:1fr; gap:35px; }
  .pool-detail-studio .pds-feature .construction-photo img { aspect-ratio:1.45; }
  .pool-detail-studio .pds-resources { grid-template-columns:1fr; gap:30px; }
  #main .pool-detail-studio .pds-resources>div:first-child>p:not(.eyebrow) { max-width:65ch; }
  .pool-detail-studio .pds-cost-section>.container { grid-template-columns:1fr; gap:30px; }
  #main .pool-detail-studio .pds-cost-action p:not(.eyebrow) { max-width:55ch; }
  .pool-detail-studio .pds-questions .construction-split { grid-template-columns:1fr; gap:32px; }
}
@media(max-width:700px) {
  #main .pool-detail-studio .pool-hero-copy h1 { font-size:clamp(46px,12.5vw,64px); }
  #main .pool-detail-studio .pds-tag { font-size:26px; margin-top:17px; }
  #main .pool-detail-studio .pool-hero-copy .page-lead { font-size:16px; margin-top:20px; }
  .pool-detail-studio .pool-hero-copy .button-row { flex-direction:column; align-items:start; gap:14px; margin-top:24px; }
  .pool-detail-studio .pool-hero-copy .button { font-size:13px; padding:17px 19px; gap:25px; }
  .pool-detail-studio .pool-hero-figure { aspect-ratio:1.12; }
  .pool-detail-studio .pool-hero-figure figcaption { left:23px; right:23px; bottom:22px; display:block; }
  .pool-detail-studio .pool-hero-figure figcaption>span:first-child { font-size:30px; }
  .pool-detail-studio .pool-hero-figure figcaption>span:last-child { text-align:left; margin-top:12px; font-size:11px; }
  .pool-detail-studio .pds-outline .outline-scroll>a { font-size:12px; }
  .pool-detail-studio .pds-overview .section-aside { font-size:16px; margin-top:0; }
  .pool-detail-studio .pool-stage-grid { grid-template-columns:1fr; gap:26px; margin-top:30px; }
  .pool-detail-studio .pool-stage-grid>article { display:grid; grid-template-columns:35px 1fr; gap:9px 19px; padding-top:22px; }
  .pool-detail-studio .pool-stage-grid .step-number { grid-row:1/3; font-size:29px; }
  #main .pool-detail-studio .pool-stage-grid h3 { font-size:29px; margin:0; }
  #main .pool-detail-studio .pool-stage-grid p { font-size:16px; margin:0; }
  .pool-detail-studio .pds-feature .construction-photo img { aspect-ratio:1.08; }
  #main .pool-detail-studio .pds-feature p:not(.eyebrow) { font-size:16px; }
  .pool-detail-studio .pds-feature-actions .button { font-size:13px; padding-inline:17px; gap:20px; }
  .pool-detail-studio .pds-decision-intro { grid-template-columns:1fr; gap:24px; padding-top:50px; }
  #main .pool-detail-studio .pds-decision-intro>p { font-size:16px; }
  .pool-detail-studio .pds-guides .ex-section:not(#project-checklist) { padding-block:28px 30px; }
  .pool-detail-studio .pds-guides .ex-section:not(#project-checklist)>.container { padding-top:28px; }
  .pool-detail-studio .pds-guides .ex-checklist-panel { padding:26px 23px; }
  #main .pool-detail-studio .pds-guides .ex-intro h2 { font-size:33px; }
  #main .pool-detail-studio .pds-guides .ex-card h3 { font-size:26px; }
  .pool-detail-studio .pds-resource-disclosure { padding-inline:23px; }
  .pool-detail-studio .pds-resource-disclosure summary { font-size:16px; }
  .pool-detail-studio .pds-cost-section { padding-block:48px; }
  .pool-detail-studio .pds-cost-action .button { font-size:13px; gap:22px; padding-inline:18px; }
  .pool-detail-studio .pds-inspiration { padding-top:55px; }
  .pool-detail-studio .pds-inspiration .pool-related-grid { grid-template-columns:1fr; }
  .pool-detail-studio .pds-inspiration .pool-related-space img { aspect-ratio:1.15; }
  .pool-detail-studio .pds-questions .faq-list summary { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .pool-detail-studio .pds-resource-disclosure summary>span:last-child { transition:none; }
}
@media print {
  .pool-detail-studio .pds-hero,.pool-detail-studio .pds-feature .construction-split,.pool-detail-studio .pds-decision-intro,.pool-detail-studio .pds-resources,.pool-detail-studio .pds-guides .ex-section:not(#project-checklist)>.container { display:block; }
  .pool-detail-studio .pool-hero-figure,.pool-detail-studio .pds-compare-link,.pool-detail-studio .pds-cost-section,.pool-detail-studio .pds-feature-actions,.pool-detail-studio .pds-question-links { display:none; }
  .pool-detail-studio .pool-hero-copy { padding:12pt 0; }
  #main .pool-detail-studio .pool-hero-copy h1 { font-size:28pt; }
  .pool-detail-studio .pds-guides .ex-section:not(#project-checklist) { padding-block:15pt; }
  .pool-detail-studio .pds-guides .ex-section:not(#project-checklist)>.container { border-top:1px solid #aaa; }
  .pool-detail-studio .pds-guides .ex-grid { margin-top:20pt; }
  .pool-detail-studio .pds-resource-disclosure:not([open])>.construction-resources { display:block; }
  .pool-detail-studio .pds-resource-disclosure { border:0; padding:0; }
  .pool-detail-studio .pds-resource-disclosure summary { min-height:0; margin-top:15pt; }
}

/* Feature explorer: useful topics, authentic imagery, and a visible shortlist. */
.details-studio { --ds-line:#c4cec3; --ds-green:#285b4d; }
.ds-hero { display:grid; grid-template-columns:1fr .95fr; gap:10%; align-items:end; padding-block:68px 48px; }
#main .ds-hero h1 { font-size:clamp(48px,5.7vw,81px); line-height:1.07; margin-top:22px; }
.ds-hero-copy > p:first-child { font-size:19px; line-height:1.7; color:var(--ink); max-width:48ch; }
.ds-hero-copy > p:not(:first-child):not(.details-context) { font-size:15px; line-height:1.75; margin-top:18px; max-width:56ch; }
.details-studio #details-context { color:var(--ink); font-size:14px; line-height:1.65; padding:12px 15px; background:#e9eee5; border-left:3px solid var(--ds-green); margin-top:19px; }
.details-studio #details-context[hidden] { display:none; }
.ds-hero-copy .text-link { font-size:14px; margin-top:20px; gap:22px; }
.ds-topic-nav { display:grid; grid-template-columns:175px 1fr; gap:25px; align-items:start; border-block:1px solid var(--ds-line); padding-block:19px; }
.ds-topic-nav > span { font-size:13px; line-height:1.6; font-weight:600; padding-block:8px; }
.ds-topic-nav > div { display:flex; flex-wrap:wrap; gap:6px 9px; }
.ds-topic-nav a { font-size:13px; line-height:1.5; min-height:38px; display:flex; align-items:center; padding:7px 12px; background:#edf0e8; border:1px solid transparent; }
.ds-topic-nav a:hover { background:var(--paper); border-color:var(--ds-line); color:var(--ink); }
.ds-start { padding-block:25px 37px; }
.ds-start > details { border-bottom:1px solid var(--ds-line); }
.ds-start summary { display:flex; justify-content:space-between; align-items:center; gap:25px; list-style:none; cursor:pointer; padding-block:9px 23px; }
.ds-start summary::-webkit-details-marker { display:none; }
.ds-start summary > span:first-child { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.ds-start-title { font-size:17px; line-height:1.5; }
.ds-expand { font-size:26px; line-height:1; }
.ds-start details[open] .ds-expand { transform:rotate(45deg); }
.ds-start-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; padding-block:7px 30px; }
#main .ds-start-grid h2 { font-size:25px; line-height:1.3; }
.ds-start-grid p { margin-top:15px; font-size:15px; line-height:1.75; }
.ds-explorer { display:grid; grid-template-columns:240px minmax(0,1fr); gap:38px; align-items:start; padding-bottom:78px; scroll-margin-top:120px; }
.details-studio .design-selection { display:block; position:sticky; top:125px; z-index:5; width:100%; margin:0; padding:24px 20px; background:#edf1e8; border:1px solid var(--ds-line); max-height:calc(100svh - 145px); overflow:auto; }
.details-studio .design-selection .eyebrow { font-size:10px; line-height:1.7; color:var(--ds-green); }
.details-studio .design-selection-count { font-size:20px; line-height:1.4; margin-top:12px; color:var(--ink); }
.ds-selection-placeholder { font-size:14px; line-height:1.7; margin-top:17px; }
.details-studio:has(.topic-choice[aria-pressed="true"]) .ds-selection-placeholder { display:none; }
.ds-selected-list { list-style:none; padding:0; margin:16px 0 0; }
.ds-picked { display:none; border-top:1px solid #c4d1c0; }
.ds-picked > a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 0; font-size:13px; line-height:1.6; }
.ds-picked > a > span { color:var(--ds-green); font-size:18px; }
.details-studio:has(#detail-shelves .topic-choice[aria-pressed="true"]) .ds-picked-shelves,
.details-studio:has(#detail-coping .topic-choice[aria-pressed="true"]) .ds-picked-coping,
.details-studio:has(#detail-outdoor-space .topic-choice[aria-pressed="true"]) .ds-picked-outdoor-space,
.details-studio:has(#detail-lighting .topic-choice[aria-pressed="true"]) .ds-picked-lighting,
.details-studio:has(#detail-covers .topic-choice[aria-pressed="true"]) .ds-picked-covers,
.details-studio:has(#detail-equipment .topic-choice[aria-pressed="true"]) .ds-picked-equipment,
.details-studio:has(#detail-spas-features .topic-choice[aria-pressed="true"]) .ds-picked-spas-features,
.details-studio:has(#detail-heating .topic-choice[aria-pressed="true"]) .ds-picked-heating { display:block; }
.details-studio .design-selection-actions { display:flex; flex-direction:column; align-items:stretch; gap:10px; margin-top:20px; }
.details-studio .design-selection-actions .button { font-size:14px; line-height:1.5; min-height:48px; padding:12px 14px; gap:12px; }
.details-studio .design-selection .quiet-button { font-size:13px; line-height:1.5; min-height:40px; padding:8px 10px; align-self:start; color:var(--ink); }
.ds-selection-note { border-top:1px solid #c4d1c0; padding-top:16px; font-size:12px; line-height:1.7; margin-top:12px; }
.details-studio .design-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 28px; align-items:stretch; }
.details-studio .design-card { display:flex; flex-direction:column; border:1px solid var(--ds-line); padding:0; background:var(--paper); min-width:0; scroll-margin-top:125px; }
.details-studio .design-card:has(.topic-choice[aria-pressed="true"]) { outline:2px solid var(--ds-green); outline-offset:0; background:#f2f5ed; }
.details-studio .design-card-image { overflow:hidden; background:#dce3da; }
.details-studio .design-card-image img { width:100%; height:auto; aspect-ratio:1.4; object-fit:cover; object-position:center; }
.details-studio .design-card-copy { display:flex; flex-direction:column; flex:1; padding:23px; }
.details-studio .design-card-top { display:flex; align-items:start; justify-content:space-between; gap:15px; }
.details-studio .design-card-top .eyebrow { font-size:10px; line-height:1.65; letter-spacing:.12em; color:var(--ds-green); }
.details-studio .design-card-top > span { font-size:12px; line-height:1.5; color:var(--muted); }
#main .details-studio .design-card h2 { font-size:clamp(29px,2.6vw,38px); line-height:1.17; margin-top:16px; }
.details-studio .design-card-copy > p { font-size:16px; line-height:1.75; margin-top:19px; max-width:none; }
.details-studio .design-card ul { list-style:none; padding:0; margin:22px 0 25px; }
.details-studio .design-card li { font-size:14px; line-height:1.7; padding-block:10px; border-top:1px solid #d2dacd; color:var(--muted); }
.details-studio .design-card li::before { content:none; }
.details-studio .design-card-actions { display:flex; align-items:stretch; flex-direction:column; gap:13px; margin-top:auto; }
.details-studio .design-card-actions .topic-choice { display:flex; justify-content:space-between; width:100%; max-width:100%; min-height:50px; padding:12px 14px; font-size:14px; line-height:1.6; text-align:left; gap:15px; border-color:#91a58e; background:transparent; color:var(--ink); }
.details-studio .design-card-actions .topic-choice [data-choice-icon] { flex-shrink:0; color:var(--ds-green); }
.details-studio .design-card-actions .topic-choice[aria-pressed="true"] { background:var(--ds-green); color:white; border-color:var(--ds-green); }
.details-studio .design-card-actions .topic-choice[aria-pressed="true"] [data-choice-icon] { color:white; }
.details-studio .design-card-actions .text-link { align-self:start; font-size:13px; min-height:38px; gap:20px; margin-top:0; }
.details-studio .design-card-text { border-color:#c3cdbb; background:#e9eee2; padding:0; }
.details-studio .design-card-text .design-card-copy { padding:27px 23px; }
.details-studio .design-card-text h2 { max-width:none; }
.details-studio .design-scope-note { font-size:13px; line-height:1.75; margin-top:30px; max-width:83ch; }
.details-studio .design-bottom { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:38px; padding-top:32px; border-top:1px solid var(--ds-line); }
#main .details-studio .design-bottom h2 { font-size:clamp(31px,3vw,43px); line-height:1.16; margin-top:16px; }
.details-studio .design-bottom .eyebrow { color:var(--ds-green); font-size:10px; }
.details-studio .design-bottom .button { font-size:14px; line-height:1.5; padding:14px 18px; gap:20px; flex-shrink:0; }
.ds-checklist { background:#e7ece2; }
.ds-section-heading { display:grid; grid-template-columns:1fr .9fr; gap:12%; align-items:end; }
#main .ds-section-heading h2, #main .ds-questions h2 { font-size:clamp(37px,3.8vw,54px); line-height:1.12; }
.ds-section-heading > p { font-size:18px; line-height:1.75; max-width:37ch; }
.ds-considerations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:42px; }
.ds-considerations article { border-top:1px solid #aabb9f; padding-top:23px; }
.ds-considerations article > span { font-size:12px; line-height:1.6; color:var(--ds-green); }
#main .ds-considerations h3 { font-size:27px; line-height:1.3; margin-top:17px; }
.ds-considerations p { font-size:16px; line-height:1.75; margin-top:18px; }
.ds-bring { display:grid; grid-template-columns:1fr 1.1fr; gap:12%; border-top:1px solid #aabb9f; padding-top:33px; margin-top:42px; }
#main .ds-bring h3 { font-size:31px; line-height:1.25; margin-top:17px; }
.ds-bring ul { list-style:none; padding:0; margin:0; }
.ds-bring li { position:relative; padding:0 0 14px 24px; font-size:15px; line-height:1.7; color:var(--muted); }
.ds-bring li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--ds-green); }
.ds-questions .two-col > div > p:not(.eyebrow) { font-size:17px; line-height:1.75; }
.no-js .ds-explorer { grid-template-columns:1fr; }
.no-js .details-studio .design-selection, .no-js .details-studio .topic-choice, .no-js .details-studio .design-bottom { display:none; }
@media (min-width:1200px) {
  .details-studio .design-card:first-child { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1.1fr; }
  .details-studio .design-card:first-child .design-card-image img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:60% center; }
  .details-studio .design-card:first-child .design-card-copy { padding:28px; }
}
@media (max-width:1050px) {
  .ds-hero { gap:7%; }
  .ds-explorer { grid-template-columns:210px minmax(0,1fr); gap:25px; }
  .details-studio .design-selection { top:105px; padding:20px 16px; max-height:calc(100svh - 125px); }
  .details-studio .design-details-grid { gap:27px 22px; }
  .details-studio .design-card-copy, .details-studio .design-card-text .design-card-copy { padding:20px; }
  .details-studio .design-bottom { display:block; }
  .details-studio .design-bottom .button { margin-top:23px; }
  .ds-considerations { gap:27px; }
}
@media (max-width:850px) {
  .ds-explorer { grid-template-columns:1fr; gap:27px; }
  .details-studio .design-selection { position:static; max-height:none; overflow:visible; display:grid; grid-template-columns:1fr auto; gap:0 25px; padding:22px; }
  .details-studio .design-selection .eyebrow, .details-studio .design-selection-count, .ds-selection-placeholder, .ds-selected-list { grid-column:1; }
  .details-studio .design-selection-actions { grid-column:2; grid-row:1 / 5; align-self:center; margin-top:0; }
  .ds-selection-note { grid-column:1 / -1; margin-top:18px; }
  .ds-selected-list { display:flex; flex-wrap:wrap; gap:6px 13px; }
  .ds-picked { border:0; }
  .ds-picked > a { padding:4px 0; min-height:34px; border-bottom:1px solid #b6c7af; }
  .ds-start-grid { gap:23px; }
}
@media (max-width:700px) {
  .ds-hero { grid-template-columns:1fr; gap:27px; padding-block:40px 34px; }
  #main .ds-hero h1 { font-size:clamp(44px,11.2vw,64px); margin-top:19px; line-height:1.1; }
  .ds-hero-copy > p:first-child { font-size:18px; }
  .ds-hero-copy > p:not(:first-child):not(.details-context) { font-size:15px; }
  .ds-hero-copy .text-link { align-items:start; line-height:1.65; }
  .ds-topic-nav { display:block; padding-block:15px; }
  .ds-topic-nav > span { display:block; padding-block:0 12px; }
  .ds-topic-nav > div { gap:7px; }
  .ds-topic-nav a { font-size:12px; min-height:40px; padding:8px 10px; }
  .ds-start { padding-block:21px 28px; }
  .ds-start summary { align-items:center; padding-block:4px 20px; }
  .ds-start summary > span:first-child { display:block; }
  .ds-start-title { display:block; font-size:16px; line-height:1.6; margin-top:8px; }
  .ds-start-grid { grid-template-columns:1fr; gap:25px; padding-bottom:25px; }
  #main .ds-start-grid h2 { font-size:25px; }
  .ds-explorer { padding-bottom:52px; }
  .details-studio .design-selection { display:block; padding:22px; }
  .details-studio .design-selection-count { font-size:22px; }
  .details-studio .design-selection-actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:18px; }
  .details-studio .design-selection-actions .button { width:auto; min-height:48px; font-size:14px; gap:19px; padding-inline:15px; }
  .details-studio .design-selection .quiet-button { align-self:center; }
  .ds-selection-note { margin-top:14px; }
  .details-studio .design-details-grid { grid-template-columns:1fr; gap:30px; }
  .details-studio .design-card-image img { aspect-ratio:1.3; }
  .details-studio .design-card-copy, .details-studio .design-card-text .design-card-copy { padding:23px; }
  #main .details-studio .design-card h2 { font-size:34px; }
  .details-studio .design-card-copy > p { font-size:16px; }
  .details-studio .design-card li { font-size:14px; }
  .details-studio .design-card-actions .topic-choice { font-size:14px; }
  .details-studio .design-card-actions .text-link { font-size:13px; }
  .details-studio .design-bottom { margin-top:31px; padding-top:28px; }
  .ds-section-heading, .ds-bring { grid-template-columns:1fr; gap:24px; }
  .ds-section-heading > p { font-size:17px; }
  .ds-considerations { grid-template-columns:1fr; gap:29px; margin-top:30px; }
  .ds-considerations article { padding-top:21px; }
  .ds-bring { gap:27px; margin-top:32px; padding-top:28px; }
  .ds-bring li { font-size:15px; }
}
@media print {
  .ds-hero, .ds-explorer, .ds-section-heading, .ds-bring { display:block; }
  .ds-hero-copy, .ds-section-heading > p, .ds-bring ul { margin-top:20px; }
  .details-studio .design-selection, .ds-topic-nav, .details-studio .topic-choice, .details-studio .design-bottom { display:none; }
  .details-studio .design-details-grid { display:block; }
  .details-studio .design-card { margin-bottom:25px; break-inside:avoid; }
  .details-studio .design-card-image img { max-height:90mm; object-fit:contain; aspect-ratio:auto; }
  .ds-checklist { background:transparent; }
}

/* Local heritage, tangible planning, and a clear shared-team connection. */
.about-studio { --as-green:#285e59; --as-line:#c9d3c6; }
.as-hero { display:grid; grid-template-columns:1fr 1.08fr; gap:7%; align-items:center; padding-block:43px 52px; }
#main .as-hero h1 { font-size:clamp(47px,4.55vw,68px); line-height:1.09; margin-top:23px; max-width:15ch; }
.as-hero-copy .as-hero-lead { font-size:21px; line-height:1.6; color:var(--ink); margin-top:27px; max-width:34ch; }
.as-hero-copy>p:not(.eyebrow):not(.as-hero-lead) { font-size:17px; line-height:1.8; max-width:44ch; margin-top:20px; }
.as-hero .button-row { margin-top:28px; gap:14px 25px; }
.as-hero .button { min-height:55px; font-size:14px; }
.as-hero .text-link { font-size:14px; }
.as-hero-photo { position:relative; margin:0; align-self:stretch; min-height:570px; background:#cdd9cf; }
.as-hero-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:48% center; }
.as-hero-photo figcaption { position:absolute; inset-inline:20px; bottom:20px; display:grid; grid-template-columns:1fr 45px; gap:6px 18px; padding:17px 18px; background:#fcfbf7; color:var(--ink); }
.as-hero-photo figcaption>span { font-size:11px; line-height:1.65; }
.as-hero-photo figcaption>strong { font-size:16px; font-weight:500; line-height:1.6; }
.as-hero-photo figcaption>a { grid-column:2; grid-row:1/3; display:grid; place-items:center; width:45px; height:45px; background:var(--ink); color:white; font-size:23px; }
.as-hero-photo figcaption>a:hover { background:var(--as-green); }
.as-facts { background:#e6ede3; border-block:1px solid #d2ddcd; }
.as-facts>.container { display:grid; grid-template-columns:.8fr 1fr 1.25fr; padding-block:27px; }
.as-facts>.container>div { padding-inline:30px; border-left:1px solid #c1cfbd; }
.as-facts>.container>div:first-child { padding-left:0; border-left:0; }
.as-facts strong { display:block; font:400 30px/1.25 var(--display,Georgia,serif); color:var(--ink); letter-spacing:-.025em; }
.as-facts span { display:block; color:#4f6252; font-size:13px; line-height:1.7; margin-top:8px; }
.as-page-nav { display:flex; justify-content:space-between; gap:16px 27px; border-bottom:1px solid var(--as-line); padding-block:15px; }
.as-page-nav a { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:42px; font-size:13px; font-weight:600; }
.as-page-nav a>span { color:var(--as-green); font-size:20px; }
.as-page-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.as-approach { display:grid; grid-template-columns:.85fr 1.15fr; gap:12%; }
#main .as-section-intro h2, #main .as-decisions-heading h2, #main .as-connection h2, #main .as-local h2, #main .as-start h2, #main .as-invitation h2 { font-size:clamp(36px,3.6vw,53px); line-height:1.14; }
.as-section-intro>p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:25px; max-width:38ch; }
.as-section-intro>.text-link { margin-top:22px; }
.as-principles>article { display:grid; grid-template-columns:25px 1fr; gap:20px; padding-block:25px 29px; border-top:1px solid var(--as-line); }
.as-principles>article:last-child { border-bottom:1px solid var(--as-line); }
.as-principles>article>span { font-size:13px; line-height:1.6; color:var(--as-green); padding-top:5px; }
#main .as-principles h3 { font-size:29px; line-height:1.25; }
.as-principles p { font-size:16px; line-height:1.8; margin-top:13px; max-width:55ch; }
.as-decisions { padding-block:72px; background:#183440; color:white; }
.as-decisions .eyebrow { color:#ddcbaa; }
#main .as-decisions h2 em { color:#e1cfab; }
.as-decisions-heading { display:grid; grid-template-columns:1fr .75fr; gap:12%; align-items:end; margin-bottom:39px; }
.as-decisions-heading>p { font-size:17px; line-height:1.8; color:#dbe5df; }
.as-decision-rows>a { display:grid; grid-template-columns:170px 1fr 190px; gap:6%; align-items:center; padding-block:29px; border-top:1px solid #65766f; color:white; }
.as-decision-rows>a:last-child { border-bottom:1px solid #65766f; }
.as-decision-number { color:#e1cfab; font-size:12px; line-height:1.7; }
#main .as-decision-rows h3 { font-size:28px; line-height:1.25; }
.as-decision-rows p { color:#dbe5df; font-size:16px; line-height:1.8; margin-top:12px; max-width:56ch; }
.as-decision-action { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:13px; line-height:1.7; font-weight:600; }
.as-decision-action>span { font-size:22px; font-weight:400; }
.as-decision-rows>a:hover .as-decision-action { color:#e1cfab; text-decoration:underline; text-underline-offset:5px; }
.as-decisions a:focus-visible { outline-color:#f0e4cd; }
.as-connection { display:grid; grid-template-columns:1.03fr 1fr; gap:9%; align-items:center; }
.as-connection>figure { margin:0; }
.as-connection>figure>img { width:100%; aspect-ratio:1.04; object-fit:cover; object-position:center 58%; }
.as-connection figcaption { font-size:12px; line-height:1.7; color:var(--muted); margin-top:13px; }
.as-connection-copy>p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:25px; }
.as-roles { margin:25px 0 18px; }
.as-roles>div { padding-block:17px; border-top:1px solid var(--as-line); }
.as-roles dt { font-size:14px; line-height:1.7; font-weight:600; }
.as-roles dd { margin:8px 0 0; font-size:15px; line-height:1.8; color:var(--muted); }
.as-connection-links { display:flex; flex-wrap:wrap; gap:12px 24px; }
.as-connection-links .text-link { font-size:14px; }
.as-local { padding-block:66px; background:#ecefe7; }
.as-local-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:11%; }
.as-local-layout>div:first-child>p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:40ch; margin-top:24px; }
.as-local-layout>div:first-child>.text-link { font-size:14px; margin-top:18px; }
.as-contact-panel { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:33px; background:#fcfcf8; border:1px solid #d1d9ca; align-self:center; }
.as-contact-label { display:block; color:#6e5b37; font-size:11px; line-height:1.7; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.as-contact-panel address { font-style:normal; font-size:16px; line-height:1.9; color:var(--ink); margin-top:17px; }
.as-contact-panel .text-link { font-size:13px; margin-top:18px; }
.as-phone { display:block; font-size:24px; line-height:1.6; letter-spacing:-.03em; margin-top:16px; white-space:nowrap; }
.as-email { display:block; font-size:13px; line-height:1.8; margin-top:12px; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:5px; }
.as-contact-panel p { font-size:13px; line-height:1.8; margin-top:18px; }
.as-phone:hover { text-decoration:underline; text-underline-offset:6px; }
.as-start-heading { max-width:800px; }
.as-project-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin-top:40px; }
.as-project-paths>article { display:flex; flex-direction:column; align-items:start; border-top:1px solid var(--as-line); padding-top:22px; }
.as-path-label { color:#6e5b37; font-size:12px; line-height:1.7; }
#main .as-project-paths h3 { font-size:29px; line-height:1.3; margin-top:19px; }
.as-project-paths p { font-size:16px; line-height:1.8; margin-block:15px 20px; }
.as-project-paths .text-link { font-size:14px; margin-top:auto; }
.as-invitation { padding-block:65px; background:#e3eae0; }
.as-invitation>.container { display:grid; grid-template-columns:1.2fr .7fr; gap:12%; align-items:center; }
.as-invitation p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:23px; }
.as-invitation>.container>div:last-child { display:flex; flex-direction:column; align-items:start; gap:15px; }
.as-invitation .button { font-size:15px; min-height:56px; }
.as-invitation .text-link { font-size:14px; }
@media(max-width:1100px) {
  .as-hero { gap:5%; grid-template-columns:1fr 1fr; }
  #main .as-hero h1 { font-size:clamp(43px,5vw,58px); }
  .as-hero-copy .as-hero-lead { font-size:19px; }
  .as-hero-photo { min-height:610px; }
  .as-approach { gap:8%; }
  .as-decisions-heading { gap:8%; }
  .as-decision-rows>a { grid-template-columns:130px 1fr 160px; gap:4%; }
  .as-connection { gap:6%; }
  .as-local-layout { grid-template-columns:1fr 1fr; gap:7%; }
  .as-contact-panel { grid-template-columns:1fr; gap:27px; padding:29px; }
  .as-contact-panel>div+div { border-top:1px solid var(--as-line); padding-top:24px; }
  .as-project-paths { gap:25px; }
  .as-invitation>.container { gap:8%; }
}
@media(max-width:800px) {
  .as-page-nav { flex-wrap:wrap; justify-content:start; }
  .as-page-nav a { flex:1 1 40%; }
  .as-facts>.container { grid-template-columns:.7fr 1fr 1fr; }
  .as-facts>.container>div { padding-inline:20px; }
  .as-facts strong { font-size:26px; }
  .as-decision-rows>a { grid-template-columns:100px 1fr; gap:24px; }
  .as-decision-action { grid-column:2; justify-content:start; margin-top:-9px; }
  .as-decisions-heading { grid-template-columns:1fr; gap:24px; }
  .as-decisions-heading>p { max-width:57ch; }
}
@media(max-width:700px) {
  .as-hero { display:flex; flex-direction:column; align-items:stretch; gap:29px; padding-block:29px 35px; }
  #main .as-hero h1 { font-size:clamp(43px,10.6vw,61px); line-height:1.1; max-width:none; margin-top:20px; }
  .as-hero-copy .as-hero-lead { font-size:20px; line-height:1.65; margin-top:23px; }
  .as-hero-copy>p:not(.eyebrow):not(.as-hero-lead) { font-size:16px; line-height:1.8; margin-top:18px; }
  .as-hero .button-row { gap:13px 24px; margin-top:24px; }
  .as-hero-photo { min-height:0; aspect-ratio:1.1; }
  .as-hero-photo figcaption { inset-inline:14px; bottom:14px; padding:14px; gap:5px 12px; }
  .as-hero-photo figcaption>span { font-size:10px; }
  .as-hero-photo figcaption>strong { font-size:14px; }
  .as-facts>.container { grid-template-columns:1fr; padding-block:5px; }
  .as-facts>.container>div,.as-facts>.container>div:first-child { padding:18px 0; border-left:0; border-top:1px solid #c1cfbd; }
  .as-facts>.container>div:first-child { border-top:0; }
  .as-facts strong { font-size:28px; }
  .as-facts span { margin-top:5px; }
  .as-page-nav { display:block; padding-block:10px; }
  .as-page-nav a { min-height:44px; font-size:13px; }
  .as-page-nav a+a { border-top:1px solid var(--as-line); }
  .as-approach { grid-template-columns:1fr; gap:30px; }
  .as-section-intro>p:not(.eyebrow) { max-width:44ch; margin-top:22px; }
  .as-principles>article { grid-template-columns:23px 1fr; gap:16px; padding-block:23px 27px; }
  #main .as-principles h3 { font-size:27px; }
  .as-decisions { padding-block:50px; }
  .as-decisions-heading { margin-bottom:29px; }
  .as-decision-rows>a { grid-template-columns:1fr; gap:15px; padding-block:25px; }
  .as-decision-action { grid-column:1; margin-top:0; min-height:35px; }
  #main .as-decision-rows h3 { font-size:27px; }
  .as-decision-rows p { margin-top:12px; }
  .as-connection { grid-template-columns:1fr; gap:30px; }
  .as-connection>figure>img { aspect-ratio:1.2; }
  .as-connection-copy>p:not(.eyebrow) { margin-top:23px; }
  .as-connection-links { gap:10px 20px; }
  .as-local { padding-block:49px; }
  .as-local-layout { grid-template-columns:1fr; gap:30px; }
  .as-local-layout>div:first-child>p:not(.eyebrow) { max-width:45ch; }
  .as-contact-panel { padding:26px 23px; }
  .as-phone { font-size:27px; }
  .as-project-paths { grid-template-columns:1fr; gap:29px; margin-top:31px; }
  .as-project-paths p { margin-bottom:13px; }
  .as-invitation { padding-block:49px; }
  .as-invitation>.container { grid-template-columns:1fr; gap:29px; }
}
@media print {
  .as-hero,.as-facts>.container,.as-approach,.as-decisions-heading,.as-connection,.as-local-layout,.as-project-paths,.as-invitation>.container { display:block; }
  .as-hero-photo { min-height:0; aspect-ratio:1.6; margin-top:20px; }
  .as-hero-photo figcaption>a,.as-page-nav,.as-invitation .button { display:none; }
  .as-decisions,.as-local,.as-invitation { color:#111; background:transparent; padding-block:20pt; }
  .as-decisions .eyebrow,#main .as-decisions h2 em,.as-decisions p,.as-decision-number { color:#111; }
  .as-decision-rows>a { color:#111; }
  .as-hero-photo,.as-principles article,.as-project-paths article { break-inside:avoid; }
}

/* A project journey with clear stages and visible decisions. */
.process-studio { --pr-line:#c8d1c5; --pr-green:#285e59; }
.pr-hero { display:grid; grid-template-columns:1.1fr .8fr; gap:10%; align-items:center; padding-block:42px 52px; }
#main .pr-hero h1 { font-size:clamp(47px,4.9vw,72px); line-height:1.08; margin-top:21px; max-width:16ch; }
.pr-hero .page-lead { font-size:18px; line-height:1.8; max-width:47ch; margin-top:26px; }
.pr-hero .button-row { margin-top:28px; gap:15px 25px; }
.pr-hero .button { font-size:14px; }
.pr-first-conversation { background:#e9efe6; border-top:3px solid var(--pr-green); padding:31px 33px; }
.pr-hero-number { display:block; font:italic 42px/1 var(--display,Georgia,serif); color:var(--pr-green); margin-bottom:25px; }
#main .pr-first-conversation h2 { font-size:31px; line-height:1.2; margin-top:15px; letter-spacing:-.025em; }
.pr-first-conversation ul { margin:23px 0 0; padding-left:18px; font-size:15px; line-height:1.8; color:#465e4e; }
.pr-first-conversation li { padding-block:3px; }
#main .pr-first-conversation .pr-note { border-top:1px solid #c5d1c0; padding-top:17px; margin-top:20px; font-size:13px; line-height:1.75; }
.pr-page-nav { display:flex; justify-content:space-between; gap:16px 25px; border-block:1px solid var(--pr-line); padding-block:11px; }
.pr-page-nav a { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:46px; font-size:14px; font-weight:600; }
.pr-page-nav a > span { color:var(--pr-green); font-size:20px; }
.pr-page-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.pr-overview { padding-block:61px 65px; margin-top:60px; background:#17333d; color:white; }
.pr-overview > .container { display:grid; grid-template-columns:.8fr 1.7fr; gap:9%; }
.process-studio .pr-overview .eyebrow { color:#dfd1b2; }
#main .pr-overview h2 { font-size:clamp(34px,3vw,44px); line-height:1.15; margin-top:17px; }
.process-studio .pr-overview em { color:#dfd1b2; }
.pr-phase-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:30px; }
.pr-phase-list li { border-top:1px solid #6b7d7d; padding-top:22px; }
.pr-phase-list li > span { font-size:12px; color:#dfd1b2; }
#main .pr-phase-list h3 { font-size:26px; line-height:1.25; margin-top:19px; letter-spacing:-.02em; }
.pr-phase-list p { color:#dfe8e3; font-size:15px; line-height:1.75; margin-top:16px; }
.pr-stages { display:grid; grid-template-columns:.75fr 1.25fr; gap:11%; align-items:start; }
.pr-stage-intro { position:sticky; top:145px; }
#main .pr-stage-intro h2 { font-size:clamp(35px,3.5vw,49px); line-height:1.15; margin-top:17px; }
.pr-stage-intro > p:not(.eyebrow) { margin-top:25px; font-size:17px; line-height:1.8; max-width:36ch; }
.pr-stage-intro .text-link { margin-top:20px; font-size:14px; }
.pr-stage-key { display:flex; align-items:center; gap:22px; border-top:1px solid var(--pr-line); padding-top:26px; margin-top:32px; }
.pr-stage-key > span { font:italic 61px/1 var(--display,Georgia,serif); color:var(--pr-green); }
.pr-stage-key p { font-size:13px; line-height:1.75; }
.process-studio .process-timeline { display:block; min-width:0; }
.process-studio .process-timeline article { display:grid; grid-template-columns:45px minmax(0,1fr); gap:23px; padding-block:31px 37px; border-top:1px solid var(--pr-line); }
.process-studio .process-timeline article:first-child { padding-top:0; border-top:0; }
.process-studio .process-timeline .timeline-number { font:italic 32px/1.1 var(--display,Georgia,serif); color:var(--pr-green); padding-top:4px; }
#main .process-studio .process-timeline h2 { font-size:31px; line-height:1.2; margin:0; letter-spacing:-.025em; }
.process-studio .process-timeline article > div > p { font-size:17px; line-height:1.8; margin-top:17px; }
.process-studio .ex-process-deliverables { gap:7px; margin-top:19px; }
.process-studio .ex-process-deliverables li { font-size:12px; line-height:1.65; padding:5px 9px; background:#f0f3eb; color:#455c4b; border-color:#d3dccb; }
.process-studio .ex-process-note { background:#eaf0e5; border:0; padding:16px 18px; margin-top:21px; }
#main .process-studio .ex-process-note p { font-size:15px; line-height:1.75; }
.pr-coordination { background:#f0ede5; }
.pr-coordination-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:12%; }
#main .pr-coordination h2, #main .pr-handover h2, #main .pr-questions h2 { font-size:clamp(36px,3.6vw,51px); line-height:1.15; }
.pr-coordination-grid > div:first-child > p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:25px; max-width:37ch; }
.pr-coordination .text-link { margin-top:21px; }
.pr-working-details details { border-top:1px solid #bec8b8; padding-block:20px; }
.pr-working-details details:last-child { border-bottom:1px solid #bec8b8; }
.pr-working-details summary { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:44px; list-style:none; cursor:pointer; font-size:18px; font-weight:600; line-height:1.5; }
.pr-working-details summary::-webkit-details-marker { display:none; }
.pr-working-details summary > span { font-size:25px; font-weight:400; color:var(--pr-green); }
.pr-working-details details[open] summary > span { transform:rotate(45deg); }
.pr-working-details details > div { padding-block:15px 3px; }
.pr-working-details p { font-size:16px; line-height:1.8; }
#main .pr-working-details .pr-question { font-size:14px; color:#4a5d4e; margin-top:18px; padding-left:17px; border-left:2px solid #90a38a; }
.pr-handover { display:grid; grid-template-columns:.85fr 1.15fr; gap:12%; }
.pr-handover > div > p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:25px; max-width:38ch; }
.pr-handover .text-link { margin-top:21px; }
.pr-handover-list { list-style:none; padding:0; margin:0; }
.pr-handover-list li { display:grid; grid-template-columns:30px 1fr; gap:20px; border-top:1px solid var(--pr-line); padding-block:24px 28px; }
.pr-handover-list li > span { font-size:12px; color:var(--pr-green); padding-top:5px; }
#main .pr-handover-list h3 { font-size:27px; line-height:1.25; }
.pr-handover-list p { font-size:16px; line-height:1.8; margin-top:13px; }
.pr-questions { background:#e8eee4; }
.pr-questions .two-col { align-items:start; }
.pr-questions .two-col > div:first-child > p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:25px; max-width:37ch; }
.pr-questions .text-link { margin-top:20px; }
.pr-questions .faq-list summary { font-size:16px; }
.pr-questions .faq-answer p { font-size:16px; line-height:1.8; }
.process-studio [id] { scroll-margin-top:125px; }
@media(max-width:1100px) {
  .pr-hero { gap:6%; grid-template-columns:1fr .85fr; }
  .pr-first-conversation { padding:27px; }
  #main .pr-first-conversation h2 { font-size:28px; }
  .pr-overview > .container { grid-template-columns:1fr; gap:35px; }
  .pr-stages { gap:7%; grid-template-columns:.75fr 1.25fr; }
  .pr-coordination-grid,.pr-handover { gap:7%; }
}
@media(max-width:850px) {
  .pr-hero { grid-template-columns:1fr 1fr; gap:5%; }
  #main .pr-hero h1 { font-size:clamp(43px,5.6vw,58px); }
  .pr-hero .page-lead { font-size:17px; }
  .pr-first-conversation { padding:25px; }
  .pr-page-nav { gap:15px; }
  .pr-page-nav a { font-size:13px; gap:12px; }
  .pr-stages { grid-template-columns:1fr; gap:36px; }
  .pr-stage-intro { position:static; }
  .pr-stage-intro > p:not(.eyebrow) { max-width:63ch; }
  .pr-stage-key { display:none; }
  .process-studio .process-timeline article { grid-template-columns:55px minmax(0,1fr); }
}
@media(max-width:700px) {
  .pr-hero { grid-template-columns:1fr; gap:31px; padding-block:31px 35px; }
  #main .pr-hero h1 { font-size:clamp(43px,10.8vw,63px); margin-top:19px; }
  .pr-hero .page-lead { margin-top:23px; }
  .pr-hero .button-row { margin-top:23px; gap:15px; }
  .pr-first-conversation { padding:27px 25px; }
  .pr-hero-number { font-size:36px; margin-bottom:21px; }
  #main .pr-first-conversation h2 { font-size:29px; }
  .pr-first-conversation ul { font-size:15px; }
  .pr-page-nav { display:grid; grid-template-columns:1fr; padding-block:8px; gap:0; }
  .pr-page-nav a { min-height:48px; font-size:14px; }
  .pr-page-nav a + a { border-top:1px solid var(--pr-line); }
  .pr-overview { padding-block:48px; margin-top:43px; }
  .pr-phase-list { grid-template-columns:1fr; gap:28px; }
  .pr-phase-list li { padding-top:20px; }
  #main .pr-phase-list h3 { margin-top:14px; font-size:28px; }
  .pr-phase-list p { font-size:16px; margin-top:13px; max-width:43ch; }
  .pr-stages { gap:33px; }
  #main .pr-stage-intro h2 { font-size:clamp(34px,8.6vw,42px); }
  .pr-stage-intro > p:not(.eyebrow) { margin-top:22px; }
  .process-studio .process-timeline article { grid-template-columns:31px minmax(0,1fr); gap:15px; padding-block:27px 32px; }
  .process-studio .process-timeline .timeline-number { font-size:27px; }
  #main .process-studio .process-timeline h2 { font-size:28px; }
  .process-studio .process-timeline article > div > p { font-size:16px; line-height:1.8; }
  .process-studio .ex-process-deliverables li { font-size:11px; }
  .process-studio .ex-process-note { padding:15px; }
  #main .process-studio .ex-process-note p { font-size:14px; }
  .pr-coordination-grid,.pr-handover { grid-template-columns:1fr; gap:31px; }
  #main .pr-coordination h2,#main .pr-handover h2,#main .pr-questions h2 { font-size:clamp(35px,8.7vw,43px); }
  .pr-working-details summary { font-size:17px; }
  .pr-handover-list li { grid-template-columns:25px 1fr; gap:15px; }
  #main .pr-handover-list h3 { font-size:27px; }
  .pr-questions .two-col { gap:30px; }
}
@media print {
  .pr-hero,.pr-overview > .container,.pr-phase-list,.pr-stages,.pr-coordination-grid,.pr-handover { display:block; }
  .pr-first-conversation { margin-top:22px; }
  .pr-overview,.pr-coordination,.pr-questions { background:white; color:#111; }
  .process-studio .pr-overview p,.process-studio .pr-overview .eyebrow,.process-studio .pr-overview em,.pr-phase-list li > span { color:#111; }
  .pr-phase-list li { margin-top:18px; }
  .pr-page-nav,.pr-stage-key { display:none; }
  .pr-stage-intro { position:static; margin-bottom:25px; }
  .process-studio .process-timeline article { break-inside:avoid; }
  .pr-working-details details > div { display:block; }
}

/* A visual planning conversation, with no personal-data collection. */
.design-studio { --ds-green:#285e59; --ds-line:#cbd5c8; background:#f7f6f0; padding-bottom:1px; }
.ds-intro { display:grid; grid-template-columns:1fr .85fr; gap:12%; align-items:end; padding-block:25px 28px; }
#main .ds-intro h1 { font-size:clamp(39px,3.6vw,52px); line-height:1.08; margin-top:15px; }
.ds-intro>div:last-child>p:first-child { color:var(--ink); font-size:19px; line-height:1.75; max-width:40ch; }
#main .ds-small { font-size:13px; line-height:1.75; }
.ds-intro .ds-small { margin-top:16px; max-width:48ch; }
.ds-workspace { display:none; grid-template-columns:.7fr 1.3fr; border:1px solid #c9d3c7; background:white; margin-bottom:30px; }
.studio-ready .ds-workspace { display:grid; }
.ds-loading { min-height:220px; padding:40px; border:1px solid var(--ds-line); background:white; }
.ds-loading p { font-size:18px; }
.ds-loading .text-link { margin-top:20px; }
.studio-ready .ds-loading,.no-js .ds-loading { display:none; }
.ds-fallback { padding:35px; background:white; border:1px solid var(--ds-line); margin-bottom:35px; }
.ds-fallback p { margin-block:22px; }
.ds-progress { grid-column:1/-1; border-bottom:1px solid var(--ds-line); background:#fff; }
.ds-progress ol { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; }
.ds-progress li { min-width:0; }
.ds-progress li+li { border-left:1px solid var(--ds-line); }
.ds-progress button { width:100%; min-height:78px; padding:19px 23px; border:0; background:transparent; color:#59695f; display:flex; align-items:center; gap:14px; font-size:14px; line-height:1.6; font-weight:600; text-align:left; }
.ds-progress button>span { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; border:1px solid #b7c7b7; border-radius:50%; font-size:11px; font-weight:500; }
.ds-progress button[aria-current=step] { background:#e7eee3; color:var(--ink); }
.ds-progress button[aria-current=step]>span { color:white; border-color:var(--ds-green); background:var(--ds-green); }
.ds-progress button:hover { background:#f0f4ec; }
.ds-main { grid-column:2; grid-row:2; min-width:0; padding:38px; }
.ds-step[hidden],.ds-controls button[hidden] { display:none; }
.ds-step h2 { font-size:clamp(33px,2.7vw,40px); line-height:1.14; margin-top:14px; }
.ds-step h2:focus { outline:none; }
.ds-step-lead { font-size:16px; line-height:1.8; max-width:52ch; margin-top:20px; }
.ds-main fieldset { border:0; margin:28px 0 0; padding:0; min-width:0; }
.ds-main legend { padding:0; margin-bottom:15px; font-size:14px; font-weight:600; color:var(--ink); line-height:1.7; }
.ds-main label { position:relative; display:block; cursor:pointer; min-width:0; }
.ds-main input { position:absolute; opacity:0; width:1px; height:1px; }
.ds-project-types { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ds-project-types label>span { display:flex; flex-direction:column; gap:10px; padding:20px 16px; border:1px solid #bdcbb8; background:#f9fbf6; min-height:152px; }
.ds-project-types strong { font:400 24px/1.2 var(--display); color:var(--ink); }
.ds-project-types label>span>span { color:#536351; font-size:13px; line-height:1.7; }
.ds-main label input:checked+span { background:#e7efe2; border-color:#285e59; box-shadow:inset 0 0 0 1px #285e59; }
.ds-main label input:focus-visible+span { outline:3px solid #285e59; outline-offset:4px; }
.ds-main label:hover>span { border-color:#285e59; }
.ds-main label>span { position:relative; }
.ds-main .ds-choice-mark { display:none; position:absolute; top:10px; right:10px; width:20px; height:20px; border-radius:50%; background:#285e59; color:white; font:600 12px/20px var(--sans,Arial,sans-serif); text-align:center; }
.ds-main input:checked+span>.ds-choice-mark { display:block; }
.ds-main .ds-project-types label>span,.ds-main .ds-check-choices label>span { padding-right:35px; }
.ds-main .ds-pool-choices label>span { padding-right:33px; }
.ds-pool-choices>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ds-pool-choices label>span { display:block; padding:13px 15px; min-height:50px; border:1px solid #bdcbb8; background:#f9fbf6; font-size:14px; font-weight:600; line-height:1.6; }
.ds-method-note { padding:24px; margin-top:25px; background:#eef2e9; border-left:2px solid var(--ds-green); }
.ds-method-note .eyebrow { font-size:10px; color:#6c5b37; }
.ds-method-note p:not(.eyebrow) { font-size:14px; line-height:1.8; margin-top:10px; }
.ds-method-note .text-link { font-size:13px; margin-top:10px; gap:15px; }
.ds-check-choices>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ds-check-choices label>span { display:flex; flex-direction:column; gap:8px; min-height:118px; border:1px solid #bdcbb8; background:#f9fbf6; padding:18px; }
.ds-check-choices strong { font-size:15px; font-weight:600; }
.ds-check-choices label>span>span { font-size:13px; line-height:1.7; color:#536351; }
.ds-feature-choices>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ds-feature-choices label>span { display:flex; align-items:center; gap:10px; padding:13px; min-height:54px; background:#f9fbf6; border:1px solid #bdcbb8; font-size:13px; line-height:1.6; }
.ds-feature-choices label>span::before { content:'+'; display:grid; place-items:center; border:1px solid #aebfa9; width:21px; height:21px; flex-shrink:0; color:#285e59; font-size:17px; }
.ds-feature-choices input:checked+span::before { content:'✓'; background:#285e59; color:white; border-color:#285e59; font-size:13px; }
.ds-feature-choices+.ds-small { margin-top:18px; }
.ds-photo-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px; margin-top:26px; }
.ds-photo-choices label>span { display:block; background:#f5f7f0; border:1px solid #c5d0be; height:100%; }
.ds-photo-choices img { width:100%; aspect-ratio:1.3; object-fit:cover; }
.ds-photo-choices strong { display:block; font:400 23px/1.25 var(--display); padding:17px 17px 10px; color:var(--ink); }
.ds-photo-choices .ds-photo-type { display:flex; justify-content:space-between; align-items:center; padding:0 17px 17px; font-size:12px; line-height:1.6; color:#536351; }
.ds-photo-type::after { content:'Select'; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.ds-photo-choices input:checked+span .ds-photo-type::after { content:'Selected ✓'; color:#285e59; font-weight:600; }
#studio-clear-photo { margin-top:23px; text-align:left; font-size:14px; min-height:44px; }
#studio-clear-photo+.ds-small { margin-top:12px; }
.ds-review { margin:28px 0; }
.ds-review>div { border-top:1px solid var(--ds-line); padding-block:17px; }
.ds-review>div:last-child { border-bottom:1px solid var(--ds-line); }
.ds-review dt { font-size:12px; color:#536351; line-height:1.7; }
.ds-review dd { display:flex; gap:23px; justify-content:space-between; align-items:baseline; font-size:15px; line-height:1.75; margin:7px 0 0; }
.ds-review dd>span { min-width:0; }
.ds-review button { flex-shrink:0; border:0; background:transparent; font-size:12px; text-decoration:underline; text-underline-offset:4px; padding:8px 0 8px 8px; color:var(--ds-green); min-height:38px; }
.ds-notes { padding:25px; background:#edf2e8; border:1px solid #cfdbc7; }
.ds-notes>label { cursor:default; font-size:14px; font-weight:600; }
.ds-notes textarea { font:13px/1.8 var(--sans,Arial,sans-serif); width:100%; min-height:240px; resize:vertical; color:#203c37; background:#fcfdf9; border:1px solid #aebbab; padding:15px; margin-top:14px; }
.ds-notes textarea:focus-visible { outline:3px solid #285e59; outline-offset:3px; }
.ds-note-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; margin-top:19px; }
.ds-note-actions .button { font-size:13px; min-height:50px; gap:20px; }
.ds-note-actions .quiet-button { font-size:13px; min-height:44px; }
#studio-copy-status { min-height:0; margin-top:12px; color:#285e59; }
.ds-review-next { margin-top:28px; display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; }
.ds-review-next .button { font-size:14px; }
.ds-review-next .text-link { font-size:13px; gap:15px; }
.ds-review-next p { width:100%; font-size:13px; line-height:1.75; max-width:61ch; }
.ds-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid var(--ds-line); padding-top:25px; margin-top:32px; }
.ds-controls>span { font-size:12px; color:#5b6b5c; margin-right:auto; }
.ds-back { min-height:46px; display:flex; align-items:center; gap:14px; padding:10px 10px 10px 0; font-size:14px; border:0; background:transparent; color:var(--ink); }
.ds-controls .button { min-height:52px; font-size:14px; gap:23px; }
.ds-preview { grid-column:1; grid-row:2; background:#17383c; color:white; min-width:0; }
.ds-preview figure { margin:0; position:relative; }
.ds-preview img { width:100%; aspect-ratio:1.1; object-fit:cover; }
.ds-preview figcaption { position:absolute; inset-inline:0; bottom:0; padding:35px 25px 18px; color:white; font-size:11px; line-height:1.6; background:linear-gradient(transparent,#112d35bf); }
.ds-preview-copy { padding:31px; }
.ds-preview .eyebrow { color:#dfcfac; font-size:10px; }
#main .ds-preview h3 { font-size:35px; line-height:1.18; margin-top:16px; letter-spacing:-.025em; }
.ds-preview-copy>p:not(.eyebrow) { color:#d8e4dd; font-size:14px; line-height:1.8; margin-top:18px; }
.ds-preview-facts { margin-top:27px; }
.ds-preview-facts p { display:flex; justify-content:space-between; gap:20px; align-items:baseline; margin:0; padding-block:14px; border-top:1px solid #57716b; color:#d8e4dd; font-size:12px; line-height:1.7; }
.ds-preview-facts strong { text-align:right; color:white; font-size:12px; font-weight:500; }
.ds-preview-copy .ds-preview-note { border-top:1px solid #57716b; padding-top:20px; font-size:12px; line-height:1.8; }
.ds-support { border-top:1px solid var(--ds-line); padding-block:23px 55px; }
.ds-support>div { display:flex; gap:15px 30px; align-items:center; flex-wrap:wrap; }
.ds-support>div>span { font-size:13px; color:#536351; }
.ds-support a { font-size:14px; min-height:44px; display:inline-flex; align-items:center; gap:19px; text-decoration:underline; text-underline-offset:5px; }
.ds-support>p { font-size:13px; margin-top:14px; }
.ds-support>p>a { font-size:13px; }
.ds-visually-hidden { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
/* The planning menu uses the same breakpoint as the shared mobile navigation. */
.navigation>.planning-navigation>summary { font-size:15px; font-weight:600; padding-block:12px; }
.planning-navigation .planning-menu { width:440px; max-width:calc(100vw - 46px); max-height:calc(100svh - 150px); overflow-y:auto; padding:23px 28px; }
.planning-navigation .planning-menu>a { min-height:61px; font-size:14px; line-height:1.6; }
.planning-navigation .planning-menu small { font-size:12px; line-height:1.65; }
.planning-navigation .planning-menu>a[aria-current=page] { color:#285e59; font-weight:700; }
.planning-navigation .planning-menu>.eyebrow { font-size:10px; }
.planning-navigation .planning-menu>a:first-of-type { background:#eaf0e5; margin-inline:-12px; padding-inline:12px; border:0; }
.hp-studio-invitation { background:#e7ede1; padding-block:55px; border-block:1px solid #c3d1bd; }
.hp-studio-invitation>.container { display:grid; grid-template-columns:1fr .85fr; gap:10%; align-items:center; }
.hp-studio-invitation h2 { margin-top:14px; }
.hp-studio-invitation p:not(.eyebrow) { margin-top:22px; max-width:48ch; }
.hp-studio-invitation .button { margin-top:25px; }
.hp-studio-invitation ol { list-style:none; padding:0; margin:0; }
.hp-studio-invitation li { display:flex; align-items:center; gap:20px; padding-block:17px; border-top:1px solid #b9c8b2; }
.hp-studio-invitation li>span { font-size:12px; color:#285e59; }
.hp-studio-invitation strong { font-size:16px; font-weight:500; }
@media(max-width:1100px) {
  .planning-navigation .planning-menu { position:static; width:100%; max-width:none; max-height:none; overflow:visible; padding:0 0 20px; border:0; box-shadow:none; background:transparent; }
  .navigation>.planning-navigation { border-bottom:1px solid var(--line); width:100%; }
  .navigation>.planning-navigation>summary { justify-content:space-between; padding-block:15px; font-size:17px; line-height:1.7; }
  .planning-navigation .planning-menu>.eyebrow { display:none; }
  .planning-navigation .planning-menu>a { min-height:60px; font-size:15px; }
  .planning-navigation .planning-menu>a:first-of-type { margin:0; padding-inline:14px; }
}
@media(max-width:950px) {
  .ds-workspace { grid-template-columns:.65fr 1.35fr; }
  .ds-main { padding:28px; }
  .ds-preview-copy { padding:25px; }
  .ds-progress button { padding-inline:17px; gap:9px; font-size:12px; }
  .ds-project-types { grid-template-columns:1fr; }
  .ds-project-types label>span { min-height:0; padding:17px; gap:5px; }
  .ds-project-types strong { font-size:25px; }
  .ds-progress button>span { width:25px; height:25px; }
  .ds-intro { gap:8%; }
  .ds-intro>div:last-child>p:first-child { font-size:17px; }
}
@media(max-width:700px) {
  .ds-intro { grid-template-columns:1fr; gap:22px; padding-block:28px; }
  #main .ds-intro h1 { font-size:clamp(43px,11vw,60px); }
  .ds-intro .ds-small { margin-top:12px; }
  .studio-ready .ds-workspace { display:flex; flex-direction:column; }
  .ds-progress ol { grid-template-columns:repeat(2,1fr); }
  .ds-progress li+li { border:0; }
  .ds-progress li:nth-child(even) { border-left:1px solid var(--ds-line); }
  .ds-progress li:nth-child(n+3) { border-top:1px solid var(--ds-line); }
  .ds-progress button { min-height:59px; padding:13px; gap:9px; font-size:12px; }
  .ds-progress button>span { width:24px; height:24px; font-size:10px; }
  .ds-main { padding:26px 20px; }
  .ds-step h2 { font-size:35px; }
  .ds-step-lead { font-size:16px; margin-top:18px; }
  .ds-main fieldset { margin-top:25px; }
  .ds-project-types { gap:10px; }
  .ds-project-types label>span { padding:17px; }
  .ds-pool-choices label>span { padding:12px; font-size:13px; }
  .ds-method-note { padding:20px; }
  .ds-method-note .text-link { font-size:12px; gap:12px; }
  .ds-check-choices>div { gap:10px; }
  .ds-check-choices label>span { padding:15px; min-height:127px; }
  .ds-check-choices strong { font-size:14px; }
  .ds-check-choices label>span>span { font-size:12px; }
  .ds-feature-choices>div { grid-template-columns:1fr; }
  .ds-feature-choices label>span { font-size:14px; }
  .ds-photo-choices { grid-template-columns:1fr; }
  .ds-photo-choices img { aspect-ratio:1.5; }
  .ds-photo-choices strong { font-size:27px; }
  .ds-controls { gap:12px; }
  .ds-controls .button { font-size:13px; gap:16px; }
  .ds-controls>span { font-size:11px; }
  .ds-controls .ds-back { font-size:13px; }
  .ds-review dd { font-size:14px; gap:17px; }
  .ds-notes { padding:19px; }
  .ds-notes textarea { font-size:13px; }
  .ds-note-actions { display:block; }
  .ds-note-actions .quiet-button { display:block; margin-top:9px; }
  .ds-review-next .button { width:100%; font-size:13px; }
  .ds-review-next p { font-size:12px; }
  .ds-preview { display:grid; grid-template-columns:1fr; }
  .ds-preview img { aspect-ratio:1.6; }
  .ds-preview-copy { padding:27px 23px; }
  #main .ds-preview h3 { font-size:34px; }
  .ds-support { padding-bottom:35px; }
  .ds-support>div { gap:4px 22px; }
  .ds-support>div>span { width:100%; }
  .ds-support a { font-size:13px; }
  .hp-studio-invitation>.container { grid-template-columns:1fr; gap:30px; }
  .hp-studio-invitation { padding-block:45px; }
}
@media print {
  .ds-intro,.studio-ready .ds-workspace { display:block; }
  .ds-intro>div+div { margin-top:20px; }
  .ds-progress,.ds-controls,.ds-preview,.ds-support,.ds-step:not([data-studio-step="3"]),.ds-note-actions,.ds-review-next,.ds-review button { display:none; }
  .ds-step[data-studio-step="3"][hidden] { display:block!important; }
  .ds-main { padding:0; }
  .ds-review>div { break-inside:avoid; }
  .ds-notes { background:white; }
  .ds-notes textarea { height:130mm; resize:none; }
}

/* Property planning: useful questions and a local preparation tool. */
.page-planning .yard-planning { --yp-green:#285e59; --yp-line:#c9d3c5; --yp-pale:#edf1e9; }
.page-planning .yp-hero { padding-top:39px; }
.page-planning .yp-hero-heading { display:grid; grid-template-columns:1.1fr .75fr; gap:12%; align-items:end; margin-bottom:35px; }
.page-planning #main .yp-hero h1 { font-size:clamp(46px,4.8vw,72px); line-height:1.08; margin-top:23px; max-width:20ch; }
.page-planning .yp-hero-heading>div:last-child>p { font-size:18px; line-height:1.8; max-width:39ch; }
.page-planning .yp-hero-heading .text-link { margin-top:20px; font-size:14px; }
.page-planning .yp-hero-photo { position:relative; margin:0; }
.page-planning .yp-hero-photo>img { width:100%; height:auto; aspect-ratio:2.35; object-fit:cover; object-position:center 59%; }
.page-planning .yp-hero-photo figcaption { position:absolute; bottom:0; inset-inline:0; display:flex; align-items:end; justify-content:space-between; gap:25px; color:white; padding:60px 27px 23px; background:linear-gradient(transparent,rgba(8,30,34,.8)); }
.page-planning .yp-hero-photo figcaption>span { font-size:12px; line-height:1.7; }
.page-planning .yp-hero-photo figcaption>strong { font-size:16px; line-height:1.7; font-weight:500; max-width:36ch; }
.page-planning .yp-hero-foot { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:20px; }
.page-planning .yp-hero-foot p { color:var(--ink); font-size:14px; line-height:1.7; }
.page-planning .yp-hero-foot a { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:40px; font-size:13px; line-height:1.7; text-decoration:underline; text-underline-offset:5px; }
.page-planning .yp-hero-foot a>span { font-size:20px; }
.page-planning .yp-page-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 22px; border-block:1px solid var(--yp-line); padding-block:11px; }
.page-planning .yp-page-nav a { display:inline-flex; align-items:center; min-height:40px; font-size:13px; line-height:1.7; font-weight:600; }
.page-planning .yp-page-nav a:hover { color:var(--yp-green); text-decoration:underline; text-underline-offset:5px; }
.page-planning .yp-property { display:grid; grid-template-columns:.9fr 1.1fr; gap:12%; align-items:start; }
.page-planning #main .yp-property h2,.page-planning #main .yp-section-heading h2,.page-planning #main .yp-scope h2,.page-planning #main .yp-ownership h2,.page-planning #main .yp-questions h2 { font-size:clamp(35px,3.6vw,53px); line-height:1.14; }
.page-planning .yp-property>div>p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:41ch; margin-top:24px; }
.page-planning .yp-property>div>p+p { margin-top:18px; }
.page-planning .yp-property-details { margin:0; }
.page-planning .yp-property-details>div { border-top:1px solid var(--yp-line); padding-block:22px; }
.page-planning .yp-property-details>div:last-child { border-bottom:1px solid var(--yp-line); }
.page-planning .yp-property-details dt { font-size:21px; line-height:1.5; color:var(--ink); }
.page-planning .yp-property-details dd { margin:11px 0 0; color:var(--muted); font-size:16px; line-height:1.8; max-width:55ch; }
.page-planning .yp-preparation { padding-block:73px; background:var(--yp-pale); border-block:1px solid #d4ddcf; }
.page-planning .yp-section-heading { display:grid; grid-template-columns:1fr .75fr; gap:12%; align-items:end; margin-bottom:38px; }
.page-planning .yp-section-heading>p,.page-planning .yp-section-heading>div:last-child>p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:44ch; }
.page-planning .yp-notes-jump { display:none; font-size:14px; margin-top:16px; }
.page-planning .yp-preparation:has(#yard-output:not([hidden])) .yp-notes-jump { display:inline-flex; }
.page-planning .yp-preparation-layout { display:grid; grid-template-columns:1.15fr .85fr; align-items:start; gap:5%; }
.page-planning .yp-preparation-layout:has(#yard-output[hidden]) { grid-template-columns:1fr; }
.page-planning .yp-topic-list { min-width:0; border:0; padding:0; margin:0; }
.page-planning .yp-topic-list>legend { font-size:15px; line-height:1.7; font-weight:600; margin-bottom:19px; padding:0; }
.page-planning .yp-topic { padding:24px; background:#fcfcf8; border:1px solid #d0dac9; }
.page-planning .yp-topic+.yp-topic { margin-top:14px; }
.page-planning .yp-topic:has(input:checked) { border-color:var(--yp-green); box-shadow:inset 3px 0 var(--yp-green); }
.page-planning .yp-topic>label { display:flex; align-items:start; gap:17px; cursor:pointer; }
.page-planning .yp-topic input { flex-shrink:0; width:22px; height:22px; margin:4px 0 0; accent-color:var(--yp-green); }
.page-planning .yp-topic input:focus-visible { outline:3px solid var(--yp-green); outline-offset:5px; }
.page-planning .yp-topic label strong { display:block; font-size:22px; line-height:1.4; font-weight:500; color:var(--ink); }
.page-planning .yp-topic label>span>span { display:block; color:#586b59; font-size:12px; line-height:1.7; margin-top:5px; }
.page-planning .yp-topic>p { font-size:15px; line-height:1.8; margin:17px 0 0 39px; max-width:57ch; }
.page-planning .yp-topic .yp-topic-question { border-top:1px solid #d4ddcf; padding-top:14px; margin-top:16px; color:var(--ink); }
.page-planning .yp-topic-question>span { display:block; color:#5d6e59; font-size:11px; line-height:1.7; text-transform:uppercase; letter-spacing:.08em; font-weight:600; margin-bottom:5px; }
.page-planning .yp-notes { position:sticky; top:128px; border-top:3px solid var(--yp-green); background:#fcfcf8; padding:28px; box-shadow:0 12px 35px #1833230c; }
.page-planning .yp-notes[hidden] { display:none; }
.page-planning #main .yp-notes h3 { font-size:30px; line-height:1.25; margin-top:15px; }
.page-planning #main .yp-progress { padding:12px 14px; background:#e8eee2; color:#344f3d; font-size:13px; line-height:1.7; margin-top:22px; }
.page-planning .yp-notes>label { display:block; font-size:12px; line-height:1.7; font-weight:600; margin-block:21px 10px; }
.page-planning #yard-notes { display:block; width:100%; height:250px; min-height:210px; padding:16px; border:1px solid #c3cfc0; border-radius:0; background:white; color:var(--ink); resize:vertical; font:14px/1.8 var(--sans,Arial,sans-serif); }
.page-planning #yard-notes:focus-visible { outline:3px solid var(--yp-green); outline-offset:4px; }
.page-planning .yp-notes-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin-top:19px; }
.page-planning .yp-notes-actions>.button { min-height:48px; font-size:13px; gap:23px; }
.page-planning .yp-notes-actions>.quiet-button { min-height:44px; font-size:13px; }
.page-planning .yp-notes-actions button:disabled { opacity:.45; cursor:default; }
.page-planning #main .yp-copy-status { font-size:12px; line-height:1.8; color:#375940; min-height:1.8em; margin-top:13px; }
.page-planning #main .yp-notes-note { color:#5a685c; font-size:12px; line-height:1.8; margin-top:11px; }
.page-planning .yp-preparation-foot { display:flex; justify-content:space-between; align-items:center; gap:35px; border-top:1px solid #c6d1bf; padding-top:25px; margin-top:28px; }
.page-planning .yp-preparation-foot strong { font-size:14px; line-height:1.8; color:var(--ink); }
.page-planning .yp-preparation-foot p { font-size:14px; line-height:1.8; max-width:68ch; margin-top:7px; }
.page-planning .yp-preparation-foot>.button { flex-shrink:0; min-height:54px; font-size:14px; }
.page-planning .yp-scope { display:grid; grid-template-columns:.9fr 1.1fr; gap:12%; align-items:start; }
.page-planning .yp-scope-intro>p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:40ch; margin-top:24px; }
.page-planning .yp-scope-intro>.text-link { font-size:14px; margin-top:20px; }
.page-planning .yp-scope-rows>article { display:grid; grid-template-columns:23px 1fr; gap:20px; border-top:1px solid var(--yp-line); padding-block:25px; }
.page-planning .yp-scope-rows>article:last-child { border-bottom:1px solid var(--yp-line); }
.page-planning .yp-scope-rows>article>span { font-size:12px; line-height:1.7; color:var(--yp-green); padding-top:6px; }
.page-planning #main .yp-scope-rows h3 { font-size:29px; line-height:1.3; }
.page-planning .yp-scope-rows p { font-size:16px; line-height:1.8; margin-top:13px; }
.page-planning .yp-sequence { padding-block:73px; background:#193742; color:white; }
.page-planning .yp-sequence .eyebrow { color:#dfcfad; }
.page-planning #main .yp-sequence em { color:#dfcfad; }
.page-planning .yp-sequence .yp-section-heading>p { color:#d9e4df; }
.page-planning .yp-milestones { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; list-style:none; margin:43px 0 25px; padding:0; }
.page-planning .yp-milestones>li { border-top:1px solid #6a7e7c; padding-top:22px; }
.page-planning .yp-milestone-label { display:block; color:#dfcfad; font-size:11px; line-height:1.8; }
.page-planning #main .yp-milestones h3 { font-size:27px; line-height:1.3; margin-top:18px; }
.page-planning .yp-milestones p { color:#d9e4df; font-size:15px; line-height:1.8; margin-top:16px; }
.page-planning .yp-sequence .text-link { color:white; font-size:14px; }
.page-planning .yp-sequence a:focus-visible { outline-color:#f0e5cf; }
.page-planning .yp-ownership { display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:center; }
.page-planning .yp-ownership>figure { margin:0; }
.page-planning .yp-ownership>figure>img { width:100%; height:auto; aspect-ratio:1.05; object-fit:cover; object-position:center; }
.page-planning .yp-ownership figcaption { font-size:12px; line-height:1.7; color:var(--muted); margin-top:12px; }
.page-planning .yp-ownership>div>p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:24px; }
.page-planning .yp-ownership dl { margin:25px 0 17px; }
.page-planning .yp-ownership dl>div { border-top:1px solid var(--yp-line); padding-block:17px; }
.page-planning .yp-ownership dt { font-size:14px; line-height:1.7; font-weight:600; }
.page-planning .yp-ownership dd { font-size:15px; line-height:1.8; color:var(--muted); margin:9px 0 0; }
.page-planning .yp-ownership-links { display:flex; flex-wrap:wrap; gap:11px 25px; }
.page-planning .yp-ownership-links .text-link { font-size:14px; }
.page-planning .yp-questions { background:#f0eee6; }
.page-planning .yp-questions>.container { display:grid; grid-template-columns:.85fr 1fr; gap:12%; align-items:start; }
.page-planning .yp-questions>.container>div:first-child>p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:38ch; margin-top:24px; }
.page-planning .yp-questions .faq-list summary { font-size:16px; }
.page-planning .yp-questions .faq-answer p { font-size:16px; line-height:1.8; }
@media(max-width:1050px) {
  .page-planning .yp-hero-heading { gap:7%; grid-template-columns:1.1fr .9fr; }
  .page-planning #main .yp-hero h1 { font-size:clamp(44px,5vw,59px); }
  .page-planning .yp-property,.page-planning .yp-scope { gap:8%; }
  .page-planning .yp-section-heading { gap:8%; }
  .page-planning .yp-preparation-layout { gap:4%; }
  .page-planning .yp-notes { padding:24px; }
  .page-planning #main .yp-notes h3 { font-size:27px; }
  .page-planning .yp-topic { padding:22px; }
  .page-planning .yp-preparation-foot { align-items:start; flex-direction:column; gap:21px; }
  .page-planning .yp-milestones { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
  .page-planning .yp-ownership { gap:6%; }
  .page-planning .yp-questions>.container { gap:7%; }
}
@media(max-width:850px) {
  .page-planning .yp-preparation-layout { grid-template-columns:1fr; gap:30px; }
  .page-planning .yp-notes { position:static; }
  .page-planning .yp-hero-foot { align-items:start; flex-direction:column; gap:7px; }
  .page-planning .yp-page-nav { justify-content:start; gap:4px 25px; }
}
@media(max-width:700px) {
  .page-planning .yp-hero { padding-top:27px; }
  .page-planning .yp-hero-heading { grid-template-columns:1fr; gap:24px; margin-bottom:29px; }
  .page-planning #main .yp-hero h1 { font-size:clamp(43px,10.7vw,62px); line-height:1.1; margin-top:19px; max-width:none; }
  .page-planning .yp-hero-heading>div:last-child>p { font-size:17px; max-width:45ch; }
  .page-planning .yp-hero-heading .text-link { margin-top:15px; font-size:14px; }
  .page-planning .yp-hero-photo>img { aspect-ratio:1.12; object-position:52% center; }
  .page-planning .yp-hero-photo figcaption { display:block; padding:65px 19px 20px; }
  .page-planning .yp-hero-photo figcaption>span { display:block; font-size:10px; }
  .page-planning .yp-hero-photo figcaption>strong { display:block; font-size:15px; margin-top:7px; max-width:28ch; }
  .page-planning .yp-hero-foot { padding-block:18px; gap:7px; }
  .page-planning .yp-hero-foot a { font-size:12px; gap:14px; }
  .page-planning .yp-page-nav { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; padding-block:11px; }
  .page-planning .yp-page-nav a { font-size:12px; min-height:42px; }
  .page-planning .yp-property,.page-planning .yp-scope { grid-template-columns:1fr; gap:30px; }
  .page-planning .yp-property>div>p:not(.eyebrow),.page-planning .yp-scope-intro>p:not(.eyebrow) { max-width:45ch; margin-top:22px; }
  .page-planning .yp-property-details>div { padding-block:20px; }
  .page-planning .yp-property-details dt { font-size:20px; }
  .page-planning .yp-preparation { padding-block:49px; }
  .page-planning .yp-section-heading { grid-template-columns:1fr; gap:22px; margin-bottom:29px; }
  .page-planning .yp-section-heading>p,.page-planning .yp-section-heading>div:last-child>p:not(.eyebrow) { font-size:16px; max-width:45ch; }
  .page-planning .yp-topic-list>legend { font-size:14px; margin-bottom:16px; }
  .page-planning .yp-topic { padding:21px 19px; }
  .page-planning .yp-topic>label { gap:14px; }
  .page-planning .yp-topic label strong { font-size:21px; }
  .page-planning .yp-topic label>span>span { font-size:11px; }
  .page-planning .yp-topic>p { margin-left:0; font-size:15px; }
  .page-planning .yp-topic input { width:22px; height:22px; }
  .page-planning .yp-notes { padding:24px 21px; }
  .page-planning #main .yp-notes h3 { font-size:28px; }
  .page-planning #yard-notes { min-height:320px; font-size:14px; padding:14px; }
  .page-planning .yp-notes-actions>.button { font-size:13px; }
  .page-planning .yp-preparation-foot { padding-top:23px; margin-top:26px; }
  .page-planning .yp-preparation-foot>.button { font-size:13px; gap:22px; }
  .page-planning .yp-scope-rows>article { gap:16px; padding-block:23px; }
  .page-planning #main .yp-scope-rows h3 { font-size:27px; }
  .page-planning .yp-sequence { padding-block:49px; }
  .page-planning .yp-milestones { grid-template-columns:1fr; gap:26px; margin-top:30px; }
  .page-planning #main .yp-milestones h3 { font-size:28px; margin-top:15px; }
  .page-planning .yp-milestones p { font-size:16px; margin-top:13px; max-width:44ch; }
  .page-planning .yp-ownership { grid-template-columns:1fr; gap:30px; }
  .page-planning .yp-ownership>figure>img { aspect-ratio:1.18; }
  .page-planning .yp-ownership>div>p:not(.eyebrow) { margin-top:22px; }
  .page-planning .yp-questions>.container { grid-template-columns:1fr; gap:31px; }
  .page-planning .yp-questions>.container>div:first-child>p:not(.eyebrow) { margin-top:22px; max-width:44ch; }
}
@media print {
  .page-planning .yp-hero-heading,.page-planning .yp-property,.page-planning .yp-preparation-layout,.page-planning .yp-scope,.page-planning .yp-ownership,.page-planning .yp-questions>.container { display:block; }
  .page-planning .yp-page-nav,.page-planning .yp-hero-foot,.page-planning .yp-notes-jump,.page-planning .yp-notes-actions,.page-planning .yp-preparation-foot>.button { display:none; }
  .page-planning .yp-preparation,.page-planning .yp-sequence,.page-planning .yp-questions { color:#111; background:transparent; padding-block:20pt; }
  .page-planning .yp-sequence .eyebrow,.page-planning #main .yp-sequence em,.page-planning .yp-sequence p,.page-planning .yp-milestone-label,.page-planning .yp-sequence a { color:#111; }
  .page-planning .yp-notes { position:static; box-shadow:none; margin-top:20pt; }
  .page-planning #yard-notes { min-height:0; height:auto; border-color:#999; }
  .page-planning .yp-topic,.page-planning .yp-scope-rows article,.page-planning .yp-milestones li { break-inside:avoid; }
  .page-planning .yp-milestones { grid-template-columns:1fr 1fr; }
}

/* Short screens use ordinary page flow so notes controls remain reachable. */
@media screen and (max-height:850px){.page-planning .yp-notes{position:static}}

/* Outdoor living: connected places, real project evidence, and practical decisions. */
.page-outdoor-living .outdoor-studio { --ol-line:#c8d2c4; --ol-green:#285e59; --ol-cream:#f1ede3; }
.page-outdoor-living .ol-hero { display:grid; grid-template-columns:.95fr 1.05fr; gap:8%; align-items:center; padding-block:40px 49px; }
.page-outdoor-living #main .ol-hero h1 { font-size:clamp(49px,5.2vw,76px); line-height:1.08; margin-top:22px; max-width:13ch; }
.page-outdoor-living .ol-hero .page-lead { font-size:18px; line-height:1.8; max-width:43ch; margin-top:26px; }
.page-outdoor-living .ol-hero .button-row { gap:16px 24px; margin-top:27px; }
.page-outdoor-living .ol-hero .button { font-size:14px; gap:24px; }
.page-outdoor-living #main .ol-small { margin-top:19px; font-size:13px; line-height:1.75; max-width:49ch; }
.page-outdoor-living .ol-hero-photo { margin:0; position:relative; overflow:hidden; aspect-ratio:1.05; background:#d0dbd0; }
.page-outdoor-living .ol-hero-photo > img { width:100%; height:100%; object-fit:cover; object-position:center 56%; }
.page-outdoor-living .ol-hero-photo figcaption { position:absolute; left:18px; right:18px; bottom:18px; padding:14px 18px; background:#fcfbf7f2; color:var(--ink); font-size:14px; line-height:1.65; }
.page-outdoor-living .ol-hero-photo figcaption > span { display:block; }
.page-outdoor-living .ol-hero-photo figcaption > span + span { font-size:11px; color:#536459; margin-top:3px; }
.page-outdoor-living .ol-page-nav { display:flex; justify-content:space-between; gap:17px 25px; border-block:1px solid var(--ol-line); padding-block:12px; }
.page-outdoor-living .ol-page-nav a { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; font-size:14px; font-weight:600; }
.page-outdoor-living .ol-page-nav a > span { font-size:20px; color:var(--ol-green); }
.page-outdoor-living .ol-page-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.page-outdoor-living .ol-section-head { display:grid; grid-template-columns:1fr .85fr; gap:11%; align-items:end; margin-bottom:42px; }
.page-outdoor-living #main .ol-section-head h2, .page-outdoor-living #main .ol-project h2, .page-outdoor-living #main .ol-everyday h2, .page-outdoor-living #main .ol-brief h2, .page-outdoor-living #main .ol-questions h2 { font-size:clamp(36px,3.7vw,53px); line-height:1.14; }
.page-outdoor-living .ol-section-head > p { font-size:17px; line-height:1.8; max-width:46ch; }
.page-outdoor-living .ol-zones { margin-top:64px; background:#18343d; color:white; }
.page-outdoor-living .ol-zones .eyebrow { color:#e2d2ae; }
.page-outdoor-living .ol-zones em { color:#e2d2ae; }
.page-outdoor-living .ol-zones .ol-section-head > p { color:#dce6e0; }
.page-outdoor-living .ol-zone-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; }
.page-outdoor-living .ol-zone-grid article { display:flex; flex-direction:column; align-items:start; padding-top:24px; border-top:1px solid #6d8280; min-width:0; }
.page-outdoor-living .ol-zone-index { font-size:12px; color:#e2d2ae; line-height:1.6; }
.page-outdoor-living #main .ol-zone-grid h3 { font-size:29px; line-height:1.24; margin-top:21px; letter-spacing:-.025em; }
.page-outdoor-living .ol-zone-grid article > p { font-size:16px; line-height:1.8; color:#e0e9e3; margin-top:17px; }
.page-outdoor-living .ol-zone-grid details { margin-block:20px 15px; width:100%; }
.page-outdoor-living .ol-zone-grid summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; list-style:none; cursor:pointer; font-size:13px; font-weight:600; line-height:1.6; color:#f6f4e9; border-block:1px solid #586f6d; padding-block:12px; }
.page-outdoor-living .ol-zone-grid summary::-webkit-details-marker { display:none; }
.page-outdoor-living .ol-zone-grid summary > span { font-size:21px; font-weight:400; color:#e2d2ae; }
.page-outdoor-living .ol-zone-grid details[open] summary > span { transform:rotate(45deg); }
.page-outdoor-living .ol-zone-grid details ul { color:#dce6e0; padding-left:17px; margin:16px 0 0; font-size:14px; line-height:1.8; }
.page-outdoor-living .ol-zone-grid details li + li { margin-top:9px; }
.page-outdoor-living .ol-zone-grid .text-link { color:white; font-size:13px; line-height:1.6; gap:13px; margin-top:auto; }
.page-outdoor-living .ol-zone-grid .text-link:hover { color:#e2d2ae; }
.page-outdoor-living .ol-zones a:focus-visible, .page-outdoor-living .ol-zones summary:focus-visible { outline-color:#f3e9d1; }
.page-outdoor-living .ol-view-note { display:flex; gap:35px; align-items:start; margin-top:40px; padding-top:25px; border-top:1px solid #6d8280; }
.page-outdoor-living .ol-view-note > strong { flex-shrink:0; font-size:15px; font-weight:600; }
.page-outdoor-living .ol-view-note > p { color:#dce6e0; font-size:15px; line-height:1.8; max-width:82ch; }
.page-outdoor-living .ol-project { display:grid; grid-template-columns:1.15fr .85fr; gap:9%; align-items:center; }
.page-outdoor-living .ol-project figure { margin:0; min-width:0; }
.page-outdoor-living .ol-project figure > img { width:100%; aspect-ratio:1.14; object-fit:cover; }
.page-outdoor-living .ol-project figcaption { font-size:12px; color:#536459; line-height:1.7; margin-top:12px; }
.page-outdoor-living .ol-project > div > p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:25px; }
.page-outdoor-living .ol-project dl { margin:25px 0 15px; }
.page-outdoor-living .ol-project dl > div { padding-block:15px; border-top:1px solid var(--ol-line); }
.page-outdoor-living .ol-project dt { font-size:13px; line-height:1.65; color:#425d4b; font-weight:600; }
.page-outdoor-living .ol-project dd { margin:7px 0 0; font-size:15px; line-height:1.8; color:#536459; }
.page-outdoor-living .ol-project .text-link { font-size:14px; }
.page-outdoor-living .ol-materials { background:var(--ol-cream); }
.page-outdoor-living .ol-material-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; }
.page-outdoor-living .ol-material-grid article { border-top:1px solid #bec8b8; padding-top:23px; }
.page-outdoor-living .ol-material-grid article > span { font-size:12px; color:#6c5d3e; }
.page-outdoor-living #main .ol-material-grid h3 { font-size:29px; line-height:1.25; margin-top:18px; }
.page-outdoor-living .ol-material-grid p { font-size:16px; line-height:1.8; margin-top:16px; max-width:40ch; }
.page-outdoor-living .ol-material-question { border-block:1px solid #bec8b8; padding-block:18px; margin-top:40px; }
.page-outdoor-living .ol-material-question > summary { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:44px; font-size:18px; line-height:1.5; font-weight:600; list-style:none; cursor:pointer; }
.page-outdoor-living .ol-material-question > summary::-webkit-details-marker { display:none; }
.page-outdoor-living .ol-material-question > summary > span { font-size:25px; color:var(--ol-green); font-weight:400; }
.page-outdoor-living .ol-material-question[open] > summary > span { transform:rotate(45deg); }
.page-outdoor-living .ol-material-question > div { padding-block:16px 4px; }
.page-outdoor-living .ol-material-question p { max-width:86ch; font-size:16px; line-height:1.8; }
.page-outdoor-living .ol-material-question .text-link { margin-top:14px; font-size:14px; }
.page-outdoor-living .ol-everyday { display:grid; grid-template-columns:.9fr 1.1fr; gap:11%; align-items:start; }
.page-outdoor-living .ol-everyday-intro > p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:25px; max-width:38ch; }
.page-outdoor-living .ol-everyday-intro .text-link { margin-top:22px; font-size:14px; }
.page-outdoor-living .ol-everyday-details details { border-top:1px solid var(--ol-line); padding-block:21px; }
.page-outdoor-living .ol-everyday-details details:last-child { border-bottom:1px solid var(--ol-line); }
.page-outdoor-living .ol-everyday-details summary { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:44px; list-style:none; cursor:pointer; font-size:18px; font-weight:600; line-height:1.5; }
.page-outdoor-living .ol-everyday-details summary::-webkit-details-marker { display:none; }
.page-outdoor-living .ol-everyday-details summary > span { font-size:25px; font-weight:400; color:var(--ol-green); }
.page-outdoor-living .ol-everyday-details details[open] summary > span { transform:rotate(45deg); }
.page-outdoor-living .ol-everyday-details details > div { padding-block:16px 3px; }
.page-outdoor-living .ol-everyday-details p { font-size:16px; line-height:1.8; }
.page-outdoor-living #main .ol-everyday-details .ol-prompt { font-size:14px; border-left:2px solid #98ad91; padding-left:17px; margin-top:18px; color:#48604e; }
.page-outdoor-living .ol-prompt a { text-decoration:underline; text-underline-offset:4px; }
.page-outdoor-living .ol-phasing { background:#e9efe3; }
.page-outdoor-living .ol-phase-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.page-outdoor-living .ol-phase-grid article { background:#fcfdf8; border:1px solid #c7d4bf; padding:31px 33px; }
.page-outdoor-living .ol-phase-grid article > .eyebrow { color:#536b4b; font-size:11px; }
.page-outdoor-living #main .ol-phase-grid h3 { font-size:31px; line-height:1.25; margin-top:15px; }
.page-outdoor-living .ol-phase-grid ul { padding-left:18px; margin:21px 0 0; font-size:16px; line-height:1.8; color:#52634f; }
.page-outdoor-living .ol-phase-grid li + li { margin-top:10px; }
.page-outdoor-living .ol-scope-note { display:flex; justify-content:space-between; align-items:center; gap:35px; border-top:1px solid #b8c6af; padding-top:25px; margin-top:30px; }
.page-outdoor-living .ol-scope-note strong { font-size:15px; }
.page-outdoor-living .ol-scope-note p { font-size:15px; line-height:1.8; margin-top:8px; max-width:75ch; }
.page-outdoor-living .ol-scope-note .text-link { font-size:14px; flex-shrink:0; }
.page-outdoor-living .ol-brief { display:grid; grid-template-columns:.9fr 1.1fr; gap:12%; align-items:start; }
.page-outdoor-living .ol-brief > div > p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:24px; max-width:36ch; }
.page-outdoor-living .ol-brief .button { margin-top:25px; font-size:14px; }
.page-outdoor-living .ol-checklist { list-style:none; margin:0; padding:0; }
.page-outdoor-living .ol-checklist li { position:relative; padding:18px 0 18px 32px; border-top:1px solid var(--ol-line); color:#536459; font-size:16px; line-height:1.8; }
.page-outdoor-living .ol-checklist li::before { content:'✓'; position:absolute; left:0; top:19px; color:var(--ol-green); }
.page-outdoor-living .ol-questions { background:var(--ol-cream); }
.page-outdoor-living .ol-questions .two-col { align-items:start; }
.page-outdoor-living .ol-questions .two-col > div > p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-top:24px; max-width:38ch; }
.page-outdoor-living .ol-questions .text-link { margin-top:21px; }
.page-outdoor-living .ol-questions .faq-list summary { font-size:16px; }
.page-outdoor-living .ol-questions .faq-answer p { font-size:16px; line-height:1.8; }
.page-outdoor-living .outdoor-studio [id] { scroll-margin-top:125px; }
@media(max-width:1100px) {
  .page-outdoor-living .ol-hero { gap:6%; }
  .page-outdoor-living .ol-zone-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
  .page-outdoor-living .ol-project { gap:6%; }
  .page-outdoor-living .ol-material-grid { gap:28px; }
  .page-outdoor-living .ol-everyday,.page-outdoor-living .ol-brief { gap:7%; }
}
@media(max-width:850px) {
  .page-outdoor-living .ol-hero { grid-template-columns:1fr 1fr; gap:5%; }
  .page-outdoor-living #main .ol-hero h1 { font-size:clamp(44px,5.8vw,58px); }
  .page-outdoor-living .ol-hero .page-lead { font-size:17px; }
  .page-outdoor-living .ol-hero-photo { aspect-ratio:.83; }
  .page-outdoor-living .ol-section-head { gap:7%; }
  .page-outdoor-living .ol-page-nav { flex-wrap:wrap; }
  .page-outdoor-living .ol-page-nav a { flex-basis:45%; }
  .page-outdoor-living .ol-project { grid-template-columns:1fr; gap:34px; }
  .page-outdoor-living .ol-project figure > img { aspect-ratio:1.5; }
  .page-outdoor-living .ol-project dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
  .page-outdoor-living .ol-project > div > p:not(.eyebrow) { max-width:67ch; }
  .page-outdoor-living .ol-scope-note { align-items:start; flex-direction:column; gap:16px; }
  .page-outdoor-living .ol-phase-grid article { padding:27px; }
}
@media(max-width:700px) {
  .page-outdoor-living .ol-hero { grid-template-columns:1fr; gap:28px; padding-block:30px 33px; }
  .page-outdoor-living #main .ol-hero h1 { font-size:clamp(45px,11.1vw,64px); margin-top:19px; }
  .page-outdoor-living .ol-hero .page-lead { margin-top:23px; }
  .page-outdoor-living .ol-hero .button-row { margin-top:23px; gap:15px 23px; }
  .page-outdoor-living .ol-hero .button { gap:20px; }
  .page-outdoor-living .ol-hero-photo { aspect-ratio:1.15; }
  .page-outdoor-living .ol-hero-photo figcaption { bottom:12px; left:12px; right:12px; padding:12px 14px; font-size:13px; }
  .page-outdoor-living .ol-page-nav { display:grid; grid-template-columns:1fr; gap:0; padding-block:8px; }
  .page-outdoor-living .ol-page-nav a { min-height:47px; font-size:14px; }
  .page-outdoor-living .ol-page-nav a + a { border-top:1px solid var(--ol-line); }
  .page-outdoor-living .ol-zones { margin-top:43px; }
  .page-outdoor-living .ol-section-head { grid-template-columns:1fr; gap:23px; margin-bottom:31px; }
  .page-outdoor-living #main .ol-section-head h2,.page-outdoor-living #main .ol-project h2,.page-outdoor-living #main .ol-everyday h2,.page-outdoor-living #main .ol-brief h2,.page-outdoor-living #main .ol-questions h2 { font-size:clamp(35px,8.7vw,43px); }
  .page-outdoor-living .ol-section-head > p { max-width:45ch; }
  .page-outdoor-living .ol-zone-grid { grid-template-columns:1fr; gap:29px; }
  .page-outdoor-living #main .ol-zone-grid h3 { margin-top:16px; font-size:30px; }
  .page-outdoor-living .ol-zone-grid article > p { margin-top:14px; }
  .page-outdoor-living .ol-zone-grid details { margin-block:18px 13px; }
  .page-outdoor-living .ol-zone-grid summary { font-size:14px; }
  .page-outdoor-living .ol-zone-grid .text-link { font-size:14px; }
  .page-outdoor-living .ol-view-note { display:block; margin-top:31px; padding-top:22px; }
  .page-outdoor-living .ol-view-note > p { margin-top:10px; }
  .page-outdoor-living .ol-project { gap:29px; }
  .page-outdoor-living .ol-project figure > img { aspect-ratio:1.12; }
  .page-outdoor-living .ol-project > div > p:not(.eyebrow) { margin-top:22px; }
  .page-outdoor-living .ol-project dl { grid-template-columns:1fr; gap:0; }
  .page-outdoor-living .ol-project dl > div { padding-block:15px; }
  .page-outdoor-living .ol-material-grid { grid-template-columns:1fr; gap:28px; }
  .page-outdoor-living .ol-material-grid p { margin-top:14px; max-width:45ch; }
  .page-outdoor-living .ol-material-question { margin-top:31px; }
  .page-outdoor-living .ol-material-question > summary { font-size:17px; }
  .page-outdoor-living .ol-everyday { grid-template-columns:1fr; gap:31px; }
  .page-outdoor-living .ol-everyday-intro > p:not(.eyebrow) { margin-top:22px; max-width:45ch; }
  .page-outdoor-living .ol-everyday-details summary { font-size:17px; }
  .page-outdoor-living .ol-phase-grid { grid-template-columns:1fr; gap:23px; }
  .page-outdoor-living .ol-phase-grid article { padding:27px 24px; }
  .page-outdoor-living #main .ol-phase-grid h3 { font-size:29px; }
  .page-outdoor-living .ol-phase-grid ul { font-size:15px; }
  .page-outdoor-living .ol-scope-note { margin-top:26px; padding-top:22px; }
  .page-outdoor-living .ol-brief { grid-template-columns:1fr; gap:31px; }
  .page-outdoor-living .ol-brief > div > p:not(.eyebrow) { margin-top:22px; max-width:45ch; }
  .page-outdoor-living .ol-checklist li { font-size:16px; padding-block:17px; }
  .page-outdoor-living .ol-questions .two-col { gap:30px; }
}
@media print {
  .page-outdoor-living .ol-hero,.page-outdoor-living .ol-section-head,.page-outdoor-living .ol-zone-grid,.page-outdoor-living .ol-project,.page-outdoor-living .ol-material-grid,.page-outdoor-living .ol-everyday,.page-outdoor-living .ol-phase-grid,.page-outdoor-living .ol-brief { display:block; }
  .page-outdoor-living .ol-hero-photo { margin-top:20px; aspect-ratio:auto; }
  .page-outdoor-living .ol-hero-photo > img { height:auto; max-height:110mm; object-fit:contain; }
  .page-outdoor-living .ol-hero-photo figcaption { position:static; background:transparent; padding:8px 0; }
  .page-outdoor-living .ol-page-nav { display:none; }
  .page-outdoor-living .ol-zones { background:white; color:#111; }
  .page-outdoor-living .ol-zones p,.page-outdoor-living .ol-zones em,.page-outdoor-living .ol-zones .eyebrow,.page-outdoor-living .ol-zones summary,.page-outdoor-living .ol-zones a,.page-outdoor-living .ol-zone-index { color:#111; }
  .page-outdoor-living .ol-zone-grid article,.page-outdoor-living .ol-material-grid article { margin-top:20px; break-inside:avoid; }
  .page-outdoor-living .ol-project figure > img { max-height:110mm; aspect-ratio:auto; object-fit:contain; }
  .page-outdoor-living .ol-phase-grid article { margin-top:20px; break-inside:avoid; }
  .page-outdoor-living .ol-scope-note { display:block; }
  .page-outdoor-living .ol-scope-note .text-link { margin-top:15px; }
}

/* Commercial inquiry experience. Scoped to the commercial route. */
.page-commercial { --cs-deep:#183b43; --cs-ink:#173a40; --cs-sage:#e9eee7; --cs-line:#cbd5ca; --cs-gold:#d3bf8f; }
.page-commercial .commercial-studio { background:#fcfbf8; }
.page-commercial .commercial-studio a:focus-visible,.page-commercial .commercial-studio summary:focus-visible { outline:3px solid #285e59; outline-offset:5px; }
.page-commercial .cs-hero a:focus-visible,.page-commercial .cs-checklist-section a:focus-visible,.page-commercial .closing a:focus-visible { outline-color:#f0e5cf; }
.page-commercial .cs-hero { background:var(--cs-deep); color:white; padding-block:45px 48px; }
.page-commercial .cs-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:8%; align-items:center; }
.page-commercial .cs-hero-copy { min-width:0; }
.page-commercial .cs-hero .eyebrow { font-size:11px; line-height:1.7; color:var(--cs-gold); }
.page-commercial #main .cs-hero-index { font-size:10px; line-height:1.7; letter-spacing:.14em; text-transform:uppercase; color:#b6c9bc; border-top:1px solid #5a746f; padding-top:18px; margin-top:25px; }
.page-commercial #main .cs-hero h1 { font-size:clamp(43px,4.35vw,66px); line-height:1.1; letter-spacing:-.035em; margin-top:19px; }
.page-commercial #main .cs-hero h1 em { color:#cbdcc5; }
.page-commercial #main .cs-lead { font-size:17px; line-height:1.85; color:#e0e8de; max-width:53ch; margin-top:25px; }
.page-commercial .cs-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:13px 25px; margin-top:28px; }
.page-commercial .cs-hero-actions .button { background:#f4f1e7; border-color:#f4f1e7; color:var(--cs-ink); font-size:14px; min-height:55px; padding:17px 21px; gap:25px; }
.page-commercial .cs-hero-actions .button:hover { background:#d8e4d5; border-color:#d8e4d5; }
.page-commercial .cs-hero-actions .text-link { color:#edf3e7; font-size:13px; gap:21px; }
.page-commercial .cs-hero-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; margin:32px 0 0; border-top:1px solid #5a746f; padding-top:19px; }
.page-commercial .cs-hero-facts dt { font-size:10px; line-height:1.7; text-transform:uppercase; letter-spacing:.1em; color:#c9d5bb; }
.page-commercial .cs-hero-facts dd { font-size:13px; line-height:1.7; margin:7px 0 0; color:#edf1e9; }
.page-commercial .cs-hero-figure { margin:0; background:#eff1e9; align-self:stretch; display:flex; flex-direction:column; min-width:0; }
.page-commercial .cs-hero-figure>img { width:100%; height:0; flex:1; min-height:350px; object-fit:cover; object-position:55% center; }
.page-commercial .cs-hero-figure figcaption { padding:21px 23px; color:var(--cs-ink); background:#eff1e9; font-size:12px; line-height:1.75; }
.page-commercial .cs-hero-figure figcaption strong { display:block; font-size:12px; font-weight:600; }
.page-commercial .cs-hero-figure figcaption span { display:block; margin-top:9px; color:#53615a; font-size:11px; line-height:1.8; }
.page-commercial .cs-page-nav { border-bottom:1px solid var(--cs-line); background:#f1f3ec; }
.page-commercial .cs-page-nav>.container { display:flex; flex-wrap:wrap; gap:0 31px; padding-block:9px; }
.page-commercial .cs-page-nav a { display:flex; align-items:center; min-height:47px; padding-block:9px; font-size:13px; line-height:1.6; font-weight:600; color:#3d5d52; }
.page-commercial .cs-page-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.page-commercial .cs-section-heading { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:12%; margin-bottom:38px; }
.page-commercial #main .cs-section-heading>p { max-width:49ch; font-size:17px; line-height:1.8; }
.page-commercial #main .commercial-studio h2 { font-size:clamp(33px,3.1vw,46px); }
.page-commercial .cs-routes { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--cs-line); }
.page-commercial .cs-routes>article { display:flex; flex-direction:column; align-items:start; padding:32px 36px; min-width:0; }
.page-commercial .cs-routes>article+article { border-left:1px solid var(--cs-line); background:#eff2e9; }
.page-commercial #main .cs-route-label { font-size:11px; line-height:1.8; letter-spacing:.08em; text-transform:uppercase; color:#64724e; }
.page-commercial #main .cs-routes h3 { font-size:32px; margin-top:18px; line-height:1.2; }
.page-commercial #main .cs-routes>article>p:not(.cs-route-label) { font-size:16px; line-height:1.8; margin-top:21px; }
.page-commercial .cs-routes ul { list-style:none; padding:0; margin:23px 0 26px; width:100%; }
.page-commercial .cs-routes li { padding-block:11px; border-top:1px solid var(--cs-line); font-size:14px; line-height:1.8; color:#516453; }
.page-commercial .cs-routes .text-link { margin-top:auto; font-size:13px; gap:20px; }
.page-commercial .cs-service { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:27px; padding:24px 28px; background:#f4f0e5; }
.page-commercial .cs-service strong { font-size:15px; font-weight:600; color:var(--cs-ink); }
.page-commercial #main .cs-service p { font-size:14px; line-height:1.8; max-width:69ch; margin-top:8px; }
.page-commercial .cs-service .text-link { font-size:13px; flex-shrink:0; }
.page-commercial .cs-brief-section { background:#e9eee5; }
.page-commercial .cs-brief-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; align-items:start; }
.page-commercial #main .cs-brief-intro>p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:40ch; margin-top:24px; }
.page-commercial .cs-contact-note { display:flex; gap:20px; padding-top:25px; margin-top:30px; border-top:1px solid #bdcab8; }
.page-commercial .cs-contact-note>span { font:italic 29px/1.2 Georgia,serif; color:#487154; }
.page-commercial #main .cs-contact-note h3 { font-size:25px; line-height:1.25; }
.page-commercial #main .cs-contact-note p { font-size:14px; line-height:1.8; margin-top:14px; }
.page-commercial .cs-brief-questions { margin:0; }
.page-commercial .cs-brief-questions>div { display:grid; grid-template-columns:.65fr 1.35fr; gap:26px; padding-block:25px; border-top:1px solid #bdcab8; }
.page-commercial .cs-brief-questions>div:first-child { padding-top:0; border-top:0; }
.page-commercial .cs-brief-questions dt { font-size:15px; line-height:1.7; font-weight:600; color:#294c3d; }
.page-commercial .cs-brief-questions dd { margin:0; font-size:15px; line-height:1.85; color:#4d6052; }
.page-commercial .cs-existing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:33px; }
.page-commercial .cs-existing-grid>article { padding-top:24px; border-top:1px solid var(--cs-line); min-width:0; }
.page-commercial .cs-small-index { display:block; font:italic 30px/1 Georgia,serif; color:#4b7758; margin-bottom:23px; }
.page-commercial #main .cs-existing-grid h3 { font-size:28px; line-height:1.25; }
.page-commercial #main .cs-existing-grid>article>p { font-size:16px; line-height:1.8; margin-top:18px; }
.page-commercial .cs-detail { border-top:1px solid var(--cs-line); margin-top:23px; }
.page-commercial .cs-detail>summary { display:flex; justify-content:space-between; align-items:center; gap:18px; min-height:59px; padding-block:13px; list-style:none; cursor:pointer; font-size:13px; line-height:1.7; color:#315b46; font-weight:600; }
.page-commercial .cs-detail>summary::-webkit-details-marker { display:none; }
.page-commercial .cs-detail>summary>span { font-size:23px; font-weight:400; transition:transform .15s; }
.page-commercial .cs-detail[open]>summary>span { transform:rotate(45deg); }
.page-commercial #main .cs-detail>p { font-size:14px; line-height:1.8; margin:0 0 15px; }
.page-commercial .cs-responsibility-section { background:#f2f1e9; }
.page-commercial .cs-matrix { width:100%; border-collapse:collapse; table-layout:fixed; background:#fcfbf8; }
.page-commercial .cs-matrix caption { text-align:left; font-size:13px; line-height:1.7; color:#5c6d5d; margin-bottom:18px; }
.page-commercial .cs-matrix thead { background:#2b5044; color:white; }
.page-commercial .cs-matrix th,.page-commercial .cs-matrix td { padding:23px; text-align:left; vertical-align:top; border:1px solid #d1d7c9; overflow-wrap:break-word; }
.page-commercial .cs-matrix thead th { font-size:13px; font-family:var(--sans,Arial,sans-serif); letter-spacing:.01em; font-weight:600; line-height:1.7; }
.page-commercial .cs-matrix thead th:first-child { width:24%; }
.page-commercial .cs-matrix thead th:nth-child(2) { width:43%; }
.page-commercial .cs-matrix tbody th { font-size:16px; font-weight:600; line-height:1.7; color:#294f3d; background:#eef1e9; }
.page-commercial .cs-matrix td { font-size:15px; line-height:1.85; color:#4e6153; }
.page-commercial .cs-matrix-cards { display:none; }
.page-commercial #main .cs-matrix-note { font-size:13px; line-height:1.8; margin-top:20px; max-width:90ch; }
.page-commercial .cs-operation-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; list-style:none; padding:0; margin:0; }
.page-commercial .cs-operation-stages>li { border-top:1px solid var(--cs-line); padding-top:24px; min-width:0; }
.page-commercial .cs-operation-stages>li>span { display:block; color:#557c56; font:italic 31px/1 Georgia,serif; margin-bottom:24px; }
.page-commercial #main .cs-operation-stages h3 { font-size:28px; line-height:1.25; }
.page-commercial #main .cs-operation-stages p { font-size:16px; line-height:1.8; margin-top:18px; }
.page-commercial .cs-operation-detail { margin-top:36px; background:#eff2e9; border:1px solid var(--cs-line); padding-inline:25px; }
.page-commercial .cs-operation-detail>summary { min-height:72px; font-size:16px; }
.page-commercial .cs-operation-detail ul { margin:0; padding:0 0 24px 20px; }
.page-commercial .cs-operation-detail li { font-size:15px; line-height:1.8; padding:5px 0 5px 5px; }
.page-commercial .cs-checklist-section { background:#24493f; color:#eef3e8; }
.page-commercial .cs-checklist-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:10%; }
.page-commercial .cs-checklist-section .eyebrow { color:#d6c899; }
.page-commercial #main .cs-checklist-section h2 em { color:#c7ddbd; }
.page-commercial #main .cs-checklist-layout>div>p:not(.eyebrow) { font-size:17px; line-height:1.85; color:#dbe7d7; max-width:42ch; margin-top:24px; }
.page-commercial .cs-checklist-layout>div>.button { margin-top:27px; font-size:14px; gap:22px; background:#f4f1e7; border-color:#f4f1e7; color:var(--cs-ink); }
.page-commercial .cs-checklist-layout>div>.button:hover { background:#d8e4d5; border-color:#d8e4d5; }
.page-commercial .cs-document-list { list-style:none; padding:0; margin:0; counter-reset:commercial-doc; }
.page-commercial .cs-document-list>li { position:relative; padding:18px 0 18px 44px; border-top:1px solid #6c866d; counter-increment:commercial-doc; }
.page-commercial .cs-document-list>li:first-child { padding-top:0; border-top:0; }
.page-commercial .cs-document-list>li::before { position:absolute; left:0; top:17px; content:'0' counter(commercial-doc); font:italic 25px/1.3 Georgia,serif; color:#cfdbb8; }
.page-commercial .cs-document-list>li:first-child::before { top:0; }
.page-commercial .cs-document-list strong { display:block; color:#f2f5e9; font-size:15px; line-height:1.7; font-weight:600; }
.page-commercial .cs-document-list span { display:block; color:#dae7d6; font-size:14px; line-height:1.85; margin-top:7px; }
.page-commercial .cs-questions { display:grid; grid-template-columns:.8fr 1.2fr; gap:10%; align-items:start; }
.page-commercial #main .cs-questions>div:first-child>p:not(.eyebrow) { font-size:16px; line-height:1.8; max-width:39ch; margin-top:24px; }
.page-commercial .cs-questions>div:first-child>.text-link { font-size:14px; margin-top:22px; }
.page-commercial .cs-questions .faq-list summary { font-size:17px; }
.page-commercial #main .cs-questions .faq-answer p { font-size:16px; }
@media(max-width:1100px) {
  .page-commercial .cs-hero-grid { gap:5%; grid-template-columns:1.1fr .9fr; }
  .page-commercial .cs-hero-facts { gap:12px; }
  .page-commercial .cs-routes>article { padding:28px; }
  .page-commercial .cs-service { align-items:start; flex-direction:column; gap:16px; }
  .page-commercial .cs-brief-layout { gap:7%; }
  .page-commercial .cs-brief-questions>div { grid-template-columns:1fr; gap:10px; }
  .page-commercial .cs-existing-grid,.page-commercial .cs-operation-stages { gap:25px; }
  .page-commercial .cs-matrix th,.page-commercial .cs-matrix td { padding:19px; }
}
@media(max-width:850px) {
  .page-commercial .cs-hero-grid { grid-template-columns:1fr; gap:35px; }
  .page-commercial .cs-hero-figure { display:grid; grid-template-columns:1.2fr .8fr; }
  .page-commercial .cs-hero-figure>img { min-height:260px; height:100%; }
  .page-commercial .cs-hero-figure figcaption { align-content:center; padding:25px; }
  .page-commercial .cs-section-heading { grid-template-columns:1fr; gap:24px; }
  .page-commercial #main .cs-section-heading>p { max-width:65ch; }
  .page-commercial .cs-brief-layout,.page-commercial .cs-checklist-layout,.page-commercial .cs-questions { grid-template-columns:1fr; gap:34px; }
  .page-commercial #main .cs-brief-intro>p:not(.eyebrow) { max-width:60ch; }
  .page-commercial .cs-brief-questions>div { grid-template-columns:.7fr 1.3fr; gap:24px; }
  .page-commercial .cs-brief-questions>div:first-child { padding-top:24px; border-top:1px solid #bdcab8; }
  .page-commercial .cs-contact-note { max-width:630px; }
  .page-commercial .cs-matrix-wrap { display:none; }
  .page-commercial .cs-matrix-cards { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .page-commercial .cs-matrix-cards>article { padding:25px; border:1px solid var(--cs-line); background:#fcfbf8; min-width:0; }
  .page-commercial #main .cs-matrix-cards h3 { font-size:27px; line-height:1.25; }
  .page-commercial .cs-matrix-cards dl { margin:20px 0 0; }
  .page-commercial .cs-matrix-cards dl>div { padding-top:15px; margin-top:15px; border-top:1px solid var(--cs-line); }
  .page-commercial .cs-matrix-cards dt { font-size:11px; line-height:1.7; text-transform:uppercase; letter-spacing:.08em; font-weight:600; color:#4a684c; }
  .page-commercial .cs-matrix-cards dd { margin:8px 0 0; font-size:14px; line-height:1.85; color:#51624f; }
  .page-commercial .cs-existing-grid,.page-commercial .cs-operation-stages { grid-template-columns:1fr; gap:27px; }
  .page-commercial .cs-existing-grid>article { display:grid; grid-template-columns:35px 1fr; gap:0 20px; }
  .page-commercial .cs-existing-grid .cs-small-index { grid-row:1/4; margin:0; }
  .page-commercial .cs-existing-grid .cs-detail { grid-column:2; }
  .page-commercial .cs-operation-stages>li { display:grid; grid-template-columns:35px 1fr; gap:0 20px; }
  .page-commercial .cs-operation-stages>li>span { grid-row:1/3; margin:0; }
  .page-commercial .cs-document-list>li:first-child { padding-top:18px; border-top:1px solid #6c866d; }
  .page-commercial .cs-document-list>li:first-child::before { top:17px; }
}
@media(max-width:600px) {
  .page-commercial .cs-hero { padding-block:30px; }
  .page-commercial #main .cs-hero h1 { font-size:clamp(36px,10vw,51px); }
  .page-commercial #main .cs-lead { font-size:16px; margin-top:22px; }
  .page-commercial .cs-hero-actions { align-items:start; flex-direction:column; gap:14px; margin-top:24px; }
  .page-commercial .cs-hero-actions .button { font-size:13px; padding-inline:17px; gap:18px; width:100%; max-width:350px; }
  .page-commercial .cs-hero-facts { grid-template-columns:1fr; gap:0; margin-top:25px; padding-top:4px; }
  .page-commercial .cs-hero-facts>div { display:grid; grid-template-columns:.75fr 1.25fr; gap:15px; padding-block:13px; border-bottom:1px solid #5a746f; }
  .page-commercial .cs-hero-facts dd { margin:0; }
  .page-commercial .cs-hero-figure { display:flex; }
  .page-commercial .cs-hero-figure>img { flex:initial; height:auto; min-height:0; aspect-ratio:1.25; }
  .page-commercial .cs-hero-figure figcaption { padding:19px 21px; }
  .page-commercial .cs-page-nav>.container { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; padding-block:10px; }
  .page-commercial .cs-page-nav a { min-height:44px; font-size:12px; }
  .page-commercial .cs-section-heading { margin-bottom:28px; }
  .page-commercial #main .cs-section-heading>p { font-size:16px; }
  .page-commercial #main .commercial-studio h2 { font-size:clamp(30px,8.5vw,38px); }
  .page-commercial .cs-routes { grid-template-columns:1fr; }
  .page-commercial .cs-routes>article { padding:26px 23px; }
  .page-commercial .cs-routes>article+article { border-left:0; border-top:1px solid var(--cs-line); }
  .page-commercial #main .cs-routes h3 { font-size:29px; }
  .page-commercial .cs-routes .text-link { font-size:13px; }
  .page-commercial .cs-service { padding:23px; }
  .page-commercial .cs-service .text-link { gap:20px; }
  .page-commercial #main .cs-brief-intro>p:not(.eyebrow) { font-size:16px; }
  .page-commercial .cs-brief-questions>div { grid-template-columns:1fr; gap:9px; padding-block:21px; }
  .page-commercial .cs-existing-grid>article { grid-template-columns:27px 1fr; gap:0 16px; }
  .page-commercial #main .cs-existing-grid h3 { font-size:27px; }
  .page-commercial .cs-matrix-cards { grid-template-columns:1fr; gap:17px; }
  .page-commercial .cs-matrix-cards>article { padding:24px; }
  .page-commercial .cs-operation-stages>li { grid-template-columns:27px 1fr; gap:0 16px; }
  .page-commercial #main .cs-operation-stages h3 { font-size:27px; }
  .page-commercial .cs-operation-detail { padding-inline:21px; }
  .page-commercial .cs-operation-detail>summary { font-size:15px; min-height:83px; }
  .page-commercial .cs-checklist-layout>div>.button { font-size:13px; gap:17px; padding-inline:17px; width:100%; max-width:370px; }
  .page-commercial #main .cs-checklist-layout>div>p:not(.eyebrow) { font-size:16px; }
  .page-commercial .cs-document-list>li { padding-left:37px; }
  .page-commercial .cs-questions .faq-list summary { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .page-commercial .cs-detail>summary>span { transition:none; } }
@media print {
  .page-commercial .cs-hero { background:white; color:#222; padding:0; }
  .page-commercial .cs-hero-grid,.page-commercial .cs-section-heading,.page-commercial .cs-brief-layout,.page-commercial .cs-checklist-layout,.page-commercial .cs-questions { display:block; }
  .page-commercial .cs-hero-figure,.page-commercial .cs-hero-actions,.page-commercial .cs-page-nav,.page-commercial .cs-service { display:none; }
  .page-commercial #main .cs-hero h1 em,.page-commercial #main .cs-hero p,.page-commercial #main .cs-checklist-layout p { color:#222; }
  .page-commercial .cs-hero-facts dt,.page-commercial .cs-hero-facts dd { color:#222; }
  .page-commercial .cs-matrix-wrap { display:block; }
  .page-commercial .cs-matrix-cards { display:none; }
  .page-commercial .cs-matrix thead { background:#eee; color:#222; }
  .page-commercial .cs-matrix th,.page-commercial .cs-matrix td { padding:10pt; font-size:10pt; }
  .page-commercial .cs-detail:not([open])>p,.page-commercial .cs-detail:not([open])>ul { display:block; }
  .page-commercial .cs-routes,.page-commercial .cs-existing-grid,.page-commercial .cs-operation-stages { display:block; }
  .page-commercial .cs-routes>article,.page-commercial .cs-existing-grid>article,.page-commercial .cs-operation-stages>li { margin-block:15pt; break-inside:avoid; }
  .page-commercial .cs-checklist-section { background:white; color:#222; }
  .page-commercial .cs-document-list strong,.page-commercial .cs-document-list span { color:#222; }
  .page-commercial .cs-document-list { margin-top:20pt; }
}

/* Contact-only layout. Consultation shares page-contact and remains independent. */
.page-contact .contact-studio { --cs-green:#285e59; --cs-line:#c8d2c4; --cs-pale:#edf1e8; }
.page-contact .contact-studio .cs-hero { display:grid; grid-template-columns:1fr .85fr; align-items:start; gap:13%; padding-block:42px 52px; }
.page-contact .contact-studio .cs-hero h1 { font-size:clamp(49px,5.25vw,76px); line-height:1.08; margin-top:23px; max-width:15ch; }
.page-contact .contact-studio .cs-lead { color:var(--ink); font-size:20px; line-height:1.75; max-width:39ch; margin-top:26px; }
.page-contact .contact-studio .cs-hero-copy>.button { min-height:56px; font-size:15px; margin-top:28px; }
.page-contact .contact-studio .cs-brief-jump { display:flex; align-items:center; justify-content:space-between; gap:20px; width:fit-content; min-height:44px; color:var(--cs-green); font-size:14px; font-weight:600; line-height:1.7; margin-top:12px; text-decoration:underline; text-underline-offset:5px; }
.page-contact .contact-studio .cs-brief-jump>span { font-size:21px; font-weight:400; }
.page-contact .contact-studio .cs-brief-jump[hidden] { display:none!important; }
.page-contact .contact-studio .cs-action-note { font-size:14px; line-height:1.8; max-width:44ch; margin-top:17px; }
.page-contact .contact-studio .cs-contact-rail { border-top:3px solid var(--cs-green); background:#f0f3eb; padding:27px 31px 29px; }
.page-contact .contact-studio .cs-contact-rail>div+div { border-top:1px solid #c5d0be; margin-top:23px; padding-top:23px; }
.page-contact .contact-studio .cs-contact-label { display:block; color:#5b6049; font-size:11px; line-height:1.7; letter-spacing:.09em; font-weight:700; text-transform:uppercase; }
.page-contact .contact-studio .cs-phone { display:block; font-size:clamp(29px,3vw,39px); line-height:1.4; letter-spacing:-.03em; color:var(--ink); margin-top:11px; white-space:nowrap; }
.page-contact .contact-studio .cs-phone:hover { color:var(--cs-green); text-decoration:underline; text-underline-offset:7px; }
.page-contact .contact-studio .cs-email { display:inline-block; font-size:17px; line-height:1.7; color:var(--ink); margin-top:11px; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:5px; }
.page-contact .contact-studio .cs-contact-rail p { font-size:13px; line-height:1.8; margin-top:10px; max-width:43ch; }
.page-contact .contact-studio .cs-visit address { font-style:normal; color:var(--ink); font-size:20px; line-height:1.65; letter-spacing:-.015em; margin-top:12px; }
.page-contact .contact-studio .cs-visit>div { display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; margin-top:10px; }
.page-contact .contact-studio .cs-visit .text-link { font-size:13px; gap:20px; }
.page-contact .contact-studio .cs-hours { display:inline-flex; align-items:center; gap:9px; min-height:42px; font-size:11px; line-height:1.7; text-decoration:underline; text-underline-offset:4px; }
.page-contact .contact-studio .cs-page-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 25px; padding-block:12px; border-block:1px solid var(--cs-line); }
.page-contact .contact-studio .cs-page-nav a { display:inline-flex; align-items:center; min-height:42px; font-size:13px; line-height:1.7; font-weight:600; }
.page-contact .contact-studio .cs-page-nav a:hover { color:var(--cs-green); text-decoration:underline; text-underline-offset:5px; }
.page-contact .contact-studio .cs-routing { display:grid; grid-template-columns:.8fr 1.2fr; gap:13%; align-items:start; }
.page-contact .contact-studio .cs-routing h2,.page-contact .contact-studio .cs-section-head h2,.page-contact .contact-studio .cs-next h2,.page-contact .contact-studio .cs-brief-heading h2 { font-size:clamp(35px,3.5vw,51px); line-height:1.15; }
.page-contact .contact-studio .cs-routing>div:first-child>p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:38ch; margin-top:25px; }
.page-contact .contact-studio .cs-route-list>article { display:grid; grid-template-columns:25px 1fr; gap:20px; border-top:1px solid var(--cs-line); padding-block:23px; }
.page-contact .contact-studio .cs-route-list>article:last-child { border-bottom:1px solid var(--cs-line); }
.page-contact .contact-studio .cs-route-index { color:var(--cs-green); font-size:12px; line-height:1.7; padding-top:6px; }
.page-contact .contact-studio .cs-route-list h3 { font-size:27px; line-height:1.3; }
.page-contact .contact-studio .cs-route-list p { font-size:16px; line-height:1.8; margin-top:12px; max-width:56ch; }
.page-contact .contact-studio .cs-route-list .text-link { font-size:14px; margin-top:12px; }
.page-contact .contact-studio .cs-prepare { background:#193640; color:white; padding-block:65px; }
.page-contact .contact-studio .cs-prepare .eyebrow { color:#dfcfad; }
.page-contact .contact-studio .cs-prepare em { color:#e3d3b2; }
.page-contact .contact-studio .cs-section-head { display:grid; grid-template-columns:1fr .8fr; gap:13%; align-items:end; }
.page-contact .contact-studio .cs-section-head>p { color:#dae4df; font-size:17px; line-height:1.8; max-width:43ch; }
.page-contact .contact-studio .cs-first-note { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:39px; list-style:none; margin:38px 0 0; padding:0; }
.page-contact .contact-studio .cs-first-note>li { border-top:1px solid #6b807b; padding-top:23px; }
.page-contact .contact-studio .cs-first-note>li>span { display:block; color:#dfcfad; font-size:12px; line-height:1.7; }
.page-contact .contact-studio .cs-first-note h3 { font-size:27px; line-height:1.3; margin-top:17px; }
.page-contact .contact-studio .cs-first-note p { color:#dae4df; font-size:16px; line-height:1.8; margin-top:15px; max-width:36ch; }
.page-contact .contact-studio .cs-next { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:start; }
.page-contact .contact-studio .cs-next>div>p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:46ch; margin-top:25px; }
.page-contact .contact-studio .cs-next>div>.text-link { font-size:14px; margin-top:20px; }
.page-contact .contact-studio .cs-later { border-block:1px solid var(--cs-line); }
.page-contact .contact-studio .cs-later>summary { display:flex; justify-content:space-between; align-items:center; gap:22px; min-height:65px; padding-block:17px; font-size:18px; line-height:1.6; list-style:none; cursor:pointer; }
.page-contact .contact-studio .cs-later>summary::-webkit-details-marker { display:none; }
.page-contact .contact-studio .cs-later>summary>span:last-child { color:var(--cs-green); font-size:25px; line-height:1.4; }
.page-contact .contact-studio .cs-later[open]>summary>span:last-child { transform:rotate(45deg); }
.page-contact .contact-studio .cs-later>div { padding-bottom:23px; }
.page-contact .contact-studio .cs-later p { font-size:15px; line-height:1.8; }
.page-contact .contact-studio .cs-later ul { margin:17px 0; padding-left:20px; font-size:15px; line-height:1.8; color:var(--muted); }
.page-contact .contact-studio .cs-later li { padding-block:5px; }
.page-contact .contact-studio .cs-brief-section { background:#edf1e8; border-top:1px solid #d4ddce; padding-block:65px; }
.page-contact .contact-studio .cs-brief-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:29px; }
.page-contact .contact-studio .cs-brief-heading>.text-link { font-size:14px; flex-shrink:0; }
.page-contact .contact-studio .cs-inspiration { width:100%; max-width:none; grid-template-columns:.5fr 1fr; gap:30px; margin:0 0 25px; padding:25px; background:#fcfcf8; border-color:#cad4c3; }
.page-contact .contact-studio .cs-inspiration[hidden] { display:none; }
.page-contact .contact-studio .cs-inspiration img { aspect-ratio:1.55; width:100%; object-fit:cover; }
.page-contact .contact-studio .cs-inspiration h2 { font-size:clamp(27px,3vw,39px); line-height:1.2; margin-top:10px; }
.page-contact .contact-studio .cs-inspiration .eyebrow { font-size:11px; }
.page-contact .contact-studio .cs-inspiration p:not(.eyebrow) { font-size:15px; line-height:1.8; margin-top:12px; max-width:56ch; }
.page-contact .contact-studio .inspiration-actions { gap:10px 23px; margin-top:13px; }
.page-contact .contact-studio .inspiration-actions .text-link { font-size:13px; }
.page-contact .contact-studio .inspiration-actions .quiet-button { min-height:44px; font-size:13px; }
.page-contact .contact-studio .project-brief { position:static; top:auto; width:100%; max-width:none; min-width:0; margin:0; padding:0 30px; border:1px solid #c7d3bf; background:#fcfcf8; }
.page-contact .contact-studio .brief-disclosure>summary { min-height:85px; padding-block:23px; }
.page-contact .contact-studio .brief-disclosure>summary .eyebrow { font-size:11px; }
.page-contact .contact-studio .brief-disclosure-title { font-size:30px; line-height:1.3; margin-top:9px; }
.page-contact .contact-studio .brief-disclosure>summary>span:last-child { font-size:25px; color:var(--cs-green); }
.page-contact .contact-studio .brief-disclosure-body { padding-block:0 29px; }
.page-contact .contact-studio .brief-disclosure-body .brief-intro { max-width:78ch; font-size:16px; line-height:1.8; margin:0; padding-top:5px; }
.page-contact .contact-studio .brief-fields { grid-template-columns:1fr 1fr; gap:26px; margin-top:28px; }
.page-contact .contact-studio .brief-fields label,.page-contact .contact-studio .brief-output>label { font-size:12px; line-height:1.7; font-weight:600; letter-spacing:.07em; }
.page-contact .contact-studio .brief-fields select { min-height:53px; padding:13px 33px 13px 15px; margin-top:10px; background:white; border-color:#b9c9b3; font-size:16px; line-height:1.6; }
.page-contact .contact-studio .brief-priorities { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:28px; }
.page-contact .contact-studio .brief-priorities legend { font-size:13px; line-height:1.7; letter-spacing:.05em; margin-bottom:15px; }
.page-contact .contact-studio .brief-priorities label { display:flex; align-items:center; gap:12px; padding:13px 15px; border:1px solid #c6d1bf; background:white; min-width:0; }
.page-contact .contact-studio .brief-priorities input { position:static; opacity:1; width:20px; height:20px; flex-shrink:0; margin:0; accent-color:var(--cs-green); }
.page-contact .contact-studio .brief-priorities span { min-height:32px; padding:0; border:0; background:transparent; color:var(--ink); font-size:14px; line-height:1.65; }
.page-contact .contact-studio .brief-priorities label:has(input:checked) { border-color:var(--cs-green); background:#e8efe2; }
.page-contact .contact-studio .brief-priorities input:checked+span { background:transparent; border:0; color:var(--ink); }
.page-contact .contact-studio .brief-priorities input:focus-visible { outline:3px solid var(--cs-green); outline-offset:5px; }
.page-contact .contact-studio .brief-priorities input:focus-visible+span { outline:0; }
.page-contact .contact-studio .brief-design { border-color:var(--cs-line); margin-bottom:27px; }
.page-contact .contact-studio .brief-design>summary { min-height:59px; padding-block:18px; gap:18px; font-size:17px; line-height:1.7; }
.page-contact .contact-studio .brief-design>summary>span:first-child { font-size:12px; }
.page-contact .contact-studio .brief-design fieldset { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 25px; padding-bottom:15px; }
.page-contact .contact-studio .brief-design legend { font-size:12px; line-height:1.7; margin-bottom:16px; }
.page-contact .contact-studio .brief-design label { align-items:center; font-size:15px; line-height:1.7; min-height:44px; gap:13px; }
.page-contact .contact-studio .brief-design input { width:20px; height:20px; margin:0; accent-color:var(--cs-green); }
.page-contact .contact-studio .brief-design .text-link { font-size:13px; margin-top:7px; }
.page-contact .contact-studio .brief-output { padding-top:25px; border-color:var(--cs-line); }
.page-contact .contact-studio .brief-output>p { font-size:14px; line-height:1.8; max-width:76ch; margin-top:10px; }
.page-contact .contact-studio .brief-output textarea { min-height:225px; padding:18px; margin-top:16px; border-color:#c4d0be; background:white; color:var(--ink); font-size:15px; line-height:1.8; }
.page-contact .contact-studio .brief-fields select:focus-visible,.page-contact .contact-studio .brief-output textarea:focus-visible { outline:3px solid var(--cs-green); outline-offset:4px; }
.page-contact .contact-studio .brief-copy-row { gap:13px 24px; margin-top:18px; }
.page-contact .contact-studio .brief-copy-row .button { min-height:50px; font-size:14px; gap:25px; }
.page-contact .contact-studio .brief-copy-row .quiet-button { min-height:44px; font-size:13px; }
.page-contact .contact-studio .brief-output .copy-status { min-height:1.8em; color:#365b3e; font-size:13px; line-height:1.8; }
.page-contact .contact-studio #aquarius-inquiry { font-size:15px; margin-top:17px; }
.page-contact .contact-studio .cs-noscript { font-size:15px; line-height:1.8; }
@media(max-width:1050px) {
  .page-contact .contact-studio .cs-hero { gap:8%; grid-template-columns:1fr .95fr; }
  .page-contact .contact-studio .cs-hero h1 { font-size:clamp(46px,5.8vw,64px); }
  .page-contact .contact-studio .cs-lead { font-size:18px; }
  .page-contact .contact-studio .cs-contact-rail { padding:25px; }
  .page-contact .contact-studio .cs-routing { gap:8%; }
  .page-contact .contact-studio .cs-section-head { gap:8%; }
  .page-contact .contact-studio .cs-first-note { gap:26px; }
  .page-contact .contact-studio .cs-next { gap:8%; }
  .page-contact .contact-studio .brief-priorities { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .page-contact .contact-studio .cs-hero { grid-template-columns:1fr; gap:29px; padding-block:28px 34px; }
  .page-contact .contact-studio .cs-hero h1 { font-size:clamp(44px,11vw,63px); line-height:1.1; margin-top:19px; max-width:none; }
  .page-contact .contact-studio .cs-lead { font-size:18px; line-height:1.75; margin-top:23px; max-width:44ch; }
  .page-contact .contact-studio .cs-hero-copy>.button { margin-top:23px; font-size:14px; }
  .page-contact .contact-studio .cs-action-note { font-size:13px; line-height:1.8; margin-top:15px; }
  .page-contact .contact-studio .cs-contact-rail { padding:24px 22px; }
  .page-contact .contact-studio .cs-phone { font-size:31px; }
  .page-contact .contact-studio .cs-email { font-size:16px; }
  .page-contact .contact-studio .cs-visit address { font-size:20px; }
  .page-contact .contact-studio .cs-page-nav { display:grid; grid-template-columns:1fr 1fr; gap:1px 18px; padding-block:10px; }
  .page-contact .contact-studio .cs-page-nav a { min-height:43px; font-size:12px; }
  .page-contact .contact-studio .cs-routing { grid-template-columns:1fr; gap:29px; }
  .page-contact .contact-studio .cs-routing>div:first-child>p:not(.eyebrow) { max-width:45ch; margin-top:22px; }
  .page-contact .contact-studio .cs-route-list>article { gap:15px; grid-template-columns:23px 1fr; padding-block:22px; }
  .page-contact .contact-studio .cs-route-list h3 { font-size:26px; }
  .page-contact .contact-studio .cs-route-list p { font-size:16px; }
  .page-contact .contact-studio .cs-route-list .text-link { font-size:13px; }
  .page-contact .contact-studio .cs-prepare { padding-block:49px; }
  .page-contact .contact-studio .cs-section-head { grid-template-columns:1fr; gap:22px; }
  .page-contact .contact-studio .cs-section-head>p { font-size:16px; max-width:45ch; }
  .page-contact .contact-studio .cs-first-note { grid-template-columns:1fr; gap:26px; margin-top:30px; }
  .page-contact .contact-studio .cs-first-note h3 { margin-top:14px; }
  .page-contact .contact-studio .cs-first-note p { margin-top:13px; max-width:44ch; }
  .page-contact .contact-studio .cs-next { grid-template-columns:1fr; gap:29px; }
  .page-contact .contact-studio .cs-next>div>p:not(.eyebrow) { font-size:16px; margin-top:22px; }
  .page-contact .contact-studio .cs-later>summary { font-size:17px; }
  .page-contact .contact-studio .cs-brief-section { padding-block:49px; }
  .page-contact .contact-studio .cs-brief-heading { display:block; margin-bottom:26px; }
  .page-contact .contact-studio .cs-brief-heading>.text-link { font-size:13px; margin-top:16px; }
  .page-contact .contact-studio .cs-inspiration { grid-template-columns:1fr; gap:22px; padding:21px; margin-bottom:24px; }
  .page-contact .contact-studio .cs-inspiration img { aspect-ratio:1.4; }
  .page-contact .contact-studio .cs-inspiration h2 { font-size:31px; }
  .page-contact .contact-studio .cs-inspiration p:not(.eyebrow) { font-size:15px; }
  .page-contact .contact-studio .project-brief { padding-inline:21px; }
  .page-contact .contact-studio .brief-disclosure>summary { min-height:84px; padding-block:21px; gap:19px; }
  .page-contact .contact-studio .brief-disclosure-title { font-size:29px; }
  .page-contact .contact-studio .brief-disclosure-body { padding-bottom:24px; }
  .page-contact .contact-studio .brief-disclosure-body .brief-intro { font-size:15px; }
  .page-contact .contact-studio .brief-fields { grid-template-columns:1fr; gap:22px; margin-top:25px; }
  .page-contact .contact-studio .brief-priorities { grid-template-columns:1fr; gap:10px; margin-block:25px; }
  .page-contact .contact-studio .brief-priorities label { min-height:52px; padding:11px 13px; }
  .page-contact .contact-studio .brief-priorities span { min-height:26px; font-size:14px; }
  .page-contact .contact-studio .brief-design>summary { font-size:16px; gap:13px; }
  .page-contact .contact-studio .brief-design fieldset { grid-template-columns:1fr; gap:6px; }
  .page-contact .contact-studio .brief-design label { font-size:14px; }
  .page-contact .contact-studio .brief-output textarea { min-height:255px; padding:15px; font-size:14px; }
  .page-contact .contact-studio .brief-copy-row .button { font-size:13px; }
  .page-contact .contact-studio #aquarius-inquiry { font-size:14px; }
}
@media(max-width:360px) {
  .page-contact .contact-studio .cs-contact-rail { padding-inline:19px; }
  .page-contact .contact-studio .cs-phone { font-size:27px; }
  .page-contact .contact-studio .project-brief { padding-inline:18px; }
  .page-contact .contact-studio .brief-disclosure-title { font-size:27px; }
}
@media print {
  .page-contact .contact-studio .cs-hero,.page-contact .contact-studio .cs-routing,.page-contact .contact-studio .cs-section-head,.page-contact .contact-studio .cs-next { display:block; }
  .page-contact .contact-studio .cs-contact-rail { margin-top:20pt; }
  .page-contact .contact-studio .cs-page-nav,.page-contact .contact-studio .cs-hero-copy>.button,.page-contact .contact-studio .brief-copy-row { display:none; }
  .page-contact .contact-studio .cs-prepare { background:transparent; color:#111; padding-block:20pt; }
  .page-contact .contact-studio .cs-prepare .eyebrow,.page-contact .contact-studio .cs-prepare em,.page-contact .contact-studio .cs-prepare p,.page-contact .contact-studio .cs-first-note>li>span { color:#111; }
  .page-contact .contact-studio .cs-first-note { gap:20px; }
  .page-contact .contact-studio .cs-brief-section { background:transparent; }
  .page-contact .contact-studio .cs-route-list>article,.page-contact .contact-studio .cs-first-note>li { break-inside:avoid; }
}

/* A clear request path, with optional context kept close to the action. */
.consultation-studio { --cs-line:#c6d1c1; --cs-green:#285e59; }
.consultation-studio .cs-intro { display:grid; grid-template-columns:1.15fr .65fr; gap:13%; align-items:center; padding-block:34px 39px; }
#main .consultation-studio .cs-intro h1 { font-size:clamp(46px,4.7vw,66px); line-height:1.08; margin-top:20px; max-width:17ch; }
.consultation-studio .cs-intro .page-lead { font-size:18px; line-height:1.8; margin-top:22px; max-width:49ch; }
.consultation-studio .cs-start { min-height:50px; font-size:15px; line-height:1.5; gap:26px; margin-top:20px; padding:14px 21px; }
.consultation-studio .cs-contact { border-left:1px solid var(--cs-line); padding-left:30px; }
.consultation-studio .cs-contact .eyebrow { font-size:11px; color:#6c5e3c; }
.consultation-studio .cs-phone { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:27px; line-height:1.5; letter-spacing:-.025em; margin-top:13px; }
.consultation-studio .cs-phone > span { font-size:23px; }
.consultation-studio .cs-email { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; font-size:14px; font-weight:600; border-bottom:1px solid #b8c7b2; padding-block:10px; margin-top:9px; }
.consultation-studio .cs-email > span { font-size:20px; font-weight:400; }
#main .consultation-studio .cs-contact > p:not(.eyebrow) { font-size:13px; line-height:1.75; margin-top:15px; max-width:37ch; }
.consultation-studio .cs-request { padding-block:30px 0; border-top:1px solid var(--cs-line); scroll-margin-top:125px; }
.consultation-studio .cs-request-heading { align-items:end; gap:7%; }
.consultation-studio .cs-request-heading > div { flex:1; }
.consultation-studio .request-heading .eyebrow { display:block; font-size:11px; color:#6c5e3c; }
#main .consultation-studio .request-heading h2 { font-size:clamp(31px,3vw,43px); line-height:1.2; margin-top:12px; }
.consultation-studio .cs-choice-help { flex:.8; font-size:15px; line-height:1.75; max-width:44ch; }
.consultation-studio .request-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin-block:24px 22px; border:0; }
.consultation-studio .request-choices > button { display:flex; flex-direction:column; align-items:start; justify-content:start; gap:0; min-height:156px; padding:22px 24px; border:1px solid #bdcbb6; border-bottom:3px solid #bdcbb6; background:#fbfcf7; color:var(--ink); text-align:left; }
.consultation-studio .request-choices > button:hover { border-color:var(--cs-green); background:#edf3e7; box-shadow:none; }
.consultation-studio .request-choices > button[aria-pressed=true] { background:#234b48; color:white; border-color:#234b48; }
.consultation-studio .request-choice-top { display:none; }
.consultation-studio .request-choice-title { display:block; font:400 29px/1.2 var(--display,Georgia,serif); letter-spacing:-.025em; }
.consultation-studio .request-choice-copy { display:block; font-size:14px; line-height:1.7; color:#53664f; margin-top:10px; }
.consultation-studio .request-choices > button[aria-pressed=true] .request-choice-copy { color:#e2ece3; }
.consultation-studio .request-choice-state { display:block; font-size:10px; line-height:1.7; letter-spacing:.09em; font-weight:600; text-transform:uppercase; margin-top:15px; color:#e4d5b3; }
.consultation-studio .request-choices > button[aria-pressed=true] .request-choice-state { color:#e4d5b3; }
.consultation-studio .request-choices > button[aria-pressed=false] .request-choice-state { visibility:hidden; }
.consultation-studio .consultation-notes-jump { font-size:14px; min-height:44px; margin-block:0 18px; }
.consultation-studio .cs-launch { display:grid; grid-template-columns:1.1fr .85fr; gap:8%; padding:31px 34px; background:#eaf0e3; border:1px solid #c0ceb5; border-top:3px solid var(--cs-green); }
.consultation-studio .request-launch-content .eyebrow { display:block; font-size:11px; color:#536c4b; }
#main .consultation-studio .request-launch h3 { font-size:33px; line-height:1.2; margin:13px 0 15px; letter-spacing:-.025em; }
.consultation-studio .request-launch p { font-size:16px; line-height:1.8; }
.consultation-studio .request-launch-content > p:not(.eyebrow) { max-width:52ch; }
.consultation-studio .request-launch-action { display:flex; flex-direction:column; align-items:stretch; justify-content:center; }
.consultation-studio .request-launch .request-host-note { font-size:14px; line-height:1.75; color:#4c614b; margin:0 0 20px; max-width:47ch; }
.consultation-studio .request-launch-action .button { font-size:15px; line-height:1.5; min-height:55px; width:100%; gap:20px; padding:17px 21px; }
.consultation-studio .request-call { display:inline-flex; align-items:center; align-self:start; min-height:44px; font-size:13px; font-weight:600; margin-top:8px; }
.consultation-studio .cs-form-alternative { display:flex; align-items:center; justify-content:flex-end; gap:16px; padding-block:12px 5px; color:#5b6b56; }
.consultation-studio .cs-form-alternative > span { font-size:12px; }
.consultation-studio .cs-form-alternative .text-link { font-size:12px; gap:15px; min-height:40px; }
.consultation-studio .cs-assurance { border-block:0; gap:28px; margin-block:14px 0; padding-block:20px 25px; }
.consultation-studio .cs-assurance .ux-assurance-item { border-color:#c7d2c1; }
.consultation-studio .cs-assurance .ux-assurance-item strong { font-size:13px; }
#main .consultation-studio .cs-assurance .ux-assurance-item p { font-size:14px; line-height:1.75; margin-top:7px; max-width:38ch; }
.consultation-studio .request-status { font-size:14px; line-height:1.8; margin-block:10px; }
.consultation-studio .request-status:empty { margin:0; }
.consultation-studio .hosted-request { margin-top:20px; }
.consultation-studio .hosted-request-bar { font-size:14px; line-height:1.7; }
.consultation-studio .hosted-request-bar a { font-size:13px; min-height:40px; display:flex; align-items:center; }
.consultation-studio .hosted-request .request-host-note { font-size:14px; line-height:1.8; }
.consultation-studio .request-loading { font-size:15px; line-height:1.8; padding-inline:24px; }
.consultation-studio .cs-context { display:grid; grid-template-columns:.85fr 1.15fr; gap:8%; padding:30px 33px; margin-block:25px 32px; border:1px solid #cbd3c3; background:#f2efe6; scroll-margin-top:125px; }
#main .consultation-studio .cs-context h2 { font-size:37px; line-height:1.15; margin-top:14px; }
.consultation-studio .cs-context p { font-size:14px; line-height:1.8; margin-top:18px; max-width:43ch; }
.consultation-studio .cs-context .text-link { font-size:13px; margin-top:14px; }
.consultation-studio .cs-notes-panel label { font-size:13px; line-height:1.7; font-weight:600; margin-bottom:10px; }
.consultation-studio .cs-notes-panel textarea { font:14px/1.8 var(--sans,Arial,sans-serif); padding:15px 17px; background:#fcfcf7; border:1px solid #a4b59b; min-height:172px; }
.consultation-studio #copy-consultation-notes { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; font-size:14px; font-weight:600; margin-top:9px; padding:8px 0; text-decoration:underline; text-underline-offset:5px; }
.consultation-studio #copy-consultation-notes > span { font-size:20px; font-weight:400; }
.consultation-studio #consultation-copy-status { font-size:13px; line-height:1.75; margin-top:8px; }
.consultation-studio .cs-next { display:grid; grid-template-columns:45px 1fr; gap:25px; padding-block:24px 28px; margin-top:10px; border-top:1px solid var(--cs-line); }
.consultation-studio .cs-next-mark { font-size:35px; line-height:1.2; color:var(--cs-green); }
#main .consultation-studio .cs-next h2 { font-size:27px; line-height:1.25; }
.consultation-studio .cs-next p { font-size:15px; line-height:1.8; max-width:87ch; margin-top:10px; }
.consultation-studio .cs-help { display:grid; grid-template-columns:.85fr 1.15fr; gap:12%; align-items:start; border-top:1px solid var(--cs-line); padding-block:45px 65px; }
#main .consultation-studio .cs-help h2 { font-size:clamp(34px,3.3vw,46px); line-height:1.15; }
.consultation-studio .cs-help-intro > p:not(.eyebrow) { font-size:16px; line-height:1.8; margin-top:23px; max-width:39ch; }
.consultation-studio .cs-guide-links { padding-block:14px; border-block:1px solid var(--cs-line); margin-top:24px; }
.consultation-studio .cs-guide-links summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; font-size:14px; font-weight:600; list-style:none; cursor:pointer; }
.consultation-studio .cs-guide-links summary::-webkit-details-marker { display:none; }
.consultation-studio .cs-guide-links summary > span { font-size:23px; color:var(--cs-green); font-weight:400; }
.consultation-studio .cs-guide-links[open] summary > span { transform:rotate(45deg); }
.consultation-studio .cs-guide-links .ex-links { display:flex; flex-direction:column; gap:4px; margin-top:12px; }
.consultation-studio .cs-guide-links .ex-links a { display:flex; justify-content:space-between; gap:20px; font-size:14px; line-height:1.7; min-height:44px; align-items:center; }
.consultation-studio .cs-help .faq-list summary { font-size:16px; line-height:1.6; padding-block:20px; }
.consultation-studio .cs-help .faq-answer p { font-size:16px; line-height:1.8; }
.consultation-studio .request-without-js { background:#eaf0e3; padding:28px; margin-top:25px; }
.consultation-studio .request-without-js h3 { font-size:29px; line-height:1.2; }
.consultation-studio .request-without-js p { font-size:16px; line-height:1.8; margin-top:18px; }
.consultation-studio .request-without-js ul { font-size:16px; line-height:1.8; padding-left:18px; }
.consultation-studio .request-without-js a { text-decoration:underline; text-underline-offset:5px; }
.no-js .consultation-studio .request-choices, .no-js .consultation-studio #request-launch, .no-js .consultation-studio .cs-form-alternative { display:none; }
@media(max-width:1000px) {
  .consultation-studio .cs-intro { gap:7%; grid-template-columns:1.1fr .8fr; }
  .consultation-studio .cs-contact { padding-left:24px; }
  .consultation-studio .cs-phone { font-size:24px; }
  .consultation-studio .request-choices > button { padding:20px; }
  .consultation-studio .request-choice-title { font-size:27px; }
  .consultation-studio .cs-launch { gap:6%; padding:28px; }
  .consultation-studio .request-launch-action .button { font-size:14px; padding-inline:18px; }
  .consultation-studio .cs-context,.consultation-studio .cs-help { gap:7%; }
}
@media(max-width:700px) {
  .consultation-studio .cs-intro { grid-template-columns:1fr; gap:24px; padding-block:25px 29px; }
  #main .consultation-studio .cs-intro h1 { font-size:clamp(43px,10.8vw,61px); margin-top:18px; }
  .consultation-studio .cs-intro .page-lead { font-size:17px; margin-top:21px; }
  .consultation-studio .cs-contact { border-left:0; border-top:1px solid var(--cs-line); padding:20px 0 0; }
  .consultation-studio .cs-contact .eyebrow { font-size:10px; }
  .consultation-studio .cs-phone { font-size:26px; margin-top:9px; max-width:350px; }
  .consultation-studio .cs-email { max-width:350px; margin-top:3px; }
  #main .consultation-studio .cs-contact > p:not(.eyebrow) { font-size:12px; margin-top:11px; max-width:43ch; }
  .consultation-studio .cs-request { padding-top:26px; }
  .consultation-studio .cs-request-heading { display:block; }
  #main .consultation-studio .request-heading h2 { font-size:32px; }
  .consultation-studio .cs-choice-help { font-size:15px; margin-top:14px; max-width:44ch; }
  .consultation-studio .request-choices { grid-template-columns:1fr; gap:9px; margin-block:21px; }
  .consultation-studio .request-choices > button { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-height:76px; padding:16px 18px; border-bottom-width:1px; column-gap:17px; }
  .consultation-studio .request-choice-title { font-size:26px; grid-column:1; grid-row:1; }
  .consultation-studio .request-choice-copy { display:none; }
  .consultation-studio .request-choice-state { grid-column:2; grid-row:1; margin:0; font-size:10px; max-width:8ch; text-align:right; }
  .consultation-studio .request-choice-top { display:none; }
  .consultation-studio .consultation-notes-jump { margin-block:0 16px; }
  .consultation-studio .cs-launch { grid-template-columns:1fr; gap:22px; padding:25px 22px; }
  #main .consultation-studio .request-launch h3 { font-size:29px; margin-block:13px; }
  .consultation-studio .request-launch p { font-size:16px; }
  .consultation-studio .request-launch .request-host-note { font-size:14px; margin-bottom:17px; }
  .consultation-studio .request-launch-action .button { font-size:14px; }
  .consultation-studio .request-call { font-size:13px; margin-top:7px; }
  .consultation-studio .cs-form-alternative { display:block; padding-block:15px 0; }
  .consultation-studio .cs-form-alternative > span { display:block; font-size:12px; }
  .consultation-studio .cs-form-alternative .text-link { margin-top:2px; font-size:12px; }
  .consultation-studio .cs-assurance { grid-template-columns:1fr; gap:0; padding-block:18px; margin-block:10px 0; }
  .consultation-studio .cs-assurance .ux-assurance-item { display:grid; grid-template-columns:95px 1fr; gap:18px; padding:15px 0; margin:0; border:0; border-top:1px solid var(--cs-line); }
  .consultation-studio .cs-assurance .ux-assurance-item:first-child { border-top:0; }
  .consultation-studio .cs-assurance .ux-assurance-item strong { font-size:12px; }
  #main .consultation-studio .cs-assurance .ux-assurance-item p { font-size:13px; margin-top:0; }
  .consultation-studio .cs-context { grid-template-columns:1fr; gap:23px; padding:25px 22px; margin-block:20px 27px; }
  #main .consultation-studio .cs-context h2 { font-size:33px; }
  .consultation-studio .cs-context p { font-size:14px; margin-top:17px; }
  .consultation-studio .cs-context .text-link { font-size:13px; }
  .consultation-studio .cs-notes-panel textarea { font-size:13px; min-height:190px; }
  .consultation-studio .cs-next { grid-template-columns:25px 1fr; gap:15px; padding-block:22px 27px; margin-top:6px; }
  .consultation-studio .cs-next-mark { font-size:28px; }
  #main .consultation-studio .cs-next h2 { font-size:25px; }
  .consultation-studio .cs-next p { font-size:14px; margin-top:10px; }
  .consultation-studio .cs-help { grid-template-columns:1fr; gap:28px; padding-block:34px 48px; }
  #main .consultation-studio .cs-help h2 { font-size:clamp(33px,8.5vw,41px); }
  .consultation-studio .cs-help-intro > p:not(.eyebrow) { margin-top:21px; }
  .consultation-studio .cs-help .faq-list summary { font-size:15px; }
  .consultation-studio .cs-help .faq-answer p { font-size:15px; }
  .consultation-studio .request-without-js { padding:25px 22px; }
}
@media(max-width:360px) {
  .consultation-studio .request-choices > button { padding-inline:15px; column-gap:12px; }
  .consultation-studio .request-choice-title { font-size:24px; }
  .consultation-studio .cs-assurance .ux-assurance-item { grid-template-columns:83px 1fr; gap:13px; }
}
@media print {
  .consultation-studio .cs-intro,.consultation-studio .cs-context,.consultation-studio .cs-next,.consultation-studio .cs-help { display:block; }
  .consultation-studio .cs-contact { border-left:0; padding:18px 0 0; }
  .consultation-studio .cs-request,.consultation-studio .cs-context { padding-block:18pt; }
  .consultation-studio .request-choices,.consultation-studio .request-launch,.consultation-studio .cs-form-alternative,.consultation-studio .hosted-request,.consultation-studio #copy-consultation-notes { display:none; }
  .consultation-studio .cs-next-mark { display:none; }
  .consultation-studio .cs-help .faq-list { margin-top:20px; }
  .consultation-studio .cs-context { background:white; }
}

/* Two-photograph visual comparison. The existing gallery keeps its own behavior. */
.page-projects .gallery-compare { --gc-teal:#2a5e59; --gc-rule:#cbd5c8; padding-block:75px; background:#eaf0e5; }
.page-projects .gallery-compare a:focus-visible,.page-projects .gallery-compare select:focus-visible { outline:3px solid #397569; outline-offset:5px; }
.page-projects .gallery-compare .gc-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:end; margin-bottom:29px; }
.page-projects #main .gallery-compare .gc-section-heading h2 { font-size:clamp(34px,3.25vw,48px); line-height:1.17; }
.page-projects #main .gallery-compare .gc-section-heading>p { font-size:17px; line-height:1.85; max-width:52ch; }
.page-projects #main .gallery-compare .gc-comparison-note { font-size:13px; line-height:1.8; color:#566849; border-top:1px solid #c0ceba; padding-top:20px; margin-top:0; margin-bottom:28px; max-width:none; }
.page-projects #main .gallery-compare .gc-fallback-note { font-size:14px; line-height:1.8; padding:17px 20px; margin-bottom:24px; border:1px solid var(--gc-rule); background:#f5f6ee; }
.page-projects .gallery-compare .gc-fallback-note a { text-decoration:underline; text-underline-offset:4px; }
.page-projects .gallery-compare .gc-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.page-projects .gallery-compare .gc-column { min-width:0; background:#fcfbf8; border:1px solid var(--gc-rule); display:flex; flex-direction:column; }
.page-projects .gallery-compare .gc-control { padding:22px 25px 25px; border-bottom:1px solid var(--gc-rule); background:#f5f5ed; }
.page-projects .gallery-compare .gc-control label { display:flex; align-items:center; gap:13px; margin-bottom:13px; font-size:13px; font-weight:600; color:#305448; line-height:1.7; }
.page-projects .gallery-compare .gc-control-index { font:italic 23px/1 Georgia,serif; color:var(--gc-teal); }
.page-projects .gallery-compare .gc-control select { display:block; width:100%; max-width:100%; min-height:52px; padding:12px 35px 12px 14px; border:1px solid #9cab95; border-radius:0; color:#203f35; background:#fff; font:15px/1.6 var(--sans,Arial,sans-serif); cursor:pointer; }
.page-projects .gallery-compare .gc-control select:disabled { cursor:default; color:#5a6854; background:#f0f2e9; opacity:1; }
.page-projects .gallery-compare .gc-cards { flex:1; }
.page-projects .gallery-compare .gc-photo-card { margin:0; display:flex; flex-direction:column; height:100%; }
.page-projects .gallery-compare .gc-photo-card[hidden] { display:none!important; }
.page-projects .gallery-compare .gc-photo-card>img,.page-projects .gallery-compare .gc-photo-card>.gc-photo>img,.page-projects .gallery-compare .gc-photo-card picture>img { width:100%; aspect-ratio:1.3; height:auto; object-fit:cover; }
.page-projects .gallery-compare .gc-photo-card>.gc-photo { display:block; margin:0; overflow:hidden; }
.page-projects .gallery-compare .gc-card-copy { display:flex; flex-direction:column; align-items:start; flex:1; padding:24px 25px 26px; min-width:0; width:100%; }

.page-projects #main .gallery-compare .gc-card-copy>h3 { font-size:31px; line-height:1.2; letter-spacing:-.02em; margin-top:13px; }
.page-projects #main .gallery-compare .gc-card-copy>.gc-method { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#6b7557; font-weight:600; line-height:1.8; margin-top:0; }
.page-projects .gallery-compare .gc-features { display:flex; flex-wrap:wrap; gap:7px; padding:0; list-style:none; margin-top:22px; margin-bottom:0; }
.page-projects .gallery-compare .gc-features>li { padding:6px 10px; border:1px solid #d0d8c6; font-size:12px; line-height:1.7; color:#486247; background:#f0f3e9; }
.page-projects #main .gallery-compare .gc-card-copy>.gc-question { font-size:15px; line-height:1.85; color:#4a6150; margin-top:24px; padding-top:21px; border-top:1px solid var(--gc-rule); }
.page-projects #main .gallery-compare .gc-question strong { display:block; font-size:10px; line-height:1.8; text-transform:uppercase; letter-spacing:.1em; color:#5f7651; margin-bottom:8px; font-weight:600; }
.page-projects .gallery-compare .gc-card-links { display:flex; flex-direction:column; align-items:stretch; width:100%; gap:5px; margin-top:auto; padding-top:20px; }
.page-projects .gallery-compare .gc-card-links>a { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:44px; padding-block:9px; font-size:12px; line-height:1.65; color:#4c6651; }
.page-projects .gallery-compare .gc-card-links>.gc-studio-link { border-bottom:1px solid #adbba3; font-size:13px; font-weight:600; color:var(--gc-teal); }
.page-projects .gallery-compare .gc-card-links>.gc-studio-link>span { font-size:22px; }
.page-projects .gallery-compare .gc-card-links>a:hover { color:#183f38; text-decoration:underline; text-underline-offset:5px; }
.page-projects .gallery-compare .gc-comparison-footer { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:10px 30px; margin-top:21px; }
.page-projects #main .gallery-compare .gc-comparison-footer>p { font-size:12px; line-height:1.8; color:#52684c; max-width:54ch; margin:0; }
.page-projects #main .gallery-compare #compare-spaces-status { color:#284f3d; font-weight:600; }
.page-projects .gallery-compare .gc-next-step { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-top:25px; margin-top:27px; border-top:1px solid #c0ceba; }
.page-projects #main .gallery-compare .gc-next-step p { font-size:15px; line-height:1.85; max-width:77ch; }
.page-projects #main .gallery-compare .gc-next-step strong { color:#2e4d3a; font-weight:600; }
.page-projects .gallery-compare .gc-next-step .text-link { flex-shrink:0; font-size:14px; gap:22px; }
@media(max-width:1000px) {
  .page-projects .gallery-compare .gc-section-heading { gap:7%; }
  .page-projects .gallery-compare .gc-pair { gap:21px; }
  .page-projects .gallery-compare .gc-control { padding:20px; }
  .page-projects .gallery-compare .gc-card-copy { padding-inline:20px; }
  .page-projects .gallery-compare .gc-next-step { align-items:start; flex-direction:column; gap:16px; }
}
@media(max-width:700px) {
  .page-projects .gallery-compare { padding-block:50px; }
  .page-projects .gallery-compare .gc-section-heading { grid-template-columns:1fr; gap:24px; margin-bottom:24px; }
  .page-projects #main .gallery-compare .gc-section-heading h2 { font-size:clamp(31px,8.8vw,39px); }
  .page-projects #main .gallery-compare .gc-section-heading>p { font-size:16px; }
  .page-projects #main .gallery-compare .gc-comparison-note { font-size:12px; }
  .page-projects .gallery-compare .gc-pair { grid-template-columns:1fr; gap:28px; }
  .page-projects .gallery-compare .gc-control { padding:21px; }
  .page-projects .gallery-compare .gc-control select { font-size:16px; padding-left:12px; }
  .page-projects .gallery-compare .gc-photo-card>img,.page-projects .gallery-compare .gc-photo-card>.gc-photo>img,.page-projects .gallery-compare .gc-photo-card picture>img { aspect-ratio:1.2; }
  .page-projects .gallery-compare .gc-card-copy { padding-inline:21px; }
  .page-projects #main .gallery-compare .gc-card-copy>h3 { font-size:30px; }
  .page-projects .gallery-compare .gc-features>li { font-size:12px; }
  .page-projects .gallery-compare .gc-comparison-footer { flex-direction:column; gap:10px; }
  .page-projects #main .gallery-compare .gc-next-step p { font-size:14px; }
}
@media print {
  .page-projects .gallery-compare { background:white; padding-block:20pt; }
  .page-projects .gallery-compare .gc-section-heading { display:block; }
  .page-projects .gallery-compare .gc-control,.page-projects .gallery-compare .gc-comparison-footer,.page-projects .gallery-compare .gc-next-step,.page-projects .gallery-compare .gc-studio-link { display:none; }
  .page-projects .gallery-compare .gc-pair { gap:18pt; }
  .page-projects .gallery-compare .gc-column { break-inside:avoid; }
  .page-projects .gallery-compare .gc-features { display:block; }
  .page-projects .gallery-compare .gc-features>li { border:0; padding:2pt 0; background:white; }
}

/* Cost guide only: real photography, written scope, and useful comparisons. */
.page-pool-costs .cost-page { --cc-green:#285e59; --cc-line:#c8d3c4; --cc-soft:#edf1e8; }
.page-pool-costs .cost-page .cc-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8%; padding-block:40px 42px; }
.page-pool-costs #main .cost-page .cc-hero h1 { font-size:clamp(48px,4.8vw,70px); line-height:1.09; margin-top:23px; max-width:15ch; }
.page-pool-costs #main .cost-page .cc-lead { color:var(--ink); font-size:20px; line-height:1.75; max-width:39ch; margin-top:26px; }
.page-pool-costs .cost-page .cc-hero .button-row { gap:13px 24px; margin-top:29px; }
.page-pool-costs .cost-page .cc-hero .button { min-height:56px; font-size:14px; gap:28px; }
.page-pool-costs .cost-page .cc-hero .text-link { font-size:14px; gap:22px; }
.page-pool-costs #main .cost-page .cc-hero-note { font-size:14px; line-height:1.8; max-width:48ch; margin-top:20px; padding-top:19px; border-top:1px solid var(--cc-line); }
.page-pool-costs .cost-page .cc-hero-photo { position:relative; min-height:455px; margin:0; align-self:stretch; background:#cdd9cd; }
.page-pool-costs .cost-page .cc-hero-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.page-pool-costs .cost-page .cc-hero-photo figcaption { position:absolute; inset-inline:0; bottom:0; padding:65px 26px 24px; background:linear-gradient(transparent,rgba(9,31,35,.85)); color:white; }
.page-pool-costs .cost-page .cc-hero-photo figcaption>span { display:block; font-size:11px; line-height:1.7; }
.page-pool-costs .cost-page .cc-hero-photo figcaption>strong { display:block; font-size:17px; line-height:1.65; font-weight:500; margin-top:9px; max-width:31ch; }
.page-pool-costs .cost-page .cc-estimator { padding-block:29px; background:#e8eee3; border-block:1px solid #cbd7c4; }
.page-pool-costs .cost-page .cc-estimator>.container { display:grid; grid-template-columns:.8fr 1.2fr; gap:11%; align-items:start; }
.page-pool-costs #main .cost-page .cc-estimator h2 { font-size:31px; line-height:1.25; margin-top:12px; }
.page-pool-costs #main .cost-page .cc-estimator p:not(.eyebrow):not(.cc-note) { font-size:16px; line-height:1.8; max-width:63ch; }
.page-pool-costs .cost-page .cc-estimator .text-link { margin-top:10px; font-size:14px; }
.page-pool-costs #main .cost-page .cc-note { font-size:12px; line-height:1.8; color:#57665a; }
.page-pool-costs #main .cost-page .cc-estimator .cc-note { margin-top:12px; max-width:82ch; }
.page-pool-costs .cost-page .cc-page-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:7px 25px; border-bottom:1px solid var(--cc-line); padding-block:13px; }
.page-pool-costs .cost-page .cc-page-nav a { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; min-height:42px; font-size:13px; line-height:1.7; font-weight:600; }
.page-pool-costs .cost-page .cc-page-nav a>span { color:var(--cc-green); font-size:20px; font-weight:400; }
.page-pool-costs .cost-page .cc-page-nav a:hover { text-decoration:underline; text-underline-offset:5px; color:var(--cc-green); }
.page-pool-costs .cost-page .cc-comparison { padding-block:73px; background:#fbfcf7; }
.page-pool-costs .cost-page .cc-section-head { display:grid; grid-template-columns:1fr .8fr; align-items:end; gap:12%; margin-bottom:35px; }
.page-pool-costs #main .cost-page .cc-section-head h2,.page-pool-costs #main .cost-page .cc-drivers h2,.page-pool-costs #main .cost-page .cc-scope-reference h2,.page-pool-costs #main .cost-page .cc-ownership h2,.page-pool-costs #main .cost-page .cc-questions h2,.page-pool-costs #main .cost-page .cc-next h2 { font-size:clamp(35px,3.6vw,53px); line-height:1.14; }
.page-pool-costs #main .cost-page .cc-section-head>p { font-size:17px; line-height:1.8; max-width:46ch; }
.page-pool-costs .cost-page .cc-compare-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin-top:44px; }
.page-pool-costs .cost-page .cc-compare-principles>article { border-top:1px solid var(--cc-line); padding-top:23px; }
.page-pool-costs .cost-page .cc-small-index { display:block; color:#637054; font-size:11px; line-height:1.8; }
.page-pool-costs #main .cost-page .cc-compare-principles h3 { font-size:27px; line-height:1.3; margin-top:16px; }
.page-pool-costs #main .cost-page .cc-compare-principles p { font-size:16px; line-height:1.8; max-width:38ch; margin-top:15px; }
.page-pool-costs .cost-page .cc-proposal-question { max-width:1000px; margin:41px auto 0; padding:29px 34px; border-left:3px solid #9c875d; background:#f0ede4; }
.page-pool-costs #main .cost-page .cc-proposal-question>p { color:#6d6044; font-size:11px; line-height:1.8; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.page-pool-costs .cost-page .cc-proposal-question blockquote { margin:14px 0 0; color:var(--ink); font:400 30px/1.45 var(--display,Georgia,serif); letter-spacing:-.015em; }
.page-pool-costs .cost-page .cc-drivers { display:grid; grid-template-columns:.85fr 1.15fr; gap:12%; align-items:start; }
.page-pool-costs #main .cost-page .cc-drivers-intro>p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:41ch; margin-top:24px; }
.page-pool-costs .cost-page .cc-drivers-intro>.text-link { font-size:14px; margin-top:20px; }
.page-pool-costs .cost-page .cc-driver-list { list-style:none; padding:0; margin:0; }
.page-pool-costs .cost-page .cc-driver-list>li { display:grid; grid-template-columns:27px 1fr; gap:19px; padding-block:23px; border-top:1px solid var(--cc-line); }
.page-pool-costs .cost-page .cc-driver-list>li:last-child { border-bottom:1px solid var(--cc-line); }
.page-pool-costs .cost-page .cc-driver-list>li>span { color:var(--cc-green); font-size:12px; line-height:1.7; padding-top:6px; }
.page-pool-costs #main .cost-page .cc-driver-list h3 { font-size:28px; line-height:1.3; }
.page-pool-costs #main .cost-page .cc-driver-list p { font-size:16px; line-height:1.8; max-width:57ch; margin-top:13px; }
.page-pool-costs .cost-page .cc-scope-reference { padding-block:65px; background:#edf1e8; border-block:1px solid #d4dece; }
.page-pool-costs .cost-page .cc-scope-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:12%; align-items:start; }
.page-pool-costs #main .cost-page .cc-scope-layout>div>p:not(.eyebrow):not(.cc-note) { font-size:17px; line-height:1.8; max-width:40ch; margin-top:24px; }
.page-pool-costs #main .cost-page .cc-scope-layout .cc-note { max-width:48ch; margin-top:21px; padding-top:18px; border-top:1px solid #c9d4c2; }
.page-pool-costs .cost-page .cc-scope-details { border-block:1px solid #bdcbb6; }
.page-pool-costs .cost-page .cc-scope-details>summary { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:65px; padding-block:20px; color:var(--ink); font-size:18px; line-height:1.6; cursor:pointer; list-style:none; }
.page-pool-costs .cost-page .cc-scope-details>summary::-webkit-details-marker { display:none; }
.page-pool-costs .cost-page .cc-scope-details>summary>span:last-child { color:var(--cc-green); font-size:26px; line-height:1.5; }
.page-pool-costs .cost-page .cc-scope-details[open]>summary>span:last-child { transform:rotate(45deg); }
.page-pool-costs .cost-page .cc-scope-details dl { margin:0; padding-bottom:15px; }
.page-pool-costs .cost-page .cc-scope-details dl>div { display:grid; grid-template-columns:.72fr 1.1fr; gap:23px; padding-block:18px; border-top:1px solid #c8d4c0; }
.page-pool-costs .cost-page .cc-scope-details dt { color:var(--ink); font-size:14px; line-height:1.8; font-weight:600; }
.page-pool-costs .cost-page .cc-scope-details dd { margin:0; color:#53624f; font-size:14px; line-height:1.8; }
.page-pool-costs .cost-page .cc-ownership { background:#183640; color:white; padding-block:73px; }
.page-pool-costs .cost-page .cc-ownership>.container { display:grid; grid-template-columns:1fr .9fr; gap:13%; align-items:start; }
.page-pool-costs .cost-page .cc-ownership .eyebrow { color:#ddcba8; }
.page-pool-costs #main .cost-page .cc-ownership em { color:#e2d0af; }
.page-pool-costs #main .cost-page .cc-ownership>.container>div>p:not(.eyebrow) { color:#d8e4de; font-size:17px; line-height:1.8; max-width:44ch; margin-top:25px; }
.page-pool-costs .cost-page .cc-ownership .text-link { color:white; font-size:14px; margin-top:22px; }
.page-pool-costs .cost-page .cc-ownership a:focus-visible { outline-color:#f2e6ce; }
.page-pool-costs .cost-page .cc-owner-list { margin:0; }
.page-pool-costs .cost-page .cc-owner-list>div { border-top:1px solid #6a8079; padding-block:20px; }
.page-pool-costs .cost-page .cc-owner-list>div:last-child { border-bottom:1px solid #6a8079; }
.page-pool-costs .cost-page .cc-owner-list dt { font-size:18px; line-height:1.6; font-weight:500; }
.page-pool-costs .cost-page .cc-owner-list dd { margin:9px 0 0; color:#d8e4de; font-size:16px; line-height:1.8; max-width:45ch; }
.page-pool-costs .cost-page .cc-questions { display:grid; grid-template-columns:.85fr 1.15fr; gap:12%; align-items:start; }
.page-pool-costs .cost-page .cc-questions>div:first-child>.text-link { font-size:14px; margin-top:23px; }
.page-pool-costs .cost-page .cc-questions .faq-list summary { font-size:16px; line-height:1.7; }
.page-pool-costs #main .cost-page .cc-questions .faq-answer p { font-size:16px; line-height:1.8; }
.page-pool-costs .cost-page .cc-next { padding-block:65px; background:#e4ebdf; }
.page-pool-costs .cost-page .cc-next>.container { display:grid; grid-template-columns:1fr .7fr; gap:13%; align-items:center; }
.page-pool-costs #main .cost-page .cc-next p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:47ch; margin-top:23px; }
.page-pool-costs .cost-page .cc-next>.container>div:last-child { display:flex; flex-direction:column; align-items:start; gap:15px; }
.page-pool-costs .cost-page .cc-next .button { min-height:55px; font-size:15px; }
.page-pool-costs .cost-page .cc-next .text-link { font-size:14px; }
@media(max-width:1050px) {
  .page-pool-costs .cost-page .cc-hero { gap:6%; }
  .page-pool-costs #main .cost-page .cc-hero h1 { font-size:clamp(46px,5.3vw,59px); }
  .page-pool-costs #main .cost-page .cc-lead { font-size:18px; }
  .page-pool-costs .cost-page .cc-hero-photo { min-height:480px; }
  .page-pool-costs .cost-page .cc-estimator>.container { gap:7%; }
  .page-pool-costs .cost-page .cc-section-head { gap:8%; }
  .page-pool-costs .cost-page .cc-compare-principles { gap:26px; }
  .page-pool-costs .cost-page .cc-drivers,.page-pool-costs .cost-page .cc-scope-layout { gap:8%; }
  .page-pool-costs .cost-page .cc-scope-details dl>div { grid-template-columns:1fr; gap:7px; }
  .page-pool-costs .cost-page .cc-ownership>.container { gap:8%; }
  .page-pool-costs .cost-page .cc-questions { gap:8%; }
}
@media(max-width:700px) {
  .page-pool-costs .cost-page .cc-hero { grid-template-columns:1fr; gap:29px; padding-block:28px 34px; }
  .page-pool-costs #main .cost-page .cc-hero h1 { font-size:clamp(44px,11vw,63px); line-height:1.1; max-width:none; margin-top:19px; }
  .page-pool-costs #main .cost-page .cc-lead { font-size:18px; line-height:1.75; max-width:44ch; margin-top:23px; }
  .page-pool-costs .cost-page .cc-hero .button-row { gap:11px 23px; margin-top:24px; }
  .page-pool-costs .cost-page .cc-hero .button { min-height:54px; font-size:14px; }
  .page-pool-costs .cost-page .cc-hero .text-link { font-size:13px; }
  .page-pool-costs #main .cost-page .cc-hero-note { font-size:13px; max-width:48ch; margin-top:18px; padding-top:16px; }
  .page-pool-costs .cost-page .cc-hero-photo { min-height:0; aspect-ratio:1.17; }
  .page-pool-costs .cost-page .cc-hero-photo figcaption { padding:60px 20px 20px; }
  .page-pool-costs .cost-page .cc-hero-photo figcaption>span { font-size:10px; }
  .page-pool-costs .cost-page .cc-hero-photo figcaption>strong { font-size:15px; max-width:27ch; }
  .page-pool-costs .cost-page .cc-estimator { padding-block:26px; }
  .page-pool-costs .cost-page .cc-estimator>.container { grid-template-columns:1fr; gap:20px; }
  .page-pool-costs #main .cost-page .cc-estimator h2 { font-size:29px; }
  .page-pool-costs #main .cost-page .cc-estimator p:not(.eyebrow):not(.cc-note) { font-size:16px; }
  .page-pool-costs .cost-page .cc-page-nav { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; padding-block:10px; }
  .page-pool-costs .cost-page .cc-page-nav a { min-height:45px; font-size:12px; gap:12px; }
  .page-pool-costs .cost-page .cc-page-nav a>span { font-size:18px; }
  .page-pool-costs .cost-page .cc-comparison { padding-block:49px; }
  .page-pool-costs .cost-page .cc-section-head { grid-template-columns:1fr; gap:16px; margin-bottom:20px; }
  .page-pool-costs #main .cost-page .cc-section-head>p { font-size:16px; max-width:46ch; }
  .page-pool-costs .cost-page .cc-compare-principles { grid-template-columns:1fr; gap:27px; margin-top:31px; }
  .page-pool-costs #main .cost-page .cc-compare-principles h3 { font-size:27px; margin-top:14px; }
  .page-pool-costs #main .cost-page .cc-compare-principles p { margin-top:13px; max-width:45ch; }
  .page-pool-costs .cost-page .cc-proposal-question { margin-top:30px; padding:25px 22px; }
  .page-pool-costs .cost-page .cc-proposal-question blockquote { font-size:27px; line-height:1.5; }
  .page-pool-costs .cost-page .cc-drivers { grid-template-columns:1fr; gap:30px; }
  .page-pool-costs #main .cost-page .cc-drivers-intro>p:not(.eyebrow) { margin-top:22px; max-width:45ch; }
  .page-pool-costs .cost-page .cc-driver-list>li { grid-template-columns:23px 1fr; gap:16px; padding-block:22px; }
  .page-pool-costs #main .cost-page .cc-driver-list h3 { font-size:27px; }
  .page-pool-costs .cost-page .cc-scope-reference { padding-block:49px; }
  .page-pool-costs .cost-page .cc-scope-layout { grid-template-columns:1fr; gap:27px; }
  .page-pool-costs #main .cost-page .cc-scope-layout>div>p:not(.eyebrow):not(.cc-note) { max-width:45ch; margin-top:22px; }
  .page-pool-costs .cost-page .cc-scope-details>summary { font-size:17px; }
  .page-pool-costs .cost-page .cc-scope-details dl>div { padding-block:17px; }
  .page-pool-costs .cost-page .cc-ownership { padding-block:49px; }
  .page-pool-costs .cost-page .cc-ownership>.container { grid-template-columns:1fr; gap:30px; }
  .page-pool-costs #main .cost-page .cc-ownership>.container>div>p:not(.eyebrow) { margin-top:23px; max-width:45ch; }
  .page-pool-costs .cost-page .cc-owner-list>div { padding-block:19px; }
  .page-pool-costs .cost-page .cc-questions { grid-template-columns:1fr; gap:30px; }
  .page-pool-costs .cost-page .cc-questions>div:first-child>.text-link { margin-top:19px; }
  .page-pool-costs .cost-page .cc-next { padding-block:49px; }
  .page-pool-costs .cost-page .cc-next>.container { grid-template-columns:1fr; gap:29px; }
  .page-pool-costs #main .cost-page .cc-next p:not(.eyebrow) { font-size:16px; max-width:45ch; margin-top:22px; }
}
@media print {
  .page-pool-costs .cost-page .cc-hero,.page-pool-costs .cost-page .cc-estimator>.container,.page-pool-costs .cost-page .cc-section-head,.page-pool-costs .cost-page .cc-drivers,.page-pool-costs .cost-page .cc-scope-layout,.page-pool-costs .cost-page .cc-ownership>.container,.page-pool-costs .cost-page .cc-questions,.page-pool-costs .cost-page .cc-next>.container { display:block; }
  .page-pool-costs .cost-page .cc-hero-photo { min-height:0; aspect-ratio:1.8; margin-top:20px; }
  .page-pool-costs .cost-page .cc-page-nav,.page-pool-costs .cost-page .cc-next { display:none; }
  .page-pool-costs .cost-page .cc-estimator,.page-pool-costs .cost-page .cc-comparison,.page-pool-costs .cost-page .cc-scope-reference,.page-pool-costs .cost-page .cc-ownership { background:transparent; color:#111; padding-block:20pt; }
  .page-pool-costs .cost-page .cc-ownership .eyebrow,.page-pool-costs #main .cost-page .cc-ownership em,.page-pool-costs #main .cost-page .cc-ownership p,.page-pool-costs .cost-page .cc-owner-list dd,.page-pool-costs .cost-page .cc-ownership a { color:#111; }
  .page-pool-costs .cost-page .cc-compare-principles>article,.page-pool-costs .cost-page .cc-driver-list>li,.page-pool-costs .cost-page .cc-owner-list>div { break-inside:avoid; }
}

/* Scope worksheet. Neutral records, no ranking or pricing. */
.cost-page .scope-worksheet { --sw-green:#2d5d48; --sw-rule:#c6d2c0; --sw-pale:#f0f3ea; --sw-gold:#77613a; background:#fcfbf8; border:1px solid var(--sw-rule); }
.cost-page .scope-worksheet a:focus-visible,.cost-page .scope-worksheet button:focus-visible,.cost-page .scope-worksheet select:focus-visible,.cost-page .scope-worksheet summary:focus-visible,.cost-page .scope-worksheet textarea:focus-visible { outline:3px solid #397963; outline-offset:4px; }
.cost-page .scope-worksheet [hidden] { display:none!important; }
.cost-page .scope-worksheet .sw-intro { display:grid; grid-template-columns:.85fr 1.15fr; align-items:start; gap:9%; padding:32px 34px; background:#eaf0e3; }
#main .cost-page .scope-worksheet .sw-intro h3 { font-size:34px; line-height:1.17; margin-top:14px; }
#main .cost-page .scope-worksheet .sw-intro>div>p:not(.eyebrow) { font-size:16px; line-height:1.85; max-width:58ch; }
#main .cost-page .scope-worksheet .sw-intro strong { font-weight:600; color:#264c36; }
#main .cost-page .scope-worksheet .sw-intro .sw-session-note { font-size:13px; line-height:1.8; margin-top:15px; color:#526646; }
.cost-page .scope-worksheet .sw-status-guide { margin-inline:34px; border-bottom:1px solid var(--sw-rule); }
.cost-page .scope-worksheet .sw-status-guide>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:62px; padding-block:14px; list-style:none; cursor:pointer; color:var(--sw-green); font-size:14px; line-height:1.7; font-weight:600; }
.cost-page .scope-worksheet .sw-status-guide>summary::-webkit-details-marker { display:none; }
.cost-page .scope-worksheet .sw-status-guide>summary>span:last-child { font-size:24px; font-weight:400; transition:transform .15s; }
.cost-page .scope-worksheet .sw-status-guide[open]>summary>span:last-child { transform:rotate(45deg); }
.cost-page .scope-worksheet .sw-status-guide dl { margin:0 0 24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 35px; }
.cost-page .scope-worksheet .sw-status-guide dl>div { padding-top:17px; border-top:1px solid #d8dfd0; }
.cost-page .scope-worksheet .sw-status-guide dt { font-size:14px; line-height:1.7; font-weight:600; color:#3c5c40; }
.cost-page .scope-worksheet .sw-status-guide dd { margin:7px 0 0; font-size:13px; line-height:1.85; color:#53654d; }
.cost-page .scope-worksheet .sw-progress { display:flex; justify-content:space-between; align-items:center; gap:15px 28px; padding:23px 34px; }
#main .cost-page .scope-worksheet #scope-status { font-size:14px; line-height:1.8; font-weight:600; color:var(--sw-green); margin:0; }
.cost-page .scope-worksheet .sw-notes-jump { display:flex; align-items:center; justify-content:space-between; gap:17px; font-size:13px; line-height:1.7; font-weight:600; text-decoration:underline; text-underline-offset:5px; color:var(--sw-green); min-height:44px; flex-shrink:0; }
.cost-page .scope-worksheet .sw-notes-jump>span { font-size:21px; }
#main .cost-page .scope-worksheet .sw-fallback { margin:0 34px 25px; padding:18px 21px; border:1px solid #d5c9aa; background:#f5f0e2; font-size:14px; line-height:1.85; color:#66522f; }
.cost-page .scope-worksheet .sw-rows { padding-inline:34px; }
.cost-page .scope-worksheet .sw-topic { min-width:0; border:0; border-top:1px solid var(--sw-rule); padding:25px 0 26px; margin:0; display:grid; grid-template-columns:1fr 1.1fr; gap:8px 7%; }
.cost-page .scope-worksheet .sw-topic>legend { float:left; width:100%; max-width:100%; padding:0; color:#294f39; font-size:20px; line-height:1.4; font-weight:500; }
.cost-page .scope-worksheet .sw-topic>legend+.sw-topic-question { clear:left; }
#main .cost-page .scope-worksheet .sw-topic-question { grid-column:1; font-size:13px; line-height:1.85; color:#596a51; margin:4px 0 0; }
.cost-page .scope-worksheet .sw-controls { grid-column:2; grid-row:1/3; display:grid; grid-template-columns:1fr 1fr; gap:17px; align-items:start; min-width:0; }
.cost-page .scope-worksheet .sw-control { min-width:0; }
.cost-page .scope-worksheet .sw-control>label { display:block; font-size:11px; line-height:1.8; color:#536846; margin-bottom:9px; }
.cost-page .scope-worksheet .sw-control>select { display:block; width:100%; max-width:100%; min-height:51px; padding:11px 29px 11px 12px; color:#244832; background:white; border:1px solid #97aa8d; border-radius:0; font:15px/1.7 var(--sans,Arial,sans-serif); cursor:pointer; }
.cost-page .scope-worksheet .sw-control>select:disabled { color:#5b6952; background:#f0f2e9; opacity:1; cursor:default; }
.cost-page .scope-worksheet .sw-review-actions { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 34px 28px; padding-top:23px; border-top:1px solid var(--sw-rule); }
.cost-page .scope-worksheet .sw-reset { display:inline-flex; align-items:center; justify-content:space-between; gap:23px; min-height:46px; padding:10px 15px; border:1px solid #a8b89b; border-radius:0; background:#f0f3ea; font-size:13px; line-height:1.7; font-weight:600; color:#36573b; flex-shrink:0; }
.cost-page .scope-worksheet .sw-reset>span { font-size:22px; font-weight:400; }
.cost-page .scope-worksheet .sw-reset:hover:enabled { background:#e1e9d8; }
.cost-page .scope-worksheet .sw-reset:disabled { cursor:default; opacity:.6; }
#main .cost-page .scope-worksheet .sw-review-actions>p { font-size:12px; line-height:1.85; max-width:59ch; margin:0; color:#5b6c51; }
.cost-page .scope-worksheet .sw-output { padding:30px 34px; border-top:1px solid #b6c8aa; background:#eef3e5; scroll-margin-top:20px; }
.cost-page .scope-worksheet .sw-output:focus { outline:3px solid #54825b; outline-offset:3px; }
.cost-page .scope-worksheet .sw-output-heading { display:flex; justify-content:space-between; align-items:center; gap:25px; }
#main .cost-page .scope-worksheet .sw-output h4 { margin:10px 0 0; font:400 30px/1.25 var(--display,Georgia,serif); color:#274b35; letter-spacing:-.015em; }
.cost-page .scope-worksheet .sw-output-heading .eyebrow { font-size:10px; color:#6c5a35; }
.cost-page .scope-worksheet #scope-copy { font-size:14px; padding:14px 19px; min-height:51px; gap:25px; background:var(--sw-green); border-color:var(--sw-green); color:white; flex-shrink:0; }
.cost-page .scope-worksheet #scope-copy:hover:enabled { background:#214935; border-color:#214935; }
.cost-page .scope-worksheet #scope-copy:disabled { opacity:.65; cursor:default; }
#main .cost-page .scope-worksheet .sw-output-note { margin-top:22px; font-size:13px; line-height:1.85; color:#59684b; max-width:94ch; }
.cost-page .scope-worksheet .sw-notes-label { display:block; margin-top:23px; margin-bottom:9px; font-size:12px; line-height:1.8; font-weight:600; color:#425f3d; }
.cost-page .scope-worksheet #scope-notes { width:100%; max-width:100%; min-height:250px; height:330px; resize:vertical; border:1px solid #9fb291; border-radius:0; background:#fff; color:#2a4433; padding:18px; font:14px/1.8 var(--sans,Arial,sans-serif); }
#main .cost-page .scope-worksheet .sw-copy-status { margin-top:13px; min-height:24px; color:#315639; font-size:13px; line-height:1.8; }
.cost-page .scope-worksheet .sw-next-step { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:25px 34px; border-top:1px solid var(--sw-rule); background:#f4f0e5; }
.cost-page .scope-worksheet .sw-next-step strong { font-size:15px; line-height:1.7; font-weight:600; color:#5b4b2b; }
#main .cost-page .scope-worksheet .sw-next-step p { margin-top:8px; font-size:13px; line-height:1.85; max-width:66ch; color:#6b5c3b; }
.cost-page .scope-worksheet .sw-next-step .text-link { flex-shrink:0; font-size:13px; gap:22px; color:#315d45; }
@media(max-width:1000px) {
  .cost-page .scope-worksheet .sw-intro { gap:6%; padding-inline:28px; }
  .cost-page .scope-worksheet .sw-status-guide { margin-inline:28px; }
  .cost-page .scope-worksheet .sw-progress,.cost-page .scope-worksheet .sw-output,.cost-page .scope-worksheet .sw-next-step { padding-inline:28px; }
  .cost-page .scope-worksheet .sw-rows { padding-inline:28px; }
  .cost-page .scope-worksheet .sw-review-actions { margin-inline:28px; }
  .cost-page .scope-worksheet .sw-topic { gap:8px 5%; grid-template-columns:.9fr 1.1fr; }
  .cost-page .scope-worksheet .sw-controls { gap:12px; }
  .cost-page .scope-worksheet .sw-next-step { align-items:start; flex-direction:column; gap:15px; }
}
@media(max-width:800px) {
  .cost-page .scope-worksheet .sw-intro { grid-template-columns:1fr; gap:17px; }
  .cost-page .scope-worksheet .sw-topic { display:block; padding-block:23px; }
  .cost-page .scope-worksheet .sw-topic>legend { float:none; width:auto; }
  #main .cost-page .scope-worksheet .sw-topic-question { margin-top:12px; max-width:65ch; }
  .cost-page .scope-worksheet .sw-controls { margin-top:19px; }
  .cost-page .scope-worksheet .sw-review-actions { align-items:start; flex-direction:column; gap:15px; }
}
@media(max-width:550px) {
  .cost-page .scope-worksheet .sw-intro { padding:23px 22px; gap:15px; }
  #main .cost-page .scope-worksheet .sw-intro h3 { font-size:29px; line-height:1.2; margin-top:11px; }
  #main .cost-page .scope-worksheet .sw-intro>div>p:not(.eyebrow) { font-size:15px; }
  #main .cost-page .scope-worksheet .sw-intro .sw-session-note { margin-top:11px; }
  .cost-page .scope-worksheet .sw-status-guide { margin-inline:22px; }
  .cost-page .scope-worksheet .sw-status-guide>summary { font-size:13px; }
  .cost-page .scope-worksheet .sw-status-guide dl { grid-template-columns:1fr; gap:16px; }
  .cost-page .scope-worksheet .sw-progress { align-items:start; flex-direction:column; gap:4px; padding:22px; }
  .cost-page .scope-worksheet .sw-rows { padding-inline:22px; }
  .cost-page .scope-worksheet .sw-topic>legend { font-size:20px; }
  .cost-page .scope-worksheet .sw-controls { grid-template-columns:1fr; gap:16px; }
  .cost-page .scope-worksheet .sw-control>label { font-size:12px; }
  .cost-page .scope-worksheet .sw-control>select { font-size:16px; padding-left:12px; }
  .cost-page .scope-worksheet .sw-review-actions { margin-inline:22px; }
  .cost-page .scope-worksheet .sw-output { padding:25px 22px; }
  .cost-page .scope-worksheet .sw-output-heading { align-items:start; flex-direction:column; gap:19px; }
  #main .cost-page .scope-worksheet .sw-output h4 { font-size:28px; }
  .cost-page .scope-worksheet #scope-copy { font-size:13px; padding-inline:17px; }
  .cost-page .scope-worksheet #scope-notes { padding:14px; font-size:14px; }
  .cost-page .scope-worksheet .sw-next-step { padding:24px 22px; }
  #main .cost-page .scope-worksheet .sw-fallback { margin-inline:22px; padding:17px; }
}
@media(prefers-reduced-motion:reduce) { .cost-page .scope-worksheet .sw-status-guide>summary>span:last-child { transition:none; } }
@media print {
  .cost-page .scope-worksheet { border:0; }
  .cost-page .scope-worksheet .sw-intro { display:block; padding:0; background:white; }
  .cost-page .scope-worksheet .sw-status-guide,.cost-page .scope-worksheet .sw-progress,.cost-page .scope-worksheet .sw-review-actions,.cost-page .scope-worksheet .sw-next-step,.cost-page .scope-worksheet #scope-copy,.cost-page .scope-worksheet .sw-copy-status { display:none; }
  .cost-page .scope-worksheet .sw-rows { padding:0; }
  .cost-page .scope-worksheet .sw-topic { break-inside:avoid; }
  .cost-page .scope-worksheet .sw-output { background:white; padding:15pt 0; }
}

/* Renovation decisions: the right conversation and useful evidence. */
.page-renovations .renovation-studio .rc-paths { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; background:#fcfdf8; border:1px solid #cbd5c5; }
.page-renovations .renovation-studio .rc-paths > article { display:flex; flex-direction:column; align-items:start; min-width:0; padding:27px 25px 25px; border-left:1px solid #cbd5c5; }
.page-renovations .renovation-studio .rc-paths > article:first-child { border-left:0; }
.page-renovations .renovation-studio .rc-path-label { display:block; font-size:11px; line-height:1.7; letter-spacing:.07em; text-transform:uppercase; font-weight:600; color:#536c4c; }
.page-renovations #main .renovation-studio .rc-paths h3 { font-size:29px; line-height:1.22; letter-spacing:-.025em; margin-top:17px; }
.page-renovations #main .renovation-studio .rc-paths > article > p { font-size:15px; line-height:1.8; color:#53644e; margin-top:16px; }
.page-renovations .renovation-studio .rc-paths dl { width:100%; border-top:1px solid #d5ddce; padding-top:16px; margin:22px 0 19px; }
.page-renovations .renovation-studio .rc-paths dt { font-size:12px; line-height:1.7; font-weight:600; color:#425c45; }
.page-renovations .renovation-studio .rc-paths dd { font-size:14px; line-height:1.8; color:#53644e; margin:7px 0 0; }
.page-renovations .renovation-studio .rc-paths .text-link { font-size:13px; line-height:1.7; gap:17px; min-height:44px; margin-top:auto; max-width:100%; }
.page-renovations .renovation-studio .rc-paths .text-link > span { flex-shrink:0; }
.page-renovations #main .renovation-studio .rc-path-note { font-size:13px; line-height:1.8; margin-top:20px; max-width:97ch; color:#566751; }
.page-renovations .renovation-studio .rc-scope-questions { padding:15px 0 0 18px; margin:0; border-top:1px solid #cbd4c4; color:#4b614a; }
.page-renovations .renovation-studio .rc-scope-questions li { font-size:14px; line-height:1.8; padding-left:3px; }
.page-renovations .renovation-studio .rc-scope-questions li + li { margin-top:9px; }
.page-renovations .renovation-studio .rc-scope-link { font-size:13px; line-height:1.7; min-height:44px; gap:18px; margin-block:14px 21px; max-width:100%; }
.page-renovations .renovation-studio .rc-scope-link > span { flex-shrink:0; }
@media(max-width:1200px) {
  .page-renovations .renovation-studio .rc-paths { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-renovations .renovation-studio .rc-paths > article { padding:27px 28px; }
  .page-renovations .renovation-studio .rc-paths > article:nth-child(3) { border-left:0; }
  .page-renovations .renovation-studio .rc-paths > article:nth-child(n+3) { border-top:1px solid #cbd5c5; }
  .page-renovations #main .renovation-studio .rc-paths > article > p { max-width:48ch; }
}
@media(max-width:650px) {
  .page-renovations .renovation-studio .rc-paths { grid-template-columns:1fr; }
  .page-renovations .renovation-studio .rc-paths > article { padding:26px 23px; border-left:0; }
  .page-renovations .renovation-studio .rc-paths > article + article { border-top:1px solid #cbd5c5; }
  .page-renovations #main .renovation-studio .rc-paths h3 { font-size:29px; margin-top:14px; }
  .page-renovations #main .renovation-studio .rc-paths > article > p { margin-top:14px; }
  .page-renovations .renovation-studio .rc-paths dl { margin-block:18px 15px; padding-top:14px; }
  .page-renovations .renovation-studio .rc-paths dd { font-size:14px; }
  .page-renovations .renovation-studio .rc-paths .text-link { font-size:13px; }
  .page-renovations #main .renovation-studio .rc-path-note { font-size:13px; margin-top:17px; }
  .page-renovations .renovation-studio .rc-scope-questions { font-size:14px; }
}
@media print {
  .page-renovations .renovation-studio .rs-path-section { display:block; }
  .page-renovations .renovation-studio .rc-paths { display:block; }
  .page-renovations .renovation-studio .rc-paths > article { border:0; border-top:1px solid #bbb; margin-top:14pt; padding:14pt 0; break-inside:avoid; }
  .page-renovations .renovation-studio .rc-scope-questions { display:block; }
}

@media(max-width:700px){.page-renovations #main .renovation-studio .rs-hero h1>em{display:block}}
