:root{
  --bg: #08080a;
  --surface: #131317;
  --surface-2: #1a1a1f;
  --ink: #f4f1ea;
  --muted: #b9b9c3;
  --line: rgba(244,241,234,0.09);
  --brass: #e3a63e;
  --blue: #5c86ff;
  --serif: "Fraunces", serif;
  --sans: "Inter", sans-serif;
  --ease: cubic-bezier(.16,.84,.44,1);
  --header-h: 92px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{background:var(--bg);scroll-behavior:smooth;}
body{min-height:100vh;min-height:100svh;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  overflow-x:hidden;
}
::selection{background:var(--brass);color:#09090b;}

/* every anchor target section gets breathing room below the fixed
   header, so #services etc actually land in a readable spot */
section[id]{scroll-margin-top:calc(var(--header-h) + 16px);}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}

/* ---------- grain overlay ---------- */
.grain{
  position:fixed;inset:0;z-index:998;pointer-events:none;
  opacity:0.045;mix-blend-mode:overlay;
}

/* ---------- preloader ----------
   CSS drives the guaranteed hide (animation-delay) so the loader
   can never get stuck even if JS fails; JS only adds a nicer
   logo-draw animation on top when it's available. */
.preloader{
  position:fixed;inset:0;z-index:2000;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  animation:preloaderOut 0.45s ease forwards;
  animation-delay:0.7s;
}
.preloader .pl-mark{
  font-family:var(--serif);font-size:1.6rem;letter-spacing:0.02em;
  display:flex;align-items:center;gap:10px;
}
.preloader .pl-mark{font-family:var(--sans);font-weight:700;font-size:1.1rem;letter-spacing:0.24em;gap:14px;}
.preloader .pl-mark svg{width:46px;height:46px;}
.preloader .pl-bar{
  position:absolute;bottom:42%;left:50%;transform:translateX(-50%);
  width:160px;height:1px;background:var(--line);overflow:hidden;
}
.preloader .pl-bar::after{
  content:'';position:absolute;left:-100%;top:0;width:100%;height:100%;background:var(--brass);
  animation:plfill 0.65s ease forwards;
}
@keyframes plfill{ to{ left:0; } }
@keyframes preloaderOut{
  to{ opacity:0; visibility:hidden; pointer-events:none; }
}

/* ---------- custom cursor ---------- */
.cursor-dot,.cursor-ring{
  position:fixed;top:0;left:0;pointer-events:none;z-index:1500;
  border-radius:50%;transform:translate(-50%,-50%);opacity:0;
}
.cursor-dot{width:6px;height:6px;background:var(--brass);transition:opacity .3s var(--ease);}
.cursor-ring{
  width:36px;height:36px;border:1px solid rgba(244,241,234,0.35);
  transition:width .3s var(--ease),height .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease),opacity .3s var(--ease);
}
.cursor-ring.hover{
  width:64px;height:64px;background:rgba(227,166,62,0.08);border-color:var(--brass);
}
@media(max-width:900px){.cursor-dot,.cursor-ring{display:none;}body{cursor:auto;}}

/* ---------- layout helpers ---------- */
.wrap{max-width:1400px;margin:0 auto;padding:0 6vw;}
section{position:relative;}

/* ---------- global texture ----------
   A faint fixed dot-grid so the page reads as an intentional dark
   canvas rather than plain flat black between sections. */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(244,241,234,0.09) 1px, transparent 1px);
  background-size:34px 34px;
  opacity:0.35;
}
.hero, main, .marquee-section, footer{ position:relative; z-index:1; }

/* ---------- section background variation ---------- */
.section-about{ background:var(--bg); }
.section-why{ background:var(--bg); }
.section-services{ background:var(--bg); }
.section-team{ background:var(--bg); }
.section-blog{ background:var(--bg); }
.section-contact{ background:var(--bg); }

/* decorative glow orbs — soft blurred circles echoing the hero's
   lighting, placed low-opacity behind section content */
.deco-orb{display:none;
  position:absolute;border-radius:50%;filter:blur(70px);
  pointer-events:none;z-index:0;opacity:0.5;
}
.deco-orb.brass{background:radial-gradient(circle, rgba(227,166,62,0.35), transparent 70%);}
.deco-orb.blue{background:radial-gradient(circle, rgba(92,134,255,0.32), transparent 70%);}

/* faint wireframe accent, echoing the hero's 3D object motif */
.deco-wire{position:absolute;opacity:0.16;pointer-events:none;z-index:0;}
.deco-wire svg{width:100%;height:100%;stroke:var(--brass);fill:none;}

/* ---------- header ---------- */
header{
  position:fixed;top:0;left:0;width:100%;z-index:100;
  height:var(--header-h);
  padding:0 6vw;display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(to bottom, rgba(8,8,10,0.75), rgba(8,8,10,0.35) 70%, transparent);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.logo{display:flex;align-items:center;gap:0.75rem;position:relative;z-index:1600;font-family:var(--sans);}
.logo svg{width:36px;height:36px;flex:none;display:block;}
.logo .wm{display:flex;flex-direction:column;line-height:1;}
.logo .wm b{font-weight:700;font-size:1.08rem;letter-spacing:0.24em;color:var(--ink);}
.logo .wm i{font-style:normal;font-weight:500;font-size:0.62rem;letter-spacing:0.52em;color:var(--brass);margin-top:6px;}
nav.links{display:flex;gap:2.1rem;}
nav.links a{
  font-size:0.82rem;font-weight:500;color:var(--muted);
  position:relative;padding-bottom:3px;
  transition:color .3s var(--ease);
}
nav.links a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ink);
  transition:width .4s var(--ease);
}
nav.links a:hover{color:var(--ink);}
nav.links a:hover::after{width:100%;}
.header-right{display:flex;align-items:center;gap:1.2rem;}
@media(max-width:960px){ nav.links{display:none;} }
.nav-cta{
  font-size:0.82rem;font-weight:500;
  border:1px solid var(--line);border-radius:100px;
  padding:10px 20px;
}
.menu-btn{
  display:flex;align-items:center;gap:10px;
  font-size:0.82rem;font-weight:500;
  border:1px solid var(--line);border-radius:100px;padding:9px 18px 9px 10px;
  position:relative;z-index:1600;
}
.menu-btn .bars{display:flex;flex-direction:column;gap:3px;}
.menu-btn .bars span{width:14px;height:1px;background:var(--ink);transition:transform .3s var(--ease), opacity .3s var(--ease);}
.menu-btn.open .bars span:nth-child(1){transform:translateY(4px) rotate(45deg);}
.menu-btn.open .bars span:nth-child(2){opacity:0;}
.menu-btn.open .bars span:nth-child(3){transform:translateY(-4px) rotate(-45deg);}
@media(max-width:600px){.nav-cta{display:none;}}

