/* ============================================================
   Nambiar Builders — Canonical Stylesheet
   --------------------------------------------------------------
   Deep forest green + navy/slate palette on warm cream.
   Serif headings (Georgia stack) + system sans body. Adopted
   as the builder canonical from sites/nambiar-district25/.
   ============================================================ */

:root{
  /* Canonical 3x3 tokens (check-builder-theme.mjs) */
  --brand-primary:   #2c5e3e;   /* deep forest green - CTAs, brand identity */
  --brand-secondary: #3c4458;   /* navy/slate - headings, statement surfaces */
  --brand-tertiary:  #8fb29a;   /* light sage - accents, focus, decoration */
  --dark-primary:    #2d3446;   /* near-black slate - body text on light */
  --dark-secondary:  #56607a;   /* muted slate-blue - secondary text, meta */
  --dark-tertiary:   #dceadd;   /* pale green border / divider */
  --light-primary:   #f7fbf7;   /* warm pale green page background */
  --light-secondary: #ffffff;   /* white card / surface */
  --light-tertiary:  #eef5ef;   /* alt panel - nested green tint */

  /* State (form success / error) */
  --state-success: #1f5f34;   /* form validation — green (AA on light) */
  --state-error:   #7b1d33;   /* form validation — red (AA on light) */

  /* Shadows */
  --shadow:   0 6px 24px color-mix(in srgb, var(--dark-secondary) 18%, transparent);
  --shadowlg: 0 18px 56px color-mix(in srgb, var(--dark-secondary) 26%, transparent);

  /* Font stacks */
  --display: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --body:    ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Layout */
  --navh: 72px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--dark-primary);background:var(--light-secondary);line-height:1.7;-webkit-font-smoothing:antialiased}
input, select, textarea, button { font-family: inherit; font-size: inherit; }
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:16px;
  top:16px;
  width:auto;
  height:auto;
  padding:10px 14px;
  background:var(--brand-secondary);
  color:var(--light-secondary);
  z-index:2000;
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

/* Accessible in-content links: high-contrast and not color-only */
.hero-sub a,
.overview p a,
.ovv a,
.loc p a,
.copy-list a,
.pr p a,
.faq-ai a,
.disc a {
  color:var(--dark-primary);
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:2px;
  font-weight:600;
  transition:color .2s ease, text-decoration-color .2s ease;
}

.hero-sub a:hover,
.overview p a:hover,
.ovv a:hover,
.loc p a:hover,
.copy-list a:hover,
.pr p a:hover,
.faq-ai a:hover,
.disc a:hover {
  color:color-mix(in srgb, var(--dark-primary) 75%, black);
  text-decoration-color:color-mix(in srgb, var(--dark-primary) 75%, black);
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--brand-primary);
  outline-offset:2px;
}
.wrap{max-width:1280px;margin:0 auto;padding:0 28px}
.pad{padding:88px 0}
.padsm{padding:60px 0}
h1,h2,h3,h4{font-family:var(--display);line-height:1.2;color:var(--brand-secondary)}
h1{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:600}
h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:600;margin-bottom:18px}
h3{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:600}
p{margin-bottom:1rem;color:var(--dark-secondary);line-height:1.8}
.copy-list{list-style:disc;margin:0 0 1rem 1.1rem;padding:0}
.copy-list li{margin:0 0 .45rem;color:var(--dark-secondary);line-height:1.8}

/* Label above headings */
.eyebrow{display:block;font-family:var(--body);font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:10px}
.rule{width:40px;height:2px;background:var(--brand-tertiary);margin:16px 0 30px}
.center{text-align:center}
.center .rule{margin-left:auto;margin-right:auto}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;border-radius:2px;font-family:var(--body);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;letter-spacing:.04em;text-transform:uppercase}
.btn-red{background:var(--brand-primary);color:var(--light-secondary)}
.btn-red:hover{background:color-mix(in srgb, var(--brand-primary) 80%, black);transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb, var(--brand-primary) 35%, transparent)}
.btn-dark{background:var(--brand-secondary);color:var(--light-secondary)}
.btn-dark:hover{background:color-mix(in srgb, var(--brand-secondary) 80%, white);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--brand-secondary);border:1px solid color-mix(in srgb, var(--brand-secondary) 35%, transparent)}
.btn-outline:hover{background:var(--brand-secondary);color:var(--light-secondary)}
.btn-gold{background:color-mix(in srgb, var(--brand-tertiary) 80%, white);color:var(--dark-primary);font-weight:700}
.btn-gold:hover{background:color-mix(in srgb, var(--brand-tertiary) 60%, black);color:var(--dark-primary);transform:translateY(-2px)}

