/* ==========================================================================
   Blue Moon Spa — Paharganj, New Delhi
   Palette: midnight teal base · champagne gold accent · warm cream
   ========================================================================== */

:root{
  /* base */
  --ink:#0d1f26;
  --ink-2:#3c565f;
  --muted:#7b8f97;
  --cream:#faf7f2;
  --cream-2:#f2ece3;
  --line:#e6ddd1;
  --white:#ffffff;

  /* brand */
  --night:#0b2027;
  --night-2:#123540;
  --night-3:#1c4c5a;
  --gold:#c9a45c;
  --gold-2:#b08d47;
  --gold-soft:#f0e4cd;
  --sage:#7fa693;

  --radius:4px;
  --radius-lg:10px;
  --shadow-sm:0 1px 3px rgba(11,32,39,.07);
  --shadow:0 14px 40px rgba(11,32,39,.10);
  --shadow-lg:0 30px 80px rgba(11,32,39,.20);
  --max:1200px;

  --serif:"Cormorant Garamond","Georgia",serif;
  --sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);
  font-size:16px;line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--night-3);text-decoration:none;}
a:hover{color:var(--gold-2);}

h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0 0 .45em;letter-spacing:-.01em;}
h1{font-size:clamp(2.6rem,6vw,4.6rem);}
h2{font-size:clamp(2rem,4vw,3.1rem);}
h3{font-size:1.45rem;}
h4{font-size:1.15rem;}
p{margin:0 0 1.1em;}
ul,ol{margin:0 0 1.1em;padding-left:1.2em;}
li{margin-bottom:.45em;}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
/* keep the sticky masthead from covering jump-link targets */
[id]{scroll-margin-top:96px;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
.section{padding:100px 0;}
.section-sm{padding:64px 0;}
.bg-cream{background:var(--cream);}
.bg-cream-2{background:var(--cream-2);}
.bg-white{background:var(--white);}
.bg-night{background:var(--night);color:var(--cream);}
.bg-night h1,.bg-night h2,.bg-night h3{color:var(--white);}
.bg-night p{color:#b9cbd1;}
.center{text-align:center;}
.lead{font-size:1.12rem;color:var(--ink-2);max-width:60ch;line-height:1.8;}
.center .lead{margin-left:auto;margin-right:auto;}
.muted{color:var(--muted);}
.small{font-size:.875rem;}
.mb-0{margin-bottom:0;}
.gold{color:var(--gold-2);}

/* eyebrow / kicker */
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-2);margin-bottom:18px;
}
.kicker::before{content:"";width:34px;height:1px;background:var(--gold);}
.center .kicker::after{content:"";width:34px;height:1px;background:var(--gold);}
.bg-night .kicker{color:var(--gold);}

/* ------- Buttons ------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 34px;font-family:var(--sans);font-size:.78rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;border:1px solid transparent;
  border-radius:var(--radius);cursor:pointer;transition:.25s ease;white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn-gold{background:var(--gold);color:var(--night);border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-2);border-color:var(--gold-2);color:var(--night);}
.btn-night{background:var(--night);color:var(--cream);border-color:var(--night);}
.btn-night:hover{background:var(--night-2);color:#fff;}
.btn-outline{background:transparent;color:var(--night);border-color:rgba(13,31,38,.28);}
.btn-outline:hover{border-color:var(--night);color:var(--night);}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);}
.btn-outline-light:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff;}
.btn-wa{background:#25D366;color:#fff;border-color:#25D366;}
.btn-wa:hover{background:#1da851;border-color:#1da851;color:#fff;}
.btn-block{width:100%;}
.btn-sm{padding:11px 22px;font-size:.7rem;}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.center .btn-row{justify-content:center;}

/* text link with arrow */
.link-arrow{
  display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);
  border-bottom:1px solid rgba(201,164,92,.4);padding-bottom:4px;transition:.2s;
}
.link-arrow:hover{color:var(--night);border-color:var(--night);gap:14px;}

/* ------- Top bar ------- */
.topbar{background:var(--night);color:#9fb6bd;font-size:.76rem;letter-spacing:.06em;}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 28px;justify-content:space-between;align-items:center;padding-top:11px;padding-bottom:11px;}
.topbar a{color:#cfe0e5;}
.topbar a:hover{color:var(--gold);}

/* ------- Header ------- */
.site-header{position:sticky;top:0;z-index:70;background:rgba(250,247,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.site-header .wrap{position:relative;}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;}
.brand{display:flex;align-items:center;gap:13px;}
.brand:hover{color:inherit;}
.brand-mark{
  width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--night);color:var(--gold);font-family:var(--serif);font-size:1.35rem;
  border:1px solid var(--gold);
}
.brand-name{font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--night);letter-spacing:.01em;white-space:nowrap;}
.brand-sub{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2);margin-top:5px;}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0;}
.nav-links li{margin:0;}
.nav-links a{
  font-size:.78rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-2);padding-bottom:3px;border-bottom:1px solid transparent;
}
.nav-links a:hover,.nav-links a.active{color:var(--night);border-color:var(--gold);}
.nav-cta{display:flex;align-items:center;gap:12px;}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;}
.nav-toggle span{display:block;width:24px;height:1px;background:var(--night);margin:6px 0;transition:.2s;}

