/* ============================================================
   RH SOLUTIONS - main.css
   ------------------------------------------------------------
   Extracted verbatim from the <style> block in index.html, plus
   a section for Signa-generated content pages.

   In index.html, replace the entire <style>...</style> block with:
       <link rel="stylesheet" href="/assets/css/main.css">
   Nothing changes visually. Generated pages can now inherit it.

   Save as: assets/css/main.css
   ============================================================ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --primary:#0066cc;--primary-focus:#0071e3;--primary-on-dark:#2997ff;
  --ember:#10b981;--ember-dim:rgba(16,185,129,0.15);
  --canvas:#ffffff;--canvas-parchment:#f5f5f7;
  --tile-1:#272729;--tile-2:#2a2a2c;--tile-3:#252527;--surface-black:#000000;--void:#030303;
  --ink:#1d1d1f;--body-on-dark:#ffffff;--body-muted:#cccccc;
  --ink-muted-80:#333333;--ink-muted-48:#636363;
  --divider-soft:#f0f0f0;--hairline:#e0e0e0;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:17px;font-weight:400;line-height:1.47;letter-spacing:-0.374px;color:var(--ink);background:var(--canvas);overflow-x:hidden}
.global-nav{position:fixed;top:0;left:0;right:0;height:44px;background:var(--surface-black);display:flex;align-items:center;justify-content:space-between;padding:0 22px;z-index:200}
.nav-logo{font-size:17px;font-weight:600;letter-spacing:-0.374px;color:#fff;text-decoration:none}
.nav-logo span{color:var(--primary-on-dark)}
.nav-links{display:flex;gap:20px;list-style:none;position:absolute;left:50%;transform:translateX(-50%)}
.nav-links a{font-size:12px;font-weight:400;letter-spacing:-0.12px;color:rgba(255,255,255,0.85);text-decoration:none;transition:color 0.2s;white-space:nowrap}
.nav-links a:hover{color:#fff}
.nav-links a.nav-signa{color:var(--ember)}
.nav-right{display:flex;align-items:center;gap:12px}
.btn-nav{background:var(--ink);color:#fff;font-size:14px;font-weight:400;letter-spacing:-0.224px;padding:6px 14px;border-radius:8px;text-decoration:none;transition:transform 0.1s;display:inline-block}
.btn-nav:active{transform:scale(0.95)}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px;flex-direction:column;gap:4px}
.hamburger span{display:block;width:20px;height:1.5px;background:#fff}
.mobile-menu{display:none;position:fixed;inset:0;background:var(--surface-black);z-index:199;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding-top:44px}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:28px;font-weight:300;color:#fff;text-decoration:none;letter-spacing:-0.01em;opacity:0.85;transition:opacity 0.2s,color 0.2s}
.mobile-menu a:hover{opacity:1;color:var(--primary-on-dark)}
.btn-pill{background:var(--primary);color:#fff;font-size:17px;font-weight:400;letter-spacing:-0.374px;padding:11px 22px;border-radius:9999px;text-decoration:none;display:inline-block;transition:transform 0.1s;white-space:nowrap}
.btn-pill:active{transform:scale(0.95)}
.btn-pill-ghost{background:transparent;color:#fff;font-size:17px;font-weight:400;letter-spacing:-0.374px;padding:11px 22px;border-radius:9999px;border:1px solid rgba(255,255,255,0.35);text-decoration:none;display:inline-block;transition:transform 0.1s;white-space:nowrap}
.btn-pill-ghost:active{transform:scale(0.95)}
.btn-ember{background:var(--ember);color:var(--void);font-size:17px;font-weight:600;letter-spacing:-0.374px;padding:11px 26px;border-radius:9999px;text-decoration:none;display:inline-block;transition:transform 0.1s,box-shadow 0.4s;white-space:nowrap}
.btn-ember:hover{box-shadow:0 0 34px rgba(16,185,129,0.4)}
.btn-ember:active{transform:scale(0.95)}
.tile{width:100%;padding:80px 22px}
.hero-tile{background-color:var(--surface-black);background-image:linear-gradient(rgba(0,0,0,0.55),rgba(0,0,0,0.55)),url('/public/images/hero-bg.webp');background-size:cover,cover;background-position:center,center 25%;background-repeat:no-repeat,no-repeat;color:var(--body-on-dark);padding:150px 22px 100px;text-align:center}
.hero-eyebrow{font-size:21px;font-weight:600;letter-spacing:0.231px;color:var(--primary-on-dark);margin-bottom:12px}
.hero-h1{font-size:clamp(40px,5.5vw,56px);font-weight:600;line-height:1.07;letter-spacing:-0.28px;color:#fff;margin-bottom:16px;max-width:840px;margin-left:auto;margin-right:auto}
.hero-tagline{font-size:28px;font-weight:400;line-height:1.14;letter-spacing:0.196px;color:var(--body-muted);margin-bottom:40px;max-width:640px;margin-left:auto;margin-right:auto}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-grid{position:relative;z-index:1;max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;text-align:left}
.hero-copy .hero-h1{margin-left:0;margin-right:0;max-width:none}
.hero-copy .hero-tagline{margin-left:0;margin-right:0;max-width:none;margin-bottom:20px}
.hero-copy .hero-ctas{justify-content:flex-start}
.hero-link-muted{display:inline-block;color:var(--body-muted);text-decoration:underline;font-size:15px;letter-spacing:-0.1px}
.hero-widget{background:var(--canvas);color:var(--ink);border-radius:20px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,0.35);text-align:left}
.hero-widget h3{font-size:20px;font-weight:600;color:var(--ink);letter-spacing:-0.2px;margin-bottom:4px}
.hero-widget .panel-sub{font-size:13px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-muted-48);margin-bottom:16px}
.hq-question p{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-0.3px;margin-bottom:18px}
.hq-btns{display:flex;gap:12px;flex-wrap:wrap}
.hq-btn{flex:1;min-width:130px;background:transparent;border:1.5px solid var(--hairline);border-radius:12px;padding:16px 18px;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color 0.2s,background 0.2s}
.hq-btn:hover{border-color:var(--primary);background:rgba(0,102,204,0.05)}
.hq-btn:active{transform:scale(0.97)}
.hq-back{background:none;border:none;font-size:13px;color:var(--ink-muted-48);cursor:pointer;text-align:left;padding:0;margin-bottom:14px;font-family:inherit;display:inline-block}
.hq-back:hover{color:var(--primary)}
@keyframes hqIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.hq-step{animation:hqIn 0.5s ease both}
.hq-transition{border-left:3px solid var(--hairline);padding-left:18px;cursor:pointer}
.hq-transition.path-yes{border-left-color:var(--primary)}
.hq-transition.path-no{border-left-color:var(--ember)}
.hq-transition-tag{font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:10px}
.hq-transition.path-yes .hq-transition-tag{color:var(--primary)}
.hq-transition.path-no .hq-transition-tag{color:var(--ember)}
.hq-transition-msg{font-size:17px;line-height:1.45;color:var(--ink);letter-spacing:-0.2px;margin-bottom:16px}
.hq-transition-hint{font-size:12px;color:var(--ink-muted-48);letter-spacing:-0.1px}
.hq-progress{height:3px;border-radius:2px;background:var(--hairline);overflow:hidden;margin-top:14px}
.hq-progress-bar{height:100%;width:0%;border-radius:2px;animation:hqProgress 12s linear forwards}
.hq-transition.path-yes .hq-progress-bar{background:var(--primary)}
.hq-transition.path-no .hq-progress-bar{background:var(--ember)}
@keyframes hqProgress{from{width:0%}to{width:100%}}
.hq-back:hover{color:var(--primary)}
.tile-white{background:var(--canvas);color:var(--ink)}
.tile-parchment{background:var(--canvas-parchment);color:var(--ink)}
.tile-dark{background:var(--tile-1);color:var(--body-on-dark)}
.tile-inner{max-width:980px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.tile-inner-left{max-width:980px;margin:0 auto}
.display-lg{font-size:clamp(32px,4vw,40px);font-weight:600;line-height:1.1;letter-spacing:0;margin-bottom:12px}
.lead{font-size:28px;font-weight:400;line-height:1.14;letter-spacing:0.196px;color:var(--body-muted);margin-bottom:32px}
.tagline-text{font-size:21px;font-weight:600;letter-spacing:0.231px}
/* stats */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);background:var(--hairline);gap:1px}
.stat-cell{background:var(--canvas-parchment);padding:48px 40px;text-align:center}
.stat-num{font-size:52px;font-weight:600;line-height:1;letter-spacing:-0.01em;color:var(--ink);margin-bottom:8px}
.stat-num .a{color:var(--primary)}
.stat-label{font-size:17px;font-weight:400;letter-spacing:-0.374px;color:var(--ink-muted-80)}
/* services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.08);max-width:1440px;margin:48px auto 0}
.service-card{background:var(--tile-2);padding:52px 40px;transition:background 0.25s}
.service-card:hover{background:var(--tile-3)}
.service-num{font-size:21px;font-weight:600;letter-spacing:0.231px;color:var(--primary-on-dark);opacity:0.5;margin-bottom:24px}
.service-title{font-size:28px;font-weight:600;line-height:1.14;letter-spacing:0;color:#fff;margin-bottom:12px}
.service-desc{font-size:17px;font-weight:400;line-height:1.47;letter-spacing:-0.374px;color:var(--body-muted);margin-bottom:28px}
.service-price{font-size:17px;font-weight:400;color:var(--primary-on-dark);letter-spacing:-0.374px}
/* ===== SIGNA section on homepage ===== */
.signa-tile{background:#ffffff;color:#111111;padding:110px 22px;position:relative;overflow:hidden;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.signa-glow{position:absolute;top:12%;left:50%;transform:translateX(-50%);width:700px;height:700px;border-radius:50%;background:rgba(0,102,204,0.09);filter:blur(140px);pointer-events:none}
.signa-inner{position:relative;max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}
.signa-logo-top{position:relative;z-index:1;max-width:1160px;margin:0 auto 40px;display:flex;justify-content:center}
.signa-logo-wrap{display:inline-flex;align-items:center;justify-content:center;padding:10px 22px;border:1px solid rgba(0,102,204,0.24);border-radius:9999px;background:rgba(0,102,204,0.04)}
.signa-logo-top img{height:72px;width:auto;display:block}
.signa-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--primary);border:1px solid rgba(0,102,204,0.35);border-radius:9999px;padding:6px 14px;margin-bottom:18px}
.signa-h{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(40px,5vw,64px);font-weight:500;line-height:0.96;letter-spacing:-0.02em;margin-bottom:18px}
.signa-h .e{color:var(--primary)}
.signa-p{font-size:19px;line-height:1.5;letter-spacing:-0.2px;color:#333333;margin-bottom:26px;max-width:520px}
.signa-feats{display:flex;flex-direction:column;gap:14px;margin-bottom:34px}
.sf{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:#3d3d3d;letter-spacing:-0.2px}
.sf::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:7px;box-shadow:0 0 10px rgba(0,102,204,0.35)}
.sf strong{color:#111111;font-weight:600}
.signa-visual{position:relative;display:flex;align-items:center;justify-content:center}
.signa-visual-card{width:100%;max-width:520px;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,rgba(255,255,255,0.98),rgba(245,245,247,0.96));border:1px solid rgba(0,0,0,0.1);box-shadow:0 20px 60px rgba(0,0,0,0.12)}
.signa-visual-card img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover}
/* case study */
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:980px;margin:0 auto}
.case-eyebrow{font-size:21px;font-weight:600;letter-spacing:0.231px;color:var(--primary-on-dark);margin-bottom:12px}
.case-h{font-size:clamp(26px,3vw,34px);font-weight:600;letter-spacing:-0.374px;color:#fff;margin-bottom:16px;line-height:1.15}
.case-p{font-size:17px;line-height:1.47;letter-spacing:-0.374px;color:var(--body-muted);margin-bottom:28px}
.case-results{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,0.08);margin-bottom:28px}
.result-cell{background:var(--tile-1);padding:20px 24px}
.result-num{font-size:32px;font-weight:600;letter-spacing:-0.01em;color:#fff;margin-bottom:4px}
.result-num .a{color:var(--primary-on-dark)}
.result-label{font-size:12px;font-weight:400;letter-spacing:-0.12px;color:var(--body-muted)}
/* system map (ibreathe) */
.sysmap{background:var(--tile-3);border:1px solid rgba(255,255,255,0.08);padding:28px;display:flex;flex-direction:column;gap:10px}
.sys-row{display:flex;align-items:center;gap:14px;background:var(--tile-1);border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:14px 18px;transition:border-color .25s,transform .25s}
.sys-row:hover{border-color:rgba(41,151,255,0.5);transform:translateX(4px)}
.sys-ic{width:34px;height:34px;border-radius:9px;background:rgba(41,151,255,0.12);color:var(--primary-on-dark);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.sys-t{font-size:15px;font-weight:600;color:#fff;letter-spacing:-0.2px}
.sys-s{font-size:12.5px;color:var(--body-muted);letter-spacing:-0.1px}
/* deep dive rows */
.dd-list{max-width:980px;margin:56px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,0.08)}
.dd{background:var(--tile-2);padding:36px 34px}
.dd h4{font-size:19px;font-weight:600;color:#fff;letter-spacing:-0.2px;margin-bottom:8px}
.dd h4 span{color:var(--primary-on-dark);margin-right:8px;opacity:0.6}
.dd p{font-size:15.5px;line-height:1.55;color:var(--body-muted);letter-spacing:-0.2px}
/* process */
.process-list{max-width:980px;margin:48px auto 0;border-top:1px solid var(--hairline)}
.process-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:32px;align-items:start;padding:44px 0;border-bottom:1px solid var(--hairline);transition:padding-left 0.25s}
.process-row:hover{padding-left:12px}
.pr-num{font-size:40px;font-weight:600;letter-spacing:-0.01em;color:var(--primary);opacity:0.3;padding-top:4px}
.pr-h{font-size:21px;font-weight:600;letter-spacing:0.231px;color:var(--ink);margin-bottom:6px}
.pr-time{font-size:14px;font-weight:400;letter-spacing:-0.224px;color:var(--primary)}
.pr-desc{font-size:17px;line-height:1.47;letter-spacing:-0.374px;color:var(--ink-muted-80)}
/* pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);max-width:980px;margin:48px auto 0}
.price-card{background:var(--canvas);padding:48px 40px}
.price-card.featured{background:var(--surface-black);color:#fff}
.price-badge{font-size:12px;font-weight:600;letter-spacing:-0.12px;background:rgba(16,185,129,0.15);color:var(--ember);padding:4px 10px;border-radius:9999px;display:inline-block;margin-bottom:20px}
.price-tier{font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-muted-48);margin-bottom:12px}
.price-card.featured .price-tier{color:var(--body-muted)}
.price-amount{font-size:48px;font-weight:600;letter-spacing:-0.03em;line-height:1;color:var(--ink);margin-bottom:6px}
.price-card.featured .price-amount{color:#fff}
.price-cadence{font-size:17px;font-weight:400;letter-spacing:-0.374px;color:var(--ink-muted-48);margin-bottom:28px}
.price-card.featured .price-cadence{color:var(--body-muted)}
.price-divider{height:1px;background:var(--hairline);margin-bottom:28px}
.price-card.featured .price-divider{background:rgba(255,255,255,0.12)}
.price-features{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}
.pf{font-size:17px;line-height:1.47;letter-spacing:-0.374px;color:var(--ink-muted-80);display:flex;align-items:flex-start;gap:10px}
.price-card.featured .pf{color:var(--body-muted)}
.pf::before{content:'✓';font-weight:600;color:var(--primary);flex-shrink:0}
.price-card.featured .pf::before{color:var(--ember)}
.price-cta{display:block;text-align:center;font-size:17px;font-weight:400;letter-spacing:-0.374px;color:var(--primary);text-decoration:none;border:1px solid var(--primary);border-radius:9999px;padding:11px 22px;transition:transform 0.1s,background 0.2s}
.price-cta:active{transform:scale(0.95)}
.price-cta:hover{background:rgba(0,102,204,0.05)}
.price-card.featured .price-cta{background:var(--ember);color:var(--void);border-color:var(--ember);font-weight:600}
/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:980px;margin:48px auto 0;align-items:start}
.contact-info p{font-size:17px;line-height:1.47;letter-spacing:-0.374px;color:var(--ink-muted-80);margin-bottom:32px}
.contact-detail{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}
.cd{display:flex;align-items:center;gap:14px;font-size:17px;letter-spacing:-0.374px;color:var(--ink-muted-80)}
.cd a{color:var(--primary);text-decoration:none}
.cd a:hover{text-decoration:underline}
.cd-icon{width:36px;height:36px;background:var(--ink);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.contact-form{display:flex;flex-direction:column;gap:20px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fg{display:flex;flex-direction:column;gap:6px}
.fl{font-size:12px;font-weight:600;letter-spacing:-0.12px;color:var(--ink-muted-48);text-transform:uppercase}
.fi{background:transparent;border:none;border-bottom:1px solid var(--hairline);padding:10px 0;font-size:17px;font-family:inherit;letter-spacing:-0.374px;color:var(--ink);outline:none;transition:border-color 0.2s}
.fi:focus{border-bottom-color:var(--primary)}
.fi::placeholder{color:var(--ink-muted-48)}
textarea.fi{resize:vertical;min-height:100px}
select.fi{cursor:pointer}
.form-submit{background:var(--ink);color:#fff;font-family:inherit;font-size:17px;font-weight:400;letter-spacing:-0.374px;padding:14px 36px;border:none;border-radius:9999px;cursor:pointer;transition:transform 0.1s,background 0.2s;align-self:flex-start}
.form-submit:hover{background:var(--primary)}
.form-submit:active{transform:scale(0.95)}
.form-thanks{display:none;font-size:17px;letter-spacing:-0.374px;color:var(--primary);padding:16px 0}
/* audit booking panels */
.hero-reassurance{font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--body-muted);margin-top:18px}
.audit-panel{background:var(--canvas);border-radius:20px;padding:36px;display:flex;flex-direction:column;gap:20px}
.audit-panel.primary{border:2px solid var(--primary);box-shadow:0 24px 60px rgba(0,102,204,0.1)}
.audit-panel h3{font-size:22px;font-weight:600;letter-spacing:-0.3px;color:var(--ink);margin-bottom:2px}
.audit-panel .panel-sub{font-size:14px;color:var(--ink-muted-48);letter-spacing:-0.1px;margin-top:-14px}
.audit-panel .form-submit{align-self:stretch;text-align:center}
.audit-panel.primary .form-submit{background:var(--primary)}
.audit-panel.primary .form-submit:hover{background:var(--primary-focus)}
/* footer */
footer{background:var(--canvas-parchment);border-top:1px solid var(--hairline);padding:64px 22px}
.footer-inner{max-width:980px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-logo{font-size:17px;font-weight:600;letter-spacing:-0.374px;color:var(--ink);margin-bottom:10px}
.footer-logo span{color:var(--primary)}
.footer-tagline{font-size:17px;letter-spacing:-0.374px;color:var(--ink-muted-80);line-height:1.47}
.footer-col-h{font-size:14px;font-weight:600;letter-spacing:-0.224px;color:var(--ink);margin-bottom:12px}
.footer-links{display:flex;flex-direction:column}
.footer-links a{font-size:17px;font-weight:400;line-height:2.41;letter-spacing:0;color:var(--ink-muted-80);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:var(--primary)}
.footer-legal{max-width:980px;margin:0 auto;border-top:1px solid var(--hairline);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-legal span{font-size:12px;letter-spacing:-0.12px;color:var(--ink-muted-48)}
/* sticky bar */
.sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;background:rgba(245,245,247,0.88);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,0,0,0.08);z-index:190;align-items:center;justify-content:center;gap:12px;padding:0 22px}
.sticky-bar a{flex:1;text-align:center;font-size:17px;font-weight:400;letter-spacing:-0.374px;padding:10px;border-radius:9999px;text-decoration:none;transition:transform 0.1s}
.sticky-bar a:active{transform:scale(0.95)}
.sticky-1{background:var(--primary);color:#fff}
.sticky-2{background:transparent;color:var(--primary);border:1px solid var(--primary)}
/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease}
.reveal.visible{opacity:1;transform:none}
.d1{transition-delay:0.1s}.d2{transition-delay:0.2s}.d3{transition-delay:0.3s}
/* responsive */
@media(max-width:1068px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:1fr 1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
  .signa-inner{grid-template-columns:1fr;gap:40px}
  .case-grid{grid-template-columns:1fr;gap:36px}
  .hero-grid{grid-template-columns:1fr;gap:40px}
}
@media(max-width:833px){
  .nav-links{display:none}
  .hamburger{display:flex}
  .tile{padding:60px 22px}
  .hero-tile{padding:110px 22px 80px}
  .dd-list{grid-template-columns:1fr}
  .process-row{grid-template-columns:56px 1fr;gap:20px}
  .pr-desc{grid-column:2}
  .pricing-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
  .sticky-bar{display:flex}
  body{padding-bottom:64px}
  .signa-logo-top img{height:46px}
}
@media(max-width:640px){
  .hero-h1{font-size:34px}
  .hero-tagline{font-size:21px}
  .stats-grid{grid-template-columns:1fr 1fr}
  .services-grid{grid-template-columns:1fr}
  .form-row-2{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
}
@media(max-width:419px){
  .hero-h1{font-size:28px}
  .hero-tagline{font-size:17px}
}

/* ============================================================
   GENERATED CONTENT PAGES
   Everything above this line is your existing site CSS, unchanged.
   Everything below styles the pages Signa publishes, using the
   same tokens - no new colours, no new fonts.
   ============================================================ */

.content-page {
  max-width: 720px;
  margin: 0 auto;
  padding: 100px 22px 80px;   /* 44px nav + breathing room */
}

.content-page article > header {
  padding-bottom: 28px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--hairline);
}

.content-page h1 {
  font-size: 44px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin-bottom: 14px;
}

.content-page .eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 10px;
  display: block;
}