/* ══ NAVBAR ══ */
.nav{position:fixed;top:0;left:0;right:0;height:var(--navh);z-index:1000;transition:all .3s ease}
.nav.top{background:color-mix(in srgb, var(--light-secondary) 82%, transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--dark-tertiary)}
.nav.scrolled{background:color-mix(in srgb, var(--light-secondary) 96%, transparent);backdrop-filter:blur(16px);box-shadow:0 6px 22px color-mix(in srgb, var(--dark-secondary) 20%, transparent)}
.nav-in{max-width:1280px;margin:0 auto;padding:0 28px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav-logo{display:flex;align-items:center;gap:4px}
.nav-logo .lt-badge{background:var(--brand-primary);color:var(--light-secondary);font-family:var(--body);font-size:.78rem;font-weight:800;padding:5px 11px;letter-spacing:.06em}
.nav-logo .project-name{font-family:var(--display);font-size:1.1rem;font-weight:600;color:var(--brand-secondary);letter-spacing:.02em}
.navlinks{display:flex;align-items:center;gap:2px}
.navlinks a{font-size:.75rem;font-weight:500;color:var(--brand-secondary);padding:6px 10px;letter-spacing:.05em;text-transform:uppercase;transition:color .2s}
.navlinks a:hover{color:var(--brand-tertiary)}
.nav-cta{font-size:.75rem;font-weight:700;padding:9px 20px;background:var(--brand-primary);color:var(--light-secondary);letter-spacing:.06em;text-transform:uppercase;transition:all .3s}
.nav-cta:hover{background:color-mix(in srgb, var(--brand-primary) 80%, black)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:0}
.burger span{display:block;width:22px;height:1.5px;background:var(--brand-secondary);transition:all .3s}
.mob-nav{display:none;position:fixed;top:var(--navh);left:0;right:0;background:color-mix(in srgb, var(--light-tertiary) 70%, var(--light-secondary));padding:24px 28px 32px;z-index:999;border-top:1px solid var(--dark-tertiary)}
.mob-nav.on{display:block}
.mob-nav a{display:block;padding:12px 0;border-bottom:1px solid color-mix(in srgb, var(--light-secondary) 7%, transparent);font-size:.85rem;font-weight:500;color:var(--brand-secondary);text-transform:uppercase;letter-spacing:.06em}
.mob-nav .btn-red{margin-top:20px;width:100%;justify-content:center}

/* ══ HERO ══ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;margin-top:0}
.hero-bg{position:absolute;inset:0;z-index:0}
/* Architectural gradient background - replace with actual project image */
.hero-bg-img{
  width:100%;height:100%;object-fit:cover;object-position:center;
}
.hero-bg-ph{
  width:100%;height:100%;
  background:linear-gradient(165deg,var(--light-primary) 0%,color-mix(in srgb, var(--brand-tertiary) 30%, white) 34%,color-mix(in srgb, var(--brand-tertiary) 22%, white) 68%,var(--light-secondary) 100%);
  position:relative;overflow:hidden;
}
.hero-bg-ph::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 70% 40%,color-mix(in srgb, var(--brand-tertiary) 24%, transparent) 0%,transparent 70%),
             radial-gradient(ellipse 50% 80% at 20% 80%,color-mix(in srgb, var(--brand-tertiary) 16%, transparent) 0%,transparent 60%);
}
/* Animated grid lines */
.hero-bg-ph::after{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(color-mix(in srgb, var(--brand-tertiary) 8%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--brand-tertiary) 8%, transparent) 1px,transparent 1px);
  background-size:80px 80px;
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb, black 72%, transparent) 0%,color-mix(in srgb, black 80%, transparent) 42%,color-mix(in srgb, black 88%, transparent) 100%);z-index:1}
.hero-content{position:relative;z-index:2;width:100%;padding:0 0 72px}
.hero-top-badge{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid color-mix(in srgb, var(--light-secondary) 22%, transparent);background:color-mix(in srgb, black 35%, transparent);
  padding:8px 18px;margin-bottom:28px;
}
.hero-top-badge .dot{width:7px;height:7px;background:var(--brand-tertiary);border-radius:50%;animation:pulse 2s infinite}
.hero-top-badge span{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--light-secondary) 94%, var(--brand-tertiary))}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}
.hero h1{color:var(--light-secondary);margin-bottom:10px;line-height:1.15}
.hero h1 em{color:var(--brand-tertiary);font-style:normal}
.hero .page-updated{color:color-mix(in srgb, var(--light-secondary) 85%, transparent)}
.last-updated{
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:color-mix(in srgb, var(--light-secondary) 78%, transparent);
  margin-bottom:18px;
}
.hero-sub{font-size:1rem;color:color-mix(in srgb, var(--light-secondary) 88%, transparent);max-width:560px;margin-bottom:32px;line-height:1.8}
.hero-sub a{color:var(--light-secondary);text-decoration-color:color-mix(in srgb, var(--light-secondary) 55%, transparent)}
.hero-sub a:hover{color:var(--light-secondary);text-decoration-color:var(--light-secondary)}

/* Stat bar */
.hero-stats{display:flex;gap:0;margin-bottom:36px;border:1px solid color-mix(in srgb, var(--light-secondary) 16%, transparent);width:fit-content;background:color-mix(in srgb, black 28%, transparent)}
.hstat{padding:16px 28px;border-right:1px solid color-mix(in srgb, var(--light-secondary) 12%, transparent)}
.hstat:last-child{border-right:none}
.hstat .sv{font-family:var(--display);font-size:1.5rem;font-weight:600;color:var(--light-secondary);line-height:1}
.hstat .sl{font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--light-secondary) 72%, transparent);margin-top:4px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.hero .btn-outline{color:var(--light-secondary);border-color:color-mix(in srgb, var(--light-secondary) 48%, transparent)}
.hero .btn-outline:hover{background:var(--light-secondary);color:var(--dark-primary)}

