/* =========================================================
   KPMJ & Associates — world-class finance site
   Design system: deep navy + refined gold, Fraunces + Manrope
   ========================================================= */

/* ---------- Tokens ---------- */
:root{
  --navy-900:#060F1D;
  --navy-850:#081627;
  --navy-800:#0A1A2F;
  --navy-700:#0E2340;
  --navy-600:#143154;
  --ink:#0B1622;

  --gold-100:#F4E5B8;
  --gold-300:#EAD196;
  --gold:#E4C15A;
  --gold-600:#C9A227;
  --gold-700:#9C7B1E;

  --cream:#FBFAF6;
  --cream-2:#F3EFE6;
  --paper:#FFFFFF;

  --slate-900:#16202E;
  --slate-700:#31404F;
  --slate-500:#5C6B7A;
  --slate-300:#9AA7B4;

  --line:rgba(228,193,90,.22);
  --line-soft:rgba(255,255,255,.08);

  --radius:18px;
  --radius-lg:26px;
  --shadow-soft:0 18px 50px -20px rgba(4,10,20,.55);
  --shadow-gold:0 20px 60px -22px rgba(228,193,90,.45);

  --maxw:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--slate-700);
  background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,iframe{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);color:var(--slate-900);font-weight:600;line-height:1.08;letter-spacing:-.01em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
::selection{background:var(--gold);color:var(--navy-900)}

.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,40px)}
.grad{
  background:linear-gradient(100deg,var(--gold-300),var(--gold) 40%,var(--gold-600));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.eyebrow{
  display:inline-block;font-family:var(--font-body);font-weight:700;font-size:.72rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold-600);margin-bottom:18px;
}
.stars{color:var(--gold);letter-spacing:2px}

