/* ===========================================
   IMPORTIZED.COM — Design System & Styles
   Light, warm, editorial aesthetic
   =========================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

/* ----- Design Tokens ----- */
:root {
  /* Palette */
  --white: #FFFFFF;
  --ivory: #FAFAF7;
  --cream: #F4F2EC;
  --sand: #E8E5DE;
  --stone: #D5D1C9;

  --charcoal: #1C1C28;
  --slate: #3A3A4A;
  --gray: #6B6B7B;
  --silver: #9B9BA8;

  --blue: #2B5EA7;
  --blue-dark: #1E4A85;
  --blue-muted: rgba(43,94,167,0.08);

  --gold: #C4943D;
  --gold-dark: #A67B2F;
  --gold-light: #D4A856;
  --gold-muted: rgba(196,148,61,0.10);

  /* Typography */
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;

  /* Layout */
  --container: 1200px;
  --container-narrow: 800px;
  --nav-h: 76px;

  /* Radii */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-pill: 100px;

  /* Shadows */
  --sh-xs: 0 1px 3px rgba(28,28,40,0.03);
  --sh-sm: 0 2px 8px rgba(28,28,40,0.05);
  --sh-md: 0 4px 20px rgba(28,28,40,0.07);
  --sh-lg: 0 8px 36px rgba(28,28,40,0.09);

  /* Motion */
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --dur: 0.35s;
}

/* ----- Reset ----- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--font-body);font-size:1rem;line-height:1.65;color:var(--charcoal);background:var(--ivory)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{border:none;background:none;cursor:pointer;font:inherit}

/* ----- Layout ----- */
.container{max-width:var(--container);margin:0 auto;padding:0 2rem}
.container--narrow{max-width:var(--container-narrow)}

.section{padding:6rem 0}
.section--alt{background:var(--cream)}
.section--dark{background:var(--charcoal);color:var(--white)}

/* ----- Section Headers ----- */
.section-label{
  display:inline-flex;align-items:center;gap:0.625rem;
  font-family:var(--font-body);font-size:0.75rem;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);
  margin-bottom:1.25rem;
}
.section-label::before{content:'';width:24px;height:2px;background:var(--gold);border-radius:2px}

.section-title{
  font-family:var(--font-display);font-size:clamp(1.875rem,4vw,2.75rem);
  font-weight:700;line-height:1.2;color:var(--charcoal);margin-bottom:1rem;
}
.section--dark .section-title{color:var(--white)}

.section-subtitle{
  font-size:1.0625rem;color:var(--gray);max-width:560px;line-height:1.75;
}
.section--dark .section-subtitle{color:var(--silver)}

/* ----- Buttons ----- */
.btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-size:0.9375rem;font-weight:600;border-radius:var(--r-pill);
  transition:background var(--dur) var(--ease),
             color var(--dur) var(--ease),
             border-color var(--dur) var(--ease),
             transform var(--dur) var(--ease),
             box-shadow var(--dur) var(--ease);
}
.btn svg{width:16px;height:16px;transition:transform var(--dur) var(--ease)}
.btn:hover svg{transform:translateX(3px)}

.btn--primary{
  padding:0.8125rem 1.75rem;color:var(--white);background:var(--blue);
}
.btn--primary:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(43,94,167,0.22)}

.btn--gold{
  padding:0.8125rem 1.75rem;color:var(--white);background:var(--gold);
}
.btn--gold:hover{background:var(--gold-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(196,148,61,0.25)}

.btn--outline{
  padding:calc(0.8125rem - 1.5px) calc(1.75rem - 1.5px);
  color:var(--charcoal);background:transparent;border:1.5px solid var(--stone);
}
.btn--outline:hover{border-color:var(--charcoal);background:rgba(28,28,40,0.02);transform:translateY(-2px)}

.btn--outline-light{
  padding:calc(0.8125rem - 1.5px) calc(1.75rem - 1.5px);
  color:var(--white);background:transparent;border:1.5px solid rgba(255,255,255,0.3);
}
.btn--outline-light:hover{border-color:var(--white);background:rgba(255,255,255,0.06);transform:translateY(-2px)}

/* =============================================
   NAVIGATION
   ============================================= */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--nav-h);display:flex;align-items:center;
  background:rgba(250,250,247,0.9);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.nav.scrolled{border-bottom-color:var(--sand);box-shadow:var(--sh-xs)}

