/* ============================================================
   Havilah Grace Digital — assets/css/style.css  v3.0
   Brand: Navy #002F6C  |  Red #C8102E
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --color-primary:#002F6C;--color-secondary:#C8102E;--color-accent:#C8102E;
  --color-dark:#0d1b2e;--color-text:#1e2d40;--color-text-muted:#5a6b7e;
  --color-bg:#ffffff;--color-bg-alt:#f4f7fb;--color-border:#dde4ed;--color-white:#ffffff;
  --font-family:'Inter','Segoe UI',system-ui,sans-serif;
  --font-xs:.75rem;--font-sm:.875rem;--font-base:1rem;--font-lg:1.125rem;
  --font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--font-4xl:2.25rem;
  --font-5xl:3rem;--font-6xl:3.75rem;
  --sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;
  --sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--sp-16:4rem;
  --sp-20:5rem;--sp-24:6rem;
  --r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:24px;--r-full:9999px;
  --sh-sm:0 1px 4px rgba(0,47,108,.08);--sh-md:0 4px 16px rgba(0,47,108,.12);
  --sh-lg:0 8px 32px rgba(0,47,108,.16);--sh-xl:0 20px 60px rgba(0,47,108,.2);
  --tr:all .25s ease;
}
html{scroll-behavior:smooth}
body{font-family:var(--font-family);font-size:var(--font-base);color:var(--color-text);background:var(--color-bg);line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:var(--color-primary);text-decoration:none;transition:var(--tr)}
a:hover{color:var(--color-secondary)}
h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700;color:var(--color-dark)}
p{margin-bottom:var(--sp-4)}p:last-child{margin-bottom:0}
ul,ol{padding-left:var(--sp-6)}li{margin-bottom:var(--sp-2)}

.skip-link{position:absolute;top:-100%;left:var(--sp-4);background:var(--color-primary);color:#fff;padding:var(--sp-2) var(--sp-4);border-radius:0 0 var(--r-md) var(--r-md);font-weight:600;z-index:9999}
.skip-link:focus{top:0}

/* LAYOUT */
.container{max-width:1160px;margin:0 auto;padding:0 var(--sp-6)}
.container--narrow{max-width:800px}.container--wide{max-width:1320px}
.section{padding:var(--sp-20) 0}.section--sm{padding:var(--sp-12) 0}.section--lg{padding:var(--sp-24) 0}
.section-header{text-align:center;max-width:660px;margin:0 auto var(--sp-12)}
.section-badge{display:inline-flex;align-items:center;gap:var(--sp-2);background:rgba(0,47,108,.08);color:var(--color-primary);padding:.3rem .9rem;border-radius:var(--r-full);font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-4)}
.section-badge--red{background:rgba(200,16,46,.08);color:var(--color-secondary)}
.section-title{font-size:var(--font-3xl);margin-bottom:var(--sp-3);color:var(--color-dark);letter-spacing:-.02em}
.section-subtitle{font-size:var(--font-lg);color:var(--color-text-muted);line-height:1.75}
.grid{display:grid;gap:var(--sp-6)}
.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:.8rem 1.75rem;border-radius:var(--r-md);font-weight:600;font-size:var(--font-sm);cursor:pointer;transition:var(--tr);white-space:nowrap;text-decoration:none;border:2px solid transparent;line-height:1}
.btn:hover{transform:translateY(-1px);text-decoration:none}
.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.btn--primary:hover{background:#001f4a;color:#fff;box-shadow:var(--sh-md)}
.btn--red{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}
.btn--red:hover{background:#a50d25;color:#fff;box-shadow:var(--sh-md)}
.btn--outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}
.btn--outline:hover{background:var(--color-primary);color:#fff}
.btn--outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn--outline-white:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.btn--white{background:#fff;color:var(--color-primary);border-color:#fff}
.btn--white:hover{background:var(--color-bg-alt);color:var(--color-primary)}
.btn--sm{padding:.55rem 1.1rem;font-size:var(--font-xs)}.btn--lg{padding:1rem 2.25rem;font-size:var(--font-base)}
.btn--xl{padding:1.1rem 2.5rem;font-size:var(--font-lg)}.btn--full{width:100%;justify-content:center}

/* CARDS */
.card{background:#fff;border:1px solid var(--color-border);border-radius:var(--r-xl);padding:var(--sp-6);transition:var(--tr);display:flex;flex-direction:column;gap:var(--sp-3);position:relative;overflow:hidden}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--color-primary)}
.card__accent-bar{position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.card:hover .card__accent-bar{transform:scaleX(1)}
.card__icon{width:56px;height:56px;background:rgba(0,47,108,.08);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0}
.card__tag{display:inline-flex;align-items:center;padding:.2rem .7rem;background:rgba(0,47,108,.08);color:var(--color-primary);border-radius:var(--r-full);font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;width:fit-content}
.card__tag--red{background:rgba(200,16,46,.08);color:var(--color-secondary)}
.card__title{font-size:var(--font-xl);color:var(--color-dark)}
.card__desc{font-size:var(--font-sm);color:var(--color-text-muted);line-height:1.75;flex:1}
.card__link{font-size:var(--font-sm);font-weight:600;color:var(--color-primary);margin-top:auto;display:inline-flex;align-items:center;gap:4px}
.card__link:hover{color:var(--color-secondary);gap:8px}
.card--image .card__img{margin:calc(-1*var(--sp-6)) calc(-1*var(--sp-6)) var(--sp-4);height:200px;overflow:hidden;border-radius:var(--r-xl) var(--r-xl) 0 0}
.card--image .card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.card--image:hover .card__img img{transform:scale(1.04)}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:4px;padding:.25rem .7rem;border-radius:var(--r-full);font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.badge--navy{background:var(--color-primary);color:#fff}.badge--red{background:var(--color-secondary);color:#fff}
.badge--light{background:rgba(0,47,108,.08);color:var(--color-primary)}.badge--green{background:#dcfce7;color:#166534}
.badge--grey{background:var(--color-bg-alt);color:var(--color-text-muted)}

/* ANNOUNCEMENT BAR */
.announcement-bar{background:var(--color-secondary);color:#fff;text-align:center;padding:var(--sp-2) var(--sp-8);font-size:var(--font-xs);font-weight:500;position:relative}
.announcement-bar a{color:rgba(255,255,255,.9);text-decoration:underline}
.announcement-bar__close{position:absolute;right:var(--sp-4);top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;opacity:.7;transition:var(--tr)}
.announcement-bar__close:hover{opacity:1}

/* HEADER */
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);z-index:200;transition:box-shadow .3s ease}
.site-header.is-sticky{position:sticky;top:0}
.site-header.scrolled{box-shadow:var(--sh-md)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);height:76px}
.site-logo{display:flex;align-items:center;gap:var(--sp-3);text-decoration:none;flex-shrink:0}
.logo-icon{width:42px;height:42px;background:var(--color-primary);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:800;flex-shrink:0}
.logo-text{display:flex;flex-direction:column}
.logo-text__primary{font-size:var(--font-base);font-weight:800;color:var(--color-primary);letter-spacing:-.02em;line-height:1.1}
.logo-text__sub{font-size:var(--font-xs);font-weight:500;color:var(--color-text-muted)}
.site-nav{flex:1;display:flex;justify-content:center}
.nav-menu{display:flex;align-items:center;gap:var(--sp-1);list-style:none;padding:0;margin:0}
.nav-menu>li{position:relative}
.nav-menu>li>a{display:block;padding:.5rem var(--sp-3);font-size:var(--font-sm);font-weight:500;color:var(--color-text);border-radius:var(--r-sm);transition:var(--tr);white-space:nowrap}
.nav-menu>li>a:hover,.nav-menu>li.current-menu-item>a{color:var(--color-primary);background:rgba(0,47,108,.06);text-decoration:none}
.nav-menu .sub-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--color-border);border-radius:var(--r-lg);box-shadow:var(--sh-lg);min-width:220px;list-style:none;padding:var(--sp-2) 0;z-index:300}
.nav-menu li:hover>.sub-menu{display:block}
.sub-menu li a{display:block;padding:var(--sp-2) var(--sp-4);font-size:var(--font-sm);color:var(--color-text);transition:var(--tr)}
.sub-menu li a:hover{color:var(--color-primary);background:var(--color-bg-alt);text-decoration:none}
.header-actions{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--sp-2);border-radius:var(--r-sm);transition:var(--tr)}
.hamburger:hover{background:var(--color-bg-alt)}
.hamburger span{display:block;width:24px;height:2px;background:var(--color-dark);border-radius:2px;transition:var(--tr)}
.hamburger.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.is-active span:nth-child(2){opacity:0}
.hamburger.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* HERO */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-primary) 0%,#004499 100%);padding:var(--sp-24) 0 var(--sp-20);display:flex;align-items:center}
.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-12);align-items:center;position:relative;z-index:2}
.hero__content{min-width:0;overflow-wrap:break-word}
.hero__badge{display:inline-flex;align-items:center;gap:var(--sp-2);background:rgba(255,255,255,.12);color:rgba(255,255,255,.95);padding:.4rem 1rem;border-radius:var(--r-full);font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-6);border:1px solid rgba(255,255,255,.2)}
.hero__badge .dot{width:6px;height:6px;background:var(--color-secondary);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.hero__title{font-size:var(--font-5xl);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--sp-6);word-break:break-word;overflow-wrap:break-word}
.hero__title .highlight{color:transparent;background:linear-gradient(90deg,#fff 0%,rgba(200,16,46,.9) 100%);-webkit-background-clip:text;background-clip:text}
.hero__subtitle{font-size:var(--font-xl);color:rgba(255,255,255,.82);line-height:1.75;margin-bottom:var(--sp-8);word-break:break-word;overflow-wrap:break-word}
.hero__actions{display:flex;gap:var(--sp-4);flex-wrap:wrap}
.hero__trust{margin-top:var(--sp-8);display:flex;align-items:center;gap:var(--sp-4);padding-top:var(--sp-6);border-top:1px solid rgba(255,255,255,.15)}
.hero__trust-item{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero__trust-num{font-size:var(--font-2xl);font-weight:800;color:#fff}
.hero__trust-label{font-size:var(--font-xs);color:rgba(255,255,255,.65);white-space:nowrap}
.hero__trust-divider{width:1px;height:36px;background:rgba(255,255,255,.2)}
.hero__image-panel{position:relative;border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-xl);aspect-ratio:4/3;flex-shrink:0}
.hero__image-panel img{width:100%;height:100%;object-fit:cover}
.hero__image-badge{position:absolute;bottom:var(--sp-4);left:var(--sp-4);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);box-shadow:var(--sh-md);display:flex;align-items:center;gap:var(--sp-3)}
.hero__image-badge .badge-icon{font-size:1.5rem}
.hero__image-badge .badge-text{font-size:var(--font-sm);font-weight:700;color:var(--color-dark);display:block}
.hero__image-badge .badge-sub{font-size:var(--font-xs);color:var(--color-text-muted);display:block}
.hero__bg-deco{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero__blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.15}
.hero__blob--1{width:500px;height:500px;top:-150px;right:-100px;background:var(--color-secondary)}
.hero__blob--2{width:350px;height:350px;bottom:-100px;left:10%;background:#4499ff}
.hero__grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:50px 50px}

/* PROBLEM/SOLUTION */
.problem-band{background:var(--color-bg-alt);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--sp-16) 0}
.problem-band__grid{display:grid;grid-template-columns:1fr 60px 1fr;gap:var(--sp-8);align-items:center}
.problem-band__col h3{font-size:var(--font-xl);margin-bottom:var(--sp-4)}
.problem-band__col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.problem-band__col ul li{display:flex;align-items:flex-start;gap:var(--sp-3);font-size:var(--font-sm);color:var(--color-text-muted)}
.problem-band__arrow{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:var(--color-primary);color:#fff;border-radius:50%;font-size:1.4rem;flex-shrink:0;box-shadow:var(--sh-md);margin:0 auto}

/* STATS */
.stats-section{padding:var(--sp-16) 0;background:var(--color-primary)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--sp-8) var(--sp-4);position:relative}
.stat-item:not(:last-child)::after{content:'';position:absolute;right:0;top:25%;bottom:25%;width:1px;background:rgba(255,255,255,.12)}
.stat-item__num{font-size:var(--font-5xl);font-weight:800;color:#fff;line-height:1;letter-spacing:-.03em}
.stat-item__label{font-size:var(--font-sm);color:rgba(255,255,255,.65);font-weight:500;margin-top:var(--sp-2)}

/* TESTIMONIALS */
.testimonials{background:var(--color-bg-alt)}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--sp-6)}
.testimonial-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--r-xl);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4);transition:var(--tr);position:relative}
.testimonial-card::before{content:'"';position:absolute;top:var(--sp-4);right:var(--sp-6);font-size:5rem;line-height:1;color:var(--color-primary);opacity:.06;font-family:Georgia,serif}
.testimonial-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.testimonial-card .stars{display:flex;gap:3px;color:#f59e0b;font-size:1rem}
.testimonial-card__quote{font-size:var(--font-base);color:var(--color-text);line-height:1.8;font-style:italic;flex:1}
.testimonial-card__author{display:flex;align-items:center;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--color-border)}
.author-initials{width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-sm);font-weight:700;flex-shrink:0}
.author-name{font-weight:700;font-size:var(--font-sm);color:var(--color-dark);display:block}
.author-role{font-size:var(--font-xs);color:var(--color-text-muted)}

