/* Shared finishing layer: calm spacing, readable type and a continuous visit flow. */
:root{--muted:#686257}
.benefits-heading h2{ text-wrap:balance }
.why-description,.about-lead,.section-intro>p{word-break:keep-all;overflow-wrap:break-word}
html{scroll-padding-top:28px}
.section{padding-top:88px;padding-bottom:88px}
.hero-photo{min-height:clamp(640px,82svh,860px)}
.hero-copy{align-self:center;padding-top:70px;padding-bottom:105px}
.hero-copy h1{font-size:clamp(50px,5.2vw,78px)}
.hero-bottom p{font-size:16px}
.manifesto{padding-top:68px;padding-bottom:68px;grid-template-columns:1fr 3fr;background-image:none}
.manifesto h2{font-size:clamp(27px,2.6vw,36px);line-height:1.55}
.manifesto-note{display:none}
.manifesto p:not(.eyebrow){font-size:14px;line-height:1.9;margin:20px 0 0}
.section-intro{margin:26px 0 38px;gap:32px}
.section-intro h2{font-size:clamp(29px,3vw,40px);line-height:1.5}
.section-intro>p{font-size:14px;max-width:340px}
.services{background-image:none}
.services .service{min-height:205px;padding:32px 24px}
.services .service.preview-open{min-height:570px;padding-top:340px;padding-bottom:50px}
.service p{line-height:1.9}
.portfolio{padding-top:64px;background-image:none}
.work-stage{max-height:660px}
.work-hint{background:#28251ed9}
.tiny,.service-no,.service-tag,.benefit-card .why-detail{color:#78664d}
.section.benefits{padding:64px 8%;background:#eae4d9}
.benefits-heading,.benefits-gallery{max-width:none}
.benefits-heading h2{font-size:clamp(30px,3.1vw,44px);line-height:1.35}
.benefit-card{min-height:430px;border:1px solid #d7cdbc;padding-right:17%}
.benefit-card .why-description{color:#5c554a;font-size:15px}
.benefit-card .why-concern{color:#71624e}
.benefit-card svg{opacity:.65}
.process{background-image:none}
.process-steps{margin-bottom:0}
.process-steps li>span{font-size:26px}
.process-steps li:not(:last-child)::after{right:-17px;font-size:15px}
.process-steps p{font-size:13px;line-height:1.8}
.about{padding-top:64px;padding-bottom:64px}
.about-photo:not(:has(img)){display:none}
.about:not(:has(.about-photo img)){display:block}
.about:not(:has(.about-photo img)) .about-copy{display:grid;grid-template-columns:1.2fr 1fr;column-gap:10%;padding:0}
.about-copy>.eyebrow{grid-column:1/-1}
.about-copy h2{font-size:clamp(29px,3vw,40px);line-height:1.5;grid-row:2/4}
.about-copy .about-lead{margin:0 0 24px;font-size:15px}
.about .values article{padding:20px 0 0}
.about .values h3{font-size:15px}
.about .values p{font-size:13px}
.about-photo:has(img){min-height:400px}
.location{padding-top:64px;padding-bottom:72px}
.location-layout{margin-top:24px}
.location-address{font-size:18px;margin-top:22px}
.location-calls{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px}
.location-call{font-size:14px}
#office-map{height:390px}
.contact{padding-top:74px;padding-bottom:34px;background-image:radial-gradient(ellipse at 50% 0,#ffffff50,transparent 72%)}
.contact h2{font-size:clamp(39px,4.6vw,64px);line-height:1.35;margin:24px 0}
.contact-buttons{flex-wrap:wrap;max-width:1000px;margin:30px auto}
.contact-buttons>*{min-height:64px;font-size:14px;padding:18px 22px}
.contact-meta{line-height:1.8}
footer{padding-top:22px;padding-bottom:22px}
@media(max-width:760px){
 .section{padding-top:56px;padding-bottom:56px}
 .header nav{gap:clamp(10px,3.7vw,22px);font-size:11px;white-space:nowrap}
 .hero-photo{min-height:660px}
 .hero-copy{padding:65px 7% 110px;align-self:center}
 .hero-copy h1{font-size:clamp(38px,10vw,54px)}
 .hero-bottom p{font-size:14px}
 .manifesto{display:block;padding:44px 7%}
 .manifesto>.eyebrow{margin-bottom:20px}
 .manifesto h2{font-size:26px}
 .manifesto p:not(.eyebrow){font-size:13px}
 .section-intro{margin-bottom:28px}
 .section-intro h2{font-size:28px}
 .section-intro>p{font-size:13px;margin-top:18px}
 .services .service{min-height:190px;padding:27px 12px}
 .services .service.preview-open{min-height:490px;padding:275px 16px 58px}
 .work-stage{aspect-ratio:1.1;max-height:520px}
 .work-toolbar{gap:8px}
 .work-toolbar>p{font-size:15px}
 .work-navigation{gap:8px}
 .work-hint{font-size:10px}
 .section.benefits{padding:46px 6%}
 .benefits-heading h2{font-size:29px;letter-spacing:-1.3px;max-width:330px}
 .benefit-card{padding:30px 7% 88px;min-height:470px}
 .benefit-card .why-description{font-size:14px}
 .benefit-card h3{font-size:clamp(25px,6.5vw,30px)}
 .benefit-controls::before{display:none}
 .benefit-controls{justify-content:space-between}
 .process-steps li{padding:22px 0}
 .process-steps li>span{font-size:13px}
 .about:not(:has(.about-photo img)) .about-copy{display:block}
 .about-copy h2{font-size:29px}
 .about-copy .about-lead{font-size:14px;margin:22px 0}
 .about-photo:has(img){min-height:0}
 .location-layout{gap:28px}
 #office-map{height:320px}
 .map-caption{flex-wrap:wrap}
 .contact{padding:54px 6% 28px}
 .contact h2{font-size:clamp(35px,9.6vw,45px)}
 .contact-buttons{display:grid;grid-template-columns:1fr;gap:10px;margin:26px auto;max-width:420px}
 .contact-buttons>*{display:flex;flex-direction:row;max-width:none;width:100%;gap:14px;min-height:60px;padding:16px;font-size:14px}
 .contact-buttons .line-icon{margin:0}
 .contact-meta{flex-direction:column;gap:6px;font-size:11px}
 footer .brand{width:77px;height:75px}
 footer .brand-logo{width:104px;height:104px;left:-13px;top:-18px}
}
/* Photo-specific construction captions stay readable beside the gallery controls. */
.work-toolbar { align-items:center; gap:28px; }
.work-caption { flex:1; min-width:0; }
.work-caption>span { display:block; font-size:12px; letter-spacing:.12em; color:#81735f; margin-bottom:10px; }
.work-caption h3 { margin:0 0 10px; font-size:clamp(22px,2.2vw,32px); line-height:1.4; font-weight:650; }
.work-caption p { margin:0; max-width:680px; font-size:clamp(14px,1.15vw,17px); line-height:1.8; color:#68645c; word-break:keep-all; }
.work-navigation { flex-shrink:0; }
@media(max-width:700px) {
 .work-toolbar { flex-direction:column; align-items:stretch; gap:20px; }
 .work-caption { min-height:130px; }
 .work-navigation { align-self:flex-end; }
 .work-dots { gap:10px; }
}
/* Keep the complete footer mark inside its own square, without crop offsets. */
footer .brand { width:146px; height:146px; overflow:visible; }
footer .brand .brand-logo { position:static; display:block; width:100%; height:100%; max-width:100%; object-fit:contain; object-position:center; margin:0; transform:none; }
@media(max-width:760px) { footer .brand { width:104px; height:104px; } }
/* A clear, selectable address and a tap-sized clipboard action. */
.address-panel{margin-top:22px;padding:18px 20px;border-left:3px solid #887252;background:#eae3d6;display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}
.location .address-panel .location-address{flex:1 1 240px;margin:0;font-size:clamp(18px,1.6vw,23px);line-height:1.65;color:#39352e;word-break:keep-all;user-select:text}
.location .address-panel .location-address strong{font-size:clamp(22px,2vw,28px);font-weight:750;color:#302b24}
.copy-address{flex-shrink:0;min-height:44px;padding:10px 15px;background:#65553f;color:#fff;border:1px solid #65553f;border-radius:3px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.copy-address:hover{background:#4e412f}.copy-address span{margin-left:7px}
.copy-address-status{width:100%;font-size:12px;line-height:1.5;color:#5d513f}
.copy-address-status:empty{display:none}
@media(max-width:760px){.address-panel{margin-top:16px;padding:14px 15px;gap:10px}.location .address-panel .location-address{flex-basis:100%;font-size:18px}.location .address-panel .location-address strong{font-size:23px}.copy-address{padding:10px 14px}}
/* Moderate address emphasis. */
.address-panel{padding:14px 16px;gap:10px 14px}
.location .address-panel .location-address{font-size:clamp(17px,1.4vw,20px);line-height:1.6}
.location .address-panel .location-address strong{font-size:clamp(19px,1.7vw,23px);font-weight:650}
@media(max-width:760px){.address-panel{padding:12px 14px}.location .address-panel .location-address{font-size:16px}.location .address-panel .location-address strong{font-size:20px}}
footer{flex-wrap:wrap}
footer .footer-business{flex:0 0 100%;width:100%;padding-top:16px;border-top:1px solid #c8bca9;font-size:12px;line-height:1.9;color:#655e53;letter-spacing:0;word-break:keep-all;overflow-wrap:anywhere}
.footer-business .business-row{display:flex;flex-wrap:wrap;gap:0 20px}
.footer-business a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){footer .footer-business{font-size:11px;line-height:1.85;padding-top:14px}.footer-business .business-row{gap:0 14px}}
