:root{--ink:#272a2e;--marine:#23262a;--coral:#b95336;--accent:#9e472f;--paper:#fff;--mist:#f2f3f5;--muted:#62666d;--line:#d9dce0;--sans:'Manrope',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}p,h1,h2,h3,figure{margin:0}p+p{margin-top:16px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3{overflow-wrap:anywhere}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.08}h2{font-size:48px}h3{font-size:19px;line-height:1.3;font-weight:600}em{font-weight:400}.eyebrow{font-size:12px;letter-spacing:.12em;line-height:1.5;font-weight:600}.skip-link{position:fixed;left:16px;top:-100px;z-index:30;background:#fff;padding:12px}.skip-link:focus{top:10px}
.site-header{min-height:84px;max-width:1240px;margin:auto;padding:16px 40px;display:flex;align-items:center;gap:30px;flex-wrap:wrap;position:relative;z-index:5;background:#fff}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{font:36px/1 var(--serif);letter-spacing:-5px;width:46px;position:relative;flex-shrink:0;padding-bottom:6px}.brand-mark>span{position:absolute;left:0;bottom:0;height:2px;width:30px;background:var(--coral)}.brand-name{font-size:14px;line-height:1.4;font-weight:700;min-width:0;overflow-wrap:anywhere}.brand-name small{display:block;font-size:12px;font-weight:400;margin-top:4px;color:var(--muted)}.desktop-nav{display:flex;flex-wrap:wrap;gap:30px;margin-left:auto;font-size:14px}.desktop-nav a{position:relative;padding:5px 0}.desktop-nav a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.header-contact{font-size:14px;border:1px solid var(--line);border-radius:40px;padding:9px 21px;transition:background .25s,color .25s}.header-contact:hover{background:var(--marine);color:#fff}.menu-button{display:none;background:none;border:0;padding:9px;flex-shrink:0}.menu-button span{display:block;width:25px;height:1px;margin:7px 0;background:var(--ink)}.mobile-menu{position:absolute;top:100%;left:0;right:0;padding:16px 24px;background:white;border-bottom:1px solid var(--line);box-shadow:0 12px 24px #23262a12}.mobile-menu[hidden]{display:none}.mobile-menu a{display:block;padding:10px 0}
.hero{background:var(--marine);color:#fff;overflow:hidden;position:relative}.hero-content{max-width:1160px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:64px;align-items:center;padding:42px 0}.hero-copy{min-width:0}.hero .eyebrow{color:#c6d9da;display:flex;align-items:center;gap:13px}.hero .eyebrow:before{content:'';height:1px;width:24px;background:var(--coral)}.hero h1{font-size:clamp(64px,6.2vw,88px);margin:25px 0 23px;line-height:1.02}.hero h1 em{color:#ffb799}.hero-description{font-size:19px;color:#dfebeb;line-height:1.7}.hero .button{margin-top:28px}.hero-note{font-size:12px;color:#b6cccf;margin-top:16px;max-width:350px}.hero-portrait{border-radius:140px 12px 12px 12px;overflow:hidden;position:relative;background:#e0e1e3}.hero-portrait img{width:100%;aspect-ratio:4/5;object-fit:contain;animation:portrait-settle 1.3s cubic-bezier(.2,.65,.3,1) both}.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-description,.hero-copy>.button,.hero-copy>.hero-note{animation:hero-enter .85s cubic-bezier(.2,.65,.3,1) both}.hero-copy>h1{animation-delay:.08s}.hero-copy>.hero-description{animation-delay:.16s}.hero-copy>.button{animation-delay:.24s}.hero-copy>.hero-note{animation-delay:.32s}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;font-size:14px;font-weight:700;line-height:1.5;border-radius:40px;border:1px solid transparent;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,background .25s}.button-coral{background:var(--coral);color:#ffffff}.button-coral:hover{background:#a3472d}
.section-shell{max-width:1160px;margin:auto;padding:58px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.section-heading>.eyebrow{padding-bottom:8px;color:var(--muted)}.section-heading h2{font-size:44px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-grid article{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}.service-visual{position:relative;height:148px;overflow:hidden;background:var(--mist);flex-shrink:0}.service-visual img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.3,1)}.service-city img{object-position:center 40%}.service-coast img{object-position:center 60%}.card-number{position:absolute;left:18px;top:15px;background:#23262aec;color:white;border:1px solid #ffffff80;border-radius:40px;padding:3px 11px;font-size:12px;font-weight:600}.service-body{padding:21px 24px 24px;flex:1;min-width:0;overflow-wrap:anywhere}.service-body h3{font:400 32px/1.15 var(--serif);letter-spacing:-.035em}.service-body p{font-size:16px;color:var(--muted);margin-top:12px}.service-body details{margin-top:17px}.service-body details p{font-size:14px}.service-grid summary,.certificates>summary,.more-reviews>summary,.other-projects>summary{cursor:pointer;font-size:14px;font-weight:600;list-style:none;display:flex;align-items:center;gap:13px;max-width:100%;width:max-content}.certificates>summary{width:auto}.service-grid summary::-webkit-details-marker,.certificates>summary::-webkit-details-marker,.more-reviews>summary::-webkit-details-marker,.other-projects>summary::-webkit-details-marker{display:none}.service-grid summary:after,.certificates>summary:after,.more-reviews>summary:after,.other-projects>summary:after{content:'+';font-size:20px;font-weight:400;color:var(--accent);flex-shrink:0;line-height:1}.service-grid details[open]>summary:after,.certificates[open]>summary:after,.more-reviews[open]>summary:after,.other-projects[open]>summary:after{content:'−'}.service-grid details[open]>p,.certificates[open]>.certificate-list,.more-reviews[open]>.additional-reviews,.other-projects[open]>.project-links{animation:details-enter .3s ease-out both}
.remote-note{margin-top:24px;padding:21px 25px;background:var(--mist);border-radius:8px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;font-size:14px}.remote-note strong{color:var(--accent);font-weight:600}.remote-note p{color:var(--muted)}
.about{display:grid;grid-template-columns:380px minmax(0,1fr);gap:100px;align-items:center;border-top:1px solid var(--line)}.about-visual{position:relative;margin-right:40px;margin-bottom:18px;min-width:0}.about-portrait{overflow:hidden;border-radius:12px 100px 12px 12px}.about-portrait img{width:100%;height:390px;object-fit:cover;object-position:center 12%}.work-portrait{position:absolute;right:-46px;bottom:-18px;width:146px;filter:drop-shadow(0 8px 12px #23262a15)}.work-portrait img{width:146px;height:146px;object-fit:cover;object-position:center 20%;border:7px solid white;border-radius:50%}.work-portrait figcaption{position:absolute;left:10px;right:10px;bottom:4px;background:var(--marine);color:#fff;text-align:center;border-radius:25px;padding:4px;font-size:12px}.about-copy{min-width:0;max-width:600px}.about-heading>.eyebrow{color:var(--muted);margin-bottom:20px}.about h2{font-size:49px;margin-bottom:24px}.about h2 em{color:var(--accent)}.about-details>p{font-size:16px;color:var(--muted)}.about-details>p:first-child{color:var(--ink);font-size:18px;max-width:490px}.certificates{border-top:1px solid var(--line);padding-top:18px;margin-top:24px;min-width:0}.certificate-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin-top:19px}.certificate-list a{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:10px;overflow-wrap:anywhere}.certificate-list a:hover{color:var(--accent)}.certificate-list span{display:block;font-size:12px;color:var(--muted);margin-top:5px}
.reviews{border-top:1px solid var(--line)}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{border-radius:12px;background:var(--mist);padding:28px 25px;min-width:0;display:flex;flex-direction:column;position:relative;border:1px solid #e2e4e7;transition:transform .3s,box-shadow .3s}.review-card:before{content:'';height:2px;width:28px;background:var(--coral);position:absolute;top:0;left:25px}.review-card blockquote{font:400 24px/1.4 var(--serif);letter-spacing:-.015em;margin:0 0 24px;flex:1;overflow-wrap:anywhere}.review-author h3{font-size:14px;font-weight:700}.review-author>span,.review-meta{font-size:12px;color:var(--muted)}.review-author>span{display:block;margin-top:4px}.review-meta{margin-top:9px;min-height:20px}.review-source{font-size:12px;color:var(--muted);margin-top:10px;text-decoration:underline;text-underline-offset:4px;align-self:flex-start}.review-source:hover{color:var(--accent)}.reviews-bottom{padding-top:22px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.more-reviews{min-width:0}.more-reviews[open]{width:100%}.additional-reviews{margin-top:22px}.review-social{display:flex;gap:20px;font-size:13px;color:var(--muted);margin-left:auto}.review-social a{text-decoration:underline;text-underline-offset:4px}
.contact{background:var(--marine);color:#fff}.contact-inner{max-width:1160px;margin:auto;padding:43px 0;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact .eyebrow{color:#b6cccf;margin-bottom:17px}.contact h2{font-size:56px}.contact h2 em{color:#ffb799}.contact-copy>p:last-child{font-size:16px;color:#d7e4e5;margin-top:18px}.contact-actions{text-align:center;flex-shrink:0}.contact-signature{display:block;font-size:12px;color:#bfd0d2;margin-top:13px}.contact a:focus-visible,.hero a:focus-visible{outline-color:#ffb799}
.site-footer{max-width:1160px;margin:auto;padding:30px 0 20px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.footer-networks{max-width:660px;min-width:0}.footer-networks>.eyebrow{color:var(--muted);margin-bottom:10px;font-size:12px}.footer-social{display:flex;gap:8px;flex-wrap:wrap}.footer-social a{border:1px solid var(--line);padding:7px 13px;border-radius:40px;font-size:14px;transition:background .2s,border-color .2s}.footer-social a:hover{background:var(--mist);border-color:var(--ink)}.other-projects{margin-top:20px}.other-projects>summary{color:var(--muted);font-weight:400}.project-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:17px}.project-links a{border-top:1px solid var(--line);padding-top:10px;font-size:14px;overflow-wrap:anywhere}.project-links a:hover{color:var(--accent)}.project-links span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.mobile-contact{display:none}
.reveal-target{transition:opacity .75s cubic-bezier(.2,.65,.3,1),translate .75s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal-pending{opacity:0;translate:0 22px}.reveal-shown{opacity:1;translate:0 0}
@keyframes hero-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes portrait-settle{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes details-enter{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000018}.service-grid article:hover,.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #23262a0c}.service-grid article:hover .service-visual img{transform:scale(1.045)}}
@media(max-width:1240px){.hero-content,.section-shell,.contact-inner,.site-footer{margin-left:40px;margin-right:40px}.hero-content{gap:45px;grid-template-columns:minmax(0,1fr) minmax(0,430px)}.about{gap:65px;grid-template-columns:350px minmax(0,1fr)}}
@media(max-width:900px){.site-header{padding:16px 28px;gap:22px}.desktop-nav{gap:20px}.hero-content,.section-shell,.contact-inner,.site-footer{margin-left:28px;margin-right:28px}.hero-content{grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:30px;padding:34px 0}.hero h1{font-size:60px}.hero-description{font-size:16px}.hero-portrait{border-top-left-radius:110px}.section-shell{padding:44px 0}.section-heading h2{font-size:38px}.about{grid-template-columns:280px minmax(0,1fr);gap:42px}.about-portrait img{height:330px}.work-portrait,.work-portrait img{width:124px}.work-portrait img{height:124px}.work-portrait{right:-35px}.about h2{font-size:40px}.about-details>p:first-child{font-size:16px}.about-details>p{font-size:16px}.service-body{padding:18px}.review-card{padding:23px 20px}.review-card blockquote{font-size:22px}.contact h2{font-size:46px}.footer-top{flex-direction:column;gap:20px}}
@media(max-width:760px){.desktop-nav,.header-contact{display:none}.site-header{min-height:72px}.menu-button{display:block;margin-left:auto}.hero-content{grid-template-columns:minmax(0,1fr) minmax(0,280px);gap:22px}.hero h1{font-size:49px}.hero .eyebrow{font-size:11px;letter-spacing:.05em}.hero .eyebrow:before{width:15px}.hero .button{padding:13px 21px}.hero-note{font-size:12px}.service-grid{gap:13px}.service-body{padding:16px}.service-visual{height:125px}.service-body p{font-size:16px}.service-body h3{font-size:28px}.remote-note{grid-template-columns:170px minmax(0,1fr);gap:18px;padding:19px}.review-grid{gap:13px}.review-card{padding:20px 17px}.review-card blockquote{font-size:20px}.project-links{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-contact{display:block;position:fixed;bottom:12px;left:22px;right:22px;z-index:9;background:var(--coral);color:#ffffff;padding:13px 20px;border:1px solid #a3472d;border-radius:40px;text-align:center;font-size:14px;font-weight:700;box-shadow:0 5px 22px #23262a20}.mobile-contact.is-hidden{visibility:hidden;pointer-events:none}.site-footer{padding-bottom:86px}}
@media(max-width:640px){.hero-content{grid-template-columns:1fr;gap:25px;padding:30px 0 0}.hero h1{font-size:58px;margin:18px 0}.hero-description{font-size:16px}.hero-description br{display:none}.hero .eyebrow{font-size:12px}.hero .button{margin-top:21px}.hero-note{margin-top:12px}.hero-portrait{max-width:370px;width:100%;justify-self:center;border-radius:90px 12px 0 0}.hero-portrait img{aspect-ratio:4/5}.hero-copy{max-width:450px}.section-heading{display:block;margin-bottom:23px}.section-heading>.eyebrow{padding-bottom:0;margin-bottom:10px}.section-heading h2{font-size:34px}.about{grid-template-columns:1fr;gap:32px}.about-visual{width:calc(100% - 40px);max-width:310px;margin:0 40px 16px 0}.about-portrait img{height:310px}.about h2{font-size:40px}.about-copy{max-width:none}.about-heading>.eyebrow{margin-bottom:14px}.about-details>p{font-size:16px}.about-details>p:first-child{font-size:17px}.contact-inner{display:block;padding:35px 0}.contact h2{font-size:46px}.contact-actions{text-align:left;margin-top:25px}.contact-signature{text-align:left;margin-left:23px}.remote-note{display:block}.remote-note p{margin-top:8px}}
@media(max-width:540px){.site-header{padding:14px 22px}.brand-name{font-size:13px}.hero-content,.section-shell,.contact-inner,.site-footer{margin-left:22px;margin-right:22px}.hero h1{font-size:54px}.hero-portrait{max-width:310px}.hero-portrait img{aspect-ratio:4/5;max-height:387.5px}.hero-note{font-size:12px}.section-shell{padding:34px 0}.service-grid{grid-template-columns:1fr;gap:13px}.service-grid article{display:grid;grid-template-columns:96px minmax(0,1fr)}.service-visual{height:100%;min-height:185px}.card-number{left:10px;top:10px;padding:2px 9px}.service-body{padding:17px 18px}.service-body h3{font-size:29px}.service-body p{font-size:16px;margin-top:9px}.service-body details{margin-top:12px}.service-grid summary{font-size:13px}.service-coast img{object-position:38% center}.certificate-list{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.review-card{padding:23px}.review-card blockquote{font-size:23px;margin-bottom:20px}.reviews-bottom{gap:17px}.review-social{margin-left:0;flex-wrap:wrap;font-size:13px}.contact h2{font-size:44px}.contact-copy>p:last-child{font-size:16px}.contact-actions .button{width:100%}.contact-signature{text-align:center;margin-left:0}.footer-top{gap:23px}.footer-social a{font-size:14px}.project-links{gap:16px}.work-portrait{right:-34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending,.reveal-shown{opacity:1;translate:none}.button:hover,.service-grid article:hover,.review-card:hover,.service-grid article:hover .service-visual img{transform:none}}
@media print{.reveal-pending{opacity:1;translate:none}.mobile-contact,.menu-button{display:none}}

/* v8: light graphite composition and original studio photographs */
.hero{color:var(--ink);background:linear-gradient(115deg,#ffffff 0%,#f4f5f6 46%,#e8ebee 100%);border-top:1px solid #eceef0;border-bottom:1px solid #e0e3e6;isolation:isolate}
.hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 15%,#ffffff90 42%,transparent 65%);animation:light-settle 4.5s ease-out both}
.hero-content{gap:76px;padding:38px 0;position:relative}.hero .eyebrow{color:#636870}.hero .eyebrow:before{background:var(--accent)}.hero h1{letter-spacing:-.05em}.hero h1 em{color:#9e5039}.hero-description{color:#4d535b;font-size:19px}
.hero-portrait{border-radius:5px;background:#e0e1e3;border:1px solid #ffffffa6;box-shadow:0 18px 44px #23262a19;animation:frame-enter 1.1s .1s cubic-bezier(.2,.65,.3,1) both;transition:box-shadow .45s,translate .45s}
.hero-portrait img{animation:none;object-fit:contain}.hero a:focus-visible{outline-color:var(--accent)}.button-coral,.mobile-contact{color:#fff}.button-coral:hover{background:#a3472d}
.service-grid article{border-radius:6px}.service-visual{height:135px}.card-number{background:#23262aeb;border-color:#ffffff70}.remote-note{border-left:2px solid #b95336;border-radius:0 6px 6px 0;background:#f4f5f6}
.about-visual{margin-right:40px;margin-bottom:16px}.about-portrait{border-radius:6px;box-shadow:0 10px 30px #23262a0d}.about-portrait img{object-position:center 12%}
.work-portrait{width:142px;right:-40px;bottom:-16px;filter:none;background:#fff;padding:6px;box-shadow:0 10px 25px #23262a1c;border-radius:3px;rotate:3deg}
.work-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;border:0;border-radius:0}.work-portrait figcaption{display:none}
.review-card{border-radius:6px;background:linear-gradient(135deg,#fafafa,#f0f2f4);border-color:#e3e5e8}.review-card blockquote{font-size:23px}.contact{background:linear-gradient(115deg,#22252a,#383c43)}.contact .eyebrow{color:#c4c7ce}.contact h2 em{color:#edb39d}.contact-copy>p:last-child{color:#e1e2e6}.contact-signature{color:#c5c7cc}.contact a:focus-visible{outline-color:#edb39d}
.reveal-target{transition-duration:.85s}.reveal-pending{translate:0 16px}.about-visual.reveal-pending{translate:-16px 10px}.about-visual.reveal-shown{translate:0 0}.mobile-menu{animation:menu-enter .22s ease-out both}
@keyframes frame-enter{from{opacity:0;transform:translate3d(18px,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes light-settle{from{opacity:0;transform:translateX(-8%)}to{opacity:1;transform:translateX(0)}}
@keyframes menu-enter{from{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (pointer:fine){.hero-portrait:hover{translate:0 -3px;box-shadow:0 24px 50px #23262a20}.work-portrait{transition:rotate .5s,translate .5s}.about-visual:hover .work-portrait{rotate:0deg;translate:0 -3px}}
@media(max-width:1240px){.hero-content{gap:48px}}
@media(max-width:900px){.hero-content{gap:30px;padding:30px 0}.work-portrait{width:120px;right:-32px}.service-visual{height:125px}}
@media(max-width:760px){.hero-content{gap:22px}.hero-description{font-size:16px}}
@media(max-width:640px){.hero-content{padding:27px 0 22px;gap:24px}.hero-portrait{max-width:300px;border-radius:5px;justify-self:center}.hero-portrait img{max-height:none}.about-visual{max-width:300px}.work-portrait{right:-32px}.hero h1{font-size:54px}}
@media(max-width:540px){.hero-portrait{max-width:286px}.hero-portrait img{height:auto;aspect-ratio:4/5}.service-visual{height:100%;min-height:185px}.review-card blockquote{font-size:22px}.work-portrait{width:116px;right:-30px}}
@media(prefers-reduced-motion:reduce){.hero-portrait,.hero-portrait:hover{animation:none!important;transform:none;translate:none}.hero:before{animation:none!important;transform:none}.about-visual.reveal-pending{translate:none;opacity:1}.about-visual:hover .work-portrait{rotate:3deg;translate:none}}

/* v9: warm editorial palette and less repeated branding */
:root{--paper:#faf7f2;--mist:#eee7de;--line:#d8cec2;--muted:#665e57;--ink:#302b27;--accent:#97452f;--page-gutter:40px}
.site-header{background:var(--paper)}.mobile-menu{background:var(--paper)}
.hero{background:linear-gradient(90deg,#ede5da 0%,#ede5da 56%,#3a302c 56%,#3a302c 100%);border-color:#ded3c5}
.hero:before{content:none}.hero .eyebrow{color:#655b51}.hero h1 em{color:#96472f}.hero-description{color:#514940;font-size:18px}.hero-content{padding-top:34px;padding-bottom:34px}
.hero-portrait{background:#b9b4ac;border-color:#a89e91;box-shadow:0 20px 40px #15100c38}
.service-grid article{background:#fffdf9;border-color:#d8cec2}.remote-note{background:#eee5d9}
.about{border-top:0}.about-portrait{box-shadow:0 12px 30px #35271b15}
.reviews{max-width:none;margin:0!important;padding:48px max(var(--page-gutter),calc((100% - 1160px)/2));background:#eadbd2;border-top:0;border-bottom:1px solid #d6c2b7}
.review-card{background:#faf5ee;border-color:#d5c2b6}.review-card:before{width:36px}.review-source,.review-author>span,.review-meta{color:#665e57}
.contact{background:linear-gradient(115deg,#302824,#483b33)}.contact .eyebrow{color:#d4c6bc}.contact-copy>p:last-child{color:#ece2d8}.contact-signature{color:#d5c7bd}.contact h2 em{color:#efb99f}
.footer-social a:hover{background:#ede5da}.footer-bottom{border-color:#d8cec2}
@media(max-width:900px){:root{--page-gutter:28px}.hero-description{font-size:16px}.hero-content{padding:28px 0}.reviews{padding-top:40px;padding-bottom:40px}}
@media(max-width:640px){.hero{background:linear-gradient(180deg,#ede5da 0%,#ede5da 76%,#3a302c 76%,#3a302c 100%)}.hero-content{padding:25px 0 24px;gap:23px}.hero h1{margin-top:16px;margin-bottom:18px}.hero-portrait{box-shadow:0 15px 28px #15100c25}.hero .button{margin-top:21px}}
@media(max-width:540px){:root{--page-gutter:22px}.reviews{padding-top:34px;padding-bottom:34px}.brand-name{font-size:13px}.hero-description{max-width:330px}}

/* v10: certificates open on the page, with native inline fallback */
.certificate-item{min-width:0;border-bottom:1px solid var(--line);padding-bottom:10px}
.certificate-item>summary{cursor:pointer;list-style:none;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.certificate-item>summary::-webkit-details-marker{display:none}.certificate-item>summary:hover{color:var(--accent)}.certificate-item>summary span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.certificate-item>img{width:100%;height:auto;margin-top:14px}
.certificate-viewer{width:max-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:18px;border:1px solid #d8cec2;border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #0005;overflow:auto;overscroll-behavior:contain}
.certificate-viewer::backdrop{background:#211c19c9;backdrop-filter:blur(5px)}.certificate-viewer[open]{animation:details-enter .22s ease-out both}
.certificate-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;max-width:100%;min-width:0}.certificate-toolbar h2{font:600 16px/1.5 var(--sans);letter-spacing:0;min-width:0;overflow-wrap:anywhere}
.certificate-close{display:flex;align-items:center;gap:10px;flex-shrink:0;background:none;border:1px solid var(--line);border-radius:28px;padding:8px 12px;color:var(--ink);font-size:13px;min-height:44px}.certificate-close:hover{background:var(--mist)}.certificate-close span{font-size:22px;line-height:1}
.certificate-image{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 132px);object-fit:contain;margin:auto}.certificate-error{max-width:420px;font-size:14px}.certificate-error[hidden],.certificate-image[hidden]{display:none}
@media(max-width:540px){.certificate-viewer{padding:12px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.certificate-toolbar{gap:12px}.certificate-toolbar h2{font-size:14px}.certificate-close{padding:8px 10px}.certificate-image{max-height:calc(100dvh - 150px)}}

/* v12: frame the on-site portrait around the hardhat and face */
.about-portrait img{object-position:center 25%}

.work-portrait{left:-12px;right:auto}

/* v13: use the full supplied camera-facing portrait */
.hero-portrait img{aspect-ratio:928/1008;height:auto;max-height:none;object-fit:contain}

/* v14: coverage line and consultation immediately after services */
.hero .hero-geography{display:flex;flex-wrap:wrap;gap:4px 9px;letter-spacing:.04em;align-items:baseline}.hero .hero-geography:before{display:none}.hero-geography>span{min-width:0;overflow-wrap:anywhere}
.service-contact{display:flex;justify-content:center;margin-top:24px}.service-contact .button{max-width:100%;text-align:center;overflow-wrap:anywhere}
.about-visual{margin-bottom:32px}
.work-portrait{width:130px;bottom:-32px}
@media(max-width:540px){.work-portrait{width:100px;bottom:-28px}}
.contact-inner{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:32px}
.contact-portrait{overflow:hidden;border-radius:6px;min-width:0}
.contact-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%}
.contact-copy,.contact-actions{min-width:0;overflow-wrap:anywhere}
.contact-actions .button{max-width:100%;overflow-wrap:anywhere;text-align:center}
@media(max-width:900px){.contact-inner{grid-template-columns:140px minmax(0,1fr);gap:22px}.contact-portrait{grid-row:1/3;align-self:center}.contact-actions{grid-column:2;text-align:left;margin-top:0}.contact-signature{text-align:left;margin-left:0}}
@media(max-width:640px){.contact-inner{grid-template-columns:96px minmax(0,1fr);gap:22px 20px}.contact-portrait{grid-row:1;align-self:start}.contact h2{font-size:clamp(30px,7vw,40px)}.contact-actions{grid-column:1/-1}.contact-actions .button{width:100%}.contact-signature{text-align:center;margin-left:0}}
.service-interior img{object-position:50% 85%}
.service-coast img{object-position:50% 60%}
@media(max-width:540px){.service-interior img{object-position:45% 85%}.service-coast img{object-position:55% 50%}}
.site-footer .brand{min-width:0;max-width:100%}
.site-footer .brand-name{white-space:normal;overflow-wrap:anywhere;max-width:380px}
.project-links{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.project-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
