/* ════════════════════════════════════════════════
   BRELINX-LEARN — Style Sheet
   Color palette: near-black bg, logo green primary
   accent, violet secondary accent, off-white text
════════════════════════════════════════════════ */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap");

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:            #0a0a0a;
  --bg-2:          #0f120c;
  --bg-card:       #12150e;
  --bg-card-2:     #191f13;
  --green:         #8dc63f;
  --green-light:   #a4d65e;
  --green-bright:  #b8e356;
  --green-glow:    rgba(141,198,63,.28);
  --purple:        #8b5cf6;
  --purple-light:  #a78bfa;
  --purple-bright: #c4b5fd;
  --purple-glow:   rgba(139,92,246,.28);
  --white:         #f5f7f1;
  --white-dim:     rgba(245,247,241,.6);
  --white-faint:   rgba(245,247,241,.08);
  --border:        rgba(245,247,241,.1);
  --font-head:     "Space Grotesk", sans-serif;
  --font-body:     "Inter", sans-serif;
}

html, body {
  background-color: var(--bg);
  color: var(--white);
  font-family: var(--font-body);
  overflow-x: hidden;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
body::-webkit-scrollbar { display: none; }

/* ── UTILITIES ── */
.flex-center    { display:flex; justify-content:center; align-items:center; }
.col-center     { display:flex; flex-direction:column; justify-content:center; align-items:center; }
.abs-center     { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.overflow-hidden{ overflow:hidden; }
.relative       { position:relative; }
.absolute       { position:absolute; }
.w-full         { width:100%; }
.h-full         { height:100%; }
.z-10           { z-index:10; }
.container      { width:100%; max-width:1400px; margin:0 auto; padding:0 1.5rem; }
.mt-10          { margin-top:2.5rem; }
.mt-20          { margin-top:5rem; }
.pt-20          { padding-top:5rem; }
.gap-5          { gap:1.25rem; }
.gap-24         { gap:6rem; }

.general-title  {
  font-family: var(--font-head);
  font-size: clamp(2.5rem, 7vw, 7.5rem);
  font-weight: 700; text-transform: uppercase;
  line-height: 1; letter-spacing: -.04em;
}

/* ── BUTTONS ── */
.btn-primary {
  display: inline-block;
  background: var(--green);
  color: #fff;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 1rem;
  padding: .85rem 2.25rem;
  border-radius: 9999px;
  text-decoration: none;
  transition: background .2s, transform .2s, box-shadow .2s;
  border: none; cursor: pointer;
}
.btn-primary:hover { background: var(--green-light); transform: translateY(-2px); box-shadow: 0 8px 30px var(--green-glow); }
.btn-large { font-size: 1.15rem; padding: 1.1rem 3rem; }
.btn-ghost {
  display: inline-block;
  background: transparent;
  color: var(--white);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 1rem;
  padding: .85rem 2.25rem;
  border-radius: 9999px;
  border: 1px solid var(--border);
  text-decoration: none;
  transition: border-color .2s, background .2s;
}
.btn-ghost:hover { border-color: var(--green-light); background: var(--white-faint); }

/* ── PRELOADER ── */
#preloader {
  position:fixed; inset:0; z-index:100;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background: var(--bg); overflow:hidden;
}
#preloader-logo img { width:10rem; filter:brightness(1.1); }
#preloader-bar-wrap {
  margin-top: 2rem;
  width:16rem; height:3px;
  background: rgba(255,255,255,.08);
  border-radius:9999px; overflow:hidden; position:relative;
}
#preloader-bar {
  position:absolute; top:0; left:0; height:100%;
  background: linear-gradient(90deg, var(--purple), var(--green));
  width:0%; transition:width .3s ease-out;
}
#preloader-text {
  margin-top:1rem; font-weight:600; color: var(--white-dim);
  text-transform:uppercase; letter-spacing:.15em; font-size:.75rem;
  font-family: var(--font-body);
}

/* ── SITE WRAPPER ── */
#site-wrapper { transition:opacity .5s ease; }
#site-wrapper.site-hidden { height:100vh; overflow:hidden; opacity:0; }

