/* ============================================
   LIGHT THEME — global fine-tune
   ============================================ */
:root[data-theme="light"] .accent{
  background:linear-gradient(180deg,var(--accent-deep) 0%,var(--accent) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
:root[data-theme="light"] .eyebrow{color:var(--accent-deep)}
:root[data-theme="light"] .eyebrow::before{background:var(--accent-deep)}
:root[data-theme="light"] .scroll-progress > span{
  background:linear-gradient(90deg,var(--accent-deep),var(--accent));
  box-shadow:0 0 12px rgba(127,217,0,.4);
}
:root[data-theme="light"] body{background:var(--bg)}
:root[data-theme="light"] .hero__scroll svg{color:var(--accent-deep)}
:root[data-theme="light"] .hero__badges svg{color:var(--accent-deep)}
:root[data-theme="light"] .nav__menu a:hover{color:var(--primary)}
:root[data-theme="light"] .nav__menu a::after{background:var(--accent-deep)}
:root[data-theme="light"] .nav__logo-text em{color:var(--accent-deep)}
:root[data-theme="light"] .nav__logo-text sup{color:var(--accent-deep)}
:root[data-theme="light"] .btn--primary{
  background:var(--primary);color:var(--white);
  box-shadow:0 10px 30px -10px rgba(0,32,67,.35);
}
:root[data-theme="light"] .btn--primary:hover{
  background:var(--primary-soft);
  box-shadow:0 18px 40px -10px rgba(0,32,67,.45);
}
:root[data-theme="light"] .btn--ghost{
  border-color:var(--line-strong);color:var(--primary);
}
:root[data-theme="light"] .btn--ghost:hover{
  border-color:var(--accent-deep);color:var(--accent-deep);
}
:root[data-theme="light"] .step__num::after{border-color:rgba(127,217,0,.35)}
:root[data-theme="light"] .step__bullets li{
  background:rgba(127,217,0,.08);
  color:var(--accent-deep);
  border-color:rgba(127,217,0,.25);
}
:root[data-theme="light"] .plan--featured{
  border-color:rgba(0,32,67,.18);
  background:linear-gradient(180deg,#FFFFFF,#F4F9FF);
  box-shadow:0 30px 80px -30px rgba(0,32,67,.20);
}
:root[data-theme="light"] .plan--featured .plan__amount{
  background:linear-gradient(180deg,var(--primary) 0%,var(--primary-soft) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
:root[data-theme="light"] .plan__badge{
  background:var(--primary);color:var(--white);
}
:root[data-theme="light"] .plan__features li::before{
  background:var(--primary);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.5' stroke-linecap='round'><path d='m5 12 5 5L20 7'/></svg>");
  background-size:10px;background-position:center;background-repeat:no-repeat;
}
:root[data-theme="light"] .faq__item.is-open{
  border-color:var(--primary);
  background:#F4F9FF;
}
:root[data-theme="light"] .faq__item.is-open .faq__q{color:var(--primary)}
:root[data-theme="light"] .faq__item.is-open .faq__plus{
  background:var(--primary);color:var(--white);border-color:var(--primary);
}
:root[data-theme="light"] .faq__head .link-accent{color:var(--accent-deep)}
:root[data-theme="light"] .quotes__mark{color:rgba(0,32,67,.05)}
:root[data-theme="light"] .quotes__btn:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}
:root[data-theme="light"] .field input:focus,
:root[data-theme="light"] .field textarea:focus{
  border-color:var(--primary);background:#F4F9FF;
}
:root[data-theme="light"] .field input:focus + label,
:root[data-theme="light"] .field input:not(:placeholder-shown) + label,
:root[data-theme="light"] .field textarea:focus + label,
:root[data-theme="light"] .field textarea:not(:placeholder-shown) + label{color:var(--primary)}
:root[data-theme="light"] .footer__copy{color:var(--fg-muted)}
:root[data-theme="light"] .footer__social a:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}
:root[data-theme="light"] .nav__theme:hover{
  color:var(--white);background:var(--primary);border-color:var(--primary);
}
:root[data-theme="light"] .hero__symbol{
  filter:drop-shadow(0 30px 60px rgba(0,32,67,.18));
}
:root[data-theme="light"] .hero__logo{color:var(--primary)}
:root[data-theme="light"] .hero__logo::before{
  background:radial-gradient(circle, rgba(152,255,0,.32) 0%, rgba(152,255,0,0) 60%);
}

/* === Light hero — daha zengin arka plan (sağ taraf düz beyaz görünmesin) === */
:root[data-theme="light"] .hero{
  background:
    radial-gradient(60% 50% at 88% 35%, rgba(152,255,0,.22), transparent 70%),
    radial-gradient(55% 45% at 12% 75%, rgba(0,32,67,.08), transparent 70%),
    radial-gradient(120% 80% at 50% 0%,
      var(--bg-hero-1) 0%, var(--bg-hero-2) 38%, var(--bg-hero-3) 78%, var(--bg-hero-4) 100%);
}
:root[data-theme="light"] .hero__glow{
  background:
    radial-gradient(35% 30% at 92% 18%, rgba(152,255,0,.40), transparent 70%),
    radial-gradient(30% 28% at 5%  92%, rgba(0,32,67,.18), transparent 70%),
    radial-gradient(28% 24% at 100% 78%, rgba(152,255,0,.30), transparent 70%),
    radial-gradient(22% 22% at 30% 15%, rgba(0,32,67,.10), transparent 70%);
  filter:blur(30px);
}
:root[data-theme="light"] .hero__grid{
  background-image:
    linear-gradient(rgba(0,32,67,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,32,67,.07) 1px, transparent 1px);
}
:root[data-theme="light"] .hero__visual::before{
  background:radial-gradient(circle, rgba(152,255,0,.30) 0%, rgba(152,255,0,0) 60%);
}

/* ============================================
   Section: helpers
   ============================================ */
.section__head{margin-bottom:clamp(2rem,4vw,3.5rem);max-width:680px}
.section__head h2{margin-top:.6rem}
.section__head p{margin-top:1rem}
.section__head--row{
  display:flex;align-items:end;justify-content:space-between;gap:2rem;
  max-width:none;flex-wrap:wrap;
}
.section__head--row .services__lede{max-width:36ch;margin-top:0}

/* ============================================
   1. HERO
   ============================================ */
.hero{
  position:relative;min-height:100svh;
  display:flex;align-items:center;
  overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 80% at 50% 0%, var(--bg-hero-1) 0%, var(--bg-hero-2) 38%, var(--bg-hero-3) 78%, var(--bg-hero-4) 100%);
}
.hero__particles{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:1;opacity:.7;
}
.hero__glow{
  position:absolute;inset:-20%;z-index:0;
  background:
    radial-gradient(40% 35% at 80% 30%, var(--hero-glow-1), transparent 70%),
    radial-gradient(35% 30% at 15% 75%, var(--hero-glow-2), transparent 70%);
  filter:blur(20px);
  pointer-events:none;
}
.hero__grid{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(80% 60% at 50% 50%,#000 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(80% 60% at 50% 50%,#000 30%,transparent 80%);
}
.hero__inner{
  position:relative;z-index:10;
  padding-block:8rem 5rem;
  display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,4vw,3.5rem);align-items:center;
}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start}
@media (max-width:900px){
  .hero__inner{grid-template-columns:1fr;padding-block:7rem 3.5rem;text-align:center}
  .hero__copy{align-items:center}
  .hero__lead{margin-inline:auto}
  .hero__logo{order:-1}
}
.hero__eyebrow{margin-bottom:1.25rem}
.hero__title{
  font-size:clamp(3rem,2rem + 5vw,7rem);
  font-weight:700;
  letter-spacing:var(--tracking-tight);
  line-height:.95;
}
.hero__title em{
  font-style:normal;color:var(--accent);
  background:linear-gradient(180deg,var(--accent) 0%,var(--accent-glow) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  position:relative;
}
:root[data-theme="light"] .hero__title em{
  background:linear-gradient(180deg,var(--accent-deep) 0%,var(--accent) 100%);
  -webkit-background-clip:text;background-clip:text;
}
.hero__title em::after{
  content:"";position:absolute;left:0;right:0;bottom:-.06em;height:.08em;
  background:var(--accent);opacity:.35;border-radius:4px;
}
.hero__lead{margin:1.5rem 0 2rem;max-width:46ch}
.hero__lead strong{color:var(--fg);font-weight:600}

.hero__cta{display:flex;flex-wrap:wrap;gap:1rem}
.hero__badges{
  display:flex;flex-wrap:wrap;gap:1.25rem 1.75rem;
  margin-top:1.75rem;
  color:var(--fg-muted);font-size:var(--fz-sm);
}
.hero__badges li{display:inline-flex;align-items:center;gap:.45rem}
.hero__badges svg{color:var(--accent)}

.hero__logo{
  position:relative;
  display:grid;place-items:center;
  min-height:380px;
  color:var(--accent);
}
.hero__logo::before{
  content:"";position:absolute;inset:auto;width:520px;height:520px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(152,255,0,.25) 0%, rgba(152,255,0,0) 60%);
  filter:blur(40px);z-index:-1;
  animation:pulse-glow 4s var(--ease-in-out) infinite;
}
.hero__symbol{
  width:clamp(220px,30vw,360px);
  height:clamp(220px,30vw,360px);
  filter:drop-shadow(0 30px 80px rgba(152,255,0,.35));
}

/* Hero product mockup */
.hero__visual{
  position:relative;
  display:grid;place-items:center;
  min-height:380px;
  isolation:isolate;
  perspective:1400px;
}
.hero__visual::before{
  content:"";position:absolute;width:90%;aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle, rgba(152,255,0,.22) 0%, rgba(152,255,0,0) 60%);
  filter:blur(60px);z-index:-1;
  animation:pulse-glow 5s var(--ease-in-out) infinite;
}
.hero__product{
  width:100%;max-width:640px;height:auto;
  border-radius:20px;
  filter:drop-shadow(0 40px 80px rgba(0,0,0,.45));
  transform:translateY(0) rotate(-1deg);
  animation:float-y 7s var(--ease-in-out) infinite;
  will-change:transform;
}
:root[data-theme="light"] .hero__product{
  filter:drop-shadow(0 30px 60px rgba(0,32,67,.20));
}

