/*
Theme Name: Think Well International
Theme URI: https://thinkwell.edu.pk
Author: Think Well International
Description: Single-page navy & gold theme for Think Well International School. Sticky nav, hero, pillars, academic pathway timeline, beyond-the-classroom cards, admissions and contact footer.
Version: 2.7
License: GNU General Public License v2 or later
Text Domain: think-well
*/

/* ---------- Tokens ---------- */
:root{
  --tw-navy:#0B192C;
  --tw-navy-2:#0E1A33;
  --tw-gold:#C9A24B;
  --tw-gold-bright:#D4AF37;
  --tw-gold-dark:#9A7B32;
  --tw-white:#FFFFFF;
  --tw-cream:#F7F3EA;
  --tw-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --tw-sans:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --tw-max:1240px;
  --tw-pad:clamp(64px,9vw,120px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;width:100%;max-width:100%;overflow-x:hidden;background:var(--tw-cream);color:var(--tw-navy);font-family:var(--tw-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--tw-gold);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--tw-gold-bright)}
h1,h2,h3,p{margin:0}
.tw-wrap{max-width:var(--tw-max);margin:0 auto;padding:0 24px;width:100%}
.tw-eyebrow{font-size:11px;letter-spacing:.34em;color:var(--tw-gold-dark)}
.tw-eyebrow--light{color:var(--tw-gold)}
.tw-h2{font-family:var(--tw-serif);font-weight:400;font-size:clamp(28px,3.4vw,42px);line-height:1.18;letter-spacing:-.01em;margin-top:16px;text-wrap:balance}
.tw-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;max-width:100%;background:var(--tw-gold);color:var(--tw-navy);font-size:12.5px;letter-spacing:.18em;font-weight:500;padding:16px 30px;white-space:nowrap;border:0;cursor:pointer}
.tw-btn:hover{background:var(--tw-gold-bright);color:var(--tw-navy)}

