/* Accueil : les paysages du jeu, une hiérarchie commune aux deux parcours. */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body.ff-home { margin:0; font-family:Inter,system-ui,sans-serif; line-height:1.65; }
.ff-home :is(h1,h2,h3,h4,p) { margin:0; }
.ff-home a { color:inherit; text-decoration:none; }
.ff-home img { display:block; max-width:100%; height:auto; }
.ff-home button { font:inherit; cursor:pointer; }
.ff-home :is(a,button,summary):focus-visible { outline:3px solid #58bcb4; outline-offset:4px; }
.home-container { width:min(1320px,calc(100% - 80px)); margin-inline:auto; }
.home-header { background:var(--ff-card); border-bottom:1px solid var(--ff-line); }
.home-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px; }
.home-brand { display:flex; align-items:center; gap:10px; font-size:18px; font-weight:800; line-height:1.1; letter-spacing:-.03em; }
.home-brand>span>span { display:block; font-size:13px; letter-spacing:.04em; margin-top:4px; font-weight:500; }
.home-brand small { align-self:flex-start; margin-top:2px; padding:4px 6px; background:var(--ff-soft); color:var(--ff-muted); font-size:9px; letter-spacing:.02em; border-radius:4px; }
.home-nav nav,.home-nav-actions { display:flex; align-items:center; gap:30px; font-size:13px; font-weight:600; }
.home-nav nav { gap:18px; }
.home-nav nav a { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:10px 14px; border-radius:12px; color:var(--ff-ink); font-size:20px; line-height:1.3; font-weight:750; white-space:nowrap; }
.home-nav nav a:hover { background:var(--ff-soft); }
.home-nav a:hover { color:var(--ff-link); }
.home-login { border:1px solid var(--ff-line); border-radius:10px; padding:10px 16px; }
.home-nav-actions { gap:12px; }
.home-theme { border:1px solid var(--ff-line); border-radius:50%; width:38px; height:38px; background:var(--ff-soft); color:var(--ff-ink); }
@media (min-width:621px) and (max-width:1050px) {
    .home-nav { flex-wrap:wrap; padding-block:14px; gap:10px 20px; }
    .home-nav nav { order:3; width:100%; justify-content:center; border-top:1px solid var(--ff-line); padding-top:8px; }
}
@media (max-width:620px) {
    .ff-home .home-nav nav { gap:4px; }
    .home-nav nav a { min-height:48px; padding:10px 6px; font-size:16px; }
}
@media (max-width:360px) {
    .home-nav nav a { padding-inline:3px; font-size:15px; }
}
.home-hero { background:radial-gradient(ellipse at 80% 40%,#164654 0,#102e3d 50%,#0c2432 100%); color:#ecf7f7; overflow:hidden; }
.hero-layout { display:grid; grid-template-columns:.92fr 1.08fr; column-gap:48px; row-gap:24px; align-items:center; padding-block:58px 42px; }
.hero-copy { grid-column:1; grid-row:1; align-self:end; }
.hero-details { grid-column:1; grid-row:2; align-self:start; }
.island-preview { grid-column:2; grid-row:1 / span 2; }
.home-kicker { font-weight:700; text-transform:uppercase; letter-spacing:.11em; font-size:11px; color:var(--ff-link); }
.hero-copy .home-kicker { display:flex; gap:10px; align-items:center; color:#a9d8cd; margin-bottom:24px; }
.hero-copy .home-kicker span { display:block; width:7px; height:7px; border-radius:50%; background:#dfc271; box-shadow:0 0 0 5px #dfc27113; }
.ff-home h1 { font-size:clamp(34px,3.85vw,55px); line-height:1.11; font-weight:750; letter-spacing:-.045em; }
.ff-home h1 em { display:inline-block; font-style:normal; color:#b9dfd4; margin-top:6px; }
.hero-lead { font-size:16px; line-height:1.75; color:#bed2da; max-width:530px; }
.home-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; margin-top:30px; }
.home-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; border:1px solid #276674; border-radius:11px; background:#1b5364; color:#fff!important; padding:13px 19px; min-height:48px; font-size:13px; font-weight:750; line-height:1.5; text-align:center; transition:background .2s,transform .2s; }
.home-button:hover { background:#286d79; transform:translateY(-2px); }
.home-button-light { background:#d4ebe3; border-color:#bedfd3; color:#123a41!important; }
.home-button-light:hover { background:#e4f5ee; }
.home-text-link { color:#d2e4e8!important; font-size:13px; font-weight:600; }
.home-text-link:hover,.home-inline-link:hover { text-decoration:underline; text-underline-offset:5px; }
.hero-free { color:#91afb9; font-size:12px; margin-top:16px!important; }
.hero-audiences { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:29px; font-size:17px; font-weight:750; color:#ecf7f4; }
.hero-audiences a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:14px 18px; border:1px solid #6f999f; border-radius:12px; background:#ffffff09; line-height:1.4; transition:background .2s,border-color .2s; }
.hero-audiences a:hover { background:#ffffff17; border-color:#b1d9d0; }
.hero-audiences .hero-professional { grid-column:1 / -1; }
.island-preview { min-width:0; background:#0b3242; border:1px solid #44697280; border-radius:24px; padding:18px; box-shadow:0 24px 60px #031b2940; }
.preview-topline { display:flex; justify-content:space-between; align-items:center; gap:8px; padding-inline:3px; font-size:10px; color:#a9c8d0; letter-spacing:.06em; text-transform:uppercase; }
.preview-topline button { background:#ffffff08; border:1px solid #496874; border-radius:20px; padding:5px 9px; font-size:10px; color:#d0e5e8; letter-spacing:0; }
.island-stage { position:relative; isolation:isolate; margin:14px -6px 0; }
.preview-island { width:100%; border-radius:16px; animation:home-float 7s ease-in-out infinite; position:relative; z-index:1; }
.merlin-welcome { position:absolute; bottom:0; left:0; width:108px; z-index:3; animation:home-merlin 6s ease-in-out infinite; }
.merlin-welcome span { position:absolute; left:80px; bottom:33px; padding:6px 10px; white-space:nowrap; font-size:10px; font-weight:700; border-radius:10px 10px 10px 2px; background:#e6f0e7; color:#23484b; box-shadow:0 3px 8px #02273830; }
.sea-ring { position:absolute; width:34%; height:9%; border:1px solid #64c6bf30; border-radius:50%; bottom:6%; right:7%; z-index:2; animation:home-ripple 5s ease-out infinite; pointer-events:none; }
.sea-ring-two { animation-delay:2.5s; }
.preview-caption { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 4px 16px; }
.preview-caption span { color:#9fc7cc; font-size:11px; }
.preview-caption h2 { font-size:19px; line-height:1.3; margin-top:2px; color:#edf7f4; }
.preview-caption a { font-size:12px; font-weight:700; white-space:nowrap; border-bottom:1px solid #5c8b8e; padding-bottom:3px; }
.island-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.island-choices button { display:flex; align-items:center; justify-content:center; min-width:0; min-height:54px; color:#d4e8e9; background:#103747; border:1px solid #638993; border-radius:10px; padding:13px 12px; font-size:17px; font-weight:750; line-height:1.35; text-transform:uppercase; letter-spacing:.02em; }
.island-choices button:hover { border-color:#8ac4ba; }
.island-choices button[aria-pressed="true"] { color:#193e45; background:#d0e7df; border-color:#a7d4c6; font-weight:750; }
.preview-nojs { font-size:12px; margin-top:12px!important; }
.hero-bottom { padding-block:20px 22px; display:flex; justify-content:space-between; gap:20px; align-items:center; border-top:1px solid #91bcc51f; font-size:11px; color:#9ab6bf; }
.hero-bottom>span { color:#d8e8eb; font-weight:600; }
.hero-bottom b { font-weight:600; }
.hero-bottom a { white-space:nowrap; }
.home-section { padding-block:78px; }
.home-section-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:end; margin-bottom:30px; }
.ff-home h2 { font-size:clamp(25px,2.3vw,33px); line-height:1.22; font-weight:750; }
.home-section-heading h2 { margin-top:10px; max-width:600px; }
.home-section-heading>p { max-width:440px; justify-self:end; color:var(--ff-muted); font-size:14px; }
.home-courses { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home-course { background:var(--ff-card); border:1px solid var(--ff-line); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 5px 20px #183c4905; transition:box-shadow .2s,transform .2s; }
.home-course:hover { transform:translateY(-4px); box-shadow:0 12px 24px #183c4912; }
.course-art { display:block; position:relative; background:#0b3242; overflow:hidden; }
.course-art img { width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .35s; }
.home-course:hover .course-art img { transform:scale(1.035); }
.course-art>span { display:block; position:absolute; bottom:9px; left:12px; right:12px; color:#d6e7e9; font-size:9px; text-transform:uppercase; letter-spacing:.08em; text-shadow:0 2px 3px #032331; background:#092b39d9; border-radius:5px; padding:4px 7px; width:fit-content; }
.home-course-body { flex:1; display:flex; flex-direction:column; padding:21px 18px 17px; }
.home-course-launch { font-size:10px; font-weight:700; color:var(--ff-link); }
.home-course h3 { font-size:18px; line-height:1.25; margin-top:10px; min-height:45px; }
.home-course h3+p { color:var(--ff-muted); font-size:12px; margin-top:8px; flex:1; }
.home-course-meta { color:var(--ff-muted); font-size:10px; margin-top:19px!important; }
.home-course-start { display:flex; justify-content:space-between; gap:8px; border-top:1px solid var(--ff-line); padding-top:14px; margin-top:14px; font-size:11px; font-weight:750; color:var(--ff-link)!important; }
.home-modes-section,.home-offers-section { background:var(--ff-soft); border-block:1px solid var(--ff-line); }
.home-modes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.home-mode { border:1px solid var(--ff-line); background:var(--ff-card); border-radius:20px; overflow:hidden; }
.mode-art { position:relative; height:260px; overflow:hidden; background:#0b3242; }
.mode-art>img { height:100%; width:100%; object-fit:contain; }
.mode-tag { display:inline-block; border:1px solid #aaccc166; background:#d8ebe5; color:#234d54; font-size:10px; font-weight:700; padding:5px 10px; border-radius:7px; }
.mode-art .mode-tag { position:absolute; top:20px; left:24px; }
.mode-copy { padding:28px; }
.mode-copy h3 { font-size:23px; line-height:1.3; }
.mode-copy p { font-size:14px; color:var(--ff-muted); margin-top:12px; }
.mode-details { display:flex; flex-wrap:wrap; gap:8px 14px; color:var(--ff-link); font-size:10px; font-weight:600; margin-block:20px; }
.mode-details>span+span:before { content:'·'; padding-right:14px; color:var(--ff-muted); }
.mode-copy .home-button { width:100%; }
.reading-preview { background:#dce8e8; height:260px; padding:20px 28px 0; position:relative; overflow:hidden; }
.reading-preview>.mode-tag { position:relative; z-index:1; }
.reading-sheet { border:1px solid #ced9df; box-shadow:0 9px 28px #173a4110; border-radius:10px; background:#fbfdfd; padding:23px 28px; margin:14px auto 0; width:90%; transform:rotate(-2deg); color:#203d4b; }
.reading-sheet small { font-size:8px; color:#64818a; font-weight:700; letter-spacing:.07em; }
.reading-sheet h4 { font-size:17px; line-height:1.3; margin-top:8px; }
.reading-sheet p { font-size:10px; color:#58717e; margin-top:9px; }
.reading-example { display:flex; flex-direction:column; gap:2px; border-left:3px solid #488883; background:#ecf4f0; padding:10px 13px; margin-top:16px; font-size:10px; }
.reading-example span { font-size:8px; color:#577f7a; }
.reading-lines { margin-top:15px; }.reading-lines i { display:block; height:5px; margin-block:6px; width:80%; border-radius:4px; background:#e7eef1; }.reading-lines i+i { width:65%; }
.home-teacher { display:grid; grid-template-columns:.72fr 1.28fr; gap:60px; align-items:center; max-width:1100px; margin:auto; }
.teacher-portrait { background:radial-gradient(ellipse,#dceee6,transparent 65%); }.teacher-portrait img { width:340px; margin:auto; border-radius:24px; box-shadow:0 14px 36px #19374715; }
.teacher-copy h2 { margin-top:12px; }.teacher-copy>p:not(.home-kicker) { margin-top:18px; color:var(--ff-muted); font-size:14px; }
.teacher-proof { display:flex; gap:30px; margin-block:24px; }.teacher-proof>div { display:flex; flex-direction:column; }.teacher-proof strong { font-size:19px; letter-spacing:-.03em; }.teacher-proof span { font-size:10px; color:var(--ff-muted); }
.home-inline-link { color:var(--ff-link)!important; font-size:12px; font-weight:700; }
.home-trust { padding-top:30px; margin-top:40px; border-top:1px solid var(--ff-line); text-align:center; }
.home-references { max-width:940px; margin:24px auto 0; border:1px solid var(--ff-line); border-radius:16px; overflow:hidden; text-align:left; }
.home-references summary { padding:16px 22px; cursor:pointer; font-weight:600; color:var(--ff-ink); }
.home-references img { display:block; width:100%; height:auto; padding:20px; box-sizing:border-box; background:#fff; }
.home-references summary:focus-visible { outline:3px solid var(--ff-ink, #17485a); outline-offset:-4px; }
.home-trust p { text-transform:uppercase; letter-spacing:.08em; font-size:10px; color:var(--ff-muted); }.home-trust>div { display:flex; flex-wrap:wrap; justify-content:center; gap:18px 36px; margin-top:18px; font-size:14px; font-weight:700; color:var(--ff-muted); }
.home-offers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.home-offer { display:flex; flex-direction:column; padding:28px; border:1px solid var(--ff-line); border-radius:18px; background:var(--ff-card); }
.home-offer h3 { font-size:20px; margin-top:8px; }
.home-offer>.home-kicker { font-size:9px; }
.home-amount { display:flex; align-items:center; gap:14px; min-height:84px; margin-block:15px!important; }
.home-amount strong { font-size:38px; letter-spacing:-.05em; line-height:1.1; white-space:nowrap; }
.home-amount span { color:var(--ff-muted); font-size:10px; }
.home-amount-custom { flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; }.home-amount-custom strong { font-size:30px; }
.home-offer>p:not(.home-kicker,.home-amount) { font-size:13px; color:var(--ff-muted); flex:1; }
.home-offer>small { font-size:10px; color:var(--ff-muted); margin-block:16px 24px; min-height:34px; }
.home-faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.home-faq-layout h2 { margin-top:10px; }.home-faq-layout>div>p:last-child { margin-top:20px; color:var(--ff-muted); font-size:14px; max-width:320px; }
.home-faq details { border-bottom:1px solid var(--ff-line); }.home-faq details:first-child { border-top:1px solid var(--ff-line); }
.home-faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:20px; font-size:13px; font-weight:700; }.home-faq summary::-webkit-details-marker { display:none; }.home-faq summary:after { content:'+'; font-size:22px; color:var(--ff-link); font-weight:400; }.home-faq details[open] summary:after { content:'−'; }
.home-faq details p { font-size:13px; color:var(--ff-muted); padding-bottom:22px; }
.home-last-call { background:#113645; color:#ebf5f2; border-block:1px solid #355a67; padding-block:34px; }.home-last-call>.home-container { display:flex; align-items:center; gap:24px; }.home-last-call img { width:88px; flex-shrink:0; }.home-last-call h2 { font-size:25px; margin-top:5px; }.home-last-call p:not(.home-kicker) { font-size:12px; color:#b1c9cf; margin-top:6px; }.home-last-call .home-kicker { color:#a6d1c7; font-size:9px; }.home-last-call .home-button { margin-left:auto; flex-shrink:0; }
.home-footer { padding-block:38px 24px; background:var(--ff-card); color:var(--ff-muted); }.home-footer-top { display:flex; justify-content:space-between; gap:36px; }.home-footer-top .home-brand { color:var(--ff-ink); font-size:16px; }.home-footer-top p { font-size:11px; margin-top:10px; }.home-footer nav { display:flex; gap:24px; flex-wrap:wrap; font-size:11px; }.home-footer a:hover { text-decoration:underline; }.home-footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; border-top:1px solid var(--ff-line); margin-top:28px; padding-top:20px; font-size:10px; }.home-footer-bottom>div { display:flex; gap:20px; }
.ff-home .preview-caption h2 { font-size:19px; }
.home-motion-paused :is(.preview-island,.merlin-welcome,.sea-ring) { animation-play-state:paused; }
.home-motion-paused .sea-ring { opacity:0; }
@keyframes home-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
@keyframes home-merlin { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-5px) rotate(2deg); } }
@keyframes home-ripple { 0% { transform:scale(.75); opacity:0; } 20% { opacity:.6; } 100% { transform:scale(1.4); opacity:0; } }
@media(min-width:1700px) { .hero-layout { padding-block:76px 58px; } }
@media(max-width:1150px) { .home-container { width:calc(100% - 48px); }.hero-layout { gap:28px; }.home-courses { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }.home-course h3 { min-height:0; }.home-course-body { padding:24px; }.home-course h3+p { font-size:14px; }.home-course-launch,.home-course-meta,.home-course-start { font-size:12px; }.home-offer { padding:23px; }.home-amount { gap:10px; }.home-amount strong { font-size:34px; }.home-amount-custom strong { font-size:27px; }.teacher-proof { gap:22px; }.home-section-heading { gap:35px; } }
@media(max-width:900px) { .home-nav nav { gap:18px; }.home-nav { gap:16px; }.hero-layout { grid-template-columns:1fr; padding-block:40px; gap:32px; }.hero-copy { max-width:650px; }.ff-home h1 { font-size:47px; }.hero-lead { max-width:600px; }.island-preview { max-width:660px; width:100%; justify-self:center; }.hero-bottom { flex-wrap:wrap; gap:6px 20px; }.hero-bottom p { order:3; width:100%; }.home-section { padding-block:55px; }.home-section-heading { grid-template-columns:1fr; gap:15px; }.home-section-heading>p { justify-self:start; max-width:620px; }.home-teacher { gap:25px; grid-template-columns:.65fr 1.35fr; }.teacher-proof { flex-wrap:wrap; gap:15px 22px; }.home-offers { grid-template-columns:1fr; max-width:660px; margin:auto; }.home-amount { min-height:60px; }.home-offer>small { min-height:0; }.home-offer { padding:28px; }.home-faq-layout { grid-template-columns:1fr; gap:26px; }.home-faq-layout>div>p:last-child { max-width:600px; }.home-last-call>.home-container { flex-wrap:wrap; }.home-last-call .home-button { margin-left:112px; }.home-footer-top { flex-direction:column; gap:24px; } }
@media(max-width:620px) { .home-container { width:calc(100% - 36px); }.home-nav { min-height:74px; flex-wrap:wrap; gap:14px; padding-block:14px; }.home-brand { font-size:15px; }.home-brand img { width:35px; }.home-brand>span>span { font-size:10px; }.home-brand small { display:none; }.home-nav nav { order:3; width:100%; border-top:1px solid var(--ff-line); padding-top:10px; justify-content:space-between; font-size:12px; }.home-nav-actions { gap:8px; }.home-login { font-size:10px; padding:9px 10px; }.home-theme { width:32px; height:32px; font-size:13px; }.hero-layout { padding-block:32px; }.ff-home h1 { font-size:clamp(32px,8.4vw,43px); }.hero-copy .home-kicker { font-size:9px; margin-bottom:19px; }.hero-lead { font-size:14px; margin-top:20px!important; }.home-actions { align-items:flex-start; gap:18px; margin-top:23px; }.home-actions .home-button { width:100%; justify-content:space-between; }.hero-free { font-size:11px; }.hero-audiences { margin-top:22px; }.island-preview { border-radius:18px; padding:13px; }.preview-topline { font-size:8px; }.preview-topline button { font-size:9px; }.preview-caption { gap:8px; padding-top:20px; }.ff-home .preview-caption h2 { font-size:16px; }.preview-caption a { font-size:10px; }.preview-caption span { font-size:10px; }.island-choices { gap:5px; }.island-choices button { flex-direction:column; gap:0; padding:7px 3px; font-size:10px; }.merlin-welcome { width:82px; bottom:-8px; left:-6px; }.merlin-welcome span { left:62px; bottom:23px; font-size:8px; padding:4px 7px; }.hero-bottom { font-size:10px; padding-block:18px; }.hero-bottom>a { font-size:9px; }.home-section { padding-block:44px; }.ff-home h2 { font-size:26px; }.home-kicker { font-size:9px; }.home-section-heading>p { font-size:13px; }.home-courses { grid-template-columns:1fr; gap:22px; }.home-course-body { padding:22px; }.home-course h3 { font-size:22px; }.home-course h3+p { font-size:13px; }.home-course-meta { margin-top:15px!important; font-size:11px; }.home-course-start { font-size:12px; }.home-modes { grid-template-columns:1fr; gap:22px; }.mode-art,.reading-preview { height:220px; }.mode-copy { padding:24px; }.mode-copy h3 { font-size:22px; }.mode-copy p { font-size:13px; }.mode-details { font-size:9px; gap:8px; }.mode-details>span+span:before { padding-right:8px; }.reading-preview { padding-inline:20px; }.reading-sheet { width:100%; padding:20px; }.home-teacher { grid-template-columns:1fr; gap:18px; }.teacher-portrait img { width:210px; }.teacher-copy h2 { font-size:28px; }.teacher-proof { justify-content:space-between; gap:18px 12px; }.teacher-proof strong { font-size:17px; }.teacher-proof span { font-size:9px; }.home-trust { margin-top:30px; }.home-trust>div { font-size:12px; gap:16px 24px; }.home-offer { padding:24px; }.home-offer h3 { font-size:22px; }.home-amount strong { font-size:40px; }.home-amount-custom strong { font-size:31px; }.home-amount span { font-size:11px; }.home-offer>p:not(.home-kicker,.home-amount) { font-size:14px; }.home-faq summary { font-size:12px; }.home-last-call>.home-container { gap:16px; }.home-last-call img { width:68px; }.home-last-call>.home-container>div { flex:1; min-width:190px; }.home-last-call h2 { font-size:22px; }.home-last-call .home-button { margin-left:0; width:100%; margin-top:6px; }.home-footer nav { gap:16px 22px; }.home-footer-bottom { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.ff-home * { animation:none!important; transition:none!important; } }
@media(max-width:900px) {
  .hero-copy,.hero-details,.island-preview { grid-column:1; grid-row:auto; }
  .hero-copy { max-width:100%; }.hero-details { max-width:660px; justify-self:center; width:100%; }
  .hero-details .hero-lead { margin-top:0!important; max-width:none; }
}
@media(max-width:620px) { .hero-audiences { font-size:15px; gap:10px; }.hero-audiences a { padding:13px 14px; gap:8px; min-height:54px; } }
@media(max-width:360px) { .hero-audiences { grid-template-columns:1fr; } }
@media(max-width:620px) { .island-choices { gap:8px; }.island-choices button { font-size:14px; padding:12px 7px; min-height:50px; } }
@media(max-width:360px) { .island-choices { grid-template-columns:1fr; } }
.island-stage{display:block;text-decoration:none;cursor:pointer;border-radius:20px;outline-offset:5px}
.island-stage:focus-visible{outline:3px solid #b8e0d8}
.home-opening{max-width:500px;width:calc(100% - 40px);border:1px solid var(--ff-line,#b5d5d6);border-radius:24px;padding:32px;background:var(--ff-card,#f5f8f8);color:var(--ff-ink,#183a4a);box-shadow:0 24px 100px #02182260}
.home-opening::backdrop{background:#031b2aca;backdrop-filter:blur(5px)}
.home-opening h2{line-height:1.2;letter-spacing:-.025em;font-size:1.65rem;margin:0 0 16px}
.home-opening p{line-height:1.65;margin-bottom:24px}
.home-opening button{background:#185b68;color:white;border:0;cursor:pointer}
