/* Happy Digital AI — team introduction and constellation — 2026-10-29 — v25.3.2 */
.site-header .constellation-mark{width:48px;height:48px;filter:drop-shadow(0 0 8px #3285d832)}
.site-header .brand{gap:12px}.site-footer .constellation-mark{width:42px;height:42px}.consult-card>.constellation-mark{width:76px;height:76px}
.cast-disclaimer{font-size:13px;line-height:1.65;color:#a9c3df;max-width:800px;margin:0 0 32px}
.cast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cast-card{min-width:0;overflow:hidden;background:linear-gradient(155deg,#15354d99,#0b233663);border-radius:14px}
.cast-portrait{aspect-ratio:1.278;position:relative;background-image:url('assets/team-cast-v1-1.png');background-size:302% 216.3%;background-repeat:no-repeat}
.cast-portrait:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0b2033)}
.cast-0{background-position:0 0}.cast-1{background-position:50% 0}.cast-2{background-position:100% 0}.cast-3{background-position:0 92%}.cast-4{background-position:50% 92%}.cast-5{background-position:100% 92%}
.cast-copy{padding:10px 26px 27px}.cast-index{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#91b9e8;margin-bottom:14px;line-height:1.55}
.cast-copy h3{font-size:25px;font-weight:650;line-height:1.25;margin-bottom:13px}.cast-copy>p:not(.cast-index){font-size:16px;color:#c4d4e6;line-height:1.6;min-height:76px;margin-bottom:20px}
.cast-result{border-top:1px solid #86acd327;padding-top:16px}.cast-result>span{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#9ebfe4}.cast-result p{font-size:14px;color:#d7e4f3;line-height:1.65;margin:8px 0 0}
.cast-cta{display:flex;align-items:center;gap:26px;margin-top:34px}.cast-cta p{margin:0;color:#b6cde6;font-size:14px}
.team-process{margin-top:44px;border-top:1px solid #6e93bc38;padding-top:20px}.team-process>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;min-height:52px;font:600 18px Manrope,sans-serif;color:#c6ddf7;list-style:none}.team-process>summary::-webkit-details-marker{display:none}.team-process>summary span{font-size:28px;font-weight:400}.team-process[open]>summary{margin-bottom:24px}.team-process[open]>summary span{transform:rotate(45deg)}
@media(min-width:901px){.cast-card:hover .cast-portrait{filter:brightness(1.06)}.cast-portrait{transition:filter .3s}}
@media(max-width:1100px){.cast-grid{gap:18px}.cast-copy{padding:10px 20px 23px}.cast-copy h3{font-size:22px}}
@media(max-width:900px){.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header .constellation-mark{width:40px;height:40px}.cast-cta{align-items:flex-start;flex-direction:column;gap:14px}.cast-copy>p:not(.cast-index){min-height:0}}
@media(max-width:580px){.cast-grid{grid-template-columns:1fr;gap:25px}.cast-portrait{aspect-ratio:1.27}.cast-copy{padding:12px 22px 25px}.cast-copy h3{font-size:27px}.cast-copy>p:not(.cast-index){font-size:17px}.cast-result p{font-size:15px}.cast-disclaimer{font-size:13px}.cast-cta .button{width:100%;font-size:14px}.site-header .brand{gap:8px}.site-header .constellation-mark{width:37px;height:37px}}
.no-motion .cast-portrait{transition:none}@media(prefers-reduced-motion:reduce){.cast-portrait{transition:none}}
.live-launch .live-launch-orb{font-size:0!important;background:transparent url('assets/brand.svg?v=25.3.2') center/88% no-repeat!important}
.live-dialog .live-sphere b{font-size:0!important;display:block;width:64px;height:64px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:url('assets/brand.svg?v=25.3.2') center/contain no-repeat}

/* Living portrait pilot — 2026-10-29 — v25.3.3 */
.portrait-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s;pointer-events:none}.portrait-video.is-ready{opacity:1}.portrait-replay{position:absolute;right:14px;bottom:14px;z-index:2;border:1px solid #b5d8ff69;border-radius:24px;background:#071a2be8;color:#e7f3ff;padding:10px 14px;min-height:44px;font:600 12px Manrope,sans-serif;cursor:pointer;backdrop-filter:blur(8px)}.portrait-replay:hover{background:#153e61}.portrait-replay:focus-visible{outline:2px solid #94caff;outline-offset:3px}.no-motion .portrait-video{transition:none}@media(prefers-reduced-motion:reduce){.portrait-video{transition:none}}

/* Owner correction: original direction02, video-branch v18 — 2026-10-29 — v25.3.6 */
.living-portrait{background-size:cover;background-position:center}