/* ---------- Header ---------- */
.tw-header{position:sticky;top:0;z-index:50;width:100%;background:rgba(11,25,44,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(201,162,75,.32)}
.tw-nav{position:relative;max-width:var(--tw-max);margin:0 auto;padding:14px clamp(16px,3vw,24px);display:flex;align-items:center;justify-content:space-between;gap:14px}
.tw-brand{display:flex;align-items:center;gap:14px}
.tw-brand img{width:clamp(42px,9vw,56px);height:auto;object-fit:contain;flex:0 0 auto}
.tw-brand-name{font-family:var(--tw-serif);font-size:clamp(16px,4.2vw,21px);white-space:nowrap;letter-spacing:.02em;color:var(--tw-cream);font-weight:600;display:block;line-height:1}
.tw-brand-sub{font-family:var(--tw-serif);font-size:clamp(9px,2.3vw,12px);letter-spacing:.2em;white-space:nowrap;text-transform:uppercase;color:var(--tw-gold);display:block;margin-top:5px}
.tw-nav-right{display:flex;align-items:center;gap:28px}
.tw-menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase}
.tw-menu a{color:rgba(247,243,234,.82)}
.tw-menu a:hover{color:var(--tw-gold-bright)}
.tw-nav .tw-btn{padding:12px 22px;font-size:12px;letter-spacing:.16em}
.tw-burger{display:none;background:none;border:1px solid rgba(201,162,75,.5);color:var(--tw-gold);width:48px;height:48px;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.tw-burger:hover{border-color:var(--tw-gold-bright)}
.tw-burger .tw-burger-close,.tw-burger.is-open .tw-burger-open{display:none}
.tw-burger.is-open .tw-burger-close{display:block}
.tw-drawer{display:none}

/* ---------- Hero ---------- */
.tw-header,.tw-hero,.tw-section,.tw-page-hero,.tw-footer{max-width:100vw}
.tw-hero{position:relative;width:100%;min-height:88vh;display:flex;align-items:center;background:var(--tw-navy);overflow:hidden}
.tw-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:82% 88%;transform:scale(1.18);transform-origin:82% 88%}
.tw-hero-scrim{position:absolute;inset:0;background:linear-gradient(105deg,rgba(11,25,44,.96) 0%,rgba(11,25,44,.9) 48%,rgba(11,25,44,.7) 100%)}
.tw-hero-inner{position:relative;max-width:var(--tw-max);width:100%;margin:0 auto;padding:clamp(64px,9vw,128px) 24px;display:flex;flex-direction:column;align-items:flex-start}
.tw-hero h1{font-family:var(--tw-serif);font-weight:400;font-size:clamp(38px,6vw,68px);line-height:1.1;letter-spacing:-.015em;color:#fff;max-width:780px;text-wrap:balance}
.tw-hero h1 em{color:var(--tw-gold-bright);font-style:italic}
.tw-hero-sub{font-size:clamp(15px,1.5vw,18px);letter-spacing:.06em;color:rgba(247,243,234,.88);margin-top:26px;max-width:640px;line-height:1.6}
.tw-hero-sub span{color:var(--tw-gold-bright)}
.tw-hero-lede{font-size:15.5px;line-height:1.75;color:rgba(247,243,234,.7);margin-top:18px;max-width:520px;text-wrap:pretty}
.tw-callouts{display:flex;gap:clamp(20px,4vw,56px);flex-wrap:wrap;margin-top:clamp(40px,6vw,72px);padding-top:26px;border-top:1px solid rgba(247,243,234,.18);max-width:700px;font-size:12px;letter-spacing:.3em;color:var(--tw-gold-bright)}

/* ---------- Sections ---------- */
.tw-section{padding:var(--tw-pad) 24px;scroll-margin-top:90px}
.tw-section--cream{background:var(--tw-cream)}
.tw-section--white{background:var(--tw-white)}
.tw-section--navy{background:var(--tw-navy);color:var(--tw-cream)}
.tw-section>.tw-wrap{padding:0}
.tw-grid{display:grid;gap:24px}
.tw-grid--split{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,5vw,72px);align-items:start}
.tw-grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.tw-grid--4{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.tw-grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.tw-lede{font-size:16px;line-height:1.85;color:rgba(11,25,44,.74);padding-top:clamp(0px,3vw,44px);text-wrap:pretty}
.tw-lede--light{color:rgba(247,243,234,.7);padding-top:0}

/* Pillar cards */
.tw-card{background:var(--tw-white);border-top:3px solid var(--tw-gold);padding:34px 32px}
.tw-card h3{font-family:var(--tw-serif);font-size:28px;font-weight:400;letter-spacing:.04em}
.tw-card-kicker{font-size:11px;letter-spacing:.22em;color:var(--tw-gold-dark);margin-top:10px}
.tw-card p{font-size:14.5px;line-height:1.8;color:rgba(11,25,44,.72);margin-top:16px}

/* Principal message */
.tw-quote{background:var(--tw-navy);color:var(--tw-cream);display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:clamp(36px,5vw,64px)}
.tw-quote-media{position:relative;min-height:340px}
.tw-quote-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.tw-quote-body{padding:clamp(34px,4vw,56px);display:flex;flex-direction:column;justify-content:center}
.tw-quote-body blockquote{font-family:var(--tw-serif);font-size:clamp(20px,2.1vw,27px);font-style:italic;line-height:1.52;margin:22px 0 0;color:#F1E9D8;text-wrap:pretty}
.tw-quote-name{margin-top:28px;font-size:13px;letter-spacing:.2em;color:var(--tw-gold-bright)}
.tw-quote-role{font-size:12.5px;color:rgba(247,243,234,.62);margin-top:6px;letter-spacing:.08em}
.tw-label-light{font-size:10.5px;letter-spacing:.32em;color:var(--tw-gold)}
.tw-label-dark{font-size:10.5px;letter-spacing:.32em;color:var(--tw-gold-dark)}

/* Pathway timeline */
.tw-timeline{margin-top:clamp(40px,5vw,64px);border-left:2px solid rgba(201,162,75,.35);padding-left:clamp(24px,4vw,48px)}
.tw-stage{position:relative;padding-bottom:clamp(34px,4vw,52px)}
.tw-stage:last-child{padding-bottom:0}
.tw-stage::before{content:"";position:absolute;left:calc(clamp(24px,4vw,48px) * -1 - 8px);top:8px;width:14px;height:14px;background:var(--tw-gold);border:3px solid var(--tw-white);border-radius:50%}
.tw-stage--final::before{background:var(--tw-navy)}
.tw-stage-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(16px,3vw,44px)}
.tw-stage h3{font-family:var(--tw-serif);font-size:clamp(26px,2.6vw,34px);font-weight:400}
.tw-stage-motto{font-size:11px;letter-spacing:.2em;color:var(--tw-gold-dark);margin-top:8px}
.tw-stage p{font-size:15px;line-height:1.85;color:rgba(11,25,44,.74)}
.tw-stage--final .tw-stage-inner{background:var(--tw-navy);color:var(--tw-cream);padding:clamp(26px,3vw,40px);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(16px,3vw,40px)}
.tw-stage--final h3{color:var(--tw-gold-bright)}
.tw-stage--final .tw-stage-motto{color:var(--tw-gold)}
.tw-stage--final p{color:rgba(247,243,234,.82)}

/* Beyond cards */
.tw-feature{border:1px solid rgba(201,162,75,.38);padding:34px 32px;transition:background .22s ease,border-color .22s ease,transform .22s ease}
.tw-feature:hover{background:rgba(201,162,75,.1);border-color:var(--tw-gold-bright);transform:translateY(-4px)}
.tw-feature-num{font-size:11px;letter-spacing:.3em;color:var(--tw-gold)}
.tw-feature h3{font-family:var(--tw-serif);font-size:29px;font-weight:400;margin-top:12px;color:var(--tw-gold-bright)}
.tw-feature p{font-size:14.5px;line-height:1.8;color:rgba(247,243,234,.78);margin-top:14px}

/* Facilities band */
.tw-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:clamp(36px,5vw,64px);background:var(--tw-cream);color:var(--tw-navy)}
.tw-band-media{position:relative;min-height:300px}
.tw-band-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tw-band-body{padding:clamp(34px,4vw,56px);display:flex;flex-direction:column;justify-content:center}
.tw-band-body h3{font-family:var(--tw-serif);font-size:clamp(24px,2.4vw,32px);font-weight:400;margin-top:14px;line-height:1.3}
.tw-facilities{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 28px;font-size:14.5px;line-height:2;color:rgba(11,25,44,.78);margin-top:20px}

