/* ============================================================
   KR Sivayogi Construction — Stylesheet
   Palette (from brand logo):
   --navy   #1C2433  deep structural navy
   --ink    #10151F  darkest ink
   --gold   #C9971C  brand gold
   --gold-2 #E4B33C  light gold
   --paper  #F7F6F2  warm paper background
   --line   #DCD8CE  hairline
   ============================================================ */

:root{
  --navy:#1C2433;
  --ink:#10151F;
  --gold:#C9971C;
  --gold-2:#E4B33C;
  --paper:#F7F6F2;
  --line:#DCD8CE;
  --text:#2B3140;
  --muted:#6B7280;
  --display:'Big Shoulders Display', sans-serif;
  --body:'Public Sans', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);color:var(--text);background:var(--paper);line-height:1.65;font-size:16px;}
img{max-width:100%;display:block;}
a{color:var(--gold);text-decoration:none;}
a:hover{text-decoration:underline;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--gold-2);outline-offset:2px;
}
.container{max-width:1160px;margin:0 auto;padding:0 22px;}

h1,h2,h3{font-family:var(--display);color:var(--navy);line-height:1.08;letter-spacing:.01em;}
h1{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:800;text-transform:uppercase;}
h2{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700;text-transform:uppercase;}
h3{font-size:1.3rem;font-weight:700;}

/* Eyebrow — styled like a surveyor's measurement label */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--body);font-size:.78rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  margin-bottom:14px;
}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--gold);}
.eyebrow::after{content:"";width:8px;height:8px;border:2px solid var(--gold);transform:rotate(45deg);}

