:root{
  --bg:#041018;
  --text:#f5f1ea;
  --muted:rgba(245,241,234,.64);
  --line:rgba(255,255,255,.12);
  --accent:#ef8c50;
  --safe:min(1680px,calc(100vw - clamp(42px,5vw,94px)));
}

*{box-sizing:border-box}
html,body{margin:0;width:100%;min-height:100%;background:var(--bg)}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.safe{width:var(--safe);margin:0 auto}

/* =========================
   PAGE INTRO / NAV TRANSITION
   Black → transparent PNG logo grows modestly → dark veil fades into the site.
   No full-screen white flash.
   ========================= */
html{scrollbar-gutter:stable}
html.page-transition-lock,
body.page-transition-lock{
  overscroll-behavior:none;
}
body.page-transition-lock{
  touch-action:none;
}
.page-transition{
  position:fixed;
  inset:0;
  z-index:9999;
  overflow:hidden;
  pointer-events:auto;
  opacity:1;
  visibility:visible;
  background:transparent;
  isolation:isolate;
}
.page-transition.is-idle{
  pointer-events:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
.page-transition-black{
  position:absolute;
  inset:0;
  z-index:1;
  background:#000;
  opacity:1;
  will-change:opacity;
}
.page-transition-name{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  width:clamp(150px,26vw,440px);
  margin:0;
  opacity:0;
  transform:translate(-50%,-50%) scale(.08);
  transform-origin:center center;
  will-change:transform,opacity;
  filter:none;
}
.page-transition-logo{
  display:block;
  width:100%;
  height:auto;
  background:transparent;
  filter:none;
  mix-blend-mode:normal;
  image-rendering:auto;
  -webkit-user-drag:none;
  user-select:none;
}

.site{position:relative;isolation:isolate;width:100%;min-height:100vh;background:transparent}

/* Fixed site-wide background. It never moves with wheel/scroll. */
.fixed-bg{
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:url("https://assets.wenhaozhang.cn/loneeast/HTML-SC/BJ/SY.png") center center / cover no-repeat;
  filter:brightness(.92) saturate(1.16) contrast(1.04);
  transform:translateZ(0);
}
.fixed-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,16,24,.74) 0%,rgba(4,16,24,.48) 35%,rgba(4,16,24,.16) 68%,rgba(4,16,24,.06) 100%),
    linear-gradient(180deg,rgba(4,16,24,.08),rgba(4,16,24,.20) 52%,rgba(4,16,24,.58));
}

/* HERO — full viewport. Only the central text/action group is centered. */
.hero{
  position:relative;
  height:100vh;
  min-height:680px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,16,24,.70) 0%,rgba(4,16,24,.52) 25%,rgba(4,16,24,.20) 48%,transparent 74%),
    linear-gradient(0deg,rgba(4,16,24,.24),transparent 40%);
}

.header{position:absolute;z-index:20;inset:0 0 auto;height:9.2vh}
.header-grid{height:100%;display:grid;grid-template-columns:190px 1fr auto;gap:20px;align-items:center}
.brand{display:flex;align-items:center;width:210px;height:60px;overflow:visible;justify-self:start}
.header-actions{justify-self:end;display:flex;align-items:center}
.brand-window{display:block;width:205px;height:56px;overflow:visible;position:relative}
.brand img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center;transform:none;filter:drop-shadow(0 2px 12px rgba(0,0,0,.20))}

.nav{
  --nav-x:50%;
  position:relative;
  justify-self:center;
  display:flex;
  gap:clamp(12px,1.55vw,26px);
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(4,16,24,.12);
  box-shadow:0 8px 30px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(14px) saturate(1.08);
  -webkit-backdrop-filter:blur(14px) saturate(1.08);
  isolation:isolate;
  transition:border-color .35s ease,background .35s ease,box-shadow .35s ease;
}
.nav::before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(125px circle at var(--nav-x) 50%,rgba(255,255,255,.13),transparent 70%);opacity:.45;transition:opacity .35s ease}
.nav:hover{border-color:rgba(255,255,255,.16);background:rgba(5,18,27,.24);box-shadow:0 12px 34px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.07)}
.nav:hover::before{opacity:.95}
.nav a{position:relative;z-index:1;padding:8px 13px;border-radius:999px;font-size:clamp(14px,1.05vw,19px);line-height:1;color:rgba(255,255,255,.78);transition:color .28s ease,background .28s ease,transform .42s cubic-bezier(.2,.8,.2,1),text-shadow .28s ease}
.nav a:hover{color:#fff;background:rgba(255,255,255,.075);transform:translateY(-1px) scale(1.035);text-shadow:0 0 18px rgba(255,255,255,.20)}
.nav a.active{color:#fff;background:rgba(255,255,255,.055)}
/* No underline in the top navigation. */
.nav a.active::after{display:none;content:none}

.language-button{justify-self:end;min-width:104px;min-height:4.2vh;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(255,255,255,.46);border-radius:6px;background:rgba(5,16,24,.18);color:#fff;font-weight:700;font-size:clamp(12px,.95vw,16px);cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.05);transition:transform .38s cubic-bezier(.2,.8,.2,1),background .28s ease,border-color .28s ease,box-shadow .28s ease}
.language-button:hover{transform:translateY(-1px) scale(1.035);background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.74);box-shadow:0 12px 30px rgba(0,0,0,.18),0 0 22px rgba(255,255,255,.045),inset 0 1px 0 rgba(255,255,255,.10)}
.language-button:active{transform:translateY(0) scale(.985)}
.language-dot{width:13px;height:13px;border:1px solid currentColor;border-radius:50%;position:relative}
.language-dot::after{content:"";position:absolute;left:50%;top:-1px;bottom:-1px;width:1px;transform:translateX(-50%);background:currentColor;opacity:.8}

.hero-grid{position:relative;z-index:4;height:100%;display:grid;grid-template-columns:1fr;place-items:center;padding-top:0}
.hero-copy{align-self:center;justify-self:center;width:min(790px,calc(100% - 40px));max-width:790px;margin:0;text-align:center}
.hero-copy h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:min(8.8vw,13.5vh);line-height:.81;letter-spacing:-.058em;color:#fdf9f2}
.hero-lower{display:flow-root;margin-top:clamp(28px,3.8vh,36px)}
.hero-copy h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:min(3vw,4.55vh);line-height:1;font-weight:400;letter-spacing:-.02em}
.hero-copy p{max-width:650px;margin:1.15vh auto 0;font-size:min(1.08vw,1.65vh);line-height:1.5;color:var(--muted)}
.hero-actions{display:flex;flex-direction:column;align-items:center;margin:2.2vh auto 0;width:max-content}
.hero-main-buttons{display:grid;grid-template-columns:250px 250px;gap:28px;align-items:center;width:max-content}
.button{min-height:5.8vh;padding:0 30px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;font-size:min(1.2vw,1.84vh);transition:transform .38s cubic-bezier(.2,.8,.2,1),background .24s ease,border-color .24s ease,box-shadow .24s ease}
.button:hover{transform:translateY(-2px) scale(1.02)}
.button:active{transform:translateY(0) scale(.985)}
.button-primary{background:var(--accent);color:#111;font-weight:700;box-shadow:0 8px 22px rgba(239,140,80,.16)}
.button-primary:hover{background:#fb9b60;box-shadow:0 12px 30px rgba(239,140,80,.24)}
.button-outline{border:1px solid rgba(255,255,255,.44);background:rgba(3,12,18,.16);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.button-outline:hover{border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.065);box-shadow:0 12px 28px rgba(0,0,0,.14)}

.scroll-down-button{
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  cursor:pointer;
  width:58px;
  height:58px;
  margin-top:clamp(32px,4.6vh,48px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
  border:1px solid rgba(255,255,255,.30);
  border-radius:50%;
  background:rgba(5,16,24,.30);
  color:#fff;
  font-size:24px;
  line-height:1;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 10px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.08);
  animation:scrollButtonBreath 3.4s ease-in-out infinite;
  transition:transform .42s cubic-bezier(.2,.8,.2,1),background .28s ease,border-color .28s ease,box-shadow .34s ease;
}
.scroll-down-button span{display:block;transform:translateY(-1px);animation:scrollArrowFloat 1.9s ease-in-out infinite}
.scroll-down-button:hover{
  transform:translateY(-4px) scale(1.08);
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.72);
  box-shadow:0 16px 36px rgba(0,0,0,.22),0 0 30px rgba(255,255,255,.10),inset 0 1px 0 rgba(255,255,255,.16);
}
.scroll-down-button:active{transform:translateY(-1px) scale(.96)}
@keyframes scrollButtonBreath{
  0%,100%{box-shadow:0 10px 28px rgba(0,0,0,.16),0 0 0 rgba(255,255,255,0),inset 0 1px 0 rgba(255,255,255,.08)}
  50%{box-shadow:0 13px 32px rgba(0,0,0,.19),0 0 24px rgba(255,255,255,.07),inset 0 1px 0 rgba(255,255,255,.12)}
}
@keyframes scrollArrowFloat{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}



/* =========================
   HOME STORY PANELS
   Section 01 / 02 / 03 / 04 share the same 720ms wheel-navigation rhythm.
   The two transition panels deliberately stay image-light so the 2x2 work grid remains the visual peak.
   ========================= */
.home-panel{scroll-margin-top:0}
.home-transition-panel{
  position:relative;
  z-index:2;
  height:100vh;
  min-height:680px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:rgba(4,16,24,.16);
}
.home-transition-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(4,16,24,.50),rgba(4,16,24,.64)),
    radial-gradient(circle at 18% 26%,rgba(239,140,80,.08),transparent 28%),
    radial-gradient(circle at 82% 72%,rgba(116,174,211,.07),transparent 30%);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.home-transition-inner{
  position:relative;
  z-index:2;
  height:100%;
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(480px,1.18fr);
  align-items:center;
  gap:clamp(56px,8vw,138px);
  padding-top:3vh;
}
.home-panel-index{
  position:absolute;
  top:clamp(74px,10.5vh,112px);
  left:0;
  display:flex;
  align-items:center;
  gap:13px;
  font-size:10px;
  letter-spacing:.22em;
  color:rgba(255,255,255,.46);
  opacity:0;
  transform:translateY(12px);
  transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1);
}
.home-panel-index i{display:block;width:46px;height:1px;background:rgba(255,255,255,.22);transform-origin:left center;transform:scaleX(.25);transition:transform .9s cubic-bezier(.16,1,.3,1) .12s}
.home-transition-copy{max-width:650px}
.home-transition-eyebrow{
  margin:0 0 18px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.24em;
  color:rgba(255,255,255,.52);
  opacity:0;
  transform:translateY(20px);
  transition:opacity .55s ease .08s,transform .78s cubic-bezier(.16,1,.3,1) .08s;
}
.home-transition-copy h2{
  margin:0;
  max-width:660px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(58px,5.8vw,104px);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:400;
  color:#f7f3ec;
  opacity:0;
  transform:translateY(34px);
  filter:blur(8px);
  transition:opacity .72s ease .14s,transform .92s cubic-bezier(.16,1,.3,1) .14s,filter .72s ease .14s;
}
.home-transition-lead{
  max-width:560px;
  margin:26px 0 0;
  color:rgba(255,255,255,.62);
  font-size:clamp(14px,1.05vw,18px);
  line-height:1.72;
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s ease .26s,transform .85s cubic-bezier(.16,1,.3,1) .26s;
}
.home-transition-panel.is-panel-active .home-panel-index,
.home-transition-panel.is-panel-active .home-transition-eyebrow,
.home-transition-panel.is-panel-active .home-transition-copy h2,
.home-transition-panel.is-panel-active .home-transition-lead{opacity:1;transform:translateY(0);filter:blur(0)}
.home-transition-panel.is-panel-active .home-panel-index i{transform:scaleX(1)}

