:root{--navy:#294f7a;--bright:#0f73c3;--testimonial:#205fa5;--lavender:#bcb5ef;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--white);font-family:'Inclusive Sans',Arial,sans-serif;font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:5px}.hero{background:var(--bright);min-height:780px;border:0 solid #a9cbeb;border-bottom-width:5px;border-radius:0 0 40px 40px;overflow:hidden}header{display:flex;justify-content:center;padding:28px 20px 0}header img{width:130px;height:auto}.hero-inner{display:flex;align-items:center;justify-content:center;max-width:1060px;margin:70px auto 80px;padding:0 40px;gap:15px}.hero-copy{flex:0 0 43%;z-index:1}h1,h2{font-weight:500;line-height:1.25;letter-spacing:-.035em}h1{font-size:clamp(34px,3.9vw,54px);margin:0 0 30px}.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 32px;border-radius:50px;background:#fff;text-decoration:none;color:#12263c;font-weight:700;line-height:1.3;font-size:14px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#eaf6ff}.button.lavender{background:#d2c9f6;min-width:160px}.ipad{width:54%;object-fit:contain}.intro{padding:100px 40px 140px}.tag{width:310px;margin:0 auto}.intro-text{font-size:19px;text-align:center;margin:55px auto 0;max-width:650px}.features{display:grid;grid-template-columns:repeat(3,1fr);max-width:1060px;gap:64px;margin:145px auto 0}.features img{width:100%;aspect-ratio:1.31;object-fit:cover;border-radius:17px}.features h2{font-size:25px;margin:25px 0 18px;min-height:63px}.features p{font-size:16px;line-height:1.8;margin:0}.story{min-height:680px;padding:100px max(5vw,32px);background:#cad7dc url('assets/story.webp') no-repeat right center;background-size:auto 100%;display:flex;align-items:center}.story-card{background:#fff;color:#172837;border-radius:20px;padding:45px;max-width:400px;margin-left:max(0px,calc((100vw - 1120px)/2))}.story-card h2{color:var(--navy);font-size:29px;margin:0 0 30px}.story-card p{font-size:16px;line-height:1.8;margin:0 0 18px}.story-card p:last-child{margin:0}.testimonials{background:var(--testimonial);position:relative;min-height:490px;padding:85px 90px 65px;z-index:1}.quote-content{max-width:790px;margin:auto;text-align:center}.portrait{width:80px;height:80px;border-radius:50%;background:#dae9fb;color:var(--navy);display:grid;place-items:center;font-size:32px;margin:0 auto 28px;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover}blockquote{font-size:19px;line-height:1.8;margin:0;min-height:150px}.byline{font-size:14px;color:#c7dbef;margin:24px 0 20px}.byline span{font-style:italic}.carousel{position:absolute;top:46%;width:44px;height:44px;border:none;border-radius:50%;background:#295b88;color:white;font-size:32px;cursor:pointer}.carousel:hover{background:#124778}.prev{left:30px}.next{right:30px}.dots{display:flex;justify-content:center;gap:10px;margin-top:28px}.dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#ffffff55;cursor:pointer}.dots button[aria-pressed=true]{background:white}.experience{min-height:650px;margin-top:-35px;padding:170px 30px 110px;background:linear-gradient(#10263f30,#10263f50),url('assets/experience.webp') center/cover;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.experience h2{font-size:38px;margin:0 0 30px}.experience .button{text-transform:uppercase}.faq-section{padding:100px 24px 90px}.faq{max-width:460px;margin:110px auto 0}.faq h2{font-size:32px;text-align:center;margin:0 0 22px}details{border-top:1px solid #9db2c5;padding:21px 0}details:last-child{border-bottom:1px solid #9db2c5}summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;font-size:16px;line-height:1.4;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:25px;font-weight:400;color:#a7c3e1;line-height:1}details[open] summary:after{content:'−'}details p{font-size:16px;color:#e3edf6;margin:18px 0 0;line-height:1.75}footer{text-align:center;padding:25px 24px 70px;font-size:14px;color:#e2eaf2}footer p{margin:0 0 10px}footer a{text-decoration:none}footer a:hover{text-decoration:underline}@media(min-width:1400px){.story{background-size:60% auto}}@media(max-width:800px){.hero{min-height:600px}.hero-inner{margin:65px auto 75px;gap:0;padding:0 30px}header img{width:110px}h1{font-size:34px}.intro{padding:85px 26px 105px}.tag{width:280px}.intro-text{font-size:17px}.features{gap:30px;margin-top:115px}.features h2{font-size:22px}.features p{font-size:15px}.story{min-height:610px;padding:65px 26px}.story-card{padding:30px;max-width:340px}.story-card h2{font-size:25px}.story-card p{font-size:15px}.testimonials{padding:70px 70px 55px}blockquote{font-size:17px}.experience{min-height:560px}.faq{margin-top:90px}}@media(max-width:540px){.hero{min-height:650px;border-radius:0 0 28px 28px}header{padding-top:25px}.hero-inner{flex-direction:column;margin:45px auto 25px;padding:0 24px}.hero-copy{text-align:center}.hero h1{font-size:34px;margin-bottom:22px}.ipad{width:85%;max-width:340px;margin-top:25px}.intro{padding:70px 26px 80px}.desktop{display:none}.intro-text{margin-top:36px}.features{grid-template-columns:1fr;gap:48px;margin-top:65px;max-width:370px}.features img{aspect-ratio:1.5}.features h2{min-height:0;margin:20px 0 12px;font-size:25px}.features p{font-size:16px}.story{padding:290px 24px 35px;background-size:auto 100%;background-position:65% center}.story-card{max-width:none;padding:28px;background:#fffffffa}.story-card h2{font-size:27px}.story-card p{font-size:16px}.testimonials{min-height:550px;padding:60px 48px 40px}.portrait{width:68px;height:68px}blockquote{font-size:16px;min-height:250px}.prev{left:9px}.next{right:9px}.carousel{width:32px;height:40px}.experience{min-height:460px;padding:110px 20px 85px;background-position:65% center}.experience h2{font-size:32px}.faq-section{padding:75px 26px 60px}.faq{margin-top:70px}.tag{width:270px}footer{padding-bottom:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Match the supplied iPad image and keep its artwork prominent. */
.button{border:0;font-family:inherit;cursor:pointer}
.ipad-frame{flex:0 0 57%;overflow:hidden}
.ipad-frame .ipad{width:150%;max-width:none;margin-left:-25%;height:auto}
.features h2{margin-top:0}
.features{margin-top:105px}
#waitlist-dialog{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:42px 36px 36px;border:0;border-radius:24px;color:#173252;background:white;box-shadow:0 24px 90px #001c4266;font-family:inherit}
#waitlist-dialog::backdrop{background:#092542a8;backdrop-filter:blur(5px)}
#waitlist-dialog h2{font-size:28px;line-height:1.2;margin:8px 0 14px;padding-right:14px}
#waitlist-dialog p{font-size:16px;line-height:1.6;color:#50677d;margin:0 0 25px}
.modal-close{position:absolute;right:17px;top:12px;background:transparent;border:0;font:30px/1.3 Arial,sans-serif;color:#50677d;cursor:pointer;width:36px;height:36px;border-radius:50%}
.modal-close:hover{background:#eaf2fa}
#waitlist-dialog label{display:block;font-size:16px;font-weight:600;margin:18px 0 7px}
#waitlist-dialog input{display:block;width:100%;height:48px;border:1px solid #b8c8d9;border-radius:10px;padding:12px 14px;font:16px inherit;font-family:inherit;font-size:16px;box-sizing:border-box;background:#f8fbff;color:#173252}
#waitlist-dialog input:focus{outline:2px solid #0f73c3;outline-offset:1px}
#waitlist-dialog button:focus-visible{outline:3px solid #0f73c3;outline-offset:3px}
.waitlist-submit{width:100%;background:#0f73c3;color:#fff;margin-top:26px;font-size:16px;padding:15px 24px}
.waitlist-submit:hover{background:#085eaa}
body.modal-open{overflow:hidden}
@media(max-width:540px){.ipad-frame{flex:none;width:100%;max-width:400px;margin-top:18px}.ipad-frame .ipad{width:135%;max-width:none;margin:0 0 0 -17.5%}.features{margin-top:65px}#waitlist-dialog{padding:38px 25px 28px}#waitlist-dialog h2{font-size:26px}}

/* Larger supplied logo and the two ways Smoovi supports a session. */
header img{width:195px;height:auto}
.experience{background:#000;margin-top:-35px;padding:110px 40px 90px;min-height:650px}
.experience h2{margin-bottom:45px}
.experience-content{width:100%;max-width:1060px;text-align:left;margin-bottom:44px}
.experience-content h3{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.25;letter-spacing:-.025em;margin:0 0 55px}
.experience-columns{display:grid;grid-template-columns:1fr 1fr;gap:85px}
.experience-columns h4{font-size:24px;font-weight:500;line-height:1.3;text-transform:uppercase;margin:0 0 24px}
.experience-description{font-size:20px;line-height:1.65;margin:0 0 30px;min-height:100px}
.experience-columns .helping{font-size:19px;margin:0 0 13px;color:#fff}
.experience-columns ul{list-style:none;margin:0;padding:0;font-size:19px;line-height:1.6}
.experience-columns li{margin-bottom:12px}
@media(max-width:800px){header img{width:165px}.experience{padding:100px 30px 75px}.experience-columns{gap:40px}.experience-description{font-size:18px}.experience-columns ul,.experience-columns .helping{font-size:17px}}
@media(max-width:540px){.experience{padding:95px 26px 65px}.experience h2{margin-bottom:35px}.experience-content h3{font-size:29px;margin-bottom:38px}.experience-columns{grid-template-columns:1fr;gap:45px}.experience-description{min-height:0;margin-bottom:24px}.experience-columns h4{font-size:22px;margin-bottom:19px}.experience-columns ul,.experience-columns .helping{font-size:18px}}

/* A blue-toned section with a clear paired presentation. */
.experience{background:#1c3b60;padding:105px 40px 80px;min-height:0}
.experience-content{max-width:1060px;margin-bottom:38px}
.experience .experience-content>h2{font-size:clamp(30px,3.4vw,44px);font-weight:500;line-height:1.2;letter-spacing:-.035em;text-align:center;max-width:680px;margin:0 auto 48px;text-wrap:balance}
.experience-columns{gap:28px;align-items:stretch}
.experience-columns article{background:#294f7a;border:1px solid #729aca4d;border-radius:24px;padding:36px 38px;text-align:left}
.experience-columns article:last-child{background:#25547a}
.experience-columns h3{font-size:30px;font-weight:500;letter-spacing:-.025em;line-height:1.25;color:#fff;margin:0 0 18px}
.experience-columns h3:after{content:'';display:block;width:42px;height:3px;background:#8ed0f4;border-radius:2px;margin-top:17px}
.experience-description{font-size:18px;line-height:1.7;color:#e5eef8;margin:0 0 26px;min-height:122px}
.experience-columns ul{border-top:1px solid #90b5dd40;padding-top:24px;font-size:17px;line-height:1.5;color:#f4f8fc}
.experience-columns li{position:relative;padding-left:29px;margin-bottom:16px}
.experience-columns li:last-child{margin-bottom:0}
.experience-columns li:before{content:'✓';position:absolute;left:0;top:0;font-size:17px;color:#90d3f8}
.experience>.button{background:#d2c9f6;color:#172b49;min-width:174px;text-transform:none;font-size:16px;padding:15px 30px}
.experience>.button:hover{background:#e1dafa}
@media(max-width:800px){.experience{padding:95px 28px 70px}.experience-columns{gap:22px}.experience-columns article{padding:30px 27px}.experience-description{min-height:153px}.experience-columns h3{font-size:28px}}
@media(max-width:540px){.experience{padding:85px 24px 60px}.experience .experience-content>h2{font-size:32px;margin-bottom:32px}.experience-columns{gap:20px}.experience-columns article{padding:29px 25px;border-radius:20px}.experience-description{min-height:0;font-size:17px;margin-bottom:24px}.experience-columns ul{font-size:16px;padding-top:22px}.experience-columns li{margin-bottom:14px}.experience-content{margin-bottom:30px}}
/* Equal side and bottom widths keep the rounded borders consistent. */
.hero{border:5px solid #a9cbeb;border-top:0}
.testimonials{}
.experience-columns article{border:5px solid var(--lavender)}
.story{background-image:url('assets/2024.07_BelAir_Classes-ASH_hires-472.png');background-size:cover;background-position:center center}
@media(min-width:1400px){.story{background-size:cover}}
@media(max-width:540px){.story{background-size:cover;background-position:65% center}}
/* Bottom accents follow only the broad lower curves, as in the reference. */
.hero,.testimonials{position:relative}
.hero::after,.testimonials::after{content:'';position:absolute;left:0;right:0;bottom:0;height:56px;border:6px solid;border-top:0;border-radius:0 0 56px 56px;box-sizing:border-box;pointer-events:none}
.hero::after{border-color:#a9cbeb}
.testimonials::after{border-color:var(--lavender)}
/* Both waitlist calls to action are white and 50% larger. */
.hero .button.lavender{background:#fff;color:#172b49;min-width:240px;min-height:66px;font-size:21px;padding:19.5px 48px}
.experience>.button{background:#fff;color:#172b49;min-width:261px;min-height:76px;font-size:24px;padding:22.5px 45px}
.hero .button.lavender:hover,.experience>.button:hover{background:#eaf6ff}

/* Exact two-line hero title and a 25% larger supplied iPad image. */
.hero #hero-title{font-size:clamp(28px,3.5vw,46px);line-height:1.25}
.hero #hero-title span{display:block;white-space:nowrap}
.ipad-frame .ipad{width:187.5%;margin-left:-43.75%}
@media(max-width:540px){.hero #hero-title{font-size:clamp(24px,6.2vw,34px)}.ipad-frame .ipad{width:168.75%;margin-left:-34.375%}}

@media(min-width:541px) and (max-width:800px){.hero-inner{flex-direction:column;margin:45px auto 35px}.hero-copy{text-align:center;flex:none}.hero #hero-title{font-size:34px}.ipad-frame{flex:none;width:100%;max-width:440px;margin-top:25px}.ipad-frame .ipad{width:168.75%;margin-left:-34.375%}}

/* Reuse the same native border treatment as the section above FAQ. */
.hero,.testimonials{}
.hero{border-bottom-color:#a9cbeb}
.testimonials{}
.hero::after,.testimonials::after{display:none}
@media(max-width:540px){.hero,.testimonials{}}
/* The supplied display-font file can be embedded here when available. */
@font-face{font-family:'Qurova';src:url('assets/fonts/Qurova-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
#hero-title,#story-title,.experience #experience-title,.faq h2{font-family:'Qurova','Inclusive Sans',Arial,sans-serif;font-weight:400}
body,button,input,textarea,select{font-family:'Inclusive Sans',Arial,sans-serif}

/* Serve the real Inclusive Sans files with the page. */
@font-face{font-family:'Inclusive Sans';src:url('assets/fonts/InclusiveSans.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Inclusive Sans';src:url('assets/fonts/InclusiveSans-Italic.ttf') format('truetype');font-weight:300 700;font-style:italic;font-display:swap}
.hero .button[data-waitlist],.experience>.button[data-waitlist]{background:#fff;color:#172b49;width:261px;min-width:261px;min-height:76px;font-size:24px;line-height:1.3;padding:22.5px 28px;border:0;border-radius:50px;font-family:'Inclusive Sans',Arial,sans-serif;font-weight:700;box-sizing:border-box}
.hero .button[data-waitlist]:hover,.experience>.button[data-waitlist]:hover{background:#eaf6ff}

/* Reference: a solid bottom offset following the hero's curved silhouette. */
.hero{border:0;border-radius:0 0 56px 56px;box-shadow:0 6px 0 0 #a9cbeb}
.hero::after{display:none}

.testimonials{}
.testimonials::after{display:none}

.experience{}

/* One shared bottom edge for the testimonial and two-ways sections. */
.testimonials.single-bottom-edge,.experience.single-bottom-edge{border:0;outline:0;border-radius:0 0 56px 56px;box-shadow:0 6px 0 0 var(--lavender)}
.testimonials.single-bottom-edge::before,.testimonials.single-bottom-edge::after,.experience.single-bottom-edge::before,.experience.single-bottom-edge::after{display:none;content:none}

/* Approved class-photo background with the existing navy overlay. */
.experience{background:linear-gradient(rgba(28,59,96,.78),rgba(28,59,96,.78)),url('assets/groupclass.png') center/cover no-repeat}

/* Download and social links below the FAQ. */
.social-links{display:flex;align-items:center;justify-content:center;gap:32px;margin:48px auto 0}.social-links a{display:block;line-height:0}.social-links img{height:60px;width:auto;max-width:none}.social-links a:hover{opacity:.85}

/* Balance the spacing around the FAQ links and bring the hero copy nearer the iPad. */
.social-links{margin-top:90px}
@media(min-width:801px){.hero-copy{transform:translate(60px,-80px)}}
@media(max-width:540px){.social-links{margin-top:60px}}

/* Testimonial portrait diameters enlarged by 20%. */
.portrait{width:96px;height:96px}
@media(max-width:540px){.portrait{width:81.6px;height:81.6px}}

/* More prominent testimonial portraits, with a fixed circular frame. */
.testimonials .portrait{width:120px;height:120px;min-width:120px;min-height:120px;aspect-ratio:1;border-radius:50%}
@media(max-width:540px){.testimonials .portrait{width:102px;height:102px;min-width:102px;min-height:102px}}

/* Borderless portraits: no pale frame behind the rounded photo edge. */
.testimonials .portrait{background:transparent;border:0;outline:0;box-shadow:none}
.testimonials .portrait img{display:block;border:0;outline:0;box-shadow:none;border-radius:50%}
