:root{--ink:#10243c;--muted:#60758c;--blue:#1678b8;--blue-dark:#0c568c;--powder:#eaf5ff;--powder-2:#d8edff;--line:#c9e1f3;--white:#fff;--shadow:0 22px 60px rgba(28,91,133,.12);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:radial-gradient(circle at 8% 0,#cde9ff 0,transparent 31rem),linear-gradient(180deg,#f8fcff 0,#edf7ff 42%,#fff 100%);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:16px;top:-60px;z-index:1000;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:500;border-bottom:1px solid rgba(201,225,243,.85);background:rgba(248,252,255,.82);backdrop-filter:blur(18px)}.nav-shell{max-width:1240px;margin:auto;min-height:74px;padding:0 28px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-family:Manrope,sans-serif;font-weight:800;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--blue);font-size:.78rem;box-shadow:0 6px 18px rgba(22,120,184,.1)}.nav-links{margin-left:auto;display:flex;align-items:center;gap:2px}.nav-links a{padding:9px 11px;border-radius:999px;color:#526a82;font-size:.85rem;font-weight:600;transition:.2s}.nav-links a:hover,.nav-links a:focus-visible{background:var(--powder);color:var(--blue-dark)}.menu-button{display:none;margin-left:auto;border:0;background:transparent;padding:12px}.menu-button span{display:block;width:23px;height:2px;background:var(--ink);margin:5px}.mobile-menu{padding:8px 24px 18px;border-top:1px solid var(--line)}.mobile-menu a{display:block;padding:10px 6px;font-weight:600;color:var(--muted)}.section-shell{max-width:1180px;margin:auto;padding:108px 32px}.hero{min-height:calc(100vh - 74px);display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:70px}.eyebrow{margin:0 0 18px;color:var(--blue);font:700 .78rem/1.2 Manrope,sans-serif;letter-spacing:.17em;text-transform:uppercase}.status-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#34a4d6;box-shadow:0 0 0 5px rgba(52,164,214,.12)}h1,h2,h3,h4{font-family:Manrope,sans-serif}.hero h1,.personal-hero h1{margin:0;font-size:clamp(3.3rem,7.2vw,6.9rem);line-height:.95;letter-spacing:-.06em}.hero h1 span{color:var(--blue)}.hero-role{margin:30px 0 0;color:var(--blue-dark);font:700 clamp(1.25rem,2.5vw,1.75rem)/1.3 Manrope,sans-serif}.hero-summary{max-width:690px;margin:20px 0 0;color:var(--muted);font-size:1.08rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:13px 21px;border:1px solid transparent;border-radius:15px;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--blue);color:#fff;box-shadow:0 14px 30px rgba(22,120,184,.22)}.button.primary:hover{background:var(--blue-dark)}.button.secondary{border-color:var(--line);background:rgba(255,255,255,.72)}.focus-card{position:relative;overflow:hidden;padding:36px;border:1px solid var(--line);border-radius:34px;background:rgba(255,255,255,.78);box-shadow:var(--shadow)}.focus-card:after{content:"";position:absolute;right:-90px;top:-100px;width:230px;height:230px;border-radius:50%;background:var(--powder-2);z-index:-1}.focus-number{color:#b9d9ee;font:800 4.5rem/1 Manrope,sans-serif}.focus-card h2{font-size:1.7rem;line-height:1.25;letter-spacing:-.03em}.focus-list{display:grid;gap:9px;margin:26px 0}.focus-list span{padding:14px 16px;border:1px solid #dcecf7;border-radius:14px;background:#f7fbfe;color:#4d6479;font-weight:600}.text-link{display:inline-flex;gap:10px;color:var(--blue);font-weight:700}.split-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start}.section-title{margin:0 0 42px;font-size:clamp(2.45rem,5vw,4.7rem);line-height:1;letter-spacing:-.055em}.about-copy{padding-left:32px;border-left:2px solid var(--powder-2);color:#405a72;font-size:1.18rem}.about-copy p{margin:0 0 22px}.language-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.language-row span,.chips span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#f8fcff;color:#44627a;font-size:.82rem;font-weight:600}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.skill-grid article,.education-grid article,.certificate-grid article{position:relative;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.78);box-shadow:0 16px 40px rgba(28,91,133,.08)}.card-index{color:#9ecbe7;font:800 2.5rem/1 Manrope,sans-serif}.skill-grid h3{margin:30px 0 18px;font-size:1.25rem}.chips{display:flex;flex-wrap:wrap;gap:7px}.project-list{border-top:1px solid var(--line)}.project-list article{display:grid;grid-template-columns:190px 1fr 1.3fr;gap:28px;padding:34px 8px;border-bottom:1px solid var(--line);transition:.2s}.project-list article:hover{padding-left:18px;background:linear-gradient(90deg,rgba(216,237,255,.55),transparent)}.project-meta{display:flex;flex-direction:column;color:var(--blue);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.project-list h3{margin:0;font-size:1.65rem;line-height:1.25}.project-list p{margin:0;color:var(--muted)}.project-list .chips{grid-column:3}.timeline-card{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.timeline-date{color:var(--blue);font-weight:700}.timeline-card h3{margin:10px 0 0;font-size:1.8rem}.timeline-card h4{margin:3px 0 18px;color:var(--muted)}.timeline-card p,.timeline-card li{color:#526b82}.education-grid,.certificate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.education-grid article span,.certificate-grid article span{color:var(--blue);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.education-grid h3,.certificate-grid h3{margin:28px 0 8px;font-size:1.45rem}.education-grid p,.certificate-grid p{margin:0;color:#466078}.education-grid small{color:var(--muted)}.cv-card{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:48px;border-radius:34px;background:linear-gradient(125deg,#0b527f,#188bc9);color:#fff;box-shadow:0 28px 70px rgba(15,103,153,.28)}.eyebrow.light{color:#cdeeff}.cv-card h2{max-width:750px;margin:0;font-size:clamp(2rem,4.5vw,4rem);line-height:1.05;letter-spacing:-.045em}.button.white{flex:none;background:#fff;color:var(--blue-dark)}.contact-section>div>p:last-child{max-width:390px;color:var(--muted)}.contact-links{border-top:1px solid var(--line)}.contact-links a{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:14px;padding:22px 4px;border-bottom:1px solid var(--line);transition:.2s}.contact-links a:hover{padding-left:12px;color:var(--blue)}.contact-links span{color:var(--muted);font-size:.85rem}.personal-hero{min-height:62vh;padding-top:140px;background:radial-gradient(circle at 80% 45%,rgba(150,212,245,.45),transparent 24rem)}.personal-hero h1{max-width:900px}.personal-hero>p:last-child,.section-intro{max-width:680px;color:var(--muted);font-size:1.08rem}.travel-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.map-card,.travel-panel,.hobby-content{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.84);box-shadow:var(--shadow)}.map-head{display:flex;align-items:center;justify-content:space-between;padding:23px 25px;border-bottom:1px solid var(--line)}.map-head h3{margin:0}.map-head p{margin:2px 0 0;color:var(--muted);font-size:.9rem}.map-head button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;color:var(--blue-dark);font-size:.8rem;font-weight:700;cursor:pointer}#map{height:500px;background:#eaf6fd}.leaflet-control-attribution{font-size:10px}.travel-panel{height:568px;padding:27px;overflow-y:auto}.panel-label{color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.travel-panel h3{margin:9px 0 4px;font-size:1.7rem}.travel-panel>p{color:var(--muted)}.timeline{position:relative;margin-top:27px;padding-left:22px}.timeline:before{content:"";position:absolute;left:5px;top:5px;bottom:5px;width:2px;background:var(--powder-2)}.timeline-entry{position:relative;margin-bottom:28px}.timeline-entry:before{content:"";position:absolute;left:-22px;top:7px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px var(--powder-2)}.timeline-entry h4{margin:0}.timeline-entry p{margin:4px 0;color:var(--muted);font-size:.92rem}.progress-row{margin-top:22px}.progress-label{display:flex;justify-content:space-between;margin-bottom:7px;font-size:.85rem;font-weight:700}.progress-track{height:9px;border-radius:999px;background:var(--powder)}.progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#39a8dd,var(--blue))}.place-list{display:grid;gap:11px;margin-top:24px}.place{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f7fbfe}.photo-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,31%);gap:14px;margin-top:32px;padding-bottom:14px;overflow-x:auto;scroll-snap-type:x mandatory}.photo-card{margin:0;position:relative;height:370px;overflow:hidden;border-radius:24px;background:linear-gradient(145deg,#d6ecfa,#f8fcff);scroll-snap-align:start}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo-card:hover img{transform:scale(1.03)}.photo-card figcaption{position:absolute;left:15px;bottom:15px;padding:7px 10px;border-radius:999px;background:rgba(13,48,74,.76);color:#fff;font-size:.78rem}.image-fallback{display:grid;place-items:center;width:100%;height:100%;padding:22px;text-align:center;color:#6d91a9;font:700 .82rem/1.5 Manrope,sans-serif;background:linear-gradient(145deg,#d7edfa,#f8fcff)}.hobby-layout{display:grid;grid-template-columns:260px 1fr;gap:18px;margin-top:34px}.hobby-tabs{display:flex;flex-direction:column;gap:8px}.hobby-tabs button{padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.72);color:#4e687f;text-align:left;font-weight:700;cursor:pointer}.hobby-tabs button[aria-selected="true"]{border-color:var(--blue);background:var(--blue);color:#fff}.hobby-content{padding:25px}.hobby-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.hobby-heading h3{margin:0;font-size:1.75rem}.hobby-heading p{margin:6px 0 0;color:var(--muted)}.hobby-heading>span{flex:none;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--blue);font-size:.78rem;font-weight:700}.hobby-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-height:550px;margin-top:24px;overflow-y:auto}.hobby-gallery .photo-card{height:220px}footer{display:flex;justify-content:space-between;max-width:1180px;margin:auto;padding:32px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem}footer a{font-weight:700;color:var(--blue)}.reveal{opacity:0;transform:translateY(15px);transition:opacity .55s,transform .55s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1240px){.professional-nav,.personal-nav{display:none!important}.menu-button{display:block}.hero{grid-template-columns:1fr;min-height:auto;padding-top:120px}.focus-card{max-width:650px}.split-section{grid-template-columns:1fr;gap:30px}.skill-grid{grid-template-columns:1fr}.project-list article{grid-template-columns:130px 1fr}.project-list p,.project-list .chips{grid-column:2}.travel-grid{grid-template-columns:1fr}.travel-panel{height:auto;max-height:520px}.certificate-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){body{font-size:16px}.nav-shell{padding:0 18px}.section-shell{padding:76px 20px}.hero{padding-top:90px;gap:42px}.hero h1,.personal-hero h1{font-size:clamp(3rem,15vw,4.7rem)}.hero-actions{flex-direction:column}.button{width:100%}.focus-card{padding:26px}.section-title{margin-bottom:28px}.about-copy{padding-left:18px}.education-grid,.certificate-grid{grid-template-columns:1fr}.project-list article{grid-template-columns:1fr;padding:28px 0}.project-list p,.project-list .chips{grid-column:1}.project-meta{flex-direction:row;justify-content:space-between}.cv-card{align-items:stretch;flex-direction:column;padding:30px}.contact-links a{grid-template-columns:70px 1fr}.contact-links strong{font-size:.86rem;word-break:break-word}.travel-panel{padding:21px}.map-head{align-items:flex-start;gap:15px}#map{height:410px}.photo-strip{grid-auto-columns:82%}.hobby-layout{grid-template-columns:1fr}.hobby-tabs{flex-direction:row;overflow-x:auto;padding-bottom:8px}.hobby-tabs button{flex:none}.hobby-content{padding:19px}.hobby-heading{display:block}.hobby-heading>span{display:inline-block;margin-top:12px}.hobby-gallery{grid-template-columns:1fr}.hobby-gallery .photo-card{height:260px}footer{flex-direction:column;gap:6px;padding:28px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.project-list article{transition:none}}

[hidden]{display:none!important}
.mobile-menu{max-height:calc(100dvh - 74px);overflow-y:auto}
#map{position:relative;isolation:isolate;width:100%}
.map-status{margin:0;padding:12px 24px;color:var(--muted)}
.gallery-empty{grid-column:1/-1;margin:0;padding:28px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:#f8fcff}
.photo-strip:has(.gallery-empty){display:block}
.hobby-gallery:has(.gallery-empty){display:block}
section:focus{outline:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}

.country-label{background:none;border:0;pointer-events:none;text-align:center;white-space:nowrap;font:600 13px/24px "DM Sans",sans-serif;color:#324f65;text-shadow:0 1px 2px white,1px 0 2px white,-1px 0 2px white,0 -1px 2px white}
.country-label-visited{color:#083954;font-weight:800}

/* Travel archive and administrative-region drilldown. */
.travel-panel{height:620px}.map-card #map{height:550px}.map-head{min-height:94px}.country-list,.visit-list{display:grid;gap:10px;margin-top:22px}.country-entry,.visit-entry{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#f8fcff;color:var(--ink);cursor:pointer}.country-entry:hover,.visit-entry:hover{border-color:var(--blue);background:#eaf6ff}.country-entry strong,.visit-entry strong{display:block;font-size:1rem}.country-entry span,.visit-entry span{display:block;font-size:.9rem;color:var(--blue-dark)}.country-entry small,.visit-entry small{display:block;font-size:.85rem;color:var(--muted)}.visit-entry p{margin:8px 0 0;color:var(--muted);font-size:.9rem}.panel-back{border:0;background:transparent;color:var(--blue);padding:0 0 18px;font-weight:700;cursor:pointer;display:block}.visit-summary{margin:12px 0;color:var(--muted)}.visit-summary strong{color:var(--ink);font-size:1.5rem}.visit-summary span{display:block;font-size:.9rem}.map-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin:16px 0}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{display:inline-block;width:12px;height:12px}.legend-region{background:#51b3df;border:1px solid #789cb2}.legend-place{background:#073d63;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #073d63}.visit-popup{font:14px/1.5 "DM Sans",sans-serif}.visit-popup p{margin:6px 0}.visit-popup strong{font-size:16px}.retry-regions{border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:10px;padding:8px 12px;cursor:pointer}@media(max-width:1240px){.travel-panel{height:auto;max-height:600px}}@media(max-width:640px){.map-card #map{height:440px}.map-head{padding:18px;min-height:105px}.travel-panel{max-height:550px}}

#map .leaflet-interactive:focus{outline:none}

.photo-open{display:block;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.photo-card figcaption{pointer-events:none}.photo-open:focus-visible{outline:4px solid var(--blue);outline-offset:-4px}.photo-lightbox{width:min(1140px,95vw);max-width:none;max-height:94dvh;padding:0;border:1px solid #38536b;border-radius:20px;background:#0b1928;color:#fff;box-shadow:0 30px 100px #0008;overflow:hidden}.photo-lightbox::backdrop{background:#04101de8;backdrop-filter:blur(6px)}.photo-viewer-open{overflow:hidden}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px}.lightbox-toolbar p{margin:0;font-size:15px}.photo-lightbox button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #496379;border-radius:50%;background:#1b3044;color:white;cursor:pointer;font-size:30px;line-height:1}.photo-lightbox button:hover{background:#31536d}.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:240px;height:min(76dvh,780px);padding:0 64px 18px}.lightbox-image{display:block;width:100%;height:100%;object-fit:contain;touch-action:pan-y}.lightbox-prev,.lightbox-next{position:absolute;top:50%;z-index:2;transform:translateY(-50%)}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-status{position:absolute;top:45%;left:60px;right:60px;text-align:center;margin:0;color:#c9dce9;pointer-events:none}@media(max-width:640px){.photo-lightbox{width:96vw;border-radius:14px}.lightbox-stage{height:72dvh;padding:0 8px 64px}.lightbox-prev,.lightbox-next{top:auto;bottom:10px;transform:none}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}.lightbox-toolbar{padding:10px 12px}.lightbox-toolbar p{font-size:14px}}

/* Phone layout only. Desktop rules remain unchanged. */
@media (max-width:640px) {
  html { scroll-padding-top:80px; }
  .nav-shell { min-height:64px; padding-left:max(16px,env(safe-area-inset-left)); padding-right:max(12px,env(safe-area-inset-right)); gap:12px; }
  .menu-button { min-width:48px; min-height:48px; }
  .mobile-menu { padding:8px 18px 16px; max-height:calc(100svh - 64px); overscroll-behavior:contain; }
  .mobile-menu a { min-height:46px; padding:10px 6px; }
  .section-shell { padding:56px 18px; }
  .hero { padding-top:54px; gap:32px; }
  .hero h1,.personal-hero h1 { font-size:clamp(2.45rem,11.7vw,4rem); line-height:1.05; letter-spacing:-.045em; overflow-wrap:break-word; }
  .hero-role { margin-top:24px; font-size:1.2rem; }
  .hero-summary,.personal-hero>p:last-child,.section-intro { font-size:1rem; line-height:1.65; }
  .hero-actions { margin-top:26px; }
  .personal-hero { min-height:0; padding-top:60px; }
  .section-title { font-size:clamp(2rem,9vw,3rem); line-height:1.1; letter-spacing:-.04em; }
  .hero>*,.split-section>*,.travel-grid>*,.hobby-layout>*,.hobby-content,.contact-links { min-width:0; }
  .focus-card,.timeline-card { padding:24px; border-radius:22px; }
  .about-copy { font-size:1.05rem; }
  .chips span,.language-row span { font-size:.875rem; }
  .contact-links a { grid-template-columns:1fr auto; min-height:64px; gap:4px 12px; }
  .contact-links span { grid-column:1; }
  .contact-links strong { grid-column:1; font-size:.95rem; overflow-wrap:anywhere; }
  .contact-links b { grid-column:2; grid-row:1 / span 2; }
  .map-card,.travel-panel,.hobby-content { border-radius:20px; }
  .map-head { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:16px; gap:10px; min-height:100px; }
  .map-head h3 { font-size:1.05rem; overflow-wrap:anywhere; }
  .map-head p { font-size:.875rem; line-height:1.5; }
  .map-head button { min-height:44px; padding:8px 12px; }
  .map-card #map { height:clamp(310px,53svh,460px); }
  #map .leaflet-control-zoom a { width:44px; height:44px; line-height:44px; }
  .travel-panel { padding:20px; max-height:65svh; overscroll-behavior:contain; }
  .panel-back { min-height:44px; padding-bottom:12px; }
  .country-entry,.visit-entry { min-height:64px; }
  .country-entry,.visit-entry,.visit-popup { overflow-wrap:anywhere; }
  .photo-strip { grid-auto-columns:82%; gap:12px; scroll-padding-inline:0; }
  .photo-strip .photo-card { height:320px; }
  .hobby-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; gap:8px; }
  .hobby-tabs button { min-width:0; min-height:48px; padding:11px 12px; font-size:.9rem; line-height:1.35; }
  .hobby-content { padding:16px; }
  .hobby-heading h3 { font-size:1.4rem; }
  .hobby-heading p { font-size:.95rem; }
  .hobby-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:65svh; gap:8px; overscroll-behavior:contain; }
  .hobby-gallery .photo-card { height:clamp(155px,47vw,250px); border-radius:14px; }
  .photo-card figcaption { left:8px; bottom:8px; max-width:calc(100% - 16px); padding:5px 8px; font-size:.75rem; }
  .photo-lightbox { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; margin:0; border:0; border-radius:0; padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); }
  .lightbox-toolbar { min-height:64px; padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left)); }
  .lightbox-toolbar p { min-width:0; overflow-wrap:anywhere; line-height:1.35; }
  .lightbox-stage { height:calc(100dvh - 64px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); min-height:0; padding:0 8px 64px; }
  .lightbox-image { min-height:0; }
  .photo-lightbox button { min-width:48px; min-height:48px; }
  .lightbox-prev,.lightbox-next { bottom:8px; }
  footer { padding-bottom:calc(24px + env(safe-area-inset-bottom)); }
}
@media (max-width:380px) {
  .section-shell { padding-inline:14px; }
  .map-head { grid-template-columns:1fr; }
  .map-head button { justify-self:start; }
}

.lightbox-original{color:#d5efff;font-size:.85rem;white-space:nowrap;padding:10px 8px;border:1px solid #ffffff30;border-radius:10px}.lightbox-toolbar p{flex:1}.lightbox-original:focus-visible{outline:2px solid white}@media(max-width:380px){.lightbox-original{font-size:.72rem;padding:9px 5px}.lightbox-toolbar{gap:6px}}
