/* The quiet header retains verified mobile alignment and touch targets. */
header .brand{flex:none;white-space:nowrap}
@media(min-width:701px) and (max-width:1100px){body:not([data-page=fireside]) header>nav{display:none}}
@media(max-width:700px){
  body:not([data-page=fireside]) header{padding-inline:25px;gap:10px}
  body:not([data-page=fireside]) .header-actions{gap:13px;flex:none;font-size:10px}
  .header-actions .language,.header-actions .menu-toggle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .header-actions .menu-toggle{gap:9px;white-space:nowrap}
  .masthead>.brand{grid-column:1;grid-row:1}
  .masthead .room-language{min-width:44px;justify-content:center}
}
@media(max-width:360px){
  body:not([data-page=fireside]) header{gap:6px}
  header .brand{gap:7px}
  header .brand img{width:28px;height:30px}
  header .brand span{font-size:17px;letter-spacing:.12em}
  body:not([data-page=fireside]) .header-actions{gap:9px;font-size:9px}
  .header-actions .menu-toggle{gap:6px}
  .masthead .room-actions{gap:10px}
}

/* Native link in reserved space; float only when the corner is clear. */
.campfire-dock{position:relative;min-height:calc(88px + env(safe-area-inset-bottom,0px));isolation:isolate}
.campfire-entry{position:absolute;right:calc(22px + env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));width:48px;height:48px;display:flex;align-items:center;justify-content:center;z-index:22;padding:0;border:0;background:none;color:#efb46b;isolation:isolate}
.campfire-entry[data-placement=floating]{position:fixed}
.night-hero .hero-bottom{padding-right:max(var(--gutter),calc(86px + env(safe-area-inset-right,0px)))}
.campfire-entry:before{content:'';position:absolute;width:60px;height:60px;left:-6px;top:-6px;border-radius:50%;z-index:-1;pointer-events:none;background:radial-gradient(circle,#f6ae5347 0,#ef8b2319 36%,transparent 71%);animation:campfire-warmth 2.1s ease-in-out infinite}
.campfire-entry>svg{display:block;width:34px;height:34px;max-width:none;overflow:visible}
.campfire-entry:focus-visible{outline:1px solid #d3ad73;outline-offset:2px;border-radius:50%}
.light-entering .campfire-entry{visibility:hidden}
@keyframes campfire-warmth{0%,100%{opacity:.48;transform:scale(.9)}43%{opacity:.88;transform:scale(1.12)}71%{opacity:.62;transform:scale(.98)}}
@keyframes campfire-flame{0%,100%{opacity:.88}48%{opacity:1}72%{opacity:.94}}
.motion-off .campfire-entry:before,.motion-off .campfire-entry>img,.motion-paused .campfire-entry:before,.motion-paused .campfire-entry>img{animation:none}
@media(max-width:700px){.campfire-entry{right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px))}.night-hero .hero-bottom{padding-right:calc(86px + env(safe-area-inset-right,0px))}}
@media(prefers-reduced-motion:reduce){.campfire-entry:before,.campfire-entry>img{animation:none}}
@media print{.campfire-dock{display:none}}


/* Local flame movement: timber does not move. */
.campfire-flame-outer,.campfire-flame-core{transform-box:fill-box;transform-origin:50% 100%}
.campfire-flame-outer{animation:fire-outer 1.13s ease-in-out infinite alternate}
.campfire-flame-core{animation:fire-core .73s ease-in-out infinite alternate}
.campfire-spark{animation:fire-spark 2.7s ease-out infinite;transform-box:fill-box}
.campfire-spark-b{animation-delay:-1.3s;animation-duration:3.2s}.campfire-spark-c{animation-delay:-.6s;animation-duration:2.1s}
@keyframes fire-outer{0%{transform:scale(.94,.85) skewX(-4deg)}38%{transform:scale(1.05,1.06) skewX(3deg)}74%{transform:scale(.98,.93) skewX(-1deg)}100%{transform:scale(.91,1.12) skewX(4deg)}}
@keyframes fire-core{0%{transform:scale(1.07,.83);opacity:.8}65%{transform:scale(.88,1.14);opacity:1}100%{transform:scale(1,.96);opacity:.9}}
@keyframes fire-spark{0%,15%{opacity:0;transform:translate(0,3px)}28%{opacity:.9}100%{opacity:0;transform:translate(3px,-11px)}}
.campfire-entry[data-scene-active=false] *,.campfire-entry[data-scene-active=false]:before,
.motion-off .campfire-entry *,.motion-off .campfire-entry:before,.motion-paused .campfire-entry *,.motion-paused .campfire-entry:before,
[data-scene-visibility=hidden] .campfire-entry *,[data-scene-visibility=hidden] .campfire-entry:before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.campfire-entry *,.campfire-entry:before{animation:none!important}}