/* Scroll indicator */
.scroll-ind{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-ind span{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:color-mix(in srgb, var(--light-secondary) 72%, transparent)}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,color-mix(in srgb, var(--brand-tertiary) 60%, transparent),transparent);animation:scrollDown 2s ease infinite}
@keyframes scrollDown{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ══ FORM PANEL (side-by-side with hero on desktop) ══ */
.hero-inner{display:grid;grid-template-columns:1fr 380px;gap:0;align-items:center;padding-bottom:0}
.form-card{background:color-mix(in srgb, var(--light-secondary) 84%, transparent);border:1px solid var(--dark-tertiary);backdrop-filter:blur(14px);padding:32px 28px;position:relative;z-index:2}
.form-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-tertiary))}
.form-card h2,.form-card h3{color:var(--brand-secondary);font-size:1.2rem;margin-bottom:6px}
.form-card p{color:var(--dark-secondary);font-size:.78rem;margin-bottom:20px;line-height:1.6}
.form-grid{display:grid;grid-template-columns:1fr;gap:12px}
.form-grid .fg{margin-bottom:0}
.form-grid .fg-full,.form-grid .form-submit{grid-column:1 / -1}
.form-grid .form-submit{width:100%;justify-content:center}
.fg{margin-bottom:12px}
.fg input,.fg textarea,.fg select{
  width:100%;padding:11px 14px;
  background:color-mix(in srgb, var(--light-secondary) 92%, transparent);border:1px solid var(--dark-tertiary);
  font-family:var(--body);font-size:.83rem;color:var(--brand-secondary);outline:none;transition:all .3s;
  border-radius:0;
}
.fg input::placeholder,.fg textarea::placeholder{color:color-mix(in srgb, var(--dark-secondary) 70%, white)}
.fg input:focus,.fg textarea:focus{border-color:var(--brand-tertiary);background:var(--light-secondary)}
.fg textarea{resize:none;height:70px}
.fg select{color:var(--dark-secondary);appearance:none}
.fg select option{background:var(--light-secondary);color:var(--brand-secondary)}
.fsuccess{
  display:none;
  background:color-mix(in srgb, var(--state-success) 12%, transparent);
  border:1px solid color-mix(in srgb, var(--state-success) 40%, transparent);
  color:var(--state-success);
  padding:14px;
  font-size:.82rem;
  text-align:center;
  margin-top:10px
}
.fsuccess.is-error{
  background:color-mix(in srgb, var(--state-error) 12%, transparent);
  border-color:color-mix(in srgb, var(--state-error) 40%, transparent);
  color:var(--state-error)
}
.form-grid.is-submitting .form-submit{opacity:.8;cursor:wait}
.form-submit:disabled{opacity:.8;cursor:wait}
.hp-field{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.form-note{font-size:.65rem;color:var(--dark-secondary);text-align:center;margin-top:12px}

/* ══ SECTION TAG (repeated label like reference site) ══ */
.section-tag{text-align:center;margin-bottom:8px}
.section-tag span{font-family:var(--body);font-size:.62rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--brand-primary)}
.mp .section-tag span,.loc .section-tag span{color:var(--brand-primary)}

/* ══ OVERVIEW ══ */
.overview{background:var(--light-primary)}
.ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.ov-bullets{display:flex;flex-direction:column;gap:0;margin-top:20px}
.ovb{display:flex;gap:0;border-bottom:1px solid var(--dark-tertiary)}
.ovb:first-child{border-top:1px solid var(--dark-tertiary)}
.ovk{width:180px;flex-shrink:0;padding:13px 16px 13px 0;font-size:.75rem;font-weight:600;color:var(--brand-secondary);letter-spacing:.02em}
.ovv{padding:13px 0;font-size:.8rem;color:var(--dark-secondary);flex:1}
/* Prevent long IDs (like RERA numbers) from overflowing on small screens */
.ovv,.faq-ai,.disc{
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* ══ GALLERY ══ */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:200px;gap:6px}
.gi{position:relative;overflow:hidden;background:var(--brand-secondary);cursor:pointer}
.gi:first-child{grid-column:span 2;grid-row:span 2}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gi:hover img{transform:scale(1.06)}
.gov{position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb, black 60%, transparent),transparent 50%);opacity:0;transition:all .3s;display:flex;align-items:flex-end;padding:16px}
.gi:hover .gov{opacity:1}
.gov span{color:var(--light-secondary);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
/* Placeholders */
.gph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.gph-main{background:linear-gradient(135deg,var(--brand-secondary) 0%,color-mix(in srgb, var(--brand-secondary) 70%, black) 50%,var(--brand-secondary) 100%)}
.gph-2{background:linear-gradient(135deg,var(--brand-secondary),color-mix(in srgb, var(--brand-secondary) 70%, black))}
.gph-3{background:linear-gradient(135deg,color-mix(in srgb, var(--brand-secondary) 88%, black),color-mix(in srgb, var(--brand-secondary) 65%, black))}
.gph-4{background:linear-gradient(135deg,var(--brand-secondary),color-mix(in srgb, var(--brand-secondary) 60%, black))}
.gph-5{background:linear-gradient(135deg,color-mix(in srgb, var(--brand-secondary) 92%, black),color-mix(in srgb, var(--brand-secondary) 68%, black))}
.gph .pi{font-size:2rem;opacity:.25}
.gph .pt{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--light-tertiary)}
/* Floating label on main gallery */
.gi:first-child .gph-main::after{
  content:'ARTISTIC IMPRESSION';
  position:absolute;bottom:14px;right:14px;
  font-size:.58rem;font-weight:600;letter-spacing:.14em;
  color:var(--light-tertiary);text-transform:uppercase;
}

/* ══ MASTER PLAN ══ */
.mp{background:linear-gradient(180deg,color-mix(in srgb, var(--brand-tertiary) 22%, white) 0%,var(--light-tertiary) 100%)}
.mp-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.mp h2,.mp h3,.mp .eyebrow{color:var(--brand-secondary)}
.mp .eyebrow{color:var(--brand-primary)}
.mp .rule{background:var(--brand-primary)}
.mp p{color:var(--dark-secondary)}
.mp-img-wrap{position:relative;border:1px solid var(--dark-tertiary)}
.mp-img{width:100%;aspect-ratio:4/3;object-fit:cover}
.mp-ph{
  width:100%;aspect-ratio:4/3;
  background:linear-gradient(135deg,color-mix(in srgb, var(--brand-secondary) 90%, black),color-mix(in srgb, var(--brand-secondary) 70%, black));
  border:1px solid color-mix(in srgb, var(--light-secondary) 8%, transparent);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  position:relative;overflow:hidden;
}
.mp-ph::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 50% at 50% 50%,color-mix(in srgb, var(--brand-tertiary) 8%, transparent),transparent);
}
.mp-ph .pi{font-size:3rem;opacity:.2}
.mp-ph p{color:var(--dark-secondary);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:0}
.mp-overlay-tag{
  position:absolute;top:16px;left:16px;
  background:color-mix(in srgb, var(--brand-primary) 90%, transparent);color:var(--light-secondary);
  font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 12px;
}
.mp-features{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.mpf{background:color-mix(in srgb, var(--light-secondary) 78%, transparent);border:1px solid var(--dark-tertiary);padding:16px;display:flex;gap:12px;align-items:flex-start}
.mpf .ico{font-size:1.2rem;flex-shrink:0;margin-top:2px}
.mpf-label{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-tertiary);margin-bottom:3px}
.mpf-val{font-size:.82rem;color:var(--dark-secondary)}