/* Admissions */
.tw-step{background:var(--tw-white);border-top:3px solid var(--tw-gold);padding:34px 32px}
.tw-step-num{font-family:var(--tw-serif);font-size:42px;color:var(--tw-gold);line-height:1}
.tw-step h3{font-size:13.5px;letter-spacing:.18em;margin-top:16px;font-weight:500}
.tw-step p{font-size:14.5px;line-height:1.8;color:rgba(11,25,44,.72);margin-top:12px}
.tw-fee{background:var(--tw-navy);color:var(--tw-cream);padding:34px 32px;display:flex;flex-direction:column;justify-content:center}
.tw-fee-amount{font-family:var(--tw-serif);font-size:clamp(38px,4vw,52px);color:var(--tw-gold-bright);line-height:1.1;margin-top:12px}
.tw-fee-note{font-size:12.5px;letter-spacing:.2em;color:rgba(247,243,234,.68);margin-top:10px}
.tw-docs{background:var(--tw-white);padding:34px 32px}
.tw-checklist{display:flex;flex-direction:column;gap:12px;margin-top:18px;font-size:14.5px;color:rgba(11,25,44,.8);list-style:none;padding:0}
.tw-checklist li{display:flex;align-items:center;gap:12px}
.tw-checklist li::before{content:"";width:16px;height:16px;border:1px solid var(--tw-gold);flex:0 0 auto}
.tw-visit{position:relative;overflow:hidden;margin-top:22px;min-height:320px;display:flex;align-items:flex-end}
.tw-visit>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tw-visit-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,25,44,.2) 0%,rgba(11,25,44,.92) 72%)}
.tw-visit-body{position:relative;padding:clamp(28px,4vw,48px);display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between;width:100%}
.tw-visit-body h3{font-family:var(--tw-serif);font-size:clamp(26px,3vw,38px);font-weight:400;color:var(--tw-gold-bright)}
.tw-visit-body p{font-size:14.5px;line-height:1.7;color:rgba(247,243,234,.86);margin-top:10px}