.hero__meta{
  position:absolute;left:var(--gutter);bottom:1.5rem;
  display:flex;gap:.5rem;
  font-family:var(--font-mono);font-size:var(--fz-xs);
  color:var(--fg-faint);letter-spacing:.1em;
}
.hero__scroll{
  position:absolute;right:var(--gutter);bottom:1.5rem;
  display:flex;align-items:center;gap:.75rem;
  font-family:var(--font-mono);font-size:var(--fz-xs);
  color:var(--fg-muted);text-transform:uppercase;letter-spacing:.2em;
}
.hero__scroll svg{color:var(--accent)}

/* ============================================
   2. NUMBERS
   ============================================ */
.numbers{
  background:linear-gradient(180deg,var(--bg-deep),var(--bg-alt));
  overflow:hidden;position:relative;
}
.numbers__bg{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);
  font-size:clamp(14rem,28vw,28rem);
  font-weight:800;
  letter-spacing:-0.05em;
  color:transparent;
  -webkit-text-stroke:1px var(--num-stroke);
  white-space:nowrap;
  pointer-events:none;user-select:none;
  z-index:0;
}
.numbers .container{position:relative;z-index:2}
.numbers__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:2rem 1rem;margin-top:2.5rem;
  border-top:1px solid var(--line);padding-top:2.5rem;
}
.numbers__grid li{position:relative}
.numbers__grid b{
  display:block;font-family:var(--font-display);font-weight:700;
  font-size:clamp(3rem,5vw,5rem);line-height:1;
  letter-spacing:var(--tracking-tight);
  color:var(--fg);
}
.numbers__grid span{
  display:block;margin-top:.4rem;
  color:var(--fg-muted);font-size:var(--fz-sm);
  text-transform:uppercase;letter-spacing:.12em;
}

