/* ============================================================
   Regas Aircon — site styles
   Palette: deep ink navy + ice cyan accent + warm off-white
   Type:    Fraunces (display) / Inter (body)
   ============================================================ */

:root{
  --ink:        #0b1f2a;
  --ink-soft:   #15303e;
  --line:       #d9e2e7;
  --line-soft:  #ecf0f3;
  --paper:      #f6f4ef;
  --paper-2:    #efece4;
  --white:      #ffffff;
  --ice:        #6ad7e5;
  --ice-deep:   #1aa2b8;
  --warm:       #e6863a;
  --text:       #0b1f2a;
  --text-soft:  #4a5a64;
  --maxw:       1180px;
  --r:          14px;
  --r-sm:       8px;
  --shadow-sm:  0 1px 2px rgba(11,31,42,.06), 0 2px 6px rgba(11,31,42,.04);
  --shadow-md:  0 6px 24px rgba(11,31,42,.08), 0 2px 6px rgba(11,31,42,.05);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--paper);
  color:var(--text);
  font:400 17px/1.55 "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:var(--ink); text-decoration:none; }
a:hover{ color:var(--ice-deep); }

h1,h2,h3,h4{
  font-family:"Fraunces", Georgia, serif;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-0.01em;
  margin:0 0 .5em;
  color:var(--ink);
}
h1{ font-size:clamp(2.1rem, 4.8vw, 3.6rem); font-weight:600; letter-spacing:-0.02em; }
h2{ font-size:clamp(1.7rem, 3.4vw, 2.5rem); }
h3{ font-size:1.2rem; }
h4{ font-size:.95rem; letter-spacing:.04em; text-transform:uppercase; font-family:"Inter",sans-serif; font-weight:600; color:var(--ink); }

p{ margin:0 0 1em; color:var(--text-soft); }
ul{ margin:0 0 1em; padding-left:1.1em; }
ul li{ margin:.25em 0; color:var(--text-soft); }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }

