/* Public website: existing Arkyvus brand tokens, progressively enhanced pages. */
.website { font-size:16px; background:#fff; }
.website [hidden] { display:none!important; }
.website h1,.website h2,.website h3 { font-family:var(--font-display); letter-spacing:-.035em; line-height:1.15; margin:0 0 1rem; }
.website h1 { font-size:clamp(2.5rem,5vw,4.35rem); font-weight:650; }
.website h2 { font-size:clamp(1.8rem,3.1vw,2.7rem); }
.website h3 { font-size:1.4rem; }
.website p { margin:0 0 1.1rem; }
.website a { color:var(--blue); text-underline-offset:4px; }
.site-wrap { width:min(1160px,calc(100% - 3rem)); margin-inline:auto; }
.web-header { position:sticky; top:0; z-index:40; background:#fff; border-bottom:1px solid var(--line-light); }
.header-inner { display:flex; justify-content:space-between; align-items:center; gap:1.4rem; min-height:84px; }
.web-logo { flex:none; width:158px; }
.web-logo img { object-fit:contain; }
.web-header nav { display:flex; gap:1.5rem; align-items:center; }
.web-header nav a { color:var(--ink); text-decoration:none; font-size:.87rem; font-weight:600; white-space:nowrap; }
.web-header nav a[aria-current=page]:not(.web-button) { color:var(--blue); text-decoration:underline; text-decoration-thickness:2px; }
.website .web-button { display:inline-flex; justify-content:center; align-items:center; gap:1.4rem; border:1px solid var(--blue-int); border-radius:7px; background:var(--blue-int); padding:.9rem 1.2rem; color:#fff; font:600 .94rem var(--font-body); line-height:1.4; text-decoration:none; cursor:pointer; }
.website .web-button:hover { background:var(--blue); border-color:var(--blue); }
.website .web-button:disabled { opacity:.6; cursor:wait; }
.website .web-button.small { font-size:.8rem; padding:.72rem 1rem; color:#fff; }
.website .web-button.secondary { background:#fff; color:var(--blue); border-color:#b8c6e6; }
.website .web-button.secondary:hover { background:#edf3ff; }
.menu-toggle { border:1px solid var(--line-light); background:#fff; border-radius:5px; font:inherit; padding:.45rem .8rem; }
.web-hero { background:var(--night); color:#fff; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:4rem; align-items:center; padding-block:86px 80px; }
.eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.13em; color:var(--blue); margin-bottom:1.15rem!important; }
.web-hero .eyebrow,.dark-card .eyebrow { color:#9bbcff; }
.web-hero h1 { font-size:clamp(2.5rem,4.4vw,4.05rem); }
.web-hero em { font-style:normal; color:#a8c3ff; }
.hero-intro { font-size:1.08rem; max-width:35rem; color:#ced5e6; margin-block:1.5rem 1.8rem!important; }
.hero-note { font-size:.76rem; color:#adb9d1; margin-top:1.5rem!important; }
.action-row { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; }
.website .text-link { font-weight:650; text-decoration:none; }
.website .light { color:#dbe7ff; }
.workflow-board { padding:1.4rem; border:1px solid #34435f; border-radius:16px; background:var(--night-2); box-shadow:0 25px 75px #0004; transform:rotate(1deg); }
.board-heading { display:flex; align-items:center; gap:.6rem; font-size:.8rem; margin-bottom:1.5rem; }
.board-dot { width:8px; height:8px; background:#90b5ff; border-radius:50%; }
.illustration { margin-left:auto; font-size:.6rem; color:#adb9d1; border:1px solid #34435f; padding:.1rem .35rem; border-radius:3px; }
.board-card { background:#fff; color:var(--ink); padding:1.2rem; border-radius:9px; margin-bottom:1rem; }
.board-card.offset { margin-left:1.5rem; background:#edf3ff; }
.step-label { display:block; font-size:.64rem; letter-spacing:.1em; font-weight:700; color:var(--blue); margin-bottom:.6rem; }
.workflow-board h2 { font-size:1.1rem; letter-spacing:-.02em; }
.workflow-board p { font-size:.78rem; line-height:1.5; margin-bottom:.8rem; }
.board-tags { display:flex; flex-wrap:wrap; gap:.4rem; }
.board-tags span { border:1px solid #dce3ef; padding:.2rem .4rem; font-size:.62rem; border-radius:4px; }
.progress-track { display:flex; gap:5px; }
.progress-track span { height:4px; width:25%; border-radius:4px; background:#abc2f3; }
.progress-track span:first-child { background:var(--blue); }
.board-next { border-left:2px solid #779ff5; padding:.2rem 0 .1rem 1rem; margin:.6rem 0 .2rem 1rem; }
.board-next .step-label { color:#a8c3ff; }
.board-next strong { font-size:.9rem; }
.board-next p { color:#bdcbe4; margin:.4rem 0 0; }
.capability-strip { background:#f1f5fc; border-bottom:1px solid var(--line-light); }
.capability-strip .site-wrap { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem 1.5rem; padding-block:1.2rem; font-size:.78rem; font-weight:650; }
.web-section { padding-block:80px; }
.section-intro { max-width:700px; margin-bottom:2.8rem; }
.section-intro>p:not(.eyebrow),.page-intro>p:not(.eyebrow) { color:var(--muted); max-width:680px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; }
.feature-grid article { border-top:1px solid #cbd5e5; padding-top:1.6rem; }
.feature-number { color:var(--blue); font-size:.74rem; letter-spacing:.05em; font-weight:700; display:block; margin-bottom:1.6rem; }
.feature-grid h2 { font-size:1.5rem; }
.feature-grid p { color:var(--muted); font-size:.95rem; }
.feature-grid a { font-size:.85rem; font-weight:600; }
.soft-section { background:#f4f6fa; border-block:1px solid #e4e9f1; }
.audience-grid,.fit-grid,.booking-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.audience-card { background:#fff; border:1px solid #dce2ed; padding:2.4rem; border-radius:12px; }
.audience-card h3 { font-size:1.8rem; max-width:400px; }
.audience-card p:not(.eyebrow) { margin-block:1.5rem; }
.dark-card { background:var(--night-2); color:#fff; border-color:var(--night-2); }
.process-grid { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; counter-reset:step; }
.process-grid li { border-top:2px solid #bcccf0; padding-top:1.2rem; counter-increment:step; }
.process-grid li:before { content:'0' counter(step); display:block; font-size:.75rem; color:var(--blue); margin-bottom:1rem; }
.process-grid h3 { font-size:1.25rem; }
.process-grid p { color:var(--muted); font-size:.93rem; }
.page-intro { padding-block:65px 38px; }
.page-intro>p:not(.eyebrow) { font-size:1.1rem; margin-top:1.5rem; }
.website .subnote { font-size:.8rem!important; color:var(--muted); }
.pricing-section { padding-block:0 70px; }
.pricing-controls { display:flex; gap:2rem; justify-content:space-between; margin-bottom:1.3rem; }
.pricing-controls fieldset { margin:0; border:1px solid #cad4e6; border-radius:8px; padding:.75rem 1rem; display:flex; gap:1.1rem; }
.pricing-controls legend { font-size:.78rem; font-weight:600; padding:0 .35rem; }
.pricing-controls label { cursor:pointer; font-size:.9rem; }
.pricing-controls input { accent-color:var(--blue); }
#billing-explanation { font-size:.86rem; color:var(--muted); }
.package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; align-items:start; }
.package-card { border:1px solid #ccd6e6; border-radius:12px; padding:1.55rem; min-width:0; }
.package-card.highlighted { border:2px solid var(--blue-int); padding:calc(1.55rem - 1px); box-shadow:0 12px 25px -15px #2563eb55; }
.package-card h2 { font-size:1.45rem; }
.package-description { min-height:7rem; color:var(--muted); font-size:.87rem; }
.package-price { margin-bottom:.35rem!important; }
.package-price strong { font-size:2.5rem; letter-spacing:-.05em; }
.package-price>span { font-size:.75rem; }
.price-prefix { display:block; }
.price-commitment,.price-alternative { font-size:.8rem; }
.price-alternative { color:var(--muted); }
.package-card>.web-button { display:flex; margin-block:1.5rem; }
.package-inclusions { padding-left:1.15rem; font-size:.84rem; }
.package-inclusions li { margin-block:.65rem; }
.website details { border-top:1px solid #dce3ef; padding:.9rem 0; font-size:.88rem; }
.website summary { cursor:pointer; font-weight:650; }
.website details p,.website details ul { margin-top:.9rem; }
.notice { background:#f0f4fb; border:1px solid #d7e1f0; border-radius:10px; padding:1.5rem; margin-top:1.5rem; }
.notice h2,.notice h3 { font-size:1.25rem; }
.notice p { font-size:.9rem; }
.notice p:last-child { margin-bottom:0; }
.calculator { display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; }
.cost-fields { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.website label { display:block; font-size:.86rem; font-weight:600; }
.website input:not([type=radio]),.website textarea { display:block; border:1px solid #aebbd0; border-radius:6px; background:#fff; width:100%; max-width:100%; padding:.7rem .8rem; font:inherit; font-size:1rem; color:var(--ink); margin-top:.4rem; }
.website textarea { resize:vertical; }
.cost-fields button { align-self:end; }
.cost-results { border-left:1px solid #cbd5e5; padding-left:2rem; }
#cost-output p { background:#fff; padding:.7rem; border-radius:6px; }
.answers-section { max-width:850px; padding-bottom:70px; }
.answer-search { margin-bottom:2rem; }
#answer-count { font-size:.8rem; margin-top:.5rem; color:var(--muted); }
.answers-section details { padding:1.35rem 0; font-size:1rem; scroll-margin-top:105px; }
.answers-section summary { line-height:1.5; }
.answer-body { color:var(--muted); }
.workflow-detail { padding-top:20px; }
.workflow-detail article { display:grid; grid-template-columns:1fr 3fr; gap:2rem; padding-block:2.5rem; border-top:1px solid #dce3ef; }
.workflow-detail h2 { font-size:2rem; }
.workflow-detail p { max-width:750px; color:var(--muted); }
.fit-grid li,.booking-grid li { margin-block:.7rem; }
.booking-grid { padding-top:20px; gap:5rem; }
.booking-grid form { padding:2rem; border:1px solid #d4ddeb; border-radius:12px; }
.booking-grid form label { margin-bottom:1.15rem; }
#session-status { margin-top:1rem; font-size:.9rem; }
#session-status[data-state=error] { color:#9c2020; }
#session-status[data-state=success] { color:#11613f; }
.closing-section { background:var(--night); color:#fff; }
.closing-inner { padding-block:55px; display:flex; align-items:center; justify-content:space-between; gap:3rem; }
.closing-inner>div { max-width:670px; }
.closing-inner h2 { font-size:2rem; }
.closing-inner .eyebrow { color:#a8c3ff; }
.closing-inner p:last-child { color:#c1cee3; margin:0; }
.closing-inner>a { flex:none; }
.web-footer { background:#f6f8fc; padding-block:45px 20px; }
.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1.3fr .7fr; gap:2rem; }
.footer-grid>div { display:flex; flex-direction:column; gap:.5rem; font-size:.8rem; }
.footer-grid a { text-decoration:none; color:var(--muted); }
.footer-grid strong { margin-bottom:.5rem; }
.website .footer-brand { color:var(--blue); font:700 1.6rem var(--font-display); }
.footer-grid p { color:var(--muted); margin-top:.4rem; }
.footer-bottom { display:flex; justify-content:space-between; gap:2rem; border-top:1px solid #dce3ef; padding-top:1.2rem; margin-top:2rem; color:var(--muted); font-size:.7rem; }
@media(max-width:1050px) { .web-header nav { gap:.8rem; } .web-header nav a { font-size:.76rem; } .hero-grid { gap:2rem; } .package-card { padding:1.15rem; } .package-card.highlighted { padding:calc(1.15rem - 1px); } }
@media(max-width:820px) { .header-inner { flex-wrap:wrap; padding-block:1rem; min-height:74px; } .web-header nav { width:100%; flex-wrap:wrap; justify-content:flex-start; gap:.7rem 1.2rem; padding-top:.5rem; } .web-header nav a { font-size:.9rem; padding-block:.4rem; } .website.enhanced .menu-toggle { display:block; } .hero-grid { grid-template-columns:1fr; padding-block:55px; gap:3rem; } .workflow-board { max-width:580px; transform:none; } .package-grid { grid-template-columns:1fr; } .package-description { min-height:0; } .package-card { padding:1.7rem; } .package-card.highlighted { padding:calc(1.7rem - 1px); } .feature-grid { gap:1.5rem; } .feature-grid h3 { font-size:1.2rem; } .audience-card { padding:1.5rem; } .calculator { gap:2rem; grid-template-columns:1fr; } .cost-results { border-left:0; border-top:1px solid #cbd5e5; padding:1.5rem 0 0; } .booking-grid { gap:2rem; } .closing-inner { flex-direction:column; align-items:start; } .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) { .site-wrap { width:calc(100% - 2rem); } .web-section { padding-block:48px; } .page-intro { padding-block:44px 25px; } .feature-grid,.audience-grid,.fit-grid,.booking-grid { grid-template-columns:1fr; } .feature-grid { gap:2rem; } .process-grid { grid-template-columns:1fr 1fr; gap:1rem; } .capability-strip .site-wrap { font-size:.7rem; justify-content:flex-start; } .pricing-controls { flex-direction:column; gap:.8rem; } .pricing-controls fieldset { justify-content:flex-start; } .workflow-detail article { grid-template-columns:1fr; gap:0; } .workflow-detail h2 { font-size:1.7rem; } .cost-fields { grid-template-columns:1fr; } .booking-grid form { padding:1.3rem; } .footer-grid { gap:1.7rem 1rem; } .footer-bottom { flex-direction:column; gap:.8rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .website * { transition:none!important; animation:none!important; } }
.package-card { scroll-margin-top:100px; }
.package-price { position:relative; padding-top:1.1rem; }
.package-price .price-prefix { position:absolute; top:0; font-size:.72rem; }
.usage-rates { margin-top:3rem; }
.usage-rates>h2 { font-size:1.7rem; }
.rate-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.rate-grid article { border:1px solid #dce3ef; border-radius:8px; padding:1.1rem; }
.rate-grid h3 { font-size:1rem; min-height:2.3rem; }
.rate-grid p { font-size:.83rem; }
@media(max-width:820px) { .rate-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:430px) { .rate-grid { grid-template-columns:1fr; } }
.cost-examples { padding-top:0; }
.cost-examples dl { display:grid; grid-template-columns:1fr auto; gap:.8rem 1rem; font-size:.84rem; }
.cost-examples dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; }
.website .answer-search-row { display:flex; gap:.7rem; align-items:stretch; }
.website .answer-search-row input { flex:1; min-width:0; }
.website .answer-search-row button { flex:none; }
.answer-topic-nav { display:flex; flex-wrap:wrap; gap:.55rem; margin-block:1.5rem 2.5rem; }
.answer-topic-nav a { border:1px solid #ccd6e6; border-radius:6px; padding:.4rem .6rem; font-size:.8rem; text-decoration:none; }
.answer-topic-nav a:hover { background:var(--soft); border-color:var(--blue); }
.question-directory { margin-top:3rem; }
.question-group { margin-block:2rem; }
.question-group h3 { font-size:1.1rem; }
.question-group h3 span { color:var(--muted); font-size:.8rem; margin-left:.4rem; }
.question-group ul { padding:0; list-style:none; }
.question-group li { border-bottom:1px solid #e2e8f0; }
.question-group li a { display:block; padding:.65rem 0; font-size:.93rem; text-decoration:none; }
.question-group li a:hover { text-decoration:underline; }
.answer-context { margin-block:1.5rem; }
.answer-context p { font-size:.9rem; }
.answer-permalink { display:inline-block; font-size:.78rem; margin-top:.5rem; }
.answers-section details { scroll-margin-top:110px; }
.chat-request { margin-top:1.25rem; padding:1rem; background:var(--soft); border:1px solid #dce3ef; border-radius:8px; }
.chat-request label { display:block; font-weight:700; font-size:.95rem; }
.website .chat-request-text { display:block; box-sizing:border-box; width:100%; min-width:0; margin-block:.75rem; padding:.8rem; border:1px solid #aab9cc; border-radius:6px; background:var(--paper, #fff); color:var(--ink); font:inherit; font-size:.9rem; line-height:1.6; resize:vertical; }
.chat-request-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.chat-request-status:empty { display:none; }
