/*
Theme Name: HomeStar Custom Homes
Theme URI: https://homestarcustomhomes.com/
Author: HomeStar Custom Homes
Description: Custom one-page WordPress theme for HomeStar Custom Homes, serving the New York Tri-State Area and specializing in Long Island modular homes.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: homestar-custom-homes
*/

:root{
      --navy:#0d1c2d;
      --navy-2:#13283d;
      --teal:#18a7ab;
      --teal-dark:#11878b;
      --silver:#c9cbd0;
      --white:#ffffff;
      --ink:#263445;
      --mist:#f4f7f8;
      --line:#dce4e8;
      --shadow:0 18px 50px rgba(13,28,45,.14);
      --radius:20px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:"Montserrat",sans-serif;
      color:var(--ink);
      background:#fff;
      line-height:1.6;
    }
    img{max-width:100%;display:block}
    a{text-decoration:none;color:inherit}
    button,input,textarea,select{font:inherit}

    .container{width:min(1140px,92%);margin:auto}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:.55rem;
      font-size:.78rem;
      letter-spacing:.18em;
      text-transform:uppercase;
      font-weight:700;
      color:var(--teal-dark);
    }
    .eyebrow:before{
      content:"";
      width:34px;height:2px;background:var(--teal);
    }

    .topbar{
      background:var(--navy);
      color:#dce4ea;
      font-size:.78rem;
      padding:.55rem 0;
    }
    .topbar .container{
      display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
    }
    .topbar strong{color:#fff}

    .nav{
      position:sticky;top:0;z-index:40;
      background:rgba(255,255,255,.96);
      backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(13,28,45,.08);
    }
    .nav-inner{
      min-height:84px;
      display:flex;align-items:center;justify-content:space-between;gap:2rem;
    }
    .brand img{width:210px}
    .nav-links{display:flex;align-items:center;gap:1.6rem;font-size:.88rem;font-weight:600}
    .nav-links a:hover{color:var(--teal-dark)}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      min-height:48px;padding:.8rem 1.25rem;border-radius:999px;
      border:1px solid transparent;font-weight:700;cursor:pointer;
      transition:.2s ease;
    }
    .btn-primary{background:var(--teal);color:#fff;box-shadow:0 10px 24px rgba(24,167,171,.25)}
    .btn-primary:hover{background:var(--teal-dark);transform:translateY(-1px)}
    .btn-light{background:#fff;color:var(--navy)}
    .btn-outline{border-color:#b8c6ce;color:var(--navy);background:transparent}
    .btn-outline:hover{border-color:var(--teal);color:var(--teal-dark)}
    .menu-btn{display:none;background:none;border:0;font-size:1.5rem;color:var(--navy)}

    .hero{
      position:relative;
      overflow:hidden;
      background:
        linear-gradient(90deg, rgba(13,28,45,.97) 0%, rgba(13,28,45,.90) 48%, rgba(13,28,45,.64) 100%),
        radial-gradient(circle at 80% 20%, rgba(24,167,171,.35), transparent 30%),
        linear-gradient(135deg,#102238,#1a4151);
      color:#fff;
      padding:92px 0 82px;
    }
    .hero:after{
      content:"";
      position:absolute;right:-100px;bottom:-180px;
      width:560px;height:560px;border:1px solid rgba(255,255,255,.12);
      transform:rotate(35deg);border-radius:36px;
    }
    .hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center;position:relative;z-index:2}
    .hero-logo{
      width:215px;
      margin-bottom:1.5rem;
      filter:drop-shadow(0 12px 28px rgba(0,0,0,.18));
    }
    .hero h1{
      font-family:"Playfair Display",serif;
      font-size:clamp(2.8rem,5vw,5rem);
      line-height:1.04;margin:.6rem 0 1.25rem;
      max-width:760px;
    }
    .hero h1 span{color:#34c1c4}
    .hero p{font-size:1.13rem;color:#dce5ea;max-width:680px;margin:0 0 1.8rem}
    .hero-actions{display:flex;gap:.9rem;flex-wrap:wrap}
    .hero-points{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:2rem;font-size:.9rem;color:#eaf2f4}
    .hero-points span:before{content:"✓";color:#38d0cf;font-weight:800;margin-right:.45rem}

    .lead-card{
      background:#fff;color:var(--ink);
      padding:30px;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.28);
    }
    .lead-card h2{margin:0 0 .35rem;color:var(--navy);font-size:1.55rem}
    .lead-card p{font-size:.9rem;color:#63717e;margin:0 0 1.2rem}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .field{display:flex;flex-direction:column;gap:6px}
    .field.full{grid-column:1/-1}
    label{font-size:.76rem;font-weight:700;color:#455565}
    input,select,textarea{
      width:100%;border:1px solid #ccd6dc;border-radius:10px;
      padding:.78rem .85rem;background:#fbfcfd;color:var(--ink);outline:none;
    }
    input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(24,167,171,.12)}
    textarea{min-height:90px;resize:vertical}
    .form-note{font-size:.7rem!important;margin:.75rem 0 0!important;color:#7b8791!important}
    #formSuccess{display:none;margin-top:12px;padding:10px 12px;border-radius:10px;background:#eaf9f7;color:#126f72;font-size:.85rem;font-weight:600}

    .stats{
      margin-top:-28px;position:relative;z-index:10;
    }
    .stats-grid{
      background:#fff;border-radius:18px;box-shadow:var(--shadow);
      display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;
    }
    .stat{padding:26px;text-align:center;border-right:1px solid var(--line)}
    .stat:last-child{border-right:0}
    .stat strong{display:block;color:var(--teal-dark);font-size:2rem;line-height:1.1}
    .stat span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#687884}

    section{padding:88px 0}
    .section-head{max-width:760px;margin-bottom:42px}
    .section-head h2{
      font-family:"Playfair Display",serif;
      color:var(--navy);font-size:clamp(2rem,4vw,3.2rem);
      line-height:1.14;margin:.6rem 0 .8rem;
    }
    .section-head p{color:#63727e;margin:0}

    .benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
    .card{
      background:#fff;border:1px solid #e0e7ea;border-radius:var(--radius);
      padding:28px;box-shadow:0 10px 30px rgba(13,28,45,.06);
    }
    .icon{
      width:48px;height:48px;border-radius:14px;background:#e9f8f8;
      display:grid;place-items:center;color:var(--teal-dark);font-weight:800;font-size:1.25rem;
    }
    .card h3{color:var(--navy);margin:1rem 0 .55rem;font-size:1.1rem}
    .card p{margin:0;color:#667580;font-size:.92rem}


    .quality-showcase{background:#fff}
    .quality-grid{
      display:grid;
      grid-template-columns:.72fr 1.28fr;
      gap:42px;
      align-items:center;
    }
    .quality-copy h2{
      font-family:"Playfair Display",serif;
      color:var(--navy);
      font-size:clamp(2rem,4vw,3.1rem);
      line-height:1.14;
      margin:.7rem 0 1rem;
    }
    .quality-copy p{color:#63727e}
    .quality-image{
      background:#fff;
      border:1px solid var(--line);
      border-radius:20px;
      padding:12px;
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .quality-image img{
      width:100%;
      height:auto;
      border-radius:12px;
    }
    .quality-caption{
      margin:.8rem .35rem .15rem;
      font-size:.76rem;
      color:#73818c;
    }

    .compare{background:var(--mist)}
    .compare-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
    .compare-panel{
      background:var(--navy);color:#fff;border-radius:24px;padding:36px;box-shadow:var(--shadow);
    }
    .compare-panel h3{font-size:1.5rem;margin:0 0 1.4rem}
    .bar-row{margin:1.15rem 0}
    .bar-label{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:.45rem}
    .bar{height:12px;background:#26394d;border-radius:999px;overflow:hidden}
    .bar span{height:100%;display:block;border-radius:999px}
    .bar.modular span{width:82%;background:var(--teal)}
    .bar.traditional span{width:100%;background:#b9c0c7}
    .compare-note{font-size:.78rem;color:#b7c4cc;margin-top:1.25rem}
    .checklist{display:grid;gap:15px}
    .check{
      display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;
    }
    .check b{
      width:28px;height:28px;border-radius:50%;background:#dff6f4;color:var(--teal-dark);
      display:grid;place-items:center;
    }
    .check h4{margin:0;color:var(--navy)}
    .check p{margin:.25rem 0 0;color:#64737f;font-size:.9rem}

    .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .step{position:relative;padding:26px 22px;border-top:4px solid var(--teal);background:#fff;border-radius:0 0 16px 16px;box-shadow:0 8px 24px rgba(13,28,45,.07)}
    .step-num{font-size:2.3rem;font-weight:800;color:#dce6e9;line-height:1}
    .step h3{color:var(--navy);margin:.8rem 0 .4rem;font-size:1rem}
    .step p{font-size:.84rem;color:#6b7984;margin:0}

    .faq{background:var(--mist)}
    .faq-list{max-width:900px}
    details{background:#fff;border:1px solid #dfe7ea;border-radius:14px;padding:18px 20px;margin-bottom:12px}
    summary{cursor:pointer;font-weight:700;color:var(--navy)}
    details p{margin:.9rem 0 0;color:#65747f;font-size:.92rem}

    .cta{
      padding:76px 0;
      background:linear-gradient(135deg,var(--navy),#154459);
      color:#fff;text-align:center;
    }
    .cta h2{font-family:"Playfair Display",serif;font-size:clamp(2rem,4vw,3.3rem);margin:0 0 .8rem}
    .cta p{max-width:700px;margin:0 auto 1.5rem;color:#d7e4e8}

    footer{background:#091521;color:#afbdc7;padding:48px 0 28px}
    .footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px}
    .footer-logo{width:230px;margin-bottom:1rem}
    footer h4{color:#fff;margin:0 0 .8rem}
    footer p,footer a{font-size:.84rem}
    footer a:hover{color:#fff}
    .copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:22px;font-size:.76rem}

    @media(max-width:900px){
      .nav-links{display:none;position:absolute;left:0;right:0;top:84px;background:#fff;padding:20px 4%;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
      .nav-links.open{display:flex}
      .menu-btn{display:block}
      .hero-grid,.compare-wrap,.quality-grid{grid-template-columns:1fr}
      .benefit-grid{grid-template-columns:repeat(2,1fr)}
      .process-grid{grid-template-columns:repeat(2,1fr)}
      .hero{padding-top:70px}
    }
    @media(max-width:620px){
      .brand img{width:165px}
      .topbar{display:none}
      .nav-inner{min-height:72px}
      .nav-links{top:72px}
      .hero{padding:56px 0 58px}
      .hero-logo{width:170px}
      .form-grid,.benefit-grid,.process-grid,.stats-grid,.footer-grid{grid-template-columns:1fr}
      .stat{border-right:0;border-bottom:1px solid var(--line)}
      .stat:last-child{border-bottom:0}
      section{padding:66px 0}
      .lead-card{padding:22px}
    }