/* ---------- Buttons ---------- */
.btn{
  --pad:14px 24px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:var(--pad);border-radius:100px;font-weight:700;font-size:.95rem;
  letter-spacing:.01em;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s,color .3s;
  will-change:transform;white-space:nowrap;position:relative;overflow:hidden;
}
.btn svg{position:relative;z-index:1}
.btn--gold{background:linear-gradient(100deg,var(--gold-300),var(--gold) 55%,var(--gold-600));color:#231a03;box-shadow:0 12px 30px -12px rgba(228,193,90,.7)}
.btn--gold:hover{transform:translateY(-3px);box-shadow:0 20px 44px -14px rgba(228,193,90,.85)}
.btn--gold::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn--gold:hover::after{transform:translateX(120%)}
.btn--ghost{border:1.5px solid var(--slate-300);color:var(--slate-900)}
.btn--ghost:hover{border-color:var(--gold-600);color:var(--gold-700);transform:translateY(-3px)}
.btn--ghost-light{border:1.5px solid rgba(255,255,255,.4);color:#fff}
.btn--ghost-light:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}
.btn--lg{--pad:17px 32px;font-size:1rem}
.btn--sm{--pad:9px 16px;font-size:.82rem}
.btn--block{width:100%}

/* ---------- Preloader ---------- */
.preloader{
  position:fixed;inset:0;z-index:1000;display:grid;place-content:center;justify-items:center;gap:22px;
  background:radial-gradient(120% 120% at 50% 30%,var(--navy-700),var(--navy-900));
  transition:opacity .7s var(--ease),visibility .7s;
}
.preloader.done{opacity:0;visibility:hidden}
.preloader__word{font-family:var(--font-display);color:var(--gold-100);letter-spacing:.28em;font-size:.8rem;opacity:.85;animation:fadeUp 1s .3s both}
.pl-draw{stroke-dasharray:120;stroke-dashoffset:120;animation:draw 1.1s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:999;
  background:linear-gradient(90deg,var(--gold-600),var(--gold),var(--gold-300));box-shadow:0 0 12px rgba(228,193,90,.6)}

/* ---------- Nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:900;transition:all .4s var(--ease)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:18px}
.nav.scrolled{background:rgba(8,18,33,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line-soft)}
.nav.scrolled .nav__inner{padding-block:12px}

.brand{display:inline-flex;align-items:center;gap:12px}
.brand__emblem{display:grid;place-items:center;filter:drop-shadow(0 6px 14px rgba(228,193,90,.25))}
.brand__text{display:flex;flex-direction:column;line-height:1.05}
.brand__name{font-family:var(--font-display);font-weight:600;font-size:1.16rem;color:#fff}
.brand__name .amp{color:var(--gold)}
.brand__tag{font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-300);opacity:.8;font-weight:600}

.nav__links{display:flex;gap:30px}
.nav__links a{color:rgba(255,255,255,.82);font-weight:600;font-size:.92rem;position:relative;padding:4px 0}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold);transition:width .3s var(--ease)}
.nav__links a:hover{color:#fff}
.nav__links a:hover::after{width:100%}

.nav__cta{display:flex;align-items:center;gap:16px}
.nav__phone{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:.92rem}
.nav__phone svg{color:var(--gold)}
.nav__phone:hover{color:var(--gold-300)}
.nav__toggle{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--line-soft)}
.nav__toggle span{width:22px;height:2px;background:#fff;border-radius:2px;transition:.3s 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)}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;
  background:radial-gradient(130% 90% at 78% 12%,var(--navy-600) 0%,var(--navy-800) 42%,var(--navy-900) 100%);
  color:#fff;overflow:hidden;padding-top:96px}
.hero__canvas{position:absolute;inset:0;z-index:0;opacity:.85}
.hero__glow{position:absolute;z-index:0;width:60vw;height:60vw;max-width:760px;max-height:760px;top:-14%;right:-8%;
  background:radial-gradient(circle,rgba(228,193,90,.22),transparent 62%);filter:blur(20px);pointer-events:none}
.hero__grid{position:absolute;inset:0;z-index:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 78%);
  mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 78%)}
.hero__inner{position:relative;z-index:2;padding-block:8vh}
.hero__eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid var(--line);
  border-radius:100px;background:rgba(228,193,90,.06);color:var(--gold-100);font-weight:600;font-size:.8rem;letter-spacing:.02em;margin-bottom:26px}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(228,193,90,.6);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(228,193,90,.55)}70%{box-shadow:0 0 0 12px rgba(228,193,90,0)}100%{box-shadow:0 0 0 0 rgba(228,193,90,0)}}
.hero__title{font-size:clamp(2.5rem,6.4vw,5rem);font-weight:600;color:#fff;letter-spacing:-.02em;max-width:15ch}
.hero__sub{margin-top:26px;max-width:56ch;font-size:clamp(1.02rem,1.6vw,1.22rem);color:rgba(233,240,247,.78)}
.hero__sub strong{color:#fff;font-weight:700}
.hero__actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:38px}
.hero__trust{display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:46px;padding-top:30px;border-top:1px solid var(--line-soft)}
.hero__trust li{display:flex;align-items:center;gap:10px;font-size:.95rem;color:rgba(233,240,247,.72)}
.hero__trust strong{color:#fff}
.hero__trust .stars{font-size:.95rem}
.hero__scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.6);
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}
.hero__scroll-line{width:1px;height:44px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden}
.hero__scroll-line::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--gold);animation:scrolldot 1.8s infinite}
@keyframes scrolldot{0%{top:-50%}100%{top:100%}}

/* ---------- Marquee ---------- */
.marquee{background:var(--navy-900);border-block:1px solid var(--line-soft);overflow:hidden;padding:20px 0}
.marquee__track{display:flex;align-items:center;gap:34px;width:max-content;animation:marq 34s linear infinite}
.marquee__track span{font-family:var(--font-display);font-size:1.35rem;color:rgba(255,255,255,.62);white-space:nowrap;font-weight:500}
.marquee__track i{color:var(--gold);font-style:normal;font-size:.7rem}
@keyframes marq{to{transform:translateX(-50%)}}
.marquee:hover .marquee__track{animation-play-state:paused}

/* ---------- Section base ---------- */
.section{padding-block:clamp(72px,10vw,128px);position:relative}
.section__head{max-width:720px;margin-bottom:60px}
.section__head.reveal{margin-inline:auto;text-align:center}
.section__title{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:600}
.section__lead{margin-top:20px;font-size:1.08rem;color:var(--slate-500);max-width:60ch}
.section__head.reveal .section__lead{margin-inline:auto}

/* ---------- Services ---------- */
.services{background:
  radial-gradient(80% 50% at 100% 0,rgba(228,193,90,.05),transparent 60%),
  var(--cream)}
.services__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.card{position:relative;background:var(--paper);border:1px solid rgba(11,22,34,.07);border-radius:var(--radius-lg);
  padding:34px 30px 30px;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s;overflow:hidden;isolation:isolate}
.card::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .5s var(--ease);
  background:radial-gradient(120% 100% at 0 0,rgba(228,193,90,.10),transparent 55%)}
