@font-face {
  font-family: 'BabelStoneModern';
  src: url("../../fonts/BabelStoneModern.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ===== Reset (keep it lean) ===== */

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

html { scroll-behavior: smooth; font-size: 16px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img, video { display: block; max-width: 100%; height: auto; }
a { text-decoration: none; color: inherit; }

/* ===== Tokens (aligned with Build Guide) ===== */

:root{
  /* core palette */
  --clr-bg-body: #2a2a2a;
  --clr-primary-light: #f4f4f4;
  --clr-primary: #c88518;          
  --clr-primary-dark: #1f1f1f;
  --clr-secondary-dark: #414141;
  --clr-mid-dark: #8e8e8e;
  --clr-secondary-light: #b7b7b7;
  --clr-inactivep-light: #737373;
  --clr-accent: #d69134;
  --clr-nav-bg: #222;
  --clr-nav-text: #eaeaea;
  --clr-dc-text: #5a3f00;

  /* app glass + shadows */
  --clr-bg-app: #2a2a2a;
    --glass-l: #d4c9c90f;

  --glass-50: rgba(42,42,42,0.5);
  --glass-70: rgba(37,36,34,0.797);
  --glass-a:  #e59a38d6;
  --slider-track: rgba(83,83,83,0.9);
  --shadow-35: rgba(0,0,0,0.55);

  /* families */
  --font-sans: "Syne", sans-serif;

  --font-body: var(--font-sans);
  --font-h1: var(--font-sans);
  --font-heading: 'BabelStoneModern', sans-serif;

  /* type scale + rhythm */
  --fs-body: 1.9rem;
  --lh-body: 1.55;
  --fs-small: .75rem;

  /* spacing scale (8pt grid) */
  --space-1: .5rem;   /* 8px  */
  --space-2: 1rem;    /* 16px */
  --space-3: 1.5rem;  /* 24px */
  --space-4: 2rem;    /* 32px */
  --space-5: 2.5rem;  /* 40px */
  --space-6: 3rem;    /* 48px */
  --space-8: 5rem;    /* 64px */
  --space-10: 7rem;   /* 80px */

  /* weights */
  --fw-regular: 300;
  --fw-bold: 400;

  /* letter-spacing */
  --ls-uc: 0.05em;
  --ls-uc-tight: 0.08em;
    --ls-uc-p: 0.1em;

  /* layout */
  --radius:.5rem;

  --gutter-content: clamp(1rem, 6vw, 2rem);
    --gutter-header: clamp(1rem, 6vw, 5.5rem);

  --max-width:960px;
  --section-space: var(--space-1);
  --header-height:82px;

  --section-min-h: clamp(560px, 72vh, 920px);
  --section-pad-block: 10rem;
  --container-gap: var(--space-10);     
}


/* ===== Base ===== */
/* ===== Base & layout ===== */
body{
  font-family: var(--font-body);
  background: var(--clr-bg-body);  /* ONLY body sets background */
  color: var(--clr-primary-light);
  line-height: var(--lh-body);
  padding-top: var(--header-height);
}


.section-body{
  min-height: 0;
  display: grid;
  place-content: center;
}

.why-grid, .pricing-grid{
  width: 100%;
  height: 100%;
  display: grid;
  gap: var(--space-5);
  grid-template-columns: 1fr;
  align-content: center;  /* centers the whole grid block vertically */
  align-items: stretch;   /* equal card heights */
  grid-auto-rows: 1fr;
}
@media (min-width: 900px){
  .why-grid, .pricing-grid{ grid-template-columns: repeat(2, 1fr); }
}


 .pricing-grid{
  width: 100%;
  height: 100%;
  display: grid;
  gap: var(--space-7);
  grid-template-columns: 1fr;
  align-content: center;  /* centers the whole grid block vertically */
  align-items: stretch;   /* equal card heights */
  grid-auto-rows: 1fr;
}
@media (min-width: 900px){
  .why-grid, .pricing-grid{ grid-template-columns: repeat(2, 1fr); }
}

.visually-hidden{ position: absolute; left: -9999px; width: 1px; height: 1px;

  }

h1{
  font-family: var(--font-h1);

  color: var(--clr-primary-light);
  letter-spacing: 0.1rem;
  font-size: 1.5rem;
  text-align: center;
  margin: 0 0 var(--space-7);
}

h2:not(.section-heading){
  font-size: .8rem;
  text-transform: uppercase;
  margin-bottom: var(--space-3);
  text-align: left;
}

h2.section-heading{
  font-family: var(--font-heading);
  letter-spacing: var(--ls-uc);
  text-transform: uppercase;
  text-align: center;
  font-size: 2.1rem;
    margin-bottom: var(--space-10);
  color: var(--clr-primary-light);
}


h3{
  font-family: var(--font-heading);
  letter-spacing: var(--ls-uc);
  text-transform: uppercase;
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: var(--space-10);
  color: var(--clr-primary-light);
}

p{
  font-family: var(--font-sans);
  letter-spacing: var(--ls-uc);
  text-align: left;
font-weight: 300;
  font-size: 0.9rem;
  color: var(--clr-primary-light);
}




/* Material Symbols baseline (unchanged) */
.material-symbols-outlined{ font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 20; }



.why-grid, .pricing-grid, .features-grid { padding-inline: 0; }

.visually-hidden{position:absolute;left:-9999px;width:1px;height:1px;

}







/* Old .btn … */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.25rem;
  padding:1.25rem 1.7rem;
  font-family: var(--font-heading);
  font-size:1.4rem; letter-spacing: var(--ls-uc); text-transform: uppercase;
  color: var(--clr-nav-text);
  border: none; border-radius: var(--radius);
  background: var(--clr-primary);
  box-shadow: 0 12px 60px var(--shadow-35);            /* same as cards */
  backdrop-filter: blur(16px) saturate(120%);          /* optional: match intensity */
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover{
  transform: scale(1.03);
  box-shadow: 0 16px 80px var(--shadow-35);            /* slightly stronger on hover */
}


.site-header{position:fixed;top:0;left:0;width:100%;background-color:rgba(34,34,34,.8);box-shadow:0 2px 6px rgba(0, 0, 0, 0.06);z-index:100;padding:0 var(--gutter-header)}

.nav-bar{display:flex;align-items:center;justify-content:space-between;height:var(--header-height)}
.logo img{height:36px;width:auto}
.main-nav{display:flex;align-items:center}
.main-nav a{margin-inline:1rem;font-family:var(--font-heading);font-size:.8rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:var(--clr-nav-text);transition:color .2s}
.main-nav a:hover{color:var(--clr-primary-light)}
.hamburger{display:none;background:none;border:none;font-size:2rem;color:var(--clr-nav-text)}
@media(max-width:1024px){.main-nav{display:none}.hamburger{display:block}}
@media(min-width:1024px){.hamburger{display:none}}

.mobile-nav{position:fixed;top:var(--header-height);left:2rem;right:2rem;display:none;flex-direction:column;background-color:rgba(34,34,34,.5);backdrop-filter:blur(8px) saturate(160%);-webkit-backdrop-filter:blur(8px) saturate(160%);padding:1rem 2rem;gap:.5rem;z-index:90}
.mobile-nav:not([hidden]){display:flex}



.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}
.hero::before{content:"";position:absolute;inset:0;
 background: var(--clr-bg-body);
  
  z-index:-1}


.hero-inner{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2rem;
  min-height:80vh;
  max-width: var(--max-width);
  margin: 0 auto;
padding:0 var(--gutter-header) }

.hero-cta{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);  /* center vs hero box */
  width: max-content;                 /* shrink-wrap to button */
  z-index: 5;                         /* above video/overlay */
  pointer-events: auto;               /* ensure clickable */
  
}
/* Pillars: single row forever */
.hero__pillars{
  margin-top: auto;
  display: flex;
  flex-wrap: nowrap;                         /* NEVER wrap */
  gap: clamp(.5rem, 4vw, 4rem);              /* shrink gap as screen narrows */
  width: 100%;
  list-style: none;
  padding: 0;
  overflow: hidden;                           /* avoid horizontal scroll at extremes */
}

/* Cards: equal width, real shrink */
.hero__pillars li{
  flex: 1 1 0%;                               /* equal columns, allow shrink */
  min-width: 0;                               /* allow content to shrink */
  padding: clamp(.5rem, 1.2vw, 1rem);
  border-radius: var(--radius);
  background: var(--glass-50);
  backdrop-filter: blur(16px) saturate(100%);
  word-break: break-word;                     /* prevent overflow from long words */
  hyphens: auto;
}

/* Typography scales down smoothly while shrinking */
.hero__pillars h2{
  font-family: var(--font-heading);
  text-align: center;
  font-weight: 400;
  letter-spacing: var(--ls-uc);
  font-size: clamp(1rem, 1.6vw + .4rem, 2rem);
  line-height: 1.1;
  margin: 0 0 .35rem;
}

.hero__pillars p{
  font-family: var(--font-body);
  text-align: center;
  font-size: clamp(.7rem, .9vw + .45rem, .9rem);
  line-height: 1.35;
  margin: 0;
}


@media (max-width:900px){
  .hero__pillars{ flex-direction:column }
  .hero__pillars li{ flex:1 1 auto }
}


/* ===== Sections/containers: no separate backgrounds ===== */
.why,
.how-carousel,
.feature,
.pricing,
.cta-bar {
  background: transparent;
  color: var(--clr-primary-light);
  overflow: visible;
}

/* keep inner containers consistent */
.why,
.how-carousel,
.feature,
.pricing,
.cta-bar,
.faq{
  max-width: var(--max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter-content);
  padding-right: var(--gutter-content);
  padding-block: var(--section-pad-block);
}




/* 1 → 2 columns at 900px; equal widths */
.why-grid,

.pricing-grid{
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
}
@media (min-width: 900px){
  .why-grid,

  .pricing-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

.features-grid{
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.feature-row{
  display: grid;
  grid-template-columns: 1fr;               /* mobile: stack */
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: center;
}

@media (max-width: 899px){
  .feature-row .feature-media img{
    max-width: 420px;   /* ← set your mobile max width here */
    margin-inline: auto;
  }
}
.feature-row .feature-media{
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  padding: 0;
}

.feature-row .feature-media img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;   /* keeps proportions, no crop */
  background: transparent;
}



/* Features layout: rows stack on mobile, split on desktop */
.features-grid{
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

/* one row = media + card */
.feature-row{
  display: grid;
  grid-template-columns: 1fr;               /* mobile: stack */
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: center;
}

/* desktop: media left, card right */
@media (min-width: 900px){
  .feature-row{
    grid-template-columns: minmax(320px, 1fr) minmax(0, 1.2fr);
  }
}

.feature-row .feature-media{
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  padding: 0;
}
.feature-row .feature-media img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;   /* no crop; preserves PNG transparency */
  background: transparent;
}

/* card: text only */
.feature-card{
  position: relative;
  border-radius: 16px;
  background: var(--glass-70);
  box-shadow: 0 12px 60px var(--shadow-35);
  color: var(--clr-primary-light);
  padding: clamp(1rem, 1.8vw, 1.5rem);
}

.feature-card h3{
  font-family: var(--font-heading);
  font-size: 1.4rem;
  letter-spacing: var(--ls-uc);
  text-transform: uppercase;
  margin: 0 0 var(--space-3);
  line-height: 1.15;
  color: inherit;
  text-align: left;
}

/* safety: if a card ever renders without media */
.feature-card:only-child{ margin-top: 0; }



/* safety: if a card ever renders without media */
.feature-card:only-child{ margin-top: 0; }



.why-card,

.plan{
  position: relative;
  border-radius: 16px;
  background: var(--glass-70);      /* cards keep own bg */
  box-shadow: 0 12px 60px var(--shadow-35);
  color: var(--clr-primary-light);
  padding: var(--space-3) var(--space-4);
}




.why-card h3{
  font-family: var(--font-heading);
  font-size: 1.4rem;
  letter-spacing: var(--ls-uc);
  text-transform: uppercase;
  margin: 0 0 var(--space-3);
  line-height: 1.15;
  color: inherit;
  text-align: center;
}

.why-card p{
  font-family: var(--font-sans);
  font-size: .85rem;
  font-kerning: auto;
  line-height: 1.45;
  color: inherit;
  text-align: center;
}


.how-carousel{
  background: transparent;
  padding:0;
  position:relative;
 
}


.how-carousel .carousel{
  position: relative;
  width: 100%;                
  aspect-ratio: 16/9;
  border-radius: 16px;
  background: var(--clr-nav-bg);
  box-shadow: 0 12px 60px var(--shadow-35);
  margin: 0;                
  justify-self: stretch;   
   overflow:hidden;   
}


@media (max-width: 899px){
  .how-carousel{
    padding-left: var(--gutter-content) !important;
    padding-right: var(--gutter-content) !important;
    /* keep your existing padding-block from the shared rule */
  }

  /* keep the slide full-width INSIDE the padded container */
  .how-carousel .carousel{
    width: 100%;
    margin: 0;              /* no negative margins */
  }
}

.carousel-track{
  display:flex;
  width:100%;
  height:100%;
  transition:transform .7s cubic-bezier(.4,0,.2,1);
}


.slide{
  flex:0 0 100%;           
  height:100%;
  position:relative;
}

.slide img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.slide-caption{
  position:absolute;
  top:8%;
  left:6%;
  max-width:28rem;
  color:inherit;            
}

.slide-caption h3{
  font-family:var(--font-heading);
  text-align: left;
  font-size:2rem;
  font-weight:400;
  margin:0 0 .75rem;
}

.slide-caption p{
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.4;
  margin:0;
}

@media (max-width:640px){
  .slide-caption h3{font-size:1.4rem}
  .slide-caption p {font-size:.9rem}
}

.carousel-control{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:2.5rem;
  height:2.5rem;
  border:none;
  border-radius:50%;
  background:var(--clr-bg-body);
  color:var(--clr-primary-light);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
 z-index:5;
}
.carousel-control.prev{left:1.5rem}
.carousel-control.next{right:1.5rem}
.carousel-control[disabled]{opacity:.3;cursor:default;pointer-events:none}

.carousel-control .material-symbols-outlined{
  font-size:1.5rem !important;
  pointer-events:none;
  font-variation-settings:'FILL' 1,'wght' 500,'GRAD' 0,'opsz' 48;
}

.carousel-dots{
  position:absolute;
  left:50%;
  bottom:1.5rem;
  transform:translateX(-50%);
  display:flex;
  gap:.6rem;
}
.carousel-dots button{
  width:.65rem;
  height:.65rem;
  border-radius:50%;
  border:none;
  background: var(--clr-mid-dark);
  cursor:pointer;
}
.carousel-dots button:hover,
.carousel-dots button[aria-selected=\"true\"]{
  background: var(--clr-accent);
}





.pricing,
.cta-bar {
  background: transparent;
}
/* ===== Pricing: remove section bgs, keep accents only in text */
.plan-free,
.plan-price{
  font-family: 'BabelStoneModern', serif;
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  margin: 0 0 var(--space-2);
}
.plan-price .unit{
  font-size: .4em;
  color: var(--clr-accent);
  margin-left: .25em;
  vertical-align: baseline;
}
.plan-label{
  font-size: 1.25rem;
  opacity: .5;
  text-transform: uppercase;
  margin-bottom: .5rem;
  font-family: var(--font-heading);
}
.plan .note{
  font-size: .8rem;
  font-family: var(--font-body);
  opacity: .6;
  margin-top: var(--space-2);
}
.plan ul{
  list-style: none;
  margin: var(--space-2) 0 0 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  font-family: var(--font-body);
  font-size: .9rem;
  text-align: left;
  padding-inline: 2rem;
}



.plan--free,
.plan--pro{ background: transparent; }

.plan--free .plan-label {
  color: var(--clr-secondary-light); 
}

.plan--pro .plan-label {
  color: var(--clr-accent); 
}

.plan-label {
  font-size: 1.25rem;
  opacity: 0.5;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  font-family: var(--font-heading);
}

.plan h3 {
  font-family: var(--font-heading);
  font-size: 2rem;
  margin-bottom: 1rem;
}

.plan .note {
  font-size: 0.8rem;
  font-family: var(--font-body);
  opacity: 0.5;
  margin-top: 1rem;
}

.plan .conversion {
  font-family: 'BabelStoneModern', serif;
  font-size: 0.85rem;
  color: var(--clr-accent);
  text-align: left;
  margin-top: 0rem;
  padding-left: 2rem;
}

.conversion-note {
  font-family: 'BabelStoneModern', serif;
  font-size: 0.75rem;
  text-align: center;
  color: var(--clr-accent);
  margin-top: 5rem;
}


  .plan{
  border-radius:16px;
  box-shadow:0 12px 60px var(--shadow-35);

    padding:2rem;
    text-align:left;
    color:var(--clr-primary-light);
    transition:transform .12s ease,box-shadow .12s ease;}



/* ===== CTA bar: spacing only, no bg ===== */
.cta-bar{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  padding: 0 0 var(--space-10);
  text-align: center;
}
.cta-bar .cta-text{
  font-family: var(--font-heading);
  font-size: 1rem;
  letter-spacing: .05em;
}




  .plan h3 {
  font-family: 'BabelStoneModern', serif;
  font-size: 3rem;
  letter-spacing: 0.03em;
  font-weight: 400;
  margin: 0 0 1rem;
}  .plan .price{font-size:2.25rem;font-family:var(--font-display);letter-spacing:0.03em;margin:.75rem 0;}
  .plan ul{list-style:none;margin:1rem 0 0 0;display:flex;flex-direction:column;gap:.5rem;font-family:var(--font-body);font-size:0.9rem;text-align:left;padding-inline:2rem;}
  .plan li{display:flex;align-items:flex-start;gap:.35rem;line-height:2rem;}
  .plan li[disabled]{opacity:.4;}


  .plan--pro{position:relative;} 
  .plan--price:hover{transform:translateY(-4px) scale(1.02);} 


.faq details{
  background:var(--clr-nav-bg);
  border-radius:var(--radius);
  padding:1.25rem 1.25rem;
  margin-bottom:1rem
}

.faq summary{cursor:pointer;font-size:1rem;font-weight:300;list-style:none}
.faq p{font-size:.75rem;line-height:1.55;margin:var(--space-5) 0 0}

/* ===== FAQ: keep glass on item, unify spacing ===== */


.faq summary{
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 400;
  list-style: none;
}
.faq p{
  font-size: .9rem;
  line-height: 1.5;
  margin: var(--space-2) 0 0;
}


/* Remove the old generic footer rule and add these */

/* Background fill (same family as header), full-width bar */
.site-footer{
  position: relative;
  width: 100%;
  background: var(--clr-primary-dark); /* #1f1f1f */
  color: var(--clr-primary-light);
  box-shadow: 0 -2px 6px rgba(0,0,0,0.06);
}

/* Match header side gutters */
.site-footer .footer-inner{
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--gutter-header);
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* Left: © text uses Syne */
.footer-copy{
  margin: 0;
  font-family: var(--font-sans);
  font-size: .85rem;
  letter-spacing: 0.02em;
  color: var(--clr-primary-light);
}

/* Right: pills group */
.footer-actions{
  display: flex;
  gap: .75rem;
}

/* Pills (buttons): secondary-dark bg, BabelStoneModern */
.footer-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .45rem .9rem;
  border-radius: .35rem;
  background: var(--clr-inactivep-light); 
  color: var(--clr-primary-dark);
  font-family: 'BabelStoneModern', sans-serif;
  font-size: .8rem;
  letter-spacing: var(--ls-uc);
  text-transform: uppercase;
  line-height: 1;

  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.footer-pill:hover{
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 8px 24px var(--shadow-35);
}

/* Compact on small screens */
@media (max-width: 520px){
  .site-footer .footer-inner{ height: 56px; padding: 0 var(--gutter-content); }
  .footer-pill{ padding: .4rem .75rem; font-size: .72rem; }
}


.icon {
  width: 0.8em;   
  height: auto; 
  vertical-align: middle; 
}

.login-legal {
  font-size: 0.75rem;
  color: var(--clr-secondary-light);
  text-align: center;
  margin-top: 0.55rem;
  line-height: 1.5;
}
.login-legal a {
  color: var(--clr-primary);
  text-decoration: none;
}
.login-legal a:hover {
  color: var(--clr-primary-light);
  text-decoration: none;
}