/* ── NAVBAR ── */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:50;
  padding:1.25rem 2rem;
  display:flex; align-items:center; justify-content:space-between;
  background: rgba(10,10,15,.7);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
}
.nav-logo { height:2.25rem; width:auto; }
.nav-links { display:flex; align-items:center; gap:2rem; }
.nav-links a {
  color: var(--white-dim); text-decoration:none;
  font-size:.95rem; font-weight:500; transition:color .2s;
}
.nav-links a:hover { color: var(--white); }
.nav-cta {
  background: var(--green); color:#fff !important;
  padding:.5rem 1.5rem; border-radius:9999px;
  font-weight:600 !important;
  transition: background .2s !important;
}
.nav-cta:hover { background: var(--green-light) !important; }
@media(max-width:768px) {
  .nav-links { display:none; }
  #navbar { padding:1rem 1.25rem; }
}

/* ── HERO ── */
.hero-section { background: var(--bg); }
.hero-container {
  position:relative; width:100vw; height:100dvh;
  overflow:hidden; display:flex; align-items:center; justify-content:center;
}
.hero-grid-bg {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(141,198,63,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(141,198,63,.07) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
}
.hero-orb {
  position:absolute; width:60vw; height:60vw; max-width:700px; max-height:700px;
  background: radial-gradient(circle, rgba(141,198,63,.18) 0%, rgba(139,92,246,.08) 45%, transparent 70%);
  border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%);
  pointer-events:none;
}
.hero-content {
  position:relative; z-index:10;
  display:flex; flex-direction:column; align-items:center;
  text-align:center; padding:0 1.5rem; padding-top:5rem;
  opacity:0; transform:translateY(2rem);
}
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:.85rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color: var(--green-bright); margin-bottom:1.5rem;
  background: rgba(37,99,235,.12); border:1px solid rgba(37,99,235,.3);
  padding:.4rem 1rem; border-radius:9999px;
}
.eyebrow-dot {
  width:6px; height:6px; background:var(--green-bright);
  border-radius:50%; animation: pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.4)} }

.hero-title, .hero-title-last {
  font-family: var(--font-head);
  font-size: clamp(3rem, 9vw, 9rem);
  font-weight: 700; text-transform: uppercase;
  line-height: 1; letter-spacing:-.04em;
  color: var(--white);
}
.hero-text-scroll {
  transform: rotate(-2deg);
  margin: .5rem 0;
  border: 2px solid var(--green);
  clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
}
.hero-subtitle-inner {
  background: var(--green);
  padding: .4rem 1.5rem .7rem;
}
.hero-subtitle-inner h1 {
  font-family: var(--font-head);
  font-size: clamp(3rem, 9vw, 9rem);
  font-weight:700; text-transform:uppercase;
  line-height:1; letter-spacing:-.04em; color:#fff;
}
.hero-sub {
  font-family: var(--font-body); color: var(--white-dim);
  font-size: clamp(1rem, 2vw, 1.2rem); line-height:1.6;
  max-width:42rem; margin-top:1.5rem;
}
.hero-actions {
  display:flex; align-items:center; gap:1rem;
  margin-top:2.5rem; flex-wrap:wrap; justify-content:center;
}
/* floating chips */
.hero-chip {
  position:absolute; display:flex; align-items:center; gap:.6rem;
  background: var(--bg-card); border:1px solid var(--border);
  border-radius:1rem; padding:.6rem 1rem;
  font-size:.85rem; color:var(--white-dim);
  backdrop-filter:blur(8px);
}
.chip-num { font-weight:700; color:var(--purple-bright); font-size:1rem; }
.chip-1 { bottom:12%; right:8%; }
.chip-2 { top:20%; left:5%; }
@media(max-width:768px) { .hero-chip{ display:none; } }