.nav__inner{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;max-width:var(--container);margin:0 auto;padding:0 2rem;
}

.nav__logo{
  font-family:var(--font-display);font-size:2.625rem;font-weight:700;
  color:var(--charcoal);line-height:1;
}
.nav__logo span{color:var(--gold)}

.nav__links{display:flex;align-items:center;gap:2.5rem}

.nav__link{
  font-size:0.9375rem;font-weight:500;color:var(--slate);
  transition:color var(--dur) var(--ease);position:relative;
}
.nav__link::after{
  content:'';position:absolute;bottom:-4px;left:0;width:0;
  height:1.5px;background:var(--gold);border-radius:1px;
  transition:width var(--dur) var(--ease);
}
.nav__link:hover{color:var(--charcoal)}
.nav__link:hover::after{width:100%}
.nav__link.active{color:var(--charcoal)}
.nav__link.active::after{width:100%}

.nav__cta{
  display:inline-flex;align-items:center;gap:0.375rem;
  padding:0.5625rem 1.375rem;font-size:0.875rem;font-weight:600;
  color:var(--white);background:var(--gold);border-radius:var(--r-pill);
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.nav__cta:hover{background:var(--gold-dark);transform:translateY(-1px)}

/* Mobile toggle */
.nav__toggle{display:none;flex-direction:column;gap:5px;width:26px;cursor:pointer;padding:4px 0}
.nav__toggle span{display:block;width:100%;height:2px;background:var(--charcoal);border-radius:2px;transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}
.nav__toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle.open span:nth-child(2){opacity:0}
.nav__toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile nav */
.mobile-nav{
  position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;z-index:999;
  background:rgba(250,250,247,0.98);backdrop-filter:blur(20px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;
  opacity:0;visibility:hidden;
  transition:opacity var(--dur) var(--ease),visibility var(--dur) var(--ease);
}
.mobile-nav.open{opacity:1;visibility:visible}
.mobile-nav a{
  font-family:var(--font-display);font-size:1.75rem;font-weight:600;
  color:var(--charcoal);transition:color var(--dur) var(--ease);
}
.mobile-nav a:hover{color:var(--gold)}
.mobile-nav .btn{font-family:var(--font-body);font-size:1rem;margin-top:1rem}

/* =============================================
   HERO
   ============================================= */
.hero{
  padding-top:calc(var(--nav-h) + 5rem);
  padding-bottom:5rem;
  background:var(--ivory);
  position:relative;overflow:hidden;
}

/* Floating platform logo cloud */
.hero__logos{
  position:absolute;top:0;right:0;
  width:66%;height:100%;
  pointer-events:none;
}

.hero__logo-orb{
  position:absolute;
  width:56px;height:56px;
  background:var(--white);
  border:1px solid var(--sand);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 12px rgba(28,28,40,0.06);
  animation:float-orb 6s ease-in-out infinite;
  transition:box-shadow 0.3s ease, transform 0.3s ease;
}
.hero__logo-orb img{
  width:26px;height:26px;object-fit:contain;
}

/* Size variants */
.hero__logo-orb--sm{width:44px;height:44px}
.hero__logo-orb--sm img{width:20px;height:20px}
.hero__logo-orb--lg{width:64px;height:64px}
.hero__logo-orb--lg img{width:30px;height:30px}
.hero__logo-orb--xl{width:74px;height:74px;box-shadow:0 4px 20px rgba(28,28,40,0.08)}
.hero__logo-orb--xl img{width:36px;height:36px}

/* Stagger the float animation per orb */
.hero__logo-orb:nth-child(1){animation-delay:0s;animation-duration:5.5s}
.hero__logo-orb:nth-child(2){animation-delay:-1s;animation-duration:6.5s}
.hero__logo-orb:nth-child(3){animation-delay:-2.5s;animation-duration:7s}
.hero__logo-orb:nth-child(4){animation-delay:-0.8s;animation-duration:6s}
.hero__logo-orb:nth-child(5){animation-delay:-3s;animation-duration:5.8s}
.hero__logo-orb:nth-child(6){animation-delay:-1.5s;animation-duration:7.2s}
.hero__logo-orb:nth-child(7){animation-delay:-4s;animation-duration:6.2s}
.hero__logo-orb:nth-child(8){animation-delay:-2s;animation-duration:5.5s}
.hero__logo-orb:nth-child(9){animation-delay:-3.5s;animation-duration:6.8s}
.hero__logo-orb:nth-child(10){animation-delay:-1.2s;animation-duration:5.6s}
.hero__logo-orb:nth-child(11){animation-delay:-4.5s;animation-duration:7.4s}

@keyframes float-orb{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}

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

.hero__inner{
  max-width:var(--container);margin:0 auto;padding:0 2rem;position:relative;z-index:1;
}

.hero__badge{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.4375rem 1rem;
  font-size:0.8125rem;font-weight:600;letter-spacing:0.03em;
  color:var(--gold-dark);background:var(--gold-muted);
  border:1px solid rgba(196,148,61,0.15);border-radius:var(--r-pill);
  margin-bottom:2rem;
}
.hero__badge::before{
  content:'';width:6px;height:6px;background:var(--gold);border-radius:50%;
  animation:pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.5;transform:scale(1.4)}
}

.hero__title{
  font-family:var(--font-display);
  font-size:clamp(2.5rem, 5.5vw, 4rem);
  font-weight:700;line-height:1.12;
  color:var(--charcoal);max-width:720px;margin-bottom:1.75rem;
}
.hero__title .gold{color:var(--gold)}

.hero__subtitle{
  font-size:1.125rem;line-height:1.8;color:var(--gray);
  max-width:560px;margin-bottom:2.5rem;
}

.hero__ctas{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:3.5rem}

.hero__pills{display:flex;flex-wrap:wrap;gap:0.5rem}
.hero__pill{
  display:inline-flex;align-items:center;gap:0.375rem;
  padding:0.375rem 0.875rem;font-size:0.8125rem;font-weight:500;
  color:var(--slate);background:var(--white);
  border:1px solid var(--sand);border-radius:var(--r-pill);
}
.hero__pill svg{width:14px;height:14px;color:var(--gold);flex-shrink:0}

/* =============================================
   TRUST STRIP
   ============================================= */
.trust{padding:3rem 0;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand)}
.trust__inner{
  max-width:var(--container);margin:0 auto;padding:0 2rem;
  display:flex;align-items:center;gap:3rem;
}
.trust__label{
  font-size:0.8125rem;font-weight:600;color:var(--silver);
  letter-spacing:0.04em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;
}
.trust__logos{
  display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap;
}
.trust__logo{
  font-size:1.125rem;font-weight:700;color:var(--stone);letter-spacing:0.02em;
  opacity:0.6;transition:opacity var(--dur) var(--ease);
}
.trust__logo:hover{opacity:1}