.card::after{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:linear-gradient(var(--gold-300),var(--gold-600));transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-soft);border-color:var(--line)}
.card:hover::before{opacity:1}
.card:hover::after{transform:scaleY(1)}
.card__icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;margin-bottom:22px;
  background:linear-gradient(145deg,var(--navy-700),var(--navy-900));color:var(--gold);box-shadow:inset 0 0 0 1px rgba(228,193,90,.25)}
.card__icon svg{width:26px;height:26px}
.card h3{font-size:1.28rem;margin-bottom:10px;color:var(--slate-900)}
.card p{font-size:.96rem;color:var(--slate-500)}
.card__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.card__tags li{font-size:.72rem;font-weight:700;letter-spacing:.03em;color:var(--gold-700);
  background:rgba(228,193,90,.12);border:1px solid rgba(228,193,90,.25);padding:5px 10px;border-radius:100px}
.services__foot{margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;
  background:linear-gradient(120deg,var(--navy-800),var(--navy-700));border-radius:var(--radius-lg);padding:30px 34px;color:#fff;box-shadow:var(--shadow-soft)}
.services__foot p{color:rgba(255,255,255,.86);font-size:1.05rem;font-weight:500;max-width:46ch}

/* ---------- Why ---------- */
.why{background:linear-gradient(180deg,var(--navy-900),var(--navy-800));color:#fff;overflow:hidden}
.why::before{content:"";position:absolute;top:-10%;left:-10%;width:40vw;height:40vw;max-width:520px;max-height:520px;
  background:radial-gradient(circle,rgba(228,193,90,.10),transparent 62%);pointer-events:none}
.why__inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.why .section__title{color:#fff}
.why .section__lead{color:rgba(233,240,247,.72)}
.why__rating{display:flex;align-items:center;gap:14px;margin-top:26px}
.why__rating-num{font-family:var(--font-display);font-size:2.6rem;font-weight:600;color:var(--gold)}
.why__rating .stars{font-size:1.2rem}
.why__rating-src{font-size:.85rem;color:rgba(233,240,247,.6)}
.why__list{display:flex;flex-direction:column}
.feature{display:flex;gap:22px;padding:26px 0;border-bottom:1px solid var(--line-soft)}
.feature:first-child{padding-top:0}
.feature:last-child{border-bottom:0}
.feature__no{font-family:var(--font-display);font-size:1.1rem;color:var(--gold);border:1px solid var(--line);border-radius:12px;
  width:48px;height:48px;flex:none;display:grid;place-items:center;background:rgba(228,193,90,.05)}
.feature h3{color:#fff;font-size:1.24rem;margin-bottom:6px}
.feature p{color:rgba(233,240,247,.68);font-size:.96rem}
.feature em{color:var(--gold-300);font-style:italic}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:70px;
  background:rgba(255,255,255,.03);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:38px 24px}
.stat{text-align:center;position:relative}
.stat+.stat::before{content:"";position:absolute;left:-10px;top:12%;height:76%;width:1px;background:var(--line-soft)}
.stat__num{display:block;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3rem);font-weight:600;color:var(--gold);line-height:1}
.stat__label{display:block;margin-top:10px;font-size:.82rem;color:rgba(233,240,247,.66);letter-spacing:.02em}

/* ---------- Process ---------- */
.process{background:var(--cream)}
.process__track{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.process__track::before{content:"";position:absolute;top:34px;left:8%;right:8%;height:2px;
  background:repeating-linear-gradient(90deg,var(--gold-300) 0 8px,transparent 8px 18px);opacity:.6}
.step{position:relative;text-align:center;padding:0 8px}
.step__no{width:68px;height:68px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--navy-900);
  background:linear-gradient(145deg,var(--gold-300),var(--gold-600));box-shadow:var(--shadow-gold);position:relative;z-index:1}
.step h3{font-size:1.24rem;margin-bottom:8px}
.step p{font-size:.94rem;color:var(--slate-500)}

/* ---------- About ---------- */
.about{background:linear-gradient(180deg,var(--cream),var(--cream-2))}
.about__inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.about__media{position:relative}
.about__badge{position:absolute;right:-14px;bottom:-18px;background:var(--navy-800);color:#fff;border-radius:16px;
  padding:16px 20px;box-shadow:var(--shadow-soft);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.about__badge-k{font-size:.66rem;letter-spacing:.2em;color:var(--gold-300);text-transform:uppercase;font-weight:700}
.about__badge-v{font-family:var(--font-display);font-size:1.05rem;color:#fff;letter-spacing:.02em}
.about__badge-s{font-size:.72rem;color:rgba(255,255,255,.6)}
.about__body p{margin-top:16px;color:var(--slate-700);font-size:1.04rem}
.about__body em{color:var(--gold-700);font-style:italic}
.about__values{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:28px 0}
.about__values li{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--slate-900);font-size:.96rem}
.about__values span{color:var(--gold-600)}

/* ---------- Placeholders ---------- */
.ph{position:relative;display:grid;place-items:center;text-align:center;gap:8px;color:var(--slate-500);
  background:
    repeating-linear-gradient(45deg,rgba(228,193,90,.05) 0 12px,transparent 12px 24px),
    linear-gradient(145deg,#fff,var(--cream-2));
  border:2px dashed rgba(201,162,39,.4);border-radius:var(--radius-lg)}
.ph::after{content:attr(data-ph);position:absolute;top:12px;left:12px;font-size:.66rem;font-weight:700;letter-spacing:.05em;
  color:var(--gold-700);background:rgba(228,193,90,.14);border:1px solid rgba(228,193,90,.3);padding:4px 9px;border-radius:100px}
.ph--photo{aspect-ratio:4/5}
.ph--photo svg{width:44px;height:44px;color:var(--gold-600);opacity:.7}
.ph--photo span{font-weight:700;color:var(--slate-700)}
.ph--photo small{font-size:.76rem;color:var(--slate-500)}

/* ---------- Reviews ---------- */
.reviews{background:linear-gradient(180deg,var(--navy-800),var(--navy-900));color:#fff}
.reviews .section__title{color:#fff}
.reviews__grid{display:grid;grid-template-columns:1.35fr 1fr;gap:26px;align-items:stretch}
.quote{position:relative;background:rgba(255,255,255,.04);border:1px solid var(--line-soft);border-radius:var(--radius-lg);
  padding:44px 42px;display:flex;flex-direction:column;justify-content:center}
.quote__mark{position:absolute;top:6px;left:26px;font-family:var(--font-display);font-size:7rem;color:var(--gold);opacity:.28;line-height:1}
.quote blockquote{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:500;color:#fff;line-height:1.32;position:relative;z-index:1}
.quote figcaption{display:flex;align-items:center;gap:12px;margin-top:26px}
.quote figcaption .stars{font-size:1.05rem}
.quote__src{font-size:.85rem;color:rgba(233,240,247,.6)}
.reviews__side{display:flex;flex-direction:column;gap:18px}
.ratingcard{background:linear-gradient(150deg,var(--navy-700),var(--navy-850));border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-soft)}
.ratingcard__top{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.ratingcard__num{font-family:var(--font-display);font-size:3rem;font-weight:600;color:var(--gold);line-height:1}
.ratingcard__top .stars{display:block;font-size:1.05rem}
.ratingcard__meta{font-size:.82rem;color:rgba(233,240,247,.6)}
.ratingcard__bars{display:flex;flex-direction:column;gap:7px;margin-bottom:22px}
.bar{display:flex;align-items:center;gap:10px;font-size:.78rem;color:rgba(233,240,247,.65)}
.bar i{flex:1;height:7px;border-radius:100px;background:rgba(255,255,255,.08);overflow:hidden}
.bar b{display:block;height:100%;width:0;border-radius:100px;background:linear-gradient(90deg,var(--gold-600),var(--gold));transition:width 1.1s var(--ease)}
.bar.in b{width:var(--w)}
.ratingcard__actions{display:flex;gap:10px;flex-wrap:wrap}
.reviews__note{font-size:.9rem;color:rgba(233,240,247,.6);text-align:center;padding:10px}
.reviews__note a{color:var(--gold-300);font-weight:600}

/* ---------- Reels ---------- */
.reels{background:var(--cream)}
.reels .section__head a{color:var(--gold-700);font-weight:700;border-bottom:1px solid var(--line)}
.reels__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.reel{position:relative;aspect-ratio:9/16;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.reel:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft)}
.reel__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;
  background:rgba(228,193,90,.16);border:1px solid var(--gold);display:grid;place-items:center}
.reel__play::after{content:"";margin-left:4px;border-left:16px solid var(--gold);border-top:10px solid transparent;border-bottom:10px solid transparent}
.reel__label{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:.78rem;font-weight:700;color:var(--gold-700)}
.reels__foot{margin-top:36px;text-align:center}

/* ---------- CTA band ---------- */
.ctaband{position:relative;background:
  radial-gradient(90% 140% at 15% 0,var(--navy-600),transparent 55%),
  linear-gradient(120deg,var(--navy-900),var(--navy-800));color:#fff;overflow:hidden}
.ctaband::before{content:"";position:absolute;right:-6%;top:-40%;width:44vw;height:44vw;max-width:560px;max-height:560px;
  background:radial-gradient(circle,rgba(228,193,90,.18),transparent 60%);pointer-events:none}
.ctaband__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;padding-block:clamp(56px,8vw,90px);position:relative}
.ctaband h2{font-size:clamp(1.9rem,4vw,3rem);color:#fff}
.ctaband p{margin-top:12px;color:rgba(233,240,247,.75);font-size:1.08rem}
.ctaband__actions{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Contact ---------- */
.contact{background:linear-gradient(180deg,var(--cream-2),var(--cream))}
.contact__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}
.contact__list{margin:30px 0 26px;display:flex;flex-direction:column;gap:20px}
.contact__list li{display:flex;gap:16px}
.contact__ico{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:var(--navy-800);color:var(--gold)}
.contact__ico svg{width:22px;height:22px}
.contact__list strong{display:block;color:var(--slate-900);font-family:var(--font-display);font-size:1.02rem;margin-bottom:2px}
.contact__list a{color:var(--slate-700);font-weight:600}
.contact__list a:hover{color:var(--gold-700)}
.hint{font-size:.72rem;color:var(--slate-300);font-style:italic}
.contact__mapwrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(11,22,34,.1);box-shadow:var(--shadow-soft)}
.contact__mapwrap iframe{width:100%;height:280px;border:0;filter:grayscale(.2) contrast(1.05)}
.contact__dir{position:absolute;right:14px;bottom:14px;background:#fff;box-shadow:var(--shadow-soft)}

.contact__formwrap{background:var(--paper);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-soft);border:1px solid rgba(11,22,34,.07)}
.cform h3{font-size:1.5rem;margin-bottom:6px}
.cform__note{font-size:.9rem;color:var(--slate-500);margin-bottom:22px}
.cform label{display:block;font-weight:700;font-size:.82rem;color:var(--slate-900);margin-bottom:16px}
.cform__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cform .opt{font-weight:500;color:var(--slate-300)}
.cform input,.cform select,.cform textarea{
  width:100%;margin-top:7px;padding:13px 15px;border:1.5px solid rgba(11,22,34,.14);border-radius:12px;
  font-family:inherit;font-size:.95rem;font-weight:500;color:var(--slate-900);background:var(--cream);transition:border-color .25s,box-shadow .25s}
.cform textarea{resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(228,193,90,.16);background:#fff}
.cform input.err,.cform select.err{border-color:#d9534f;box-shadow:0 0 0 4px rgba(217,83,79,.12)}
.cform button{margin-top:6px}
.cform__alt{margin-top:16px;text-align:center;font-size:.9rem;color:var(--slate-500)}
.cform__alt a{color:var(--gold-700);font-weight:700}

/* ---------- Footer ---------- */
.footer{background:var(--navy-900);color:rgba(233,240,247,.7)}
.footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px;padding-block:64px}
.footer .brand__name{font-size:1.24rem}
.footer__blurb{margin:18px 0 20px;font-size:.92rem;max-width:36ch}
.footer__social{display:flex;gap:12px}
.footer__social a{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line-soft);color:var(--gold);transition:.3s var(--ease)}
.footer__social a:hover{background:var(--gold);color:var(--navy-900);transform:translateY(-3px)}
.footer__col h4{color:#fff;font-family:var(--font-body);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.footer__col a{display:block;padding:6px 0;font-size:.92rem;color:rgba(233,240,247,.66);transition:color .25s,padding .25s}
.footer__col a:hover{color:var(--gold-300);padding-left:5px}
.footer__reach p{font-size:.92rem;line-height:1.7;margin-bottom:12px}
.footer__phone{display:inline-block;color:#fff!important;font-family:var(--font-display);font-size:1.2rem;margin-bottom:12px}
.footer__gst{display:block;font-size:.74rem;letter-spacing:.05em;color:var(--gold-300);border:1px solid var(--line-soft);border-radius:8px;padding:6px 10px;width:max-content}
.footer__bar{border-top:1px solid var(--line-soft)}
.footer__bar-inner{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding-block:22px;font-size:.82rem;color:rgba(233,240,247,.5)}
.footer__made{color:var(--gold-300)}

/* ---------- Floating WhatsApp + to-top ---------- */
.wafloat{position:fixed;right:22px;bottom:22px;z-index:800;width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 14px 34px -8px rgba(37,211,102,.6);
  transition:transform .35s var(--ease)}
.wafloat::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;z-index:-1;animation:wapulse 2.4s infinite}
@keyframes wapulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.7);opacity:0}100%{opacity:0}}
.wafloat:hover{transform:scale(1.08)}
.wafloat__tip{position:absolute;right:72px;background:var(--navy-800);color:#fff;font-size:.8rem;font-weight:600;
  padding:8px 12px;border-radius:10px;white-space:nowrap;opacity:0;transform:translateX(8px);pointer-events:none;transition:.3s var(--ease);border:1px solid var(--line)}
.wafloat:hover .wafloat__tip{opacity:1;transform:translateX(0)}

.totop{position:fixed;right:26px;bottom:92px;z-index:800;width:44px;height:44px;border-radius:50%;
  background:var(--navy-800);color:var(--gold);border:1px solid var(--line);font-size:1.1rem;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.35s var(--ease);box-shadow:var(--shadow-soft)}
.totop.show{opacity:1;visibility:visible;transform:translateY(0)}
.totop:hover{background:var(--gold);color:var(--navy-900)}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .nav__links{position:fixed;inset:0 0 0 auto;width:min(80vw,340px);flex-direction:column;justify-content:center;gap:8px;
    background:rgba(8,18,33,.97);backdrop-filter:blur(16px);padding:40px;transform:translateX(100%);transition:transform .45s var(--ease);border-left:1px solid var(--line)}
  .nav__links.open{transform:translateX(0)}
  .nav__links a{font-size:1.3rem;padding:12px 0}
  .nav__toggle{display:flex}
  .nav__phone span{display:none}
  .nav__book{display:none}
  .why__inner{grid-template-columns:1fr;gap:36px}
  .about__inner{grid-template-columns:1fr;gap:40px}
  .about__media{max-width:420px}
  .reviews__grid{grid-template-columns:1fr}
  .contact__inner{grid-template-columns:1fr;gap:32px}
  .reels__grid{grid-template-columns:repeat(2,1fr)}
  .footer__inner{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1/-1}
}
@media (max-width:680px){
  .stats{grid-template-columns:1fr 1fr;gap:28px 16px}
  .stat+.stat::before{display:none}
  .process__track{grid-template-columns:1fr 1fr;gap:34px 16px}
  .process__track::before{display:none}
  .services__foot{flex-direction:column;align-items:flex-start}
  .cform__row{grid-template-columns:1fr}
  .about__values{grid-template-columns:1fr}
  .hero__trust{gap:12px 22px}
  .ctaband__inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:460px){
  .reels__grid{grid-template-columns:1fr 1fr}
  .footer__inner{grid-template-columns:1fr}
  .brand__tag{display:none}
  .wafloat{width:54px;height:54px}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .marquee__track,.pulse-dot,.hero__scroll-line::after,.wafloat::before{animation:none}
  .pl-draw{animation:none;stroke-dashoffset:0}
  .btn,.card,.reel{transition:none}
}

/* =========================================================
   ADD-ON: Founder · Real About photo · Gallery · Reviews v2 · Reels v2
   ========================================================= */

/* ---------- Meet the Founder ---------- */
.founder{background:linear-gradient(180deg,var(--navy-900),var(--navy-850));color:#fff;overflow:hidden;position:relative}
.founder::before{content:"";position:absolute;right:-8%;top:-12%;width:46vw;height:46vw;max-width:560px;max-height:560px;
  background:radial-gradient(circle,rgba(228,193,90,.10),transparent 62%);pointer-events:none}
.founder__inner{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:center;position:relative}
.founder__photo{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:560px}
.founder__stage{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(96%,400px);height:94%;
  border-radius:200px 200px 26px 26px;
  background:radial-gradient(75% 55% at 50% 22%,rgba(228,193,90,.22),transparent 62%),linear-gradient(180deg,var(--navy-600),var(--navy-850));
  box-shadow:inset 0 0 0 1px rgba(228,193,90,.28)}
.founder__stage::after{content:"";position:absolute;left:50%;bottom:6%;transform:translateX(-50%);width:74%;height:26px;
  background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);border-radius:50%}
.founder__photo img{position:relative;z-index:2;max-height:640px;width:auto;filter:drop-shadow(0 28px 34px rgba(0,0,0,.5))}
.founder__namecard{position:absolute;z-index:3;left:2%;bottom:14px;background:rgba(8,18,33,.72);backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:14px 18px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow-soft)}
.founder__namecard-k{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-300);font-weight:700}
.founder__namecard-v{font-family:var(--font-display);font-size:1.16rem;color:#fff}
.founder__namecard-s{display:flex;align-items:center;gap:7px;font-size:.72rem;color:rgba(233,240,247,.72)}
.founder__namecard-s .dot{width:7px;height:7px;border-radius:50%;background:#25D366;box-shadow:0 0 0 3px rgba(37,211,102,.2)}
.founder .section__title{color:#fff}
.founder__body>p{margin-top:16px;color:rgba(233,240,247,.78);font-size:1.05rem}
.founder__body>p strong{color:#fff}
.cred{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin:28px 0 4px}
.cred li{display:flex;flex-direction:column;gap:2px;padding-left:16px;position:relative}
.cred li::before{content:"";position:absolute;left:0;top:6px;width:4px;height:calc(100% - 8px);border-radius:3px;background:linear-gradient(var(--gold-300),var(--gold-600))}
.cred b{font-family:var(--font-display);font-size:1.12rem;color:var(--gold)}
.cred span{font-size:.86rem;color:rgba(233,240,247,.7)}
.founder__quote{margin:28px 0;padding:14px 0 14px 22px;border-left:2px solid var(--gold);font-family:var(--font-display);
  font-style:italic;font-size:1.22rem;color:var(--gold-100)}
.founder__cta{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Real About photo (replaces placeholder) ---------- */
.about__photo{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);aspect-ratio:4/5;border:1px solid rgba(11,22,34,.08)}
.about__photo img{width:100%;height:100%;object-fit:cover}

/* ---------- Office gallery ---------- */
.gallery{background:linear-gradient(180deg,var(--cream),var(--cream-2))}
.gallery__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.gallery__item{position:relative;margin:0;overflow:hidden;border-radius:var(--radius-lg);aspect-ratio:16/11;box-shadow:var(--shadow-soft);border:1px solid rgba(11,22,34,.08)}
.gallery__item--wide{grid-column:1 / -1;aspect-ratio:24/9}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gallery__item:hover img{transform:scale(1.055)}
.gallery__item figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 22px 16px;
  background:linear-gradient(transparent,rgba(6,15,29,.82));display:flex;align-items:center;gap:9px}
.gallery__item figcaption span{color:#fff;font-weight:600;font-size:.96rem}
.gallery__item figcaption::before{content:"";width:16px;height:2px;background:var(--gold);flex:none}

/* ---------- Reviews v2 ---------- */
.reviews__top{display:grid;grid-template-columns:.82fr 1.18fr;gap:24px;margin-bottom:22px;align-items:stretch}
.reviews__top .quote--feature{padding:38px 40px}
.reviews__top .quote blockquote{font-size:clamp(1.35rem,2.2vw,1.8rem)}
.reviews__top .quote__src strong{color:var(--gold-300)}
.reviews__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:18px}
.rcard{background:rgba(255,255,255,.045);border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px 24px;transition:transform .4s var(--ease),border-color .4s}
.rcard:hover{transform:translateY(-5px);border-color:var(--line)}
.rcard .stars{font-size:.95rem}
.rcard blockquote{margin:12px 0 14px;color:rgba(255,255,255,.9);font-size:1rem;line-height:1.55}
.rcard figcaption{font-size:.82rem;color:rgba(233,240,247,.58)}
.rcard figcaption strong{color:var(--gold-300);font-weight:700}

/* ---------- Reels v2 (real links, branded cards) ---------- */
.reels__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.reel{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:var(--radius);display:flex;flex-direction:column;
  justify-content:flex-end;text-align:center;border:1px solid var(--line-soft);
  background:linear-gradient(158deg,var(--navy-600),var(--navy-900) 78%);box-shadow:var(--shadow-soft)}
.reel__thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .8s var(--ease)}
.reel:hover .reel__thumb{transform:scale(1.06)}
.reel::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,15,29,.34) 0%,transparent 22%,transparent 44%,rgba(6,15,29,.92) 100%)}
.reel:nth-child(2){background:linear-gradient(158deg,var(--navy-700),var(--navy-900) 80%)}
.reel:nth-child(3){background:linear-gradient(158deg,#123152,var(--navy-900) 78%)}
.reel:nth-child(4){background:linear-gradient(158deg,var(--navy-600),var(--navy-850) 80%)}
.reel:nth-child(5){background:linear-gradient(158deg,#0f2846,var(--navy-900) 80%)}
.reel__emblem{position:absolute;top:0;left:0;right:0;height:52%;display:grid;place-items:center;
  font-family:var(--font-display);font-weight:700;font-size:3.4rem;letter-spacing:.05em;
  color:transparent;-webkit-text-stroke:1.4px rgba(228,193,90,.5);opacity:.55}
.reel__play{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;
  background:rgba(228,193,90,.14);border:1.5px solid var(--gold);display:grid;place-items:center;transition:transform .4s var(--ease),background .4s;z-index:2}
.reel__play::after{content:"";margin-left:4px;border-left:16px solid var(--gold);border-top:10px solid transparent;border-bottom:10px solid transparent}
.reel__tag{position:absolute;top:13px;left:13px;z-index:2;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold-100);background:rgba(6,15,29,.5);border:1px solid var(--line);padding:5px 9px;border-radius:100px}
.reel__cta{position:relative;z-index:2;padding:18px 12px 20px;color:#fff;font-weight:700;font-size:.86rem;
  background:linear-gradient(transparent,rgba(6,15,29,.85))}
.reel:hover{transform:translateY(-6px)}
.reel:hover .reel__play{transform:translate(-50%,-50%) scale(1.12);background:rgba(228,193,90,.26)}
.reel:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- Responsive: new sections ---------- */
@media (max-width:960px){
  .founder__inner{grid-template-columns:1fr;gap:20px}
  .founder__photo{min-height:auto;order:-1}
  .founder__photo img{max-height:440px}
  .founder__stage{height:100%;width:min(84%,340px)}
  .reviews__top{grid-template-columns:1fr}
}
@media (max-width:680px){
  .cred{grid-template-columns:1fr 1fr;gap:14px 16px}
  .gallery__grid{grid-template-columns:1fr}
  .gallery__item,.gallery__item--wide{aspect-ratio:16/10}
  .reviews__cards{grid-template-columns:1fr}
  /* reels: horizontal snap-scroll instead of cramped grid */
  .reels__grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:calc(-1*clamp(20px,5vw,40px));padding-inline:clamp(20px,5vw,40px);
    padding-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .reels__grid::-webkit-scrollbar{display:none}
  .reel{flex:0 0 64%;scroll-snap-align:center}
  .about__photo{max-width:360px;margin-inline:auto}
}
@media (max-width:460px){
  .cred{grid-template-columns:1fr}
  .reel{flex-basis:74%}
  .founder__namecard{left:50%;transform:translateX(-50%);text-align:center;align-items:center}
  .founder__quote{font-size:1.08rem}
}

/* anchor scroll offset so the sticky nav never covers a heading */
section[id]{scroll-margin-top:84px}
/* keep the (now longer) nav from crowding on mid widths */
.nav__links{gap:26px}
@media (max-width:1140px){.nav__phone{display:none}}