/* CTA BANNER */
.cta-banner{background:var(--color-secondary);padding:var(--sp-20) 0;position:relative;overflow:hidden;text-align:center}
.cta-banner--navy{background:var(--color-primary)}
.cta-banner__inner{position:relative;z-index:1}
.cta-banner__pre{font-size:var(--font-sm);color:rgba(255,255,255,.7);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-3)}
.cta-banner__title{font-size:var(--font-4xl);font-weight:800;color:#fff;line-height:1.15;margin-bottom:var(--sp-4)}
.cta-banner__subtitle{font-size:var(--font-lg);color:rgba(255,255,255,.82);max-width:580px;margin:0 auto var(--sp-8)}
.cta-banner__actions{display:flex;justify-content:center;gap:var(--sp-4);flex-wrap:wrap}

/* TRUSTED BAR */
.trusted-bar{background:var(--color-bg-alt);padding:var(--sp-12) 0;border-bottom:1px solid var(--color-border)}
.trusted-bar__label{text-align:center;font-size:var(--font-xs);color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-6)}
.trusted-bar__logos{display:flex;align-items:center;justify-content:center;gap:var(--sp-10);flex-wrap:wrap}
.trusted-logo-placeholder{background:var(--color-border);border-radius:var(--r-md);padding:.5rem 1.25rem;font-size:var(--font-xs);font-weight:700;color:var(--color-text-muted);display:flex;align-items:center;height:36px;opacity:.6}

