/* THESIVE v3.7.1 — bounded hero repairs and device-specific interface concepts.
   This file is loaded on the homepage only. Founder Proof and shared assets stay unchanged. */

/* Keep the Watch caption from expanding its grid and dragging the case under the crown. */
.v355-home .v358-watch-shell{grid-template-columns:minmax(0,1fr);transform:none;right:6px}
.v355-home .v358-watch-face{width:126px;height:auto;aspect-ratio:39/46;grid-template-rows:12px 1fr 12px 22px;padding:9px 6px 6px;border-radius:33px}
.v355-home .v358-watch-shell .v355-companion-core--watch{--v355-orb-size:70px}
.v355-home .v358-watch-caption{min-width:0;width:132px;max-width:100%;white-space:normal;font-size:6px;line-height:1.5;color:#879093;letter-spacing:.06em}
.v355-home .v358-watch-crown{right:-4px;top:70px;width:8px;height:19px;background:repeating-linear-gradient(0deg,#343b3e 0 1px,#1a2022 1px 3px)}
.v355-home .v358-watch-button{right:-2px;top:102px;width:5px;height:25px}
.v355-home .v358-watch-face>small{font-size:6px}
.v355-home .v358-watch-face>strong{font-size:8px;max-width:94px}
.v358-watch-face[data-state="listening"] .v355-core-mark,.v358-watch-face[data-state="answering"] .v355-core-mark{opacity:.18!important}
.v358-watch-face[data-state="listening"] .v355-core-name,.v358-watch-face[data-state="answering"] .v355-core-name{opacity:.25}

/* Labels belong to the presence area, never the explanation or interaction controls. */
.v371-hero-presence{position:relative;isolation:isolate;width:100%;height:320px;flex:0 0 auto;display:grid;place-items:center}
.v355-home .v371-hero-presence .v354-knowledge-ring{position:absolute;inset:0;pointer-events:none}
.v355-home .v371-hero-presence .v354-knowledge-ring span{animation:v371-label-drift 7s ease-in-out infinite;font-size:6.5px;white-space:nowrap}
.v355-home .v371-hero-presence .c1{left:0;top:23%;bottom:auto}
.v355-home .v371-hero-presence .c2{right:0;top:34%;bottom:auto}
.v355-home .v371-hero-presence .c3{left:1%;bottom:6%;top:auto}
.v355-home .v371-hero-presence .c4{right:1%;bottom:3%;top:auto}
.v355-home .v371-hero-presence .c5{left:50%;top:0;bottom:auto;transform:translateX(-50%)}
.v355-home .v354-state-copy{margin-top:22px;min-height:70px;max-width:100%}
.v355-home .v354-context-card{width:100%;min-height:66px}
/* v3.5.5's decorative orbit pseudo-element puts its first particle at the label's centre. */
.v355-home .v354-money-orbit::after{content:none;display:none}

/* Hardware stays still; only its contained interface changes. */
.v371-devices{--device-gold:#d4ad67;--device-text:#e6e9e8;--device-muted:#a1adae;--device-line:rgba(255,255,255,.10)}
.v371-demo-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:24px}
.v371-demo-toolbar[hidden]{display:none}
.v371-example-name{color:var(--device-muted);font-size:11px;letter-spacing:.025em}
.v371-example-name b{color:var(--device-gold);font-weight:500;margin-right:9px}
.v371-demo-actions{display:flex;gap:8px}
.v371-demo-actions button{padding:9px 12px;min-height:40px;border:1px solid var(--device-line);border-radius:999px;background:rgba(255,255,255,.025);color:#cbd2d2;font:500 11px/1.2 var(--sans);cursor:pointer}
.v371-demo-actions button:hover{background:rgba(212,173,103,.08);border-color:rgba(212,173,103,.35)}
.v371-demo-actions button:focus-visible,.v371-device-card:focus-within{outline:2px solid var(--device-gold);outline-offset:4px}
.v371-device-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-top:18px}
.v371-device-card{position:relative;min-width:0;display:flex;flex-direction:column;grid-column:span 4;padding:22px 20px 18px;border:1px solid var(--device-line);border-radius:24px;background:linear-gradient(160deg,#101416,#090c0d 72%);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);overflow:hidden}
.v371-device-card--watch{grid-column:span 3}
.v371-device-card--tablet{grid-column:span 5}
.v371-device-card--laptop{grid-column:span 7}
.v371-device-card--glasses{grid-column:span 5}
.v371-device-head{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:18px}
.v371-device-head small{display:block;color:var(--device-gold);font:500 10px/1.5 var(--sans);letter-spacing:.13em}
.v371-device-head h3{margin:3px 0 0;font:600 15px/1.35 var(--sans);color:var(--device-text);letter-spacing:0}
.v371-device-number{font:400 11px/1.5 var(--serif);color:#647174}
.v371-device-stage{position:relative;flex:1;display:grid;align-content:center;justify-items:center;min-width:0;padding:10px 0 20px}
.v371-device-caption{margin:8px 0 0;color:#94a0a2;font-size:10px;line-height:1.6;text-align:center}
.v371-hardware{position:relative;box-sizing:border-box;isolation:isolate;flex:none}
.v371-screen{position:relative;min-width:0;overflow:hidden;color:var(--device-text);background:radial-gradient(ellipse at 75% 0,rgba(212,173,103,.07),transparent 60%),#070b0c}
.v371-screen small{color:var(--device-gold);letter-spacing:.08em}
.v371-screen p{margin:0;line-height:1.55}
.v371-ui-brand{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:600;letter-spacing:.12em;color:#d4dbda}
.v371-ui-brand img{width:14px;height:14px}
.v371-ui-tag{font-size:8px;line-height:1.5;color:var(--device-gold);letter-spacing:.10em}
.v371-scene-content{transition:opacity .2s ease,translate .2s ease}
.v371-devices.is-changing .v371-scene-content{opacity:0;translate:0 4px}

/* iPhone Pro silhouette: 71.9 × 150 proportion, continuous bezel and safe areas. */
.v371-phone{width:min(232px,94%);aspect-ratio:71.9/150;border:5px solid #252c30;border-radius:37px;outline:1px solid #50595b;outline-offset:-1px;background:#000;box-shadow:0 18px 32px #0006}
.v371-phone::before,.v371-phone::after{content:"";position:absolute;width:3px;background:linear-gradient(90deg,#4a5356,#22282a);border-radius:2px;z-index:-1}
.v371-phone::before{left:-8px;top:23%;height:18%}
.v371-phone::after{right:-8px;top:28%;height:13%}
.v371-phone .v371-screen{height:100%;border-radius:31px;padding:17px 12px 21px;display:flex;flex-direction:column;container-type:inline-size}
.v371-phone-island{position:absolute;left:50%;top:8px;translate:-50% 0;width:65px;height:18px;background:#000;border-radius:20px}
.v371-phone-status{display:flex;justify-content:space-between;align-items:center;height:16px;margin:0 2px 17px;font-size:8px;color:#d3d9d8}
.v371-phone-status i{width:12px;height:6px;border:1px solid #9ba6a8;border-radius:2px;box-shadow:inset 8px 0 #9ba6a8}
.v371-phone .v371-ui-brand{margin:0 0 5px}
.v371-phone .v371-ui-tag{font-size:7px;min-height:15px}
.v371-conversation{display:flex;flex:1;flex-direction:column;gap:13px;padding-top:18px}
.v371-question{align-self:flex-end;max-width:91%;padding:10px 11px;background:#c9a85c20;border:1px solid #c9a85c40;border-radius:14px 14px 4px 14px;font-size:12px;line-height:1.5;color:#ece7dc}
.v371-answer{max-width:96%;padding:11px;border:1px solid #ffffff12;border-radius:14px 14px 14px 4px;background:#ffffff07;font-size:11px;color:#bec9c8}
.v371-cash-note{margin-top:2px;padding:9px 10px;border-top:1px solid #ffffff12;font-size:9px;color:#9daaa9;display:flex;justify-content:space-between;gap:8px}
.v371-cash-note strong{color:#bcd2c2;font-size:9px;font-weight:500}
.v371-phone-compose{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;margin-top:14px;border:1px solid #ffffff15;border-radius:22px;font-size:9px;color:#8b999a}
.v371-phone-compose b{font-weight:400;font-size:15px;color:var(--device-gold)}
.v371-home-indicator{position:absolute;left:50%;bottom:7px;translate:-50% 0;width:34%;height:3px;border-radius:10px;background:#a5afb066}
.v371-phone[data-v371-animated="true"] .v371-question{animation:v371-message-in .45s both}
.v371-phone[data-v371-animated="true"] .v371-answer{animation:v371-message-in .55s .45s both}
.v371-phone[data-v371-animated="true"] .v371-cash-note{animation:v371-message-in .55s .8s both}

/* Apple Watch: 39 × 46 case, crown outside the case, one short glance per state. */
.v371-watch{width:146px;aspect-ratio:39/46;border:5px solid #343d40;outline:1px solid #657073;outline-offset:-1px;border-radius:38px;background:#000;box-shadow:0 12px 24px #0009;margin:49px 0;overflow:visible}
.v371-watch::before,.v371-watch::after{content:"";position:absolute;left:23%;right:23%;height:58px;z-index:-1;border:1px solid #31383a;background:linear-gradient(90deg,#111718,#222b2e 50%,#111718)}
.v371-watch::before{bottom:calc(100% - 5px);border-radius:18px 18px 5px 5px}
.v371-watch::after{top:calc(100% - 5px);border-radius:5px 5px 18px 18px}
.v371-watch-crown{position:absolute;right:-10px;top:25%;width:8px;height:23px;border:1px solid #6a7375;border-radius:0 5px 5px 0;background:repeating-linear-gradient(0deg,#566063 0 1px,#282f32 1px 3px)}
.v371-watch-side{position:absolute;right:-8px;top:55%;width:5px;height:26px;border:1px solid #4c575a;border-radius:0 3px 3px 0;background:#293235}
.v371-watch .v371-screen{height:100%;border-radius:32px;padding:12px 11px 9px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:space-between}
.v371-watch-top{display:flex;justify-content:space-between;width:100%;font-size:7px;color:#a4afb0}
.v371-watch-top img{width:13px;height:13px}
.v371-watch-pulse{width:30px;height:30px;display:grid;place-items:center;border:1px solid #c9a85c55;border-radius:50%;margin:5px 0;color:var(--device-gold);font-size:13px}
.v371-watch-title{display:block;font-size:15px;line-height:1.18;font-weight:600;max-width:110px;min-height:36px}
.v371-watch .v371-screen p{font-size:8px;line-height:1.4;color:#a4b1b1;margin-top:4px;min-height:23px}
.v371-watch .v371-screen>small{font-size:6px;color:var(--device-gold);letter-spacing:.10em;margin-top:5px}

/* Landscape iPad: 249.7 × 177.5 case, camera in the landscape bezel. */
.v371-tablet{width:min(100%,420px);aspect-ratio:249.7/177.5;padding:10px;border:1px solid #5b6366;border-radius:24px;background:linear-gradient(150deg,#333b3f,#161d20);box-shadow:0 18px 35px #0006;container-type:inline-size}
.v371-tablet::before{content:"";position:absolute;top:3px;left:50%;width:3px;height:3px;border-radius:50%;background:#06090b;box-shadow:0 0 0 1px #5b636655}
.v371-tablet .v371-screen{height:100%;border-radius:14px;padding:4.1cqw 4cqw 6cqw;display:flex;flex-direction:column}
.v371-tablet-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:3cqw;border-bottom:1px solid #ffffff13;margin-bottom:3cqw}
.v371-tablet-top .v371-ui-brand{font-size:2.4cqw}
.v371-tablet-top .v371-ui-brand img{width:3.7cqw;height:3.7cqw}
.v371-tablet-top>small{font-size:2.5cqw}
.v371-tablet-summary{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:3cqw}
.v371-tablet-summary strong{font-size:3.7cqw;font-weight:500;line-height:1.2}
.v371-tablet-summary span{font-size:2.2cqw;color:#94a6a5}
.v371-stat-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:2.1cqw;flex:1;min-height:0}
.v371-stat{padding:2.4cqw;border:1px solid #ffffff12;border-radius:10px;background:#ffffff04;min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center}
.v371-stat small{display:block;font-size:2.2cqw;margin-bottom:1.5cqw}
.v371-stat strong{display:block;font-size:3.2cqw;line-height:1.2;font-weight:500}
.v371-stat p{font-size:2.3cqw;color:#98a9a8;margin-top:1.2cqw}

/* MacBook: a 2560 × 1664 display, camera notch, bezel, hinge and separate base. */
.v371-laptop{width:min(94%,580px);container-type:inline-size;padding-bottom:12px}
.v371-laptop-lid{position:relative;padding:8px;border:1px solid #616b6e;border-radius:17px 17px 7px 7px;background:#151c1e;box-shadow:0 20px 36px #0007}
.v371-laptop-lid::before{content:"";position:absolute;top:8px;left:50%;translate:-50% 0;width:12%;height:10px;border-radius:0 0 5px 5px;background:#151c1e;z-index:2}
.v371-laptop-lid .v371-screen{aspect-ratio:2560/1664;border-radius:9px 9px 2px 2px;display:grid;grid-template-columns:21% 1fr;padding-top:13px}
.v371-mac-sidebar{padding:3cqw 2cqw;display:flex;flex-direction:column;gap:3cqw;border-right:1px solid #ffffff0c;background:#ffffff02}
.v371-mac-sidebar .v371-ui-brand{font-size:1.5cqw;gap:1cqw}
.v371-mac-sidebar .v371-ui-brand img{width:2.6cqw;height:2.6cqw}
.v371-mac-sidebar>span{font-size:1.65cqw;color:#869a99;padding:1.2cqw .9cqw}
.v371-mac-sidebar>span.active{color:var(--device-gold);border:1px solid #c9a85c27;border-radius:5px;background:#c9a85c08}
.v371-mac-main{padding:3cqw;display:flex;flex-direction:column;min-width:0}
.v371-mac-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:3cqw}
.v371-mac-head strong{font-size:2.8cqw;line-height:1.2;font-weight:500}
.v371-mac-head small{font-size:1.6cqw;white-space:nowrap}
.v371-mac-question{font-size:2.6cqw;font-weight:500;line-height:1.35;margin:0 0 3cqw}
.v371-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:2cqw;flex:1}
.v371-compare{display:flex;flex-direction:column;padding:2.3cqw;border:1px solid #ffffff17;border-radius:9px;background:#ffffff03}
.v371-compare>small{font-size:1.7cqw}
.v371-compare>strong{font-size:2.5cqw;margin:1.8cqw 0;font-weight:500;line-height:1.25}
.v371-compare p{color:#9aadaa;font-size:1.85cqw}
.v371-compare>span{display:block;margin-top:auto;padding-top:2.5cqw;font-size:1.6cqw;color:var(--device-gold)}
.v371-mac-footer{font-size:1.6cqw;color:#8b9d9c;margin-top:3cqw}
.v371-laptop-base{position:absolute;bottom:0;left:-4%;right:-4%;height:12px;border:1px solid #5f696c;border-top:0;border-radius:2px 2px 45% 45%/2px 2px 100% 100%;background:linear-gradient(#8b9293,#475155 30%,#232c30);box-shadow:0 7px 10px #0007}
.v371-laptop-base::before{content:"";position:absolute;left:43%;right:43%;height:4px;background:#2a3337;border-radius:0 0 5px 5px}

/* Display-glasses concept: real eyewear silhouette plus one peripheral HUD in the wearer's view. */
.v371-glasses-stage{gap:15px;padding-top:0}
.v371-eyewear{display:block;width:min(92%,365px);height:auto;overflow:visible;filter:drop-shadow(0 8px 8px #0007)}
.v371-glasses-view{position:relative;width:100%;max-width:420px;aspect-ratio:1.8;border:1px solid #ffffff14;border-radius:16px;background:linear-gradient(#122027,#273b3d 68%,#0c1618);overflow:hidden}
.v371-glasses-view::before{content:"";position:absolute;inset:20% -10% -10%;background:linear-gradient(155deg,#213736,#102326);clip-path:polygon(0 65%,15% 40%,32% 61%,55% 15%,74% 54%,84% 40%,100% 65%,100% 100%,0 100%)}
.v371-glasses-view::after{content:"";position:absolute;inset:50% -10% -10%;background:#0a1718;clip-path:polygon(0 55%,22% 16%,43% 52%,63% 28%,100% 75%,100% 100%,0 100%)}
.v371-view-label{position:absolute;top:11px;left:12px;font-size:7px;letter-spacing:.16em;color:#b7c9c68f;z-index:1}
.v371-glasses-hud{position:absolute;top:26%;right:7%;width:46%;z-index:2;color:#dcf1df;text-shadow:0 1px 6px #06150c,0 0 12px #a7e8bd22;border-left:1px solid #b8e8c377;padding:0 0 0 11px}
.v371-glasses-hud>small{font-size:7px;letter-spacing:.14em;color:#bddbc5}
.v371-glasses-hud strong{display:block;font-size:clamp(11px,1.15vw,16px);line-height:1.35;font-weight:500;margin:6px 0 8px}
.v371-glasses-hud p{font-size:8px;color:#b5d2bd;margin:0;line-height:1.5}
.v371-voice-cue{display:flex;align-items:center;gap:3px;margin-top:9px;height:10px}
.v371-voice-cue i{display:block;width:2px;height:4px;background:#bad8c3;border-radius:2px}
.v371-voice-cue i:nth-child(2),.v371-voice-cue i:nth-child(4){height:7px}
.v371-voice-cue i:nth-child(3){height:10px}
.v371-device-note{max-width:690px;margin:18px auto 0;text-align:center;color:#94a0a2;font-size:11px;line-height:1.65}
.v371-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes v371-label-drift{0%,100%{translate:0 0}50%{translate:0 -3px}}
@keyframes v371-message-in{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
.v371-devices[data-paused="true"] *{animation-play-state:paused!important}
@media(max-width:1120px){
 .v371-device-card{grid-column:span 6}
 .v371-device-card--tablet{grid-column:span 12}
 .v371-device-card--laptop,.v371-device-card--glasses{grid-column:span 6}
 .v371-device-card--tablet .v371-device-stage{padding-block:8px}
 .v371-device-card--tablet .v371-tablet{width:min(100%,480px)}
 .v371-glasses-hud strong{font-size:14px}
}
@media(max-width:760px){
 .v371-device-grid{grid-template-columns:1fr;gap:14px}
 .v371-device-card,.v371-device-card--watch,.v371-device-card--tablet,.v371-device-card--laptop,.v371-device-card--glasses{grid-column:span 1;padding:20px 16px 16px}
 .v371-device-head{margin-bottom:12px}
 .v371-device-card--phone .v371-device-stage{padding-top:8px}
 .v371-phone{width:240px}
 .v371-watch{width:146px}
 .v371-laptop{width:95%}
 .v371-laptop-lid{padding:6px;border-radius:13px 13px 5px 5px}
 .v371-laptop-lid::before{top:6px;height:8px}
 .v371-laptop-base{height:10px}
 .v371-laptop{padding-bottom:10px}
 .v371-glasses-view{max-width:460px}
 .v371-glasses-hud strong{font-size:15px}
 .v371-demo-toolbar{gap:10px}
 .v371-device-note{font-size:10px}
}
@media(max-width:700px){
 .v355-home .v371-hero-presence{height:280px}
 .v355-home .v371-hero-presence .v355-companion-core--home{--v355-orb-size:228px}
 .v355-home .v354-state-copy{margin-top:18px;min-height:70px}
 .v355-home .v354-context-card{min-height:70px}
 .v355-home .v358-watch-shell{right:3px;bottom:3px;transform:scale(.82);transform-origin:bottom right}
}
@media(max-width:380px){
 .v371-device-card{padding-inline:12px}
 .v371-tablet{padding:8px;border-radius:19px}
 .v371-tablet .v371-screen{border-radius:11px}
 .v371-demo-actions button{font-size:10px;padding-inline:10px}
 .v371-glasses-hud strong{font-size:12px}
 .v355-home .v371-hero-presence{height:265px}
 .v355-home .v371-hero-presence .v355-companion-core--home{--v355-orb-size:212px}
 .v355-home .v358-watch-shell{transform:scale(.72)}
}
@media(max-width:480px){
 .v355-home .v354-money-node.n4{bottom:15%}
 .v355-home .v354-money-node.n5{translate:-50% 0;transform:none}
}
@media(prefers-reduced-motion:reduce){
 .v355-home .v371-hero-presence .v354-knowledge-ring span,.v371-devices *{animation:none!important;transition:none!important}
 .v371-devices.is-changing .v371-scene-content{opacity:1;translate:none}
}