/* ============================================
   3. STORY (pinned)
   ============================================ */
.story{
  background:linear-gradient(180deg,var(--bg-alt) 0%,var(--bg-soft) 100%);
  position:relative;overflow:hidden;
}
.story__pin{padding-block:clamp(4rem,8vw,7rem)}
.story__inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
@media (max-width:900px){
  .story__inner{grid-template-columns:1fr}
}
.story__visual{
  position:relative;
  aspect-ratio:4/5;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--bg-deep);
  box-shadow:var(--shadow-card);
  border:1px solid var(--line);
}
.story__frame{
  position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease-out);
}
.story__frame.is-active{opacity:1}
.story__art{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  transform:scale(1.02);
  transition:transform 1.6s var(--ease-out);
}
.story__frame.is-active .story__art{transform:scale(1.08)}
.story__frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, transparent 40%, rgba(0,21,48,.55) 100%);
}
.story__tag{
  position:absolute;top:1.25rem;left:1.25rem;
  font-family:var(--font-mono);font-size:var(--fz-xs);
  letter-spacing:.2em;color:#fff;background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.15);
  padding:.5rem .9rem;border-radius:99px;
  backdrop-filter:blur(8px);
}
.story__copy .eyebrow{margin-bottom:1.5rem;display:flex}
.story__chapter{
  padding:2rem 0;
  border-top:1px solid var(--line);
  transition:opacity .5s var(--ease-out),border-color .5s;
}
.story__chapter:first-of-type{border-top:0}
.story__chapter[data-chapter]{opacity:.5}
.story__chapter.is-active{opacity:1}
.story__chapter h3{margin-bottom:1rem}
.story__chapter .lead{margin-bottom:1rem}