.directions-map{
  position:relative;
  width:min(100%,650px);
  aspect-ratio:1.32/1;
  justify-self:end;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,rgba(255,255,255,.018),rgba(255,255,255,.006));
  box-shadow:0 28px 80px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025);
  opacity:0;
  transform:scale(.96) translateY(18px);
  transition:opacity .7s ease .22s,transform .95s cubic-bezier(.16,1,.3,1) .22s;
}
.home-transition-panel.is-panel-active .directions-map{opacity:1;transform:scale(1) translateY(0)}
.direction-item{
  position:relative;
  z-index:2;
  min-width:0;
  padding:clamp(24px,2.8vw,42px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  opacity:0;
  transform:translateY(24px);
  transition:opacity .58s ease,transform .78s cubic-bezier(.16,1,.3,1);
}
.direction-item small{font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.34);margin-bottom:auto}
.direction-item strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,2vw,34px);font-weight:400;letter-spacing:-.02em;color:rgba(255,255,255,.91)}
.direction-item span{margin-top:7px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.40)}
.direction-item:nth-child(1),.direction-item:nth-child(2){border-bottom:1px solid rgba(255,255,255,.08)}
.direction-item:nth-child(1),.direction-item:nth-child(3){border-right:1px solid rgba(255,255,255,.08)}
.home-transition-panel.is-panel-active .direction-item{opacity:1;transform:translateY(0)}
.home-transition-panel.is-panel-active .direction-item:nth-child(1){transition-delay:.34s}
.home-transition-panel.is-panel-active .direction-item:nth-child(2){transition-delay:.44s}
.home-transition-panel.is-panel-active .direction-item:nth-child(4){transition-delay:.54s}
.home-transition-panel.is-panel-active .direction-item:nth-child(3){transition-delay:.64s}
.directions-axis{position:absolute;z-index:1;left:50%;top:50%;pointer-events:none;background:rgba(239,140,80,.22);opacity:.62}
.directions-axis-x{width:56%;height:1px;transform:translate(-50%,-50%) scaleX(0);transition:transform 1s cubic-bezier(.16,1,.3,1) .38s}
.directions-axis-y{width:1px;height:56%;transform:translate(-50%,-50%) scaleY(0);transition:transform 1s cubic-bezier(.16,1,.3,1) .38s}
.directions-node{position:absolute;z-index:4;left:50%;top:50%;width:8px;height:8px;border:1px solid rgba(239,140,80,.7);border-radius:50%;background:rgba(4,16,24,.9);transform:translate(-50%,-50%) scale(0);box-shadow:0 0 28px rgba(239,140,80,.18);transition:transform .65s cubic-bezier(.16,1,.3,1) .62s}
.home-transition-panel.is-panel-active .directions-axis-x{transform:translate(-50%,-50%) scaleX(1)}
.home-transition-panel.is-panel-active .directions-axis-y{transform:translate(-50%,-50%) scaleY(1)}
.home-transition-panel.is-panel-active .directions-node{transform:translate(-50%,-50%) scale(1)}
.home-transition-principles{
  position:absolute;
  left:0;
  bottom:clamp(92px,12vh,126px);
  display:flex;
  gap:12px;
  align-items:center;
  color:rgba(255,255,255,.32);
  font-size:9px;
  letter-spacing:.20em;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .65s ease .72s,transform .8s cubic-bezier(.16,1,.3,1) .72s;
}
.home-transition-principles b{font-weight:400;color:rgba(239,140,80,.55)}
.home-transition-panel.is-panel-active .home-transition-principles{opacity:1;transform:translateY(0)}

.panel-scroll-button{
  position:absolute;
  left:50%;
  bottom:clamp(24px,4vh,40px);
  z-index:8;
  width:52px;
  height:52px;
  margin:0;
  transform:translateX(-50%);
}
.panel-scroll-button:hover{transform:translateX(-50%) translateY(-4px) scale(1.08)}
.panel-scroll-button:active{transform:translateX(-50%) translateY(-1px) scale(.96)}

/* Keep the four existing cards as the visual climax, but make the complete 2x2 composition fit a desktop viewport. */
@media(min-width:801px){
  .showcase{
    height:100vh;
    min-height:680px;
    padding:clamp(24px,3.2vh,38px) 0 clamp(34px,4.5vh,54px);
    display:flex;
    align-items:center;
  }
  .showcase-grid{width:min(var(--safe),146vh);margin-inline:auto}
}
.showcase-next-button{bottom:clamp(12px,1.8vh,22px)}