.skip{ position:absolute; left:-9999px; }
.skip:focus{ left:1rem; top:1rem; background:var(--ink); color:#fff; padding:.5rem 1rem; z-index:99; }

.eyebrow{
  font:600 .78rem/1 "Inter",sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ice-deep);
  margin:0 0 1rem;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;
  background:var(--ink);
  color:#fff !important;
  padding:.85em 1.4em;
  border-radius:var(--r-sm);
  font:600 .98rem/1 "Inter",sans-serif;
  letter-spacing:.01em;
  border:1px solid var(--ink);
  transition:transform .15s ease, background .2s ease;
  white-space:nowrap;
}
.btn:hover{ background:var(--ink-soft); transform:translateY(-1px); }
.btn--lg{ padding:1.05em 1.8em; font-size:1.05rem; }
.btn--sm{ padding:.6em 1em; font-size:.92rem; }
.btn--ghost{
  background:transparent;
  color:var(--ink) !important;
  border:1px solid var(--ink);
}
.btn--ghost:hover{ background:var(--ink); color:#fff !important; }
.btn--accent{
  background:var(--ice-deep);
  border-color:var(--ice-deep);
}
.btn--accent:hover{ background:#13899b; }

/* ---------- Utility bar ---------- */
.utility{
  background:var(--ink);
  color:#cfd6db;
  font-size:.86rem;
  border-bottom:1px solid #08171f;
}
.utility__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:.5rem 24px;
}
.utility__tag{ letter-spacing:.01em; }
.utility__phone{
  color:#fff !important;
  font-weight:600;
  letter-spacing:.01em;
}
.utility__phone:hover{ color:var(--ice) !important; }
@media (max-width: 640px){
  .utility__tag{ display:none; }
  .utility__inner{ justify-content:center; }
}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(246,244,239,.92);
  backdrop-filter:saturate(150%) blur(8px);
  border-bottom:1px solid var(--line);
}
.site-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:.95rem 24px;
}
.brand{ display:flex; align-items:center; gap:.6rem; }
.brand__mark{
  display:inline-grid; place-items:center;
  width:34px; height:34px;
  background:var(--ink); color:#fff;
  font:700 .8rem/1 "Inter",sans-serif;
  border-radius:6px;
  letter-spacing:.04em;
}
.brand__name{
  font:600 1.05rem/1 "Fraunces",serif;
  color:var(--ink);
  letter-spacing:-0.01em;
}
.nav{ display:flex; align-items:center; gap:1.4rem; }
.nav a{
  font:500 .96rem/1 "Inter",sans-serif;
  color:var(--ink);
  padding:.4em 0;
  border-bottom:2px solid transparent;
}
.nav a.is-active{ border-bottom-color:var(--ice-deep); }
.nav a:hover{ color:var(--ice-deep); }
.nav a.btn{ border-bottom:0; color:#fff; }

/* Mobile nav */
.navtoggle{ display:none; }
.navtoggle__btn{
  display:none;
  width:40px; height:40px;
  position:relative; cursor:pointer;
}
.navtoggle__btn span{
  position:absolute; left:8px; right:8px; height:2px;
  background:var(--ink); border-radius:2px;
  transition:transform .25s ease, opacity .2s ease, top .25s ease;
}
.navtoggle__btn span:nth-child(1){ top:14px; }
.navtoggle__btn span:nth-child(2){ top:19px; }
.navtoggle__btn span:nth-child(3){ top:24px; }
@media (max-width: 840px){
  .navtoggle__btn{ display:block; }
  .nav{
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch;
    background:var(--paper); border-bottom:1px solid var(--line);
    gap:0; padding:.5rem 0;
    max-height:0; overflow:hidden;
    transition:max-height .25s ease;
  }
  .nav a{
    padding:.95em 24px;
    border-bottom:1px solid var(--line-soft);
  }
  .nav a.btn{
    margin:.5rem 24px;
    text-align:center;
    border-bottom:1px solid var(--ink);
  }
  .navtoggle:checked ~ .nav{ max-height:520px; }
  .navtoggle:checked ~ .navtoggle__btn span:nth-child(1){ top:19px; transform:rotate(45deg); }
  .navtoggle:checked ~ .navtoggle__btn span:nth-child(2){ opacity:0; }
  .navtoggle:checked ~ .navtoggle__btn span:nth-child(3){ top:19px; transform:rotate(-45deg); }
}

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(106,215,229,.22), transparent 60%),
    radial-gradient(700px 400px at 0% 110%, rgba(26,162,184,.10), transparent 60%),
    var(--paper);
  border-bottom:1px solid var(--line);
  position:relative;
  overflow:hidden;
}
.hero__inner{
  padding:5rem 24px 4.5rem;
  display:grid; grid-template-columns:1.2fr .8fr; gap:3rem; align-items:center;
}
.hero h1 em{
  font-style:italic; color:var(--ice-deep);
  font-weight:500;
}
.hero__lede{
  font-size:1.12rem; max-width:34em;
  color:var(--text-soft);
}
.hero__ctas{
  display:flex; flex-wrap:wrap; gap:.8rem; align-items:center;
  margin-top:1.5rem;
}
.hero__hint{
  margin-top:1.3rem; font-size:.9rem;
  color:var(--text-soft);
  display:inline-flex; align-items:center; gap:.5rem;
}
.hero__hint::before{
  content:""; width:.45rem; height:.45rem; border-radius:50%;
  background:var(--ice-deep);
  box-shadow:0 0 0 4px rgba(26,162,184,.18);
}
.hero__visual{
  position:relative;
  aspect-ratio:1/1;
  background:var(--ink);
  color:#fff;
  border-radius:var(--r);
  overflow:hidden;
  box-shadow:var(--shadow-md);
}
.hero__visual svg{ width:100%; height:100%; display:block; }
.hero__badge{
  position:absolute; bottom:1rem; left:1rem; right:1rem;
  background:rgba(11,31,42,.65); backdrop-filter:blur(6px);
  padding:.7rem 1rem; border-radius:var(--r-sm);
  font:600 .78rem/1.2 "Inter",sans-serif; letter-spacing:.08em;
  text-transform:uppercase;
  display:flex; justify-content:space-between; gap:1rem;
}
.hero__badge span:last-child{ opacity:.7; }
@media (max-width: 840px){
  .hero__inner{ grid-template-columns:1fr; gap:2rem; padding:3rem 24px 3rem; }
  .hero__visual{ max-width:420px; margin:0 auto; }
}