/* The answer-first paragraph. GEO depends on this being the first
   thing on the page, so it should also look like the summary it is. */
.content-page article > header + p,
.content-page .answer-first {
  font-size: 21px;
  line-height: 1.52;
  color: var(--ink-muted-80);
  letter-spacing: -0.02em;
  margin-bottom: 40px;
  padding-left: 18px;
  border-left: 3px solid var(--ember);
}

.content-page h2 {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 52px 0 16px;
}

.content-page h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--ink);
  margin: 32px 0 12px;
}

.content-page p {
  font-size: 17px;
  line-height: 1.62;
  color: var(--ink-muted-80);
  margin-bottom: 20px;
}

.content-page a {
  color: var(--primary);
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 102, 204, 0.28);
  transition: border-color 0.2s;
}
.content-page a:hover { border-bottom-color: var(--primary); }

.content-page ul,
.content-page ol {
  margin: 0 0 24px 22px;
  color: var(--ink-muted-80);
}
.content-page li {
  font-size: 17px;
  line-height: 1.62;
  margin-bottom: 9px;
}

.content-page section {
  margin-bottom: 8px;
}

.content-page table {
  width: 100%;
  border-collapse: collapse;
  margin: 28px 0;
  font-size: 15px;
}
.content-page th,
.content-page td {
  text-align: left;
  padding: 11px 14px;
  border-bottom: 1px solid var(--hairline);
}
.content-page th {
  font-weight: 600;
  color: var(--ink);
  background: var(--canvas-parchment);
}