/* ---------- Top bar ---------- */
.topbar{background:var(--ink);color:#B9BFCB;font-size:.82rem;}
.topbar-inner{display:flex;flex-wrap:wrap;gap:6px 26px;padding:8px 22px;align-items:center;}
.topbar a{color:#E7E3D8;}
.topbar-cert{margin-left:auto;color:var(--gold-2);font-weight:600;}

/* ---------- Header / nav ---------- */
.site-header{background:#fff;border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:50;}
.header-inner{display:flex;align-items:center;gap:18px;padding:12px 22px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand:hover{text-decoration:none;}
.brand-logo{width:58px;height:58px;object-fit:contain;}
.brand-name{display:block;font-family:var(--display);font-weight:800;font-size:1.45rem;color:var(--navy);text-transform:uppercase;line-height:1;}
.brand-sub{display:block;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:26px;}
.site-nav a{font-weight:600;color:var(--navy);font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent;}
.site-nav a:hover{text-decoration:none;color:var(--gold);}
.site-nav a.active{border-bottom-color:var(--gold);color:var(--gold);}
.nav-cta{background:var(--navy);color:#fff !important;padding:10px 20px !important;border-bottom:none !important;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:1rem !important;}
.nav-cta:hover{background:var(--gold);color:var(--ink) !important;}
.nav-toggle{display:none;}
.nav-toggle-label{display:none;}

/* ---------- Hero ---------- */
.hero{
  background:
    linear-gradient(115deg, rgba(16,21,31,.96) 0 52%, rgba(28,36,51,.88) 75%, rgba(28,36,51,.78)),
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(201,151,28,.14) 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(201,151,28,.14) 39px 40px),
    var(--navy);
  color:#E9E6DD;
  padding:96px 0 88px;
  position:relative;
  overflow:hidden;
}
.hero::after{ /* gold surveyor baseline */
  content:"";position:absolute;left:0;right:0;bottom:0;height:6px;
  background:repeating-linear-gradient(90deg, var(--gold) 0 48px, var(--ink) 48px 56px);
}
.hero h1{color:#fff;margin:10px 0 18px;max-width:15ch;}
.hero h1 .gold{color:var(--gold-2);}
.hero p.lead{max-width:56ch;font-size:1.08rem;color:#C9CDD6;margin-bottom:34px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;}
.btn{
  display:inline-block;font-family:var(--display);text-transform:uppercase;
  letter-spacing:.07em;font-weight:700;font-size:1.05rem;
  padding:14px 30px;border:2px solid var(--gold);transition:.2s;
}
.btn:hover{text-decoration:none;}
.btn-gold{background:var(--gold);color:var(--ink);}
.btn-gold:hover{background:var(--gold-2);border-color:var(--gold-2);}
.btn-ghost{color:#fff;}
.btn-ghost:hover{background:rgba(201,151,28,.15);}
.hero-cert{
  margin-top:44px;display:inline-flex;align-items:center;gap:12px;
  border:1px solid rgba(201,151,28,.5);padding:12px 18px;font-size:.85rem;color:#D8D4C8;
  background:rgba(16,21,31,.5);
}
.hero-cert strong{color:var(--gold-2);letter-spacing:.04em;}

/* ---------- Stats strip ---------- */
.stats{background:#fff;border-bottom:1px solid var(--line);}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:30px 18px;text-align:center;border-left:1px solid var(--line);}
.stat:first-child{border-left:none;}
.stat b{display:block;font-family:var(--display);font-size:2.3rem;font-weight:800;color:var(--navy);line-height:1;}
.stat span{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}

/* ---------- Sections ---------- */
.section{padding:84px 0;}
.section-alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section-head{max-width:640px;margin-bottom:46px;}
.section-head p{color:var(--muted);margin-top:12px;}

/* ---------- Cards ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.card{
  background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);
  padding:30px 26px;transition:.2s;
}
.card:hover{border-top-color:var(--gold);transform:translateY(-4px);box-shadow:0 14px 28px rgba(16,21,31,.08);}
.card .card-num{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--gold);letter-spacing:.1em;}
.card h3{margin:8px 0 10px;}
.card p{font-size:.95rem;color:var(--muted);}
.section-alt .card{background:var(--paper);}

/* ---------- Why us / checklist ---------- */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;}
.checklist{list-style:none;margin-top:20px;}
.checklist li{padding:10px 0 10px 38px;position:relative;border-bottom:1px dashed var(--line);}
.checklist li::before{
  content:"\2714";position:absolute;left:0;top:10px;
  width:24px;height:24px;background:var(--navy);color:var(--gold-2);
  font-size:.75rem;display:flex;align-items:center;justify-content:center;
}
.cert-panel{
  background:var(--navy);color:#D8D4C8;padding:40px 34px;
  border:1px solid var(--gold);position:relative;
}
.cert-panel::before{
  content:"";position:absolute;inset:8px;border:1px dashed rgba(201,151,28,.45);pointer-events:none;
}
.cert-panel h3{color:var(--gold-2);text-transform:uppercase;letter-spacing:.05em;}
.cert-panel .big-number{
  font-family:var(--display);font-size:clamp(1.3rem,3vw,1.9rem);font-weight:800;
  color:#fff;letter-spacing:.05em;margin:14px 0;word-break:break-all;
}
.cert-panel table{width:100%;border-collapse:collapse;font-size:.88rem;margin-top:10px;}
.cert-panel td{padding:7px 0;border-bottom:1px solid rgba(201,151,28,.25);vertical-align:top;}
.cert-panel td:first-child{color:#9AA1AE;width:46%;}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(100deg,var(--gold) 0 62%,var(--gold-2));
  padding:56px 0;
}
.cta-band-inner{display:flex;flex-wrap:wrap;align-items:center;gap:24px;justify-content:space-between;}
.cta-band h2{color:var(--ink);margin-bottom:6px;}
.cta-band p{color:#4A3A0E;font-weight:500;}
.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--ink);border-color:var(--ink);}

/* ---------- Page banner (inner pages) ---------- */
.page-banner{
  background:
    linear-gradient(100deg, rgba(16,21,31,.95), rgba(28,36,51,.85)),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(201,151,28,.12) 39px 40px),
    var(--navy);
  color:#fff;padding:64px 0 56px;border-bottom:4px solid var(--gold);
}
.page-banner h1{color:#fff;font-size:clamp(2.2rem,5vw,3.4rem);}
.page-banner .crumbs{font-size:.85rem;color:#AAB1BE;margin-top:10px;}
.page-banner .crumbs a{color:var(--gold-2);}

/* ---------- Legal pages ---------- */
.legal{max-width:860px;}
.legal h2{font-size:1.5rem;margin:44px 0 12px;text-transform:none;letter-spacing:0;}
.legal h2:first-of-type{margin-top:0;}
.legal p, .legal li{color:var(--text);font-size:.98rem;}
.legal ul{margin:10px 0 10px 22px;}
.legal .legal-meta{
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);
  padding:16px 20px;font-size:.9rem;color:var(--muted);margin-bottom:36px;
}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:44px;align-items:start;}
.info-block{background:#fff;border:1px solid var(--line);padding:26px;margin-bottom:18px;}
.info-block h3{margin-bottom:8px;}
.info-block p{font-size:.95rem;color:var(--muted);}
.contact-form{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);padding:34px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
label{display:block;font-weight:600;font-size:.85rem;margin:16px 0 6px;color:var(--navy);text-transform:uppercase;letter-spacing:.06em;}
input,textarea,select{
  width:100%;padding:12px 14px;border:1px solid var(--line);background:var(--paper);
  font-family:var(--body);font-size:.95rem;color:var(--text);
}
textarea{min-height:130px;resize:vertical;}
.form-msg{padding:14px 18px;margin-bottom:18px;font-size:.92rem;border-left:4px solid;}
.form-msg.ok{background:#EDF7EE;border-color:#2E7D32;color:#1B5E20;}
.form-msg.err{background:#FDEEEE;border-color:#C62828;color:#8E1B1B;}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#A8AEBB;font-size:.92rem;}
.footer-cert-strip{background:var(--navy);border-top:4px solid var(--gold);border-bottom:1px solid rgba(201,151,28,.3);}
.cert-strip-inner{display:flex;align-items:center;gap:18px;padding:20px 22px;color:#D8D4C8;}
.cert-strip-inner strong{color:#fff;font-family:var(--display);letter-spacing:.05em;text-transform:uppercase;font-size:1.05rem;}
.cert-strip-inner p{font-size:.86rem;margin-top:2px;}
.cert-number{color:var(--gold-2);font-weight:700;letter-spacing:.04em;}
.cert-badge{
  flex:0 0 auto;width:44px;height:44px;background:var(--gold);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:38px;padding:54px 22px 44px;}
.footer-logo{width:78px;background:#fff;padding:6px;margin-bottom:16px;}
.footer-tagline{color:var(--gold-2);font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;margin-top:12px;font-size:1.02rem;}
.footer-col h4{color:#fff;font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:1.02rem;margin-bottom:14px;}
.footer-h4-gap{margin-top:22px;}
.footer-col ul{list-style:none;}
.footer-col li{padding:5px 0;}
.footer-col a{color:#C7CBD4;}
.footer-col a:hover{color:var(--gold-2);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);}
.footer-bottom-inner{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding:18px 22px;font-size:.84rem;color:#7C828F;}
.footer-bottom a{color:var(--gold-2);font-weight:600;}

/* ---------- Responsive ---------- */
@media (max-width: 920px){
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .split,.contact-grid{grid-template-columns:1fr;}
  .stats-inner{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(3){border-left:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 680px){
  .grid-3,.grid-2,.form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .topbar-cert{margin-left:0;}

  /* Mobile nav */
  .nav-toggle-label{
    display:block;margin-left:auto;width:30px;height:22px;position:relative;cursor:pointer;
  }
  .nav-toggle-label span,
  .nav-toggle-label span::before,
  .nav-toggle-label span::after{
    content:"";position:absolute;left:0;width:100%;height:3px;background:var(--navy);transition:.2s;
  }
  .nav-toggle-label span{top:9px;}
  .nav-toggle-label span::before{top:-9px;}
  .nav-toggle-label span::after{top:9px;}
  .site-nav{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;align-items:stretch;gap:0;border-bottom:3px solid var(--gold);
    box-shadow:0 18px 30px rgba(16,21,31,.12);
  }
  .site-nav a{padding:15px 22px;border-bottom:1px solid var(--line);}
  .nav-cta{margin:14px 22px 18px;text-align:center;}
  .nav-toggle:checked ~ .site-nav{display:flex;}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none !important;animation:none !important;}
  html{scroll-behavior:auto;}
}