/* ------- Hero ------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;color:#fff;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(7,22,27,.92) 0%,rgba(9,29,35,.80) 45%,rgba(11,32,39,.45) 100%);
}
.hero .wrap{position:relative;z-index:2;padding-top:90px;padding-bottom:90px;}
.hero h1{color:#fff;margin-bottom:.3em;}
.hero h1 em{display:block;font-style:italic;color:var(--gold);}
.hero p{color:#c6d6da;font-size:1.15rem;max-width:50ch;line-height:1.85;}
.hero .kicker{color:var(--gold);}

.hero-meta{
  display:flex;flex-wrap:wrap;gap:0;margin-top:56px;
  border-top:1px solid rgba(255,255,255,.16);padding-top:26px;
}
.hero-meta div{padding-right:44px;margin-right:44px;border-right:1px solid rgba(255,255,255,.14);}
.hero-meta div:last-child{border-right:0;margin-right:0;padding-right:0;}
.hero-meta b{display:block;font-family:var(--serif);font-size:1.6rem;color:var(--gold);line-height:1.1;}
.hero-meta span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#9fb6bd;}

/* ------- Info strip ------- */
.strip{background:var(--night-2);color:#cfe0e5;}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);padding:0;max-width:none;}
.strip .cell{background:var(--night-2);padding:30px 34px;}
.strip .cell b{display:block;font-family:var(--serif);font-size:1.25rem;color:#fff;margin-bottom:2px;}
.strip .cell span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}

/* ------- Split feature ------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.split.reverse .split-media{order:2;}
.split-media{position:relative;}
.split-media img{width:100%;height:100%;min-height:440px;object-fit:cover;border-radius:var(--radius-lg);}
.split-media .badge{
  position:absolute;right:-22px;bottom:-22px;background:var(--night);color:var(--cream);
  padding:24px 30px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;
}
.split-media .badge b{display:block;font-family:var(--serif);font-size:2rem;color:var(--gold);line-height:1;}
.split-media .badge span{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#9fb6bd;}

/* ------- Grids & cards ------- */
.grid{display:grid;gap:28px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px 32px;transition:.3s;}
.card-hover:hover{box-shadow:var(--shadow);transform:translateY(-4px);border-color:var(--gold-soft);}
.card h3{margin-bottom:.35em;}
.card p:last-child{margin-bottom:0;}
.card-num{
  font-family:var(--serif);font-size:2.4rem;color:var(--gold-soft);line-height:1;
  display:block;margin-bottom:14px;
}
.bg-night .card{background:var(--night-2);border-color:rgba(255,255,255,.1);}
.bg-night .card-num{color:rgba(201,164,92,.4);}

/* service card with image */
.service-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;transition:.3s;display:flex;flex-direction:column;
}
.service-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
.service-card:hover .service-img img{transform:scale(1.06);}
.service-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--cream-2);}
.service-img img{width:100%;height:100%;object-fit:cover;transition:.7s ease;}
.service-img .no{
  position:absolute;top:14px;left:14px;background:rgba(11,32,39,.82);color:var(--gold);
  font-family:var(--serif);font-size:.9rem;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;backdrop-filter:blur(4px);
}
.service-body{padding:26px 26px 28px;flex:1;display:flex;flex-direction:column;}
.service-body h3{font-size:1.3rem;margin-bottom:.25em;}
.service-dur{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin-bottom:12px;}
.service-body p{font-size:.94rem;color:var(--ink-2);flex:1;}
.service-foot{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);}
.price{font-family:var(--serif);font-size:1.6rem;color:var(--night);line-height:1;}
.price small{font-family:var(--sans);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:3px;}

/* ------- Gallery ------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.gallery figure{margin:0;overflow:hidden;border-radius:var(--radius-lg);aspect-ratio:3/4;background:var(--cream-2);}
.gallery img{width:100%;height:100%;object-fit:cover;transition:.8s ease;}
.gallery figure:hover img{transform:scale(1.07);}
.gallery .tall{grid-row:span 2;aspect-ratio:3/8;}

/* ------- Rates table ------- */
.rates{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;}
.rates th,.rates td{padding:17px 22px;text-align:left;border-bottom:1px solid var(--line);}
.rates thead th{
  background:var(--night);color:var(--gold);font-family:var(--sans);font-weight:500;
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
}
.rates tbody tr:last-child td{border-bottom:0;}
.rates tbody tr:hover{background:var(--cream);}
.rates .rate-name{font-family:var(--serif);font-size:1.15rem;color:var(--night);}
.rates .rate-note{display:block;font-size:.8rem;color:var(--muted);margin-top:2px;}
.rates .rate-price{font-family:var(--serif);font-size:1.3rem;color:var(--gold-2);white-space:nowrap;}
.table-scroll{overflow-x:auto;}