/* PORTFOLIO */
.portfolio-card{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--color-border);background:#fff;transition:var(--tr);display:flex;flex-direction:column}
.portfolio-card:hover{transform:translateY(-4px);box-shadow:var(--sh-xl)}
.portfolio-card__img{height:220px;overflow:hidden;position:relative}
.portfolio-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.portfolio-card:hover .portfolio-card__img img{transform:scale(1.06)}
.portfolio-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,47,108,.7) 0%,transparent 60%)}
.portfolio-card__body{padding:var(--sp-6);flex:1;display:flex;flex-direction:column;gap:var(--sp-3)}
.portfolio-card__result{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--font-sm);font-weight:700;color:var(--color-primary);background:rgba(0,47,108,.06);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);width:fit-content}

/* BLOG */
.blog-card{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--color-border);background:#fff;transition:var(--tr)}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.blog-card__img{height:200px;overflow:hidden}
.blog-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.blog-card:hover .blog-card__img img{transform:scale(1.05)}
.blog-card__body{padding:var(--sp-5)}
.blog-card__meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-3)}
.blog-card__date{font-size:var(--font-xs);color:var(--color-text-muted)}
.blog-card__title{font-size:var(--font-lg);margin-bottom:var(--sp-2)}
.blog-card__title a{color:var(--color-dark)}
.blog-card__title a:hover{color:var(--color-primary)}
.blog-card__excerpt{font-size:var(--font-sm);color:var(--color-text-muted);line-height:1.75}

