:root{--slate:#789;--slate-dark:#687887;--charcoal:#333;--ink:#1b1b1b;--text:#595959;--muted:#a9a9a9;--light:#f7f7f7;--review-bg:#b8b8b8;--star:#f2c200;--heading-font:"Quicksand", sans-serif;--body-font:"Mulish", "Muli", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--body-font);color:var(--text);background:#fff;margin:0;font-weight:300;line-height:1.6}img{max-width:100%;display:block}a{color:var(--slate-dark)}h1,h2,h3,h4{font-family:var(--heading-font);color:var(--ink);margin:0 0 .75em;font-weight:400;line-height:1.25}.container{width:min(1180px,100% - 32px);margin-inline:auto}.container.narrow{width:min(820px,100% - 32px)}.center{text-align:center}.section-title{text-align:center;text-transform:uppercase;letter-spacing:.12em;margin-bottom:2rem;font-size:clamp(1.1rem,2.5vw,1.4rem)}.section-title.light{color:#fff}.btn{border:1px solid var(--ink);color:var(--ink);font-family:var(--body-font);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;padding:.9em 1.6em;font-size:.8rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.btn:before{content:"— "}.btn:after{content:" —"}.btn:hover{background:var(--ink);color:#fff}.btn-light{color:#fff;border-color:#fff}.btn-light:hover{color:var(--charcoal);background:#fff}.site-header{background:var(--charcoal);justify-content:center;padding:16px;display:flex}.logo-link img{width:225px;height:auto}.hero{text-align:center;padding:56px 0 64px}.hero h1{color:var(--slate);font-size:clamp(1.8rem,4.5vw,2.8rem);font-weight:300}.hero p{max-width:760px;margin:0 auto 2rem}.hero-img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;margin-top:56px}.split{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.split img{object-fit:cover;width:100%;height:100%}.legacy{background:var(--slate);color:#fff;padding:56px 0}.legacy h3{color:#fff;text-align:center;font-weight:600}.legacy p{text-align:center}.legacy .split img{aspect-ratio:16/9}.welcome{background:var(--charcoal);color:#ddd}.welcome .split{gap:0}.welcome img{aspect-ratio:3/4;object-position:center 30%;max-height:760px}.welcome .split-text{padding:48px clamp(24px,6vw,96px)}.welcome h2{color:#fff;font-size:clamp(1.8rem,3.5vw,2.4rem)}.welcome strong{color:#fff;font-weight:600}.gallery-section{padding:64px 0}.gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.gallery button{cursor:zoom-in;aspect-ratio:1;background:0 0;border:0;padding:0;overflow:hidden}.gallery img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.gallery button:hover img,.gallery button:focus-visible img{transform:scale(1.05)}.work-types{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px;display:flex}.pill{font:inherit;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--charcoal);color:var(--charcoal);cursor:pointer;background:#fff;padding:8px 16px;font-size:.8rem}.pill:hover,.pill[aria-pressed=true]{background:var(--charcoal);color:#fff}.work-projects{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.work-project{font:inherit;cursor:pointer;text-align:left;background:#fff;border:1px solid #ddd;padding:0}.work-project img{aspect-ratio:4/3;object-fit:cover;width:100%}.work-project span{color:var(--ink);overflow-wrap:anywhere;padding:8px 10px;font-size:.9rem;font-weight:600;display:block}.work-project:hover,.work-project[aria-pressed=true]{border-color:var(--charcoal);box-shadow:0 0 0 1px var(--charcoal)}.work-title{font-family:var(--heading-font);color:var(--ink);margin:8px 0 12px;scroll-margin-top:16px}.lightbox{color:#fff;background:#000000eb;border:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:0}.lightbox[open]{justify-content:center;align-items:center;display:flex}.lightbox::backdrop{background:#0009}.lightbox figure{text-align:center;margin:0}.lightbox img{max-width:88vw;max-height:82vh;margin:auto}.lightbox figcaption{color:#ccc;margin-top:12px;font-size:.9rem}.lightbox button{color:#fff;cursor:pointer;background:0 0;border:0;padding:12px 16px;font-size:2.6rem;line-height:1;position:absolute}.lb-close{top:8px;right:8px}.lb-prev{top:50%;left:4px;transform:translateY(-50%)}.lb-next{top:50%;right:4px;transform:translateY(-50%)}.reviews{background:var(--review-bg);padding:64px 0}.reviews .section-title{text-transform:none;letter-spacing:0;font-size:clamp(1.5rem,3.5vw,2rem)}.review-grid{grid-template-columns:repeat(auto-fit,minmax(280px,400px));justify-content:center;gap:32px;display:grid}.review{text-align:center;background:#fff;padding:32px 28px;box-shadow:0 4px 18px #00000026}.avatar{color:#888;width:64px;height:64px;font-family:var(--heading-font);background:#eee;border-radius:50%;place-items:center;margin:0 auto 12px;font-size:1.8rem;display:grid}.stars{color:var(--star);letter-spacing:.15em;margin-bottom:12px}.review h3{margin-bottom:.5em;font-size:1rem;font-weight:600}.review p{font-size:.95rem}.review footer{color:var(--muted);font-size:.8rem}.faq{padding:64px 0}.faq details{border-bottom:1px solid #e3e3e3}.faq summary{cursor:pointer;font-family:var(--heading-font);color:var(--ink);padding:18px 32px 18px 0;font-weight:500;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.3rem;position:absolute;top:12px;right:4px}.faq details[open] summary:after{content:"–"}.faq details p{margin:0 0 18px}.contact{background:#fff;padding:64px 0}.contact-grid{grid-template-columns:1fr 1fr;gap:56px;display:grid}.contact h3{font-size:1.05rem;font-weight:600}.contact h4{margin:1.5em 0 .5em;font-weight:600}.quote-form label{color:var(--ink);margin-bottom:14px;font-size:.85rem;display:block}.quote-form input,.quote-form textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #c8c8c8;margin-top:4px;padding:12px 14px;font-size:1rem;display:block}.quote-form input:focus,.quote-form textarea:focus{outline:2px solid var(--slate);outline-offset:-1px}.quote-form .btn{width:100%}.honeypot{position:absolute;left:-9999px}.form-note{font-size:.85rem}.form-status{min-height:1.5em;font-weight:600}.hours{border-collapse:collapse}.hours th{text-align:left;padding:2px 24px 2px 0;font-weight:400}.hours td{padding:2px 0}.hours tr.today{color:var(--ink);font-weight:700}.site-footer{background:var(--charcoal);color:#bbb;text-align:center;letter-spacing:.12em;text-transform:uppercase;padding:32px 16px;font-size:.75rem}.site-footer p{margin:0}@media (width<=760px){.split,.contact-grid{grid-template-columns:1fr}.split{gap:24px}.welcome .split{gap:0}.welcome img{max-height:420px}.gallery,.work-projects{grid-template-columns:repeat(2,1fr)}.hero-img{margin-top:40px}}.site-header{position:relative}.login-link{color:#ddd;letter-spacing:.12em;text-transform:uppercase;border:1px solid #777;padding:7px 12px;font-size:.8rem;font-weight:600;text-decoration:none;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.login-link:hover{color:#fff;border-color:#fff}@media (width<=560px){.site-header{justify-content:flex-start}.login-link{right:16px}.logo-link img{width:170px}}.attach{margin-bottom:14px}.attach-btn{cursor:pointer;color:var(--ink);border:1px dashed #999;padding:10px 14px;font-size:.85rem;display:inline-block}.attach-btn:hover{border-color:var(--ink)}.quote-form .attach-btn input{display:none}.attach-list{margin:8px 0 0;padding:0;font-size:.85rem;list-style:none}.attach-list button{color:var(--slate-dark);cursor:pointer;font:inherit;background:0 0;border:0;text-decoration:underline}.turnstile{min-height:65px;margin-bottom:12px}.quote-form .btn:disabled{opacity:.6;cursor:default}.site-footer .credit{letter-spacing:.14em;color:#8f8f8f;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:.68rem;display:inline-flex}.site-footer .credit a{color:#ddd;border-bottom:1px solid var(--slate);padding-bottom:1px;text-decoration:none;transition:color .2s,border-color .2s}.site-footer .credit a:hover{color:#fff;border-color:#fff}