/* Closing panel: four disciplines visually converge to one centre. */
.home-closing-inner{grid-template-columns:minmax(330px,.92fr) minmax(480px,1.08fr)}
.home-closing-copy{grid-column:1;grid-row:1;align-self:center}
.home-closing-graphic{
  grid-column:2;
  grid-row:1;
  position:relative;
  justify-self:end;
  width:min(100%,580px);
  aspect-ratio:1;
  opacity:0;
  transform:scale(.94) rotate(-3deg);
  transition:opacity .75s ease .22s,transform 1s cubic-bezier(.16,1,.3,1) .22s;
}
.home-closing.is-panel-active .home-closing-graphic{opacity:1;transform:scale(1) rotate(0)}
.home-closing-graphic::before{
  content:"";
  position:absolute;
  inset:14%;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:inset 0 0 70px rgba(255,255,255,.018),0 0 80px rgba(0,0,0,.16);
}
.home-closing-graphic::after{
  content:"";
  position:absolute;
  inset:31%;
  border:1px solid rgba(239,140,80,.15);
  border-radius:50%;
}
.closing-word{position:absolute;font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,1.65vw,28px);letter-spacing:.05em;color:rgba(255,255,255,.63);opacity:0;transition:opacity .62s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.closing-word-a{left:4%;top:47%;transform:translate(-26px,-50%)}
.closing-word-b{left:50%;top:3%;transform:translate(-50%,-24px)}
.closing-word-c{right:4%;top:47%;transform:translate(26px,-50%)}
.closing-word-d{left:50%;bottom:3%;transform:translate(-50%,24px)}
.home-closing.is-panel-active .closing-word{opacity:1}
.home-closing.is-panel-active .closing-word-a{transform:translate(0,-50%);transition-delay:.34s}
.home-closing.is-panel-active .closing-word-b{transform:translate(-50%,0);transition-delay:.42s}
.home-closing.is-panel-active .closing-word-c{transform:translate(0,-50%);transition-delay:.50s}
.home-closing.is-panel-active .closing-word-d{transform:translate(-50%,0);transition-delay:.58s}
.closing-line{position:absolute;left:50%;top:50%;width:70%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),rgba(239,140,80,.20),rgba(255,255,255,.13),transparent);transform-origin:center;opacity:0;transition:opacity .65s ease .48s,transform 1.1s cubic-bezier(.16,1,.3,1) .48s}
.closing-line-a{transform:translate(-50%,-50%) rotate(45deg) scaleX(.2)}
.closing-line-b{transform:translate(-50%,-50%) rotate(-45deg) scaleX(.2)}
.home-closing.is-panel-active .closing-line{opacity:1}
.home-closing.is-panel-active .closing-line-a{transform:translate(-50%,-50%) rotate(45deg) scaleX(1)}
.home-closing.is-panel-active .closing-line-b{transform:translate(-50%,-50%) rotate(-45deg) scaleX(1)}
.closing-core{position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50%;border:1px solid rgba(239,140,80,.70);background:rgba(4,16,24,.92);box-shadow:0 0 44px rgba(239,140,80,.22);transform:translate(-50%,-50%) scale(0);transition:transform .7s cubic-bezier(.16,1,.3,1) .66s}
.home-closing.is-panel-active .closing-core{transform:translate(-50%,-50%) scale(1)}
.home-closing-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;opacity:0;transform:translateY(18px);transition:opacity .65s ease .38s,transform .8s cubic-bezier(.16,1,.3,1) .38s}
.home-closing.is-panel-active .home-closing-links{opacity:1;transform:translateY(0)}
.home-closing-link{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;gap:18px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.83);font-size:12px;letter-spacing:.04em;transition:transform .38s cubic-bezier(.16,1,.3,1),border-color .28s ease,background .28s ease,color .28s ease}
.home-closing-link b{font-size:18px;font-weight:400;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.home-closing-link:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.065);color:#fff}
.home-closing-link:hover b{transform:translateX(5px)}

@media(max-width:1000px){
  .home-transition-inner,.home-closing-inner{grid-template-columns:minmax(260px,.82fr) minmax(390px,1.18fr);gap:38px}
  .home-transition-copy h2{font-size:clamp(52px,7vw,78px)}
  .direction-item{padding:24px}
}
@media(max-width:800px){
  .home-transition-panel{height:100svh;min-height:720px}
  .home-transition-inner,.home-closing-inner{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;gap:30px;padding-top:54px;padding-bottom:94px}
  .home-panel-index{top:76px}
  .home-transition-copy,.home-closing-copy{grid-column:1;grid-row:auto;max-width:620px}
  .home-transition-copy h2{font-size:clamp(48px,13vw,72px)}
  .home-transition-lead{font-size:14px;margin-top:18px}
  .directions-map{justify-self:stretch;width:100%;max-width:620px;aspect-ratio:1.55/1}
  .direction-item{padding:18px}
  .direction-item strong{font-size:20px}
  .home-transition-principles{display:none}
  .home-closing-graphic{grid-column:1;grid-row:2;justify-self:center;width:min(76vw,430px)}
  .home-closing-copy{grid-row:1}
  .closing-word{font-size:15px}
  .showcase{height:auto!important;min-height:auto!important;display:block!important;padding:84px 0 96px!important}
  .showcase-next-button{position:relative;left:50%;bottom:auto;margin-top:34px;margin-bottom:-54px}
}
@media(max-width:520px){
  .home-transition-panel{min-height:700px}
  .home-transition-inner,.home-closing-inner{padding-bottom:88px;gap:24px}
  .directions-map{aspect-ratio:1.18/1}
  .direction-item{padding:14px}
  .direction-item strong{font-size:17px}
  .direction-item span{font-size:8px}
  .home-closing-graphic{width:min(82vw,350px)}
  .home-closing-links{margin-top:24px}
  .home-closing-link{min-height:44px;padding:0 15px}
}
@media(prefers-reduced-motion:reduce){
  .home-panel-index,.home-transition-eyebrow,.home-transition-copy h2,.home-transition-lead,.directions-map,.direction-item,.home-transition-principles,.home-closing-graphic,.closing-word,.closing-line,.closing-core,.home-closing-links{transition-duration:.01ms!important;transition-delay:0ms!important}
}

/* NEW 2×2 SHOWCASE GRID — fills the page with four 16:9 cards and keeps the interaction language. */
.showcase{
  position:relative;
  z-index:2;
  min-height:100vh;
  padding:clamp(28px,4vh,52px) 0 clamp(48px,7vh,88px);
  overflow:hidden;
}
.showcase::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(4,16,24,.42) 0%,rgba(4,16,24,.60) 18%,rgba(4,16,24,.46) 78%,rgba(4,16,24,.78) 100%),
    radial-gradient(circle at 18% 20%,rgba(239,140,80,.05),transparent 30%),
    radial-gradient(circle at 82% 68%,rgba(93,155,195,.055),transparent 28%);
  backdrop-filter:blur(1.2px);
}
.showcase-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:
    "tl tr"
    "bl br";
  gap:clamp(18px,2.2vw,30px);
  align-content:start;
}
.showcase-card{
  --mx:50%;
  --my:50%;
  --rx:0deg;
  --ry:0deg;
  --lift:0px;
  --card-scale:1;
  --gloss-alpha:.18;
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.025);
  box-shadow:0 18px 48px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.035);
  opacity:0;
  filter:blur(10px) saturate(.78) brightness(.70);
  transform:perspective(1400px) translate3d(0,64px,0) rotateX(0deg) rotateY(0deg) scale(.90);
  transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .62s cubic-bezier(.16,1,.3,1),filter .68s cubic-bezier(.16,1,.3,1),box-shadow .55s cubic-bezier(.16,1,.3,1),border-color .45s ease;
  will-change:transform;
  pointer-events:none;
}
.showcase-card.is-visible{
  opacity:1;
  filter:blur(0) saturate(1) brightness(1);
  transform:perspective(1400px) translate3d(0,var(--lift),0) rotateX(var(--rx)) rotateY(var(--ry)) scale(var(--card-scale));
}
.showcase-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 30%,transparent 70%,rgba(0,0,0,.12) 100%),
    radial-gradient(140px circle at var(--mx) var(--my),rgba(255,255,255,.085),transparent 62%);
  mix-blend-mode:screen;
  opacity:calc(.2 + (var(--gloss-alpha) * .40));
  transition:opacity .4s ease;
}
.showcase-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}
.showcase-card:hover{
  border-color:rgba(255,255,255,.16);
  box-shadow:0 28px 64px rgba(0,0,0,.34),0 0 24px rgba(255,255,255,.05), inset 0 1px 0 rgba(255,255,255,.05);
}
.showcase-card.is-pressed{box-shadow:0 16px 38px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.04)}