/* Footer */
.tw-footer{background:var(--tw-navy);color:var(--tw-cream);padding:clamp(56px,7vw,96px) 24px 32px;scroll-margin-top:90px}
.tw-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(34px,5vw,72px)}
.tw-footer img{width:74px;height:70px;object-fit:contain}
.tw-footer-tag{font-size:10px;letter-spacing:.16em;color:rgba(247,243,234,.55);margin-top:22px;white-space:nowrap}
.tw-footer-col-title{font-size:10.5px;letter-spacing:.3em;color:var(--tw-gold)}
.tw-footer-text{font-size:14.5px;line-height:1.85;color:rgba(247,243,234,.82);margin-top:18px}
.tw-footer-links{display:flex;flex-direction:column;gap:12px;margin-top:18px;font-size:14.5px;list-style:none;padding:0}
.tw-footer-links a{color:rgba(247,243,234,.8)}
.tw-footer-links a:hover{color:var(--tw-gold-bright)}
.tw-footer-link--gold{color:var(--tw-gold-bright)}
.tw-footer-links a.tw-footer-link--gold:hover{color:#fff}
.tw-copyright{border-top:1px solid rgba(247,243,234,.14);margin-top:clamp(36px,5vw,60px);padding-top:22px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:12px;color:rgba(247,243,234,.5)}

/* ---------- Pathway tabs ---------- */
.tw-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:2px;margin-top:clamp(36px,5vw,56px);background:rgba(11,25,44,.08)}
.tw-tab{text-align:left;border:0;cursor:pointer;padding:22px 20px 18px;font-family:var(--tw-sans);background:var(--tw-white);color:var(--tw-navy);transition:background .2s ease,color .2s ease;display:block}
.tw-tab.is-active{background:var(--tw-navy);color:var(--tw-cream)}
.tw-tab-num{display:block;font-size:10.5px;letter-spacing:.28em;opacity:.7}
.tw-tab-name{display:block;font-family:var(--tw-serif);font-size:clamp(20px,2.1vw,26px);margin-top:10px;line-height:1.15}
.tw-tab-verb{display:block;font-size:11px;letter-spacing:.2em;margin-top:8px;color:var(--tw-gold-dark)}
.tw-tab.is-active .tw-tab-verb{color:var(--tw-gold-bright)}
.tw-panel{display:none}
.tw-panel.is-active{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,4vw,56px);background:var(--tw-navy);color:var(--tw-cream);padding:clamp(30px,4vw,54px);animation:twFade .3s ease}
.tw-panel h3{font-family:var(--tw-serif);font-size:clamp(27px,3vw,38px);letter-spacing:-.01em;font-weight:400;color:var(--tw-gold-bright);margin-top:14px;line-height:1.1}
.tw-panel-tagline{font-size:11px;letter-spacing:.24em;color:rgba(247,243,234,.6);margin-top:12px}
.tw-panel p{font-size:15px;line-height:1.85;color:rgba(247,243,234,.82);margin-top:22px;text-wrap:pretty}
.tw-panel-list{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.tw-panel-list li{font-size:15px;line-height:1.7;color:rgba(247,243,234,.88);border-bottom:1px solid rgba(247,243,234,.1);padding:0 0 12px 26px;position:relative}
.tw-panel-list li::before{content:"\2014";position:absolute;left:0;color:var(--tw-gold);font-size:11px}
@keyframes twFade{from{opacity:0}to{opacity:1}}
@keyframes twRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- Practical cards (buttons) ---------- */
.tw-feature{font-family:var(--tw-sans);text-align:left;color:var(--tw-cream);background:none;cursor:pointer;display:flex;flex-direction:column;width:100%}
.tw-feature-cta{font-size:11px;letter-spacing:.2em;color:var(--tw-gold);margin-top:24px;display:flex;align-items:center;gap:10px}
.tw-feature-cta span{font-size:14px}

/* ---------- Featured pillar ---------- */
.tw-lead{display:block;width:100%;text-align:left;font-family:var(--tw-sans);color:var(--tw-cream);cursor:pointer;margin-top:clamp(40px,5vw,68px);padding:clamp(30px,4vw,52px);background:linear-gradient(120deg,rgba(201,162,75,.16) 0%,rgba(201,162,75,.05) 60%,rgba(201,162,75,.02) 100%);border:1px solid rgba(201,162,75,.6);border-left:5px solid var(--tw-gold);transition:border-color .22s ease,background .22s ease}
.tw-lead:hover{border-color:var(--tw-gold-bright);background:rgba(201,162,75,.14)}
.tw-lead>div{display:block}
@supports (display:grid){.tw-lead{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(24px,4vw,56px);align-items:start}}
.tw-lead-tags{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.tw-lead-badge{background:var(--tw-gold);color:var(--tw-navy);font-size:10px;letter-spacing:.24em;font-weight:500;padding:7px 12px}
.tw-lead-num{font-size:11px;letter-spacing:.3em;color:var(--tw-gold)}
.tw-lead h3{font-family:var(--tw-serif);font-size:clamp(28px,3.4vw,42px);letter-spacing:-.01em;font-weight:400;color:var(--tw-gold-bright);margin-top:20px;line-height:1.1;text-wrap:balance}
.tw-lead-main p{font-size:clamp(15px,1.6vw,17px);line-height:1.8;color:rgba(247,243,234,.86);margin-top:18px;max-width:520px;text-wrap:pretty}
.tw-lead .tw-feature-cta{font-size:11.5px;margin-top:28px}
.tw-lead-stages{display:flex;flex-direction:column;gap:2px}
.tw-lead-stage{background:rgba(11,25,44,.55);border-left:2px solid rgba(201,162,75,.5);padding:20px 24px}
.tw-lead-stage-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;flex-wrap:wrap;font-family:var(--tw-serif);font-size:22px;color:#F1E9D8}
.tw-lead-count{font-family:var(--tw-sans);font-size:10px;letter-spacing:.22em;color:var(--tw-gold)}
.tw-lead-stage-text{font-size:14px;line-height:1.7;color:rgba(247,243,234,.74);margin-top:8px}
.tw-feature-meta{font-size:10px;letter-spacing:.2em;color:rgba(247,243,234,.5);margin-top:10px}

/* ---------- Modals ---------- */
.tw-modal{display:none;position:fixed;inset:0;z-index:90;background:rgba(6,14,26,.84);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:clamp(16px,4vw,56px) 16px;overflow-y:auto}
.tw-modal.is-open{display:flex;align-items:flex-start;justify-content:center;animation:twFade .2s ease}
.tw-modal-box{background:var(--tw-cream);color:var(--tw-navy);max-width:900px;width:100%;animation:twRise .28s ease;box-shadow:0 40px 90px rgba(0,0,0,.45)}
.tw-modal-box--form{background:var(--tw-white);max-width:760px}
.tw-modal-head{background:var(--tw-navy);color:var(--tw-cream);padding:clamp(26px,4vw,46px);display:flex;gap:24px;align-items:flex-start;justify-content:space-between}
.tw-modal-head h3{font-family:var(--tw-serif);font-size:clamp(25px,3.2vw,38px);letter-spacing:-.01em;font-weight:400;color:var(--tw-gold-bright);margin-top:14px;line-height:1.12}
.tw-modal-head p{font-size:14.5px;line-height:1.8;color:rgba(247,243,234,.78);margin-top:16px;max-width:620px;text-wrap:pretty}
.tw-modal-x{background:none;border:1px solid rgba(201,162,75,.5);color:var(--tw-gold);font-family:var(--tw-sans);font-size:18px;line-height:1;width:42px;height:42px;cursor:pointer;flex:0 0 auto}
.tw-modal-x:hover{background:var(--tw-gold);color:var(--tw-navy)}
.tw-modal-body{padding:clamp(24px,4vw,46px);display:flex;flex-direction:column;gap:2px}
.tw-age{background:var(--tw-white);padding:clamp(22px,3vw,34px);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(14px,3vw,38px);border-left:3px solid var(--tw-gold)}
.tw-age h4{font-family:var(--tw-serif);font-size:clamp(21px,2.2vw,27px);font-weight:400;margin:0;line-height:1.2}
.tw-age-ages{font-size:10.5px;letter-spacing:.24em;color:var(--tw-gold-dark);margin-top:8px}
.tw-age-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.tw-age-list li{font-size:14.5px;line-height:1.7;color:rgba(11,25,44,.78);padding-left:20px;position:relative}
.tw-age-list li::before{content:"\00B7";position:absolute;left:4px;color:var(--tw-gold)}
.tw-modal-foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:22px}
.tw-modal-foot p{font-size:13.5px;line-height:1.7;color:rgba(11,25,44,.66);max-width:460px}
.tw-btn--navy{background:var(--tw-navy);color:var(--tw-cream);font-size:12px;letter-spacing:.18em;padding:15px 26px}
.tw-btn--navy:hover{background:var(--tw-gold);color:var(--tw-navy)}
.tw-fee-cta{margin-top:26px;align-self:flex-start;font-size:12px;letter-spacing:.18em;padding:15px 24px}

/* ---------- Apply form ---------- */
.tw-apply-form{padding:clamp(26px,4vw,44px);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px 24px}
.tw-apply-form label{display:flex;flex-direction:column;gap:8px;font-size:10.5px;letter-spacing:.22em;color:var(--tw-gold-dark)}
.tw-apply-form .tw-span{grid-column:1/-1}
.tw-apply-form input,.tw-apply-form select,.tw-apply-form textarea{font-family:var(--tw-sans);font-size:15px;color:var(--tw-navy);padding:13px 14px;border:1px solid rgba(11,25,44,.2);background:var(--tw-cream);letter-spacing:normal;width:100%}
.tw-apply-form input:focus,.tw-apply-form select:focus,.tw-apply-form textarea:focus{border-color:var(--tw-gold);outline:none}
.tw-apply-form textarea{resize:vertical;min-height:84px}
.tw-apply-form input,.tw-apply-form select,.tw-contact-form input,.tw-contact-form select{min-height:48px}
.tw-apply-form input,.tw-apply-form select,.tw-apply-form textarea,.tw-contact-form input,.tw-contact-form select,.tw-contact-form textarea{width:100%;max-width:100%}
.tw-form-sec{grid-column:1/-1;display:flex;align-items:center;gap:16px;margin-top:8px}
.tw-form-sec span{font-size:10.5px;letter-spacing:.3em;color:var(--tw-navy);white-space:nowrap}
.tw-form-sec:after{content:"";height:1px;background:rgba(201,162,75,.5);flex:1}
.tw-form-callout{grid-column:1/-1;background:var(--tw-cream);border-left:3px solid var(--tw-gold);padding:24px 26px;margin-top:6px}
.tw-form-callout .tw-label-cream{font-size:10.5px;letter-spacing:.3em;color:var(--tw-gold-dark)}
.tw-form-callout .tw-label-cream+ul{margin:14px 0 22px}
.tw-form-callout ul{padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:13.5px;line-height:1.7;color:rgba(11,25,44,.75)}
.tw-form-callout ul:last-child{margin-bottom:0}
.tw-form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;border-top:1px solid rgba(11,25,44,.12);padding-top:22px}
.tw-form-foot p{font-size:12.5px;line-height:1.7;color:rgba(11,25,44,.6);max-width:380px}
.tw-form-error{flex:1 1 100%;order:-1;max-width:none!important;color:#8c1c1c!important;background:rgba(140,28,28,.07);border-left:2px solid #8c1c1c;padding:10px 14px;font-size:13px!important}
.tw-form-error[hidden]{display:none}
.tw-contact-form .tw-form-error{color:#f0c9c9!important;background:rgba(255,255,255,.08);border-left-color:#c9a227}
.tw-apply-form button[type="submit"][disabled],.tw-contact-form button[type="submit"][disabled]{opacity:.55;cursor:progress}
.tw-apply-done{display:none;padding:clamp(34px,5vw,64px);text-align:center}
.tw-apply-done h4{font-family:var(--tw-serif);font-size:clamp(26px,3vw,36px);font-weight:400;margin:0;line-height:1.2}
.tw-apply-done p{font-size:15px;line-height:1.8;color:rgba(11,25,44,.7);margin:16px auto 0;max-width:460px}
.tw-apply-done .tw-btn{margin-top:30px}

/* ---------- Contact ---------- */
.tw-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:clamp(36px,5vw,60px)}
.tw-contact-info{background:var(--tw-navy);color:var(--tw-cream);padding:clamp(30px,4vw,52px);display:flex;flex-direction:column;gap:30px}
.tw-contact-info p{font-size:15.5px;line-height:1.85;color:rgba(247,243,234,.86);margin-top:12px}
.tw-contact-tbc{color:rgba(247,243,234,.6) !important}
.tw-contact-cta{margin-top:auto;padding-top:24px;border-top:1px solid rgba(247,243,234,.16)}
.tw-contact-cta p{font-size:14.5px;line-height:1.75;color:rgba(247,243,234,.74);margin:0}
.tw-contact-cta .tw-btn{margin-top:14px;font-size:12px;letter-spacing:.18em;padding:14px 24px}
.tw-contact-form-wrap{background:var(--tw-cream);padding:clamp(30px,4vw,52px)}
.tw-contact-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 22px}
.tw-contact-form label{display:flex;flex-direction:column;gap:8px;font-size:10.5px;letter-spacing:.22em;color:var(--tw-gold-dark)}
.tw-contact-form .tw-span{grid-column:1/-1}
.tw-contact-form input,.tw-contact-form select,.tw-contact-form textarea{font-family:var(--tw-sans);font-size:15px;color:var(--tw-navy);padding:13px 14px;border:1px solid rgba(11,25,44,.2);background:var(--tw-white);letter-spacing:normal;width:100%}
.tw-contact-form input:focus,.tw-contact-form select:focus,.tw-contact-form textarea:focus{border-color:var(--tw-gold);outline:none}
.tw-contact-form textarea{resize:vertical}
.tw-contact-done{display:none;flex-direction:column;justify-content:center;min-height:320px;text-align:center;animation:twFade .24s ease}
.tw-contact-done h4{font-family:var(--tw-serif);font-size:clamp(24px,2.8vw,34px);font-weight:400;margin:0;line-height:1.2}
.tw-contact-done p{font-size:15px;line-height:1.8;color:rgba(11,25,44,.7);margin:16px auto 0;max-width:420px}
.tw-contact-done .tw-btn{margin:26px auto 0}
.tw-btn--ghost{background:none;border:1px solid rgba(11,25,44,.25);color:var(--tw-navy);font-size:11.5px;letter-spacing:.18em;padding:13px 24px}
.tw-btn--ghost:hover{background:none;border-color:var(--tw-gold);color:var(--tw-gold-dark)}

