:root{
  --site-navy:#102f46;
  --site-navy-deep:#092334;
  --site-teal:#1f7478;
  --site-teal-soft:#dcebea;
  --site-cream:#f5f2ea;
  --site-paper:#fbfaf6;
  --site-gold:#bd9860;
  --site-text:#172d38;
  --site-muted:#64737a;
  --site-line:rgba(16,47,70,.18);
}
body.home-active{background:var(--site-paper);color:var(--site-text)}
body.home-active>.shell{display:none}
body.quiz-active>.site-home,body.form-active>.site-home{display:none}
.site-home{min-height:100vh;background:var(--site-paper);font-family:"Avenir Next",Avenir,"Segoe UI",ui-sans-serif,system-ui,sans-serif;color:var(--site-text)}
.site-home *{box-sizing:border-box}
.site-home a{color:inherit}
.site-header{height:98px;padding:0 clamp(24px,5vw,72px);display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:30px;border-bottom:1px solid var(--site-line);background:rgba(251,250,246,.96);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}
.site-logo{display:flex;flex-direction:column;text-decoration:none;line-height:1;border-left:1px solid var(--site-navy);padding:5px 0 5px 15px}.logo-main{font-weight:900;font-size:1.28rem;letter-spacing:.08em;color:var(--site-navy)}.logo-sub{font-size:.56rem;font-weight:750;letter-spacing:.17em;margin-top:8px;color:var(--site-navy);white-space:nowrap}
.site-nav{display:flex;justify-content:center;gap:clamp(18px,2.8vw,46px)}.site-nav a{text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:1.03rem;position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--site-teal);transition:right .22s}.site-nav a:hover:after,.site-nav a:focus-visible:after{right:0}
.header-eval{border:0;background:transparent;color:var(--site-navy);font-weight:750;cursor:pointer;padding:13px 0}.header-eval span{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--site-navy);border-radius:50%;margin-left:9px}.menu-toggle{display:none;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;width:26px;height:1.5px;background:var(--site-navy);margin:6px}
.home-hero{min-height:770px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);grid-template-rows:1fr auto;position:relative;border-bottom:1px solid var(--site-line);overflow:hidden}.hero-copy{padding:clamp(80px,10vw,150px) clamp(32px,7vw,105px) 90px;align-self:center}.eyebrow,.section-kicker{display:block;font-size:.7rem;font-weight:850;letter-spacing:.19em;text-transform:uppercase;color:var(--site-teal);margin-bottom:25px}.home-hero h1,.home-section h2,.method-section h2,.program-section h2,.about-section h2,.final-cta h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em}.home-hero h1{font-size:clamp(3.1rem,6.1vw,6.4rem);line-height:.98;margin:0;color:var(--site-navy);max-width:900px;text-wrap:balance}.home-hero h1 em{font-weight:400;color:var(--site-teal)}.hero-lead{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.7;max-width:650px;color:var(--site-muted);margin:34px 0}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:15px 25px;border:1px solid transparent;border-radius:2px;text-decoration:none;font-weight:800;font-size:.93rem;cursor:pointer;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--site-navy);color:white!important}.text-action{font-weight:750;text-decoration:none;border-bottom:1px solid var(--site-navy);padding-bottom:5px}.text-action span{margin-left:8px}.hero-note{font-size:.8rem;letter-spacing:.04em;color:#7c888d;margin-top:20px}
.hero-visual{position:relative;background:var(--site-navy);display:grid;place-items:center;padding:50px 50px 105px}.hero-visual:before{content:"";position:absolute;inset:10% 7% 13%;border:1px solid rgba(255,255,255,.3)}.portrait-frame{height:min(610px,66vw);width:min(455px,76%);overflow:hidden;position:relative;z-index:1;box-shadow:0 30px 70px rgba(4,25,38,.3)}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:grayscale(1) contrast(1.03)}.portrait-signature{position:absolute;bottom:62px;right:7%;font-family:Georgia,"Times New Roman",serif;font-style:italic;color:white;font-size:1.15rem;z-index:2}.portrait-signature span{color:#9bc9c8}.hero-proof{position:absolute;right:0;bottom:0;width:min(50%,720px);min-height:112px;background:var(--site-teal);color:white;display:grid;grid-template-columns:repeat(3,1fr);padding:24px 34px;z-index:3}.hero-proof div{display:flex;flex-direction:column;justify-content:center;padding:0 20px;border-right:1px solid rgba(255,255,255,.38)}.hero-proof div:last-child{border:0}.hero-proof strong{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;font-weight:400}.hero-proof span{font-size:.76rem;color:#dceeed;margin-top:6px}
.home-section{padding:clamp(80px,10vw,145px) clamp(26px,6vw,90px)}.services-section{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(460px,1.25fr);gap:clamp(50px,9vw,145px)}.section-intro h2,.resource-heading h2{font-size:clamp(2.6rem,4.6vw,4.8rem);line-height:1.04;color:var(--site-navy);margin:0 0 28px}.section-intro p{color:var(--site-muted);font-size:1.05rem;line-height:1.75;max-width:520px}.underlined-link{display:inline-block;margin-top:25px;font-weight:800;text-underline-offset:6px}.service-list{border-top:1px solid var(--site-line)}.service-row{position:relative;padding:30px 64px 30px 0;border-bottom:1px solid var(--site-line);min-height:150px}.service-row h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,2.2vw,2.05rem);font-weight:400;color:var(--site-navy);margin:0 0 10px}.service-row p{color:var(--site-muted);margin:0;max-width:620px}.service-index{position:absolute;right:3px;top:31px;font-size:.7rem;color:var(--site-teal);font-weight:800}.service-row>a,.service-row>button{position:absolute;right:0;bottom:28px;width:38px;height:38px;border:1px solid var(--site-navy);border-radius:50%;background:transparent;display:grid;place-items:center;text-decoration:none;font-size:1.05rem;cursor:pointer;color:var(--site-navy)}.featured-row{background:linear-gradient(90deg,transparent,rgba(31,116,120,.06))}
.method-section{background:var(--site-navy);color:white;padding:clamp(80px,9vw,130px) clamp(26px,6vw,90px)}.method-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:42px}.section-kicker.light{color:#9bc9c8}.method-heading h2{font-size:clamp(2.8rem,5.3vw,5.4rem);line-height:1;margin:0;max-width:800px}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.method-steps article{padding:42px clamp(20px,4vw,54px) 12px 0;border-right:1px solid rgba(255,255,255,.18);margin-right:clamp(20px,4vw,54px)}.method-steps article:last-child{border:0;margin:0}.method-steps span{font-family:Georgia,"Times New Roman",serif;color:var(--site-gold);font-size:1.5rem}.method-steps h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.6rem;margin:22px 0 12px}.method-steps p{color:#c7d5db;line-height:1.7;margin:0}
.program-section{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(440px,1.2fr);min-height:720px;background:var(--site-teal-soft)}.program-number{display:grid;place-items:center;background:var(--site-teal);color:rgba(255,255,255,.9);font-family:Georgia,"Times New Roman",serif;font-size:clamp(11rem,25vw,27rem);line-height:.8;letter-spacing:-.1em;overflow:hidden}.program-copy{padding:clamp(70px,9vw,130px) clamp(30px,8vw,120px);align-self:center}.program-copy h2{font-size:clamp(3.4rem,6vw,6.4rem);line-height:.9;color:var(--site-navy);margin:0}.program-tagline{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;color:var(--site-teal);margin:25px 0}.program-copy>p:not(.program-tagline){line-height:1.75;color:#45606b}.program-copy ul{padding-left:20px;line-height:1.8;color:#3f5964;margin:22px 0 34px}.button-dark{background:var(--site-navy);color:white!important}
.resources-section{background:var(--site-paper)}.resource-heading{max-width:800px;margin-bottom:55px}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.resource-card{min-height:370px;padding:36px;border:1px solid var(--site-line);display:flex;flex-direction:column;background:white;transition:transform .2s,box-shadow .2s}.resource-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(16,47,70,.08)}.primary-resource{background:var(--site-navy);color:white}.resource-label{font-size:.68rem;letter-spacing:.16em;font-weight:850;color:var(--site-teal);margin-bottom:45px}.primary-resource .resource-label{color:#9bc9c8}.resource-card h3{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1.1;font-weight:400;margin:0 0 18px}.resource-card p{color:var(--site-muted);line-height:1.7;margin:0 0 30px}.primary-resource p{color:#cbd7dc}.resource-card a,.resource-card button{margin-top:auto;padding:0 0 8px;border:0;border-bottom:1px solid currentColor;background:transparent;text-align:left;text-decoration:none;font-weight:800;cursor:pointer;color:inherit;display:flex;justify-content:space-between}.resource-card a span,.resource-card button span{font-size:1.15rem}
.audience-section{background:#f0f3ed}.audience-heading{max-width:800px;margin:0 auto 52px;text-align:center}.audience-heading h2,.faq-intro h2{font-size:clamp(2.6rem,4.6vw,4.8rem);line-height:1.04;color:var(--site-navy);margin:0 0 24px}.audience-heading p,.faq-intro p{max-width:650px;margin:0 auto;color:var(--site-muted);font-size:1.05rem;line-height:1.75}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.audience-grid article{min-height:250px;padding:28px 23px;background:var(--site-paper);border:1px solid var(--site-line)}.audience-grid article>span{font-family:Georgia,"Times New Roman",serif;color:var(--site-teal);font-size:1.25rem}.audience-grid h3{font-family:Georgia,"Times New Roman",serif;font-size:1.4rem;font-weight:400;line-height:1.15;color:var(--site-navy);margin:26px 0 12px}.audience-grid p,.audience-note{color:var(--site-muted);line-height:1.65;font-size:.92rem}.audience-note{text-align:center;margin:25px 0 0;font-size:.84rem}.faq-section{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);gap:clamp(50px,9vw,130px);background:var(--site-cream)}.faq-intro h2{margin-bottom:22px}.faq-intro p{margin:0}.faq-list{border-top:1px solid var(--site-line)}.faq-list details{border-bottom:1px solid var(--site-line);padding:21px 0}.faq-list summary{cursor:pointer;list-style:none;position:relative;padding-right:36px;color:var(--site-navy);font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;line-height:1.35}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:4px;top:0;color:var(--site-teal);font-family:Arial,sans-serif;font-size:1.5rem}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:760px;margin:13px 34px 0 0;color:var(--site-muted);line-height:1.7}
.about-section{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--site-navy-deep);color:white;min-height:650px}.about-quote{padding:clamp(65px,10vw,145px) clamp(30px,7vw,100px);background:linear-gradient(145deg,var(--site-teal),#15565c);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,4vw,4.1rem);line-height:1.08;display:flex;align-items:center;position:relative}.about-quote span{position:absolute;top:45px;left:clamp(30px,7vw,100px);font-size:6rem;color:rgba(255,255,255,.2)}.about-copy{padding:clamp(70px,9vw,130px) clamp(34px,8vw,120px);align-self:center}.about-copy h2{font-size:clamp(3rem,5vw,5.2rem);line-height:1;margin:0 0 16px}.about-role{color:#9bc9c8;font-weight:700}.about-copy>p:not(.about-role){color:#c4d1d7;line-height:1.78}.button-light{margin-top:20px;background:var(--site-paper);color:var(--site-navy)!important}
.final-cta{text-align:center;padding:clamp(90px,11vw,160px) 24px;background:var(--site-cream)}.final-cta h2{font-size:clamp(2.7rem,5.4vw,5.4rem);line-height:1.03;color:var(--site-navy);margin:0 auto 28px;max-width:1120px}.final-cta>p{color:var(--site-muted);font-size:1.08rem;max-width:700px;margin:0 auto 35px}.final-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.button-outline{border-color:var(--site-navy);color:var(--site-navy)!important;background:transparent}
.site-footer{background:var(--site-navy);color:white;padding:65px clamp(26px,6vw,90px) 34px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:45px}.footer-brand{display:flex;flex-direction:column}.footer-brand strong{font-size:1.4rem;letter-spacing:.08em}.footer-brand span{font-size:.67rem;letter-spacing:.22em;color:#9bc9c8;margin-top:8px}.site-footer>div:not(.footer-brand){display:flex;flex-direction:column;gap:9px}.site-footer>div>span{font-size:.68rem;letter-spacing:.16em;color:#9bc9c8;margin-bottom:9px}.site-footer a{text-decoration:none;color:#e8eef0}.site-footer p{margin:0;color:#b8c6cc}.footer-note,.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:24px;font-size:.78rem;line-height:1.6}.copyright{border:0;padding:0;text-align:center}
.return-home{position:fixed;top:14px;left:16px;z-index:100;border:1px solid rgba(210,169,103,.38);border-radius:999px;background:rgba(8,29,22,.88);color:#f5efe3;padding:9px 14px;font-weight:750;cursor:pointer;backdrop-filter:blur(10px)}
body.home-active .return-home{display:none}
@media(max-width:1020px){.site-header{grid-template-columns:1fr auto auto}.site-nav{position:absolute;left:0;right:0;top:97px;background:var(--site-paper);border-bottom:1px solid var(--site-line);padding:22px 30px;display:none;flex-direction:column;gap:18px}.site-nav.open{display:flex}.menu-toggle{display:block}.home-hero{grid-template-columns:1fr 45%;min-height:700px}.hero-copy{padding-left:40px;padding-right:40px}.hero-proof{width:45%}.services-section{gap:50px}.resource-card{padding:28px}.audience-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.site-header{height:96px;padding:0 20px;grid-template-columns:1fr auto}.site-logo{padding-left:12px}.logo-main{font-size:1.2rem}.logo-sub{font-size:.5rem;letter-spacing:.14em}.header-eval{display:none}.site-nav{top:95px}.home-hero{display:flex;flex-direction:column;padding-top:52px}.hero-visual{order:1;margin:0 22px;padding:24px 24px 56px;border-radius:9px 9px 0 0}.portrait-frame{height:470px;width:100%}.portrait-signature{bottom:23px}.hero-proof{position:relative;order:2;width:auto;margin:0 22px 50px;min-height:118px;padding:22px 10px;border-radius:0 0 9px 9px;background:var(--site-navy)}.hero-proof div{padding:0 8px;text-align:center}.hero-proof strong{font-size:1.05rem}.hero-proof span{font-size:.7rem}.hero-copy{order:3;padding:0 22px 70px}.home-hero h1{font-size:3.25rem}.services-section,.faq-section{grid-template-columns:1fr;padding-left:22px;padding-right:22px}.service-row{padding-right:46px}.method-heading{display:block}.method-steps{grid-template-columns:1fr}.method-steps article{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);margin:0;padding:35px 0}.program-section{grid-template-columns:1fr}.program-number{min-height:330px;font-size:16rem}.program-copy{padding:65px 24px}.resource-grid,.audience-grid{grid-template-columns:1fr}.audience-grid article{min-height:0}.resource-card{min-height:310px}.about-section{grid-template-columns:1fr}.about-quote{min-height:420px}.site-footer{grid-template-columns:1fr;gap:32px}.footer-note,.copyright{grid-column:1}.return-home{top:9px;left:9px;font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.site-home *{scroll-behavior:auto!important;transition:none!important}}

/* Full-bleed portrait introduction */
.home-hero{display:block;min-height:min(900px,calc(100vh - 98px));height:790px;max-height:900px;border:0;background-image:linear-gradient(90deg,rgba(9,24,29,.82) 0%,rgba(9,24,29,.67) 44%,rgba(9,24,29,.22) 100%),linear-gradient(0deg,rgba(9,24,29,.78) 0%,transparent 34%),url("violina-hero.jpeg");background-position:center 34%;background-repeat:no-repeat;background-size:cover;color:white}
.hero-visual{display:none}
.hero-copy{position:relative;z-index:2;max-width:950px;padding:clamp(105px,13vh,155px) clamp(30px,8vw,120px) 180px;color:white}
.home-hero .eyebrow{color:#d4b36f}
.home-hero h1{max-width:820px;color:#fff;font-size:clamp(3.2rem,6vw,6.1rem);text-shadow:0 2px 24px rgba(0,0,0,.2)}
.home-hero h1 em{color:#d9bd7d}
.hero-lead{color:rgba(255,255,255,.91);max-width:680px}
.home-hero .button-primary{background:#f7f3e9;color:#17324d!important}
.home-hero .text-action{color:white;border-color:rgba(255,255,255,.75)}
.hero-note{color:rgba(255,255,255,.8)}
.hero-proof{left:0;right:0;bottom:0;width:100%;min-height:104px;padding:18px clamp(24px,8vw,120px);background:rgba(9,28,34,.62);backdrop-filter:blur(9px);border-top:1px solid rgba(255,255,255,.18)}
.hero-proof div{border-color:rgba(255,255,255,.25)}
.hero-proof strong{color:#fff}
.hero-proof span{color:rgba(255,255,255,.77)}
@media(max-width:760px){
  .home-hero{height:790px;min-height:0;max-height:none;margin:0 -12px;padding:0;display:block;background-image:linear-gradient(180deg,rgba(10,22,25,.08) 0%,rgba(10,22,25,.14) 24%,rgba(10,22,25,.68) 50%,rgba(10,22,25,.92) 100%),url("violina-hero.jpeg");background-position:59% 22%;background-size:auto 100%}
  .hero-copy{padding:330px 23px 165px;text-align:center;margin:auto}
  .home-hero .eyebrow{margin-bottom:17px}
  .home-hero h1{font-size:clamp(2.65rem,10.5vw,3.5rem);line-height:1.02}
  .home-hero h1 br{display:none}
  .home-hero h1 em{display:block;margin-top:5px}
  .hero-lead{font-size:1rem;margin:20px auto;line-height:1.55}
  .hero-actions{justify-content:center;gap:16px}
  .hero-note{margin-top:12px}
  .hero-proof{position:absolute;margin:0;min-height:102px;padding:16px 10px;background:rgba(9,28,34,.68)}
  .hero-proof div{padding:0 7px}
  .hero-proof strong{font-size:.94rem}
  .hero-proof span{font-size:.67rem}
}