/* ── MESSAGE SECTION ── */
.message-section {
  background: var(--bg-2); color:var(--white);
  min-height:100dvh; overflow:hidden;
  display:flex; justify-content:center; align-items:center;
  position:relative; z-index:20;
}
.message-inner { width:100%; max-width:1400px; padding:7rem 1.5rem; }
.msg-wrapper {
  display:flex; flex-direction:column; align-items:center; gap:3rem;
  font-family: var(--font-head);
  font-size: clamp(2.5rem, 7vw, 7.5rem);
  font-weight:700; text-transform:uppercase;
  line-height:1; letter-spacing:-.04em;
}
.first-message, .second-message {
  color: rgba(240,244,255,.07); text-align:center;
}
.msg-text-scroll {
  transform:rotate(2deg);
  border: 2px solid var(--bg-2);
  clip-path:polygon(0 0,0 0,0 100%,0% 100%);
  position:relative; z-index:10;
}
.msg-scroll-inner {
  background: var(--purple);
  padding:.4rem 1.5rem .7rem;
}
.msg-scroll-inner h2 {
  font-family: var(--font-head);
  font-size: clamp(2.5rem, 7vw, 7.5rem);
  font-weight:700; text-transform:uppercase;
  line-height:1; letter-spacing:-.04em;
  color:#fff;
}
.message-para-wrap {
  display:flex; justify-content:center; margin-top:4rem;
}
.message-para {
  max-width:36rem; text-align:center;
  font-family:var(--font-body); color:var(--white-dim);
  font-size:1.1rem; line-height:1.7;
}

/* ── SERVICES SECTION ── */
.services-section {
  min-height:100dvh; background:var(--bg); overflow:hidden;
}
.services-inner {
  display:flex; flex-direction:column; align-items:center;
}
@media(min-width:1024px) { .services-inner{ flex-direction:row; } }

.services-title-col {
  flex:none; width:100%; display:flex; align-items:center; justify-content:center;
  padding:5rem 2rem 2rem;
}
@media(min-width:1024px) { .services-title-col{ width:50%; height:100dvh; padding:0 3rem; } }
.services-title-inner {
  display:flex; flex-direction:column; gap:3rem;
  font-family:var(--font-head);
}
.services-title-inner h1 {
  font-size: clamp(2.5rem, 7vw, 7rem);
  font-weight:700; text-transform:uppercase;
  line-height:1; letter-spacing:-.04em;
  color:var(--white);
}
.flavor-text-scroll {
  transform:rotate(-2deg);
  border: 2px solid var(--bg);
  clip-path:polygon(0 0,0 0,0 100%,0% 100%);
  position:relative; z-index:10;
}
.flavor-scroll-inner {
  background: var(--green); padding:.4rem 1.25rem .7rem;
}
.flavor-scroll-inner h2 {
  font-family:var(--font-head);
  font-size: clamp(2.5rem, 7vw, 7rem);
  font-weight:700; text-transform:uppercase;
  line-height:1; letter-spacing:-.04em; color:#fff;
}
.first-text-split h1, .second-text-split h1 { color:var(--white); }

/* Service cards (flavor slider) */
.slider-wrapper { width:100%; overflow:hidden; min-height:100dvh; }
@media(min-width:1024px){ .slider-wrapper{ height:100dvh; min-height:unset; } }
.flavors {
  display:flex; flex-direction:column;
  align-items:center; gap:2rem; height:100%; padding:2rem 1rem;
  flex-wrap:nowrap;
}
@media(min-width:768px){ .flavors{ flex-direction:row; gap:4rem; padding:2rem; } }
@media(min-width:1280px){ .flavors{ gap:8rem; } }

.flavor-card {
  position:relative; z-index:30; flex:none;
  width:min(90vw, 380px); min-height:420px;
  border-radius:1.5rem; overflow:hidden;
  border:1px solid var(--border);
}
@media(min-width:768px){ .flavor-card{ width:45vw; min-height:60vh; } }
@media(min-width:1024px){ .flavor-card{ width:38vw; min-height:70vh; } }
.flavor-rotate-neg { transform:rotate(0); }
.flavor-rotate-pos { transform:rotate(0); }
@media(min-width:768px){
  .flavor-rotate-neg{ transform:rotate(-6deg); }
  .flavor-rotate-pos{ transform:rotate(6deg); }
}

