[hidden]{display:none!important}
.topline{min-height:36px}
.topline span:last-child{opacity:.82}
.site-header nav{gap:clamp(16px,2vw,32px)}
.hero{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);min-height:570px}
.hero-copy{padding-block:clamp(62px,5vw,92px) 40px}
.hero h1{font-size:clamp(2.7rem,4vw,4.65rem)}
.hero-photo{align-self:center;display:flex;flex-direction:column;min-height:0;margin:28px 34px 28px 0;padding:12px;background:#fff;border:1px solid #d2dde6;box-shadow:0 16px 42px #132b4516;overflow:visible}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}
.hero-photo figcaption,.lang-visual figcaption{position:static;width:auto;max-width:none;padding:8px 3px 1px;background:none;color:#536477;font-size:.7rem}
.flags{background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);align-items:center;gap:34px;padding:32px clamp(28px,5.6vw,90px)}
.flags-intro .eyebrow{margin-bottom:9px}
.flags-intro p:last-child{margin:0;line-height:1.5;color:#3f536a;font-size:.96rem}
.flag-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.flag-list li{display:flex;align-items:center;gap:9px;min-width:0;border:1px solid #d9e2e9;background:#f9fbfc;padding:9px 10px;font-size:.79rem;font-weight:700;line-height:1.25}
.flag-list li.flag-major{background:#e9f0f5;border-color:#bed0dd;color:#102a48;font-size:.88rem}
.flag-list img{width:34px;height:26px;object-fit:cover;box-shadow:0 0 0 1px #0002;flex:0 0 auto}
.flag-list .flag-major img{width:40px;height:30px}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.service-card{padding:0;min-height:0}
.service-card details{height:100%;padding:30px 30px 27px}
.service-card summary{display:block;cursor:pointer;list-style:none}
.service-card summary::-webkit-details-marker{display:none}
.service-card summary h3{margin:18px 0 9px;font-size:1.44rem}
.service-card summary p{margin:0;color:var(--muted);font-size:.97rem}
.open-label{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:25px;border-top:1px solid var(--line);padding-top:14px;font-size:.85rem;font-weight:800;color:var(--navy)}
.open-label span{font:400 1.55rem/1 Arial,Helvetica,sans-serif}
.service-card details[open] .open-label span{transform:rotate(45deg)}
.service-card details[open]{background:#f9fbfc}
.service-body{padding-top:20px;border-top:1px solid var(--line);margin-top:20px}
.service-body h4{font:800 .83rem/1.4 Arial,Helvetica,sans-serif;letter-spacing:.03em;margin:17px 0 8px}
.service-body h4:first-child{margin-top:0}
.service-body ul{margin:0 0 16px;padding-left:20px;color:#485d71;font-size:.94rem;line-height:1.65}
.service-body li+li{margin-top:7px}
.service-body p{font-size:.94rem;line-height:1.65;color:#485d71;margin:0 0 16px}
.service-body a{display:block;width:max-content;max-width:100%;font-size:.85rem;font-weight:800;color:var(--navy);text-decoration:underline;margin:17px 0 0}
.service-card-language{grid-column:1/-1}
.service-card-language details{background:#edf4f8}
.service-card-language summary{max-width:740px}
.anef-focus{margin-top:26px}
.simulation{background:#eaf0f5}
.simulation-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1120px}
.simulation-form fieldset{min-width:0;margin:0;border:1px solid #d0dce5;background:#fff;padding:22px 24px}
.simulation-form legend{font:700 1rem/1.45 Arial,Helvetica,sans-serif;padding:0 3px}
.simulation-form label{display:inline-flex;align-items:center;gap:7px;margin:5px 19px 2px 0;cursor:pointer;font-size:.94rem}
.simulation-form input[type=radio],.appointment-choice input[type=radio]{width:auto;accent-color:var(--red);margin:0}
.simulation-form button{width:max-content}
.simulation-result{grid-column:1/-1;background:#fff;border-left:4px solid var(--red);padding:20px 25px;font-size:1rem}
.simulation-result p{margin:8px 0 0}
.simulation-result a{color:var(--blue,#214a81);font-weight:700}
.simulation>.source-line{font-size:.83rem;max-width:900px;color:#52677c;margin-top:25px}
.lang-visual{display:flex;flex-direction:column;justify-content:center;gap:0;min-height:0;margin:0;padding:27px;background:#dce7ed}
.lang-visual img{width:100%;height:auto;max-height:530px;object-fit:contain;border:10px solid #fff}
.voices .section-intro{margin-bottom:15px}
.voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:25px}
.voice-card{min-width:0;border:1px solid var(--line);border-top:3px solid var(--red);background:#fff;padding:24px 24px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:22px}
.voice-card p{font-size:.99rem;line-height:1.65;color:#334d66;margin:0}
.voice-card span{font-size:.82rem;line-height:1.45;font-weight:800;color:var(--navy)}
.office-card{border:1px solid #f3ced8;background:#ffffff14;padding:20px 22px;margin-top:33px;max-width:560px}
.office-card strong{font:800 1.03rem Arial,Helvetica,sans-serif}
.office-card p{margin:8px 0 0;font-size:.93rem}
.contact-form .appointment-choice{margin:8px 0 20px;padding:16px 17px;border:1px solid var(--line)}
.appointment-choice legend{font-weight:800;padding:0 4px}
.contact-form .appointment-choice label{display:inline-flex;align-items:center;gap:8px;margin:4px 22px 0 0;font-weight:500}
.appointment-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#edf3f7;padding:18px;margin:0 0 18px}
.appointment-fields label{margin:0}
.appointment-fields p{grid-column:1/-1;color:#50647a;margin:0;font-size:.8rem}
.form-status{min-height:2.5em}
.contact-form .privacy-note{border-top:1px solid var(--line);padding-top:15px}
@media(min-width:781px){.site-header{flex-direction:row;align-items:center}.site-header nav{justify-content:flex-end}}
@media(max-width:1120px){.flags{grid-template-columns:1fr}.site-header nav{flex-wrap:wrap}.hero{grid-template-columns:1.06fr .94fr}.hero-copy{padding-inline:35px}.hero-photo{margin-right:22px}.voice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.hero{display:block}.hero-copy{padding:58px 24px 35px}.hero-photo{margin:0 24px 25px;min-height:0;max-height:none}.hero-photo img{max-height:none}.flags{padding:31px 24px;gap:20px}.service-grid{grid-template-columns:1fr}.service-card-language{grid-column:auto}.lang-visual{max-height:none;padding:20px}.lang-visual img{max-height:none}.simulation-form{grid-template-columns:1fr}.simulation-result{grid-column:auto}.site-header nav{flex-wrap:nowrap}.contact{grid-template-columns:1fr}}
@media(max-width:560px){.topline span:last-child{display:none}.hero h1{font-size:clamp(2.65rem,10vw,3.7rem)}.flag-list{grid-template-columns:repeat(2,minmax(0,1fr))}.flag-list li{font-size:.73rem}.flag-list img{width:30px;height:22px}.flag-list .flag-major img{width:34px;height:26px}.service-card details{padding:24px}.appointment-fields{grid-template-columns:1fr}.appointment-fields p{grid-column:auto}.voice-grid{grid-template-columns:1fr}}
.site-header .brand{min-width:0;gap:14px}
.brand-name{display:block;color:var(--navy);font:800 1.43rem/1.1 Arial,Helvetica,sans-serif;letter-spacing:-.045em;white-space:nowrap}
.brand-name small{display:block;margin-top:5px;color:#52667d;font:700 .62rem/1.35 Arial,Helvetica,sans-serif;letter-spacing:.008em;white-space:normal}
.topic-index{background:#eaf0f5;padding-block:76px}
.topic-index .section-intro{margin-bottom:32px}
.topic-index-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;max-width:1240px}
.topic-index-group{background:#fff;border:1px solid #d3dfe8;padding:26px 30px}
.topic-index-group h3{font-size:1.11rem;margin:0 0 16px}
.topic-index-group a{display:flex;align-items:center;min-height:42px;border-top:1px solid #e2e9ed;padding:8px 0;text-decoration:none;font-size:.94rem;font-weight:700;color:var(--navy)}
.topic-index-group a:hover,.topic-index-group a:focus-visible{color:var(--red);text-decoration:underline}
@media(max-width:760px){.topic-index-grid{grid-template-columns:1fr}.topic-index{padding-block:64px}.site-header .brand{font-size:1rem}}
@media(max-width:390px){.brand-name{font-size:1.18rem}.brand-name small{font-size:.57rem}}
.sub-procedure{margin:18px 0;border:1px solid #cedae4;background:#fff;padding:16px}
.sub-procedure summary{cursor:pointer;font-weight:800;color:var(--navy);font-size:.98rem}
.sub-procedure .simulation{margin:20px 0 0;padding:20px;background:#eaf0f5}
.sub-procedure .section-intro{margin-bottom:18px}
.sub-procedure .section-intro h2{font-size:1.45rem;margin:0 0 12px}
.sub-procedure .simulation-form{grid-template-columns:1fr 1fr}
.quick-check{margin-top:22px;padding:20px;border:1px solid #cedae4;background:#fff}
.quick-check h4{margin:0 0 8px}
.quick-check>p{margin:0 0 15px}
.quick-check fieldset{min-width:0;margin:0 0 14px;padding:12px;border:1px solid #dce5ec}
.quick-check legend{font-weight:700;font-size:.94rem;padding:0 4px}
.quick-check label{display:block;margin:7px 0;line-height:1.5;font-size:.92rem;color:#334d66}
.quick-check input{accent-color:var(--red)}
.quick-check button{margin-top:5px}
.quick-result{border-left:4px solid var(--red);background:#eaf0f5;padding:16px;margin-top:17px}
.quick-result p{margin:8px 0}
.quick-result a{display:inline-block;margin:4px 0;font-weight:800}
@media(max-width:780px){.sub-procedure .simulation-form{grid-template-columns:1fr}}
.world-section{padding:58px clamp(24px,5.6vw,90px) 68px;background:#f0f5f8}
.world-intro{max-width:1200px;margin:0 auto 25px}.world-intro h2{margin:5px 0 0;font-size:clamp(1.8rem,3vw,2.9rem)}
.world-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.world-card{height:350px;position:relative;overflow:hidden;background:#153351;color:#fff;isolation:isolate;text-decoration:none;box-shadow:0 8px 25px #102d4930}
.world-scene{position:absolute;inset:0;background-image:linear-gradient(0deg,#0d253cb8,transparent 48%),url('/assets/france-usa-canada-real.png');background-size:100% 100%,300% 100%;transition:transform .7s ease;animation:scene-breathe 18s ease-in-out infinite alternate}
.world-card:hover .world-scene,.world-card:focus-visible .world-scene{transform:scale(1.06)}
.world-card.paris .world-scene{background-position:center,0% center}.world-card.newyork .world-scene{background-position:center,50% center}.world-card.niagara .world-scene{background-position:center,100% center}
.world-label{position:absolute;inset:auto 18px 20px;display:grid;gap:4px;text-shadow:0 2px 7px #081624}.world-label strong{font-size:1.3rem}.world-label small{font-size:.88rem}
@keyframes scene-breathe{from{filter:saturate(.95)}to{filter:saturate(1.12)}}
.quick-check .step-progress,.simulation-form .step-progress{margin:0 0 12px;color:var(--red);font-weight:800;font-size:.84rem;letter-spacing:.04em;grid-column:1/-1}
.quick-check fieldset[hidden],.simulation-form fieldset[hidden],.quick-check button[hidden],.simulation-form button[hidden]{display:none}
@media(max-width:780px){.world-grid{grid-template-columns:1fr}.world-card{height:320px}.world-section{padding-block:42px 52px}}
@media(prefers-reduced-motion:reduce){.world-scene{animation:none}.world-card:hover .world-scene,.world-card:focus-visible .world-scene{transform:none}}