/* ══ FLOOR PLANS ══ */
.fp{background:var(--light-secondary)}
.fp-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.fpc{border:1px solid var(--dark-tertiary);overflow:hidden;transition:all .3s;cursor:pointer}
.fpc:hover{border-color:var(--brand-primary);box-shadow:0 8px 32px color-mix(in srgb, var(--brand-primary) 12%, transparent);transform:translateY(-4px)}
.fp-img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--light-primary)}
.fp-ph{width:100%;aspect-ratio:4/3;background:var(--light-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--dark-secondary)}
.fp-ph .pi{font-size:2rem;opacity:.4}
.fp-ph small{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;opacity:.6}
.fp-info{padding:16px 18px;border-top:1px solid var(--dark-tertiary);display:flex;justify-content:space-between;align-items:center}
.fp-config{font-family:var(--display);font-size:1rem;font-weight:600;color:var(--brand-secondary)}
.fp-area{font-size:.75rem;color:var(--dark-secondary)}
.fp-tag{font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--brand-secondary);color:var(--light-secondary);padding:4px 10px}

/* ══ AMENITIES ══ */
.am{background:var(--light-primary)}
.am-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--dark-tertiary);margin-top:40px}
.amc{background:var(--light-secondary);padding:28px 20px;text-align:center;transition:all .3s;cursor:default}
.amc:hover{background:var(--brand-secondary)}
.amc:hover .ami,.amc:hover .amn{color:var(--light-secondary)}
.amc:hover .ami{border-color:color-mix(in srgb, var(--light-secondary) 15%, transparent);background:color-mix(in srgb, var(--light-secondary) 5%, transparent)}
.ami{width:52px;height:52px;border:1px solid var(--dark-tertiary);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto 12px;transition:all .3s}
.amn{font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--brand-secondary);transition:all .3s}

/* ══ LOCATION ══ */
.loc{background:linear-gradient(180deg,var(--light-tertiary) 0%,color-mix(in srgb, var(--brand-tertiary) 22%, white) 100%)}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.loc h2,.loc h3,.loc .eyebrow{color:var(--brand-secondary)}
.loc .eyebrow{color:var(--brand-primary)}
.loc .rule{background:var(--brand-primary)}
.loc p{color:var(--dark-secondary)}
.loc .copy-list li{color:var(--dark-secondary)}
.loc-map{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,color-mix(in srgb, var(--brand-tertiary) 30%, white),color-mix(in srgb, var(--brand-tertiary) 22%, white));border:1px solid var(--dark-tertiary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:all .3s;text-decoration:none;position:relative;overflow:hidden}
.loc-map:hover{border-color:var(--brand-tertiary)}
.loc-map::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 50%,color-mix(in srgb, var(--brand-tertiary) 16%, transparent),transparent)}
.loc-map-img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}
.loc-map .pi{font-size:3.5rem;opacity:.25}
.loc-map p{color:var(--dark-secondary);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:0}
.loc-map-tag{position:absolute;bottom:14px;right:14px;background:var(--brand-primary);color:var(--light-secondary);font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;z-index:2}
.conn-list{display:flex;flex-direction:column;gap:0;margin-top:8px}
.ci{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--dark-tertiary)}
.ci:first-child{border-top:1px solid var(--dark-tertiary)}
.cico{font-size:1.1rem;width:32px;text-align:center;flex-shrink:0}
.cil{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-tertiary);margin-bottom:2px}
.civ{font-size:.82rem;color:var(--brand-secondary);font-weight:500}
.cdist{margin-left:auto;font-size:.72rem;font-weight:600;color:var(--brand-secondary);background:var(--brand-tertiary);padding:3px 10px;flex-shrink:0}

/* Growth section */
.growth-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:20px}
.gc{background:color-mix(in srgb, var(--light-secondary) 78%, transparent);border:1px solid var(--dark-tertiary);padding:22px 20px}
.gc h3{font-family:var(--display);font-size:1rem;color:var(--brand-secondary);margin-bottom:8px}
.gc p{font-size:.8rem;color:var(--dark-secondary);margin:0;line-height:1.7}

/* ══ PRICING ══ */
.pr{background:var(--light-secondary)}
.pr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.prc{border:1px solid var(--dark-tertiary);padding:32px 24px;text-align:center;position:relative;transition:all .3s}
.prc:hover{border-color:var(--brand-primary);box-shadow:0 8px 32px color-mix(in srgb, var(--brand-primary) 10%, transparent)}
.prc.featured::before{content:'PRE-LAUNCH OFFER';position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--brand-primary);color:var(--light-secondary);font-size:.6rem;font-weight:800;letter-spacing:.12em;padding:4px 14px}
.pr-type{font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:12px}
.pr-config{font-family:var(--display);font-size:2rem;font-weight:600;color:var(--brand-secondary);margin-bottom:8px;line-height:1}
.pr-size{font-size:.78rem;color:var(--dark-secondary);margin-bottom:20px}
.pr-price{font-family:var(--display);font-size:1.1rem;color:var(--brand-secondary);margin-bottom:4px;font-weight:600}
.pr-note{font-size:.7rem;color:var(--dark-secondary);margin-bottom:24px}
.pr-divider{width:32px;height:1px;background:var(--dark-tertiary);margin:0 auto 24px}
.prc .btn{width:100%;justify-content:center;font-size:.72rem;padding:11px 14px}