/* =============================================
   VALUE PROPOSITION
   ============================================= */
.value{text-align:center}
.value__inner{max-width:var(--container-narrow);margin:0 auto}
.value__title{
  font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2.25rem);
  font-weight:700;line-height:1.3;margin-bottom:1.25rem;
}
.value__text{font-size:1.0625rem;color:var(--gray);line-height:1.8;max-width:640px;margin:0 auto}

/* =============================================
   SERVICES
   ============================================= */
.services-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem;
}

.service-card{
  position:relative;background:var(--white);
  border:1px solid var(--sand);border-radius:var(--r-lg);
  padding:2.25rem 2rem 2rem;overflow:hidden;
  transition:transform var(--dur) var(--ease),
             box-shadow var(--dur) var(--ease),
             border-color var(--dur) var(--ease);
}
.service-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur) var(--ease);
}
.service-card:hover{
  transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--stone);
}
.service-card:hover::before{transform:scaleX(1)}

.service-card__number{
  font-family:var(--font-display);font-size:3.5rem;font-weight:700;
  color:var(--sand);line-height:1;margin-bottom:0.75rem;
  position:absolute;top:1.25rem;right:1.5rem;
}

.service-card__title{
  font-family:var(--font-display);font-size:1.375rem;font-weight:700;
  line-height:1.3;margin-bottom:0.625rem;color:var(--charcoal);
}

.service-card__desc{
  font-size:0.9375rem;color:var(--gray);line-height:1.7;margin-bottom:1.25rem;
}

.service-card__list{display:flex;flex-direction:column;gap:0.375rem}
.service-card__list li{
  display:flex;align-items:center;gap:0.5rem;
  font-size:0.875rem;color:var(--slate);
}
.service-card__list li::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:var(--gold);flex-shrink:0;
}