/* ---------- full-screen menu overlay ---------- */
.menu-overlay{
  position:fixed;inset:0;z-index:1400;
  background:rgba(8,8,10,0.98);
  backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .5s var(--ease), visibility .5s;
}
.menu-overlay.open{opacity:1;visibility:visible;pointer-events:auto;}
.menu-overlay-inner{display:flex;flex-direction:column;gap:0.4rem;text-align:center;}
.menu-overlay a{
  font-family:var(--serif);font-weight:340;
  font-size:clamp(2.2rem,6vw,4.2rem);color:var(--ink);
  padding:0.35rem 0;position:relative;
  opacity:0.94;transition:opacity .3s var(--ease), color .3s var(--ease);
}
.menu-overlay a:hover{color:var(--brass);opacity:1;}
.menu-overlay .num{font-family:var(--sans);font-size:0.9rem;color:var(--muted);vertical-align:super;margin-right:14px;}
.menu-overlay-foot{
  position:absolute;bottom:6vh;left:0;right:0;display:flex;justify-content:center;gap:2.4rem;
  font-size:0.8rem;color:var(--muted);
}

/* ---------- hero ---------- */
.hero{ min-height:100svh;position:relative;display:flex;flex-direction:column;overflow:hidden; }
#hero-canvas{ position:absolute;inset:0;width:100%;height:100%;z-index:1; }
.hero-inner{
  position:relative;z-index:2;flex:1;width:100%;
  display:flex;align-items:center;
  padding:calc(var(--header-h) + 16px) 6vw 4vw;
}
.hero-copy{display:flex;flex-direction:column;gap:1.5rem;max-width:40rem;}
.hero-eyebrow{ display:flex;align-items:center;gap:0.6rem; font-size:0.8rem;color:var(--muted); }
.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--brass);}
h1.hero-headline{
  font-family:var(--serif); font-weight:340; font-size:clamp(2.2rem, 4.3vw, 4.4rem);
  line-height:1.06; letter-spacing:-0.015em; max-width:15ch;
}
h1.hero-headline em{ font-style:italic;font-weight:300;color:var(--brass); }
.hero-sub{max-width:44ch;color:var(--muted);font-size:1.05rem;line-height:1.65;}
.hero-cta{display:flex;flex-wrap:wrap;gap:0.9rem;align-items:center;}
.btn.ghost{background:transparent;color:var(--ink);}
.btn.ghost:hover{border-color:var(--brass);}
.hero-rise{opacity:0;animation:heroRise .9s var(--ease) forwards;}
@keyframes heroRise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
#hero-canvas{pointer-events:none;opacity:0;}

/* labels pinned to nodes of the 3D authority network */
.hero-tag{
  position:absolute;left:0;top:0;z-index:2;display:flex;align-items:center;gap:0.55rem;
  margin:-14px 0 0 14px; padding:0.42rem 0.8rem; white-space:nowrap;
  font-size:0.74rem;color:var(--ink); border:1px solid var(--line);border-radius:100px;
  background:rgba(8,8,10,0.6);backdrop-filter:blur(6px);
  pointer-events:none;opacity:0;will-change:transform,opacity;
}
.hero-tag i{width:5px;height:5px;border-radius:50%;background:var(--brass);}
@media(max-width:900px){
  .hero-tag{display:none;}
  #hero-canvas{height:56svh;}
  .hero-inner{align-items:flex-start;padding-top:calc(var(--header-h) + 44svh);}
}
@media(prefers-reduced-motion:reduce){ .hero-rise{animation:none;opacity:1;} }
.scroll-cue{ display:flex;align-items:center;gap:10px;color:var(--muted);font-size:0.78rem; }
.scroll-cue .line{width:1px;height:34px;background:var(--line);position:relative;overflow:hidden;}
.scroll-cue .line::after{
  content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--brass);
  animation:scrollline 2.2s ease-in-out infinite;
}
@keyframes scrollline{ 0%{top:-100%;}50%{top:0;}100%{top:100%;} }


/* ---------- magnetic button ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px; font-size:0.85rem;font-weight:500;
  border:1px solid var(--line);border-radius:100px; padding:16px 30px; position:relative;
}
.btn.solid{background:var(--ink);color:#09090b;border-color:var(--ink);}
.magnetic-wrap{display:inline-block;}

/* ---------- section titles ---------- */
.section-head{
  display:flex;justify-content:space-between;align-items:flex-end; gap:2rem;flex-wrap:wrap;
  padding:1.2rem 0 3.4rem;
}
h2.section-title{
  font-family:var(--serif);font-weight:340; font-size:clamp(2rem,4.4vw,3.6rem); line-height:1.02; max-width:16ch;
}
.section-note{max-width:32ch;color:var(--muted);font-size:0.95rem;line-height:1.6;text-align:right;}
@media(max-width:800px){.section-note{text-align:left;}}

.section-flourish{ display:flex;align-items:center;gap:14px; padding-top:6.4rem; border-top:1px solid var(--line); }
.section-flourish .fl-line{flex:0 0 auto;width:64px;height:1px;background:var(--brass);transform-origin:left;}
.section-flourish .fl-text{font-size:0.78rem;letter-spacing:0.12em;color:var(--muted);text-transform:uppercase;}

/* ---------- services ---------- */
.services{padding-bottom:6.5rem;}
.service-cards{ display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem; border-top:1px solid var(--line);padding-top:2.6rem; }
.service-card{
  border:1px solid var(--line);border-radius:14px; padding:2.6rem 2rem 2.2rem;
  background:linear-gradient(160deg, rgba(244,241,234,0.03), rgba(244,241,234,0));
  position:relative;overflow:hidden;
  transition:border-color .4s var(--ease), transform .4s var(--ease);
}
.service-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 30% 0%, rgba(227,166,62,0.14), transparent 55%);
  opacity:0;transition:opacity .5s var(--ease);
}
.service-card:hover{border-color:rgba(227,166,62,0.5);transform:translateY(-6px);}
.service-card:hover::before{opacity:1;}
.service-card .icon{
  width:48px;height:48px;border-radius:10px; display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);margin-bottom:1.8rem; position:relative;z-index:1;
  transition:transform .5s var(--ease), border-color .5s var(--ease);
}
.service-card:hover .icon{transform:rotate(-8deg) scale(1.06);border-color:var(--brass);}
.service-card .icon svg{width:22px;height:22px;stroke:var(--brass);}
.service-card .num{ position:absolute;top:1.8rem;right:2rem;font-size:0.78rem;color:var(--muted); }
.service-card h3{ font-family:var(--serif);font-weight:400;font-size:1.6rem;margin-bottom:0.7rem;position:relative;z-index:1; }
.service-card p{color:var(--muted);font-size:0.9rem;line-height:1.6;position:relative;z-index:1;}
@media(max-width:900px){.service-cards{grid-template-columns:1fr;}}

