:root{--color-background:#f5f0e4;--color-surface:#fffdf7;--color-text:#252d31;--color-muted:#505b61;--color-accent:#7c5b1d;--color-on-accent:#ffffff;--color-link:#7c5b1d;--line-color:#cec8b9;--focus-color:#7c5b1d;--privacy-ink:#252d31;--privacy-muted:#505b61;--privacy-paper:#fffdf7;--privacy-line:#cec8b9;--privacy-accent:#7c5b1d;--privacy-font:Arial,Helvetica,sans-serif;--serif:Cambria,Georgia,serif;--gutter:clamp(22px,4.6vw,76px)}
body{font:16px/1.65 Arial,Helvetica,sans-serif;background:var(--color-background);color:var(--color-text)}
a{color:var(--color-link);text-underline-offset:5px;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}button{color:inherit}p{margin:0 0 1.1em}h1,h2,h3{font-weight:400;margin:0;line-height:1.08}h1,h2{font-family:var(--serif);letter-spacing:-.045em}h1{font-size:clamp(52px,6.5vw,94px);text-wrap:balance}h2{font-size:clamp(35px,4.2vw,59px);text-wrap:balance}h3{font-family:var(--serif);font-size:29px;letter-spacing:-.025em}em{font-weight:400;color:var(--color-accent)}
.eyebrow{font:12px/1.5 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--color-muted);margin-bottom:24px}.lead{font-size:21px;line-height:1.5;max-width:40ch}.button,button[data-map-allow],.contact-form button[type=submit]{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:13px 23px;text-decoration:none;background:var(--color-accent);color:var(--color-on-accent);border:1px solid var(--color-accent);font-size:15px}.button:hover,button[data-map-allow]:hover,.contact-form button[type=submit]:hover{background:var(--color-text);border-color:var(--color-text)}.text-link{display:inline-block;font-size:15px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin-top:26px}
.site-header{padding:24px var(--gutter) 0}.header-inner{max-width:1440px;margin:auto;display:grid;grid-template-columns:270px 1fr;gap:45px;align-items:end;border-bottom:1px solid var(--line-color);padding-bottom:22px}.brand{display:flex;gap:20px;align-items:center;text-decoration:none;color:var(--color-text)}.brand img{width:106px;height:60px}.brand span{font-size:11px;line-height:1.6;letter-spacing:.02em}.header-meta{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-bottom:24px;color:var(--color-muted)}.header-meta a{color:var(--color-text);font-size:14px;text-decoration:none}.header-right nav{display:flex;gap:clamp(14px,2vw,32px);align-items:center;justify-content:flex-end}.header-right nav a{font-size:14px;text-decoration:none;color:var(--color-text);white-space:nowrap;padding:3px 0}.header-right nav a:last-child{color:var(--color-accent);border-bottom:1px solid var(--color-accent)}[data-menu-button]{padding:8px 12px;border:1px solid var(--line-color);background:transparent}
main{max-width:1592px;margin:auto;padding:0 var(--gutter)}section{border-bottom:1px solid var(--line-color)}.opening{padding:70px 0 64px}.photo{margin:0;min-width:0}.photo img{width:100%;display:block;object-fit:cover;aspect-ratio:3/2}.photo figcaption,.ai-caption{font-size:12px;line-height:1.6;color:var(--color-muted);margin:10px 0 0}.opening-intro{max-width:100%}.opening-intro h1{margin-bottom:28px}.opening-intro>p:not(.eyebrow){max-width:65ch}.framed-photo{padding:22px;border:1px solid var(--line-color);margin-top:35px;background:var(--color-surface)}.framed-photo img{aspect-ratio:2.6/1}.panorama-photo{margin-top:42px}.panorama-photo img{aspect-ratio:2.65/1}.rail-section{display:grid;grid-template-columns:30% 1fr;gap:7%;padding:76px 0}.section-heading h2{font-size:clamp(29px,3vw,42px);line-height:1.17;letter-spacing:-.035em}.section-content{min-width:0}.section-content>p{max-width:67ch}.wide-section{padding:75px 0}.wide-heading{margin-bottom:38px}.wide-heading h2{max-width:22ch}.wide-section>p{max-width:75ch}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:5%}.columns h3{font-size:28px;margin-bottom:18px}.columns p{color:var(--color-muted)}
.page-home .opening{position:relative;display:grid;grid-template-columns:7% 41% 1fr;gap:3%;padding-top:55px;padding-bottom:70px}.hero-rail{display:flex;flex-direction:column;gap:35px;padding-top:10px}.hero-rail .eyebrow{writing-mode:vertical-rl;margin:0}.rail-number{font-size:11px;white-space:nowrap;color:var(--color-muted)}.rail-line{width:1px;height:125px;background:var(--line-color);margin-left:8px}.hero-copy{padding-top:22px;padding-right:15px}.hero-copy h1{font-size:clamp(55px,6vw,87px);line-height:1.02;margin-bottom:32px;letter-spacing:-.055em}.hero-copy>p:not(.eyebrow){max-width:34ch}.hero-copy>p:not(.eyebrow):not(.lead){color:var(--color-muted)}.hero-copy .lead{font-size:21px}.hero-copy .actions{gap:17px}.hero-photo{padding-top:90px}.hero-photo img{aspect-ratio:1.12/1;object-position:58% 48%}.hero-copy .button{padding:13px 17px;gap:14px}.direction-rows>a{display:grid;grid-template-columns:55px 1fr 1.1fr 40px;gap:26px;border-top:1px solid var(--line-color);padding:30px 0;align-items:center;color:var(--color-text);text-decoration:none}.direction-rows>a:last-child{border-bottom:1px solid var(--line-color)}.direction-rows>a:hover h3{color:var(--color-accent)}.direction-rows .index{font-size:12px;color:var(--color-accent)}.direction-rows p{margin:0;font-size:15px;color:var(--color-muted)}.row-arrow{font-size:29px;text-align:right}.detail-photo{margin-top:30px}.detail-photo img{aspect-ratio:1.9/1;object-position:center 40%}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:4%;counter-reset:steps}.steps li{counter-increment:steps;border-top:1px solid var(--line-color);padding-top:20px}.steps li:before{content:'0' counter(steps);display:block;margin-bottom:23px;font-size:13px;color:var(--color-accent)}.steps h3{font-size:28px;margin-bottom:16px}.steps p{font-size:15px;color:var(--color-muted)}.rail-section .steps{grid-template-columns:1fr;gap:15px}.rail-section .steps li{display:grid;grid-template-columns:36px 1fr;gap:8px 15px}.rail-section .steps li:before{grid-row:1/3;margin-top:5px}.rail-section .steps h3{margin-bottom:2px}.rail-section .steps p{grid-column:2}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:24px 0}.contact-links a{font-size:18px}.contact-links a:first-child{font-size:30px;line-height:1.3;text-decoration:none;color:var(--color-text)}
.faq-list{display:grid;gap:0 30px}.faq-grid .faq-list{grid-template-columns:1fr 1fr;align-items:start}.faq-list details{border-top:1px solid var(--line-color)}.faq-list details:last-child{border-bottom:1px solid var(--line-color)}.faq-list summary{position:relative;list-style:none;display:flex;gap:15px;font-size:17px;line-height:1.5;padding:22px 30px 22px 0;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;top:20px;font-size:23px;color:var(--color-accent)}.faq-list details[open] summary:after{content:'−'}.faq-number{font-size:11px;color:var(--color-accent);padding-top:5px}.faq-grid .faq-number{display:none}.answer{padding:0 18px 15px 0;color:var(--color-muted);font-size:15px}.faq-numbered .faq-list{max-width:920px;margin-left:auto}.faq-numbered .answer{padding-left:34px}
.map-panel{border:1px solid var(--line-color);background:var(--color-surface);min-height:370px;position:relative}.map-panel [data-map-placeholder]{position:relative;padding:45px 45px 42px 47%;min-height:370px}.map-panel [data-map-placeholder]:before{content:'⌖';position:absolute;left:16%;top:60px;font-family:var(--serif);font-size:130px;line-height:1;color:var(--color-accent)}.map-panel [data-map-placeholder]:after{content:'Google Maps';position:absolute;left:13%;top:215px;color:var(--color-muted);font-size:14px;letter-spacing:.06em}.map-label{text-transform:uppercase;letter-spacing:.13em;font-size:11px;color:var(--color-muted);margin-bottom:10px}.map-panel h3{font-size:35px;margin-bottom:16px}.map-panel p{font-size:15px;max-width:44ch}.map-panel button{display:block;margin:24px 0 16px}.map-panel a{font-size:13px;display:inline-block;margin-right:17px;margin-bottom:8px}.map-panel iframe{display:block;width:100%;height:420px;border:0}.map-section{padding-top:60px}.page-overview .opening-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.page-overview .opening-intro .eyebrow,.page-overview .opening-intro h1{grid-column:1/-1}.page-overview .opening-intro h1{max-width:900px}.page-overview .opening-intro .lead{font-size:25px}.topic-tabs{display:flex;gap:25px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line-color);flex-wrap:wrap;font-size:14px}.topic-tabs a{text-decoration:none;color:var(--color-muted)}.topic-tabs [aria-current]{color:var(--color-accent);text-decoration:underline}.page-service1 .opening{display:grid;grid-template-columns:44% 1fr;gap:8%;align-items:center}.page-service1 .opening h1{font-size:clamp(56px,6.5vw,92px)}.strategy-photo img{aspect-ratio:1/1.1}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:1000px}.page-service2 .opening h1{font-size:clamp(54px,7vw,102px);max-width:1000px}.asymmetric-intro{display:grid;grid-template-columns:66% 1fr;gap:7%;margin-top:40px;align-items:center}.dialogue-photo img{aspect-ratio:1.6/1}.side-note{font-size:15px}.large-number{font-family:var(--serif);font-size:110px;color:var(--color-accent);line-height:1.4}.side-note p:last-child{color:var(--color-muted)}.page-service3 .opening-intro{padding-left:25%}.page-about .opening h1{font-size:clamp(55px,7vw,100px)}.identity-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.identity-grid>div:first-child{font-family:var(--serif);font-size:25px;line-height:1.65}.identity-grid a{font:16px/1.7 Arial,Helvetica,sans-serif}.page-contact .opening{display:grid;grid-template-columns:57% 1fr;gap:5%;align-items:center}.page-contact h1{font-size:clamp(50px,5.8vw,82px);margin-bottom:25px}.contact-photo{border:1px solid var(--line-color);padding:14px}.contact-photo img{aspect-ratio:1/1}.inquiry-section{display:grid;grid-template-columns:33% 1fr;gap:9%;padding:70px 0}.form-intro h2{font-size:43px;margin-bottom:25px}.form-intro p{font-size:15px;color:var(--color-muted)}.form-surface{background:var(--color-surface);padding:36px;min-width:0}.contact-form legend{font-family:var(--serif);font-size:30px;margin-bottom:20px}.contact-form label{font-size:13px;margin-top:10px}.contact-form input,.contact-form textarea{background:var(--color-surface)}.contact-form>p{font-size:13px}.contact-form fieldset{gap:5px}.contact-form button[type=submit]{margin-top:20px;justify-content:center}.contact-form fieldset:disabled{opacity:.65}.contact-form input:focus,.contact-form textarea:focus{outline-color:var(--color-accent)}.large-phone a{font:clamp(34px,5vw,68px)/1.3 var(--serif);text-decoration:none}
.site-footer{max-width:1592px;margin:auto;padding:0 var(--gutter);background:var(--color-text);color:var(--color-background)}.site-footer a{color:var(--color-background)}.footer-action{padding:35px 0;display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid #586064}.footer-action p{font:32px/1.2 var(--serif);letter-spacing:-.025em;margin:0}.footer-action>a{font-size:15px;text-decoration:none;min-width:140px;display:flex;justify-content:space-between}.footer-body{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:7%;padding:43px 0 30px;font-size:14px}.footer-brand{font:70px/1 var(--serif);letter-spacing:-5px;text-decoration:none}.footer-brand span{font:12px Arial,Helvetica,sans-serif;letter-spacing:.02em;margin-left:16px}.footer-legal nav{display:flex;flex-direction:column;gap:9px;align-items:flex-start}.footer-legal a{text-decoration:none}.footer-legal button{background:none;padding:0;border:0;color:var(--color-background);font-size:14px;text-decoration:underline;text-underline-offset:4px;text-align:left}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #586064;padding:20px 0;font-size:11px;letter-spacing:.05em;color:#d8d6cd}
.legal-layout{display:grid;grid-template-columns:23% 1fr;gap:10%;padding:70px 0 80px}.legal-layout aside nav{display:flex;flex-direction:column;gap:15px;font-size:14px}.legal-prose{font-size:16px;line-height:1.8;min-width:0}.legal-prose h1{font-size:clamp(39px,4.6vw,65px);margin-bottom:35px;overflow-wrap:normal}.legal-prose h2{font-size:32px;letter-spacing:-.025em;margin:42px 0 18px;line-height:1.2}.legal-prose h3{font-size:25px;margin:27px 0 15px}.legal-prose p,.legal-prose li{max-width:75ch}.legal-prose nav{font-size:14px;display:flex;flex-wrap:wrap;gap:10px 20px;margin:25px 0}.legal-prose details{border-top:1px solid var(--line-color);padding:18px 0}.legal-prose summary{cursor:pointer;font-weight:600}.legal-prose table{font-size:13px;background:var(--color-surface)}.legal-prose th{font-weight:600}.legal-prose button{border:1px solid var(--color-accent);background:var(--color-accent);color:white;padding:12px 20px}.utility-layout{max-width:940px;padding:85px 0 100px}.utility-layout h1{margin-bottom:35px;font-size:clamp(46px,6vw,80px)}.utility-layout .legal-prose h2{font-size:30px}
@media(min-width:1600px){.site-header{max-width:1592px;margin:auto}.hero-copy h1{font-size:87px}}
@media(max-width:1100px){.header-inner{grid-template-columns:210px 1fr;gap:20px}.brand{gap:8px}.brand img{width:90px}.brand span{font-size:10px}.header-right nav{gap:16px}.header-right nav a{font-size:12px}.page-home .opening{grid-template-columns:5% 43% 1fr;gap:2%}.hero-copy h1{font-size:60px}.hero-photo{padding-top:95px}.hero-photo img{aspect-ratio:.8/1}.hero-copy .lead{font-size:19px}.direction-rows h3{font-size:27px}.direction-rows>a{grid-template-columns:35px 1fr 1fr 25px;gap:18px}.rail-section{grid-template-columns:29% 1fr;gap:6%}.faq-grid .faq-list{grid-template-columns:1fr}.columns{gap:4%}.form-surface{padding:28px}.page-service1 .opening{gap:5%;grid-template-columns:46% 1fr}.page-service1 .opening h1{font-size:65px}}
@media(max-width:760px){body{font-size:16px}.site-header{padding-top:16px}.header-inner{grid-template-columns:1fr auto;gap:16px;align-items:center;padding-bottom:16px}.brand img{width:86px;height:46px}.brand span{font-size:10px}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.header-meta{margin:0}.header-meta>span{display:none}.header-meta a{font-size:12px}.header-right nav{grid-column:1/-1;width:100%;align-items:stretch;display:flex;flex-direction:column;gap:0;padding:18px 0 0}.header-right:has(nav:not([hidden])){display:contents}.header-right:has(nav:not([hidden])) .header-meta{grid-column:2;grid-row:1}.header-right:has(nav:not([hidden])) [data-menu-button]{grid-column:2;grid-row:2}.header-right:has(nav:not([hidden])) nav{grid-column:1/-1}.header-right nav a{font-size:16px;padding:13px 0;border-top:1px solid var(--line-color)}[data-menu-button]{font-size:12px;padding:6px 10px;line-height:1.4}.header-right:has(nav:not([hidden])) .header-meta{display:none}.eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:18px}h1{font-size:53px;line-height:1.06}h2{font-size:39px}.lead{font-size:19px}.opening{padding:40px 0}.opening-intro h1{margin-bottom:22px}.page-home .opening{grid-template-columns:1fr;padding-top:35px;gap:0;padding-bottom:35px}.hero-rail{display:none}.hero-copy{padding:0}.hero-copy h1{font-size:59px;margin-bottom:23px}.hero-copy>p:not(.eyebrow){max-width:38ch}.hero-copy .actions{margin-top:22px;gap:15px 23px}.hero-copy .button{font-size:14px}.hero-photo{padding-top:32px}.hero-photo img{aspect-ratio:1.12/1;object-position:60% center}.photo figcaption,.ai-caption{font-size:11px;margin-top:8px}.rail-section{grid-template-columns:1fr;gap:26px;padding:45px 0}.section-heading h2{font-size:35px;max-width:20ch}.section-heading h2 br{display:none}.wide-section{padding:45px 0}.wide-heading{margin-bottom:28px}.wide-heading h2{font-size:39px}.columns{grid-template-columns:1fr;gap:20px}.columns h3{font-size:28px;margin-bottom:10px}.columns>div{border-top:1px solid var(--line-color);padding-top:20px}.columns p{margin-bottom:7px}.direction-rows>a{grid-template-columns:26px 1fr 23px;gap:10px 15px;padding:24px 0}.direction-rows h3{font-size:29px;overflow-wrap:anywhere}.direction-rows p{grid-column:2;grid-row:2}.row-arrow{grid-column:3;grid-row:1}.direction-rows .index{align-self:start;margin-top:5px}.steps{grid-template-columns:1fr;gap:18px}.steps li{display:grid;grid-template-columns:32px 1fr;gap:8px 14px}.steps li:before{grid-row:1/3;margin-top:5px;margin-bottom:0}.steps h3{margin-bottom:0}.steps p{grid-column:2;margin-bottom:0}.detail-photo img{aspect-ratio:1.3/1}.faq-grid .faq-list{grid-template-columns:1fr}.faq-list summary{font-size:16px;padding-top:20px;padding-bottom:20px}.contact-links a{font-size:16px}.contact-links a:first-child{font-size:30px}.contact-links{gap:14px}.map-panel [data-map-placeholder]{padding:28px 24px;min-height:390px}.map-panel [data-map-placeholder]:before,.map-panel [data-map-placeholder]:after{display:none}.map-panel{min-height:390px;border-top:4px solid var(--color-accent)}.map-panel h3{font-size:32px}.map-panel p{font-size:14px}.map-panel a{display:block;font-size:13px}.map-panel iframe{height:420px}.page-overview .opening-intro{display:block}.page-overview .opening-intro .lead{font-size:21px}.framed-photo{padding:10px;margin-top:28px}.framed-photo img{aspect-ratio:1.25/1}.panorama-photo{margin-top:30px}.panorama-photo img{aspect-ratio:1.25/1}.page-service1 .opening{display:block}.page-service1 .opening h1{font-size:62px}.strategy-photo{margin-top:28px}.strategy-photo img{aspect-ratio:1.12/1}.topic-tabs{gap:16px;font-size:12px}.page-service2 .opening h1{font-size:53px}.intro-columns{display:block}.asymmetric-intro{display:block;margin-top:25px}.page-service3 .opening-intro{padding-left:0}.dialogue-photo img{aspect-ratio:1.1/1;object-position:52% center}.side-note{display:grid;grid-template-columns:70px 1fr;gap:10px;margin-top:25px}.large-number{font-size:65px;grid-row:1/3;line-height:1}.side-note p{margin-bottom:8px}.side-note p:last-child{grid-column:2}.page-about .opening h1{font-size:55px}.identity-grid{grid-template-columns:1fr;gap:20px}.identity-grid>div:first-child{font-size:23px}.page-contact .opening{display:block}.page-contact h1{font-size:52px}.contact-photo{margin-top:28px;padding:10px}.contact-photo img{aspect-ratio:1.6/1}.inquiry-section{grid-template-columns:1fr;gap:20px;padding:45px 0}.form-intro h2{font-size:38px}.form-surface{padding:23px 18px}.contact-form>p{font-size:13px}.form-intro p{font-size:15px}.large-phone a{font-size:39px}.footer-action{padding:30px 0;align-items:flex-start;flex-direction:column;gap:22px}.footer-action p{font-size:29px;max-width:20ch}.footer-body{grid-template-columns:1fr;gap:28px;padding:35px 0}.footer-brand{font-size:64px}.footer-body p{margin:0}.footer-legal nav{gap:12px}.footer-bottom{font-size:10px}.legal-layout{display:flex;flex-direction:column;padding:35px 0 55px;gap:35px}.legal-layout aside nav{flex-direction:row;flex-wrap:wrap;gap:10px 22px;font-size:12px}.legal-layout aside .eyebrow{margin-bottom:13px}.legal-prose h1{font-size:40px;line-height:1.15;margin-bottom:25px;overflow-wrap:anywhere}.legal-prose h2{font-size:29px;margin:30px 0 15px}.legal-prose{font-size:15px;line-height:1.8}.legal-prose table{font-size:12px}.utility-layout{padding:45px 0 65px}.utility-layout h1{font-size:45px}.utility-layout .actions{align-items:flex-start}.answer{font-size:15px}.footer-action>a{min-width:160px}}
/* Readable disclosures and comfortable navigation targets at every viewport. */
.map-panel [data-map-placeholder]:before{content:'';width:64px;height:80px;left:17%;top:84px;background:url('../brand/map-pin.svg') center/contain no-repeat}
@media(max-width:760px){.map-panel [data-map-placeholder]:before{display:block;width:32px;height:40px;left:auto;right:24px;top:26px}.map-panel [data-map-placeholder]:after{display:none}}
.photo figcaption,.ai-caption{font-size:12px}
.header-right nav a{min-height:44px;display:flex;align-items:center}
[data-menu-button]{min-height:44px;min-width:64px}
.footer-legal a,.footer-legal button{min-height:44px;display:flex;align-items:center}
.legal-layout aside nav a{min-height:44px;display:flex;align-items:center}
h1,h2,h3{hyphens:auto;overflow-wrap:break-word}
@media(max-width:360px){.brand span{display:none}.hero-copy h1{font-size:52px}.page-service2 .opening h1{font-size:46px}.page-contact h1{font-size:46px}}
