
:root{
  --bg:#f6f2ea;
  --text:#1e1e1e;
  --muted:#706b63;
  --line:#ddd4c7;
  --brand:#3a3028;
  --brand-2:#8e836f;
  --accent:#a1252b;
  --card:#ffffff;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  color:var(--text);
  background:linear-gradient(180deg,#fbf8f2 0%, #f1ece3 100%);
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.site-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:20;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 28px;
  background:rgba(248,244,237,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(100,84,69,.12);
}
.brand-logo{height:42px;width:auto}
.site-nav{display:flex;gap:22px;flex-wrap:wrap}
.site-nav a{
  font-family:Arial, Helvetica, sans-serif;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#4e443a;
}

.hero{
  position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.hero-media,.hero-video,.hero-fallback,.hero-overlay{position:absolute; inset:0}
.hero-video,.hero-fallback{width:100%; height:100%; object-fit:cover}
.hero-fallback{z-index:0}
.hero-video{z-index:1; background:#000}
.hero-overlay{
  z-index:2;
  background:
    linear-gradient(180deg, rgba(26,19,14,.28) 0%, rgba(26,19,14,.36) 100%),
    radial-gradient(circle at 70% 35%, rgba(161,37,43,.18) 0%, rgba(0,0,0,0) 45%);
}
.hero-content{position:relative; z-index:3; color:#fff; text-align:center}
.hero-content-refined{
  width:min(640px, calc(100% - 34px));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin-top:-78px;
}
.hero h1{
  margin:.05rem 0 .22rem;
  font-size:clamp(3rem,5.2vw,4.7rem);
  line-height:.96;
  font-weight:400;
  text-shadow:0 4px 20px rgba(0,0,0,.20);
}
.hero-subtitle-top{
  margin:8px 0 18px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  opacity:.94;
}
.hero-quote{
  margin:0;
  max-width:520px;
  font-size:clamp(1.05rem,1.65vw,1.3rem);
  line-height:1.45;
  padding:16px 18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  backdrop-filter:blur(6px);
  box-shadow:var(--shadow);
}
.hero-quote span{
  display:block;
  margin-top:12px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.95;
}
.hero-spacer{height:54px}
.hero-actions{display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:2px}
.button{
  display:inline-block;
  padding:13px 21px;
  border-radius:999px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:14px;
  letter-spacing:.04em;
  transition:transform .18s ease, opacity .18s ease, background .18s ease;
}
.button:hover{transform:translateY(-1px)}
.button-primary{background:#fff;color:#2e241d}

main,.page-main{padding:52px 24px 24px}
.compact-section,.contact-section,.pricing-hero,.pricing-summary-cards,.pricing-matrix-wrap,.pricing-notes{
  max-width:1180px;
  margin:0 auto 28px;
}
.compact-section-narrow{max-width:980px}
.section-head{
  max-width:820px;
  margin:0 auto 28px;
  text-align:center;
}
.section-head h2{
  margin:.4rem 0 .65rem;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.08;
  font-weight:400;
  color:#2f261f;
}
.section-kicker{
  font-family:Arial, Helvetica, sans-serif;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.92;
}
.section-text{color:var(--muted); font-size:1.05rem; line-height:1.65}

.grid{display:grid; gap:22px}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{
  background:rgba(255,255,255,.82);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:var(--shadow);
}
.card h3{margin-top:0; color:#312720; font-weight:400}
.card p{color:var(--muted); line-height:1.7}

.middle-feature-grid{
  max-width:1180px;
  margin:0 auto 30px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}
.feature-panel{
  position:relative;
  min-height:450px;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
  background:#000;
}
.feature-panel img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.feature-panel::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.58) 100%);
}
.feature-panel-light::after{
  background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.40) 100%);
}
.feature-panel-copy{
  position:absolute;
  left:0; right:0; bottom:0;
  z-index:2;
  padding:28px 24px;
}
.feature-panel-dark .feature-panel-copy{color:#fff}
.feature-panel-light .feature-panel-copy{color:#173247}
.feature-kicker{
  margin:0 0 8px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.92;
}
.feature-panel-copy h3{
  margin:0 0 10px;
  font-size:1.6rem;
  line-height:1.12;
  font-weight:400;
}
.feature-panel-copy p{
  margin:0;
  line-height:1.62;
}

.locked-banners{
  max-width:1180px;
  margin:0 auto 26px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.locked-banner{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
}
.locked-banner img{
  width:100%;
  height:100%;
  min-height:250px;
  max-height:320px;
  object-fit:cover;
}

.contact-section{
  background:rgba(255,255,255,.75);
  border:1px solid var(--line);
  border-radius:28px;
  padding:34px 24px;
  box-shadow:var(--shadow);
}
.contact-form{max-width:980px; margin:0 auto}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
label{display:flex; flex-direction:column; gap:8px}
label span{
  font-family:Arial, Helvetica, sans-serif;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#5a5146;
}
input,textarea{
  width:100%;
  border:1px solid #ccbfae;
  border-radius:14px;
  padding:14px 16px;
  background:#fff;
  font:inherit;
  color:#222;
}
textarea{resize:vertical}
label.full{grid-column:1 / -1}
.captcha-field{max-width:280px}
.form-actions{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:18px;
}
.form-error{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  font-size:14px;
  color:#9f1f2d;
  min-height:18px;
}
.honeypot{display:none !important}

.pricing-hero{
  padding-top:104px;
  text-align:center;
}
.pricing-hero h1{
  margin:.45rem 0 .5rem;
  font-size:clamp(2.2rem,4vw,4rem);
  font-weight:400;
}
.pricing-hero p{color:var(--muted)}

.pricing-summary-cards{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:18px;
}
.summary-card{
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:22px;
  padding:22px;
  box-shadow:var(--shadow);
}
.summary-card h2{
  margin:0 0 8px;
  font-size:1.3rem;
  font-weight:400;
}
.summary-price{
  margin:0 0 10px;
  font-size:1.8rem;
  color:#233b59;
}
.summary-card p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

.pricing-matrix-wrap{max-width:1280px}
.pricing-matrix{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}
.pm-row{
  display:grid;
  grid-template-columns:3.6fr repeat(5, 1fr);
}
.pm-row > div{
  padding:14px 14px;
  border-bottom:1px solid #dfd5c8;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.35;
}
.pm-row > div:not(:first-child){border-left:1px solid #dfd5c8}
.pm-feature{
  justify-content:flex-start !important;
  text-align:left !important;
  background:#fbf8f3;
}
.pm-head > div{
  background:#a9bfdb;
  color:#141414;
  font-family:Arial, Helvetica, sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:13px;
  font-weight:700;
}
.pm-head .pm-feature{background:#f4efe7}
.pm-row.section-break .pm-feature{
  font-weight:700;
  background:#f3ebdf;
}
.pm-total > div{
  background:#d6e4f3;
  font-weight:700;
}

.pricing-notes{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:24px;
}
.pricing-notes h2{
  margin-top:0;
  font-weight:400;
}
.pricing-notes p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.65;
}
.pricing-notes p:last-child{margin-bottom:0}

.site-footer{
  text-align:center;
  padding:28px 20px 40px;
  color:#655a4f;
  font-family:Arial, Helvetica, sans-serif;
  font-size:13px;
}

@media (max-width: 1180px){
  .pricing-summary-cards{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (max-width: 1100px){
  .middle-feature-grid{grid-template-columns:1fr}
}
@media (max-width: 900px){
  .grid.three,.locked-banners,.form-grid{
    grid-template-columns:1fr;
  }
  .site-header{
    padding:16px 18px;
    gap:12px;
    flex-direction:column;
  }
  .hero-content-refined{
    margin-top:-10px;
    width:min(620px, calc(100% - 28px));
  }
  .captcha-field{max-width:none}
}
@media (max-width: 800px){
  .pricing-summary-cards{grid-template-columns:1fr}
  .pricing-matrix{overflow:auto}
  .pm-row{min-width:1040px}
}
@media (max-width: 640px){
  .hero-content-refined{margin-top:10px}
  .hero-quote{
    max-width:100%;
    font-size:1.02rem;
    padding:15px 14px;
  }
  .hero h1{font-size:clamp(2.5rem,10vw,3.4rem)}
  .hero-spacer{height:34px}
}


/* v10 locked adjustments */
.hero-content-refined{
  margin-top:-22px;
}
.hero-quote{
  margin-top:46px;
}
.hero-spacer{
  height:62px;
}
.hero-subtitle-top{
  margin:58px 0 22px;
}
.section-head-spaced{
  padding-top:8px;
}
.locked-banners .locked-banner:first-child img,
.locked-banners .locked-banner:last-child img{
  object-position:center center;
}

@media (max-width: 900px){
  .hero-content-refined{
    margin-top:8px;
  }
  .hero-quote{
    margin-top:22px;
  }
  .hero-subtitle-top{
    margin:42px 0 20px;
  }
}


/* v11 hero and panel refinements */
.hero-content-refined{
  width:min(760px, calc(100% - 34px));
  margin-top:18px;
  justify-content:center;
}
.hero-quote{
  margin-top:92px;
  margin-bottom:34px;
  max-width:560px;
}
.hero h1{
  font-size:clamp(2.8rem,5vw,4.5rem);
  line-height:1;
  margin:0 0 30px;
  white-space:nowrap;
}
.hero-actions-single{
  margin-top:0;
  margin-bottom:34px;
}
.hero-subtitle-top{
  margin:0;
  font-size:13px;
  letter-spacing:.24em;
}

.content-panels{
  max-width:1180px;
  margin:0 auto 30px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}
.content-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.content-panel img{
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
}
.content-panel-copy{
  padding:22px 22px 24px;
}
.content-kicker{
  margin:0 0 8px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#7a7065;
}
.content-panel-copy h3{
  margin:0 0 10px;
  font-size:1.45rem;
  line-height:1.15;
  font-weight:400;
}
.content-panel-copy p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.locked-banners-fit .locked-banner img{
  min-height:210px;
  max-height:260px;
  object-fit:contain;
  background:#fff;
  padding:8px;
}

@media (max-width: 1100px){
  .content-panels{
    grid-template-columns:1fr;
  }
}
@media (max-width: 900px){
  .hero-content-refined{
    width:min(680px, calc(100% - 28px));
    margin-top:24px;
  }
  .hero-quote{
    margin-top:56px;
  }
  .hero h1{
    white-space:normal;
    line-height:1.02;
  }
}
@media (max-width: 640px){
  .hero-quote{
    margin-top:36px;
    margin-bottom:24px;
  }
  .hero h1{
    font-size:clamp(2.2rem,9vw,3.2rem);
    white-space:normal;
    margin-bottom:22px;
  }
  .hero-actions-single{
    margin-bottom:26px;
  }
}


/* v12 hero/nav/panel refinements */
.hero h1{
  font-size:13px;
  letter-spacing:.24em;
  text-transform:none;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:500;
  white-space:normal;
  margin:0 0 22px;
}
.hero-subtitle-top{
  font-size:13px;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-family:Arial, Helvetica, sans-serif;
  margin:0;
}
.hero-quote{
  margin-top:84px;
  margin-bottom:26px;
}
.hero-actions-single{
  margin-bottom:22px;
}
.content-panels.compact-panels{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-bottom:24px;
}
.compact-panel{
  min-height:auto;
}
.compact-panel .content-panel-copy{
  padding:18px 18px 20px;
}
.compact-panel .content-kicker{
  font-size:11px;
  letter-spacing:.14em;
}
.compact-panel .content-panel-copy h3{
  font-size:1.12rem;
  line-height:1.2;
  margin:0 0 8px;
}
.compact-panel .content-panel-copy p{
  font-size:.95rem;
  line-height:1.55;
}
.compact-panel img{
  display:none;
}

@media (max-width: 1100px){
  .content-panels.compact-panels{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .hero h1,
  .hero-subtitle-top{
    font-size:12px;
    letter-spacing:.18em;
  }
}


/* v13 4-image block + SEO-safe layout polish */
.locked-banners-fit{
  grid-template-columns:1fr 1fr;
}
.locked-banners-fit .locked-banner img{
  min-height:210px;
  max-height:260px;
  object-fit:contain;
  background:#fff;
  padding:8px;
}
@media (max-width: 900px){
  .locked-banners-fit{
    grid-template-columns:1fr;
  }
}


/* v14 careers */
.careers-page{
  max-width:1280px;
  margin:0 auto;
}
.careers-hero{
  max-width:900px;
}
.careers-intro{
  max-width:980px;
  margin:0 auto 24px;
}
.careers-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  max-width:1180px;
  margin:0 auto 28px;
}
.career-card{
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:22px;
  padding:24px;
  box-shadow:var(--shadow);
}
.career-card h2{
  margin:.3rem 0 .7rem;
  font-size:1.45rem;
  font-weight:400;
}
.career-card p{
  color:var(--muted);
  line-height:1.6;
}
.career-link{
  display:inline-block;
  margin-top:10px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#233b59;
}
.career-meta{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7a7065;
}
.careers-listings{
  max-width:1180px;
  margin:0 auto 40px;
}
.job-posting{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:28px;
  margin-bottom:22px;
}
.job-header h2{
  margin:.35rem 0 .65rem;
  font-weight:400;
  font-size:2rem;
}
.job-summary{
  color:#5f574d;
  font-size:1.05rem;
  line-height:1.7;
}
.job-apply-note{
  font-family:Arial, Helvetica, sans-serif;
  font-size:14px;
  color:#5f574d;
}
.job-description p, .job-description li{
  color:#4f473e;
  line-height:1.75;
  font-size:1rem;
}
.job-description h2{
  margin-top:1.4rem;
  font-size:1.4rem;
  font-weight:400;
}
@media (max-width: 900px){
  .careers-grid{
    grid-template-columns:1fr;
  }
}


/* v15 refinements */
.hero-content-refined{width:min(920px, calc(100% - 34px));margin-top:0;}
.hero-quote{max-width:670px;margin-top:56px;margin-bottom:0;}
.hero-lower{margin-top:120px;display:flex;flex-direction:column;align-items:center;}
.hero h1{font-size:11px;letter-spacing:.22em;font-family:Arial, Helvetica, sans-serif;font-weight:600;margin:0 0 16px;white-space:normal;}
.hero-actions-single{margin-bottom:16px;}
.hero-subtitle-top{font-size:11px;letter-spacing:.22em;margin:0;}
.content-panels.compact-panels{grid-template-columns:repeat(3, minmax(0, 1fr));gap:16px;}
.compact-panel .content-panel-copy{padding:16px 16px 17px;}
.compact-panel .content-panel-copy h3{font-size:.92rem;line-height:1.25;margin:0 0 7px;font-family:Arial, Helvetica, sans-serif;letter-spacing:.02em;font-weight:700;text-transform:none;}
.compact-panel .content-panel-copy p{font-size:.78rem;line-height:1.45;margin:0;font-family:Arial, Helvetica, sans-serif;}
.locked-banners-fit{grid-template-columns:1fr 1fr;}
.locked-banners-fit .locked-banner img{min-height:190px;max-height:235px;object-fit:contain;background:#fff;padding:8px;}
.career-form input[type="file"]{padding:12px 14px;}
@media (max-width:1100px){.content-panels.compact-panels{grid-template-columns:1fr;}}
@media (max-width:900px){
  .hero-content-refined{width:min(760px, calc(100% - 28px));}
  .hero-quote{max-width:620px;margin-top:38px;}
  .hero-lower{margin-top:78px;}
}
@media (max-width:640px){
  .hero-quote{max-width:100%;}
  .hero-lower{margin-top:54px;}
  .hero h1,.hero-subtitle-top{font-size:10px;letter-spacing:.16em;}
  .locked-banners-fit{grid-template-columns:1fr;}
}


.hero-bottom{
  position:absolute;
  bottom:40px;
  width:100%;
}

.hero-title-below{
  text-align:center;
  padding:40px 20px 10px;
}
.hero-title-below h1{
  font-size:18px;
  letter-spacing:.2em;
}


/* v17 careers form refinement */
.field-note{
  display:block;
  margin-top:6px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:12px;
  line-height:1.45;
  color:#7a7065;
}

/* v17 subtle hero polish */
.hero-quote{
  box-shadow:0 14px 38px rgba(0,0,0,.12);
}
.hero-bottom{
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.18) 100%);
  padding-bottom:14px;
}
.hero-title-below h1{
  max-width:1000px;
  margin:0 auto;
  line-height:1.45;
}
@media (max-width: 640px){
  .hero-title-below h1{
    font-size:15px;
    letter-spacing:.12em;
  }
}


/* v19 hero refinement */
.hero-title-below h1{
  font-size:20px;
  letter-spacing:.18em;
  line-height:1.6;
  font-weight:500;
}

.v19-bottom{
  bottom:30px;
  text-align:center;
}

.v19-bottom .button{
  margin-bottom:10px;
}

.hero-subtitle-top{
  font-size:10px;
  opacity:0.85;
}

/* improve mobile */
@media (max-width:640px){
  .hero-title-below h1{
    font-size:15px;
    letter-spacing:.12em;
    line-height:1.5;
  }
}


/* v20 deeper hero positioning */
.v20-bottom{
  position:absolute;
  bottom:10px;
  width:100%;
  text-align:center;
}

.v20-bottom .button{
  margin-bottom:6px;
}

.hero-subtitle-top{
  margin-top:4px;
}


/* v21 premium refinements */

/* serif quote */
.v21-quote{
  font-family: Georgia, "Times New Roman", serif;
  animation: quoteBreath 12s ease-in-out infinite;
}

/* breathing effect */
@keyframes quoteBreath{
  0% { transform: scale(1); opacity: 0.95; }
  50% { transform: scale(1.01); opacity: 1; }
  100% { transform: scale(1); opacity: 0.95; }
}

/* delayed CTA */
.v21-cta{
  opacity: 0;
  animation: fadeInCTA 2s ease forwards;
  animation-delay: 2.5s;
}

@keyframes fadeInCTA{
  to { opacity: 1; }
}

/* vignette effect */
.hero-overlay{
  background: radial-gradient(ellipse at center, rgba(0,0,0,0) 50%, rgba(0,0,0,0.35) 100%);
}

/* scroll fade-ins */
.content-panel,
.locked-banner{
  opacity: 0;
  transform: translateY(20px);
  transition: all 1.2s ease;
}

.content-panel.visible,
.locked-banner.visible{
  opacity: 1;
  transform: translateY(0);
}


/* v22 adjustments */
.site-nav a{
  font-size:7px !important;
}
.brand-logo{
  height:32px !important;
  width:auto;
}
.site-footer{
  text-align:right !important;
  padding-right:24px !important;
}

/* hero video better on laptop, preserve iPhone */
.hero-video,
.hero-fallback{
  object-fit:cover;
}
@media (min-width: 1024px){
  .hero-video,
  .hero-fallback{
    object-fit:contain !important;
    background:#000;
  }
}

/* push CTA + subtitle much lower */
.hero-bottom,
.v20-bottom,
.v19-bottom{
  bottom:0 !important;
  padding-bottom:4px !important;
}
.hero-actions-single{
  margin-bottom:6px !important;
}
.hero-subtitle-top{
  margin-top:2px !important;
  margin-bottom:0 !important;
}


/* v23 fixes */
.site-header{
  padding-top:8px !important;
  padding-bottom:8px !important;
  min-height:auto !important;
}
.site-nav a{
  font-size:11px !important;
}
.brand-logo{
  height:28px !important;
}

/* revert hero framing closer to v21 with only mild desktop change */
.hero-video,
.hero-fallback{
  object-fit:cover !important;
  background:transparent !important;
}
@media (min-width: 1024px){
  .hero-video,
  .hero-fallback{
    object-fit:cover !important;
    object-position:center center !important;
    transform:scale(0.96);
  }
}

/* push CTA/subtitle to very bottom of hero */
.hero-lower,
.hero-bottom,
.v19-bottom,
.v20-bottom{
  position:absolute !important;
  left:0;
  right:0;
  bottom:6px !important;
  width:100%;
  text-align:center;
  margin-top:0 !important;
  padding-bottom:0 !important;
}
.hero-actions-single{
  margin-bottom:4px !important;
}
.hero-subtitle-top{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* keep quote central and separate from lower CTA area */
.hero-content-refined{
  position:relative;
}
.hero-quote{
  margin-top:64px !important;
}

/* centered footer */
.site-footer{
  text-align:center !important;
  padding-right:0 !important;
}


/* v24 hero full bleed fix */
.hero,
.hero-media,
.hero-video{
  margin:0 !important;
  padding:0 !important;
  border:none !important;
}

/* ensure full width/height */
.hero{
  width:100vw;
  height:100vh;
  overflow:hidden;
}

/* remove any edge gaps */
body, html{
  margin:0;
  padding:0;
}

/* header subtitle placement */
.header-subtitle{
  position:absolute;
  left:120px;
  top:50%;
  transform:translateY(-50%);
  font-size:10px;
  letter-spacing:.2em;
  opacity:0.85;
  white-space:nowrap;
}

/* adjust header layout spacing */
.site-header{
  position:relative;
}

/* remove leftover hero bottom spacing */
.hero-lower{
  display:none !important;
}


/* v25 header alignment */
.brand-wrap{
  display:flex;
  align-items:center;
  gap:14px;
}

.header-subtitle{
  position:static !important;
  transform:none !important;
  font-size:11px !important;
  letter-spacing:.22em;
  font-family:Arial, Helvetica, sans-serif !important;
  opacity:0.9;
}

/* match nav font */
.site-nav a{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:11px !important;
}

/* FULL BLEED HERO FIX (force remove all shadows/borders) */
.hero,
.hero-media,
.hero-video,
.hero-overlay{
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
}

.hero{
  position:fixed;
  top:0;
  left:0;
  width:100vw;
  height:100vh;
  margin:0 !important;
  padding:0 !important;
  z-index:-1;
}

.hero-media{
  width:100%;
  height:100%;
}

.hero-video{
  width:100%;
  height:100%;
  object-fit:cover !important;
}

/* ensure body overlays hero cleanly */
body{
  background:#000;
}


/* v26 header + absolute bleed hero rebuild */

/* Header: one clean row */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:8px 18px !important;
  min-height:0 !important;
}

.header-left{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.header-subtitle{
  display:inline-block;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:11px !important;
  letter-spacing:.22em !important;
  line-height:1 !important;
  text-transform:none !important;
  color:inherit !important;
  white-space:nowrap;
  opacity:0.95;
  margin:0;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:18px;
}

.site-nav a{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:11px !important;
  letter-spacing:.22em !important;
  line-height:1 !important;
  text-transform:none !important;
}

/* Remove fixed hero method and use absolute wrapper bleed */
.hero.hero-bleed{
  position:relative !important;
  width:100vw !important;
  min-height:100vh !important;
  height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  z-index:1 !important;
  box-shadow:none !important;
  border:none !important;
  outline:none !important;
  background:#000 !important;
}

.hero.hero-bleed::before,
.hero.hero-bleed::after{
  content:none !important;
}

.hero-media{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  border:none !important;
  outline:none !important;
}

.hero-video,
.hero-fallback{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  transform:none !important;
  background:transparent !important;
}

.hero-overlay{
  position:absolute !important;
  inset:0 !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
}

/* Make sure no inherited wrapper is creating a border feel */
body, html{
  margin:0 !important;
  padding:0 !important;
  background:#000 !important;
  overflow-x:hidden !important;
}

main{
  position:relative;
  z-index:2;
  background:linear-gradient(180deg,#fbf8f2 0%, #f1ece3 100%);
}

/* Keep quote centered */
.hero-content-refined{
  position:relative !important;
  z-index:3 !important;
  width:min(920px, calc(100% - 34px)) !important;
  margin:0 auto !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

.hero-quote{
  max-width:670px !important;
  margin:0 auto !important;
}

/* Remove any hidden/lower hero leftovers completely */
.hero-lower,
.hero-bottom,
.v19-bottom,
.v20-bottom,
.v21-cta{
  display:none !important;
}

/* Slightly smaller logo retained */
.brand-logo{
  height:28px !important;
  width:auto !important;
}

@media (max-width: 900px){
  .site-header{
    gap:10px;
    padding:8px 12px !important;
    flex-wrap:wrap;
  }
  .header-left{
    gap:10px;
  }
  .header-subtitle,
  .site-nav a{
    font-size:10px !important;
    letter-spacing:.16em !important;
  }
  .site-nav{
    gap:12px;
  }
}

@media (max-width: 640px){
  .header-left{
    width:100%;
    justify-content:flex-start;
  }
  .site-nav{
    width:100%;
    justify-content:flex-end;
  }
}


/* v27 structural fixes */

/* Break hero out of any constrained parent/container */
.hero.hero-bleed{
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 100vh !important;
  height: 100vh !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Ensure hero media truly fills edge-to-edge */
.hero.hero-bleed .hero-media,
.hero.hero-bleed .hero-video,
.hero.hero-bleed .hero-fallback,
.hero.hero-bleed .hero-overlay{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.hero.hero-bleed .hero-video,
.hero.hero-bleed .hero-fallback{
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  background: transparent !important;
}

/* Remove page/container constraints that create inset look */
main{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body > *{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body, html{
  overflow-x: hidden !important;
}

/* Clean single-line header system */
.site-header{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.header-left{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.header-subtitle{
  position: static !important;
  display: inline-block !important;
  transform: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  text-transform: none !important;
  opacity: .95 !important;
}

.site-nav{
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

.site-nav a{
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  line-height: 1 !important;
  text-transform: none !important;
}

/* Keep quote centered without accidental inset */
.hero-content-refined{
  width: min(920px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
}

.hero-quote{
  margin: 0 auto !important;
}

@media (max-width: 900px){
  .site-header{
    padding: 8px 12px !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }
  .header-left{
    width: 100% !important;
    justify-content: flex-start !important;
  }
  .site-nav{
    width: 100% !important;
    justify-content: flex-end !important;
    gap: 12px !important;
  }
  .header-subtitle,
  .site-nav a{
    font-size: 10px !important;
    letter-spacing: .16em !important;
  }
}


/* v28 full-bleed hero hard reset */
html, body{
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
}

body{
  background:#000 !important;
}

/* keep header above hero */
.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:100 !important;
}

/* remove subtitle from header layout remnants */
.header-subtitle{
  display:none !important;
}

/* HERO: brute-force edge-to-edge */
.hero,
.hero.hero-bleed{
  position:relative !important;
  width:100vw !important;
  max-width:none !important;
  min-width:100vw !important;
  height:100vh !important;
  min-height:100vh !important;
  margin:0 !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;
  left:auto !important;
  right:auto !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:hidden !important;
  display:block !important;
  background:#000 !important;
}

.hero::before,
.hero::after,
.hero.hero-bleed::before,
.hero.hero-bleed::after{
  content:none !important;
  display:none !important;
}

.hero-media,
.hero-video,
.hero-fallback,
.hero-overlay{
  position:absolute !important;
  inset:0 !important;
  top:0 !important;
  left:0 !important;
  width:100vw !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

.hero-video,
.hero-fallback{
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
}

/* remove any container constraints around early page sections */
main,
.overview,
.compact-section,
.compact-section-narrow{
  max-width:none !important;
}

main{
  margin:0 !important;
  padding-top:0 !important;
}

/* quote stays centered */
.hero-content-refined{
  position:relative !important;
  z-index:3 !important;
  width:min(920px, calc(100vw - 48px)) !important;
  max-width:none !important;
  height:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

/* footer centered with subtitle */
.site-footer{
  text-align:center !important;
  padding:28px 20px 40px !important;
}


/* v29 FIX: revert to clean v21-style hero (remove over-aggressive bleed hacks) */

.hero,
.hero.hero-bleed{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  left:auto !important;
  right:auto !important;
}

/* critical: remove negative margin hacks causing side gaps */
.hero.hero-bleed{
  margin-left:0 !important;
  margin-right:0 !important;
}

/* ensure container is not shrinking hero */
body, html{
  margin:0 !important;
  padding:0 !important;
}

/* FIX actual issue: parent wrapper padding */
main{
  margin:0 !important;
  padding:0 !important;
}

/* ensure hero media fills exactly */
.hero-media{
  position:absolute;
  inset:0;
}

.hero-video,
.hero-fallback{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* remove any accidental background showing through */
.hero,
.hero-media,
.hero-video{
  background:#000;
}


/* v30: revert hero rendering closer to v21 and explicitly cancel later desktop scaling */
.hero,
.hero.hero-bleed{
  background: transparent !important;
}

.hero-media{
  position:absolute !important;
  inset:0 !important;
  overflow:hidden !important;
  width:100vw !important;
  height:100vh !important;
  max-width:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background: transparent !important;
}

.hero-video,
.hero-fallback{
  position:absolute !important;
  inset:0 !important;
  top:0 !important;
  left:0 !important;
  width:100vw !important;
  min-width:100vw !important;
  max-width:none !important;
  height:100vh !important;
  min-height:100vh !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;              /* cancels earlier scale(.96) */
  scale:1 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background:transparent !important;
  filter:none !important;
}

/* kill any desktop overrides from earlier revisions */
@media (min-width: 1024px){
  .hero-video,
  .hero-fallback{
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    scale:1 !important;
    background:transparent !important;
  }
}

/* make sure no parent wrapper introduces visible inset beside the hero */
.site-header + .hero,
body > .hero{
  display:block !important;
  width:100vw !important;
  max-width:none !important;
}

/* slight polish only, without changing layout */
.hero-quote{
  backdrop-filter: blur(8px);
}


/* v32 clean hero rebuild */
.hero{
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: 100vh !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: #000 !important;
  display: grid !important;
  place-items: center !important;
}

.hero-media{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.hero-video,
.hero-fallback{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: #000 !important;
}

.hero-overlay{
  position: absolute !important;
  inset: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.hero::before,
.hero::after,
.hero-media::before,
.hero-media::after,
.hero-video::before,
.hero-video::after{
  content: none !important;
  display: none !important;
}

.hero-content-refined{
  position: relative !important;
  z-index: 3 !important;
  width: min(920px, calc(100% - 40px)) !important;
  height: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.hero-quote{
  max-width: 670px !important;
  margin: 0 auto !important;
}

.hero-lower,
.hero-bottom,
.v19-bottom,
.v20-bottom,
.v21-cta,
.header-subtitle{
  display: none !important;
}
