/* =====================================================
   Residence Decorating — Dark Theme (Inner Pages)
   Matches the cinematic dark aesthetic of index.html
   ===================================================== */

:root {
  --navy: #0B2545;
  --amber: #F59E0B;
  --amber-dark: #d97706;
  --amber-light: #fbbf24;
  --bg: #0a0a0a;
  --bg2: #0d0d0d;
  --bg3: #111111;
  --border: rgba(255,255,255,0.07);
  --text: rgba(255,255,255,0.9);
  --text-muted: rgba(255,255,255,0.5);
  --text-dim: rgba(255,255,255,0.3);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }

body {
  font-family:'DM Sans',sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  min-height: 100vh;
}

/* Noise grain overlay */
body::before {
  content:'';
  position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none; z-index:0; opacity:0.3;
}

/* ── NAV ── */
#mobile-nav {
  display:none; position:fixed; inset:0;
  background:rgba(5,5,5,0.98); z-index:200;
  flex-direction:column; align-items:center; justify-content:center; gap:2rem;
}
#mobile-nav.open { display:flex; }
#mobile-nav a {
  font-family:'Bebas Neue',sans-serif; font-size:2.5rem;
  letter-spacing:0.1em; color:rgba(255,255,255,0.7);
  text-decoration:none; transition:color 0.3s;
}
#mobile-nav a:hover { color:var(--amber); }

#main-nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:1.4rem 3rem;
  display:flex; justify-content:space-between; align-items:center;
  background:linear-gradient(to bottom,rgba(10,10,10,0.98),transparent);
  transition:background 0.4s, border-color 0.4s;
}
#main-nav.scrolled {
  background:rgba(10,10,10,0.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}

.nav-logo {
  font-family:'Bebas Neue',sans-serif;
  font-size:1.5rem; letter-spacing:0.12em;
  color:white; text-decoration:none;
  display:flex; align-items:center; gap:10px;
}
.nav-logo i { color:var(--amber); font-size:1.1rem; }
.nav-logo span { color:var(--amber); }

.nav-links { display:flex; align-items:center; gap:1.5rem; }
.nav-links a {
  font-size:0.76rem; letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(255,255,255,0.6); text-decoration:none;
  transition:color 0.3s; position:relative; padding:4px 0;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:0; height:1px; background:var(--amber); transition:width 0.3s;
}
.nav-links a:hover, .nav-links a.active { color:white; }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }

.nav-cta {
  background:var(--amber) !important; color:#000 !important;
  padding:9px 20px !important; border-radius:4px !important;
  font-weight:700 !important;
}
.nav-cta:hover { background:var(--amber-light) !important; }
.nav-cta::after { display:none !important; }

#mobile-menu-btn {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; z-index:300;
}
#mobile-menu-btn span {
  width:24px; height:2px; background:white;
  border-radius:2px; transition:all 0.3s;
}

/* ── PAGE INNER HERO ── */
.page-hero-inner {
  position:relative; min-height:380px;
  display:flex; align-items:flex-end;
  overflow:hidden;
  padding-bottom:4rem;
}
.phi-bg {
  position:absolute; inset:0;
  background:linear-gradient(135deg, #0B2545 0%, #071830 50%, #0a0a0a 100%);
}
.phi-bg::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 70% 50%, rgba(245,158,11,0.12) 0%, transparent 60%);
}
.phi-bg::after {
  content:'';
  position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(to right, transparent, rgba(245,158,11,0.4), transparent);
}
.phi-content {
  position:relative; z-index:2;
  padding:0 5rem; padding-top:7rem;
}
.phi-breadcrumb {
  display:flex; align-items:center; gap:10px;
  font-size:0.72rem; letter-spacing:0.15em; text-transform:uppercase;
  color:rgba(255,255,255,0.35); margin-bottom:1.2rem;
}
.phi-breadcrumb a { color:rgba(255,255,255,0.35); text-decoration:none; transition:color 0.3s; }
.phi-breadcrumb a:hover { color:var(--amber); }
.phi-breadcrumb span:last-child { color:var(--amber); }
.phi-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(3rem,7vw,6rem);
  line-height:0.95; letter-spacing:0.03em;
  color:white; margin-bottom:1rem;
}
.phi-sub {
  font-size:1rem; color:rgba(255,255,255,0.55);
  max-width:500px; line-height:1.7; font-weight:300;
}

/* ── SECTION LABELS & HEADINGS ── */
.section-label {
  font-size:0.65rem; letter-spacing:0.45em; text-transform:uppercase;
  color:var(--amber); display:flex; align-items:center; gap:12px;
  margin-bottom:1.2rem;
}
.section-label::before { content:''; width:28px; height:1px; background:var(--amber); }

