/* Base (reprend la mise en page de l'aperçu) */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-size:14px}
img{max-width:100%}
[hidden]{display:none!important}
body.admin-bar .top{top:32px}
@media (max-width:782px){body.admin-bar .top{top:46px}}

/* Layout: one editorial column; a "frequency dial" hero, a dated career log, expertise grid, contact strip. */
:root{
  --bg:#F7F8FB; --surface:#FFFFFF; --fg:#14182B; --muted:#56607A; --line:#DDE2EC;
  --accent:#1F3FBF; --gold:#C98A0C; --onair:#C8323B;
  --display:"Unbounded","Arial Black",system-ui,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
/* Thème clair uniquement, quel que soit le réglage de l'appareil */
:root{color-scheme:light;--wa:#1FAF55;--wa-dark:#178C44}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:1rem;line-height:1.6;padding-inline:20px}
.wrap{max-width:960px;margin:0 auto;padding-block:48px 64px;display:flex;flex-direction:column;gap:88px}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.1}
p{margin:0}
a{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.label{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* Menu */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
section,.tabbed{scroll-margin-top:90px}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:14px;margin-inline:-20px;padding-inline:20px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);margin-bottom:-56px}
.mono-mark{font-family:var(--display);font-weight:800;font-size:1rem;letter-spacing:.04em;color:var(--fg);text-decoration:none}
.menu{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.menu a{color:var(--muted);text-decoration:none;font-size:.92rem;font-weight:500;padding:8px 12px;border-radius:6px;transition:color .15s,background .15s}
.menu a:hover{color:var(--fg);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.menu a.active{color:var(--fg)}
.menu a.active::after{content:"";display:block;height:2px;background:var(--accent);margin-top:2px;border-radius:2px}
.menu a.menu-cta{background:var(--fg);color:var(--bg);margin-left:6px}
.menu a.menu-cta:hover{background:var(--accent);color:var(--bg)}
.menu-btn{display:none;font:inherit;font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;background:none;color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:8px 12px;cursor:pointer;align-items:center;gap:10px}
.bars,.bars::before,.bars::after{display:block;width:16px;height:2px;background:var(--fg);border-radius:2px;transition:transform .2s,opacity .2s}
.bars{position:relative}
.bars::before,.bars::after{content:"";position:absolute;left:0}
.bars::before{top:-5px}.bars::after{top:5px}
.menu-btn[aria-expanded="true"] .bars{background:transparent}
.menu-btn[aria-expanded="true"] .bars::before{transform:translateY(5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .bars::after{transform:translateY(-5px) rotate(-45deg)}
@media (max-width:860px){
  .menu-btn{display:inline-flex}
  .menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 16px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 12px 24px color-mix(in srgb,var(--fg) 10%,transparent)}
  .menu:not(.open){display:none}
  .menu a{padding:14px 4px;border-bottom:1px solid var(--line);border-radius:0;font-size:1rem}
  .menu a.active::after{display:none}
  .menu a.active{color:var(--accent)}
  .menu a.menu-cta{margin:12px 0 0;text-align:center;border-radius:6px;border-bottom:0}
}
.onair{align-self:flex-start}

/* Hero */
.mono-mark span{color:var(--gold)}
.onair{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:6px 12px}
.onair i{width:8px;height:8px;border-radius:50%;background:var(--onair);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.hero{display:flex;flex-direction:column;gap:28px}
.hero h1{font-size:clamp(2.4rem,7.5vw,5.2rem);font-weight:800;letter-spacing:-.02em}
.hero h1 em{font-style:normal;color:var(--accent)}
.lede{font-size:clamp(1.05rem,2.2vw,1.25rem);max-width:58ch;color:var(--muted)}
.lede strong{color:var(--fg);font-weight:600}

.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:40px;align-items:end}
.intro-text{display:flex;flex-direction:column;gap:24px;min-width:0}
.portrait{margin:0;position:relative;max-width:100%}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50% 50% 12px 12px;border:1px solid var(--line)}
.portrait::after{content:"";position:absolute;inset:auto -10px -10px auto;width:46%;aspect-ratio:1;border:2px solid var(--gold);border-radius:50%;z-index:-1}

/* Highlights */
.zoom{display:block;padding:0;border:0;background:var(--line);cursor:zoom-in;border-radius:10px;overflow:hidden;width:100%}
.zoom img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.zoom:hover img{transform:scale(1.03)}
.highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hl{display:flex;flex-direction:column;gap:16px;min-width:0}
.hl-img{aspect-ratio:3/4}
.hl-body{display:flex;flex-direction:column;gap:8px}
.hl-when{font-family:var(--mono);font-size:.78rem;color:var(--gold);letter-spacing:.04em}
.hl h3{font-family:var(--body);font-weight:600;font-size:1.1rem;line-height:1.3}
.hl p{color:var(--muted);font-size:.95rem}

/* Gallery */
.g-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:28px;border-top:1px solid var(--line)}
.g-title{font-size:1.3rem;font-weight:700}
.filters{display:flex;gap:6px;flex-wrap:wrap}
.filter{font:inherit;font-size:.85rem;cursor:pointer;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 14px}
.filter:hover{color:var(--fg)}
.filter[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.filter span{font-family:var(--mono);font-size:.72rem;opacity:.7;margin-left:2px}
.albums{display:flex;flex-direction:column;gap:44px}
.album{display:flex;flex-direction:column;gap:18px}
.album-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px 24px;align-items:end;border-left:3px solid var(--gold);padding-left:14px}
.album-head h4{margin:0;font-family:var(--display);font-weight:700;font-size:1.15rem;line-height:1.2}
.album-head p{margin:0;font-family:var(--mono);font-size:.76rem;color:var(--muted);margin-top:4px}
.album-head .album-intro{font-family:var(--body);font-size:.95rem}
@media (max-width:700px){.album-head{grid-template-columns:1fr}}
.gallery{columns:3 240px;column-gap:16px}
.gallery figure{margin:0 0 18px;break-inside:avoid;display:flex;flex-direction:column;gap:8px}
.gallery figcaption{font-size:.86rem;color:var(--muted)}
.gallery figcaption b{color:var(--fg);font-weight:600}
.gallery img{height:auto}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,10,20,.92);display:flex;align-items:center;justify-content:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 56px) 12px calc(env(safe-area-inset-bottom,0px) + 24px)}
.lb-fig{margin:0;display:flex;flex-direction:column;gap:12px;align-items:center;max-width:min(1100px,100%);min-width:0}
.lb-fig img{max-width:100%;max-height:calc(100vh - 160px);object-fit:contain;border-radius:6px}
.lb-fig figcaption{color:#E7EAF3;font-size:.92rem;text-align:center}
.lb-close,.lb-nav{font:inherit;background:rgba(255,255,255,.1);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:1.6rem;line-height:1;cursor:pointer;flex:none}
.lb-close:hover,.lb-nav:hover{background:rgba(255,255,255,.22)}
.lb-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 10px);right:12px}
@media (max-width:600px){.lb-nav{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}.lb-prev{left:calc(50% - 56px)}.lb-next{right:calc(50% - 56px)}.lightbox{padding-bottom:80px}}
@media (max-width:820px){.highlights{grid-template-columns:1fr}.hl{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:start}}