/* FAQ */
.faq-item{border:1px solid var(--color-border);border-radius:var(--r-lg);overflow:hidden;transition:var(--tr)}
.faq-item:hover{border-color:var(--color-primary)}
.faq-item+.faq-item{margin-top:var(--sp-3)}
.faq-question{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-6);cursor:pointer;background:#fff;font-weight:600;font-size:var(--font-base);color:var(--color-dark);list-style:none;user-select:none;gap:var(--sp-4)}
.faq-question::-webkit-details-marker{display:none}
.faq-icon{width:28px;height:28px;flex-shrink:0;background:var(--color-bg-alt);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:var(--tr);color:var(--color-primary)}
details[open] .faq-icon{transform:rotate(45deg);background:var(--color-primary);color:#fff}
.faq-answer{padding:var(--sp-4) var(--sp-6) var(--sp-5);background:#fff;font-size:var(--font-sm);color:var(--color-text-muted);line-height:1.8;border-top:1px solid var(--color-border)}

/* NEWSLETTER */
.newsletter-band{background:var(--color-primary);padding:var(--sp-16) 0}
.newsletter-band__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-12);align-items:center}
.newsletter-band__copy h2{color:#fff;font-size:var(--font-2xl);margin-bottom:var(--sp-2)}
.newsletter-band__copy p{color:rgba(255,255,255,.75);font-size:var(--font-sm);margin:0}
.newsletter-form{display:flex;gap:var(--sp-3)}
.newsletter-form input{flex:1;padding:.8rem 1.2rem;border:1.5px solid rgba(255,255,255,.2);border-radius:var(--r-md);background:rgba(255,255,255,.1);color:#fff;font-size:var(--font-sm);transition:var(--tr)}
.newsletter-form input::placeholder{color:rgba(255,255,255,.5)}
.newsletter-form input:focus{outline:none;border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.15)}

/* PROCESS */
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-6);position:relative}
.process-grid::before{content:'';position:absolute;top:30px;left:10%;right:10%;height:2px;background:var(--color-border);z-index:0}
.process-step{position:relative;z-index:1;text-align:center}
.process-step__num{width:60px;height:60px;margin:0 auto var(--sp-4);background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-xl);font-weight:800;border:4px solid var(--color-bg-alt);box-shadow:var(--sh-md)}
.process-step__title{font-size:var(--font-base);font-weight:700;margin-bottom:var(--sp-2)}
.process-step__desc{font-size:var(--font-xs);color:var(--color-text-muted);line-height:1.75}

