:root{--ink:#173b3e;--muted:#536362;--paper:#f7f5ef;--cream:#ebe8dd;--line:#d5d9d0;--accent:#8b5739;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2{letter-spacing:-.055em;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.06}h1{font-size:clamp(3.3rem,6.8vw,7.4rem)}h2{font-size:clamp(2.5rem,4.5vw,4.6rem)}h3{letter-spacing:-.025em;font-size:1.4rem;font-weight:500}em{color:#a9c1b6;font-weight:400}p{color:var(--muted);font-size:1.05rem;line-height:1.75}p+p{margin-top:1.15rem}a:focus-visible,summary:focus-visible,video:focus-visible{outline-offset:5px;outline:3px solid #ad663d}a:hover.text-link{text-underline-offset:6px;text-decoration:underline}.skip{z-index:20;background:#fff;padding:1rem;position:absolute;top:-100px;left:1rem}.skip:focus{top:1rem}.topline{background:var(--ink);color:#fff;letter-spacing:.03em;justify-content:space-between;padding:10px 5%;font-size:.75rem;display:flex}.header{background:var(--paper);z-index:10;justify-content:space-between;align-items:center;padding:24px 5%;display:flex;position:relative}.brand{width:226px}.desktop-nav{align-items:center;gap:30px;font-size:.9rem;display:flex}.desktop-nav a[aria-current=page]{border-bottom:1px solid var(--ink);padding-bottom:4px}.button{background:var(--ink);color:#fff;justify-content:center;align-items:center;gap:28px;padding:19px 27px;font-size:.9rem;line-height:1.3;transition:background .2s;display:inline-flex}.button:hover{background:#2c5557}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:var(--cream)}.button.compact{padding:14px 20px}.mobile-menu{display:none}.hero{background:var(--ink);color:#fff;height:calc(100svh - 134px);min-height:740px;max-height:970px;position:relative;overflow:hidden}.hero>img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute}.hero-shade{background:linear-gradient(90deg,#0a201fde,#0a201f40 80%),linear-gradient(#0000 55%,#0a201f8c);position:absolute;inset:0}.hero-content{max-width:900px;padding:70px 7%;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:inherit;margin-bottom:25px;font-size:.7rem;font-weight:600;line-height:1.6}.hero-content h1{margin-bottom:25px}.hero-content>p:not(.eyebrow){color:#e1e7df;max-width:440px;line-height:1.7}.actions{flex-wrap:wrap;align-items:center;gap:30px;margin-top:30px;display:flex}.text-link{border-bottom:1px solid;padding:10px 0;font-size:.9rem;display:inline-block}.white{color:#fff}.hero-foot{letter-spacing:.15em;border-top:1px solid #ffffff50;justify-content:space-between;padding-top:22px;font-size:.65rem;display:flex;position:absolute;bottom:30px;left:7%;right:7%}.section{max-width:1600px;margin:auto;padding:95px 7%}.intro{grid-template-columns:1.1fr 1fr;align-items:center;gap:100px;display:grid}.intro .text-link{margin-top:22px}.services-section{background:var(--cream);max-width:none}.section-heading{justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:45px;display:flex}.service-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.service-card img{aspect-ratio:1.25;object-fit:cover;width:100%}.service-card>div{padding-top:26px}.service-card .eyebrow{margin-bottom:12px}.service-card h3{justify-content:space-between;margin-bottom:14px;display:flex}.service-card p{font-size:.95rem}.service-card:hover h3,.project-card:hover h3{color:var(--accent)}.project-grid{grid-template-columns:repeat(2,1fr);gap:45px 30px;display:grid}.project-card img{object-fit:cover;width:100%;height:440px}.project-card>div{padding-top:20px}.project-card .eyebrow{margin-bottom:8px;display:block}.project-card h3{justify-content:space-between;display:flex}.tatami-feature{background:#e3e7dc;grid-template-columns:1fr 1fr;display:grid}.tatami-feature>img{object-fit:cover;width:100%;height:100%;min-height:540px}.tatami-feature>div{align-self:center;padding:75px 13%}.tatami-feature h2{margin-bottom:28px}.tatami-feature p{margin-bottom:24px}.areas{text-align:center;max-width:1150px}.areas h2{margin-bottom:30px}.areas>p:not(.eyebrow){line-height:2.2}.contact-band{background:var(--ink);color:var(--paper);justify-content:space-between;align-items:center;gap:50px;padding:80px 7%;display:flex}.contact-band>div:last-child{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.phone{font-size:1.65rem}.contact-band .eyebrow{color:#b4c9bb}footer{grid-template-columns:1fr .7fr 1fr;gap:45px;padding:65px 7% 35px;font-size:.9rem;display:grid}footer p{margin-top:18px;font-size:.85rem}.footer-brand{letter-spacing:.09em;font-size:1.4rem}.footer-brand span{letter-spacing:.15em;margin-top:7px;font-size:.7rem;display:block}footer nav{grid-template-columns:1fr 1fr;align-content:start;gap:15px;display:grid}footer small{color:var(--muted);margin-top:35px;font-size:.7rem;display:block}.page-intro{padding-bottom:65px}.page-intro h1{margin-bottom:30px}.page-intro em{color:#678478}.page-intro>p:not(.eyebrow){max-width:640px}.page-intro>.text-link{margin-bottom:30px}.tight{padding-top:0}.service-detail{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:85px;scroll-margin-top:30px;display:grid}.service-detail img{object-fit:cover;width:100%;max-height:610px}.service-detail h2{margin-bottom:25px}.service-detail ul{color:var(--muted);margin:22px 0;padding-left:20px;line-height:2}.project-image{max-width:1100px}.project-image img{object-fit:contain;max-height:800px;margin:auto}.caption{margin-top:18px;font-size:.8rem}.gallery-link{margin-top:45px}.gallery{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.gallery figure{margin:0}.gallery img{object-fit:cover;width:100%;height:360px}.gallery figcaption{text-transform:uppercase;letter-spacing:.12em;margin-top:15px;font-size:.7rem}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:85px;display:grid}.contact-card{background:var(--cream);padding:45px}.contact-big{margin-bottom:25px;font-family:Georgia,serif;font-size:clamp(2rem,3vw,3rem);display:block}.contact-card hr{border:0;border-top:1px solid var(--line);margin:35px 0}.contact-grid h2{margin-bottom:25px;font-size:2.5rem}.steps{color:var(--muted);margin:25px 0;padding-left:25px;line-height:2.2}.video-grid{grid-template-columns:repeat(2,1fr);gap:40px;display:grid}.video-grid video{width:100%}.video-grid h2{margin-top:25px;font-size:2rem}@media (width>=1500px){.hero-content{padding-top:110px}}@media (width<=1000px){.desktop-nav{gap:18px}.brand{width:180px}.hero{min-height:660px}.intro,.service-detail,.contact-grid{gap:45px}.project-card img{height:350px}.tatami-feature>div{padding:55px 10%}footer{grid-template-columns:1fr 1fr}footer>div:last-child{grid-column:1/-1}.section{padding:70px 6%}.tight{padding-top:0}}@media (width<=700px){.topline{padding:10px 5%;font-size:.65rem}.topline span{max-width:65%}.header{padding:20px 5%}.brand{width:170px}.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{cursor:pointer;gap:15px;padding:10px;font-size:.85rem;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{background:var(--paper);border-top:1px solid var(--line);flex-direction:column;gap:5px;padding:20px 7%;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 15px 20px #0002}.mobile-menu nav a{padding:12px 0}.hero{height:760px;min-height:0;max-height:none}.hero-content{padding:60px 7%}.hero h1{font-size:4.2rem}.hero-content>p:not(.eyebrow){max-width:310px;font-size:1rem}.hero-foot{flex-direction:column;gap:12px;font-size:.6rem;bottom:25px}.hero-shade{background:linear-gradient(90deg,#102f31dd,#102f3170)}.actions{gap:16px}.section{padding:60px 7%}.tight{padding-top:0}.intro,.service-detail,.contact-grid{grid-template-columns:1fr;gap:30px}.intro p{font-size:1rem}.section-heading{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:30px}.service-grid{grid-template-columns:1fr;gap:40px}.service-card img{aspect-ratio:1.4}.project-grid{grid-template-columns:1fr;gap:35px}.project-card img{height:360px}.tatami-feature{grid-template-columns:1fr}.tatami-feature>img{height:330px;min-height:0}.tatami-feature>div{padding:55px 7%}.contact-band{flex-direction:column;align-items:flex-start;gap:35px;padding:60px 7%}.contact-band h2{font-size:2.9rem}footer{grid-template-columns:1fr;gap:35px;padding:50px 7%}footer>div:last-child{grid-column:auto}footer nav{max-width:300px}.page-intro h1{font-size:3.3rem}.page-intro{padding-bottom:45px}.gallery{grid-template-columns:1fr 1fr;gap:24px 15px}.gallery img{height:220px}.contact-card{padding:30px}.contact-card .text-link{overflow-wrap:anywhere}.video-grid{grid-template-columns:1fr}.service-detail img{max-height:400px}}@media (width<=380px){.hero h1{font-size:3.6rem}.hero{height:740px}.gallery{grid-template-columns:1fr}.gallery img{height:330px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.brand{background:var(--ink);width:250px;padding:12px 15px}.brand img{width:100%}@media (width<=1000px){.brand{width:210px}}@media (width<=700px){.brand{width:190px;padding:10px 12px}.hero{height:auto;min-height:740px}.hero h1{font-size:3.5rem}.hero-content{padding-bottom:35px}.hero-foot{margin:0 7% 28px;position:relative;bottom:auto;left:auto;right:auto}.hero-content .eyebrow{font-size:.65rem}}