/* =============================================
   FEATURES (WHY IMPORTIZED)
   ============================================= */
.features-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;
}

.feature-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--r-lg);
  padding:2rem 1.75rem;
  transition:transform var(--dur) var(--ease),
             box-shadow var(--dur) var(--ease),
             border-color var(--dur) var(--ease);
}
.feature-card:hover{
  transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--stone);
}

.feature-card__icon{
  width:44px;height:44px;border-radius:var(--r-md);
  background:var(--gold-muted);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.feature-card__icon svg{width:22px;height:22px;color:var(--gold)}

.feature-card__title{
  font-family:var(--font-display);font-size:1.125rem;font-weight:700;
  line-height:1.3;margin-bottom:0.5rem;color:var(--charcoal);
}

.feature-card__desc{
  font-size:0.9375rem;color:var(--gray);line-height:1.7;
}

/* =============================================
   CTA BANNER
   ============================================= */
.cta-banner{text-align:center}
.cta-banner__inner{
  max-width:var(--container-narrow);margin:0 auto;
}
.cta-banner__title{
  font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);
  font-weight:700;line-height:1.2;margin-bottom:1rem;color:var(--white);
}
.cta-banner__text{
  font-size:1.0625rem;color:var(--silver);line-height:1.75;
  margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto;
}
.cta-banner__buttons{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}

/* =============================================
   FOOTER
   ============================================= */
.footer{
  background:var(--cream);border-top:1px solid var(--sand);padding:4rem 0 0;
}

.footer__inner{
  max-width:var(--container);margin:0 auto;padding:0 2rem;
}

.footer__grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;
  padding-bottom:3rem;
}

.footer__brand-name{
  font-family:var(--font-display);font-size:1.5rem;font-weight:700;
  color:var(--charcoal);margin-bottom:0.75rem;
}
.footer__brand-name span{color:var(--gold)}

.footer__brand-desc{
  font-size:0.9375rem;color:var(--gray);line-height:1.7;max-width:280px;
}

.footer__col-title{
  font-size:0.8125rem;font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--charcoal);margin-bottom:1rem;
}

.footer__links{display:flex;flex-direction:column;gap:0.625rem}
.footer__links a{
  font-size:0.9375rem;color:var(--gray);
  transition:color var(--dur) var(--ease);
}
.footer__links a:hover{color:var(--gold)}

.footer__bottom{
  border-top:1px solid var(--sand);padding:1.5rem 0;
  display:flex;justify-content:space-between;align-items:center;
}
.footer__copy{font-size:0.8125rem;color:var(--silver)}
.footer__social{display:flex;gap:1rem}
.footer__social a{
  width:36px;height:36px;border-radius:50%;
  border:1px solid var(--sand);
  display:flex;align-items:center;justify-content:center;
  font-size:0.875rem;color:var(--gray);
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.footer__social a:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-muted)}

/* =============================================
   SCROLL ANIMATIONS
   ============================================= */
.reveal{
  opacity:0;transform:translateY(24px);
  transition:opacity 0.7s var(--ease),transform 0.7s var(--ease);
}
.reveal.visible{opacity:1;transform:translateY(0)}

/* stagger children */
.reveal-stagger > .reveal:nth-child(1){transition-delay:0s}
.reveal-stagger > .reveal:nth-child(2){transition-delay:0.08s}
.reveal-stagger > .reveal:nth-child(3){transition-delay:0.16s}
.reveal-stagger > .reveal:nth-child(4){transition-delay:0.24s}
.reveal-stagger > .reveal:nth-child(5){transition-delay:0.32s}
.reveal-stagger > .reveal:nth-child(6){transition-delay:0.40s}

/* =============================================
   PAGE HERO (inner pages)
   ============================================= */
.page-hero{
  padding-top:calc(var(--nav-h) + 5rem);padding-bottom:4rem;
  background:var(--cream);text-align:center;
  position:relative;overflow:hidden;
}
.page-hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:var(--sand);
}
.page-hero .section-label{justify-content:center}
.page-hero__title{
  font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);
  font-weight:700;line-height:1.15;color:var(--charcoal);
  max-width:700px;margin:0 auto 1.25rem;
}
.page-hero__text{
  font-size:1.0625rem;color:var(--gray);line-height:1.8;
  max-width:600px;margin:0 auto;
}

