/*
Theme Name: RHTS IT Solutions
Theme URI: https://rhtsllp.com
Author: RHTS IT SOLUTIONS LLP
Author URI: https://rhtsllp.com
Description: Marketing website for RHTS IT SOLUTIONS LLP (rhtsllp.com). Dedicated MSP engineers (L1/L2/L3), DevOps engineering, monitoring & support, AWS infrastructure management, server management, Microsoft 365 & Partner Portal support, domain & email migrations, AI strategy, online trainings & workshops for universities, professional trainings for technical staff, SDRs, virtual assistants and professional WordPress CMS website development. Technical dark hero layout with HUD-framed imagery, SVG icon system, animated counters, a working consultation form that emails inquiries to robert@rhtsllp.com, a Google Maps location embed in the contact section, professional Contact Us and Privacy Policy pages, and a hardened security layer (XML-RPC disabled, version fingerprinting removed, form rate limiting, honeypot and consent checks).
Version: 4.1.0
Requires at least: 5.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rhts-it-solutions
*/

/* Web fonts (Space Grotesk headings + Inter body + JetBrains Mono technical accents) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=JetBrains+Mono:wght@400;600;700&display=swap');

:root {
  --brand-900:#2b2622; --brand-800:#241f1b; --brand-700:#8a5227; --brand-600:#a1663b;
  --brand-500:#c08552; --brand-300:#d9b48f; --brand-100:#f3e6d8; --brand-50:#faf6f0;
  --amber:#d19a3f; --bg:#faf6f0; --card:#ffffff; --text:#2b2622; --muted:#7a716a;
  --border:#e5d9c9; --radius:16px;
  --shadow:0 6px 24px rgba(161,102,59,.10); --shadow-lg:0 24px 60px rgba(43,38,34,.16);
  --glow:0 0 40px rgba(209,154,63,.35);
  --grad:linear-gradient(135deg,#a1663b 0%,#d19a3f 100%);
  --font:'Inter','Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;
  --font-head:'Space Grotesk','Poppins','Segoe UI',system-ui,Arial,sans-serif;
  --mono:'JetBrains Mono','SFMono-Regular',Consolas,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
section{padding:84px 0;position:relative}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--font-head)}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);color:var(--brand-900);text-align:center;margin-bottom:14px;font-weight:700;letter-spacing:-.5px;line-height:1.22}
h3{font-size:1.18rem;color:var(--brand-900);margin-bottom:10px;font-weight:600;line-height:1.35}
p{line-height:1.7}
.section-sub{text-align:center;color:var(--muted);max-width:660px;margin:0 auto 52px;font-size:1.04rem;line-height:1.75}
.accent{color:var(--brand-300)}
/* ---- technical primitives ---- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.78rem;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--brand-600);margin-bottom:14px}
.eyebrow::before{content:"//";color:var(--amber);font-weight:700}
.eyebrow.center{justify-content:center;display:flex;margin-left:auto;margin-right:auto}
.grid-bg{background-image:linear-gradient(rgba(192,133,82,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(192,133,82,.07) 1px,transparent 1px);background-size:44px 44px}
.grid-bg-dark{background-image:linear-gradient(rgba(217,180,143,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(217,180,143,.05) 1px,transparent 1px);background-size:44px 44px}
.hud{position:relative}
.hud::before,.hud::after{content:"";position:absolute;width:26px;height:26px;border:2px solid var(--amber);z-index:3;transition:.3s}
.hud::before{top:-2px;left:-2px;border-right:none;border-bottom:none;border-radius:6px 0 0 0}
.hud::after{bottom:-2px;right:-2px;border-left:none;border-top:none;border-radius:0 0 6px 0}
.frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);position:relative;background:#241f1b}
.frame img{width:100%;height:100%;object-fit:cover;display:block}
.scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(43,38,34,.12) 0 2px,transparent 2px 5px);mix-blend-mode:overlay}
.chip{position:absolute;z-index:4;background:rgba(26,22,18,.88);backdrop-filter:blur(6px);border:1px solid rgba(217,180,143,.4);
  color:#fff;font-family:var(--mono);font-size:.74rem;letter-spacing:1px;padding:8px 14px;border-radius:8px;display:flex;align-items:center;gap:8px}
.chip b{color:var(--brand-300)}
.dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px #4ade80;animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
/* ============ BUTTONS ============ */
.btn{display:inline-block;padding:14px 30px;border-radius:10px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;
  transition:.25s;text-align:center;letter-spacing:.2px;font-family:var(--font-head)}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 10px 26px rgba(161,102,59,.4)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(209,154,63,.5)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.btn-ghost:hover{border-color:var(--brand-300);background:rgba(255,255,255,.08)}