/* ══ CTA ROW ══ */
.cta-row{background:transparent;padding:0;display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap}
.cta-row:has(.cta-row-in){background:linear-gradient(90deg,color-mix(in srgb, var(--brand-tertiary) 45%, white) 0%,color-mix(in srgb, var(--brand-tertiary) 30%, white) 100%);display:block}
.cta-row-in{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding:32px 28px}
.cta-row p{color:var(--dark-primary);font-size:.9rem;margin:0;line-height:1.6}
.cta-row h3{color:var(--brand-secondary);font-size:1.3rem;margin-bottom:4px}
.cta-row .btn{white-space:nowrap}
.cta-row:has(.cta-row-in) .btn{background:var(--light-secondary);color:var(--brand-secondary)}
.cta-row:has(.cta-row-in) .btn:hover{background:var(--brand-secondary);color:var(--light-secondary)}

/* ══ FAQS ══ */
.faqs{background:var(--light-primary)}
.faq-list{max-width:760px;margin:40px auto 0}
.faq-item{border-bottom:1px solid var(--dark-tertiary)}
.faq-item:first-child{border-top:1px solid var(--dark-tertiary)}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:20px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--body);font-size:.9rem;font-weight:600;color:var(--brand-secondary);gap:16px}
.faq-title{display:block;font-size:.88rem;font-weight:600;line-height:1.45}
.faq-icon{width:26px;height:26px;border:1px solid var(--dark-tertiary);display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0;transition:all .3s;color:var(--brand-secondary)}
.faq-item.on .faq-icon{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--light-secondary)}
.faq-a{display:none}
.faq-item.on .faq-a{display:block}
.faq-ai{padding:0 0 20px;font-size:.85rem;color:var(--dark-secondary);line-height:1.8}
.faq-ai a{color:var(--dark-primary);font-weight:700}

/* ══ ABOUT BUILDER ══ */
.builder{background:linear-gradient(180deg,color-mix(in srgb, var(--brand-tertiary) 22%, white) 0%,var(--light-secondary) 100%)}
.builder-grid{display:grid;grid-template-columns:1fr 2fr;gap:64px;align-items:center}
.builder-logo-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.lt-logo-big{background:var(--brand-primary);color:var(--light-secondary);font-family:var(--body);font-size:1.8rem;font-weight:900;padding:20px 30px;letter-spacing:.08em;text-align:center}
.lt-logo-sub{color:var(--dark-secondary);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;text-align:center}
.builder h2,.builder .eyebrow{color:var(--brand-secondary)}
.builder .eyebrow{color:var(--brand-primary)}
.builder .rule{background:var(--brand-primary)}
.builder p{color:var(--dark-secondary);font-size:.88rem}
.builder-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--dark-tertiary);margin-top:28px}
.bstat{background:color-mix(in srgb, var(--light-secondary) 90%, transparent);padding:20px;text-align:center}
.bstat .sv{font-family:var(--display);font-size:1.8rem;font-weight:600;color:var(--brand-secondary);line-height:1}
.bstat .sl{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dark-secondary);margin-top:6px}

/* ══ OTHER PROJECTS ══ */
.other-proj{background:var(--light-secondary);border-top:1px solid var(--dark-tertiary)}
.proj-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:24px}
.proj-link{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:10px 20px;border:1px solid var(--dark-tertiary);color:var(--brand-secondary);transition:all .3s}
.proj-link:hover{background:var(--brand-secondary);color:var(--light-secondary);border-color:var(--brand-secondary)}

/* ══ RELATED PROJECTS ══ */
.related-projects[data-related-projects-section]{
  padding:88px 28px !important;
  background:linear-gradient(180deg,color-mix(in srgb, var(--brand-tertiary) 22%, white) 0%,var(--light-tertiary) 100%) !important;
  color:var(--brand-secondary) !important;
  border-top:1px solid var(--dark-tertiary);
}
.related-projects[data-related-projects-section] .related-projects__inner{
  max-width:1280px !important;
  margin:0 auto !important;
}
.related-projects[data-related-projects-section] .related-projects__header{
  max-width: none !important;
  margin:0 auto 40px !important;
  text-align:center;
  width: 100%;
}
.related-projects[data-related-projects-section] .related-projects__header::before{
  content: "Related Projects";
  display:block;
  margin-bottom:10px;
  color:var(--brand-primary);
  font-family:var(--body);
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.25em;
  text-transform:uppercase;
}
.related-projects[data-related-projects-section] .related-projects__header h2{
  color:var(--brand-secondary) !important;
  max-width: none !important;
  display: block;
  width: 100%;
}
.related-projects[data-related-projects-section] .related-projects__header h2::after{
  content:"";
  display:block;
  width:40px;
  height:2px;
  margin:16px auto 0;
  background:var(--brand-primary);
}
.related-projects[data-related-projects-section] .related-projects__header p{
  margin:24px auto 0 !important;
  color:var(--dark-secondary) !important;
  font-size:1rem !important;
  line-height:1.8 !important;
}
.related-projects[data-related-projects-section] .related-projects__grid{
  gap:20px !important;
}
.related-projects[data-related-projects-section] .related-projects__card{
  border:1px solid var(--dark-tertiary) !important;
  border-radius:0 !important;
  background:color-mix(in srgb, var(--light-secondary) 88%, transparent) !important;
  box-shadow:var(--shadow) !important;
}
.related-projects[data-related-projects-section] .related-projects__card:hover{
  border-color:var(--brand-primary) !important;
  box-shadow:var(--shadowlg) !important;
  transform:translateY(-4px) !important;
}
.related-projects[data-related-projects-section] .related-projects__image{
  aspect-ratio:4 / 3 !important;
}
.related-projects[data-related-projects-section] .related-projects__body{
  padding:18px !important;
}
.related-projects[data-related-projects-section] .related-projects__meta{
  margin-bottom:8px !important;
  color:var(--brand-primary) !important;
  font-family:var(--body) !important;
  font-size:.62rem !important;
  font-weight:700 !important;
  letter-spacing:.18em !important;
}
.related-projects[data-related-projects-section] .related-projects__body h3{
  color:var(--brand-secondary) !important;
  font-family:var(--display) !important;
  font-size:1.22rem !important;
  font-weight:600 !important;
  line-height:1.25 !important;
}
.related-projects[data-related-projects-section] .related-projects__body h3 a{
  color:inherit !important;
}
.related-projects[data-related-projects-section] .related-projects__body h3 a:focus-visible{
  outline-color:var(--brand-primary) !important;
}
.related-projects[data-related-projects-section] .related-projects__body p:last-child{
  margin-top:10px !important;
  color:var(--dark-secondary) !important;
  font-size:.86rem !important;
  line-height:1.75 !important;
}