/* ---------- Stats strip ---------- */
.stats{
  background:var(--ink);
  color:#fff;
}
.stats__inner{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0;
  padding:0;
}
.stat{
  padding:2rem 1.5rem;
  border-right:1px solid #1a3543;
}
.stat:last-child{ border-right:0; }
.stat__num{
  font:600 1.8rem/1 "Fraunces",serif;
  letter-spacing:-0.01em;
  color:#fff;
  margin-bottom:.35rem;
}
.stat__lbl{
  font-size:.86rem;
  color:#9ab0bc;
  letter-spacing:.02em;
}
@media (max-width: 720px){
  .stats__inner{ grid-template-columns:repeat(2,1fr); }
  .stat{ border-bottom:1px solid #1a3543; }
  .stat:nth-child(2n){ border-right:0; }
  .stat:nth-last-child(-n+2){ border-bottom:0; }
}

/* ---------- Sections ---------- */
section.section{
  padding:5rem 0;
  border-bottom:1px solid var(--line-soft);
}
section.section--soft{ background:var(--paper-2); }
section.section--dark{ background:var(--ink); color:#fff; }
section.section--dark h2,
section.section--dark h3,
section.section--dark h4{ color:#fff; }
section.section--dark p{ color:#b8c5cc; }
section.section--dark .eyebrow{ color:var(--ice); }

.section__head{ max-width:42em; margin-bottom:3rem; }
.section__head h2{ margin-bottom:.4em; }
.section__head p{ font-size:1.06rem; }

/* ---------- Two-column audience split ---------- */
.split{
  display:grid; grid-template-columns:1fr 1fr; gap:1.5rem;
}
@media (max-width: 840px){ .split{ grid-template-columns:1fr; } }
.split__card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:2rem 2rem 2.2rem;
  display:flex; flex-direction:column;
}
.split__card .eyebrow{ color:var(--ice-deep); }
.split__card h3{
  font-family:"Fraunces",serif;
  font-size:1.55rem; font-weight:600;
  margin-bottom:.6em;
  text-transform:none; letter-spacing:-.01em;
}
.split__card ul{ list-style:none; padding:0; margin:1rem 0 1.5rem; }
.split__card ul li{
  position:relative; padding-left:1.5em; margin:.55em 0;
  color:var(--text);
  font-size:.96rem;
}
.split__card ul li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:.8em; height:.8em; border-radius:50%;
  background:var(--ice); border:2px solid var(--ice-deep);
}
.split__card a.more{
  margin-top:auto;
  font-weight:600;
  color:var(--ice-deep);
  display:inline-flex; align-items:center; gap:.4rem;
}
.split__card a.more:hover{ gap:.7rem; }

/* ---------- Trigger cards ---------- */
.triggers{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem;
}
@media (max-width: 880px){ .triggers{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 540px){ .triggers{ grid-template-columns:1fr; } }
.trigger{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  padding:1.6rem 1.4rem;
}
.trigger h3{
  font-family:"Fraunces",serif;
  font-size:1.2rem; font-weight:600;
  text-transform:none; letter-spacing:-.01em;
  margin-bottom:.5em;
  color:var(--ink);
}
.trigger p{ margin:0; font-size:.95rem; }

/* ---------- Steps ---------- */
.steps{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem;
  counter-reset:steps;
}
@media (max-width: 880px){ .steps{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 540px){ .steps{ grid-template-columns:1fr; } }
.step{
  position:relative;
  padding-top:3rem;
}
.step__n{
  position:absolute; top:0; left:0;
  font:600 2.4rem/1 "Fraunces",serif;
  color:var(--ice-deep);
  letter-spacing:-.02em;
}
.step h3{
  font-family:"Fraunces",serif;
  font-size:1.2rem; font-weight:600;
  text-transform:none; letter-spacing:-.01em;
  margin-bottom:.4em;
  color:var(--ink);
}
.step p{ font-size:.95rem; margin:0; }

/* ---------- Service grid ---------- */
.svc-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
}
@media (max-width: 880px){ .svc-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 540px){ .svc-grid{ grid-template-columns:1fr; } }
.svc{
  display:block;
  padding:1.4rem 1.4rem 1.5rem;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  transition:border-color .15s ease, transform .15s ease;
}
.svc:hover{ border-color:var(--ice-deep); transform:translateY(-2px); }
.svc__name{
  font:600 1.05rem/1.2 "Fraunces",serif;
  color:var(--ink);
  margin-bottom:.3em;
  letter-spacing:-.01em;
}
.svc__sub{
  font-size:.86rem; color:var(--text-soft);
}

/* ---------- Compare ---------- */
.compare{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
@media (max-width: 840px){ .compare{ grid-template-columns:1fr; } }
.compare__col{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:1.8rem 1.8rem 2rem;
}
.compare__col--win{
  border-color:var(--ice-deep);
  box-shadow:0 0 0 1px var(--ice-deep) inset, var(--shadow-md);
}
.compare__col h3{
  font-family:"Fraunces",serif;
  font-size:1.3rem; font-weight:600;
  text-transform:none; letter-spacing:-.01em;
  margin-bottom:1em;
}
.compare__col ul{ list-style:none; padding:0; margin:0; }
.compare__col ul li{
  position:relative; padding-left:1.6em; margin:.6em 0;
  color:var(--text);
  font-size:.96rem;
}
.compare__col ul li::before{
  content:"—"; position:absolute; left:0; color:var(--text-soft);
}
.compare__col--win ul li::before{
  content:"✓"; color:var(--ice-deep); font-weight:700;
}

/* ---------- Areas / coverage ---------- */
.areas{ display:grid; grid-template-columns:1.1fr .9fr; gap:2.5rem; align-items:start; }
@media (max-width: 880px){ .areas{ grid-template-columns:1fr; } }
.areas__map{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:1.5rem;
  aspect-ratio:1/1;
  display:grid; place-items:center;
}
.areas__map svg{ width:100%; height:100%; }
.areas__lists{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 2rem; }
@media (max-width: 540px){ .areas__lists{ grid-template-columns:1fr; } }
.areas__lists h4{
  font-family:"Fraunces",serif;
  font-size:1rem; font-weight:600;
  text-transform:none; letter-spacing:-.01em;
  margin-bottom:.3em;
  color:var(--ink);
}
.areas__lists p{ font-size:.92rem; margin-bottom:0; }
.areas__note{ margin-top:1.5rem; font-size:.95rem; }

/* ---------- Testimonials ---------- */
.tests{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
@media (max-width: 880px){ .tests{ grid-template-columns:1fr; } }
.test{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  padding:1.6rem;
}
.test__stars{
  color:var(--warm);
  letter-spacing:.15em;
  margin-bottom:.8rem;
  font-size:.95rem;
}
.test p{ color:var(--text); font-size:.98rem; margin:0 0 1rem; }
.test__who{
  font-size:.86rem; color:var(--text-soft);
}
.test__who strong{ color:var(--ink); font-weight:600; }

/* ---------- FAQs ---------- */
.faqs details{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  padding:1.1rem 1.4rem;
  margin-bottom:.6rem;
}
.faqs details[open]{ border-color:var(--ice-deep); }
.faqs summary{
  font:600 1.02rem/1.4 "Inter",sans-serif;
  color:var(--ink);
  cursor:pointer;
  list-style:none;
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
}
.faqs summary::-webkit-details-marker{ display:none; }
.faqs summary::after{
  content:"+"; font-weight:400; font-size:1.4rem;
  color:var(--ice-deep);
  transition:transform .2s ease;
}
.faqs details[open] summary::after{ transform:rotate(45deg); }
.faqs details p{
  margin:.8rem 0 0;
  font-size:.97rem;
  color:var(--text-soft);
}

/* ---------- CTA band ---------- */
.cta{
  background:var(--ink);
  color:#fff;
  padding:5rem 0;
  text-align:center;
  background-image:
    radial-gradient(700px 400px at 50% -10%, rgba(106,215,229,.18), transparent 60%);
}
.cta__title{ color:#fff; max-width:18em; margin-left:auto; margin-right:auto; }
.cta__body{ color:#b8c5cc; max-width:38em; margin:0 auto 2rem; font-size:1.06rem; }
.cta .eyebrow{ color:var(--ice); }
.cta .btn{
  background:var(--ice-deep);
  border-color:var(--ice-deep);
}
.cta .btn:hover{ background:#13899b; }

/* ---------- Footer ---------- */
.site-footer{
  background:#06151c;
  color:#9ab0bc;
  padding:4rem 0 0;
}
.site-footer__grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2.5rem;
  padding-bottom:3rem;
}
@media (max-width: 880px){ .site-footer__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width: 540px){ .site-footer__grid{ grid-template-columns:1fr; } }
.site-footer h4{
  color:#fff;
  font-family:"Inter",sans-serif;
  font-size:.78rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  margin-bottom:1rem;
}
.foot-cred{ margin-top:1.6rem; }
.site-footer p{ color:#9ab0bc; font-size:.93rem; }
.brand--foot .brand__name{ color:#fff; }
.foot-contact a{ color:#cfd6db; }
.foot-contact a:hover{ color:var(--ice); }
.foot-list{ list-style:none; padding:0; margin:0; }
.foot-list li{ margin:.35em 0; }
.foot-list a{ color:#9ab0bc; font-size:.93rem; }
.foot-list a:hover{ color:#fff; }
.foot-list--plain li{ color:#9ab0bc; font-size:.92rem; }
.foot-coverage{ font-size:.93rem; }
.site-footer__bar{
  border-top:1px solid #122832;
  padding:1.5rem 24px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem;
  font-size:.86rem;
}
.site-footer__bar p{ margin:0; }
@media (max-width: 540px){ .site-footer__bar{ flex-direction:column; } }

/* ---------- Page intro (sub-pages) ---------- */
.page-intro{
  padding:4rem 0 3rem;
  background:
    radial-gradient(700px 400px at 90% -10%, rgba(106,215,229,.18), transparent 60%),
    var(--paper);
  border-bottom:1px solid var(--line);
}
.page-intro .eyebrow{ margin-bottom:.8rem; }
.page-intro h1{ max-width:18em; margin-bottom:.4em; }
.page-intro p{ font-size:1.1rem; max-width:42em; }

/* ---------- Services list (services page) ---------- */
.services-list{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r);
  overflow:hidden;
}
.svc-row{
  display:grid; grid-template-columns:1.2fr 2.4fr;
  gap:2rem;
  padding:1.4rem 1.8rem;
  border-bottom:1px solid var(--line-soft);
  align-items:baseline;
}
.svc-row:last-child{ border-bottom:0; }
.svc-row:hover{ background:var(--paper-2); }
.svc-row__name{
  font-family:"Fraunces",serif;
  font-size:1.15rem; font-weight:600;
  color:var(--ink);
  letter-spacing:-.01em;
}
.svc-row__desc{
  font-size:.96rem; color:var(--text-soft); line-height:1.55;
}
@media (max-width: 720px){
  .svc-row{ grid-template-columns:1fr; gap:.4rem; padding:1.3rem 1.4rem; }
}

/* ---------- Contact (phone-first) ---------- */
.contact-call{
  display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; align-items:start;
}
@media (max-width: 880px){ .contact-call{ grid-template-columns:1fr; } }

.contact-call__primary{
  background:var(--ink);
  color:#fff;
  border-radius:var(--r);
  padding:3rem 2.5rem;
  text-align:center;
  background-image:
    radial-gradient(500px 300px at 50% -10%, rgba(106,215,229,.20), transparent 60%);
}
.contact-call__primary .eyebrow{ color:var(--ice); }
.contact-call__number{
  display:block;
  font:600 clamp(2.2rem, 5.5vw, 3.6rem)/1 "Fraunces",serif;
  letter-spacing:-.02em;
  color:#fff !important;
  margin:.5rem 0 1.5rem;
}
.contact-call__number:hover{ color:var(--ice) !important; }
.contact-call__hours{
  color:#b8c5cc !important;
  font-size:.96rem;
  margin-bottom:2rem;
  line-height:1.7;
}
.contact-call__primary .btn{
  background:var(--ice-deep);
  border-color:var(--ice-deep);
}
.contact-call__primary .btn:hover{ background:#13899b; }

.contact-call__aside h3{
  font-family:"Fraunces",serif;
  font-size:1.3rem; font-weight:600;
  text-transform:none; letter-spacing:-.01em;
  margin-bottom:.6em;
}
.contact-call__list{
  list-style:none; padding:0; margin:1rem 0 0;
}
.contact-call__list li{
  position:relative; padding-left:1.5em; margin:.6em 0;
  color:var(--text); font-size:.97rem;
}
.contact-call__list li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:.55em; height:.55em; border-radius:50%;
  background:var(--ice-deep);
}
.contact-call__list strong{ color:var(--ink); font-weight:600; }

.contact-call__dl{ margin:0; }
.contact-call__dl dt{
  font:600 .78rem/1 "Inter",sans-serif;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-soft);
  margin-top:1.4rem; margin-bottom:.4rem;
}
.contact-call__dl dd{
  margin:0;
  font-size:1.02rem;
  color:var(--ink);
}
.contact-call__dl dd a{ color:var(--ink); border-bottom:1px solid var(--ice-deep); }
