
    :root { --wine:#661016; --wine-dark:#3d090d; --ink:#17191b; --muted:#65676a; --paper:#f5f2ed; --copper:#bd6d3b; --line:#ded8d1; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); font-family:Arial, Helvetica, sans-serif; background:#fff; }
    img { display:block; width:100%; }
    a { color:inherit; text-decoration:none; }
    .wrap { width:min(1180px, calc(100% - 48px)); margin:auto; }
    .eyebrow { color:var(--wine); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
    h1,h2,h3,p { margin-top:0; }
    h1,h2 { font-family:Georgia, 'Times New Roman', serif; }
    h2 { margin-bottom:16px; font-size:clamp(34px, 4vw, 54px); line-height:1.03; }
    p { line-height:1.65; }
    .topbar { background:var(--wine-dark); color:#fff; font-size:13px; }
    .topbar .wrap { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .topbar .contact { display:flex; gap:22px; flex-wrap:wrap; }
    header { position:relative; z-index:3; background:#fff; box-shadow:0 5px 24px rgba(0,0,0,.08); }
    nav.wrap { height:82px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
    .brand { display:flex; align-items:center; gap:13px; min-width:330px; }
    .brand img { width:58px; height:58px; object-fit:cover; border-radius:7px; }
    .brand strong { display:block; font-size:18px; letter-spacing:.03em; }
    .brand small { display:block; margin-top:3px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.13em; }
    .navlinks { display:flex; align-items:center; gap:31px; font-size:14px; font-weight:700; }
    .button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border:1px solid transparent; border-radius:4px; background:var(--wine); color:#fff; font-size:13px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
    .button.outline { border-color:rgba(255,255,255,.75); background:rgba(0,0,0,.12); }
    .hero { position:relative; min-height:610px; display:flex; align-items:center; overflow:hidden; color:#fff; background:#222; }
    .hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,13,14,.92) 0%, rgba(11,13,14,.7) 39%, rgba(11,13,14,.12) 72%), url('/assets/hero-project.jpg') center 45%/cover no-repeat; }
    .hero .wrap { position:relative; z-index:1; padding:88px 0 110px; }
    .hero-copy { max-width:660px; }
    .hero .eyebrow { color:#e8b18d; }
    h1 { margin:14px 0 21px; font-size:clamp(48px, 6.2vw, 78px); line-height:.98; letter-spacing:-.025em; }
    .hero p { max-width:575px; margin-bottom:29px; font-size:18px; color:#f0f0f0; }
    .actions { display:flex; gap:12px; flex-wrap:wrap; }
    .hero-note { margin-top:24px; font-size:13px; font-weight:700; letter-spacing:.04em; }
    .trust { position:relative; z-index:2; margin-top:-56px; }
    .trust .wrap { display:grid; grid-template-columns:repeat(4,1fr); background:var(--wine); color:#fff; box-shadow:0 18px 34px rgba(58,8,12,.2); }
    .trust-item { min-height:112px; display:flex; flex-direction:column; justify-content:center; padding:23px 27px; border-right:1px solid rgba(255,255,255,.25); }
    .trust-item:last-child { border:0; }
    .trust-item strong { font-family:Georgia, serif; font-size:18px; }
    .trust-item span { margin-top:7px; color:#edc9c9; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
    section { padding:96px 0; }
    .intro { background:var(--paper); padding-top:126px; }
    .two-col { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
    .intro-photo { position:relative; }
    .intro-photo img { height:510px; object-fit:cover; border-radius:5px; }
    .experience { position:absolute; right:-28px; bottom:34px; width:210px; padding:22px; background:var(--wine); color:#fff; box-shadow:0 15px 32px rgba(0,0,0,.2); }
    .experience strong { display:block; font-family:Georgia,serif; font-size:34px; }
    .experience span { font-size:12px; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
    .intro-copy p { color:#555; font-size:16px; }
    .tip { margin-top:26px; padding:20px 22px; border-left:4px solid var(--copper); background:#fff; font-family:Georgia,serif; font-size:17px; line-height:1.55; }
    .services-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:42px; }
    .services-head p { max-width:470px; color:var(--muted); }
    .service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
    .service-card { overflow:hidden; border:1px solid var(--line); background:#fff; box-shadow:0 10px 25px rgba(0,0,0,.05); }
    .service-card img { height:214px; object-fit:cover; }
    .service-card:nth-child(3) img { object-position:center 72%; }
    .service-card .copy { padding:25px 23px 27px; }
    .service-card h3 { margin-bottom:9px; font-family:Georgia,serif; font-size:23px; }
    .service-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
    .difference { color:#fff; background:linear-gradient(110deg, rgba(46,8,11,.97), rgba(98,16,22,.93)), url('/assets/roof-detail.jpg') center/cover; }
    .difference .wrap { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
    .difference .eyebrow { color:#e7aa82; }
    .difference p { color:#eee0e0; }
    .checklist { display:grid; gap:13px; }
    .check { padding:18px 20px; border:1px solid rgba(255,255,255,.25); background:rgba(0,0,0,.14); font-weight:700; }
    .check:before { content:'✓'; margin-right:12px; color:#e5a176; }
    .projects { background:var(--paper); }
    .center { max-width:760px; margin:0 auto 45px; text-align:center; }
    .project-list { display:grid; gap:32px; }
    .project { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border-radius:5px; background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.08); }
    .photo { position:relative; min-height:350px; }
    .photo img { height:100%; object-fit:cover; }
    .photo span { position:absolute; left:18px; top:18px; padding:8px 12px; background:rgba(20,20,20,.83); color:#fff; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
    .photo.after span { background:var(--wine); }
    .project-title { grid-column:1/-1; display:flex; justify-content:space-between; gap:30px; align-items:center; padding:22px 26px; border-top:1px solid var(--line); }
    .project-title strong { font-family:Georgia,serif; font-size:21px; }
    .project-title small { color:var(--muted); }
    .cta { padding:70px 0; color:#fff; background:var(--wine); }
    .cta .wrap { display:flex; align-items:center; justify-content:space-between; gap:40px; }
    .cta h2 { margin:0 0 8px; font-size:42px; }
    .cta p { margin:0; color:#efcfd1; }
    footer { padding:40px 0 26px; color:#fff; background:#181b1d; }
    footer .wrap { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:50px; }
    footer p, footer a { color:#c9ced1; font-size:14px; }
    footer h3 { font-family:Georgia,serif; }
    .social { display:flex; gap:10px; margin-top:18px; }
    .social a { padding:9px 12px; border:1px solid #555d62; border-radius:3px; }
    .copyright { margin-top:30px; padding-top:20px; border-top:1px solid #353a3d; text-align:center; color:#8e969a; font-size:12px; }
    @media(max-width:900px) {
      .navlinks a:not(.button) { display:none; }
      .brand { min-width:auto; }
      .trust .wrap,.service-grid { grid-template-columns:1fr 1fr; }
      .two-col,.difference .wrap { grid-template-columns:1fr; }
      .experience { right:15px; }
    }
    @media(max-width:640px) {
      .wrap { width:min(100% - 30px,1180px); }
      .topbar .contact span:nth-child(2),.topbar .right { display:none; }
      .brand strong { font-size:13px; }
      .brand small { font-size:9px; }
      .navlinks .button { padding:0 12px; font-size:10px; }
      .hero { min-height:600px; }
      .hero:before { background:linear-gradient(90deg, rgba(11,13,14,.9), rgba(11,13,14,.52)), url('/assets/hero-project.jpg') 64% center/cover; }
      .trust { margin-top:0; }
      .trust .wrap,.service-grid,.project { grid-template-columns:1fr; }
      .trust-item { min-height:85px; border-right:0; border-bottom:1px solid rgba(255,255,255,.2); }
      section { padding:72px 0; }
      .intro { padding-top:72px; }
      .services-head,.cta .wrap { display:block; }
      .photo { min-height:290px; }
      .project-title { grid-column:1; display:block; }
      footer .wrap { grid-template-columns:1fr; }
    }

    :root { --paper:#f4f4f3; --line:#dedede; }
    a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #bd6d3b; outline-offset:5px; }
    .skip { position:absolute; top:-80px; left:16px; padding:14px; background:#fff; z-index:20; }
    .skip:focus { top:8px; }
    .hero-copy { max-width:750px; }
    h1 { font-size:clamp(46px,5.6vw,72px); }
    .intro-photo img { object-position:center 38%; }
    .intro-photo:after { content:'Patrick Bartosiewicz · Owner & operator'; display:block; margin-top:14px; font-size:13px; color:#555; }
    .service-card { border-radius:5px; }
    .service-card img { height:250px; }
    .service-card:nth-child(3) img { object-position:center 32%; }
    .service-link { display:inline-block; margin-top:20px; color:var(--wine); font-size:13px; font-weight:700; }
    .service-link:hover { text-decoration:underline; }
    .photo { display:block; height:400px; min-height:0; overflow:hidden; }
    .photo img { transition:transform .2s; }
    .photo:hover img { transform:scale(1.025); }
    .chimney-before img { object-position:center 74%; }
    .project-title p { max-width:700px; margin:8px 0 0; font-size:14px; color:var(--muted); }
    .project-title small { white-space:nowrap; text-transform:uppercase; letter-spacing:.08em; font-size:10px; }
    .detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; }
    .detail-grid figure { margin:0; background:#fff; }
    .detail-grid img { height:350px; object-fit:cover; object-position:center 30%; }
    .detail-grid figcaption { padding:18px; font-family:Georgia,serif; font-size:18px; }
    .process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
    .process-grid article { border-top:1px solid var(--line); padding-top:24px; }
    .process-grid article>span { color:var(--wine); font-family:Georgia,serif; font-size:36px; }
    .process-grid h3 { margin:16px 0 12px; font-size:21px; }
    .process-grid p { color:var(--muted); }
    .questions { background:var(--paper); }
    .questions .wrap { max-width:850px; }
    details { border-bottom:1px solid #ccc; padding:22px 0; }
    summary { cursor:pointer; font-size:18px; font-weight:700; }
    details p { margin:15px 0 0; color:#555; }
    .cta .wrap>div:first-child { max-width:610px; }
    .cta .actions { flex-shrink:0; }
    .cta p { max-width:530px; }
    footer a { overflow-wrap:anywhere; }
    dialog { border:0; border-radius:8px; padding:48px 16px 16px; background:#17191b; color:white; max-width:95vw; width:1000px; }
    dialog::backdrop { background:rgba(0,0,0,.85); }
    dialog img { width:100%; height:75vh; object-fit:contain; }
    dialog button { position:absolute; top:10px; right:16px; background:white; border:0; padding:8px 16px; cursor:pointer; border-radius:3px; }
    dialog p { margin:12px 0 0; text-align:center; }
    @media(max-width:1100px) { nav.wrap { gap:15px; } .navlinks { gap:16px; } .brand strong { font-size:15px; } .brand { min-width:0; } .cta .wrap { flex-wrap:wrap; } }
    @media(max-width:900px) { nav.wrap { height:auto; padding-block:15px; flex-wrap:wrap; } .navlinks { width:100%; justify-content:space-between; gap:12px; } .navlinks a:not(.button) { display:block; } .two-col { gap:44px; } .intro-photo img { max-height:600px; height:auto; aspect-ratio:4/3; } .detail-grid img { height:280px; } }
    @media(max-width:640px) { .top-email { display:none; } .topbar .contact { width:100%; justify-content:space-between; font-size:11px; gap:12px; } .brand strong { font-size:15px; } .brand img { width:50px;height:50px; } .navlinks { flex-wrap:wrap; font-size:13px; } .navlinks .button { margin-left:auto; min-height:42px; padding:0 10px; font-size:9px; } .hero .wrap { padding:60px 0; } .hero { min-height:520px; } .hero p { font-size:16px; } .hero-note { line-height:1.8; } .intro-photo img { aspect-ratio:3/4; } .experience { width:160px; bottom:55px; } .photo { height:330px; } .project-title small { display:block; margin-top:14px; } .detail-grid,.process-grid { grid-template-columns:1fr; } .detail-grid img { height:420px; } .cta .actions { margin-top:24px; } .cta h2 { font-size:36px; } .button { max-width:100%; } footer .wrap { gap:24px; } }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .photo img { transition:none; } }
  
    .portfolio { background:#fff; }
    .gallery-filters { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
    .gallery-filters button { border:1px solid #ccc; border-radius:4px; padding:12px 18px; font:700 14px Arial,sans-serif; color:#661016; background:#fff; cursor:pointer; min-height:44px; }
    .gallery-filters button[aria-pressed=true] { background:#661016;color:#fff;border-color:#661016; }
    .gallery-count { text-align:center;color:#65676a;font-size:13px;margin:18px 0 24px; }
    .portfolio-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
    .portfolio-card { margin:0;border:1px solid #dedede;border-radius:5px;overflow:hidden;background:#f4f4f3; }
    .portfolio-card[hidden] { display:none; }
    .portfolio-card img { height:290px;object-fit:cover; }
    .portfolio-card figcaption { padding:20px; }
    .portfolio-card small { color:#661016;text-transform:uppercase;font-size:10px;letter-spacing:.1em;font-weight:700; }
    .portfolio-card h3 { font-family:Georgia,serif;font-size:21px;margin:9px 0 0; }
    .video-heading { margin-top:80px; }
    .video-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px; }
    .video-card { background:#f4f4f3;border:1px solid #dedede;border-radius:5px;overflow:hidden; }
    .video-card video { display:block;width:100%;aspect-ratio:16/9;background:#17191b; }
    .video-card>div { padding:24px; }
    .video-card h3 { font-family:Georgia,serif;font-size:25px;margin-bottom:12px; }
    .video-card p { color:#65676a;font-size:14px;margin:0; }
    @media(max-width:900px) { .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
    @media(max-width:640px) { .portfolio-grid,.video-grid { grid-template-columns:1fr; } .portfolio-card img { height:320px; } .gallery-filters button { padding:10px 14px; } }
    
    .detail-grid { grid-template-columns:1fr;max-width:580px;margin-inline:auto; }
    .customer-reviews { background:#fff; }
    .review-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
    .review-grid figure { margin:0;padding:32px;background:#f4f4f3;border-top:3px solid #661016; }
    .review-grid blockquote { margin:0 0 24px;font:24px/1.5 Georgia,serif; }
    .review-grid figcaption { font-size:14px;line-height:1.8; }
    .review-stars { color:#661016;white-space:nowrap; }
    .review-date { font-size:12px; }
    .review-link { text-align:center;margin-top:30px; }
    .floating-call { position:fixed;right:22px;bottom:24px;z-index:30;display:flex;gap:10px;align-items:center;min-height:52px;padding:14px 22px;background:#661016;color:white;border:2px solid white;border-radius:30px;box-shadow:0 4px 20px #0005;font-weight:700; }
    footer { padding-bottom:100px; }
    @media(max-width:640px) { .review-grid { grid-template-columns:1fr; } .floating-call { right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:12px 18px; } }
    .intro .two-col { align-items:start; } .intro-copy p { margin-bottom:18px; } 
[hidden]{display:none!important} .navlinks a[aria-current=page]{text-decoration:underline;text-underline-offset:7px} input,select,textarea{font:inherit;max-width:100%} input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bd6d3b;outline-offset:3px} .page-heading{background:var(--wine-dark);color:white;padding:65px 0} .page-heading h1{font-size:clamp(42px,5vw,64px);max-width:850px}.page-heading p{max-width:680px;color:#eee;margin-bottom:0}.page-heading .eyebrow{color:#e8b18d}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;align-items:start}.contact-aside{background:var(--paper);padding:30px;border-top:4px solid var(--wine)}.contact-aside a{overflow-wrap:anywhere}.contact-aside h2{font-size:32px}.contact-aside h3{margin:26px 0 8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:grid;gap:9px;font-size:14px;font-weight:bold}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid #aaa;border-radius:4px;background:white;min-height:48px;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.form-note{font-size:14px;color:#555}.preview-note{padding:16px 20px;background:#f4f4f3;border-left:4px solid var(--wine);margin-bottom:24px}.form-status{margin-top:20px;line-height:1.6}.form-status:not(:empty){padding:16px;border:1px solid var(--line);background:var(--paper)}button.button{cursor:pointer}button.button:disabled{cursor:wait;opacity:.65}.privacy-note{margin-top:26px;font-size:13px;color:#555}.privacy-note a{text-decoration:underline}.page-services .service-grid{grid-template-columns:repeat(3,1fr)}.gallery-jump{text-align:center;margin-top:30px}footer .wrap.footer-nav{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px}.contact-aside .button{margin-top:12px}.form-title{font-size:38px}.contact-intro{margin-bottom:26px}.page-gallery .projects{padding-top:65px}.service-card .copy{height:100%}.service-grid{align-items:start}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:35px}.page-services .service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.form-grid,.page-services .service-grid{grid-template-columns:1fr}.page-heading{padding:45px 0}.form-title{font-size:32px}.navlinks .button{display:none}.navlinks{justify-content:space-between}.contact-aside{padding:24px;order:2}.detail-grid{grid-template-columns:1fr}}
