*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffaf9;color:#181719;font-family:Montserrat,Arial,sans-serif}a{text-decoration:none;color:inherit}.site-header{background:#fffaf9;position:relative;z-index:2}.header-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 3.8% 0}.logo img{width:390px;max-width:100%;display:block}.header-actions,.hero-buttons,.estimate-buttons{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:40px;padding:13px 24px;font-weight:600;font-size:13px;white-space:nowrap;border:1px solid transparent;cursor:pointer}.pink{background:#d95f7c;color:white}.outline{border-color:#c65f77;color:#ae536b;background:#fff9fa}.dark{background:#111;color:white}.light{background:transparent;color:white;border-color:white}nav{display:flex;justify-content:space-between;align-items:center;padding:9px 5% 15px;gap:20px;font-size:11px}.service-names{white-space:nowrap}.service-names b{color:#bf667b;margin:0 9px}.nav-links{display:flex;gap:28px}.nav-links a:hover{color:#c15e75}.hero{min-height:400px;display:grid;grid-template-columns:41% 59%;background:linear-gradient(90deg,#fff9f9,#ffe7ec)}.hero-copy{padding:35px 0 24px 11%;z-index:1}.eyebrow{letter-spacing:.31em;font-family:'Playfair Display',serif;font-size:20px;margin:0}.hero h1{margin:0}.hero h1 em{display:block;font-family:'Great Vibes',cursive;font-size:clamp(78px,10vw,142px);line-height:1.05;color:#b65d70;font-weight:400;white-space:nowrap}.hero h1 span{display:block;font-family:'Playfair Display',serif;letter-spacing:.18em;font-size:25px;white-space:nowrap}.intro{font-size:17px;line-height:1.45;max-width:360px}.hero-photo{background:url('assets/hero-house.webp') center/cover no-repeat;mask-image:linear-gradient(to right,transparent,black 17%);-webkit-mask-image:linear-gradient(to right,transparent,black 17%)}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff0f2;padding:18px 3%;gap:10px}.trust-strip>div{display:flex;justify-content:center;align-items:center;gap:13px;border-right:1px solid #ddb8bf;color:#b65d70;font-size:35px}.trust-strip>div:last-child{border:0}.trust-strip span{font-size:12px;color:#222;line-height:1.4}.section{padding:24px 2.5%}.section-heading{text-align:center}.section-heading h2{font:28px 'Playfair Display',serif;letter-spacing:.2em;margin:0}.section-heading p{font-size:11px;letter-spacing:.14em;margin:2px 0 12px}.service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.service-grid article{text-align:center;background:#fff0f2;border-radius:9px;overflow:hidden}.service-grid img{width:100%;height:140px;object-fit:cover}.service-grid h3{font-size:12px;margin:9px 0}.service-grid p{font-size:11px;line-height:1.5;margin:0 0 12px}.about{display:grid;grid-template-columns:41% 40% 19%;min-height:270px;background:#fff6f6}.about-photo{background:url('assets/about-house.webp') center/cover}.about-copy{padding:25px}.about-copy .eyebrow{font-size:15px}.about-copy h2{font:48px 'Great Vibes',cursive;color:#bd6578;margin:8px 0}.about-copy>p:not(.eyebrow){font-size:12px;line-height:1.6}.facts{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:15px}.facts div{display:flex;align-items:center;gap:12px;color:#b75e76;font-size:28px}.facts span{font-size:11px;color:#222;line-height:1.5}.estimate{display:grid;grid-template-columns:53% 47%;gap:20px;padding:30px 4%;background:linear-gradient(90deg,rgba(0,0,0,.83),rgba(0,0,0,.55)),url('assets/estimate-roof.webp') center/cover;color:white}.estimate-copy h2{font:clamp(38px,5vw,65px) 'Playfair Display',serif;margin:0}.estimate-copy>p:not(.eyebrow){max-width:390px;line-height:1.5}.estimate-buttons{margin:22px 0}.estimate-form{background:#fff9fb;color:#222;border-radius:12px;padding:20px;box-shadow:0 10px 35px #0003}.estimate-form h3{text-align:center;font:18px 'Playfair Display',serif;letter-spacing:.1em;margin:0 0 15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;background:white;font:12px Montserrat,Arial,sans-serif;margin-bottom:9px}.estimate-form button{width:100%;border-radius:5px}.estimate-form small{display:block;text-align:center;color:#666;margin-top:8px}.reviews{text-align:center;padding:38px 15px;background:#fff4f5}.reviews h2{font-family:'Playfair Display',serif}footer{text-align:center;padding:22px;font-size:12px;background:#19181a;color:white}@media(max-width:850px){.header-top{padding:10px 3%}.logo img{width:280px}.header-actions .btn{font-size:11px;padding:10px 12px}nav{flex-wrap:wrap;justify-content:center}.nav-links{gap:15px}.hero{grid-template-columns:45% 55%;min-height:360px}.hero-copy{padding-left:5%}.hero h1 em{font-size:clamp(65px,11vw,100px)}.hero h1 span{font-size:16px}.hero-buttons .btn{padding:9px 13px;font-size:11px}.service-grid{grid-template-columns:repeat(3,1fr)}.about{grid-template-columns:40% 60%}.facts{grid-column:1/-1;flex-direction:row;justify-content:space-around}.estimate{grid-template-columns:1fr 1fr}}@media(max-width:560px){body{min-width:0}.header-top{flex-wrap:wrap;justify-content:center}.logo img{width:min(90vw,360px)}.header-actions{justify-content:center}.header-actions .btn{font-size:10px;padding:9px 11px}nav{font-size:10px;padding:10px}.service-names{font-size:8px}.service-names b{margin:0 3px}.nav-links{gap:12px}.hero{grid-template-columns:49% 51%;min-height:330px}.hero-copy{padding:20px 0 16px 5%}.hero .eyebrow{font-size:12px}.hero h1 em{font-size:clamp(49px,13vw,75px)}.hero h1 span{font-size:10px;letter-spacing:.1em}.intro{font-size:12px}.hero-buttons{gap:6px}.hero-buttons .btn{font-size:9px;padding:9px 10px}.hero-photo{background-position:55% center}.trust-strip{grid-template-columns:repeat(2,1fr)}.trust-strip>div{font-size:24px}.trust-strip span{font-size:9px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.service-grid img{height:90px}.service-grid h3{font-size:9px}.service-grid p{font-size:9px}.about{grid-template-columns:42% 58%}.about-copy{padding:14px}.about-copy h2{font-size:34px}.about-copy>p:not(.eyebrow){font-size:10px}.about-copy .btn{font-size:10px;padding:10px}.facts{gap:8px}.facts div{font-size:18px;gap:4px}.facts span{font-size:9px}.estimate{grid-template-columns:1fr;gap:18px}.estimate-copy h2{font-size:42px}.estimate-form{padding:15px}}
/* Final quality refinements: retain the approved wide design. */
.hero-photo{background-position:center center}
.estimate{background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.67)),url('assets/estimate-roof.webp');background-position:center;background-size:cover}
@media(max-width:560px){.header-top{gap:7px}.logo img{width:min(86vw,320px)}.header-actions{gap:6px}.header-actions .btn{font-size:10px;padding:10px 11px}.hero-photo{background-position:53% center}.hero h1 em{font-size:clamp(46px,12vw,70px)}.hero h1 span{white-space:normal}.estimate-form input,.estimate-form select,.estimate-form textarea{font-size:16px}.estimate-form{min-width:0}.service-grid article{min-width:0}}

