:root{--ink:#131719;--ink-2:#1d2427;--paper:#f5f4f0;--paper-2:#ebe9e2;--white:#fff;--gold:#c8a95c;--gold-bright:#dec479;--muted:#72797a;--line:rgba(22,30,31,.14);--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--max:1160px;--pad:clamp(22px,5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - var(--pad)*2),var(--max));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.utility-bar{background:#090c0d;color:#c4c8c7;font-size:12px;letter-spacing:.04em}.utility-inner{display:flex;justify-content:space-between;align-items:center;min-height:36px}.utility-inner a{color:var(--gold-bright)}.utility-inner strong{color:#fff;margin-left:8px;font-weight:600}.header{background:rgba(17,20,22,.98);color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.08)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px}.brand{display:inline-flex;align-items:center;gap:12px;color:#fff}.brand-icon{width:42px;height:42px;color:var(--gold)}.brand-name{display:grid;line-height:1}.brand-name strong{font-size:19px;letter-spacing:.14em;font-weight:700}.brand-name small{font-size:9px;letter-spacing:.38em;color:var(--gold-bright);margin-top:6px}.nav{display:flex;align-items:center;gap:clamp(16px,3vw,34px);font-size:13px;color:#d2d5d3}.nav a:not(.nav-cta):hover,.footer-links a:hover{color:var(--gold-bright)}.nav-cta{border:1px solid rgba(222,196,121,.55);padding:11px 17px;color:var(--gold-bright);letter-spacing:.02em}.nav-cta span{margin-left:10px}.menu-button{display:none;background:none;border:0;color:#fff;width:42px;height:42px;padding:10px;cursor:pointer}.menu-button span:not(.sr-only){display:block;height:2px;background:var(--gold);margin:5px 0}
.hero{min-height:660px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 45%,rgba(65,78,78,.26),transparent 42%),linear-gradient(112deg,#111719 5%,#192124 58%,#111719 100%);color:#fff;display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,18,19,.98) 0%,rgba(14,18,19,.92) 41%,rgba(14,18,19,.42) 75%,rgba(14,18,19,.18) 100%);pointer-events:none}.hero-lines{position:absolute;width:min(64vw,810px);height:100%;right:0;top:0;opacity:.8}.hero-lines svg{width:100%;height:100%}.hero-lines path{fill:none;stroke:rgba(232,224,197,.2);stroke-width:1}.hero-lines .accent-line{stroke:rgba(200,169,92,.78);stroke-width:2}.hero-lines .soft-line{stroke:rgba(255,255,255,.08)}.hero-content{position:relative;z-index:2;padding-top:82px;padding-bottom:102px}.eyebrow{margin:0 0 17px;color:var(--gold-bright);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow>span{display:inline-block;width:24px;height:1px;background:var(--gold)}.eyebrow-dark{color:#776234}.hero h1,.section h2,.approach h2,.details h2,.contact h2,.warranty-band h2{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;line-height:1.06}.hero h1{font-size:clamp(48px,7.2vw,86px);max-width:710px;margin:0;position:relative}.hero h1 em,.section h2 em,.approach h2 em,.details h2 em,.contact h2 em,.warranty-band h2 em{font-weight:400;color:var(--gold-bright)}.hero-copy{font-size:17px;line-height:1.7;color:#c4ccca;max-width:530px;margin:25px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:49px;padding:0 21px;font-size:12px;font-weight:700;letter-spacing:.04em;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#171918}.button-gold:hover{background:var(--gold-bright)}.button-outline{border-color:rgba(255,255,255,.28);color:#fff}.button-outline:hover{border-color:var(--gold);color:var(--gold-bright)}.hero-notes{display:flex;gap:25px;flex-wrap:wrap;margin-top:50px;color:#c5cac8;font-size:11px;letter-spacing:.04em}.hero-notes i{font-style:normal;color:var(--gold);margin-right:8px}.scroll-cue{position:absolute;z-index:3;right:var(--pad);bottom:0;display:flex;gap:13px;align-items:center;color:#aab0ae;font-size:10px;letter-spacing:.1em;text-transform:uppercase;writing-mode:vertical-rl}.scroll-cue b{font-size:18px;color:var(--gold);font-weight:400}
.section-pad{padding:clamp(78px,11vw,142px) 0}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.intro h2,.section h2,.approach h2,.details h2,.contact h2,.warranty-band h2{font-size:clamp(39px,5vw,61px);margin:0}.intro h2 em,.section h2 em,.approach h2 em,.details h2 em,.contact h2 em{color:#987b3d}.intro-copy{padding-top:38px;max-width:510px;color:#4f5655;font-size:15px}.intro-copy p{margin:0 0 17px}.inline-link{display:inline-flex;gap:14px;align-items:center;margin-top:13px;color:#62502b;font-weight:700;font-size:12px}.inline-link span{color:#997c3f;font-size:18px}.services{background:#151a1c;color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.section-head h2{max-width:650px}.section-head>p{max-width:340px;color:#aeb6b4;font-size:14px;margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}.service-card{position:relative;min-height:278px;padding:28px 28px 25px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column}.service-index{position:absolute;right:24px;top:23px;color:#7e8784;font-size:10px;letter-spacing:.1em}.service-icon{font-family:var(--serif);font-size:32px;color:var(--gold);margin:4px 0 22px}.service-card h3{font-family:var(--serif);font-size:23px;font-weight:400;margin:0 0 10px}.service-card p{font-size:12.5px;line-height:1.65;color:#aeb6b4;margin:0 0 23px}.service-card>a:not(.button){margin-top:auto;color:var(--gold-bright);font-size:10px;font-weight:700;letter-spacing:.04em}.service-card>a span{margin-left:7px}.service-card-cta{background:#202729}.service-card-cta .eyebrow{margin:5px 0 18px}.service-card-cta h3{font-size:26px}.service-card-cta .button{margin-top:auto;align-self:start}
.approach{background:#eae8e1}.approach-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.approach-heading>p:not(.eyebrow){color:#636a68;max-width:365px;font-size:14px;margin:23px 0 27px}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#2c3638}.steps{list-style:none;margin:0;padding:0;border-top:1px solid rgba(20,28,29,.18)}.steps li{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:21px 0;border-bottom:1px solid rgba(20,28,29,.18)}.step-number{color:#94783e;font-family:var(--serif);font-size:21px}.steps h3{font-size:14px;margin:1px 0 5px}.steps p{color:#666d6b;font-size:12px;margin:0;max-width:500px}
.details{background:#171d1f;color:#fff}.details-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:9vw;align-items:center}.details-art{height:420px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(200,169,92,.1),transparent 56%);border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden}.roof-diagram{width:78%;height:58%;position:relative;transform:skewY(-1deg)}.roof-plane{position:absolute;background:linear-gradient(145deg,rgba(215,203,170,.14),rgba(55,66,66,.05));border:1px solid rgba(222,196,121,.6)}.roof-plane-one{width:58%;height:66%;left:8%;top:9%;clip-path:polygon(0 0,100% 36%,100% 100%,0 62%)}.roof-plane-two{width:58%;height:66%;right:8%;top:9%;clip-path:polygon(0 36%,100% 0,100% 62%,0 100%)}.roof-ridge{position:absolute;width:83%;height:1px;background:var(--gold);left:8%;top:28%;transform:rotate(-.5deg);box-shadow:0 0 20px rgba(222,196,121,.4)}.roof-label{position:absolute;color:#c2b17d;font-size:8px;letter-spacing:.16em;white-space:nowrap}.label-one{top:4%;left:11%}.label-two{bottom:16%;left:11%}.label-three{bottom:15%;right:5%}.detail-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(200,169,92,.13)}.dot-one{top:28%;left:34%}.dot-two{bottom:29%;left:21%}.dot-three{bottom:28%;right:20%}.details-copy{color:#bac2bf;font-size:14px;max-width:540px;margin:22px 0 30px}.detail-list{border-top:1px solid rgba(255,255,255,.14)}.detail-list>div{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14)}.detail-list>div>span{color:var(--gold);font-family:var(--serif);font-size:18px}.detail-list h3{font-size:13px;margin:0 0 4px}.detail-list p{font-size:11px;color:#aeb6b4;margin:0}.warranty-band{padding:66px 0;background:#242c2d;color:#fff;border-top:1px solid rgba(222,196,121,.2);border-bottom:1px solid rgba(222,196,121,.2)}.warranty-content{display:flex;align-items:center;justify-content:space-between;gap:36px}.warranty-band h2{font-size:clamp(32px,4vw,47px);max-width:720px}.warranty-band p:not(.eyebrow){font-size:12px;color:#bdc4c1;max-width:650px;margin:15px 0 0}.warranty-band .button{flex-shrink:0}
.faq{background:var(--paper)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.faq-grid>div:first-child>p:not(.eyebrow){font-size:13px;color:#6d7471;max-width:340px;margin:20px 0 0}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:19px 0}summary{list-style:none;cursor:pointer;font-family:var(--serif);font-size:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-family:var(--sans);font-size:20px;color:#94783e}details[open] summary:after{content:'−'}details p{font-size:12px;color:#626966;max-width:650px;margin:12px 0 0;line-height:1.7}
.contact{background:#131819;color:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:start}.contact-copy>p:not(.eyebrow){color:#b6bfbd;font-size:14px;max-width:425px;margin:22px 0 30px}.contact-methods{display:grid;gap:15px}.contact-methods a{display:grid;gap:2px}.contact-methods span{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold)}.contact-methods strong{font-size:16px;font-weight:500}.service-area-note{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;margin-top:27px!important;font-size:11px!important;color:#88928f!important}.quote-form{background:#202729;padding:clamp(22px,4vw,38px);border:1px solid rgba(255,255,255,.11)}.form-heading{display:flex;align-items:center;gap:14px;color:var(--gold-bright);font-size:9px;letter-spacing:.2em;font-weight:700;margin-bottom:25px}.form-line{height:1px;background:rgba(222,196,121,.35);flex:1}.quote-form label{display:block;color:#c7cecc;font-size:10px;letter-spacing:.06em;margin:0 0 16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;display:block;margin-top:7px;background:#171d1f;border:1px solid rgba(255,255,255,.14);border-radius:0;color:#fff;padding:12px 13px;font-size:13px;outline:none}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--gold)}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#7c8783}.quote-form textarea{resize:vertical;min-height:105px}.quote-form select{color-scheme:dark}.form-submit{width:100%;border:0;cursor:pointer}.form-note,.form-status{font-size:10px;color:#98a29f;margin:11px 0 0;line-height:1.55}.form-status{color:var(--gold-bright)}.footer{background:#0a0e0f;color:#c2c9c6}.footer-main{padding:36px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-main>p{font-family:var(--serif);font-style:italic;color:#aeb6b4;font-size:15px}.footer-links{display:grid;gap:4px;font-size:11px;text-align:right}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:16px 0 22px;color:#7e8885;font-size:9px;letter-spacing:.04em}.footer-bottom a{color:var(--gold-bright)}
@media(max-width:850px){.nav{gap:16px;font-size:12px}.service-grid{grid-template-columns:repeat(2,1fr)}.approach-grid,.details-grid,.faq-grid,.contact-grid{gap:48px}.hero-lines{width:75vw;opacity:.45}.hero:after{background:linear-gradient(90deg,rgba(14,18,19,.98) 0%,rgba(14,18,19,.9) 60%,rgba(14,18,19,.45) 100%)}}
@media(max-width:680px){.utility-inner{min-height:34px;font-size:9px}.utility-inner a{font-size:9px}.nav-wrap{min-height:70px}.brand-icon{width:36px;height:36px}.brand-name strong{font-size:16px}.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#111719;padding:14px var(--pad) 24px;border-top:1px solid rgba(255,255,255,.08);align-items:stretch;flex-direction:column;gap:0}.nav.is-open{display:flex}.nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}.nav .nav-cta{border:0;border-bottom:0;padding:16px 0 0}.hero{min-height:620px}.hero-content{padding-top:72px;padding-bottom:90px}.hero h1{font-size:clamp(45px,12vw,68px)}.hero-copy{font-size:15px}.hero-notes{gap:10px 18px;margin-top:38px}.hero-notes span{font-size:10px}.scroll-cue{right:18px}.intro-grid,.approach-grid,.details-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.intro-copy{padding-top:0}.section-head{display:block;margin-bottom:32px}.section-head>p{margin-top:16px}.service-grid{grid-template-columns:1fr}.service-card{min-height:235px}.approach-grid{gap:38px}.details-grid{gap:35px}.details-art{height:290px}.warranty-content{align-items:flex-start;flex-direction:column}.warranty-band .button{width:100%}.faq-grid{gap:38px}.contact-grid{gap:40px}.footer-main{align-items:flex-start;flex-direction:column}.footer-main>p{margin:0}.footer-links{text-align:left}.footer-bottom{flex-wrap:wrap}.form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Saved Aldo's Roofing logo */
.brand{gap:0}.brand-logo-image{display:block;width:146px;height:92px;object-fit:cover;object-position:center 15%;background:#0a0a0a}
@media(max-width:680px){.brand-logo-image{width:118px;height:74px}}
