
/* ===== Pro polish (Oct 14 2026): trust strip, Hear Ace, 3 steps, My Ace, call booking, legal, a11y ===== */
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:6px}
.dark :focus-visible,.final :focus-visible,.nav :focus-visible{outline-color:var(--gold)}
.btn:focus-visible{outline-offset:4px}
details summary:focus-visible{border-radius:10px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--ink);padding:10px 14px;z-index:200;border-radius:10px;font-weight:600}
.skip:focus{left:10px}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* trust strip */
.trust{background:var(--ink);color:#fff;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);position:relative;z-index:2}
.trust-in{max-width:1180px;margin:0 auto;padding:22px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px}
.trust-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px}
.trust-list li{display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;letter-spacing:.01em;color:#F4ECDB}
.trust-list .tk{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(216,190,132,.14);border:1px solid rgba(216,190,132,.38);flex:none}
.trust-list .tk svg{width:12px;height:12px;stroke:var(--gold);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.trust-priv{display:flex;align-items:flex-start;gap:10px;max-width:440px;font-size:13.5px;line-height:1.5;color:#C3CAD6}
.trust-priv svg{width:18px;height:18px;flex:none;margin-top:1px;stroke:var(--gold);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.trust-priv b{color:#fff;font-weight:600}
.trust-priv a{color:var(--gold);text-underline-offset:3px}
.trust-mini{margin:26px auto 0;text-align:center;font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
.trust-mini span{display:inline-flex;align-items:center;gap:7px}
.trust-mini span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold2)}

/* Hear Ace */
.hear{padding:72px 0 8px;background:var(--paper)}
.hear-card{max-width:880px;margin:0 auto;background:linear-gradient(135deg,#0B1426 0%,#14203A 62%,#1C2B4C 100%);color:#fff;border-radius:26px;padding:30px 32px;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;box-shadow:0 30px 70px -34px rgba(11,20,38,.6);border:1px solid rgba(216,190,132,.22);position:relative;overflow:hidden}
.hear-card:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(closest-side,rgba(216,190,132,.18),transparent);pointer-events:none}
.ha-play{width:72px;height:72px;border-radius:50%;border:1px solid rgba(216,190,132,.55);background:rgba(216,190,132,.1);display:grid;place-items:center;color:var(--gold);cursor:not-allowed;position:relative;padding:0}
.ha-play svg{width:26px;height:26px;fill:currentColor;margin-left:3px}
.ha-play .pz{display:none;margin-left:0}
.hear-card.playing .ha-play .pl{display:none}.hear-card.playing .ha-play .pz{display:block}
.hear-card.ready .ha-play{cursor:pointer;background:var(--gold);color:var(--ink)}
.hear-card.ready .ha-play:hover{transform:scale(1.04)}
.ha-play:before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(216,190,132,.25);animation:haRing 3.2s ease-out infinite}
@keyframes haRing{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.25);opacity:0}}
.ha-body{min-width:0;position:relative;z-index:1}
.ha-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:6px}
.ha-eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
.ha-soon{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--gold);border-radius:999px;padding:3px 10px}
.hear-card.ready .ha-soon{display:none}
.ha-title{font-family:var(--serif);font-size:clamp(26px,3.2vw,34px);line-height:1.08;font-weight:400;margin:0 0 6px}
.ha-title em{color:var(--gold);font-style:italic}
.ha-sub{font-size:14.5px;color:#C3CAD6;margin:0 0 16px;line-height:1.55}
.ha-wave{display:flex;align-items:center;justify-content:space-between;gap:2px;height:40px}
.ha-wave i{display:block;flex:0 0 4px;border-radius:3px;background:rgba(216,190,132,.38);height:var(--h,40%);transform-origin:center}
.motion .ha-wave i{animation:haWave 2.6s ease-in-out infinite;animation-delay:var(--d,0s)}
.hear-card.playing .ha-wave i{background:var(--gold)}
@keyframes haWave{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.ha-meta{display:flex;justify-content:space-between;font-size:12.5px;color:#A9B1C1;margin-top:8px;font-variant-numeric:tabular-nums}
.ha-bar{height:3px;border-radius:2px;background:rgba(255,255,255,.12);margin-top:10px;overflow:hidden}
.ha-bar span{display:block;height:100%;width:0;background:var(--gold)}
@media (max-width:640px){.hear{padding:52px 0 0}.hear-card{grid-template-columns:1fr;padding:26px 22px;gap:18px}.ha-play{width:62px;height:62px}}

/* How it works in 3 steps */
.steps3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:st;position:relative}
.steps3 li{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:30px 28px 28px;box-shadow:var(--shadow);position:relative}
.steps3 .sn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:24px;color:var(--gold-ink);background:var(--champ);border:1px solid rgba(198,166,101,.5);margin-bottom:18px}
.steps3 h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.12;margin:0 0 10px;letter-spacing:-.01em}
.steps3 p{font-size:15px;color:var(--muted);margin:0}
.steps-note{margin-top:22px;text-align:center;font-size:14.5px;color:var(--muted)}
@media (max-width:860px){.steps3{grid-template-columns:1fr}}

