:root{
  --cream:#FBF7F2;
  --cream-deep:#F1EBE2;
  --text:#2E2A27;
  --muted:#6F6964;
  --green:#2F6F63;
  --coral:#E8613C;
  --coral-dark:#CE4E28;
  --button-text:#FBF3E6;
  --white:#FFFFFF;
  --radius:24px;
  --shadow:0 12px 40px rgba(46,42,39,.07);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Heebo",sans-serif;
  background:var(--cream);
  color:var(--text);
  line-height:1.7;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}
.narrow{width:min(760px,100%);margin-inline:auto}
.section{padding:100px 0}
.eyebrow{
  font-size:.84rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--green);
  margin:0 0 16px;
}
.eyebrow.light{color:#e7f0ec}
h1,h2,h3{line-height:1.12;margin:0 0 24px}
h1{font-size:clamp(4rem,10vw,8rem);font-weight:700;letter-spacing:-.05em}
h2{font-size:clamp(2.5rem,6vw,4.8rem);font-weight:600;letter-spacing:-.035em}
h3{font-size:1.65rem}
p{font-size:1.14rem;margin:0 0 20px;color:var(--muted)}

.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(251,247,242,.9);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(46,42,39,.06);
}
.nav-wrap{display:flex;align-items:center;gap:28px;min-height:74px}
.brand{font-weight:800;color:var(--green);font-size:1.2rem;margin-left:auto}
nav{display:flex;gap:24px;font-size:.95rem;color:var(--muted)}
nav a:hover{color:var(--green)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--coral);color:var(--button-text);
  border:none;border-radius:999px;padding:15px 28px;
  font-family:inherit;font-weight:700;font-size:1rem;cursor:pointer;
  transition:.2s transform,.2s background;
}
.btn:hover{background:var(--coral-dark);transform:translateY(-1px)}
.btn-small{padding:10px 18px;font-size:.9rem}

