@font-face{font-family:FieldSans;src:url('fonts/manrope.woff2') format('woff2');font-weight:400 800;font-display:swap}@font-face{font-family:FieldSerif;src:url('fonts/cormorant-italic.woff2') format('woff2');font-weight:400 700;font-style:italic;font-display:swap}:root{--ink:#282d29;--muted:#697066;--paper:#f8f6f0;--white:#fffefa;--clay:#a85334;--sand:#e7dfcf;--olive:#646a4e;--line:#d9dccf;--gutter:clamp(20px,4.5vw,72px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.8 FieldSans,Arial,sans-serif}a{color:inherit;text-decoration:none}img{width:100%;display:block;object-fit:cover}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.055em;font-weight:500;overflow-wrap:anywhere}h1{font-size:clamp(44px,5.5vw,84px);margin-bottom:24px}h2{font-size:clamp(34px,3.8vw,56px);margin-bottom:22px}h3{font-size:26px;line-height:1.3;letter-spacing:-.035em}em{font-family:FieldSerif,Georgia,serif;font-weight:500;font-size:1.12em;line-height:.95;letter-spacing:-.045em}p{color:var(--muted);margin-bottom:22px}.lead{font-size:20px;line-height:1.65}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:750;line-height:1.65;text-transform:uppercase;margin-bottom:20px}.fine{font-size:12px;color:var(--muted)}.wrap{width:calc(100% - var(--gutter)*2);max-width:1440px;margin-left:auto;margin-right:auto}.section{padding-top:82px;padding-bottom:82px}.compact{padding-top:15px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:38px}.section-heading>div:first-child{flex:1;min-width:0}.section-heading>div:last-child:not(:first-child){max-width:380px}.section-heading h2{margin-bottom:0}.section-heading p:not(.eyebrow){font-size:15px}.button{background:var(--clay);color:white;display:inline-flex;align-items:center;justify-content:center;gap:35px;min-height:48px;padding:14px 23px;border:1px solid transparent;font-size:13px;font-weight:650;border-radius:2px;transition:background .2s,transform .2s}.button:hover{background:#813e27;transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--ink)}.button.outline{background:transparent;color:var(--ink);border-color:var(--line)}.button.small{padding:11px 18px;font-size:12px}.button-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid currentColor;padding:7px 0;font-size:13px;font-weight:650}.text-link:hover{color:var(--clay)}.text-button{border:0;border-bottom:1px solid currentColor;background:none;padding:5px 0;font-size:13px}.skip{position:fixed;top:-80px;left:12px;padding:10px 18px;background:white;z-index:200}.skip:focus{top:12px}:focus-visible{outline:3px solid #bc754d;outline-offset:4px}.topline{display:flex;justify-content:space-between;padding:7px var(--gutter);background:var(--ink);color:#eeeade;font-size:10px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px var(--gutter);position:sticky;top:0;background:#f8f6f0f5;backdrop-filter:blur(16px);z-index:40;border-bottom:1px solid #d9dccf90}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:var(--ink)}.brand img{width:45px;height:45px;object-fit:contain}.brand>span{font-size:22px;letter-spacing:-1px;font-weight:750;line-height:1.15;white-space:nowrap}.brand i{font-family:FieldSerif,serif;font-weight:500;font-size:24px}.brand small{display:block;font-size:8px;letter-spacing:3.8px;margin-top:7px;font-weight:500}.desktop-nav{display:flex;gap:25px;font-size:12px;font-weight:500}.desktop-nav a:hover{color:var(--clay)}.header-actions{display:flex;align-items:center;gap:14px}.menu-toggle{display:none;background:none;border:0;font-size:13px}.mobile-nav{position:fixed;left:0;right:0;top:100px;background:var(--paper);padding:20px var(--gutter);z-index:39;border-bottom:1px solid var(--line);box-shadow:0 20px 25px #282d2910}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.hero-heading{display:grid;grid-template-columns:1.8fr 1fr;gap:50px;align-items:end;padding-top:42px;padding-bottom:35px}.hero-heading h1{font-size:clamp(44px,4.9vw,74px);line-height:1.08;margin:0}.hero-heading h1 em{color:#747558}.hero-heading .eyebrow{color:#8a5f46;margin-bottom:20px}.tiny-square{display:inline-block;width:6px;height:6px;background:var(--clay);margin-right:7px}.hero-intro{padding-bottom:5px}.hero-intro p{font-size:15px;line-height:1.85;margin-bottom:22px}.hero-photo{position:relative;height:560px;overflow:hidden}.hero-photo>img{height:100%;object-position:center 56%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#171b174a,transparent 65%);pointer-events:none}.hero-photo-label{position:absolute;top:33px;left:35px;color:white;z-index:1}.hero-photo-label>span{font-size:9px;letter-spacing:.14em}.hero-photo-label p{font-size:30px;font-weight:500;color:white;line-height:1.2;margin-top:15px;text-shadow:0 1px 15px #0003}.photo-cta{position:absolute;right:25px;bottom:25px;background:#f8f6f0f2;padding:18px 23px;z-index:2}.photo-cta span{font-size:9px;letter-spacing:.1em;display:block;color:var(--muted)}.photo-cta strong{font-size:14px;font-weight:500;display:block;margin-top:6px}.photo-credit{position:absolute;left:25px;bottom:19px;font-size:9px;z-index:2;color:white}.principle-strip{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:25px 0;gap:20px;font-size:9px;letter-spacing:.1em;color:#6d725f}.service-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.service-tile{position:relative;background:var(--sand);overflow:hidden}.service-tile>img{height:300px;transition:transform .7s}.service-tile:hover>img{transform:scale(1.04)}.service-tile>div{padding:24px;position:relative}.service-tile .eyebrow{font-size:9px;margin-bottom:11px;color:#7b664f}.service-tile h3{font-size:26px;margin-bottom:10px;padding-right:20px}.service-tile p{font-size:13px;margin:0}.service-tile:nth-child(2){background:#dedfce}.service-tile:nth-child(3){background:#e5d5c8}.tile-arrow{position:absolute;right:22px;top:50px;font-size:22px}.service-links{display:flex;justify-content:space-between;gap:25px;padding:22px 0 0}.service-links .text-link{flex:1;font-size:13px;border-bottom-color:var(--line)}.story-section{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-bottom:85px}.story-image{position:relative;min-height:510px;align-self:stretch}.story-image img{position:absolute;inset:0;height:100%;object-position:45%}.image-note{position:absolute;bottom:0;left:0;background:var(--clay);color:white;font-size:9px;letter-spacing:.12em;padding:17px 22px}.story-copy>p:not(.lead):not(.eyebrow){font-size:15px}.story-copy .eyebrow{color:#8a6649}.story-copy h2{font-size:48px}.mini-values{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);gap:25px;margin:28px 0;padding-top:24px}.mini-values b{font-size:14px;font-weight:650;display:block;margin-bottom:8px}.mini-values span{display:block;font-size:13px;line-height:1.8;color:var(--muted)}.project-section{background:#e7e6da;padding:75px 0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 25px}.project-image{display:block;position:relative;overflow:hidden}.project-image img{height:380px;transition:transform .7s}.project-card:hover .project-image img{transform:scale(1.035)}.image-arrow{position:absolute;right:16px;bottom:16px;width:40px;height:40px;display:grid;place-items:center;background:var(--paper);border-radius:50%}.project-meta{display:flex;align-items:center;justify-content:space-between;padding-top:19px;gap:18px}.project-meta .eyebrow{font-size:9px;margin-bottom:8px}.project-meta h3{font-size:28px;margin:0}.save-project{border:1px solid #aeb4a3;background:transparent;width:37px;height:37px;border-radius:50%;flex-shrink:0;font-size:20px;display:grid;place-items:center;padding:0}.save-project[aria-pressed=true]{background:var(--clay);color:white;border-color:var(--clay)}.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px}.process-steps article{border-top:1px solid var(--line);padding-top:24px}.process-steps article>span{font-size:38px;font-family:FieldSerif,serif;font-style:italic;color:#9b7f61;line-height:1;display:block;margin-bottom:25px}.process-steps h3{font-size:22px}.process-steps p{font-size:14px;margin:0}.budget-banner{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;background:#6a6c50;padding:50px 55px;color:#faf7ed}.budget-banner p{color:#e4e3d6;font-size:15px;max-width:520px}.budget-banner .eyebrow{color:#e9d9b4;font-size:9px}.budget-graphic{border:1px solid #cbd0b969;align-self:center;padding:27px}.budget-graphic>span{font-size:9px;letter-spacing:.12em;color:#dddac4}.budget-graphic>div{padding:18px 0;border-bottom:1px solid #cbd0b940;font-size:11px;letter-spacing:.06em}.budget-graphic>div:last-child{border:0;padding-bottom:0}.budget-graphic b{font-size:15px;font-weight:400;margin-right:30px;color:#e8cfaa}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.journal-card img{height:235px}.journal-card .eyebrow{margin-top:22px;font-size:9px}.journal-card h3{font-size:25px}.journal-card .text-link{font-size:12px}.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;padding-bottom:80px}.accordions{min-width:0}.accordions details{border-bottom:1px solid var(--line)}.accordions summary{display:flex;justify-content:space-between;gap:15px;list-style:none;cursor:pointer;padding:21px 0;font-size:15px;font-weight:550;line-height:1.5}.accordions summary::-webkit-details-marker{display:none}.accordions details p{font-size:14px;line-height:1.85;padding-right:15px}.accordions details[open] summary span{transform:rotate(45deg)}.cta{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding:48px 55px;margin-bottom:70px}.cta .eyebrow{color:#d0ad8a}.cta h2{margin-bottom:0}.cta em{color:#d0ba95}.cta p{max-width:340px;color:#c6cabc;font-size:15px}.cta>div:last-child{justify-self:end}.newsletter{padding:50px var(--gutter);background:#e8dfd2;display:grid;grid-template-columns:1fr 1fr;gap:70px}.newsletter h2{font-size:40px}.newsletter p{font-size:14px;max-width:380px}.newsletter form{align-self:center}.newsletter .check-label{font-size:11px}.inline-input{display:flex;gap:10px;align-items:stretch}.inline-input input{flex:1;min-width:0;margin:0}.site-footer{background:#262e27;padding:55px var(--gutter) 25px;color:#e3e7db}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:45px}.site-footer .brand{color:#f1eee5}.site-footer .brand img{background:#f1eee5;padding:5px;border-radius:2px}.footer-grid h3{font-size:13px;letter-spacing:.01em;margin-bottom:24px;color:#d3b38d}.footer-grid>div>a:not(.brand){display:block;font-size:12px;margin-bottom:9px;color:#c0c9b7}.footer-grid p{color:#c3ccb8}.footer-grid>div:first-child>p:not(.hours){font-size:28px;font-family:FieldSerif,serif;font-style:italic;line-height:1.2;margin-top:25px}.footer-grid .hours{font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #a4b29833;margin-top:45px;padding-top:22px;font-size:11px;color:#b9c4ad}.footer-bottom>div{display:flex;gap:22px;flex-wrap:wrap}.footer-bottom button{font-size:11px}
.page-intro{padding-top:48px;padding-bottom:35px;border-bottom:1px solid var(--line);margin-bottom:40px}.page-intro h1{font-size:clamp(40px,5vw,72px);max-width:1050px}.page-intro>.lead{max-width:760px;font-size:18px;margin-bottom:15px}.page-intro .eyebrow{color:#976748}.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:40px;padding-bottom:60px}.detail-hero>img{height:510px}.detail-hero h1{font-size:clamp(40px,4.6vw,68px)}.detail-hero .eyebrow{margin-top:28px;color:#976748}.detail-hero .lead{font-size:18px}.detail-hero .text-link{font-size:12px}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.info-card{padding:29px;background:#e6e5d7;border-top:2px solid #91957a}.info-card:nth-child(3n+2){background:#eaded2;border-color:#ba8c6c}.info-card:nth-child(3n+3){background:#e0e6e2;border-color:#7d9388}.info-card p{font-size:14px;margin:0}.info-card h3{font-size:24px}.info-card .eyebrow{color:#8f7155}.reading-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.reading-split p{font-size:16px}.note{padding:24px;background:#e7ddcc;border-left:3px solid #b1875e;margin:25px 0}.note h3{font-size:22px}.note p{font-size:14px;margin-bottom:0}.related-links{display:flex;flex-wrap:wrap;gap:20px}.wide-image img{height:520px}.wide-image .fine{margin-top:10px}.project-intro{display:flex;gap:60px;align-items:end;justify-content:space-between;padding-top:45px;padding-bottom:32px}.project-intro h1{margin:0}.project-intro>p{max-width:370px;font-size:15px}.project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);margin-top:24px}.project-facts>div{padding:22px;border-right:1px solid var(--line)}.project-facts>div:last-child{border:0}.project-facts span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#888b79}.project-facts strong{font-size:14px;font-weight:550}.filter-bar{display:flex;align-items:end;gap:18px;padding:20px;background:#e9e6d9;margin-bottom:28px;flex-wrap:wrap}.filter-bar>div{flex:1;min-width:180px}.filter-bar input,.filter-bar select{margin:0}.filter-count{font-size:12px}.empty-state{padding:35px;background:#ece8dc}.article-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:60px}.article-layout aside{font-size:13px;border-top:1px solid var(--line);padding-top:20px}.article-body{max-width:820px}.article-body h2{font-size:34px;margin-top:42px}.article-body p{font-size:16px}.article-body h2:first-child{margin-top:0}.article-body ul{color:var(--muted);padding-left:20px}.article-body li{margin-bottom:12px}.process-row{display:grid;grid-template-columns:70px .8fr 1.2fr;gap:35px;border-top:1px solid var(--line);padding:35px 0}.process-row>span{font-size:40px;color:#9b7f61;font-family:FieldSerif,serif;font-style:italic}.process-row h3{font-size:30px}.process-row p{font-size:15px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.contact-grid aside{padding:30px;background:#e6e4d5;align-self:start}.contact-grid aside h2{font-size:37px}.contact-details a{display:block;margin:10px 0;font-size:14px}.contact-details p{font-size:14px}.form-card{background:var(--white);border:1px solid var(--line);padding:30px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}input,select,textarea{width:100%;min-width:0;padding:13px 14px;border:1px solid #cdd1c4;border-radius:2px;background:#fffefa;font-size:14px;margin-bottom:19px;line-height:1.5}textarea{resize:vertical}.check-label{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;line-height:1.7;margin:14px 0 20px}.check-label input{width:17px;height:17px;flex-shrink:0;margin:4px 0 0;padding:0;accent-color:var(--clay)}.form-status{font-size:13px;margin:18px 0 0}.form-status.error,.error{color:#9c3129}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.toast{position:fixed;right:20px;bottom:20px;z-index:100;background:var(--ink);color:white;padding:14px 20px;max-width:calc(100vw - 40px);font-size:13px}.cookie-panel{position:fixed;bottom:20px;left:20px;padding:24px;background:var(--white);border:1px solid var(--line);box-shadow:0 8px 40px #282d2925;z-index:90;max-width:470px}.cookie-panel h2{font-size:28px}.cookie-panel p{font-size:13px}.cookie-panel .eyebrow{font-size:10px}.cookie-panel .button{padding:10px 14px;font-size:11px;min-height:42px}.cookie-panel>a{font-size:12px;display:inline-block;margin-top:15px}.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.js-motion .reveal.visible{opacity:1;transform:none}
.quote-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:35px;align-items:start}.quote-aside{background:var(--sand);padding:30px;position:sticky;top:130px}.quote-aside h2{font-size:31px}.quote-aside p{font-size:14px}.quote-aside img{height:200px;margin-top:25px}.wizard-progress{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:0 0 20px;list-style:none;margin:0 0 25px}.wizard-progress li{font-size:12px;color:#878b7c}.wizard-progress li.active{color:var(--clay);font-weight:750}fieldset{border:0;margin:0;padding:0;min-width:0}legend{font-size:28px;font-weight:500;letter-spacing:-.045em;margin-bottom:15px;line-height:1.2}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 25px}.choice-grid label{border:1px solid var(--line);padding:17px;display:flex;gap:10px;align-items:center;cursor:pointer;font-size:13px;background:#f6f5ec;min-width:0}.choice-grid label:has(input:checked){border-color:var(--clay);background:#eee0d2}.choice-grid input{width:16px;height:16px;margin:0;accent-color:var(--clay);flex-shrink:0}.wizard-actions{display:flex;justify-content:space-between;gap:20px;margin-top:20px;border-top:1px solid var(--line);padding-top:23px}.wizard-actions>.button:only-child{margin-left:auto}.review-list{margin:20px 0}.review-list>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.review-list dt{color:var(--muted)}.review-list dd{margin:0;overflow-wrap:anywhere}.planner{display:grid;grid-template-columns:1fr .85fr;gap:45px}.planner-result{background:#646a4e;color:#fff8e9;padding:35px;align-self:start;position:sticky;top:130px}.planner-result p{color:#e0e3d5}.planner-result strong{font-size:45px;line-height:1.2;font-weight:500;letter-spacing:-.05em;display:block;margin:15px 0 24px}.planner-result .fine{font-size:12px}.planner-row{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #dde4cb40;padding:13px 0;font-size:13px}.planner-result .button{margin-top:20px}.booking-heading{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:35px;padding-bottom:25px}.booking-heading h1{font-size:43px;margin-bottom:10px}.booking-heading p:not(.eyebrow){font-size:15px;margin:0}.booking-help{font-size:13px}.booking-help span,.booking-help strong{display:block}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:25px;align-items:start;padding-top:10px;padding-bottom:40px}.booking-main{border:1px solid var(--line);background:var(--white)}.booking-progress{display:flex;list-style:none;gap:32px;padding:20px 27px;background:#eeece1;margin:0;border-bottom:1px solid var(--line)}.booking-progress li{font-size:12px;color:var(--muted)}.booking-progress li.active{color:var(--clay);font-weight:750}.booking-progress li span{margin-left:5px}.booking-main form{padding:28px}.booking-main fieldset>p{font-size:14px}.appointment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.appointment-option{border:1px solid var(--line);background:#f6f4eb;text-align:left;padding:18px 15px}.appointment-option[aria-pressed=true]{border-color:var(--clay);box-shadow:inset 0 0 0 1px var(--clay);background:#eee0d2}.appointment-option>span{display:block;font-size:14px;line-height:1.5;font-weight:650;min-height:45px}.appointment-option>small{display:block;font-size:11px;margin-top:12px;color:var(--muted)}.all-services{font-size:12px;margin:15px 0 22px}.all-services summary{cursor:pointer;text-decoration:underline}.booking-main .note{font-size:13px;margin-top:0;margin-bottom:23px}.booking-aside{position:sticky;top:130px;background:#e8e5d8;border:1px solid var(--line)}.booking-summary-photo{position:relative}.booking-summary-photo img{height:170px}.booking-summary-photo span{position:absolute;bottom:15px;left:16px;background:var(--paper);font-size:9px;letter-spacing:.1em;padding:5px 10px}.booking-summary-content{padding:25px}.booking-summary-content>.eyebrow{font-size:9px}.booking-aside #booking-review p{font-size:13px;margin-bottom:10px}.booking-aside #booking-review strong{font-size:22px;line-height:1.3;display:block;color:var(--ink);letter-spacing:-.03em}.summary-assurance{border-top:1px solid #ced2c3;border-bottom:1px solid #ced2c3;padding:18px 0;margin:20px 0}.summary-assurance strong{font-size:13px}.summary-assurance p{font-size:12px;margin:7px 0 0}.summary-status{font-size:12px;color:var(--muted)}.booking-summary-content>.fine{font-size:11px;margin-top:15px}.booking-summary-content .text-link{font-size:11px}.schedule-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px;margin:25px 0}.calendar-panel,.available-times-panel{min-width:0}.calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.calendar-navigation h3{font-size:19px;margin:0}.calendar-navigation button{width:34px;height:34px;border:1px solid var(--line);background:transparent}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-weekdays{font-size:11px;color:var(--muted);margin-bottom:10px}.calendar-days button{height:40px;padding:0;border:0;background:transparent;font-size:13px}.calendar-days button:disabled{background:#f1f1e9;color:#b6bbaa;opacity:1}.calendar-days button.selected{background:var(--clay);color:white}.calendar-key{font-size:10px;margin:15px 0 22px;color:var(--muted)}.calendar-key span,.calendar-key i{display:inline-block;width:7px;height:7px;background:var(--clay);margin-right:5px}.calendar-key i{background:#dce0d1;margin-left:10px}.calendar-panel>label{font-size:11px}.calendar-panel>input{font-size:12px;padding:10px}.available-times-panel{border-left:1px solid var(--line);padding-left:22px}.available-times-panel h3{font-size:19px}.available-times-panel .eyebrow{font-size:9px}.available-times-panel #availability-status{font-size:12px;min-height:40px}.time-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:275px;overflow:auto;padding-right:4px;margin-bottom:20px}.time-slots button{font-size:13px;border:1px solid var(--line);background:#fffefa;min-height:40px;padding:7px}.time-slots button.selected{background:var(--olive);color:white;border-color:var(--olive)}.booking-main .button-row{margin-top:23px;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px}.booking-main .fine{font-size:12px}.booking-main #booking-success{padding:30px;background:#e4e6d6}.manage-card{max-width:800px;margin:0 auto}.admin-wrap{max-width:1250px;margin:auto;padding:40px 25px}.admin-login{max-width:500px;margin:auto}.admin-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.admin-record{background:var(--white);padding:25px;border:1px solid var(--line);margin:18px 0}.admin-record h3{font-size:21px}.admin-record p{font-size:14px;overflow-wrap:anywhere}.admin-record .eyebrow{font-size:10px}body[data-page=admin] .newsletter,body[data-page=booking] .newsletter,body[data-page=quote] .newsletter{display:none}
@media(max-width:1150px){.desktop-nav{gap:15px;font-size:11px}.brand>span{font-size:19px}.brand img{width:38px;height:38px}.header-actions .button{gap:16px}.hero-heading{grid-template-columns:1.4fr 1fr;gap:35px}.hero-heading h1{font-size:58px}.story-section{gap:45px}.story-copy h2{font-size:40px}.footer-grid{gap:28px}.schedule-grid{grid-template-columns:minmax(0,1fr)}.available-times-panel{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.time-slots{grid-template-columns:repeat(4,minmax(0,1fr));max-height:160px}.appointment-options{grid-template-columns:minmax(0,1fr)}.appointment-option>span{min-height:0}.booking-layout{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:950px){.desktop-nav{display:none}.menu-toggle{display:block}.hero-heading h1{font-size:52px}.hero-photo{height:440px}.hero-photo-label p{font-size:25px}.section{padding-top:60px;padding-bottom:60px}.section-heading{gap:30px}.service-tile>img{height:245px}.service-tile>div{padding:20px}.service-tile h3{font-size:23px}.story-section{gap:30px}.story-copy h2{font-size:35px}.story-image{min-height:490px}.project-image img{height:290px}.process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.budget-banner{padding:35px;gap:30px}.budget-graphic{padding:20px}.journal-card img{height:185px}.journal-card h3{font-size:23px}.faq-section{gap:35px}.cta{padding:35px;gap:35px}.newsletter{gap:35px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.detail-hero{gap:35px}.detail-hero>img{height:420px}.reading-split{gap:35px}.info-card{padding:22px}.info-card h3{font-size:22px}.quote-layout,.planner{gap:25px}.contact-grid{gap:30px}.article-layout{grid-template-columns:200px 1fr;gap:35px}.booking-layout{grid-template-columns:minmax(0,1fr) 240px;gap:15px}.booking-main form{padding:20px}.booking-progress{padding:18px 20px;gap:20px}.booking-summary-content{padding:20px}}
@media(max-width:650px){:root{--gutter:20px}.topline{font-size:9px;justify-content:center}.topline>a{display:none}.site-header{padding:17px 20px;gap:15px}.brand img{width:33px;height:33px}.brand{gap:8px}.brand>span{font-size:18px}.brand small{font-size:6px;letter-spacing:3px}.brand i{font-size:19px}.header-actions>.button{display:none}.menu-toggle{font-size:12px}.hero-heading{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:28px;padding-bottom:26px}.hero-heading h1{font-size:44px;line-height:1.08}.hero-heading .eyebrow{font-size:8px;margin-bottom:18px}.hero-intro p{font-size:14px;margin-bottom:18px}.hero-intro p br{display:none}.hero-photo{height:415px;width:100%}.hero-photo>img{object-position:60%}.hero-photo-label{top:24px;left:22px}.hero-photo-label>span{font-size:8px}.hero-photo-label p{font-size:26px}.photo-cta{right:16px;bottom:35px;padding:14px 17px}.photo-cta span{font-size:8px}.photo-cta strong{font-size:12px}.photo-credit{font-size:8px;bottom:12px;left:20px}.principle-strip{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0;font-size:8px}.section{padding-top:42px;padding-bottom:42px}.section.compact{padding-top:0}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:36px}.section-heading>div:last-child:not(:first-child){margin-top:20px;max-width:none}.section-heading p:not(.eyebrow){font-size:14px}.section-heading>.text-link{margin-top:20px}.eyebrow{font-size:9px}.service-tiles{grid-template-columns:minmax(0,1fr);gap:20px}.service-tile>img{height:270px}.service-tile h3{font-size:27px}.service-tile p{font-size:14px}.service-tile>div{padding:23px}.service-links{flex-direction:column;gap:10px;padding-top:20px}.service-links .text-link{font-size:14px}.story-section{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:43px}.story-image{min-height:380px}.story-copy h2{font-size:38px}.story-copy .lead{font-size:18px}.story-copy>p:not(.lead):not(.eyebrow){font-size:14px}.mini-values{gap:20px}.mini-values b{font-size:13px}.mini-values span{font-size:12px}.project-section{padding:43px 0}.project-grid{grid-template-columns:minmax(0,1fr);gap:30px}.project-image img{height:290px}.project-meta h3{font-size:28px}.project-meta .eyebrow{font-size:8px}.process-steps{grid-template-columns:minmax(0,1fr);gap:25px}.process-steps article{display:grid;grid-template-columns:45px 1fr;gap:0 15px;padding-top:20px}.process-steps article>span{grid-row:1/3;font-size:32px}.process-steps h3{font-size:23px;margin-bottom:12px}.process-steps p{font-size:14px}.budget-banner{grid-template-columns:minmax(0,1fr);padding:30px 25px;gap:25px}.budget-banner h2{font-size:36px}.budget-banner p{font-size:14px}.budget-graphic{padding:20px}.budget-graphic>div{font-size:10px;padding:14px 0}.journal-grid{grid-template-columns:minmax(0,1fr);gap:32px}.journal-card img{height:250px}.journal-card h3{font-size:27px}.journal-card .eyebrow{font-size:9px;margin-bottom:14px}.faq-section{grid-template-columns:minmax(0,1fr);gap:25px;padding-bottom:42px}.faq-section h2{font-size:36px}.accordions summary{font-size:14px;padding:18px 0}.accordions details p{font-size:14px}.cta{grid-template-columns:minmax(0,1fr);gap:25px;padding:30px 25px;margin-bottom:40px}.cta h2{font-size:37px}.cta>div:last-child{justify-self:start}.cta p{font-size:14px}.newsletter{grid-template-columns:minmax(0,1fr);padding:35px 20px;gap:25px}.newsletter h2{font-size:35px}.newsletter p{font-size:14px}.inline-input{flex-wrap:wrap}.inline-input input{min-width:170px}.newsletter .button{font-size:12px;padding:12px 17px;gap:15px}.site-footer{padding:35px 20px 22px}.footer-grid{gap:30px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:first-child>p:not(.hours){font-size:29px}.footer-grid h3{font-size:12px}.footer-grid>div>a:not(.brand){font-size:11px}.footer-bottom{display:block;margin-top:30px;font-size:10px}.footer-bottom>div{margin-top:15px;gap:15px}.footer-bottom button{font-size:10px}.page-intro{padding-top:30px;padding-bottom:25px;margin-bottom:28px}.page-intro h1{font-size:44px}.page-intro>.lead{font-size:16px}.detail-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:25px;padding-bottom:40px}.detail-hero h1{font-size:44px}.detail-hero .lead{font-size:16px}.detail-hero>img{height:330px}.reading-split{grid-template-columns:minmax(0,1fr);gap:18px}.reading-split p{font-size:15px}.info-grid{grid-template-columns:minmax(0,1fr);gap:16px}.info-card{padding:25px}.info-card h3{font-size:25px}.info-card p{font-size:14px}.wide-image img{height:330px}.project-intro{display:block;padding-top:30px}.project-intro h1{font-size:48px;margin-bottom:22px}.project-intro>p{font-size:15px}.project-facts{grid-template-columns:minmax(0,1fr)}.project-facts>div{border-right:0;border-bottom:1px solid var(--line);padding:16px 20px}.filter-bar{padding:17px;gap:15px}.filter-bar>div{min-width:100%}.filter-bar .button{width:100%}.article-layout{grid-template-columns:minmax(0,1fr);gap:25px}.article-layout aside{font-size:12px}.article-body h2{font-size:30px;margin-top:30px}.article-body p{font-size:15px}.process-row{grid-template-columns:40px 1fr;gap:0 15px;padding:25px 0}.process-row>span{font-size:31px;grid-row:1/3}.process-row h3{font-size:26px}.process-row p{font-size:14px}.process-row>div{grid-column:2}.contact-grid,.quote-layout,.planner{grid-template-columns:minmax(0,1fr);gap:25px}.contact-grid aside{padding:25px}.contact-grid aside h2{font-size:35px}.form-card{padding:23px}.field-grid{grid-template-columns:minmax(0,1fr);gap:0}.quote-aside,.planner-result{position:static;padding:25px}.quote-aside h2{font-size:32px}.choice-grid{gap:8px}.choice-grid label{font-size:12px;padding:13px;gap:8px}.wizard-progress{gap:10px}.wizard-progress li{font-size:10px}legend{font-size:27px}.wizard-actions .button{font-size:12px;padding:12px 16px;gap:15px}.review-list>div{grid-template-columns:85px 1fr;gap:15px;font-size:12px}.planner-result strong{font-size:42px}.booking-heading{padding-top:26px;padding-bottom:23px}.booking-heading h1{font-size:36px}.booking-heading p:not(.eyebrow){font-size:14px}.booking-help{display:none}.booking-layout{grid-template-columns:minmax(0,1fr);gap:23px}.booking-progress{padding:17px;gap:15px;justify-content:space-between}.booking-progress li{font-size:10px}.booking-main form{padding:21px}.booking-main legend{font-size:27px}.booking-main fieldset>p{font-size:13px}.appointment-options{gap:10px}.appointment-option>span{font-size:14px;min-height:0}.appointment-option>small{font-size:12px;margin-top:7px}.booking-aside{position:static}.booking-summary-photo img{height:150px}.booking-summary-content{padding:23px}.schedule-grid{gap:20px}.calendar-days button{height:40px;font-size:13px}.calendar-navigation h3{font-size:19px}.available-times-panel .time-slots{grid-template-columns:repeat(3,minmax(0,1fr));max-height:235px}.booking-main .button{padding:12px 16px;font-size:12px;gap:15px}.cookie-panel{left:15px;right:15px;bottom:15px;max-width:none;padding:21px}.cookie-panel h2{font-size:25px}.cookie-panel .button-row{gap:10px}.cookie-panel .button{font-size:10px}.admin-wrap{padding:25px 20px}.admin-tabs .button{font-size:12px;padding:12px 16px}.admin-record h3{font-size:19px}.admin-record p{font-size:13px}}
@media(max-width:360px){.hero-heading h1{font-size:38px}.hero-heading .eyebrow{font-size:7px}.brand>span{font-size:16px}.brand small{letter-spacing:2.5px}.brand img{width:29px;height:29px}.choice-grid{grid-template-columns:minmax(0,1fr)}.button{font-size:12px;gap:20px}.page-intro h1,.detail-hero h1{font-size:39px}.booking-progress{gap:8px;padding:15px}.booking-progress li{font-size:9px}.booking-main form{padding:17px}.booking-main .button-row{gap:12px}.time-slots button{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js-motion .reveal{opacity:1;transform:none}}
@media print{.site-header,.topline,.newsletter,.site-footer,.cookie-panel,.toast,.button{display:none}.wrap{width:100%}.js-motion .reveal{opacity:1;transform:none}.planner{display:block}.planner-result{position:static;color:black;background:white}.planner-result p{color:black}}

/* Editorial reading widths and planning details */
.prose{max-width:800px;padding-top:65px;padding-bottom:85px}.prose h2{font-size:clamp(27px,3vw,36px);margin-top:40px}.prose p{font-size:16px;line-height:1.85}.prose h2:first-child{margin-top:0}.journal-grid>article>img{height:260px;object-fit:cover}.journal-grid>article>h2{font-size:30px;margin-top:15px}.planner-row strong{font-size:18px;letter-spacing:0;margin:0;white-space:nowrap}.planner-result h2{font-size:clamp(40px,5vw,64px);margin:20px 0}.quote-layout>div{min-width:0}.review-list dd{overflow-wrap:anywhere;margin:4px 0 20px}.review-list dt{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
@media(max-width:650px){.prose{padding-top:40px;padding-bottom:50px}.planner-row strong{font-size:18px}.quote-aside img{height:170px}.quote-aside ol{font-size:13px}.quote-layout{display:flex;flex-direction:column}.quote-layout>div{width:100%;order:-1}.quote-aside{width:100%}}