/* ============================================
   4. SERVICES (cards.css already covers card)
   ============================================ */
.services{background:linear-gradient(180deg,var(--bg-soft),var(--bg-deep))}
.services__lede{font-size:var(--fz-lg)}

/* ============================================
   5. HOW IT WORKS — Steps
   ============================================ */
.how{background:linear-gradient(180deg,var(--bg-deep),var(--bg-alt));position:relative}
.steps{
  margin-top:3rem;
  display:grid;gap:1.25rem;
  counter-reset:step;
}
.step{
  position:relative;
  display:grid;
  grid-template-columns:120px 1fr;
  gap:2rem;
  padding:2rem;
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg,var(--surface),var(--surface-soft));
  border:1px solid var(--line);
  transition:border-color .35s var(--ease-out),transform .4s,box-shadow .4s;
  isolation:isolate;
  overflow:hidden;
}
:root[data-theme="light"] .step{box-shadow:0 1px 0 var(--line)}
:root[data-theme="light"] .step:hover{box-shadow:0 18px 40px -16px rgba(0,32,67,.12)}
.step::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(152,255,0,.14),transparent 50%);
  opacity:0;transition:opacity .35s;z-index:-1;
}
.step:hover{border-color:rgba(152,255,0,.4);transform:translateY(-3px)}
.step:hover::before{opacity:1}
.step__num{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(3rem,5vw,5rem);line-height:1;
  letter-spacing:-.04em;
  color:transparent;
  background:linear-gradient(180deg,var(--accent) 0%,rgba(152,255,0,.3) 100%);
  -webkit-background-clip:text;background-clip:text;
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.step__num span{position:relative;z-index:2}
.step__num::after{
  content:"";position:absolute;inset:auto;width:90px;height:90px;border-radius:50%;
  border:1px dashed rgba(152,255,0,.35);
  animation:spin-slow 30s linear infinite;
}
.step__body h3{font-size:clamp(1.4rem,2vw,1.85rem);margin-bottom:.6rem}
.step__body p{margin-bottom:1rem}
.step__bullets{display:flex;flex-wrap:wrap;gap:.5rem}
.step__bullets li{
  font-size:var(--fz-xs);
  padding:.4rem .8rem;
  border-radius:99px;
  background:rgba(152,255,0,.08);
  color:var(--accent);
  border:1px solid rgba(152,255,0,.2);
  letter-spacing:.04em;
  text-transform:uppercase;font-weight:500;
}
@media (max-width:760px){
  .step{grid-template-columns:1fr;gap:1rem;padding:1.5rem}
  .step__num{justify-content:flex-start}
}

/* ============================================
   6. PRICING
   ============================================ */
.pricing{background:linear-gradient(180deg,var(--bg-alt),var(--bg-deep));position:relative}
.pricing__note{
  display:inline-flex;align-items:center;gap:.75rem;flex-wrap:wrap;
  margin-top:1.5rem;
  padding:.78rem 1.2rem;
  border:1px solid var(--line-strong);
  border-radius:99px;
  background:rgba(255,255,255,.62);
  color:var(--fg);
  font-size:var(--fz-sm);
  font-weight:700;
  box-shadow:0 16px 40px -28px rgba(0,32,67,.35);
}
.pricing__note span{
  width:24px;height:24px;border-radius:50%;
  display:inline-grid;place-items:center;
  border:2px solid var(--accent-deep);
  color:var(--accent-deep);
  font-family:var(--font-display);
}
.pricing__note b{color:var(--accent-deep)}

.plans{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;
  margin-top:3rem;align-items:start;
}
@media (max-width:960px){.plans{grid-template-columns:1fr}}
.plan{
  position:relative;
  padding:2.25rem 2rem;
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg,var(--surface),var(--surface-soft));
  border:1px solid var(--line);
  transition:transform .4s var(--ease-out),border-color .25s,box-shadow .4s;
  isolation:isolate;
  overflow:hidden;
}
:root[data-theme="light"] .plan{box-shadow:0 6px 24px -12px rgba(0,32,67,.10)}
:root[data-theme="light"] .plan:hover{box-shadow:0 22px 50px -18px rgba(0,32,67,.18)}
.plan:hover{transform:translateY(-6px);border-color:var(--line-strong)}
.plan--featured{
  border-color:rgba(152,255,0,.5);
  background:linear-gradient(180deg,rgba(152,255,0,.07),rgba(152,255,0,.02));
  transform:scale(1.03);
  box-shadow:0 30px 80px -30px rgba(152,255,0,.25);
}
.plan--featured:hover{transform:scale(1.03) translateY(-6px)}
.plan__badge{
  position:absolute;top:1rem;right:1rem;
  padding:.3rem .7rem;border-radius:99px;
  background:var(--accent);color:var(--primary);
  font-family:var(--font-display);font-weight:700;
  font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
}
.plan__head h3{font-size:1.5rem;margin-bottom:.4rem}
.plan__lede{color:var(--fg-muted);font-size:var(--fz-sm);margin-bottom:1.5rem}
.plan__price{
  display:flex;align-items:baseline;gap:.2rem;
  margin-bottom:.4rem;
}
.plan__currency{
  font-family:var(--font-display);font-size:1.4rem;
  color:var(--fg-muted);font-weight:500;
}
.plan__amount{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(2.5rem,4vw,3.5rem);line-height:1;
  letter-spacing:var(--tracking-tight);
  color:var(--fg);
  transition:opacity .25s;
}
.plan__amount--text{
  display:block;
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1.18;
  letter-spacing:0;
}
.plan--featured .plan__amount{
  background:linear-gradient(180deg,var(--accent) 0%,var(--accent-glow) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.plan__period{color:var(--fg-muted);font-size:var(--fz-sm)}
.plan__small{font-size:var(--fz-xs);margin-bottom:1.5rem}
.plan__cta{width:100%;justify-content:center;margin-bottom:1.5rem}
.plan__features{
  display:grid;gap:.65rem;
  padding-top:1.5rem;border-top:1px solid var(--line);
}
.plan__features li{
  display:flex;align-items:flex-start;gap:.65rem;
  font-size:var(--fz-sm);color:var(--fg);
  line-height:1.45;
}
.plan__features li::before{
  content:"";display:inline-block;flex-shrink:0;margin-top:.4em;
  width:14px;height:14px;border-radius:50%;
  background:var(--accent);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23002043' stroke-width='3.5' stroke-linecap='round'><path d='m5 12 5 5L20 7'/></svg>");
  background-size:10px;background-position:center;background-repeat:no-repeat;
}
.plan__features li.is-off{color:var(--fg-faint);text-decoration:line-through}
.plan__features li.is-off::before{
  background:var(--line);
  background-image:none;
}
.pricing__assurances{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:1.5rem;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--surface);
  box-shadow:0 12px 34px -24px rgba(0,32,67,.3);
}
.pricing__assurances li{
  padding:1rem 1.25rem;
  display:grid;
  gap:.3rem;
  border-right:1px solid var(--line);
}
.pricing__assurances li:last-child{border-right:0}
.pricing__assurances b{color:var(--fg);font-family:var(--font-display)}
.pricing__assurances span{color:var(--fg-muted);font-size:var(--fz-sm)}
@media (max-width:760px){
  .pricing__note{border-radius:var(--radius);align-items:flex-start}
  .pricing__assurances{grid-template-columns:1fr}
  .pricing__assurances li{border-right:0;border-bottom:1px solid var(--line)}
  .pricing__assurances li:last-child{border-bottom:0}
}

/* ============================================
   7. FAQ
   ============================================ */
.faq{background:linear-gradient(180deg,var(--bg-deep),var(--bg-alt))}
.faq__inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
@media (max-width:960px){.faq__inner{grid-template-columns:1fr}}
.faq__head{margin-bottom:0;position:sticky;top:120px}
.faq__head .link-accent{color:var(--accent);border-bottom:1px solid currentColor;padding-bottom:1px}
.faq__head .link-accent:hover{color:var(--accent-glow)}
.faq__list{display:grid;gap:.75rem}
.faq__item{
  border-radius:var(--radius);
  background:var(--surface);
  border:1px solid var(--line);
  overflow:hidden;
  transition:border-color .25s,background .25s;
}
.faq__item:hover{border-color:var(--line-strong)}
.faq__item.is-open{border-color:rgba(152,255,0,.4);background:rgba(152,255,0,.04)}
.faq__q{
  width:100%;text-align:left;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1.25rem 1.5rem;
  font-family:var(--font-display);font-weight:600;
  font-size:var(--fz-base);color:var(--fg);
  transition:color .25s;
}
.faq__item.is-open .faq__q{color:var(--accent)}
.faq__plus{
  width:24px;height:24px;flex-shrink:0;
  position:relative;border-radius:50%;
  border:1px solid var(--line-strong);
  transition:transform .35s var(--ease-back),background .25s,border-color .25s;
}
.faq__plus::before,.faq__plus::after{
  content:"";position:absolute;left:50%;top:50%;
  width:10px;height:1.5px;background:currentColor;
  transform:translate(-50%,-50%);transition:transform .35s;
}
.faq__plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item.is-open .faq__plus{
  background:var(--accent);color:var(--primary);border-color:var(--accent);
  transform:rotate(180deg);
}
.faq__item.is-open .faq__plus::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq__a{
  max-height:0;overflow:hidden;
  transition:max-height .55s var(--ease-out);
}
.faq__a p{
  padding:0 1.5rem 1.5rem;
  color:var(--fg-muted);font-size:var(--fz-sm);line-height:1.65;
}
.faq__item.is-open .faq__a{max-height:400px}

/* ============================================
   7. QUOTES
   ============================================ */
.quotes{
  background:linear-gradient(180deg,var(--bg-deep),var(--bg-alt));
  position:relative;overflow:hidden;text-align:center;
}
.quotes__mark{
  position:absolute;top:-2rem;left:50%;transform:translateX(-50%);
  font-family:Georgia,serif;font-size:clamp(20rem,40vw,38rem);
  line-height:1;color:var(--glow-tint);opacity:.5;
  pointer-events:none;user-select:none;
  z-index:0;
}
.quotes .container{position:relative;z-index:2}
.quotes__stage{
  position:relative;min-height:clamp(320px,32vw,390px);margin:2rem 0;
}
.quote{
  position:absolute;inset:0;
  opacity:0;transform:translateY(20px);
  transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);
  pointer-events:none;
}
.quote.is-active{opacity:1;transform:none;pointer-events:auto}
.quote__text{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(1.3rem,2.4vw,2rem);
  line-height:1.35;color:var(--fg);
  max-width:36ch;margin:0 auto;
  letter-spacing:var(--tracking-snug);
}
.quote footer{
  margin-top:1.5rem;color:var(--fg-muted);font-size:var(--fz-sm);
}
.quote footer b{color:var(--fg)}
.quotes__nav{
  display:flex;align-items:center;justify-content:center;gap:1.5rem;
  margin-top:1.5rem;
}
.quotes__btn{
  width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line-strong);
  color:var(--fg);
  font-size:1.4rem;
  transition:background .25s,color .25s,border-color .25s,transform .25s;
}
.quotes__btn:hover{background:var(--accent);color:var(--primary);border-color:var(--accent);transform:scale(1.05)}
.quotes__dots{display:inline-flex;gap:.5rem}
.quotes__dots i{
  display:block;width:8px;height:8px;border-radius:50%;
  background:var(--line-strong);transition:background .25s,width .25s;
}
.quotes__dots i.is-active{background:var(--accent);width:24px;border-radius:99px}