/* card backgrounds */
.service-card-bg {
  position:absolute; inset:0;
  background: var(--bg-card);
}
.service-card-web    .service-card-bg { background: linear-gradient(135deg, #14210d 0%, #1f3315 100%); }
.service-card-mobile .service-card-bg { background: linear-gradient(135deg, #1a1330 0%, #2a1f4d 100%); }
.service-card-desktop .service-card-bg { background: linear-gradient(135deg, #14140f 0%, #22221a 100%); }

.service-card-content {
  position:relative; z-index:2;
  padding:2.5rem 2rem 5rem;
  height:100%; display:flex; flex-direction:column; gap:1rem;
}
.service-icon { display:flex; align-items:center; justify-content:flex-start; color:var(--green-bright); }
.service-card-content h1 {
  font-family:var(--font-head);
  font-size:clamp(1.5rem, 3.5vw, 2.5rem);
  font-weight:700; text-transform:uppercase;
  line-height:1.1; letter-spacing:-.02em; color:#fff;
}
.service-card-content p {
  font-family:var(--font-body); color:rgba(255,255,255,.6);
  font-size:.95rem; line-height:1.6;
}
.service-tag {
  position:absolute; top:1.5rem; right:1.5rem;
  background:var(--purple); color:#fff;
  font-size:.7rem; font-weight:700; letter-spacing:.1em;
  padding:.3rem .75rem; border-radius:9999px; text-transform:uppercase;
  font-family:var(--font-body);
}

/* ── STATS SECTION ── */
.stats-section {
  min-height:100dvh; overflow:hidden; position:relative;
  background: var(--bg-2);
}
.stats-glow {
  position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:80vw; height:50vh;
  background: radial-gradient(ellipse at top, rgba(141,198,63,.15) 0%, transparent 70%);
  pointer-events:none;
}
.stats-top {
  display:flex; flex-direction:column; padding:5rem 1.5rem 0;
}
@media(min-width:768px){ .stats-top{ flex-direction:row; justify-content:space-between; padding:5rem 3rem 0; } }
.stats-title-wrap { position:relative; display:flex; flex-direction:column; gap:3rem; }
@media(min-width:768px){ .stats-title-wrap{ transform:translateY(4rem); } }
.stats-title { color:var(--white); }
.nutrition-text-scroll {
  transform:rotate(-2deg);
  border:2px solid var(--bg-2);
  clip-path:polygon(0 0,0 0,0 100%,0% 100%);
  opacity:0;
}
.stats-scroll-inner {
  background: var(--purple-light); padding:.4rem 1.25rem .7rem;
}
.stats-scroll-inner h2 {
  font-family:var(--font-head);
  font-size: clamp(2.5rem, 7vw, 7.5rem);
  font-weight:700; text-transform:uppercase;
  line-height:1; letter-spacing:-.04em; color:#fff;
}
.stats-para-wrap { display:flex; align-items:center; max-width:28rem; }
.stats-para { font-family:var(--font-body); color:var(--white-dim); font-size:1.05rem; line-height:1.7; }

/* Stats bar */
.nutrition-box {
  position:absolute; bottom:1.5rem; width:100%; padding:0 1.25rem;
}
@media(min-width:768px){ .nutrition-box{ bottom:3rem; padding:0 2rem; } }
.list-wrapper {
  background:var(--bg-card); border-radius:9999px;
  border:1px solid var(--border); margin:0 auto; max-width:1200px;
  padding:1.5rem 1.5rem; display:flex; justify-content:space-between; align-items:center;
}
@media(min-width:768px){ .list-wrapper{ padding:2rem 0; } }
.nutrient-item {
  position:relative; flex:1;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.nutrient-item p { color:var(--green-bright); font-family:var(--font-body); font-size:.8rem; }
.nutrient-amount {
  font-family:var(--font-head); font-size:clamp(1.25rem, 3vw, 2.25rem);
  font-weight:700; color:var(--white); letter-spacing:-.03em; margin:.25rem 0;
}
.spacer-border {
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  height:3rem; width:1px; background:var(--border);
}
@media(min-width:768px){ .spacer-border{height:4rem;} }

/* ── BENEFIT SECTION ── */
.benefit-section { min-height:100dvh; background:var(--bg); overflow:hidden; position:relative; }
.benefit-intro { font-family:var(--font-body); color:var(--white-dim); text-align:center; font-size:1.05rem; line-height:1.6; }
.benefit-titles { gap:.4rem; }
.clip-title {
  border:2px solid;
  clip-path:polygon(50% 0,50% 0,50% 100%,50% 100%);
  opacity:0; white-space:nowrap;
}
.clip-title.first-title  { transform:rotate(2deg); }
.clip-title.second-title { transform:rotate(-1deg); }
.clip-title.third-title  { transform:rotate(1deg); position:relative; z-index:10; }
.clip-title.fourth-title { transform:rotate(-3deg); }
.clip-title-inner { padding:.4rem 1.25rem .7rem; }
@media(min-width:768px){ .clip-title-inner{ padding:.4rem 3rem .7rem; } }
.clip-title h2 {
  font-family:var(--font-head);
  font-size:clamp(2.5rem, 7vw, 7.5rem);
  font-weight:700; text-transform:uppercase;
  line-height:1; letter-spacing:-.04em;
}
.benefit-more { font-family:var(--font-body); color:var(--white-dim); text-align:center; font-size:1.05rem; }

/* video / canvas pin */
.overlay-box { position:relative; }
.vd-pin-section {
  height:100dvh; overflow:hidden; margin-top:-10%;
}
@media(max-width:768px){ .vd-pin-section{ margin-top:4rem; } }
.video-box {
  width:100%; height:100%; position:relative;
  clip-path:circle(100% at 50% 50%);
  background:var(--bg);
}
@media(min-width:769px){ .video-box{ clip-path:circle(6% at 50% 50%); } }
#codeCanvas { position:absolute; inset:0; width:100%; height:100%; }
.circle-center { z-index:10; pointer-events:none; }
.code-circle-text {
  width:14vw; height:14vw; min-width:120px; min-height:120px;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-body); font-size:.55rem; letter-spacing:.25em;
  color:var(--green-bright); text-transform:uppercase;
  animation: spin 18s linear infinite;
  /* SVG-style circular text via CSS — we'll arc it in JS */
}
@keyframes spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.play-btn {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:clamp(60px,9vw,90px); height:clamp(60px,9vw,90px);
  display:flex; justify-content:center; align-items:center;
  background:rgba(255,255,255,.1); backdrop-filter:blur(24px); border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
}
.play-btn svg { width:clamp(20px,3vw,32px); height:clamp(20px,3vw,32px); margin-left:4px; }

/* ── TESTIMONIALS ── */
.testimonials-section {
  background:var(--bg-2); position:relative; width:100%; height:120dvh;
}
.testimonial-text-bg {
  position:absolute; width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; padding-top:5vw;
  overflow:hidden;
}
.testimonials-section h1 {
  font-family:var(--font-head);
  text-transform:uppercase;
  font-size:20.5vw; line-height:1.05; letter-spacing:-.04em;
  margin-left:2vw; font-weight:700;
}
.testimonials-section .first-title { color:rgba(240,244,255,.06); }
.testimonials-section .sec-title   { color:rgba(139,92,246,.18); }
.testimonials-section .third-title { color:rgba(240,244,255,.06); }

.pin-box {
  display:flex; align-items:center; justify-content:center;
  width:100%; padding-left:13rem;
  position:absolute; bottom:50vh;
}
@media(min-width:1536px){ .pin-box{bottom:8rem;} }
.vd-card {
  width:clamp(18rem, 22vw, 26rem); flex:none;
  border-radius:1.5rem; margin-left:-11rem; overflow:hidden;
  border:1px solid var(--border);
}

/* testimonial card content */
.testi-card {
  background:var(--bg-card); padding:2rem;
  height:100%; min-height:320px;
  display:flex; flex-direction:column; gap:1.25rem;
  font-family:var(--font-body);
}
.testi-card-blue { background:linear-gradient(135deg,#1a1330,#2f2159); }
.testi-card-dark { background:#0f1118; }
.testi-stars { color:var(--green-bright); font-size:1rem; letter-spacing:.1em; }
.testi-card p { color:var(--white-dim); font-size:.95rem; line-height:1.65; flex:1; }
.testi-author { display:flex; align-items:center; gap:.75rem; margin-top:auto; }
.testi-avatar {
  width:2.75rem; height:2.75rem; border-radius:50%;
  background:var(--green); display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.85rem; color:#fff; flex-shrink:0;
}
.testi-author strong { display:block; color:var(--white); font-size:.95rem; }
.testi-author span   { color:var(--white-dim); font-size:.8rem; }

/* rotations */
.rotate-neg10.translate-neg5 { transform:rotate(-10deg) translateY(-5%); }
.rotate-pos4                 { transform:rotate(4deg); }
.rotate-neg4.translate-neg5  { transform:rotate(-4deg) translateY(-5%); }
.rotate-pos4.translate-pos5  { transform:rotate(4deg) translateY(5%); }
.rotate-neg10                { transform:rotate(-10deg); }

/* ── FOOTER ── */
.footer-section { background:var(--bg); overflow:hidden; position:relative; }
.footer-top-wave {
  width:100%; height:120px;
  background: linear-gradient(to bottom, var(--bg-2), var(--bg));
}
.footer-inner { padding:3rem 1.5rem 0; max-width:1400px; margin:0 auto; }
.footer-hashtag {
  text-align:center; color:var(--white); padding:1rem 0;
  font-size:clamp(2rem, 6vw, 6rem);
}
.footer-cta-wrap {
  text-align:center; margin:3rem 0 4rem;
}
.footer-cta-sub { color:var(--white-dim); font-size:1.15rem; margin-bottom:1.5rem; font-family:var(--font-body); }

.footer-socials { margin:2rem 0; }
.social-btn {
  width:3.25rem; height:3.25rem;
  display:flex; justify-content:center; align-items:center;
  border:1px solid var(--border); border-radius:50%;
  color:var(--white-dim); text-decoration:none;
  transition:border-color .2s, color .2s, background .2s;
}
.social-btn:hover { border-color:var(--green); color:var(--green-bright); background:var(--white-faint); }
.social-btn svg { width:1.1rem; height:1.1rem; }

.footer-links-wrap {
  display:flex; flex-direction:column; gap:3rem;
  padding:2rem 0; border-top:1px solid var(--border);
  font-family:var(--font-body);
}
@media(min-width:768px){ .footer-links-wrap{ flex-direction:row; justify-content:space-between; } }
.footer-logo-col { display:flex; flex-direction:column; gap:.75rem; max-width:22rem; }
.footer-logo { height:2.5rem; width:auto; object-fit:contain; }
.footer-logo-col p { color:var(--white-dim); font-size:.9rem; line-height:1.6; }
.footer-location { color:var(--green-bright) !important; font-size:.85rem !important; }

.footer-links { display:flex; gap:3rem; }
.footer-links > div { display:flex; flex-direction:column; gap:.6rem; }
.footer-col-title { color:var(--white); font-weight:600; margin-bottom:.25rem; font-size:.95rem; }
.footer-links a { color:var(--white-dim); text-decoration:none; font-size:.9rem; transition:color .2s; }
.footer-links a:hover { color:var(--green-bright); }

.footer-email-wrap { max-width:28rem; }
.footer-email-wrap > p { color:var(--white-dim); font-size:.95rem; line-height:1.6; margin-bottom:1rem; }
.footer-email-row {
  display:flex; align-items:center;
  border-bottom:1px solid var(--border); padding-bottom:.75rem;
}
.footer-email-input {
  flex:1; background:transparent; border:none; outline:none;
  font-family:var(--font-head); font-size:1.5rem; font-weight:700;
  color:var(--white); letter-spacing:-.03em;
}
.footer-email-input::placeholder { color:rgba(255,255,255,.2); }
.footer-send-btn {
  background:var(--green); border:none; border-radius:50%;
  width:2.75rem; height:2.75rem; display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:#fff; transition:background .2s; flex-shrink:0;
}
.footer-send-btn:hover { background:var(--green-light); }
.footer-send-btn svg { width:1rem; height:1rem; }

.copyright-box {
  width:100%; padding:1.75rem 0;
  color:rgba(240,244,255,.35); font-family:var(--font-body); font-size:.85rem;
  display:flex; flex-direction:column; gap:1rem;
  align-items:center; text-align:center;
  border-top:1px solid var(--border); margin-top:2rem;
}
@media(min-width:768px){ .copyright-box{ flex-direction:row; justify-content:space-between; } }
.copyright-links { display:flex; gap:1.5rem; }
.copyright-links a { color:inherit; text-decoration:none; transition:color .2s; }
.copyright-links a:hover { color:var(--white-dim); }
