
:root{--ink:#233b30;--paper:#f4f1e9;--accent:#c9a76b;--line:#d5d8ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit}header{position:sticky;top:0;background:var(--paper);z-index:5;border-bottom:1px solid var(--line)}nav{max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:19px 5%;gap:22px}.brand{font: bold 29px Arial,Helvetica,sans-serif;text-decoration:none;letter-spacing:-1px}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:3px;text-transform:uppercase}nav .links{display:flex;gap:25px;align-items:center}nav a{text-decoration:none;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;background:var(--ink);color:white;text-decoration:none;border:1px solid var(--ink);font:15px Arial,sans-serif;cursor:pointer}.button.light{background:var(--paper);color:var(--ink)}.button.outline{background:transparent;color:inherit;border-color:currentColor}main section{padding:90px 6%;max-width:1440px;margin:auto}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:680px;padding:0;max-width:none}.hero-copy{padding:80px 9% 70px 12%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:bold;margin:0 0 23px}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:650;line-height:1.08}h1{font-size:clamp(42px,4.6vw,70px);letter-spacing:-2px;margin:0 0 25px}h1 em{color:#71816d;font-style:normal}h2{font-size:clamp(34px,3.8vw,54px);letter-spacing:-1px;margin:0 0 25px}h3{font-size:29px;margin:12px 0 18px}p{max-width:640px}.intro{font-size:18px;color:#566356;max-width:480px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.hero-image{min-height:570px;position:relative;background:#435343 url('assets/varjualune.jpg') center/cover}.photo-label{position:absolute;bottom:28px;left:28px;background:var(--paper);padding:12px 18px;font-size:12px}.strip{background:var(--ink);color:#e9eadd;display:flex;justify-content:center;gap:30px;padding:22px 6%;font-size:12px;flex-wrap:wrap}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.section-head p{max-width:370px;color:#566356}.services{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{grid-column:span 2;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:start}.service:nth-child(n+4){grid-column:span 3}.num{font-size:12px;color:#73816e}.service p{color:#566356;margin-top:0}.service a{margin-top:auto;text-underline-offset:7px;font-size:14px}.restoration{background:var(--ink);color:var(--paper);max-width:none!important;display:grid;grid-template-columns:1fr 1fr;gap:70px}.restoration p{color:#d3dbcf}.restoration ul{padding:0;list-style:none;border-top:1px solid #627162}.restoration li{padding:17px 0;border-bottom:1px solid #627162}.work-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.work-grid img{display:block;width:100%;height:350px;object-fit:cover}.caption{padding-top:13px;display:flex;justify-content:space-between;font-size:13px}.timber{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:65px}.timber aside{background:#e6e7dc;padding:35px}.timber aside h3{margin-top:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.steps p{color:#566356}.contact-wrap{background:#e6e7dc;max-width:none!important}.contact{max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:75px}.contact a.big{font:clamp(24px,3vw,38px) Arial,Helvetica,sans-serif;text-decoration:none;display:block;margin-bottom:12px}label{display:block;font-size:13px;margin-bottom:14px}input,select,textarea{width:100%;padding:13px;border:1px solid #b8c0b1;background:#f9f8f3;color:var(--ink);font:16px Arial,sans-serif;margin-top:6px}textarea{resize:vertical;min-height:115px}.note{font-size:12px;color:#596656}footer{padding:30px 6%;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba8337;outline-offset:4px}.menu{display:none}@media(max-width:850px){nav .links{gap:15px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6%}.hero-image{min-height:380px}.section-head{display:block}.service{grid-column:span 3}.service:last-child{grid-column:span 6}.restoration,.timber,.contact{grid-template-columns:1fr;gap:30px}.work-grid img{height:260px}main section{padding:60px 6%}.steps{gap:20px}.strip{gap:12px 22px}}@media(max-width:570px){nav{padding:14px 6%;flex-wrap:wrap}.menu{display:block;border:1px solid var(--line);background:none;padding:10px;color:var(--ink)}nav .links{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:10px}nav .links.open{display:flex}h1{font-size:44px}.service,.service:nth-child(n+4){grid-column:span 6;padding:27px}.work-grid,.steps{grid-template-columns:1fr}.hero-image{min-height:310px}.work-grid img{height:280px}.strip{justify-content:start;font-size:11px}.caption{gap:15px}.contact-wrap{padding-top:55px}}
.brand{display:block;flex-shrink:0;line-height:0}.brand-logo{display:block;width:315px;height:auto;mix-blend-mode:multiply}nav{padding-top:10px;padding-bottom:10px}.footer-brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:19px;font-weight:700}.footer-brand img{mix-blend-mode:multiply;object-fit:contain}.footer-brand small{font-size:11px;font-weight:400}footer{align-items:center}@media(max-width:1050px){.brand-logo{width:265px}nav .links{gap:15px}nav a{font-size:12px}nav .button{padding:12px 15px}}@media(max-width:700px){nav{gap:12px}nav .links{gap:10px}.brand-logo{width:230px}}@media(max-width:570px){.brand-logo{width:245px;max-width:65vw}nav .links a{font-size:15px}.footer-brand{width:100%}}
/* Compact, edge-aligned site header */
header nav{max-width:none;width:100%;margin:0;padding:10px 32px;flex-wrap:nowrap}header .brand-logo{width:220px;max-width:100%;height:auto}header nav .links{margin-left:auto}@media(max-width:850px){header nav{padding:10px 24px}header .brand-logo{width:200px}}@media(max-width:700px){header nav{gap:16px;padding:10px 20px;flex-wrap:wrap}header .brand-logo{width:190px}.menu{display:block;border:1px solid var(--line);background:none;padding:10px;color:var(--ink);margin-left:auto}header nav .links{display:none;width:100%;flex-direction:column;align-items:stretch;margin-left:0;padding-top:10px}header nav .links.open{display:flex}header nav .links a{font-size:15px}}@media(max-width:570px){header nav{padding:9px 16px}header .brand-logo{width:180px;max-width:60vw}}
.footer-brand .footer-logo{width:220px;height:auto;object-fit:contain}.footer-brand{line-height:0}@media(max-width:570px){.footer-brand .footer-logo{width:190px}}
.hero-image{background:#435343;overflow:hidden}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;filter:contrast(1.035) brightness(1.035)}.hero-slide.active{opacity:1}.photo-label{z-index:2;max-width:calc(100% - 175px)}.slide-controls{position:absolute;right:22px;bottom:28px;display:flex;z-index:2;gap:5px}.slide-controls button,.gallery-main button,#close-project{border:0;background:var(--paper);color:var(--ink);width:40px;height:40px;cursor:pointer;font-size:19px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.filters button{padding:10px 16px;border:1px solid #aeb8a8;background:transparent;color:var(--ink);cursor:pointer}.filters button[aria-pressed=true]{background:var(--ink);color:white}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.project-card{background:none;border:0;padding:0;text-align:left;color:var(--ink);font:inherit;cursor:pointer;min-width:0}.project-card[hidden]{display:none}.project-card img{width:100%;height:250px;object-fit:cover;filter:contrast(1.035) brightness(1.025)}.project-card h3{font-size:25px;margin:7px 0 12px}.project-card p{font-size:14px;color:#566356;margin-top:0}.project-meta{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-top:16px}dialog{max-width:1100px;width:94vw;max-height:94vh;border:0;background:var(--paper);color:var(--ink);padding:26px;overflow:auto}dialog::backdrop{background:#10251ee8}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.dialog-head h2{font-size:34px;margin-bottom:10px}.dialog-head .eyebrow{margin-bottom:8px}.gallery-main{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e5e7de}.gallery-main img{width:calc(100% - 104px);height:55vh;object-fit:contain;filter:contrast(1.035) brightness(1.025)}#gallery-thumbs{display:flex;gap:9px;overflow:auto}#gallery-thumbs button{border:2px solid transparent;padding:0;cursor:pointer;background:none;flex-shrink:0}#gallery-thumbs button[aria-current=true]{border-color:var(--ink)}#gallery-thumbs img{width:95px;height:68px;object-fit:cover}#gallery-count{font-size:13px;text-align:center}@media(max-width:850px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:570px){.project-grid{grid-template-columns:1fr}.project-card img{height:260px}.photo-label{left:14px;bottom:16px;max-width:calc(100% - 156px);padding:9px;font-size:10px}.slide-controls{right:12px;bottom:16px;gap:3px}.slide-controls button{width:36px;height:36px}dialog{padding:16px}.gallery-main{gap:3px}.gallery-main button{width:30px}.gallery-main img{width:calc(100% - 66px);height:45vh}.dialog-head h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide{transition:none}}.hero-slide{object-fit:contain;background:#e6e7dc}.hero-image.slideshow{background:#e6e7dc}.project-card img{object-fit:contain;background:#e6e7dc;padding:0}.project-card{align-self:start}.photo-label{bottom:12px}.slide-controls{bottom:12px}.hero-image.slideshow{min-height:520px}#gallery-thumbs img{object-fit:contain;background:#e6e7dc}@media(max-width:850px){.hero-image.slideshow{min-height:0;height:auto;aspect-ratio:4/3}}@media(max-width:570px){.hero-image.slideshow{min-height:0;aspect-ratio:4/3}.project-card img{height:auto;aspect-ratio:4/3}}
.hero-slide,.project-card img,.gallery-main img{filter:none}

/* Consistent spacing, clear service priorities, and uncropped project images. */
body{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}h1,h2,h3{font-family:inherit;font-weight:650}button,input,select,textarea,.button{font-family:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}h1{font-size:clamp(42px,4.2vw,66px);line-height:1.1}h3{overflow-wrap:anywhere}.hero{min-height:570px;grid-template-columns:1fr 1fr}.hero-copy{padding:65px 9% 65px 12%}.hero-image.slideshow{min-height:570px;padding-bottom:64px}.hero-slide{height:calc(100% - 64px);background:#e6e7dc}.photo-label{left:20px;bottom:17px;padding:0;max-width:calc(100% - 170px);background:none;line-height:1.45}.slide-controls{bottom:12px;right:16px;gap:6px}.slide-controls button{border:1px solid #c8cdbf}.services{grid-template-columns:repeat(6,minmax(0,1fr));background:#f9f7f1}.services .service{grid-column:span 2;padding:30px}.services .service:nth-child(-n+2){grid-column:span 3;background:#e9ede3}.service h3{font-size:clamp(24px,2.1vw,30px)}.service a{padding-top:12px;line-height:1.5}.section-head{margin-bottom:32px}.section-head p{line-height:1.7}.eyebrow{color:inherit}.num{color:#52634e}.project-grid{gap:38px 28px}.project-card{transition:transform .18s ease}.project-card:hover{transform:translateY(-3px)}.project-card h3{font-size:23px;line-height:1.22}.project-card img{display:block;height:auto;aspect-ratio:4/3;border:1px solid var(--line);background:#e9e9df}.project-card p{line-height:1.65}.filters button{min-height:44px;font-size:13px}.results-note{font-size:13px;color:#52634e;margin:0 0 20px}.project-more{text-align:center;margin-top:30px}.project-more button[hidden]{display:none}.gallery-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.gallery-actions p{margin:0}.gallery-main img{min-width:0}.skip-link{position:fixed;z-index:20;top:8px;left:8px;transform:translateY(-150%);padding:12px 20px;background:var(--ink);color:white}.skip-link:focus{transform:none}header nav .links a{white-space:nowrap}main section{padding-top:76px;padding-bottom:76px}.contact .button{min-height:48px}.contact .note{max-width:480px;line-height:1.65}input,select,textarea{border-radius:0}.project-card:focus-visible{outline-offset:7px}dialog{overscroll-behavior:contain}#close-project{flex-shrink:0}footer{border-top:1px solid var(--line)}
@media(min-width:1400px){.hero-copy{padding-left:max(7vw,calc((100vw - 1250px)/2))}}
@media(max-width:1100px){header nav .links{gap:15px}header nav .links a{font-size:12px}header .brand-logo{width:190px}.hero-copy{padding-left:8%;padding-right:7%}.hero-image.slideshow{min-height:530px}.hero{min-height:530px}}
@media(max-width:850px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:48px 6%}.hero-image.slideshow{height:auto;aspect-ratio:auto;min-height:0;padding:0;display:grid;grid-template-columns:1fr auto;align-items:center}.hero-slide{height:auto;aspect-ratio:16/10;position:absolute;inset:0 0 auto;width:100%}.hero-image.slideshow:before{content:"";display:block;grid-column:1/-1;aspect-ratio:16/10}.photo-label{position:static;max-width:none;margin:14px 16px;font-size:12px}.slide-controls{position:static;margin:8px 12px}.services .service{padding:26px}.services .service:nth-child(n+3){grid-column:span 2}.restoration{gap:30px}.gallery-actions{flex-wrap:wrap}main section{padding-top:56px;padding-bottom:56px}header nav{flex-wrap:wrap}.menu{display:block;margin-left:auto;border:1px solid var(--line);padding:10px;background:transparent;color:var(--ink)}header nav .links{display:none;width:100%;flex-direction:column;align-items:stretch;margin-left:0;padding-top:10px}header nav .links.open{display:flex}header nav .links a{font-size:15px;padding:6px 0}header nav .links .button{padding:12px}}
@media(max-width:570px){.services .service,.services .service:nth-child(n+3){grid-column:span 6}.hero h1{font-size:clamp(37px,9.2vw,46px);letter-spacing:-1.3px}.hero .intro{font-size:17px}.hero-copy{padding:38px 6%}.actions{gap:10px}.actions .button{padding:13px 17px}.strip{padding-top:16px;padding-bottom:16px}.project-card img{height:auto;aspect-ratio:4/3}.filters{gap:7px}.filters button{padding:9px 12px}.gallery-main img{height:48vh;height:48svh}.gallery-actions .button{width:100%;font-size:14px}.dialog-head h2{font-size:27px}.steps{gap:18px}.steps h3{margin-top:6px}.contact a.big{font-size:clamp(22px,6vw,30px)}.slide-controls button{width:36px;height:36px}.photo-label{font-size:11px;margin-right:4px}.section-head{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:hover{transform:none}}
/* Service pages share the site's brand, spacing and full-frame photography. */
.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.service-hero h1{font-size:clamp(38px,4.1vw,60px);overflow-wrap:anywhere}.service-hero .intro{max-width:560px}.breadcrumbs{font-size:12px;line-height:1.6;margin-bottom:32px;color:#52634e}.breadcrumbs a{text-underline-offset:4px}.service-hero figure{margin:0;min-width:0}.service-hero figure img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:#e6e7dc}.service-hero figcaption{font-size:12px;margin-top:12px;color:#52634e}.service-detail{border-top:1px solid var(--line)}.service-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.service-detail-grid article{padding-top:22px;border-top:1px solid var(--line)}.service-detail-grid h3{font-size:26px;line-height:1.2}.service-detail-grid p{color:#52634e}.service-project{text-decoration:none;display:block}.service-brief{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#e6e7dc}.service-brief ol{list-style-position:inside;margin:0;padding:0}.service-brief li{padding:20px 0;border-bottom:1px solid #bcc7b4}.service-faq{max-width:1050px}.service-faq details{padding:20px 0;border-bottom:1px solid var(--line)}.service-faq summary{cursor:pointer;font-weight:600;padding-right:12px}.service-faq p{color:#52634e}.service-next{border-top:1px solid var(--line)}.service-nav{padding:18px 0 0;max-width:none;justify-content:flex-start;gap:12px 24px;flex-wrap:wrap}.service-nav a{font-size:14px;text-decoration:underline;text-underline-offset:5px;padding:8px 0}.service-nav a[aria-current=page]{font-weight:700}.service-links{padding-top:24px;display:flex;flex-wrap:wrap;gap:12px 24px}.service-links a{font-size:14px;text-underline-offset:5px}.service-faq summary:focus-visible{outline:3px solid #ba8337;outline-offset:4px}
@media(max-width:850px){.service-hero{grid-template-columns:1fr;gap:30px}.service-hero figure img{max-height:430px}.service-brief{grid-template-columns:1fr;gap:26px}.service-detail-grid{gap:20px}.service-detail-grid h3{font-size:23px}}
@media(max-width:570px){.service-detail-grid{grid-template-columns:1fr;gap:20px}.service-hero h1{font-size:38px}.breadcrumbs{margin-bottom:24px}.service-brief li{padding:16px 0}.service-nav{gap:10px 20px}.service-hero .actions .button{width:100%}}