/* Keep shorter columns visible while the longer column scrolls (desktop only) */
@media(min-width:1025px){
  .ov-grid > :first-child,
  .loc-grid > :first-child,
  .builder-grid > :first-child,
  .mp-inner > :last-child{
    position:sticky;
    top:calc(var(--navh) + 24px);
    align-self:start;
  }
}

/* ══ FOOTER ══ */
.foot{background:linear-gradient(180deg,color-mix(in srgb, var(--brand-tertiary) 14%, white) 0%,var(--light-tertiary) 100%);padding:56px 0 32px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid var(--dark-tertiary);margin-bottom:28px}
.foot-brand .fl{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.foot-brand .lt-b{background:var(--brand-primary);color:var(--light-secondary);font-size:.75rem;font-weight:800;padding:5px 11px;letter-spacing:.06em}
.foot-brand .pn{font-family:var(--display);font-size:1.1rem;font-weight:600;color:var(--brand-secondary)}
.foot-brand p{font-size:.75rem;color:var(--brand-secondary);line-height:1.7;margin:0 0 16px}
.disc{font-size:.62rem;color:var(--dark-secondary);line-height:1.7}
.disc strong{color:var(--dark-primary)}
.foot-col h3,.foot-col h4{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:16px}
.foot-col a{display:block;font-size:.78rem;color:var(--brand-secondary);padding:4px 0;transition:color .2s}
.foot-col a:hover{color:var(--brand-secondary)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.foot-bot p{font-size:.68rem;color:var(--dark-secondary);margin:0}
.foot-bot-links{display:flex;gap:20px}
.foot-bot-links a{font-size:.68rem;color:var(--brand-secondary);transition:color .2s}
.foot-bot-links a:hover{color:var(--brand-tertiary)}

/* Scroll top */
.stbtn{position:fixed;bottom:28px;right:28px;width:44px;height:44px;background:var(--brand-primary);color:var(--light-secondary);display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;opacity:0;transform:translateY(10px);transition:all .3s;border:none;z-index:100}
.stbtn.on{opacity:1;transform:translateY(0)}
.stbtn:hover{background:color-mix(in srgb, var(--brand-primary) 80%, black)}

/* ══ RESPONSIVE ══ */
@media(max-width:1024px){
  .hero{
    min-height:auto;
    align-items:flex-start;
  }
  .hero-inner{
    grid-template-columns:1fr;
    gap:28px;
    padding-bottom:56px;
    max-width:900px;
    margin:0 auto;
  }
  .hero .wrap{
    align-self:flex-start !important;
    padding-top:calc(var(--navh) + 24px);
    padding-bottom:48px !important;
  }
  .hero-sub{max-width:820px}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-card{width:100%;max-width:760px}
  .ov-grid,.mp-inner,.loc-grid,.builder-grid{grid-template-columns:1fr;gap:40px}
  .pr-grid{grid-template-columns:1fr 1fr}
  .am-grid{grid-template-columns:repeat(3,1fr)}
  .growth-cards{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1024px){
  .navlinks{display:none}
  .nav-cta{display:none}
  .burger{display:flex}
}
@media(max-width:1024px){
  .related-projects[data-related-projects-section]{padding:64px 28px !important}
  .related-projects[data-related-projects-section] .related-projects__grid{grid-template-columns:1fr !important}
  .related-projects[data-related-projects-section] .related-projects__header{text-align:left
  max-width: none !important;
  width: 100%;
}
  .related-projects[data-related-projects-section] .related-projects__header h2::after{margin-left:0;margin-right:0}
  .gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gi:first-child{grid-column:span 2;min-height:260px}
  .fp-scroll{grid-template-columns:1fr 1fr}
  .am-grid{grid-template-columns:repeat(2,1fr)}
  .hero-stats{flex-wrap:wrap}
  .hstat{min-width:120px}
  .cta-row-in{grid-template-columns:1fr;gap:20px}
  .growth-cards{grid-template-columns:1fr}
  .builder-grid{grid-template-columns:1fr;gap:32px}
  .builder-stats{grid-template-columns:1fr 1fr 1fr}
  .pr-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .pad{padding:64px 0}
  .hero-stats{grid-template-columns:repeat(2,1fr);display:grid}
  .hstat{border-right:none;border-bottom:1px solid var(--dark-tertiary)}
  .gal-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .gi:first-child{grid-column:span 1;min-height:240px}
  .fp-scroll{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:32px}
}


/* Subpage inline FAQ (added by tooling/migration/inline-faqs.mjs) */
#faq .faq-list {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

#faq details.faq-item {
  background: var(--light-secondary);
  border: 1px solid color-mix(in srgb, var(--dark-primary) 10%, transparent);
  border-radius: 12px;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--dark-primary) 4%, transparent);
  padding: 1rem 1.25rem;
  transition: border-color 0.2s ease;
}

