/* Candidate-only styles. Main site and WordPress are unchanged. */
body { padding-bottom:96px; }
.hp-switcher { position:fixed; z-index:100; bottom:16px; left:50%; transform:translateX(-50%); width:min(960px,calc(100% - 32px)); display:flex; align-items:center; gap:22px; padding:12px 18px; background:#fff; border:1px solid #d7e5db; border-radius:18px; box-shadow:0 8px 45px #10342126; }
.hp-switcher-label { font:700 9px/1.7 Arial,sans-serif; color:#64746a; white-space:nowrap; letter-spacing:.1em; }
.hp-switcher-label b { display:block; color:#193b27; font-size:12px; }
.hp-switcher>div { display:flex; flex:1; gap:6px; }
.hp-switcher a { flex:1; display:flex; align-items:center; justify-content:center; gap:6px; padding:12px 6px; border-radius:10px; font-size:11px; font-weight:700; text-decoration:none; color:#335c42; white-space:nowrap; }
.hp-switcher a>span { color:#77a084; font:700 10px Arial; }
.hp-switcher a[aria-current],.hp-switcher a:hover { background:#078e43; color:white; }
.hp-switcher a[aria-current]>span { color:#c7f5d9; }
.hp-switcher a:focus-visible,.hp-detail:focus-visible { outline:3px solid #06c755; outline-offset:3px; }
.ai-hero-top { gap:38px; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); min-height:690px; }
.hp-scene { container-type:inline-size; aspect-ratio:auto; min-width:0; max-width:640px; width:100%; text-align:left; position:relative; margin:0; }
.hp-scene h2,.hp-scene h3,.hp-scene p { margin:0; }
.hp-scene h2 { color:#153d27; font-size:5.2cqw; line-height:1.5; letter-spacing:-.055em; font-weight:800; }
.hp-scene h2 em { color:#079e4b; font-style:normal; }
.hp-kicker { color:#587966; font:700 1.7cqw/1.7 Arial,sans-serif; letter-spacing:.13em; margin-bottom:4%!important; }
.hp-dot { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:#06c755; }
.hp-video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#10251a; }
.hp-player-bar { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:3% 4%; font:600 1.6cqw/1.7 Arial,sans-serif; letter-spacing:.06em; }
.hp-cinema { padding:6% 0; }
.hp-cinema-heading { display:flex; justify-content:space-between; align-items:end; margin:0 0 6%; }
.hp-cinema-heading h2 { font-size:7.3cqw; }
.hp-duration { font:500 15cqw/.8 Arial,sans-serif; letter-spacing:-.08em; color:#bed9c6; }
.hp-duration>span { display:block; font-size:2.4cqw; text-align:right; letter-spacing:0; margin-top:10px; }
.hp-movie-shell { border:1px solid #254833; padding:5px; background:#103b26; border-radius:15px; box-shadow:0 22px 48px #174b2920; transform:perspective(1000px) rotateY(-3deg); }
.hp-movie-shell .hp-player-bar { color:#c4e3cf; }
.hp-movie-shell video { border-radius:7px; }
.hp-film-bottom { display:flex; justify-content:space-between; gap:8px; margin-top:6%; padding-top:4%; border-top:1px solid #d6e4d9; font-size:2cqw; color:#50705b; }
.hp-film-bottom>span:last-child { font-size:1.65cqw; color:#7a9583; }
.hp-orb { aspect-ratio:1; background:radial-gradient(ellipse at 50% 57%,#cff6db 0%,#f1fcf4 48%,transparent 72%); }
.hp-orb-grid { position:absolute; inset:0; background-image:linear-gradient(#7bbc8c16 1px,transparent 1px),linear-gradient(90deg,#7bbc8c16 1px,transparent 1px); background-size:8% 8%; mask-image:radial-gradient(ellipse,#000,transparent 70%); }
.hp-orb .hp-kicker { position:relative; text-align:center; }
.hp-orb-title { position:absolute; top:7%; left:0; right:0; text-align:center; color:#174b2e; }
.hp-orb-title span { display:block; font-size:3.1cqw; font-weight:600; }
.hp-orb-title strong { display:block; font-size:5.6cqw; letter-spacing:-.05em; margin-top:1%; }
.hp-orb-center { position:absolute; width:57%; top:27%; left:22%; }
.hp-ai-logo { display:block; width:100%; height:auto; filter:drop-shadow(0 14px 18px #184c2f20); }
.hp-orb-ring { position:absolute; inset:-13%; border:1px solid #66b5826b; border-radius:50%; transform:rotate(-22deg) scaleY(.65); box-shadow:0 0 0 14px #92d3a411; }
.hp-line-badge { position:absolute; left:50%; bottom:0; transform:translateX(-50%); padding:4% 13%; border-radius:40px; background:#06b950; color:white; font:800 5.4cqw/1 Arial; box-shadow:0 8px 20px #17954e30; white-space:nowrap; border:3px solid white; }
.hp-float { position:absolute; display:flex; align-items:center; gap:7px; width:34%; padding:3%; background:#ffffffed; border:1px solid #d2e8d9; border-radius:15px; box-shadow:0 12px 28px #194b2e0e; }
.hp-float svg { width:30%; height:auto; }
.hp-float span { font-size:2cqw; line-height:1.7; color:#53765e; }
.hp-float strong { color:#1d6035; font-size:2.35cqw; }
.hp-float-a { left:0; top:36%; transform:rotate(-5deg); }
.hp-float-b { right:0; top:65%; transform:rotate(5deg); }
.hp-orb-outcome { position:absolute; bottom:0; left:2%; right:2%; display:flex; justify-content:center; align-items:center; gap:5%; padding:5% 0; border-top:1px solid #cce4d3; color:#4c7058; font-size:2.2cqw; }
.hp-orb-outcome strong { color:#049542; }
.hp-orb-outcome b { color:#75a187; font-weight:400; }
.hp-hybrid { background:#eaf6ee; border-radius:24px; padding:5%; border:1px solid #d8e9dd; }
.hp-hybrid-top { display:flex; align-items:center; position:relative; min-height:43cqw; }
.hp-hybrid-top>div { width:65%; position:relative; z-index:1; }
.hp-hybrid-top .hp-kicker { font-size:1.8cqw; }
.hp-hybrid-top h2 { font-size:6.3cqw; }
.hp-hybrid-top .hp-ai-logo { width:45%; position:absolute; right:-3%; top:-5%; }
.hp-hybrid-label { display:inline-block; margin-top:8%; font:700 1.65cqw Arial; letter-spacing:.1em; color:#397d52; }
.hp-hybrid-film { position:relative; background:#fff; border:1px solid #d3e4d9; border-radius:12px; overflow:hidden; box-shadow:0 15px 30px #143c2312; }
.hp-hybrid-film .hp-player-bar { color:#2e6542; }
.hp-hybrid-foot { display:flex; justify-content:space-around; padding:6% 0 1%; font-size:2.2cqw; color:#4c7459; }
.hp-hybrid-foot>span+span::before { content:'→'; display:inline-block; margin-right:5cqw; color:#81ab8e; }
.hp-compare h2 { margin-bottom:7%; font-size:5.25cqw; }
.hp-compare-grid { display:grid; grid-template-columns:1fr 1fr; position:relative; gap:3%; }
.hp-before,.hp-after { padding:11% 10%; border-radius:15px; min-width:0; }
.hp-before { background:#f0f2f0; color:#7a877e; }
.hp-after { background:#087b3d; color:#fff; box-shadow:0 18px 35px #09773922; }
.hp-state { display:inline-block; font-size:2cqw; padding:5px 9px; border:1px solid #becac1; border-radius:100px; }
.hp-after .hp-state { border-color:#79be95; color:#d1f6de; }
.hp-compare h3 { font-size:5cqw; line-height:1.55; margin-top:15%; font-weight:800; letter-spacing:-.04em; }
.hp-tangle { width:100%; height:20cqw; fill:none; stroke:#aebdb2; stroke-width:2; }
.hp-after-art { height:20cqw; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; }
.hp-after-art svg { height:7cqw; fill:none; stroke:#a5edc0; stroke-width:1.3; }
.hp-after-art span { font:800 4cqw Arial; }
.hp-after-art i { font-weight:400; font-style:normal; opacity:.5; }
.hp-compare ul { padding:0; margin:0; list-style:none; }
.hp-compare li { font-size:2cqw; line-height:1.8; padding:6% 0; border-top:1px solid #a3b6a64a; }
.hp-after li::before { content:'✓ '; color:#a1e8bd; }
.hp-compare-arrow { position:absolute; left:50%; top:45%; transform:translate(-50%,-50%); width:9cqw; height:9cqw; display:grid; place-items:center; font-size:4cqw; border-radius:50%; color:#0b8742; background:#fff; border:1px solid #e2eae3; box-shadow:0 4px 14px #1a452a15; }
.hp-detail { display:flex; justify-content:space-between; align-items:center; padding:5% 1% 0; text-decoration:none; color:#087f40; font-size:2.4cqw; font-weight:700; }
.hp-detail>span { display:grid; place-items:center; border:1px solid #b8d8c3; border-radius:50%; width:8cqw; height:8cqw; }
.hp-journey { padding:0 2%; }
.hp-journey h2 { font-size:6.7cqw; margin-bottom:7%; }
.hp-journey-track { position:relative; }
.hp-journey-track::before { content:''; position:absolute; left:7%; top:4%; bottom:4%; border-left:2px dashed #a4d3b5; }
.hp-journey-step { position:relative; display:flex; align-items:center; gap:4%; padding:5%; margin-top:4%; background:white; border:1px solid #d4e8db; border-radius:16px; box-shadow:0 10px 28px #1f59320a; }
.hp-step-two { margin-left:5%; }
.hp-step-three { margin-left:10%; background:#0c8645; border-color:#0c8645; }
.hp-step-num { font:700 2cqw Arial; color:#76a285; align-self:start; }
.hp-step-icon { flex:0 0 15%; }
.hp-step-icon svg { width:100%; height:auto; }
.hp-step-three .hp-step-icon { background:#eff9f2; border-radius:12px; padding:5px; }
.hp-journey-step small { display:block; font-size:1.9cqw; color:#009d4a; margin-bottom:4%; }
.hp-journey-step strong { display:block; font-size:2.8cqw; letter-spacing:-.04em; color:#224f33; }
.hp-journey-step p { font-size:1.85cqw; margin-top:5%; color:#70917c; line-height:1.6; }
.hp-step-three strong { color:white; }
.hp-step-three small,.hp-step-three p,.hp-step-three .hp-step-num { color:#c3ebd2; }
.hp-journey-footer { margin:7% 0 0; text-align:right; font-size:2.4cqw; color:#34724a; }
@keyframes hpBreathe { 50% { filter:drop-shadow(0 20px 26px #15975145); transform:translateY(-5px); } }
@keyframes hpStep { 15%,30% { transform:translateX(-5px); box-shadow:0 12px 32px #07974324; } }
@media(prefers-reduced-motion:no-preference) {
 .hp-orb-center>.hp-ai-logo,.hp-hybrid-top>.hp-ai-logo { animation:hpBreathe 6s ease-in-out infinite; }
 .hp-journey-step { animation:hpStep 12s ease-in-out infinite; }
 .hp-step-two { animation-delay:4s; }
 .hp-step-three { animation-delay:8s; }
}
@media(max-width:1100px) { .ai-hero-top { gap:26px; } .hp-switcher { gap:12px; } .hp-switcher a { font-size:10px; } }
@media(max-width:820px) {
 .ai-hero-top { grid-template-columns:1fr; gap:40px; padding-bottom:42px; }
 .hp-scene { max-width:590px; }
 .hp-switcher-label { display:none; }
 .hp-switcher { padding:8px; width:calc(100% - 20px); bottom:10px; border-radius:14px; }
 .hp-switcher>div { gap:3px; }
 .hp-switcher a { flex-direction:column; gap:3px; padding:8px 2px; font-size:9px; }
}
@media(max-width:420px) { .hp-switcher a { font-size:8px; } .hp-scene h2 { letter-spacing:-.06em; } }

/* Pattern 03: four animated feature cards. */
.hp-features { position:relative; }
.hp-features-heading { display:flex; align-items:center; gap:5px; padding:0 1% 4%; color:#376f4b; }
.hp-features-heading p { font-size:2.1cqw; font-weight:700; }
.hp-features-heading>span:last-child { margin-left:auto; font:600 1.5cqw Arial,sans-serif; letter-spacing:.12em; color:#6f9780; }
.hp-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3cqw; }
.hp-feature-card { position:relative; min-width:0; padding:6% 8%; background:#fff; border:1px solid #d3e8db; border-radius:15px; box-shadow:0 5px 15px #13572f07; }
.hp-card-top { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:4%; }
.hp-card-art { display:grid; place-items:center; width:13cqw; height:12cqw; border-radius:12px; background:#f0f9f3; }
.hp-card-art svg { width:82%; height:82%; }
.hp-card-number { font:500 2.1cqw Arial,sans-serif; color:#99b7a4; padding-top:5%; }
.hp-feature-card h3 { margin:0; font-size:3.1cqw; font-weight:800; letter-spacing:-.025em; color:#174f2d; line-height:1.5; }
.hp-feature-card>p { margin:5% 0 0; font-size:1.95cqw; line-height:1.8; color:#6b8774; }
.hp-card-detail { display:flex; align-items:center; min-height:7cqw; margin-top:7%; padding-top:7%; border-top:1px solid #e6f0e9; font-size:1.7cqw; color:#25864a; }
.hp-card-pill { width:100%; padding:4% 3%; text-align:center; border:1px dashed #a4d7b7; background:#f2faf5; border-radius:4px; }
.hp-card-flow { display:flex; align-items:center; justify-content:space-between; width:100%; gap:3px; white-space:nowrap; }
.hp-card-flow i { color:#90b79e; font-style:normal; }
.hp-card-flow b { font-size:2.5cqw; }
.hp-card-tags { display:flex; gap:5px; }
.hp-card-tags i { padding:4px 7px; border-radius:100px; background:#eaf6ee; font-style:normal; white-space:nowrap; }
@keyframes hpFeatureHighlight { 5%,20% { transform:translateY(-3px); border-color:#68c38c; box-shadow:0 9px 22px #0b8c3e18; } 25%,100% { transform:translateY(0); border-color:#d3e8db; box-shadow:0 5px 15px #13572f07; } }
@media(prefers-reduced-motion:no-preference) {
 .hp-feature-card { animation:hpFeatureHighlight 10s var(--card-delay) ease-in-out infinite; }
 .hp-feature-card:hover { animation-play-state:paused; border-color:#68c38c; box-shadow:0 9px 22px #0b8c3e18; }
}
@media(max-width:540px) { .hp-feature-card { border-radius:11px; } .hp-card-art { border-radius:8px; } .hp-card-tags i { padding:3px 5px; } }

/* Editorial showcase: restrained paper tones, oversized type and a single focal object. */
.hp-showcase-stage { border-radius:14px; overflow:hidden; border:1px solid #d2ded5; background:#eef1eb; }
.hp-showcase-panel { position:relative; aspect-ratio:1.5; overflow:hidden; }
.hp-showcase-panel[hidden] { display:none!important; }
.hp-showcase:not(.is-ready) .hp-showcase-panel+.hp-showcase-panel { border-top:1px solid #c9d6ca; }
.hp-showcase-movie { background:#1b2922; display:grid; place-items:center; }
.hp-showcase-movie video { height:100%; width:100%; object-fit:contain; }
.hp-story { isolation:isolate; background:#e8ede3; --story-ink:#34513d; }
.hp-story-step { background:#e6ece9; --story-ink:#36544c; }
.hp-story-customer { background:#eae7de; --story-ink:#585743; }
.hp-story-referral { background:#e5ebe5; --story-ink:#395543; }
.hp-story-word { position:absolute; top:1%; left:2%; font:900 16.5cqw/.95 Arial,sans-serif; letter-spacing:-.085em; color:var(--story-ink); opacity:.14; z-index:-1; }
.hp-story-orbit { position:absolute; bottom:-25%; left:-20%; width:145%; height:62%; border:1px solid #59786325; border-radius:50%; transform:rotate(-12deg); z-index:-1; }
.hp-story-art { position:absolute; width:44%; right:3%; top:23%; transform:rotate(-9deg); filter:drop-shadow(0 16px 12px #253c3024) saturate(.3); }
.hp-story-art svg { width:100%; height:auto; }
.hp-story-step .hp-story-art { transform:rotate(7deg); }
.hp-story-customer .hp-story-art { transform:rotate(-4deg); }
.hp-story-referral .hp-story-art { transform:rotate(3deg); }
.hp-story-ghost { position:absolute; width:21%; right:37%; top:22%; opacity:.12; filter:blur(1px) saturate(0); transform:rotate(-20deg); z-index:-1; }
.hp-story-ghost svg { width:100%; height:auto; }
.hp-story-copy { position:absolute; left:6%; bottom:9%; width:58%; color:var(--story-ink); }
.hp-story-index { font:600 1.5cqw/1.5 Arial,sans-serif; letter-spacing:.11em; }
.hp-story-copy h3 { margin:5% 0 0; font-size:4.7cqw; line-height:1.4; letter-spacing:-.06em; font-weight:800; }
.hp-story-copy p { font-size:2cqw; line-height:1.8; margin:6% 0 0; }
.hp-story-detail { margin-top:9%; padding-top:7%; border-top:1px solid #56766140; max-width:90%; font-size:1.8cqw; }
.hp-story-detail .hp-card-pill { display:inline-block; width:auto; padding:5px 9px; color:var(--story-ink); border-color:#9dab9a; background:#ffffff45; }
.hp-story-detail .hp-card-tags i { background:#ffffff50; }
.hp-showcase-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; padding-top:12px; }
.hp-showcase-tabs button { min-width:0; min-height:35px; padding:6px 0; border:0; border-top:2px solid #cad8cc; background:transparent; color:#718474; font-size:1.8cqw; white-space:nowrap; cursor:pointer; }
.hp-showcase-tabs button[aria-pressed="true"] { border-color:#4e775a; color:#254d32; font-weight:700; }
.hp-showcase-toolbar { display:flex; justify-content:space-between; align-items:center; gap:6px; margin-top:5px; color:#7a8c7e; }
.hp-showcase-status { font-size:1.65cqw; }
.hp-showcase-pause { padding:6px 0 6px 9px; color:#55735e; font-size:1.7cqw; background:none; border:0; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.hp-showcase-controls button:focus-visible { outline:2px solid #207d43; outline-offset:3px; }
@keyframes hpStoryEnter { from { opacity:.3; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:no-preference) { .hp-story.is-current { animation:hpStoryEnter .65s ease both; } }
