:root{
  --navy:#13284d;--blue:#1758bd;--sky:#bfe2f1;--sky2:#8bc4df;--lime:#dcff55;--cream:#fffdf2;--white:#fff;--ink:#102448;--muted:#5f6d80;--line:#cad9e3;--danger:#e94f72;--shadow:0 12px 30px rgba(16,36,72,.13);--r:24px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}button,input,select,textarea{font:inherit}button,a{transition:.18s ease}a{color:inherit;text-decoration:none}
body:before{content:"";display:block;height:7px;background:linear-gradient(90deg,var(--blue) 0 48%,var(--sky2) 48% 76%,var(--lime) 76% 100%)}
.topbar{height:76px;display:flex;align-items:center;gap:28px;padding:0 4vw;border-bottom:2px solid var(--navy);background:rgba(255,253,242,.96);backdrop-filter:blur(12px);position:sticky;top:0;z-index:1000}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:var(--sky2);border:3px solid var(--navy);font-weight:1000;letter-spacing:-.08em;transform:rotate(-4deg);box-shadow:3px 3px 0 var(--navy)}.brand strong,.brand small{display:block}.brand strong{font-size:22px;line-height:.8;letter-spacing:-.04em}.brand small{font-size:9px;font-weight:900;letter-spacing:.13em;margin-top:5px}.topbar nav{display:flex;gap:22px;font-size:13px;font-weight:850}.topbar nav a:hover{background:var(--lime);border-radius:999px;padding:7px 10px;margin:-7px -10px}.ghost-btn,.filters-mobile{border:2px solid var(--navy);background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer;font-weight:850;color:var(--navy);box-shadow:2px 2px 0 var(--navy)}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:36px;padding:60px 4vw 34px;background:var(--sky);border-bottom:2px solid var(--navy);position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;border:4px solid var(--navy);border-radius:50%;width:180px;height:180px;opacity:.2}.hero:before{right:22%;top:-130px}.hero:after{left:-100px;bottom:-120px}.eyebrow{font-size:11px;font-weight:1000;letter-spacing:.13em;margin:0 0 10px;color:var(--blue)}.hero h1{font-size:clamp(42px,5vw,72px);line-height:.95;letter-spacing:-.055em;margin:0;max-width:840px}.hero h1 span{background:var(--lime);padding:0 .12em;border-radius:16px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.hero-copy{font-size:18px;line-height:1.55;max-width:700px;color:#314866;margin:20px 0}.hero-pills{display:flex;gap:8px;flex-wrap:wrap}.hero-pills span{background:var(--cream);border:2px solid var(--navy);padding:8px 11px;border-radius:999px;font-size:12px;font-weight:850}.hero-card{background:var(--navy);color:#fff;border-radius:30px;padding:28px 24px;border:3px solid var(--navy);box-shadow:7px 7px 0 var(--lime);align-self:end;position:relative}.hero-card .burst{position:absolute;right:-12px;top:-18px;background:var(--lime);color:var(--navy);border:3px solid var(--navy);border-radius:50%;width:54px;height:54px;display:grid;place-items:center;font-size:34px;font-weight:1000;transform:rotate(9deg)}.hero-card small{font-weight:900;letter-spacing:.1em;color:var(--sky)}.hero-card strong{font-size:56px;display:block;line-height:1;margin:8px 0}.hero-card p{margin:0;color:#dce9f6;font-weight:750}
.search-shell{padding:22px 4vw;display:flex;gap:12px;background:var(--cream)}.search-box{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--navy);box-shadow:4px 4px 0 var(--navy);border-radius:18px;padding:0 14px;max-width:920px;flex:1}.search-box:focus-within{outline:4px solid rgba(220,255,85,.75)}.search-icon{font-size:24px}.search-box input{border:0;outline:0;width:100%;padding:16px 4px;background:transparent}.search-box button{border:0;background:transparent;font-size:24px;cursor:pointer}.filters-mobile{display:none}
.app-layout{display:grid;grid-template-columns:250px minmax(330px,420px) 1fr;gap:14px;padding:0 4vw 64px;min-height:680px}.filters-panel,.results-panel,.map-panel{background:#fff;border:2px solid var(--navy);border-radius:var(--r);overflow:hidden}.filters-panel{padding:20px;height:fit-content;box-shadow:4px 4px 0 var(--sky2)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between}.panel-head h2{margin:0;font-size:24px}.link-btn{border:0;background:transparent;color:var(--blue);font-weight:900;cursor:pointer}.filter-label{display:block;font-size:12px;font-weight:1000;margin:22px 0 8px}.chip-grid{display:flex;flex-wrap:wrap;gap:7px}.chip{border:2px solid var(--navy);background:#fff;border-radius:999px;padding:7px 10px;font-size:11px;cursor:pointer;font-weight:850}.chip.active,.chip:hover{background:var(--lime);color:var(--navy)}.filters-panel select,.age-row{width:100%;border:2px solid var(--line);border-radius:12px;background:#fff;padding:10px}.age-row{display:flex;align-items:center}.age-row input{border:0;outline:0;width:100%}.age-row span{font-size:12px;color:var(--muted)}.toggle-row{display:flex;align-items:center;gap:10px;margin-top:22px;cursor:pointer}.toggle-row input{display:none}.toggle{width:40px;height:23px;border-radius:999px;background:#c6d2dc;position:relative;border:2px solid var(--navy)}.toggle:after{content:"";width:15px;height:15px;position:absolute;left:2px;top:2px;border-radius:50%;background:white;transition:.2s}.toggle-row input:checked+.toggle{background:var(--lime)}.toggle-row input:checked+.toggle:after{left:19px;background:var(--navy)}.toggle-row strong,.toggle-row small{display:block}.toggle-row small{font-size:11px;color:var(--muted)}
.results-panel{display:flex;flex-direction:column;max-height:730px}.results-toolbar{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--navy);gap:10px;background:var(--sky)}.results-toolbar p{margin:0;font-size:13px}.results-toolbar select{border:2px solid var(--navy);background:var(--cream);border-radius:10px;padding:7px;font-size:11px;font-weight:800}.cards{padding:10px;overflow:auto}.card{border:2px solid var(--navy);border-radius:18px;padding:16px;margin-bottom:10px;cursor:pointer;background:#fff;box-shadow:3px 3px 0 var(--navy);position:relative;overflow:hidden}.card:nth-child(even){background:var(--cream)}.card:hover{transform:translateY(-2px);box-shadow:5px 5px 0 var(--lime)}.card-top{display:flex;justify-content:space-between;gap:10px}.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.06em;padding:5px 8px;border-radius:999px;background:var(--lime);border:1.5px solid var(--navy)}.badge.urgent{background:#ffd8e1;color:#87213c}.save{border:0;background:transparent;font-size:20px;cursor:pointer;color:var(--muted)}.save.saved{color:var(--danger)}.card h3{font-size:18px;line-height:1.15;margin:10px 0 8px}.place{font-size:13px;color:var(--muted);margin-bottom:12px}.meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:12px}.meta div{background:var(--sky);border-radius:12px;padding:8px;border:1px solid #a9cedf}.topics{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.topic{font-size:10px;border:1.5px solid var(--navy);padding:4px 7px;border-radius:99px;color:var(--navy);background:#fff}.deadline{font-size:11px;margin-top:12px;color:var(--muted)}.deadline strong{color:var(--ink)}.empty-state{text-align:center;padding:60px 24px;color:var(--muted)}
.map-panel{position:relative;min-height:620px;box-shadow:5px 5px 0 var(--lime)}.map-panel #map{position:absolute;inset:0}.map-sticker{position:absolute;z-index:550;top:16px;left:16px;background:var(--lime);color:var(--navy);border:3px solid var(--navy);border-radius:16px;padding:8px 12px;font-size:13px;font-weight:1000;line-height:.95;transform:rotate(-3deg);box-shadow:3px 3px 0 var(--navy)}.map-legend{position:absolute;z-index:500;bottom:16px;left:16px;background:#fff;border:2px solid var(--navy);border-radius:999px;padding:8px 11px;font-size:11px;box-shadow:2px 2px 0 var(--navy);font-weight:800}.map-legend span{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--lime);border:2px solid var(--navy);margin-right:5px}.leaflet-popup-content-wrapper{border-radius:14px;border:2px solid var(--navy)}
.ai-section{margin:12px 4vw 70px;display:grid;grid-template-columns:1fr 1fr;gap:22px;background:var(--sky);border:3px solid var(--navy);border-radius:30px;padding:34px;box-shadow:7px 7px 0 var(--navy)}.ai-intro h2{font-size:clamp(34px,4vw,52px);line-height:1;margin:0 0 18px;letter-spacing:-.04em}.ai-intro h2 span{background:var(--lime);padding:0 .1em;border-radius:12px}.ai-intro>p:not(.eyebrow){font-size:16px;line-height:1.55;color:#314866;max-width:650px}.ai-flow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:28px}.ai-flow b{background:#fff;border:2px solid var(--navy);padding:8px 11px;border-radius:999px}.ai-flow i{font-style:normal;font-weight:1000}.ai-demo-card{background:var(--cream);border:3px solid var(--navy);border-radius:24px;padding:20px;box-shadow:5px 5px 0 var(--lime)}.ai-demo-card label{display:block;font-size:12px;font-weight:1000;margin:10px 0 7px}.ai-demo-card textarea{width:100%;min-height:130px;resize:vertical;border:2px solid var(--navy);border-radius:14px;padding:12px;background:#fff}.file-zone{border:2px dashed var(--navy);border-radius:14px;padding:14px;background:#fff;display:grid;gap:6px}.file-zone span{font-size:11px;color:var(--muted)}.primary-btn{width:100%;margin-top:14px;border:3px solid var(--navy);background:var(--lime);color:var(--navy);padding:13px 16px;border-radius:999px;font-weight:1000;cursor:pointer;box-shadow:3px 3px 0 var(--navy)}.primary-btn small{font-weight:700}.ai-preview{margin-top:18px;background:#fff;border:2px solid var(--navy);border-radius:18px;padding:16px}.preview-tag{font-size:9px;font-weight:1000;letter-spacing:.08em;background:var(--navy);color:#fff;border-radius:99px;padding:5px 8px}.ai-preview h3{font-size:24px;margin:12px 0}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-grid div{background:var(--sky);padding:10px;border-radius:12px;border:1px solid #a9cedf}.preview-grid small,.preview-grid b{display:block}.preview-grid small{font-size:10px;color:var(--muted);margin-bottom:4px}.ai-preview p{font-size:11px;color:var(--muted);line-height:1.5}
.how{padding:70px 4vw;background:var(--blue);color:#fff;position:relative;overflow:hidden}.how .eyebrow{color:var(--lime)}.how h2{font-size:42px;margin:0 0 30px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.how article{border:2px solid #fff;border-radius:24px;padding:24px;background:rgba(255,255,255,.06)}.how article span{color:var(--lime);font-weight:1000}.how article h3{font-size:22px}.how article p{color:#dbe8ff;line-height:1.55}footer{padding:28px 4vw;border-top:2px solid var(--navy);display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--cream)}footer p{color:var(--muted);font-size:12px}
dialog{width:min(680px,92vw);border:3px solid var(--navy);border-radius:24px;padding:0;box-shadow:9px 9px 0 var(--navy)}dialog::backdrop{background:rgba(16,36,72,.55);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:16px;top:16px;border:2px solid var(--navy);background:var(--lime);border-radius:50%;width:38px;height:38px;font-size:22px;cursor:pointer}.detail{padding:34px}.detail h2{font-size:30px;margin:12px 50px 8px 0}.detail .lead{color:var(--muted);line-height:1.55}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.detail-grid div{padding:12px;background:var(--sky);border-radius:12px;border:1px solid #a9cedf}.detail-grid small{display:block;color:var(--muted);margin-bottom:4px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.detail-actions a{padding:10px 13px;border-radius:999px;font-weight:850;border:2px solid var(--navy);background:#fff}.detail-actions a:first-child{background:var(--lime)}
@media(max-width:1120px){.app-layout{grid-template-columns:240px 1fr}.map-panel{grid-column:1/-1;min-height:520px}.results-panel{max-height:620px}.ai-section{grid-template-columns:1fr}}
@media(max-width:760px){.topbar{height:68px}.topbar nav,.ghost-btn{display:none}.hero{grid-template-columns:1fr;padding-top:38px}.hero-card{width:190px}.hero h1{font-size:44px}.search-shell{padding-top:16px}.filters-mobile{display:block}.app-layout{grid-template-columns:1fr;padding-bottom:40px}.filters-panel{display:none}.filters-panel.open{display:block}.results-panel{max-height:none}.cards{overflow:visible}.map-panel{grid-column:auto;min-height:460px;order:-1}.ai-section{margin:0 3vw 50px;padding:22px}.preview-grid{grid-template-columns:1fr}.how-grid{grid-template-columns:1fr}.hero-pills span{font-size:11px}footer{align-items:flex-start;flex-direction:column}}

/* --- Home / institutional pages --- */
.topbar nav a[aria-current="page"]{background:var(--lime);border-radius:999px;padding:7px 10px;margin:-7px -10px}
.home-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:38px;align-items:center;padding:70px 4vw;background:var(--sky);border-bottom:3px solid var(--navy)}
.home-hero h1,.managed-hero h1{font-size:clamp(48px,6vw,86px);line-height:.92;letter-spacing:-.06em;margin:0 0 24px}.home-hero h1 span,.managed-hero h1 span{background:var(--lime);border-radius:16px;padding:0 .1em}.home-hero-copy>p:not(.eyebrow){max-width:720px;font-size:19px;line-height:1.55;color:#314866}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;border:3px solid var(--navy);border-radius:999px;padding:12px 18px;font-weight:1000;box-shadow:3px 3px 0 var(--navy)}.primary-link{background:var(--lime)}.secondary-link{background:#fff}.primary-link:hover,.secondary-link:hover{transform:translateY(-2px);box-shadow:5px 5px 0 var(--navy)}.secondary-link.light{background:var(--cream)}
.photo-placeholder{min-height:260px;border:3px solid var(--navy);border-radius:30px;background:linear-gradient(135deg,var(--cream),#fff);display:grid;place-items:center;text-align:center;box-shadow:7px 7px 0 var(--navy);overflow:hidden}.photo-placeholder>div{max-width:260px}.photo-placeholder span{font-size:14px;font-weight:1000;letter-spacing:.08em}.photo-placeholder small{display:block;margin-top:8px;color:var(--muted);line-height:1.4}
.about-section,.values-section,.opportunities-preview,.managed-explain,.managed-list-placeholder{padding:72px 4vw}.section-heading{max-width:820px}.section-heading h2,.values-title h2,.preview-copy h2,.mission-band h2,.managed-explain h2,.managed-list-placeholder h2{font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.045em;margin:0 0 18px}.section-heading>p:not(.eyebrow){font-size:17px;line-height:1.6;color:#516077}
.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.about-card{border:3px solid var(--navy);border-radius:26px;padding:25px;box-shadow:5px 5px 0 var(--navy);min-height:220px}.about-card span{display:inline-block;font-size:11px;font-weight:1000;border:2px solid var(--navy);border-radius:999px;padding:5px 8px;background:#fff}.about-card h3{font-size:28px;margin:30px 0 10px}.about-card p{line-height:1.5}.accent-blue{background:var(--blue);color:#fff}.accent-blue span{color:var(--navy)}.accent-lime{background:var(--lime)}.accent-sky{background:var(--sky)}
.values-section{background:var(--blue);color:#fff;border-top:3px solid var(--navy);border-bottom:3px solid var(--navy)}.values-title .eyebrow{color:var(--lime)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.values-grid article{border:3px solid #fff;border-radius:28px;padding:25px;min-height:250px}.value-icon{width:62px;height:62px;border-radius:22px;background:var(--lime);color:var(--navy);display:grid;place-items:center;font-size:30px;font-weight:1000;border:3px solid var(--navy);box-shadow:4px 4px 0 #fff}.values-grid h3{font-size:28px;margin:24px 0 10px}.values-grid p{color:#e9f1ff;line-height:1.55}
.mission-band{margin:55px 4vw;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;background:var(--lime);border:3px solid var(--navy);border-radius:30px;padding:34px;box-shadow:7px 7px 0 var(--navy)}.mission-band p:last-child{font-size:17px;line-height:1.6;margin:0}
.opportunities-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:32px;align-items:center}.preview-copy>p{font-size:16px;line-height:1.6;color:#516077}.disclaimer-box{margin:24px 0;background:#fff3c8;border:3px solid var(--navy);border-radius:20px;padding:18px;box-shadow:4px 4px 0 var(--navy)}.disclaimer-box strong{display:inline-block;background:var(--navy);color:#fff;border-radius:999px;padding:5px 9px;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.disclaimer-box p{margin:10px 0 0;line-height:1.55;color:var(--ink)}
.map-teaser{display:block}.fake-map{height:430px;border:3px solid var(--navy);border-radius:30px;position:relative;overflow:hidden;box-shadow:7px 7px 0 var(--lime);background:linear-gradient(30deg,#d9eff5 0 38%,#b7d9bc 38% 43%,#d9eff5 43% 58%,#c5d9b3 58% 64%,#d9eff5 64%)}.fake-map:before,.fake-map:after{content:"";position:absolute;border:4px solid rgba(19,40,77,.25);border-radius:48% 52% 60% 40%;width:270px;height:200px;transform:rotate(-15deg)}.fake-map:before{left:50px;top:55px}.fake-map:after{right:-70px;bottom:30px}.fake-pin{position:absolute;width:40px;height:40px;border-radius:50% 50% 50% 12%;transform:rotate(-45deg);background:var(--lime);border:3px solid var(--navy);display:grid;place-items:center;font-weight:1000;box-shadow:3px 3px 0 var(--navy);z-index:2}.fake-pin::first-letter{transform:rotate(45deg)}.p1{left:24%;top:25%}.p2{left:58%;top:38%}.p3{left:42%;top:66%}.p4{left:75%;top:20%}.map-teaser-card{position:absolute;left:18px;bottom:18px;background:#fff;border:3px solid var(--navy);border-radius:18px;padding:12px 15px;z-index:3;box-shadow:3px 3px 0 var(--navy)}.map-teaser-card b,.map-teaser-card small{display:block}.map-teaser-card small{color:var(--muted);margin-top:3px}
.managed-teaser{margin:20px 4vw 70px;background:var(--navy);color:#fff;border:3px solid var(--navy);border-radius:30px;padding:34px;display:flex;gap:30px;align-items:center;justify-content:space-between;box-shadow:7px 7px 0 var(--sky2)}.managed-teaser .eyebrow{color:var(--lime)}.managed-teaser h2{font-size:clamp(30px,4vw,48px);line-height:1;margin:0 0 14px;letter-spacing:-.04em;max-width:900px}.managed-teaser p:not(.eyebrow){max-width:850px;color:#dce7f6;line-height:1.55}.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 4vw 70px}.photo-strip .photo-placeholder{min-height:220px}.photo-strip .photo-placeholder:nth-child(2){background:var(--sky)}.photo-strip .photo-placeholder:nth-child(3){background:var(--lime)}
.public-disclaimer{margin:20px 4vw 0;background:#fff3c8;border:3px solid var(--navy);border-radius:18px;padding:14px 18px;display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap;box-shadow:3px 3px 0 var(--navy);font-size:13px}.public-disclaimer strong{background:var(--navy);color:#fff;padding:5px 8px;border-radius:999px}.public-disclaimer span{flex:1;min-width:240px}.public-disclaimer a{font-weight:1000;text-decoration:underline}.internal-note{margin:10px 4vw 70px;background:var(--sky);border:3px dashed var(--navy);border-radius:24px;padding:24px}.internal-note h2{margin:0 0 8px}
.managed-hero{padding:80px 4vw;background:var(--sky);border-bottom:3px solid var(--navy)}.managed-hero p:last-child{max-width:850px;font-size:19px;line-height:1.55;color:#314866}.managed-explain{background:var(--cream)}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}.compare-grid article{border:3px solid var(--navy);border-radius:28px;padding:28px;box-shadow:5px 5px 0 var(--navy);background:#fff}.compare-grid .managed-card{background:var(--lime)}.compare-label{display:inline-block;border:2px solid var(--navy);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:1000;letter-spacing:.08em}.compare-grid h3{font-size:30px;margin:24px 0 12px}.compare-grid p{line-height:1.6}.compare-grid a{font-weight:1000;text-decoration:underline}.managed-list-placeholder{background:var(--sky);border-top:3px solid var(--navy)}.managed-list-placeholder>p{max-width:760px;line-height:1.6}.project-placeholder-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}.project-placeholder-grid article{background:#fff;border:3px solid var(--navy);border-radius:24px;padding:24px;box-shadow:5px 5px 0 var(--navy)}.project-placeholder-grid span{font-size:10px;font-weight:1000;background:var(--lime);border:2px solid var(--navy);border-radius:999px;padding:5px 8px}.project-placeholder-grid h3{font-size:26px;margin:25px 0 8px}
@media(max-width:900px){.home-hero,.mission-band,.opportunities-preview{grid-template-columns:1fr}.about-grid,.values-grid{grid-template-columns:1fr}.compare-grid,.project-placeholder-grid{grid-template-columns:1fr}.managed-teaser{align-items:flex-start;flex-direction:column}.photo-strip{grid-template-columns:1fr}.home-visual{min-height:300px}.fake-map{height:360px}}
@media(max-width:680px){.home-hero,.about-section,.values-section,.opportunities-preview,.managed-explain,.managed-list-placeholder{padding-left:5vw;padding-right:5vw}.home-hero h1,.managed-hero h1{font-size:44px}.topbar nav{overflow-x:auto;white-space:nowrap;max-width:64vw}.topbar nav a{font-size:11px}.topbar>.ghost-btn{display:none}.mission-band{margin-left:5vw;margin-right:5vw}.public-disclaimer{margin-left:5vw;margin-right:5vw}.photo-strip{padding-left:5vw;padding-right:5vw}}

/* Fotografías reales Eureka BCN */
.photo-filled { overflow: hidden; padding: 0 !important; }
.photo-filled img { width: 100%; height: 100%; display: block; object-fit: cover; }
.home-visual.photo-filled img { object-position: center center; }
.photo-strip .photo-filled { min-height: 260px; border: 3px solid var(--navy); border-radius: 24px; box-shadow: 8px 8px 0 var(--navy); }
.photo-strip .photo-filled:nth-child(1) img { object-position: center 45%; }
.photo-strip .photo-filled:nth-child(2) img { object-position: center 35%; }
.photo-strip .photo-filled:nth-child(3) img { object-position: center 40%; }

/* Identidad de marca actualizada */
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;white-space:nowrap}
.brand-logo{width:48px;height:48px;display:block;object-fit:contain;flex:0 0 auto}
.brand-name{font-size:21px;line-height:1;font-weight:950;letter-spacing:-.035em;color:var(--navy);white-space:nowrap}
footer .brand-name{font-size:20px}

/* Proyectos / resultados */
.projects-section{padding:72px 4vw;background:var(--cream);border-top:3px solid var(--navy)}
.projects-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:32px;align-items:end;margin-bottom:34px}
.projects-heading h2{font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.045em;margin:0}
.projects-heading>p{font-size:16px;line-height:1.65;color:#516077;margin:0}
.project-result-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);border:3px solid var(--navy);border-radius:30px;overflow:hidden;box-shadow:8px 8px 0 var(--navy);background:#fff}
.project-result-copy{padding:38px}
.project-status{display:inline-block;background:var(--lime);border:2px solid var(--navy);border-radius:999px;padding:6px 10px;font-size:10px;font-weight:1000;letter-spacing:.09em}
.project-result-copy h3{font-size:clamp(40px,5vw,68px);letter-spacing:-.055em;line-height:.95;margin:24px 0 16px}
.project-result-copy p{font-size:17px;line-height:1.6;color:#516077;max-width:760px;margin:0 0 28px}
.project-result-visual{min-height:360px;background:var(--blue);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:38px;position:relative;overflow:hidden}
.project-result-visual:before{content:"";position:absolute;width:230px;height:230px;border:4px solid var(--sky);border-radius:50%;right:-75px;top:-60px;opacity:.65}
.project-result-visual:after{content:"";position:absolute;width:170px;height:170px;border:4px solid var(--lime);border-radius:50%;left:-65px;bottom:-75px;opacity:.9}
.result-word{font-size:clamp(42px,6vw,82px);font-weight:1000;line-height:.78;letter-spacing:-.07em;position:relative;z-index:2}
.result-word.accent{color:var(--lime);margin-top:18px}
.result-dots{display:flex;gap:10px;margin-top:38px;position:relative;z-index:2}.result-dots i{display:block;width:18px;height:18px;border:3px solid #fff;border-radius:50%}.result-dots i:nth-child(2){background:var(--sky)}.result-dots i:nth-child(3){background:var(--lime);border-color:var(--navy)}
@media(max-width:900px){.projects-heading,.project-result-card{grid-template-columns:1fr}.project-result-visual{min-height:260px}}
@media(max-width:680px){.projects-section{padding-left:5vw;padding-right:5vw}.brand-logo{width:40px;height:40px}.brand-name{font-size:17px}.topbar{gap:14px}.topbar nav{max-width:58vw}.project-result-copy{padding:26px}.project-result-visual{padding:28px}}

/* Youth Exchange / Erasmus+ */
.youth-exchange-section{padding:76px 4vw;background:var(--sky);border-top:3px solid var(--navy);border-bottom:3px solid var(--navy)}
.youth-exchange-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:34px;align-items:end;margin-bottom:34px}
.youth-exchange-heading h2{font-size:clamp(38px,5vw,66px);line-height:.95;letter-spacing:-.055em;margin:0}
.youth-exchange-heading h2 span{background:var(--lime);padding:0 .12em;border-radius:16px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.youth-exchange-heading>p{font-size:17px;line-height:1.65;color:#314866;margin:0}
.youth-exchange-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:26px;align-items:stretch}
.youth-exchange-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:590px}
.ye-photo{margin:0;border:3px solid var(--navy);border-radius:24px;overflow:hidden;box-shadow:5px 5px 0 var(--navy);background:#fff}
.ye-photo-main{grid-row:1 / span 2}
.ye-photo img{width:100%;height:100%;display:block;object-fit:cover}
.ye-photo-main img{object-position:center 30%}
.youth-exchange-info{background:var(--cream);border:3px solid var(--navy);border-radius:30px;padding:28px;box-shadow:7px 7px 0 var(--lime);display:flex;flex-direction:column;justify-content:center}
.ye-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ye-facts article{background:#fff;border:2px solid var(--navy);border-radius:18px;padding:17px;min-height:135px}
.ye-facts strong,.ye-facts span{display:block}.ye-facts strong{font-size:22px;line-height:1.05;margin-bottom:8px}.ye-facts span{font-size:13px;line-height:1.45;color:#516077}
.ye-note{font-size:15px;line-height:1.6;color:#314866;margin:22px 0}
.eu-cofunded-band{margin-top:30px;background:#fff;border:3px solid var(--navy);border-radius:22px;padding:18px 22px;display:flex;gap:28px;align-items:center}
.eu-cofunded-band img{width:min(360px,38vw);height:auto;display:block;flex:0 0 auto}
.eu-cofunded-band p{margin:0;line-height:1.55;color:#516077;font-size:14px}
@media(max-width:900px){.youth-exchange-heading,.youth-exchange-grid{grid-template-columns:1fr}.youth-exchange-collage{min-height:520px}.eu-cofunded-band{align-items:flex-start;flex-direction:column}.eu-cofunded-band img{width:min(420px,100%)}}
@media(max-width:680px){.youth-exchange-section{padding-left:5vw;padding-right:5vw}.youth-exchange-collage{grid-template-columns:1fr;grid-template-rows:300px 220px 220px;min-height:0}.ye-photo-main{grid-row:auto}.ye-facts{grid-template-columns:1fr}.eu-cofunded-band{padding:16px}}


/* Ajustes v6: titulares más limpios */
.hero h1 span,.youth-exchange-heading h2 span{
  background:linear-gradient(transparent 64%,var(--lime) 64% 90%,transparent 90%);
  padding:0 .02em;border-radius:0;box-decoration-break:clone;-webkit-box-decoration-break:clone
}

/* Youth Exchange: beneficios más claros y persuasivos */
.youth-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 28px}
.benefit-card{background:#fff;border:3px solid var(--navy);border-radius:24px;padding:22px;box-shadow:5px 5px 0 var(--navy);min-height:215px}
.benefit-card.benefit-lime{background:var(--lime)}
.benefit-card.benefit-blue{background:var(--blue);color:#fff}
.benefit-card.benefit-blue p{color:#edf5ff}
.benefit-icon{width:48px;height:48px;border:2px solid var(--navy);border-radius:16px;display:grid;place-items:center;background:var(--cream);font-weight:1000;font-size:17px;margin-bottom:28px;color:var(--navy)}
.benefit-card strong{display:block;font-size:22px;line-height:1.05;margin-bottom:10px}
.benefit-card p{margin:0;line-height:1.5;color:#40516b;font-size:14px}
.mini-kicker{font-size:10px;font-weight:1000;letter-spacing:.12em;color:var(--blue);margin:0 0 14px}
@media(max-width:1000px){.youth-benefits{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.youth-benefits{grid-template-columns:1fr}.benefit-card{min-height:0}}

/* DiversAbility con foto real */
.project-result-photo{padding:0;position:relative;background:var(--navy)}
.project-result-photo:before,.project-result-photo:after{display:none}
.project-result-photo img{width:100%;height:100%;min-height:390px;object-fit:cover;display:block}
.project-photo-label{position:absolute;left:24px;bottom:24px;background:var(--navy);color:#fff;border:3px solid #fff;border-radius:18px;padding:14px 18px;box-shadow:5px 5px 0 var(--lime)}
.project-photo-label span,.project-photo-label strong{display:block;font-size:30px;line-height:.9;font-weight:1000;letter-spacing:-.05em}.project-photo-label strong{color:var(--lime)}

/* Oportunidades como billete de avión */
.cards{padding:14px}
.ticket-card{padding:0;background:var(--cream)!important;border:3px solid var(--navy);border-radius:24px;box-shadow:6px 6px 0 var(--navy);overflow:hidden}
.ticket-card:hover{box-shadow:8px 8px 0 var(--lime)}
.ticket-head{display:flex;justify-content:space-between;gap:12px;padding:15px 17px 0}
.ticket-label{display:block;font-size:8px;font-weight:1000;letter-spacing:.14em;color:var(--blue);margin-bottom:8px}
.ticket-card h3{font-size:26px;line-height:.95;margin:14px 17px 4px;letter-spacing:-.04em}
.ticket-subtitle{margin:0 17px 16px;color:#526078;font-size:12px;line-height:1.45}
.ticket-route{margin:0 17px 16px;background:var(--navy);color:#fff;border-radius:16px;padding:14px 16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center}
.ticket-route small,.ticket-grid small,.ticket-bottom small{display:block;font-size:8px;font-weight:1000;letter-spacing:.13em;opacity:.68;margin-bottom:4px}
.ticket-route strong{font-size:22px;letter-spacing:.02em}.ticket-plane{font-size:23px;color:var(--lime);padding:0 8px}
.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 17px 14px}
.ticket-grid>div{border:1.5px solid #b9c8d5;border-radius:12px;padding:10px;background:#fff}
.ticket-grid strong{font-size:11px;line-height:1.3;display:block}
.ticket-perf{height:1px;border-top:2px dashed var(--navy);position:relative;margin:17px 0 0}
.ticket-perf:before,.ticket-perf:after{content:"";position:absolute;width:22px;height:22px;background:#fff;border:3px solid var(--navy);border-radius:50%;top:-13px}.ticket-perf:before{left:-14px}.ticket-perf:after{right:-14px}
.ticket-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 17px 16px;background:var(--sky)}
.ticket-bottom strong{font-size:11px}.ticket-cta{font-size:11px;font-weight:1000;background:var(--lime);border:2px solid var(--navy);padding:7px 9px;border-radius:999px;white-space:nowrap}
.detail-disclaimer{margin:18px 0;background:#fff3c8;border:2px solid var(--navy);border-radius:14px;padding:12px 14px;font-size:12px;line-height:1.45}

/* Mejor comportamiento del título del mapa */
@media(max-width:760px){.hero h1 span,.youth-exchange-heading h2 span{background:linear-gradient(transparent 66%,var(--lime) 66% 91%,transparent 91%)}}

/* v7 · membresía, testimonios, sede y privacidad */
.home-hero .home-visual img{object-position:center 46%}
.vision-mission{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.vision-mission article{border:3px solid var(--navy);border-radius:24px;padding:24px;background:#fff;box-shadow:6px 6px 0 var(--sky)}.vision-mission span{font-size:10px;font-weight:1000;letter-spacing:.14em;color:var(--blue)}.vision-mission h3{font-size:26px;margin:10px 0}.vision-mission p{line-height:1.6;color:#4a5c74;margin:0}
.travel-section{padding:76px 4vw;background:var(--sky);border-top:3px solid var(--navy);border-bottom:3px solid var(--navy)}.travel-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:end;max-width:1320px;margin:0 auto 34px}.travel-heading h2{font-size:clamp(38px,5vw,70px);line-height:.95;letter-spacing:-.055em;margin:8px 0 0}.travel-heading>p{font-size:18px;line-height:1.55;color:#304a68}.travel-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.membership-card,.give-back-card{border:3px solid var(--navy);border-radius:30px;padding:30px;background:var(--cream);box-shadow:8px 8px 0 var(--navy)}.membership-card{position:relative;padding-top:72px}.price-badge{position:absolute;top:-32px;right:30px;width:125px;height:125px;border-radius:50%;background:var(--lime);border:3px dashed var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:35px;font-weight:1000;transform:rotate(4deg)}.price-badge small{font-size:13px;font-weight:800}.membership-card h3,.give-back-card h3{font-size:32px;line-height:1.05;margin:0 0 20px}.membership-points{display:grid;gap:12px}.membership-points article{background:#fff;border:2px solid var(--navy);border-radius:18px;padding:16px 18px;display:grid;grid-template-columns:48px 1fr;column-gap:10px}.membership-points b{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--lime)}.membership-points strong{font-size:17px}.membership-points p{margin:4px 0 0;color:#526078;line-height:1.45}.image-open-btn{margin-top:18px;width:100%;border:3px solid var(--navy);background:var(--lime);border-radius:999px;padding:14px 18px;font:inherit;font-weight:1000;cursor:pointer}.eureka-illustration{width:125px;max-height:150px;object-fit:contain;float:right;margin:0 0 10px 20px}.give-back-card>p:not(.eyebrow){line-height:1.65;color:#42566e}.membership-dialog{width:min(760px,92vw);border:3px solid var(--navy);border-radius:24px;padding:10px;background:#fff}.membership-dialog::backdrop{background:#10284caa}.membership-dialog img{width:100%;display:block;border-radius:14px}.dialog-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;border:3px solid var(--navy);background:var(--lime);font-size:26px;font-weight:1000;cursor:pointer}
.venue-section{padding:76px 4vw;display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1450px;margin:auto}.venue-copy{border:3px solid var(--navy);border-radius:30px;padding:34px;background:var(--cream);box-shadow:8px 8px 0 var(--lime)}.venue-copy h2{font-size:clamp(40px,5vw,68px);margin:8px 0 18px;letter-spacing:-.05em}.venue-copy>p{font-size:17px;line-height:1.6;color:#40536d}.venue-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.venue-tags span{background:var(--sky);border:2px solid var(--navy);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}.venue-note{font-size:13px!important}.venue-art-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px}.venue-art-grid img{width:100%;height:100%;object-fit:cover;border:3px solid var(--navy);border-radius:24px;background:#fff}.venue-art-grid img:first-child{grid-row:1/3}
.testimonials-section{margin:0 4vw 76px;padding:34px;background:var(--lime);border:3px solid var(--navy);border-radius:30px;box-shadow:8px 8px 0 var(--navy);display:flex;justify-content:space-between;align-items:center;gap:30px}.testimonials-section h2{font-size:clamp(34px,4vw,58px);margin:8px 0 12px;letter-spacing:-.05em}.testimonials-section p{max-width:760px;line-height:1.55}.social-actions{display:flex;flex-direction:column;gap:12px;min-width:270px}.footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:12px}.footer-links a{color:inherit;font-size:12px;font-weight:800}
@media(max-width:900px){.travel-heading,.travel-grid,.venue-section{grid-template-columns:1fr}.testimonials-section{flex-direction:column;align-items:flex-start}.social-actions{min-width:0;width:100%}.vision-mission{grid-template-columns:1fr}.venue-art-grid{min-height:520px}}
@media(max-width:620px){.travel-section,.venue-section{padding-left:5vw;padding-right:5vw}.travel-heading{gap:18px}.membership-card,.give-back-card{padding-left:20px;padding-right:20px}.membership-card{padding-top:78px}.price-badge{right:18px}.venue-art-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,220px);min-height:0}.venue-art-grid img:first-child{grid-row:auto}.testimonials-section{margin-left:5vw;margin-right:5vw}.footer-links{flex-direction:column;align-items:center}}
.privacy-page{background:var(--cream);padding-bottom:70px}.privacy-hero{padding:90px 5vw 60px;background:var(--sky);border-bottom:3px solid var(--navy)}.privacy-hero h1{font-size:clamp(48px,7vw,92px);line-height:.9;letter-spacing:-.06em;max-width:1000px;margin:12px 0 24px}.privacy-hero>p:last-child{max-width:800px;font-size:19px;line-height:1.6}.privacy-grid{max-width:1320px;margin:40px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 4vw}.privacy-grid article{background:#fff;border:3px solid var(--navy);border-radius:24px;padding:24px;box-shadow:5px 5px 0 var(--sky)}.privacy-grid span{font-weight:1000;color:var(--blue)}.privacy-grid h2{font-size:25px;margin:8px 0 12px}.privacy-grid p{line-height:1.6;color:#465b73}.privacy-note{max-width:1160px;margin:40px auto 0;background:var(--lime);border:3px solid var(--navy);border-radius:26px;padding:28px;box-shadow:7px 7px 0 var(--navy)}.privacy-note>strong{font-size:28px}.privacy-note p{line-height:1.6}.privacy-note>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}@media(max-width:900px){.privacy-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.privacy-grid{grid-template-columns:1fr}.privacy-hero{padding-top:60px}}

/* v8 · galería real del Alberg Àster y proyectos */
.venue-section{grid-template-columns:.8fr 1.2fr}
.venue-photo-grid img{object-position:center}
.venue-gallery{grid-column:1/-1;display:grid;gap:14px;margin-top:0}
.venue-gallery{grid-template-columns:repeat(3,1fr)}
.venue-gallery img{width:100%;height:320px;object-fit:cover;border:3px solid var(--navy);border-radius:24px;box-shadow:5px 5px 0 var(--sky)}
@media(max-width:1000px){.venue-gallery{grid-template-columns:1fr 1fr}.venue-gallery img:last-child{grid-column:1/-1}}
@media(max-width:620px){.venue-gallery{grid-template-columns:1fr}.venue-gallery img:last-child{grid-column:auto}.venue-gallery img{height:280px}}

/* Contacto */
.contact-page{background:var(--cream);min-height:80vh}.contact-hero{padding:76px 4vw 42px;background:var(--sky);border-bottom:3px solid var(--navy)}.contact-hero h1{font-size:clamp(48px,6vw,84px);line-height:.94;letter-spacing:-.06em;margin:8px 0 20px;max-width:980px}.contact-hero h1 span{background:var(--lime);border-radius:14px;padding:0 .08em}.contact-hero>p:last-child{max-width:800px;font-size:18px;line-height:1.55;color:#314866}.contact-layout{padding:54px 4vw 80px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:28px;max-width:1450px;margin:auto}.contact-form{background:#fff;border:3px solid var(--navy);border-radius:30px;padding:30px;box-shadow:8px 8px 0 var(--navy)}.contact-form fieldset{border:0;padding:0;margin:28px 0}.contact-form legend,.contact-form label>span:first-child{font-size:14px;font-weight:1000;letter-spacing:.02em;color:var(--navy);margin-bottom:10px;display:block}.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea{width:100%;box-sizing:border-box;border:2px solid var(--navy);border-radius:16px;background:var(--cream);padding:14px 15px;font:inherit;color:var(--navy);outline:none}.contact-form textarea{resize:vertical;min-height:170px}.contact-form input:focus,.contact-form textarea:focus{box-shadow:0 0 0 4px #dffd4244}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice-grid-four{grid-template-columns:repeat(2,1fr)}.choice-card{position:relative;cursor:pointer}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-card span{display:flex!important;align-items:center;justify-content:center;min-height:82px;text-align:center;border:2px solid var(--navy);border-radius:18px;padding:14px;background:var(--cream);font-weight:900;line-height:1.25;margin:0!important}.choice-card small{display:block;font-weight:700;font-size:11px;margin-top:4px;color:#50627b}.choice-card input:checked+span{background:var(--lime);box-shadow:4px 4px 0 var(--navy);transform:translate(-1px,-1px)}.message-field{display:block;margin-top:8px}.privacy-check{display:flex!important;align-items:flex-start;gap:10px;margin:18px 0}.privacy-check input{margin-top:4px;accent-color:var(--navy)}.privacy-check span{font-size:13px!important;font-weight:600!important;line-height:1.45;color:#526078!important;margin:0!important}.privacy-check a{text-decoration:underline;font-weight:900}.contact-submit{display:inline-flex;align-items:center;justify-content:center;background:var(--lime);border:3px solid var(--navy);border-radius:999px;padding:13px 24px;font:inherit;font-weight:1000;color:var(--navy);cursor:pointer;box-shadow:4px 4px 0 var(--navy)}.contact-submit:hover{transform:translateY(-2px);box-shadow:6px 6px 0 var(--navy)}.form-help{font-size:12px;color:#6c7787;line-height:1.45;margin:14px 0 0}.contact-side{display:grid;gap:18px;align-content:start}.contact-side-card{border:3px solid var(--navy);border-radius:26px;padding:26px;background:#fff;box-shadow:6px 6px 0 var(--navy)}.contact-side-card.lime-card{background:var(--lime)}.contact-side-card h2{font-size:32px;line-height:1.05;margin:8px 0 20px}.contact-side-card h3{font-size:24px;margin:0 0 12px}.contact-side-card p{line-height:1.55}.contact-side-card a{display:block;font-weight:1000;margin-top:12px;text-decoration:underline}.pdf-link-btn{display:flex;text-decoration:none;justify-content:center;align-items:center;box-sizing:border-box}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-field-grid,.choice-grid,.choice-grid-four{grid-template-columns:1fr}.contact-hero{padding-left:5vw;padding-right:5vw}}

/* v13 · tipografía y ajustes de contenido */
body,button,input,select,textarea{font-family:"Nunito",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
h1,h2,h3,.brand-name,.eyebrow,.primary-link,.secondary-link,.ghost-btn,.ticket-label,.badge{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* Subrayados finos */
.home-hero h1 span,.hero h1 span,.youth-exchange-heading h2 span,.contact-hero h1 span{
  background:linear-gradient(transparent 86%,var(--lime) 86% 91%,transparent 91%);
  padding:0 .01em;border-radius:0;box-decoration-break:clone;-webkit-box-decoration-break:clone
}
.home-hero h1{max-width:760px}
.home-visual.photo-filled{min-height:520px;border:0;background:transparent}
.home-visual.photo-filled img{width:100%;height:100%;object-fit:cover;object-position:center 42%;border-radius:0}

/* Quienes somos */
.about-section .section-heading h2{max-width:1080px}

/* Banda de función: texto más grande y centrado verticalmente */
.mission-band{align-items:center}
.mission-band>p{font-size:20px;line-height:1.55;max-width:650px;align-self:center}

/* Youth Exchange */
.benefit-card.benefit-cream{background:var(--cream)}

/* Pasaporte en lugar del mapa ilustrado */
.passport-teaser{position:relative;display:block;min-height:440px;border:3px solid var(--navy);border-radius:28px;overflow:hidden;box-shadow:8px 8px 0 var(--lime);background:var(--sky)}
.passport-teaser img{width:100%;height:100%;min-height:440px;object-fit:cover;display:block}
.passport-caption{position:absolute;left:20px;bottom:20px;background:rgba(255,253,242,.96);border:3px solid var(--navy);border-radius:18px;padding:14px 18px;box-shadow:4px 4px 0 var(--navy)}
.passport-caption strong,.passport-caption span{display:block}.passport-caption strong{font-size:20px}.passport-caption span{font-size:13px;color:#4d6077;margin-top:3px}

/* Alberg: dos imágenes principales proporcionadas y adaptación */
.venue-section{grid-template-columns:.8fr 1.2fr}
.venue-art-grid{grid-template-columns:1fr 1fr;grid-template-rows:420px;min-height:0}
.venue-art-grid img,.venue-art-grid img:first-child{grid-row:auto;width:100%;height:420px;object-fit:cover}
.venue-copy strong{color:var(--navy)}
@media(max-width:900px){.venue-art-grid{grid-template-columns:1fr 1fr;grid-template-rows:330px}.venue-art-grid img,.venue-art-grid img:first-child{height:330px}}
@media(max-width:620px){.venue-art-grid{grid-template-columns:1fr;grid-template-rows:260px 260px}.venue-art-grid img,.venue-art-grid img:first-child{height:260px}}

/* Gestionada por Eureka */
.managed-badge{background:var(--blue);color:#fff;border-color:var(--navy)}
.managed-disclaimer{background:var(--lime)!important;color:var(--navy)!important}
.managed-ticket{display:grid;grid-template-columns:minmax(0,1fr) 180px;border:3px solid var(--navy);border-radius:28px;overflow:hidden;background:#fff;box-shadow:8px 8px 0 var(--navy);margin-top:30px}
.managed-ticket-main{padding:30px;position:relative}.managed-ticket-main h3{font-size:clamp(34px,5vw,60px);line-height:.95;margin:18px 0 8px;letter-spacing:-.05em}.managed-ticket-main>p:not(.ticket-label){margin:0 0 20px;color:#4f6077}
.managed-stamp{display:inline-block;background:var(--lime);border:2px solid var(--navy);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:1000;letter-spacing:.06em}
.managed-route{margin:24px 0}.managed-ticket-grid{margin-top:14px}.managed-ticket-side{background:var(--sky);border-left:3px dashed var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:24px 18px}.managed-vertical{writing-mode:vertical-rl;transform:rotate(180deg);font-weight:1000;letter-spacing:.12em;font-size:13px}.managed-ticket-side .primary-link{text-align:center}
@media(max-width:760px){.managed-ticket{grid-template-columns:1fr}.managed-ticket-side{border-left:0;border-top:3px dashed var(--navy);flex-direction:row}.managed-vertical{writing-mode:horizontal-tb;transform:none}}

/* Comentarios / testimonios dentro de la oportunidad */
.review-box{margin-top:26px;padding:22px;background:var(--sky);border:2px solid var(--navy);border-radius:20px}.review-box h3{font-size:25px;margin:6px 0 8px}.review-box>p:not(.eyebrow){margin:0 0 16px;color:#42556e}.review-box form{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:end}.review-box label{font-size:12px;font-weight:900}.review-box select,.review-box textarea{width:100%;margin-top:7px;border:2px solid var(--navy);border-radius:12px;padding:10px;background:#fff;font:inherit}.review-box textarea{min-height:86px;resize:vertical}.review-box button{border:3px solid var(--navy);background:var(--lime);border-radius:999px;padding:11px 16px;font-weight:1000;cursor:pointer;box-shadow:3px 3px 0 var(--navy)}.review-box>small{display:block;margin-top:10px;color:#526078}
@media(max-width:760px){.review-box form{grid-template-columns:1fr}}

/* Contacto: subrayado normal y fino */
.contact-hero h1 span{background:linear-gradient(transparent 89%,var(--lime) 89% 92%,transparent 92%)}

/* v14 · idiomas, FAQ y pie UE */
.lang-switcher{display:flex;align-items:center;gap:5px;margin-left:8px}.lang-switcher button{border:2px solid var(--navy);background:#fff;border-radius:999px;padding:6px 8px;font:inherit;font-size:11px;font-weight:1000;color:var(--navy);cursor:pointer}.lang-switcher button.is-active{background:var(--lime)}
.eu-footer-mark{display:flex!important;align-items:center;gap:12px;max-width:340px}.eu-footer-mark img{width:180px!important;height:auto!important;object-fit:contain}.eu-footer-mark p{font-size:11px;line-height:1.35;color:#526078;margin:0}.site-footer{flex-wrap:wrap}.project-card-canva{margin-top:24px}.project-passport img{width:100%;height:100%;min-height:260px;object-fit:cover;border-radius:24px}
.faq-page{background:var(--cream);min-height:80vh}.faq-hero{padding:78px 4vw 56px;background:var(--sky);border-bottom:3px solid var(--navy)}.faq-hero h1{font-size:clamp(48px,7vw,92px);line-height:.95;letter-spacing:-.055em;max-width:1050px;margin:10px 0 18px}.faq-hero h1 span{background:linear-gradient(transparent 88%,var(--lime) 88% 92%,transparent 92%)}.faq-hero>p:last-child{max-width:850px;font-size:18px;line-height:1.6;color:#334a64}.faq-wrap{max-width:1180px;margin:auto;padding:54px 4vw 84px}.faq-intro{display:grid;grid-template-columns:.5fr 1fr;gap:28px;align-items:start;margin-bottom:24px}.faq-intro h2{font-size:42px;margin:0}.faq-intro p{font-size:17px;line-height:1.6;margin:8px 0}.faq-list{display:grid;gap:12px}.faq-list details{background:#fff;border:3px solid var(--navy);border-radius:20px;padding:0 22px;box-shadow:5px 5px 0 var(--sky)}.faq-list details[open]{background:#fffef8}.faq-list summary{cursor:pointer;list-style:none;font-weight:1000;font-size:20px;padding:20px 42px 20px 0;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;top:14px;width:32px;height:32px;border:2px solid var(--navy);border-radius:50%;display:grid;place-items:center;background:var(--lime)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 0 22px;line-height:1.65;color:#43566f;max-width:960px}.faq-contact{margin-top:34px;background:var(--navy);color:#fff;border-radius:28px;padding:32px;box-shadow:8px 8px 0 var(--lime)}.faq-contact h2{font-size:36px;margin:0 0 8px}.faq-contact p{margin:0 0 18px}.faq-contact .primary-link{display:inline-flex}
@media(max-width:1100px){.topbar{flex-wrap:wrap;gap:10px}.topbar nav{order:3;width:100%;overflow-x:auto;padding-bottom:3px}.lang-switcher{margin-left:auto}.faq-intro{grid-template-columns:1fr}}


/* v15 · retoques visuales + filtros móviles */
/* Portada: imagen cuadrada, compacta y recortada desde arriba */
.home-hero{align-items:center}
.home-visual.photo-filled{min-height:0;aspect-ratio:1/1;max-width:620px;width:100%;justify-self:end;overflow:hidden;border-radius:28px;border:3px solid var(--navy);box-shadow:7px 7px 0 var(--navy)}
.home-visual.photo-filled img{width:100%;height:100%;object-fit:cover;object-position:center 66%;border-radius:0}

/* Subrayado amarillo fino y dinámico */
.home-hero h1 span,.hero h1 span,.youth-exchange-heading h2 span,.contact-hero h1 span,.faq-hero h1 span{
  background:none!important;position:relative;display:inline;z-index:0;padding:0 .01em
}
.home-hero h1 span::after,.hero h1 span::after,.youth-exchange-heading h2 span::after,.contact-hero h1 span::after,.faq-hero h1 span::after{
  content:"";position:absolute;left:0;right:0;height:.10em;bottom:.03em;background:var(--lime);z-index:-1;border-radius:999px;transform:scaleX(.15);transform-origin:left;animation:eurekaUnderline .72s cubic-bezier(.2,.75,.2,1) .15s forwards
}
@keyframes eurekaUnderline{to{transform:scaleX(1)}}

/* Texto visible en botones blancos */
.secondary-link,.ghost-btn{color:var(--blue)}
.secondary-link:hover,.ghost-btn:hover{color:var(--navy)}

/* Recorte de las fotografías altas del bloque Youth Exchange */
.youth-exchange-collage img{object-position:center 64%}
.ye-photo-main img{object-position:center 70%}

/* Galería Alberg: solo tres fotos, equilibradas */
.venue-gallery-selected{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px;margin:18px auto 0}
.venue-gallery-selected img{height:360px;object-fit:cover;object-position:center 58%}

/* Filtros móvil: drawer real y siempre accesible */
.filter-close,.mobile-filter-actions{display:none}
@media(max-width:760px){
  body.filters-open{overflow:hidden}
  .search-shell{position:sticky;top:68px;z-index:850;background:rgba(255,253,242,.96);backdrop-filter:blur(10px);padding:12px 5vw;align-items:center}
  .search-box{min-width:0;box-shadow:3px 3px 0 var(--navy)}
  .filters-mobile{display:inline-flex!important;align-items:center;gap:7px;flex:0 0 auto;padding:11px 14px;background:var(--lime);white-space:nowrap}
  .filters-mobile span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--navy);color:#fff;font-size:11px}
  .filters-panel{display:block!important;position:fixed;z-index:1202;left:0;right:0;bottom:0;top:auto;max-height:min(82vh,720px);overflow:auto;border-radius:28px 28px 0 0;border-width:3px 3px 0;padding:26px 20px 92px;background:var(--cream);box-shadow:0 -14px 40px rgba(16,36,72,.28);transform:translateY(105%);transition:transform .28s cubic-bezier(.2,.75,.2,1);visibility:hidden}
  .filters-panel.open{transform:translateY(0);visibility:visible}
  .filter-close{display:grid;place-items:center;position:absolute;right:18px;top:16px;width:38px;height:38px;border:2px solid var(--navy);border-radius:50%;background:#fff;color:var(--navy);font-size:25px;font-weight:900;cursor:pointer}
  .filter-backdrop{position:fixed;inset:0;background:rgba(10,25,50,.48);z-index:1201;backdrop-filter:blur(2px)}
  .filter-backdrop[hidden]{display:none}
  .mobile-filter-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;position:fixed;left:0;right:0;bottom:0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--cream);border-top:2px solid var(--navy);z-index:2}
  .mobile-filter-actions button{border:2px solid var(--navy);border-radius:999px;padding:12px 14px;font-weight:1000;cursor:pointer}
  .mobile-reset{background:#fff;color:var(--navy)}
  .mobile-apply{background:var(--lime);color:var(--navy);box-shadow:3px 3px 0 var(--navy)}
  .app-layout{grid-template-columns:1fr;padding:0 5vw 44px;gap:18px}
  .map-panel{order:1;min-height:360px}
  .results-panel{order:2}
  .panel-head{padding-right:45px}
}
@media(max-width:620px){
  .home-hero{padding-top:34px}
  .home-visual.photo-filled{max-width:100%;aspect-ratio:1/1;min-height:0}
  .venue-gallery-selected{grid-template-columns:1fr}
  .venue-gallery-selected img{height:290px}
}


/* v16 · ajustes solicitados: portada sin foto, DiversAbility cuadrado y galería Àster 2x2 */
.home-hero{
  grid-template-columns:minmax(0,1fr);
}
.home-hero-copy{max-width:1050px}

/* DiversAbility: imagen cuadrada y recortada para eliminar parte superior */
.project-result-card{
  grid-template-columns:minmax(0,1fr) minmax(360px,520px);
  align-items:stretch;
}
.project-result-visual.project-result-photo{
  min-height:0;
  aspect-ratio:1/1;
  align-self:center;
  width:100%;
}
.project-result-photo img{
  min-height:0;
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:center 72%;
}

/* Alberg Àster: cuatro fotos en una cuadrícula 2x2 junto al texto */
.venue-section{grid-template-columns:.8fr 1.2fr;align-items:stretch}
.venue-art-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,320px);
  gap:14px;
  min-height:0;
}
.venue-art-grid img,
.venue-art-grid img:first-child{
  grid-row:auto;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border:3px solid var(--navy);
  border-radius:24px;
  background:#fff;
}
.venue-art-grid img:nth-child(3){object-position:center 42%}
.venue-art-grid img:nth-child(4){object-position:center 58%}
.venue-gallery{display:none!important}

/* Tarjeta del proyecto anterior sin imagen del Coliseo */
.project-card-text-only{grid-template-columns:1fr!important}
.project-card-text-only .project-copy{max-width:900px}

@media(max-width:900px){
  .project-result-card{grid-template-columns:1fr}
  .project-result-visual.project-result-photo{max-width:560px;justify-self:center}
  .venue-section{grid-template-columns:1fr}
  .venue-art-grid{grid-template-rows:repeat(2,280px)}
}
@media(max-width:620px){
  .venue-art-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,260px)}
  .project-result-visual.project-result-photo{max-width:none}
}

/* v18 · ajustes de portada, DiversAbility y FAQ */
.home-hero{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important}
.home-hero-copy{max-width:760px!important}
.home-visual.photo-filled{display:block!important;aspect-ratio:1/1;max-width:620px;width:100%;justify-self:end;overflow:hidden;border-radius:28px;border:3px solid var(--navy);box-shadow:7px 7px 0 var(--navy)}
.home-visual.photo-filled img{width:100%;height:100%;object-fit:cover;object-position:center 57%;display:block}

/* DiversAbility: foto rectangular compacta y alineada con el contenido */
.project-result-card{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)!important;align-items:stretch}
.project-result-copy{align-self:center}
.project-result-visual.project-result-photo{aspect-ratio:auto!important;min-height:0!important;max-width:none!important;align-self:stretch!important;width:100%}
.project-result-photo img{height:100%!important;min-height:0!important;object-fit:cover!important;object-position:center 76%!important}

/* Evita que el logo de Eureka se agrande en el pie de Preguntas frecuentes */
.site-footer>div:first-child{display:flex;align-items:center;gap:10px}
.site-footer>div:first-child>img{width:42px!important;height:42px!important;max-width:42px!important;object-fit:contain!important}
.site-footer>div:first-child>strong{font-size:18px}

@media(max-width:900px){
  .home-hero{grid-template-columns:1fr!important}
  .home-visual.photo-filled{justify-self:start;max-width:560px}
  .project-result-card{grid-template-columns:1fr!important}
  .project-result-visual.project-result-photo{height:300px!important}
}

/* Proyecto finalizado dentro de la página del mapa */
.past-project-map{margin:0 4vw 64px;padding:30px 34px;background:#fff;border:3px solid var(--navy);border-radius:28px;box-shadow:7px 7px 0 var(--sky);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.past-project-copy h2{font-size:clamp(30px,4vw,50px);margin:8px 0 12px;letter-spacing:-.04em}.past-project-copy>p:not(.eyebrow){max-width:800px;line-height:1.6;color:#43566f}.past-badge{display:inline-flex;background:#e7e7e7;border:2px solid var(--navy);border-radius:999px;padding:6px 10px;font-weight:1000;font-size:12px}.past-project-stamp{width:150px;height:150px;border:4px dashed var(--navy);border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(-8deg);color:var(--navy);background:var(--cream)}.past-project-stamp strong{font-size:30px}.past-project-stamp span{font-weight:1000;letter-spacing:.14em;font-size:12px}
@media(max-width:700px){.past-project-map{grid-template-columns:1fr;margin-left:5vw;margin-right:5vw;padding:24px}.past-project-stamp{display:none}}
/* Ajuste final DiversAbility: foto horizontal, más pequeña y sin marco cuadrado */
.project-result-card{grid-template-columns:minmax(0,1fr) 420px!important}
.project-result-visual.project-result-photo{width:calc(100% - 28px)!important;height:300px!important;aspect-ratio:4/3!important;align-self:center!important;justify-self:center!important;border-radius:22px!important;overflow:hidden!important;margin:14px!important}
.project-result-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 78%!important}
@media(max-width:900px){.project-result-card{grid-template-columns:1fr!important}.project-result-visual.project-result-photo{width:calc(100% - 36px)!important;height:280px!important;margin:18px!important}}
.trusted-badge{background:#fff4a8;border-color:#13284d;color:#13284d}.trusted-badge::first-letter{color:#d99b00}
.trusted-legend{display:block;margin-top:10px;font-size:.92rem;line-height:1.45}

/* v23 - disclaimer: prevent nested bold text from becoming a large pill */
.public-disclaimer > strong{flex:0 0 auto;white-space:normal;line-height:1.25}
.public-disclaimer .trusted-legend strong{background:none;color:inherit;padding:0;border-radius:0;display:inline;font-size:inherit;letter-spacing:normal;text-transform:none}

/* v24 · reseñas conectadas a Google Sheets */
.published-reviews{margin-top:26px}.published-reviews h3{font-size:25px;margin:0 0 12px}.published-review{background:#fff;border:2px solid var(--navy);border-radius:16px;padding:15px;margin:10px 0}.published-review p{margin:7px 0 9px;line-height:1.5}.published-review strong{font-size:12px}.review-stars{font-size:20px;letter-spacing:2px;color:#c58a00}.no-reviews{color:#526078}.review-box form{grid-template-columns:1fr 1fr 150px}.review-box input{width:100%;margin-top:7px;border:2px solid var(--navy);border-radius:12px;padding:10px;background:#fff;font:inherit}.review-comment-label{grid-column:1 / 4}.review-box button{grid-column:1 / 4;justify-self:start}.review-message{margin:10px 0 0!important;font-weight:900;color:var(--navy)!important}.review-box button:disabled{opacity:.65;cursor:wait}
@media(max-width:760px){.review-box form{grid-template-columns:1fr}.review-comment-label,.review-box button{grid-column:auto}.review-box button{justify-self:stretch}}


/* v25 · mapa antes que las ofertas en móvil + galería final renovada */
.photo-strip-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1180px;margin-left:auto;margin-right:auto}
.photo-strip-two .photo-filled{aspect-ratio:4/3;overflow:hidden}
.photo-strip-two .photo-filled img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:620px){
  .photo-strip-two{grid-template-columns:1fr;padding-left:5vw;padding-right:5vw}
  .photo-strip-two .photo-filled{aspect-ratio:4/5}
}

/* v26 · evita desbordamientos de texto en tarjetas de oportunidades */
.ticket-card,
.ticket-card *{box-sizing:border-box}

.ticket-card h3,
.ticket-subtitle,
.ticket-route strong,
.ticket-grid strong,
.ticket-bottom strong,
.ticket-cta,
.badge{
  overflow-wrap:anywhere;
  word-break:normal;
  max-width:100%;
}

.ticket-route{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:6px;
}
.ticket-route>div{min-width:0}
.ticket-route strong{
  display:block;
  min-width:0;
  font-size:clamp(16px,2.1vw,22px);
  line-height:1.05;
  letter-spacing:0;
}
.ticket-plane{padding:0 3px;flex:0 0 auto}
.ticket-grid>div{min-width:0}
.ticket-bottom>div{min-width:0}
.ticket-cta{white-space:normal;text-align:center;line-height:1.15}

@media(max-width:620px){
  .ticket-card h3{
    font-size:clamp(25px,8vw,36px);
    line-height:1.02;
  }
  .ticket-route{
    margin-left:12px;
    margin-right:12px;
    padding:13px 10px;
    gap:3px;
  }
  .ticket-route small{font-size:7px}
  .ticket-route strong{
    font-size:clamp(15px,5vw,20px);
    line-height:1.08;
  }
  .ticket-plane{font-size:20px;padding:0 2px}
  .ticket-grid{
    margin-left:12px;
    margin-right:12px;
  }
  .ticket-grid strong{font-size:clamp(10px,3.5vw,13px)}
  .ticket-bottom{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .ticket-cta{
    max-width:100%;
    margin-left:auto;
  }
}

/* Seguridad extra para textos largos en el resto de la web */
h1,h2,h3,h4,.primary-link,.secondary-link,.ghost-btn,.chip,.badge,
.managed-route strong,.managed-ticket-grid strong{
  overflow-wrap:anywhere;
}

/* v27 · menú hamburguesa móvil */
.mobile-menu-btn,
.mobile-menu-panel,
.mobile-menu-backdrop{display:none}

@media(max-width:900px){
  body.mobile-menu-open{overflow:hidden}
  .topbar{
    height:76px!important;
    min-height:76px;
    flex-wrap:nowrap!important;
    gap:12px!important;
    padding:0 4vw!important;
    position:sticky;
    top:0;
    z-index:1400;
  }
  .topbar>.brand{margin-right:auto;min-width:0}
  .topbar>.brand .brand-name{white-space:nowrap}
  .topbar>nav,
  .topbar>.ghost-btn,
  .topbar>.lang-switcher{display:none!important}

  .mobile-menu-btn{
    display:flex;
    width:50px;
    height:50px;
    flex:0 0 50px;
    border:2px solid var(--navy);
    border-radius:16px;
    background:var(--lime);
    box-shadow:3px 3px 0 var(--navy);
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    position:relative;
    z-index:1403;
  }
  .mobile-menu-btn span{
    display:block;
    width:23px;
    height:3px;
    border-radius:999px;
    background:var(--navy);
    transition:transform .22s ease,opacity .18s ease;
    transform-origin:center;
  }
  .mobile-menu-btn.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .mobile-menu-btn.open span:nth-child(2){opacity:0}
  .mobile-menu-btn.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  .mobile-menu-panel{
    display:block;
    position:fixed;
    top:88px;
    left:14px;
    right:14px;
    max-height:calc(100dvh - 104px);
    overflow:auto;
    padding:14px;
    border:3px solid var(--navy);
    border-radius:26px;
    background:var(--cream);
    box-shadow:8px 8px 0 var(--navy);
    z-index:1402;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px) scale(.985);
    transition:opacity .2s ease,transform .22s ease,visibility .2s ease;
  }
  .mobile-menu-panel.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }
  .mobile-menu-nav{display:grid!important;gap:6px!important;width:100%!important;overflow:visible!important;padding:0!important}
  .mobile-menu-nav a{
    display:flex!important;
    align-items:center;
    min-height:48px;
    padding:11px 14px!important;
    margin:0!important;
    border-radius:14px!important;
    color:var(--navy)!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:1.2;
    background:transparent!important;
  }
  .mobile-menu-nav a:hover,
  .mobile-menu-nav a:focus-visible,
  .mobile-menu-nav a[aria-current="page"]{
    background:var(--lime)!important;
    outline:none;
  }
  .mobile-menu-nav .mobile-menu-about{
    margin-top:4px!important;
    border:2px solid var(--navy)!important;
    justify-content:center;
    background:#fff!important;
  }
  .mobile-menu-languages{
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:12px;
    padding:14px 4px 2px;
    border-top:2px solid #d9e0e5;
  }
  .mobile-menu-languages button{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    padding:0;
    border:2px solid var(--navy);
    border-radius:50%;
    background:#fff;
    color:var(--navy);
    font:inherit;
    font-size:13px;
    font-weight:1000;
    cursor:pointer;
  }
  .mobile-menu-languages button.is-active{background:var(--lime)}

  .mobile-menu-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:1398;
    background:rgba(9,27,54,.44);
    backdrop-filter:blur(2px);
    opacity:0;
    transition:opacity .2s ease;
  }
  .mobile-menu-backdrop.open{opacity:1}
  .mobile-menu-backdrop[hidden]{display:none}
}

@media(max-width:430px){
  .topbar{padding:0 18px!important}
  .brand-logo{width:48px!important;height:48px!important}
  .brand-name{font-size:22px!important}
  .mobile-menu-btn{width:46px;height:46px;flex-basis:46px;border-radius:14px}
  .mobile-menu-panel{left:10px;right:10px;top:86px;border-radius:22px;padding:12px}
  .mobile-menu-nav a{font-size:15px!important;min-height:46px}
}
