@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap";:root{--bitumen: #171817;--mineral: #f1eee7;--concrete: #c9c5bc;--zinc: #666b68;--amber: #c86631;--oxide: #8e3d22;--white: #fffefa;--line: rgba(23, 24, 23, .15);--ease: cubic-bezier(.32, .72, 0, 1);color:var(--bitumen);font-family:Manrope,sans-serif;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}html{background:var(--mineral)}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--mineral)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation}img{display:block;max-width:100%;object-fit:cover}svg{width:1.2em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Instrument Serif",serif;font-weight:400;letter-spacing:-.035em}h2{font-size:clamp(3rem,6vw,6.1rem);line-height:.94;margin-bottom:1.5rem}p{line-height:1.7}:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;transform:translateY(-160%);background:var(--white);padding:.75rem 1rem;border-radius:.4rem}.skip-link:focus{transform:translateY(0)}.header{position:fixed;z-index:40;top:1.25rem;left:50%;transform:translate(-50%);width:min(94vw,1380px);display:flex;align-items:center;justify-content:space-between;padding:.55rem .65rem .55rem 1.2rem;color:var(--white);background:#171817d6;border:1px solid rgba(255,255,255,.12);border-radius:999px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 70px #00000029}.brand{display:flex;align-items:center;gap:.75rem;font-family:IBM Plex Mono,monospace;font-size:.66rem;line-height:1.15;letter-spacing:.08em;font-weight:500}.brand__mark{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:var(--amber)}.brand__mark span{width:.9rem;height:.55rem;border-top:2px solid var(--bitumen);border-bottom:2px solid var(--bitumen);transform:skew(-25deg)}.desktop-nav{display:flex;align-items:center;gap:clamp(1.2rem,2.5vw,2.5rem);font-size:.95rem}.desktop-nav a,.phone-link{transition:color .25s var(--ease),opacity .25s var(--ease)}.desktop-nav a:hover,.phone-link:hover{color:#ef9c6b}.header__actions{display:flex;align-items:center;gap:.75rem}.phone-link{display:flex;align-items:center;gap:.55rem;min-height:44px;padding:0 1rem;font-size:.85rem}.menu-button{display:none;width:46px;height:46px;border:0;border-radius:50%;background:var(--amber);position:relative;cursor:pointer}.menu-button span{position:absolute;left:13px;width:20px;height:1.5px;background:var(--bitumen);transition:transform .35s var(--ease)}.menu-button span:first-child{transform:translateY(-4px)}.menu-button span:last-child{transform:translateY(4px)}.menu-button.is-open span:first-child{transform:rotate(45deg)}.menu-button.is-open span:last-child{transform:rotate(-45deg)}.mobile-menu{display:none}.hero{min-height:100dvh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:var(--white);background:var(--bitumen)}.hero__image{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/roof-main.jpg) center 42% / cover;transform:scale(1.02)}.hero__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0e0f0ee0,#0e0f0e94 52%,#0e0f0e1a),linear-gradient(0deg,rgba(14,15,14,.66) 0%,transparent 52%)}.hero__content{position:relative;z-index:2;width:min(1400px,92vw);margin:0 auto;padding:12rem 0 8.5rem}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.18em;font-weight:500;text-transform:uppercase;margin-bottom:1.6rem}.eyebrow--dark{color:var(--oxide)}.hero h1{max-width:1000px;font-size:clamp(4.2rem,9vw,9rem);line-height:.86;margin-bottom:2rem}.hero h1 em{color:#efa478;font-weight:400}.hero__lead{max-width:650px;font-size:clamp(1.05rem,1.7vw,1.35rem);color:#ffffffd1}.hero__ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.3rem}.cta{min-height:58px;display:inline-flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:.42rem .45rem .42rem 1.5rem;border:0;border-radius:999px;background:var(--amber);color:var(--bitumen);font-size:.84rem;font-weight:700;cursor:pointer;transition:transform .22s var(--ease),background .25s var(--ease)}.cta:hover{transform:translateY(-2px);background:#de7a43}.cta:active{transform:scale(.98)}.cta__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#1718171f;transition:transform .3s var(--ease)}.cta:hover .cta__icon{transform:translate(2px,-2px)}.cta--secondary{background:#ffffff1a;color:var(--white);border:1px solid rgba(255,255,255,.25)}.cta--secondary:hover{background:#ffffff2e}.hero__proof{position:absolute;z-index:2;right:4vw;bottom:2.2rem;display:flex;gap:1.5rem;font-family:IBM Plex Mono,monospace;font-size:.66rem;text-transform:uppercase;letter-spacing:.11em}.hero__proof span:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--amber);margin-right:.55rem;vertical-align:middle}.section-shell{width:min(1400px,92vw);margin:0 auto}.qualify{padding:10rem 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;border-bottom:1px solid var(--line)}.qualify h2{max-width:600px}.object-list{display:grid;grid-template-columns:1fr 1fr;align-content:center}.object-list span{padding:1.45rem 0;border-bottom:1px solid var(--line);font-size:1.05rem}.object-list span:nth-child(odd){margin-right:2rem}.details{padding:10rem 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.details__copy>p:not(.eyebrow){max-width:560px;color:var(--zinc)}.detail-tabs{margin-top:3rem;border-top:1px solid var(--line)}.detail-tabs button{width:100%;display:flex;gap:1.3rem;min-height:56px;align-items:center;padding:.2rem 0;color:var(--zinc);background:none;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;transition:color .25s var(--ease),transform .25s var(--ease)}.detail-tabs button span{font-family:IBM Plex Mono,monospace;font-size:.67rem}.detail-tabs button[aria-selected=true]{color:var(--bitumen);transform:translate(1rem)}.details__visual{position:relative;padding:.55rem;border-radius:2.3rem;background:#17181714;box-shadow:inset 0 1px #fffc}.details__visual img{width:100%;height:min(68vh,760px);border-radius:1.8rem}.detail-note{position:absolute;left:2rem;right:2rem;bottom:2rem;padding:1.4rem 1.5rem;border-radius:1.2rem;background:#171817e0;color:var(--white);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-template-columns:auto auto 1fr;gap:.8rem 1.2rem;align-items:baseline}.detail-note>span{font:.68rem IBM Plex Mono,monospace;color:#efa478}.detail-note strong{font-size:1rem}.detail-note p{grid-column:2 / 4;margin:0;font-size:.86rem;color:#ffffffb8;line-height:1.55}.services{background:var(--bitumen);color:var(--white);padding:10rem 0}.section-intro{display:grid;grid-template-columns:.6fr 1.4fr;column-gap:8vw;margin-bottom:6rem}.section-intro h2{max-width:900px;margin-bottom:0}.section-intro>p:last-child{grid-column:2;max-width:560px;color:#ffffff9e;margin-top:1.5rem}.service-ledger{border-top:1px solid rgba(255,255,255,.18)}.service-ledger article{display:grid;grid-template-columns:80px 1fr 1fr;gap:2rem;align-items:center;min-height:145px;border-bottom:1px solid rgba(255,255,255,.15);transition:transform .3s var(--ease),background .3s var(--ease)}.service-ledger article:hover{transform:translate(.75rem);background:#ffffff09}.service-ledger article>span{font:.7rem IBM Plex Mono,monospace;color:#efa478}.service-ledger h3{font:400 clamp(1.7rem,3vw,2.8rem) "Instrument Serif",serif;margin:0}.service-ledger p{margin:0;color:#ffffffa1;max-width:580px;font-size:.93rem}.process{padding:10rem 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.process__steps{list-style:none;margin:0;padding:0}.process__steps li{display:grid;grid-template-columns:56px 1fr;gap:1.5rem;padding:1.8rem 0;border-top:1px solid var(--line)}.process__steps li:last-child{border-bottom:1px solid var(--line)}.process__steps li>span{font:.7rem IBM Plex Mono,monospace;color:var(--oxide);padding-top:.3rem}.process__steps h3{font-size:1.2rem;margin-bottom:.5rem}.process__steps p{color:var(--zinc);margin:0;font-size:.92rem;max-width:620px}.price{position:relative;min-height:850px;background:var(--bitumen);color:var(--white);display:flex;align-items:center;padding:6vw;overflow:hidden}.price__image{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#1718171f,#171817d1 55%),url(/images/roof-work.jpg) center / cover}.price__panel{position:relative;margin-left:auto;width:min(650px,50vw);padding:clamp(2rem,5vw,4.5rem);background:#171817f0;border-radius:2rem;border:1px solid rgba(255,255,255,.13);box-shadow:0 35px 90px #00000047}.price__panel h2{font-size:clamp(3.2rem,5vw,5.2rem)}.price__panel>p:not(.eyebrow){color:#ffffffad}.factor-grid{display:grid;grid-template-columns:1fr 1fr;gap:.1rem 1.5rem;margin:2rem 0 2.5rem}.factor-grid span{display:flex;gap:.7rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.78rem}.factor-grid b{color:#efa478;font:500 .63rem IBM Plex Mono,monospace}.projects{padding:10rem 0}.projects__header{display:flex;justify-content:space-between;gap:3rem;align-items:flex-end;margin-bottom:4rem}.projects__header h2{max-width:900px;margin-bottom:0}.projects__toggle{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:0;border:0;background:transparent;color:var(--bitumen);font-size:.8rem;font-weight:700;white-space:nowrap;cursor:pointer}.projects__toggle svg{transition:transform .3s var(--ease)}.projects__toggle[aria-expanded=true] svg{transform:rotate(135deg)}.project-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:1rem;min-height:780px}.project-grid.is-expanded{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:520px 360px 420px}.project-grid figure{margin:0;position:relative;overflow:hidden;border-radius:1.4rem;background:var(--concrete)}.project-grid__large{grid-row:1 / 3}.project-grid.is-expanded .project-grid__large{grid-row:auto}.project-grid__wide{grid-column:1 / -1}.project-grid img{width:100%;height:100%;transition:transform .8s var(--ease)}.project-grid figure:hover img{transform:scale(1.025)}.project-grid figcaption{position:absolute;left:1rem;bottom:1rem;padding:.85rem 1rem;background:#171817db;color:var(--white);border-radius:.8rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:.25rem}.project-grid figcaption span{color:#efa478;font:.62rem IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.project-grid figcaption b{font-size:.82rem}.faq{padding:2rem 0 10rem;display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw}.faq__intro>p:not(.eyebrow){color:var(--zinc)}.faq__intro>a{display:inline-block;margin-top:1rem;font:500 1.2rem IBM Plex Mono,monospace;border-bottom:1px solid var(--bitumen);padding-bottom:.4rem}.accordion{border-top:1px solid var(--line)}.accordion__item{border-bottom:1px solid var(--line)}.accordion__item button{width:100%;min-height:78px;display:flex;justify-content:space-between;align-items:center;border:0;background:none;color:var(--bitumen);text-align:left;cursor:pointer;font-weight:600}.accordion__item button b{font-size:1.7rem;font-weight:400;color:var(--oxide)}.accordion__answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}.accordion__answer p{overflow:hidden;color:var(--zinc);max-width:680px;margin:0}.accordion__item.is-open .accordion__answer{grid-template-rows:1fr}.accordion__item.is-open .accordion__answer p{padding-bottom:1.8rem}.contact{width:min(1480px,96vw);margin:0 auto 2vw;border-radius:2.5rem;background:var(--amber);padding:clamp(3rem,7vw,7rem);display:grid;grid-template-columns:.95fr 1.05fr;gap:7vw}.contact h2{max-width:690px}.contact__copy>p:not(.eyebrow){max-width:500px}.contact__phone{display:flex;flex-direction:column;gap:.3rem;margin-top:2.2rem;font:500 clamp(1.4rem,2.4vw,2.1rem) "IBM Plex Mono",monospace}.contact__phone span{font:500 .67rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.14em}.inquiry-form{align-self:center;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding:clamp(1.5rem,3vw,2.5rem);border-radius:1.6rem;background:var(--mineral);box-shadow:0 28px 80px #4b1f0b29}.inquiry-form label{display:flex;flex-direction:column;gap:.5rem;font-size:.72rem;font-weight:700}.inquiry-form input,.inquiry-form textarea{width:100%;min-height:50px;padding:.8rem 0;border:0;border-bottom:1px solid rgba(23,24,23,.35);border-radius:0;background:transparent;color:var(--bitumen);outline:none;transition:border-color .25s var(--ease)}.inquiry-form textarea{resize:vertical}.inquiry-form input:focus,.inquiry-form textarea:focus{border-bottom-color:var(--oxide)}.inquiry-form .full{grid-column:1 / -1}.form-note{color:var(--zinc);font-size:.68rem;line-height:1.55;margin:0}.inquiry-form .cta{width:100%}footer{padding:6rem 4vw 7rem;background:var(--bitumen);color:var(--white)}.footer__top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:4rem;align-items:start}.brand--footer{font-size:.8rem}.footer__top>div{display:flex;flex-direction:column;gap:.65rem;font-size:.82rem}.footer__top>div span{color:#ffffff73;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em}.footer__bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:6rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);color:#ffffff80;font-size:.62rem}.mobile-actions{display:none}[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.desktop-nav,.phone-link span{display:none}.menu-button{display:block}.mobile-menu{position:fixed;z-index:35;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;padding:7rem 8vw;background:#171817f7;color:var(--white);visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s}.mobile-menu.is-open{visibility:visible;opacity:1;transform:translateY(0)}.mobile-menu a{font:400 clamp(2.6rem,10vw,4.5rem) "Instrument Serif",serif;padding:.35rem 0}.qualify,.details,.process,.faq,.contact,.section-intro{grid-template-columns:1fr}.section-intro>p:last-child{grid-column:1}.details__visual img{height:62vw;min-height:460px}.service-ledger article{grid-template-columns:55px 1fr;padding:1.8rem 0}.service-ledger article p{grid-column:2}.price__panel{width:min(650px,92vw)}.project-grid{min-height:680px}.footer__top{grid-template-columns:1fr 1fr}}@media(max-width:600px){h2{font-size:clamp(2.75rem,14vw,4rem)}.header{top:.75rem;width:calc(100vw - 1rem)}.brand{font-size:.58rem}.phone-link{padding:0 .35rem}.hero{min-height:820px}.hero__image{background-position:62% center}.hero__shade{background:linear-gradient(0deg,#0e0f0eeb,#0e0f0ea3 72%,#0e0f0e40)}.hero__content{width:calc(100% - 2rem);padding:9rem 0 9.5rem}.hero h1{font-size:clamp(3.7rem,18vw,5.4rem);line-height:.89}.hero__lead{font-size:1rem}.hero__ctas{display:grid}.hero__ctas .cta{width:100%}.hero__proof{left:1rem;right:auto;bottom:5.5rem;flex-wrap:wrap;gap:.6rem 1rem}.section-shell{width:calc(100% - 2rem)}.qualify,.details,.process,.projects{padding:7rem 0}.object-list{grid-template-columns:1fr}.object-list span:nth-child(odd){margin-right:0}.details{gap:3rem}.details__visual{padding:.35rem;border-radius:1.55rem}.details__visual img{min-height:460px;border-radius:1.25rem}.detail-note{left:1rem;right:1rem;bottom:1rem;grid-template-columns:auto 1fr}.detail-note p{grid-column:1 / 3}.services{padding:7rem 0}.section-intro{margin-bottom:4rem}.service-ledger article{grid-template-columns:40px 1fr;gap:.75rem}.service-ledger article:hover{padding-left:0;padding-right:0}.price{min-height:auto;padding:7rem 1rem;align-items:flex-end}.price__image{opacity:.55}.price__panel{width:100%;padding:2rem 1.4rem;border-radius:1.4rem}.price__panel h2{font-size:3.2rem}.factor-grid{grid-template-columns:1fr}.projects__header{align-items:flex-start;flex-direction:column}.projects__toggle{white-space:normal}.project-grid{grid-template-columns:1fr;grid-template-rows:430px 300px 300px;min-height:0}.project-grid.is-expanded{grid-template-columns:1fr;grid-template-rows:repeat(6,minmax(300px,62vw))}.project-grid__large{grid-row:auto}.project-grid__wide{grid-column:auto}.faq{padding-bottom:7rem}.contact{width:calc(100% - 1rem);margin-bottom:.5rem;padding:4rem 1.25rem;border-radius:1.5rem}.inquiry-form{grid-template-columns:1fr}.inquiry-form label{grid-column:1}footer{padding:5rem 1rem 8rem}.footer__top{grid-template-columns:1fr;gap:2.5rem}.footer__bottom{flex-direction:column;margin-top:4rem}.mobile-actions{position:fixed;z-index:30;left:.5rem;right:.5rem;bottom:.5rem;display:grid;grid-template-columns:1fr 1.35fr;padding:.35rem;border-radius:999px;background:#171817f0;color:var(--white);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 18px 45px #00000040}.mobile-actions a{min-height:50px;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;font-size:.74rem;font-weight:700}.mobile-actions a:last-child{color:var(--bitumen);background:var(--amber)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