/* ------- Testimonials ------- */
.quote-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 32px;}
.stars{color:var(--gold);letter-spacing:3px;font-size:.85rem;margin-bottom:14px;}
.quote-card blockquote{margin:0 0 18px;font-family:var(--serif);font-size:1.18rem;line-height:1.6;color:var(--ink);font-style:italic;}
.who{display:flex;align-items:center;gap:13px;padding-top:16px;border-top:1px solid var(--line);}
.avatar{
  width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--gold-soft);color:var(--gold-2);font-family:var(--serif);font-size:1.05rem;
}
.who b{font-weight:500;font-size:.95rem;}
.who span{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}

/* ------- FAQ ------- */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{
  cursor:pointer;padding:24px 0;list-style:none;display:flex;gap:24px;
  align-items:center;justify-content:space-between;
  font-family:var(--serif);font-size:1.25rem;color:var(--night);
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-family:var(--sans);font-size:1.5rem;font-weight:200;color:var(--gold);flex:none;transition:.25s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .answer{padding:0 60px 26px 0;color:var(--ink-2);}
.faq .answer p:last-child{margin-bottom:0;}

/* ------- Forms ------- */
.field{margin-bottom:20px;}
.field label{
  display:block;font-size:.68rem;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-2);margin-bottom:8px;
}
input[type=text],input[type=tel],input[type=email],input[type=date],input[type=time],select,textarea{
  width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);
  font-family:var(--sans);font-size:.97rem;font-weight:300;color:var(--ink);background:var(--white);transition:.2s;
}
input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(201,164,92,.16);}
textarea{min-height:130px;resize:vertical;}
select{
  appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8f97' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:20px;padding-right:42px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.check{display:flex;gap:11px;align-items:flex-start;font-size:.9rem;color:var(--ink-2);text-transform:none;letter-spacing:0;}
.check input{margin-top:5px;width:16px;height:16px;accent-color:var(--gold-2);flex:none;}
.form-note{font-size:.82rem;color:var(--muted);margin-top:14px;}
.form-status{margin-top:16px;padding:14px 16px;border-radius:var(--radius);font-size:.9rem;display:none;}
.form-status.ok{display:block;background:var(--gold-soft);color:var(--night);border:1px solid var(--gold);}
.form-status.err{display:block;background:#fdf2f2;color:#a33;border:1px solid #f0c9c9;}
.req{color:var(--gold-2);}

/* ------- Contact info list ------- */
.info-list{list-style:none;padding:0;margin:0;}
.info-list li{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);}
.info-list li:last-child{border-bottom:0;}
.info-list .ico{
  width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--gold-soft);color:var(--gold-2);font-size:1.05rem;
}
.info-list b{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:4px;}
.bg-night .info-list li{border-color:rgba(255,255,255,.12);}
.bg-night .info-list .ico{background:rgba(201,164,92,.16);color:var(--gold);}
.bg-night .info-list b{color:var(--gold);}

/* ------- Map ------- */
.map-wrap{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);min-height:420px;box-shadow:var(--shadow-sm);}
.map-frame{border:0;width:100%;height:100%;min-height:420px;display:block;}

