:root{--ink:#171512;--muted:#635a4d;--paper:#f8f4ed;--panel:#efe7da;--line:#dacbb9;--charcoal:#1d1813;--brand:#5f3a16;--brand-dark:#3b220c;--brand-soft:#8a5a2c;--sage:#5f6d55;--cream:#fffdf8;--shadow:0 24px 80px #2b1d1024}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:Segoe UI,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img,video{max-width:100%}.site-header{z-index:20;color:#fff;min-height:86px;box-shadow:none;background:linear-gradient(#140c0557,#140c0500);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:24px;padding:14px clamp(18px,4vw,56px);transition:border-color .12s,background .16s,color .16s;display:flex;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{color:var(--brand);background:#fffdf8f0;border-bottom-color:#5f3a1624}.brand{width:clamp(150px,18vw,230px);display:block;position:relative}.brand-logo{width:100%;height:auto;transition:opacity .14s;display:block}.brand-logo-dark{opacity:0;position:absolute;inset:0}.site-header.is-scrolled .brand-logo-light{opacity:0}.site-header.is-scrolled .brand-logo-dark{opacity:1}.menu-toggle{color:currentColor;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:4px;place-items:center;width:46px;height:46px;display:none}.nav-links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.08em;text-transform:uppercase;background:#140c0529;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:4px;padding:5px;font-size:.8rem;font-weight:800;display:flex}.nav-links a{opacity:.92;border-radius:999px;padding:10px 14px;transition:opacity .18s,background .18s,color .18s}.nav-links a:hover{opacity:1;background:#ffffff1f}.site-header.is-scrolled .nav-links a:hover{background:#5f3a1617}.site-header.is-scrolled .nav-links{-webkit-backdrop-filter:none;backdrop-filter:none;background:#5f3a160e;border-color:#5f3a1624}.hero{color:#fff;background:linear-gradient(#1d120933, #1d120933), url(/images/home-interior.webp) center / cover, var(--charcoal);align-items:end;min-height:88vh;display:grid;position:relative;overflow:hidden}.hero-video,.hero-overlay{width:100%;height:100%;position:absolute;inset:0}.hero-video{object-fit:cover;opacity:0;will-change:opacity;transition:opacity .18s}.hero-video.is-ready{opacity:1}.hero-overlay{background:linear-gradient(90deg,#1d1209ad,#1d12092e),linear-gradient(#1d12091a 46%,#1d120975)}.hero-content{z-index:1;width:min(900px,100% - 36px);padding:170px 0 72px clamp(18px,7vw,96px);position:relative}.eyebrow{color:#f1c9a3;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:800}.eyebrow.dark{color:var(--brand)}h1,h2,h3,p{margin-top:0}h1{max-width:820px;margin-bottom:22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.1rem,9vw,8.6rem);font-weight:700;line-height:.9}h2{color:#19140f;margin-bottom:18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,5vw,4.25rem);line-height:1}h3{margin-bottom:10px;font-size:1.05rem;line-height:1.25}p{color:var(--muted);line-height:1.7}.hero-copy{color:#ffffffe6;max-width:620px;font-size:clamp(1rem,2vw,1.28rem)}.hero-support{color:#ffffffb8;max-width:560px;margin-bottom:0;font-size:.98rem}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.button{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 20px;font-weight:800;line-height:1;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:var(--brand);box-shadow:0 12px 24px #5f3a1638}.button.primary:hover{background:var(--brand-dark)}.button.ghost{color:#fff;background:#ffffff14;border-color:#ffffff73}.section{padding:clamp(72px,11vw,132px) clamp(18px,5vw,72px)}.section[id]{scroll-margin-top:112px}.about-section{background:linear-gradient(180deg, #fff 0%, #f8f4edbd 64%, var(--paper) 100%)}.about-intro{grid-template-columns:minmax(280px,.78fr) 1px minmax(320px,1fr);align-items:center;gap:clamp(28px,5vw,58px);max-width:1180px;margin:0 auto;display:grid}.about-title{gap:16px;display:grid}.about-title h2{max-width:10ch}.about-divider{background:var(--line);align-self:center;width:1px;height:min(68%,230px);min-height:150px}.about-copy{gap:14px;padding-top:4px;display:grid}.about-copy p{max-width:660px;font-size:1.07rem}.commitment-panel{border:1px solid var(--line);background:linear-gradient(90deg,#fffdf8f7,#fffdf8e6),url(/images/projects/framing-and-glass.webp) 50%/cover;border-radius:8px;grid-template-columns:minmax(280px,.9fr) 1px minmax(360px,1fr);align-items:center;gap:clamp(28px,4.5vw,56px);max-width:1180px;margin:clamp(58px,8vw,92px) auto 0;padding:clamp(28px,4vw,44px);display:grid;box-shadow:0 18px 54px #2b1d1017}.commitment-lead{align-content:center;display:grid}.commitment-lead h3{color:#19140f;max-width:12.5ch;margin-bottom:18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3rem);line-height:1}.commitment-lead p:last-child{max-width:440px;margin-bottom:0}.commitment-divider{background:#5f3a1629;align-self:center;width:1px;height:70%;min-height:240px}.commitment-list{background:#fffdf8a3;border-top:1px solid #5f3a1629;border-bottom:1px solid #5f3a1629;gap:0;display:grid}.commitment-item{border-top:1px solid #5f3a1624;border-left:0;padding:22px clamp(18px,2vw,24px);display:block}.commitment-item:first-child{border-top:0}.commitment-number{color:#5f3a167a;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1}.commitment-heading{align-items:center;gap:14px;margin-bottom:8px;display:flex}.service-card svg{color:var(--brand)}.commitment-heading h3,.commitment-item p{margin-bottom:0}.services-section{background:linear-gradient(#fff 0%,#fbf8f2 100%)}.section-heading{text-align:center;max-width:820px;margin:0 auto 46px}.section-heading p:last-child{max-width:690px;margin-left:auto;margin-right:auto}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1180px;margin:0 auto;display:grid}.service-card{border:1px solid var(--line);background:var(--cream);border-radius:8px;min-height:240px;padding:28px;transition:transform .18s,border-color .18s,box-shadow .18s;box-shadow:0 12px 34px #2b1d1012}.service-heading{align-items:center;gap:14px;margin-bottom:18px;display:flex}.service-heading svg{flex:none}.service-heading h3{margin-bottom:0}.service-card:hover{border-color:#5f3a1657;transform:translateY(-2px);box-shadow:0 18px 42px #2b1d101f}.project-gallery{background:linear-gradient(#f4eee5 0%,#fffdf8 42%,#fff 100%);border-top:1px solid #5f3a161a;border-bottom:1px solid #5f3a161f;padding-top:clamp(64px,8vw,96px);padding-bottom:clamp(72px,9vw,104px)}.gallery-content{max-width:1180px;margin:0 auto}.gallery-heading{border-bottom:1px solid #5f3a1629;grid-template-columns:minmax(280px,.72fr) minmax(340px,1fr);align-items:center;gap:clamp(24px,5vw,64px);margin-bottom:26px;padding-bottom:20px;display:grid}.gallery-heading h2{color:#19140f;grid-column:1;max-width:420px;margin-bottom:0;font-size:clamp(2.2rem,3.8vw,3.45rem)}.gallery-heading p:last-child{max-width:620px;color:var(--muted);grid-area:1/2/span 2;align-self:end;margin-bottom:0}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.gallery-item{aspect-ratio:4/3;border:1px solid var(--line);background:var(--charcoal);cursor:pointer;text-align:left;border-radius:8px;width:100%;min-height:0;margin:0;padding:0;transition:border-color .18s,box-shadow .18s,transform .18s;display:block;position:relative;overflow:hidden;box-shadow:0 14px 36px #2b1d1014}.gallery-item img{object-fit:cover;opacity:.9;transition:opacity .22s,transform .42s}.gallery-item:hover img{opacity:1;transform:scale(1.035)}.gallery-item:hover,.gallery-item:focus-visible{border-color:#5f3a165c;transform:translateY(-2px);box-shadow:0 20px 46px #2b1d1024}.gallery-item:focus-visible{outline-offset:3px;outline:3px solid #5f3a1647}.gallery-caption{color:#fff;background:#3b220cc7;border-radius:4px;padding:10px 12px;font-weight:800;position:absolute;bottom:22px;left:22px}.project-modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#140c058f;place-items:center;padding:clamp(18px,3vw,42px);animation:.16s ease-out modal-fade;display:grid;position:fixed;inset:0}.project-modal{background:var(--cream);border:1px solid #ffffff38;border-radius:8px;width:min(1120px,100%);max-height:min(860px,100vh - 36px);animation:.18s ease-out modal-rise;overflow:hidden;box-shadow:0 34px 90px #140c0557}.project-modal-header{border-bottom:1px solid #5f3a1624;justify-content:space-between;align-items:start;gap:18px;padding:22px clamp(20px,3vw,32px);display:flex}.project-modal-header .eyebrow{margin-bottom:8px}.project-modal-header h2{margin-bottom:0;font-size:clamp(1.9rem,3vw,3rem)}.modal-icon-button,.modal-step-button,.modal-thumb{color:inherit;cursor:pointer;font:inherit;border:0}.modal-icon-button{width:44px;height:44px;color:var(--brand);background:#5f3a160f;border:1px solid #5f3a162e;border-radius:999px;flex:none;place-items:center;display:grid}.modal-icon-button:hover,.modal-icon-button:focus-visible{background:#5f3a161f}.project-modal-body{grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);gap:0;display:grid}.modal-media-stage{background:#100c08;min-height:520px;position:relative}.modal-media-stage img,.modal-media-stage video{object-fit:cover;width:100%;height:100%}.modal-media-stage video{background:#100c08;position:absolute;inset:0}.modal-step-button{color:#fff;background:#140c0585;border:1px solid #ffffff47;border-radius:999px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 12px 28px #140c0538}.modal-step-button:hover,.modal-step-button:focus-visible{background:#5f3a16d1}.modal-step-prev{left:18px}.modal-step-next{right:18px}.modal-detail{background:linear-gradient(#fffdf8 0%,#f8f4ed 100%);align-content:start;gap:18px;padding:clamp(22px,3vw,32px);display:grid}.modal-detail p{margin-bottom:0}.modal-caption{color:var(--brand);font-weight:800}.modal-thumb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.modal-thumb{aspect-ratio:4/3;background:var(--charcoal);border:2px solid #0000;border-radius:6px;position:relative;overflow:hidden}.modal-thumb img{object-fit:cover;opacity:.72}.modal-thumb:hover img,.modal-thumb:focus-visible img,.modal-thumb.is-active img{opacity:1}.modal-thumb.is-active{border-color:var(--brand)}.modal-play-badge{color:#fff;background:#140c0547;place-items:center;display:grid;position:absolute;inset:0}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.why-section{color:var(--ink);background:linear-gradient(#fff 0%,#f7f1e8 100%)}.why-section .eyebrow.dark{color:var(--brand)}.why-section h2{color:#19140f;max-width:none}.why-section .section-heading{max-width:1120px}.why-section .section-heading p:last-child{color:var(--muted)}.reason-grid{border:1px solid var(--line);background:#fffdf8d1;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:1080px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 16px 46px #2b1d1012}.reason-item{background:0 0;border-top:1px solid #5f3a1624;border-left:1px solid #5f3a1624;padding:28px 30px;transition:background .18s}.reason-item:nth-child(-n+2){border-top:0}.reason-item:nth-child(odd){border-left:0}.reason-item:hover{background:#ffffff94}.reason-heading{align-items:center;gap:14px;margin-bottom:10px;display:flex}.reason-icon{color:#fff;background:var(--brand);border-radius:4px;flex:none;place-items:center;width:40px;height:40px;display:grid}.reason-item h3{color:var(--ink);margin-bottom:0}.reason-item p{color:var(--muted);margin-bottom:0}.contact-section{background:linear-gradient(135deg,#fffdf8 0%,#f6efe4 100%);grid-template-columns:minmax(0,.9fr) minmax(320px,520px);align-items:start;gap:clamp(34px,7vw,96px);display:grid}.contact-intro{max-width:620px}.contact-details{color:var(--muted);gap:12px;margin-top:30px;font-weight:500;display:grid}.contact-details a,.contact-details span{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;max-width:520px;line-height:1.45;display:grid}.contact-details svg{box-sizing:content-box;width:18px;height:18px;color:var(--brand);background:#5f3a160d;border:1px solid #5f3a162e;border-radius:4px;padding:8px}.contact-photo{aspect-ratio:16/9;border:1px solid var(--line);background:var(--charcoal);border-radius:8px;max-width:560px;margin:34px 0 0;position:relative;overflow:hidden;box-shadow:0 18px 46px #2b1d101a}.contact-photo img{object-fit:cover}.contact-form{border:1px solid var(--line);background:var(--cream);box-shadow:var(--shadow);border-radius:8px;gap:18px;padding:clamp(22px,4vw,34px);display:grid}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}label{color:var(--ink);gap:8px;font-size:.86rem;font-weight:800;display:grid}input,select,textarea{width:100%;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:inherit;background:#fff;border:1px solid #cbb9a4;border-radius:4px;padding:13px 14px;font-weight:400}select{color:var(--ink);background:linear-gradient(45deg, transparent 50%, var(--brand) 50%), linear-gradient(135deg, var(--brand) 50%, transparent 50%), #fff;appearance:none;background-position:calc(100% - 19px) calc(50% + 1px),calc(100% - 13px) calc(50% + 1px),100% 0;background-repeat:no-repeat;background-size:6px 6px,6px 6px,2.8rem 100%;padding-right:42px}select option{color:var(--ink);background:var(--cream)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:3px solid #5f3a162e}.honey-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-button{cursor:pointer;width:100%}.form-button:disabled{cursor:wait;opacity:.72}.form-status{min-height:24px;margin-bottom:0;font-size:.93rem}.site-footer{color:#fff;background:linear-gradient(135deg, var(--brand-dark), #171512 68%);grid-template-columns:1fr auto;align-items:end;gap:20px 28px;padding:38px clamp(18px,5vw,72px);display:grid}.site-footer img{width:172px;height:auto}.site-footer p{color:#ffffffa8;max-width:360px;margin:12px 0 0}.footer-links{gap:22px;font-weight:800;display:flex}.copyright{flex-wrap:wrap;grid-column:1/-1;gap:8px 18px;font-size:.86rem;display:flex}.copyright a{color:#fff;font-weight:800}@media (max-width:980px){.about-intro,.commitment-lead,.commitment-panel,.contact-section,.commitment-list{grid-template-columns:1fr}.about-divider,.commitment-divider{display:none}.service-grid,.reason-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-heading,.gallery-grid{grid-template-columns:1fr}.gallery-heading h2,.gallery-heading p:last-child{grid-area:auto}.project-modal{overflow:auto}.project-modal-body{grid-template-columns:1fr}.modal-media-stage{min-height:460px}.modal-thumb-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.about-title h2,.commitment-lead h3{max-width:720px}}@media (max-width:720px){.section{padding:62px 24px}.section[id]{scroll-margin-top:90px}.site-header{background:#140c056b;align-items:center;gap:16px;min-height:74px;padding:12px 18px}.brand{width:168px}.menu-toggle{z-index:3;margin-left:auto;display:grid;position:absolute;top:14px;right:18px}.nav-links{z-index:2;min-width:min(260px,100vw - 36px);color:var(--brand);-webkit-backdrop-filter:none;backdrop-filter:none;opacity:0;pointer-events:none;background:#fffdf8fa;border:1px solid #5f3a1629;border-radius:6px;gap:4px;padding:10px;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:calc(100% + 8px);right:18px;transform:translateY(-6px);box-shadow:0 18px 42px #140c0533}.site-header.is-scrolled .nav-links{background:#fffdf8fa;border-color:#5f3a1629;box-shadow:0 18px 42px #140c0533}.nav-links.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-links a{background:0 0;border-radius:4px;padding:12px 14px}.nav-links a:hover{background:#5f3a1617}.site-header.is-scrolled{background:#fffdf8f7}.hero{min-height:740px}.hero-content{width:100%;padding:150px 18px 56px}h1{font-size:4.15rem}h2{font-size:2rem}.hero-copy{max-width:35ch}.hero-support{max-width:34ch;font-size:.94rem}.hero-actions,.form-row,.service-grid,.reason-grid,.site-footer{grid-template-columns:1fr}.hero-actions{display:grid}.button{width:100%}.section-heading{text-align:left;margin-bottom:34px}.section-heading p:last-child{margin-left:0}.service-card{min-height:auto;padding:24px}.about-copy{border-left:0;padding:0}.commitment-panel{background:linear-gradient(#fffdf8f7,#fffdf8e6),url(/images/projects/framing-and-glass.webp) 50%/cover;margin-top:36px;padding:22px 18px}.commitment-lead{gap:12px}.commitment-list{margin-top:24px}.commitment-item{border-top:1px solid #5f3a1629;border-left:0;padding:20px 18px;display:block}.commitment-item:first-child{border-top:0}.commitment-number{font-size:1.2rem}.contact-photo{margin-top:28px}.project-modal-backdrop{padding:10px}.project-modal{max-height:calc(100vh - 20px)}.project-modal-header{padding:18px}.modal-media-stage{aspect-ratio:4/3;min-height:auto}.modal-detail{padding:18px}.modal-thumb-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-step-button{width:40px;height:40px}.why-section .section-heading{text-align:left}.reason-grid{grid-template-columns:1fr}.reason-item{border-left:0;padding:22px 18px}.reason-item:nth-child(-n+2){border-top:1px solid #5f3a1624}.reason-item:first-child{border-top:0}.reason-icon{width:38px;height:38px}.footer-links{flex-wrap:wrap}}
