/* One responsive layout owner for the approved Aigent visual system. */
:root {
  color-scheme:dark;
  --aivc-site-bg:#01010e; --aivc-site-panel:#0c0c1a; --aivc-site-text:#ededf8;
  --aivc-site-muted:#b6b6c7; --aivc-site-line:#292938; --aivc-site-accent:#5cffcb;
  --aivc-site-focus:#5cffcb; --aivc-site-radius:12px;
  font-family:'TASA Orbiter',system-ui,sans-serif; color:var(--aivc-site-text); background:var(--aivc-site-bg);
  font-synthesis:none; text-rendering:optimizeLegibility; scroll-padding-top:112px;
}
*,*::before,*::after { box-sizing:border-box; }
body { margin:0; min-width:320px; background:var(--aivc-site-bg); }
button,input,select,textarea { font:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; }
[hidden] { display:none !important; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--aivc-site-focus); outline-offset:4px; }
.aivc-template-site { width:min(1440px,calc(100% - 48px)); margin-inline:auto; }
.aivc-template-skip { position:fixed; left:16px; top:12px; z-index:200; padding:12px 18px; background:#0c0c1a; border:1px solid #5cffcb; border-radius:8px; transform:translateY(-180%); }
.aivc-template-skip:focus { transform:none; }
.aivc-template-header { position:sticky; top:16px; z-index:100; display:flex; align-items:center; justify-content:space-between; gap:32px; margin:16px 0 0; padding:16px 24px; min-height:82px; background:linear-gradient(120deg,#141423,#080813); border:1px solid #353544; box-shadow:0 10px 36px #0004; }
.aivc-template-header::before,.aivc-template-header::after { content:''; position:absolute; inset:-1px; pointer-events:none; background:linear-gradient(#a9aab8,#a9aab8) left top/12px 1px no-repeat,linear-gradient(#a9aab8,#a9aab8) left top/1px 12px no-repeat,linear-gradient(#a9aab8,#a9aab8) right bottom/12px 1px no-repeat,linear-gradient(#a9aab8,#a9aab8) right bottom/1px 12px no-repeat; }
.aivc-template-brand { display:inline-flex; align-items:center; gap:12px; flex-shrink:0; text-decoration:none; font-size:25px; font-weight:650; letter-spacing:-.8px; }
.aivc-template-brand img { width:40px; height:40px; border-radius:10px; box-shadow:0 0 20px #5cffcb25; }
.aivc-template-menu { display:flex; align-items:center; gap:28px; }
.aivc-template-menu nav { display:flex; align-items:center; gap:24px; }
.aivc-template-menu nav a { position:relative; isolation:isolate; overflow:hidden; border-radius:8px; text-decoration:none; color:#c7c7d5; font-size:15px; padding:10px 8px; transition:background-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease; }
.aivc-template-menu nav a:is(:hover,:focus-visible),.aivc-template-menu nav a[aria-current=page] { color:#0c0c1a; background:#ededf8; box-shadow:0 3px 14px #5cffcb18; }
.aivc-template-menu nav a:is(:hover,:focus-visible) { transform:translateY(-2px); }
.aivc-template-profile-menu a { position:relative; isolation:isolate; overflow:hidden; border-radius:8px; transition:background-color .22s ease,color .22s ease,transform .22s ease; }
.aivc-template-profile-menu a:is(:hover,:focus-visible) { transform:translateX(3px); }
.aivc-template-menu-toggle { display:none; width:44px; height:44px; padding:10px; border:1px solid #353544; border-radius:8px; background:transparent; }
.aivc-template-menu-toggle span { display:block; height:2px; width:22px; background:#ededf8; margin:4px 0; }
.aivc-template-section { position:relative; border:1px solid var(--aivc-site-line); border-top:0; scroll-margin-top:112px; }
.aivc-template-column { display:flex; flex-direction:column; align-items:stretch; gap:40px; padding:72px 48px; }
.aivc-template-section-heading { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:56px; align-items:start; }
.aivc-template-section-heading h1,.aivc-template-section-heading h2 { margin:0; font-size:clamp(30px,3.1vw,46px); font-weight:600; line-height:1.13; letter-spacing:-1.5px; text-wrap:balance; }
.aivc-template-section-heading > p { margin:0; padding-top:32px; color:#b6b6c7; font-size:18px; line-height:1.7; max-width:64ch; }
.aivc-template-kicker { color:#5cffcb; font:400 11px/1.9 'Martian Mono',monospace; letter-spacing:.09em; margin:0 0 18px; text-transform:uppercase; overflow-wrap:break-word; }
.aivc-template-hero { position:relative; background:radial-gradient(ellipse at 50% 40%,#075b4444,transparent 65%),#01010e; }
.aivc-template-hero .aivc-template-column { padding-top:64px; padding-bottom:32px; gap:44px; }
.aivc-template-hero-layout { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.75fr) minmax(0,1fr); align-items:center; gap:28px; min-height:610px; }
.aivc-template-hero-copy,.aivc-template-hero-detail { position:relative; z-index:1; min-width:0; text-shadow:0 2px 18px #01010e; }
.aivc-template-hero-copy { grid-column:1; }
.aivc-template-hero-detail { grid-column:3; padding-top:100px; }
.aivc-template-hero h1 { margin:0 0 28px; font-size:clamp(46px,4.8vw,70px); line-height:1.02; letter-spacing:-3px; font-weight:650; max-width:10ch; text-wrap:balance; }
.aivc-template-lead { color:#b6b6c7; font-size:18px; line-height:1.7; max-width:52ch; margin:0 0 28px; }
.aivc-template-hero-art { position:absolute; overflow:clip; aspect-ratio:1; width:min(740px,86%); left:50%; top:50%; transform:translate(-50%,-50%); z-index:0; pointer-events:none; min-width:0; mask-image:radial-gradient(ellipse,#000 38%,#000b 60%,transparent 75%); }
.aivc-template-motion { width:100%; height:100%; position:relative; }
.aivc-template-sphere { position:absolute; inset:0; }
.aivc-template-note { color:#8e91a2; font-size:12px; line-height:1.7; margin:18px 0 0; }
.aivc-template-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding-top:26px; border-top:1px solid #292938; }
.aivc-template-proof p { color:#b6b6c7; font:400 11px/1.9 'Martian Mono',monospace; margin:0; }
.aivc-template-proof p::before { content:'+'; color:#5cffcb; margin-right:10px; }
.aivc-template-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.aivc-template-card { border:1px solid #30303f; border-radius:20px; background:radial-gradient(ellipse at top left,#1a303127,transparent 60%),linear-gradient(140deg,#11111f,#080813); padding:30px; min-width:0; display:flex; flex-direction:column; gap:14px; }
.aivc-template-card h3 { font-size:24px; line-height:1.3; font-weight:550; letter-spacing:-.5px; margin:0; }
.aivc-template-card p { color:#b6b6c7; font-size:16px; line-height:1.7; margin:0; white-space:pre-line; overflow-wrap:break-word; }
.aivc-template-card .aivc-template-kicker { color:#5cffcb; font-size:10px; margin-bottom:6px; }
.aivc-template-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.aivc-template-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; width:fit-content; align-self:flex-start; flex:0 1 auto; max-width:100%; padding:11px 18px; border:1px solid #3d655b; border-radius:12px; font:500 15px/1.35 'TASA Orbiter',sans-serif; text-decoration:none; cursor:pointer; color:#ededf8; background:#0c0c1a; text-align:center; }

/* One template button appearance; original PixelButton supplies the hover particles. */
@property --aivc-button-angle { syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes aivc-button-beam { to { --aivc-button-angle:360deg; } }
:is(.aivc-template-site,.privacy-consent-dialog,.first-tenant-onboarding) :is(button,.aivc-template-button) {
 position:relative; isolation:isolate; overflow:hidden; width:fit-content; max-width:100%; flex:0 1 auto;
 border:1px solid #1d5c48; border-radius:12px; background:#0a1f18; color:#eaf9f4;
 box-shadow:inset 0 0 0 1px #1d5c48; min-height:44px; padding:11px 18px;
 transition:box-shadow .2s ease,color .2s ease; text-decoration:none;
}
:is(.aivc-template-site,.privacy-consent-dialog,.first-tenant-onboarding) :is(button,.aivc-template-button) > :not(canvas) { position:relative; z-index:2; }
.aivc-template-button-pixels { position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; opacity:.75; border-radius:inherit; }
:is(.aivc-template-site,.privacy-consent-dialog,.first-tenant-onboarding) :is(button,.aivc-template-button):not(:disabled):not([aria-disabled=true]):is(:hover,:focus-visible) {
 border-color:transparent;
 background:linear-gradient(#0a1f18,#0a1f18) padding-box,conic-gradient(from var(--aivc-button-angle),#1d5c48,#5cffcb,#12b78c,#1d5c48) border-box;
 box-shadow:inset 0 -8px 22px #5cffcb38,0 0 18px #5cffcb25;
 animation:aivc-button-beam 3s linear infinite;
}
:is(.aivc-template-site,.privacy-consent-dialog,.first-tenant-onboarding) :is(button,.aivc-template-button):disabled { cursor:not-allowed; opacity:.55; }
.first-tenant-onboarding :is(.first-tenant-close,.subdomain-edit) { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; min-height:44px; padding:10px; }
.aivc-template-site .aivc-template-menu-toggle { width:44px; padding:10px; }
.aivc-template-site summary:hover { color:#5cffcb; }
.aivc-template-button.aivc-template-google { flex-shrink:0; white-space:nowrap; gap:10px; }
.aivc-template-google svg { width:18px; height:18px; flex:0 0 18px; }

.aivc-template-button:disabled { opacity:.55; cursor:not-allowed; }
.aivc-template-footer { display:flex; flex-direction:column; gap:24px; padding:48px; border:1px solid #292938; border-top:0; background:#080813; }
.aivc-template-footer-top { display:flex; justify-content:space-between; align-items:flex-start; gap:40px; }
.aivc-template-footer nav { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px 22px; max-width:660px; }
.aivc-template-footer a,.aivc-template-footer button { color:#c7c7d5; background:none; border:0; font:inherit; cursor:pointer; text-decoration:none; }
.aivc-template-footer nav a,.aivc-template-footer nav button { font-size:14px; padding:8px 0; }
.aivc-template-footer p { margin:0; color:#8e91a2; font-size:13px; line-height:1.8; max-width:100ch; }
.aivc-template-faq,.aivc-template-preview { width:100%; color:#ededf8; }
.aivc-template-faq h2 { font-size:36px; margin:0 0 28px; letter-spacing:-1px; }
.aivc-template-faq details,.aivc-template-preview details { border-bottom:1px solid #30303e; padding:22px 0; }
.aivc-template-faq summary,.aivc-template-preview summary { cursor:pointer; font-size:18px; line-height:1.5; }
.aivc-template-faq p,.aivc-template-preview p { color:#b6b6c7; font-size:16px; line-height:1.7; margin:16px 0 0; }
.aivc-template-preview { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding:32px; border:1px solid #30303e; border-radius:20px; background:#0c0c1a; }
.aivc-template-preview h3 { font-size:26px; line-height:1.3; margin:12px 0; }
.aivc-template-preview h4 { font-size:18px; margin:18px 0 0; }
.aivc-template-preview .aivc-template-kicker { color:#5cffcb; font-size:10px; margin:0 0 20px; }
.aivc-template-plan { display:flex; flex-direction:column; gap:24px; width:100%; padding:32px; background:#0c0c1a; border:1px solid #30303e; border-radius:20px; color:#ededf8; }
.aivc-template-plan select { width:min(100%,18rem); align-self:flex-start; font:inherit; color:#ededf8; background:#10101e; border:1px solid #3d655b; border-radius:12px; padding:14px 18px; min-height:48px; }
.aivc-template-plan output { font-size:16px; line-height:1.6; }
.aivc-template-plan button { cursor:pointer; }
.aivc-template-plan #plan-checkout { align-self:flex-start; }
.aivc-template-terms { display:flex; align-items:flex-start; gap:12px; color:#b6b6c7; font-size:15px; line-height:1.6; }
.aivc-template-terms input { flex:0 0 18px; width:18px; height:18px; margin:3px 0 0; accent-color:#5cffcb; }
.aivc-template-live-pricing { display:flex; flex-wrap:wrap; align-items:center; gap:20px; border-top:1px solid #30303e; padding-top:28px; }
.aivc-template-live-pricing strong { font-size:26px; }
.aivc-template-live-pricing p { flex-basis:100%; color:#b6b6c7; margin:0; }
.aivc-template-account { margin:0 48px 32px; padding:24px; border:1px solid #30303e; border-radius:12px; }
.aivc-template-profile { position:relative; }
.aivc-template-profile-menu { position:absolute; right:0; top:calc(100% + 12px); z-index:110; width:260px; padding:16px; border:1px solid #30303e; border-radius:12px; background:#0c0c1a; box-shadow:0 12px 40px #0008; }
.aivc-template-profile-menu a,.aivc-template-profile-menu button,.aivc-template-provider-links a { display:block; padding:12px 8px; color:#ededf8; background:none; border:0; font:400 15px/1.5 'TASA Orbiter',sans-serif; text-decoration:none; cursor:pointer; text-align:left; }
.aivc-template-profile-menu :is(a,button):is(:hover,:focus-visible) { color:#0c0c1a; background:#ededf8; }
.aivc-template-profile-menu p { font-size:14px; line-height:1.5; color:#b6b6c7; margin:8px; }
@media(max-width:1100px) {
 .aivc-template-header { gap:20px; padding:16px 20px; }
 .aivc-template-brand { font-size:23px; }
 .aivc-template-menu,.aivc-template-menu nav { gap:16px; }
 .aivc-template-menu .aivc-template-button { padding:12px 16px; font-size:14px; }
 .aivc-template-column { padding:56px 32px; }
 .aivc-template-section-heading { gap:32px; }
}
@media(max-width:960px) {
 .aivc-template-menu-toggle { display:block; margin-left:auto; }
 .aivc-template-menu { display:none; position:absolute; top:calc(100% + 8px); left:auto; right:0; width:max-content; min-width:230px; max-width:calc(100vw - 48px); padding:12px; background:#0c0c1afc; border:1px solid #353544; box-shadow:0 18px 40px #0006; align-items:stretch; flex-direction:column; gap:8px; }
 .aivc-template-header[data-menu-open=true] .aivc-template-menu { display:flex; animation:aivc-menu-open .24s cubic-bezier(.2,.7,.2,1); transform-origin:top right; }
 .aivc-template-menu nav a:is(:hover,:focus-visible) { transform:translateX(3px); }
 .aivc-template-menu nav { flex-direction:column; align-items:stretch; gap:0; }
 .aivc-template-menu nav a { padding:10px 12px; border-radius:8px; background:#0c0c1a; color:#ededf8; }
 .aivc-template-menu nav a:is(:hover,:focus-visible),.aivc-template-menu nav a[aria-current=page] { background:#ededf8; color:#0c0c1a; }
 .aivc-template-menu .aivc-template-button { align-self:flex-start; }
 .aivc-template-profile-menu { position:static; width:100%; margin-top:12px; box-shadow:none; }
 .aivc-template-hero-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; min-height:760px; }
 .aivc-template-hero-detail { grid-column:2; align-self:end; padding-top:0; padding-bottom:24px; }
 .aivc-template-hero-copy { align-self:start; padding-top:24px; }
 .aivc-template-hero-art { width:100%; max-width:680px; }
 .aivc-template-hero h1 { font-size:56px; }
 .aivc-template-hero .aivc-template-column { padding-top:48px; }
 .aivc-template-lead { font-size:16px; }
 .aivc-template-footer-top { flex-direction:column; gap:24px; }
 .aivc-template-footer nav { justify-content:flex-start; }
}
@media(max-width:640px) {
 :root { scroll-padding-top:100px; }
 .aivc-template-site { width:calc(100% - 24px); }
 .aivc-template-header { top:8px; margin-top:8px; padding:12px 14px; min-height:72px; }
 .aivc-template-brand { font-size:22px; gap:10px; }
 .aivc-template-brand img { width:36px; height:36px; }
 .aivc-template-column { padding:40px 22px; gap:28px; }
 .aivc-template-section { scroll-margin-top:100px; }
 .aivc-template-section-heading { grid-template-columns:1fr; gap:18px; }
 .aivc-template-section-heading > p { padding:0; font-size:16px; }
 .aivc-template-section-heading h1,.aivc-template-section-heading h2 { font-size:32px; letter-spacing:-1px; }
 .aivc-template-kicker { font-size:10px; }
 .aivc-template-hero-layout { display:flex; flex-direction:column; align-items:stretch; gap:24px; min-height:0; }
 .aivc-template-hero .aivc-template-column { padding-top:40px; gap:20px; }
 .aivc-template-hero h1 { font-size:clamp(42px,11vw,62px); letter-spacing:-2px; margin-bottom:22px; }
 .aivc-template-hero-art { position:relative; left:auto; top:auto; transform:none; width:100%; max-width:380px; margin-block:-24px; align-self:center; flex:none; }
 .aivc-template-hero-copy,.aivc-template-hero-detail { padding:0; align-self:stretch; }
 .aivc-template-proof { grid-template-columns:1fr; gap:14px; padding-top:22px; }
 .aivc-template-grid { grid-template-columns:1fr; gap:16px; }
 .aivc-template-card { padding:24px; gap:12px; }
 .aivc-template-card h3 { font-size:22px; }
 .aivc-template-preview { grid-template-columns:1fr; gap:20px; padding:24px; }
 .aivc-template-actions { gap:12px; }
 .aivc-template-actions .aivc-template-button { flex:0 1 auto; }
 .aivc-template-plan { padding:20px; }
 .aivc-template-plan #plan-checkout { align-self:flex-start; }
 .aivc-template-footer { padding:32px 22px; }
 .aivc-template-account { margin:0 22px 24px; }
 .aivc-template-faq h2 { font-size:30px; }
}

.aivc-template-section-beam.aivc-template-motion { position:absolute; inset:0 0 auto; height:2px; width:100%; pointer-events:none; }
[data-template-atmosphere] { background:radial-gradient(ellipse at 85% 20%,#0b33282e,transparent 60%); }
[data-template-atmosphere] .aivc-template-card { transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease; }
@media(hover:hover) {
 [data-template-atmosphere] .aivc-template-card:hover { transform:translateY(-4px); border-color:#478c76; box-shadow:0 14px 36px #0004,inset 0 1px 20px #5cffcb0b; }
}

@keyframes aivc-menu-open { from { opacity:0; transform:translateY(-8px) scale(.98); } to { opacity:1; transform:none; } }

@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
.aivc-template-sphere-fallback { width:100%; height:100%; border-radius:50%; background:radial-gradient(circle,#5cffcb 1px,transparent 2px) 0 0/12px 12px; mask-image:radial-gradient(circle,#000 12%,#0006 48%,transparent 70%); }

/* Long-form copy shares a clean edge while the final line stays natural. */
.aivc-template-site p:not(.kicker):not(.aivc-template-kicker):not(.aivc-template-note), .privacy-consent-dialog p { text-align: justify; text-align-last: start; hyphens: auto; }
.aivc-template-proof p { text-align: start; }