/* ============================================
   8. CONTACT
   ============================================ */
.contact{
  background:linear-gradient(180deg,var(--bg-alt),var(--bg-soft));
  position:relative;
}
.contact__inner{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
@media (max-width:900px){.contact__inner{grid-template-columns:1fr}}
.contact__copy,
.contact__inner > .form{min-width:0}
.contact__h{margin-top:1rem}
.contact__h em{font-style:normal;color:var(--accent)}
.contact__copy p{margin-top:1.25rem;max-width:38ch}
.contact__marquee{
  margin-top:3rem;
  max-width:100%;
  overflow:hidden;border-block:1px solid var(--line);
  padding-block:1rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.marquee__inner{
  display:inline-flex;gap:2rem;
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.5rem,2.8vw,2.4rem);
  white-space:nowrap;
  animation:marquee 22s linear infinite;
  color:var(--fg);
}
.marquee__inner span:nth-child(odd){color:var(--accent-deep)}
:root[data-theme="light"] .marquee__inner span:nth-child(odd){color:var(--accent-deep)}

/* ============================================
   9. FOOTER
   ============================================ */
.footer{
  background:var(--footer-bg);
  border-top:1px solid var(--line);
  padding-block:3rem;
}
.footer__inner{
  display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;
}
@media (max-width:760px){.footer__inner{grid-template-columns:1fr;text-align:center;justify-items:center}}
.footer__logo img{height:42px;color:var(--fg)}
.footer__nav{display:flex;gap:1.5rem;font-size:var(--fz-sm);color:var(--fg-muted)}
.footer__nav a:hover{color:var(--accent)}
.footer__social{display:flex;gap:.5rem}
.footer__social a{
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line);
  display:inline-grid;place-items:center;
  color:var(--fg-muted);transition:color .25s,border-color .25s,background .25s,transform .25s;
}
.footer__social a:hover{color:var(--primary);background:var(--accent);border-color:var(--accent);transform:translateY(-3px)}
.footer__social svg{width:18px;height:18px}
.footer__copy{
  grid-column:1/-1;
  margin-top:1.5rem;padding-top:1.5rem;
  border-top:1px solid var(--line);
  font-size:var(--fz-xs);color:var(--fg-faint);
  text-align:center;
}