/* FORMS */
.hgd-form{display:flex;flex-direction:column;gap:var(--sp-4)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.form-group{display:flex;flex-direction:column;gap:var(--sp-2)}
.form-group label{font-size:var(--font-sm);font-weight:600;color:var(--color-dark)}
.form-group input,.form-group textarea,.form-group select{padding:.75rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--r-md);font-size:var(--font-sm);color:var(--color-text);font-family:var(--font-family);transition:var(--tr);width:100%;background:#fff}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(0,47,108,.1)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted);font-size:var(--font-sm)}
.form-group textarea{resize:vertical;min-height:130px}
.form-notice{padding:var(--sp-4);border-radius:var(--r-md);font-size:var(--font-sm);font-weight:500}
.form-notice--success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.form-notice--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}

/* PAGE HERO */
.page-hero{background:linear-gradient(135deg,var(--color-primary) 0%,#003d8a 100%);padding:var(--sp-20) 0;position:relative;overflow:hidden}
.page-hero__content{position:relative;z-index:1}
.page-hero h1{font-size:var(--font-4xl);color:#fff;margin-bottom:var(--sp-4)}
.page-hero p{font-size:var(--font-lg);color:rgba(255,255,255,.8);max-width:600px;margin:0}
.page-hero__breadcrumb{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--font-xs);color:rgba(255,255,255,.6);margin-bottom:var(--sp-4);flex-wrap:wrap}
.page-hero__breadcrumb a{color:rgba(255,255,255,.6)}.page-hero__breadcrumb a:hover{color:#fff}

/* CONTACT */
.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--sp-12)}
.contact-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--r-xl);padding:var(--sp-6)}
.contact-item{display:flex;gap:var(--sp-4);align-items:flex-start;padding:var(--sp-4) 0;border-bottom:1px solid var(--color-border)}
.contact-item:last-child{border-bottom:none}
.contact-item__icon{width:44px;height:44px;flex-shrink:0;background:rgba(0,47,108,.06);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.contact-item__label{font-size:var(--font-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.contact-item__value{font-size:var(--font-sm);color:var(--color-dark);font-weight:500}
.contact-item__value a{color:var(--color-primary)}

/* ABOUT */
.about-story__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-12);align-items:center}
.about-story__img{border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-xl)}
.about-story__img img{width:100%;height:420px;object-fit:cover}
.value-card{background:var(--color-bg-alt);border-radius:var(--r-xl);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3);border:1px solid var(--color-border)}

