/* Mobile art direction; desktop keeps the original layout. */
.menu-toggle,#mobile-menu{display:none}
.hero-photo picture,.evaluation-photo picture,.portrait-photo picture,.space-photo picture{display:block;min-width:0}
@media(max-width:680px){
:root{--mg:clamp(20px,5.6vw,32px);--mr:12px}html{scroll-padding-top:88px}body{font-size:1rem}main,section,article,figure,section>div{min-width:0}h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}p{font-size:1rem;line-height:1.65}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #687d52;outline-offset:4px}.dark a:focus-visible{outline-color:#dce7c9}
header{position:sticky;top:0;z-index:30;margin:0;height:auto;min-height:68px;padding:8px var(--mg);gap:12px;background:var(--paper);border-bottom:1px solid var(--line)}header .brand{font-size:21px;letter-spacing:-.7px;margin-right:auto;display:inline-flex;align-items:center;min-height:44px}header>nav{display:none}.navcta{font-size:13px;font-weight:500;padding:12px 0;min-height:44px;display:inline-flex;align-items:center}.navcta span{display:none}.menu-toggle,.menu-close{display:flex;border:1px solid var(--line);background:transparent;color:var(--ink);flex:0 0 44px;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;cursor:pointer}.menu-toggle{flex-direction:column;gap:5px}.menu-toggle span{width:17px;height:1px;background:currentColor}
#mobile-menu{inset:0 0 auto;margin:0;width:100%;max-width:none;max-height:100dvh;padding:12px var(--mg) 28px;border:0;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink);overflow:auto}#mobile-menu[open]{display:block}#mobile-menu::backdrop{background:#101c29a6}.menu-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.menu-heading .brand{font-size:21px}.menu-close{font-size:28px;font-weight:300}#mobile-menu nav{display:grid;gap:0}#mobile-menu nav a{display:flex;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--line);font-size:clamp(20px,6vw,25px);letter-spacing:-.03em}#mobile-menu nav a span{font-size:12px;letter-spacing:.08em;color:#53664f}.menu-cta{width:100%;margin-top:24px}#mobile-menu>p{font-size:13px;margin:18px 0 0;color:#53616b}body.menu-open{overflow:hidden}
.hero{padding:22px var(--mg) 0}.eyebrow{display:block;font-size:12px;line-height:1.5;letter-spacing:.015em;color:#52614f;max-width:32ch}.eyebrow>span:last-child{display:none}.hero-grid{display:grid;grid-template-columns:1fr;gap:24px;padding:23px 0 24px}.intro{font-size:12px;letter-spacing:.09em;margin:0 0 14px;color:#53616b}h1{font-size:clamp(2.05rem,8.5vw,2.75rem);line-height:1.09;letter-spacing:-.045em;font-weight:450;max-width:15ch;margin:0}.hero-desc{font-size:1rem;line-height:1.55;margin:20px 0 22px;max-width:38ch;color:#485763}.hero .actions{display:grid;grid-template-columns:1fr;gap:4px}.button,.hero .actions .button{min-height:54px;padding:17px 20px;align-items:center;font-size:14px;line-height:1.4;border-radius:6px;letter-spacing:.025em;font-weight:500}.button:hover{transform:none}.hero .actions .textlink{justify-self:center;min-height:44px;border:0;font-size:14px}.hero-photo{border-radius:var(--mr);margin:0}.hero-photo img{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;object-position:50% 57%}.hero-photo figcaption{padding:14px 16px;display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:1.4}.hero-photo figcaption span+span{margin:0;font-size:12px}.hero-foot{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:20px 0 24px}.hero-foot span{font-size:11px;line-height:1.45;letter-spacing:.055em}.hero-foot a{display:none}
.section{padding:64px var(--mg)}section[id]{scroll-margin-top:12px}.section-label{font-size:12px;letter-spacing:.085em;line-height:1.5;margin:0 0 18px}h2,.about h2{font-size:clamp(1.8rem,7.5vw,2.2rem);line-height:1.16;letter-spacing:-.035em;margin:0 0 24px}h2 br{display:none}h2 .muted{display:block;margin-top:3px}.muted{color:#617582}h3{font-size:1.5rem;line-height:1.2}.section-top{display:block;margin:0 0 30px}.section-top h2{margin:0}.section-intro{max-width:40ch;margin:18px 0 0;color:#485763}.dark .section-intro{color:#c7ced1}.two-copy{gap:18px}.insight{display:block}
.method-list{margin:30px 0 0;border-top:0}.method-list article{grid-template-columns:36px 1fr;gap:9px 14px;padding:22px 0;border-top:1px solid #edebe62e;border-bottom:0;align-items:start}.method-list .step{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #edebe63d;border-radius:50%;color:#c6d2bd;font-size:12px}.method-list h3{font-size:1.75rem;line-height:1.15}.method-list p{grid-column:2;grid-row:2;font-size:1rem;line-height:1.6;max-width:32ch}.method-list .down{display:none}.method-note{border-top:1px solid #edebe62e;padding-top:22px;margin:6px 0 0}.method-note>span{font-size:11px;letter-spacing:.045em;line-height:1.6;color:#c6d2bd}.method-note p{margin-top:12px;font-size:14px}
.evaluation-grid{display:grid;grid-template-columns:1fr;gap:12px;padding:0}.evaluation-grid article{border:1px solid var(--line);border-radius:var(--mr);padding:24px 20px;background:#fff5}.technical-mark{font-size:12px;line-height:1.5;letter-spacing:.07em}.evaluation-grid h3{font-size:1.5rem;margin:12px 0;text-transform:none}.evaluation-grid p{margin:0 0 20px}.evaluation-grid .small{font-size:12px;padding-top:14px;border-top:1px solid var(--line);letter-spacing:.04em}.evaluation-photo{grid-template-columns:1fr;border-radius:var(--mr);overflow:hidden;margin:24px 0 0;gap:0}.evaluation-photo img{height:auto;aspect-ratio:1.12;object-position:50% 63%}.evaluation-photo figcaption{padding:24px 20px}.evaluation-photo h3{font-size:1.65rem;margin:10px 0 16px}.evaluation-photo figcaption .section-label{margin:0}.section-top>.textlink{margin-top:16px}.textlink{min-height:44px;display:inline-flex;align-items:center;max-width:100%;font-size:14px;line-height:1.5;padding:10px 0}
.service-list{display:grid;gap:14px;margin:0}.service-list article{display:grid;grid-template-columns:1fr;gap:14px;padding:24px 20px;border:1px solid var(--line);border-radius:var(--mr);background:var(--paper)}.service-list .step{font-size:12px;color:#52614f;letter-spacing:.08em}.service-list h3{font-size:clamp(1.45rem,6vw,1.7rem);line-height:1.17;margin:0 0 14px;text-wrap:balance}.service-list p{margin:0 0 14px;line-height:1.6}.service-list article>div>p:last-child{margin:0}.service-list .small{font-size:12px;line-height:1.6;display:block;letter-spacing:.025em}.service-list .small+h3{margin-top:12px}.service-list .featured{background:var(--ink);border-color:var(--ink);color:var(--paper)}.service-list .featured .small,.service-list .featured .step{color:#c6d2bd}.service-cta{grid-column:1;justify-self:stretch;justify-content:space-between;align-items:center;display:flex;min-height:48px;padding:13px 14px;border:1px solid var(--line);border-radius:6px;font-size:13px;line-height:1.45;margin-top:4px;background:var(--cream);color:var(--ink)}.service-note{border:0;padding:0;margin:20px 0 0;font-size:14px;line-height:1.6}
.planning{gap:28px}.planning h2 br{display:none}.planning>div>p:not(.section-label){margin:0 0 12px}.plan-sheet{margin:0;padding:24px 20px;border-radius:var(--mr)}.sheet-header{font-size:12px;padding-bottom:18px;gap:12px}.plan-sheet h3{font-size:1.75rem;margin:24px 0}.plan-sheet dl{margin-bottom:20px}.plan-sheet dl div{display:grid;grid-template-columns:1fr;gap:5px;padding:14px 0;font-size:14px}.plan-sheet dt{font-size:12px;color:#52614f}.plan-sheet dd{text-align:left;max-width:none;font-size:1rem;line-height:1.45}.plan-sheet>p{font-size:12px;margin:0;line-height:1.5}
.results-placeholder{display:block;border:0;padding:0}.results-placeholder .small{font-size:12px;line-height:1.6;display:block;color:#52614f}.results-placeholder h3{font-size:1.6rem;margin:16px 0}.results-placeholder p{font-size:1rem}.review-quotes{border:0;gap:12px;margin-top:24px}.review-quotes blockquote{border:1px solid #1a27331c;background:#f7f5f19c;border-radius:var(--mr);padding:24px 20px;font-size:1.0625rem;line-height:1.55}.review-quotes cite{margin-top:16px;font-size:12px;color:#52616b}
.about{display:flex;flex-direction:column;gap:28px}.about>div:last-child{order:0}.portrait-photo{order:1;width:100%}.portrait-photo img{height:auto;max-height:none;aspect-ratio:4/5;object-position:50% 47%;border-radius:var(--mr)}.portrait-photo figcaption{font-size:12px;line-height:1.5;padding:12px 0 0}.about blockquote{margin:24px 0;padding:0 0 0 18px;font-size:1.125rem;line-height:1.6}.credentials{gap:12px;font-size:14px;margin:24px 0 14px}.faq{gap:8px}.faq h2{margin-bottom:20px}summary{padding:22px 34px 22px 0;font-size:1rem;line-height:1.5}summary::after{width:24px;height:24px;text-align:center;top:22px;font-size:21px;line-height:24px}details[open] summary{color:#435f3c}details p{font-size:1rem;padding:0 0 24px;line-height:1.65}
.location{gap:24px}.location .address{font-size:1.4rem;line-height:1.5;letter-spacing:-.02em}.location h2{margin:0}.space-photo{margin:0}.space-photo img{height:auto;aspect-ratio:1.15;object-position:50% 60%;border-radius:var(--mr)}.space-photo figcaption{padding:12px 0 0;font-size:12px;line-height:1.5}.final-cta h2{font-size:clamp(2rem,8.5vw,2.6rem);line-height:1.13;letter-spacing:-.04em}.final-cta h2 br{display:none}.final-bottom{margin:24px 0 0}.final-bottom p{margin:0}.final-bottom .button{margin-top:24px;min-width:0}.journey{grid-template-columns:1fr;margin-top:30px;padding-top:24px;gap:20px;font-size:14px}.journey li{display:flex;align-items:center;gap:16px}.journey span{margin:0;font-size:12px}.form-note{font-size:11px;line-height:1.6;letter-spacing:.045em;margin:24px 0 0}
footer{padding:32px var(--mg) calc(100px + env(safe-area-inset-bottom));gap:14px 20px}footer .brand{font-size:24px}footer p{font-size:13px;line-height:1.6}footer>a:not(.brand){min-height:44px;display:flex;align-items:center;font-size:14px}.mobile-cta{display:flex;align-items:center;left:var(--mg);right:var(--mg);bottom:calc(12px + env(safe-area-inset-bottom));min-height:54px;padding:16px 20px;font-size:14px;line-height:1.4;border:1px solid #ffffff38;border-radius:8px;box-shadow:0 5px 22px #101c2926;z-index:20}.mobile-cta.hidden{display:none}.button,.service-cta,.mobile-cta,.menu-toggle,.menu-close{transition:background-color .18s ease,transform .18s ease}.button:active,.service-cta:active,.mobile-cta:active,.menu-toggle:active,.menu-close:active{transform:scale(.98)}.skip{z-index:50}
}
@media(max-width:350px){header{gap:8px}header .brand{font-size:19px}.navcta{font-size:12px}.hero-foot{gap:12px}.hero-foot span{font-size:10px}}
@media(max-width:680px) and (prefers-reduced-motion:no-preference){#mobile-menu[open]{animation:mobile-menu-in .22s ease-out}@keyframes mobile-menu-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:680px){
h1{max-width:none;font-weight:400}
.evaluation-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:0 0 14px;scrollbar-width:thin;scrollbar-color:#718390 #1a27330d;overscroll-behavior-x:contain}
.evaluation-grid article{flex:0 0 calc(100% - 24px);scroll-snap-align:start;min-width:0}
.evaluation-grid p{flex:1}
.mobile-swipe-hint{display:flex;justify-content:space-between;margin:0 0 14px;color:#52614f;font-size:12px;letter-spacing:.03em}
}
@media(min-width:681px){.mobile-swipe-hint{display:none}}
/* Final mobile polish: a four-pixel rhythm and restrained surfaces. */
@media(max-width:680px){
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-section:64px;--mr:8px;--button-radius:6px;--secondary:#52616b}
html{scroll-padding-top:calc(76px + env(safe-area-inset-top));scroll-padding-bottom:88px}
header{padding-top:calc(var(--space-2) + env(safe-area-inset-top));padding-left:max(var(--mg),env(safe-area-inset-left));padding-right:max(var(--mg),env(safe-area-inset-right))}
#mobile-menu{padding-top:calc(var(--space-3) + env(safe-area-inset-top));padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}
section[id]{scroll-margin-top:var(--space-3)}
.section{padding-top:var(--space-section);padding-bottom:var(--space-section)}
.section-label{margin-bottom:var(--space-4)}
.section-top{margin-bottom:var(--space-8)}
.section-intro{margin-top:var(--space-4)}
.two-copy{gap:var(--space-4)}
.hero-grid{padding-top:var(--space-6);gap:var(--space-6)}
.intro{margin-bottom:var(--space-4)}
.hero-desc{margin:var(--space-5) 0 var(--space-6)}
.hero-foot{gap:var(--space-4);padding:var(--space-5) 0 var(--space-6)}
.hero-foot span{font-size:12px;letter-spacing:.01em}
.hero-photo figcaption{padding:var(--space-4);gap:var(--space-1)}
.method-list{margin-top:var(--space-8)}
.method-list article{padding:var(--space-6) 0;gap:var(--space-2) var(--space-4)}
.method-note{padding-top:var(--space-6);margin-top:var(--space-1)}
.method-note>span{font-size:12px;letter-spacing:0}
.method-note p{margin-top:var(--space-3)}
.evaluation-photo img{aspect-ratio:1;object-position:50% 59%}
.evaluation-photo h3{font-size:1.5rem;line-height:1.25}
.evaluation-grid:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.service-list{gap:var(--space-4)}
.service-list article{gap:var(--space-4)}
.service-list h3{margin-bottom:var(--space-4)}
.service-list p{margin-bottom:var(--space-4)}
.service-cta{font-size:14px;gap:var(--space-3);padding-inline:var(--space-4)}
.service-cta span:last-child{font-family:Arial,sans-serif;flex:0 0 16px;text-align:right}
.button,.mobile-cta,.service-cta{border-radius:var(--button-radius);font-weight:500;letter-spacing:0}
.mobile-cta{box-shadow:0 4px 16px #101c2920;left:max(var(--mg),env(safe-area-inset-left));right:max(var(--mg),env(safe-area-inset-right))}
.review-quotes{gap:0;border-top:1px solid var(--line)}
.review-quotes blockquote{padding:var(--space-6) 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
.review-quotes cite{margin-top:var(--space-3);color:var(--secondary)}
.planning,.about{gap:var(--space-8)}
.about>div>p:not(.section-label){margin:var(--space-4) 0}
.portrait-photo img{object-position:50% 54%}
.form-note{font-size:12px;letter-spacing:.025em}
footer a{scroll-margin-bottom:88px}
}
@media(max-width:350px){
.hero-foot{column-gap:var(--space-2)}
.hero-foot span{font-size:11px}
.mobile-swipe-hint{gap:var(--space-2);font-size:11px}
}
@media(max-width:680px) and (max-height:650px){
.hero{padding-top:var(--space-4)}
.hero-grid{padding-top:var(--space-4)}
.hero-desc{margin:var(--space-4) 0 var(--space-5)}
#mobile-menu nav a{padding-block:var(--space-3)}
.menu-heading{margin-bottom:var(--space-4)}
}
@media(max-width:350px){h1{font-size:1.8rem;line-height:1.12;letter-spacing:-.04em}}

/* Exclude the embedded letterbox bars while preserving the original photo. */
.portrait-photo img{height:auto;aspect-ratio:645/1146;object-fit:cover;object-position:50% 50%}
@media(max-width:680px){.portrait-photo img{aspect-ratio:4/5;object-position:50% 54%}}

/* Location: real Google Maps, restrained brand framing. */
.location-map{grid-column:1/-1;margin:20px 0 0;border:1px solid var(--line);background:var(--paper);overflow:hidden}
.map-frame{aspect-ratio:2.4;min-height:280px;background:var(--cream)}
.map-frame iframe{display:block;width:100%;height:100%;min-height:280px;border:0;filter:saturate(.35)}
.location-map figcaption{display:flex;justify-content:space-between;gap:12px;padding:18px 22px;color:var(--ink);font-size:13px;line-height:1.5;border-top:1px solid var(--line)}
.location-map figcaption span:last-child{color:#52616b}
@media(max-width:680px){.location-map{margin:0;border-radius:8px}.map-frame{aspect-ratio:1.35;min-height:240px}.map-frame iframe{min-height:240px}.location-map figcaption{flex-direction:column;gap:4px;padding:16px;font-size:12px}}
