/* The home page is a single, navigable world. Each island occupies one face
   of the orbit; the page itself stays still while the scene turns. */
html:has(.orbit-home){height:100%;overflow:hidden;scroll-behavior:auto}
.orbit-home{height:100svh;overflow:hidden;background:radial-gradient(ellipse at 91% 22%,#fff2cd 0,transparent 45%),linear-gradient(170deg,#bcc2ce 0%,#e9d6c5 48%,#eacbb3 77%,#eadacb 100%)}
.orbit-home .site-header{position:fixed;z-index:60}
.orbit-home .brand img,.orbit-home .footer-brand img{filter:invert(1)}
.scene-stage{position:relative;width:100%;height:100svh;overflow:hidden;perspective:1800px;perspective-origin:50% 48%;--orbit-radius:max(700px,68vw)}
.scene-orbit{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(calc(-1 * var(--orbit-radius))) rotateY(var(--orbit-angle,0deg));transition:transform 900ms cubic-bezier(.65,0,.2,1);will-change:transform}
.orbit-home .orbit-panel{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;margin:0;background:none;transform:rotateY(calc(var(--scene-index) * 90deg)) translateZ(var(--orbit-radius));backface-visibility:hidden;opacity:0;pointer-events:none;transition:opacity 380ms ease;overflow:hidden}
.orbit-home .orbit-panel.is-active,.orbit-home .orbit-panel.is-leaving{opacity:1}
.orbit-home .orbit-panel.is-active{pointer-events:auto}
.orbit-home .orbit-panel.is-leaving{pointer-events:none}
.orbit-home .reveal,.orbit-home .reveal.waiting{opacity:1;translate:none;transition:none}
.orbit-home .hero-type{top:clamp(110px,15svh,170px)}
.orbit-home .hero-type h1{font-size:clamp(80px,11.4vw,168px)}
.orbit-home .hero-world{--hero-size:min(760px,68vw,calc(100svh - 235px));width:var(--hero-size);height:var(--hero-size);top:clamp(155px,20svh,225px);margin-left:calc(var(--hero-size) / -2)}
.orbit-home .hero-bottom{bottom:100px;font-size:13px}
.orbit-home .hero-bottom a span{display:inline-block;rotate:-90deg}
.orbit-home .distant-one{top:43%;left:4%;width:140px}
.orbit-home .distant-two{top:54%;right:4%;width:100px}
.orbit-home .cloud-hero-front{bottom:-225px;opacity:.5}
.orbit-home .about-reveal{bottom:102px;z-index:20;max-height:calc(100svh - 205px);overflow:auto}
.orbit-home .work-section,.orbit-home .partners-section{padding:clamp(100px,11svh,130px) 28px 0}
.orbit-home .section-heading h2{font-size:clamp(48px,5.6vw,78px)}
.orbit-home .section-heading p{font-size:14px;margin-bottom:8px}
.orbit-home .section-heading h2+p{margin-top:12px}
.orbit-home .work-world{width:min(880px,calc((100svh - 290px) * 1.45),100%);height:calc(100svh - 240px);margin:32px auto 0;padding:0}
.orbit-home .work-gallery{grid-template-columns:1fr 1fr;gap:22px 28px;max-width:none}
.orbit-home .work-card{padding:8px 8px 0;border-radius:6px;box-shadow:0 5px 0 #c1b49f,0 9px 0 #998973,0 18px 24px #241d342b}
.orbit-home .work-image{aspect-ratio:2.05}
.orbit-home .work-caption{padding:10px 9px 12px}
.orbit-home .work-caption h3{font-size:clamp(21px,2.1vw,29px)}
.orbit-home .work-caption p{font-size:12px;margin-bottom:1px}
.orbit-home .work-arrow{font-size:23px}
.orbit-home .work-card:nth-child(2n){transform:translateY(18px)}
.orbit-home .work-card:hover,.orbit-home .work-card:focus-visible{transform:translateY(-6px)}
.orbit-home .work-card:nth-child(2n):hover,.orbit-home .work-card:nth-child(2n):focus-visible{transform:translateY(12px)}
.orbit-home .work-platform{width:calc(100% + 180px);height:min(600px,calc(100svh - 340px));left:-90px;top:90px;margin:0}
.orbit-home .cloud-work-left{top:49%;opacity:.65}
.orbit-home .cloud-work-right{bottom:-225px;opacity:.5}
.orbit-home .partners-world{width:min(1020px,90vw);height:calc(100svh - 245px);margin:38px auto 0;padding:0}
.orbit-home .logo-deck{width:94%;grid-template-columns:repeat(6,1fr);gap:clamp(16px,2.2svh,24px) 28px;padding:clamp(24px,3svh,34px) 36px;transform:perspective(1300px) rotateX(7deg) rotateZ(-2deg)}
.orbit-home .logo-deck img{height:clamp(42px,6svh,64px)}
.orbit-home .partners-platform{width:110%;height:min(540px,calc(100svh - 340px));left:-5%;margin:0;top:95px}
.orbit-home .cloud-partners-left{top:49%;opacity:.65}
.orbit-home .cloud-partners-right{bottom:-210px;opacity:.55}
.orbit-home .site-footer{padding:clamp(145px,22svh,240px) 7vw 100px}
.orbit-home .site-footer:before{display:none}
.orbit-home .footer-invitation{margin-bottom:clamp(45px,7svh,85px)}
.orbit-home .footer-invitation h2{font-size:clamp(44px,6.3vw,84px)}
.orbit-home .footer-main{max-width:1050px}
.orbit-home .footer-bottom{max-width:1050px;margin:clamp(32px,5svh,55px) auto 0}
.scene-controls{position:absolute;z-index:50;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:6px;border:1px solid #fff9;border-radius:40px;background:#f8edddbf;box-shadow:0 8px 28px #63544314;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);white-space:nowrap}
.scene-controls nav{display:flex;align-items:center;gap:2px}
.scene-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:0;border-radius:30px;background:transparent;font-size:13px;padding:9px 19px;transition:background .2s,color .2s,box-shadow .2s}
.scene-controls button:hover{background:#fffc}
.scene-controls button[aria-pressed=true]{background:#302d28;color:#fff7e9;box-shadow:0 3px 8px #302d2820}
.scene-controls .scene-prev,.scene-controls .scene-next{width:40px;padding:0;font-size:20px}
.scene-controls button:focus-visible{outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.motion-paused .scene-orbit{transition:none}
.scene-orbit.is-instant{transition:none}
.scene-orbit.is-settled{transform:none;transition:none;will-change:auto}
.scene-orbit.is-settled .orbit-panel{transform:none;visibility:hidden}
.scene-orbit.is-settled .orbit-panel.is-active{visibility:visible}
.scene-orbit.is-transitioning .orbit-panel{pointer-events:none}
.orbit-home .work-section .cloud,.orbit-home .partners-section .cloud{z-index:0}
.orbit-home .work-world,.orbit-home .partners-world{z-index:2}
@media(max-height:780px) and (min-width:768px){
  .orbit-home .site-header{height:78px}
  .orbit-home .hero-type{top:105px}
  .orbit-home .hero-type p{margin-bottom:8px;font-size:18px}
  .orbit-home .hero-type h1{font-size:min(11vw,145px)}
  .orbit-home .hero-world{top:160px;--hero-size:min(660px,60vw,calc(100svh - 245px))}
  .orbit-home .hero-bottom{bottom:88px}
  .orbit-home .work-section,.orbit-home .partners-section{padding-top:90px}
  .orbit-home .section-heading h2{font-size:56px}
  .orbit-home .work-world{margin-top:24px}
  .orbit-home .partners-world{width:min(900px,86vw);margin-top:26px}
  .orbit-home .logo-deck{gap:16px 26px;padding:24px 32px}
  .orbit-home .logo-deck img{height:44px}
  .orbit-home .site-footer{padding-top:150px}
  .orbit-home .footer-invitation{margin-bottom:44px}
  .orbit-home .footer-invitation h2{font-size:64px}
  .orbit-home .footer-bottom{margin-top:30px;padding-top:18px}
  .scene-controls{bottom:20px}
}
@media(max-width:767px){
  .scene-stage{perspective:1200px;--orbit-radius:max(480px,85vw)}
  .orbit-home .site-header{height:78px;gap:16px;padding:0 22px}
  .orbit-home .site-header nav{gap:20px}
  .orbit-home .hero-type{top:123px;padding:0 14px}
  .orbit-home .hero-type p{font-size:14px;max-width:none;margin-bottom:10px}
  .orbit-home .hero-type h1{font-size:11.3vw;letter-spacing:-.055em}
  .orbit-home .hero-world{--hero-size:min(112vw,calc(100svh - 280px));top:clamp(210px,28svh,260px)}
  .orbit-home .hero-bottom{bottom:92px;left:24px;right:24px;font-size:12px}
  .orbit-home .pixel-red{width:20%;left:8%;top:5%}
  .orbit-home .pixel-green{width:18%;right:8%;top:0}
  .orbit-home .pixel-blue{width:21%;right:8%;top:41%}
  .orbit-home .distant-one{width:85px;left:-24px;top:33%}
  .orbit-home .distant-two{width:75px;right:-18px;top:60%}
  .orbit-home .cloud-hero-front{bottom:-180px;left:-70px}
  .orbit-home .about-reveal{bottom:90px;padding:22px 34px 20px 23px;width:calc(100% - 32px)}
  .orbit-home .about-reveal h2{font-size:25px}
  .orbit-home .about-reveal p{font-size:13px}
  .orbit-home .work-section,.orbit-home .partners-section{padding:110px 21px 0}
  .orbit-home .section-heading h2{font-size:clamp(40px,10.5vw,64px)}
  .orbit-home .section-heading p{font-size:13px}
  .orbit-home .section-heading h2+p{margin-top:10px}
  .orbit-home .work-world{width:100%;height:calc(100svh - 230px);margin-top:42px}
  .orbit-home .work-gallery{grid-template-columns:1fr 1fr;gap:22px 14px}
  .orbit-home .work-card{padding:5px 5px 0;border-radius:5px;box-shadow:0 4px 0 #c1b49f,0 7px 0 #998973,0 14px 18px #241d3425}
  .orbit-home .work-image{aspect-ratio:1.4}
  .orbit-home .work-caption{padding:9px 4px 11px;gap:3px;align-items:flex-end}
  .orbit-home .work-caption p{font-size:12px;line-height:1.3;min-height:31px}
  .orbit-home .work-caption h3{font-size:clamp(17px,4.9vw,27px);line-height:1.08;letter-spacing:-.035em}
  .orbit-home .work-arrow{font-size:18px}
  .orbit-home .work-card:nth-child(2n){transform:translateY(20px)}
  .orbit-home .work-card:nth-child(2n):hover,.orbit-home .work-card:nth-child(2n):focus-visible{transform:translateY(14px)}
  .orbit-home .work-platform{width:calc(100% + 130px);height:min(440px,calc(100svh - 370px));left:-65px;top:86px;margin:0}
  .orbit-home .cloud-work-right{bottom:-240px;right:-310px}
  .orbit-home .partners-world{width:100%;height:calc(100svh - 220px);margin-top:36px}
  .orbit-home .logo-deck{width:100%;grid-template-columns:repeat(4,1fr);gap:18px 16px;padding:24px 18px;transform:perspective(1300px) rotateX(3deg) rotateZ(-2deg)}
  .orbit-home .logo-deck img{height:36px}
  .orbit-home .partners-platform{width:calc(100% + 110px);height:min(420px,calc(100svh - 350px));left:-55px;top:115px;margin:0}
  .orbit-home .site-footer{padding:clamp(135px,18svh,175px) 25px 100px}
  .orbit-home .footer-invitation{margin-bottom:clamp(40px,6svh,60px)}
  .orbit-home .footer-invitation h2{font-size:clamp(39px,11.5vw,58px);max-width:390px;margin-bottom:20px}
  .orbit-home .footer-invitation>a{font-size:clamp(14px,4.35vw,22px)}
  .orbit-home .footer-main{grid-template-columns:1fr 1fr;gap:27px 16px}
  .orbit-home .footer-brand{font-size:17px;gap:14px}
  .orbit-home .footer-brand img{width:49px}
  .orbit-home .footer-main nav{font-size:12px;gap:8px}
  .orbit-home .footer-bottom{font-size:11px;gap:8px;margin-top:30px;padding-top:17px}
  .scene-controls{bottom:max(20px,env(safe-area-inset-bottom));gap:0;padding:5px;width:max-content;max-width:calc(100% - 24px)}
  .scene-controls nav{gap:0}
  .scene-controls button{min-height:38px;padding:9px 12px;font-size:12px}
  .scene-controls .scene-prev,.scene-controls .scene-next{width:29px;font-size:18px}
}
@media(max-width:380px){
  .orbit-home .site-header{padding:0 16px;gap:12px}
  .orbit-home .site-header nav{gap:15px;font-size:12px}
  .orbit-home .brand img{width:40px}
  .orbit-home .hero-type{top:115px}
  .orbit-home .hero-type p{font-size:12px}
  .orbit-home .hero-bottom{justify-content:center}
  .orbit-home .hero-bottom>span{display:none}
  .orbit-home .work-section,.orbit-home .partners-section{padding-left:17px;padding-right:17px}
  .orbit-home .work-world{margin-top:32px}
  .orbit-home .work-gallery{gap:21px 12px}
  .orbit-home .work-caption{padding-left:3px;padding-right:3px}
  .orbit-home .work-caption h3{font-size:17px}
  .orbit-home .work-arrow{display:none}
  .orbit-home .logo-deck{gap:17px 12px;padding:21px 16px}
  .orbit-home .logo-deck img{height:32px}
  .orbit-home .site-footer{padding:127px 21px 90px}
  .orbit-home .footer-main{gap:22px 14px}
  .orbit-home .footer-invitation{margin-bottom:37px}
  .orbit-home .footer-bottom{margin-top:24px}
  .scene-controls button{font-size:11px;padding:9px 9px}
  .scene-controls .scene-prev,.scene-controls .scene-next{width:25px}
}
@media(prefers-reduced-motion:reduce){
  .scene-orbit,.orbit-home .orbit-panel{transition:none}
}
@media(prefers-color-scheme:dark){
  .orbit-home{background:radial-gradient(ellipse at 90% 25%,#7b6557,transparent 53%),linear-gradient(170deg,#273443,#635552 62%,#595154)}
  .orbit-home .brand img,.orbit-home .footer-brand img{filter:none}
  .scene-controls{background:#282c32d6;border-color:#e7d5be33;box-shadow:0 8px 28px #1114}
  .scene-controls button:hover{background:#ffffff17}
  .scene-controls button[aria-pressed=true]{background:#efe3d0;color:#302d28}
}
/* Keep the interactive islands above the dock on shallow screens. */
@media(max-height:780px) and (min-width:768px){
  .orbit-home .work-world{width:min(780px,calc((100svh - 305px) * 1.4),100%)}
  .orbit-home .work-image{aspect-ratio:2.25}
}
@media(max-height:700px) and (max-width:767px){
  .orbit-home .site-header{height:68px}
  .orbit-home .hero-type{top:100px}
  .orbit-home .hero-type p{font-size:12px}
  .orbit-home .hero-world{top:185px;--hero-size:min(108vw,calc(100svh - 270px))}
  .orbit-home .work-section,.orbit-home .partners-section{padding-top:94px}
  .orbit-home .section-heading h2{font-size:38px}
  .orbit-home .work-world{width:min(100%,calc((100svh - 300px) * 1.05));margin-top:24px}
  .orbit-home .work-image{aspect-ratio:1.8}
  .orbit-home .work-gallery{gap:18px 12px}
  .orbit-home .work-caption{padding-top:8px;padding-bottom:9px}
  .orbit-home .work-caption h3{font-size:18px}
  .orbit-home .work-card:nth-child(2n){transform:translateY(12px)}
  .orbit-home .work-card:nth-child(2n):hover,.orbit-home .work-card:nth-child(2n):focus-visible{transform:translateY(6px)}
  .orbit-home .work-platform{top:68px;height:max(220px,calc(100svh - 330px))}
  .orbit-home .partners-world{margin-top:25px}
  .orbit-home .logo-deck{gap:12px 15px;padding:19px 17px}
  .orbit-home .logo-deck img{height:clamp(26px,4.5svh,31px)}
  .orbit-home .partners-platform{top:78px;height:calc(100svh - 320px)}
  .orbit-home .site-footer{padding-top:96px}
  .orbit-home .footer-invitation{margin-bottom:27px}
  .orbit-home .footer-invitation h2{font-size:36px;margin-bottom:15px}
  .orbit-home .footer-main{gap:18px 14px}
  .orbit-home .footer-bottom{margin-top:20px;padding-top:12px}
}
@media(max-height:600px) and (min-width:600px){
  .orbit-home .site-header{height:52px;padding:0 4vw;gap:18px}
  .orbit-home .brand img{width:38px}
  .orbit-home .site-header nav{font-size:12px;gap:22px}
  .orbit-home .nav-contact{margin-left:10px}
  .orbit-home .motion-toggle{width:28px;height:28px}
  .orbit-home .hero-type{top:68px;padding:0 20px}
  .orbit-home .hero-type p{font-size:13px;margin-bottom:6px}
  .orbit-home .hero-type h1{font-size:clamp(58px,10vw,100px)}
  .orbit-home .hero-world{top:105px;--hero-size:min(440px,53vw,calc(100svh - 150px))}
  .orbit-home .hero-bottom{bottom:65px;font-size:11px}
  .orbit-home .about-reveal{bottom:64px;max-height:calc(100svh - 125px);padding:15px 42px 15px 20px;display:flex;width:min(680px,90%);gap:22px}
  .orbit-home .about-reveal h2{font-size:22px}
  .orbit-home .about-reveal p,.orbit-home .about-reveal>a{font-size:12px}
  .orbit-home .work-section,.orbit-home .partners-section{padding:65px 4vw 0}
  .orbit-home .section-heading h2{font-size:32px}
  .orbit-home .section-heading p{font-size:12px;margin-bottom:4px}
  .orbit-home .section-heading h2+p{margin-top:5px}
  .orbit-home .work-world{width:min(960px,100%);height:calc(100svh - 135px);margin-top:14px}
  .orbit-home .work-gallery{grid-template-columns:repeat(4,1fr);gap:14px}
  .orbit-home .work-card{padding:5px 5px 0}
  .orbit-home .work-image{aspect-ratio:1.8;max-height:calc(100svh - 255px)}
  .orbit-home .work-caption{padding:8px 4px 9px;gap:3px;align-items:flex-end}
  .orbit-home .work-caption p{font-size:12px;line-height:1.3;min-height:31px}
  .orbit-home .work-caption h3{font-size:18px;line-height:1.08}
  .orbit-home .work-arrow{display:none}
  .orbit-home .work-card:nth-child(2n){transform:none}
  .orbit-home .work-card:nth-child(2n):hover,.orbit-home .work-card:nth-child(2n):focus-visible{transform:translateY(-6px)}
  .orbit-home .work-platform{width:94%;left:3%;top:10px;height:calc(100svh - 180px)}
  .orbit-home .partners-world{width:min(900px,100%);height:calc(100svh - 140px);margin-top:13px}
  .orbit-home .logo-deck{width:96%;grid-template-columns:repeat(6,1fr);gap:10px 22px;padding:14px 25px;transform:perspective(1300px) rotateX(3deg) rotateZ(-1deg)}
  .orbit-home .logo-deck img{height:clamp(26px,7svh,40px)}
  .orbit-home .partners-platform{width:90%;left:5%;top:20px;height:calc(100svh - 170px)}
  .orbit-home .site-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);grid-template-rows:1fr auto;gap:15px 30px;padding:78px 5vw 65px}
  .orbit-home .footer-invitation{grid-column:1;grid-row:1;text-align:left;margin:0}
  .orbit-home .footer-invitation h2{font-size:clamp(30px,4.4vw,46px);max-width:260px;margin:0 0 14px}
  .orbit-home .footer-invitation>a{font-size:clamp(12px,1.8vw,16px);padding-bottom:5px}
  .orbit-home .footer-invitation>a span{margin-left:6px}
  .orbit-home .footer-main{grid-column:2;grid-row:1;width:100%;grid-template-columns:1fr 1fr;gap:14px 20px;margin:0;align-content:start}
  .orbit-home .footer-brand{grid-column:1/-1;font-size:16px;gap:12px;align-items:center}
  .orbit-home .footer-brand img{width:38px}
  .orbit-home .footer-main nav{font-size:12px;gap:5px}
  .orbit-home .footer-bottom{grid-column:1/-1;grid-row:2;width:100%;margin:0;padding-top:10px;font-size:11px;gap:15px;flex-wrap:nowrap}
  .scene-controls{bottom:max(9px,env(safe-area-inset-bottom));padding:4px;gap:4px}
  .scene-controls button{min-height:32px;font-size:12px;padding:6px 15px}
  .scene-controls .scene-prev,.scene-controls .scene-next{width:30px;font-size:18px}
}
/* Keep the reference's sunset atmosphere consistent in every island scene. */
.orbit-home{
  --ink:#302b29;--muted:#514742;--paper:#f6eee3;--line:#59463840;--orange:#8b4025;
  color-scheme:light;
  color:var(--ink);
  background:#d9b8a6 url('../images/scene/sunset-sky.webp') center center / cover no-repeat;
}
.orbit-home .brand img,.orbit-home .footer-brand img{filter:invert(1)}
.orbit-home .sky-glow,.orbit-home .cloud{display:none}
.orbit-home .section-heading p{color:var(--muted)}
.orbit-home .hero-bottom a{border-color:#51443888}
.orbit-home .footer-invitation>a{border-color:#746451}
.orbit-home .scene-controls{background:#f8edddd9;border-color:#fff9;box-shadow:0 8px 28px #63544326}
.orbit-home .scene-controls button:hover{background:#fffc}
.orbit-home .scene-controls button[aria-pressed=true]{background:#302d28;color:#fff7e9}