.card-one{grid-area:tl}
.card-two{grid-area:tr}
.card-three{grid-area:br}
.card-four{grid-area:bl}


/* Home bottom-right showcase card — the four latest Writing cards live INSIDE this card. */
.showcase-writing-card{
  background:rgba(4,16,24,.34);
}
/* Hovering one of the four Writing tiles does not move the 2x2 grid.
   Instead, a large floating duplicate appears over the left side of the showcase. */
.showcase-writing-panel{
  position:absolute;
  z-index:5;
  inset:clamp(12px,1.15vw,18px);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:clamp(8px,.8vw,12px);
}
.showcase-writing-float-preview{
  position:absolute;
  z-index:42;
  left:0;
  top:50%;
  width:calc((100% - clamp(18px,2.2vw,30px)) / 2);
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.20);
  border-radius:22px;
  background:#07131b;
  box-shadow:0 42px 100px rgba(0,0,0,.55),0 0 42px rgba(255,255,255,.06),inset 0 1px 0 rgba(255,255,255,.07);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(-18px,-50%,0) scale(.86);
  filter:blur(4px) brightness(.82);
  transform-origin:center center;
  transition:opacity .32s ease,transform .62s cubic-bezier(.16,1,.3,1),filter .48s ease,visibility 0s linear .62s;
}
.showcase-writing-float-preview.is-active{
  opacity:1;
  visibility:visible;
  transform:translate3d(0,-50%,0) scale(1.035);
  filter:blur(0) brightness(1);
  transition:opacity .34s ease,transform .66s cubic-bezier(.16,1,.3,1),filter .48s ease,visibility 0s;
}
.showcase-writing-float-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.015);
  filter:saturate(.96) brightness(.94);
  transition:opacity .22s ease,transform .72s cubic-bezier(.16,1,.3,1),filter .42s ease;
}
.showcase-writing-float-preview.is-active .showcase-writing-float-image{
  transform:scale(1.045);
  filter:saturate(1.04) brightness(1);
}
.showcase-writing-float-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,transparent 52%,rgba(3,10,15,.20) 66%,rgba(3,10,15,.90) 100%);
}
.showcase-writing-float-copy{
  position:absolute;
  z-index:2;
  left:clamp(20px,1.8vw,30px);
  right:clamp(20px,1.8vw,30px);
  bottom:clamp(18px,1.5vw,26px);
  text-shadow:0 3px 16px rgba(0,0,0,.68);
}
.showcase-writing-float-copy small{
  display:block;
  margin-bottom:7px;
  font-size:clamp(9px,.7vw,12px);
  letter-spacing:.16em;
  color:rgba(255,255,255,.65);
}
.showcase-writing-float-copy strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(28px,2.4vw,44px);
  line-height:1.05;
  font-weight:400;
  color:#fff;
}
.showcase-grid.writing-preview-active .showcase-focus-copy{
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(12px) scale(.97)!important;
}
.showcase-writing-tile{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:clamp(10px,.8vw,14px);
  background:#07131b;
  color:#fff;
  text-decoration:none;
  box-shadow:0 10px 26px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.03);
  transform:translateY(0) scale(1);
  transition:transform .42s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .42s cubic-bezier(.16,1,.3,1);
}
.showcase-writing-tile img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.82) brightness(.82);
  transform:scale(1.002);
  transition:transform .68s cubic-bezier(.16,1,.3,1),filter .4s ease;
}
.showcase-writing-shade{
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,10,15,.02) 35%,rgba(3,10,15,.28) 64%,rgba(3,10,15,.88) 100%);
}
.showcase-writing-copy{
  position:absolute;
  z-index:2;
  left:clamp(10px,1vw,15px);
  right:clamp(10px,1vw,15px);
  bottom:clamp(9px,.8vw,13px);
  display:block;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}
.showcase-writing-copy small{
  display:block;
  margin-bottom:4px;
  font-size:clamp(6px,.5vw,9px);
  line-height:1.1;
  letter-spacing:.15em;
  color:rgba(255,255,255,.62);
}
.showcase-writing-copy strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(10px,.92vw,16px);
  line-height:1.12;
  font-weight:400;
  color:rgba(255,255,255,.96);
}
.showcase-writing-tile:hover{
  z-index:3;
  transform:translateY(-4px) scale(1.018);
  border-color:rgba(255,255,255,.28);
  box-shadow:0 18px 34px rgba(0,0,0,.30),0 0 18px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.06);
}
.showcase-writing-tile:hover img{
  transform:scale(1.055);
  filter:saturate(.98) brightness(.96);
}
.showcase-writing-label{
  position:absolute;
  z-index:7;
  right:clamp(13px,1.25vw,20px);
  top:clamp(11px,1vw,16px);
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(4,16,24,.52);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:clamp(6px,.48vw,9px);
  line-height:1;
  font-weight:700;
  letter-spacing:.17em;
  color:rgba(255,255,255,.72);
  pointer-events:none;
}

.showcase-image{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.002);transition:transform 1.05s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}
.showcase-image::before{content:"";position:absolute;inset:-22%;z-index:2;pointer-events:none;background:linear-gradient(112deg,transparent 18%,rgba(255,255,255,.02) 30%,rgba(255,210,178,.17) 43%,rgba(175,218,255,.13) 52%,rgba(255,255,255,.075) 59%,transparent 73%);background-size:185% 185%;background-position:var(--mx) var(--my);opacity:.45;filter:blur(9px) saturate(1.13);mix-blend-mode:screen;transition:opacity .6s ease}
.showcase-card:hover .showcase-image{transform:scale(1.045);filter:saturate(1.08) contrast(1.03) brightness(1.035)}
.showcase-card:hover .showcase-image::before{opacity:.88}
.showcase-caption{position:absolute;z-index:5;left:clamp(18px,2vw,30px);bottom:clamp(16px,1.8vw,24px);padding:9px 14px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(4,16,24,.28);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:Georgia,"Times New Roman",serif;font-size:clamp(16px,1.18vw,21px);color:rgba(255,255,255,.86);transform:translateY(5px);opacity:.78;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s ease,background .4s ease}
.showcase-card:hover .showcase-caption{transform:translateY(0);opacity:1;background:rgba(4,16,24,.50)}


/* Focus mode — enabled only after the clockwise entrance animation has fully completed. */
.showcase-grid.reveal-complete .showcase-card{
  pointer-events:auto;
}

/* When one card is focused, the other three deliberately fall into the background. */
.showcase-grid.reveal-complete.has-active .showcase-card{
  opacity:.14;
  filter:brightness(.24) saturate(.28) contrast(.9);
  transform:perspective(1400px) translate3d(0,0,0) rotateX(0deg) rotateY(0deg) scale(.975);
  box-shadow:0 14px 34px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.025);
  transition:
    opacity .46s cubic-bezier(.22,.61,.36,1),
    filter .56s cubic-bezier(.22,.61,.36,1),
    transform .62s cubic-bezier(.16,1,.3,1),
    box-shadow .52s cubic-bezier(.16,1,.3,1),
    border-color .42s ease;
}
.showcase-grid.reveal-complete.has-active .showcase-card.is-active{
  opacity:1;
  filter:brightness(1.06) saturate(1.10) contrast(1.035);
  transform:perspective(1400px) translate3d(0,-12px,0) rotateX(var(--rx)) rotateY(var(--ry)) scale(1.025);
  border-color:rgba(255,255,255,.25);
  box-shadow:0 36px 84px rgba(0,0,0,.46),0 0 38px rgba(255,255,255,.07),inset 0 1px 0 rgba(255,255,255,.075);
}
.showcase-grid.reveal-complete.has-active .showcase-card:not(.is-active) .showcase-caption{
  opacity:.10;
}