.section-h2 {
  font-family:'DM Serif Display',serif;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.1; color:white; margin-bottom:1rem;
}
.section-h2 em { color:var(--amber); font-style:italic; }

.section-p { font-size:0.9rem; color:var(--text-muted); line-height:1.8; max-width:560px; }

/* ── INNER PAGE SECTIONS ── */
.inner-section {
  position:relative; z-index:1;
  padding:6rem 5rem;
}
.inner-section.alt { background:var(--bg2); }
.inner-section.navy { background:var(--navy); }
.inner-section.darker { background:#080808; }

/* ── CARDS ── */
.dark-card {
  background:rgba(255,255,255,0.02);
  border:1px solid var(--border);
  border-radius:8px; padding:2rem;
  transition:all 0.3s;
}
.dark-card:hover {
  border-color:rgba(245,158,11,0.3);
  background:rgba(245,158,11,0.03);
  transform:translateY(-4px);
}

/* ── FORMS ── */
.dark-form {
  background:rgba(255,255,255,0.02);
  border:1px solid var(--border);
  border-radius:12px; padding:3rem;
}
.dark-form h3 {
  font-family:'Bebas Neue',sans-serif;
  font-size:1.4rem; letter-spacing:0.08em;
  color:var(--amber); margin-bottom:1.5rem;
  display:flex; align-items:center; gap:10px;
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-bottom:1.2rem; }
.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:1.2rem; }
.form-group label {
  font-size:0.72rem; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--text-muted); font-weight:500;
}
.form-group input,
.form-group select,
.form-group textarea {
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:6px; padding:12px 16px;
  color:white; font-family:'DM Sans',sans-serif;
  font-size:0.9rem; transition:border-color 0.3s;
  appearance:none; -webkit-appearance:none;
}
.form-group input::placeholder,
.form-group textarea::placeholder { color:rgba(255,255,255,0.25); }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline:none; border-color:var(--amber);
  background:rgba(245,158,11,0.04);
}
.form-group select option { background:#1a1a1a; color:white; }
.form-group textarea { resize:vertical; min-height:130px; }
.form-group small { font-size:0.72rem; color:var(--text-dim); }

.checkbox-row {
  display:flex; align-items:center; gap:10px;
  margin-bottom:10px;
}
.checkbox-row input[type=checkbox] {
  width:18px; height:18px; accent-color:var(--amber);
  cursor:pointer; flex-shrink:0;
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.2);
  padding:0;
}
.checkbox-row label { font-size:0.85rem; color:var(--text-muted); cursor:pointer; }

/* ── BUTTONS ── */
.btn-amber {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--amber); color:#000;
  padding:14px 32px; border-radius:4px;
  font-weight:700; font-size:0.85rem;
  letter-spacing:0.08em; text-transform:uppercase;
  border:none; cursor:pointer; transition:all 0.3s;
  text-decoration:none; font-family:'DM Sans',sans-serif;
}
.btn-amber:hover { background:var(--amber-light); transform:translateY(-2px); }
.btn-amber.full { width:100%; justify-content:center; }

.btn-ghost {
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid rgba(255,255,255,0.2); color:white;
  padding:14px 32px; border-radius:4px;
  font-size:0.85rem; letter-spacing:0.08em; text-transform:uppercase;
  background:transparent; cursor:pointer; transition:all 0.3s;
  text-decoration:none; font-family:'DM Sans',sans-serif;
}
.btn-ghost:hover { border-color:var(--amber); color:var(--amber); transform:translateY(-2px); }