/* BOOKING */
.booking-section{padding:var(--sp-20) 0;background:var(--color-bg-alt)}
.booking-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--sp-12);align-items:start}
.booking-step{display:flex;gap:var(--sp-4);align-items:flex-start}
.booking-step__num{width:40px;height:40px;flex-shrink:0;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-sm);font-weight:700}
.booking-step__body h4{font-size:var(--font-base);margin-bottom:var(--sp-1)}
.booking-step__body p{font-size:var(--font-sm);color:var(--color-text-muted);margin:0}

/* CHAT WIDGET */
.chat-trigger{position:fixed;bottom:var(--sp-6);right:var(--sp-6);width:60px;height:60px;background:var(--color-secondary);color:#fff;border-radius:50%;border:none;cursor:pointer;box-shadow:var(--sh-xl);z-index:999;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:var(--tr)}
.chat-trigger:hover{transform:scale(1.08);background:#a50d25}
.chat-trigger__badge{position:absolute;top:-2px;right:-2px;width:18px;height:18px;background:#22c55e;border-radius:50%;border:2px solid #fff}
.chat-popup{display:none;position:fixed;bottom:80px;right:var(--sp-6);width:320px;background:#fff;border-radius:var(--r-2xl);box-shadow:var(--sh-xl);z-index:998;overflow:hidden;border:1px solid var(--color-border);flex-direction:column}
.chat-popup.is-open{display:flex}
.chat-popup__header{background:var(--color-primary);padding:var(--sp-4);display:flex;align-items:center;justify-content:space-between}
.chat-popup__header h4{color:#fff;font-size:var(--font-sm);margin:0}
.chat-popup__close{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem;line-height:1}
.chat-popup__body{padding:var(--sp-4)}
.chat-popup__body p{font-size:var(--font-sm);color:var(--color-text-muted);margin-bottom:var(--sp-4)}
.chat-options{display:flex;flex-direction:column;gap:var(--sp-2)}
.chat-option{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--color-border);text-decoration:none;font-size:var(--font-sm);color:var(--color-text);transition:var(--tr)}
.chat-option:hover{border-color:var(--color-primary);background:var(--color-bg-alt);text-decoration:none;color:var(--color-primary)}

/* FOOTER */
.site-footer{background:var(--color-primary);color:rgba(255,255,255,.75)}
.footer-top{padding:var(--sp-16) 0;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-8)}
.footer-brand{display:flex;flex-direction:column;gap:var(--sp-4)}
.footer-brand__name{font-size:var(--font-xl);font-weight:800;color:#fff}
.footer-brand__desc{font-size:var(--font-xs);line-height:1.75;max-width:280px}
.footer-social{display:flex;gap:var(--sp-3);margin-top:var(--sp-2)}
.social-btn{width:36px;height:36px;background:rgba(255,255,255,.1);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:0;transition:var(--tr);text-decoration:none}
.social-btn:hover{background:var(--color-secondary);color:#fff;text-decoration:none;transform:translateY(-2px)}
.social-btn svg{width:20px;height:20px;fill:currentColor}
.footer-col h4{font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:var(--sp-5)}
.footer-links{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.footer-links a{font-size:var(--font-sm);color:rgba(255,255,255,.65);transition:var(--tr)}
.footer-links a:hover{color:#fff;text-decoration:none;padding-left:4px}
.footer-contact-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.footer-contact-list li{display:flex;gap:var(--sp-2);align-items:flex-start;font-size:var(--font-xs)}
.footer-contact-list a{color:rgba(255,255,255,.75)}.footer-contact-list a:hover{color:#fff;text-decoration:none}
.footer-bottom{padding:var(--sp-4) 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--font-xs)}
.footer-bottom p{margin:0}
.footer-legal{display:flex;gap:var(--sp-4)}
.footer-legal a{color:rgba(255,255,255,.5)}.footer-legal a:hover{color:#fff;text-decoration:none}

/* SCROLL PROGRESS */
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--color-secondary);z-index:9999;width:0;transition:width .1s linear}

/* ANIMATIONS */
.fade-in{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
.fade-in-delay-1{transition-delay:.1s}.fade-in-delay-2{transition-delay:.2s}
.fade-in-delay-3{transition-delay:.3s}.fade-in-delay-4{transition-delay:.4s}

/* ADMIN HINT */
.admin-hint{grid-column:1/-1;background:#fffbeb;border:1px dashed #fbbf24;border-radius:var(--r-md);padding:var(--sp-4);font-size:var(--font-xs);color:#92400e}
.admin-hint a{color:#d97706;font-weight:600}

/* ENTRY CONTENT */
.entry-content h2,.entry-content h3{margin:var(--sp-8) 0 var(--sp-4)}
.entry-content p{margin-bottom:var(--sp-4);color:var(--color-text);line-height:1.85}
.entry-content blockquote{border-left:4px solid var(--color-secondary);background:var(--color-bg-alt);padding:var(--sp-4) var(--sp-6);border-radius:0 var(--r-md) var(--r-md) 0;margin:var(--sp-6) 0;font-style:italic}
.entry-content img{border-radius:var(--r-lg);margin:var(--sp-6) 0}
.entry-content a{color:var(--color-primary);text-decoration:underline}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.section-sep{border:none;border-top:1px solid var(--color-border);margin:0}
.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-white{color:#fff}
.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}

/* RESPONSIVE */
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat-item::after{display:none}
  .process-grid{grid-template-columns:repeat(2,1fr)}.process-grid::before{display:none}
}
@media(max-width:900px){
  .hero{padding:var(--sp-16) 0 var(--sp-12)}
  .hero__inner,.about-story__grid,.booking-grid,.newsletter-band__inner,.contact-layout{grid-template-columns:1fr}
  .hero__image-panel{display:none}
  .hero__title{font-size:var(--font-4xl)}
  .hero__subtitle{font-size:var(--font-lg)}
  .hero__trust{gap:var(--sp-3)}
  .problem-band__grid{grid-template-columns:1fr}
  .problem-band__arrow{transform:rotate(90deg)}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  :root{--font-5xl:2rem;--font-4xl:1.75rem;--font-3xl:1.375rem}
  .hero{padding:var(--sp-12) 0 var(--sp-8)}
  .hero__title{font-size:var(--font-3xl);line-height:1.15}
  .hero__subtitle{font-size:var(--font-base)}
  .hero__trust{flex-wrap:wrap;gap:var(--sp-3)}
  .hero__trust-item{min-width:calc(50% - var(--sp-2))}
  .section{padding:var(--sp-16) 0}
  .site-nav{display:none;position:fixed;top:76px;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;z-index:199;flex-direction:column;padding:var(--sp-4)}
  .site-nav.is-open{display:flex}
  .nav-menu{flex-direction:column;align-items:stretch;gap:0}
  .nav-menu>li>a{padding:var(--sp-3) var(--sp-4);font-size:var(--font-base);border-bottom:1px solid var(--color-border);border-radius:0}
  .nav-menu .sub-menu{position:static;box-shadow:none;border:none;padding-left:var(--sp-4)}
  .hamburger{display:flex}
  .header-actions .btn{display:none}
  .newsletter-form{flex-direction:column}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--sp-8)}
  .footer-bottom{flex-direction:column;text-align:center}
  .cta-banner__actions{flex-direction:column;align-items:center}
}
@media(max-width:480px){
  :root{--font-5xl:1.75rem;--font-4xl:1.5rem;--font-3xl:1.25rem}
  .container{padding:0 var(--sp-4)}
  .hero{padding:var(--sp-10) 0 var(--sp-8)}
  .hero__title{font-size:var(--font-3xl)}
  .hero__subtitle{font-size:var(--font-sm)}
  .hero__actions{flex-direction:column}
  .hero__actions .btn{width:100%}
  .hero__trust{padding-top:var(--sp-4);border-top-width:1px}
  .hero__trust-item{min-width:calc(50% - var(--sp-2))}
  .hero__trust-item:nth-child(odd){text-align:right;padding-right:var(--sp-4)}
  .hero__trust-item:nth-child(even){text-align:left;padding-left:var(--sp-4)}
  .btn--xl,.btn--lg{width:100%;justify-content:center}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr}
  .process-grid{grid-template-columns:1fr}
}
@media(max-width:375px){
  :root{--font-5xl:1.5rem;--font-4xl:1.375rem;--font-3xl:1.125rem;--font-xl:1rem}
  .container{padding:0 var(--sp-3)}
  .hero__title{font-size:var(--font-2xl);line-height:1.2}
  .hero__badge{font-size:var(--font-xs);padding:.3rem .75rem}
  .hero__trust-item{min-width:auto;padding:0 var(--sp-2)}
  .section{padding:var(--sp-12) 0}
  .section-title{font-size:var(--font-2xl)}
  .btn--xl,.btn--lg{padding:.8rem 1.5rem}
  .card{padding:var(--sp-4)}
  .newsletter-band__copy h2{font-size:var(--font-xl)}
  .cta-banner__title{font-size:var(--font-2xl)}
  .page-hero h1{font-size:var(--font-2xl)}
}

/* ============================================================
   SINGLE SERVICE PAGE — content formatting
   ============================================================ */
.service-content h2 {
    font-size: var(--font-2xl);
    color: var(--color-primary);
    margin: var(--sp-10) 0 var(--sp-4);
    padding-bottom: var(--sp-3);
    border-bottom: 2px solid var(--color-border);
}
.service-content h3 {
    font-size: var(--font-xl);
    color: var(--color-dark);
    margin: var(--sp-8) 0 var(--sp-3);
}
.service-content p {
    font-size: var(--font-base);
    color: var(--color-text);
    line-height: 1.85;
    margin-bottom: var(--sp-4);
}
.service-content ul,
.service-content ol {
    padding-left: var(--sp-6);
    margin-bottom: var(--sp-6);
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
}
.service-content li {
    font-size: var(--font-base);
    color: var(--color-text);
    line-height: 1.75;
    margin: 0;
}
.service-content strong { color: var(--color-dark); }

/* Callout block — wrap a paragraph in <em> to make it stand out */
.service-content > em,
.service-content p > em:only-child {
    display: block;
    background: rgba(0,47,108,.05);
    border-left: 4px solid var(--color-primary);
    padding: var(--sp-4) var(--sp-6);
    border-radius: 0 var(--r-md) var(--r-md) 0;
    font-style: normal;
    color: var(--color-text);
    margin: var(--sp-6) 0;
}
.service-content h2:first-child { margin-top: 0; }

/* Results highlight box — H3 followed by list inside a .results-box */
.service-content .results-box {
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--r-xl);
    padding: var(--sp-6);
    margin: var(--sp-8) 0;
}

/* Sidebar responsive */
@media (max-width: 900px) {
    .service-layout { grid-template-columns: 1fr !important; }
    .service-layout aside { position: static !important; }
}


/* === MOBILE MENU FIX (AUTO-INJECTED) === */
@media (max-width: 768px){

  .site-nav{
    position: fixed !important;
    top: 0;
    right: 0;
    height: 100vh;
    width: 80%;
    max-width: 320px;
    background: #ffffff;
    z-index: 9999 !important;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    box-shadow: -10px 0 30px rgba(0,0,0,0.15);
    padding: 2rem 1.5rem;
  }

  .site-nav.is-open{
    transform: translateX(0);
  }

  body.menu-open{
    overflow: hidden;
  }

  .mobile-overlay{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 9998;
    display: none;
  }

  .mobile-overlay.is-open{
    display: block;
  }
}

.site-header{
  position: relative;
  z-index: 1000;
}