/* Opposite-side text stage: left cards use the entire right column; right cards use the entire left column. */
.showcase-focus-copy{
  position:absolute;
  z-index:30;
  top:0;
  bottom:0;
  width:calc((100% - clamp(18px,2.2vw,30px)) / 2);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(34px,4vw,70px);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(16px) scale(.965);
  transition:
    opacity .42s ease,
    transform .62s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .62s;
}
.showcase-focus-copy.is-right{right:0;left:auto}
.showcase-focus-copy.is-left{left:0;right:auto}
.showcase-focus-copy.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  transition:
    opacity .48s ease,
    transform .68s cubic-bezier(.16,1,.3,1),
    visibility 0s;
}
.showcase-focus-inner{
  width:min(88%,570px);
  padding:clamp(30px,3.3vw,58px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.055),transparent 48%),
    linear-gradient(145deg,rgba(7,19,28,.82),rgba(4,16,24,.58));
  backdrop-filter:blur(22px) saturate(1.10);
  -webkit-backdrop-filter:blur(22px) saturate(1.10);
  box-shadow:0 28px 74px rgba(0,0,0,.30),0 0 38px rgba(239,140,80,.055),inset 0 1px 0 rgba(255,255,255,.07);
  text-align:center;
}
.showcase-focus-kicker{
  margin-bottom:14px;
  text-transform:uppercase;
  letter-spacing:.20em;
  font-size:clamp(10px,.78vw,13px);
  font-weight:700;
  color:rgba(239,140,80,.94);
}
.showcase-focus-inner h3{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,3.4vw,58px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.04em;
  color:#fffaf4;
}
.showcase-focus-inner p{
  margin:18px auto 0;
  max-width:480px;
  font-size:clamp(13px,1.06vw,18px);
  line-height:1.68;
  color:rgba(245,241,234,.74);
}

/* CSS visual placeholders retained from the previous version, now adapted to the tiled 2×2 grid. */
.visual-management{background:linear-gradient(145deg,transparent 0 29%,rgba(224,226,222,.82) 30% 47%,transparent 48%),linear-gradient(125deg,#3e474d 0 20%,#b5b8b5 20% 35%,#29333a 36% 55%,#727a7d 56% 70%,#172129 71%)}
.visual-media{background:radial-gradient(circle at 58% 43%,#050607 0 12%,transparent 13%),radial-gradient(circle at 58% 43%,rgba(100,177,210,.26),transparent 28%),linear-gradient(120deg,#0c1e27,#174158 48%,#071017 72%)}
.visual-writing{background:linear-gradient(145deg,transparent 0 44%,rgba(30,25,20,.8) 45% 48%,transparent 49%),repeating-linear-gradient(0deg,#cfc2af 0 10px,#8f7f69 11px 12px),#4a4035}
.visual-visual{background:radial-gradient(circle at 76% 20%,rgba(255,198,137,.72),transparent 18%),linear-gradient(156deg,transparent 0 53%,#59646b 54% 62%,#313d45 63% 70%,#172129 71%),linear-gradient(180deg,#8d7b68,#49616d 48%,#0d1920)}

@keyframes navBreath{0%,100%{box-shadow:0 8px 30px rgba(0,0,0,.08),0 0 0 rgba(255,255,255,0),inset 0 1px 0 rgba(255,255,255,.04)}50%{box-shadow:0 10px 34px rgba(0,0,0,.12),0 0 24px rgba(255,255,255,.035),inset 0 1px 0 rgba(255,255,255,.065)}}
@keyframes showcaseFloat{0%,100%{translate:0 0}28%{translate:0 -4px}52%{translate:0 -10px}72%{translate:0 -3px}}
@media(prefers-reduced-motion:no-preference){
  .nav{animation:navBreath 5.2s ease-in-out infinite}
  /* Start the floating motion only after the entrance sequence has fully completed,
     so the reveal animation stays clearly visible. */
  .showcase-grid.reveal-complete .showcase-card{animation:showcaseFloat 7s cubic-bezier(.45,0,.18,1) infinite}
  .showcase-grid.reveal-complete .showcase-card:nth-child(2){animation-duration:7.8s;animation-delay:-2.1s}
  .showcase-grid.reveal-complete .showcase-card:nth-child(3){animation-duration:6.6s;animation-delay:-3.7s}
  .showcase-grid.reveal-complete .showcase-card:nth-child(4){animation-duration:8.3s;animation-delay:-5.1s}
  .showcase-grid.reveal-complete .showcase-card:hover{animation-play-state:paused}
}

/* Footer */

/* HOME — Recent writing preview. Four Writing cards sit below the main showcase,
   aligned to the right in a 2×2 grid, with a compact text introduction on the left. */
.home-writing-preview{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(240px,.68fr) minmax(0,1.55fr);
  gap:clamp(34px,4.2vw,72px);
  align-items:start;
  padding-top:clamp(54px,7vw,110px);
  padding-bottom:clamp(12px,2vw,28px);
}
.home-writing-intro{
  max-width:420px;
  padding-top:clamp(2px,.8vw,12px);
}
.home-writing-kicker{
  margin-bottom:15px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  color:rgba(255,255,255,.52);
}
.home-writing-intro h2{
  margin:0;
  max-width:390px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(36px,3.3vw,58px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.035em;
  color:#f7f2eb;
}
.home-writing-intro p{
  margin:20px 0 0;
  max-width:360px;
  font-size:14px;
  line-height:1.72;
  color:rgba(255,255,255,.60);
}
.home-writing-all{
  display:inline-flex;
  margin-top:28px;
  color:rgba(255,255,255,.90);
  font-size:13px;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.20);
  padding-bottom:4px;
  transition:color .28s ease,border-color .28s ease,transform .32s cubic-bezier(.16,1,.3,1);
}
.home-writing-all:hover{
  color:#fff;
  border-color:rgba(255,255,255,.58);
  transform:translateX(4px);
}
.home-writing-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(16px,1.8vw,26px);
  width:100%;
}
.home-writing-card{
  min-width:0;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.018);
  box-shadow:0 16px 38px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.03);
  transform:translateY(0);
  transition:transform .42s cubic-bezier(.16,1,.3,1),border-color .32s ease,background .32s ease,box-shadow .42s cubic-bezier(.16,1,.3,1);
}
.home-writing-card:hover{
  transform:translateY(-7px);
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.034);
  box-shadow:0 25px 52px rgba(0,0,0,.28),0 0 24px rgba(255,255,255,.035),inset 0 1px 0 rgba(255,255,255,.05);
}
.home-writing-media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#07131b;
}
.home-writing-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 62%,rgba(3,12,18,.18));
}
.home-writing-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.82) brightness(.86);
  transform:scale(1.001);
  transition:transform .7s cubic-bezier(.16,1,.3,1),filter .42s ease;
}
.home-writing-card:hover .home-writing-media img{
  transform:scale(1.04);
  filter:saturate(.98) brightness(.96);
}
.home-writing-copy{
  padding:16px 17px 19px;
}
.home-writing-copy small{
  display:block;
  font-size:9px;
  letter-spacing:.18em;
  color:rgba(255,255,255,.46);
}
.home-writing-copy h3{
  margin:9px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(18px,1.22vw,22px);
  line-height:1.18;
  font-weight:400;
  color:rgba(255,255,255,.94);
}
.home-writing-copy p{
  margin:8px 0 0;
  font-size:12px;
  line-height:1.52;
  color:rgba(255,255,255,.54);
}

@media(max-width:980px){
  .home-writing-preview{grid-template-columns:1fr;gap:30px;padding-top:68px}
  .home-writing-intro{max-width:620px}
  .home-writing-intro p{max-width:520px}
}
@media(max-width:620px){
  .home-writing-cards{grid-template-columns:1fr;gap:14px}
  .home-writing-preview{padding-top:54px}
  .home-writing-intro h2{font-size:40px}
}