/* =============================================
   STORY / TEXT BLOCK
   ============================================= */
.story{max-width:var(--container-narrow);margin:0 auto}
.story h2{
  font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2.25rem);
  font-weight:700;line-height:1.3;margin-bottom:1.5rem;color:var(--charcoal);
}
.story p{
  font-size:1.0625rem;color:var(--gray);line-height:1.85;margin-bottom:1.25rem;
}
.story p:last-child{margin-bottom:0}

/* =============================================
   BELIEFS / QUOTE CARDS
   ============================================= */
.beliefs-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.25rem;margin-top:2.5rem;
}
.belief-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--r-lg);
  padding:2rem 1.75rem;border-left:3px solid var(--gold);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.belief-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.belief-card p{
  font-family:var(--font-display);font-size:1.0625rem;font-style:italic;
  line-height:1.6;color:var(--charcoal);
}
.belief-card h4{
  font-family:var(--font-body);font-size:1rem;font-weight:700;
  color:var(--charcoal);margin-bottom:0.5rem;font-style:normal;
}

/* Section dark overrides for beliefs */
.section--dark .belief-card{
  background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.08);
  border-left-color:var(--gold);
}
.section--dark .belief-card p{color:var(--silver)}
.section--dark .belief-card h4{color:var(--white)}

/* =============================================
   WHY-US GRID
   ============================================= */
.why-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem;
}
.why-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--r-lg);
  padding:2.25rem 2rem;display:flex;gap:1.25rem;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.why-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--stone)}
.why-card__icon{
  width:48px;height:48px;border-radius:var(--r-md);
  background:var(--gold-muted);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:1.375rem;
}
.why-card__body h3{
  font-family:var(--font-display);font-size:1.125rem;font-weight:700;
  line-height:1.3;margin-bottom:0.375rem;color:var(--charcoal);
}
.why-card__body p{font-size:0.9375rem;color:var(--gray);line-height:1.7}

/* =============================================
   SERVICE DETAIL (full-width service cards)
   ============================================= */
.service-detail{
  max-width:900px;margin:0 auto;background:var(--white);
  border:1px solid var(--sand);border-radius:var(--r-lg);
  padding:2.75rem 2.5rem;position:relative;overflow:hidden;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.service-detail::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
}
.service-detail:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.service-detail__number{
  font-family:var(--font-display);font-size:3.5rem;font-weight:700;
  color:var(--sand);line-height:1;position:absolute;top:1.5rem;right:2rem;
}
.service-detail__title{
  font-family:var(--font-display);font-size:1.5rem;font-weight:700;
  line-height:1.3;margin-bottom:0.75rem;color:var(--charcoal);
}
.service-detail__desc{
  font-size:1.0625rem;color:var(--gray);line-height:1.8;margin-bottom:1.75rem;
}
.service-detail__list{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0.625rem;
}
.service-detail__list li{
  display:flex;align-items:center;gap:0.5rem;
  font-size:0.9375rem;color:var(--slate);
}
.service-detail__list li::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:var(--gold);flex-shrink:0;
}

/* Alt-bg service detail */
.section--alt .service-detail{background:var(--ivory)}

/* =============================================
   METRICS GRID
   ============================================= */
.metrics-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;
}
.metric-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--r-lg);
  padding:2rem 1.75rem;text-align:center;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.metric-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.metric-card__icon{
  font-size:2rem;margin-bottom:0.75rem;
}
.metric-card__title{
  font-family:var(--font-display);font-size:1.125rem;font-weight:700;
  line-height:1.3;margin-bottom:0.5rem;color:var(--charcoal);
}
.metric-card__desc{font-size:0.9375rem;color:var(--gray);line-height:1.7}

/* =============================================
   CONTACT
   ============================================= */
.contact-grid{
  display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:start;
}
.contact-info h2{
  font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);
  font-weight:700;line-height:1.3;margin-bottom:1rem;color:var(--charcoal);
}
.contact-info > p{font-size:1.0625rem;color:var(--gray);line-height:1.8;margin-bottom:2rem}