/* ---------- FAQ accordion ---------- */
.tw-faqs{background:var(--tw-white);padding:clamp(28px,4vw,48px);margin-top:22px}
.tw-faq-list{margin-top:22px}
.tw-faq-item{border-top:1px solid rgba(11,25,44,.12)}
.tw-faq-q{width:100%;background:none;border:0;cursor:pointer;font-family:var(--tw-sans);text-align:left;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--tw-navy);font-size:clamp(15px,1.6vw,17.5px)}
.tw-faq-sign{font-family:var(--tw-serif);font-size:26px;color:var(--tw-gold);line-height:1;flex:0 0 auto}
.tw-faq-sign::before{content:"+"}
.tw-faq-item.is-open .tw-faq-sign::before{content:"\2212"}
.tw-faq-a{display:none}
.tw-faq-item.is-open .tw-faq-a{display:block;animation:twFade .24s ease}
.tw-faq-a p{font-size:15px;line-height:1.85;color:rgba(11,25,44,.74);margin:0 0 22px;max-width:780px;text-wrap:pretty}

/* ---------- Buttons: variants ---------- */
.tw-btn--ghost-light{background:none;border:1px solid rgba(247,243,234,.4);color:var(--tw-cream);font-size:12px;letter-spacing:.18em}
.tw-btn--ghost-light:hover{background:none;border-color:var(--tw-gold-bright);color:var(--tw-gold-bright)}
.tw-hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:16px;row-gap:16px;margin-top:38px;width:100%;max-width:560px}
.tw-hero-actions .tw-btn{flex:0 1 auto;position:static}
.tw-nav-apply{padding:12px 22px;font-size:12px;letter-spacing:.16em}

