@font-face{font-family:Poppins;src:url('../fonts/Poppins-Regular.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('../fonts/Poppins-Medium.woff') format('woff');font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url('../fonts/Poppins-SemiBold.woff') format('woff');font-weight:600;font-display:swap}@font-face{font-family:Poppins;src:url('../fonts/Poppins-Bold.woff') format('woff');font-weight:700;font-display:swap}
:root{--blue:#02b0ef;--navy:#091e33;--ink:#10263b;--muted:#526477;--line:#d6dfe7;--wash:#f2f6f9;--max:1280px;--header:108px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}body{margin:0;color:var(--ink);background:#fff;font-family:Poppins,sans-serif;font-size:16px;line-height:1.75}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button{border-radius:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600}h1,h2{letter-spacing:-.045em;line-height:1.12}h2{font-size:clamp(2.3rem,4vw,3.6rem)}h3{font-size:1.15rem;line-height:1.5}p{color:var(--muted)}[hidden]{display:none!important}.section-wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.section-space{padding-block:116px}.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.15em;line-height:1.85;text-transform:uppercase;color:var(--blue);margin-bottom:25px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:16px 24px;background:var(--blue);color:#fff;font-size:.92rem;font-weight:500;border:1px solid var(--blue);transition:background .2s,transform .2s;line-height:1.6;text-align:center}.button:hover{background:#091e33;transform:translateY(-2px)}.button-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button-outline:hover{background:var(--navy);color:#fff}.text-link{display:inline-block;font-size:.92rem;font-weight:500;border-bottom:1px solid var(--blue);padding-bottom:5px;color:var(--ink);max-width:100%}.skip-link{position:fixed;z-index:100;top:5px;left:5px;background:#fff;padding:15px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:fixed;inset:0 0 auto;background:rgba(255,255,255,.98);z-index:30;border-bottom:1px solid var(--line);transition:box-shadow .2s}.site-header.scrolled{box-shadow:0 8px 24px #10263b0b}.header-inner{height:var(--header);max-width:1440px;margin:auto;padding-inline:46px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{width:146px;flex-shrink:0}.brand img{width:146px;aspect-ratio:1536/906;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.desktop-nav a{font-size:.87rem;font-weight:500;white-space:nowrap}.desktop-nav a:hover{color:var(--blue)}.header-cta{padding:13px 19px;background:var(--navy);color:#fff;font-size:.82rem;white-space:nowrap}.header-cta:hover{background:var(--blue)}.menu-toggle{display:none;border:0;background:transparent;width:46px;height:46px;padding:12px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:7px 0}.mobile-nav{padding:20px 28px 28px;border-top:1px solid var(--line);max-height:calc(100dvh - var(--header));overflow-y:auto}.mobile-nav>a{display:block;padding:10px 0}.mobile-nav>a.button{margin-top:16px;padding:16px}
.hero{padding-top:calc(var(--header) + 72px);padding-bottom:69px;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(2.6rem,4.6vw,4.1rem);line-height:1.09;margin-bottom:28px;max-width:650px}.hero h1 span{color:var(--blue)}.hero-intro{font-size:1.08rem;line-height:1.85;max-width:535px}.hero-actions{margin-top:34px;display:flex;align-items:flex-start;gap:22px;flex-wrap:wrap}.hero-actions>.text-link{margin-top:15px}.hero-location{font-size:.78rem;margin-top:27px}.hero-visual{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-left:19px}.hero-visual>img{width:100%;height:610px;object-fit:cover;object-position:center 29%}.image-rule{width:3px;position:absolute;left:0;top:18px;bottom:81px;background:var(--blue)}.hero-caption{margin-top:24px;display:flex;gap:18px;align-items:center}.caption-line{width:42px;height:1px;background:var(--blue);flex-shrink:0}.hero-caption strong{display:block;font-size:.93rem}.hero-caption div>span{display:block;font-size:.73rem;color:var(--muted);margin-top:4px}.vertical-label{position:absolute;right:-29px;top:45%;font-size:.65rem;letter-spacing:.16em;writing-mode:vertical-rl;transform:rotate(180deg);color:var(--muted)}
.credentials{border-top:1px solid var(--line);padding:37px 0 43px;display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:36px;align-items:center}.credentials>div{display:flex;align-items:center;gap:24px}.credentials>div+div{border-left:1px solid var(--line);padding-left:36px}.credentials strong{font-size:3.4rem;line-height:1.1;font-weight:600;letter-spacing:-.06em}.credentials strong>span{color:var(--blue);font-size:2.2rem}.credentials .credentials-words{font-size:1.35rem;line-height:1.4;max-width:155px;letter-spacing:-.035em}.credentials p{font-size:.76rem;line-height:1.8;white-space:nowrap}
.marquee{position:relative}.marquee-window{overflow:hidden}.marquee-track{display:flex;width:max-content;animation:marquee 37s linear infinite}.marquee-group{display:flex;align-items:center;flex-shrink:0;gap:62px;padding-right:62px}.text-marquee{padding:24px 0;background:var(--wash);border-block:1px solid #e5ebf0}.text-marquee span{font-size:clamp(1.75rem,3vw,2.75rem);font-weight:500;letter-spacing:-.03em;white-space:nowrap}.text-marquee b{font-size:1.8rem;color:var(--blue);font-weight:400}.motion-toggle{position:absolute;right:24px;bottom:7px;border:0;border-bottom:1px solid #b2beca;background:transparent;font-size:.75rem;padding:3px 0;color:var(--muted)}.text-marquee:focus-within .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:52px}.section-heading>p{max-width:345px;flex-shrink:0;font-size:1rem;padding-bottom:6px}.image-accordion{display:flex;gap:12px;height:500px;margin-bottom:51px}.accordion-panel{position:relative;flex:1;min-width:0;overflow:hidden;transition:flex .65s cubic-bezier(.2,.65,.2,1)}.accordion-panel.active{flex:2.5}.accordion-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;transition:transform .7s}.accordion-panel:hover>img{transform:scale(1.03)}.accordion-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 17%,rgba(4,20,37,.3) 42%,rgba(4,20,37,.95) 100%)}.accordion-trigger{position:absolute;z-index:2;bottom:30px;left:27px;right:27px;background:transparent;border:0;color:#fff;text-align:left;padding:0;display:flex;flex-direction:column;gap:22px;line-height:1.45;font-size:1.15rem;font-weight:500;transition:bottom .45s}.accordion-panel.active .accordion-trigger{bottom:159px;font-size:1.5rem}.panel-number{font-size:.83rem;color:#cae5f5;letter-spacing:.1em}.accordion-copy{position:absolute;z-index:2;left:27px;right:27px;bottom:28px;max-width:340px}.accordion-copy p{font-size:.91rem;color:#dfebf4;margin-bottom:19px}.panel-link{color:#fff;background:transparent;border:0;border-bottom:1px solid #02b0ef;font-size:.88rem;padding:0 0 4px}.service-list{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}.service-row{border-top:1px solid var(--line);padding:21px 0;display:flex;gap:20px;align-items:flex-start;width:100%;background:none;border-right:0;border-bottom:0;border-left:0;text-align:left}.service-row>span:first-child{color:var(--blue);font-size:.79rem;margin-top:5px;flex-shrink:0}.service-row>span:nth-child(2){flex:1}.service-row strong{display:block;font-size:1rem;font-weight:500;line-height:1.6}.service-row small{display:block;font-size:.8rem;line-height:1.75;color:var(--muted);margin-top:7px}.service-row .service-plus{width:28px;height:28px;font-size:1.4rem;line-height:1.2;color:var(--blue);text-align:center;flex-shrink:0}.service-row:hover strong{color:var(--blue)}
.principal-section{background:var(--wash);padding:103px 0}.principal-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}.principal-images{position:relative;padding-right:40px}.principal-main{width:100%;height:646px;object-fit:cover;object-position:center 35%}.portrait-note{position:absolute;bottom:-27px;right:0;background:#fff;border-top:3px solid var(--blue);padding:26px 32px;min-width:220px}.portrait-note>span{font-size:3.4rem;font-weight:600;letter-spacing:-.05em;color:var(--blue);line-height:1.2}.portrait-note p{font-size:.83rem;margin-top:8px}.principal-copy h2{margin-bottom:27px}.principal-copy p+p{margin-top:18px}.principal-copy .lead{font-size:1.06rem;color:var(--ink)}.principal-copy>p:not(.eyebrow){font-size:.97rem;line-height:1.85}.qualification-line{border-block:1px solid var(--line);padding:18px 0;font-size:.82rem;font-weight:500;color:var(--blue);margin-top:27px}.admission-timeline{display:flex;gap:30px;padding:25px 0}.admission-timeline>div{flex:1}.admission-timeline span{font-size:1.35rem;font-weight:600}.admission-timeline p{font-size:.87rem;margin-top:7px;color:var(--ink)}.admission-timeline small{font-size:.75rem;color:var(--muted);line-height:1.7;display:block;margin-top:3px}
.process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process li{border-top:1px solid var(--line);padding-top:26px}.process li>span{color:var(--blue);font-size:.84rem}.process h3{margin-top:24px;margin-bottom:13px}.process p{font-size:.93rem}.engagement-action{margin-top:49px;border-top:1px solid var(--line);padding-top:31px;display:flex;justify-content:space-between;align-items:center;gap:20px}.engagement-action p{font-size:.94rem}
.gallery-section{background:#f8fafc}.image-marquee{margin:0 0 15px;padding-bottom:0}.image-track{animation-duration:52s}.image-group{gap:18px;padding-right:18px}.photo-thumb{padding:0;border:0;background:none;flex-shrink:0;width:360px;height:225px;overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:235px 235px;gap:18px}.gallery-item{position:relative;border:0;padding:0;background:var(--navy);overflow:hidden;text-align:left}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item>span{position:absolute;inset:auto 0 0;padding:36px 22px 20px;background:linear-gradient(transparent,#071e33b8);color:#fff;font-size:.82rem}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}.carousel{margin-top:62px}.carousel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.carousel-controls{display:flex;align-items:center;gap:22px}.carousel-controls button{font-size:.8rem;background:none;border:1px solid var(--line);padding:11px 17px;min-height:44px}.carousel-controls button:hover{border-color:var(--blue);color:var(--blue)}.carousel-count{font-size:.8rem;color:var(--muted)}.carousel-stage{max-width:900px;margin:auto}.carousel-slide img{height:480px;width:100%;object-fit:cover;object-position:center 38%}
.consultation-banner{background:var(--navy);padding:89px 0;color:#fff}.consultation-banner .eyebrow{color:#91d0f1}.consultation-banner h2{font-size:clamp(2.5rem,4.5vw,4.2rem);margin-bottom:36px}.consultation-banner .section-wrap>div{display:flex;justify-content:space-between;align-items:center;gap:48px}.consultation-banner p:not(.eyebrow){color:#d3deea;max-width:500px}.consultation-banner .button{flex-shrink:0}.faq-section{display:grid;grid-template-columns:.8fr 1.5fr;gap:105px}.faq-section>div:first-child>p:not(.eyebrow){max-width:300px;margin-top:24px;margin-bottom:25px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;font-size:1rem;font-weight:500;line-height:1.6;padding:24px 40px 24px 0;cursor:pointer;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:2px;font-size:1.35rem;color:var(--blue);top:20px}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:.93rem;padding:0 25px 26px 0}
.contact-section{background:var(--wash)}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.contact-number{margin-bottom:28px}.contact-number>span{font-size:.78rem;color:var(--muted);display:block;margin-bottom:9px}.contact-number>a{font-size:clamp(1.55rem,2.6vw,2.2rem);font-weight:600;letter-spacing:-.03em}.contact-number>a:hover,.contact-email:hover{color:var(--blue)}.contact-email{font-size:.99rem;overflow-wrap:anywhere;border-bottom:1px solid var(--blue)}address{font-style:normal;font-size:.97rem;line-height:1.9;margin:28px 0 19px}.small-text{font-size:.87rem;margin-bottom:27px}.map-panel{height:490px;background:#e7eef4;border:1px solid #d5e0e9;display:flex;align-items:center;justify-content:center}.map-panel iframe{width:100%;height:100%;border:0}
.footer{background:var(--navy);color:#fff;padding:60px 0 27px}.footer-main{display:grid;grid-template-columns:1.1fr .7fr 1.2fr;gap:70px;padding-bottom:46px}.footer-brand img{width:164px}.footer-brand p{font-size:.82rem;color:#c1cedb;line-height:1.9;margin-top:20px}.footer h3{font-size:.86rem;color:#9eb3c7;margin-bottom:19px;font-weight:500}.footer-main>div:not(:first-child)>a{display:block;font-size:.8rem;color:#e0e8ef;line-height:1.8;margin-top:11px;overflow-wrap:anywhere}.footer-main a:hover{color:#02b0ef}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #32465a;padding-top:22px;font-size:.75rem}.footer-bottom p{color:#c1cedb}.footer-bottom button{border:0;background:none;padding:0;color:#c1cedb;font-size:.75rem}.footer-bottom a{color:#c1cedb}

dialog{border:0;color:var(--ink);padding:55px 45px 40px;max-width:min(720px,calc(100vw - 36px));max-height:calc(100dvh - 60px);font-family:Poppins,sans-serif;line-height:1.8;box-shadow:0 15px 70px #091e3324;overflow-y:auto}dialog::backdrop{background:#061a30c7;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:24px;top:17px;background:none;border:0;border-bottom:1px solid var(--blue);font-size:.78rem;padding:5px 0}.service-dialog h2,.notice-dialog h2{font-size:2rem;margin-bottom:23px;line-height:1.25}.service-dialog h3,.notice-dialog h3{margin:23px 0 12px}.service-dialog ul{padding-left:20px;font-size:.95rem;color:var(--muted)}.service-dialog li{margin:10px 0}.service-dialog .dialog-note{font-size:.8rem;border-top:1px solid var(--line);padding-top:18px;margin:24px 0}.notice-dialog p{font-size:.93rem;margin-bottom:20px}.notice-dialog a{overflow-wrap:anywhere;border-bottom:1px solid var(--blue)}.image-dialog{padding:50px 22px 22px;max-width:min(1060px,calc(100vw - 36px))}.image-dialog img{max-height:calc(100dvh - 180px);width:auto;max-width:100%;object-fit:contain;margin:auto}.image-dialog figcaption{text-align:center;font-size:.82rem;margin-top:14px;color:var(--muted)}body.modal-open{overflow:hidden}
@media(min-width:1500px){.hero{gap:85px}.hero h1{font-size:4.25rem}.hero-visual>img{height:640px}}
@media(max-width:1150px){.section-wrap{width:calc(100% - 72px)}.header-inner{padding-inline:30px;gap:20px}.desktop-nav{gap:18px}.desktop-nav a{font-size:.79rem}.header-cta{font-size:.73rem;padding:12px 14px}.brand,.brand img{width:126px}.hero{gap:35px}.hero h1{font-size:3.25rem}.hero-visual>img{height:570px}.hero-actions{gap:13px}.credentials{gap:20px}.credentials>div{gap:14px;flex-wrap:wrap}.credentials>div+div{padding-left:25px}.credentials p{font-size:.73rem;white-space:normal}.credentials .credentials-words{max-width:none}.section-heading{gap:35px}.section-heading>p{max-width:300px}.principal-grid{gap:47px}.principal-main{height:610px}.faq-section{gap:55px}.contact-grid{gap:45px}.footer-main{gap:30px}.accordion-trigger{left:21px;right:21px;font-size:1rem}.accordion-panel.active .accordion-trigger{font-size:1.3rem}.accordion-copy{left:21px;right:21px}}
@media(max-width:900px){:root{--header:91px}.section-wrap{width:calc(100% - 56px)}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.brand,.brand img{width:127px}.header-inner{padding-inline:27px}.hero{padding-top:calc(var(--header) + 48px);gap:28px;grid-template-columns:1.07fr 1fr}.hero h1{font-size:2.7rem}.hero .eyebrow{font-size:.68rem;letter-spacing:.12em}.hero-intro{font-size:.95rem}.hero-visual>img{height:495px}.hero-caption strong{font-size:.8rem}.hero-caption div>span{font-size:.65rem}.caption-line{width:22px}.hero-actions .button{font-size:.8rem;padding:15px 17px}.hero-location{font-size:.71rem}.vertical-label{display:none}.section-space{padding-block:85px}.section-heading{align-items:flex-start;gap:25px}.section-heading h2{font-size:2.5rem}.section-heading>p{max-width:250px;font-size:.92rem}.credentials{gap:20px}.credentials strong{font-size:2.8rem}.credentials .credentials-words{font-size:1.1rem}.credentials>div+div{padding-left:20px}.image-accordion{height:445px;gap:8px}.accordion-panel.active{flex:3}.accordion-trigger{font-size:.93rem;left:16px;right:16px}.accordion-copy{left:16px;right:16px}.accordion-copy p{font-size:.8rem}.accordion-panel.active .accordion-trigger{font-size:1.13rem;bottom:160px}.panel-link{font-size:.75rem}.service-list{column-gap:30px}.service-row strong{font-size:.91rem}.principal-grid{grid-template-columns:1fr;gap:55px}.principal-images{width:75%;max-width:550px}.principal-main{height:575px}.principal-copy{max-width:700px}.principal-copy h2 br{display:none}.principal-copy h2{font-size:2.8rem}.process{gap:28px}.process h3{font-size:1rem}.process p{font-size:.85rem}.gallery-grid{grid-template-rows:190px 190px;gap:12px}.gallery-item>span{font-size:.75rem;padding:30px 15px 15px}.carousel-slide img{height:400px}.consultation-banner .section-wrap>div{align-items:flex-start;flex-direction:column;gap:26px}.faq-section{grid-template-columns:1fr;gap:38px}.faq-section>div:first-child>p:not(.eyebrow){max-width:500px}.faq-section h2 br{display:none}.contact-grid{grid-template-columns:1fr 1fr;gap:30px}.map-panel{height:460px}.contact-email{font-size:.85rem}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-main>div:last-child{grid-column:span 2}.footer-main>div:last-child>a{display:inline-block;width:48%;padding-right:12px;vertical-align:top}}
@media(max-width:640px){:root{--header:86px}.section-wrap{width:calc(100% - 42px)}.header-inner{padding-inline:21px}.brand,.brand img{width:119px}.hero{grid-template-columns:1fr;padding-top:calc(var(--header) + 37px);padding-bottom:37px;gap:38px}.hero h1{font-size:clamp(2.5rem,9.5vw,3.5rem);line-height:1.13;letter-spacing:-.05em}.hero .eyebrow{font-size:.71rem}.hero-intro{font-size:1rem;line-height:1.85}.hero-actions{margin-top:27px;gap:19px;flex-direction:column;align-items:flex-start}.hero-actions .button{font-size:.84rem;padding:17px 19px;max-width:100%}.hero-actions>.text-link{margin-top:0;font-size:.88rem}.hero-location{font-size:.74rem;line-height:1.7;margin-top:23px}.hero-visual{padding-left:12px;max-width:440px;width:100%;margin:auto}.hero-visual>img{height:auto;aspect-ratio:4/4.6;object-position:center 25%}.image-rule{left:0;top:13px;bottom:70px;width:2px}.hero-caption{margin-top:19px;gap:12px}.hero-caption strong{font-size:.83rem}.hero-caption div>span{font-size:.66rem;line-height:1.7}.credentials{grid-template-columns:1fr;padding:26px 0 29px;gap:22px}.credentials>div{flex-wrap:nowrap;gap:26px}.credentials>div+div{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:21px}.credentials strong{min-width:115px;font-size:2.65rem}.credentials .credentials-words{max-width:135px;min-width:135px;font-size:1.13rem}.credentials p{font-size:.77rem}.marquee-group{gap:37px;padding-right:37px}.text-marquee{padding-top:21px;padding-bottom:21px}.text-marquee span{font-size:1.8rem}.motion-toggle{font-size:.75rem;min-height:29px;bottom:3px}.section-space{padding-block:64px}.eyebrow{font-size:.71rem;margin-bottom:18px;letter-spacing:.12em}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:2.25rem}.section-heading>p{max-width:none;margin-top:23px;font-size:.96rem}.image-accordion{flex-direction:column;height:auto;gap:10px;margin-bottom:30px}.accordion-panel{flex:none!important;height:111px;transition:height .45s}.accordion-panel.active{height:390px}.accordion-trigger{left:22px;right:22px;bottom:23px;font-size:1rem;gap:8px}.accordion-panel.active .accordion-trigger{bottom:146px;font-size:1.38rem;gap:20px}.panel-number{font-size:.75rem}.accordion-copy{left:22px;right:22px;bottom:23px;max-width:300px}.accordion-copy p{font-size:.9rem}.panel-link{font-size:.86rem}.service-list{grid-template-columns:1fr}.service-row{padding:21px 0;gap:15px}.service-row strong{font-size:.96rem}.service-row small{font-size:.83rem}.service-row>span:first-child{font-size:.76rem}.principal-section{padding:62px 0 67px}.principal-grid{gap:53px}.principal-images{width:100%;padding-right:18px}.principal-main{height:auto;aspect-ratio:3/4;max-height:520px}.portrait-note{padding:21px 25px;min-width:181px;bottom:-25px}.portrait-note>span{font-size:2.6rem}.portrait-note p{font-size:.78rem}.principal-copy h2{font-size:2.4rem;line-height:1.2}.principal-copy h2 br{display:block}.principal-copy>p:not(.eyebrow){font-size:.97rem}.qualification-line{font-size:.77rem;line-height:1.9}.admission-timeline{gap:20px}.admission-timeline p{font-size:.84rem}.admission-timeline small{font-size:.75rem}.process{grid-template-columns:1fr;gap:26px}.process li{padding-top:23px}.process h3{font-size:1.13rem;margin-top:16px}.process p{font-size:.94rem}.engagement-action{flex-direction:column;align-items:flex-start;margin-top:29px;padding-top:25px}.engagement-action p{font-size:.94rem}.image-group{gap:12px;padding-right:12px}.photo-thumb{width:275px;height:180px}.image-marquee{margin-bottom:27px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px 180px;gap:11px}.gallery-tall{grid-column:1;grid-row:span 2}.gallery-wide{grid-column:2;grid-row:span 2}.gallery-item>span{font-size:.74rem;line-height:1.6;padding:36px 12px 15px}.carousel{margin-top:38px}.carousel-heading{flex-direction:column;align-items:flex-start;gap:17px}.carousel-heading h3{font-size:1.14rem}.carousel-controls{width:100%;justify-content:space-between;gap:10px}.carousel-controls button{font-size:.79rem}.carousel-slide img{height:280px}.consultation-banner{padding:60px 0}.consultation-banner h2{font-size:2.6rem;margin-bottom:25px}.consultation-banner p:not(.eyebrow){font-size:.98rem}.consultation-banner .button{max-width:100%;font-size:.83rem;padding:17px 18px}.faq-section{gap:30px}.faq-section h2{font-size:2.45rem}.faq-list summary{font-size:.95rem;padding-block:22px}.faq-list details p{font-size:.92rem;padding-right:9px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact-number>a{font-size:1.8rem}.contact-email{font-size:.94rem}.map-panel{height:350px}.footer{padding-top:45px;padding-bottom:94px}.footer-main{grid-template-columns:1fr;gap:36px;text-align:center;padding-bottom:35px}.footer-brand img{margin:auto;width:150px}.footer-brand p{font-size:.83rem}.footer-main>div:last-child{grid-column:auto}.footer-main>div:last-child>a{display:block;width:auto;padding:0}.footer-main>div:not(:first-child)>a{font-size:.83rem}.footer h3{margin-bottom:13px;font-size:.85rem}.footer-bottom{flex-direction:column;gap:15px;text-align:center;font-size:.76rem}.footer-bottom button{font-size:.76rem}dialog{padding:54px 24px 30px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px)}.service-dialog h2,.notice-dialog h2{font-size:1.75rem}.service-dialog ul{font-size:.91rem}.image-dialog{padding:50px 12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.marquee-track{transform:none!important}.motion-toggle{display:none}.marquee-window{overflow-x:auto}.marquee-group[aria-hidden=true]{display:none}}

/* Uniform editorial system, swipeable reel and compact contact controls. */
.footer-logo-transparent{filter:none}
.section-heading .eyebrow,.principal-copy>.eyebrow,.faq-section .eyebrow{font-size:.8rem;line-height:1.7;letter-spacing:.12em;margin-bottom:22px;text-transform:none}
.section-heading h2,.principal-copy h2,.faq-section h2{font-size:clamp(2.3rem,4vw,3.6rem);line-height:1.15}
.process>li>span{font-size:.8rem;font-weight:500;letter-spacing:.05em}
.image-track{animation:none;transform:none}.image-group{gap:18px;padding-right:18px}.photo-reel{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x pan-y;cursor:grab;scroll-behavior:auto;overscroll-behavior-x:contain}.photo-reel::-webkit-scrollbar{display:none}.photo-reel.dragging{cursor:grabbing}.photo-reel.dragging button{cursor:grabbing}.photo-reel img{user-select:none;-webkit-user-drag:none}.photo-thumb{touch-action:pan-x pan-y}.reel-instruction{font-size:.8rem;text-align:right;margin-top:0;margin-bottom:30px;color:var(--muted)}
.carousel-stage{touch-action:pan-y}.gallery-item.gallery-wide img{object-fit:contain;background:var(--navy)}
.contact-dock{position:fixed;left:22px;bottom:22px;z-index:28;width:54px;max-width:calc(100vw - 44px)}
.contact-launcher,.contact-channel{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px #091e3326}
.contact-launcher{position:relative;border:1px solid #456076;background:var(--navy);color:#fff;padding:0}.contact-launcher img,.contact-channel img{width:25px;height:25px;filter:brightness(0) invert(1)}.contact-channel.channel-whatsapp img{width:28px;height:28px}
.contact-channels{position:absolute;bottom:65px;left:0;display:flex;flex-direction:column;gap:11px;padding-bottom:11px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .18s,transform .18s,visibility .18s}
.contact-dock.open .contact-channels{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.contact-dock.open:before{content:'';position:absolute;bottom:50px;left:0;width:54px;height:25px}
.contact-channel{position:relative}.channel-whatsapp{background:#168b4b}.channel-call{background:var(--blue)}.channel-email{background:var(--navy)}.contact-channel:hover{box-shadow:0 4px 18px #091e3340}
.channel-label,.launcher-label{position:absolute;left:66px;top:50%;transform:translateY(-50%);padding:9px 12px;background:var(--navy);color:#fff;font-size:.75rem;font-weight:400;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s;line-height:1.6}
.contact-channel:hover .channel-label,.contact-channel:focus-visible .channel-label,.contact-launcher:hover .launcher-label,.contact-launcher:focus-visible .launcher-label{opacity:1;visibility:visible}.contact-dock.open .launcher-label{opacity:0;visibility:hidden}
.launcher-close{display:none;font-size:2rem;line-height:1;font-weight:400}.contact-dock.open .launcher-close{display:block}.contact-dock.open .launcher-icon{display:none}
@media(max-width:900px){.section-heading h2,.principal-copy h2,.faq-section h2{font-size:2.5rem}.section-heading .eyebrow,.principal-copy>.eyebrow,.faq-section .eyebrow{font-size:.77rem}}
@media(max-width:640px){.section-heading h2,.principal-copy h2,.faq-section h2{font-size:2.3rem;line-height:1.17}.section-heading .eyebrow,.principal-copy>.eyebrow,.faq-section .eyebrow{font-size:.75rem;letter-spacing:.09em;margin-bottom:20px}.contact-dock{left:14px;bottom:16px;width:50px}.contact-launcher,.contact-channel{width:50px;height:50px}.contact-channels{bottom:61px}.channel-label,.launcher-label{left:61px;max-width:calc(100vw - 90px);white-space:normal;overflow-wrap:anywhere;font-size:.72rem}.reel-instruction{text-align:center;font-size:.77rem;margin-bottom:26px}.image-group{gap:12px;padding-right:12px}.gallery-grid{grid-template-rows:200px 200px 220px}.gallery-tall{grid-column:1;grid-row:1 / 3}.gallery-wide{grid-column:2;grid-row:1}.gallery-item:nth-child(3){grid-column:2;grid-row:2}.gallery-item:nth-child(4){grid-column:1 / 3;grid-row:3}}
@media(hover:none){.launcher-label,.channel-label{display:none}}
@media(prefers-reduced-motion:reduce){.contact-channels,.channel-label{transition:none}.image-group[aria-hidden=true]{display:flex}}

/* Quiet motion and matching, clearly labelled floating controls. */
:root{--floating-size:54px;--floating-bottom:22px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.credentials strong>.counter-value{font-size:inherit;color:inherit;display:inline-block;min-width:2ch;text-align:right;font-variant-numeric:tabular-nums}
.contact-dock{bottom:var(--floating-bottom);width:var(--floating-size)}
.contact-launcher,.contact-channel{width:var(--floating-size);height:var(--floating-size)}
.contact-purpose{position:absolute;left:calc(var(--floating-size) + 10px);top:50%;transform:translateY(-50%);padding:7px 11px;background:var(--navy);color:#fff;font-size:.72rem;font-weight:500;white-space:nowrap;line-height:1.6;border-radius:3px;box-shadow:0 3px 12px #091e3315;pointer-events:none;transition:opacity .18s}
.contact-dock.open .contact-purpose{opacity:0}
.contact-launcher:before{content:'';position:absolute;inset:-5px;border:1px solid var(--blue);border-radius:50%;pointer-events:none;opacity:0;animation:contact-intro 1.8s ease-out .5s 2}
@keyframes contact-intro{0%{transform:scale(.95);opacity:.5}85%,100%{transform:scale(1.32);opacity:0}}
.contact-launcher,.contact-channel,.scroll-to-top{transition:background .2s,box-shadow .2s,transform .2s}
.contact-launcher:hover,.contact-channel:hover{transform:translateY(-2px)}
.scroll-to-top{position:fixed;right:22px;bottom:var(--floating-bottom);z-index:28;width:var(--floating-size);height:var(--floating-size);border-radius:50%;border:1px solid #456076;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 4px 14px #091e3326;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,visibility .2s,transform .2s,background .2s}
.scroll-to-top>span:first-child{font-size:1.7rem;line-height:1;font-weight:400;margin-top:-3px}
.scroll-to-top.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.scroll-to-top:hover{background:var(--blue);transform:translateY(-2px)}
.top-label{position:absolute;right:calc(var(--floating-size) + 10px);top:50%;transform:translateY(-50%);padding:7px 11px;background:var(--navy);color:#fff;font-size:.72rem;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s;line-height:1.6;border-radius:3px}
.scroll-to-top:hover .top-label,.scroll-to-top:focus-visible .top-label{opacity:1;visibility:visible}
.reveal-ready{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.reveal-ready.is-revealed,.reveal-ready:focus-within{opacity:1;transform:none}
.service-row{transition:background .2s}.service-row:hover,.service-row:focus-visible{background:#02b0ef06}
.text-link{transition:color .2s,border-color .2s}.text-link:hover{color:var(--blue);border-color:var(--ink)}
@media(max-width:640px){:root{--floating-size:50px;--floating-bottom:16px}.scroll-to-top{right:14px}.contact-purpose{font-size:.68rem;padding:6px 9px}.top-label{display:none}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}.contact-launcher:before{animation:none}.contact-purpose,.scroll-to-top,.top-label{transition:none}}

/* Section-scoped sticky introduction and continuously looping values. */
.credentials>div:first-child strong,.credentials>div:first-child strong>span{color:var(--blue)}
.portrait-counter>.counter-value{display:inline-block;min-width:2ch;text-align:right;font-variant-numeric:tabular-nums}
.values-track{animation:none;transform:none}.values-group{flex-shrink:0}
.values-reel{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab;user-select:none}
.values-reel::-webkit-scrollbar{display:none}.values-reel.dragging{cursor:grabbing}
.values-reel:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.carousel-slide{animation:moment-in .45s ease-out}
@keyframes moment-in{from{opacity:.3}to{opacity:1}}
@media(min-width:901px){.faq-intro{position:sticky;top:calc(var(--header) + 30px);align-self:start}}
@media(prefers-reduced-motion:reduce){.values-track>.marquee-group[aria-hidden=true]{display:flex}.carousel-slide{animation:none}}

/* Agency credit, branded header CTA and hero-aware floating controls. */
:root{--logo-blue:#02b0ef}
.header-cta,.mobile-nav>.button{background:var(--logo-blue);color:var(--navy);border-color:var(--logo-blue);transition:background .2s,border-color .2s}
.header-cta:hover,.header-cta:focus-visible,.mobile-nav>.button:hover,.mobile-nav>.button:focus-visible{background:var(--navy);border-color:var(--navy);color:#fff}
.contact-section .section-heading>.contact-heading-note{text-align:right;margin-left:auto}
.footer-bottom .agency-credit{display:inline-block;margin-top:7px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.footer-bottom .agency-credit:hover,.footer-bottom .agency-credit:focus-visible{color:#02b0ef;border-color:#02b0ef}
.contact-dock{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,visibility .2s,transform .2s}
.contact-dock.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.contact-launcher:before{animation:none}.contact-dock.visible .contact-launcher:before{animation:contact-intro 1.8s ease-out .3s 2}
@media(prefers-reduced-motion:reduce){.contact-dock,.header-cta,.agency-credit{transition:none}}

/* Consistent credentials, service contact choices and editorial alignment. */
.credentials strong,.credentials .credentials-words,.credentials strong>span{color:var(--blue)}
.header-cta,.mobile-nav>.button{color:#fff;font-weight:600;text-shadow:0 1px 1px #091e3359;box-shadow:0 5px 12px #091e331c,0 2px 0 #0788be;transform:translateY(-2px);transition:background .2s,box-shadow .2s,transform .2s}
.header-cta:hover,.header-cta:focus-visible,.mobile-nav>.button:hover,.mobile-nav>.button:focus-visible{box-shadow:0 7px 16px #091e3326,0 2px 0 #071625;transform:translateY(-3px)}
.service-contact{margin-top:28px}.service-contact>h3{font-size:1rem;margin-bottom:15px}.service-contact-options{display:flex;flex-wrap:wrap;gap:12px}.service-contact-options .button{flex:1;min-width:190px}
.admission-timeline .admission-year{display:inline-block;font-size:2.45rem;line-height:1.2;font-weight:700;letter-spacing:-.035em;transition:color .2s}
.admission-timeline .admission-year>.year-counter{font-size:inherit;font-weight:inherit;display:inline-block;min-width:4ch;font-variant-numeric:tabular-nums}
.admission-timeline>div:hover .admission-year{color:var(--logo-blue)}
.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.footer-credit-notice{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:nowrap}
.footer-bottom .agency-credit{margin-top:0}.footer-top-link{justify-self:end}
@media(min-width:901px){.section-heading>p{text-align:right;margin-left:auto}.principal-grid{align-items:start}.principal-images{position:sticky;top:calc(var(--header) + 25px);align-self:start}.principal-main{height:min(646px,calc(100dvh - var(--header) - 100px));min-height:320px}}
@media(max-width:1100px){.footer-bottom{grid-template-columns:1fr}.footer-bottom>p{text-align:center}.footer-top-link{justify-self:center}}
@media(max-width:640px){.admission-timeline .admission-year{font-size:2.1rem}.footer-credit-notice{gap:10px 18px}.footer-credit-notice .agency-credit,.footer-credit-notice button{font-size:.75rem}.service-contact-options{flex-direction:column}.service-contact-options .button{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.header-cta,.mobile-nav>.button,.admission-year{transition:none}}

/* The footer uses a pre-rendered transparent image; no live SVG filter. */
.footer-brand .footer-logo-transparent{width:200px;max-width:100%;height:auto;filter:none;object-fit:contain}

/* Supporting copy aligns with its heading on mobile and tablet. */
@media(max-width:900px){
  .section-heading>p,
  .contact-section .section-heading>.contact-heading-note{text-align:left;margin-left:0;margin-right:0}
  .reel-instruction{text-align:left}
}

/* One-time entrances and restrained interaction motion. */
.hero-entrance{animation:hero-reveal .6s cubic-bezier(.2,.65,.2,1) both}
.hero-order-0{animation-delay:0s}.hero-order-1{animation-delay:.06s}.hero-order-2{animation-delay:.12s}.hero-order-3{animation-delay:.18s}.hero-order-4{animation-delay:.24s}.hero-order-5{animation-delay:.18s}
@keyframes hero-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.hero-entrance:focus-within{animation:none;opacity:1;transform:none}
.reveal-ready{transition:opacity .5s ease,transform .5s cubic-bezier(.2,.65,.2,1)}
.service-row.reveal-ready{transition:background .2s,opacity .4s ease,transform .4s ease}
.reveal-ready.reveal-stagger-1{transition-delay:60ms}.reveal-ready.reveal-stagger-2{transition-delay:120ms}
.reveal-ready:focus-within{transition-delay:0s}
.faq-answer{overflow:hidden}.faq-outgoing{overflow:hidden;pointer-events:none}
.faq-outgoing p{font-size:.93rem;padding:0 25px 26px 0}
.faq-list summary{transition:color .2s}.faq-list summary:hover,.faq-list summary:focus-visible{color:var(--blue)}
.desktop-nav a,.text-link,.panel-link{position:relative}
.desktop-nav a:after,.text-link:after,.panel-link:after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--logo-blue);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.text-link:after,.panel-link:after{bottom:-1px}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.text-link:hover:after,.text-link:focus-visible:after,.panel-link:hover:after,.panel-link:focus-visible:after{transform:scaleX(1)}
.service-plus{transition:transform .2s ease}.service-row:hover .service-plus,.service-row:focus-visible .service-plus{transform:rotate(90deg)}
dialog[open]::backdrop{animation:backdrop-reveal .24s ease-out both}
dialog.dialog-closing::backdrop{animation:backdrop-reveal .18s ease-in reverse both}
@keyframes backdrop-reveal{from{opacity:0}to{opacity:1}}
@media(max-width:640px){.faq-outgoing p{font-size:.92rem;padding-right:9px}.hero-entrance{animation-duration:.5s}.reveal-ready{transform:translateY(10px)}.reveal-ready.is-revealed,.reveal-ready:focus-within{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-entrance,.reveal-ready{animation:none;opacity:1;transform:none}.reveal-ready,.service-row.reveal-ready,.service-plus,.faq-list summary{transition:none}.desktop-nav a:after,.text-link:after,.panel-link:after{transition:none}dialog[open]::backdrop{animation:none}}

/* Clear, mobile-ready preference notice for the optional third-party map. */
.map-consent-placeholder{width:min(490px,calc(100% - 40px));padding:28px 0}
.map-consent-placeholder .eyebrow{margin-bottom:13px}
.map-consent-placeholder h3{font-size:1.45rem;margin-bottom:12px}
.map-consent-placeholder>p:not(.eyebrow){font-size:.91rem;margin-bottom:20px}
.map-consent-placeholder .button{margin-right:12px}
.map-settings-link,.inline-link{background:none;border:0;padding:0;color:var(--blue);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.map-panel iframe{display:block}
.cookie-banner{position:fixed;z-index:60;left:50%;bottom:14px;transform:translateX(-50%);width:min(1120px,calc(100% - 36px));max-height:min(82dvh,620px);overflow-y:auto;background:#fff;border:1px solid var(--line);border-top:3px solid var(--logo-blue);box-shadow:0 12px 45px #091e3330;padding:24px 30px}
.cookie-inner{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:20px 38px}
.cookie-copy .eyebrow{margin-bottom:7px;font-size:.7rem}
.cookie-copy h2{font-size:1.55rem;line-height:1.2;margin-bottom:8px;letter-spacing:-.03em}
.cookie-copy>p:not(.eyebrow){font-size:.81rem;line-height:1.7}
.cookie-copy .cookie-policy-note{margin-top:6px;font-size:.74rem!important}
.inline-link{font-size:inherit}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}
.cookie-actions>.button{min-height:50px;padding:12px;font-size:.78rem}
.cookie-settings-toggle{grid-column:1/-1;justify-self:center;background:none;border:0;border-bottom:1px solid var(--line);padding:5px 2px;color:var(--ink);font-size:.78rem}
.cookie-settings-toggle:hover,.cookie-settings-toggle:focus-visible{color:var(--blue);border-color:var(--blue)}
.cookie-settings{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:15px}
.cookie-settings>p,.cookie-toggle>span{display:flex;flex-direction:column;gap:3px;font-size:.77rem;line-height:1.55}
.cookie-settings>p span,.cookie-toggle>span>span{color:var(--muted);font-size:.73rem}
.cookie-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.78rem;cursor:pointer}
.cookie-toggle input{accent-color:var(--blue);width:20px;height:20px;flex:none}
.cookie-settings>.button{min-height:46px;padding:10px 18px;font-size:.78rem}
.cookie-banner[hidden],.cookie-settings[hidden]{display:none}
@media(max-width:700px){.cookie-banner{bottom:8px;width:calc(100% - 20px);max-height:82dvh;padding:20px}.cookie-inner{grid-template-columns:1fr;gap:15px}.cookie-copy h2{font-size:1.38rem}.cookie-copy>p:not(.eyebrow){font-size:.77rem;line-height:1.6}.cookie-actions{grid-template-columns:1fr}.cookie-actions>.button{min-height:46px}.cookie-settings{grid-template-columns:1fr;gap:13px}.cookie-settings>.button{width:100%}.map-consent-placeholder{width:calc(100% - 28px);padding:18px 0}.map-consent-placeholder .button{display:flex;width:100%;margin:0 0 14px}.footer-credit-notice{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.cookie-banner{scroll-behavior:auto}}

/* Keep consent quiet in the hero; reveal a compact left control below it. */
.cookie-launcher{position:fixed;left:22px;bottom:calc(var(--floating-bottom) + var(--floating-size) + 10px);z-index:29;width:var(--floating-size);height:var(--floating-size);display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #456076;border-radius:50%;background:var(--navy);color:#fff;box-shadow:0 4px 14px #091e3326;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,visibility .2s,transform .2s,background .2s}
.cookie-launcher.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.cookie-launcher{position:fixed}
.cookie-launcher.needs-attention:after{content:"";position:absolute;inset:-5px;border:1px solid var(--logo-blue);border-radius:50%;pointer-events:none;animation:cookie-attention 1.9s ease-out infinite}
@keyframes cookie-attention{0%{transform:scale(.94);opacity:.72}100%{transform:scale(1.42);opacity:0}}
.cookie-launcher svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cookie-launcher:hover{background:var(--logo-blue);transform:translateY(-2px)}
.cookie-tooltip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:7px 11px;background:var(--navy);color:#fff;font-size:.72rem;font-weight:500;line-height:1.6;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s}
.cookie-launcher:hover .cookie-tooltip,.cookie-launcher:focus-visible .cookie-tooltip{opacity:1;visibility:visible}
.cookie-banner{left:calc(22px + var(--floating-size) + 12px);bottom:calc(var(--floating-bottom) + var(--floating-size) + 10px);transform:none;width:min(490px,calc(100vw - 112px));max-height:min(76dvh,600px);padding:22px 24px}
.cookie-inner{grid-template-columns:1fr;gap:14px}
.cookie-copy .eyebrow{margin-bottom:5px}
.cookie-copy h2{font-size:1.4rem}
.cookie-actions>.button{min-height:46px}
.cookie-settings{grid-template-columns:1fr 1.15fr auto;gap:12px}
@media(max-width:700px){.cookie-launcher{left:14px}.cookie-banner{left:calc(14px + var(--floating-size) + 10px);bottom:calc(var(--floating-bottom) + var(--floating-size) + 10px);width:calc(100vw - var(--floating-size) - 38px);max-height:76dvh;padding:17px}.cookie-inner{gap:12px}.cookie-copy h2{font-size:1.28rem}.cookie-copy>p:not(.eyebrow){font-size:.74rem}.cookie-copy .cookie-policy-note{font-size:.71rem!important}.cookie-actions>.button{font-size:.75rem}.cookie-settings{grid-template-columns:1fr;gap:12px}}
@media(hover:none){.cookie-tooltip{display:none}}
@media(prefers-reduced-motion:reduce){.cookie-launcher,.cookie-tooltip,.cookie-banner{transition:none;transform:none}.cookie-launcher.needs-attention:after{animation:none;inset:-4px;opacity:.75}}

/* Introduce the consent control before its panel opens. */
.cookie-launcher.introducing .cookie-tooltip{display:block;opacity:1;visibility:visible;animation:cookie-label-intro 1.4s ease both}
@keyframes cookie-label-intro{0%{opacity:0;transform:translateY(-50%) translateX(-4px)}16%,78%{opacity:1;transform:translateY(-50%) translateX(0)}100%{opacity:0;transform:translateY(-50%) translateX(0)}}
@media(prefers-reduced-motion:reduce){.cookie-launcher.introducing .cookie-tooltip{animation:none;opacity:1;transform:translateY(-50%)}}
