:root{--navy:#153b52;--blue:#1e5b78;--gold:#d7b36a;--cream:#f8f6f1;--ink:#17252d;--muted:#68777e;--white:#fff;--line:#dfe5e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.topbar{background:#102f40;color:#d9e4e9;font-size:12px}.topbar-inner{height:34px;display:flex;align-items:center;justify-content:space-between}.topbar a{color:inherit;text-decoration:none;margin-left:22px}.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(20,60,80,.08)}.nav-inner{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy)}.brand-c2{font-family:'Playfair Display',serif;font-size:42px;line-height:1;color:var(--gold)}.brand b{display:block;font-size:14px;letter-spacing:.13em}.brand small{display:block;font-size:9px;letter-spacing:.24em;margin-top:3px}.nav nav{display:flex;align-items:center;gap:28px}.nav nav a{text-decoration:none;color:#29434f;font-size:13px;font-weight:600}.nav-cta{padding:12px 17px;border:1px solid var(--navy)}.menu{display:none;background:none;border:0;font-size:24px}.hero{min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:url('../assets/images/01-home/01-hero-c2-english-school-ireland.webp');background-size:cover;background-position:center 55%;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,55,47,.90) 0%,rgba(27,70,56,.72) 38%,rgba(35,82,63,.32) 68%,rgba(15,48,54,.06) 100%)}.hero-content{position:relative;color:#fff;padding:95px 0 75px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--blue)}.eyebrow.light{color:#f1d798}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(55px,7vw,92px);line-height:.96;font-weight:500;max-width:850px;margin:18px 0 24px}.hero h1 em{color:#f2d99f;font-style:italic}.hero p{font-size:18px;line-height:1.65;max-width:660px;color:#edf4f6}.hero-actions{display:flex;gap:12px;margin:34px 0 52px}.btn{display:inline-flex;padding:15px 22px;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.02em}.gold{background:var(--gold);color:#163546}.glass{color:#163546;border:1px solid rgba(255,255,255,.86);background:rgba(250,248,242,.90);box-shadow:0 8px 22px rgba(7,31,44,.14);backdrop-filter:blur(7px)}.cream{background:var(--cream);color:var(--navy)}.hero-proof{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.25);max-width:760px}.hero-proof span{padding:20px 30px 0 0;margin-right:30px;border-right:1px solid rgba(255,255,255,.2);font-size:12px;color:#dce8ec}.hero-proof span:last-child{border:0}.hero-proof b{display:block;color:#fff;font-size:16px;margin-bottom:4px}.intro{padding:105px 0;background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.intro h2,.section-head h2,.story-copy h2,.cta h2{font-family:'Playfair Display',serif;font-weight:500;color:var(--navy)}.intro h2{font-size:48px;line-height:1.13;margin:14px 0}.intro-copy{font-size:16px;line-height:1.8;color:#53646c}.text-link{color:var(--navy);font-weight:700;text-decoration:none}.promise{padding:105px 0}.section-head{margin-bottom:46px}.section-head.center{text-align:center;max-width:700px;margin:0 auto 52px}.section-head h2{font-size:45px;margin:12px 0}.section-head p{color:var(--muted);line-height:1.7}.promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.promise-grid article{padding:32px 30px 12px 0;margin-right:30px;border-right:1px solid var(--line)}.promise-grid article:last-child{border:0}.promise-grid span{color:var(--gold);font-family:'Playfair Display',serif;font-size:22px}.promise-grid h3{color:var(--navy);font-size:18px;margin:24px 0 10px}.promise-grid p{color:var(--muted);line-height:1.7;font-size:14px}.programmes{background:#eef2f1;padding:110px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;box-shadow:0 10px 35px rgba(20,50,60,.07);overflow:hidden;transition:.3s}.card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(20,50,60,.12)}.card-img{height:260px;background-size:cover;background-position:center}.card-img.ireland{background-image:url('https://static.wixstatic.com/media/b97bb7_af3e0d2b04134ca4aea13d08d5179472~mv2.jpg')}.card-img.online{background-image:url('https://static.wixstatic.com/media/b97bb7_89f0d792b2ac47c591bb020cd185684a~mv2.jpg')}.card-img.exams{background-image:url('https://static.wixstatic.com/media/b97bb7_b6f80d1abf534abea41b93487bbccf3c~mv2.jpg')}.card-body{padding:30px}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--blue);font-weight:700}.card h3{font-family:'Playfair Display',serif;font-size:29px;color:var(--navy);margin:9px 0 13px}.card p,.card li{color:var(--muted);font-size:14px;line-height:1.65}.card ul{padding-left:18px;margin:18px 0 25px}.card a{color:var(--navy);text-decoration:none;font-weight:700;font-size:13px}.ireland-story{display:grid;grid-template-columns:1.1fr .9fr;min-height:650px;background:var(--navy)}.story-photo{background-image:url('https://static.wixstatic.com/media/b97bb7_2a15f54bef9b4b698ab9e6b46c350006~mv2.jpg');background-size:cover;background-position:center}.story-copy{padding:85px 8vw;color:#eaf1f3;align-self:center}.story-copy h2{color:#fff;font-size:52px;line-height:1.05;margin:15px 0 20px}.story-copy p{line-height:1.75;max-width:550px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.stats b{display:block;color:#f0d596;font-family:'Playfair Display',serif;font-size:27px}.stats span{font-size:11px;color:#cbd9de}.quote{padding:100px 0;background:#fff}.quote-inner{text-align:center;max-width:850px}.quote-mark{font-family:'Playfair Display',serif;font-size:70px;color:var(--gold);line-height:.5}.quote blockquote{font-family:'Playfair Display',serif;color:var(--navy);font-size:36px;line-height:1.35;margin:25px 0}.quote p{color:var(--muted)}.cta{background:#1d5b77;padding:78px 0;color:#fff}.cta-inner{display:grid;grid-template-columns:1.5fr .5fr;gap:70px;align-items:center}.cta h2{color:#fff;font-size:43px;margin:12px 0}.cta p{color:#dbe8ed}.cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.contact-link{color:#fff;text-decoration:none;font-size:13px}footer{background:#102f40;color:#bfcdd3;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:80px}.footer-brand{color:#fff}.footer-grid p{font-size:13px;line-height:1.7;max-width:390px}.footer-grid h4{color:#fff;margin:0 0 18px}.footer-grid>div>a:not(.brand){display:block;color:#bfcdd3;text-decoration:none;font-size:13px;margin:10px 0}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:22px;font-size:11px}
@media(max-width:900px){.topbar{display:none}.nav nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:25px 24px;flex-direction:column;align-items:flex-start;box-shadow:0 15px 30px rgba(0,0,0,.08)}.nav nav.open{display:flex}.menu{display:block}.hero{min-height:680px}.hero-shade{background:linear-gradient(90deg,rgba(18,55,47,.92),rgba(27,70,56,.62))}.intro-grid,.ireland-story,.cta-inner{grid-template-columns:1fr}.intro-grid{gap:25px}.promise-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.card-img{height:340px}.story-photo{min-height:450px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.wrap{width:min(100% - 30px,1180px)}.nav-inner{height:72px}.brand-c2{font-size:35px}.brand b{font-size:11px}.hero{min-height:720px}.hero-content{padding:75px 0 50px}.hero h1{font-size:52px}.hero p{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-proof{display:grid;grid-template-columns:1fr 1fr}.hero-proof span{margin:0 12px 12px 0}.intro,.promise,.programmes,.quote{padding:75px 0}.intro h2,.section-head h2{font-size:38px}.promise-grid{grid-template-columns:1fr}.promise-grid article{border-right:0;border-bottom:1px solid var(--line)}.card-img{height:240px}.story-photo{min-height:330px}.story-copy{padding:65px 25px}.story-copy h2{font-size:43px}.stats{grid-template-columns:1fr}.quote blockquote{font-size:29px}.cta h2{font-size:37px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>div:first-child{grid-column:auto}}

/* 2027 C2 logo */
.brand-logo{display:flex;align-items:center;height:100%;}
.brand-logo img{display:block;width:auto;height:72px;object-fit:contain;}
@media(max-width:600px){.brand-logo img{height:60px;}}

/* C2 two-tier navigation — mirrors the current site's information architecture */
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(20,60,80,.08)}
.header-grid{min-height:116px;display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center}
.site-header .brand-logo{justify-content:flex-start}
.site-header .brand-logo img{height:96px;max-width:140px}
.header-links{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:13px}
.utility-nav,.main-nav{display:flex;align-items:center;justify-content:flex-end}
.utility-nav{gap:25px}
.utility-nav a,.main-nav a{color:#0f4968;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}
.whatsapp-link{display:flex;align-items:center;gap:8px}.whatsapp-icon{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#21b85b;color:#fff;font-size:12px;border:2px solid #21b85b;box-shadow:inset 0 0 0 2px #fff}
.main-nav{gap:0}.main-nav a{font-size:16px;padding:0 16px;border-right:1px solid #aebcc3}.main-nav a:last-child{border-right:0;padding-right:0}.main-nav a.active{color:#087a4d}
@media(max-width:900px){.header-grid{min-height:82px;grid-template-columns:110px 1fr}.site-header .brand-logo img{height:72px;max-width:105px}.utility-nav{display:none}.header-links{align-items:flex-end}.site-header .menu{display:block}.site-header .main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:25px 24px;flex-direction:column;align-items:flex-start;box-shadow:0 15px 30px rgba(0,0,0,.08)}.site-header .main-nav.open{display:flex}.site-header .main-nav a{border-right:0;padding:10px 0;font-size:15px}}
@media(max-width:600px){.header-grid{min-height:74px}.site-header .brand-logo img{height:64px}}

/* Homepage editorial workshop section */
.intro-editorial{display:grid;grid-template-columns:.92fr 1.08fr;gap:78px;align-items:center}
.intro-message h2{font-family:'Playfair Display',serif;font-weight:500;color:var(--navy);font-size:48px;line-height:1.13;margin:14px 0 24px}
.intro-message .intro-copy{font-size:15px;line-height:1.72;color:#53646c;max-width:570px}
.intro-message .intro-copy p{margin:0 0 14px}.intro-message .intro-copy strong{color:var(--navy)}
.intro-photo{margin:0}.intro-photo img{display:block;width:100%;aspect-ratio:16/8.5;object-fit:cover;border-radius:14px;box-shadow:0 12px 30px rgba(20,50,60,.12)}
.intro-photo figcaption{padding-top:10px;color:#53646c;font-size:12px;line-height:1.5}.intro-photo figcaption strong,.intro-photo figcaption span{display:block}.intro-photo figcaption strong{color:var(--navy);font-size:13px;margin-bottom:2px}
@media(max-width:900px){.intro-editorial{grid-template-columns:1fr;gap:42px}.intro-message .intro-copy{max-width:none}}
@media(max-width:600px){.intro-message h2{font-size:38px}.intro-photo img{border-radius:10px;aspect-ratio:4/3}}
/* Explore C2 — product gateways */
.programmes{background:#f4f4ef}
.programmes .section-head.center{max-width:780px}
.programmes .section-head.center .eyebrow{color:#b97c19}
.cards{align-items:stretch}
.card{border-radius:12px;display:flex;flex-direction:column}
.card-photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.card-body{display:flex;flex-direction:column;flex:1}
.card .tag{color:#b97c19}
.card h3{font-size:31px}
.card ul{flex:1}
.card li::marker{color:#b97c19}
.card a{align-self:flex-start;border-bottom:1px solid #b97c19;padding-bottom:5px}

.c2-experience{background:var(--cream);padding:105px 0 82px}.experience-main{display:grid;grid-template-columns:.72fr 1.28fr;gap:58px;align-items:center}.experience-copy h2{font-family:'Playfair Display',serif;font-weight:500;color:var(--navy);font-size:58px;line-height:1.02;margin:13px 0 25px}.experience-copy p{color:#53646c;font-size:15px;line-height:1.72;max-width:510px}.experience-copy .btn{margin-top:10px;text-transform:uppercase;letter-spacing:.08em}.experience-photo{margin:0}.experience-photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:22px;box-shadow:0 16px 42px rgba(20,50,60,.12)}.experience-benefits{display:grid;grid-template-columns:repeat(5,1fr);margin-top:58px;border-top:1px solid #ddd8cc}.experience-benefits article{padding:30px 25px 0;border-right:1px solid #ddd8cc}.experience-benefits article:first-child{padding-left:0}.experience-benefits article:last-child{border-right:0;padding-right:0}.experience-benefits article>span{font-family:'Playfair Display',serif;color:#c48a2c;font-size:19px}.experience-benefits h3{font-family:'Playfair Display',serif;color:var(--navy);font-size:20px;line-height:1.18;margin:13px 0 10px}.experience-benefits p{color:#68777e;font-size:13px;line-height:1.58;margin:0}@media(max-width:900px){.experience-main{grid-template-columns:1fr}.experience-benefits{grid-template-columns:1fr 1fr}}@media(max-width:600px){.c2-experience{padding:75px 0 60px}.experience-copy h2{font-size:42px}.experience-photo img{aspect-ratio:4/3;border-radius:14px}.experience-benefits{grid-template-columns:1fr}.experience-benefits article{padding:24px 0;border-right:0;border-bottom:1px solid #ddd8cc}}

/* Rich footer v06 */
.site-footer{background:#0f506b;color:#e7f0f2;padding:0}.footer-main{display:grid;grid-template-columns:1.25fr 1fr .9fr .8fr 1.45fr;gap:34px;padding:70px 0 52px}.site-footer h3{font-family:'Playfair Display',serif;color:#fff;font-size:24px;font-weight:500;margin:0 0 22px}.site-footer p,.site-footer a{font-size:13px;line-height:1.65}.site-footer a{color:#e7f0f2;text-decoration:none}.footer-about p{max-width:260px}.footer-tagline{font-family:'Playfair Display',serif!important;font-style:italic;color:#e1b65e!important;font-size:22px!important;margin:24px 0 18px}.footer-contact>a:not(.footer-button),.footer-links>a,.footer-social>a{display:block;margin:8px 0}.footer-button{display:inline-block!important;background:#d7b36a;color:#153b52!important;padding:12px 19px;margin-top:14px;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.footer-trust p{margin-top:-7px;color:#d2e0e4}.trust-names{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;align-items:center;margin-top:24px}.trust-names span{color:#fff;font-size:20px;font-weight:700;line-height:1.05}.trust-names small{font-size:9px;font-weight:500}.trust-names .ielts{font-size:30px}.trust-names .elt{font-size:27px}.trust-names img{display:block;width:100%;max-width:165px;height:auto;filter:brightness(0) invert(1);opacity:.95}.footer-highlights{border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.2)}.footer-highlights>.wrap{display:grid;grid-template-columns:repeat(4,1fr)}.footer-highlights div div{padding:22px 25px;border-right:1px solid rgba(255,255,255,.22)}.footer-highlights div div:first-child{padding-left:0}.footer-highlights div div:last-child{border:0}.footer-highlights b,.footer-highlights span{display:block}.footer-highlights b{font-family:'Playfair Display',serif;color:#fff;font-size:17px;margin-bottom:4px}.footer-highlights span{font-size:11px;color:#d3e1e5}.footer-legal{background:#f8f6f1;color:#315264}.footer-legal>.wrap{min-height:58px;display:flex;align-items:center;justify-content:space-between;font-size:11px}.footer-legal nav{display:flex;gap:25px}.footer-legal a{color:#315264;font-size:11px}@media(max-width:1050px){.footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-trust{grid-column:2/4}.footer-social{grid-column:1}.footer-highlights>.wrap{grid-template-columns:1fr 1fr}}@media(max-width:650px){.footer-main{grid-template-columns:1fr;gap:30px;padding:55px 0 38px}.footer-trust,.footer-social{grid-column:auto}.trust-names{max-width:360px}.footer-highlights>.wrap{grid-template-columns:1fr}.footer-highlights div div{padding:18px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.footer-legal>.wrap{padding:18px 0;display:block}.footer-legal nav{margin-top:10px;gap:16px;flex-wrap:wrap}}

/* v07 — calmer footer, real C2 footer logo, three highlights */
.footer-main{grid-template-columns:1.25fr 1fr .9fr .85fr 1.45fr;gap:42px;padding:66px 0 54px}
.footer-c2-logo{display:block;width:205px;max-width:100%;height:auto}
.footer-logo-link{display:inline-block}
.footer-tagline{margin:25px 0 18px!important}
.footer-trust p{max-width:330px}
.trust-names{gap:22px 28px;margin-top:28px}
.trust-names img{max-width:170px;filter:none;opacity:1}
.footer-highlights>.wrap{grid-template-columns:repeat(3,1fr)}
.footer-highlights div div{padding:25px 36px}
.footer-highlights div div:first-child{padding-left:0}
.footer-highlights div div:last-child{padding-right:0}
@media(max-width:1050px){
  .footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:38px}
  .footer-trust{grid-column:2/4}
  .footer-highlights>.wrap{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .footer-c2-logo{width:185px}
  .footer-highlights>.wrap{grid-template-columns:1fr}
  .footer-highlights div div{padding:19px 0}
}

/* v08 — slimmer, quieter footer */
.footer-main{
  grid-template-columns:.92fr 1fr .9fr .85fr 1.38fr;
  gap:46px;
  padding:48px 0 42px;
  align-items:start;
}
.footer-about{max-width:220px}
.footer-c2-logo{
  width:132px;
  max-width:132px;
  height:auto;
}
.footer-tagline{
  margin:18px 0 0!important;
  font-size:22px!important;
  line-height:1.25!important;
}
.footer-trust .trust-names img{
  width:150px;
  max-width:150px;
  height:auto;
  object-fit:contain;
  filter:none;
  opacity:.96;
}
.footer-highlights div div{padding-top:22px;padding-bottom:22px}
@media(max-width:1050px){
  .footer-c2-logo{width:120px;max-width:120px}
  .footer-about{max-width:200px}
}
@media(max-width:700px){
  .footer-main{padding:42px 0 34px}
  .footer-c2-logo{width:112px;max-width:112px}
  .footer-about{max-width:none}
}

/* v09 — footer matched to approved visual mock-up */
.footer-main{grid-template-columns:.72fr 1.05fr .95fr .9fr 1.65fr;gap:54px;padding:50px 0 48px;align-items:start}
.footer-about{max-width:190px;text-align:center;padding-top:4px}
.footer-logo-link{display:inline-block}
.footer-c2-logo{width:96px;max-width:96px;height:auto;margin:0 auto}
.footer-tagline{margin:18px 0 0!important;font-size:17px!important;line-height:1.2!important;white-space:nowrap}
.footer-trust p{max-width:360px;margin-bottom:20px}
.trust-names{display:flex;grid-template-columns:none;gap:0;align-items:center;margin-top:18px}
.trust-names>span,.trust-names>.epic-link{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 22px;border-right:1px solid rgba(255,255,255,.32)}
.trust-names>span:first-child{padding-left:0}
.trust-names>.epic-link{border-right:0;padding-right:0}
.trust-names .ielts{font-size:27px}
.trust-names .elt{font-size:25px;line-height:1}
.footer-trust .trust-names .epic-link img{width:112px;max-width:112px;height:auto;filter:none;opacity:.96}
.footer-highlights div div{padding-top:23px;padding-bottom:23px}
@media(max-width:1050px){.footer-main{grid-template-columns:1fr 1fr 1fr;gap:38px}.footer-about{text-align:left}.footer-c2-logo{margin:0}.footer-tagline{white-space:normal}.footer-trust{grid-column:2/4}.trust-names{flex-wrap:wrap;row-gap:16px}}
@media(max-width:650px){.footer-main{grid-template-columns:1fr;padding:42px 0 34px}.footer-about{text-align:left;max-width:none}.footer-c2-logo{width:88px;max-width:88px;margin:0}.footer-tagline{font-size:16px!important}.footer-trust{grid-column:auto}.trust-names{justify-content:flex-start}.trust-names>span,.trust-names>.epic-link{padding:0 14px}.trust-names>span:first-child{padding-left:0}.footer-trust .trust-names .epic-link img{width:98px;max-width:98px}}

/* v10 — give navigation columns enough room to stay on one line */
@media (min-width:1051px){
  .footer-main{
    grid-template-columns:.68fr 1.02fr 1.22fr 1.08fr 1.72fr;
    gap:38px;
  }
  .footer-links a,.footer-social a{white-space:nowrap}
}


/* v11 — testimonial bridge between consultation CTA and footer */
.testimonials{background:#f8f6f1;padding:82px 0 76px;color:#153b52}
.testimonials-head{text-align:center;max-width:760px;margin:0 auto 52px}
.testimonials-head .eyebrow{color:#b97c19}
.testimonials-head h2{font-family:'Playfair Display',serif;font-weight:500;font-size:48px;line-height:1.08;margin:12px 0 14px;color:#153b52}
.testimonials-head p{margin:0;color:#607078;font-size:15px}
.testimonial-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.testimonial-card{text-align:center;padding:0 27px;min-height:330px;border-right:1px solid #ddd8cc}
.testimonial-card:last-child{border-right:0}
.student-medallion{width:88px;height:88px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #d8d4ca;box-shadow:0 7px 20px rgba(20,50,60,.07);font-family:'Playfair Display',serif;font-size:27px;color:#153b52}
.testimonial-mark{display:block;height:38px;font-family:'Playfair Display',serif;font-size:54px;line-height:.9;color:#1e5b78}
.testimonial-card blockquote{margin:12px auto 20px;color:#234f65;font-size:14px;line-height:1.55;max-width:205px}
.testimonial-card h3{font-family:'Playfair Display',serif;font-size:17px;margin:0;color:#153b52}
.student-country{margin:3px 0 0;color:#16814f;font-weight:700;font-size:14px}
.story-label{margin:28px 0 22px;color:#89969b;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.testimonial-pending{opacity:.72}
@media(max-width:1050px){.testimonial-grid{grid-template-columns:repeat(2,1fr);row-gap:45px}.testimonial-card{border-right:0;border-bottom:1px solid #ddd8cc;padding-bottom:35px}.testimonial-card:last-child{grid-column:1/-1;max-width:360px;justify-self:center;width:100%}}
@media(max-width:650px){.testimonials{padding:65px 0 58px}.testimonials-head h2{font-size:39px}.testimonial-grid{grid-template-columns:1fr}.testimonial-card,.testimonial-card:last-child{grid-column:auto;max-width:none;min-height:0;padding:0 0 34px;margin-bottom:34px}.student-medallion{width:78px;height:78px}.testimonial-pending{display:none}}

/* v12 — desire-led homepage */
.world-choice{padding:88px 0;background:#f7f4ed}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}.world-card{position:relative;min-height:520px;border-radius:4px;overflow:hidden;color:#fff;display:flex;align-items:flex-end;text-decoration:none;transition:transform .25s ease}.world-card:hover{transform:translateY(-4px)}.world-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.world-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(4,35,55,.78) 100%)}.world-card.online:after{background:linear-gradient(180deg,rgba(10,61,95,.06),rgba(8,50,78,.88))}.world-copy{position:relative;z-index:2;padding:42px;max-width:520px}.world-copy .eyebrow{color:#f0c46c}.world-copy h3{font-family:'Playfair Display',serif;font-size:44px;line-height:1.03;margin:10px 0 12px}.world-copy p{font-size:17px;line-height:1.55;margin:0 0 18px}.world-link{font-weight:700;color:#fff}.proof-strip{background:#0f3f5a;color:#fff}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-grid div{padding:35px 28px;border-right:1px solid rgba(255,255,255,.18)}.proof-grid div:last-child{border:0}.proof-grid strong{font-family:'Playfair Display',serif;font-size:42px;color:#e3b85f;display:block}.proof-grid span{font-size:13px;opacity:.9}.ireland-story{padding:100px 0;background:#fbf7ef}.split-story{display:grid;grid-template-columns:.85fr 1.4fr;gap:72px;align-items:center}.split-story h2,.online-story h2,.people-story h2{font-family:'Playfair Display',serif;font-size:52px;line-height:1.04;color:#103b54;margin:12px 0 22px}.story-lead{font-size:19px;line-height:1.65;color:#435a66}.day-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.day-grid figure{margin:0;position:relative;height:220px;overflow:hidden}.day-grid img{width:100%;height:100%;object-fit:cover}.day-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 18px 15px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;font-weight:700}.online-story{padding:100px 0;background:#eaf3f7}.online-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}.online-visual img{width:100%;display:block;border-radius:4px}.learning-flow{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border-top:1px solid #9fb8c5;border-bottom:1px solid #9fb8c5}.learning-flow span{padding:18px 8px;text-align:center;font-size:12px;font-weight:700;border-right:1px solid #9fb8c5}.learning-flow span:last-child{border:0}.exam-band{padding:48px 0;background:#fff}.exam-inner{display:grid;grid-template-columns:1.2fr 1fr auto;gap:40px;align-items:center}.exam-inner h3{font-family:'Playfair Display',serif;font-size:30px;color:#103b54;margin:0}.exam-pills{font-weight:600;color:#51646e}.people-story{padding:92px 0;background:#f7f4ed}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.people-photo{min-height:380px;background:#e8e2d7;display:flex;align-items:center;justify-content:center;padding:35px;text-align:center;color:#6b777c}.people-note{font-size:13px;line-height:1.6}.people-names{display:flex;gap:35px;margin-top:28px}.people-names b{display:block;color:#103b54}.people-names span{font-size:13px;color:#61737c}.v12-hide{display:none!important}@media(max-width:800px){.world-grid,.split-story,.online-layout,.people-grid,.exam-inner{grid-template-columns:1fr}.world-card{min-height:410px}.proof-grid{grid-template-columns:1fr 1fr}.split-story,.online-layout{gap:36px}.day-grid{grid-template-columns:1fr}.learning-flow{grid-template-columns:1fr 1fr}.world-copy h3,.split-story h2,.online-story h2,.people-story h2{font-size:38px}}

/* v13 — two recognisable C2 worlds */
:root{--ireland:#486b5a;--ireland-deep:#355646;--ireland-pale:#eef2ec;--ireland-line:#cbd8cf;--online:#286f98;--online-deep:#174f72;--online-pale:#edf5fa;--online-line:#c7dce8}
.world-choice{background:#f8f6f1}
.world-card{border-radius:10px;isolation:isolate}
.world-card.ireland{outline:1px solid rgba(72,107,90,.18)}
.world-card.ireland:after{background:linear-gradient(180deg,rgba(30,67,48,.03) 20%,rgba(37,75,56,.91) 100%)}
.world-card.ireland .eyebrow{color:#dfe9df}
.world-card.ireland .world-link{display:inline-block;border-bottom:2px solid #dfe9df;padding-bottom:3px}
.world-card.online{outline:1px solid rgba(40,111,152,.18)}
.world-card.online:after{background:linear-gradient(180deg,rgba(23,79,114,.02) 20%,rgba(19,71,104,.92) 100%)}
.world-card.online .eyebrow{color:#d9edf8}
.world-card.online .world-link{display:inline-block;border-bottom:2px solid #d9edf8;padding-bottom:3px}
.ireland-story{background:var(--ireland-pale);border-top:1px solid var(--ireland-line);border-bottom:1px solid var(--ireland-line)}
.ireland-story .eyebrow,.ireland-story .text-link{color:var(--ireland-deep)}
.ireland-story h2{color:var(--ireland-deep)}
.ireland-story .day-grid figure{border-radius:6px}
.online-story{background:var(--online-pale);border-top:1px solid var(--online-line);border-bottom:1px solid var(--online-line)}
.online-story .eyebrow,.online-story .text-link{color:var(--online-deep)}
.online-story h2{color:var(--online-deep)}
.online-story .learning-flow{border-color:var(--online-line)}
.online-story .learning-flow span{border-color:var(--online-line);color:var(--online-deep)}
.more-than-school{padding:105px 0;background:#f8f6f1}
.more-than-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:82px;align-items:center}
.more-than-copy h2{font-family:'Playfair Display',serif;font-weight:500;color:var(--navy);font-size:50px;line-height:1.08;margin:15px 0 25px}
.more-than-copy p{font-size:15px;line-height:1.75;color:#53646c;max-width:600px}
.more-than-copy strong{color:var(--navy)}
.more-than-copy .text-link{display:inline-block;margin-top:3px}
.more-than-photo{margin:0}
.more-than-photo img{display:block;width:100%;aspect-ratio:1.7/1;object-fit:cover;border-radius:10px}
.more-than-photo figcaption{padding-top:12px;color:#53646c;font-size:12px;line-height:1.5}
.more-than-photo figcaption b{display:block;color:var(--navy);font-size:13px;margin-bottom:2px}
.promise{background:#fff}
@media(max-width:800px){.more-than-grid{grid-template-columns:1fr;gap:38px}.more-than-copy h2{font-size:39px}.more-than-copy h2 br{display:none}.more-than-school{padding:75px 0}}

/* v14 — immersive Ireland: panoramic, centred, green proof system */
.immersive-ireland{padding:0;background:var(--ireland-pale);border-top:1px solid var(--ireland-line);border-bottom:0}
.ireland-intro{text-align:center;max-width:900px;padding:92px 24px 52px}
.ireland-intro .eyebrow{color:var(--ireland-deep)}
.ireland-intro h2{font-family:'Playfair Display',serif;font-weight:500;font-size:58px;line-height:1.04;color:var(--ireland-deep);margin:12px 0 18px}
.ireland-intro p{font-size:18px;line-height:1.7;color:#4b6357;max-width:760px;margin:0 auto}
.ireland-panorama{position:relative;margin:0;width:100%;height:clamp(430px,42vw,650px);overflow:hidden;background:#cbd8cf}
.ireland-panorama img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(1.015)}
.ireland-panorama:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(18,47,35,.58) 100%);pointer-events:none}
.ireland-panorama figcaption{position:absolute;z-index:2;left:max(24px,calc((100% - 1180px)/2));bottom:42px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.28)}
.ireland-panorama figcaption span{display:block;font-size:11px;font-weight:800;letter-spacing:.22em;margin-bottom:8px}
.ireland-panorama figcaption strong{display:block;font-family:'Playfair Display',serif;font-size:clamp(27px,3vw,44px);font-weight:500}
.panorama-explore img{object-position:center 54%}
.panorama-together img{object-position:center 48%}
.ireland-breath{padding:52px 24px;text-align:center}
.ireland-breath p{max-width:780px;margin:0 auto;color:#4a6256;font-family:'Playfair Display',serif;font-size:26px;line-height:1.5}
.ireland-proof-wrap{background:#e3ebe3;border-top:1px solid var(--ireland-line);padding:0 0 42px}
.ireland-proof{display:grid;grid-template-columns:repeat(4,1fr)}
.ireland-proof>div{padding:34px 26px 28px;border-right:1px solid #bdcdbf;text-align:center}
.ireland-proof>div:last-child{border-right:0}
.ireland-proof strong{display:block;color:var(--ireland-deep);font-family:'Playfair Display',serif;font-size:26px;letter-spacing:.02em;margin-bottom:7px}
.ireland-proof span{display:block;color:#5a6f62;font-size:12px;line-height:1.4}
.ireland-link-row{text-align:center;padding-top:28px}
.ireland-link-row .text-link{color:var(--ireland-deep)}
@media (min-width:901px){.ireland-panorama img{will-change:transform}.ireland-panorama:hover img{transform:scale(1.035);transition:transform 1.2s ease}}
@media (max-width:800px){.ireland-intro{padding:70px 24px 38px}.ireland-intro h2{font-size:40px}.ireland-panorama{height:440px}.ireland-panorama figcaption{left:24px;right:24px;bottom:28px}.ireland-breath{padding:38px 24px}.ireland-breath p{font-size:22px}.ireland-proof{grid-template-columns:1fr 1fr}.ireland-proof>div:nth-child(2){border-right:0}.ireland-proof>div:nth-child(-n+2){border-bottom:1px solid #bdcdbf}}

/* v15 — one panoramic Ireland carousel, designed for up to 8 images */
.ireland-carousel{position:relative;width:100%;background:#cbd8cf;overflow:hidden}
.ireland-carousel-stage{position:relative;height:clamp(360px,31vw,500px)}
.ireland-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s ease}
.ireland-slide.is-active{opacity:1;visibility:visible;z-index:1}
.ireland-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.ireland-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(18,47,35,.58) 100%);pointer-events:none}
.ireland-slide figcaption{position:absolute;z-index:2;left:max(24px,calc((100% - 1180px)/2));bottom:42px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.28);max-width:min(760px,70vw)}
.ireland-slide figcaption span{display:block;font-size:11px;font-weight:800;letter-spacing:.22em;margin-bottom:8px}
.ireland-slide figcaption strong{display:block;font-family:'Playfair Display',serif;font-size:clamp(27px,3vw,44px);font-weight:500;line-height:1.08}
.carousel-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:rgba(12,46,38,.35);color:#fff;font:300 34px/1 Arial,sans-serif;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(5px);transition:background .2s ease}
.carousel-arrow:hover{background:rgba(12,46,38,.62)}
.carousel-prev{left:24px}.carousel-next{right:24px}
.carousel-meta{position:absolute;z-index:4;right:max(24px,calc((100% - 1180px)/2));bottom:38px;display:flex;align-items:center;gap:18px;color:#fff}
.carousel-dots{display:flex;gap:8px}
.carousel-dot{width:30px;height:3px;border:0;padding:0;background:rgba(255,255,255,.42);cursor:pointer;transition:background .25s ease,width .25s ease}
.carousel-dot.is-active{background:#fff;width:44px}
.carousel-count{font-size:11px;letter-spacing:.12em}.carousel-count b{font-weight:800}
@media(max-width:800px){.ireland-carousel-stage{height:330px}.ireland-slide figcaption{left:24px;right:70px;bottom:28px;max-width:none}.carousel-arrow{width:42px;height:42px}.carousel-prev{left:12px}.carousel-next{right:12px}.carousel-meta{right:20px;bottom:16px}.carousel-dots{display:none}.carousel-count{background:rgba(12,46,38,.35);padding:7px 9px;border-radius:20px}.ireland-intro{padding-bottom:36px}}
@media(prefers-reduced-motion:reduce){.ireland-slide{transition:none}}

/* v16 — corrected Ireland composition: vertical flow, true panoramic carousel */
.ireland-story.immersive-ireland{display:block!important;grid-template-columns:none!important;min-height:0!important;width:100%;padding:0!important;background:var(--ireland-pale)}
.ireland-story.immersive-ireland .ireland-intro{width:min(900px,calc(100% - 48px));max-width:900px;margin:0 auto;padding:78px 0 40px}
.ireland-story.immersive-ireland .ireland-carousel{display:block;width:100%;margin:0;clear:both}
.ireland-story.immersive-ireland .ireland-carousel-stage{height:clamp(280px,25vw,390px)}
.ireland-story.immersive-ireland .ireland-slide img{object-fit:cover;object-position:center 52%}
.ireland-story.immersive-ireland .ireland-slide figcaption{bottom:30px}
.ireland-story.immersive-ireland .ireland-slide figcaption strong{font-size:clamp(25px,2.4vw,38px)}
.ireland-story.immersive-ireland .carousel-meta{bottom:28px}
.ireland-story.immersive-ireland .ireland-proof-wrap{display:block;width:100%;margin:0;padding-bottom:34px;background:#e3ebe3}
.ireland-story.immersive-ireland .ireland-proof{width:min(1180px,calc(100% - 48px));margin:0 auto}
.ireland-story.immersive-ireland .ireland-link-row{width:min(1180px,calc(100% - 48px));margin:0 auto;padding-top:24px}
@media(max-width:800px){
 .ireland-story.immersive-ireland .ireland-intro{width:min(100% - 36px,900px);padding:60px 0 32px}
 .ireland-story.immersive-ireland .ireland-carousel-stage{height:260px}
 .ireland-story.immersive-ireland .ireland-slide figcaption{bottom:22px}
}

/* v17 — broaden Ireland proposition without turning the homepage into a catalogue */
.ireland-story.immersive-ireland .ireland-intro{width:min(1120px,calc(100% - 48px));max-width:1120px;padding-bottom:34px}
.ireland-intro p strong{color:var(--ireland-deep);font-weight:700}
.ireland-propositions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:38px auto 0;max-width:1080px;border-top:1px solid var(--ireland-line);border-bottom:1px solid var(--ireland-line)}
.ireland-proposition{min-width:0;padding:24px 14px 22px;text-align:center;position:relative}
.ireland-proposition+.ireland-proposition:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:1px;background:var(--ireland-line)}
.prop-icon{width:42px;height:42px;display:grid;place-items:center;margin:0 auto 12px;color:var(--ireland-deep)}
.prop-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.ireland-proposition strong{display:block;color:var(--ireland-deep);font-size:11px;line-height:1.2;letter-spacing:.11em;margin-bottom:6px}
.ireland-proposition>span:last-child{display:block;color:#607468;font-size:12px;line-height:1.35}
@media(max-width:900px){.ireland-propositions{grid-template-columns:repeat(2,1fr);border-bottom:0}.ireland-proposition{border-bottom:1px solid var(--ireland-line)}.ireland-proposition+.ireland-proposition:before{display:none}.ireland-proposition:nth-child(odd){border-right:1px solid var(--ireland-line)}.ireland-proposition:last-child{grid-column:1/-1;border-right:0}.ireland-story.immersive-ireland .ireland-intro{width:min(100% - 36px,900px)}}
@media(max-width:520px){.ireland-propositions{margin-top:28px}.ireland-proposition{padding:20px 8px}.prop-icon{width:36px;height:36px}.prop-icon svg{width:33px;height:33px}.ireland-proposition strong{font-size:10px;letter-spacing:.08em}}

/* v18 — concrete Ireland advantages below panoramic carousel */
.ireland-proof-features>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0}
.ireland-proof-features .proof-icon{display:flex;width:30px;height:30px;margin:0 auto 13px;color:var(--ireland-deep)}
.ireland-proof-features .proof-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.ireland-proof-features strong{font-family:Arial,sans-serif;font-size:12px;line-height:1.25;letter-spacing:.08em;font-weight:700;margin-bottom:7px}
.ireland-proof-features span:not(.proof-icon){max-width:220px;margin:0 auto;font-size:12px;line-height:1.45}
@media(max-width:800px){.ireland-proof-features .proof-icon{margin-top:2px}.ireland-proof-features>div{padding-top:28px;padding-bottom:26px}}

/* v19 — immersive C2 Online. Ireland section above remains unchanged. */
.online-immersive{padding:86px 0 0;background:linear-gradient(135deg,#eef7fc 0%,#e8f3f9 58%,#f3f9fc 100%);overflow:hidden;position:relative}
.online-immersive:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(38,111,152,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(38,111,152,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 72%);pointer-events:none}
.online-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center;position:relative;z-index:1}
.online-tech-stage{min-height:500px;position:relative;padding:26px 30px 34px 52px}.online-main-photo{width:86%;height:430px;object-fit:cover;border-radius:18px;display:block;margin-left:auto;box-shadow:0 20px 55px rgba(17,73,105,.12)}
.tech-card{position:absolute;background:rgba(255,255,255,.96);border:1px solid rgba(40,111,152,.12);border-radius:15px;box-shadow:0 14px 34px rgba(25,76,105,.13);padding:16px 18px;color:#163f59;font-size:12px;line-height:1.45}.tech-card b{display:block;font-size:13px;margin-bottom:8px}.tech-card p{margin:0 0 7px}.tech-card mark,.identify-demo mark,.practice-demo mark,.feedback-demo mark{background:#d6f0df;color:#1e5a44;padding:2px 5px;border-radius:4px}.speaking-card{left:0;top:0;width:218px}.audio-card{right:0;top:22px;width:220px}.progress-card{right:-10px;top:190px;width:190px}.waveform{height:36px;display:flex;align-items:center;gap:3px;margin-bottom:5px}.waveform i{display:block;width:3px;background:#4e99bf;border-radius:3px;height:12px}.waveform i:nth-child(2n){height:25px}.waveform i:nth-child(3n){height:32px}.speed-pills{display:flex;gap:6px;margin-top:8px}.speed-pills span{background:#edf4f8;padding:4px 9px;border-radius:5px}.speed-pills .active{background:#17638d;color:#fff}.progress-body{display:flex;align-items:center;gap:11px}.progress-ring{width:68px;height:68px;border-radius:50%;background:conic-gradient(#17638d 0 75%,#d7e8f0 75%);display:grid;place-items:center;position:relative}.progress-ring:before{content:"";position:absolute;width:51px;height:51px;border-radius:50%;background:#fff}.progress-ring span{z-index:1;font-weight:700;font-size:16px}.progress-body ul{list-style:none;padding:0;margin:0;font-size:10px}.progress-body li:before{content:"✓";color:#26936e;margin-right:5px}.video-mini{position:absolute;left:8px;bottom:8px;width:175px;height:135px;border-radius:15px;background:linear-gradient(145deg,#d7e9f1,#7aa4b8);box-shadow:0 14px 32px rgba(25,76,105,.18);border:4px solid #fff;display:grid;place-items:center;overflow:hidden}.video-mini>img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:11px;display:block}.video-controls{position:absolute;bottom:9px;display:flex;gap:8px}.video-controls span{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;font-size:10px}.video-controls .hangup{color:#c94444}
.online-hero-copy{position:relative;padding:12px 0 30px}.online-hero-copy h2{font-size:58px;max-width:650px;margin-top:10px}.online-hero-copy .story-lead{max-width:640px}.online-btn{display:inline-block;background:#155d86;color:#fff;margin-top:16px;padding:16px 30px;border-radius:999px;text-decoration:none;font-weight:700}.method-note{font-family:'Playfair Display',serif;font-style:italic;color:#4b9bc8;font-size:20px;line-height:1.3;position:absolute;right:15px;bottom:-2px;transform:rotate(-5deg)}
.online-journey{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:42px;padding-bottom:36px;position:relative;z-index:1}.online-journey:before{content:"";position:absolute;left:3%;right:3%;top:55px;height:2px;background:linear-gradient(90deg,#9dcce4,#5da8cf,#9dcce4);z-index:-1}.online-journey article{position:relative;padding:0 20px 0 48px;min-height:180px}.step-no{position:absolute;left:5px;top:82px;width:38px;height:38px;border-radius:50%;background:#155d86;color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}.online-journey h3{font-family:'DM Sans',sans-serif;font-size:16px;color:#154e70;margin:13px 0 5px}.online-journey p{font-size:13px;line-height:1.45;color:#385a6c;margin:0}.step-demo{height:76px;background:rgba(255,255,255,.94);border:1px solid rgba(40,111,152,.12);box-shadow:0 9px 22px rgba(25,76,105,.08);border-radius:10px;padding:10px;font-size:9px;color:#264d62;display:flex;flex-direction:column;justify-content:center}.lesson-demo{align-items:center;background:linear-gradient(145deg,#f8fcfe,#d7eaf3)}.lesson-demo .screen-dot{width:24px;height:24px;border-radius:50%;background:#155d86;margin-bottom:4px}.identify-demo mark{margin-top:5px}.identify-demo b{position:absolute;right:28px;font-size:22px}.practice-demo div{display:flex;gap:4px;margin-top:8px}.practice-demo span,.practice-demo mark{padding:4px 6px;background:#edf3f6;border-radius:4px}.feedback-demo b{font-size:9px;margin-bottom:6px;color:#236b51}.feedback-demo mark{background:#fff1c9;color:#6e5824}.chart-demo{flex-direction:row;align-items:flex-end;gap:5px;padding:15px 24px}.chart-demo i{width:9px;background:#2d82b2;height:18px;border-radius:2px}.chart-demo i:nth-child(2){height:27px}.chart-demo i:nth-child(3){height:38px}.chart-demo i:nth-child(4){height:48px}.chart-demo b{font-size:20px;color:#155d86;margin-left:4px;align-self:flex-start}
.online-lower{background:rgba(255,255,255,.45);border-top:1px solid rgba(40,111,152,.12);position:relative;z-index:1}.online-lower-grid{display:grid;grid-template-columns:1.35fr .82fr 1.05fr .42fr .9fr;gap:24px;align-items:center;padding-top:34px;padding-bottom:28px}.study-photo-wrap img{width:100%;height:205px;object-fit:cover;border-radius:14px}.online-lower-copy h3,.real-life-copy h3{font-family:'Playfair Display',serif;color:#174f72;font-size:31px;line-height:1.02;margin:0 0 14px}.online-lower-copy p,.real-life-copy p{font-size:13px;line-height:1.55;color:#386078}.practice-ui{background:#fff;border-radius:14px;padding:10px;box-shadow:0 12px 30px rgba(25,76,105,.1);transform:rotate(-1deg)}.practice-head{display:flex;justify-content:space-between;background:#1f719e;color:#fff;border-radius:8px 8px 0 0;padding:8px;font-size:10px}.practice-image{height:52px;background:linear-gradient(145deg,#98b9c9,#315d70);border-radius:0 0 6px 6px}.practice-ui p{font-size:8px;background:#f3f8fa;padding:6px;margin:4px 0;border-radius:5px}.phone-ui{background:#182d38;border-radius:22px;padding:7px;color:#183d55;box-shadow:0 12px 25px rgba(25,76,105,.16);transform:rotate(4deg)}.phone-ui>*:not(.phone-speaker){background:#fff}.phone-speaker{width:26px;height:3px;background:#78858c;margin:2px auto 5px;border-radius:3px}.phone-video{height:65px;overflow:hidden;border-radius:12px 12px 0 0;background:#dbeef5!important}.phone-video img{width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block}.phone-ui p{font-size:7px;margin:0;padding:7px}.phone-wave{font-size:12px;text-align:center;color:#48a0ca;padding:2px}.phone-mic{text-align:center;padding:6px;color:#17638d;border-radius:0 0 12px 12px}.online-benefits{border-top:1px solid rgba(40,111,152,.2);display:grid;grid-template-columns:repeat(4,1fr);padding:18px 0 26px}.online-benefits div{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;padding:4px 28px;border-right:1px solid rgba(40,111,152,.18)}.online-benefits div:last-child{border-right:0}.benefit-icon{grid-row:1/3;font-size:29px;color:#17638d}.online-benefits b{font-size:10px;color:#174f72}.online-benefits small{font-size:10px;color:#537080;margin-top:3px}
@media(max-width:1050px){.online-hero-grid{grid-template-columns:1fr;gap:24px}.online-tech-stage{max-width:760px;margin:auto;width:100%}.online-hero-copy{max-width:760px;margin:auto}.method-note{position:static;margin:20px 0;transform:none}.online-journey{grid-template-columns:repeat(2,1fr);gap:24px}.online-journey:before{display:none}.online-journey article{padding-left:50px}.step-no{top:18px}.online-lower-grid{grid-template-columns:1fr 1fr}.phone-ui{max-width:130px}.online-benefits{grid-template-columns:1fr 1fr;gap:12px}.online-benefits div:nth-child(2){border-right:0}}
@media(max-width:650px){.online-immersive{padding-top:55px}.online-tech-stage{min-height:390px;padding:15px 10px}.online-main-photo{width:92%;height:300px}.speaking-card{width:165px;left:0}.audio-card{width:155px;right:0}.progress-card{width:150px;right:0;top:175px}.progress-card ul{display:none}.video-mini{width:120px;height:90px}.online-hero-copy h2{font-size:39px}.online-journey{grid-template-columns:1fr}.online-journey article{min-height:140px}.online-lower-grid{grid-template-columns:1fr}.online-benefits{grid-template-columns:1fr}.online-benefits div{border-right:0;border-bottom:1px solid rgba(40,111,152,.14);padding:12px 8px}.study-photo-wrap img{height:230px}.phone-ui{display:none}}


/* v21 — exam preparation: quiet editorial interlude */
.exam-editorial{position:relative;background:#faf7f0;padding:118px 0 0;border-top:18px solid #fff;border-bottom:1px solid #e5ded0;overflow:hidden}
.exam-editorial-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:78px;align-items:center;min-height:520px}
.exam-editorial-copy{padding:18px 0 68px;position:relative;z-index:2}
.exam-editorial .eyebrow{color:#1b5d7d;letter-spacing:.22em}
.exam-editorial-copy h2{font-family:'Playfair Display',serif;font-size:58px;line-height:1.02;letter-spacing:-.025em;color:#15506e;margin:18px 0 24px}
.exam-editorial-copy p{font-size:18px;line-height:1.58;color:#456273;max-width:590px;margin:0 0 30px}
.exam-button{background:#155f84;color:#fff;border:0;padding:17px 27px;box-shadow:none}
.exam-button:hover{background:#104c6a;transform:translateY(-1px)}
.exam-editorial-visual{margin:0;align-self:stretch;min-height:500px;position:relative}
.exam-editorial-visual:before{content:"";position:absolute;inset:0 0 0 -80px;background:linear-gradient(90deg,#faf7f0 0%,rgba(250,247,240,.64) 12%,rgba(250,247,240,0) 35%);z-index:1;pointer-events:none}
.exam-editorial-visual img{width:100%;height:100%;min-height:500px;display:block;object-fit:cover;object-position:center;border-radius:0}
.exam-routes{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dcd4c5;padding:0 0 54px}
.exam-routes>div{display:flex;gap:17px;padding:29px 25px 0;border-right:1px solid #dcd4c5;min-height:105px}
.exam-routes>div:first-child{padding-left:0}.exam-routes>div:last-child{border-right:0;padding-right:0}
.exam-route-icon{font-family:Arial,sans-serif;color:#17628a;font-size:30px;line-height:1;font-weight:400;min-width:34px}
.exam-routes p{margin:0}.exam-routes b{display:block;color:#174e6b;font-size:13px;letter-spacing:.01em;margin-bottom:5px}.exam-routes small{display:block;color:#536b78;font-size:13px;line-height:1.45}
@media(max-width:900px){.exam-editorial{padding-top:82px}.exam-editorial-grid{grid-template-columns:1fr;gap:22px}.exam-editorial-copy{padding-bottom:10px}.exam-editorial-copy h2{font-size:48px}.exam-editorial-visual{min-height:360px}.exam-editorial-visual img{min-height:360px}.exam-editorial-visual:before{inset:-1px 0 auto 0;height:90px;background:linear-gradient(#faf7f0,rgba(250,247,240,0))}.exam-routes{grid-template-columns:1fr 1fr;padding-top:25px}.exam-routes>div,.exam-routes>div:first-child{padding:20px 18px;border-bottom:1px solid #dcd4c5}.exam-routes>div:nth-child(2){border-right:0}.exam-routes>div:nth-child(3),.exam-routes>div:nth-child(4){border-bottom:0}}
@media(max-width:600px){.exam-editorial{padding-top:66px;border-top-width:10px}.exam-editorial-copy h2{font-size:41px}.exam-editorial-copy p{font-size:16px}.exam-editorial-visual,.exam-editorial-visual img{min-height:285px}.exam-routes{grid-template-columns:1fr}.exam-routes>div,.exam-routes>div:first-child{border-right:0;border-bottom:1px solid #dcd4c5;padding:20px 0}.exam-routes>div:nth-child(3){border-bottom:1px solid #dcd4c5}}

/* v22 — merged More than a school + C2 difference */
.c2-philosophy{background:#f8f6f1;border-top:1px solid #eee8dc;overflow:hidden}
.c2-philosophy-top{display:grid;grid-template-columns:1.02fr .98fr;min-height:535px;max-width:1600px;margin:0 auto}
.c2-philosophy-photo{margin:0;min-height:535px;overflow:hidden}
.c2-philosophy-photo img{width:100%;height:100%;min-height:535px;display:block;object-fit:cover;object-position:center}
.c2-philosophy-copy{position:relative;padding:92px clamp(55px,7vw,120px) 75px 70px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#faf8f3 0%,#f8f6f1 100%)}
.c2-philosophy-copy .eyebrow{display:flex;align-items:center;gap:18px;color:#153b52;letter-spacing:.27em}
.c2-philosophy-copy .eyebrow:after{content:"";width:70px;height:1px;background:#c99c46;display:block}
.c2-philosophy-copy h2{font-family:'Playfair Display',serif;color:#154c6a;font-weight:500;font-size:clamp(46px,4.4vw,68px);line-height:1.02;margin:28px 0 28px;letter-spacing:-.02em}
.c2-philosophy-copy p{font-size:16px;line-height:1.62;color:#334d5c;max-width:620px;margin:0 0 24px}
.c2-botanical{position:absolute;right:28px;top:52px;font-family:'Playfair Display',serif;font-size:150px;line-height:1;color:#93a787;opacity:.18;transform:rotate(-22deg);pointer-events:none}
.c2-philosophy-points{display:grid;grid-template-columns:repeat(4,1fr);padding-top:38px;padding-bottom:42px}
.c2-philosophy-points article{position:relative;min-height:245px;padding:8px 34px 8px 24px;border-right:1px solid #ddd5c7}
.c2-philosophy-points article:first-child{padding-left:0}.c2-philosophy-points article:last-child{border-right:0;padding-right:0}
.c2-point-number{font-family:'Playfair Display',serif;color:#c89c4a;font-size:47px;line-height:1;display:inline-block;margin-bottom:68px}
.c2-point-art-img{position:absolute;top:5px;left:78px;width:112px;height:92px;object-fit:contain;object-position:left center;display:block}
.c2-point-art{position:absolute;top:15px;left:88px;color:#4d88a2;font-family:'Playfair Display',serif;font-size:64px;line-height:1;opacity:.86;letter-spacing:-18px}
.c2-bubbles{color:#6b9bb0}.c2-progress-art{font-family:'DM Sans',sans-serif;letter-spacing:0;font-size:42px;color:#5c91a7;top:24px}.c2-home-art{font-size:76px;letter-spacing:0;color:#809681;top:8px}
.c2-philosophy-points h3{text-transform:uppercase;letter-spacing:.045em;color:#0e4667;font-size:20px;line-height:1.18;margin:0 0 14px;font-weight:700}
.c2-philosophy-points p{font-size:14px;line-height:1.55;color:#4d5f69;margin:0}
@media(max-width:900px){.c2-philosophy-top{grid-template-columns:1fr}.c2-philosophy-photo,.c2-philosophy-photo img{min-height:430px}.c2-philosophy-copy{padding:70px 8vw}.c2-philosophy-points{grid-template-columns:1fr 1fr}.c2-philosophy-points article{border-bottom:1px solid #ddd5c7}.c2-philosophy-points article:nth-child(2){border-right:0}.c2-philosophy-points article:nth-child(3),.c2-philosophy-points article:nth-child(4){padding-top:35px;border-bottom:0}}
@media(max-width:600px){.c2-philosophy-photo,.c2-philosophy-photo img{min-height:320px}.c2-philosophy-copy{padding:58px 24px}.c2-philosophy-copy h2{font-size:43px}.c2-philosophy-copy p{font-size:15px}.c2-philosophy-points{grid-template-columns:1fr;padding-top:15px;padding-bottom:15px}.c2-philosophy-points article,.c2-philosophy-points article:first-child,.c2-philosophy-points article:last-child{padding:30px 0;min-height:205px;border-right:0;border-bottom:1px solid #ddd5c7}.c2-philosophy-points article:last-child{border-bottom:0}.c2-point-number{margin-bottom:55px}}

@media(max-width:600px){.c2-point-art-img{left:76px;top:8px;width:108px;height:86px}}

/* v24 — optical alignment for approved watercolour C2 difference icons */
.c2-philosophy-points article .c2-point-art-img{
  top:4px;
  left:78px;
  width:112px;
  height:86px;
  object-fit:contain;
  object-position:center center;
  transform-origin:center center;
}
.c2-philosophy-points article:nth-child(1) .c2-point-art-img{transform:translateY(-3px) scale(.92)}
.c2-philosophy-points article:nth-child(2) .c2-point-art-img{transform:translateY(-3px) scale(.84)}
.c2-philosophy-points article:nth-child(3) .c2-point-art-img{transform:translateY(-3px) scale(.90)}
.c2-philosophy-points article:nth-child(4) .c2-point-art-img{transform:translateY(-3px) scale(.91)}
@media(max-width:600px){
  .c2-philosophy-points article .c2-point-art-img{left:76px;top:7px;width:108px;height:82px}
}

/* v25 — real C2 team photo + approved team details */
.people-photo{padding:0;min-height:0;background:transparent;display:block;text-align:left;overflow:hidden}
.people-photo img{display:block;width:100%;height:auto;aspect-ratio:1200/1006;object-fit:cover}
.people-team-link{display:inline-block;margin-top:30px;font-family:'Playfair Display',serif;font-size:18px;color:#103b54;text-decoration:none;border-bottom:1px solid #d3a13d;padding-bottom:4px}

/* C2 global CTA system — v26 */
.btn{
  --btn-bg:var(--navy);
  --btn-fg:#fff;
  --btn-border:transparent;
  --btn-shadow:0 8px 20px rgba(18,55,75,.14);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:50px;
  padding:14px 28px;
  border:1px solid var(--btn-border);
  border-radius:999px;
  background:var(--btn-bg);
  color:var(--btn-fg);
  text-decoration:none;
  font-weight:700;
  font-size:13px;
  line-height:1.2;
  letter-spacing:.01em;
  box-shadow:var(--btn-shadow);
  cursor:pointer;
  transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease;
  will-change:transform;
}
.btn::after{content:'→';display:inline-block;transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(18,55,75,.20)}
.btn:hover::after{transform:translateX(5px)}
.btn:active{transform:translateY(0) scale(.985);box-shadow:0 5px 12px rgba(18,55,75,.13);transition-duration:.08s}
.btn:active::after{transform:translateX(3px)}
.btn:focus-visible{outline:3px solid rgba(215,179,106,.58);outline-offset:4px}
/* Avoid duplicate arrows where legacy labels already contain one. */
.online-btn::after,.exam-button::after{content:''}
.online-btn:hover::after,.exam-button:hover::after{transform:none}

/* Colour variants keep the same C2 pill silhouette and behaviour. */
.btn.gold{--btn-bg:#d7b36a;--btn-fg:#163546;--btn-shadow:0 8px 22px rgba(7,31,44,.18)}
.btn.glass{--btn-bg:rgba(250,248,242,.90);--btn-fg:#163546;--btn-border:rgba(255,255,255,.88);--btn-shadow:0 8px 22px rgba(4,24,35,.16);backdrop-filter:blur(7px)}
.btn.glass:hover{background:#fff;color:#163546}
.btn.cream{--btn-bg:var(--cream);--btn-fg:var(--navy);--btn-shadow:0 8px 22px rgba(6,35,49,.18)}
.online-btn,.exam-button{border-radius:999px;min-height:50px;padding:14px 28px;background:#155d86;color:#fff;box-shadow:0 8px 20px rgba(18,55,75,.14)}
.online-btn:hover,.exam-button:hover{background:#176991;transform:translateY(-2px);box-shadow:0 12px 26px rgba(18,55,75,.20)}
.online-btn:active,.exam-button:active{transform:translateY(0) scale(.985);box-shadow:0 5px 12px rgba(18,55,75,.13)}

@media (prefers-reduced-motion:reduce){
  .btn,.btn::after{transition:none!important}
  .btn:hover,.btn:active{transform:none!important}
  .btn:hover::after,.btn:active::after{transform:none!important}
}
.btn.c2-arrow span{display:inline-block;transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.btn.c2-arrow:hover span{transform:translateX(5px)}
.btn.c2-arrow:active span{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.btn.c2-arrow span{transition:none!important}.btn.c2-arrow:hover span,.btn.c2-arrow:active span{transform:none!important}}

/* v27 — standardised footer CTA + editorial arrow links */
.footer-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:50px;
  padding:14px 26px;
  margin-top:14px;
  border:1px solid transparent;
  border-radius:999px;
  background:#d7b36a;
  color:#153b52!important;
  box-shadow:0 8px 20px rgba(4,31,44,.18);
  text-transform:none;
  letter-spacing:.02em;
  font-family:'DM Sans',sans-serif;
  font-size:13px!important;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  width:max-content;
  box-sizing:border-box;
  transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,background-color .22s ease;
}
.footer-button::after{content:'→';display:inline-block;transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.footer-button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(4,31,44,.25);background:#dfbd76}
.footer-button:hover::after{transform:translateX(5px)}
.footer-button:active{transform:translateY(0) scale(.985);box-shadow:0 5px 12px rgba(4,31,44,.16);transition-duration:.08s}
.footer-button:active::after{transform:translateX(3px)}
.footer-button:focus-visible{outline:3px solid rgba(255,255,255,.58);outline-offset:4px}

/* One editorial link language throughout the homepage. */
.text-link,
.world-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  font-family:'DM Sans',sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.01em;
  text-decoration:none;
}
.text-link::after,
.world-link::after{content:'→';display:inline-block;transition:transform .2s cubic-bezier(.2,.7,.2,1)}
.text-link:hover::after,
.world-card:hover .world-link::after{transform:translateX(4px)}
.text-link:focus-visible{outline:2px solid rgba(215,179,106,.75);outline-offset:4px;border-radius:2px}

/* Underline is drawn separately so the arrow stays clean. */
.text-link{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;transition:background-size .2s ease}
.text-link:hover{background-size:calc(100% - 25px) 1px}

/* Existing labels contain a literal arrow; hide it visually by removing it in markup below. */
@media (prefers-reduced-motion:reduce){
  .footer-button,.footer-button::after,.text-link,.text-link::after,.world-link::after{transition:none!important}
  .footer-button:hover,.footer-button:active{transform:none!important}
  .footer-button:hover::after,.footer-button:active::after,.text-link:hover::after,.world-card:hover .world-link::after{transform:none!important}
}


/* v29 — restrained C2 philosophy points strip */
.c2-philosophy-points{padding-top:24px;padding-bottom:26px}
.c2-philosophy-points article{min-height:176px;padding-top:4px;padding-bottom:4px}
.c2-point-number{font-size:36px;margin-bottom:34px}
.c2-philosophy-points article .c2-point-art-img{top:0;left:62px;width:88px;height:68px}
.c2-philosophy-points article:nth-child(1) .c2-point-art-img{transform:translateY(-2px) scale(.92)}
.c2-philosophy-points article:nth-child(2) .c2-point-art-img{transform:translateY(-2px) scale(.84)}
.c2-philosophy-points article:nth-child(3) .c2-point-art-img{transform:translateY(-2px) scale(.90)}
.c2-philosophy-points article:nth-child(4) .c2-point-art-img{transform:translateY(-2px) scale(.91)}
.c2-philosophy-points h3{font-size:17px;line-height:1.16;margin:0 0 9px;letter-spacing:.04em}
.c2-philosophy-points p{font-size:13px;line-height:1.45}
@media(max-width:900px){
  .c2-philosophy-points{padding-top:20px;padding-bottom:20px}
  .c2-philosophy-points article{min-height:168px}
}
@media(max-width:600px){
  .c2-philosophy-points article,.c2-philosophy-points article:first-child,.c2-philosophy-points article:last-child{min-height:150px;padding:22px 0}
  .c2-point-number{font-size:34px;margin-bottom:28px}
  .c2-philosophy-points article .c2-point-art-img{left:58px;top:17px;width:82px;height:62px}
}

/* v32 — taller Ireland carousel for more natural photographic composition */
.ireland-story.immersive-ireland .ireland-carousel-stage{
  height:clamp(460px,41.5vw,600px);
}
@media(max-width:800px){
  .ireland-story.immersive-ireland .ireland-carousel-stage{height:420px}
}
@media(max-width:520px){
  .ireland-story.immersive-ireland .ireland-carousel-stage{height:380px}
}

/* v33 — curated five-photo Ireland story with dedicated desktop/mobile crops */
.ireland-slide picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.ireland-slide picture img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}


/* v39 — translated review note */
.review-translation-note{
  margin:.45rem 0 0;
  font-size:.72rem;
  line-height:1.35;
  font-style:italic;
  color:rgba(16,63,86,.58);
}

/* v43 signature Ireland → Online animation */
.c2-route-transition{position:relative;overflow:hidden;min-height:82vh;display:grid;place-items:center;background:linear-gradient(135deg,#3d6554,#1b4850 48%,#123f59);color:#fff}
.c2-route-transition:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 28%,rgba(111,192,226,.13),transparent 25%),radial-gradient(circle at 18% 74%,rgba(224,188,111,.1),transparent 27%)}
.c2-route-inner{position:relative;width:min(1200px,88vw);min-height:590px;display:flex;align-items:center}.c2-route-stage{position:absolute;inset:2% 0}.c2-route-svg{position:absolute;top:12%;left:0;width:100%;height:330px;overflow:visible}
.c2-route-path,.c2-route-ray{fill:none;stroke:#e0bc70;stroke-width:1.55;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.c2-route-ray{stroke:#8fd0ec;stroke-width:1.1}
.c2-route-start{fill:#e0bc70;opacity:0}.c2-route-end{fill:#8fd0ec;opacity:0;filter:drop-shadow(0 0 9px rgba(143,208,236,.75))}.c2-route-origin{position:absolute;left:1%;top:65%;font:700 10px/1 "DM Sans",sans-serif;letter-spacing:.22em;color:#e0bc70;opacity:0}
.c2-route-word{position:absolute;font:500 12px/1 "DM Sans",sans-serif;letter-spacing:.08em;color:rgba(255,255,255,.7);opacity:0;transform:translateY(7px)}.word-one{left:23%;top:31%}.word-two{left:48%;top:46%}.word-three{left:70%;top:26%}
.c2-route-copy{position:relative;z-index:2;margin-top:190px;max-width:780px;opacity:0;transform:translateY(20px)}.c2-route-eyebrow{margin:0 0 15px;color:#8fd0ec;font:700 11px/1.2 "DM Sans",sans-serif;letter-spacing:.19em}
.c2-route-copy h2{margin:0;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.035em;font-weight:500}.c2-route-copy h2 em{font-weight:400;color:#f2e6ca}.c2-route-copy>p:last-child{margin:24px 0 0;color:rgba(255,255,255,.78);font-size:clamp(16px,1.4vw,19px)}
.c2-route-transition.is-visible .c2-route-path{animation:routeDraw 1.6s cubic-bezier(.22,.7,.2,1) .1s forwards}.c2-route-transition.is-visible .c2-route-start,.c2-route-transition.is-visible .c2-route-origin{animation:routeFade .35s ease .08s forwards}.c2-route-transition.is-visible .word-one{animation:routeWord .45s ease .5s forwards}.c2-route-transition.is-visible .word-two{animation:routeWord .45s ease .9s forwards}.c2-route-transition.is-visible .word-three{animation:routeWord .45s ease 1.25s forwards}.c2-route-transition.is-visible .c2-route-end{animation:routeFade .5s ease 1.55s forwards}.c2-route-transition.is-visible .c2-route-ray{animation:routeDraw .65s ease 1.65s forwards}.c2-route-transition.is-visible .c2-route-copy{animation:routeCopy .75s cubic-bezier(.2,.75,.2,1) 1.7s forwards}
@keyframes routeDraw{to{stroke-dashoffset:0}}@keyframes routeFade{to{opacity:1}}@keyframes routeWord{to{opacity:1;transform:none}}@keyframes routeCopy{to{opacity:1;transform:none}}
@media(max-width:760px){.c2-route-transition{min-height:72vh}.c2-route-inner{min-height:540px}.c2-route-svg{height:260px}.c2-route-copy{margin-top:150px}.c2-route-copy h2{font-size:clamp(42px,12vw,58px)}}
@media(prefers-reduced-motion:reduce){.c2-route-path,.c2-route-ray{stroke-dashoffset:0}.c2-route-start,.c2-route-end,.c2-route-origin,.c2-route-word,.c2-route-copy{opacity:1;transform:none}.c2-route-transition *{animation:none!important}}

/* v45 — premium internal navigation */
.main-nav a,
.main-navigation a,
nav.main-nav a{
  position:relative;
  transition:color .22s ease,opacity .22s ease,transform .16s ease;
}
.main-nav a::after,
.main-navigation a::after,
nav.main-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;
  background:#c7a45b;transform:scaleX(0);transform-origin:left;
  transition:transform .26s cubic-bezier(.2,.7,.2,1);
}
.main-nav a:hover,
.main-navigation a:hover,
nav.main-nav a:hover{color:#b58d3e}
.main-nav a:hover::after,
.main-navigation a:hover::after,
nav.main-nav a:hover::after{transform:scaleX(1)}
.main-nav a:active,
.main-navigation a:active,
nav.main-nav a:active{color:#9f7933;transform:translateY(1px)}
.main-nav a:focus-visible,
.main-navigation a:focus-visible,
nav.main-nav a:focus-visible{outline:2px solid rgba(199,164,91,.58);outline-offset:7px;border-radius:2px}

/* Fast cream handover between internal pages */
.c2-page-transition{
  position:fixed;z-index:99999;left:0;right:0;bottom:0;height:100vh;
  background:#f8f4eb;transform:translateY(101%);
  pointer-events:none;display:grid;place-items:center;
  transition:transform .42s cubic-bezier(.76,0,.24,1);
}
body.c2-leaving .c2-page-transition{transform:translateY(0)}
.c2-transition-mark{display:flex;align-items:center;gap:13px;color:#173f48;opacity:0;transform:translateY(6px);transition:opacity .18s ease .15s,transform .18s ease .15s}
body.c2-leaving .c2-transition-mark{opacity:1;transform:none}
.c2-transition-mark span{width:32px;height:1px;background:#c7a45b}.c2-transition-mark b{font:600 12px/1 "DM Sans",sans-serif;letter-spacing:.16em}
@media(prefers-reduced-motion:reduce){.c2-page-transition{display:none!important}.main-nav a,.main-navigation a,nav.main-nav a{transition:none!important}}


/* v64 — global C2 internal page transition */
.c2-global-page-wipe{position:fixed;inset:0;z-index:99999;pointer-events:none;opacity:0;visibility:hidden;background:linear-gradient(115deg,#153f3c 0%,#174d4f 50%,#173e62 100%);transition:opacity .38s ease,visibility 0s linear .38s}
.c2-global-page-wipe:before{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:rgba(209,172,99,.24)}
.c2-global-page-wipe:after{content:"";position:absolute;left:12%;top:50%;height:1px;width:0;background:#d1ac63;transition:width .48s cubic-bezier(.22,.72,.2,1)}
.c2-global-page-wipe.is-leaving{opacity:1;visibility:visible;transition:opacity .32s ease}
.c2-global-page-wipe.is-leaving:after{width:76%}
.c2-global-page-wipe .wipe-word{position:absolute;left:50%;top:calc(50% - 42px);transform:translate(-50%,-50%);color:#fff;font:500 18px "Playfair Display",serif;letter-spacing:.02em;opacity:.88}
@media(prefers-reduced-motion:reduce){.c2-global-page-wipe{display:none!important}}


/* v65 — unified beautiful C2 transition for every internal page */
.c2-global-page-wipe{display:none!important}

.c2-route-transition-global{
  position:fixed!important;inset:0!important;z-index:999999!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  background:linear-gradient(118deg,#315b3d 0%,#174d4f 48%,#183f63 100%)!important;
  transition:opacity .34s ease,visibility 0s linear .34s!important;
}
.c2-route-transition-global.is-page-leaving{
  opacity:1!important;visibility:visible!important;
  transition:opacity .34s ease!important;
}
.c2-route-transition-global .c2-route-transition-inner{
  width:min(760px,78vw);text-align:center;color:#fff;
  transform:translateY(10px);opacity:0;
  transition:transform .42s .12s ease,opacity .42s .12s ease;
}
.c2-route-transition-global.is-page-leaving .c2-route-transition-inner{transform:none;opacity:1}
.c2-route-transition-global .c2-route-kicker{
  font:600 10px/1 "DM Sans",sans-serif;letter-spacing:.22em;color:#d7b46b;margin-bottom:22px
}
.c2-route-transition-global .c2-route-words{
  display:flex;justify-content:center;gap:15px;flex-wrap:wrap;
  font:500 clamp(28px,4vw,48px)/1.05 "Playfair Display",serif
}
.c2-route-transition-global .c2-route-words span{opacity:.45;animation:none}
.c2-route-transition-global.is-page-leaving .c2-route-words span:nth-child(1){animation:c2WordIn .3s .14s forwards}
.c2-route-transition-global.is-page-leaving .c2-route-words span:nth-child(2){animation:c2WordIn .3s .27s forwards}
.c2-route-transition-global.is-page-leaving .c2-route-words span:nth-child(3){animation:c2WordIn .3s .40s forwards}
.c2-route-transition-global .c2-route-line{height:1px;background:rgba(215,180,107,.22);margin:25px auto 18px;max-width:620px;overflow:hidden}
.c2-route-transition-global .c2-route-line i{display:block;width:0;height:1px;background:#d7b46b}
.c2-route-transition-global.is-page-leaving .c2-route-line i{animation:c2LineTravel .56s .16s cubic-bezier(.22,.72,.2,1) forwards}
.c2-route-transition-global .c2-route-caption{font:500 12px "DM Sans",sans-serif;letter-spacing:.08em;color:rgba(255,255,255,.78)}
@keyframes c2WordIn{to{opacity:1}}
@keyframes c2LineTravel{to{width:100%}}
@media(prefers-reduced-motion:reduce){.c2-route-transition-global{display:none!important}}


/* v66 — ONE transition system only.
   Disable browser/native/legacy page transition layers that can create a cream flash. */
@view-transition{navigation:none}
::view-transition-old(root),::view-transition-new(root){animation:none!important}
html.c2-navigating,html.c2-navigating body{background:#315b3d!important}

/* Any older route-transition element already present in page markup is inert.
   Only the dynamically-created global v65 element is allowed to display. */



/* v69 — EXACT original homepage Ireland→Online transition restored from v58 */
.c2-route-transition{position:relative;overflow:hidden;min-height:82vh;display:grid;place-items:center;background:linear-gradient(135deg,#3d6554,#1b4850 48%,#123f59);color:#fff}
.c2-route-transition:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 28%,rgba(111,192,226,.13),transparent 25%),radial-gradient(circle at 18% 74%,rgba(224,188,111,.1),transparent 27%)}
.c2-route-inner{position:relative;width:min(1200px,88vw);min-height:590px;display:flex;align-items:center}.c2-route-stage{position:absolute;inset:2% 0}.c2-route-svg{position:absolute;top:12%;left:0;width:100%;height:330px;overflow:visible}
.c2-route-path,.c2-route-ray{fill:none;stroke:#e0bc70;stroke-width:1.55;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.c2-route-ray{stroke:#8fd0ec;stroke-width:1.1}
.c2-route-start{fill:#e0bc70;opacity:0}.c2-route-end{fill:#8fd0ec;opacity:0;filter:drop-shadow(0 0 9px rgba(143,208,236,.75))}.c2-route-origin{position:absolute;left:1%;top:65%;font:700 10px/1 "DM Sans",sans-serif;letter-spacing:.22em;color:#e0bc70;opacity:0}
.c2-route-word{position:absolute;font:500 12px/1 "DM Sans",sans-serif;letter-spacing:.08em;color:rgba(255,255,255,.7);opacity:0;transform:translateY(7px)}.word-one{left:23%;top:31%}.word-two{left:48%;top:46%}.word-three{left:70%;top:26%}
.c2-route-copy{position:relative;z-index:2;margin-top:190px;max-width:780px;opacity:0;transform:translateY(20px)}.c2-route-eyebrow{margin:0 0 15px;color:#8fd0ec;font:700 11px/1.2 "DM Sans",sans-serif;letter-spacing:.19em}
.c2-route-copy h2{margin:0;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.035em;font-weight:500}.c2-route-copy h2 em{font-weight:400;color:#f2e6ca}.c2-route-copy>p:last-child{margin:24px 0 0;color:rgba(255,255,255,.78);font-size:clamp(16px,1.4vw,19px)}
.c2-route-transition.is-visible .c2-route-path{animation:routeDraw 1.6s cubic-bezier(.22,.7,.2,1) .1s forwards}.c2-route-transition.is-visible .c2-route-start,.c2-route-transition.is-visible .c2-route-origin{animation:routeFade .35s ease .08s forwards}.c2-route-transition.is-visible .word-one{animation:routeWord .45s ease .5s forwards}.c2-route-transition.is-visible .word-two{animation:routeWord .45s ease .9s forwards}.c2-route-transition.is-visible .word-three{animation:routeWord .45s ease 1.25s forwards}.c2-route-transition.is-visible .c2-route-end{animation:routeFade .5s ease 1.55s forwards}.c2-route-transition.is-visible .c2-route-ray{animation:routeDraw .65s ease 1.65s forwards}.c2-route-transition.is-visible .c2-route-copy{animation:routeCopy .75s cubic-bezier(.2,.75,.2,1) 1.7s forwards}
@keyframes routeDraw{to{stroke-dashoffset:0}}@keyframes routeFade{to{opacity:1}}@keyframes routeWord{to{opacity:1;transform:none}}@keyframes routeCopy{to{opacity:1;transform:none}}
@media(max-width:760px){.c2-route-transition{min-height:72vh}.c2-route-inner{min-height:540px}.c2-route-svg{height:260px}.c2-route-copy{margin-top:150px}.c2-route-copy h2{font-size:clamp(42px,12vw,58px)}}
@media(prefers-reduced-motion:reduce){.c2-route-path,.c2-route-ray{stroke-dashoffset:0}.c2-route-start,.c2-route-end,.c2-route-origin,.c2-route-word,.c2-route-copy{opacity:1;transform:none}.c2-route-transition *{animation:none!important}}


/* v70 boundary fix */
.ireland-story.immersive-ireland{margin-bottom:0!important}
.ireland-story.immersive-ireland + .c2-route-transition{margin-top:0!important}


/* v83 — Ireland programme mega-menu in global header */
.main-nav .nav-dropdown{position:relative;display:flex;align-items:center;border-right:1px solid #aebcc3}
.main-nav .nav-dropdown>a{border-right:0!important}
.main-nav .nav-dropdown-trigger{display:flex;align-items:center;gap:7px}
.main-nav .nav-chevron{font-size:12px;transition:transform .2s ease}
.main-nav .nav-dropdown-menu{position:absolute;z-index:120;top:calc(100% + 10px);left:0;width:560px;padding:12px;background:rgba(250,248,243,.99);border-top:1px solid rgba(181,141,62,.75);box-shadow:0 16px 34px rgba(19,54,68,.11);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}
.main-nav .nav-dropdown-menu::before{content:"";position:absolute;left:0;right:0;top:-11px;height:11px}
.main-nav .nav-dropdown-menu::after{content:"";position:absolute;top:-1px;left:0;width:54px;height:1px;background:#b58d3e}
.main-nav .nav-dropdown:hover .nav-dropdown-menu,.main-nav .nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.main-nav .nav-dropdown:hover .nav-chevron,.main-nav .nav-dropdown:focus-within .nav-chevron{transform:translateY(-1px) rotate(180deg)}
.main-nav .nav-dropdown-item{position:relative;display:block!important;padding:13px 32px 12px 12px!important;border:0!important;white-space:normal!important;background:transparent;transition:background .18s ease,padding-left .18s ease}
.main-nav .nav-dropdown-item:hover{background:rgba(255,255,255,.7);color:#0f4968!important;padding-left:15px!important;transform:none!important}
.main-nav .nav-dropdown-item::after{content:"→"!important;display:block!important;position:absolute!important;right:11px!important;top:50%!important;width:auto!important;height:auto!important;background:none!important;color:#b58d3e!important;opacity:.72;transform:translateY(-50%)!important;font-size:14px;transition:right .18s ease,opacity .18s ease}
.main-nav .nav-dropdown-item:hover::after{right:8px!important;opacity:1}
.main-nav .nav-dropdown-item strong,.main-nav .nav-dropdown-item span{display:block}
.main-nav .nav-dropdown-item strong{font-family:'Playfair Display',serif;font-size:15.5px;font-weight:500;line-height:1.2;color:#0f4968;margin-bottom:3px}
.main-nav .nav-dropdown-item span{font-size:10px;line-height:1.35;letter-spacing:.01em;color:#667b85}
.main-nav .nav-dropdown-item.is-coming{pointer-events:none;opacity:.48}
.main-nav .nav-dropdown-item.is-coming::after{content:"SOON"!important;font:700 8px/1 'DM Sans',sans-serif!important;letter-spacing:.1em;color:#9f7933!important;right:9px!important}
@media(max-width:900px){.main-nav .nav-dropdown{display:block;width:100%;border-right:0}.main-nav .nav-dropdown-trigger{justify-content:flex-start}.main-nav .nav-dropdown-menu{position:static;width:auto;padding:2px 0 5px 14px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none!important;background:transparent;display:block}.main-nav .nav-dropdown-menu::after{display:none}.main-nav .nav-chevron{display:none}.main-nav .nav-dropdown-item{padding:7px 0!important}.main-nav .nav-dropdown-item:hover{padding-left:0!important;background:transparent}.main-nav .nav-dropdown-item::after{display:none!important}.main-nav .nav-dropdown-item span{display:none}.main-nav .nav-dropdown-item.is-coming{display:none!important}}

/* v110 — reliable mobile menu */
@media(max-width:900px){
 .menu{position:relative;z-index:1002;cursor:pointer}.main-nav{display:none!important;position:absolute;z-index:1000;top:100%;left:0;right:0;background:#fff;padding:18px 22px 26px;box-shadow:0 18px 35px rgba(13,47,59,.13);border-top:1px solid rgba(18,63,86,.09)}
 .main-nav.open{display:flex!important;flex-direction:column;align-items:stretch;gap:0}.main-nav>a,.main-nav .nav-dropdown-trigger{display:block;padding:13px 0;border-bottom:1px solid rgba(18,63,86,.09)}
 .main-nav .nav-dropdown-menu{position:static!important;display:none!important;box-shadow:none!important;padding:8px 0 5px!important}.main-nav .nav-dropdown:hover .nav-dropdown-menu,.main-nav .nav-dropdown:focus-within .nav-dropdown-menu{display:block!important}
 .header-grid{position:relative}.menu.is-open{color:#397258}body.menu-open{overflow:hidden}
}

/* v140 — canonical shared-footer corrections. Keep footer visual identical across all standard pages. */
@media (min-width:1051px){
  .footer-highlights>.wrap{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .footer-highlights>.wrap>div{min-width:0}
}
.footer-trust .trust-names>.epic-link img{filter:none!important;opacity:.96}

/* v141 — Ireland mega-menu ordering: three programmes per column. */
.main-nav .nav-dropdown-menu{grid-template-columns:1fr 1fr}
.main-nav .nav-dropdown-column{display:flex;flex-direction:column;min-width:0}
@media(max-width:900px){.main-nav .nav-dropdown-column{display:block}}
/* v173 — canonical More menu */
@media(min-width:901px){.main-nav .nav-dropdown:last-child .nav-dropdown-menu{left:auto;right:0}.main-nav .nav-dropdown:last-child .nav-dropdown-menu::after{left:auto;right:0}}