.btn-outline{background:#fff;color:var(--brand-900);border:1.5px solid var(--brand-900)}
.btn-outline:hover{background:var(--brand-900);color:#fff}
/* ============ TOP TICKER + HEADER ============ */
.topbar{background:#16120e;color:var(--brand-300);font-family:var(--mono);font-size:.72rem;letter-spacing:1.5px;
  padding:8px 0;text-transform:uppercase;position:fixed;top:0;left:0;right:0;z-index:120}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:12px}
.topbar .status{display:flex;align-items:center;gap:8px;color:#e8ddd0}
header#header{position:fixed;top:33px;left:0;right:0;z-index:110;transition:.3s;background:rgba(26,22,18,.72);backdrop-filter:blur(14px);border-bottom:1px solid rgba(217,180,143,.14)}
header#header.scrolled{background:rgba(22,18,14,.94);box-shadow:0 10px 40px rgba(0,0,0,.45)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{display:flex;align-items:center;gap:12px}
.logo-img{width:46px;height:46px;border-radius:12px;object-fit:cover;box-shadow:0 2px 12px rgba(0,0,0,.4);flex-shrink:0}
.logo-text{color:#fff;font-weight:700;font-size:1.06rem;line-height:1.2;font-family:var(--font-head);letter-spacing:.5px}
.logo-text span{color:var(--brand-300);display:block;font-size:.7rem;font-weight:600;letter-spacing:2px;font-family:var(--mono)}
nav ul{display:flex;gap:30px;align-items:center}
nav a{color:rgba(255,255,255,.88);font-weight:500;font-size:.93rem;transition:.2s}
nav a:hover{color:var(--brand-300)}
.nav-cta{background:var(--grad);color:#fff !important;padding:10px 22px;border-radius:8px;box-shadow:0 6px 18px rgba(161,102,59,.4)}
.nav-cta:hover{transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{width:26px;height:3px;background:#fff;border-radius:2px;transition:.3s}
/* ============ HERO ============ */
.hero{background:radial-gradient(1100px 500px at 85% -10%,rgba(161,102,59,.35),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(209,154,63,.22),transparent 60%),#1a1612;color:#fff;padding:168px 0 96px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(217,180,143,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(217,180,143,.055) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 75%)}
.hero::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(217,180,143,.14);top:-160px;right:-140px;box-shadow:0 0 0 60px rgba(217,180,143,.03),0 0 0 120px rgba(217,180,143,.02)}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(217,180,143,.12);border:1px solid rgba(217,180,143,.4);color:var(--brand-100);padding:7px 16px;border-radius:50px;font-size:.8rem;font-weight:600;font-family:var(--mono);letter-spacing:1.2px;margin-bottom:22px;text-transform:uppercase}
.hero h1{font-size:clamp(2rem,4.4vw,3.15rem);line-height:1.13;color:#fff;font-weight:700;letter-spacing:-1px;margin-bottom:18px}
.hero h1 .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero p.lead{color:#e8ddd0;font-size:1.08rem;line-height:1.7;margin-bottom:32px;max-width:560px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:30px}
.trust{display:flex;gap:10px;flex-wrap:wrap}
.trust span{font-family:var(--mono);font-size:.72rem;letter-spacing:1px;color:var(--brand-300);border:1px solid rgba(217,180,143,.3);border-radius:6px;padding:6px 12px;background:rgba(217,180,143,.06)}
/* hero visual */
.hero-visual{position:relative}
.hero-visual .frame{aspect-ratio:4/3.4}
.hero-visual .chip.tr{top:16px;right:-14px}
.term{position:absolute;left:-26px;bottom:-30px;width:min(340px,86%);background:#16120e;border:1px solid rgba(217,180,143,.25);border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.55);overflow:hidden}
.term-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#211b15;border-bottom:1px solid rgba(217,180,143,.15)}
.term-bar span{width:10px;height:10px;border-radius:50%;background:#5c432c}
.term-bar span:nth-child(1){background:#e06c5c}.term-bar span:nth-child(2){background:#d19a3f}.term-bar span:nth-child(3){background:#4ade80}
.term-bar em{font-style:normal;font-family:var(--mono);font-size:.7rem;color:var(--brand-300);margin-left:8px;letter-spacing:1px}
.term-body{padding:14px 16px;font-family:var(--mono);font-size:.76rem;line-height:1.9;color:#cfc6bd}
.term-body .ok{color:#8fce8f}
.term-body .cmd{color:#fff}
.cursor{display:inline-block;width:8px;height:14px;background:var(--brand-300);vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
/* stats */
.stats-bar{position:relative;z-index:2;margin-top:84px;padding-top:34px;border-top:1px solid rgba(217,180,143,.18);display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat h4{color:#fff;font-size:2.2rem;line-height:1.05;font-weight:700;letter-spacing:-1px;font-family:var(--font-head)}
.stat h4 span{color:var(--brand-300);font-size:.62em}
.stat p{color:#cfc6bd;font-size:.86rem;margin-top:6px;line-height:1.45}
.stat{border-left:2px solid rgba(209,154,63,.5);padding-left:16px}
/* ============ TECH MARQUEE ============ */
.marquee{background:#16120e;border-top:1px solid rgba(217,180,143,.15);border-bottom:1px solid rgba(217,180,143,.15);padding:18px 0;overflow:hidden;position:relative}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2}
.marquee::before{left:0;background:linear-gradient(90deg,#16120e,transparent)}
.marquee::after{right:0;background:linear-gradient(-90deg,#16120e,transparent)}
.marquee-track{display:flex;gap:44px;width:max-content;animation:scrollx 36s linear infinite;font-family:var(--mono);font-size:.78rem;letter-spacing:2px;color:var(--brand-300);text-transform:uppercase;align-items:center}
.marquee-track i{font-style:normal;color:var(--amber)}
@keyframes scrollx{to{transform:translateX(-50%)}}
/* ============ SLIDER ============ */
.showcase{background:#fff}
.slider{position:relative}
.slider-frame{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg)}
.slides{display:flex;transition:transform .65s cubic-bezier(.77,0,.18,1)}
.slide{min-width:100%;position:relative}
.slide img{width:100%;aspect-ratio:16/7;max-height:540px;object-fit:cover;display:block}
.slide-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:48px 56px;max-width:620px;background:linear-gradient(90deg,rgba(22,18,14,.92) 0%,rgba(22,18,14,.6) 55%,rgba(22,18,14,0) 100%)}
.slide-tag{display:inline-block;background:rgba(217,180,143,.14);border:1px solid rgba(217,180,143,.5);color:var(--brand-100);padding:6px 16px;border-radius:6px;font-size:.72rem;font-weight:600;font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px}
.slide-caption h3{color:#fff;font-size:clamp(1.3rem,2.6vw,1.9rem);margin-bottom:10px}
.slide-caption p{color:#e8ddd0;font-size:.97rem;margin-bottom:24px;max-width:460px}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:10px;background:rgba(22,18,14,.6);color:#fff;border:1px solid rgba(255,255,255,.3);font-size:1.4rem;line-height:1;cursor:pointer;transition:.25s;z-index:5;display:flex;align-items:center;justify-content:center}
.slider-arrow:hover{background:var(--brand-600);border-color:var(--brand-600)}
.slider-arrow.prev{left:18px}.slider-arrow.next{right:18px}
.slider-dots{display:flex;justify-content:center;gap:10px;margin-top:22px}
.slider-dot{width:26px;height:5px;border-radius:3px;background:var(--border);border:none;cursor:pointer;transition:.25s;padding:0}
.slider-dot:hover{background:var(--brand-300)}
.slider-dot.active{background:var(--brand-600);width:40px}
/* ============ SERVICES GRID ============ */
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:24px}
.svc-card{background:var(--card);border-radius:var(--radius);padding:32px 26px;box-shadow:var(--shadow);border:1px solid var(--border);transition:.3s;display:flex;flex-direction:column;align-items:flex-start;text-align:left;position:relative;overflow:hidden}
.svc-card::after{content:"";position:absolute;top:0;right:0;width:90px;height:90px;background:radial-gradient(circle at top right,rgba(209,154,63,.16),transparent 70%)}
.svc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--brand-500)}
.svc-idx{font-family:var(--mono);font-size:.72rem;color:var(--brand-500);letter-spacing:2px;margin-bottom:14px}
.svc-icon{width:58px;height:58px;border-radius:14px;background:linear-gradient(135deg,#2b2622,#5c432c);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--brand-300);border:1px solid rgba(217,180,143,.3)}
.svc-icon svg{width:27px;height:27px}
.svc-card p{color:var(--muted);font-size:.92rem;margin-bottom:16px}
.learn-link{color:var(--brand-700);font-weight:600;font-size:.88rem;font-family:var(--mono);margin-top:auto}
.learn-link:hover{text-decoration:underline}
/* ============ DETAIL SECTIONS ============ */
.detail{background:#fff}
.detail-alt{background:linear-gradient(180deg,var(--brand-50) 0%,#f4ead9 100%)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split .text h2{text-align:left}
.split .visual{position:relative}
.split .visual .frame{aspect-ratio:4/3}
.tier-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:26px}
.tier{background:#fff;border:1px solid var(--border);border-left:3px solid var(--brand-600);border-radius:12px;padding:20px;transition:.25s}
.tier:hover{border-left-color:var(--amber);transform:translateY(-4px);box-shadow:var(--shadow)}
.tier .lvl{display:inline-block;background:#2b2622;color:var(--brand-300);padding:3px 12px;border-radius:6px;font-size:.72rem;font-weight:700;font-family:var(--mono);letter-spacing:1.5px;margin-bottom:10px}
.tier h3{font-size:1rem;margin-bottom:6px}
.tier li{font-size:.85rem;color:var(--muted);padding:3px 0 3px 22px;position:relative}
.tier li::before{content:"\2714";position:absolute;left:0;color:var(--brand-600);font-size:.78rem}
.offer-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:26px}
.offer{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px;transition:.25s}
.offer:hover{box-shadow:var(--shadow);border-color:var(--brand-300)}
.offer h4{color:var(--brand-900);margin-bottom:10px;font-size:.98rem;display:flex;align-items:center;gap:10px}
.offer h4 .n{font-family:var(--mono);font-size:.68rem;color:#fff;background:var(--grad);border-radius:6px;padding:2px 8px;letter-spacing:1px}
.offer li{font-size:.88rem;color:var(--muted);padding:3px 0 3px 22px;position:relative}
.offer li::before{content:"\2192";position:absolute;left:0;color:var(--brand-600)}
/* metric card on SDR image */
.metric{position:absolute;right:-16px;bottom:24px;z-index:4;background:rgba(26,22,18,.9);backdrop-filter:blur(6px);border:1px solid rgba(217,180,143,.4);border-radius:12px;padding:14px 18px;color:#fff;box-shadow:0 18px 44px rgba(0,0,0,.5)}
.metric b{display:block;font-size:1.35rem;font-family:var(--font-head);color:#4ade80}
.metric small{font-family:var(--mono);font-size:.68rem;letter-spacing:1.5px;color:var(--brand-300);text-transform:uppercase}
.bars{display:flex;gap:4px;align-items:flex-end;height:26px;margin-top:8px}
.bars i{width:9px;background:var(--grad);border-radius:2px 2px 0 0;animation:grow 1.2s ease both}
.bars i:nth-child(1){height:35%}.bars i:nth-child(2){height:55%}.bars i:nth-child(3){height:75%}.bars i:nth-child(4){height:100%}
@keyframes grow{from{transform:scaleY(0);transform-origin:bottom}}
/* VA banner */
.va-banner{position:relative;margin-bottom:44px}
.va-banner .frame{aspect-ratio:21/7}
.va-banner .chip{left:24px;bottom:24px}
/* browser frame for wordpress */
.browser .frame{border-radius:14px}
.browser-bar{display:flex;align-items:center;gap:8px;background:#211b15;padding:11px 16px;border-bottom:1px solid rgba(217,180,143,.18)}
.browser-bar span{width:10px;height:10px;border-radius:50%;background:#5c432c}
.browser-bar span:nth-child(1){background:#e06c5c}.browser-bar span:nth-child(2){background:#d19a3f}.browser-bar span:nth-child(3){background:#4ade80}
.browser-bar em{flex:1;text-align:center;font-style:normal;font-family:var(--mono);font-size:.72rem;color:var(--brand-300);background:rgba(255,255,255,.06);border-radius:6px;padding:4px 12px;letter-spacing:1px}
/* ============ HOW IT WORKS ============ */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;position:relative}
.step{background:var(--card);border-radius:var(--radius);padding:36px 28px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--border);position:relative;transition:.3s}
.step:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.step-num{width:58px;height:58px;border-radius:14px;background:var(--grad);color:#fff;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-family:var(--mono);box-shadow:0 10px 24px rgba(161,102,59,.35)}
.step .phase{font-family:var(--mono);font-size:.7rem;letter-spacing:2.5px;color:var(--brand-600);text-transform:uppercase;display:block;margin-bottom:8px}
.step p{color:var(--muted);font-size:.92rem}
.guarantees{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:44px}
.guarantee{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--brand-900);background:#fff;border:1px solid var(--border);border-radius:50px;padding:10px 22px;font-size:.9rem;box-shadow:var(--shadow)}
.guarantee .tick{width:24px;height:24px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem}
/* ============ WHY US ============ */
.why{background:radial-gradient(900px 400px at 50% -10%,rgba(161,102,59,.3),transparent 60%),#1a1612;color:#fff}
.why h2{color:#fff}
.why .section-sub{color:#cfc6bd}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:20px}
.why-card{background:rgba(255,255,255,.05);border:1px solid rgba(217,180,143,.18);border-radius:var(--radius);padding:28px 22px;transition:.3s;position:relative;overflow:hidden}
.why-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:.35s}
.why-card:hover{background:rgba(255,255,255,.09);transform:translateY(-5px)}
.why-card:hover::before{transform:scaleX(1)}
.why-card .ic{width:48px;height:48px;border-radius:12px;background:rgba(217,180,143,.1);border:1px solid rgba(217,180,143,.25);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--brand-300)}
.why-card .ic svg{width:24px;height:24px}
.why-card h3{color:#fff;font-size:1rem;margin-bottom:8px}
.why-card p{color:#cfc6bd;font-size:.86rem}
.why-cta{margin-top:52px;background:rgba(217,180,143,.07);border:1px solid rgba(217,180,143,.25);border-radius:var(--radius);padding:36px;text-align:center}
.why-cta p{color:var(--brand-100);margin-bottom:20px;font-size:1.06rem}
/* ============ FORM ============ */
.form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;align-items:stretch;max-width:1120px;margin:0 auto}
.form-info{position:relative;overflow:hidden;background:radial-gradient(480px 280px at 15% 0%,rgba(209,154,63,.35),transparent 60%),repeating-linear-gradient(135deg,rgba(217,180,143,.05) 0 2px,transparent 2px 14px),#221c16;border-radius:20px;padding:40px 34px;color:#fff;display:flex;flex-direction:column}
.form-info::after{content:"";position:absolute;right:-70px;bottom:-70px;width:220px;height:220px;border-radius:50%;border:30px solid rgba(217,180,143,.08);pointer-events:none}
.form-info h3{color:#fff;font-size:1.3rem;margin-bottom:8px}
.form-info>p{color:#cfc6bd;font-size:.93rem;margin-bottom:26px}
.contact-row{display:flex;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(217,180,143,.14)}
.contact-row .ic{width:40px;height:40px;border-radius:10px;background:rgba(217,180,143,.1);border:1px solid rgba(217,180,143,.25);display:flex;align-items:center;justify-content:center;color:var(--brand-300);flex-shrink:0}
.contact-row .ic svg{width:19px;height:19px}
.contact-row b{display:block;font-size:.92rem}
.contact-row small{color:var(--brand-300);font-family:var(--mono);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase}
.form-perks{margin-top:auto;padding-top:24px;display:grid;gap:9px}
.form-perks span{font-size:.85rem;color:#e8ddd0}
.form-perks span::before{content:"\2713 ";color:var(--amber);font-weight:700}

/* Consultation form card — warm, professional, consistent fields */
.form-shell{--ink:#2b2622;--line:var(--border);--soft:var(--brand-50);--hint:#8a7f74;
  position:relative;background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);padding:40px 40px 34px;overflow:hidden}
.form-shell::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--grad)}
.form-head{margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.form-head h3{font-size:1.4rem;color:var(--ink);margin:0 0 6px;letter-spacing:-.3px}
.form-head p{font-size:.88rem;color:var(--hint);margin:0}
.form-shell .req{color:var(--brand-700);font-weight:700}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.field{margin-bottom:20px}
.field label{display:block;font-weight:700;font-size:.9rem;color:var(--ink);margin-bottom:8px;line-height:1.3}
.field label .opt{font-weight:500;color:var(--hint)}
.field input:not([type=checkbox]),.field select,.field textarea{display:block;width:100%;height:52px;padding:0 16px;border:1.5px solid var(--line);border-radius:12px;font-family:var(--font);font-size:.97rem;font-weight:500;color:var(--ink);background-color:var(--soft);transition:border-color .2s,box-shadow .2s,background-color .2s;-webkit-appearance:none;appearance:none}
.field textarea{height:auto;min-height:124px;padding:14px 16px;line-height:1.55;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--hint);font-weight:400;opacity:1}
.field select{cursor:pointer;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%238a5227' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:18px}
.field select:invalid{color:var(--hint);font-weight:400}
.field select option{color:var(--ink);font-weight:500}
.field input:not([type=checkbox]):hover,.field select:hover,.field textarea:hover{border-color:var(--brand-300)}
.field input:not([type=checkbox]):focus,.field select:focus,.field textarea:focus{outline:none;background-color:#fff;border-color:var(--brand-500);box-shadow:0 0 0 4px rgba(192,133,82,.16)}
.error-msg{display:none;color:#b3261e;font-size:.8rem;font-weight:600;margin-top:7px;padding-left:2px}
.error-msg::before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-right:6px;border-radius:50%;background:#b3261e;color:#fff;font-size:.68rem;font-weight:800;vertical-align:1px}
.field.has-error input:not([type=checkbox]),.field.has-error select,.field.has-error textarea{border-color:#c0473a;background-color:#fdf6f4}
.field.has-error .error-msg{display:block}
.consent-label{display:flex!important;align-items:flex-start;gap:12px;margin:0!important;padding:14px 16px;background:var(--soft);border:1.5px solid var(--border);border-radius:12px;font-size:.9rem!important;font-weight:500!important;color:#4a423b!important;line-height:1.55;cursor:pointer;transition:border-color .2s}
.consent-label:hover{border-color:var(--brand-300)}
.field .consent-label input[type=checkbox]{flex:none;width:19px;height:19px;margin:2px 0 0;accent-color:var(--brand-600);cursor:pointer}
.consent-label a{color:var(--brand-700);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.field.has-error .consent-label{border-color:#c0473a;background:#fdf6f4}
.form-shell .btn-submit{width:100%;height:56px;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;background:var(--grad);color:#fff;font-family:var(--font-head);font-size:1rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 26px rgba(161,102,59,.35);transition:transform .2s,box-shadow .2s,filter .2s}
.form-shell .btn-submit:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(161,102,59,.45);filter:brightness(1.05)}
.form-shell .btn-submit:active{transform:translateY(0)}
.form-shell .btn-submit:focus-visible{outline:3px solid rgba(209,154,63,.4);outline-offset:3px}
.form-shell .btn-submit svg{transition:transform .2s}
.form-shell .btn-submit:hover svg{transform:translateX(4px)}
.form-shell form.is-sending .btn-submit{opacity:.7;pointer-events:none}
.form-secure{display:flex;align-items:center;justify-content:center;gap:7px;margin:14px 0 0;font-size:.82rem;color:var(--hint);text-align:center}
.form-secure svg{flex:none;color:var(--brand-600)}
.thank-you{display:none;text-align:center;padding:30px 10px}
.thank-you .big{font-size:3rem;margin-bottom:14px}
.thank-you h3{font-size:1.4rem}
.thank-you p{color:var(--muted)}
/* ============ FOOTER ============ */
footer{background:#14100c;color:#cfc6bd;padding:64px 0 0;position:relative}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px}
.footer-grid h4{color:#fff;font-size:.95rem;margin-bottom:18px;font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;font-size:.78rem;color:var(--brand-300)}
.footer-grid li{margin-bottom:10px;font-size:.9rem}
.footer-grid a:hover{color:var(--brand-300)}
.footer-about p{font-size:.9rem;margin:16px 0;max-width:320px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;text-align:center;font-size:.82rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--mono)}
/* ============ MAP ============ */
.map-card{margin-top:36px;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:26px;box-shadow:var(--shadow)}
.map-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.map-head h3{margin:0}
.map-frame{position:relative;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);background:#e8ddd0}
.map-frame iframe{display:block;width:100%;height:420px;border:0}
.map-chip{left:16px;top:16px}
@media (max-width:768px){
  .map-frame iframe{height:300px}
  .map-card{padding:18px}
  .map-head h3{font-size:1rem}
}

/* ============ FLOATING WIDGETS ============ */
#toTop{position:fixed;bottom:26px;right:26px;width:46px;height:46px;border-radius:12px;background:var(--brand-900);color:#fff;border:1px solid rgba(217,180,143,.3);font-size:1.1rem;cursor:pointer;opacity:0;pointer-events:none;transition:.3s;z-index:90;box-shadow:var(--shadow-lg)}
#toTop.show{opacity:1;pointer-events:auto}
#toTop:hover{background:var(--brand-600)}
#chatToggle{position:fixed;bottom:26px;left:26px;width:54px;height:54px;border-radius:14px;background:var(--grad);border:none;font-size:1.3rem;cursor:pointer;z-index:90;box-shadow:0 10px 28px rgba(161,102,59,.5);transition:.3s;color:#fff}
#chatToggle:hover{transform:translateY(-3px)}
#chatPanel{position:fixed;bottom:92px;left:26px;width:290px;background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);display:none;overflow:hidden;z-index:90;border:1px solid var(--border)}
#chatPanel.open{display:block}
.chat-head{background:#1a1612;color:#fff;padding:14px 18px;font-weight:600;font-size:.92rem}
.chat-head small{display:block;color:var(--brand-300);font-weight:400;font-size:.74rem;margin-top:2px}
.chat-body{padding:18px;font-size:.88rem;color:var(--muted)}
.chat-body .bubble{background:var(--brand-50);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.chat-body a{color:var(--brand-700);font-weight:600}
/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
/* ============ RESPONSIVE ============ */
@media (max-width:1000px){
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .hero-visual{max-width:560px}
  .term{left:12px;bottom:-24px}
  .split{grid-template-columns:1fr;gap:36px}
  .split .visual{order:-1;max-width:560px}
  .form-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .topbar{display:none}
  header#header{top:0}
  nav{position:fixed;top:0;right:-290px;width:280px;height:100vh;background:#16120e;padding:90px 30px 30px;transition:.35s;border-left:1px solid rgba(217,180,143,.2)}
  nav.open{right:0;box-shadow:var(--shadow-lg)}
  nav ul{flex-direction:column;align-items:flex-start;gap:20px}
  nav a{color:#fff !important;font-size:1.02rem}
  .hamburger{display:flex;z-index:110;position:relative}
  .hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .hamburger.active span:nth-child(2){opacity:0}
  .hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .form-row{grid-template-columns:1fr}
  .form-shell{padding:28px 20px 26px}
  .field input:not([type=checkbox]),.field select{height:50px}
  .hero{padding:130px 0 80px}
  .stats-bar{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:56px}
  section{padding:60px 0}
  .slide-caption{padding:26px 28px;max-width:100%}
  .slide-caption p{font-size:.9rem;margin-bottom:18px}
  .slide-caption .btn{padding:11px 20px;font-size:.85rem}
  .slider-arrow{width:40px;height:40px;font-size:1.15rem}
  .va-banner .frame{aspect-ratio:16/9}
  .metric{right:10px}
}
@media (max-width:480px){
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .stat h4{font-size:1.7rem}
}

/* ============ v3.0 ADDITIONS — PAGES, POLICY, CONTACT, COOKIE NOTICE ============ */

/* ---- generic page hero ---- */
.page-main { min-height: 60vh; }
.page-hero { background: linear-gradient(135deg, #241f1b 0%, #2b2622 60%, #3a2f24 100%); color: #f3e6d8; padding: 72px 0 56px; position: relative; overflow: hidden; }
.page-hero::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(217,180,143,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(217,180,143,.06) 1px, transparent 1px); background-size: 44px 44px; pointer-events: none; }
.page-hero .container { position: relative; z-index: 2; }
.page-hero h1 { color: #fff; font-size: clamp(2rem, 4.5vw, 3rem); margin: 6px 0 12px; letter-spacing: -.5px; }
.page-hero .eyebrow { color: var(--brand-300); }
.page-hero .eyebrow::before { color: var(--amber); }
.page-lead { color: #d9b48f; max-width: 640px; font-size: 1.06rem; line-height: 1.7; }
.policy-meta { color: #b8a894; font-size: .9rem; margin-top: 14px; }
.policy-meta a { color: var(--brand-300); text-decoration: underline; }

/* ---- page body typography (professional document look) ---- */
.page-body { padding: 64px 0 84px; }
.page-body h2 { text-align: left; margin: 42px 0 14px; padding-bottom: 10px; border-bottom: 2px solid var(--border); scroll-margin-top: 110px; }
.page-body h2:first-child { margin-top: 0; }
.page-body p { color: #4a423b; margin-bottom: 16px; max-width: 760px; }
.page-body ul { list-style: none; margin: 0 0 22px; }
.page-body ul li { position: relative; padding-left: 26px; margin-bottom: 10px; color: #4a423b; line-height: 1.65; }
.page-body ul li::before { content: "\25B8"; position: absolute; left: 6px; color: var(--brand-600); font-size: .9rem; }
.page-body a { color: var(--brand-700); text-decoration: underline; text-underline-offset: 3px; }
.page-body a:hover { color: var(--brand-600); }
.page-body strong { color: var(--brand-900); }

/* ---- privacy policy page (clean document layout) ---- */
.pp-wrap{display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;align-items:start;padding:60px 0 90px}
.pp-toc{position:sticky;top:110px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 16px;box-shadow:var(--shadow)}
.pp-toc h3{font-family:var(--mono);font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--brand-600);margin:0 8px 10px}
.pp-toc nav{display:flex;flex-direction:column;gap:2px}
.pp-toc a{display:block;padding:7px 10px;border-radius:8px;font-size:.88rem;font-weight:500;color:#5b5249;text-decoration:none;transition:.2s}
.pp-toc a:hover{background:var(--brand-50);color:var(--brand-700)}
.pp-toc a.on{background:var(--brand-100);color:var(--brand-900);font-weight:700}
.pp-doc{min-width:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:48px 52px 44px}
.pp-intro{background:var(--brand-50);border-left:4px solid var(--brand-600);border-radius:0 12px 12px 0;padding:22px 26px;margin-bottom:8px}
.pp-intro p{margin:0 0 10px;color:#4a423b;max-width:none}
.pp-intro p:last-child{margin:0;color:#6b6259}
.pp-intro strong{color:var(--brand-900)}
.pp-sec{margin-top:40px;scroll-margin-top:110px}
.pp-sec h2{display:flex;align-items:center;gap:12px;font-size:1.32rem;color:var(--brand-900);font-weight:700;letter-spacing:-.3px;padding:0 0 12px;border-bottom:2px solid var(--border);margin:0 0 6px;text-align:left}
.pp-sec h2::before{content:"";flex:none;width:11px;height:11px;border-radius:3px;background:var(--grad)}
.pp-sec p{color:#4a423b;margin:14px 0;max-width:none;line-height:1.75}
.pp-list{margin:14px 0 4px}
.pp-list li{position:relative;padding:4px 0 4px 26px;color:#4a423b;line-height:1.7}
.pp-list li::before{content:"\25B8";position:absolute;left:6px;color:var(--brand-600);font-size:.9rem}
.pp-uses{margin:14px 0 4px}
.pp-uses li{display:flex;flex-direction:column;gap:2px;padding:13px 0;border-bottom:1px dashed var(--border)}
.pp-uses li:last-child{border-bottom:0}
.pp-uses b{color:var(--brand-900);font-size:.98rem}
.pp-uses span{color:#6b6259;font-size:.93rem;line-height:1.65}
.pp-callout{display:flex;gap:14px;align-items:center;background:#fdf6ea;border:1px solid #ecd9b9;border-left:4px solid var(--amber);border-radius:12px;padding:16px 20px;margin:16px 0}
.pp-callout p{margin:0;font-weight:600;color:var(--brand-900)}
.pp-callout-ic{flex:none;width:40px;height:40px;border-radius:50%;background:var(--brand-100);color:var(--brand-700);display:inline-flex;align-items:center;justify-content:center}
.pp-callout-ic svg{width:21px;height:21px}
.pp-rights{margin:14px 0 4px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px}
.pp-rights li{display:flex;gap:11px;align-items:flex-start;padding:10px 14px;background:var(--brand-50);border:1px solid var(--border);border-radius:10px;color:#4a423b;line-height:1.6;font-weight:500}
.pp-rights li svg{flex:none;width:20px;height:20px;padding:4px;border-radius:50%;background:var(--brand-600);color:#fff;margin-top:2px}
.pp-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}
.pp-contact-item{display:flex;gap:14px;align-items:center;padding:16px 18px;background:var(--brand-50);border:1px solid var(--border);border-radius:12px}
.pp-cic{flex:none;width:42px;height:42px;border-radius:12px;background:var(--brand-100);color:var(--brand-700);display:inline-flex;align-items:center;justify-content:center}
.pp-cic svg{width:21px;height:21px}
.pp-contact-item small{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.pp-contact-item a,.pp-contact-item b{color:var(--brand-900);font-weight:600;font-size:.95rem;line-height:1.45;text-decoration:none;word-break:break-word}
.pp-contact-item a:hover{color:var(--brand-600);text-decoration:underline}
.pp-thanks{text-align:center;margin:44px 0 0;padding-top:26px;border-top:2px solid var(--border);color:var(--brand-900);font-weight:600}
@media (max-width:900px){
  .pp-wrap{grid-template-columns:1fr;gap:22px;padding:36px 0 60px}
  .pp-toc{position:static;padding:14px}
  .pp-toc nav{flex-direction:row;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .pp-toc a{white-space:nowrap;flex:none;border:1px solid var(--border);padding:6px 12px}
  .pp-doc{padding:28px 22px}
  .pp-sec{margin-top:30px}
}
@media (max-width:620px){
  .pp-rights,.pp-contact-grid{grid-template-columns:1fr}
  .pp-sec h2{font-size:1.15rem}
  .pp-intro{padding:16px 18px}
}

/* ---- contact page cards ---- */
.contact-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 56px; }
.contact-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow); transition: transform .25s, box-shadow .25s; }
.contact-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.contact-card .ic { width: 46px; height: 46px; border-radius: 12px; background: var(--brand-100); color: var(--brand-700); display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.contact-card .ic svg { width: 24px; height: 24px; }
.contact-card small { display: block; font-family: var(--mono); font-size: .72rem; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.contact-card b { color: var(--brand-900); line-height: 1.5; font-size: .98rem; }
.contact-card a { color: var(--brand-700); text-decoration: underline; }

/* ---- blog fallback cards ---- */
.post-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; margin-bottom: 22px; box-shadow: var(--shadow); }
.post-card h2 { text-align: left; margin: 0 0 10px; border: none; padding: 0; }
.post-card h2 a { color: var(--brand-900); }
.post-card h2 a:hover { color: var(--brand-600); }
.post-card p { margin: 0; color: var(--muted); }

/* ---- form consent + honeypot + notes ---- */
.rhts-hp { position: absolute; left: -9999px; top: -9999px; height: 0; overflow: hidden; }
.form-note { font-size: .84rem; color: var(--muted); margin-top: 14px; line-height: 1.6; }
.form-note a { color: var(--brand-700); text-decoration: underline; }
.form-note-error { color: #b3261e; font-weight: 600; }

/* ---- cookie consent notice ---- */
.cookie-notice { position: fixed; bottom: 18px; left: 18px; right: 18px; z-index: 9999; max-width: 560px; background: #241f1b; color: #f3e6d8; border: 1px solid rgba(209,154,63,.4); border-radius: 14px; padding: 18px 20px; box-shadow: var(--shadow-lg); }
.cookie-inner p { font-size: .88rem; line-height: 1.6; margin: 0 0 12px; color: #e8ddd0; }
.cookie-inner a { color: var(--brand-300); text-decoration: underline; }
.cookie-actions { display: flex; gap: 10px; }
.btn-sm { padding: 8px 18px; font-size: .84rem; }
@media (max-width: 600px) {
  .cookie-notice { left: 12px; right: 12px; bottom: 12px; }
}

/* ---- nav: accommodate extra menu items on smaller screens ---- */
@media (max-width: 1080px) {
  #nav ul { gap: 18px; }
}


/* ============================================================
   v4.0 - WIDE PROFESSIONAL LAYOUT + CONSULTATION FORM REDESIGN
   (override layer: loaded last, so it wins the cascade)
   ============================================================ */

/* ---- Wider, airier layout ---- */
.container{max-width:1360px;padding:0 32px}
section{padding:96px 0}
.hero-inner{gap:64px}
.form-grid{max-width:1320px;gap:44px;grid-template-columns:.92fr 1.08fr}
.form-info{padding:46px 40px}
.form-shell{padding:48px 48px 40px;border-radius:24px;border:1px solid var(--border)}
.map-card{max-width:1320px;margin:0 auto}

/* ---- Clearer field formatting ---- */
.field{margin-bottom:20px}
.field label{display:flex;align-items:baseline;gap:6px;font-size:.78rem;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#3f3831;margin-bottom:9px}
.field label .opt{font-size:.72rem;letter-spacing:.4px;color:var(--hint);text-transform:none;font-weight:600}
.field input:not([type=checkbox]),.field select,.field textarea{height:56px;background:#fff;border:1.5px solid #d8cab7;border-radius:12px;font-size:1rem;padding:0 16px}
.field textarea{padding:14px 16px}
.field input:not([type=checkbox]):focus,.field select:focus,.field textarea:focus{border-color:var(--brand-500);box-shadow:0 0 0 4px rgba(192,133,82,.18)}
.field input:not([type=checkbox])::placeholder,.field textarea::placeholder{color:#a99e92}
.error-msg{display:none;align-items:center;gap:7px;color:#b3261e;font-size:.82rem;font-weight:600;margin-top:8px}
.error-msg::before{content:"!";flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#b3261e;color:#fff;font-size:.7rem;font-weight:800}
.field.has-error .error-msg{display:flex}
.field.has-error .consent-label{border-color:#c0473a!important;background:#fdf6f4!important}

/* ---- Custom accessible consent checkbox ---- */
.consent-label{gap:14px!important;padding:16px 18px!important;background:#fff!important;border:1.5px solid #d8cab7!important;font-size:.95rem!important;color:#3f3831!important;text-transform:none!important}
.field .consent-label input[type=checkbox]{position:absolute;opacity:0;width:24px;height:24px;margin:0;cursor:pointer}
.checkbox-box{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:2px;border:2px solid var(--brand-600);border-radius:7px;background:#fff;transition:background .18s,border-color .18s,box-shadow .18s}
.checkbox-box svg{width:14px;height:14px;color:#fff;opacity:0;transform:scale(.4);transition:opacity .18s,transform .18s}
.consent-label input:checked ~ .checkbox-box{background:var(--grad);border-color:var(--brand-600)}
.consent-label input:checked ~ .checkbox-box svg{opacity:1;transform:scale(1)}
.consent-label input:focus-visible ~ .checkbox-box{box-shadow:0 0 0 4px rgba(192,133,82,.25)}
.consent-label:hover{border-color:var(--brand-300)!important}
.consent-text{line-height:1.55}

/* ---- Submit button + sending state ---- */
.form-shell .btn-submit{height:58px;margin-top:10px;font-size:1.02rem}
.form-shell .btn-submit:disabled{opacity:.8;cursor:progress;transform:none;box-shadow:0 12px 26px rgba(161,102,59,.35)}
.form-shell .btn-submit.is-loading .btn-arrow{animation:rhts-spin .9s linear infinite}
@keyframes rhts-spin{to{transform:rotate(360deg)}}

/* ---- Status banner (success / error feedback after redirect) ---- */
.form-banner{display:flex;align-items:flex-start;gap:10px;margin:0 0 22px;padding:14px 18px;border-radius:12px;font-size:.92rem;font-weight:600;line-height:1.5}
.form-banner[hidden]{display:none!important}
.form-banner.ok{background:#edf7ed;border:1px solid #bfe3c6;color:#1e6b30}
.form-banner.err{background:#fdf1ef;border:1px solid #f0cdc7;color:#a33225}

/* ---- Thank-you panel ---- */
.thank-you{padding:44px 12px}
.thank-you .big{font-size:52px;margin-bottom:10px}

/* ---- Responsive ---- */
@media (max-width:1000px){
  .form-grid{gap:32px}
  .form-info{padding:36px 28px}
}
@media (max-width:768px){
  .container{padding:0 18px}
  .form-shell{padding:32px 22px 28px}
  .field input:not([type=checkbox]),.field select{height:54px}
  .form-banner{margin-bottom:18px}
}

/* v4.0: honeypot field is invisible to humans */
.rhts-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* v4.0: policy-page styles (previously only in the front-page embedded fallback) */
.policy-body { display: grid; grid-template-columns: 280px 1fr; gap: 48px; align-items: start; }
.policy-content { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 40px 44px; box-shadow: var(--shadow); }
.policy-toc { position: sticky; top: 110px; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px 24px; box-shadow: var(--shadow); }

/* ============================================================
   v4.0.1 - CONSULTATION FORM ICON SIZE FIX
   (.fh-ic previously had no rule, so the head SVG rendered oversized)
   ============================================================ */

/* Form-head: compact icon + text side by side */
.form-head{display:flex;align-items:flex-start;gap:13px}
.fh-ic{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-top:2px;border-radius:10px;background:var(--brand-50);border:1px solid var(--border);color:var(--brand-600)}
.fh-ic svg{width:17px;height:17px}

/* Contact rows in the form info panel: smaller icons */
.contact-row .ic{width:32px;height:32px;border-radius:9px}
.contact-row .ic svg{width:15px;height:15px}

/* Submit button arrow + secure-lock note: slightly tighter */
.form-shell .btn-submit .btn-arrow{width:17px;height:17px}
.form-secure svg{width:13px;height:13px}

/* Error badge dot: smaller */
.error-msg::before{width:14px;height:14px;font-size:.62rem}