#faq details.faq-item[open] {
  border-color: var(--brand-tertiary);
}

#faq details.faq-item > summary {
  display: block;
  cursor: pointer;
  font-weight: 600;
  color: var(--dark-primary);
  line-height: 1.45;
  list-style: none;
  padding-right: 1.5rem;
  position: relative;
}

#faq details.faq-item > summary::-webkit-details-marker { display: none; }

#faq details.faq-item > summary::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0.6rem;
  height: 0.6rem;
  border-right: 2px solid var(--brand-tertiary);
  border-bottom: 2px solid var(--brand-tertiary);
  transform: translateY(-65%) rotate(45deg);
  transition: transform 0.2s ease;
}

#faq details.faq-item[open] > summary::after {
  transform: translateY(-25%) rotate(-135deg);
}

#faq details.faq-item > p {
  margin: 0.75rem 0 0;
  color: color-mix(in srgb, var(--dark-primary) 72%, transparent);
  line-height: 1.65;
}

#faq details.faq-item > summary:focus-visible {
  outline: 2px solid var(--brand-primary);
  outline-offset: 4px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  #faq details.faq-item,
  #faq details.faq-item > summary::after {
    transition: none;
  }
}

/* ══ SUBPAGE BODY STYLES ══ */
body.subpage{background:var(--light-secondary)}

.sec{padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,4vw,2rem);max-width:1280px;margin:0 auto}
.sec-light{background:var(--light-secondary);color:var(--brand-secondary)}
.sec-dark{background:var(--brand-secondary);color:var(--light-secondary);max-width:none;padding-left:0;padding-right:0}
.sec-dark > *{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:clamp(1.25rem,4vw,2rem);padding-right:clamp(1.25rem,4vw,2rem)}

.eyebrow-dark{display:block;font-family:var(--body);font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:10px}
.sec-dark .eyebrow,.sec-dark .eyebrow-dark{color:var(--brand-tertiary)}

.stitle{font-family:var(--display);font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.2;margin:0 0 1.1rem;font-weight:600;color:var(--brand-secondary)}
.stitle em{font-style:italic;font-weight:500;color:var(--brand-primary)}
.stitle-dark{color:var(--brand-secondary)}
.stitle-dark em{color:var(--brand-primary)}
.sec-dark .stitle,.sec-dark .stitle-dark{color:var(--light-secondary)}
.sec-dark .stitle em,.sec-dark .stitle-dark em{color:var(--brand-tertiary)}

.sbody{font-size:1rem;line-height:1.8;max-width:75ch;margin:0 0 1rem;color:var(--dark-secondary)}
.sec-dark .sbody{color:color-mix(in srgb, var(--light-secondary) 84%, transparent)}
.sbody a{color:var(--brand-primary);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.sec-dark .sbody a{color:var(--brand-tertiary)}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.75rem 0}
.stat{background:color-mix(in srgb, var(--brand-primary) 6%, transparent);border:1px solid color-mix(in srgb, var(--brand-primary) 12%, transparent);border-radius:10px;padding:1.4rem 1rem;text-align:center}
.sec-dark .stat{background:color-mix(in srgb, var(--light-secondary) 6%, transparent);border-color:color-mix(in srgb, var(--light-secondary) 14%, transparent)}
.stat-n{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;color:var(--brand-primary);margin:0 0 .25rem;line-height:1.1}
.sec-dark .stat-n{color:var(--brand-tertiary)}
.stat-l{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dark-secondary);margin:0;line-height:1.3}
.sec-dark .stat-l{color:color-mix(in srgb, var(--light-secondary) 74%, transparent)}

.ptable{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem;background:var(--light-secondary);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.ptable th,.ptable td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid color-mix(in srgb, var(--dark-primary) 8%, transparent);color:var(--brand-secondary)}
.ptable th{background:color-mix(in srgb, var(--brand-primary) 8%, transparent);font-weight:700;letter-spacing:.04em;font-size:.85rem;text-transform:uppercase}
.ptable tr:last-child td{border-bottom:none}
.ptable tr:hover td{background:color-mix(in srgb, var(--brand-primary) 3%, transparent)}
.sec-dark .ptable{box-shadow:none}

/* Standalone gold/outline buttons (when used without .btn base) */
.cta-row > .btn-gold,
.cta-row > .btn-outline,
a.btn-gold:not(.btn),
a.btn-outline:not(.btn),
button.btn-gold:not(.btn),
button.btn-outline:not(.btn){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:2px;font-family:var(--body);font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .3s ease;border:none
}
button.btn-gold:not(.btn){background:color-mix(in srgb, var(--brand-tertiary) 80%, white);color:var(--dark-primary)}
button.btn-outline:not(.btn){background:transparent;color:var(--brand-secondary);border:1px solid color-mix(in srgb, var(--brand-secondary) 35%, transparent)}
a.btn-gold:not(.btn):hover,button.btn-gold:not(.btn):hover:not(:disabled){background:color-mix(in srgb, var(--brand-tertiary) 60%, black);transform:translateY(-2px)}
a.btn-outline:not(.btn):hover,button.btn-outline:not(.btn):hover:not(:disabled){background:var(--brand-secondary);color:var(--light-secondary)}
button.btn-gold:not(.btn):disabled,button.btn-outline:not(.btn):disabled{opacity:.6;cursor:not-allowed}