/* Venture photo */
.v-photo{margin:-22px -22px 6px;border-radius:10px 10px 0 0;aspect-ratio:4/3}
.v-photo.zoom{width:auto}

/* Frequency dial */
.dial{position:relative;border-top:1px solid var(--fg);border-bottom:1px solid var(--line);padding-block:14px 10px}
.ticks{height:28px;background:repeating-linear-gradient(90deg,var(--muted) 0 1px,transparent 1px 12px);mask:linear-gradient(transparent 55%,#000 55%);-webkit-mask:linear-gradient(transparent 55%,#000 55%);opacity:.55}
.ticks.major{position:absolute;inset:14px 0 auto;background:repeating-linear-gradient(90deg,var(--fg) 0 2px,transparent 2px 120px);mask:none;-webkit-mask:none;opacity:.8}
.needle{position:absolute;top:0;bottom:0;left:62%;width:2px;background:var(--onair)}
.needle::after{content:"";position:absolute;top:-5px;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--onair)}
.dial-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px;font-family:var(--mono);font-size:.78rem;color:var(--muted)}
.dial-row b{color:var(--fg);font-weight:500}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px}
.fact{display:flex;flex-direction:column;gap:4px}
.fact .n{font-family:var(--display);font-weight:700;font-size:1.9rem;font-variant-numeric:tabular-nums}
.fact .n span{color:var(--gold)}
.fact .t{color:var(--muted);font-size:.92rem}

/* Sections */
section{display:flex;flex-direction:column;gap:32px}
.sec-head{display:flex;flex-direction:column;gap:10px}
.sec-head h2{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}

