@font-face{font-family:SiteDisplay;src:local('Arial Black');font-weight:900;font-display:swap}
:root{--ink:#14212b;--ink-light:#253642;--orange:#ff742e;--orange-dark:#b64000;--text:#25333d;--muted:#5d6871;--line:#d9e0e4;--pale:#f1f4f5;--white:#fff;--radius:4px;--max:1264px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:102px}body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.6;color:var(--text);background:#fff}body,h1,h2,h3,p,figure,ul,ol{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}img{display:block;max-width:100%}::selection{background:var(--orange);color:var(--ink)}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.section{padding:100px 0}.eyebrow{font-size:.8rem;font-weight:700;line-height:1.5;letter-spacing:.14em;color:var(--orange-dark);margin-bottom:23px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:58px;padding:16px 24px;border:1px solid transparent;border-radius:var(--radius);background:var(--orange);color:#14212b;font-size:.95rem;font-weight:700;line-height:1.4;text-align:center;transition:background .2s,transform .2s}.button:hover{background:#ff9256;transform:translateY(-2px)}.button>span{font-size:1.35rem;line-height:1}.button-small{font-size:.875rem;min-height:46px;padding:12px 18px;gap:20px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:.93rem;font-weight:700;line-height:1.4;padding:10px 0;border-bottom:1px solid currentColor}.text-link:hover{color:var(--orange-dark)}.text-link>span{font-size:1.3rem}h2{font-size:clamp(2.1rem,3.6vw,3.1rem);line-height:1.1;letter-spacing:-.045em;color:var(--ink);font-weight:800}h3{font-size:1.27rem;line-height:1.3;letter-spacing:-.025em;font-weight:700;color:var(--ink)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--white);color:var(--ink);padding:12px 20px}.skip-link:focus{top:10px}.announcement{background:var(--ink);color:#cbd3d8;font-size:.75rem;letter-spacing:.06em}.announcement-inner{min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:20px}.announcement a{letter-spacing:0;font-size:.875rem}.announcement a span{color:var(--white);font-weight:700;margin-left:8px}.announcement a:hover{text-decoration:underline}.site-header{background:white;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 #d9e0e4}.header-inner{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;flex-direction:column;line-height:1;flex-shrink:0}.wordmark{font-family:SiteDisplay,Arial,Helvetica,sans-serif;font-size:2.05rem;font-weight:900;letter-spacing:-.06em;color:var(--ink)}.wordmark>span{color:var(--orange)}.brand-caption{font-size:.75rem;letter-spacing:.015em;font-weight:600;margin-top:8px}.desktop-nav{display:flex;gap:30px;font-size:.875rem;font-weight:600}.desktop-nav a{padding:12px 0;position:relative}.desktop-nav a:hover{color:var(--orange-dark)}.menu-toggle{display:none;width:48px;height:48px;background:none;border:1px solid var(--line);border-radius:3px;padding:13px;cursor:pointer}.menu-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:5px 0}.mobile-nav{position:absolute;width:100%;background:white;border-top:1px solid var(--line);box-shadow:0 18px 26px #14212b18;padding:16px 32px 24px}.mobile-nav:not([hidden]){display:grid;gap:4px}.mobile-nav a{padding:13px 0;font-weight:600}.mobile-nav a:last-child{color:var(--orange-dark)}
.hero{background:var(--ink);color:var(--white);overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.15fr .92fr;gap:55px;align-items:center;padding:57px 0 46px}.hero-copy{padding:12px 0 4px;min-width:0}.light-eyebrow{color:#ffd2b7}.hero-copy .eyebrow{display:flex;gap:12px;align-items:center;margin-bottom:26px;font-size:.8rem}.short-rule{height:2px;width:28px;background:var(--orange)}h1{font-family:SiteDisplay,Arial,Helvetica,sans-serif;font-size:clamp(2.9rem,4.8vw,4.75rem);font-weight:900;line-height:1.035;letter-spacing:-.055em;max-width:700px}h1>span{color:var(--orange)}.hero-description{font-size:1.15rem;line-height:1.65;color:#ccd3d9;margin-top:28px;max-width:430px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px;flex-wrap:wrap}.hero-actions .button{padding:17px 21px;gap:16px}.light-link{color:#fff;font-size:.875rem;border-color:#61707a}.light-link:hover{color:#ffaf82}.hero-location{display:flex;gap:9px;align-items:center;margin-top:29px;font-size:.875rem;color:#c0cbd1}.hero-location svg{width:17px;height:17px;flex-shrink:0;stroke:var(--orange)}.hero-visual{position:relative;height:508px;margin:0 0 12px 0;border-radius:3px;min-width:0}.hero-visual:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#081016bd);pointer-events:none;border-radius:3px}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 50%;border-radius:3px}.hero-visual figcaption{position:absolute;z-index:1;bottom:32px;left:30px;color:white;display:grid;gap:4px}.photo-caption-top{font-size:.8rem;letter-spacing:.17em;font-weight:700}.photo-caption-bottom{font-size:1.8rem;font-weight:700;letter-spacing:-.04em}.corner-label{position:absolute;z-index:2;right:-15px;top:30px;transform:rotate(4deg);font-size:.75rem;letter-spacing:.065em;font-weight:800;line-height:1;background:var(--orange);color:var(--ink);padding:17px 18px;box-shadow:0 6px 12px #0002}.hero-bottom{border-top:1px solid #ffffff24;padding:20px 0 22px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.75rem;letter-spacing:.045em;color:#a9b7c1}.hero-bottom>span:first-child{font-family:Georgia,serif;font-size:1.025rem;letter-spacing:.01em;font-style:italic;color:#e7e8e9}.hero-bottom i{font-style:normal;color:var(--orange);margin:0 14px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:43px}.section-intro{max-width:352px;color:var(--muted);font-size:1rem;line-height:1.8;margin-bottom:3px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{display:flex;flex-direction:column;min-width:0;padding:30px 28px 25px;border:1px solid var(--line);border-radius:var(--radius);background:white;transition:border-color .2s,box-shadow .2s,transform .2s}.service-card:hover{border-color:#ffb186;box-shadow:0 10px 25px #14212b09;transform:translateY(-3px)}.service-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.service-card-top svg{width:32px;height:32px;color:var(--orange-dark)}.service-card-top>span{color:#7a858d;font-size:.8rem;letter-spacing:.1em;font-variant-numeric:tabular-nums}.service-card>p{color:var(--muted);margin-top:13px;line-height:1.65;font-size:1rem}.service-card ul{list-style:none;padding:0;margin:21px 0 27px;font-size:1rem;line-height:1.65}.service-card li{padding:4px 0 4px 14px;position:relative}.service-card li:before{content:"";position:absolute;width:4px;height:4px;background:var(--orange);top:14px;left:0}.service-link{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #e5e9ec;padding-top:18px;font-size:.875rem;line-height:1.4;font-weight:700;margin-top:auto;min-height:44px}.service-link>span{color:var(--orange-dark);font-size:1.35rem}.service-link:hover{color:var(--orange-dark)}.services-footnote{display:flex;justify-content:center;align-items:center;gap:23px;margin-top:33px;font-size:1rem;color:var(--muted)}.services-footnote .text-link{color:var(--ink);flex-shrink:0}
.about{background:var(--pale);border-top:1px solid #e7ecef;border-bottom:1px solid #e7ecef}.about-layout{display:grid;grid-template-columns:.93fr 1fr;gap:100px}.about-statement{padding-left:34px;border-left:4px solid var(--orange);min-width:0}.about-statement h2{font-size:clamp(3.1rem,5.8vw,5rem);letter-spacing:-.06em;line-height:1.05}.about-statement h2 span{color:var(--orange-dark)}.signature{font-family:Georgia,serif;font-size:1.23rem;font-style:italic;margin-top:34px;color:#53626c}.about-copy>p{color:var(--muted);margin-bottom:19px;line-height:1.85}.about-copy>.large-copy{font-size:1.37rem;line-height:1.55;letter-spacing:-.02em;color:var(--ink);font-weight:600;margin-bottom:24px}.principles{display:grid;gap:19px;margin:30px 0 26px}.principles>div{display:flex;align-items:flex-start;gap:14px}.check{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--orange-dark);width:25px;height:25px;border:1px solid #d5dfe4;border-radius:50%;font-size:.875rem;margin-top:1px}.principles h3{font-size:1rem;letter-spacing:0}.principles p{font-size:1rem;margin-top:5px;color:var(--muted)}
.process-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.process-grid li{border-top:1px solid var(--line);padding-top:24px}.step-number{font-size:2.45rem;line-height:1;letter-spacing:-.07em;font-weight:700;color:var(--orange-dark);display:block;margin-bottom:24px}.process-grid h3{margin-bottom:14px}.process-grid p{color:var(--muted);line-height:1.8;font-size:1rem}.process .section-heading .text-link{flex-shrink:0}
.area{padding:72px 0;background:var(--pale);border-top:1px solid #e7ecef}.area-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.area h2{font-size:clamp(2rem,3vw,2.6rem)}.area .eyebrow{margin-bottom:19px}.area p:not(.eyebrow){color:var(--muted);margin-top:23px;max-width:450px;line-height:1.8}.area-list{display:flex;flex-wrap:wrap;gap:10px}.area-list span{background:#fff;border:1px solid #d8e0e4;border-radius:3px;font-size:.875rem;font-weight:500;padding:9px 15px}
.contact{background:var(--ink);color:white;padding:86px 0}.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center}.contact-copy{min-width:0}.contact h2{font-family:SiteDisplay,Arial,sans-serif;font-size:clamp(2rem,3.6vw,3.3rem);color:white;line-height:1.08;letter-spacing:-.05em;font-weight:900}.contact h2>span{color:var(--orange)}.contact-copy>p:not(.eyebrow):not(.contact-note){color:#c0ccd3;font-size:1.07rem;line-height:1.8;margin-top:22px;margin-bottom:29px}.contact-note{font-size:.875rem;color:#b1bdc5;margin-top:17px;max-width:380px}.contact-details{border-left:1px solid #ffffff29;padding-left:54px;min-width:0}.contact-row{padding:25px 0;border-bottom:1px solid #ffffff26}.contact-row:first-child{padding-top:0}.contact-row:last-child{border-bottom:0;padding-bottom:0}.contact-label{display:block;font-size:.8rem;color:#b1bdc5;letter-spacing:.12em;font-weight:700;margin-bottom:10px}.phone-number{font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.3;display:block}.phone-number:hover,.email-address:hover{color:var(--orange)}.email-address{font-size:1.075rem;font-weight:600;display:inline-flex;gap:18px;align-items:center;overflow-wrap:anywhere}.email-address span{color:var(--orange);font-size:1.4rem}.contact-hint{display:flex;gap:16px;align-items:center;color:#b1bdc5}.contact-hint svg{width:30px;height:30px;flex-shrink:0;color:var(--orange)}.contact-hint p{font-size:1rem;line-height:1.7;max-width:270px}
.footer{background:#101b23;color:#bbc7cf}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:35px 0}.footer .wordmark{color:white;font-size:1.9rem}.footer .brand-caption{color:#b0bdc7}.footer-top>p{font-family:Georgia,serif;font-style:italic;font-size:1rem}.back-top{font-size:.875rem}.back-top:hover{color:var(--orange)}.footer-bottom{border-top:1px solid #ffffff1d;padding:21px 0;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:#98a8b3}.mobile-contact{display:none}
@media(min-width:1450px){.hero-layout{grid-template-columns:1.15fr 1fr}.hero-visual{height:540px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.desktop-nav{gap:21px}.header-inner{gap:24px}.header-cta{font-size:.875rem;padding:11px 13px;gap:12px}.wordmark{font-size:1.95rem}.hero-layout{gap:38px}.hero-actions{gap:18px}.hero-actions .button{font-size:.875rem;padding-inline:16px}.hero-visual{height:478px}.hero-description{font-size:1.075rem}.service-card{padding:26px 22px}.service-card h3{font-size:1.2rem}.about-layout{gap:65px}.contact-layout{gap:45px}.contact-details{padding-left:35px}.hero-bottom i{margin:0 9px}}
@media(max-width:1030px){.desktop-nav{display:none}.header-inner{min-height:81px}.header-cta{margin-left:auto}.menu-toggle{display:block}}
@media(max-width:930px){.hero-layout{grid-template-columns:1.12fr .88fr;gap:30px;padding-top:44px}h1{font-size:clamp(2.65rem,5.6vw,3.25rem)}.hero-visual{height:430px}.hero-description{font-size:1.02rem}.hero-actions{margin-top:25px;gap:12px}.hero-actions .button{font-size:.875rem;gap:12px}.hero-copy .eyebrow{font-size:.75rem}.corner-label{padding:14px 13px;right:-8px}.hero-visual figcaption{left:22px;bottom:24px}.photo-caption-bottom{font-size:1.5rem}.hero-bottom>span:last-child{display:none}.section{padding:75px 0}.section-heading{gap:35px}.section-intro{max-width:280px;font-size:1rem}.service-grid{grid-template-columns:repeat(2,1fr)}.about-layout{gap:43px;grid-template-columns:.9fr 1fr}.about-statement{padding-left:23px}.about-statement h2{font-size:3.4rem}.about-statement .eyebrow{font-size:.75rem}.about-copy>.large-copy{font-size:1.2rem}.process-grid{gap:28px}.process-grid h3{font-size:1.12rem}.area-layout{gap:40px}.area-list{gap:8px}.area-list span{padding:7px 11px}.contact-layout{gap:30px;grid-template-columns:1.2fr 1fr}.contact-details{padding-left:26px}.phone-number{font-size:1.6rem}.email-address{font-size:.96rem;gap:8px}.contact h2{font-size:2rem}.contact-copy .button{font-size:.875rem;gap:12px;padding-inline:17px}.contact-copy>p:not(.eyebrow):not(.contact-note){font-size:1rem}.footer-bottom{flex-wrap:wrap;gap:8px}}
@media(max-width:680px){html{scroll-padding-top:89px}.container{width:calc(100% - 40px)}.announcement-inner{min-height:30px;justify-content:center}.announcement-inner>span{font-size:.75rem;letter-spacing:.025em}.announcement-inner>a{display:none}.header-inner{min-height:75px;gap:15px}.wordmark{font-size:1.95rem}.header-cta{display:none}.menu-toggle{width:44px;height:44px;padding:11px}.hero-layout{grid-template-columns:1fr;gap:35px;padding-top:35px;padding-bottom:32px}.hero-copy{padding:0}.hero-copy .eyebrow{margin-bottom:20px;font-size:.75rem}h1{font-size:clamp(2.6rem,9vw,3.8rem);line-height:1.04;letter-spacing:-.05em}.hero-description{font-size:1.04rem;margin-top:21px}.hero-actions{margin-top:26px;gap:22px;align-items:center}.hero-actions .button{font-size:.875rem;min-height:54px;padding:14px 17px;gap:16px}.hero-actions .text-link{font-size:.875rem}.hero-location{font-size:.875rem;margin-top:20px;line-height:1.5}.hero-visual{height:345px;max-height:none;margin-bottom:0}.hero-visual img{object-position:center 52%}.hero-visual figcaption{left:23px;bottom:24px}.photo-caption-bottom{font-size:1.65rem}.corner-label{right:-8px;top:22px;font-size:.75rem;padding:14px 16px}.hero-bottom{padding-top:17px;padding-bottom:19px}.hero-bottom>span:first-child{font-size:.96rem}.section{padding:64px 0}.eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:18px}h2{font-size:2.17rem;line-height:1.1;letter-spacing:-.045em}.section-heading{display:block;margin-bottom:31px}.section-intro{max-width:none;margin-top:21px;font-size:1rem}.service-grid{grid-template-columns:1fr;gap:14px}.service-card{padding:26px 25px 22px}.service-card-top{margin-bottom:19px}.service-card h3{font-size:1.3rem}.service-card ul{margin:16px 0 20px;font-size:1rem}.service-card>p{max-width:440px;margin-top:11px}.service-link{font-size:.91rem;min-height:44px}.services-footnote{display:block;margin-top:26px;text-align:center;font-size:1rem}.services-footnote .text-link{margin-top:12px}.about-layout{grid-template-columns:1fr;gap:38px}.about-statement{padding-left:24px}.about-statement h2{font-size:3.65rem}.signature{margin-top:25px;font-size:1.13rem}.about-copy>.large-copy{font-size:1.3rem}.about-copy>p{font-size:1rem;line-height:1.85}.principles{gap:22px}.process .section-heading>.text-link{margin-top:18px}.process-grid{grid-template-columns:1fr;gap:27px;margin-top:35px}.process-grid li{position:relative;padding:24px 0 0 55px;min-height:120px}.step-number{position:absolute;left:0;top:23px;font-size:1.95rem;margin:0}.process-grid h3{font-size:1.18rem}.process-grid p{font-size:1rem}.area{padding:57px 0}.area-layout{grid-template-columns:1fr;gap:29px}.area h2{font-size:2.1rem}.area-list{gap:8px}.area-list span{font-size:.875rem;padding:8px 11px}.contact-layout{grid-template-columns:1fr;gap:38px}.contact h2{font-size:clamp(1.7rem,6.5vw,2.7rem);line-height:1.12}.contact-copy .button{font-size:.91rem;padding:17px 20px;gap:18px}.contact-details{border-left:0;padding-left:0;border-top:1px solid #ffffff29;padding-top:30px}.phone-number{font-size:2rem}.email-address{font-size:1.13rem;gap:16px}.contact-row{padding:23px 0}.contact-hint p{max-width:none}.footer{padding-bottom:72px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:25px;padding:31px 0}.footer-top>p{grid-column:1/-1;grid-row:2;margin:0}.footer-bottom{display:grid;font-size:.75rem;line-height:1.7;gap:9px;padding:22px 0}.mobile-contact{position:fixed;z-index:30;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.6fr;box-shadow:0 -4px 15px #0001;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{padding:17px 10px;font-size:.9rem;line-height:1.45;font-weight:700;text-align:center;min-height:55px}.mobile-contact a:last-child{background:var(--orange);color:var(--ink)}.mobile-contact a:first-child{background:white;color:var(--ink)}}
@media(max-width:370px){.container{width:calc(100% - 32px)}h1{font-size:2.4rem}.hero-actions{gap:12px}.hero-actions .button{width:100%}.hero-visual{height:310px}.contact-copy .button{font-size:.875rem;padding-inline:14px;gap:12px}.about-statement h2{font-size:3.25rem}.mobile-contact a{font-size:.875rem}.email-address{font-size:1.03rem}.footer-top{grid-template-columns:1fr}.footer-top>p{grid-row:auto}.brand-caption{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Business partnerships: the same spare, practical visual language. */
.desktop-nav{gap:24px}
.partners{padding-top:75px;border-top:1px solid var(--line);background:linear-gradient(115deg,#f1f4f5 0%,#fff 70%)}
.partners-heading{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:end;margin-bottom:47px}
.partners-heading h2{font-size:clamp(2.3rem,4.4vw,3.7rem)}
.partners-intro>p{font-size:1rem;line-height:1.85;color:var(--muted);max-width:535px}
.partners-intro .text-link{margin-top:17px}
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.partner-type{border-top:2px solid var(--ink);padding-top:23px;min-width:0}
.partner-label{display:block;color:var(--orange-dark);font-size:.75rem;letter-spacing:.12em;font-weight:700;margin-bottom:17px}
.partner-type h3{font-size:1.35rem;line-height:1.3;margin-bottom:15px}
.partner-type p{color:var(--muted);font-size:1rem;line-height:1.8;max-width:340px}
.partners-note{font-size:.875rem;color:var(--muted);margin-top:32px;border-left:2px solid var(--orange);padding-left:13px}
.site-header:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--orange);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
@media(max-width:1150px){.desktop-nav{gap:18px}.partners-heading{gap:55px}.partner-grid{gap:30px}}
@media(max-width:930px){.partners-heading{gap:35px}.partner-grid{gap:25px}.partner-type h3{font-size:1.18rem}}
@media(max-width:680px){.partners{padding-top:57px}.partners-heading{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.partners-heading h2{font-size:2.5rem}.partners-heading .eyebrow{max-width:320px;line-height:1.7}.partner-grid{grid-template-columns:1fr;gap:28px}.partner-type{padding-top:21px}.partner-type h3{font-size:1.3rem}.partner-type p{max-width:none}.partner-label{margin-bottom:12px}.partners-note{line-height:1.8}}
@media print{.site-header:after{display:none}}

/* Trust and proof are extensions of the original editorial layout. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hero-service-line{display:block;color:#e2e8eb;font-family:Arial,Helvetica,sans-serif;font-size:1.05rem;font-weight:500;line-height:1.55;letter-spacing:0;margin-top:22px}
.trust-row{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px 17px;color:#d4dde3;font-size:.875rem;line-height:1.6;margin-top:23px}
.trust-row li+li{border-left:1px solid #64727b;padding-left:17px}
.recent-work{background:var(--pale);border-top:1px solid var(--line)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.project-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}
.project-photos{display:grid;grid-template-columns:repeat(var(--photo-count,2),minmax(0,1fr));gap:3px;background:var(--ink)}
.project-photos figure{position:relative;min-width:0}
.project-photos img{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#e5e7e9}
.project-photos figcaption{position:absolute;left:12px;top:12px;padding:5px 10px;background:var(--ink);color:white;font-size:.875rem;line-height:1.4;font-weight:600;border-left:2px solid var(--orange)}
.project-info{padding:25px 27px 29px}.project-location{font-size:.8rem;color:var(--muted);margin-bottom:12px}.project-info h3{font-size:1.4rem}.project-work{color:var(--orange-dark);font-size:.875rem;margin:10px 0 13px}.project-info>p:not(.project-location):not(.project-work){font-size:1rem;color:var(--muted);line-height:1.8}.project-info .text-link{margin-top:15px}
.reviews-section{background:var(--ink);padding:64px 0;color:white}.review-layout{display:flex;align-items:center;justify-content:space-between;gap:60px}.review-layout h2{color:white;font-size:clamp(2.1rem,3.6vw,3rem)}.review-layout p:not(.eyebrow){color:#c5d0d7;max-width:480px;margin-top:20px;font-size:1rem}.review-layout>.button{flex-shrink:0}.review-layout .eyebrow{margin-bottom:17px}
.contact-base{margin-top:22px!important;font-size:.875rem!important;color:#c0ccd3!important}.contact-reviews{margin-top:0}.contact-reviews .sr-only{font-size:inherit}
.service-hero{padding:45px 0 75px;background:var(--ink);color:white}.back-home{display:inline-block;color:#c5d0d7;font-size:.875rem;margin-bottom:40px;text-decoration:underline;text-underline-offset:5px}.service-hero h1{max-width:950px;font-size:clamp(2.5rem,5vw,4.7rem);line-height:1.08}.service-lead{font-size:1.15rem;line-height:1.8;color:#c5d0d7;max-width:710px;margin:27px 0 30px}.service-body-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.service-body-grid h2{font-size:2.1rem;margin-bottom:23px;max-width:550px}.service-scope{padding-left:21px;font-size:1.05rem;line-height:1.8}.service-scope li{padding:7px 0}.service-scope li::marker{color:var(--orange-dark)}.service-body-grid p{line-height:1.85;color:var(--muted)}.service-body-grid h3{margin-top:30px;margin-bottom:14px}.service-example{background:var(--pale)}.example-intro{font-size:1rem;max-width:750px;line-height:1.8;color:var(--muted);margin:23px 0 35px}.service-example-photos{max-width:700px}.service-end{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.service-end h2{font-size:2.4rem}.service-end p{font-size:1rem;line-height:1.9;margin-top:24px;color:var(--muted)}.service-end .text-link{margin-top:13px}.service-end>div{min-width:0}.service-end a[href^="mailto:"]{overflow-wrap:anywhere}
@media(max-width:1150px){.trust-row{gap:8px 11px}.trust-row li+li{padding-left:11px}.service-body-grid,.service-end{gap:50px}}
@media(max-width:930px){.project-grid{gap:20px}.project-info{padding:23px 21px}.project-photos figcaption{left:8px;top:8px;padding:4px 8px}.review-layout{gap:35px}.review-layout .button{font-size:.875rem;padding-inline:17px}.service-body-grid,.service-end{gap:35px}.service-body-grid h2{font-size:1.8rem}.service-end h2{font-size:2rem}}
@media(max-width:680px){.hero-service-line{font-size:1rem;margin-top:19px}.hero-location{align-items:flex-start}.hero-location svg{margin-top:3px}.trust-row{font-size:.875rem;gap:8px 12px;max-width:370px}.trust-row li+li{padding-left:12px}.project-grid{grid-template-columns:1fr;gap:26px}.project-info{padding:23px 22px}.project-info h3{font-size:1.35rem}.review-layout{display:block}.review-layout>.button{margin-top:29px;min-height:55px}.reviews-section{padding:52px 0}.service-hero{padding:29px 0 55px}.back-home{margin-bottom:30px}.service-hero h1{font-size:clamp(2.3rem,8.5vw,3.5rem)}.service-lead{font-size:1.05rem}.service-body-grid,.service-end{grid-template-columns:1fr;gap:37px}.service-body-grid h2{font-size:2rem}.service-example h2{font-size:2.1rem}.service-end .button{font-size:.875rem;padding-inline:16px}.service-end p{margin-top:20px}}
@media print{.project-card{break-inside:avoid}.mobile-contact,.menu-toggle{display:none}}

/* Owner portrait: modest scale, original photo with edges fading into About. */
.about-portrait{width:232px;max-width:100%;aspect-ratio:4 / 5;margin:0 0 24px -8px;isolation:isolate}
.about-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 23%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(0deg,transparent,#000 18%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(0deg,transparent,#000 18%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
@media(max-width:930px){.about-portrait{width:208px;margin-bottom:20px}}
@media(max-width:680px){.about-portrait{width:192px;margin-bottom:20px}}

/* Service detail pages retain the existing palette, typography and spacing. */
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.875rem;color:#c5d0d7;margin-bottom:36px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:5px;padding-block:8px}
.service-body-grid>div{min-width:0}
.service-faq details{border-bottom:1px solid var(--line)}
.service-faq details:first-child{border-top:1px solid var(--line)}
.service-faq summary{padding:20px 6px 20px 0;cursor:pointer;font-size:1.05rem;font-weight:700;line-height:1.5}
.service-faq summary::marker{color:var(--orange-dark)}
.service-faq summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.service-faq details p{padding:0 0 23px}
.example-journal-link{display:inline-block;margin-top:24px}
.project-story-link{margin-top:22px}
.related-services{display:flex;gap:18px 28px;flex-wrap:wrap;align-items:center;padding-block:22px;border-block:1px solid var(--line);font-size:.95rem}
.related-services>span{color:var(--muted)}
.related-services a{font-weight:700;text-decoration:underline;text-underline-offset:5px;padding-block:9px}
.service-end .service-cities{font-size:.9rem;line-height:1.9;max-width:530px}
@media(max-width:680px){.related-services{align-items:flex-start;flex-direction:column;gap:8px}.service-hero .hero-actions{align-items:stretch}.service-hero .button{font-size:.9rem;padding-inline:16px}.breadcrumbs{margin-bottom:26px}}