/* ------- Page head ------- */
.page-head{position:relative;color:#fff;padding:120px 0 90px;overflow:hidden;}
.page-head .hero-bg::after{background:linear-gradient(180deg,rgba(7,22,27,.88),rgba(11,32,39,.78));}
.page-head .wrap{position:relative;z-index:2;}
.page-head h1{color:#fff;margin-bottom:.25em;}
.page-head p{color:#c6d6da;max-width:62ch;margin:0;font-size:1.08rem;}
.crumbs{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#8ba3ab;margin-bottom:20px;}
.crumbs a{color:var(--gold);}

/* ------- CTA band ------- */
.band{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:80px 60px;text-align:center;color:#fff;}
.band .hero-bg::after{background:linear-gradient(120deg,rgba(7,22,27,.93),rgba(28,76,90,.82));}
.band .wrap{position:relative;z-index:2;padding:0;}
.band h2{color:#fff;}
.band p{color:#c6d6da;max-width:56ch;margin-left:auto;margin-right:auto;}

/* ------- Prose (legal pages) ------- */
.prose{max-width:800px;margin:0 auto;}
.prose h2{font-size:1.75rem;margin-top:2em;}
.prose h3{font-size:1.25rem;margin-top:1.6em;}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.93rem;}
.prose th,.prose td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;}
.prose th{background:var(--cream-2);font-weight:500;}
.callout{background:var(--white);border-left:2px solid var(--gold);padding:22px 26px;border-radius:0 var(--radius-lg) var(--radius-lg) 0;margin:1.8em 0;box-shadow:var(--shadow-sm);}
.callout p:last-child{margin-bottom:0;}
.toc{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 30px;margin-bottom:2.4em;}
.toc ol{margin:0;padding-left:1.3em;columns:2;column-gap:36px;}
.toc li{font-size:.92rem;margin-bottom:.35em;}

/* ------- Footer ------- */
.site-footer{background:var(--night);color:#97aeb5;padding:84px 0 0;font-size:.93rem;font-weight:300;}
.site-footer h4{
  font-family:var(--sans);color:var(--gold);font-size:.7rem;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;margin-bottom:20px;
}
.site-footer a{color:#97aeb5;}
.site-footer a:hover{color:var(--gold);}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:44px;}
.footer-grid ul{list-style:none;padding:0;margin:0;}
.footer-grid li{margin-bottom:11px;}
.site-footer .brand-name{color:#fff;}
.site-footer .brand{margin-bottom:20px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);margin-top:60px;padding:24px 0;
  display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;font-size:.8rem;
}

/* ------- Floating WhatsApp ------- */
.fab{
  position:fixed;right:20px;bottom:20px;z-index:80;width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;font-size:1.5rem;
  box-shadow:0 12px 30px rgba(37,211,102,.4);transition:.25s;
}
.fab:hover{transform:scale(1.08);color:#fff;}

/* ------- Responsive ------- */
@media (max-width:1040px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .gallery .tall{grid-row:span 1;aspect-ratio:3/4;}
  .strip .wrap{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .section{padding:72px 0;}
  .split{grid-template-columns:1fr;gap:44px;}
  .split.reverse .split-media{order:0;}
  .split-media img{min-height:340px;}
  .split-media .badge{right:16px;bottom:-18px;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero{min-height:auto;}
}
@media (max-width:780px){
  .nav-toggle{display:block;}
  .nav-links{
    display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;
    align-items:stretch;gap:0;background:var(--cream);border-bottom:1px solid var(--line);
    padding:10px 24px 20px;box-shadow:var(--shadow);
  }
  .nav-links.open{display:flex;}
  .nav-links li{padding:13px 0;border-bottom:1px solid var(--line);}
  .nav-cta .btn-outline{display:none;}
}
@media (max-width:680px){
  /* rate card: stack each treatment into its own readable block */
  .table-scroll{overflow-x:visible;}
  .rates thead{display:none;}
  .rates,.rates tbody,.rates tr,.rates td{display:block;width:100%;}
  .rates{border-radius:var(--radius-lg);}
  .rates tr{
    display:grid;grid-template-columns:1fr auto;gap:4px 14px;
    padding:20px 22px;border-bottom:1px solid var(--line);
  }
  .rates tbody tr:last-child{border-bottom:0;}
  .rates td{border:0;padding:0;}
  .rates td:nth-child(1){grid-column:1 / -1;}
  .rates td:nth-child(2){grid-column:1;align-self:center;}
  .rates td:nth-child(3){grid-column:2;align-self:center;text-align:right;}
  .rates td:nth-child(4){grid-column:1 / -1;margin-top:10px;}
  .rates .rate-name{font-size:1.2rem;}
}
@media (max-width:560px){
  /* keep the masthead on one line on phones */
  .brand-mark{width:34px;height:34px;font-size:1.05rem;}
  .brand-name{font-size:1.18rem;}
  .brand-sub{font-size:.52rem;letter-spacing:.2em;margin-top:4px;white-space:nowrap;}
  .nav{gap:10px;}
  .nav-cta{gap:6px;}
  .nav-cta .btn{padding:10px 15px;font-size:.62rem;}
  .nav-toggle{padding:6px;}
  .topbar{font-size:.7rem;}
}
@media (max-width:640px){
  .section{padding:56px 0;}
  .grid-2,.grid-3,.grid-4,.form-row,.footer-grid,.strip .wrap{grid-template-columns:1fr;}
  .gallery{grid-template-columns:repeat(2,1fr);gap:10px;}
  .toc ol{columns:1;}
  .band{padding:48px 24px;}
  .page-head{padding:80px 0 60px;}
  .hero-meta div{padding-right:24px;margin-right:24px;}
  .hero-meta b{font-size:1.3rem;}
  .btn-row .btn{flex:1 1 100%;}
  .faq .answer{padding-right:0;}
  .faq summary{font-size:1.1rem;gap:16px;}
}
