:root{--color-background:#f5efe6;--color-surface:#fffaf3;--color-text:#382d27;--color-muted:#505b61;--color-accent:#556338;--color-on-accent:#ffffff;--color-link:#556338;--line-color:#c8c0b3;--privacy-ink:#382d27;--privacy-muted:#505b61;--privacy-paper:#fffaf3;--privacy-line:#c8c0b3;--privacy-accent:#556338;--privacy-font:"Segoe UI",sans-serif;--focus-color:#556338}
body{background:var(--color-background);color:var(--color-text);font:17px/1.65 "Segoe UI",sans-serif}a{color:var(--color-link);text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button{border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;padding:12px 20px;min-height:46px}p{margin:0 0 1.1em}h1,h2,h3{font-weight:400;margin:0;line-height:1.13;text-wrap:balance}h1,h2{font-family:Georgia,serif;letter-spacing:-.045em}h1{font-size:clamp(44px,5.1vw,78px)}h2{font-size:clamp(31px,3.15vw,47px)}h3{font-size:22px;line-height:1.3}img{display:block}figure{margin:0}main,header,footer{min-width:0}main{max-width:1600px;margin:auto}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.17em;line-height:1.7;margin:0 0 24px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--color-accent);color:var(--color-on-accent);padding:14px 22px;min-height:50px;text-decoration:none;font-size:14px;font-weight:600}.button:hover{background:#414c2b}.button span{font-size:23px;line-height:1}.text-link{font-size:14px;font-weight:600}.site-header{padding:0 4.3%;max-width:1600px;margin:auto}.header-main{display:flex;gap:35px;align-items:center;justify-content:space-between;min-height:112px}.brand{display:flex;gap:14px;align-items:center;color:inherit;text-decoration:none;font-size:25px;font-weight:650;letter-spacing:.06em;line-height:1.2}.brand img{flex:0 0 48px}.brand small{display:block;letter-spacing:.14em;font-size:9px;margin-top:7px}.header-contact{margin-left:auto;display:grid;line-height:1.5}.header-contact span{font-size:12px;color:var(--color-muted)}.header-contact a{font-size:22px;color:inherit;text-decoration:none}.header-cta{font-size:13px}.nav-row{border-top:1px solid var(--line-color);border-bottom:1px solid var(--line-color);display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:60px}.nav-row nav{display:flex;gap:25px;align-items:center}.nav-row a{font-size:13px;text-decoration:none;color:inherit;padding:18px 0}.nav-row a:hover{text-decoration:underline}.nav-place{font-size:10px;letter-spacing:.08em;white-space:nowrap}.hero{padding:54px 4.3% 66px;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:5.2%}.hero-copy{padding:26px 0}.hero .intro{font-size:17px;max-width:47ch;margin:28px 0 32px;color:var(--color-muted)}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.scene img{width:100%;object-fit:cover;aspect-ratio:1.5}.hero .scene img{aspect-ratio:1.08;min-height:420px}.scene figcaption{font-size:12px;color:var(--color-muted);line-height:1.5;margin-top:9px}.hero-home{padding-top:46px}.hero-home .scene img{aspect-ratio:.98;object-position:64% center}.hero-home h1{font-size:clamp(46px,5.2vw,80px)}.hero-overview{grid-template-columns:1fr 1.1fr;align-items:end}.hero-overview .scene img{aspect-ratio:1.18}.hero-service1{grid-template-columns:1fr 1.3fr;gap:6%}.hero-service1 .scene img{aspect-ratio:1.15}.hero-service2 .hero-copy{order:2}.hero-service2 .scene{order:1}.hero-about .scene img{aspect-ratio:1.1}.hero-contact{grid-template-columns:1.15fr .85fr}.hero-contact .scene img{aspect-ratio:1.35;min-height:310px}.block{margin:0 4.3%;padding:68px 0;border-top:1px solid var(--line-color);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%}.block.variant-2{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:9%}.section-body{min-width:0}.section-body>p{max-width:65ch}.section-heading .eyebrow{color:var(--color-accent);margin-bottom:22px}.direction-list{margin-top:-16px}.direction{display:grid;grid-template-columns:35px minmax(0,1fr) 30px;gap:18px;border-bottom:1px solid var(--line-color);padding:26px 0;color:inherit;text-decoration:none}.direction:last-child{border-bottom:0}.direction h3{font-family:Georgia,serif;font-size:30px;letter-spacing:-.03em}.direction p{font-size:15px;line-height:1.7;margin:10px 0 0;color:var(--color-muted);max-width:48ch}.number{font-size:12px;color:var(--color-accent);padding-top:6px}.arrow{font-size:25px}.direction:hover h3{text-decoration:underline;text-underline-offset:6px}.photo-editorial{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start}.photo-editorial .section-body>p{margin-top:30px}.lines .line{padding:23px 0;border-bottom:1px solid var(--line-color)}.lines .line:first-child{padding-top:0}.lines .line:last-child{border-bottom:0;padding-bottom:0}.line p{font-size:16px;color:var(--color-muted);margin:12px 0 0}.line h3{font-size:19px}.faq{display:block}.faq .section-heading{display:grid;grid-template-columns:1fr 1.5fr;align-items:start;margin-bottom:35px}.faq .section-heading h2{max-width:21ch}.faq-list{display:grid;gap:0 40px}.faq.variant-2 .faq-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.faq details{border-top:1px solid var(--line-color);padding:19px 0}.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;line-height:1.5;font-size:17px;font-weight:550}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-size:24px;font-weight:400}.faq details[open] summary::after{content:'−'}.faq details p{margin:16px 35px 6px 0;font-size:16px;color:var(--color-muted)}.map.variant-1{display:block}.map.variant-1 .section-heading{display:flex;justify-content:space-between;gap:30px;margin-bottom:32px}.map-panel{background:#e7e8df;border:1px solid #c5cabb;min-height:375px;position:relative;display:grid;align-items:center}.map-panel:before{content:'⌖';font:65px/1 Georgia,serif;color:var(--color-accent);position:absolute;right:34px;top:28px}.map-panel [data-map-placeholder]{max-width:610px;padding:38px 45px;position:relative}.map-panel .map-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:650}.map-panel h3{font-family:Georgia,serif;font-size:32px;margin-bottom:10px}.map-panel p{font-size:15px;max-width:40ch}.map-panel a{font-size:14px;display:block;margin-top:12px}.map-panel iframe{width:100%;height:400px;display:block;border:0}.map .section-body>p{font-size:15px;margin-top:25px}.map.variant-2 .section-body{display:grid;gap:10px}.map.variant-2 .map-panel [data-map-placeholder]{padding:32px}.map.variant-2 .map-panel:before{right:22px;font-size:45px}.contact-line a{font-family:Georgia,serif;font-size:42px;color:inherit;text-decoration:none;letter-spacing:-.04em}.contact .section-body a,.identity a,.footer-rail a{overflow-wrap:anywhere}.next_step{background:var(--color-surface);margin:0;padding:60px 4.3%;border-top:1px solid var(--line-color)}.next_step .section-body>.button{margin-top:14px}.identity .section-body>p:first-child{line-height:1.9}.inquiry.variant-2{display:block}.inquiry .section-heading{margin-bottom:30px}.inquiry .section-body{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:9%}.inquiry-note{font-size:16px}.contact-form{padding:30px;background:var(--color-surface);border:1px solid var(--line-color)}.contact-form p{font-size:14px;overflow-wrap:anywhere}.contact-form legend{font:27px Georgia,serif;margin-bottom:24px}.contact-form button:disabled{opacity:.65;cursor:default}.contact-form label{font-size:14px}.contact-form input,.contact-form textarea{background:#fffdf8;border-color:#b3b3a4}.contact-form>p:last-child{margin-top:25px;margin-bottom:0}.site-footer{background:var(--color-text);color:var(--color-background);padding:52px 4.3% 32px}.site-footer a{color:inherit}.footer-top{max-width:1462px;margin:0 auto 46px}.footer-call{font:clamp(32px,3.7vw,54px)/1.2 Georgia,serif;letter-spacing:-.035em;display:flex;justify-content:space-between;gap:35px;text-decoration:none}.footer-call span{flex-shrink:0}.footer-rail{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:1462px;margin:auto;border-top:1px solid #746a60;border-bottom:1px solid #746a60;padding:35px 0}.footer-rail p{font-size:14px;line-height:1.9;margin:0}.footer-rail .brand{align-self:start}.footer-bottom{max-width:1462px;margin:24px auto 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-bottom nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.footer-bottom a,.footer-bottom button,.footer-bottom p{font-size:12px}.footer-bottom button{border:1px solid #b1a89b;background:transparent;color:inherit;min-height:44px;padding:8px 14px}.footer-bottom p{margin:0;white-space:nowrap}.legal-shell{padding:65px 4.3% 90px;display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:8%}.legal-side>p:nth-child(2){font:30px/1.3 Georgia,serif;letter-spacing:-.03em}.legal-side nav{display:grid;justify-items:start;gap:5px;margin-top:28px}.legal-side a{font-size:14px;padding:7px 0}.legal-prose{font-size:16px;min-width:0}.legal-prose h1{font-size:clamp(36px,4.7vw,62px);margin-bottom:35px;overflow-wrap:anywhere}.legal-prose h2{font-size:29px;letter-spacing:-.03em;margin:38px 0 20px}.legal-prose h3{font-size:21px;margin:25px 0 15px}.legal-prose details{border-top:1px solid var(--line-color);padding:18px 0}.legal-prose summary{cursor:pointer;font-weight:600;min-height:44px}.legal-prose details p{margin-top:12px}.legal-prose nav{display:flex;flex-wrap:wrap;gap:12px}.legal-prose ul{padding-left:22px}.legal-prose th{background:#e9e3d8}.utility{padding:80px 4.3% 100px;max-width:900px;min-height:65vh}.utility h1{margin-bottom:32px}.utility .hero-actions{margin-top:35px}
.hero-service1,.hero-service2,.hero-about{grid-template-columns:1fr;gap:28px}.hero-service1 .hero-copy,.hero-service2 .hero-copy,.hero-about .hero-copy{max-width:1000px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0 7%;align-items:start}.hero-service1 .eyebrow,.hero-service2 .eyebrow,.hero-about .eyebrow{grid-column:1/-1}.hero-service1 h1,.hero-service2 h1,.hero-about h1{grid-row:2/4}.hero-service1 .intro,.hero-service2 .intro,.hero-about .intro{margin:0 0 24px}.hero-service1 .scene img,.hero-service2 .scene img,.hero-about .scene img{aspect-ratio:2.3;max-height:540px;min-height:350px}.hero-service2 .hero-copy,.hero-service2 .scene{order:initial}
@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){.nav-row nav{gap:17px}.nav-row a{font-size:12px}.nav-place{display:none}.brand{font-size:22px}.header-main{gap:20px}.header-cta{padding:13px;font-size:12px}.hero{gap:4%}.hero-home h1{font-size:clamp(44px,5.6vw,70px)}.hero .scene img{min-height:350px}.footer-bottom{align-items:start;flex-direction:column}.block{gap:6%}.block.variant-2{gap:6%}.contact-form{padding:22px}}
@media(max-width:760px){body{font-size:16px}.site-header{padding:0 6%}.header-main{min-height:93px;gap:14px}.brand{font-size:19px;gap:9px}.brand img{width:38px;height:38px;flex-basis:38px}.brand small{font-size:7px;letter-spacing:.1em}.header-cta{display:none}.header-contact span{display:none}.header-contact a{font-size:14px;white-space:nowrap}.nav-row{display:block;min-height:48px}.nav-row>[data-menu-button]{width:100%;background:transparent;color:var(--color-text);border:0;padding:11px 0;display:flex;justify-content:space-between;text-align:left;font-size:14px}.nav-row nav{display:grid;gap:0;padding:5px 0 20px}.nav-row a{font-size:16px;min-height:44px;padding:11px 0;border-top:1px solid var(--line-color)}.hero{padding:30px 6% 45px;display:flex;flex-direction:column;gap:30px;align-items:stretch}.hero-copy{padding:10px 0 0}.hero h1,.hero-home h1{font-size:clamp(40px,9.8vw,66px);line-height:1.09;overflow-wrap:anywhere}.hero h1 br{display:none}.hero .intro{font-size:16px;margin:24px 0}.eyebrow{font-size:10px;margin-bottom:18px}.hero-actions{gap:22px}.hero .scene img,.hero-home .scene img{aspect-ratio:1.2;min-height:0}.hero-service2 .hero-copy,.hero-service2 .scene{order:initial}.hero .scene{width:100%}.scene figcaption{font-size:12px}.block,.block.variant-2{margin:0 6%;padding:42px 0;grid-template-columns:1fr;gap:27px}.block h2{font-size:35px}.direction h3{font-size:27px;overflow-wrap:anywhere}.direction{grid-template-columns:25px minmax(0,1fr) 25px;gap:10px;padding:23px 0}.direction p{font-size:15px}.direction-list{margin-top:-20px}.photo-editorial .section-body>p{margin-top:23px}.faq .section-heading{display:block;margin-bottom:26px}.faq.variant-2 .faq-list{grid-template-columns:1fr}.faq summary{font-size:16px}.faq details{padding:15px 0}.faq details p{margin-right:6px}.map.variant-1 .section-heading{display:block}.map-panel{min-height:360px}.map-panel [data-map-placeholder],.map.variant-2 .map-panel [data-map-placeholder]{padding:30px 24px}.map-panel:before{right:20px;top:25px;font-size:45px}.map-panel iframe{height:390px}.map-panel p{max-width:29ch}.contact-line a{font-size:37px}.inquiry .section-body{grid-template-columns:1fr;gap:15px}.contact-form{padding:23px 18px}.next_step{margin:0!important;padding:42px 6%!important}.site-footer{padding:40px 6% 28px}.footer-top{margin-bottom:32px}.footer-call{font-size:34px}.footer-rail{grid-template-columns:1fr;gap:26px;padding:28px 0}.footer-rail p{font-size:14px}.footer-bottom nav{gap:14px 19px}.footer-bottom a,.footer-bottom button{font-size:13px;min-height:44px;display:inline-flex;align-items:center}.footer-bottom p{font-size:12px}.legal-shell{padding:35px 6% 55px;grid-template-columns:1fr;gap:25px}.legal-side>p:nth-child(2){display:none}.legal-side nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:0}.legal-side .eyebrow{margin-bottom:10px}.legal-prose{font-size:16px}.legal-prose h1{font-size:39px;margin-bottom:26px}.legal-prose h2{font-size:27px}.utility{padding:45px 6% 60px}.utility h1{font-size:46px;overflow-wrap:anywhere}}
@media(max-width:760px){.hero-service1 .hero-copy,.hero-service2 .hero-copy,.hero-about .hero-copy{display:block}.hero-service1 .intro,.hero-service2 .intro,.hero-about .intro{margin:24px 0}.hero-service1 .scene img,.hero-service2 .scene img,.hero-about .scene img{aspect-ratio:1.2;min-height:0}}
@media(max-width:370px){.brand{font-size:16px}.brand small{font-size:6px}.header-contact a{font-size:12px}.brand img{width:32px;height:32px;flex-basis:32px}.hero h1,.hero-home h1{font-size:40px}.hero-actions .button{width:100%}.contact-line a{font-size:32px}.footer-call{font-size:30px}}
.nav-row nav a{font-size:14px}.footer-bottom a,.footer-bottom button{font-size:14px}@media(min-width:761px) and (max-width:1100px){.nav-row nav a{font-size:13px}}@media(max-width:760px){.nav-row nav a{font-size:16px}}
