:root{--color-heading:var(--tx,#18150f);--color-eyebrow-a:#a85f3e;--color-eyebrow-b:#851427;--color-accent-primary:#851427;--color-accent-secondary:#D49A7A;--color-cta-primary:#851427;--color-rule:rgba(99,75,63,.2);--status-success:#17663a;--status-warning:#815500;--status-error:#a32222}
[data-theme=dark]{--color-heading:#f5f0ea;--color-eyebrow-a:#e3ae91;--color-eyebrow-b:#f0c8b2;--color-cta-primary:#a91d38;--color-rule:rgba(255,255,255,.14);--status-success:#66cf91;--status-warning:#f0c56b;--status-error:#ff8c8c}
[data-theme=apricot]{--color-heading:#18150f;--color-eyebrow-a:#8f4328;--color-eyebrow-b:#851427;--color-rule:rgba(133,20,39,.18)}
.variant-a .ey,.variant-a .eyebrow{color:var(--color-eyebrow-a)}.variant-b .ey,.variant-b .eyebrow{color:var(--color-eyebrow-b)}.variant-c .ey,.variant-c .eyebrow{color:var(--tx2)}
.sec:nth-of-type(3n+1)>.sec-in>.ey,.sec:nth-of-type(3n+1) .proc-hd>.ey{color:var(--color-eyebrow-a)}.sec:nth-of-type(3n+2)>.sec-in>.ey,.sec:nth-of-type(3n+2) .proc-hd>.ey{color:var(--color-eyebrow-b)}.sec:nth-of-type(3n)>.sec-in>.ey,.sec:nth-of-type(3n) .proc-hd>.ey{color:var(--tx2)}
.variant-a .stitle,.variant-b .stitle,.variant-c .stitle{color:var(--color-heading)}.variant-a .btn-p,.variant-b .btn-p,.variant-c .btn-p{background:var(--color-cta-primary)}
.threefold-build{min-height:360px;display:grid;place-items:center;gap:24px;padding:36px 20px;border-radius:18px;background:linear-gradient(145deg,var(--bg2),transparent);border:1px solid var(--color-rule);overflow:hidden}.threefold-build svg{display:block;width:min(260px,70vw);height:auto;filter:drop-shadow(0 0 0 transparent);transition:filter .4s ease}.threefold-build path{fill:none;stroke-dasharray:120;stroke-dashoffset:0}.threefold-build .line-web{stroke:var(--color-heading)}.threefold-build .line-branding{stroke:var(--color-accent-secondary)}.threefold-build .line-systems{stroke:var(--color-accent-primary)}.threefold-build.is-ready:not(.is-built) path{stroke-dashoffset:120}.threefold-build.is-built .line-web{animation:draw-line .65s cubic-bezier(.2,.7,.2,1) both}.threefold-build.is-built .line-branding{animation:draw-line .65s .8s cubic-bezier(.2,.7,.2,1) both}.threefold-build.is-built .line-systems{animation:draw-line .65s 1.6s cubic-bezier(.2,.7,.2,1) both}.threefold-build.is-built svg{animation:settle-mark .4s 2.35s ease-out both}.threefold-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(520px,100%)}.threefold-legend span{padding:10px 12px;border-top:2px solid var(--color-rule);font-weight:700}.threefold-legend span:nth-child(1){border-color:var(--color-heading)}.threefold-legend span:nth-child(2){border-color:var(--color-accent-secondary)}.threefold-legend span:nth-child(3){border-color:var(--color-accent-primary)}.threefold-build-copy{opacity:1;text-align:center}.threefold-build.is-ready:not(.is-built) .threefold-build-copy{opacity:0}.threefold-build.is-built .threefold-build-copy{animation:quiet-reveal .45s 2.5s ease-out both}
@keyframes draw-line{from{stroke-dashoffset:120}to{stroke-dashoffset:0}}@keyframes settle-mark{50%{filter:drop-shadow(0 0 12px rgba(212,154,122,.35));transform:translateY(-2px)}to{filter:drop-shadow(0 0 0 transparent);transform:none}}@keyframes quiet-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.scan-journey{margin:36px 0;display:grid;grid-template-columns:repeat(3,1fr);position:relative;gap:18px}.scan-journey::before{content:"";position:absolute;top:31px;left:16%;right:16%;height:2px;background:linear-gradient(90deg,var(--color-accent-secondary),var(--color-heading),var(--color-accent-primary))}.scan-stage{position:relative;z-index:1;padding:20px;border:1px solid var(--color-rule);border-radius:16px;background:var(--bg);opacity:1;transform:none}.scan-stage b{display:grid;place-items:center;width:28px;height:28px;margin:0 auto 12px;border-radius:50%;background:var(--bg2);border:2px solid currentColor}.scan-stage h3{font-size:1rem;margin-bottom:6px}.scan-stage p{font-size:.84rem;color:var(--tx2);line-height:1.55}.scan-result-animated .scan-stage{animation:stage-in .4s ease-out both}.scan-result-animated .scan-stage:nth-child(2){animation-delay:.12s}.scan-result-animated .scan-stage:nth-child(3){animation-delay:.24s}@keyframes stage-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.scan-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}.compare-card{padding:28px;border-radius:18px;background:var(--bg2);border:1px solid var(--color-rule)}.compare-card.free{border-top:4px solid var(--color-accent-secondary)}.compare-card.human{border-top:4px solid var(--color-accent-primary);box-shadow:0 18px 44px rgba(80,26,33,.1)}.compare-card ul{list-style:none;padding:0;margin:20px 0}.compare-card li{padding:10px 0;border-bottom:1px solid var(--color-rule)}
.au-pill.pass{color:var(--status-success)!important}.au-pill.warning{color:var(--status-warning)!important}.au-pill.fail{color:var(--status-error)!important}
.consent-banner{position:fixed;z-index:100001;left:20px;right:20px;bottom:20px;max-width:720px;margin:auto;padding:20px;border:1px solid var(--color-rule);border-radius:16px;background:var(--bg);color:var(--tx);box-shadow:0 18px 60px rgba(0,0,0,.22)}.consent-banner p{font-size:.9rem;line-height:1.6;margin:0 0 14px}.consent-actions{display:flex;gap:10px;flex-wrap:wrap}.consent-actions button{min-height:44px;padding:10px 18px;border-radius:99px;font:inherit;font-weight:700;cursor:pointer}.consent-accept{border:0;background:var(--color-cta-primary);color:#fff}.consent-decline{border:1px solid var(--color-rule);background:transparent;color:inherit}
.lightbox[aria-hidden=true]{display:none}.lightbox button:focus-visible,.mob-btn:focus-visible,.mob-drawer a:focus-visible{outline:3px solid var(--color-accent-secondary);outline-offset:4px}.photo-trigger{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.photo-trigger img{display:block;width:100%;height:100%;object-fit:cover}
.custom-form{max-width:820px;margin:0 auto;padding:72px 24px 120px}.custom-form h1{font-size:clamp(2.6rem,7vw,5rem);line-height:1}.custom-form .lead{max-width:680px;font-size:1.05rem;line-height:1.7;color:var(--tx2);margin:20px 0 40px}.custom-card{padding:32px;border:1px solid var(--color-rule);border-radius:18px;background:var(--bg2)}.custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.custom-card label:not(.check){display:grid;gap:8px;margin-bottom:22px;font-weight:700}.custom-card input,.custom-card select,.custom-card textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--color-rule);border-radius:10px;background:var(--bg);color:var(--tx);font:inherit}.custom-card textarea{min-height:110px;resize:vertical}.custom-card :focus{outline:3px solid rgba(133,20,39,.22);border-color:var(--color-accent-primary)}.custom-card [aria-invalid=true]{border-color:var(--status-error)}.custom-note{padding:16px;border-left:3px solid var(--color-accent-secondary);background:var(--bg);font-size:.9rem;line-height:1.6;margin-bottom:24px}.error-summary{padding:18px;margin-bottom:24px;border-left:4px solid var(--status-error);background:var(--bg);color:var(--tx)}
@media(max-width:700px){.threefold-build{min-height:330px}.threefold-legend,.scan-journey,.scan-comparison,.custom-grid{grid-template-columns:1fr}.scan-journey::before{display:none}.custom-card{padding:22px}.consent-banner{left:12px;right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.threefold-build.is-ready:not(.is-built) path{stroke-dashoffset:0}.threefold-build.is-ready:not(.is-built) .threefold-build-copy{opacity:1}.threefold-build.is-built path,.threefold-build.is-built svg,.threefold-build.is-built .threefold-build-copy,.scan-result-animated .scan-stage{animation:none!important}}
@media print{.scan-journey,.scan-comparison,.au-check{break-inside:avoid}.consent-banner{display:none!important}}
.field-error{display:block!important;color:var(--status-error)!important;font-size:.875rem!important;font-weight:650!important;line-height:1.45!important;margin-top:4px}
.btn-p,.btn-s,.btn-nav,.submit-btn,.custom-card input,.custom-card select,.custom-card textarea,.intake-card input,.intake-card select,.intake-card textarea{font-size:1rem!important}.au-field label,.custom-card label:not(.check),.intake-card label:not(.check){font-size:.875rem!important}.mob-btn{min-width:44px;min-height:44px}
