/* Homepage-only experience. Shared access and commerce surfaces stay isolated. */
.home-experience { --ib-crimson:#a4133c; }
.home-experience [hidden] { display:none!important; }
.home-experience .home-v2 { overflow:clip; }
.home-experience .home-nav { position:sticky;top:0;z-index:20;background:rgba(244,242,236,.96);backdrop-filter:blur(12px); }
.home-experience .home-nav__identity { align-items:center; }
.home-experience .home-nav__links .home-nav__access { display:flex;justify-content:center;gap:1.3rem; }
.home-skip { position:fixed;top:-5rem;left:1rem;z-index:100;background:#222426;color:#f4f2ec;padding:1rem; }
.home-skip:focus { top:1rem; }
.home-experience .home-hero { min-height:calc(100svh - 6.3rem);grid-template-columns:minmax(0,1.2fr) minmax(24rem,.8fr); }
.home-experience .home-hero__copy { position:relative;isolation:isolate; }
.home-experience .home-hero__copy::before { content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 0% 100%,rgba(82,135,162,.1),transparent 65%);transition:background-color .6s; }
.home-hero__top { display:flex;align-items:center;justify-content:space-between;gap:1rem; }
.home-motion-toggle,.home-display-controls button,.home-view-toggle { min-height:44px;border:0;background:transparent;color:inherit;font:800 .58rem/1.3 var(--font-interface);letter-spacing:.1em;cursor:pointer; }
.home-motion-toggle { opacity:.7;display:flex;gap:.7rem;align-items:center; }
.home-experience .home-hero h1 { position:relative;margin:clamp(4rem,11vh,8rem) 0; }
.home-experience .home-hero h1 img { transform-origin:left center; }
.home-experience .home-hero__meta { margin-top:auto; }
.home-experience .home-statement { font-size:clamp(1.2rem,2.2vw,2rem);line-height:1.08;letter-spacing:-.02em;font-weight:900; }
.home-explore { margin-top:2rem;max-width:23rem;padding:1rem 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ib-line-soft);text-decoration:none;font:800 .66rem/1 var(--font-interface);letter-spacing:.08em; }
.home-explore span:last-child { font-size:1.4rem;transition:transform .2s; }
.home-explore:hover span:last-child { transform:translateY(5px); }
.home-experience .home-terminal { background:#17191b; }
.home-experience .home-terminal__symbol { min-height:27rem;flex:1;isolation:isolate;background:radial-gradient(ellipse at 50% 50%,rgba(82,135,162,.22),transparent 67%),linear-gradient(rgba(244,242,236,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(244,242,236,.045) 1px,transparent 1px);background-size:auto,42px 42px,42px 42px; }
.home-rocket-float { width:min(55%,16rem);position:relative;z-index:2;animation:ib-home-float 7s ease-in-out infinite; }
.home-experience .home-terminal__symbol img { width:100%;height:auto;transform:perspective(800px) rotateX(var(--rocket-x,0deg)) rotateY(var(--rocket-y,0deg));transition:transform .25s ease-out;filter:drop-shadow(0 1.5rem 1.4rem #0008); }
.home-orbit { position:absolute;width:80%;aspect-ratio:1;border:1px solid rgba(244,242,236,.18);border-radius:50%;transform:rotate(-25deg) scaleY(.6);pointer-events:none; }
.home-orbit--two { transform:rotate(45deg) scaleY(.6);width:65%;border-style:dashed;border-color:rgba(82,135,162,.5); }
.home-display-label { position:absolute;top:1rem;left:1.25rem;color:#a9afb3;font:700 .55rem/1 var(--font-interface);letter-spacing:.15em; }
.home-display-controls { position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.25rem;background:#17191bcc;font:700 .5rem/1.5 var(--font-interface);letter-spacing:.08em; }
.home-display-controls button { color:#a8c9da;white-space:nowrap; }
.home-scan-line { position:absolute;inset:0;z-index:3;background:linear-gradient(transparent 48%,rgba(110,204,249,.6) 50%,transparent 52%);transform:translateY(-105%);pointer-events:none;opacity:0; }
.home-terminal__symbol.is-scanning .home-scan-line { animation:ib-home-scan 1.1s ease-out; }
.home-terminal__symbol.is-scanning .home-rocket-float { filter:brightness(1.15); }
.home-experience .home-terminal__message strong { font-size:clamp(1.7rem,3vw,2.8rem); }
.home-experience .home-terminal__message { padding-block:1.5rem; }
.home-experience .home-command { position:relative;overflow:hidden; }
.home-experience .home-command span:last-child { transition:transform .2s; }
.home-experience .home-command:hover span:last-child { transform:translateX(5px); }
.home-signal-band { display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem var(--home-pad);border-bottom:1px solid var(--ib-line);background:#222426;color:#f4f2ec;font:800 .65rem/1.4 var(--font-interface);letter-spacing:.1em; }
.home-signal-toggle { margin-left:auto;min-height:44px;display:flex;align-items:center;gap:.7rem;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer; }
.home-switch { display:block;width:36px;height:20px;border:1px solid #a8a9a5;border-radius:20px;padding:3px; }
.home-switch::after { content:"";display:block;width:12px;height:12px;background:#f4f2ec;border-radius:50%;transition:transform .2s; }
.home-signal-toggle[aria-pressed="true"] .home-switch { background:var(--ib-crimson);border-color:var(--ib-crimson); }
.home-signal-toggle[aria-pressed="true"] .home-switch::after { transform:translateX(16px); }
.home-experience[data-signal="on"] .home-hero__copy::before { background-color:rgba(164,19,60,.07); }
.home-experience[data-signal="on"] .home-terminal__symbol { background-image:radial-gradient(ellipse at 50% 50%,rgba(164,19,60,.35),transparent 67%),linear-gradient(rgba(244,242,236,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(244,242,236,.045) 1px,transparent 1px); }
.home-experience[data-signal="on"] .home-command--primary { background:var(--ib-crimson);border-color:var(--ib-crimson); }
.home-experience[data-signal="on"] .home-command--primary:hover { background:#f4f2ec;color:#222426; }
.home-experience[data-signal="on"] .clearance-card--active { background:#671029; }
.home-experience .home-manifest { padding-block:clamp(4rem,8vw,7rem); }
.home-experience .home-manifest__grid { margin-top:3rem;grid-template-columns:minmax(0,1.2fr) minmax(15rem,.8fr); }
.home-experience .home-barcode { display:none; }
.home-experience .home-manifest h2 { font-size:clamp(3rem,8vw,7.5rem); }
.home-experience .home-manifest__copy { border-left:1px solid var(--ib-line-soft);padding-left:2rem; }
.home-experience .home-artifacts { background:#e9e7e0;scroll-margin-top:5rem; }
.home-experience .home-section-heading h2 { font-size:clamp(3.5rem,8vw,7rem); }
.home-artifact-viewer { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);border:1px solid var(--ib-line); }
.home-artifact-media { position:relative;overflow:hidden;min-height:36rem;background:#fffef9;display:grid;place-items:center;border-right:1px solid var(--ib-line); }
.home-artifact-photo { width:100%;display:flex;align-items:center;justify-content:center;min-height:100%;padding:3rem 1rem; }
.home-artifact-photo img { width:100%;max-height:38rem;height:auto;object-fit:contain;mix-blend-mode:multiply;animation:ib-home-photo .4s ease-out; }
.home-artifact-photo.is-pair img { width:50%;min-width:0; }
.home-photo-index { position:absolute;top:1.25rem;left:1.25rem;font:700 .55rem/1 var(--font-interface);letter-spacing:.12em; }
.home-view-toggle { position:absolute;bottom:1rem;right:1.25rem;text-decoration:underline; }
.home-artifact-info { padding:clamp(1.5rem,3.5vw,3.5rem);display:flex;flex-direction:column; }
.home-artifact-tabs { display:flex;border-bottom:1px solid var(--ib-line-soft);margin-bottom:2rem;gap:1rem; }
.home-artifact-tabs button { min-height:44px;flex:1;border:0;border-bottom:2px solid transparent;background:none;padding:.7rem 0;color:#555;font:800 .6rem/1.4 var(--font-interface);letter-spacing:.08em;cursor:pointer; }
.home-artifact-tabs button[aria-pressed="true"] { color:#222426;border-bottom-color:#222426; }
.home-artifact-info h3 { font:900 clamp(2rem,3.8vw,4.1rem)/.94 var(--font-interface);letter-spacing:-.045em;margin:2rem 0 1.5rem; }
.home-artifact-info>p:not(.home-index) { font-size:.85rem;line-height:1.6;max-width:26rem; }
.home-artifact-swatches { display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1.3rem 0; }
.home-artifact-swatches button { min-height:44px;border:1px solid transparent;padding:.5rem .65rem;display:flex;align-items:center;gap:.5rem;font:700 .58rem/1 var(--font-interface);background:none;color:#222426;cursor:pointer; }
.home-artifact-swatches button[aria-pressed="true"] { border-color:var(--ib-line); }
.home-color-dot { width:12px;height:12px;border:1px solid #aaa;border-radius:50%; }
.home-artifact-price { margin-top:auto;padding:1.3rem 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ib-line-soft); }
.home-artifact-price strong { font:900 clamp(2.5rem,5vw,4rem)/1 var(--font-interface);letter-spacing:-.06em; }
.home-artifact-price>span { font:700 .55rem/1.6 var(--font-interface);letter-spacing:.1em; }
.home-artifact-info .home-command { margin:0;background:#222426;border-color:#222426; }
.home-artifact-info .home-command:hover { background:#f4f2ec; }
.home-artifact-info .home-artifact-note { font-size:.65rem!important;color:#555; }
.home-artifact-all { min-height:44px;display:flex;justify-content:space-between;align-items:center;font:800 .65rem/1 var(--font-interface);text-decoration:none;border-top:1px solid var(--ib-line-soft);margin-top:.5rem; }
.home-artifact-feedback { margin:0; }
.home-experience .clearance-card { transition:background .3s,transform .3s; }
.home-experience .clearance-card:hover { background:#30383c; }
.home-experience .clearance-card--active:hover { background:#375f78; }
.home-experience .home-final { min-height:70svh;gap:3rem;background:radial-gradient(ellipse at 100% 100%,rgba(82,135,162,.14),transparent 60%); }
.home-experience .home-footer a { text-decoration:none;min-height:44px;display:flex;align-items:center; }
.home-experience a:focus-visible,.home-experience button:focus-visible { outline:3px solid #5287a2;outline-offset:4px; }
.home-experience .home-reveal { opacity:1; }
.home-experience[data-reveal="ready"] .home-reveal:not(.is-visible) { opacity:0;transform:translateY(24px); }
.home-experience .home-reveal { transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.2,1); }
.home-menu-toggle { background:transparent;border:0;border-left:1px solid var(--ib-line-soft);padding:0 1rem;font:800 .65rem/1 var(--font-interface);letter-spacing:.08em;cursor:pointer; }
@keyframes ib-home-float { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-12px) rotate(1deg); } }
@keyframes ib-home-scan { 0% { opacity:0;transform:translateY(-105%); } 10%,90% { opacity:1; } 100% { opacity:0;transform:translateY(105%); } }
@keyframes ib-home-photo { from { opacity:.2;transform:translateY(10px); } to { opacity:1;transform:none; } }
.home-experience[data-motion="paused"] *, .home-experience[data-motion="paused"] *::after { animation-play-state:paused!important; }
.home-experience[data-motion="paused"] .home-reveal { opacity:1!important;transform:none!important;transition:none; }
.home-experience[data-motion="paused"] .home-terminal__symbol img { transform:none; }
@media(max-width:1100px) { .home-experience .home-nav__identity span { display:none; } .home-signal-band { font-size:.55rem; } }
@media(max-width:900px) {
 .home-experience .home-nav { grid-template-columns:4rem 1fr auto; }
 .home-experience .home-nav__links { grid-column:1/-1;display:flex;flex-wrap:wrap;border-top:1px solid var(--ib-line-soft); }
 .home-experience .home-nav__links>a { display:flex;flex:1;min-height:48px;justify-content:center;align-items:center;padding:.8rem;font-size:.6rem; }
 .home-experience[data-menu-ready="true"] .home-nav__links:not(.is-open) { display:none; }
 .home-experience .home-hero { grid-template-columns:1fr; }
 .home-experience .home-hero__copy { min-height:65svh; }
 .home-experience .home-hero h1 { max-width:42rem;margin:3.5rem 0; }
 .home-experience .home-terminal__symbol { min-height:29rem; }
 .home-experience .home-terminal__message strong { font-size:2.5rem; }
 .home-experience .home-terminal__status { min-height:3rem; }
 .home-artifact-media { min-height:29rem; }
 .home-artifact-photo img { max-height:30rem; }
 .home-artifact-info h3 { font-size:2.4rem; }
 .home-signal-band { flex-wrap:wrap;gap:.5rem 1.5rem; }
 .home-signal-toggle { margin-left:0; }
}
@media(min-width:901px) { .home-menu-toggle { display:none!important; } }
@media(max-width:700px) {
 .home-artifact-viewer { grid-template-columns:1fr; }
 .home-artifact-media { border-right:0;border-bottom:1px solid var(--ib-line);min-height:25rem; }
 .home-artifact-photo img { max-height:27rem; }
 .home-experience .home-manifest__grid { grid-template-columns:1fr;gap:2.5rem; }
 .home-experience .home-manifest__copy { padding-left:0;border-left:0; }
 .home-artifact-info h3 { font-size:clamp(2.3rem,9vw,3.5rem); }
 .home-experience .home-clearance { padding-block:4rem; }
}
@media(max-width:440px) {
 .home-motion-toggle { font-size:.48rem; }
 .home-experience .home-nav__links>a { flex:1 1 50%; }
 .home-experience .home-hero__meta { flex-direction:row;font-size:.5rem; }
 .home-signal-band>span:nth-child(2),.home-signal-band>span:nth-child(3) { display:none; }
 .home-signal-toggle { margin-left:auto; }
 .home-experience .home-terminal__symbol { min-height:24rem; }
 .home-display-controls { gap:.5rem;font-size:.44rem; }
 .home-experience .home-terminal__status { font-size:.52rem; }
}
@media(prefers-reduced-motion:reduce) {
 .home-experience *, .home-experience *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
 .home-experience .home-reveal { opacity:1!important;transform:none!important; }
 .home-experience .home-terminal__symbol img { transform:none!important; }
 .home-experience .home-scan-line { display:none; }
}