.footer{position:relative;z-index:8;padding:22px 0 24px;border-top:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 50% -20%,rgba(239,140,80,.055),transparent 38%),rgba(4,16,24,.92);backdrop-filter:blur(18px)}
.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.footer-copyright{justify-self:start;color:rgba(255,255,255,.56);font-size:12px;letter-spacing:.025em;white-space:nowrap}
.footer-socials{justify-self:center;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.footer-link{--fx:50%;--fy:50%;position:relative;isolation:isolate;overflow:hidden;min-height:39px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.76);font-size:12px;font-weight:600;letter-spacing:.018em;box-shadow:0 7px 20px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.035);transform:translateY(0) scale(1);transition:transform .48s cubic-bezier(.16,1,.3,1),color .34s ease,border-color .38s ease,background .42s ease,box-shadow .48s cubic-bezier(.16,1,.3,1),filter .38s ease;will-change:transform}
.footer-link::before{content:"";position:absolute;inset:-45%;z-index:-2;pointer-events:none;background:radial-gradient(95px circle at var(--fx) var(--fy),rgba(255,255,255,.26) 0%,rgba(255,255,255,.10) 28%,rgba(255,255,255,.035) 48%,transparent 72%);opacity:.18;transform:scale(.94);transition:opacity .38s ease,transform .55s cubic-bezier(.16,1,.3,1)}
.footer-link::after{content:"";position:absolute;top:-50%;bottom:-50%;left:-55%;width:42%;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.035) 24%,rgba(255,255,255,.22) 48%,rgba(255,255,255,.08) 62%,transparent 100%);filter:blur(6px);transform:translateX(-150%) rotate(8deg);opacity:0;transition:transform .82s cubic-bezier(.16,1,.3,1),opacity .28s ease}
.footer-link:hover,.footer-link:focus-visible{color:#fff;border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.075);transform:translateY(-5px) scale(1.035);box-shadow:0 15px 32px rgba(0,0,0,.24),0 0 22px rgba(255,255,255,.10),inset 0 1px 0 rgba(255,255,255,.13);filter:saturate(1.08);outline:none}
.footer-link:hover::before,.footer-link:focus-visible::before{opacity:.92;transform:scale(1.05)}
.footer-link:hover::after,.footer-link:focus-visible::after{opacity:.82;transform:translateX(470%) rotate(8deg)}
.footer-link:active{transform:translateY(-1px) scale(.975);transition-duration:.11s}
.footer-link-mail{justify-self:end;border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.86)}
@keyframes footerLinkBreath{0%,100%{box-shadow:0 7px 20px rgba(0,0,0,.12),0 0 0 rgba(255,255,255,0),inset 0 1px 0 rgba(255,255,255,.035)}50%{box-shadow:0 9px 24px rgba(0,0,0,.16),0 0 18px rgba(255,255,255,.075),inset 0 1px 0 rgba(255,255,255,.075)}}
@media(prefers-reduced-motion:no-preference){.footer-link{animation:footerLinkBreath 4.8s ease-in-out infinite}.footer-link:nth-child(2){animation-delay:-.8s}.footer-link:nth-child(3){animation-delay:-1.6s}.footer-link:nth-child(4){animation-delay:-2.4s}.footer-link:nth-child(5){animation-delay:-3.2s}.footer-link:hover,.footer-link:focus-visible{animation-play-state:paused}}

/* Responsive */
@media(max-width:1250px){
  :root{--safe:min(1120px,calc(100vw - 42px))}
  .header-grid{grid-template-columns:170px 1fr auto}
  .nav{gap:12px}
  .brand{width:190px;height:56px}
  .brand-window{width:185px;height:52px}
  .brand img{width:100%;height:100%;transform:none}
  .showcase-grid{gap:18px}
}

@media(max-width:800px){
  .hero{height:100svh;min-height:680px}
  .header-grid{grid-template-columns:1fr auto}
  .nav{display:none}
  .brand{width:165px;height:48px}
  .brand-window{width:160px;height:44px}
  .brand img{width:100%;height:100%;transform:none}
  .hero-grid{height:100%;min-height:0;display:grid;place-items:center;padding-top:0}
  .hero-copy{margin-left:0;text-align:center}
  .hero-lower{margin-top:28px}
  .hero-copy h1{font-size:clamp(78px,22vw,112px)}
  .hero-copy h2{margin-top:0;font-size:32px}
  .hero-copy p{font-size:15px}
  .hero-actions{display:flex;flex-direction:column;align-items:center;width:min(100%,520px)}
  .hero-main-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;width:100%}
  .hero-actions .button{min-width:0;max-width:none;min-height:52px;font-size:14px;padding:0 14px}
  .scroll-down-button{width:50px;height:50px;margin-top:30px;font-size:21px}

  .showcase{min-height:auto;padding:84px 0 96px}
  .showcase-grid{grid-template-columns:1fr;grid-template-areas:"tl" "tr" "br" "bl";gap:16px}
  .showcase-caption{font-size:15px;left:14px;bottom:14px;padding:7px 11px}
  .showcase-focus-copy{display:none}
  .showcase-writing-float-preview{display:none}
  .showcase-grid.reveal-complete.has-active .showcase-card{opacity:.34}
  .showcase-grid.reveal-complete.has-active .showcase-card.is-active{opacity:1}
}

@media(max-width:760px){
  .footer{padding:20px 0 22px}
  .footer-grid{grid-template-columns:1fr;gap:13px}
  .footer-copyright,.footer-socials,.footer-link-mail{justify-self:center}
  .footer-copyright{text-align:center}
  .footer-socials{width:100%;gap:8px}
  .footer-link{min-height:38px;padding:0 13px;font-size:11px}
  .footer-link-mail{max-width:310px}
}

@media(prefers-reduced-motion:reduce){
  .nav,.showcase-card,.footer-link{animation:none}
  .nav a,.language-button,.button,.showcase-image,.footer-link{transition-duration:.01ms}
  /* Keep the required showcase entrance transition visible even when continuous decorative motion is reduced. */
  .showcase-card{transition:transform .62s cubic-bezier(.16,1,.3,1),opacity .56s ease,filter .58s ease,box-shadow .01ms,border-color .01ms}
  .scroll-down-button,.scroll-down-button span{animation:none;transition-duration:.01ms}
}

/* =========================
   CARD 2 / CARD 4 AUTO CAROUSELS
   Cross-fade only inside the card; the existing card entrance, hover, tilt,
   glow and focus interactions remain on .showcase-card unchanged.
   ========================= */
.showcase-carousel{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#071018;
}
.showcase-carousel .carousel-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:scale(1.018);
  transition:
    opacity .62s cubic-bezier(.22,.61,.36,1),
    transform 5.8s cubic-bezier(.16,1,.3,1),
    filter .9s ease;
  filter:saturate(.98) contrast(1.015) brightness(.96);
  will-change:opacity,transform;
  -webkit-user-drag:none;
  user-select:none;
}
.showcase-carousel .carousel-slide.is-current{
  opacity:1;
  transform:scale(1.055);
  filter:saturate(1.04) contrast(1.025) brightness(1);
}
.showcase-card:hover .showcase-carousel .carousel-slide.is-current{
  transform:scale(1.075);
  filter:saturate(1.08) contrast(1.03) brightness(1.035);
}
/* Preserve the soft oil-gloss layer above carousel images. */
.showcase-carousel::before{
  content:"";
  position:absolute;
  inset:-22%;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 18%,rgba(255,255,255,.02) 30%,rgba(255,210,178,.17) 43%,rgba(175,218,255,.13) 52%,rgba(255,255,255,.075) 59%,transparent 73%);
  background-size:185% 185%;
  background-position:var(--mx) var(--my);
  opacity:.45;
  filter:blur(9px) saturate(1.13);
  mix-blend-mode:screen;
  transition:opacity .6s ease;
}
.showcase-card:hover .showcase-carousel::before{opacity:.88}

@media(prefers-reduced-motion:reduce){
  .showcase-carousel .carousel-slide{transition:opacity .45s ease,filter .01ms;transform:none}
  .showcase-carousel .carousel-slide.is-current{transform:none}
}

.showcase-card[data-page-link]{cursor:pointer}
.showcase-card[data-page-link]:focus-visible{outline:1px solid rgba(255,255,255,.72);outline-offset:5px}

/* =========================================================
   V80 — HOME STORY PANELS REFINED
   Section 02 now explains HOW I THINK instead of repeating the
   four work categories. Section 04 uses a directional convergence
   diagram rather than the former circular/pie-like graphic.
   Left/right spacing is deliberately tightened on panels 02–04.
   ========================================================= */
