:root { --navy:#061a39; --navy-2:#0a2c59; --blue:#0b6fd3; --green:#15963d; --mint:#eaf8ee; --cream:#f6f3eb; --gold:#e7b24e; --ink:#0b1b2d; --muted:#5d6978; --line:#dce2e7; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif, Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.shell { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.topbar { background:#041328; color:#dbe7f5; font-size:12px; letter-spacing:.07em; }
.topbar-inner { min-height:34px; display:flex; align-items:center; gap:28px; }
.topbar-note { opacity:.68; }
.topbar a { margin-left:auto; color:#8ee0a6; font-weight:700; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94); backdrop-filter:blur(18px); border-bottom:1px solid rgba(6,26,57,.1); }
.nav-wrap { height:82px; display:flex; align-items:center; gap:38px; }
.brand { display:flex; align-items:center; gap:10px; min-width:220px; }
.brand img { width:54px; height:54px; object-fit:cover; border-radius:50%; }
.brand span { display:flex; flex-direction:column; line-height:1; }
.brand strong { color:#07326c; font-size:21px; letter-spacing:.08em; }
.brand small { color:var(--green); text-transform:uppercase; font-size:10px; letter-spacing:.28em; margin-top:6px; }
nav { display:flex; align-items:center; justify-content:center; gap:26px; margin-left:auto; }
nav a { font-size:13px; font-weight:650; color:#26374a; }
nav a:hover { color:var(--blue); }
.nav-cta { padding:12px 18px; border:1px solid #b9c5d1; border-radius:999px; font-size:13px; font-weight:750; white-space:nowrap; }
.hero { position:relative; overflow:hidden; color:white; background:radial-gradient(circle at 78% 18%, #1668af 0, transparent 28%), linear-gradient(120deg,#03152f 0%,#062856 58%,#084889 100%); padding:82px 0 0; }
.hero:after { content:""; position:absolute; inset:auto -8% -270px 45%; width:760px; height:520px; border:1px solid rgba(255,255,255,.1); border-radius:50%; transform:rotate(-12deg); }
.hero-orb { position:absolute; border-radius:50%; filter:blur(1px); opacity:.4; }
.hero-orb-one { width:360px; height:360px; background:#079448; right:-130px; top:40px; }
.hero-orb-two { width:260px; height:260px; background:#087ee5; left:-160px; bottom:90px; }
.hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:center; min-height:600px; }
.eyebrow { margin:0 0 20px; text-transform:uppercase; color:#13713a; font-size:11px; font-weight:800; letter-spacing:.2em; }
.eyebrow.light { color:#76d994; }
h1,h2,blockquote { font-family:'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif, Georgia, serif; }
h1 { max-width:740px; margin:0; font-size:clamp(58px,6.7vw,92px); line-height:.87; letter-spacing:-.045em; font-weight:600; }
h1 em,h2 em { color:#63d383; font-weight:600; }
.hero-lede { max-width:620px; margin:30px 0 0; color:#d6e0eb; font-size:18px; line-height:1.7; }
.hero-actions { display:flex; gap:14px; margin-top:34px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:50px; padding:0 22px; border-radius:999px; font-size:14px; font-weight:800; transition:.2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:#29b556; color:#042614; box-shadow:0 12px 28px rgba(11,117,47,.28); }
.button-ghost { border:1px solid rgba(255,255,255,.38); color:white; }
.button-dark { background:var(--navy); color:white; }
.hero-trust { display:flex; gap:28px; margin-top:40px; color:#b8c8da; font-size:12px; }
.hero-trust span { display:flex; flex-direction:column; gap:2px; padding-left:12px; border-left:1px solid rgba(255,255,255,.24); }
.hero-trust b { color:white; font-size:16px; }
.hero-visual { position:relative; width:min(100%,460px); justify-self:end; }
.hero-visual:before { content:""; position:absolute; inset:-20px 36px 20px -20px; border:1px solid rgba(255,255,255,.18); border-radius:220px 220px 28px 28px; }
.hero-visual img { position:relative; z-index:1; width:100%; max-height:610px; object-fit:cover; object-position:center 26%; border-radius:220px 220px 28px 28px; box-shadow:0 28px 70px rgba(0,0,0,.4); }
.hero-card { position:absolute; z-index:3; left:-48px; bottom:45px; width:175px; padding:18px; background:rgba(255,255,255,.95); color:var(--ink); border-radius:14px; box-shadow:0 18px 45px rgba(0,0,0,.25); }
.hero-card p { margin:0 0 5px; color:#5d6a79; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.hero-card strong { display:block; font-family:'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif; font-size:25px; color:#053976; }
.hero-card span { font-size:11px; color:#147939; }
.program-strip { position:relative; z-index:3; display:flex; align-items:center; gap:10px; padding:22px 0 24px; border-top:1px solid rgba(255,255,255,.18); margin-top:52px; overflow-x:auto; scrollbar-width:none; }
.program-strip span { color:#72d38c; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.15em; margin-right:4px; white-space:nowrap; }
.program-strip a { padding:9px 16px; border:1px solid rgba(255,255,255,.23); border-radius:999px; color:#d9e4f0; font-size:12px; white-space:nowrap; }
.proof-band { background:white; border-bottom:1px solid var(--line); }
.proof-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.proof-grid div { padding:30px 30px; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:4px; }
.proof-grid div:first-child { border-left:1px solid var(--line); }
.proof-grid strong { color:var(--navy); font-family:'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif; font-size:26px; }
.proof-grid span { color:var(--muted); font-size:12px; }
.section { padding:110px 0; }
h2 { margin:0; font-size:clamp(44px,5vw,68px); line-height:.98; letter-spacing:-.035em; font-weight:600; }
.section-lede,.section-heading>p { color:var(--muted); font-size:16px; line-height:1.75; }
.italy-section { background:white; }
.italy-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:90px; align-items:center; }
.italy-grid>div:first-child>.section-lede { max-width:670px; margin-top:28px; }
.check-list { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; margin-top:28px; }
.check-list div { display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.5; }
.check-list span { flex:0 0 23px; width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:var(--mint); color:var(--green); font-weight:900; }
.notice { margin-top:30px; padding:18px 20px; background:#f8f5ed; border-left:3px solid var(--gold); }
.notice strong { font-size:13px; }
.notice p { margin:6px 0 0; color:#6c6d6a; font-size:11px; line-height:1.6; }
.italy-panel { position:relative; padding:34px; background:linear-gradient(145deg,#eef9f1,#f8fbff); border:1px solid #cfe1d5; border-radius:30px; box-shadow:0 24px 65px rgba(7,41,83,.11); }
.italy-panel:before { content:"ITALIA"; position:absolute; right:12px; top:-32px; color:rgba(18,129,55,.08); font-size:84px; font-weight:900; letter-spacing:-.08em; }
.flag-line { display:flex; align-items:center; gap:12px; position:relative; }
.flag-line span { font-size:34px; }
.flag-line p { font-weight:800; color:#0a3a73; }
.italy-panel dl { margin:26px 0; }
.italy-panel dl div { display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-top:1px solid #d7e5db; }
.italy-panel dt { color:var(--muted); font-size:12px; }
.italy-panel dd { margin:0; font-size:13px; font-weight:750; text-align:right; }
.italy-panel .button { width:100%; }
.italy-panel small { display:block; margin:14px 0 0; color:#738074; font-size:9px; line-height:1.5; text-align:center; }
.destinations { background:var(--cream); }
.split-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; margin-bottom:48px; }
.split-heading>p { margin:0; max-width:470px; }
.destination-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch; }
.destination-card { padding:28px; background:white; border:1px solid #dcdedb; border-radius:22px; box-shadow:0 12px 35px rgba(8,37,67,.05); }
.featured-destination { color:white; background:linear-gradient(155deg,#06234b,#0b4b88); border-color:#0c4c88; }
.destination-top { display:flex; align-items:center; justify-content:space-between; }
.destination-top>span { font-size:32px; }
.destination-top small { color:#74808e; text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.featured-destination .destination-top small { color:#82d99a; }
.destination-card h3 { margin:23px 0 8px; font-family:'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif; font-size:30px; line-height:1; }
.university { min-height:50px; margin:0; color:#697582; font-size:12px; line-height:1.5; }
.featured-destination .university { color:#c3d4e5; }
.big-fee { display:flex; flex-direction:column; margin:24px 0; padding:18px 0; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.big-fee span { color:#b9cadd; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.big-fee strong { margin-top:4px; color:#6ee18e; font-family:'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif; font-size:42px; }
.destination-card ul { margin:0; padding-left:17px; color:#d8e4ef; font-size:12px; line-height:1.85; }
.fee-table { margin-top:22px; border-top:1px solid var(--line); }
.fee-table div { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); font-size:10px; }
.fee-table strong { color:#07529b; white-space:nowrap; }
.fee-table.spacious div { padding:16px 0; font-size:11px; }
.fee-note { margin:20px 0 0; color:#75808c; font-size:9px; line-height:1.55; }
.featured-destination .fee-note { color:#aebfd0; }
.source-note { margin:18px 0 0; color:#7e858a; font-size:10px; text-align:right; }
.services { background:white; }
.section-heading.centered { max-width:720px; margin:0 auto 46px; text-align:center; }
.section-heading.centered>p:last-child { max-width:640px; margin:22px auto 0; }
.pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pillar-grid article { padding:36px; min-height:330px; border:1px solid var(--line); border-radius:22px; display:flex; flex-direction:column; }
.pillar-grid article>span { color:#1b8645; font-weight:850; font-size:11px; letter-spacing:.15em; }
.pillar-grid h3 { margin:52px 0 16px; font-family:'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif; font-size:30px; line-height:1; }
.pillar-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
.pillar-grid a { margin-top:auto; padding-top:28px; font-size:12px; font-weight:800; color:#0757a7; }
.pillar-grid .pillar-featured { background:var(--mint); border-color:#b9ddc5; transform:translateY(-16px); }
.process-section { color:white; background:radial-gradient(circle at 20% 10%,#0b4b85,transparent 28%),#04172e; }
.process-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.process-intro { position:sticky; top:130px; align-self:start; }
.process-intro p:not(.eyebrow) { color:#b6c5d5; line-height:1.7; }
.process-intro .button { margin-top:18px; }
.process-list { border-top:1px solid rgba(255,255,255,.17); }
.process-list article { display:grid; grid-template-columns:65px 1fr; gap:18px; padding:26px 0; border-bottom:1px solid rgba(255,255,255,.17); }
.process-list article>span { color:#60d786; font-size:11px; font-weight:850; }
.process-list h3 { margin:0 0 8px; font-family:'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif; font-size:26px; }
.process-list p { margin:0; color:#aebdce; font-size:12px; line-height:1.65; }
.other-programs { background:#eee8db; }
.program-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.program-grid article { min-height:240px; padding:26px; background:rgba(255,255,255,.6); border:1px solid rgba(9,34,60,.12); border-radius:18px; }
.program-grid span { color:#159244; font-size:10px; font-weight:800; }
.program-grid h3 { margin:55px 0 12px; font-family:'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif; font-size:25px; line-height:1.05; }
.program-grid p { color:var(--muted); font-size:11px; line-height:1.7; }
.about-section { color:white; background:linear-gradient(120deg,#05244a,#06203f); }
.about-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:100px; align-items:center; }
blockquote { margin:0; font-size:clamp(38px,4.2vw,58px); line-height:1.03; font-style:italic; }
.about-copy h2 { font-size:48px; }
.about-copy p { color:#b6c6d8; line-height:1.75; }
.values { display:flex; flex-wrap:wrap; gap:9px; margin-top:25px; }
.values span { padding:9px 13px; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#dce7f1; font-size:10px; }
.faq-section { background:white; }
.faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.faq-list { border-top:1px solid var(--line); }
details { border-bottom:1px solid var(--line); }
summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:15px; padding:24px 0; font-weight:700; font-size:14px; }
summary::-webkit-details-marker { display:none; }
summary span { color:var(--green); font-size:20px; transition:.2s; }
details[open] summary span { transform:rotate(45deg); }
details p { margin:0; padding:0 45px 24px 0; color:var(--muted); font-size:12px; line-height:1.75; }
.enquiry { padding:100px 0; color:white; background:linear-gradient(110deg,#073c7a,#075ca9 55%,#0c7e43); }
.enquiry-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:90px; align-items:center; }
.enquiry h2 { max-width:680px; }
.enquiry>div>div:first-child>p:last-child { max-width:610px; color:#d3e3f1; line-height:1.7; }
.contact-card { padding:32px; color:var(--ink); background:white; border-radius:22px; box-shadow:0 28px 70px rgba(0,0,0,.2); }
.contact-card h3 { margin:0; font-family:'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif; font-size:28px; }
.contact-card p,.contact-card li { color:var(--muted); font-size:12px; line-height:1.7; }
.contact-card ul { padding-left:18px; margin:12px 0 22px; }
.button.full { width:100%; }
.contact-line { display:block; margin:14px 0 0; color:#0757a7; font-weight:800; text-align:center; font-size:13px; }
.contact-card small { display:block; margin-top:9px; color:#8b939a; font-size:8px; text-align:center; }
footer { padding:70px 0 22px; color:#c7d3df; background:#031327; }
.footer-grid { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:60px; }
.footer-logo { min-width:0; }
.footer-logo img { width:46px; height:46px; }
.footer-brand p { max-width:330px; color:#7e91a7; font-size:12px; line-height:1.7; }
footer h4 { margin:0 0 18px; color:#61d581; text-transform:uppercase; letter-spacing:.14em; font-size:10px; }
footer>div>div:not(.footer-brand) { display:flex; flex-direction:column; gap:10px; }
footer>div>div:not(.footer-brand) a { color:#95a7ba; font-size:11px; }
.footer-bottom { display:flex; justify-content:space-between; gap:40px; margin-top:55px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); color:#60768e; font-size:9px; }
.footer-bottom a { color:#8da0b5; }
.footer-bottom a:hover { color:#d7e3ee; }
.floating-whatsapp { position:fixed; right:22px; bottom:22px; z-index:25; display:flex; align-items:center; gap:8px; padding:12px 17px; color:white; background:#18a84a; border-radius:999px; box-shadow:0 12px 30px rgba(0,0,0,.25); font-size:12px; font-weight:800; }
.floating-whatsapp span { color:white; font-size:10px; }

@media (max-width:1000px) {
  nav { display:none; }
  .nav-cta { margin-left:auto; }
  .hero-grid { grid-template-columns:1fr .72fr; gap:35px; }
  .hero-visual { max-width:360px; }
  .destination-grid { grid-template-columns:1fr 1fr; }
  .destination-card:last-child { grid-column:1/-1; }
  .program-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:760px) {
  .shell { width:min(100% - 28px,1180px); }
  .topbar-note { display:none; }
  .topbar-inner { gap:10px; font-size:9px; }
  .nav-wrap { height:68px; }
  .brand { min-width:0; }
  .brand img { width:44px; height:44px; }
  .brand strong { font-size:17px; }
  .brand small { font-size:8px; }
  .nav-cta { padding:10px 13px; font-size:10px; }
  .hero { padding-top:58px; }
  .hero-grid { grid-template-columns:1fr; min-height:0; }
  h1 { font-size:55px; }
  .hero-lede { font-size:15px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-trust { gap:12px; }
  .hero-visual { width:86%; max-width:390px; justify-self:center; margin-top:24px; }
  .hero-card { left:-20px; bottom:25px; }
  .program-strip { margin-top:35px; }
  .proof-grid { grid-template-columns:1fr 1fr; }
  .proof-grid div { padding:22px 14px; border-bottom:1px solid var(--line); }
  .section { padding:78px 0; }
  h2 { font-size:46px; }
  .italy-grid,.split-heading,.process-layout,.about-grid,.faq-grid,.enquiry-grid { grid-template-columns:1fr; gap:46px; }
  .check-list { grid-template-columns:1fr; }
  .destination-grid,.pillar-grid { grid-template-columns:1fr; }
  .destination-card:last-child { grid-column:auto; }
  .pillar-grid .pillar-featured { transform:none; }
  .process-intro { position:static; }
  .program-grid { grid-template-columns:1fr 1fr; }
  .about-grid { gap:60px; }
  .footer-grid { grid-template-columns:1.4fr 1fr; }
  .footer-bottom { flex-direction:column; gap:8px; }
}

@media (max-width:480px) {
  .topbar a { display:none; }
  .nav-cta { display:none; }
  h1 { font-size:48px; }
  .hero-trust { display:grid; grid-template-columns:1fr 1fr; }
  .hero-visual { width:94%; }
  .proof-grid,.program-grid,.footer-grid { grid-template-columns:1fr; }
  .proof-grid div { border-left:1px solid var(--line); }
  .footer-grid { gap:35px; }
  .floating-whatsapp { right:12px; bottom:12px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

/* Shared multi-page navigation */
.menu-toggle { display:none; margin-left:auto; padding:10px 14px; color:var(--navy); background:white; border:1px solid #bdc7d1; border-radius:999px; font:inherit; font-size:12px; font-weight:800; }
nav a.active { color:var(--blue); }

/* Inner-page foundations */
.page-main { min-height:60vh; }
.page-hero { position:relative; overflow:hidden; padding:92px 0 76px; color:white; background:radial-gradient(circle at 82% 12%,#126ec0 0,transparent 30%),linear-gradient(120deg,#03152f,#073f78); }
.page-hero:after { content:""; position:absolute; right:-130px; bottom:-260px; width:620px; height:420px; border:1px solid rgba(255,255,255,.14); border-radius:50%; transform:rotate(-14deg); }
.page-hero .shell { position:relative; z-index:1; }
.page-hero h1 { max-width:900px; font-size:clamp(54px,7vw,90px); line-height:.92; }
.page-hero .hero-lede { max-width:760px; }
.page-kicker { display:flex; flex-wrap:wrap; gap:9px; margin-top:30px; }
.page-kicker span { padding:9px 13px; color:#dce7f2; border:1px solid rgba(255,255,255,.22); border-radius:999px; font-size:11px; }
.page-subnav { position:sticky; top:82px; z-index:12; background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.page-subnav .shell { display:flex; gap:10px; padding:14px 0; overflow-x:auto; scrollbar-width:none; }
.page-subnav a { padding:9px 14px; color:#405063; background:#f3f6f8; border-radius:999px; font-size:11px; font-weight:800; white-space:nowrap; }
.inner-section { padding:92px 0; background:white; }
.inner-section.alt { background:var(--cream); }
.inner-section.dark { color:white; background:#04172e; }
.inner-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:end; margin-bottom:42px; }
.inner-heading>p { margin:0; color:var(--muted); font-size:15px; line-height:1.75; }
.dark .inner-heading>p { color:#b7c6d6; }
.metric-row { display:grid; grid-template-columns:repeat(4,1fr); background:white; border-bottom:1px solid var(--line); }
.metric-row div { padding:28px 24px; border-right:1px solid var(--line); }
.metric-row strong { display:block; color:var(--navy); font-family:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif; font-size:30px; }
.metric-row span { color:var(--muted); font-size:11px; }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.info-card { display:flex; flex-direction:column; min-height:250px; padding:28px; background:white; border:1px solid var(--line); border-radius:22px; box-shadow:0 12px 30px rgba(8,37,67,.05); }
.info-card .card-label { color:var(--green); text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:850; }
.info-card h3 { margin:30px 0 12px; font-family:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif; font-size:29px; line-height:1.05; }
.info-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.info-card a { margin-top:auto; padding-top:24px; color:#0757a7; font-size:12px; font-weight:800; }
.dark .info-card { background:#092545; border-color:rgba(255,255,255,.14); box-shadow:none; }
.dark .info-card p { color:#b5c6d7; }
.dark .info-card h3 { color:white; }
.course-list { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.course-item { display:grid; grid-template-columns:1fr auto; gap:18px; padding:22px; background:#f9fbfc; border:1px solid var(--line); border-radius:16px; }
.course-item h3 { margin:0 0 6px; font-size:16px; }
.course-item p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }
.course-item span { align-self:start; padding:6px 9px; color:#116e37; background:var(--mint); border-radius:999px; font-size:9px; font-weight:800; }
.section-note { margin-top:26px; padding:18px 20px; color:#645b46; background:#fbf6e9; border-left:3px solid var(--gold); font-size:11px; line-height:1.7; }
.cta-band { padding:78px 0; color:white; background:linear-gradient(110deg,#073c7a,#075ca9 55%,#0c7e43); }
.cta-band .shell { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; }
.cta-band h2 { max-width:760px; }
.cta-band p { max-width:700px; color:#d9e6f1; line-height:1.7; }
.button-outline { color:var(--navy); background:transparent; border:1px solid #9aa8b5; }

/* Admissions */
.lane-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.lane { padding:30px; background:white; border:1px solid var(--line); border-radius:22px; }
.lane b { display:block; margin-bottom:34px; color:var(--green); font-size:10px; letter-spacing:.16em; }
.lane h3 { margin:0 0 12px; font-family:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif; font-size:30px; }
.lane p,.lane li { color:var(--muted); font-size:12px; line-height:1.7; }
.lane ul { padding-left:17px; }
.quota-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.quota { display:grid; grid-template-columns:52px 1fr; gap:14px; padding:22px; border:1px solid rgba(255,255,255,.15); border-radius:17px; }
.quota>span { display:grid; place-items:center; width:46px; height:46px; color:#66dc88; border:1px solid rgba(255,255,255,.2); border-radius:50%; font-size:11px; font-weight:850; }
.quota h3 { margin:2px 0 7px; font-size:17px; }
.quota p { margin:0; color:#aebed0; font-size:11px; line-height:1.65; }
.timeline { border-top:1px solid var(--line); }
.timeline article { display:grid; grid-template-columns:150px 1fr; gap:35px; padding:25px 0; border-bottom:1px solid var(--line); }
.timeline time { color:#0e7b3d; font-size:11px; font-weight:850; }
.timeline h3 { margin:0 0 8px; font-family:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif; font-size:25px; }
.timeline p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }

/* About */
.about-story { display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; align-items:center; }
.about-story img { width:100%; max-height:560px; object-fit:cover; object-position:center 25%; border-radius:30px; box-shadow:0 24px 60px rgba(5,31,58,.14); }
.about-story p { color:var(--muted); line-height:1.8; }
.promise-list { display:grid; gap:12px; margin-top:25px; }
.promise-list div { padding:17px 19px; background:#f7faf8; border-left:3px solid var(--green); }
.promise-list strong { display:block; margin-bottom:5px; font-size:13px; }
.promise-list span { color:var(--muted); font-size:11px; line-height:1.55; }

/* Contact and forms */
.contact-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:60px; align-items:start; }
.contact-methods { display:grid; gap:12px; }
.contact-method { display:block; padding:22px; background:#f7fafb; border:1px solid var(--line); border-radius:16px; }
.contact-method small { display:block; color:var(--green); text-transform:uppercase; letter-spacing:.14em; font-size:9px; font-weight:850; }
.contact-method strong { display:block; margin:8px 0 3px; color:var(--navy); font-size:18px; }
.contact-method span { color:var(--muted); font-size:11px; }
.form-card { padding:34px; background:white; border:1px solid var(--line); border-radius:24px; box-shadow:0 24px 60px rgba(7,41,83,.1); }
.form-card h2 { margin-bottom:25px; font-size:46px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { color:#3d4e5e; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.field input,.field select,.field textarea { width:100%; padding:13px 14px; color:var(--ink); background:#fbfcfd; border:1px solid #cdd5dc; border-radius:11px; font:inherit; font-size:13px; }
.field textarea { min-height:130px; resize:vertical; }
.form-actions { display:flex; align-items:center; gap:15px; margin-top:20px; }
.form-status { margin:14px 0 0; color:#117339; font-size:11px; line-height:1.5; }

/* Career test */
.quiz-shell { max-width:900px; margin:0 auto; padding:42px; background:white; border:1px solid var(--line); border-radius:28px; box-shadow:0 25px 70px rgba(7,41,83,.12); }
.quiz-shell [hidden] { display:none !important; }
.quiz-intro { text-align:center; }
.quiz-intro h2 { font-size:54px; }
.quiz-intro p { max-width:650px; margin:20px auto 28px; color:var(--muted); line-height:1.75; }
.quiz-progress { height:7px; overflow:hidden; background:#e8edf0; border-radius:999px; }
.quiz-progress span { display:block; height:100%; background:linear-gradient(90deg,var(--green),#5cd47f); border-radius:inherit; }
.quiz-count { color:var(--green); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:850; }
.quiz-shell [data-quiz-stage] h2 { margin:22px 0 30px; font-size:42px; }
.quiz-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.quiz-options button { min-height:78px; padding:16px 18px; color:var(--ink); background:#f7faf8; border:1px solid #cfded4; border-radius:14px; font:inherit; font-size:13px; font-weight:750; text-align:left; cursor:pointer; }
.quiz-options button:hover { color:#0c6e36; background:var(--mint); border-color:#91c9a2; }
.result-list { display:grid; gap:10px; margin:28px 0; }
.result-list span { display:flex; align-items:center; gap:15px; padding:16px; background:#f5f8fa; border-radius:13px; font-weight:750; }
.result-list b { color:var(--green); font-size:11px; }

/* Legal */
.legal-wrap { display:grid; grid-template-columns:240px minmax(0,760px); gap:70px; align-items:start; }
.legal-nav { position:sticky; top:130px; display:flex; flex-direction:column; gap:9px; padding:20px; background:#f7f9fa; border:1px solid var(--line); border-radius:16px; }
.legal-nav strong { margin-bottom:7px; color:var(--green); text-transform:uppercase; letter-spacing:.13em; font-size:9px; }
.legal-nav a { color:#536170; font-size:11px; }
.legal-copy h2 { margin:44px 0 13px; font-size:34px; }
.legal-copy h2:first-child { margin-top:0; }
.legal-copy p,.legal-copy li { color:var(--muted); font-size:13px; line-height:1.8; }
.legal-copy ul { padding-left:20px; }
.legal-updated { margin:0 0 28px; color:#0e7a3c; font-size:11px; font-weight:800; }

@media (max-width:1000px) {
  .menu-toggle { display:block; }
  .site-header .nav-cta { display:none; }
  .site-header nav { display:none; position:absolute; top:100%; left:20px; right:20px; margin:0; padding:14px; background:white; border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 45px rgba(6,26,57,.16); }
  .site-header.nav-open nav { display:grid; gap:4px; }
  .site-header nav a { padding:12px 13px; border-radius:9px; }
  .site-header nav a.active { background:#eef6fb; }
  .page-subnav { top:68px; }
  .card-grid,.lane-grid { grid-template-columns:1fr 1fr; }
  .contact-layout { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  .page-hero { padding:66px 0 58px; }
  .page-hero h1 { font-size:52px; }
  .page-subnav { top:68px; }
  .inner-section { padding:70px 0; }
  .inner-heading,.about-story,.cta-band .shell,.legal-wrap { grid-template-columns:1fr; gap:35px; }
  .metric-row { grid-template-columns:1fr 1fr; }
  .card-grid,.lane-grid,.course-list,.quota-grid { grid-template-columns:1fr; }
  .timeline article { grid-template-columns:1fr; gap:8px; }
  .field-grid,.quiz-options { grid-template-columns:1fr; }
  .form-card,.quiz-shell { padding:25px; }
  .quiz-intro h2 { font-size:43px; }
  .quiz-shell [data-quiz-stage] h2 { font-size:35px; }
  .legal-nav { position:static; }
  .cta-band .hero-actions { align-items:stretch; }
}

@media (max-width:480px) {
  .page-hero h1 { font-size:45px; }
  .metric-row { grid-template-columns:1fr; }
  .form-actions { align-items:stretch; flex-direction:column; }
  .form-actions .button { width:100%; }
}