/* My Ace */
.myace{margin:30px auto 0;max-width:980px;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:28px 30px;display:grid;grid-template-columns:1.1fr 1fr;gap:26px;align-items:center;box-shadow:var(--shadow)}
.myace .ma-k{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold-ink)}
.myace .ma-inc{font-size:11.5px;letter-spacing:.06em;color:var(--ok);background:#E8F2EC;border-radius:999px;padding:3px 10px;font-weight:700;text-transform:uppercase}
.myace h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.1;margin:10px 0 8px}
.myace h3 em{color:var(--gold-ink);font-style:italic}
.myace p{color:var(--muted);font-size:15px;margin:0}
.ma-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ma-list li{display:flex;align-items:center;gap:9px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:11px 13px;font-size:14.5px;font-weight:600}
.ma-list svg{width:16px;height:16px;flex:none;stroke:var(--gold-ink);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){.myace{grid-template-columns:1fr;padding:24px 22px}}

/* Best time to talk (form) */
.bt{border:0;margin:0;padding:0;min-width:0}
.bt legend{padding:0;margin-bottom:8px}
.bt-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bt-row label{margin:0}
.f-confirm{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13.5px;margin:12px 0 0;opacity:.85}
.f-confirm svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}
.demo-form.flash{animation:fFlash 1.4s ease}
@keyframes fFlash{0%{box-shadow:0 0 0 0 rgba(216,190,132,.0)}30%{box-shadow:0 0 0 6px rgba(216,190,132,.45)}100%{box-shadow:0 0 0 0 rgba(216,190,132,0)}}
@media (max-width:460px){.bt-row{grid-template-columns:1fr}}

/* footer legal links */
.foot-links{display:inline-flex;gap:16px;flex-wrap:wrap}
.foot-links a{text-underline-offset:3px}

/* legal pages */
.legal{background:var(--paper);min-height:100vh}
.legal-top{background:var(--ink);color:#fff;padding:22px 0}
.legal-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.legal-top a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:10px;font-weight:600}
.legal-top a.back{color:var(--gold);font-weight:500;font-size:14.5px}
.legal-top img{width:30px;height:30px}
.legal-main{max-width:760px;margin:0 auto;padding:56px 24px 80px}
.legal-main h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6vw,56px);line-height:1.05;margin:0 0 8px}
.legal-main .upd{color:var(--muted);font-size:14px;margin:0 0 32px}
.legal-main h2{font-family:var(--serif);font-weight:400;font-size:28px;margin:36px 0 10px;line-height:1.15}
.legal-main p,.legal-main li{font-size:16px;line-height:1.7;color:#2A3346}
.legal-main p{margin:0 0 14px}
.legal-main ul{padding-left:20px;margin:0 0 14px}
.legal-main a{color:var(--gold-ink);text-underline-offset:3px}
.legal-foot{border-top:1px solid var(--line);padding:24px;text-align:center;font-size:14px;color:var(--muted)}
.legal-foot a{color:var(--gold-ink)}

/* community form: legend + selects */
.demo-form .bt legend{font-size:13px;font-weight:700;color:var(--ink)}
.demo-form .bt-row label{font-weight:500;color:var(--muted)}
.demo-form select{appearance:none;-webkit-appearance:none;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%238C6B2F' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center/16px;padding-right:38px}
.f-confirm{color:var(--muted);margin:0}
.f-note a{color:var(--gold-ink)}

/* real media: sample-call tag + how-it-works video */
.ha-tag{font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--gold);border:1px solid rgba(216,190,132,.45);border-radius:999px;padding:3px 10px}
.watch{padding-top:64px;padding-bottom:64px}
.watch .sec-head{text-align:center;margin-left:auto;margin-right:auto}
.vid{margin:0 auto;max-width:980px}
.vid video{display:block;width:100%;aspect-ratio:16/9;background:#0B1426;border-radius:22px;box-shadow:0 30px 70px -34px rgba(11,20,38,.6);border:1px solid rgba(216,190,132,.22);object-fit:cover}
.vid figcaption{text-align:center;font-size:13px;color:var(--muted);margin-top:12px}
@media (max-width:640px){.watch{padding-top:48px;padding-bottom:48px}.vid video{aspect-ratio:9/16;max-height:80vh;width:auto;max-width:100%;margin:0 auto;border-radius:18px}}