/* ===== Tenant access ===== */
.tenant-access{
  position:relative;
  overflow:hidden;
}
.tenant-access__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
.tenant-access__copy{max-width:720px}
.tenant-access__copy h2{margin-top:.75rem}
.tenant-access__copy p{margin-top:1rem}
.tenant-access__actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:2rem;
}
.tenant-access__panel{
  position:relative;
  min-height:480px;
}
.tenant-card{
  border:1px solid var(--line);
  background:rgba(255,255,255,.86);
  border-radius:28px;
  box-shadow:0 28px 80px rgba(0,32,67,.12);
}
.tenant-card--main{
  position:relative;
  z-index:2;
  padding:1rem;
}
.tenant-card__top{
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:.45rem .35rem 1rem;
}
.tenant-card__top b{display:block;color:var(--primary)}
.tenant-card__top small{display:block;color:var(--fg-muted);font-size:var(--fz-xs)}
.tenant-card__avatar{
  width:46px;height:46px;border-radius:50%;
  display:inline-grid;place-items:center;
  background:rgba(0,32,67,.08);
  color:var(--primary);
  font-weight:800;
  font-size:.78rem;
}
.tenant-card__badge{
  margin-left:auto;
  border-radius:999px;
  padding:.42rem .7rem;
  background:#087f3f;
  color:#fff;
  font-weight:800;
  font-size:var(--fz-xs);
}
.tenant-card__property{
  min-height:225px;
  border-radius:22px;
  background:
    radial-gradient(circle at 26% 20%, rgba(152,255,0,.48), transparent 28%),
    linear-gradient(135deg,#eaf1f8,#dce8f3 58%,#ffffff);
}
.tenant-card__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.75rem;
  margin-top:.9rem;
}
.tenant-card__grid div{
  background:rgba(0,32,67,.045);
  border-radius:16px;
  padding:.9rem;
}
.tenant-card__grid small{display:block;color:var(--fg-muted);font-size:var(--fz-xs)}
.tenant-card__grid b{display:block;margin-top:.25rem;color:var(--primary)}
.tenant-card__grid .ok{color:#087f3f}
.tenant-card--mini{
  position:absolute;
  right:-1.25rem;
  bottom:1.2rem;
  z-index:3;
  padding:1rem 1.25rem;
  min-width:240px;
}
.tenant-card--mini small,
.tenant-card--mini span{display:block;color:var(--fg-muted);font-size:var(--fz-xs)}
.tenant-card--mini b{display:block;margin:.3rem 0;color:var(--primary)}

@media (max-width:960px){
  .tenant-access__inner{grid-template-columns:1fr}
  .tenant-access__panel{min-height:auto}
  .tenant-card--mini{position:static;margin-top:1rem}
}

@media (max-width:620px){
  .tenant-card__grid{grid-template-columns:1fr}
  .nav__actions{gap:.45rem}
  .btn--compact{padding:.55rem .72rem}
}
