:root{--color-background:#faf9f6;--color-surface:#ffffff;--color-text:#272b2d;--color-muted:#505b61;--color-accent:#4a5359;--color-on-accent:#ffffff;--color-link:#4a5359;--line-color:#c9cac6;--privacy-ink:#272b2d;--privacy-muted:#505b61;--privacy-paper:#faf9f6;--privacy-line:#c9cac6;--privacy-accent:#4a5359;--privacy-font:"Segoe UI",sans-serif;--focus-color:#326689;--field-color:#272b2d;--field-background:#fff}
body{background:var(--color-background);color:var(--color-text);font-family:"Segoe UI",sans-serif;font-size:17px;line-height:1.65}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:Georgia,serif;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}h1{font-size:clamp(40px,4.5vw,71px)}h2{font-size:clamp(32px,3.25vw,50px)}h3{font-size:23px;line-height:1.35;letter-spacing:-.025em}em{font-weight:400}p+p{margin-top:1em}a{color:var(--color-link);text-underline-offset:5px}a:hover{color:var(--color-text)}a,button{transition:background .15s,color .15s}button,.button{min-height:46px;border:1px solid var(--color-accent);padding:11px 22px;background:var(--color-accent);color:var(--color-on-accent);text-decoration:none;font-size:15px;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;gap:12px}button:hover,.button:hover{color:var(--color-on-accent);background:var(--color-text)}button:disabled{cursor:default;opacity:.7}a,button{overflow-wrap:anywhere}a:focus-visible,button:focus-visible{outline-offset:5px}main{max-width:1600px;margin:auto}main>*{min-width:0}section,article,aside,div{min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;line-height:1.6;font-weight:600;color:var(--color-muted)}.actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:30px}.actions>a:not(.button){font-size:15px}.text-link{display:inline-flex;min-height:44px;align-items:center}.site-header{padding:0 4.3%;max-width:1600px;margin:auto}.masthead{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:25px 0 24px}.mast-location,.mast-phone{font-size:13px;letter-spacing:.025em}.mast-phone{text-align:right}.mast-phone a{text-decoration:none}.brand{display:flex;gap:9px;align-items:center;justify-content:center;font-size:22px;line-height:1.1;color:var(--color-text);text-decoration:none;letter-spacing:.08em}.brand small{font-size:12px;letter-spacing:.38em;display:block;margin-top:7px}.brand img{width:34px;height:44px}.site-header nav{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line-color);border-bottom:1px solid var(--line-color);padding:4px 0;gap:20px}.site-header nav>div{display:flex;gap:27px}.site-header nav a{display:flex;align-items:center;min-height:45px;font-size:14px;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.site-header [data-menu-button]{padding:8px 12px;font-size:14px}.block{margin:0 4.3%;padding:80px 0;border-bottom:1px solid var(--line-color)}.opening{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4.3%;padding:40px 0 60px;align-items:center}.opening .intro{padding:24px 0 38px}.intro .eyebrow{margin-bottom:27px}.intro>p:not(.eyebrow){max-width:42ch;margin-top:27px;color:var(--color-muted);font-size:17px}.photo{position:relative}.photo img{display:block;width:100%;object-fit:cover;aspect-ratio:1.5}.photo figcaption,.photo .ai-caption{display:block;font-size:12px;line-height:1.5;color:var(--color-muted);margin-top:9px}.hero-photo img{height:560px;aspect-ratio:auto;object-position:center}.page-home .hero-photo img{height:575px;object-position:57% center}.page-overview .hero-photo img{height:500px}.page-service1 .hero-photo img{height:540px;object-position:62% center}.page-service2 .hero-photo img{height:610px}.page-service3 .hero-photo img{height:470px}.page-about .hero-photo img{height:520px}.page-contact .hero-photo img{height:460px}.variant-2{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:7%}.section-head .eyebrow{margin-bottom:20px}.section-body>p{max-width:66ch}.variant-3 .section-head{margin-bottom:30px;max-width:850px}.variant-3 .section-body>p{font-size:20px;max-width:64ch}.context.variant-3 h2{font-size:clamp(36px,4.5vw,67px)}.editorial-photo{margin-top:42px;width:82%;margin-left:auto}.editorial-photo img{aspect-ratio:2.2}.three-columns,.two-columns{display:grid;gap:35px;margin-top:40px}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.three-columns article,.two-columns article{border-top:1px solid var(--line-color);padding-top:21px}.three-columns h3,.two-columns h3{margin-bottom:13px}.three-columns p,.two-columns p{color:var(--color-muted);font-size:16px}.direction-row{display:grid;grid-template-columns:36px minmax(0,1fr) 28px;gap:18px;text-decoration:none;border-top:1px solid var(--line-color);padding:27px 0}.direction-row:first-child{border-top:0;padding-top:0}.direction-row .index{font-size:13px;padding-top:5px}.direction-row h3{font-size:29px;font-family:Georgia,serif;line-height:1.2}.direction-row p{margin-top:13px;color:var(--color-muted);font-size:16px;max-width:53ch}.direction-row:hover h3{text-decoration:underline;text-underline-offset:6px}.arrow{font-size:29px;line-height:1}.directions.variant-3 .directions-list{margin-top:40px}.directions.variant-3 .direction-row{grid-template-columns:60px minmax(0,1fr) 40px}.directions.variant-3 .direction-row>div{display:grid;grid-template-columns:1fr 1fr;gap:35px}.directions.variant-3 .direction-row p{margin-top:0}.clean-list{list-style:none;margin:25px 0 0;padding:0}.clean-list li{border-top:1px solid var(--line-color);padding:13px 0}.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:35px 0 0;padding:0}.steps li{border-top:1px solid var(--line-color);padding-top:18px;counter-increment:step}.steps li:before{content:"0" counter(step);font-size:13px;display:block;margin-bottom:26px;color:var(--color-muted)}.steps h3{margin-bottom:15px}.steps p{font-size:16px;color:var(--color-muted)}.faq-list details{border-top:1px solid var(--line-color);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line-color)}.faq-list summary{list-style:none;display:flex;align-items:baseline;gap:20px;padding:21px 38px 21px 0;position:relative;cursor:pointer;font-size:18px;min-height:64px;line-height:1.45}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:4px;top:17px;font-size:25px;font-weight:300}.faq-list details[open] summary:after{content:"−"}.faq-number{font-size:12px;color:var(--color-muted);min-width:20px}.faq-list details p{margin:0 38px 24px 40px;color:var(--color-muted);font-size:16px;max-width:70ch}.faq.variant-3{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:7%}.faq.variant-3 .section-head{margin:0}.faq.variant-2{display:block}.faq.variant-2 .section-head{margin-bottom:30px}.faq.variant-2 .faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;align-items:start}.faq.variant-2 .faq-list details:last-child{border-bottom:0}.map-panel{background:#e7e9e5;border:1px solid var(--line-color);padding:35px;min-height:380px;display:flex;align-items:center;justify-content:center;position:relative}.map-panel [data-map-placeholder]{width:100%;max-width:500px}.map-panel [data-map-placeholder]:before{content:"⌖";font-size:53px;line-height:1;display:block;margin-bottom:16px;color:var(--color-accent)}.map-label{text-transform:uppercase;font-size:12px;letter-spacing:.15em;margin-bottom:8px}.map-panel h3{font-family:Georgia,serif;font-size:35px}.map-panel p{font-size:15px;margin-top:12px}.map-panel button{margin-top:22px}.map-panel a{display:block;font-size:14px;margin-top:12px;min-height:28px}.map-panel iframe{border:0;width:100%;height:400px;display:block}.map-panel:has(iframe){padding:0}.map-section .section-body>p{font-size:14px;margin-top:15px;color:var(--color-muted)}.contact,.next_step{background:var(--color-text);color:var(--color-on-accent);padding:66px 5%;margin:60px 4.3%;border:0}.contact a,.next_step a{color:var(--color-on-accent)}.contact .eyebrow,.next_step .eyebrow{color:#cbd0d2}.contact .button,.next_step .button{border-color:#fff;background:var(--color-background);color:var(--color-text)}.contact .button:hover,.next_step .button:hover{background:#e7e9e5}.contact h2,.next_step h2{max-width:21ch}.contact .section-body>p,.next_step .section-body>p{max-width:65ch;font-size:17px}.identity .section-body p{font-size:20px}.identity .section-body p+p{font-size:16px;color:var(--color-muted);margin-top:25px}.contact-details p{line-height:2}.form-section{padding:60px 5%;background:#e9ece8;margin-top:0}.form-section .section-body>p{font-size:17px}.contact-form{max-width:830px;margin-top:30px}.contact-form p{font-size:14px}.contact-form fieldset{margin-top:24px}.contact-form legend{font-family:Georgia,serif;font-size:30px;margin-bottom:20px}.contact-form label{font-size:15px}.contact-form input,.contact-form textarea{margin-bottom:9px;border-color:#9aa29d}.contact-form p:last-child{margin-top:25px}.site-footer{background:#e9eae6;padding:64px 4.3% 25px}.footer-main,.footer-bottom{max-width:1462px;margin:auto}.footer-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12%;padding-bottom:50px}.footer-brand{font-family:Georgia,serif;font-size:34px;line-height:1.05;letter-spacing:-.02em;text-decoration:none;color:var(--color-text)}.footer-main p{font-size:15px;margin-top:25px}.footer-main>div>p:last-child{font-size:14px;line-height:1.9}.footer-right{justify-self:end;width:100%;max-width:470px}.footer-right>p{margin:0}.footer-right nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 30px;margin-top:20px}.footer-right a{font-size:16px;min-height:44px;display:flex;align-items:center;text-decoration:none}.footer-right a:hover{text-decoration:underline}.footer-bottom{display:flex;gap:30px;justify-content:space-between;border-top:1px solid #b6bdb9;padding-top:25px;font-size:12px}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}.footer-bottom a{font-size:13px;display:inline-flex;align-items:center;min-height:44px}.footer-bottom button{font-size:13px;padding:7px 12px;color:var(--color-text);background:transparent;min-height:44px;border-color:#7e8987}.footer-bottom button:hover{background:#fff}.legal-layout{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:6%;margin:0 4.3%;padding:65px 0 90px}.legal-layout aside>p:nth-child(2){font-size:21px;line-height:1.35;margin-top:23px}.legal-layout aside nav{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:25px}.legal-layout aside nav a{display:flex;min-height:44px;align-items:center;font-size:14px}.legal-prose h1{font-size:clamp(37px,4vw,60px);margin-bottom:30px}.legal-prose h2{font-family:"Segoe UI",sans-serif;font-size:25px;line-height:1.3;letter-spacing:-.02em;margin:42px 0 17px}.legal-prose h3{font-size:21px;margin:24px 0 12px}.legal-prose p,.legal-prose li{font-size:16px;line-height:1.8}.legal-prose ul,.legal-prose ol{padding-left:24px}.legal-prose table{font-size:14px}.legal-prose details{border-top:1px solid var(--line-color);padding:17px 0}.legal-prose summary{cursor:pointer;min-height:32px}.legal-prose details p{margin-top:14px}.utility{max-width:960px;padding:90px 4.3% 110px;margin:auto;min-height:520px}.utility h1{margin:30px 0}.utility>.legal-prose{max-width:65ch}.utility>p:last-child{display:flex;align-items:center;gap:25px;margin-top:35px;flex-wrap:wrap}.page-service3 .principles .section-body>p{max-width:50ch}.page-contact .opening h1{font-size:clamp(44px,5.5vw,80px)}
.legal-prose table{min-width:650px}.legal-prose th:first-child,.legal-prose td:first-child{width:20%;min-width:130px;overflow-wrap:normal;hyphens:auto}.legal-prose th:nth-child(2),.legal-prose td:nth-child(2){min-width:210px}.legal-prose th:nth-child(3),.legal-prose td:nth-child(3){min-width:260px}.table-scroll{scrollbar-width:auto;border-bottom:1px solid var(--line-color)}
/* The individual first-screen compositions follow the selected hero briefs. */
.opening-overview .hero-photo,.opening-service2 .hero-photo{padding:18px;border:1px solid var(--line-color);background:var(--color-surface)}
.page-overview .hero-photo img{height:465px}.page-service2 .hero-photo img{height:565px}
.opening-service1,.opening-service3{display:block}.opening-service1 .intro,.opening-service3 .intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:8%;padding:15px 0 40px}.opening-service1 .intro .eyebrow,.opening-service3 .intro .eyebrow{grid-column:1/-1}.opening-service1 h1,.opening-service3 h1{grid-column:1;grid-row:2/4}.opening-service1 .intro>p:not(.eyebrow),.opening-service3 .intro>p:not(.eyebrow){grid-column:2;margin-top:0;align-self:end}.opening-service1 .intro .actions,.opening-service3 .intro .actions{grid-column:2;align-self:start}.page-service1 .hero-photo img{height:480px;object-position:center 55%}.page-service3 .opening h1{font-size:clamp(52px,6vw,90px)}.page-service3 .hero-photo img{height:440px;object-position:center 60%}
.opening-about{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);align-items:start;padding-top:65px}.opening-about .intro{padding:0 0 30px}.opening-about h1{font-size:clamp(43px,4vw,61px)}.page-about .hero-photo{margin-top:105px}.page-about .hero-photo img{height:420px}
.opening-contact{position:relative;display:block;padding-bottom:50px}.opening-contact .intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:8%;padding:25px 0 0}.opening-contact .intro .eyebrow{grid-column:1/-1}.opening-contact h1{grid-column:1;grid-row:2/4}.opening-contact .intro>p:not(.eyebrow){grid-column:2;margin:0;align-self:end}.opening-contact .actions{grid-column:2;align-self:start}.opening-contact .hero-photo{margin-top:38px}.page-contact .hero-photo img{height:350px;object-position:center 58%}
.mast-phone a{display:inline-flex;min-height:44px;align-items:center}.map-panel a{min-height:44px;display:flex;align-items:center;margin-top:5px}.identity .section-body a[href^="mailto:"]{font-size:17px}.page-contact .next_step .button{min-height:46px}
@media(min-width:1600px){.site-footer{padding-left:max(4.3%,calc((100vw - 1462px)/2));padding-right:max(4.3%,calc((100vw - 1462px)/2))}}
@media(max-width:1100px){.site-header nav>div{gap:17px}.site-header nav a{font-size:13px}.opening{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5%}.hero-photo img,.page-home .hero-photo img{height:500px}.intro .actions{gap:12px}.intro .button{font-size:14px;padding:11px 17px}.variant-2,.faq.variant-3{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5%}.footer-bottom{display:block}.footer-bottom nav{margin-top:15px}}
@media(max-width:760px){body{font-size:16px}.site-header{padding:0 6%}.masthead{grid-template-columns:minmax(0,1fr) auto;padding:20px 0}.brand{justify-content:flex-start;font-size:19px;gap:5px}.brand small{font-size:10px}.brand img{width:27px;height:36px}.mast-location,.mast-phone{display:none}.site-header nav{display:block;padding:12px 0}.site-header nav>div{display:block}.site-header nav a{font-size:16px;padding:9px 0;min-height:44px}.block{margin:0 6%;padding:48px 0}.opening{display:flex;flex-direction:column;gap:0;align-items:stretch;padding-top:17px;padding-bottom:35px}.opening .intro{padding:25px 0 35px}.intro .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:20px}h1{font-size:clamp(39px,8.6vw,62px)}.page-contact .opening h1{font-size:clamp(46px,11vw,70px)}.intro>p:not(.eyebrow){font-size:16px;line-height:1.65;margin-top:23px;max-width:none}.actions{gap:17px;margin-top:24px}.hero-photo img,.page-home .hero-photo img,.page-overview .hero-photo img,.page-service1 .hero-photo img,.page-service2 .hero-photo img,.page-service3 .hero-photo img,.page-about .hero-photo img,.page-contact .hero-photo img{height:340px}.page-home .hero-photo img{object-position:58% center}.page-service2 .hero-photo img{height:400px}.photo figcaption,.photo .ai-caption{font-size:12px;margin-top:8px}.variant-2,.faq.variant-3{display:block}.section-head,.variant-3 .section-head,.faq.variant-3 .section-head{margin-bottom:25px}.section-head .eyebrow{font-size:11px;margin-bottom:15px}h2{font-size:35px}.context.variant-3 h2{font-size:39px}.section-body>p,.variant-3 .section-body>p{font-size:17px}.editorial-photo{width:100%;margin-top:30px}.editorial-photo img{aspect-ratio:1.25}.three-columns,.two-columns,.steps{grid-template-columns:1fr;gap:27px;margin-top:29px}.three-columns article,.two-columns article{padding-top:20px}.steps li:before{margin-bottom:12px}.direction-row{grid-template-columns:24px minmax(0,1fr) 20px;gap:9px;padding:25px 0}.direction-row h3{font-size:26px}.direction-row p{font-size:15px}.directions.variant-3 .direction-row{grid-template-columns:24px minmax(0,1fr) 20px;gap:9px}.directions.variant-3 .direction-row>div{display:block}.directions.variant-3 .direction-row p{margin-top:14px}.arrow{font-size:24px}.faq.variant-2 .faq-list{display:block}.faq-list summary{font-size:16px;gap:11px;padding-top:19px;padding-bottom:19px}.faq-number{min-width:16px}.faq-list details p{margin-left:27px;margin-right:10px;font-size:15px}.map-panel{padding:24px;min-height:380px}.map-panel iframe{height:380px}.map-panel h3{font-size:30px}.map-panel a{min-height:33px}.contact,.next_step{padding:40px 7%;margin:36px 6%;}.contact h2,.next_step h2{font-size:35px}.contact .section-body>p,.next_step .section-body>p{font-size:16px}.form-section{padding:35px 6%;margin:0 6%}.form-section .section-body>p{font-size:16px}.identity .section-body p{font-size:17px}.site-footer{padding:45px 6% 22px}.footer-main{grid-template-columns:1fr;gap:35px;padding-bottom:30px}.footer-brand{font-size:30px}.footer-main p,.footer-main>div>p:last-child{font-size:14px;overflow-wrap:anywhere}.footer-right{justify-self:start;max-width:none}.footer-right a{font-size:15px}.footer-bottom{font-size:12px}.footer-bottom nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 13px}.footer-bottom nav a{font-size:12px}.legal-layout{display:flex;flex-direction:column;margin:0 6%;gap:35px;padding:38px 0 60px}.legal-layout aside{border-bottom:1px solid var(--line-color);padding-bottom:25px}.legal-layout aside>p:nth-child(2){display:none}.legal-layout aside nav{display:flex;flex-wrap:wrap;flex-direction:row;column-gap:20px;margin-top:10px}.legal-layout aside nav a{font-size:13px}.legal-prose h1{font-size:39px;overflow-wrap:anywhere}.legal-prose h2{font-size:24px}.legal-prose p,.legal-prose li{font-size:16px}.utility{padding:55px 6% 70px;min-height:450px}.utility h1{font-size:44px}.utility .eyebrow{font-size:10px}}
@media(max-width:760px){.opening-service1 .intro,.opening-service3 .intro,.opening-contact .intro{display:block;padding:25px 0 35px}.opening-service1 .intro>p:not(.eyebrow),.opening-service3 .intro>p:not(.eyebrow),.opening-contact .intro>p:not(.eyebrow){margin-top:23px}.opening-service3 h1,.page-service3 .opening h1{font-size:clamp(42px,9.7vw,68px)}.opening-overview .hero-photo,.opening-service2 .hero-photo{padding:10px}.page-service2 .hero-photo img{height:360px}.page-contact .opening .hero-photo{margin-top:0}.page-contact .hero-photo img{height:340px}.opening-about{padding-top:17px}.page-about .hero-photo{margin-top:0}.page-about .hero-photo img{height:340px}.opening-about h1{font-size:clamp(39px,8.6vw,62px)}.identity .section-body a[href^="mailto:"]{font-size:14px}.map-panel a{min-height:44px}}
@media(max-width:360px){h1{font-size:36px}.brand{font-size:17px}.brand small{font-size:9px}.brand img{width:24px}.hero-photo img,.page-home .hero-photo img{height:290px}.actions{gap:12px}.opening .button{font-size:13px}.map-panel{padding:19px}.contact,.next_step{padding:35px 6%}h2,.context.variant-3 h2{font-size:32px}}
