:root{--paper:#F5F2E9;--ink:#203B34;--line:#D1DED7;--muted:#596D64;--green:#D5E5CF}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:#163D35;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #397260;outline-offset:5px}header{height:108px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--paper)}.logo{font-family:Georgia,serif;font-size:48px;letter-spacing:-3px;line-height:1;display:block}.logo span{font-family:Arial,sans-serif;font-size:10px;letter-spacing:2px;display:block;margin-top:10px}nav{display:flex;gap:38px;align-items:center;font-size:14px}nav details{position:relative}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{margin-left:8px}.dropdown{position:absolute;top:38px;left:-25px;width:240px;background:var(--paper);padding:16px;border:1px solid var(--line);box-shadow:0 12px 30px #0001}.dropdown button{display:block;width:100%;background:none;border:0;text-align:left;padding:11px;font-size:14px}.dropdown button:hover{background:#DDECE5}.nav-contact{border-bottom:1px solid var(--ink);padding:9px 0;font-size:14px}.nav-contact span{margin-left:24px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:670px}.hero-copy{padding:95px 9% 28px 10%;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:12px;letter-spacing:2px;line-height:1.5;font-weight:600;margin:0 0 28px}h1,h2{font-weight:400;font-family:Georgia,'Times New Roman',serif;letter-spacing:-2px;line-height:1.08;margin:0}h1{font-size:clamp(48px,5.2vw,78px)}.hero-copy>p:not(.eyebrow){color:var(--muted);margin:30px 0 35px;font-size:16px;line-height:1.8}.button{background:var(--green);color:#203B34;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 24px;border:1px solid var(--green);font-size:14px;transition:background .2s}.button:hover{background:#C3D8BB}.button span{font-size:20px}.hero-foot{font-size:11px;letter-spacing:.3px;margin-top:auto;padding-top:60px;width:100%;display:flex;gap:12px;justify-content:space-between}.hero-foot span:last-child{white-space:nowrap}.hero-image{position:relative;min-height:670px;background:#d9cfc1}.hero-image>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 65%}.image-label{position:absolute;bottom:24px;left:30px;right:30px;display:grid;grid-template-columns:1fr auto;align-items:center;color:#163D35;font-size:12px}.image-label>span:first-child{letter-spacing:2px;font-size:14px}.image-label>span:nth-child(2){grid-row:2}.image-label button{grid-row:1/3;grid-column:2;border:1px solid #6668;border-radius:50%;background:#ffffff30;width:45px;height:45px;font-size:24px}.wrap{width:90%;max-width:1440px;margin:0 auto}.intro{display:grid;grid-template-columns:1fr 2fr;gap:45px;padding:120px 0}.intro>.eyebrow{padding-top:12px}h2{font-size:clamp(36px,3.8vw,58px)}h2 em{font-weight:400;color:#163D35}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:30px;color:var(--muted);max-width:850px}.intro-columns p{margin:0}.projects{border-top:1px solid var(--line);padding:85px 0 100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{color:var(--muted);font-size:14px;margin:0}.filters{display:flex;flex-wrap:wrap;gap:8px 25px;margin:38px 0 35px;border-bottom:1px solid var(--line)}.filters button{border:0;border-bottom:2px solid transparent;background:none;font-size:14px;padding:12px 0;color:var(--muted)}.filters button.active{border-color:var(--ink);color:#163D35}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project-card{background:none;border:0;text-align:left;padding:0;min-width:0}.main-card{grid-row:span 2}.project-photo{position:relative;height:245px;overflow:hidden;background:#f7f6f2}.main-card .project-photo{height:580px}.project-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.photo-tag{position:absolute;top:20px;left:20px;background:#E7B7C5;padding:7px 12px;font-size:11px;letter-spacing:1px}.card-label{display:flex;justify-content:space-between;align-items:center;padding:18px 0 4px}.card-label h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:0}.card-label p{color:var(--muted);font-size:13px;margin:3px 0}.card-label>span{font-size:24px}.catalog-note{font-size:12px;color:var(--muted);margin-top:30px}.empty{padding:55px 0}.empty h3{font:34px Georgia,serif}.text-link{border-bottom:1px solid}.custom{background:var(--green);color:var(--ink);padding:80px 0 95px}.custom-inner{display:grid;grid-template-columns:1.2fr 1fr;column-gap:100px}.custom .eyebrow{grid-column:1/-1;color:#294F42}.custom h2{font-size:clamp(44px,4.4vw,68px)}.custom h2 em{color:#294F42}.custom-inner>div{align-self:end;max-width:420px}.custom-inner>div p{color:#294F42;margin-bottom:30px}.light{border-color:#294F42;background:transparent}.process{padding:100px 0}.process h2{font-size:45px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps article>span{font:26px Georgia,serif;color:#163D35}.steps h3{font-size:18px;font-weight:400;margin:25px 0 15px}.steps p{color:var(--muted);font-size:14px;margin:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line);padding:85px 0 100px}.contact>div>p:not(.eyebrow){color:var(--muted);margin-top:28px}.sample-note{display:block;font-size:12px;color:var(--muted);margin-top:45px;max-width:290px}form label{display:block;font-size:13px;margin-bottom:23px}input,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #91ABA0;border-radius:0;padding:12px 0;resize:vertical;color:var(--ink);font-size:16px}#form-status{font-size:14px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center;padding:45px 5%}footer .logo{font-size:40px}footer p,footer>span{font-size:12px;color:var(--muted)}dialog{border:0;padding:0;max-width:980px;width:90vw;background:var(--paper);color:#163D35;max-height:90vh;overflow:auto}dialog::backdrop{background:#203B34d9}dialog[open]{display:grid;grid-template-columns:1fr 1fr}dialog>img{width:100%;height:100%;min-height:550px;object-fit:cover}.detail-copy{padding:55px 35px}.detail-copy h2{margin-bottom:25px}.detail-copy>p:not(.eyebrow),.detail-copy ul{font-size:14px;color:var(--muted)}.detail-copy ul{padding-left:18px;margin:25px 0}.close{position:absolute;top:10px;right:12px;border:0;background:var(--paper);width:36px;height:36px;border-radius:50%;font-size:26px}[hidden]{display:none!important}@media(min-width:1600px){.hero-copy{padding-left:max(10%,calc((100vw - 1440px)/2))}}@media(max-width:900px){header{height:92px}.logo{font-size:40px}.logo span{font-size:9px}nav{gap:20px}.how-link{display:none}.hero{min-height:570px}.hero-copy{padding-top:65px}.hero-image{min-height:570px}.hero-foot span:last-child{display:none}.intro{padding:80px 0;grid-template-columns:1fr;gap:0}.intro-columns{gap:30px}.custom-inner{column-gap:45px}.contact{gap:40px}.steps{gap:25px}.main-card .project-photo{height:500px}.project-photo{height:205px}}@media(max-width:620px){header{height:88px;padding:0 6%;flex-wrap:wrap}.logo{font-size:37px}.logo span{font-size:8px;letter-spacing:1.2px}nav{gap:17px;font-size:13px}.nav-contact{display:none}.dropdown{left:auto;right:0}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 6% 30px}.hero-copy .eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:22px}h1{font-size:53px}.hero-copy>p:not(.eyebrow){margin:23px 0}.hero-foot{padding-top:35px}.hero-image{min-height:460px}.hero-image>img{object-position:50% 69%}.image-label{left:23px;right:23px}.wrap{width:88%}.intro{padding:65px 0}h2{font-size:39px;letter-spacing:-1.4px}.intro-columns{grid-template-columns:1fr;gap:15px;font-size:15px}.projects{padding:60px 0}.section-heading{display:block}.section-heading>p{margin-top:20px}.filters{column-gap:22px;margin-top:25px}.filters button{font-size:13px}.project-grid{grid-template-columns:1fr;gap:25px}.main-card{grid-row:auto}.main-card .project-photo{height:450px}.project-photo{height:280px}.custom{padding:55px 0}.custom-inner{grid-template-columns:1fr;gap:15px}.custom h2{font-size:44px}.custom-inner>div{margin-top:10px}.process{padding:60px 0}.process h2{font-size:37px}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.steps h3{margin-top:15px}.contact{grid-template-columns:1fr;gap:35px;padding:55px 0}.sample-note{margin-top:22px}footer{flex-wrap:wrap;padding:35px 6%}footer p{display:none}dialog[open]{grid-template-columns:1fr}dialog>img{min-height:0;height:300px}.detail-copy{padding:30px}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original supplied logo, framed without modifying the source image. */
header .brand-logo{width:200px;flex-shrink:0;letter-spacing:normal}header .brand-logo .logo-window{display:block;position:relative;width:100%;aspect-ratio:2.52;overflow:hidden;mix-blend-mode:multiply}header .brand-logo .logo-window img{display:block;position:absolute;width:119%;height:auto;max-width:none;left:-8.8%;top:-132%}header .brand-logo>span{font-size:10px;letter-spacing:.6px;line-height:1.3;margin-top:3px;text-align:center;white-space:nowrap}@media(max-width:900px){header .brand-logo{width:170px}header .brand-logo>span{font-size:9px;letter-spacing:.3px}}@media(max-width:620px){header .brand-logo{width:150px}header .brand-logo>span{font-size:8px;letter-spacing:.2px}}

.hero-carousel{overflow:hidden;touch-action:pan-y;cursor:grab;isolation:isolate}.hero-carousel:active{cursor:grabbing}.hero-track{position:absolute;inset:0;display:flex;transition:transform .45s ease}.hero-slide{position:relative;flex:0 0 100%;min-width:0;height:100%;overflow:hidden}.hero-slide img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;user-select:none;pointer-events:none}.hero-slide-wide img{object-fit:contain;object-position:center}.island-slide{background:#fff}.shop-slide{background:#e9e2d6}.hero-carousel .image-label{bottom:68px;z-index:1}.hero-carousel .image-label button{cursor:pointer;background:#F5F2E9cc}.hero-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;z-index:2}.hero-dots button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}.hero-dots button::before{content:"";width:10px;height:10px;border-radius:50%;background:#91AD83;transition:background .2s,transform .2s}.hero-dots button[aria-pressed="true"]::before{background:#163D35;transform:scale(1.2)}.carousel-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:620px){.hero-slide-wide img{object-position:center}}@media(prefers-reduced-motion:reduce){.hero-track{transition:none}}

.projects-subtitle{color:var(--muted);font-size:14px;margin:20px 0 0}

@media(min-width:621px){.hero-carousel .image-label{bottom:28px}.hero-dots{bottom:0}.hero-dots button{height:24px}}

.about{background:var(--green)}.about .intro-columns{color:#294F42;row-gap:28px}.about .eyebrow{color:#294F42}

.company-footer{display:block;background:var(--green);padding:55px 0 22px;border-top:0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px;align-items:start}.company-footer p{display:block;color:#294F42}.company-footer .eyebrow{font-size:11px;margin:0 0 18px}.footer-brand p{margin:20px 0 0;font-size:13px}.company-footer address{font-style:normal;font-size:14px;line-height:1.9}.company-footer address strong{font-weight:500}.footer-contact>a{display:block;width:fit-content;font-size:16px;line-height:1.9}.footer-contact>a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{border-top:1px solid #163D3526;margin-top:40px;padding-top:20px;font-size:12px;color:#294F42}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}}@media(max-width:620px){.company-footer{padding:40px 0 22px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-brand{grid-column:auto}.footer-bottom{margin-top:30px}}

.detail-gallery { display:flex; flex-direction:column; justify-content:center; background:#f7f6f2; min-width:0; }
.detail-gallery img { display:block; width:100%; height:clamp(260px,48vh,490px); object-fit:contain; touch-action:pan-y; user-select:none; }
.detail-dots:not([hidden]) { display:flex; justify-content:center; flex-wrap:wrap; }
.detail-dots button { display:grid; place-items:center; width:44px; height:44px; border:0; background:transparent; cursor:pointer; }
.detail-dots button::before { content:""; width:10px; height:10px; border-radius:50%; background:#91AD83; }
.detail-dots button[aria-pressed="true"]::before { background:#163D35; transform:scale(1.2); }

.framed-cover::before { content:""; position:absolute; inset:-8%; background:var(--cover-photo) center / cover; filter:blur(24px); pointer-events:none; }
.framed-cover img { position:absolute; max-width:none; max-height:none; mask-composite:intersect; }

.footer-hours{margin-top:25px;padding-top:22px;border-top:1px solid #163D3526;max-width:280px}
.company-footer .footer-hours .eyebrow{margin-bottom:10px}
.company-footer .footer-hours-days{margin:0 0 3px;font-size:14px}
.company-footer .footer-hours-time{display:flex;align-items:center;gap:12px;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:28px;line-height:1.4;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
.footer-hours-time span{font-size:22px;color:var(--muted)}