/* ── SERVICES GRID ── */
.svc-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5px; background:var(--border);
}
.svc-card {
  background:var(--bg2); padding:2.5rem 2rem;
  position:relative; overflow:hidden; transition:background 0.3s;
}
.svc-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(245,158,11,0.07) 0%,transparent 60%);
  opacity:0; transition:opacity 0.3s;
}
.svc-card:hover { background:#121212; }
.svc-card:hover::before { opacity:1; }
.svc-card:hover .svc-card-num { color:var(--amber); }
.svc-card:hover .svc-card-arrow { opacity:1; transform:translateX(0); }
.svc-card-num {
  font-family:'Bebas Neue',sans-serif; font-size:3.5rem;
  color:rgba(255,255,255,0.05); line-height:1;
  margin-bottom:1.2rem; transition:color 0.3s;
}
.svc-card-icon { font-size:1.6rem; color:var(--amber); margin-bottom:1rem; }
.svc-card-title { font-size:1.1rem; font-weight:600; color:white; margin-bottom:0.6rem; }
.svc-card-desc { font-size:0.82rem; color:var(--text-muted); line-height:1.8; margin-bottom:1rem; }
.svc-card-features { list-style:none; margin-bottom:1.2rem; }
.svc-card-features li {
  font-size:0.78rem; color:var(--text-muted);
  display:flex; align-items:center; gap:8px; margin-bottom:6px;
}
.svc-card-features li i { color:var(--amber); font-size:0.7rem; }
.svc-card-price { font-size:0.72rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--amber); font-weight:600; }
.svc-card-select { margin-top:1.2rem; }
.svc-card-arrow {
  position:absolute; bottom:1.5rem; right:1.5rem;
  font-size:1rem; color:var(--amber);
  opacity:0; transform:translateX(-8px); transition:all 0.3s;
}

/* ── CONTACT GRID ── */
.contact-info-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
  margin-bottom:4rem;
}
.contact-info-card {
  background:rgba(255,255,255,0.02);
  border:1px solid var(--border); border-radius:8px;
  padding:2rem; text-align:center; transition:all 0.3s;
}
.contact-info-card:hover { border-color:rgba(245,158,11,0.3); transform:translateY(-4px); }
.contact-info-icon {
  width:56px; height:56px; border-radius:50%;
  background:rgba(245,158,11,0.1);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:var(--amber);
  margin:0 auto 1.2rem;
}
.contact-info-card h3 { font-size:1rem; font-weight:600; color:white; margin-bottom:0.6rem; }
.contact-info-card p { font-size:0.85rem; color:var(--text-muted); line-height:1.7; }
.contact-info-card a { color:rgba(255,255,255,0.8); text-decoration:none; transition:color 0.3s; }
.contact-info-card a:hover { color:var(--amber); }

/* ── MAP ── */
.map-wrap {
  border-radius:8px; overflow:hidden;
  border:1px solid var(--border);
}
.map-wrap iframe { display:block; width:100%; height:420px; border:0; filter:grayscale(0.3) brightness(0.85); }

/* ── BLOG CARDS ── */
.blog-grid-dark {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}
.blog-card-dark {
  background:rgba(255,255,255,0.02);
  border:1px solid var(--border); border-radius:8px;
  overflow:hidden; transition:all 0.3s; text-decoration:none;
  display:flex; flex-direction:column;
}
.blog-card-dark:hover { border-color:rgba(245,158,11,0.3); transform:translateY(-5px); }
.blog-card-img {
  height:180px; background:var(--navy);
  display:flex; align-items:center; justify-content:center;
  font-size:3rem; color:rgba(245,158,11,0.25);
  position:relative; overflow:hidden;
}
.blog-card-img::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(11,37,69,0.8) 0%, rgba(245,158,11,0.1) 100%);
}
.blog-card-img i { position:relative; z-index:1; }
.blog-card-body { padding:1.5rem; flex:1; display:flex; flex-direction:column; }
.blog-card-meta {
  display:flex; gap:14px; margin-bottom:0.8rem;
  font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-dim);
}
.blog-card-title { font-size:1rem; font-weight:600; color:white; line-height:1.5; margin-bottom:0.75rem; flex:1; }
.blog-card-desc { font-size:0.82rem; color:var(--text-muted); line-height:1.7; margin-bottom:1.2rem; }
.blog-card-link {
  font-size:0.72rem; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--amber); display:flex; align-items:center; gap:8px;
  transition:gap 0.3s;
}
.blog-card-dark:hover .blog-card-link { gap:14px; }

