/* The approved “虹彩影像” homepage. Artwork and interactive type stay separate. */
.navbar{padding-inline:5vw}
.brand{gap:10px}
.brand>span,.brand b{font-size:28px;font-weight:550}
.desktop-navigation{width:clamp(376px,30vw,476px);justify-content:space-between;padding:5px 14px 5px 30px}
.desktop-navigation .nav-link{font-size:16px;line-height:1.5;padding:6px 15px}
.desktop-navigation .nav-contact{font-size:16px;line-height:1.3;padding:9px 24px;margin-left:8px}

.hero{height:100svh;min-height:720px;background:#09090b;display:block}
.hero-art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:50% 100%;pointer-events:none;user-select:none}
.hero-content{position:absolute;top:14.1%;left:50%;transform:translateX(-50%);width:min(94vw,1200px);padding:0;text-align:center;text-shadow:none}
.hero-studio-label{font-size:clamp(9px,.88vw,14px);line-height:1.5;letter-spacing:.42em;margin:0 0 22px;opacity:.9}
.hero-heading{font-family:var(--display);font-style:italic;font-size:clamp(70px,11.3vw,180px);font-weight:400;line-height:.82;letter-spacing:-.045em}
.hero-heading>span{display:block;white-space:nowrap}
.hero-heading>span:last-child{font-size:.88em}
.hero-subtitle{font-size:clamp(22px,2.4vw,38px);font-weight:400;line-height:1.4;letter-spacing:.075em;margin-top:32px}
.hero-services{font-size:clamp(10px,1.01vw,16px);line-height:1.4;letter-spacing:.16em;color:rgba(255,255,255,.83);margin-top:24px}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:0;margin-top:22px}
.hero-actions .button{min-width:177px;font-size:16px;line-height:1.5;padding:14px 27px;gap:15px;background:rgba(10,10,10,.25);border-color:rgba(255,255,255,.48);box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hero-actions .button:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.85);transform:translateY(-2px)}
.hero-actions .button-stream{--stream-x:50%;--stream-y:0px;--stream-edge:radial-gradient(circle 65px at var(--stream-x) var(--stream-y),#fff 0%,#d1efff 13%,#78bfffcc 35%,#458fff66 58%,#388bff00 100%);--stream-mirror:radial-gradient(circle 65px at var(--stream-x) calc(100% - var(--stream-y)),#fff 0%,#d1efff 13%,#78bfffcc 35%,#458fff66 58%,#388bff00 100%);--stream-light:radial-gradient(ellipse 70px 45px at var(--stream-x) var(--stream-y),#75baffb3,#488fff66 45%,#388bff00 100%);--stream-light-mirror:radial-gradient(ellipse 70px 45px at var(--stream-x) calc(100% - var(--stream-y)),#75baffb3,#488fff66 45%,#388bff00 100%);--stream-edge-paint:var(--stream-edge);--stream-glow-paint:var(--stream-light);position:relative;isolation:isolate;overflow:visible;border-color:rgba(177,206,240,.42);background:linear-gradient(115deg,rgba(13,25,43,.78),rgba(14,22,35,.63));box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 5px 24px rgba(0,0,0,.16);transition:background .3s,border-color .3s,transform .3s cubic-bezier(.2,0,.2,1)}
.button-stream>span[aria-hidden]{position:absolute;inset:-1px;border-radius:inherit;pointer-events:none}
.button-stream .stream-bloom{z-index:-1;background:var(--stream-glow-paint);filter:blur(16px);opacity:.75;transition:filter .4s,opacity .4s}
.button-stream .stream-rim{padding:1.2px;background:var(--stream-edge-paint);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.button-stream .stream-inner{inset:0;overflow:hidden}
.button-stream .stream-inner::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:3px;background:var(--stream-edge-paint);filter:blur(3px);opacity:.65;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.button-stream .stream-label{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:inherit;z-index:1}
.button-stream .stream-label svg{transition:transform .3s cubic-bezier(.2,0,.2,1)}
.button-stream:is(:hover,:focus-visible) .stream-label svg{transform:translate(2px,-2px)}
.hero-actions .button-stream:is(:hover,:focus-visible){--stream-edge-paint:var(--stream-edge),var(--stream-mirror);--stream-glow-paint:var(--stream-light),var(--stream-light-mirror);background:linear-gradient(115deg,rgba(18,36,61,.88),rgba(16,30,51,.78));border-color:rgba(177,216,255,.6);transform:translateY(-2px) scale(1.035)}
.button-stream:is(:hover,:focus-visible) .stream-bloom{filter:blur(23px);opacity:1}
.hero-actions .button-stream:focus-visible{outline:2px solid #c6e4ff;outline-offset:7px}
.hero-actions .button-stream:active{transform:translateY(0) scale(.99)}
@media(prefers-reduced-motion:reduce){.hero-actions .button-stream,.hero-actions .button-stream:is(:hover,:focus-visible,:active),.button-stream:is(:hover,:focus-visible) .stream-label svg{transform:none}.button-stream,.button-stream *{transition:none!important}}
.hero-bottom{left:2.8vw;right:2.8vw;bottom:4.3%;gap:24px;flex-wrap:nowrap;font-size:clamp(9px,.7vw,11px);line-height:1.5;letter-spacing:.24em;color:rgba(255,255,255,.85)}
.hero-bottom>p{display:block;width:auto;font-size:inherit;letter-spacing:inherit}
.hero-scroll-link{font-size:inherit;letter-spacing:.3em;white-space:nowrap}
.hero-scroll-link:hover{color:#fff}
.hero-bottom-actions{display:flex;align-items:center;gap:16px}
.hero-motion-toggle{width:29px;height:29px;flex:0 0 auto;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;padding:0;background:rgba(10,10,10,.18)}
.hero-motion-toggle:hover{background:rgba(255,255,255,.13);border-color:#fff}

@media(max-width:1304px){
  .desktop-navigation{width:376px;padding-left:18px;padding-right:7px}
  .desktop-navigation .nav-link{font-size:13px;padding:9px 14px}
  .desktop-navigation .nav-contact{font-size:13px;padding:11px 20px}
  .brand>span,.brand b{font-size:22px}
}
@media(max-width:759px){
  .navbar{padding-inline:22px}
  .brand>span,.brand b{font-size:20px}
  .hero{height:100svh;min-height:680px}
  .hero-content{top:16%;width:calc(100% - 32px);padding:0}
  .hero-studio-label{font-size:9px;line-height:1.5;letter-spacing:.3em;margin-bottom:20px}
  .hero-heading{font-size:clamp(58px,15.4vw,96px);line-height:.9;letter-spacing:-.04em}
  .hero-subtitle{font-size:24px;line-height:1.4;letter-spacing:.055em;margin-top:24px}
  .hero-services{font-size:9px;line-height:1.8;letter-spacing:.09em;margin-top:16px}
  .hero-actions{margin-top:22px;gap:0}
  .hero-actions .button{min-width:0;font-size:12px;padding:12px 22px;gap:12px}
  .hero-actions .button svg{width:15px;height:15px}
  .hero-bottom{left:22px;right:22px;bottom:30px;gap:18px;font-size:8px;letter-spacing:.16em;flex-wrap:nowrap}
  .hero-bottom>p{width:auto}
  .hero-scroll-link{letter-spacing:.18em}
  .hero-bottom-actions{gap:12px}
  .hero-motion-toggle{width:26px;height:26px}
}
@media(max-width:359px){
  .hero-heading{font-size:15.4vw}
  .hero-studio-label{font-size:8px;letter-spacing:.26em}
  .hero-subtitle{font-size:21px}
  .hero-services{font-size:8px}
  .hero-bottom{left:16px;right:16px;font-size:7px;gap:12px}
}
@media(min-width:760px) and (max-height:760px){
  .hero{min-height:650px}
  .hero-content{top:15%}
  .hero-heading{font-size:min(10vw,142px)}
  .hero-studio-label{margin-bottom:18px}
  .hero-subtitle{font-size:29px;margin-top:24px}
  .hero-services{font-size:12px;margin-top:15px}
  .hero-actions{margin-top:18px}
  .hero-actions .button{font-size:13px;padding:11px 23px}
}
