@charset "UTF-8";
:root{--gold:#9b742e;--ink:#25231f;--paper:#fbfaf6;--line:#d9d0be;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif);overflow-x:hidden}body.is-opening{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.opening{position:fixed;inset:0;z-index:9999;background:#050505;display:grid;place-items:center;opacity:0;animation:openingIn 2s ease forwards}.opening video{width:100%;height:100%;object-fit:contain}.opening__skip{position:absolute;right:24px;bottom:24px;color:#fff;border:1px solid #ffffff88;background:#0005;padding:10px 18px;letter-spacing:.18em;cursor:pointer}.opening.is-closing{animation:openingOut 1s ease forwards}.opening.is-hidden{display:none}@keyframes openingIn{to{opacity:1}}@keyframes openingOut{to{opacity:0;visibility:hidden}}
.site-header{height:88px;padding:12px clamp(20px,4vw,64px);display:flex;align-items:center;gap:30px;background:#fffefbf2;position:sticky;top:0;z-index:100;box-shadow:0 1px 12px #0000000b}.brand{width:260px;margin-right:auto}.brand img{width:100%;mix-blend-mode:multiply}.global-nav{display:flex;align-items:center;gap:20px;font-size:11px;letter-spacing:.08em}.global-nav a{position:relative;padding:10px 0}.global-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--gold);transition:.3s}.global-nav a:hover:after{right:0}.fan-button{padding:12px 16px;border:1px solid var(--gold);color:var(--gold);font-size:11px;letter-spacing:.12em;white-space:nowrap}.menu-button{display:none;border:0;background:none;width:40px;height:40px}.menu-button span{display:block;height:1px;background:#222;margin:8px}
.hero{height:min(760px,calc(100vh - 88px));min-height:560px;position:relative;overflow:hidden;background:#111}.hero__slide{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity 1.3s ease,transform 7s ease;background-image:linear-gradient(90deg,#fffdf7e8 0%,#fffdf766 38%,#0003 70%),var(--bg);background-size:cover;background-position:center}.hero__slide.is-active{opacity:1;transform:scale(1)}.hero__copy{position:absolute;left:7vw;top:50%;transform:translateY(-50%);max-width:620px}.hero__copy p{font-size:clamp(20px,2.3vw,34px);line-height:1.75;letter-spacing:.15em}.hero__copy h1,.hero__copy h2{font-size:clamp(66px,10vw,150px);line-height:.8;margin:.25em 0;color:var(--gold);font-weight:400;letter-spacing:.07em}.hero__copy h2{font-size:clamp(46px,7vw,100px);line-height:1.05}.hero__copy small{letter-spacing:.35em}.hero__copy--light{color:#fff;text-shadow:0 2px 24px #000}.hero__copy--light h2{color:#fff}.hero__dots{position:absolute;right:4vw;bottom:36px;display:flex;gap:12px}.hero__dots button{width:30px;height:2px;border:0;background:#ffffff88;padding:0;cursor:pointer}.hero__dots button.is-active{background:var(--gold)}.hero__scroll{position:absolute;left:50%;bottom:14px;color:#fff;font-size:9px;letter-spacing:.3em}.hero__scroll span{display:block;width:1px;height:25px;background:#fff;margin:8px auto -14px}
.section{max-width:1320px;margin:auto;padding:90px clamp(20px,5vw,70px)}.section-title{display:flex;align-items:baseline;gap:22px;border-bottom:1px solid var(--line);margin-bottom:28px}.section-title h2{color:var(--gold);font-weight:400;letter-spacing:.15em;font-size:30px;margin:0 0 14px}.section-title span{font-size:12px}.section-title a{margin-left:auto;font-size:12px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.news-card{background:#fff;border:1px solid #eee9df}.news-card img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(1)}.news-card div{padding:19px}.news-card time{font-size:11px}.news-card em{float:right;border:1px solid var(--line);padding:3px 10px;color:var(--gold);font-size:9px;font-style:normal}.news-card h3{font-size:17px;font-weight:400}.news-card p{font-size:15px;line-height:2;color:#625d54}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding-top:20px}.feature{min-height:260px;border:1px solid #e4dfd5;display:grid;grid-template-columns:48% 1fr;background:#fff;transition:.4s}.feature:hover{transform:translateY(-5px);box-shadow:0 15px 35px #695b3b18}.feature img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.feature div{padding:38px 30px;display:flex;flex-direction:column}.feature h2{color:var(--gold);font-weight:400;letter-spacing:.08em;margin:0}.feature p{font-size:15px;line-height:1.8}.feature span{margin-top:auto;border:1px solid var(--gold);padding:10px 14px;width:max-content;color:var(--gold);font-size:12px}.fan-section{margin:50px 0 0;padding:110px 20px;text-align:center;background:linear-gradient(#111b,#111b),url('../image10/hero-04.jpg') center/cover fixed;color:#fff}.fan-section p{letter-spacing:.3em}.fan-section h2{font-size:clamp(28px,5vw,60px);font-weight:400;letter-spacing:.15em}.fan-section a{display:inline-block;border:1px solid #fff;padding:15px 46px}footer{padding:50px 5vw;text-align:center;background:#f6f2e9}footer img{width:260px;margin:auto;mix-blend-mode:multiply}footer p{letter-spacing:.15em}footer small{font-size:10px}.sound-button{position:fixed;right:20px;bottom:20px;z-index:300;width:76px;height:76px;border-radius:50%;border:1px solid var(--gold);background:#fffefbe8;color:var(--gold);display:grid;place-content:center;gap:6px;box-shadow:0 5px 20px #0002;cursor:pointer}.sound-button b{font-size:8px;letter-spacing:.08em}.sound-bars{height:18px;display:flex;align-items:end;justify-content:center;gap:3px}.sound-bars i{width:2px;height:6px;background:currentColor}.sound-button.is-playing i{animation:bars .7s ease-in-out infinite alternate}.sound-button.is-playing i:nth-child(2){animation-delay:.2s}.sound-button.is-playing i:nth-child(3){animation-delay:.4s}@keyframes bars{to{height:18px}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.reveal--left{transform:translateX(-90px)}.reveal--right{transform:translateX(90px)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.global-nav{position:fixed;inset:88px 0 auto;background:#fff;padding:25px;display:grid;grid-template-columns:repeat(2,1fr);transform:translateY(-130%);transition:.4s;box-shadow:0 12px 20px #0001}.global-nav.is-open{transform:none}.menu-button{display:block}.fan-button{margin-left:auto}.brand{width:200px}.hero__copy h1{font-size:clamp(60px,13vw,120px)}}
@media(max-width:720px){.site-header{height:70px;padding:10px 15px;gap:10px}.brand{width:150px}.fan-button{font-size:9px;padding:9px}.global-nav{inset:70px 0 auto}.hero{height:calc(100svh - 70px);min-height:520px}.hero__slide{background-image:linear-gradient(0deg,#0009 0%,#0000 65%),var(--bg);background-position:center}.hero__copy{left:24px;right:24px;top:auto;bottom:80px;transform:none;color:#fff;text-shadow:0 2px 14px #000}.hero__copy h1,.hero__copy h2{color:#fff;font-size:clamp(48px,18vw,80px)}.hero__copy p{font-size:18px}.hero__copy small{font-size:8px}.hero__dots{bottom:28px}.section{padding:65px 18px}.section-title{flex-wrap:wrap;gap:8px}.section-title h2{font-size:24px}.section-title a{width:100%;text-align:right;margin:-10px 0 8px}.news-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}.feature{grid-template-columns:42% 1fr;min-height:210px}.feature div{padding:24px 18px}.feature h2{font-size:20px}.feature p{font-size:13px}.feature span{font-size:10px;padding:8px}.fan-section{background-attachment:scroll}.sound-button{width:64px;height:64px;right:12px;bottom:12px}footer{padding-bottom:100px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero__slide,.reveal{transition:none}.reveal{opacity:1;transform:none}}

/* v10 motion refinements */
body.is-opening{background:#fff}
.opening{background:#fff}
.opening video{width:500px;height:500px;max-width:min(500px,92vw);max-height:min(500px,92vw);object-fit:contain}
.opening__skip{color:var(--gold);border-color:#9b742e88;background:#fff9}
.site-header{background:rgba(255,255,255,.52)!important;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.brand{width:330px}
.section{width:100vw!important;max-width:none!important;margin:0!important;padding-left:clamp(20px,3vw,52px);padding-right:clamp(20px,3vw,52px)}
.hero-reveal{position:absolute;inset:0;z-index:20;background:#fff;perspective:1000px;overflow:hidden}
.hero-reveal canvas,.hero-reveal__cells{position:absolute;inset:0;width:100%;height:100%}
.hero-reveal__lines{position:absolute;inset:0;z-index:2;pointer-events:none;transition:opacity .3s ease}
.hero-reveal__lines.is-fading{opacity:0}
.grid-line{position:absolute;display:block;background:var(--gold);will-change:transform;transition:transform .58s cubic-bezier(.22,.75,.25,1)}
.grid-line--vertical{top:0;width:1px;height:100%;transform:scaleY(0)}
.grid-line--horizontal{left:0;width:100%;height:1px;transform:scaleX(0)}
.grid-line.is-drawn{transform:scale(1)}
.hero-reveal__cells{display:grid}
/* 方眼線は .grid-line のみで描画。白セルには枠線を付けない。 */
.hero-reveal__cell{display:block;background:#fff;border:0;transform-origin:50% 0;will-change:transform,opacity;transition:transform .68s cubic-bezier(.55,.05,.75,.25),opacity .55s ease}
.hero-reveal__cell.is-peeled{transform:rotateX(105deg) translateY(-18px) scale(.94);opacity:0}
.hero-reveal.is-finished{pointer-events:none!important;opacity:0!important;visibility:hidden!important;transition:opacity .3s ease,visibility 0s .3s}
.back-top{position:fixed;right:20px;bottom:108px;z-index:300;width:76px;height:76px;border-radius:50%;border:1px solid var(--gold);background:#fffefbe8;color:var(--gold);display:grid;place-content:center;gap:1px;box-shadow:0 5px 20px #0002;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:.35s}
.back-top.is-visible{opacity:1;visibility:visible;transform:none}
.back-top span{font-size:22px;line-height:1}.back-top b{font-size:8px;letter-spacing:.12em}
@media(max-width:1100px){.brand{width:240px}}
@media(max-width:720px){.brand{width:190px}.back-top{width:64px;height:64px;right:12px;bottom:84px}}
@media(prefers-reduced-motion:reduce){.hero-reveal{display:block}}
.hero__slide{background:#111!important}
.hero__slide::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fffdf7e8 0%,#fffdf766 38%,#0003 70%);pointer-events:none}
.hero__image{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block}
.hero__copy{z-index:2}
@media(max-width:720px){.hero__slide::after{background:linear-gradient(0deg,#0009 0%,#0000 65%)}}


/* ===== FIX10 : premium translucency / hero type / gold trace / hover motion ===== */
/* 1) 半透明ヘッダーとロゴの質感を統一 */
.site-header .brand img{
  opacity:.58;
  mix-blend-mode:multiply;
  transition:opacity .45s ease,filter .45s ease,transform .45s cubic-bezier(.2,.75,.2,1);
}
.site-header .brand:hover img{
  opacity:.76;
  filter:contrast(1.04);
  transform:translateY(-1px);
}

/* 2) キービジュアル内文字を約2回り小さく */
.hero__copy{max-width:560px}
.hero__copy p{
  font-size:clamp(15px,1.55vw,24px);
  line-height:1.8;
  letter-spacing:.14em;
}
.hero__copy h1{
  font-size:clamp(48px,7.2vw,108px);
  line-height:.88;
}
.hero__copy h2{
  font-size:clamp(34px,5vw,72px);
  line-height:1.08;
}
.hero__copy small{
  font-size:clamp(8px,.78vw,11px);
  letter-spacing:.30em;
}

/* 3) 7秒に1回、1pxのゴールド光が辺を一周 */
.news-card,.feature,.fan-section{
  position:relative;
  isolation:isolate;
}
.news-card,.feature{
  overflow:hidden;
}
.news-card::before,.feature::before,.fan-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  padding:1px;
  opacity:0;
  background:conic-gradient(
    from 0deg,
    transparent 0deg 348deg,
    rgba(155,116,46,0) 348deg,
    rgba(227,196,121,.18) 351deg,
    rgba(255,235,178,.98) 355deg,
    rgba(155,116,46,.88) 358deg,
    transparent 360deg
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:goldEdgeTrace 7s linear infinite;
  filter:drop-shadow(0 0 2px rgba(197,155,66,.55));
}
@keyframes goldEdgeTrace{
  0%{transform:rotate(0deg);opacity:0}
  2%{opacity:1}
  18%{transform:rotate(360deg);opacity:1}
  21%,100%{transform:rotate(360deg);opacity:0}
}

/* 4) オンマウス時の上質な浮遊＋光＋写真モーション */
.news-card,.feature{
  transition:
    transform .72s cubic-bezier(.16,1,.3,1),
    box-shadow .72s cubic-bezier(.16,1,.3,1),
    border-color .5s ease,
    background-color .5s ease;
  will-change:transform;
}
.news-card::after,.feature::after{
  content:"";
  position:absolute;
  top:-40%;
  left:-70%;
  width:34%;
  height:180%;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);
  transform:skewX(-18deg);
  opacity:0;
}
.news-card:hover,.feature:hover{
  transform:translateY(-9px) scale(1.012);
  border-color:rgba(155,116,46,.48);
  box-shadow:0 24px 56px rgba(68,53,24,.14),0 5px 15px rgba(68,53,24,.08);
  background:#fffefa;
}
.news-card:hover::after,.feature:hover::after{
  opacity:1;
  animation:luxurySweep 1.05s cubic-bezier(.22,.61,.36,1) 1;
}
@keyframes luxurySweep{
  from{left:-70%}
  to{left:140%}
}
.news-card img,.feature img{
  transition:transform 1.05s cubic-bezier(.16,1,.3,1),filter .85s ease,opacity .85s ease;
}
.news-card:hover img,.feature:hover img{
  transform:scale(1.055);
  filter:grayscale(.72) contrast(1.03);
}
.news-card h3,.feature h2,.feature span{
  transition:color .45s ease,letter-spacing .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1),background-color .45s ease;
}
.news-card:hover h3{
  color:#6f5420;
  transform:translateX(3px);
}
.feature:hover h2{
  letter-spacing:.12em;
  transform:translateX(3px);
}
.feature:hover span{
  transform:translateX(6px);
  background:rgba(155,116,46,.06);
}

@media(max-width:720px){
  .site-header .brand img{opacity:.62}
  .hero__copy p{font-size:14px;line-height:1.7}
  .hero__copy h1{font-size:clamp(38px,13vw,60px)}
  .hero__copy h2{font-size:clamp(30px,10vw,48px)}
  .hero__copy small{font-size:7px;letter-spacing:.22em}
  .news-card:hover,.feature:hover{transform:translateY(-5px) scale(1.006)}
}

@media(prefers-reduced-motion:reduce){
  .news-card::before,.feature::before,.fan-section::before{animation:none;opacity:.28}
  .news-card::after,.feature::after{display:none}
  .news-card:hover,.feature:hover{transform:none}
}

/* ===== FIX11 : header transparency + true 1px perimeter trace ===== */
/* ヘッダーは最上部ではほぼ不透明、スクロール後のみ半透明へ。 */
.site-header{
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(0px);
  -webkit-backdrop-filter:blur(0px);
  transition:background-color .45s ease,backdrop-filter .45s ease,-webkit-backdrop-filter .45s ease,box-shadow .45s ease;
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.48)!important;
  backdrop-filter:blur(11px) saturate(1.05);
  -webkit-backdrop-filter:blur(11px) saturate(1.05);
  box-shadow:0 1px 14px rgba(0,0,0,.055);
}
/* JPGの白い四角を使わず透過PNGを使用。ロゴ自体は最初から薄くしない。 */
.site-header .brand img{
  opacity:1!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  transition:opacity .45s ease,transform .45s cubic-bezier(.2,.75,.2,1);
}
.site-header.is-scrolled .brand img{opacity:.88!important}
.site-header .brand:hover img{opacity:1!important;transform:translateY(-1px)}

/* FIX10のconic-gradient式トレースを完全停止。長方形で太く見える原因を除去。 */
.news-card::before,.feature::before,.fan-section::before{
  content:none!important;
  display:none!important;
  animation:none!important;
  background:none!important;
  filter:none!important;
}

/* JSで挿入する固定長46px / 厚さ1pxの光。常に「辺の上」だけを走る。 */
.edge-trace{
  position:absolute;
  left:0;
  top:0;
  z-index:7;
  width:46px;
  height:1px;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,rgba(155,116,46,0),rgba(255,235,178,.98) 42%,rgba(155,116,46,.92) 66%,rgba(155,116,46,0));
  box-shadow:0 0 2px rgba(197,155,66,.55);
  transform-origin:0 0;
  will-change:transform,width,height,opacity;
}
.edge-trace.is-vertical{
  width:1px;
  height:46px;
  background:linear-gradient(180deg,rgba(155,116,46,0),rgba(255,235,178,.98) 42%,rgba(155,116,46,.92) 66%,rgba(155,116,46,0));
}

@media(max-width:720px){
  .site-header .brand img{opacity:1!important}
  .site-header.is-scrolled .brand img{opacity:.88!important}
}
@media(prefers-reduced-motion:reduce){
  .edge-trace{display:none!important}
}


/* ===== FIX12 : robust edge trace + 2s panel route animation ===== */
.news-card,.feature{
  transform-origin:center center;
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
.news-card.is-clickable,
.feature[href]{cursor:pointer}
.edge-trace{
  mix-blend-mode:screen;
  border-radius:999px;
  z-index:12;
  box-shadow:0 0 3px rgba(255,226,148,.95),0 0 7px rgba(197,155,66,.38);
}

body.is-routing{
  cursor:progress;
}
body.is-routing .feature,
body.is-routing .news-card,
body.is-routing .fan-section a,
body.is-routing .global-nav a,
body.is-routing .fan-button,
body.is-routing .back-top,
body.is-routing .sound-button{
  pointer-events:none!important;
}
body.is-routing main > *{
  transition:opacity .55s ease,filter .55s ease;
}
body.is-routing main > *{
  opacity:.9;
  filter:saturate(.96);
}
body.is-routing .panel-jump-target{
  opacity:1;
  filter:none;
  z-index:40;
}
.panel-jump-target{
  will-change:transform,opacity,box-shadow,filter;
  box-shadow:0 18px 46px rgba(49,37,13,.10);
}
.panel-jump-target.is-panel-routing{
  animation:panelRouteFlipZoom 2s cubic-bezier(.18,.88,.18,1) forwards;
}
@keyframes panelRouteFlipZoom{
  0%{
    opacity:1;
    transform:translateY(0) rotateY(0deg) scale(1);
    box-shadow:0 18px 46px rgba(49,37,13,.10);
    filter:brightness(1);
  }
  18%{
    opacity:1;
    transform:translateY(-6px) rotateY(-16deg) scale(1.02);
    box-shadow:0 24px 60px rgba(49,37,13,.12);
    filter:brightness(1.01);
  }
  58%{
    opacity:.92;
    transform:translateY(-10px) rotateY(122deg) scale(1.10);
    box-shadow:0 34px 86px rgba(49,37,13,.18);
    filter:brightness(1.02);
  }
  100%{
    opacity:0;
    transform:translateY(-18px) rotateY(188deg) scale(1.22);
    box-shadow:0 42px 96px rgba(49,37,13,.12);
    filter:brightness(1.05);
  }
}
@media(prefers-reduced-motion:reduce){
  .panel-jump-target.is-panel-routing{animation:none;opacity:.15;transition:opacity .2s ease}
}


/* ===== FIX13 : thinner border light + true flip animation ===== */
.feature-grid,.news-grid{perspective:1600px;perspective-origin:50% 45%;}
.edge-trace{
  mix-blend-mode:normal!important;
  border-radius:0!important;
  box-shadow:0 0 1px rgba(255,224,140,.45)!important;
  filter:none!important;
}
.edge-trace.is-vertical{
  box-shadow:0 0 1px rgba(255,224,140,.45)!important;
}
.panel-jump-target{
  position:relative;
  z-index:80;
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
body.is-routing .section,
body.is-routing .feature-grid,
body.is-routing .fan-section{
  transition:opacity .45s ease,filter .45s ease;
}
body.is-routing .feature-grid,
body.is-routing .section,
body.is-routing .fan-section{opacity:.88;filter:saturate(.96)}
body.is-routing .panel-jump-target{opacity:1!important;filter:none!important}
.panel-jump-target.is-panel-routing{
  animation:panelRouteFlipZoomV2 2s cubic-bezier(.2,.85,.2,1) forwards!important;
}
@keyframes panelRouteFlipZoomV2{
  0%{
    opacity:1;
    transform:perspective(1400px) translate3d(0,0,0) rotateY(0deg) scale(1);
    box-shadow:0 18px 46px rgba(49,37,13,.10);
  }
  16%{
    opacity:1;
    transform:perspective(1400px) translate3d(0,-8px,48px) rotateY(-22deg) scale(1.03);
    box-shadow:0 24px 56px rgba(49,37,13,.14);
  }
  42%{
    opacity:.98;
    transform:perspective(1400px) translate3d(0,-12px,100px) rotateY(92deg) scale(1.10);
    box-shadow:0 28px 70px rgba(49,37,13,.16);
  }
  72%{
    opacity:.72;
    transform:perspective(1400px) translate3d(0,-16px,138px) rotateY(168deg) scale(1.17);
    box-shadow:0 36px 88px rgba(49,37,13,.14);
  }
  100%{
    opacity:0;
    transform:perspective(1400px) translate3d(0,-20px,166px) rotateY(198deg) scale(1.23);
    box-shadow:0 44px 104px rgba(49,37,13,.10);
  }
}


/* ===== FIX14 : SVG 1px perimeter light + fixed clone transition ===== */
.edge-trace{display:none!important}
.edge-trace-svg{
  position:absolute!important; inset:0!important; width:100%!important; height:100%!important;
  z-index:14!important; pointer-events:none!important; overflow:visible!important;
}
.edge-trace-svg rect{
  fill:none!important; stroke:#c69a45!important; stroke-width:1!important;
  vector-effect:non-scaling-stroke!important; stroke-linecap:butt!important;
  stroke-dasharray:6 94; stroke-dashoffset:100; opacity:0;
}
.edge-trace-svg.is-running rect{animation:edgeSvgTrace 1.9s linear 1}
@keyframes edgeSvgTrace{
  0%{stroke-dashoffset:100;opacity:0}
  6%{opacity:.95}
  88%{opacity:.95}
  100%{stroke-dashoffset:0;opacity:0}
}
.panel-flight-clone{
  position:fixed!important; margin:0!important; z-index:99998!important;
  transform-origin:center center!important; transform-style:preserve-3d!important;
  backface-visibility:hidden!important; pointer-events:none!important;
  overflow:hidden!important;
}
body.is-routing::before{
  content:""; position:fixed; inset:0; z-index:99990; pointer-events:none;
  background:rgba(255,255,255,0); animation:routeVeil 2s ease forwards;
}
@keyframes routeVeil{0%{background:rgba(255,255,255,0)}65%{background:rgba(255,255,255,.12)}100%{background:rgba(255,255,255,.34)}}

/* ===== FIX16 : INFORMATION route animation + 2x / 2-turn flight ===== */
.news-card{cursor:pointer}
.panel-flight-clone{
  will-change:transform,opacity,filter!important;
  transform-style:preserve-3d!important;
  backface-visibility:visible!important;
}

/* ===== FIX17 : keep hero cell reveal active even with iOS Reduce Motion ===== */
@media (prefers-reduced-motion: reduce){
  .hero-reveal{display:block!important;}
  .grid-line{transition:transform .58s cubic-bezier(.22,.75,.25,1)!important;}
  .hero-reveal__cell{transition:transform .68s cubic-bezier(.55,.05,.75,.25),opacity .55s ease!important;}
}