/* ── TESTIMONIALS ── */
.testi-grid-dark { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.testi-card-dark {
  border:1px solid var(--border); border-radius:8px;
  padding:2rem; background:rgba(255,255,255,0.02);
  transition:all 0.3s; position:relative;
}
.testi-card-dark::before {
  content:'"'; font-family:'DM Serif Display',serif;
  font-size:5rem; color:rgba(245,158,11,0.1);
  position:absolute; top:-0.5rem; left:1.2rem; line-height:1;
}
.testi-card-dark:hover { border-color:rgba(245,158,11,0.25); transform:translateY(-4px); }
.testi-stars { color:var(--amber); letter-spacing:2px; margin-bottom:0.8rem; font-size:0.85rem; }
.testi-text { font-size:0.88rem; color:var(--text-muted); line-height:1.8; margin-bottom:1.2rem; font-style:italic; }
.testi-author { display:flex; align-items:center; gap:12px; }
.testi-avatar {
  width:40px; height:40px; border-radius:50%;
  background:linear-gradient(135deg,var(--amber),var(--amber-dark));
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:0.8rem; color:#000; flex-shrink:0;
}
.testi-name { font-size:0.85rem; font-weight:600; color:white; }
.testi-loc { font-size:0.75rem; color:var(--text-dim); }

/* ── QUOTE PREVIEW BOX ── */
.quote-preview {
  background:rgba(245,158,11,0.06);
  border:1px solid rgba(245,158,11,0.2);
  border-radius:8px; padding:2rem; position:sticky; top:120px;
}
.quote-preview h3 {
  font-family:'Bebas Neue',sans-serif; font-size:1.3rem;
  letter-spacing:0.08em; color:var(--amber); margin-bottom:1.5rem;
}
.qp-line { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.05); font-size:0.85rem; color:var(--text-muted); }
.qp-total { display:flex; justify-content:space-between; padding:14px 0 0; font-size:1rem; font-weight:600; color:white; }
.qp-total span:last-child { color:var(--amber); font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:0.05em; }

/* ── CTA STRIP ── */
.cta-strip {
  background:var(--navy); padding:5rem;
  text-align:center; position:relative; overflow:hidden;
}
.cta-strip::before {
  content:''; position:absolute;
  width:500px; height:500px; border-radius:50%;
  background:radial-gradient(circle,rgba(245,158,11,0.1) 0%,transparent 70%);
  top:50%; left:50%; transform:translate(-50%,-50%);
  pointer-events:none;
}
.cta-strip h2 {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(3rem,6vw,5.5rem); color:white; margin-bottom:1rem;
}
.cta-strip h2 em { color:var(--amber); font-style:normal; }
.cta-strip p { font-size:0.95rem; color:rgba(255,255,255,0.55); margin-bottom:2.5rem; }
.cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative; z-index:1; }

/* ── FOOTER ── */
.site-footer { background:#050505; border-top:1px solid var(--border); position:relative; z-index:1; }
.footer-marquee {
  background:var(--amber); padding:13px 0; overflow:hidden;
}
.footer-marquee-track {
  display:flex; gap:60px; white-space:nowrap;
  animation:marqueeScroll 28s linear infinite;
}
.footer-marquee-track span {
  font-size:0.75rem; font-weight:700; letter-spacing:0.2em;
  text-transform:uppercase; color:#000;
  display:inline-flex; align-items:center; gap:10px; flex-shrink:0;
}
@keyframes marqueeScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.footer-body {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:4rem; padding:4rem 5rem; border-bottom:1px solid var(--border);
}
.footer-logo {
  font-family:'Bebas Neue',sans-serif; font-size:1.6rem;
  letter-spacing:0.1em; color:white; margin-bottom:0.8rem;
  display:flex; align-items:center; gap:8px;
}
.footer-logo i { color:var(--amber); font-size:1.1rem; }
.footer-logo span { color:var(--amber); }
.footer-brand p { font-size:0.8rem; color:var(--text-dim); line-height:1.8; margin-bottom:1.2rem; }
.footer-social { display:flex; gap:10px; }
.footer-social a {
  width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.1);
  display:flex; align-items:center; justify-content:center;
  font-size:0.8rem; color:var(--text-dim); transition:all 0.3s;
  text-decoration:none;
}
.footer-social a:hover { border-color:var(--amber); color:var(--amber); transform:translateY(-3px); }
.footer-col h4 {
  font-size:0.65rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--text-dim); margin-bottom:1rem;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:8px; }
.footer-col ul li, .footer-col ul li a {
  font-size:0.82rem; color:rgba(255,255,255,0.45); transition:color 0.3s; text-decoration:none;
}
.footer-col ul li a:hover { color:var(--amber); }
.footer-col ul li i { color:var(--amber); margin-right:6px; width:14px; }
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:1rem;
  padding:1.5rem 5rem; font-size:0.72rem; color:var(--text-dim);
}
.footer-bottom a { color:rgba(255,255,255,0.35); text-decoration:none; transition:color 0.3s; margin:0 6px; }
.footer-bottom a:hover { color:var(--amber); }