/* Inline CTA cluster on subpages - override .cta-row gradient banner */
.sec .cta-row{background:transparent;padding:0;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

/* FAQ accordion (subpage variant - uses .faq-list / .faq-item) */
.faq-list{display:flex;flex-direction:column;gap:.6rem;margin-top:1.5rem}
.faq-item{background:color-mix(in srgb, var(--brand-primary) 4%, transparent);border:1px solid color-mix(in srgb, var(--brand-primary) 14%, transparent);border-radius:8px;padding:1rem 1.25rem;transition:background .2s ease}
.faq-item summary{font-weight:600;cursor:pointer;list-style:none;color:var(--brand-secondary);padding-right:1.5rem;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.2rem;font-weight:700;color:var(--brand-primary);transition:transform .2s ease}
.faq-item[open]{background:color-mix(in srgb, var(--brand-primary) 8%, transparent)}
.faq-item[open] summary::after{content:"−"}
.faq-item p{margin:.75rem 0 0;line-height:1.7;color:var(--dark-secondary)}

/* Builder / about-builder page bits */
.builder-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin:1.5rem 0}
.bstat{text-align:center;padding:1rem .75rem;background:color-mix(in srgb, var(--brand-primary) 6%, transparent);border-radius:10px}
.bstat .sv{font-family:var(--display);font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:700;color:var(--brand-primary);line-height:1.1}
.bstat .sl{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dark-secondary);margin-top:.25rem}

/* Subpage hero with side-by-side form */
.sec-split{display:grid;grid-template-columns:1fr 400px;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.sec-split-content{min-width:0}
.sec-split-form{position:sticky;top:calc(var(--navh) + 1.25rem)}
.sec-light .sec-split-form .form-card,.sec .sec-split-form .form-card{background:var(--light-secondary);border:1px solid var(--dark-tertiary);box-shadow:var(--shadowlg)}
.sec-split-form .form-card h2{font-family:var(--display);color:var(--brand-secondary);font-size:1.35rem;margin-bottom:6px}
.sec-split-form .form-card > p{color:var(--dark-secondary);font-size:.85rem;margin-bottom:18px;line-height:1.6}
.sec-split-form .form-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sec-split-form .form-card .form-btns{margin-top:14px}
.sec-split-form .form-card .form-btns .btn-gold{width:100%;justify-content:center}
.sec-split-form .form-card .privacy{font-size:.72rem;color:var(--dark-secondary);margin-top:12px;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px}
.sec-split-form .form-card .field-error{display:block;color:var(--state-error);font-size:.72rem;margin-top:4px}
.sec-split-form .form-card .form-status{padding:10px 12px;font-size:.82rem;margin-top:10px;border:1px solid var(--dark-tertiary);background:var(--light-primary)}
@media (max-width:1024px){
  .sec-split{grid-template-columns:1fr}
  .sec-split-form{position:static;max-width:560px}
  .sec-split-form .form-card .form-row{grid-template-columns:1fr}
}

/* ══ RESPONSIVE OVERFLOW GUARDS ══ */
html,body{overflow-x:hidden}
.ptable,.ptable th,.ptable td,
.sbody,.sbody li,.sbody p,
.ovv,.disc,.faq-ai,
.faq-item p,.faq-item summary,
.ft-disc,.foot p,.foot .disc{
  overflow-wrap:anywhere;word-break:break-word
}
.sec,.sec-light,.sec-dark,.sec-split-content,.sec-split-form,
main,main *:not(table){min-width:0}

@media (max-width:1024px){
  .ptable{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  .ptable thead,.ptable tbody,.ptable tr{width:100%}
  .stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
  .sec{padding-left:1.25rem;padding-right:1.25rem}
  .sec-dark > *{padding-left:1.25rem;padding-right:1.25rem}
}


/* phase-b brand-text */
.brand-logo-img { display: block; width: 48px; height: 48px; object-fit: contain; flex: 0 0 48px; filter: none !important; }
.brand-text { display: inline-flex; flex-direction: column; line-height: 1.15; gap: 0; margin-left: 0; color: inherit; text-decoration: none; }
.brand-developer { font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.7; }
.brand-project { font-size: 1rem; font-weight: 700; }
a:has(> .brand-text), a.nav-logo, a.footer-logo, a.footer-brand, a.navbar_logo-link, a.footer_logo-link, a.navbar__brand, a.brand { display: inline-flex; align-items: center; gap: 4px; text-decoration: none; color: inherit; }

/* fleet: nav links title-case + 12px (2026-06-05) */
.navlinks a:not([class*="cta"]):not([class*="btn"]):not([class*="button"]){font-size:12px !important;text-transform:none !important}

/* fleet: nav collapses at tablet 1024 (2026-06-05) */
@media(min-width:1025px){.navlinks{display:flex !important}.burger{display:none !important}}
@media(max-width:1024px){.navlinks{display:none !important}.burger{display:flex !important}.navlinks.is-open,.is-open .navlinks,.navlinks.open,.open .navlinks,.navlinks.active,.active .navlinks,.navlinks.w--open,.w--open .navlinks,.navlinks.on,.on .navlinks,.navlinks.visible,.visible .navlinks,.navlinks.is-visible,.is-visible .navlinks,.navlinks.expanded,.expanded .navlinks,.navlinks.show,.show .navlinks,.navlinks.shown,.shown .navlinks,.navlinks.opened,.opened .navlinks,.navlinks.menu-open,.menu-open .navlinks,.navlinks.nav-open,.nav-open .navlinks,.navlinks[data-nav-menu-open]{display:flex !important;flex-direction:column !important}}
@media(min-width:1025px){.navlinks a{white-space:nowrap !important;padding-left:5px !important;padding-right:5px !important}.navlinks{gap:1px !important}}

/* fleet: nav brand text size cap — brand NAME <=15px so no logo text exceeds 16px (2026-06-06) */
[class*="brand-project"],[class*="brand-name"],[class*="brand-title"],[class*="brand-lockup__name"]{font-size:15px !important}
[class*="brand-developer"]{font-size:11px !important}