.hero{padding-top:70px}
.hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;
  min-height:75vh;
}
.hero-lead{font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.5;color:var(--text);max-width:650px}
.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:34px}
.text-link{color:var(--green);font-weight:600;border-bottom:1px solid currentColor}
.hero-image-wrap{min-height:580px}
.image-placeholder{
  height:100%;min-height:580px;border-radius:36px;
  background:
    radial-gradient(circle at 30% 20%,rgba(232,97,60,.22),transparent 30%),
    linear-gradient(145deg,#e8e0d6,#cfc7be);
  display:flex;align-items:end;padding:28px;
  overflow:hidden;box-shadow:var(--shadow);
  background-image:url("assets/tal.jpg"),linear-gradient(145deg,#e8e0d6,#cfc7be);
  background-size:cover;background-position:center;
}
.image-placeholder>div{
  background:rgba(251,247,242,.88);padding:16px 18px;border-radius:16px;
  display:flex;flex-direction:column;gap:4px;font-size:.9rem;
}
.image-placeholder span{color:var(--muted)}

.intro{background:var(--white)}
.body-copy p{font-size:1.2rem}
blockquote{
  margin:54px 0 0;padding:0;border:0;
  color:var(--coral);font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.35;font-weight:400;
}

.pathways{background:var(--cream-deep)}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:45px}
.card{
  background:rgba(255,255,255,.68);padding:34px;border-radius:var(--radius);
  min-height:285px;display:flex;flex-direction:column;box-shadow:var(--shadow)
}
.card .num{font-size:.85rem;color:var(--coral);font-weight:800;margin-bottom:45px}
.card p{flex:1}
.card a{font-weight:700;color:var(--green)}

.chart-section{background:var(--green);color:var(--button-text)}
.chart-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:start}
.chart-section h2,.chart-section p{color:var(--button-text)}
.chart-note{opacity:.82}
.chart-form{
  background:var(--cream);padding:30px;border-radius:var(--radius);
  display:grid;gap:18px;color:var(--text);box-shadow:0 20px 50px rgba(0,0,0,.12)
}
.chart-form label{font-weight:600;display:grid;gap:7px}
.chart-form input{
  width:100%;border:1px solid #ddd4ca;background:white;
  border-radius:14px;padding:14px 16px;font:inherit;color:var(--text)
}
.form-helper{font-size:.84rem!important;color:var(--muted)!important;margin:0}
.chart-result{margin-top:36px;background:#fff;padding:28px;border-radius:var(--radius);color:var(--text)}
.chart-result h3{color:var(--green)}
.chart-result p{color:var(--muted)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.visual-block{min-height:480px;border-radius:34px;background:linear-gradient(145deg,#e9ddd1,#d7c7bc);box-shadow:var(--shadow)}
.challenge{background:var(--cream)}
.quote-section{background:var(--cream-deep);text-align:center}
.big-quote{font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.12;color:var(--text);font-weight:500}
.big-quote em{color:var(--coral);font-style:normal}
.shoe{font-size:1.35rem}
.insync-line{color:var(--green);font-weight:700;margin-top:36px}

.content-block{background:#fff}
.reverse{direction:ltr}
.reverse>*{direction:rtl}
.text-panel,.soft-panel{padding:10px}
.soft-panel{background:var(--cream-deep);padding:36px;border-radius:var(--radius)}
.soft-panel ul{margin:0;padding-right:22px;color:var(--muted);font-size:1.08rem}

.session-section{background:var(--cream)}
.about{background:white}
.image-placeholder.small{min-height:480px;background-image:url("assets/neta.jpg"),linear-gradient(145deg,#e8e0d6,#cfc7be)}
.micro{font-size:.9rem}

.final-cta{background:var(--green);color:var(--button-text)}
.final-cta h2,.final-cta p{color:var(--button-text)}
.center{text-align:center}
.cta-stack{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:34px 0}
.light-btn{background:var(--button-text);color:var(--green)}
.light-btn:hover{background:#fff;color:var(--green)}
.footer-brand{opacity:.7;font-size:.9rem}

@media (max-width:900px){
  nav{display:none}
  .hero-grid,.chart-grid,.split{grid-template-columns:1fr}
  .hero-grid{gap:34px}
  .hero-image-wrap{min-height:440px}
  .image-placeholder{min-height:440px}
  .cards{grid-template-columns:1fr}
  .section{padding:76px 0}
  .reverse{direction:rtl}
}
@media (max-width:560px){
  .container{width:min(100% - 28px,1160px)}
  .site-header .btn-small{display:none}
  h1{font-size:4.2rem}
  .hero{padding-top:40px}
  .hero-grid{min-height:auto}
  .hero-image-wrap,.image-placeholder{min-height:360px}
  .section{padding:64px 0}
  .card{padding:26px;min-height:auto}
  .card .num{margin-bottom:28px}
  .cta-stack{flex-direction:column}
  .cta-stack .btn{width:100%}
}


.chart-loading{
  margin-top:28px;
  padding:22px;
  border-radius:18px;
  background:rgba(255,255,255,.12);
  color:var(--button-text);
  text-align:center;
}
.result-top{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:30px;
  align-items:start;
}
.chart-svg{
  background:#fff;
  border-radius:20px;
  padding:18px;
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.chart-svg svg{width:100%;height:auto;max-height:700px}
.chart-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.fact{
  background:var(--cream);
  border-radius:16px;
  padding:16px;
}
.fact span{
  display:block;
  font-size:.78rem;
  color:var(--muted);
  margin-bottom:4px;
}
.fact strong{
  color:var(--text);
  font-size:1.05rem;
}
.centers-list{
  margin-top:16px;
  color:var(--muted);
  font-size:.95rem;
}
.error-box{
  background:#fff1ec;
  color:#8b2f16;
  border:1px solid #f0b39e;
  border-radius:16px;
  padding:18px;
}
@media (max-width:800px){
  .result-top{grid-template-columns:1fr}
  .chart-facts{grid-template-columns:1fr}
}


/* Real site imagery */
.hero-photo{
  width:100%;
  height:100%;
  min-height:580px;
  object-fit:cover;
  object-position:center;
  border-radius:36px;
  box-shadow:var(--shadow);
}
.challenge-art{
  min-height:480px;
  border-radius:34px;
  overflow:hidden;
  background:var(--cream-deep);
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  justify-content:center;
}
.challenge-art img{
  width:100%;
  height:100%;
  min-height:480px;
  object-fit:cover;
}
.about-img{
  width:100%;
  min-height:480px;
  max-height:620px;
  object-fit:cover;
  object-position:center 35%;
  border-radius:34px;
  box-shadow:var(--shadow);
}
@media (max-width:900px){
  .hero-photo{min-height:440px}
}
@media (max-width:560px){
  .hero-photo{min-height:360px;border-radius:26px}
  .challenge-art,.challenge-art img{min-height:360px}
  .about-img{min-height:420px}
}

.hero-photo{
  object-fit:contain !important;
  background:#FBF7F2;
}
.challenge-art img{
  object-position:center;
}
.personal-map-text{
  margin-top:22px;
  padding:22px;
  background:var(--cream);
  border-radius:18px;
}
.personal-map-text.subtle{
  background:#f7f2ec;
}
.personal-map-text h4{
  margin:4px 0 10px;
  color:var(--green);
  font-size:1.35rem;
  line-height:1.3;
}
.personal-map-text p{
  margin:0;
}
.map-kicker{
  display:block;
  font-size:.8rem;
  font-weight:700;
  color:var(--coral);
  letter-spacing:.03em;
}
.map-next{
  margin-top:26px;
}

.type-summary{
  margin-top:24px;
  border-radius:20px;
  padding:22px;
  background:var(--cream);
}
.type-pill-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.type-pill{
  background:white;
  border-radius:14px;
  padding:14px;
}
.type-pill span{
  display:block;
  font-size:.78rem;
  color:var(--muted);
  margin-bottom:5px;
}
.type-pill strong{
  color:var(--text);
  font-size:1rem;
}
.type-cta{
  margin:20px 0 0;
  font-size:1.02rem;
  color:var(--text);
}
.accent-coral{border-top:5px solid #E8613C}
.accent-petrol{border-top:5px solid #2F6F63}
.accent-mint{border-top:5px solid #A8D4C0}
.accent-peach{border-top:5px solid #F5C8B0}
.accent-petrol-dark{border-top:5px solid #24554c}
.map-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}
.secondary-btn{
  background:transparent;
  color:var(--green);
  border:1px solid var(--green);
}
.secondary-btn:hover{
  background:var(--cream-deep);
  color:var(--green);
}
@media (max-width:650px){
  .type-pill-row{grid-template-columns:1fr}
  .map-actions{flex-direction:column}
  .map-actions .btn{width:100%}
}

.type-hero-page{
  background:var(--cream);
  min-height:100vh;
}
.type-page-title{
  font-size:clamp(3.8rem,9vw,7rem);
  color:var(--green);
  margin-bottom:14px;
}
.type-page-subtitle{
  font-size:clamp(1.4rem,3vw,2.1rem);
  color:var(--text);
  margin-bottom:36px;
}
.type-prose{
  margin-top:36px;
}
.type-prose .lead{
  font-size:1.35rem;
  color:var(--text);
  font-weight:500;
}
.type-prose p{
  font-size:1.14rem;
}
.type-page-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:40px;
}
@media (max-width:650px){
  .type-page-actions{flex-direction:column}
  .type-page-actions .btn{width:100%}
}

/* v9 image cleanup */
.hero-photo{
  object-fit:contain !important;
  object-position:center !important;
  background:#FBF7F2;
}
.challenge-art,
.visual-block{
  display:none !important;
}

.type-section-title{
  font-size:clamp(1.65rem,3.2vw,2.35rem);
  color:var(--green);
  margin-top:42px;
  margin-bottom:12px;
  letter-spacing:-.02em;
}
.take-with-you{
  margin-top:42px;
  padding:26px;
  border-radius:20px;
  background:var(--cream-deep);
}
.take-with-you span{
  display:block;
  color:var(--coral);
  font-weight:700;
  font-size:.85rem;
  margin-bottom:8px;
}
.take-with-you strong{
  display:block;
  color:var(--text);
  font-size:1.35rem;
  line-height:1.5;
}
.type-closing{
  margin-top:42px;
  font-size:1.18rem;
  color:var(--text);
}