.capabilities{ display:flex;flex-wrap:wrap;gap:0.8rem;padding-top:3.2rem; }
.chip{
  border:1px solid var(--line);border-radius:100px; padding:11px 20px;font-size:0.84rem;color:var(--muted);
  transition:border-color .3s var(--ease), color .3s var(--ease), background .3s var(--ease);
}
.chip:hover{border-color:var(--brass);color:var(--ink);background:rgba(227,166,62,0.06);}

/* ---------- about ---------- */
.about{padding:8rem 0;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:start;}
.about h2{ font-family:var(--serif);font-weight:320;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.12; }
.about-copy{color:var(--muted);font-size:1.02rem;line-height:1.75;}
.about-copy p+p{margin-top:1.3rem;}

.about-visual{
  margin-top:2.6rem;border-radius:14px;overflow:hidden;border:1px solid var(--line);
  aspect-ratio:16/10;position:relative;
}
.about-visual .img{position:absolute;inset:0;width:100%;height:100%;}
.about-visual .cap{
  position:absolute;left:0;right:0;bottom:0;padding:1.2rem 1.4rem;
  font-size:0.85rem;color:var(--ink);
  background:linear-gradient(to top, rgba(8,8,10,0.95), rgba(8,8,10,0.6) 60%, transparent);
}

/* animated stat counters — professional, evenly laid out, count
   up into view rather than sitting static */
.about-stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  margin-top:3.4rem;border-top:1px solid var(--line);
}
.stat-block{
  padding:2rem 1.6rem 2rem 0;border-bottom:1px solid var(--line);
  position:relative;
}
.stat-block:nth-child(odd){border-right:1px solid var(--line);padding-right:2rem;}
.stat-block:nth-child(even){padding-left:2.2rem;}
.stat-block .n{
  font-family:var(--serif);font-size:clamp(2.1rem,3.6vw,3.1rem);color:var(--brass);
  display:flex;align-items:baseline;gap:2px;
}
.stat-block .l{color:var(--muted);font-size:0.92rem;margin-top:0.4rem;}
@media(max-width:600px){.about-stats{grid-template-columns:1fr;}.stat-block:nth-child(odd){border-right:none;padding-right:0;}.stat-block:nth-child(even){padding-left:0;}}

/* ---------- why choose ---------- */
.why{padding-bottom:6.5rem;}
.why-grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem; border-top:1px solid var(--line);padding-top:2.6rem; }
.why-card{padding:1.8rem 0;border-right:1px solid var(--line);padding-right:1.6rem;}
.why-card:last-child{border-right:none;}
.why-card .n{font-family:var(--serif);color:var(--brass);font-size:1.1rem;margin-bottom:0.9rem;}
.why-card h4{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin-bottom:0.6rem;}
.why-card p{color:var(--muted);font-size:0.86rem;line-height:1.6;}
@media(max-width:900px){ .why-grid{grid-template-columns:1fr 1fr;} .why-card{border-right:none;border-bottom:1px solid var(--line);padding-bottom:1.8rem;} }
@media(max-width:560px){.why-grid{grid-template-columns:1fr;}}

/* testimonial rotator — one card visible at a time, auto-cycling,
   with dot navigation; degrades to "just show the first one" if
   JS never runs, since only .is-active is display:block by default */
.testimonial-rotator{ margin-top:4rem;border-top:1px solid var(--line);padding-top:3rem; }
.testimonial-track{position:relative;min-height:168px;}
.result-card{
  border:1px solid var(--line);border-radius:12px;padding:2.2rem;
  background:rgba(244,241,234,0.02);
  position:absolute;inset:0;
  opacity:0;pointer-events:none;
  transition:opacity .6s var(--ease);
}
.result-card.is-active{opacity:1;pointer-events:auto;position:relative;}
.result-card .quote{font-family:var(--serif);font-size:1.25rem;line-height:1.55;font-style:italic;margin-bottom:1.3rem;max-width:60ch;}
.result-card .who{font-size:0.85rem;color:var(--muted);}
.result-card .who b{color:var(--ink);font-weight:500;}
.testimonial-dots{display:flex;gap:8px;margin-top:1.6rem;}
.testimonial-dots button{
  width:8px;height:8px;border-radius:50%;background:var(--line);
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.testimonial-dots button.is-active{background:var(--brass);transform:scale(1.3);}
.placeholder-note{color:var(--muted);font-size:0.78rem;margin-top:1.4rem;}

/* ---------- team ---------- */
.team{padding-bottom:8rem;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.team-card{border-top:1px solid var(--line);padding-top:1.4rem;}
.team-card .ph{
  aspect-ratio:3/4;background:var(--surface);border-radius:6px;margin-bottom:1rem;overflow:hidden;position:relative;
}
.team-card .ph .img{position:absolute;inset:0;width:100%;height:100%;transition:filter .5s var(--ease);}
.team-card h4{font-family:var(--serif);font-weight:400;font-size:1.15rem;}
.team-card p{color:var(--muted);font-size:0.9rem;margin-top:0.2rem;}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- blog ---------- */
.blog{padding-bottom:8rem;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;border-top:1px solid var(--line);padding-top:2.6rem;}
.blog-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(244,241,234,0.02);transition:border-color .4s var(--ease), transform .4s var(--ease);}
.blog-card:hover{border-color:rgba(227,166,62,0.45);transform:translateY(-5px);}
.blog-card .thumb{aspect-ratio:16/10;position:relative;}
.blog-card .thumb .img{position:absolute;inset:0;width:100%;height:100%;}
.blog-card .body{padding:1.6rem 1.6rem 1.8rem;}
.blog-card .meta{display:flex;gap:0.8rem;font-size:0.76rem;color:var(--muted);margin-bottom:0.7rem;}
.blog-card h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;line-height:1.3;margin-bottom:0.7rem;}
.blog-card p{color:var(--muted);font-size:0.86rem;line-height:1.55;}
.blog-card .read{display:inline-block;margin-top:1rem;font-size:0.8rem;color:var(--brass);}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr;}}

/* ---------- marquee (multi-direction) ---------- */
.marquee-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#0a0a0d;padding:3.2rem 0;}
.marquee-row{overflow:hidden;padding:0.8rem 0;}
.marquee-track{display:flex;gap:5vw;white-space:nowrap;width:max-content;}
.marquee-track.dir-left{animation:marqueeLeft 34s linear infinite;}
.marquee-track.dir-right{animation:marqueeRight 30s linear infinite;}
.marquee-track span{
  font-family:var(--serif);font-size:clamp(1.4rem,2.8vw,2.2rem);color:var(--muted);
  font-style:italic;font-weight:300;
}
.marquee-row.row-2 .marquee-track span{color:rgba(139,139,148,0.55);}
@keyframes marqueeLeft{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes marqueeRight{from{transform:translateX(-50%);}to{transform:translateX(0);}}

/* ---------- contact ---------- */
.contact{padding:9rem 0 5rem;}
.contact-cta{ font-family:var(--serif);font-weight:320; font-size:clamp(2.4rem,7.2vw,7rem);line-height:0.98; max-width:18ch; }
.contact-cta em{font-style:italic;color:var(--brass);font-weight:300;}
.contact-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:6vw;margin-top:5rem;}
.contact-info{display:flex;flex-direction:column;gap:2.6rem;}
.info-block .l{color:var(--muted);font-size:0.8rem;margin-bottom:0.5rem;}
.info-block .v{font-family:var(--serif);font-size:1.5rem;}
form{display:flex;flex-direction:column;gap:1.6rem;}
.field{border-bottom:1px solid var(--line);padding-bottom:0.9rem;position:relative;}
.field label{display:block;font-size:0.85rem;color:var(--muted);margin-bottom:0.6rem;}
.field input,.field textarea{
  width:100%;background:transparent;border:none;outline:none;color:var(--ink);
  font-family:var(--sans);font-size:1rem;resize:none;
}
.field::after{
  content:'';position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--brass);
  transition:width .4s var(--ease);
}
.field.focus::after{width:100%;}
.submit-row{display:flex;justify-content:flex-start;margin-top:0.8rem;}

