@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0zzh68k1~whtc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_d12247d4-module___KA9MW__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_d12247d4-module___KA9MW__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/91bd2e40df15814e-s.0eq-h7p0~f2-i.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.0-m28h~k~95g~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.18283yqfiehau.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.11uo_35nso9mn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_6df1feb2-module__0KdvMG__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_6df1feb2-module__0KdvMG__variable{--font-hanken:"Hanken Grotesk", "Hanken Grotesk Fallback"}
:root{--ink:#11100e;--black:#050505;--charcoal:#1b1a17;--stone:#f3eee4;--stone-deep:#dfd3bd;--paper:#fbf6ec;--gold:#c79a3b;--gold-light:#e3c377;--gold-deep:#8c6a24;--copper:#9a5b35;--sage:#697868;--white:#fffaf1;--muted:#8c8375;--line:#fffaf12e;--shadow:0 28px 80px #0000003d;--font-display:var(--font-fraunces), Georgia, serif;--font-body:var(--font-hanken), Verdana, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:linear-gradient(90deg, #11100e0b 1px, transparent 1px), linear-gradient(180deg, #11100e0b 1px, transparent 1px), var(--stone);font-family:var(--font-body);letter-spacing:0;background-size:72px 72px;margin:0}::selection{color:var(--black);background:var(--gold-light)}img{object-fit:cover;width:100%;height:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-shell{min-height:100vh;overflow:hidden}.site-header{z-index:40;width:min(1180px,100% - 28px);color:var(--white);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050505c2;border:1px solid #e3c3772e;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;transition:background .18s,top .18s;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #0000003d}.site-header.is-scrolled{background:#050505e0;top:10px}.brand-mark{align-items:center;gap:14px;min-width:0;display:inline-flex}.brand-lockup{align-items:center;gap:10px;display:inline-flex}.brand-lockup-mark{filter:drop-shadow(0 10px 24px #00000038);width:54px;height:auto;display:block}.brand-lockup-wordmark{filter:drop-shadow(0 10px 24px #00000038);width:clamp(134px,16vw,202px);height:auto;display:block}.brand-service{color:#fffaf19e;letter-spacing:.12em;text-transform:uppercase;border-left:1px solid #e3c37747;padding-left:14px;font-size:.72rem;font-weight:800}.main-nav{align-items:center;gap:4px;display:flex}.main-nav a{color:#fffaf1c7;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:12px 14px;font-size:.86rem;font-weight:700;transition:color .16s,background .16s}.main-nav a:hover,.main-nav a:focus-visible{color:var(--white);background:#fffaf114}.nav-toggle{width:42px;height:42px;color:var(--white);cursor:pointer;background:#fffaf10f;border:1px solid #fffaf133;border-radius:6px;padding:0;display:none}.nav-toggle span{background:currentColor;width:18px;height:2px;margin:5px auto;transition:transform .16s;display:block}.site-header.nav-open .nav-toggle span:first-child{transform:translateY(4px)rotate(45deg)}.site-header.nav-open .nav-toggle span:last-child{transform:translateY(-3px)rotate(-45deg)}.entry-only{background:#070706;min-height:100svh}#construction,#roofing,#services,#projects,#process,#reviews,#contact{scroll-margin-top:92px}.entry-gate{min-height:100svh;color:var(--white);background:linear-gradient(90deg,#fffaf10d 1px,#0000 1px) 0 0/58px 58px,linear-gradient(#fffaf10b 1px,#0000 1px) 0 0/58px 58px,linear-gradient(120deg,#9a5b3533,#0000 34%),#070706;position:relative;overflow:hidden}.entry-gate:before{content:"";pointer-events:none;background:linear-gradient(115deg,#05050514 0 43%,#e3c37726 43% 43.4%,#0000 43.4%),linear-gradient(#05050514,#05050580);position:absolute;inset:0}.entry-shell{z-index:2;grid-template-columns:minmax(0,.72fr) minmax(520px,1fr);align-items:end;gap:34px;width:min(1180px,100% - 36px);min-height:100svh;margin:0 auto;padding:148px 0 54px;display:grid;position:relative}.entry-intro{align-self:center;padding-right:18px}.entry-logo{filter:drop-shadow(0 22px 54px #00000080);width:min(310px,80%);height:auto;margin-bottom:34px}.entry-intro h1{font-family:var(--font-display);letter-spacing:0;margin:0;font-size:5.2rem;font-weight:700;line-height:.9}.entry-intro p:not(.eyebrow){color:#fffaf1bd;max-width:520px;margin:24px 0 0;font-size:1.06rem;line-height:1.7}.entry-options{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.entry-option{background:var(--charcoal);min-height:610px;color:inherit;cursor:pointer;font:inherit;isolation:isolate;text-align:left;border:1px solid #fffaf124;border-radius:8px;padding:0;position:relative;overflow:hidden;box-shadow:0 30px 90px #00000061}.entry-option:nth-child(2){transform:translateY(42px)}.entry-option img{filter:saturate(.88)contrast(1.08);transition:transform .62s,filter .62s;position:absolute;inset:0;transform:scale(1.015)}.entry-option:hover img,.entry-option:focus-visible img{filter:saturate()contrast(1.12);transform:scale(1.065)}.entry-option-scrim{z-index:1;background:linear-gradient(#0505051f 0%,#05050538 34%,#050505e6 100%),linear-gradient(90deg,#c79a3b3d,#0000 48%);position:absolute;inset:0}.entry-option-content{z-index:2;gap:14px;display:grid;position:absolute;inset:auto 24px 24px}.entry-option-icon{width:48px;height:48px;color:var(--gold-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0505056b;border:1px solid #e3c37794;border-radius:50%;place-items:center;display:inline-grid}.entry-option-icon svg{width:22px;height:22px}.entry-option-label{color:var(--gold-light);letter-spacing:.13em;text-transform:uppercase;font-size:.74rem;font-weight:800;line-height:1.35}.entry-option strong{font-family:var(--font-display);font-size:3.2rem;line-height:.92;display:block}.entry-option-text{color:#fffaf1bd;line-height:1.5}.entry-option-points{flex-wrap:wrap;gap:8px;display:flex}.entry-option-points span{color:#fffaf1c7;background:#05050547;border:1px solid #fffaf124;border-radius:999px;padding:7px 9px;font-size:.76rem;font-weight:700}.entry-option-action,.entry-skip{color:var(--white);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-weight:900;display:inline-flex}.entry-option-action svg,.entry-skip svg{width:18px;height:18px;transition:transform .16s}.entry-option:hover .entry-option-action svg,.entry-option:focus-visible .entry-option-action svg,.entry-skip:hover svg,.entry-skip:focus-visible svg{transform:translate(4px)}.entry-skip{color:#fffaf19e;grid-column:2;width:fit-content;font-size:.82rem}.hero{min-height:96vh;color:var(--white);background:var(--black);position:relative}.hero:after{content:"";pointer-events:none;opacity:.32;background-image:linear-gradient(#fffaf10e 1px,#0000 1px),linear-gradient(90deg,#fffaf10e 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 72%);mask-image:linear-gradient(90deg,#000,#0000 72%)}.hero-image,.hero-scrim{position:absolute;inset:0}.hero-image{background:linear-gradient(90deg,#0505058f,#0505051f 46%,#050505b8),url(https://images.unsplash.com/photo-1600585154526-990dced4db0d?auto=format&fit=crop&w=2400&q=88) 50%/cover;transform:scale(1.02)}.hero-scrim{background:radial-gradient(circle at 16% 25%,#c79a3b33,#0000 28%),linear-gradient(115deg,#050505b8 0%,#0505052e 56%,#050505c7 100%),linear-gradient(#0505051f 0%,#050505c7 100%)}.hero-rail{z-index:3;color:#fffaf18c;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl;align-items:center;gap:18px;font-size:.72rem;font-weight:800;display:flex;position:absolute;top:50%;right:max(18px,50vw - 590px);transform:translateY(-50%)}.hero-rail span{align-items:center;gap:18px;display:inline-flex}.hero-rail span:first-child:after{content:"";background:#e3c3776b;width:1px;height:64px}.hero-grid{z-index:2;grid-template-columns:minmax(0,1fr) 340px;align-items:end;gap:48px;width:min(1180px,100% - 36px);min-height:86vh;margin:0 auto;padding:150px 0 130px;display:grid;position:relative}.hero-copy{max-width:780px}.eyebrow,.section-kicker{color:var(--gold-light);letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;font-size:.78rem;font-weight:700}.hero h1{max-width:820px;font-family:var(--font-display);letter-spacing:0;text-shadow:0 18px 60px #0000005c;margin:0;font-size:clamp(4.2rem,14vw,11.5rem);font-weight:700;line-height:.82}.hero-lede{color:#fffaf1d1;width:min(650px,100%);margin:26px 0 0;font-size:clamp(1.1rem,2vw,1.38rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:14px 20px;font-weight:800;transition:transform .16s,border-color .16s,background .16s,color .16s;display:inline-flex;position:relative}.button svg{flex:none;width:18px;height:18px}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-primary{color:var(--black);background:var(--gold-light);border-color:var(--gold-light)}.button-primary:hover,.button-primary:focus-visible{background:var(--white);border-color:var(--white)}.button-secondary{color:var(--white);background:#fffaf114;border-color:#fffaf138}.button-secondary:hover,.button-secondary:focus-visible{border-color:#e3c377cc}.button-secondary.dark{color:var(--ink);background:#11100e0a;border-color:#11100e29}.button-secondary.dark:hover,.button-secondary.dark:focus-visible{color:var(--black);border-color:var(--gold);background:#c79a3b24}.hero-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);background:linear-gradient(145deg,#e3c37714,#0000 48%),#0505059e;border:1px solid #fffaf12e;border-radius:8px;align-self:center;padding:26px}.hero-panel-mark{filter:drop-shadow(0 14px 26px #00000052);width:156px;height:auto;margin-bottom:22px;display:block}.panel-rule{background:var(--gold-light);width:84px;height:2px;display:block}.hero-panel p{color:#fffaf194;letter-spacing:.12em;text-transform:uppercase;margin:22px 0 12px;font-size:.74rem;font-weight:800}.hero-panel strong{color:var(--white);font-family:var(--font-display);font-size:1.64rem;font-weight:600;line-height:1.12;display:block}.hero-panel-tags{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.hero-panel-tags span{color:#fffaf1c2;letter-spacing:.06em;text-transform:uppercase;background:#fffaf10d;border:1px solid #e3c37738;border-radius:999px;padding:8px 10px;font-size:.74rem;font-weight:800}.hero-stats{z-index:3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:min(1180px,100% - 36px);box-shadow:var(--shadow);background:#0c0c0be0;border:1px solid #fffaf129;border-radius:8px;grid-template-columns:repeat(4,1fr);margin:-78px auto 0;display:grid;position:relative}.hero-stats div{border-right:1px solid #fffaf124;min-height:124px;padding:24px}.hero-stats div:last-child{border-right:0}.hero-stats span,.hero-stats small{display:block}.hero-stats span{color:var(--gold-light);font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.6rem);line-height:1}.hero-stats small{color:#fffaf1ad;margin-top:10px;line-height:1.35}.section-padding{padding:118px max(22px,50vw - 590px)}.intro-band{background:linear-gradient(140deg, #69786824, transparent 42%), var(--stone);padding-top:150px}.intro-layout{grid-template-columns:minmax(0,.95fr) minmax(280px,.52fr);align-items:end;gap:70px;display:grid}.intro-layout h2,.section-heading h2,.about-copy h2,.contact-copy h2{font-family:var(--font-display);letter-spacing:0;margin:0;font-size:clamp(2.3rem,5vw,5.8rem);font-weight:700;line-height:.96}.intro-layout p,.section-heading p:not(.eyebrow),.roofing-copy p,.about-copy p,.contact-copy p{color:#50483d;margin:0;font-size:1.06rem;line-height:1.7}.section-heading{justify-content:space-between;align-items:end;gap:48px;margin-bottom:42px;display:flex}.section-heading h2{max-width:760px}.section-heading.narrow{max-width:790px;display:block}.section-heading.narrow p:not(.eyebrow){max-width:650px;margin-top:20px}.roofing-focus{background:linear-gradient(90deg, #11100e0d 1px, transparent 1px), linear-gradient(180deg, #11100e0b 1px, transparent 1px), linear-gradient(140deg, #69786829, transparent 38%), var(--paper);background-size:72px 72px,72px 72px,auto,auto;grid-template-columns:minmax(0,.72fr) minmax(460px,1fr);align-items:center;gap:58px;display:grid}.roofing-copy h2{font-family:var(--font-display);letter-spacing:0;margin:0;font-size:4.9rem;font-weight:700;line-height:.96}.roofing-copy p:not(.eyebrow){max-width:560px;margin-top:24px}.roofing-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.roofing-board{grid-template-columns:minmax(0,.82fr) minmax(260px,.64fr);gap:14px;display:grid}.roofing-photo{background:var(--charcoal);min-height:620px;box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.roofing-photo img{filter:saturate(.92)contrast(1.04)}.roofing-specs{gap:14px;display:grid}.roofing-specs article{background:linear-gradient(145deg,#c79a3b1f,#0000 48%),#fffaf1d1;border:1px solid #11100e1f;border-radius:8px;min-height:190px;padding:22px;box-shadow:0 18px 50px #261e101f}.roofing-specs span{color:var(--gold-deep);font-family:var(--font-display);font-size:1.5rem}.roofing-specs h3{font-family:var(--font-display);margin:16px 0 0;font-size:2rem;line-height:1}.roofing-specs p{color:#5c5145;margin:12px 0 0;line-height:1.58}.services{color:var(--white);background:radial-gradient(circle at 16% 12%,#c79a3b2e,#0000 30%),linear-gradient(145deg,#191712 0%,#0c0c0a 100%);position:relative}.services:before{content:"";pointer-events:none;opacity:.26;background-image:linear-gradient(30deg,#0000 49%,#fffaf114 50%,#0000 51%),linear-gradient(150deg,#0000 49%,#fffaf10e 50%,#0000 51%);background-size:92px 92px;position:absolute;inset:0}.services>*{z-index:1;position:relative}.services .section-heading h2{color:var(--white)}.service-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:370px;gap:14px;display:grid}.service-card{background:#22201b;border:1px solid #fffaf11a;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 18px 55px #00000047}.service-card.feature-card{grid-column:span 4}.service-card:not(.feature-card){grid-column:span 2}.service-card:after{content:"";background:linear-gradient(#0000 0%,#0000002e 28%,#000000d6 100%),linear-gradient(90deg,#c79a3b33,#0000 45%);position:absolute;inset:0}.service-card img{transition:transform .52s}.service-card:hover img{transform:scale(1.055)}.service-card div{z-index:2;position:absolute;bottom:22px;left:22px;right:22px}.service-card p{color:var(--gold-light);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 12px;font-size:.74rem;font-weight:800;display:flex}.service-card p span{width:34px;height:34px;font-family:var(--font-display);letter-spacing:0;border:1px solid #e3c3778a;border-radius:50%;place-items:center;font-size:.95rem;display:inline-grid}.service-card h3{font-family:var(--font-display);margin:0;font-size:clamp(2rem,3vw,3.1rem);line-height:1}.service-card div>span{color:#fffaf1bd;margin-top:12px;line-height:1.45;display:block}.service-card ul{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.service-card li{color:#fffaf1c2;background:#05050538;border:1px solid #fffaf129;border-radius:999px;padding:7px 9px;font-size:.78rem;font-weight:700}.service-note{background:linear-gradient(90deg,#c79a3b29,#0000 44%),#fffaf10e;border:1px solid #e3c3772e;border-radius:8px;grid-template-columns:220px minmax(0,1fr);gap:24px;margin-top:14px;padding:24px;display:grid}.service-note strong{color:var(--gold-light);font-family:var(--font-display);font-size:1.7rem;line-height:1}.service-note span{color:#fffaf1bd;line-height:1.6}.proof-strip{background:var(--gold);color:var(--black);grid-template-columns:repeat(4,1fr);display:grid}.proof-strip div{letter-spacing:.04em;text-transform:uppercase;border-right:1px solid #05050533;justify-content:center;align-items:center;gap:12px;min-height:108px;padding:22px;font-weight:800;display:flex}.proof-strip div:last-child{border-right:0}.proof-strip svg{width:21px;height:21px}.projects{background:linear-gradient(180deg, var(--stone) 0%, #f8f1e5 100%)}.project-wall{grid-template-rows:310px 310px;grid-template-columns:1.2fr .8fr;gap:14px;display:grid}.project-tile{background:var(--charcoal);border-radius:8px;position:relative;overflow:hidden;box-shadow:0 22px 70px #14110c33}.project-tile.large{grid-row:span 2}.project-tile:after{content:"";background:linear-gradient(#0000 18%,#050505db 100%),linear-gradient(90deg,#6978684d,#0000 58%);position:absolute;inset:0}.project-tile img{filter:saturate(.92)contrast(1.04);transition:transform .52s}.project-tile:hover img{transform:scale(1.05)}.project-tile div{z-index:2;color:var(--white);position:absolute;bottom:24px;left:24px;right:24px}.project-tile span{color:var(--gold-light);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:800;display:inline-flex}.project-tile h3{font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,3vw,3.4rem);line-height:.98}.project-tile p{color:#fffaf1b8;max-width:410px;margin:12px 0 0;line-height:1.45}.film-showcase{background:linear-gradient(135deg,#c79a3b1c,#0000 42%),#fffaf1bd;border:1px solid #11100e1f;border-radius:8px;grid-template-columns:minmax(0,.62fr) minmax(420px,1fr);align-items:center;gap:34px;margin-top:16px;padding:22px;display:grid;box-shadow:0 22px 70px #14110c24}.film-copy{padding:10px 0 10px 10px}.film-copy h3{font-family:var(--font-display);margin:0;font-size:clamp(2rem,3.5vw,3.9rem);line-height:.98}.film-copy p:not(.eyebrow){color:#5c5145;margin:20px 0 0;line-height:1.7}.film-frame{background:var(--black);border-radius:8px;position:relative;overflow:hidden;box-shadow:0 18px 60px #05050547}.film-frame:before{content:"";aspect-ratio:16/9;display:block}.film-frame video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.process{background:linear-gradient(90deg,#c79a3b1c,#0000 36%),#f8f2e7}.timeline{border-top:1px solid #11100e38;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.timeline article{border-right:1px solid #11100e2e;min-height:270px;padding:30px 28px 0 0}.timeline article:last-child{border-right:0}.timeline span{border:1px solid var(--gold);width:42px;height:42px;color:var(--gold);border-radius:50%;place-items:center;margin-bottom:28px;font-weight:800;display:inline-grid}.timeline h3{font-family:var(--font-display);margin:0;font-size:2rem;line-height:1}.timeline p{color:#5c5145;margin:16px 0 0;line-height:1.65}.about{background:linear-gradient(135deg, #69786838, transparent 38%), var(--charcoal);color:var(--white);grid-template-columns:.95fr 1.05fr;align-items:center;gap:56px;display:grid}.about-media{min-height:620px;box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.about-copy h2{color:var(--white)}.about-copy p{color:#fffaf1b8;max-width:590px;margin-top:24px}.about-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:32px;display:grid}.about-list span{color:#fffaf1d6;background:#fffaf10a;border:1px solid #fffaf124;border-radius:6px;padding:14px 16px}.reviews{background:linear-gradient(135deg, #6978682e, transparent 36%), var(--stone)}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.review-grid article{background:linear-gradient(145deg,#c79a3b1a,#0000 46%),#fffaf1bd;border:1px solid #11100e24;border-radius:8px;flex-direction:column;justify-content:flex-start;gap:22px;min-height:310px;margin:0;padding:30px;display:flex}.review-grid svg{width:34px;height:34px;color:var(--gold-deep)}.review-grid h3{font-family:var(--font-display);margin:0;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.08}.review-grid p{color:#5f564c;margin:0;line-height:1.65}.service-area{color:var(--white);background:#11100e}.service-area .section-heading h2,.service-area .section-heading p{color:var(--white)}.area-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:42px;display:grid}.area-grid span{color:#fffaf1db;min-height:92px;font-family:var(--font-display);background:linear-gradient(135deg,#c79a3b1f,#0000 55%),#fffaf10a;border:1px solid #fffaf124;border-radius:8px;place-items:center;font-size:1.28rem;display:grid}.contact{background:var(--stone);grid-template-columns:minmax(0,.92fr) minmax(340px,.62fr);align-items:start;gap:60px;display:grid}.contact-copy h2{max-width:680px}.contact-copy p{max-width:560px;margin-top:24px}.contact-methods{gap:10px;margin-top:34px;display:grid}.contact-methods a{width:fit-content;color:var(--ink);align-items:center;gap:12px;padding:12px 0;font-weight:800;display:inline-flex}.contact-methods svg{width:20px;height:20px;color:var(--gold)}.estimate-form{background:var(--white);border:1px solid #11100e1f;border-radius:8px;gap:16px;padding:28px;display:grid;box-shadow:0 24px 80px #261e1021}.estimate-form label{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;gap:8px;font-size:.82rem;font-weight:800;display:grid}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;color:var(--ink);background:#fbf7ef;border:1px solid #11100e29;border-radius:6px;outline:none;padding:14px;transition:border-color .16s,box-shadow .16s}.estimate-form textarea{resize:vertical}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px #c79a3b29}.form-note{color:#6c6256;margin:0;line-height:1.5}.form-note.is-success{color:#2f6843;font-weight:800}.site-footer{color:#fffaf1b8;background:var(--black);justify-content:space-between;gap:24px;padding:34px max(22px,50vw - 590px);display:flex}.site-footer div{gap:12px;display:grid}.footer-logo{filter:drop-shadow(0 10px 24px #0000003d);width:min(260px,70vw);height:auto;display:block}.site-footer a{color:var(--gold-light);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.reveal{opacity:0;animation:.82s forwards riseIn;transform:translateY(18px)}.hero-panel.reveal{animation-delay:.18s}@keyframes riseIn{to{opacity:1;transform:translateY(0)}}@media (max-width:1020px){.entry-shell{grid-template-columns:1fr;align-items:start;gap:28px;padding-bottom:76px}.entry-intro{align-self:end;max-width:680px;padding-right:0}.entry-options{max-width:760px}.entry-option{min-height:480px}.entry-option:nth-child(2){transform:none}.entry-skip{grid-column:1}.hero-grid{grid-template-columns:1fr;align-items:end;gap:28px}.hero-panel{align-self:start;max-width:540px}.hero-stats,.proof-strip,.timeline,.review-grid,.area-grid{grid-template-columns:repeat(2,1fr)}.hero-stats div:nth-child(2),.proof-strip div:nth-child(2){border-right:0}.hero-stats div:first-child,.hero-stats div:nth-child(2){border-bottom:1px solid #fffaf124}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.service-card.feature-card,.service-card:not(.feature-card){grid-column:span 1}.intro-layout,.roofing-focus,.roofing-board,.about,.contact,.film-showcase{grid-template-columns:1fr}.roofing-photo{min-height:460px}.about-media{min-height:480px}.film-showcase{padding:16px}}@media (max-width:760px){.site-header{width:min(100% - 20px,680px);top:10px}.nav-toggle{display:block}.main-nav{transform-origin:top;opacity:0;pointer-events:none;background:#050505f0;border:1px solid #fffaf129;border-radius:8px;gap:0;padding:8px;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;transform:scaleY(.94)}.site-header.nav-open .main-nav{opacity:1;pointer-events:auto;transform:scaleY(1)}.main-nav a{padding:14px}.brand-lockup-mark{width:46px}.brand-lockup-wordmark{width:128px}.brand-service{display:none}.entry-shell{width:min(100% - 28px,680px);min-height:100svh;padding:128px 0 54px}.entry-logo{width:min(240px,78%);margin-bottom:26px}.entry-intro h1{font-size:3.35rem;line-height:.94}.entry-intro p:not(.eyebrow){font-size:1rem}.entry-options{grid-template-columns:1fr}.entry-option{min-height:430px}.entry-option-content{inset:auto 18px 18px}.entry-option strong{font-size:2.8rem}.hero{min-height:100vh}.hero-grid{width:min(100% - 28px,680px);min-height:auto;padding:138px 0 110px}.hero h1{font-size:clamp(4rem,19vw,6.4rem)}.hero-actions{display:grid}.button{width:100%}.hero-panel{padding:20px}.hero-panel strong{font-size:1.32rem}.hero-stats{width:min(100% - 28px,680px);margin-top:-60px}.hero-stats div{min-height:112px;padding:18px}.section-padding{padding:82px 18px}.intro-band{padding-top:118px}.intro-layout h2,.section-heading h2,.roofing-copy h2,.about-copy h2,.contact-copy h2{font-size:3.2rem}.section-heading{display:block}.service-grid,.project-wall,.area-grid,.review-grid,.timeline,.proof-strip,.hero-stats{grid-template-columns:1fr}.service-grid{grid-auto-rows:310px}.service-card,.service-card.feature-card,.service-card:not(.feature-card){grid-column:span 1}.service-note{grid-template-columns:1fr}.roofing-actions{display:grid}.roofing-photo{min-height:340px}.roofing-specs article{min-height:auto}.proof-strip div,.hero-stats div,.timeline article{border-bottom:1px solid #11100e24;border-right:0}.hero-stats div{border-bottom-color:#fffaf124}.proof-strip div:last-child,.hero-stats div:last-child,.timeline article:last-child{border-bottom:0}.project-wall{grid-template-rows:repeat(3,330px)}.project-tile.large{grid-row:span 1}.about-media{min-height:360px}.film-copy{padding:0}.about-list{grid-template-columns:1fr}.contact{gap:36px}.estimate-form{padding:18px}.site-footer{display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