.contact-details{display:flex;flex-direction:column;gap:1.25rem}
.contact-item{display:flex;align-items:flex-start;gap:1rem}
.contact-item__icon{
  width:44px;height:44px;border-radius:var(--r-md);
  background:var(--gold-muted);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;
}
.contact-item__text h4{
  font-size:0.875rem;font-weight:700;letter-spacing:0.03em;
  text-transform:uppercase;color:var(--charcoal);margin-bottom:0.125rem;
}
.contact-item__text p{font-size:0.9375rem;color:var(--gray);line-height:1.5}

.contact-callout{
  margin-top:2.5rem;padding:1.5rem;
  background:var(--cream);border-radius:var(--r-lg);border-left:3px solid var(--gold);
}
.contact-callout h4{
  font-size:1rem;font-weight:700;color:var(--charcoal);margin-bottom:0.375rem;
}
.contact-callout p{font-size:0.9rem;color:var(--gray);line-height:1.7;margin:0}

/* Form */
.contact-form{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--r-lg);
  padding:2.5rem;
}
.form-group{margin-bottom:1.25rem}
.form-group label{
  display:block;font-size:0.875rem;font-weight:600;color:var(--charcoal);
  margin-bottom:0.375rem;
}
.form-group input,
.form-group select,
.form-group textarea{
  width:100%;padding:0.75rem 1rem;font-family:var(--font-body);font-size:0.9375rem;
  color:var(--charcoal);background:var(--ivory);
  border:1px solid var(--sand);border-radius:var(--r-md);
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  outline:none;border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(43,94,167,0.1);
}
.form-group textarea{min-height:120px;resize:vertical}
.form-group select{cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B6B7B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;
  padding-right:2.5rem;
}
.form-submit{
  width:100%;justify-content:center;margin-top:0.5rem;
}
.form-note{
  font-size:0.8125rem;color:var(--silver);text-align:center;margin-top:0.75rem;
}

/* =============================================
   FAQ
   ============================================= */
.faq-grid{
  max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;margin-top:2.5rem;
}
.faq-card{
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--r-lg);padding:1.75rem;border-left:3px solid var(--gold);
}
.faq-card h4{
  font-size:1rem;font-weight:700;color:var(--white);margin-bottom:0.5rem;
}
.faq-card p{font-size:0.9375rem;color:var(--silver);line-height:1.7;margin:0}

/* Light FAQ variant */
.faq-grid--light .faq-card{
  background:var(--white);border-color:var(--sand);
}
.faq-grid--light .faq-card h4{color:var(--charcoal)}
.faq-grid--light .faq-card p{color:var(--gray)}

/* =============================================
   RESPONSIVE
   ============================================= */
@media(max-width:1024px){
  .services-grid{grid-template-columns:1fr 1fr}
  .features-grid{grid-template-columns:1fr 1fr}
  .metrics-grid{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .footer__grid{grid-template-columns:1fr 1fr;gap:2rem}
}

@media(max-width:768px){
  .section{padding:4rem 0}

  .nav__links,.nav__cta{display:none}
  .nav__toggle{display:flex}

  .hero{padding-top:calc(var(--nav-h) + 3rem);padding-bottom:3.5rem}
  .hero__logos{display:none}
  .hero__title{font-size:clamp(2rem,7vw,2.75rem)}
  .hero__ctas{flex-direction:column;align-items:flex-start}

  .trust__inner{flex-direction:column;align-items:flex-start;gap:1.25rem}
  .trust__logos{gap:1.5rem}

  .services-grid{grid-template-columns:1fr}
  .features-grid{grid-template-columns:1fr}
  .metrics-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .why-card{flex-direction:column}
  .contact-grid{grid-template-columns:1fr}
  .page-hero{padding-top:calc(var(--nav-h) + 3rem);padding-bottom:3rem}

  .footer__grid{grid-template-columns:1fr 1fr;gap:2rem}
  .footer__bottom{flex-direction:column;gap:1rem;text-align:center}
}

@media(max-width:480px){
  .container{padding:0 1.25rem}
  .nav__inner{padding:0 1.25rem}
  .hero__inner{padding:0 1.25rem}
  .trust__inner{padding:0 1.25rem}
  .footer__inner{padding:0 1.25rem}
  .footer__grid{grid-template-columns:1fr}
  .hero__pills{gap:0.375rem}
  .hero__pill{font-size:0.75rem;padding:0.3rem 0.625rem}
}