.content-page blockquote {
  margin: 28px 0;
  padding: 18px 22px;
  background: var(--canvas-parchment);
  border-radius: 10px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 21px;
  line-height: 1.45;
  color: var(--ink);
}

.content-page code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
  background: var(--canvas-parchment);
  padding: 2px 6px;
  border-radius: 4px;
}

/* Back-to-site link at the foot of every generated page */
.content-page .page-foot {
  margin-top: 56px;
  padding-top: 26px;
  border-top: 1px solid var(--hairline);
  font-size: 15px;
  color: var(--ink-muted-48);
}
.content-page .page-foot a { border-bottom: none; font-weight: 500; }

@media (max-width: 734px) {
  .content-page { padding: 76px 20px 60px; }
  .content-page h1 { font-size: 32px; }
  .content-page h2 { font-size: 23px; margin: 40px 0 14px; }
  .content-page article > header + p,
  .content-page .answer-first { font-size: 19px; }
}

/* ---------- insights index ---------- */

.insight-list { list-style: none; margin: 0; padding: 0; }

.insight-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--hairline);
}
.insight-item a {
  font-size: 19px;
  font-weight: 500;
  color: var(--ink);
  border-bottom: none;
}
.insight-item a:hover { color: var(--primary); }
.insight-date {
  font-size: 13px;
  color: var(--ink-muted-48);
  white-space: nowrap;
}

/* ---------- generated pages: nav offset ----------
   .global-nav is fixed at 44px. .content-page already pads for it,
   but anchor links inside long articles need the same offset or the
   heading lands underneath the nav bar. */
.content-page :target { scroll-margin-top: 60px; }

@media (max-width: 734px) {
  .insight-item { flex-direction: column; gap: 4px; }
  .insight-item a { font-size: 17px; }
}