/* Keep cards tidy at narrow mobile widths and prevent accidental horizontal overflow. */
html,body{max-width:100%;overflow-x:clip}
.service-grid article{min-width:0}
.section-heading h2{overflow-wrap:anywhere}
@media(max-width:560px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid img{object-position:center}.section-heading h2{font-size:clamp(18px,6vw,28px)}.section-heading p{font-size:clamp(8px,2.5vw,11px)}}

/* SilverLine mobile header navigation: retains the established desktop design. */
.mobile-menu-toggle{display:none;appearance:none;border:1px solid #d6a8b0;background:#fff7f8;color:#61343d;border-radius:10px;padding:8px 11px;cursor:pointer;align-items:center;gap:8px;font-family:Montserrat,Arial,sans-serif;font-size:11px;font-weight:700}
.hamburger-lines{width:20px;display:flex;flex-direction:column;gap:4px}
.hamburger-lines span{height:2px;background:#ad5970;display:block;border-radius:5px;width:100%}
.mobile-menu-toggle:focus-visible,.nav-links a:focus-visible{outline:3px solid #b65d70;outline-offset:3px}
@media(max-width:650px){
  .site-header .header-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:10px 4% 8px;align-items:center;justify-content:stretch}
  .site-header .logo{min-width:0;justify-self:start}
  .site-header .logo img{width:min(65vw,280px);max-width:100%;height:auto}
  .mobile-menu-toggle{display:inline-flex;grid-column:2;grid-row:1;justify-self:end;min-height:42px}
  .site-header .header-actions{grid-column:1/-1;grid-row:2;justify-content:center;gap:7px}
  .site-header nav{padding:0 4%;display:block;position:relative}
  .site-header .service-names{display:none}
  .site-header .nav-links{display:none;position:absolute;top:0;right:4%;left:4%;z-index:25;background:#fffafb;border:1px solid #efd5d9;border-radius:12px;box-shadow:0 12px 30px rgba(36,18,24,.14);padding:6px;flex-direction:column;align-items:stretch;gap:0}
  .site-header nav.menu-open .nav-links{display:flex}
  .site-header .nav-links a{display:block;text-align:left;padding:14px 16px;font-size:12px;font-weight:700;letter-spacing:.05em;border-radius:8px}
  .site-header .nav-links a:hover,.site-header .nav-links a:focus-visible{background:#fcebf0}
}

/* Surgical adjustments only: original approved site styles preserved. */
.estimate-panel{min-width:0}
.estimate-form[hidden],#estimate-status[hidden],.estimate-success[hidden]{display:none!important}
#estimate-status{margin:12px 0;color:#333;font-size:14px}
.estimate-success{background:#fff9fb;color:#252126;border-radius:12px;padding:38px 24px;text-align:center;box-shadow:0 10px 35px #0003;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.estimate-success .success-check{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#d95f7c;color:#fff;font-size:36px;font-weight:bold}
.estimate-success h3{font:32px 'Playfair Display',serif;letter-spacing:.09em;margin:8px 0 2px}
.estimate-success p{margin:2px 0;max-width:360px;font-size:16px;line-height:1.6}
.estimate-success small{color:#62555a;margin-top:8px}
@media(max-width:650px){
 .site-header .header-top{position:relative;display:flex;align-items:center;justify-content:center;padding:14px 4% 12px;min-height:100px}
 .site-header .logo{display:block;justify-self:auto;margin:0 auto;line-height:0;text-align:center}
 .site-header .logo img{width:min(72vw,370px);max-width:100%;height:auto;display:block;margin:auto}
 .site-header .mobile-menu-toggle{position:absolute;right:8px;top:10px;min-height:35px;padding:6px;border-radius:9px;background:#fff9fa}
 .site-header .mobile-menu-toggle .menu-caption{display:none}
 .site-header .header-actions{display:none}
}

/* Chosen design: mockup Option 1 header and Option 2 benefits. Mobile only. */
@media (max-width:650px){
  .site-header .header-top{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    position:relative;gap:0;min-height:0;padding:12px 10px 0;
  }
  .site-header .logo{display:flex;justify-content:center;align-items:center;
    width:100%;margin:0;line-height:0;min-width:0;
  }
  .site-header .logo img{display:block;width:min(62vw,320px);max-width:100%;height:auto;margin:0 auto}
  .site-header .mobile-menu-toggle{
    position:static;display:inline-flex;grid-column:auto;grid-row:auto;
    align-items:center;justify-content:center;justify-self:auto;
    margin:1px auto 5px;padding:4px 11px;min-height:27px;
    border:0;border-radius:0;background:transparent;color:#242025;
    box-shadow:none;font-size:12px;gap:7px;
  }
  .site-header .mobile-menu-toggle .menu-caption{display:inline;font-weight:600}
  .site-header .hamburger-lines{width:16px;gap:3px}
  .site-header .hamburger-lines span{height:2px}
  .site-header .header-actions{display:none}
  .site-header{border-bottom:3px solid #e7a5b2}
  .site-header nav{padding:0 4%;}
  .site-header .nav-links{top:0}
  .trust-strip{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;padding:13px 2.5%;align-items:stretch;
    background:#fff0f2;border-radius:0 0 14px 14px;
  }
  .trust-strip>div{display:flex;flex-direction:column;justify-content:flex-start;
    align-items:center;gap:7px;text-align:center;min-width:0;
    border-right:1px solid #e9c6ce;padding:4px 5px;font-size:26px;line-height:1;
  }
  .trust-strip>div:last-child{border-right:0}
  .trust-strip span{font-size:clamp(7px,1.65vw,10px);line-height:1.25;
    overflow-wrap:normal;letter-spacing:-.02em;
  }
}