/* ---------- Page hero ---------- */
.tw-page-hero{background:var(--tw-navy);color:var(--tw-cream);padding:clamp(52px,7vw,96px) 24px}
.tw-page-hero>.tw-wrap{max-width:var(--tw-max);margin:0 auto}
.tw-page-title{font-family:var(--tw-serif);font-weight:400;font-size:clamp(32px,4.6vw,58px);line-height:1.1;letter-spacing:-.015em;color:var(--tw-white);margin:16px 0 0;max-width:820px;text-wrap:balance}
.tw-page-title em{color:var(--tw-gold-bright);font-style:italic}
.tw-page-hero-lede{font-size:15.5px;line-height:1.85;color:rgba(247,243,234,.76);margin:20px 0 0;max-width:560px;text-wrap:pretty}
.tw-page-hero--level .tw-page-title{color:var(--tw-gold-bright)}
.tw-section--top{padding-top:clamp(44px,6vw,84px)}
.tw-back-link{display:inline-flex;align-items:center;min-height:44px;font-size:11px;letter-spacing:.24em;color:var(--tw-gold)}
.tw-level-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,5vw,64px);align-items:end;margin-top:18px}
.tw-level-ages{font-size:11px;letter-spacing:.3em;color:rgba(247,243,234,.6)}
.tw-level-head h1{font-family:var(--tw-serif);font-weight:400;font-size:clamp(32px,4.4vw,56px);line-height:1.1;letter-spacing:-.015em;color:var(--tw-gold-bright);margin:14px 0 0}
.tw-level-motto{font-size:11.5px;letter-spacing:.22em;color:var(--tw-gold);margin-top:14px}

