/* LAAPA PROMOS V7 - EDIT BY SECTION BELOW */


:root{--navy:#102c54;--blue:#175da8;--ink:#17243b;--orange:#ef791b;--cream:#fbf8f2;--line:#e2e8ef;--muted:#5c6b7b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit}.wrap{max-width:1190px;margin:auto;padding:0 25px}.top{border-bottom:1px solid var(--line);background:white}.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand{font-size:24px;font-weight:900;letter-spacing:-1px;color:var(--navy);text-decoration:none}.brand small{display:block;font-size:10px;letter-spacing:1.6px;font-weight:800;text-transform:uppercase;color:var(--muted)}.top-right{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:700}.top-right a:last-child{color:var(--blue);text-decoration:none}.hero{background:linear-gradient(115deg,#f3f7fb 0%,#fff 60%,#fbf8f2 100%);padding:64px 0 70px}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:60px;align-items:center}.eyebrow{color:var(--orange);font-size:13px;letter-spacing:2px;font-weight:900;text-transform:uppercase}.hero h1{font-size:clamp(39px,4.4vw,67px);line-height:1.07;letter-spacing:-2.8px;margin:17px 0 22px;color:var(--navy)}.hero h1 span{color:var(--blue)}.hero .intro{font-size:19px;max-width:560px;color:#405066}.pills{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.pill{border:1px solid #d5e1ed;border-radius:50px;padding:7px 12px;background:#fff;font-size:13px;font-weight:700}.hero-note{font-size:13px;color:var(--muted)}.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 65px rgba(16,44,84,.12);padding:30px}.form-card h2{font-size:29px;line-height:1.15;letter-spacing:-.8px;margin:0 0 8px;color:var(--navy)}.form-card p{margin:0 0 18px;color:var(--muted)}.embed{min-height:370px;border:2px dashed #c8d6e5;border-radius:12px;background:#f7faff;padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#526579}.embed strong{color:var(--navy)}.embed code{display:block;white-space:normal;font-size:12px;margin-top:10px}.micro{font-size:12px;color:var(--muted);margin-top:15px}.strip{background:var(--navy);color:#fff;padding:18px 0}.strip .wrap{display:flex;justify-content:space-around;gap:16px;flex-wrap:wrap;font-size:14px;font-weight:800}.section{padding:82px 0}.section.alt{background:var(--cream)}.section h2{font-size:clamp(30px,3.4vw,46px);letter-spacing:-1.5px;line-height:1.15;color:var(--navy);margin:10px 0 15px}.lead{color:var(--muted);font-size:18px;max-width:740px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:30px}.card{padding:25px;border:1px solid var(--line);border-radius:16px;background:#fff}.card h3{margin:0 0 8px;color:var(--navy);font-size:21px}.card p{margin:0;color:var(--muted)}.programs{display:flex;flex-wrap:wrap;gap:11px;margin:27px 0}.programs span{border:1px solid #dce6ee;background:#fff;border-radius:11px;padding:12px 15px;font-weight:700}.cta{display:inline-block;border-radius:10px;padding:14px 23px;background:var(--blue);color:#fff;text-decoration:none;font-weight:800}.proof{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.quote{border-left:4px solid var(--orange);padding:23px 27px;background:#f4f8fb;border-radius:0 12px 12px 0}.quote p{margin:0 0 13px;font-size:17px}.quote strong{color:var(--navy)}.bottom{background:var(--navy);color:#fff;padding:68px 0;text-align:center}.bottom h2{font-size:42px;letter-spacing:-1px;margin:0 0 12px}.bottom p{max-width:600px;margin:0 auto 24px;color:#dbe8f7}.bottom .cta{background:#fff;color:var(--navy)}footer{padding:25px 0;font-size:13px;color:var(--muted);text-align:center}.photo-slot{margin-top:28px;min-height:210px;background:linear-gradient(135deg,#dbe7f3,#fff1e4);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:#42617b;font-size:14px}.faq details{padding:17px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:800;color:var(--navy)}.faq p{color:var(--muted)}@media(max-width:800px){.hero-grid,.cards,.proof{grid-template-columns:1fr}.hero{padding:35px 0 50px}.hero-grid{gap:30px}.top-right span{display:none}.top .wrap{min-height:68px}.form-card{padding:22px}.section{padding:58px 0}.hero h1{letter-spacing:-1.7px}.bottom h2{font-size:32px}}
.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quote{border-left:0;border:1px solid #dfe8f1;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(16,44,84,.05)}.stars{color:#e8a52a;letter-spacing:2px;margin-bottom:12px}.quote small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.photo-slot{min-height:260px}.photo-slot a{display:inline-block;margin-top:12px;color:var(--blue)}@media(max-width:800px){.reviews-grid{grid-template-columns:1fr}}
.footer-links{display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap;margin-bottom:16px}.footer-links a{font-weight:700;color:var(--navy);text-decoration:none}.footer-links a:hover{text-decoration:underline}footer p{margin:0}@media(max-width:600px){.footer-links{gap:12px 18px}}
.brand{display:flex;align-items:center}.logo{width:230px;max-height:80px;height:auto;object-fit:contain}.hero-photo{margin:22px 0 0;background:linear-gradient(130deg,#e6f0f9,#fff1e4);border-radius:22px;overflow:hidden;padding:18px 14px 0;text-align:center}.hero-photo img{display:block;width:100%;height:auto;max-height:370px;object-fit:contain;object-position:bottom}.hero-photo figcaption{font-weight:800;color:#21446c;font-size:13px;padding:10px}.photo-section{background:#f4f8fc}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}.photo-grid figure{margin:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #102c5410}.photo-grid img{width:100%;height:240px;object-fit:cover;display:block}.photo-grid figcaption{padding:14px 18px;font-weight:800;color:#102c54}@media(max-width:700px){.logo{width:155px}.photo-grid{grid-template-columns:1fr}.photo-grid img{height:250px}}

/* Formstack mobile layout: let the form occupy the full available viewport width. */
.form-card,.hero-grid>div{min-width:0}
.form-card iframe,.form-card .fsEmbed,.form-card .fsForm,.form-card .fsBody,.form-card .fsPage,.form-card .fsSection,.form-card .fsRow,.form-card .fsField,
.form-card input,.form-card select,.form-card textarea{max-width:100%;box-sizing:border-box}
.form-card iframe{display:block;width:100%;border:0}
@media(max-width:600px){
 .hero .wrap{padding-left:12px;padding-right:12px}
 .hero-grid{gap:20px}
 .form-card{width:100%;max-width:none;margin:0;padding:20px 12px;border-radius:14px}
 
 .form-card iframe{width:100%!important;max-width:100%!important;min-width:0!important}
 .form-card .fsForm,.form-card .fsBody,.form-card .fsPage,.form-card .fsSection,.form-card .fsRow,.form-card .fsField{width:100%!important;max-width:100%!important;min-width:0!important}
 .form-card input:not([type=checkbox]):not([type=radio]),.form-card select,.form-card textarea,.form-card button[type=submit]{width:100%;max-width:100%}
}


/* ==========================================================
   07. FALL CAMPAIGN ACCENTS / FORMSTACK INTEGRATION
   ========================================================== */
:root { --orange: #ef791b; --orange-dark: #b84f00; }
.eyebrow { color: var(--orange-dark); }
.cta { background: var(--orange); color: #fff; }
.cta:hover, .cta:focus-visible { background: var(--orange-dark); }
.bottom .cta { background: var(--orange); color: #fff; }
.bottom .cta:hover { background: #ff933f; }
.formstack-embed { width: 100%; min-width: 0; padding: 0; margin: 0; }
.formstack-embed .fsForm, .formstack-embed .fsBody,
.formstack-embed .fsPage, .formstack-embed .fsSection,
.formstack-embed .fsRow, .formstack-embed .fsField,
.formstack-embed .fsFieldCell { max-width: 100%; box-sizing: border-box; }
.formstack-embed input:not([type="checkbox"]):not([type="radio"]),
.formstack-embed select, .formstack-embed textarea { max-width: 100%; box-sizing: border-box; }
.formstack-embed iframe { display: block; width: 100% !important; max-width: 100%; border: 0; }
.formstack-embed .fsSubmitButton { background: var(--orange) !important; color: #fff !important; }
@media (max-width: 600px) {
  .hero .wrap { padding-inline: 12px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .form-card { width: 100%; min-width: 0; padding: 20px 12px; }
  .formstack-embed { width: 100%; min-width: 0; }
  .formstack-embed .fsForm, .formstack-embed .fsBody,
  .formstack-embed .fsPage, .formstack-embed .fsSection,
  .formstack-embed .fsRow, .formstack-embed .fsField,
  .formstack-embed .fsFieldCell { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
  .formstack-embed input:not([type="checkbox"]):not([type="radio"]),
  .formstack-embed select, .formstack-embed textarea { width: 100%; }
}

/* ==========================================================
   08. HERO PHOTO: NEUTRAL FRAME, NO ORANGE COLOR BLEED
   ========================================================== */
.hero-photo {
  background: #f1f5f9;
  padding: 0;
  border: 1px solid #e2e8ef;
  border-radius: 18px;
}
.hero-photo img {
  width: 100%;
  max-height: none;
  object-fit: contain;
}
.hero-photo figcaption {
  background: #fff;
  padding: 11px 14px;
}

/* ==========================================================
   09. HEADER: SINGLE PHONE NUMBER + CAMPUS NAMES
   ========================================================== */
.top-right { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.top-right .campus-names { font-size: 12px; font-weight: 600; color: var(--muted); }
.top-right .phone-link { font-size: 15px; font-weight: 800; }
@media (max-width: 700px) {
  .top .wrap { flex-wrap: wrap; gap: 5px 12px; padding-top: 10px; padding-bottom: 10px; }
  .top-right .campus-names { display: block; font-size: 11px; }
  .top-right .phone-link { font-size: 13px; }
}
@media (max-width: 380px) {
  .top-right .campus-names { font-size: 10px; }
  .logo { width: 130px; }
}

/* ==========================================================
   10. FOUR PROGRAM PHOTO CARDS (MUSIC / DANCE / ACTING / CAMP)
   ========================================================== */
.program-photo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.program-photo-card { min-width: 0; }
.program-photo-card img { height: 200px; width: 100%; object-fit: cover; }
.program-photo-card figcaption { display: flex; flex-direction: column; gap: 7px; padding: 16px; }
.program-photo-card figcaption strong { font-size: 17px; line-height: 1.25; }
.program-photo-card figcaption span { font-size: 13px; line-height: 1.5; font-weight: 500; color: #4b5c70; }
@media (max-width: 900px) { .program-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .program-photo-grid { grid-template-columns: 1fr; } .program-photo-card img { height: 230px; } }