footer{
  border-top:1px solid var(--line);padding:2.6rem 0 3rem;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
}
footer .fl{display:flex;gap:2rem;}
footer a{color:var(--muted);font-size:0.9rem;}
footer a:hover{color:var(--ink);}
footer .fname{font-family:var(--serif);font-size:1rem;color:var(--muted);}

/* ---------- unified scroll-reveal "template" ----------
   Applied the same way across every section: fade + rise + a
   slight 3D tilt (rotateX), so scrolling the whole site feels
   consistent rather than each section doing its own thing.
   Visible by default; JS opts in to the hidden pre-state only
   once GSAP is confirmed present. */
.reveal{opacity:1;transform:none;}
.js-anim-ready .reveal{opacity:0;transform:translateY(28px);}
.js-anim-ready .reveal.is-in{opacity:1;transform:none;}
.js-anim-ready .reveal:not(.is-in), .anim-pending{transition:none !important;}
main, section{perspective:1200px;}

@media(max-width:800px){
  .wrap{padding:0 6vw;}
  .contact-grid{grid-template-columns:1fr;}
}

/* ---------- full-bleed sections, tight spacing, distinct backgrounds ---------- */
section.wrap, footer.wrap{
  max-width:none; overflow:hidden;
  padding-left:max(6vw, calc((100vw - 1400px)/2 + 6vw));
  padding-right:max(6vw, calc((100vw - 1400px)/2 + 6vw));
}
section.wrap{padding-top:4.5rem;padding-bottom:4.5rem;border-top:1px solid rgba(244,241,234,0.06);}
.section-flourish{padding-top:0;border-top:none;}
.section-head{padding:1rem 0 2.2rem;}
.service-cards,.why-grid,.blog-grid{padding-top:2rem;}
section.contact{padding-top:4.5rem;padding-bottom:3rem;}
.contact-grid{margin-top:3rem;}
.marquee-section{padding:2rem 0;background:var(--bg);}
footer.wrap{padding-top:2rem;padding-bottom:2.2rem;background:#050506;}

section.section-about{background:var(--bg);}
section.section-services{background:var(--bg);}
section.section-why{background:var(--bg);}
section.section-team{background:var(--bg);}
section.section-blog{background:var(--bg);}
section.section-contact{background:var(--bg);}

.contact-cta{max-width:none;white-space:nowrap;font-size:clamp(1.8rem,4.2vw,5rem);line-height:1.05;}
@media(max-width:700px){
  .contact-cta{white-space:normal;font-size:clamp(2rem,9vw,3rem);}
  section.wrap{padding-top:3.2rem;padding-bottom:3.2rem;}
}
.team-card .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.team-in{display:inline-block;margin-top:0.7rem;font-size:0.85rem;color:var(--brass);}
.team-in:hover{color:var(--ink);}
.in-link{display:inline-flex;align-items:center;gap:0.6rem;color:var(--ink);}
.in-link svg{width:18px;height:18px;fill:currentColor;}
.in-link:hover{color:var(--brass);}
.about-visual .viz,.about-visual .about-photo{position:absolute;inset:0;width:100%;height:100%;}
.about-visual .viz svg{width:100%;height:100%;display:block;}
.about-visual .about-photo,.blog-card .thumb img{object-fit:cover;}
.blog-card .thumb img{position:absolute;inset:0;width:100%;height:100%;}
.viz .v-line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--ease);}
.viz .v-area{opacity:0;transition:opacity 1.6s ease .8s;}
.viz.in .v-line{stroke-dashoffset:0;}
.viz.in .v-area{opacity:1;}
@media (prefers-reduced-motion:reduce){.viz .v-line{stroke-dashoffset:0;transition:none;}.viz .v-area{opacity:1;transition:none;}}
/* ---------- results panel (4 large clips) ---------- */
.results-stage{position:relative;z-index:1;width:min(100%,920px);margin:2.4rem auto 0;display:flex;flex-direction:column;gap:18px;}
.rp-wrap{position:relative;perspective:1800px;}
.rp-glow{
  position:absolute;inset:-12% -8%;z-index:0;pointer-events:none;filter:blur(40px);
  background:radial-gradient(closest-side at 60% 40%, rgba(227,166,62,0.22), transparent 70%),
             radial-gradient(closest-side at 30% 75%, rgba(92,134,255,0.14), transparent 70%);
}
.rp{
  container-type:inline-size;
  position:relative;z-index:1;width:100%;aspect-ratio:16/10.6;
  border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg, rgba(22,22,27,0.92), rgba(9,9,12,0.96));
  border:1px solid rgba(244,241,234,0.12);
  box-shadow:0 0 0 1px rgba(0,0,0,0.6), 0 50px 100px -30px rgba(0,0,0,0.9), 0 0 140px -50px rgba(227,166,62,0.4);
  transform-style:preserve-3d;will-change:transform;
  font-family:var(--sans);color:var(--ink);
}
.rp::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(155deg, rgba(255,255,255,0.06), transparent 30%);}
.rp-top{
  height:7.2cqw;display:flex;align-items:center;gap:1cqw;padding:0 2.6cqw;
  border-bottom:1px solid rgba(244,241,234,0.08);font-size:1.6cqw;color:var(--muted);
}
.rp-top i{width:1.2cqw;height:1.2cqw;border-radius:50%;background:#2c2c33;}
.rp-top .rp-title{margin-left:1.4cqw;color:#cfcac0;}
.rp-top .rp-live{margin-left:auto;display:flex;align-items:center;gap:0.8cqw;font-size:1.3cqw;letter-spacing:0.16em;color:#5fd39a;}
.rp-top .rp-live::before{content:'';width:0.9cqw;height:0.9cqw;border-radius:50%;background:#5fd39a;animation:reelpulse 1.8s ease-in-out infinite;}
@keyframes reelpulse{0%,100%{box-shadow:0 0 0 0 rgba(95,211,154,0.6);}50%{box-shadow:0 0 0 0.8cqw rgba(95,211,154,0);}}
.rp-body{position:absolute;left:0;right:0;bottom:0;top:7.2cqw;}
.clip{position:absolute;inset:0;padding:3cqw 3.4cqw;display:flex;flex-direction:column;gap:2.2cqw;opacity:0;visibility:hidden;}
.clip.is-on{opacity:1;visibility:visible;}
.c-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2cqw;}
.c-head h5{font-family:var(--serif);font-weight:400;font-size:3.3cqw;line-height:1.1;color:var(--ink);}
.c-head small{display:block;font-size:1.45cqw;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass);margin-bottom:0.6cqw;}
.pill{font-size:1.4cqw;color:#cfcac0;padding:0.8cqw 1.6cqw;border-radius:100px;border:1px solid rgba(244,241,234,0.12);white-space:nowrap;}
.up{color:#5fd39a;font-weight:600;}

/* clip 1: traffic */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2cqw;}
.kpi{padding:1.6cqw 1.8cqw;border-radius:1.4cqw;background:rgba(244,241,234,0.035);border:1px solid rgba(244,241,234,0.07);border-top:2px solid var(--c);}
.kpi small{display:block;font-size:1.3cqw;color:var(--muted);}
.kpi b{display:block;font-size:3.4cqw;font-weight:500;margin-top:0.6cqw;letter-spacing:-0.01em;}
.kpi em{font-style:normal;font-size:1.25cqw;}
.chart{position:relative;flex:1;min-height:0;}
.chart svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.badge-up{position:absolute;right:0;top:0;font-size:1.6cqw;font-weight:600;color:#04140b;background:#5fd39a;border-radius:100px;padding:0.8cqw 1.8cqw;box-shadow:0 0 3cqw rgba(95,211,154,0.45);}

/* clip 2: rankings */
.rk-sum{display:flex;gap:1.2cqw;}
.rk-sum div{flex:1;padding:1.4cqw 1.8cqw;border-radius:1.4cqw;background:rgba(244,241,234,0.035);border:1px solid rgba(244,241,234,0.07);}
.rk-sum small{display:block;font-size:1.3cqw;color:var(--muted);}
.rk-sum b{font-size:3cqw;font-weight:500;}
.rk-table{display:flex;flex-direction:column;}
.rk-row{display:grid;grid-template-columns:1fr 12cqw 10cqw 9cqw 14cqw;align-items:center;gap:1cqw;padding:1.25cqw 0;border-bottom:1px solid rgba(244,241,234,0.07);font-size:1.6cqw;}
.rk-row.h{font-size:1.25cqw;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);padding-top:0;}
.rk-row .kw{color:#ece8df;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rk-row .vol{color:var(--muted);}
.rk-row .pos{font-weight:600;}
.rk-row .pos b{display:inline-flex;align-items:center;justify-content:center;min-width:4.4cqw;height:3cqw;border-radius:0.8cqw;background:rgba(244,241,234,0.06);}
.rk-row .pos b.top{background:linear-gradient(180deg,#ffd77d,#e3a63e);color:#2a1c05;}
.rk-row svg{width:100%;height:3cqw;overflow:visible;}

/* clip 3: AI visibility */
.ai-grid{flex:1;display:grid;grid-template-columns:34cqw 1fr;gap:4cqw;align-items:center;}
.donut{position:relative;width:30cqw;height:30cqw;margin:auto;}
.donut svg{width:100%;height:100%;transform:rotate(-90deg);}
.donut div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.donut b{font-size:7cqw;font-weight:600;letter-spacing:-0.02em;line-height:1;}
.donut small{font-size:1.35cqw;color:var(--muted);max-width:16cqw;margin-top:0.8cqw;line-height:1.35;}
.aiv2{display:flex;flex-direction:column;gap:2.1cqw;}
.aiv2 .r{display:grid;grid-template-columns:13cqw 1fr 6cqw;align-items:center;gap:1.4cqw;font-size:1.6cqw;color:#e9e4da;}
.aiv2 .r i{height:1.3cqw;border-radius:99px;background:rgba(244,241,234,0.07);overflow:hidden;}
.aiv2 .r i b{display:block;height:100%;border-radius:inherit;background:var(--c);transform-origin:left;transform:scaleX(var(--w,1));}
.aiv2 .r em{font-style:normal;text-align:right;font-weight:600;}

/* clip 4: global reach */
.gl-grid{flex:1;display:grid;grid-template-columns:1fr 26cqw;gap:3cqw;align-items:center;min-height:0;}
.gl-globe{position:relative;height:100%;min-height:0;}
.gl-globe svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.gl-stats{display:flex;flex-direction:column;gap:2.4cqw;}
.gl-stats div{border-left:2px solid var(--brass);padding-left:1.8cqw;}
.gl-stats b{display:block;font-family:var(--serif);font-weight:400;font-size:4.6cqw;line-height:1;}
.gl-stats small{font-size:1.35cqw;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}

/* tabs */
.rp-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative;z-index:2;}
.rp-tab{
  text-align:left;background:none;border:0;color:var(--muted);cursor:pointer;padding:0;
  font-family:var(--sans);font-size:0.78rem;display:flex;flex-direction:column;gap:8px;
  transition:color .3s var(--ease);
}
.rp-tab .n{font-family:var(--serif);color:var(--brass);margin-right:6px;}
.rp-tab i{display:block;height:2px;background:rgba(244,241,234,0.12);border-radius:2px;overflow:hidden;}
.rp-tab i b{display:block;height:100%;background:var(--brass);transform-origin:left;transform:scaleX(0);}
.rp-tab.is-on{color:var(--ink);}
.rp-tab:hover{color:var(--ink);}
.rp-tab:focus-visible{outline:2px solid var(--brass);outline-offset:4px;border-radius:4px;}

.section-results{background:var(--bg);}
@media(max-width:960px){.rp-tab{font-size:0.66rem;}}

/* ---------- polish layer: header, menu, scroll UI, accessibility ---------- */
body.has-cursor, body.has-cursor a, body.has-cursor button{cursor:none;}
body.cursor-on .cursor-dot, body.cursor-on .cursor-ring{opacity:1;}

/* header sits above the full-screen menu so the Menu/Close button stays clickable */
header{z-index:1450;transition:background .4s var(--ease), box-shadow .4s var(--ease);}
header.scrolled{background:rgba(8,8,10,0.88);box-shadow:0 1px 0 var(--line);}
body.menu-open header{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;}
body.menu-open nav.links, body.menu-open .nav-cta{opacity:0;pointer-events:none;}
nav.links, .nav-cta{transition:opacity .3s var(--ease), color .3s var(--ease);}

/* menu links glide in one after another each time the menu opens */
@keyframes menuIn{from{opacity:0;transform:translateY(26px);}to{opacity:.94;transform:none;}}
.menu-overlay.open a{animation:menuIn .7s var(--ease) both;}
.menu-overlay.open a:nth-child(1){animation-delay:.10s}
.menu-overlay.open a:nth-child(2){animation-delay:.17s}
.menu-overlay.open a:nth-child(3){animation-delay:.24s}
.menu-overlay.open a:nth-child(4){animation-delay:.31s}
.menu-overlay.open a:nth-child(5){animation-delay:.38s}
.menu-overlay.open a:nth-child(6){animation-delay:.45s}

/* current section highlighted in the nav */
nav.links a.active{color:var(--ink);}
nav.links a.active::after{width:100%;background:var(--brass);}

/* reading progress */
.scroll-progress{
  position:fixed;top:0;left:0;width:100%;height:2px;z-index:1700;pointer-events:none;
  background:linear-gradient(90deg,var(--brass),#f6cf80);
  transform-origin:left;transform:scaleX(0);
}

/* flourish line starts collapsed only when JS animation is active */
.js-anim-ready .section-flourish .fl-line{transform:scaleX(0);}

/* hero scroll hint */
.hero .scroll-cue{position:absolute;left:6vw;bottom:2rem;z-index:2;}
@media(max-width:900px){.hero .scroll-cue{display:none;}}

/* marquee: seamless loop + pause on hover */
.marquee-track{padding-right:5vw;}
.marquee-row:hover .marquee-track{animation-play-state:paused;}

/* keyboard focus */
a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:6px;}
.field input:focus-visible,.field textarea:focus-visible{outline:none;}
.field:focus-within::after{width:100%;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .marquee-track{animation:none;}
  .scroll-cue .line::after{animation:none;}
  .menu-overlay.open a{animation:none;opacity:.94;}
}

/* ---------- proof & trust (all hidden until real data is filled in PROOF) ---------- */
.trustbar{padding:2.2rem 0;border-bottom:1px solid var(--line);background:var(--bg);}
.trustbar[hidden],.section-proof[hidden],.proof-block[hidden]{display:none !important;}
.trustbar .tb-label{text-align:center;font-size:0.76rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.4rem;}
.tb-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.6rem 3.2rem;}
.tb-logos a,.tb-logos span{display:flex;align-items:center;}
.tb-logos img{height:30px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1) brightness(1.6);opacity:.75;transition:opacity .3s var(--ease), filter .3s var(--ease);}
.tb-logos a:hover img{opacity:1;filter:none;}
.tb-logos .tb-name{font-family:var(--serif);font-size:1.15rem;color:var(--muted);}
.proof-block{margin-top:3.2rem;}
.proof-block h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;margin-bottom:1.6rem;}
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem;}
.case-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(244,241,234,0.02);display:flex;flex-direction:column;transition:border-color .4s var(--ease), transform .4s var(--ease);}
.case-card:hover{border-color:rgba(227,166,62,0.45);transform:translateY(-5px);}
.case-card .cc-img{aspect-ratio:16/9;background:var(--surface);}
.case-card .cc-img img{width:100%;height:100%;object-fit:cover;}
.case-card .cc-body{padding:1.6rem;display:flex;flex-direction:column;gap:0.9rem;flex:1;}
.case-card .cc-meta{font-size:0.76rem;color:var(--brass);letter-spacing:0.08em;text-transform:uppercase;}
.case-card h4{font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.3;}
.case-card p{color:var(--muted);font-size:0.88rem;line-height:1.6;}
.cc-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:0.8rem;padding-top:0.4rem;border-top:1px solid var(--line);}
.cc-metrics b{display:block;font-family:var(--serif);font-weight:400;font-size:1.7rem;color:var(--brass);}
.cc-metrics small{color:var(--muted);font-size:0.76rem;}
.case-card .cc-link{margin-top:auto;font-size:0.82rem;color:var(--brass);}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
@media(max-width:1000px){.t-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}}
.t-card{border:1px solid var(--line);border-radius:16px;padding:2rem;background:rgba(244,241,234,0.02);display:flex;flex-direction:column;gap:1.2rem;transition:border-color .3s var(--ease),transform .3s var(--ease);}
.t-card:hover{border-color:rgba(227,166,62,0.45);transform:translateY(-4px);}
.t-stars{display:flex;gap:4px;}
.t-stars svg{width:18px;height:18px;fill:var(--brass);}
.t-card blockquote{font-family:var(--sans);font-style:normal;font-size:1rem;line-height:1.7;color:var(--ink);}
.t-who{display:flex;align-items:center;gap:0.9rem;margin-top:auto;padding-top:1.3rem;border-top:1px solid var(--line);}
.t-who img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--line);}
.t-who .ini{width:48px;height:48px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:0.9rem;letter-spacing:.02em;}
.t-who .ini-1{background:linear-gradient(135deg,#4a6cf7,#2f46c9);}
.t-who .ini-2{background:linear-gradient(135deg,#2bc2a8,#12806c);}
.t-who .ini-3{background:linear-gradient(135deg,#9b6bff,#6a3fd1);}
.t-who b{display:block;font-weight:600;font-size:0.95rem;}
.t-who span{display:block;color:var(--muted);font-size:0.82rem;}
.t-who a{display:inline-flex;align-items:center;gap:5px;color:#34d399;font-size:0.78rem;margin-top:3px;}
.t-who a svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.cert-row{display:flex;flex-wrap:wrap;gap:1rem;}
.cert{display:flex;align-items:center;gap:0.8rem;border:1px solid var(--line);border-radius:12px;padding:0.8rem 1.2rem;color:var(--muted);font-size:0.84rem;transition:border-color .3s var(--ease);}
.cert:hover{border-color:var(--brass);color:var(--ink);}
.cert img{height:34px;width:auto;}
.cert b{display:block;color:var(--ink);font-weight:500;}

/*
Theme Name: Sharp Ranker
Theme URI: https://sharpranker.com/
Author: Sharp Ranker
Description: Dark, animated SEO-agency theme. Every text, photo, card, menu and colour is editable from the WordPress admin (Appearance > Customize and the "Sharp Ranker" menu).
Version: 1.5.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: sharp-ranker
*/

/* ===== WordPress additions (on top of assets/css/main.css) ===== */
body.admin-bar header{top:32px;}
@media(max-width:782px){body.admin-bar header{top:46px;}}
.screen-reader-text{position:absolute;left:-9999px;}
.logo img.custom-logo{height:42px;width:auto;max-width:240px;display:block;}
.hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.4;}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 45%,var(--bg));}
h2.section-title em{font-style:italic;color:var(--brass);font-weight:300;}
.service-card .icon img{width:100%;height:100%;object-fit:contain;border-radius:inherit;}
.form-note{margin-bottom:1.2rem;padding:.9rem 1.1rem;border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:8px;font-size:.92rem;color:var(--ink);background:rgba(255,255,255,.03);}
.form-note.err{border-left-color:#e0735c;}
.sr-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden;}

/* inner pages: blog, posts, pages, search, 404 */
.sr-inner{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:calc(var(--header-h) + 3.5rem) 6vw 5rem;min-height:70vh;}
.sr-inner h1.sr-title{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,5vw,3.6rem);line-height:1.08;margin-bottom:1rem;}
.sr-inner .sr-meta{color:var(--muted);font-size:.85rem;margin-bottom:2rem;}
.sr-inner .sr-sub{color:var(--muted);margin-bottom:2.5rem;max-width:60ch;}
.sr-thumb{margin:0 0 2rem;border-radius:14px;overflow:hidden;}
.sr-thumb img{width:100%;height:auto;display:block;}
.sr-content{font-size:1.05rem;line-height:1.8;color:#dcd9d2;}
.sr-content>*+*{margin-top:1.2em;}
.sr-content h2,.sr-content h3,.sr-content h4{font-family:var(--serif);font-weight:400;color:var(--ink);line-height:1.2;margin-top:2em;}
.sr-content h2{font-size:1.9rem;}.sr-content h3{font-size:1.45rem;}
.sr-content a{color:var(--brass);text-decoration:underline;text-underline-offset:3px;}
.sr-content ul,.sr-content ol{padding-left:1.4em;}
.sr-content blockquote{border-left:3px solid var(--brass);padding:.2em 0 .2em 1.2em;color:var(--ink);font-style:italic;}
.sr-content img,.sr-content video,.sr-content iframe{max-width:100%;height:auto;border-radius:10px;}
.sr-content pre,.sr-content code{background:var(--surface);border-radius:6px;font-size:.92em;}
.sr-content code{padding:.1em .4em;}.sr-content pre{padding:1rem;overflow:auto;}
.sr-content table{width:100%;border-collapse:collapse;}
.sr-content th,.sr-content td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left;}
.sr-content .alignwide,.sr-content .alignfull{max-width:100%;}
.sr-list{display:grid;gap:1.6rem;}
.sr-post{display:grid;grid-template-columns:240px 1fr;gap:1.6rem;padding:1.2rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);transition:border-color .3s;}
.sr-post:hover{border-color:var(--brass);}
.sr-post .t{border-radius:10px;overflow:hidden;aspect-ratio:16/10;background:var(--surface-2);position:relative;}
.sr-post .t img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.sr-post h2{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.2;margin:.3rem 0 .6rem;}
.sr-post p{color:var(--muted);font-size:.95rem;}
.sr-post .k{font-size:.78rem;color:var(--brass);letter-spacing:.06em;text-transform:uppercase;}
@media(max-width:700px){.sr-post{grid-template-columns:1fr;}}
.sr-pager{margin-top:2.5rem;display:flex;gap:.6rem;flex-wrap:wrap;}
.sr-pager .page-numbers{padding:.5rem .95rem;border:1px solid var(--line);border-radius:100px;font-size:.9rem;}
.sr-pager .current,.sr-pager a:hover{border-color:var(--brass);color:var(--brass);}
.sr-search{display:flex;gap:.6rem;margin-top:1.5rem;}
.sr-search input[type=search]{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:.8rem 1.2rem;color:var(--ink);font:inherit;}
.sr-search button{border:1px solid var(--brass);color:var(--brass);border-radius:100px;padding:.8rem 1.4rem;}

/* ===== v1.5 : trust bar marquee, review cards, team cards (dark, matches site) ===== */
.trustbar{padding:2.4rem 0 2.2rem;background:var(--bg);border-bottom:1px solid var(--line);overflow:hidden;}
.tb-head{max-width:1400px;margin:0 auto;padding:0 6vw 1.6rem;text-align:center;}
.tb-title{font-family:var(--sans);font-weight:600;font-size:clamp(1.1rem,2.2vw,1.45rem);color:var(--ink);letter-spacing:-.01em;}
.tb-stars{display:flex;gap:2px;}.tb-stars svg{width:20px;height:20px;fill:#fbbf24;}
.tb-rtext{font-size:.78rem;letter-spacing:.06em;font-weight:600;color:var(--muted);}
.tb-plat{display:flex;}
.tb-plat i{width:32px;height:32px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg);margin-left:-10px;position:relative;box-shadow:0 2px 6px rgba(0,0,0,.35);}
.tb-plat i:first-child{margin-left:0;}
.tb-plat svg{width:17px;height:17px;}
.tb-inner{display:flex;align-items:center;gap:2rem;max-width:1400px;margin:0 auto;padding:.5rem 6vw;}
.trustbar .tb-label{margin:0;text-align:left;flex:none;width:11.5rem;font-size:.9rem;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:500;}
.tb-marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.tb-track{display:flex;align-items:center;gap:4.4rem;width:max-content;animation:tbScroll 70s linear infinite;}
.tb-track.tb-rev{animation-name:tbScrollRev;animation-duration:100s;}
.tb-marquee:hover .tb-track{animation-play-state:paused;}
.tb-chip{display:flex;align-items:center;flex:none;height:54px;}
.tb-chip img{display:block;max-width:none;opacity:.78;transition:opacity .3s;}
.tb-chip:hover img{opacity:1;}
.tb-up img{height:30px;width:auto;filter:brightness(0) invert(1);}
.tb-chip .tb-name{font-weight:700;font-size:1.05rem;color:var(--ink);opacity:.8;}
@keyframes tbScroll{to{transform:translateX(-50%);}}
@keyframes tbScrollRev{from{transform:translateX(-50%);}to{transform:translateX(0);}}
@media(max-width:800px){.tb-inner{flex-direction:column;align-items:flex-start;gap:.6rem;}.trustbar .tb-label{width:auto;}.tb-marquee{width:100%;}}
@media(prefers-reduced-motion:reduce){.tb-track{animation:none;}}

/* tools strip: sits at the bottom of the "why us" area */
.tools-strip{background:var(--bg);padding:0 0 3.6rem;margin-top:-1px;}
.tools-label{display:flex;align-items:center;gap:1.4rem;max-width:1400px;margin:0 auto;padding:0 6vw 1.6rem;}
.tools-label span{flex:1;height:1px;background:var(--line);}
.tools-label b{font-weight:500;font-size:.9rem;color:var(--muted);letter-spacing:.02em;}

/* review cards */
.g-slider{position:relative;}
.g-track{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.4rem .2rem 1.6rem;scrollbar-width:none;}
.g-track::-webkit-scrollbar{display:none;}
.g-card{flex:0 0 calc((100% - 2.8rem)/3);scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.5rem 1.6rem 1.4rem;display:flex;flex-direction:column;gap:.9rem;min-width:260px;transition:border-color .3s,transform .3s var(--ease);}
.g-card:hover{border-color:rgba(227,166,62,.45);transform:translateY(-3px);}
@media(max-width:1000px){.g-card{flex-basis:calc((100% - 1.4rem)/2);}}
@media(max-width:640px){.g-card{flex-basis:86%;}}
.g-top{display:flex;align-items:center;gap:.9rem;}
.g-av{width:48px;height:48px;border-radius:50%;overflow:hidden;flex:none;background:var(--surface-2);box-shadow:0 0 0 2px rgba(227,166,62,.55);}
.g-av img{width:100%;height:100%;object-fit:cover;display:block;}
.g-who{flex:1;min-width:0;}
.g-who b{display:block;font-weight:600;font-size:.98rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.g-who span{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:3px;}
.g-stars{display:flex;gap:3px;}
.g-stars svg{width:19px;height:19px;fill:var(--brass);}
.g-card blockquote{font-size:.95rem;line-height:1.7;color:var(--muted);font-style:normal;font-family:var(--sans);}
.g-verify{display:inline-flex;align-items:center;gap:5px;margin-top:auto;font-size:.78rem;color:var(--brass);}
.g-verify svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.g-nav{position:absolute;top:42%;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,border-color .2s;}
.g-nav:hover{transform:scale(1.08);border-color:var(--brass);}
.g-nav svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.g-prev{left:-14px;}.g-next{right:-14px;}
@media(max-width:640px){.g-nav{display:none;}}

/* team cards */
.team-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.6rem;}
.team-card{padding:2.2rem 1.8rem 2rem;background:var(--surface);border:1px solid var(--line);border-radius:18px;text-align:center;display:flex;flex-direction:column;align-items:center;transition:transform .3s var(--ease),border-color .3s var(--ease);}
.team-card:hover{transform:translateY(-5px);border-color:rgba(227,166,62,.45);}
.tc-av{width:104px;height:104px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;font-weight:600;letter-spacing:.02em;box-shadow:0 0 0 3px var(--surface),0 0 0 5px rgba(227,166,62,.55);margin-bottom:1.3rem;}
.tc-av img{width:100%;height:100%;object-fit:cover;display:block;}
.tc-c1{background:linear-gradient(135deg,#4a6cf7,#2f46c9);}
.tc-c2{background:linear-gradient(135deg,#2bc2a8,#12806c);}
.tc-c3{background:linear-gradient(135deg,#9b6bff,#6a3fd1);}
.tc-c4{background:linear-gradient(135deg,#f59e0b,#d9480f);}
.team-card h4{font-family:var(--sans);font-weight:600;font-size:1.08rem;color:var(--ink);}
.team-card .tc-role{margin-top:.3rem;font-size:.84rem;font-weight:500;color:var(--brass);}
.team-card .tc-bio{margin-top:.9rem;font-size:.86rem;line-height:1.65;color:var(--muted);}
.tc-links{display:flex;gap:.6rem;margin-top:auto;padding-top:1.3rem;}
.tc-btn{width:34px;height:34px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s,border-color .2s;}
.tc-btn:hover{background:var(--brass);border-color:var(--brass);transform:translateY(-2px);}
.tc-btn svg{width:15px;height:15px;fill:var(--ink);transition:fill .2s,stroke .2s;}
.tc-btn svg.st{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.tc-btn:hover svg{fill:#09090b;}.tc-btn:hover svg.st{fill:none;stroke:#09090b;}

/* rating row (hero + above reviews) */
.rate-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;}
.hero-trust{margin-top:1.8rem;}
.g-summary{margin:-.2rem 0 1.4rem;}


:root{--bg:#08080a;--ink:#f4f1ea;--brass:#e3a63e}
/*# sourceURL=sr-theme-inline-css */


/* ===== v1.6 changes ===== */
/* hero: rating row ("150+ REVIEWS FROM") moved up */
.hero-inner{padding-bottom:calc(4vw + 5rem);}
.hero-trust{margin-top:.6rem;}
@media(max-width:900px){.hero-inner{padding-top:calc(var(--header-h) + 39svh);padding-bottom:2.5rem;}}
/* logo marquees: one uniform size, full brand colours, a little faster */
.tb-track{animation-duration:40s;}
.tb-track.tb-rev{animation-duration:58s;}
.tb-track{gap:3.4rem;}
.tb-chip{width:auto;height:56px;justify-content:center;}
.tb-chip img{max-width:none;max-height:46px;object-fit:contain;opacity:.85;filter:none !important;transition:opacity .3s;}
.tb-chip:hover img{opacity:1;}
/* contact: new supporting line */
.contact-sub{max-width:40rem;color:var(--muted);font-size:1.05rem;line-height:1.65;margin:1.3rem 0 2.8rem;}
/* blog thumbnails with real images */
.blog-card .thumb img{object-fit:cover;border-radius:inherit;}
/* team links + form notice */
.tc-links{display:flex;gap:.9rem;justify-content:center;margin-top:1rem;flex-wrap:wrap;}
.tc-links a{font-size:.8rem;color:var(--brass);}
.tc-links a:hover{text-decoration:underline;}
.sr-form-note{padding:.8rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:.92rem;margin-bottom:1rem;}
/* inner pages (blog posts / pages) */
.sr-inner{max-width:860px;margin:0 auto;padding:calc(var(--header-h) + 3.5rem) 6vw 5rem;position:relative;z-index:1;}
.sr-inner h1{font-family:var(--serif);font-weight:340;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin-bottom:1.4rem;}
.sr-inner .entry p,.sr-inner .entry li{color:var(--muted);line-height:1.8;margin:0 0 1.1rem;}
.sr-inner .entry h2,.sr-inner .entry h3{font-family:var(--serif);font-weight:400;margin:2rem 0 .8rem;}
.sr-inner .entry a{color:var(--brass);}
.sr-inner .entry img{max-width:100%;height:auto;border-radius:12px;}
.sr-inner .sr-meta{color:var(--muted);font-size:.85rem;margin-bottom:2rem;}
.sr-inner .sr-post{padding:1.4rem 0;border-top:1px solid var(--line);}
.sr-inner .sr-post h2{font-family:var(--serif);font-weight:400;font-size:1.5rem;}

.service-card .icon img{width:100%;height:100%;object-fit:contain;display:block;}

/* ===== v1.7 changes ===== */
.g-who .g-role{display:block;font-style:normal;font-size:.8rem;color:var(--muted);margin-top:2px;line-height:1.35;white-space:normal;}
.g-av{width:56px;height:56px;}
/* normal buttons: clear hover feedback, no moving */
.btn,.nav-cta{transition:background .25s,border-color .25s,color .25s,transform .25s var(--ease),box-shadow .25s;}
.btn.solid:hover,.nav-cta:hover{background:var(--brass);border-color:var(--brass);color:#09090b;transform:translateY(-2px);box-shadow:0 8px 22px rgba(227,166,62,.28);}
.btn.ghost:hover{background:rgba(244,241,234,.06);border-color:var(--brass);transform:translateY(-2px);}
.btn:active,.nav-cta:active{transform:translateY(0);}
/* v1.8: strips scroll only once main.js has repeated them (page source holds a single copy) */
.tb-track{padding-right:3.4rem;}
.tb-track:not(.is-loop),.marquee-track:not(.is-loop){animation:none !important;}
.kpi small,.kpi b,.kpi em{display:block;}