/* ---------- Level cards ---------- */
.tw-levelcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:clamp(36px,5vw,60px)}
.tw-levelcard{display:flex;flex-direction:column;background:var(--tw-white);border-top:3px solid var(--tw-gold);padding:34px 30px;color:var(--tw-navy);transition:transform .22s ease,box-shadow .22s ease}
.tw-levelcard:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(11,25,44,.14);color:var(--tw-navy)}
.tw-levelcard-num{font-size:10.5px;letter-spacing:.28em;color:var(--tw-gold-dark)}
.tw-levelcard h3{font-family:var(--tw-serif);font-weight:400;font-size:clamp(23px,2.5vw,30px);line-height:1.15;margin:14px 0 0}
.tw-levelcard-ages{font-size:11.5px;letter-spacing:.2em;color:rgba(11,25,44,.6);margin-top:10px}
.tw-levelcard-motto{font-size:11px;letter-spacing:.16em;color:var(--tw-gold-dark);margin-top:16px}
.tw-levelcard p{font-size:14.5px;line-height:1.8;color:rgba(11,25,44,.72);margin:18px 0 0}
.tw-levelcard span{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;color:var(--tw-gold-dark);margin-top:24px}
.tw-levelcard--navy{background:var(--tw-navy);color:var(--tw-cream)}
.tw-levelcard--navy:hover{background:#0E1F38;color:var(--tw-cream)}
.tw-levelcard--navy h3{color:var(--tw-gold-bright)}
.tw-levelcard--navy .tw-levelcard-num{color:rgba(247,243,234,.6)}
.tw-levelcard--navy .tw-levelcard-ages{color:rgba(247,243,234,.62)}
.tw-levelcard--navy .tw-levelcard-motto,.tw-levelcard--navy span{color:var(--tw-gold)}

/* ---------- Pillars (level pages) ---------- */
.tw-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;margin-top:28px}
.tw-pillar{background:var(--tw-white);border-top:3px solid var(--tw-gold);padding:clamp(28px,3.4vw,40px)}
.tw-pillar-head{display:flex;align-items:baseline;gap:14px}
.tw-pillar-num{font-family:var(--tw-serif);font-size:30px;color:var(--tw-gold);line-height:1}
.tw-pillar h3{font-family:var(--tw-serif);font-weight:400;font-size:clamp(21px,2.2vw,27px);line-height:1.2;margin:0}
.tw-pillar-sub{font-size:10.5px;letter-spacing:.24em;color:var(--tw-gold-dark);margin-top:14px}
.tw-pillar-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.tw-pillar-list li{font-size:14.5px;line-height:1.75;color:rgba(11,25,44,.75);padding-left:18px;position:relative}
.tw-pillar-list li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;background:var(--tw-gold)}
.tw-prose p{font-size:16px;line-height:1.9;color:rgba(11,25,44,.76);max-width:760px;text-wrap:pretty}