@media(min-width:801px){
  .home-transition-inner,
  .home-closing-inner{
    width:min(var(--safe),1240px);
    grid-template-columns:minmax(330px,.96fr) minmax(430px,1.04fr);
    gap:clamp(44px,5vw,78px);
  }
  .showcase-grid{
    gap:clamp(12px,1.2vw,18px);
    width:min(var(--safe),148vh);
  }
}

/* Section 02: three principles flow into one working logic. */
.thinking-flow{
  position:relative;
  justify-self:end;
  width:min(100%,560px);
  height:clamp(300px,34vw,430px);
  opacity:0;
  transform:translateY(18px) scale(.98);
  transition:opacity .68s ease .20s,transform .9s cubic-bezier(.16,1,.3,1) .20s;
}
.home-directions.is-panel-active .thinking-flow{opacity:1;transform:translateY(0) scale(1)}
.thinking-line,
.thinking-merge-a,
.thinking-merge-b,
.thinking-output{
  position:absolute;
  height:1px;
  transform-origin:left center;
  background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.34));
  opacity:0;
}
.thinking-line{left:4%;width:46%;transform:scaleX(.08)}
.thinking-line-a{top:24%}
.thinking-line-b{top:50%}
.thinking-line-c{top:76%}
.thinking-merge-a,
.thinking-merge-b{
  left:49%;top:50%;width:25%;
  background:linear-gradient(90deg,rgba(255,255,255,.28),rgba(239,140,80,.48));
  transform:rotate(var(--flow-angle)) scaleX(.08);
}
.thinking-merge-a{--flow-angle:-31deg;transform-origin:left center}
.thinking-merge-b{--flow-angle:31deg;transform-origin:left center}
.thinking-output{
  left:67%;top:50%;width:27%;
  background:linear-gradient(90deg,rgba(239,140,80,.52),rgba(255,255,255,.22));
  transform:scaleX(.08);
}
.thinking-node{
  position:absolute;left:67%;top:50%;width:12px;height:12px;border-radius:50%;
  border:1px solid rgba(239,140,80,.78);background:rgba(4,16,24,.94);
  box-shadow:0 0 34px rgba(239,140,80,.25);
  transform:translate(-50%,-50%) scale(0);opacity:0;
  transition:opacity .45s ease .62s,transform .64s cubic-bezier(.16,1,.3,1) .62s;
}
.thinking-label{
  position:absolute;left:4%;font-size:9px;letter-spacing:.20em;color:rgba(255,255,255,.42);
  opacity:0;transform:translateY(8px);
  transition:opacity .52s ease,transform .7s cubic-bezier(.16,1,.3,1);
}
.thinking-label-a{top:calc(24% - 27px);transition-delay:.28s}
.thinking-label-b{top:calc(50% - 27px);transition-delay:.38s}
.thinking-label-c{top:calc(76% - 27px);transition-delay:.48s}
.thinking-caption{
  position:absolute;right:5%;top:calc(50% + 23px);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.38);opacity:0;transform:translateX(-8px);
  transition:opacity .55s ease .72s,transform .72s cubic-bezier(.16,1,.3,1) .72s;
}
.home-directions.is-panel-active .thinking-line,
.home-directions.is-panel-active .thinking-merge-a,
.home-directions.is-panel-active .thinking-merge-b,
.home-directions.is-panel-active .thinking-output{opacity:1}
.home-directions.is-panel-active .thinking-line{transform:scaleX(1);transition:opacity .42s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.home-directions.is-panel-active .thinking-line-a{transition-delay:.28s}
.home-directions.is-panel-active .thinking-line-b{transition-delay:.38s}
.home-directions.is-panel-active .thinking-line-c{transition-delay:.48s}
.home-directions.is-panel-active .thinking-merge-a{transform:rotate(-31deg) scaleX(1);transition:opacity .44s ease .50s,transform .9s cubic-bezier(.16,1,.3,1) .50s}
.home-directions.is-panel-active .thinking-merge-b{transform:rotate(31deg) scaleX(1);transition:opacity .44s ease .50s,transform .9s cubic-bezier(.16,1,.3,1) .50s}
.home-directions.is-panel-active .thinking-output{transform:scaleX(1);transition:opacity .44s ease .64s,transform .9s cubic-bezier(.16,1,.3,1) .64s}
.home-directions.is-panel-active .thinking-node{opacity:1;transform:translate(-50%,-50%) scale(1)}
.home-directions.is-panel-active .thinking-label{opacity:1;transform:translateY(0)}
.home-directions.is-panel-active .thinking-caption{opacity:1;transform:translateX(0)}

/* Section 04: no circle. Four paths converge and continue as one direction. */
.home-closing-copy{grid-column:1;grid-row:1;align-self:center}
.closing-flow{
  grid-column:2;grid-row:1;position:relative;justify-self:end;
  width:min(100%,560px);height:clamp(320px,35vw,440px);
  opacity:0;transform:translateY(18px) scale(.98);
  transition:opacity .68s ease .20s,transform .9s cubic-bezier(.16,1,.3,1) .20s;
}
.home-closing.is-panel-active .closing-flow{opacity:1;transform:translateY(0) scale(1)}
.closing-input,
.closing-merge,
.closing-output{
  position:absolute;height:1px;transform-origin:left center;opacity:0;
  background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.30));
}
.closing-input{left:4%;width:38%;transform:scaleX(.08)}
.closing-input-a{top:20%}
.closing-input-b{top:40%}
.closing-input-c{top:60%}
.closing-input-d{top:80%}
.closing-merge{left:41%;top:50%;width:27%;background:linear-gradient(90deg,rgba(255,255,255,.25),rgba(239,140,80,.48))}
.closing-merge-a{transform:rotate(-35deg) scaleX(.08)}
.closing-merge-b{transform:rotate(35deg) scaleX(.08)}
.closing-output{left:65%;top:50%;width:27%;background:linear-gradient(90deg,rgba(239,140,80,.55),rgba(255,255,255,.28));transform:scaleX(.08)}
.closing-node{
  position:absolute;left:65%;top:50%;width:13px;height:13px;border-radius:50%;
  border:1px solid rgba(239,140,80,.80);background:rgba(4,16,24,.95);box-shadow:0 0 38px rgba(239,140,80,.24);
  transform:translate(-50%,-50%) scale(0);opacity:0;
  transition:opacity .45s ease .62s,transform .64s cubic-bezier(.16,1,.3,1) .62s;
}
.closing-arrow{
  position:absolute;right:2%;top:calc(50% - 14px);font-size:28px;font-weight:300;color:rgba(255,255,255,.64);
  opacity:0;transform:translateX(-12px);transition:opacity .5s ease .76s,transform .72s cubic-bezier(.16,1,.3,1) .76s;
}
.closing-caption{
  position:absolute;right:2%;top:calc(50% + 28px);font-size:9px;letter-spacing:.20em;color:rgba(255,255,255,.40);
  opacity:0;transform:translateX(-8px);transition:opacity .5s ease .82s,transform .72s cubic-bezier(.16,1,.3,1) .82s;
}
.home-closing.is-panel-active .closing-input,
.home-closing.is-panel-active .closing-merge,
.home-closing.is-panel-active .closing-output{opacity:1}
.home-closing.is-panel-active .closing-input{transform:scaleX(1);transition:opacity .42s ease,transform .85s cubic-bezier(.16,1,.3,1)}
.home-closing.is-panel-active .closing-input-a{transition-delay:.28s}
.home-closing.is-panel-active .closing-input-b{transition-delay:.36s}
.home-closing.is-panel-active .closing-input-c{transition-delay:.44s}
.home-closing.is-panel-active .closing-input-d{transition-delay:.52s}
.home-closing.is-panel-active .closing-merge-a{transform:rotate(-35deg) scaleX(1);transition:opacity .44s ease .54s,transform .9s cubic-bezier(.16,1,.3,1) .54s}
.home-closing.is-panel-active .closing-merge-b{transform:rotate(35deg) scaleX(1);transition:opacity .44s ease .54s,transform .9s cubic-bezier(.16,1,.3,1) .54s}
.home-closing.is-panel-active .closing-output{transform:scaleX(1);transition:opacity .44s ease .66s,transform .9s cubic-bezier(.16,1,.3,1) .66s}
.home-closing.is-panel-active .closing-node{opacity:1;transform:translate(-50%,-50%) scale(1)}
.home-closing.is-panel-active .closing-arrow,
.home-closing.is-panel-active .closing-caption{opacity:1;transform:translateX(0)}