/* Career log */
.log{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.log li{display:grid;grid-template-columns:150px 1fr;gap:8px 32px;padding-block:22px;border-bottom:1px solid var(--line)}
.log .when{font-family:var(--mono);font-size:.82rem;color:var(--muted);padding-top:4px;font-variant-numeric:tabular-nums}
.log .what{display:flex;flex-direction:column;gap:6px;min-width:0}
.log h3{font-family:var(--body);font-weight:600;font-size:1.12rem;line-height:1.35}
.log .org{color:var(--accent);font-weight:500}
.log .note{color:var(--muted);font-size:.95rem;max-width:60ch}
.tag{align-self:flex-start;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:4px;background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--fg)}
.tag.radio{background:color-mix(in srgb,var(--onair) 16%,transparent)}

.sec-intro{color:var(--muted);max-width:60ch}

/* Tabs */
.tabbed{display:flex;flex-direction:column;gap:32px}
.tablist{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.tab{font:inherit;background:none;border:0;color:var(--muted);cursor:pointer;text-align:left;padding:14px 4px 16px;display:flex;flex-direction:column;gap:4px;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}
.tab:hover{color:var(--fg)}
.tab[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--accent)}
.tab-k{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.tab[aria-selected="true"] .tab-k{color:var(--gold)}
.tab-t{font-family:var(--display);font-weight:700;font-size:clamp(1.1rem,3.4vw,1.7rem);line-height:1.15}
.panel{display:flex;flex-direction:column;gap:32px}
.panel .sec-head h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){.panel:not([hidden]){animation:fadein .25s ease}}
@keyframes fadein{from{opacity:.4;transform:translateY(4px)}}

/* Locavel */
.loc{display:flex;flex-direction:column;gap:28px;padding:clamp(20px,4vw,32px);border:1px solid var(--line);border-radius:12px;background:var(--surface);scroll-margin-top:90px}
.loc-head{display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap}
.loc-logo{width:140px;height:auto}
.loc-title{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:4px}
.loc-title .when{font-family:var(--mono);font-size:.78rem;color:var(--muted)}
.loc-title h3{font-size:clamp(1.25rem,3vw,1.6rem);font-weight:700}
.loc-title .role{font-weight:600;color:var(--accent);margin:0}
.loc-links{display:flex;gap:8px;flex-wrap:wrap}
.loc-intro{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}
.loc-ceo{margin:0}.loc-ceo .zoom{aspect-ratio:4/5}
.loc-text{display:flex;flex-direction:column;gap:14px;font-size:1.02rem}
.loc-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.loc-facts li{padding:12px 14px;border-radius:8px;background:var(--bg);font-size:.92rem;color:var(--muted)}
.loc-facts b{color:var(--fg)}
[hidden]{display:none!important}
.svc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.svc-i{background:var(--surface);padding:18px;display:flex;flex-direction:column;gap:6px}
.svc-i .k{font-family:var(--mono);font-size:.72rem;color:var(--gold)}
.svc-i h4{margin:0;font-size:1rem}
.svc-i p{margin:0;color:var(--muted);font-size:.88rem}
.loc-sub{display:flex;flex-direction:column;gap:14px}
.loc-h{margin:0;font-family:var(--display);font-size:1.1rem}
.events{display:flex;flex-wrap:wrap;gap:6px}
.events span{font-family:var(--mono);font-size:.76rem;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent)}
.real{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.real figure{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.real .zoom{aspect-ratio:4/3}
.real figcaption{font-size:.84rem;color:var(--muted);display:flex;flex-direction:column;gap:2px}
.real figcaption b{color:var(--fg);font-weight:600}
.loc-duo{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}
.duo-card{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:10px;background:var(--bg);min-width:0}
.duo-card:first-child{flex-direction:row;align-items:flex-start}
.duo-card h4{margin:0 0 6px;font-family:var(--display);font-size:1.05rem}
.duo-card p{margin:0;color:var(--muted);font-size:.92rem}
.duo-logo{width:96px;height:auto;border-radius:8px;flex:none}
.duo-img{aspect-ratio:800/282}
.airlines{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:14px 0}
.airlines img{height:26px;width:auto}
.lnk{font-weight:600;font-size:.92rem}
.partners{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--line)}
.partner-logos{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}
.partner-logos img{height:44px;width:auto}
.v-more{margin:8px 0 0;font-family:var(--display);font-size:1.1rem}
@media (max-width:900px){.svc{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-i:last-child{grid-column:1/-1}}
@media (max-width:820px){.real{grid-template-columns:repeat(2,minmax(0,1fr))}.loc-duo{grid-template-columns:1fr}}
@media (max-width:600px){.loc-intro{grid-template-columns:1fr}.loc-ceo{width:min(220px,70%)}.loc-facts{grid-template-columns:1fr}.duo-card:first-child{flex-direction:column}}

/* Videos */
.vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.vid{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--fg)}
.vid-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--line)}
.vid-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.vid:hover .vid-thumb img{transform:scale(1.04)}
.play{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 4px 14px rgba(20,24,43,.25)}
.play::after{content:"";position:absolute;left:19px;top:15px;border-left:14px solid var(--fg);border-top:9px solid transparent;border-bottom:9px solid transparent}
.vid-thumb em{position:absolute;left:8px;bottom:8px;font-style:normal;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:4px;background:rgba(20,24,43,.78);color:#fff}
.vid-radio{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 50%,var(--gold)))}
.radio-mark{position:absolute;right:14px;top:10px;font-family:var(--display);font-weight:800;font-size:2.2rem;color:rgba(255,255,255,.35)}
.vid-body{display:flex;flex-direction:column;gap:2px;font-size:.92rem}
.vid-body span{color:var(--muted);font-size:.85rem}
.vid:hover .vid-body b{color:var(--accent)}