/* ---------- Level switcher ---------- */
.tw-level-switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;margin-top:clamp(32px,4vw,52px);background:rgba(11,25,44,.1)}
.tw-level-item{display:flex;flex-direction:column;background:var(--tw-white);color:var(--tw-navy);padding:22px 22px 20px;min-height:48px}
.tw-level-item:hover{background:#FBF8F1;color:var(--tw-navy)}
.tw-level-item.is-active{background:var(--tw-navy);color:var(--tw-cream)}
.tw-level-item-num{font-size:10.5px;letter-spacing:.26em;opacity:.7}
.tw-level-item-name{font-family:var(--tw-serif);font-size:clamp(19px,2vw,24px);margin-top:10px;line-height:1.15}
.tw-level-item.is-active .tw-level-item-name{color:var(--tw-gold-bright)}
.tw-level-item-ages{font-size:10.5px;letter-spacing:.2em;opacity:.66;margin-top:8px}
.tw-level-cta{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;background:var(--tw-navy);color:var(--tw-cream);padding:clamp(28px,3.5vw,44px);margin-top:clamp(32px,4vw,52px)}
.tw-level-cta h3{font-family:var(--tw-serif);font-weight:400;font-size:clamp(21px,2.3vw,28px);margin:0;max-width:620px;line-height:1.3;text-wrap:pretty}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .tw-burger{display:inline-flex}
  .tw-nav-right{display:none}
  .tw-drawer.is-open{display:flex;flex-direction:column;background:var(--tw-navy);border-top:1px solid rgba(201,162,75,.28);padding:10px clamp(16px,3vw,24px) 26px;max-height:calc(100vh - 84px);overflow-y:auto;animation:twFade .2s ease}
  .tw-drawer a{display:flex;align-items:center;min-height:54px;padding:0 4px;border-bottom:1px solid rgba(247,243,234,.1);color:rgba(247,243,234,.85);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
  .tw-drawer a:hover{color:var(--tw-gold-bright)}
  .tw-drawer-cta{width:100%;margin-top:26px}
}
@media (max-width:900px){
  .tw-quote,.tw-band,.tw-contact,.tw-panel.is-active,.tw-lead,.tw-age,.tw-stage-inner,.tw-stage--final .tw-stage-inner{grid-template-columns:1fr}
  .tw-tabs{grid-template-columns:1fr 1fr}
  .tw-grid--4,.tw-grid--3,.tw-levelcards,.tw-pillars,.tw-level-switch{grid-template-columns:1fr 1fr}
  .tw-level-head{grid-template-columns:1fr}
  .tw-quote-media,.tw-band-media{min-height:260px}
}
@media (max-width:600px){
  .tw-hero{min-height:auto;padding:clamp(56px,14vw,80px) 0}
  .tw-tabs{grid-template-columns:1fr}
  .tw-grid,.tw-footer-grid{grid-template-columns:1fr!important}
  .tw-card,.tw-step,.tw-feature,.tw-fee,.tw-docs,.tw-faqs,.tw-contact-info,.tw-contact-form-wrap,.tw-lead{padding:28px 22px}
  .tw-apply-form,.tw-contact-form{grid-template-columns:1fr}
  .tw-modal{padding:0}
  .tw-modal-head{flex-wrap:wrap;padding:26px 22px}
  .tw-modal-body{padding:22px 18px}
  .tw-apply-form{padding:22px 18px}
  .tw-modal-foot,.tw-lead-tags{flex-direction:column;align-items:stretch}
  .tw-modal-foot .tw-btn,.tw-fee-cta{width:100%;align-self:stretch}
  .tw-btn{white-space:normal;padding:15px 20px;font-size:11.5px;letter-spacing:.14em}
  .tw-footer-tag{white-space:normal}
  .tw-hero-actions{flex-direction:column;align-items:stretch}
  .tw-hero-actions .tw-btn{width:100%}
  .tw-levelcards,.tw-pillars,.tw-level-switch,.tw-level-head{grid-template-columns:1fr}
  .tw-levelcard,.tw-pillar{padding:28px 22px}
  .tw-level-cta{flex-direction:column;align-items:stretch}
  .tw-level-cta .tw-btn{width:100%}
}
@media (max-width:380px){
  .tw-brand img{width:38px}
  .tw-nav{gap:10px}
}
