/* V177 — consolidated mobile layer.
   One source of truth for phone/tablet layouts and mobile interaction surfaces.
   Replaces the previous mobile versions instead of layering on top of them. */

.mobile-radial-nav,
.mobile-radial-trigger-host,
.reader-portrait-guard,
.library-enter-overlay,
.mobile-immersive-prompt{display:none}

@media (max-width:950px), (max-width:1100px) and (hover:none) and (pointer:coarse){
  :root{
    --mobile-safe-top:env(safe-area-inset-top,0px);
    --mobile-safe-bottom:env(safe-area-inset-bottom,0px);
    --mobile-vh:100vh;
  }
  @supports(height:100dvh){:root{--mobile-vh:100dvh}}

  /* Central scroll lock. Page modules request/release this through mobile-core-v177.js. */
  html.mobile-scroll-locked,
  body.mobile-scroll-locked{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }

  /* ---------- shared mobile header ---------- */
  .header{
    z-index:5600!important;
    height:44px!important;
    min-height:44px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .header::before,.header::after{display:none!important}
  .safe.header-grid,.header-grid{
    height:44px!important;
    min-height:44px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    column-gap:8px!important;
  }
  .header .nav{display:none!important}
  .brand,.brand-window{width:80px!important;min-width:80px!important;height:29px!important}
  .brand>img,.brand-window>img,.brand img{width:80px!important;max-width:80px!important;height:29px!important}
  .header-actions{gap:4px!important}
  .header-actions .language-dot{display:none!important}
  .header-actions .language-button,
  .header-actions .nav-download-button{
    height:27px!important;
    min-height:27px!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.025)!important;
    border-color:rgba(255,255,255,.075)!important;
    box-shadow:none!important;
    backdrop-filter:blur(8px) saturate(.95)!important;
    -webkit-backdrop-filter:blur(8px) saturate(.95)!important;
  }
  .header-actions .language-button{
    width:47px!important;min-width:47px!important;padding:0 6px!important;font-size:9.5px!important
  }
  .header-actions .nav-download-button{
    position:relative;width:36px!important;min-width:36px!important;padding:0 4px!important;gap:2px!important;font-size:8.5px!important
  }
  .header-actions .nav-download-button>span{display:none!important}
  .header-actions .nav-download-button::before{content:"CV";font-size:8.5px;font-weight:750;letter-spacing:.06em}
  .header-actions .nav-download-button>b{font-size:10px!important}

  /* ---------- top-centre radial navigation ---------- */
  .mobile-radial-nav{
    display:block;
    position:fixed;
    inset:0;
    z-index:18000;
    pointer-events:none;
    font-family:Inter,Arial,Helvetica,sans-serif;
  }
  .mobile-radial-scrim{
    position:absolute;inset:0;
    background:rgba(1,8,13,.10);
    backdrop-filter:blur(1.5px);
    -webkit-backdrop-filter:blur(1.5px);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .28s ease,visibility 0s linear .30s;
  }
  .mobile-radial-nav.is-open .mobile-radial-scrim{
    opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;
  }
  .mobile-radial-panel{
    position:absolute;top:0;left:50%;
    width:min(76vw,350px);
    height:clamp(146px,39vw,174px);
    overflow:hidden;pointer-events:none;isolation:isolate;
    border:1px solid rgba(255,255,255,.15);border-top:0;
    border-radius:0 0 50% 50% / 0 0 100% 100%;
    background:
      radial-gradient(ellipse at 50% -10%,rgba(255,255,255,.13),transparent 48%),
      linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025) 58%,rgba(12,14,16,.10));
    box-shadow:0 22px 52px rgba(0,0,0,.18),inset 0 -1px 0 rgba(255,255,255,.055);
    backdrop-filter:blur(24px) saturate(.88);
    -webkit-backdrop-filter:blur(24px) saturate(.88);
    transform:translate3d(-50%,-104%,0) scaleY(.58);
    transform-origin:50% 0;
    opacity:.12;visibility:hidden;
    transition:transform .48s cubic-bezier(.16,1,.3,1),opacity .28s ease,visibility 0s linear .50s;
  }
  .mobile-radial-nav.is-open .mobile-radial-panel{
    transform:translate3d(-50%,0,0) scaleY(1);
    opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;
  }
  .mobile-radial-nav.is-closing .mobile-radial-panel{
    transform:translate3d(-50%,-104%,0) scaleY(.56);opacity:.10;
  }
  .mobile-radial-panel::before{
    content:"";position:absolute;left:8%;right:8%;bottom:6%;height:68%;
    border-bottom:1px solid rgba(255,255,255,.16);
    border-radius:0 0 50% 50% / 0 0 100% 100%;pointer-events:none;
  }
  .mobile-radial-panel::after{
    content:"";position:absolute;left:50%;bottom:9%;width:4px;height:4px;border-radius:50%;
    background:rgba(255,255,255,.66);box-shadow:0 0 12px rgba(255,255,255,.20);
    transform:translateX(-50%);pointer-events:none;
  }
  .mobile-radial-track{position:absolute;inset:0;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
  .mobile-radial-track.is-dragging{cursor:grabbing}
  .mobile-radial-item{
    position:absolute;left:var(--x,50%);top:var(--y,50%);z-index:3;
    width:max-content;max-width:29vw;min-height:32px;margin:0;padding:5px 7px;
    border:0;background:transparent;color:rgba(255,255,255,var(--alpha,.58));
    font:600 clamp(9px,2.55vw,12px)/1.12 Inter,Arial,Helvetica,sans-serif;
    letter-spacing:.04em;text-align:center;white-space:normal;cursor:pointer;
    transform:translate(-50%,-50%) scale(var(--scale,.78));transform-origin:center;
    opacity:var(--opacity,.65);filter:blur(var(--blur,0px));
    transition:color .18s ease,text-shadow .18s ease,opacity .18s ease,filter .18s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-radial-nav.is-snapping .mobile-radial-item{
    transition:left .29s cubic-bezier(.16,1,.3,1),top .29s cubic-bezier(.16,1,.3,1),transform .29s cubic-bezier(.16,1,.3,1),color .18s ease,text-shadow .18s ease,opacity .18s ease,filter .18s ease;
  }
  .mobile-radial-item.is-active{
    color:rgba(255,255,255,.96);text-shadow:0 0 22px rgba(255,255,255,.27);
    font-size:clamp(12px,3.25vw,15px);font-weight:720;letter-spacing:.055em;
  }
  .mobile-radial-item.is-active::after{
    content:"";position:absolute;left:22%;right:22%;bottom:1px;height:1px;
    background:rgba(255,255,255,.60);box-shadow:0 0 10px rgba(255,255,255,.18);
  }
  .mobile-radial-instruction{
    position:absolute;left:50%;top:23%;z-index:2;transform:translateX(-50%);
    color:rgba(255,255,255,.42);font-size:7.5px;letter-spacing:.16em;white-space:nowrap;text-transform:uppercase;pointer-events:none;
  }
  .mobile-radial-trigger-host{
    display:block;position:fixed;left:50%;top:var(--mobile-safe-top);z-index:18500;
    width:58px;height:48px;transform:translateX(-50%);pointer-events:auto;
    touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  }
  .mobile-radial-trigger{
    position:absolute;inset:0;z-index:1;
    width:58px;height:48px;padding:0;
    display:grid;place-items:start center;pointer-events:auto;
    border:0;border-radius:0;background:transparent;color:rgba(255,255,255,.74);box-shadow:none;
    cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
    animation:mobileMenuBreathe 4.6s ease-in-out infinite;
  }
  .mobile-radial-trigger::before{
    content:"";position:absolute;left:50%;top:0;width:28px;height:12px;transform:translateX(-50%);
    border:1px solid rgba(255,255,255,.17);border-top:0;border-radius:0 0 10px 10px;
    background:rgba(255,255,255,.045);box-shadow:0 4px 15px rgba(0,0,0,.10),inset 0 -1px 0 rgba(255,255,255,.04);
    backdrop-filter:blur(12px) saturate(.85);-webkit-backdrop-filter:blur(12px) saturate(.85);
  }
  .mobile-radial-trigger-label{
    position:absolute;left:50%;top:16px;transform:translateX(-50%);
    font-size:7px;font-weight:730;letter-spacing:.14em;line-height:1;color:rgba(255,255,255,.58);
    opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .24s ease,transform .28s ease;
  }
  .mobile-nav-hinting:not(.is-open) .mobile-radial-trigger-label{opacity:.66;transform:translateX(-50%) translateY(1px)}
  .mobile-radial-trigger-arrow{
    position:absolute;left:50%;top:2px;width:5px;height:5px;
    border-right:1.2px solid rgba(255,255,255,.70);border-bottom:1.2px solid rgba(255,255,255,.70);
    transform:translateX(-50%) rotate(45deg);transition:transform .30s cubic-bezier(.16,1,.3,1),top .30s ease;
  }
  .mobile-radial-trigger-host.is-open .mobile-radial-trigger{animation:none}
  .mobile-radial-trigger-host.is-open .mobile-radial-trigger::before{background:rgba(255,255,255,.055)}
  .mobile-radial-trigger-host.is-open .mobile-radial-trigger-arrow{top:4px;transform:translateX(-50%) rotate(225deg)}
  .mobile-radial-trigger-host.is-closing .mobile-radial-trigger{opacity:.88}
  @keyframes mobileMenuBreathe{0%,74%,100%{transform:translateY(0)}84%{transform:translateY(1.5px)}92%{transform:translateY(0)}}

  /* Hide the global nav handle while another immersive surface owns the screen. */
  body.home-management-mobile-focus .mobile-radial-nav,
  body.home-management-mobile-focus .mobile-radial-trigger-host,
  body.management-mobile-focus .mobile-radial-nav,
  body.management-mobile-focus .mobile-radial-trigger-host,
  body.home-mubu-preview-lock .mobile-radial-nav,
  body.home-mubu-preview-lock .mobile-radial-trigger-host,
  body.home-photo-mobile-open .mobile-radial-nav,
  body.home-photo-mobile-open .mobile-radial-trigger-host,
  body.home-3d-mobile-fullscreen .mobile-radial-nav,
  body.home-3d-mobile-fullscreen .mobile-radial-trigger-host,
  body.work-3d-mobile-fullscreen .mobile-radial-nav,
  body.work-3d-mobile-fullscreen .mobile-radial-trigger-host,
  body.html-reader-open .mobile-radial-nav,
  body.html-reader-open .mobile-radial-trigger-host{opacity:0;pointer-events:none}

  /* ---------- shared floating contact ---------- */
  .whatsapp-float{
    width:50px!important;height:50px!important;min-width:50px!important;padding:0!important;border-radius:50%!important;
    display:grid!important;place-items:center!important;right:14px!important;bottom:calc(14px + var(--mobile-safe-bottom))!important;
  }
  .whatsapp-float>span:last-child{display:none!important}
  .whatsapp-float-icon{margin:0!important}

  /* ---------- mobile reader: screen = page ---------- */
  .html-reader-overlay{z-index:23000!important;padding:0!important;background:#0f1720!important}
  .html-reader-shell{
    width:100vw!important;height:var(--mobile-vh)!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    background:#0f1720!important;grid-template-rows:1fr!important;overflow:hidden!important;
  }
  .html-reader-toolbar{
    position:absolute!important;z-index:10!important;top:calc(10px + var(--mobile-safe-top));right:10px!important;left:auto!important;
    width:auto!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;pointer-events:none!important;
  }
  .html-reader-toolbar h1{display:none!important}
  .html-reader-close{
    width:42px!important;height:42px!important;pointer-events:auto!important;
    border:1px solid rgba(255,255,255,.18)!important;background:rgba(7,17,24,.34)!important;
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:25px!important;opacity:.72;
  }
  .html-reader-frame{position:absolute!important;inset:0!important;width:100vw!important;height:var(--mobile-vh)!important;border:0!important;background:#0f1720!important}
  .html-reader-loading{inset:0!important;background:#0f1720!important;color:rgba(255,255,255,.72)!important}

  /* ---------- Work / Management sphere ---------- */
  .management-field-grid{display:block!important;min-height:0!important}
  .management-sphere-panel{
    height:min(78svh,680px)!important;min-height:540px!important;border-right:0!important;border-bottom:0!important;
    transition:filter .48s ease,opacity .48s ease,transform .52s cubic-bezier(.16,1,.3,1)!important;
  }
  .management-sphere-wrap{inset:112px 0 0!important}
  .management-sphere{
    width:min(88vw,430px)!important;height:min(88vw,430px)!important;max-width:none!important;max-height:none!important;
    transition:transform .56s cubic-bezier(.16,1,.3,1),opacity .40s ease!important;
  }
  .management-sphere-word{font-size:clamp(10px,2.75vw,12px)!important;padding:5px 4px!important}
  .management-insight-panel{display:none!important}
  .management-field-stage.is-mobile-concept-open .management-sphere{transform:scale(.86)!important;opacity:0!important;filter:none!important}
  /* Hide the whole sphere panel while the extracted concept is open.
     This guarantees no sphere word/heading compositor layer can show through
     behind the full-screen concept panel on Android browsers. */
  .management-field-stage.is-mobile-concept-open .management-sphere-panel{
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  }
  .management-field-stage.is-mobile-concept-open .management-sphere-heading,
  .management-field-stage.is-mobile-concept-open .management-sphere-hint{opacity:0!important;transition:opacity .26s ease!important}
  .management-field-stage.is-mobile-concept-open .management-sphere-wrap{pointer-events:none!important}
  body>.management-insight-panel.is-mobile-focus-layer{
    display:flex!important;position:fixed!important;inset:0!important;z-index:20000!important;
    width:100vw!important;height:var(--mobile-vh)!important;min-height:0!important;
    padding:calc(66px + var(--mobile-safe-top)) 22px calc(28px + var(--mobile-safe-bottom))!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;
    background:linear-gradient(180deg,rgba(4,14,22,.58),rgba(4,14,22,.77) 42%,rgba(4,14,22,.91) 100%)!important;
    backdrop-filter:blur(.7px);-webkit-backdrop-filter:blur(.7px);
    opacity:0;transform:translateY(18px);pointer-events:none;
    transition:opacity .34s ease,transform .46s cubic-bezier(.16,1,.3,1)!important;
  }
  body>.management-insight-panel.is-mobile-focus-layer.is-mobile-focus-visible{opacity:1;transform:none;pointer-events:auto}
  body>.management-insight-panel.is-mobile-focus-layer.is-mobile-focus-closing{opacity:0;transform:translateY(14px);pointer-events:none}
  .management-mobile-close{
    position:fixed;top:calc(12px + var(--mobile-safe-top));right:14px;z-index:2;width:42px;height:42px;
    display:grid;place-items:center;margin:0;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;
    background:rgba(7,17,24,.30);color:#fff;font:300 28px/1 Arial,sans-serif;cursor:pointer;
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);-webkit-tap-highlight-color:transparent;
  }
  body>.management-insight-panel.is-mobile-focus-layer .management-insight-kicker{padding-right:52px}
  body>.management-insight-panel.is-mobile-focus-layer .management-concept-name{margin-top:18px;font-size:clamp(18px,5vw,24px);animation:mobileConceptExtract .50s cubic-bezier(.16,1,.3,1) both}
  body>.management-insight-panel.is-mobile-focus-layer .management-concept-title{min-height:0!important;font-size:clamp(30px,8vw,42px)!important;line-height:1.02!important}
  body>.management-insight-panel.is-mobile-focus-layer .management-position{font-size:clamp(16px,4.2vw,18px)!important;line-height:1.72!important}
  body>.management-insight-panel.is-mobile-focus-layer .management-signals{margin-top:28px!important;padding-top:18px!important}
  body>.management-insight-panel.is-mobile-focus-layer .management-signal-item{font-size:14px!important;line-height:1.58!important;padding:12px 0!important}
  body>.management-insight-panel.is-mobile-focus-layer .management-audio{margin-top:22px}
  @keyframes mobileConceptExtract{0%{opacity:0;transform:translateY(18vh) scale(1.08);letter-spacing:.16em}100%{opacity:1;transform:none;letter-spacing:.08em}}

  /* ---------- Home Management concept extraction ---------- */
  .home-management-concept{pointer-events:auto!important;cursor:pointer;touch-action:manipulation;padding:7px 8px!important;-webkit-tap-highlight-color:transparent}
  .home-management-field-instruction{max-width:310px!important}
  .home-management-concept-overlay{
    position:fixed;inset:0;z-index:20050;display:flex;flex-direction:column;justify-content:center;
    width:100vw;height:var(--mobile-vh);padding:calc(66px + var(--mobile-safe-top)) 24px calc(34px + var(--mobile-safe-bottom));
    background:linear-gradient(180deg,rgba(4,14,22,.91),rgba(4,14,22,.98));color:#fff;
    opacity:0;transform:translateY(16px);pointer-events:none;
    transition:opacity .32s ease,transform .46s cubic-bezier(.16,1,.3,1);
  }
  .home-management-concept-overlay.is-open{opacity:1;transform:none;pointer-events:auto}
  .home-management-concept-overlay-close{
    position:fixed;top:calc(12px + var(--mobile-safe-top));right:14px;width:42px;height:42px;border-radius:50%;
    border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035);color:#fff;
    font:300 28px/1 Arial,sans-serif;display:grid;place-items:center;z-index:2;
  }
  .home-management-concept-overlay-kicker{margin:0 0 16px;font-size:10px;font-weight:700;letter-spacing:.22em;color:rgba(255,255,255,.47);text-transform:uppercase}
  .home-management-concept-overlay-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,15vw,76px);font-weight:400;line-height:.96;letter-spacing:-.04em}
  .home-management-concept-overlay-rule{width:52px;height:1px;margin:28px 0 24px;background:rgba(239,140,80,.86)}
  .home-management-concept-overlay-copy{max-width:680px;margin:0;font-size:clamp(17px,4.7vw,21px);line-height:1.72;color:rgba(255,255,255,.78)}

  /* ---------- Home photography: one frame at a time ---------- */
  .home-mubu-preview{z-index:21000!important;overscroll-behavior:none!important;user-select:none!important;-webkit-user-select:none!important}
  .home-mubu-preview:not(.is-open),.home-mubu-preview:not(.is-open) *{pointer-events:none!important}
  .home-mubu-preview.is-open{pointer-events:auto!important}
  .home-mubu-preview-stage{
    position:relative!important;display:block!important;width:100vw!important;height:var(--mobile-vh)!important;
    padding:calc(50px + var(--mobile-safe-top)) 12px calc(18px + var(--mobile-safe-bottom))!important;
    overflow:hidden!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;
  }
  .home-mubu-preview-frame{
    position:absolute!important;inset:calc(50px + var(--mobile-safe-top)) 12px calc(18px + var(--mobile-safe-bottom)) 12px!important;
    width:auto!important;height:auto!important;aspect-ratio:auto!important;margin:0!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;
    border:0!important;box-shadow:none!important;overflow:hidden!important;background:transparent!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:1!important;
    transform:translate3d(0,0,0)!important;filter:none!important;
    transition:opacity .20s ease,transform .20s cubic-bezier(.16,1,.3,1)!important;
    will-change:opacity,transform!important;
  }
  .home-mubu-preview-frame.is-mobile-current{opacity:1!important;visibility:visible!important;pointer-events:none!important;z-index:3!important}
  .home-mubu-preview.is-open .home-mubu-preview-frame.is-mobile-current{pointer-events:auto!important}
  .home-mubu-preview-frame.is-mobile-dragging{transition:none!important}
  .home-mubu-preview-frame img{
    flex:1 1 auto!important;min-height:0!important;width:100%!important;height:auto!important;max-height:100%!important;
    object-fit:contain!important;object-position:center!important;background:transparent!important;
    transform:none!important;pointer-events:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-user-drag:none!important;
    transition:max-height .25s ease!important;
  }
  .home-photo-info{
    position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    flex:0 0 auto!important;width:100%!important;max-width:none!important;max-height:0!important;overflow:hidden!important;
    margin:0!important;padding:0 4px!important;border:0!important;border-radius:0!important;
    background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    opacity:0!important;visibility:hidden!important;transform:none!important;pointer-events:none!important;
    font-size:11px!important;line-height:1.52!important;color:rgba(255,255,255,.78)!important;
    transition:max-height .22s ease,opacity .18s ease,padding .22s ease!important;
  }
  .home-mubu-preview.is-mobile-info-peek .home-mubu-preview-frame.is-mobile-current img{max-height:74%!important}
  .home-mubu-preview.is-mobile-info-peek .home-mubu-preview-frame.is-mobile-current .home-photo-info{
    max-height:190px!important;opacity:1!important;visibility:visible!important;padding:13px 4px 0!important;
  }
  .home-mubu-preview-close{
    z-index:120!important;width:44px!important;height:44px!important;right:12px!important;top:calc(8px + var(--mobile-safe-top))!important;
    pointer-events:auto!important;touch-action:manipulation!important;isolation:isolate!important;-webkit-tap-highlight-color:transparent!important;
  }
  .home-photo-mobile-pager{
    position:fixed;z-index:90;left:50%;bottom:calc(9px + var(--mobile-safe-bottom));transform:translateX(-50%);
    display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;
    background:rgba(5,14,20,.26);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;
  }
  .home-photo-mobile-pager-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.34);transition:transform .18s ease,background .18s ease}
  .home-photo-mobile-pager-dot.is-active{background:#fff;transform:scale(1.45)}
  .home-photo-mobile-controls{position:fixed;inset:0;z-index:100;pointer-events:none}
  .home-photo-mobile-step{
    position:absolute;top:50%;transform:translateY(-50%);width:46px;height:70px;
    border:0;background:transparent;color:rgba(255,255,255,.62);font:300 42px/1 Arial,sans-serif;
    display:grid;place-items:center;pointer-events:auto;touch-action:manipulation;text-shadow:0 2px 18px rgba(0,0,0,.48);-webkit-tap-highlight-color:transparent;
  }
  .home-photo-mobile-prev{left:2px}.home-photo-mobile-next{right:2px}
  .home-photo-mobile-step:active{color:#fff;transform:translateY(-50%) scale(.92)}

  /* ---------- Home / Work 3D fullscreen ---------- */
  body.home-3d-mobile-fullscreen,
  body.work-3d-mobile-fullscreen{overflow:hidden!important;overscroll-behavior:none!important}
  .home-3d-mobile-fullscreen-button{
    position:absolute;z-index:9;left:10px;top:10px;width:42px;height:42px;border-radius:50%;
    border:1px solid rgba(255,255,255,.18);background:rgba(6,17,24,.48);color:#fff;
    display:grid;place-items:center;font-size:18px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  }
  .home-3d-mobile-fullscreen-button::before{content:"⛶"}
  .home-3d-model-stage.is-mobile-fullscreen,
  body.home-3d-mobile-fullscreen .home-3d-model-stage{
    position:fixed!important;inset:0!important;z-index:22000!important;width:100vw!important;height:var(--mobile-vh)!important;
    aspect-ratio:auto!important;margin:0!important;opacity:1!important;transform:none!important;filter:none!important;background:#071018!important;
  }
  .home-3d-model-stage.is-mobile-fullscreen .home-3d-model-shell,
  body.home-3d-mobile-fullscreen .home-3d-model-shell{inset:0!important;border:0!important;border-radius:0!important;transform:none!important}
  .home-3d-model-stage.is-mobile-fullscreen .home-3d-iframe,
  body.home-3d-mobile-fullscreen .home-3d-iframe{pointer-events:auto!important}
  .home-3d-model-stage.is-mobile-fullscreen .home-3d-interaction-shield,
  body.home-3d-mobile-fullscreen .home-3d-interaction-shield{display:none!important}
  .home-3d-mobile-fullscreen-close,
  .work-3d-mobile-close{
    position:fixed;z-index:22040;right:calc(12px + env(safe-area-inset-right,0px));top:calc(10px + var(--mobile-safe-top));
    width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.20);background:rgba(6,13,18,.42);color:#fff;
    display:none;place-items:center;font:300 28px/1 Arial,sans-serif;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  }
  body.home-3d-mobile-fullscreen .home-3d-mobile-fullscreen-close,
  .home-3d-model-stage.is-mobile-fullscreen .home-3d-mobile-fullscreen-close,
  body.work-3d-mobile-fullscreen .work-3d-mobile-close,
  .model-embed.is-mobile-fullscreen .work-3d-mobile-close{display:grid}
  .home-3d-mobile-rotate-hint,
  .work-3d-mobile-rotate-hint{
    display:none;position:fixed;inset:0;z-index:22030;place-items:center;padding:30px;text-align:center;
    background:rgba(4,14,22,.68);color:rgba(255,255,255,.88);font-size:11px;letter-spacing:.13em;text-transform:uppercase;pointer-events:none;
  }
  .model-embed.is-mobile-fullscreen,
  body.work-3d-mobile-fullscreen .model-embed{
    position:fixed!important;inset:0!important;z-index:22000!important;width:100vw!important;height:var(--mobile-vh)!important;
    max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;background:#05090d!important;transform:none!important;
  }
  .model-embed.is-mobile-fullscreen .model-embed-frame,
  body.work-3d-mobile-fullscreen .model-embed-frame{width:100%!important;height:100%!important;min-height:100%!important;opacity:1!important}
  .model-embed.is-mobile-fullscreen .model-embed-placeholder{display:none!important}

  /* ---------- unified three-book mobile shelf ----------
     Writing and My Work now share one physical shelf model.
     The desk image is cropped inside a fixed window; its transparent top can no
     longer create a visual gap between book bottoms and the shelf surface. ---------- */
  .writing-library-zone .library-section{overflow:visible!important}
  .writing-library-zone .library-heading{margin-bottom:20px!important}
  .book-showcase-stage,
  .work-writing-shelf-scene{
    --mobile-shelf-width:90%;
    --mobile-shelf-books-width:88%;
    --mobile-desk-shift:-40%;
    --mobile-desk-window:clamp(58px,16vw,76px);
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    min-height:0!important;
    height:auto!important;
    padding:8px 0 22px!important;
    overflow:hidden!important;
  }
  .book-showcase-row,
  .work-writing-books{
    position:relative!important;
    z-index:3!important;
    order:1!important;
    width:var(--mobile-shelf-books-width)!important;
    max-width:420px!important;
    margin:0 auto -1px!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:end!important;
    padding:0!important;
    transform:none!important;
  }
  .book-showcase-row .book-card:nth-child(n+4),
  .work-writing-books .work-shelf-book:nth-child(n+4){display:none!important}
  .book-showcase-row .book-visual,
  .work-shelf-book-visual{width:min(100%,100px)!important}
  .book-showcase-row .book-card,
  .work-writing-books .work-shelf-book{align-self:end!important;margin:0!important}

  /* Both pages now use the same cropped desk window. */
  .book-showcase-stage .book-desk-wrap,
  .work-writing-desk-wrap{
    position:relative!important;
    z-index:2!important;
    order:2!important;
    display:block!important;
    left:auto!important;right:auto!important;bottom:auto!important;
    width:var(--mobile-shelf-width)!important;
    height:var(--mobile-desk-window)!important;
    margin:0 auto!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  .book-showcase-stage .book-desk-wrap::before,
  .work-writing-desk-wrap::before{
    content:"";position:absolute;z-index:4;left:2%;right:2%;top:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.12) 16%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.12) 84%,transparent);
    pointer-events:none;
  }
  .book-showcase-stage .book-desk,
  .work-writing-desk{
    position:absolute!important;
    left:0!important;right:auto!important;top:0!important;bottom:auto!important;
    display:block!important;visibility:visible!important;
    width:100%!important;max-width:none!important;height:auto!important;
    margin:0!important;opacity:1!important;
    transform:translate3d(0,var(--mobile-desk-shift),0)!important;
    transform-origin:center top!important;
  }
  .work-writing-shelf-stage{--work-writing-pad:22px!important;--work-writing-trim:0px!important;padding-bottom:16px!important;overflow:visible!important}
  .work-writing-shelf-stage .section-heading{margin-bottom:20px!important;padding-inline:22px!important}
  .book-card::after,.work-shelf-book::after{
    position:absolute!important;left:16%!important;right:16%!important;bottom:-4px!important;
    width:auto!important;height:8px!important;margin:0!important;filter:blur(3px)!important;
  }
  .book-auto-title{font-size:clamp(6.4px,1.95vw,8.8px)!important;left:17%!important;right:5%!important;top:14.8%!important;min-height:23%!important;padding:0 2%!important;line-height:1.28!important;letter-spacing:.025em!important}
  .book-card:nth-child(3) .book-auto-title{top:16%!important}
  .library-heading p{font-size:0!important}
  .library-heading p::after{content:"Three selected volumes from the wider reading collection.";font-size:13px;line-height:1.6;color:rgba(255,255,255,.58)}
  html[lang^="zh"] .library-heading p::after{content:"从完整阅读系列中选择的三本作品。"}

  /* ---------- consistent mobile footer ---------- */
  .footer{padding:18px 0 calc(20px + var(--mobile-safe-bottom))!important}
  .footer-grid{display:grid!important;grid-template-columns:1fr!important;gap:11px!important;justify-items:center!important}
  .footer-copyright{justify-self:center!important;text-align:center!important;font-size:10.5px!important}
  .footer-socials{
    width:min(calc(100vw - 24px),390px)!important;max-width:390px!important;margin:0 auto!important;
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;align-items:center!important;justify-self:center!important;
  }
  .footer-socials .footer-link{width:100%!important;min-width:0!important;min-height:34px!important;padding:0 5px!important;font-size:9.5px!important;letter-spacing:0!important;white-space:nowrap!important}
  .footer-socials .footer-link-mail{grid-column:1/-1!important;width:auto!important;min-width:min(74vw,260px)!important;max-width:290px!important;justify-self:center!important;margin-top:3px!important;padding-inline:13px!important;font-size:10px!important}

  /* ---------- immersive prompt ---------- */
  .mobile-immersive-prompt{
    position:fixed;inset:0;z-index:29000;place-items:center;padding:24px;
    background:rgba(2,7,10,.36);backdrop-filter:blur(14px) saturate(.86);-webkit-backdrop-filter:blur(14px) saturate(.86);
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility 0s linear .22s;
  }
  .mobile-immersive-prompt.is-open{display:grid;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
  .mobile-immersive-card{
    width:min(88vw,390px);padding:25px 22px 20px;border:1px solid rgba(255,255,255,.17);border-radius:22px;
    background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),rgba(8,12,15,.42);
    box-shadow:0 24px 70px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.07);
    backdrop-filter:blur(26px) saturate(.90);-webkit-backdrop-filter:blur(26px) saturate(.90);text-align:left;color:#fff;
  }
  .mobile-immersive-card small{display:block;margin-bottom:10px;font-size:9px;font-weight:700;letter-spacing:.20em;color:rgba(255,255,255,.48)}
  .mobile-immersive-card h2{margin:0;font:400 clamp(30px,8.6vw,40px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
  .mobile-immersive-card p{margin:15px 0 20px;font-size:12.5px;line-height:1.66;color:rgba(255,255,255,.65)}
  .mobile-immersive-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mobile-immersive-actions button{min-height:43px;border-radius:999px;border:1px solid rgba(255,255,255,.15);font:650 10px/1 Inter,Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}
  .mobile-immersive-enter{background:rgba(255,255,255,.91);color:#101519}
  .mobile-immersive-skip{background:rgba(255,255,255,.035);color:rgba(255,255,255,.72)}

  /* ---------- All Reading full-screen library ---------- */
  .library-orientation-guard{display:none}
  .library-enter-overlay{
    position:fixed;inset:0;z-index:25000;place-items:center;padding:24px;
    background:radial-gradient(circle at 50% 45%,rgba(18,30,36,.45),rgba(3,8,11,.88) 72%);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#f3e8d6;text-align:center;
  }
  .library-enter-overlay.is-open{display:grid}
  .library-enter-card{width:min(86vw,360px);padding:26px 22px 22px;border:1px solid rgba(243,232,214,.16);border-radius:22px;background:rgba(255,255,255,.035);box-shadow:0 24px 62px rgba(0,0,0,.34)}
  .library-enter-card small{display:block;margin-bottom:11px;font-size:9px;letter-spacing:.20em;color:rgba(243,232,214,.46)}
  .library-enter-card strong{display:block;font:400 clamp(30px,8.5vw,40px)/1.02 Georgia,"Times New Roman",serif}
  .library-enter-card span{display:block;margin:12px 0 20px;font-size:10px;line-height:1.62;letter-spacing:.08em;color:rgba(243,232,214,.58)}
  .library-enter-card button{width:100%;min-height:44px;border:1px solid rgba(243,232,214,.24);border-radius:999px;background:rgba(243,232,214,.92);color:#11181d;font:700 10px/1 Inter,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
  .reader-portrait-guard{
    position:fixed;inset:0;z-index:24000;place-items:center;padding:32px;text-align:center;
    background:radial-gradient(circle at 50% 45%,rgba(18,42,55,.50),rgba(3,9,14,.92) 68%);color:#f3e8d6;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  }
  .reader-portrait-guard-inner{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:300px}
  .reader-portrait-guard-phone{width:42px;height:70px;border:1.5px solid rgba(243,232,214,.76);border-radius:9px;transform:rotate(90deg);animation:readerTurnPortrait 2.3s cubic-bezier(.16,1,.3,1) infinite}
  .reader-portrait-guard strong{font:400 clamp(26px,7vw,36px)/1.05 Georgia,"Times New Roman",serif}
  .reader-portrait-guard span{font-size:10px;line-height:1.6;letter-spacing:.10em;color:rgba(243,232,214,.62);text-transform:uppercase}
  @keyframes readerTurnPortrait{0%,24%{transform:rotate(90deg)}64%,88%,100%{transform:rotate(0deg)}}
}

@media (max-width:950px) and (orientation:portrait), (max-width:1100px) and (hover:none) and (pointer:coarse) and (orientation:portrait){
  body.library-session-entered:not(.html-reader-open) .library-orientation-guard{
    position:fixed;inset:0;z-index:24000;display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:32px;text-align:center;color:#f3e8d6;background:radial-gradient(circle at 50% 45%,rgba(18,42,55,.54),rgba(3,9,14,.86) 66%);
    backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  }
  body.html-reader-open .library-orientation-guard{display:none!important}
  .reading-room{min-width:0!important;min-height:var(--mobile-vh)!important;width:100vw!important;height:var(--mobile-vh)!important;overflow:hidden!important;place-items:center!important}
  .reading-room .library-stage{width:94vw!important;min-width:0!important;max-width:94vw!important;opacity:.20!important;filter:blur(8px) brightness(.62)!important;transform:scale(.90)!important;pointer-events:none!important}
  .library-orientation-phone{position:relative;width:42px;height:70px;margin-bottom:25px;border:1.5px solid rgba(243,232,214,.76);border-radius:9px;animation:libraryRotatePhone 2.5s cubic-bezier(.16,1,.3,1) infinite}
  .library-orientation-phone::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;border-radius:50%;background:rgba(243,232,214,.68);transform:translateX(-50%)}
  .library-orientation-guard strong{font:400 clamp(28px,8vw,38px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.02em}
  .library-orientation-guard span{max-width:290px;margin-top:12px;color:rgba(243,232,214,.62);font-size:11px;line-height:1.6;letter-spacing:.09em;text-transform:uppercase}
  @keyframes libraryRotatePhone{0%,22%{transform:rotate(0deg)}60%,86%,100%{transform:rotate(90deg)}}
}

@media (max-width:950px) and (orientation:landscape), (max-width:1100px) and (hover:none) and (pointer:coarse) and (orientation:landscape){
  .reading-room{width:100vw!important;height:var(--mobile-vh)!important;min-width:0!important;min-height:0!important;overflow:hidden!important;place-items:center!important}
  .reading-room .library-stage{width:min(100vw,calc(var(--mobile-vh) * 7088 / 3987))!important;min-width:0!important;max-width:none!important;height:auto!important}
  .book-detail-panel{display:none!important}
  .shelf-book{touch-action:manipulation}
  .library-back-hotspot{font-size:clamp(11px,2vw,16px)!important}
  body.html-reader-open .reader-portrait-guard{display:grid}
  body.home-3d-mobile-fullscreen .home-3d-mobile-rotate-hint,
  .home-3d-model-stage.is-mobile-fullscreen .home-3d-mobile-rotate-hint,
  body.work-3d-mobile-fullscreen .work-3d-mobile-rotate-hint,
  .model-embed.is-mobile-fullscreen .work-3d-mobile-rotate-hint{display:none}
}

@media (max-width:950px) and (orientation:portrait), (max-width:1100px) and (hover:none) and (pointer:coarse) and (orientation:portrait){
  body.home-3d-mobile-fullscreen .home-3d-mobile-rotate-hint,
  .home-3d-model-stage.is-mobile-fullscreen .home-3d-mobile-rotate-hint,
  body.work-3d-mobile-fullscreen .work-3d-mobile-rotate-hint,
  .model-embed.is-mobile-fullscreen .work-3d-mobile-rotate-hint{display:grid}
}

@media (max-width:420px){
  .brand,.brand-window{width:76px!important;min-width:76px!important}
  .brand>img,.brand-window>img,.brand img{width:76px!important;max-width:76px!important}
  .header-actions .language-button{width:44px!important;min-width:44px!important}
  .mobile-radial-panel{width:74vw!important}
  .book-showcase-stage,.work-writing-shelf-scene{--mobile-shelf-books-width:90%;--mobile-shelf-width:92%}
  .footer-socials{width:calc(100vw - 18px)!important;gap:4px!important}
  .footer-socials .footer-link{font-size:9px!important;padding-inline:3px!important}
}

@media (prefers-reduced-motion:reduce){
  .mobile-radial-trigger,.library-orientation-phone,.reader-portrait-guard-phone{animation:none!important}
  .mobile-radial-panel,.mobile-radial-item,.management-sphere,.management-insight-panel,.home-management-concept-overlay{transition-duration:.01ms!important}
}
