/* Homepage visual refinements */
main > section:not(#hero):not(.section--dark):not(.section--stats):not(.section--cta) h2,
main > section:not(#hero):not(.section--dark):not(.section--stats):not(.section--cta) h3 { color:#00D2FF; }
main > section:not(#hero):not(.section--dark):not(.section--stats):not(.section--cta) .section-header { max-width:760px; margin:0 auto clamp(2rem,4vw,3rem); }
main > section:not(#hero):not(.section--dark):not(.section--stats):not(.section--cta) .section-header h2 { max-width:22ch; margin:0 auto .8rem; font-size:clamp(1.9rem,3.2vw,2.65rem); line-height:1.14; text-wrap:balance; }
main > section:not(#hero):not(.section--dark):not(.section--stats):not(.section--cta) .section-header p { max-width:620px; margin:0 auto; font-size:1rem; }
#hero { min-height:min(900px,100svh); padding:112px 0 88px; }
#hero .hero-bg::after { background:linear-gradient(160deg,rgba(10,37,64,.88),rgba(10,37,64,.4) 60%,rgba(0,210,255,.15)); }
#hero .hero-content { max-width:950px; padding:0; }
#hero .hero-content h1 { max-width:950px; margin-bottom:1rem; font-size:clamp(2.8rem,4.8vw,3.9rem); line-height:1.04; text-wrap:balance; }
#hero .subtitle { max-width:610px; margin-bottom:1.65rem; font-size:clamp(1rem,1.5vw,1.12rem); line-height:1.7; }
#hero .hero-btns .btn-primary { color:#103447; background:#00D2FF; box-shadow:0 8px 22px rgba(0,210,255,.3); }
#hero .hero-btns .btn-secondary { color:#fff; border-color:rgba(255,255,255,.62); background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }
#hero .hero-trust { width:fit-content; max-width:100%; margin-top:1.5rem; padding-top:1rem; gap:1rem; }
#hero .iko-banner { max-width:620px; margin-top:1rem; border-color:rgba(240,122,0,.35); background:rgba(8,34,53,.72); backdrop-filter:blur(10px); }
#hero .iko-banner-logo { width:62px; }
#hero .iko-banner-stars { display:none; }
#how-it-works .steps-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; max-width:1100px; }
#how-it-works .step-card { min-height:250px; padding:2rem 1.5rem 1.6rem; border:1px solid #e0e9ed; border-radius:18px; background:#fff; box-shadow:0 8px 26px rgba(10,37,64,.055); }
#how-it-works .step-number { top:1rem; left:1rem; transform:none; color:#087f9b; font-size:.76rem; letter-spacing:.08em; }
#how-it-works .step-icon { width:60px; height:60px; margin-bottom:1.2rem; color:#007a9e; background:#e7f8fc; }
#how-it-works .step-card p { max-width:30ch; }
#how-it-works .step-connector { display:none; }
#why-us .grid-4 { gap:1rem; }
#why-us .card { height:100%; padding:1.5rem; border:1px solid #e1e9ed; background:#fff; }
#why-us .card-icon { width:54px; height:54px; border-radius:14px; }
#why-us .card h3 { margin-bottom:.55rem; font-size:1.08rem; }
#why-us .card p { font-size:.92rem; }
#stats { padding-block:3.5rem; }
#stats .stats-grid { gap:1.5rem; }
#stats .stat-number { font-size:clamp(2.2rem,4vw,3rem); }
#stats .stat-icon { width:52px; height:52px; margin-bottom:.9rem; }
#spot-article { background:#f1f6f8; }
#spot-article .spot-article { max-width:1040px!important; padding:clamp(1.4rem,3vw,2.6rem); border:1px solid #e0e9ed; border-radius:20px; background:#fff; box-shadow:0 10px 34px rgba(10,37,64,.055); columns:2 320px; column-gap:clamp(1.5rem,4vw,3.5rem); }
#spot-article .spot-article > * { break-inside:avoid; }
#spot-article .spot-article h3 { color:#007a9e!important; }
#spot-article .spot-article li { margin-bottom:.45rem; }
#testimonials .testimonials-slider { max-width:840px; }
#testimonials .testimonial-card { min-height:300px; border:1px solid #e1e9ed; }
#testimonials .testi-arrow { border-color:#d8e3e8; }
#iko-reviews .iko-carousel { max-width:900px; margin-inline:auto; }
#gallery-preview .gallery-preview-grid { grid-template-rows:repeat(2,220px); gap:.85rem; }
#gallery-preview .gallery-preview-item { border-radius:16px; }
#gallery-preview .gallery-preview-cta .btn { margin-top:.25rem; }
#insta-feed .section-header h2,#insta-feed .section-header p { color:#fff; }
#insta-feed .insta-item { border-radius:14px; }
#about-preview .split-grid { gap:clamp(2rem,5vw,4.5rem)!important; }
#about-preview .about-img-wrapper { border-radius:22px; }
#about-preview .about-img-wrapper img { aspect-ratio:4/3; object-fit:cover; }
#about-preview h2 { max-width:16ch; }
#courses-preview .grid-3 { align-items:stretch; gap:1rem; }
#courses-preview .pricing-card { height:100%; border:1px solid #e0e8ed; border-radius:18px; }
#courses-preview .pricing-card.featured { border:2px solid #00b7d8; }
#courses-preview .pricing-card h3 { color:#007a9e; }
#blog-preview .grid-4 { gap:1rem; }
#blog-preview .card { height:100%; border:1px solid #e1e9ed; }
#blog-preview .card h3 { font-size:1.05rem; line-height:1.35; }
#faq .faq-grid { gap:clamp(2rem,5vw,4rem); }
#faq .faq-item { border-radius:14px; }
@media(max-width:900px){#why-us .grid-4,#blog-preview .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}#gallery-preview .gallery-preview-grid{grid-template-rows:repeat(2,180px)}}
@media(max-width:768px){#hero{min-height:auto;padding:100px 0 74px}#hero .hero-content{padding:0;text-align:center}#hero .hero-content h1{max-width:16ch;margin-inline:auto;font-size:clamp(2.25rem,9vw,3rem)}#hero .subtitle{max-width:42ch;margin-inline:auto;font-size:1rem}#hero .hero-badge{margin-bottom:.8rem;font-size:.72rem}#hero .hero-content>.label{margin-bottom:.8rem}#hero .hero-btns{gap:.7rem}#hero .hero-btns .btn{width:100%;min-height:52px}#hero .hero-trust{width:100%;justify-content:center;flex-direction:row;gap:.75rem;margin-top:1.1rem}#hero .trust-avatar{width:34px;height:34px}#hero .trust-score{font-size:.92rem}#hero .trust-count{font-size:.72rem}#hero .trust-stars svg{width:12px;height:12px}#hero .iko-banner{justify-content:center;gap:.7rem;padding:.7rem .85rem;text-align:left}#hero .iko-banner-logo{width:48px}#hero .iko-banner-title{font-size:.78rem}#hero .iko-banner-link{width:100%;margin:0;text-align:center;font-size:.78rem}#how-it-works .steps-grid{grid-template-columns:1fr;gap:.8rem}#how-it-works .step-card{min-height:0;padding:1.35rem 1.25rem 1.25rem}#how-it-works .step-card p{max-width:38ch}#how-it-works .step-icon{width:52px;height:52px;margin-bottom:.8rem}#why-us .grid-4,#blog-preview .grid-4{grid-template-columns:1fr}#why-us .card{padding:1.25rem}#stats{padding-block:2.8rem}#stats .stats-grid{gap:1.4rem .8rem}#stats .stat-number{font-size:2rem}#spot-article .spot-article{columns:1;padding:1.25rem}#spot-article .spot-article h3{margin-top:1.25rem!important}#gallery-preview .gallery-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:145px 145px;gap:.65rem}#gallery-preview .gi-1{grid-column:1/-1;grid-row:auto}#about-preview .split-grid{grid-template-columns:1fr}#about-preview .about-img-wrapper img{aspect-ratio:16/10}#faq .faq-grid{grid-template-columns:1fr}#testimonials .testimonial-card{min-height:0}}
@media(prefers-reduced-motion:reduce){#hero .hero-bg img,#gallery-preview img,#insta-feed img{transition:none}}

/* Mobile image framing and coach block layout. */
@media(max-width:768px){
  #gallery-preview .gallery-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 145px 145px;align-items:stretch}
  #gallery-preview .gi-1{grid-column:1/-1;grid-row:auto;height:auto;min-height:0}
  #gallery-preview .gi-1 img{display:block;width:100%;height:auto;aspect-ratio:715/953;object-fit:cover;object-position:center}
  #about-preview .split-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem!important;align-items:start!important}
  #about-preview .reveal-left,#about-preview .reveal-right{width:100%;min-width:0}
  #about-preview .about-img-wrapper{width:100%;max-width:420px;margin:0 auto}
  #about-preview .about-img-wrapper img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 38%}
  #about-preview .about-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0 1.25rem}
  #about-preview .about-stat{min-width:0;align-items:center;gap:.35rem;padding:.8rem .35rem;border:1px solid #e0e9ed;border-radius:12px;background:#fff;text-align:center}
  #about-preview .about-stat-value{font-size:clamp(1.1rem,5vw,1.45rem)}
  #about-preview .about-stat-label{font-size:.68rem;line-height:1.25}
  #about-preview h2{max-width:none;font-size:clamp(1.65rem,7vw,2.1rem);line-height:1.15;text-wrap:balance}
  #about-preview .reveal-right>p{line-height:1.65}
  #about-preview .reveal-right>.btn{width:auto;max-width:100%;margin-top:.25rem}
}
@media(max-width:380px){#about-preview .about-stat{padding:.7rem .2rem}#about-preview .about-stat-label{font-size:.62rem}}
/* Previous readable title palette, before the interrupted bright-turquoise experiment. */
main > section:not(.hero):not(.section--dark):not(.section--stats):not(.section--cta):not(.page-header) :is(h1,h2,h3,h4,h5,h6) { color:#00D2FF !important; }
main > section:not(.hero):not(.section--dark):not(.section--stats):not(.section--cta):not(.page-header):not(#insta-feed) :is(h1,h2,h3,h4,h5,h6) { color:#102A35 !important; }
main > section:not(.hero):not(.section--dark):not(.section--stats):not(.section--cta):not(.page-header):not(#insta-feed) :is(h1,h2,h3,h4,h5,h6) .highlight { color:#00D2FF !important; }
#hero .hero-content h1 .highlight { color:#00D2FF !important; }
#hero .hero-badge,#hero .hero-content>.label { color:#007A9E!important;background:rgba(255,255,255,.94)!important;border-color:rgba(255,255,255,.94)!important; }
#hero .hero-btns .btn-primary { background:#00D2FF !important;color:#103447 !important; }
#hero .hero-content h1 .highlight { color:#00D2FF !important; }
.nav-cta { background:#00D2FF !important; color:#103447 !important; box-shadow:0 5px 16px rgba(0,210,255,.28) !important; }
.nav-cta:hover { background:#00c2e8 !important; }

/* Homepage proof points: clearer cards and tighter responsive sizing. */
#stats { padding-block:clamp(2.5rem,5vw,4rem); }
#stats .container { max-width:1160px; }
#stats .stats-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.75rem,2vw,1.4rem); }
#stats .stat-item { min-width:0; min-height:208px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:1.4rem 1rem; border:1px solid rgba(0,210,255,.18); border-radius:20px; background:linear-gradient(150deg,rgba(255,255,255,.085),rgba(255,255,255,.035)); box-shadow:0 12px 28px rgba(0,0,0,.09); }
#stats .stat-icon { width:54px; height:54px; flex:none; margin:0 0 1rem; border:1px solid rgba(0,210,255,.2); border-radius:16px; background:rgba(0,210,255,.12); }
#stats .stat-icon svg { width:28px; height:28px; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#stats .stat-value { min-width:0; margin:0; white-space:nowrap; }
#stats .stat-number { font-size:clamp(1.55rem,3vw,2.7rem); letter-spacing:-.04em; }
#stats .stat-suffix { font-size:clamp(1.05rem,1.8vw,1.4rem); }
#stats .stat-label { max-width:22ch; margin:.65rem 0 0; color:rgba(255,255,255,.82); font-size:.88rem; line-height:1.45; text-align:center; }
@media(max-width:900px){#stats .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}#stats .stat-item{min-height:190px}}
@media(max-width:480px){#stats .stats-grid{gap:.7rem}#stats .stat-item{min-height:166px;padding:1rem .65rem;border-radius:16px}#stats .stat-icon{width:46px;height:46px;margin-bottom:.75rem;border-radius:14px}#stats .stat-icon svg{width:24px;height:24px}#stats .stat-number{font-size:clamp(1.3rem,6vw,1.85rem)}#stats .stat-label{max-width:17ch;margin-top:.55rem;font-size:.76rem;line-height:1.4}#stats .stat-suffix{font-size:1rem}}

/* Spot guide: readable lead, short themed panels and scannable conditions. */
#spot-article .spot-article { width:100%; max-width:1040px!important; margin-inline:auto; columns:1; column-gap:0; padding:clamp(1.3rem,3vw,2.5rem); }
#spot-article .spot-article-lead { max-width:74ch; margin:0 auto 1.5rem; color:#263f4b; font-size:clamp(1rem,1.4vw,1.08rem); line-height:1.8; }
#spot-article .spot-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.4rem 0 1.8rem; }
#spot-article .spot-article-panel { min-width:0; padding:1.25rem; border:1px solid #e1eaf0; border-radius:16px; background:#f6fafc; }
#spot-article .spot-article-panel h3,#spot-article .spot-article-conditions h3 { margin:0 0 .6rem!important; color:#102a35!important; font-size:1.04rem!important; line-height:1.35; }
#spot-article .spot-article-panel p { margin:0; color:#455b68; font-size:.92rem; line-height:1.7; }
#spot-article .spot-article-conditions { padding:1.25rem 1.35rem; border:1px solid rgba(0,210,255,.22); border-radius:16px; background:rgba(0,210,255,.055); }
#spot-article .spot-article-conditions ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem 1.5rem; margin:0!important; padding:0!important; list-style:none; color:#455b68; }
#spot-article .spot-article-conditions li { position:relative; margin:0; padding-left:1.1rem; font-size:.9rem; line-height:1.6; }
#spot-article .spot-article-conditions li::before { content:""; position:absolute; top:.62em; left:0; width:6px; height:6px; border-radius:50%; background:#00aeca; }
#spot-article .spot-article-links { margin:1.2rem 0 0!important; padding-top:1rem; border-top:1px solid #e1eaf0; color:#455b68; font-size:.92rem; }
#spot-article .spot-article-links a { color:#007a9e; font-weight:700; text-decoration:underline; text-decoration-color:rgba(0,122,158,.35); text-underline-offset:3px; }
#why-us .card-icon { display:grid; place-items:center; color:#007a9e; background:#e7f8fc; }
#why-us .card-icon svg { width:28px; height:28px; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@media(max-width:900px){#spot-article .spot-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#spot-article .spot-article-panel:last-child{grid-column:1/-1}}
@media(max-width:620px){#spot-article .spot-article-grid{grid-template-columns:1fr}#spot-article .spot-article-panel:last-child{grid-column:auto}#spot-article .spot-article-conditions ul{grid-template-columns:1fr}}