@media(max-width:1000px){
  .home-transition-inner,.home-closing-inner{width:min(var(--safe),980px);gap:32px}
  .thinking-flow,.closing-flow{width:min(100%,470px)}
}
@media(max-width:800px){
  .thinking-flow,.closing-flow{grid-column:1;grid-row:2;justify-self:center;width:min(88vw,520px);height:300px}
  .home-closing-copy{grid-column:1;grid-row:1}
}
@media(max-width:520px){
  .thinking-flow,.closing-flow{width:min(92vw,390px);height:255px}
  .thinking-label,.thinking-caption,.closing-caption{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
  .thinking-flow,.thinking-line,.thinking-merge-a,.thinking-merge-b,.thinking-output,.thinking-node,.thinking-label,.thinking-caption,
  .closing-flow,.closing-input,.closing-merge,.closing-output,.closing-node,.closing-arrow,.closing-caption{transition-duration:.01ms!important;transition-delay:0ms!important}
}


/* =========================================================
   V81 — HOME STORY MINIMAL REFINEMENT
   No visible chapter numbers. Section 02 is a quiet editorial
   bridge; Section 04 is a centred CTA closing screen.
   The existing 720ms panel navigation and showcase interactions
   remain unchanged.
   ========================================================= */

/* Visible 01/02/03/04 guidance is intentionally removed. */
.home-panel-index{display:none!important}

/* Section 02: editorial copy + one restrained animated thread. */
@media(min-width:801px){
  .home-thinking-inner{
    width:min(var(--safe),1120px);
    grid-template-columns:minmax(430px,1.08fr) minmax(300px,.72fr);
    gap:clamp(40px,4.5vw,66px);
  }
  .home-directions-copy{max-width:650px}
}
.thinking-thread{
  position:relative;
  justify-self:center;
  width:min(100%,390px);
  height:90px;
  opacity:0;
  transform:translateX(-14px);
  transition:opacity .58s ease .30s,transform .88s cubic-bezier(.16,1,.3,1) .30s;
}
.thinking-thread-line{
  position:absolute;
  left:0;
  top:50%;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.28) 64%,rgba(239,140,80,.46));
  transform:scaleX(.06);
  transform-origin:left center;
  transition:transform 1.15s cubic-bezier(.16,1,.3,1) .38s;
}
.thinking-thread-point{
  position:absolute;
  right:-1px;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  border:1px solid rgba(239,140,80,.58);
  background:rgba(4,16,24,.94);
  box-shadow:0 0 25px rgba(239,140,80,.14);
  opacity:0;
  transform:translate(50%,-50%) scale(.3);
  transition:opacity .42s ease .82s,transform .62s cubic-bezier(.16,1,.3,1) .82s;
}
.home-directions.is-panel-active .thinking-thread{opacity:1;transform:translateX(0)}
.home-directions.is-panel-active .thinking-thread-line{transform:scaleX(1)}
.home-directions.is-panel-active .thinking-thread-point{opacity:1;transform:translate(50%,-50%) scale(1)}

/* Section 04: pure centred closing statement and larger CTAs. */
.home-closing-inner{
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:min(var(--safe),1000px)!important;
  padding-top:0!important;
}
.home-closing-copy{
  width:min(100%,820px);
  max-width:820px!important;
  margin:0 auto;
  text-align:center;
  align-self:center;
}
.home-closing-copy .home-transition-eyebrow{margin-bottom:20px}
.home-closing-copy h2{max-width:none;margin-inline:auto;font-size:clamp(64px,6.2vw,106px)}
.home-closing-copy .home-transition-lead{
  max-width:650px;
  margin:28px auto 0;
  font-size:clamp(14px,1vw,17px);
}
.home-closing-links{
  justify-content:center;
  gap:clamp(14px,1.5vw,22px);
  margin-top:clamp(40px,5vh,58px);
}
.home-closing-link{
  min-width:clamp(190px,15vw,230px);
  min-height:60px;
  justify-content:center;
  padding:0 28px;
  gap:24px;
  font-size:13px;
  letter-spacing:.06em;
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.035);
}
.home-closing-link b{font-size:20px}
.home-closing-link:hover{
  transform:translateY(-4px) scale(1.015);
  border-color:rgba(255,255,255,.50);
  background:rgba(255,255,255,.075);
}

/* The transition screens should breathe without looking disconnected. */
.home-directions .home-transition-shade,
.home-closing .home-transition-shade{
  background:
    linear-gradient(180deg,rgba(4,16,24,.52),rgba(4,16,24,.64)),
    radial-gradient(circle at 25% 38%,rgba(239,140,80,.055),transparent 30%),
    radial-gradient(circle at 72% 62%,rgba(116,174,211,.045),transparent 32%);
}

@media(max-width:800px){
  .home-thinking-inner{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    gap:22px;
  }
  .thinking-thread{
    grid-column:1;
    grid-row:2;
    justify-self:start;
    width:min(74vw,360px);
    height:52px;
  }
  .home-closing-inner{padding:70px 20px 92px!important}
  .home-closing-copy h2{font-size:clamp(52px,13vw,76px)}
  .home-closing-links{flex-direction:column;align-items:center;width:100%}
  .home-closing-link{width:min(82vw,280px);min-height:56px}
}

@media(prefers-reduced-motion:reduce){
  .thinking-thread,.thinking-thread-line,.thinking-thread-point{transition-duration:.01ms!important;transition-delay:0ms!important}
}

/* Header download action: mirrors the existing language control without changing navigation logic. */
.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}
.nav-download-button{min-width:94px;min-height:38px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.38);border-radius:7px;background:rgba(5,16,24,.22);color:#fff;font-weight:700;font-size:14px;line-height:1;text-decoration:none;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .38s cubic-bezier(.2,.8,.2,1),background .28s ease,border-color .28s ease,box-shadow .28s ease}
.nav-download-button:hover{transform:translateY(-1px) scale(1.035);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.68);box-shadow:0 12px 30px rgba(0,0,0,.18),0 0 22px rgba(255,255,255,.045)}
.nav-download-button:active{transform:translateY(0) scale(.985)}
.nav-download-button b{font-size:14px;font-weight:800;line-height:1}

@media(max-width:800px){
  .header-actions{gap:7px}
  .nav-download-button{min-width:82px;min-height:36px;padding:0 10px;font-size:13px}
}
@media(max-width:520px){
  .header-actions{gap:5px}
  .nav-download-button{min-width:72px;padding:0 8px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.nav-download-button{transition-duration:.01ms}}

/* Compact header actions for narrow phones. */
@media(max-width:520px){
  .header-grid{column-gap:8px}
  .brand{width:116px}
  .brand img{max-width:108px}
  .language-button{min-width:76px;padding-left:8px;padding-right:8px;font-size:12px}
  .nav-download-button{min-width:68px;padding-left:7px;padding-right:7px}
}


/* HOME — bottom-right writing showcase: two A4-format cards. */
.showcase-writing-panel.showcase-writing-panel-a4{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,2vw,34px);
  padding:clamp(10px,.8vw,14px) clamp(28px,4vw,64px);
}
.showcase-writing-panel-a4 .showcase-writing-tile-a4{
  flex:0 1 auto;
  width:auto;
  height:min(88%,420px);
  max-width:38%;
  aspect-ratio:210/297;
  border-radius:clamp(10px,.8vw,14px);
}
.showcase-writing-panel-a4 .showcase-writing-tile-a4 img{
  object-fit:contain;
  background:#07131b;
  filter:saturate(.92) brightness(.90);
}
.showcase-writing-panel-a4 .showcase-writing-shade{
  background:linear-gradient(180deg,rgba(3,10,15,.02),rgba(3,10,15,.18));
}
@media(max-width:800px){
  .showcase-writing-panel.showcase-writing-panel-a4{padding:12px 18px;gap:14px}
  .showcase-writing-panel-a4 .showcase-writing-tile-a4{height:86%;max-width:42%}
}