/* Entrepreneurship */
.venture{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(22px,4vw,40px)}
.v-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.steps{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;counter-reset:s}
.steps li{counter-increment:s;font-size:.82rem;padding:4px 10px 4px 6px;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;gap:6px}
.steps li::before{content:counter(s);font-family:var(--mono);font-size:.7rem;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--bg)}
.v-card{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--bg);min-width:0}
.v-card .when{font-family:var(--mono);font-size:.78rem;color:var(--muted)}
.v-card h3{font-size:1.15rem;font-weight:700}
.v-main h3{font-size:1.6rem;color:var(--accent)}
.v-card .role{font-weight:600}
.v-card .note{color:var(--muted);font-size:.95rem}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
@media (max-width:820px){.v-grid{grid-template-columns:1fr}}

/* Expertise */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.cell{background:var(--bg);padding:26px;display:flex;flex-direction:column;gap:10px;min-width:0}
.cell .k{font-family:var(--mono);font-size:.75rem;color:var(--gold);letter-spacing:.1em}
.cell h3{font-family:var(--body);font-weight:600;font-size:1.08rem}
.cell p{color:var(--muted);font-size:.95rem}

/* Education */
.edu{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.school{border-left:3px solid var(--accent);padding:4px 0 4px 18px;display:flex;flex-direction:column;gap:6px}
.school h3{font-family:var(--body);font-weight:600;font-size:1.05rem}
.school p{color:var(--muted);font-size:.95rem}
.langs{display:flex;gap:10px;flex-wrap:wrap}
.lang{font-family:var(--mono);font-size:.85rem;border:1px solid var(--line);border-radius:999px;padding:6px 14px}

/* Contact */
.contact{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(24px,5vw,44px);display:flex;flex-direction:column;gap:26px}
.contact h2{font-size:clamp(1.5rem,4vw,2.2rem)}
.rows{display:flex;flex-direction:column;gap:14px}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px}
.row:last-child{border-bottom:0;padding-bottom:0}
.row .v{font-family:var(--mono);font-size:.98rem;word-break:break-all;user-select:all}
.btn{font:inherit;font-family:var(--mono);font-size:.8rem;cursor:pointer;background:var(--fg);color:var(--bg);border:0;border-radius:6px;padding:8px 14px;text-decoration:none;white-space:nowrap}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}
.wa-block{display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap;padding:20px;border-radius:12px;background:color-mix(in srgb,var(--wa) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--wa) 30%,var(--line))}
.wa-num{margin:4px 0 0;font-family:var(--display);font-weight:700;font-size:clamp(1.3rem,4vw,1.8rem);font-variant-numeric:tabular-nums;user-select:all}
.wa-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-wa{display:inline-flex;align-items:center;gap:10px;background:var(--wa);color:#fff;text-decoration:none;font-weight:600;padding:12px 18px;border-radius:999px;transition:background .15s}
.btn-wa:hover{background:var(--wa-dark)}
.wa-float{position:fixed;right:18px;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);z-index:50;width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(20,24,43,.22);transition:transform .15s,background .15s}
.wa-float:hover{transform:scale(1.06);background:var(--wa-dark)}
footer{font-family:var(--mono);font-size:.78rem;color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

@media (max-width:600px){
  .log li{grid-template-columns:1fr}
  .intro{grid-template-columns:1fr;gap:28px}
  .portrait{order:-1;width:min(220px,60%)}
  .gallery{grid-template-columns:1fr}
  .gallery .g-wide{grid-row:auto}
  .wrap{gap:64px;padding-block:28px 48px}
}
@media (prefers-reduced-motion:reduce){.onair i{animation:none}}