/* ── FLOATING BUTTONS ── */
.float-wa {
  position:fixed; bottom:88px; right:22px; z-index:999;
  width:50px; height:50px; background:#25D366; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:white; text-decoration:none;
  box-shadow:0 4px 18px rgba(37,211,102,0.4); transition:transform 0.3s;
}
.float-wa:hover { transform:scale(1.1); color:white; }
.float-quote {
  position:fixed; bottom:22px; right:22px; z-index:999;
  display:inline-flex; align-items:center; gap:8px;
  background:var(--amber); color:#000;
  padding:12px 22px; border-radius:50px;
  font-weight:700; font-size:0.82rem; text-decoration:none;
  box-shadow:0 4px 18px rgba(245,158,11,0.4); transition:all 0.3s;
}
.float-quote:hover { background:var(--amber-light); transform:translateY(-3px); }

/* ── COOKIE ── */
.cookie-banner {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:9000;
  background:rgba(10,10,10,0.97); border-top:1px solid var(--border);
  padding:1rem 2rem; align-items:center; justify-content:space-between;
  gap:1rem; flex-wrap:wrap;
}
.cookie-banner p { font-size:0.8rem; color:var(--text-muted); }
.cookie-banner a { color:var(--amber); }
.cookie-banner div { display:flex; gap:10px; }
.cookie-banner button {
  padding:8px 18px; border-radius:4px; font-size:0.78rem;
  font-weight:700; cursor:pointer; border:none; font-family:'DM Sans',sans-serif;
}
.cookie-banner button:first-child { background:var(--amber); color:#000; }
.cookie-banner button:last-child { background:transparent; color:var(--text-muted); border:1px solid var(--border); }

/* ── REVEAL ANIMATIONS ── */
.reveal { opacity:0; transform:translateY(36px); transition:opacity 0.8s ease,transform 0.8s ease; }
.reveal-left { opacity:0; transform:translateX(-36px); transition:opacity 0.8s ease,transform 0.8s ease; }
.reveal.visible,.reveal-left.visible { opacity:1; transform:none; }

/* ── BLOG ARTICLE PAGES ── */
.article-body-wrap { max-width:780px; margin:0 auto; padding:5rem 2rem; }
.article-body-wrap h2 { font-family:'DM Serif Display',serif; font-size:1.8rem; color:white; margin:2.5rem 0 1rem; }
.article-body-wrap h3 { font-size:1.3rem; color:white; margin:2rem 0 0.8rem; }
.article-body-wrap p { font-size:0.92rem; color:var(--text-muted); line-height:1.9; margin-bottom:1.2rem; }
.article-body-wrap ul { margin:0.5rem 0 1.5rem 1.5rem; }
.article-body-wrap ul li { font-size:0.9rem; color:var(--text-muted); line-height:1.8; margin-bottom:8px; }
.article-body-wrap strong { color:rgba(255,255,255,0.85); }
.article-cta-box {
  background:rgba(245,158,11,0.07); border:1px solid rgba(245,158,11,0.25);
  border-radius:8px; padding:2.5rem; text-align:center; margin:3rem 0;
}
.article-cta-box h3 { font-family:'Bebas Neue',sans-serif; font-size:1.8rem; letter-spacing:0.05em; color:white; margin-bottom:0.8rem; }
.article-cta-box p { font-size:0.88rem; color:var(--text-muted); margin-bottom:1.5rem; }
.back-link {
  display:inline-flex; align-items:center; gap:8px;
  font-size:0.75rem; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--amber); text-decoration:none; margin-bottom:2.5rem;
  transition:gap 0.3s;
}
.back-link:hover { gap:14px; }

/* ── RESPONSIVE ── */
@media (max-width:1024px) {
  .inner-section { padding:5rem 3rem; }
  .footer-body { grid-template-columns:1fr 1fr; gap:2.5rem; padding:3rem; }
  .footer-bottom { padding:1.5rem 3rem; }
  .phi-content { padding:0 3rem; padding-top:7rem; }
}

@media (max-width:768px) {
  #main-nav { padding:1rem 1.5rem; }
  .nav-links { display:none; }
  #mobile-menu-btn { display:flex; }
  .inner-section { padding:4rem 1.5rem; }
  .phi-content { padding:0 1.5rem; padding-top:6rem; }
  .phi-title { font-size:clamp(2.5rem,12vw,4rem); }
  .svc-grid { grid-template-columns:1fr; }
  .contact-info-grid { grid-template-columns:1fr; }
  .blog-grid-dark { grid-template-columns:1fr; }
  .testi-grid-dark { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .footer-body { grid-template-columns:1fr; padding:2.5rem 1.5rem; }
  .footer-bottom { padding:1rem 1.5rem; flex-direction:column; text-align:center; }
  .cta-strip { padding:4rem 1.5rem; }
  .dark-form { padding:2rem 1.5rem; }
  .quote-preview { position:static; }
}
