:root{--bg:#0b0d10;--surface:#13161b;--border:#242932;--text:#e8eaed;--muted:#9aa1ab;--dim:#868e9a;--accent:#f5a524;--on-accent:#1a1204;--green:#4ade80;--green-bg:#12261b;--amber-bg:#2a1f08;--danger:#f87171;--hue:#9aa1ab;--hue-ink:#0b0d10;--head:"Bricolage Grotesque",Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.h-teal{--hue:#2dd4bf;--hue-ink:#06302b}
.h-gold{--hue:#facc15;--hue-ink:#3a2d00}
.h-violet{--hue:#a78bfa;--hue-ink:#1e1547}
.h-rose{--hue:#fb7185;--hue-ink:#4a0f1b}
.h-sky{--hue:#38bdf8;--hue-ink:#06304a}
.h-lime{--hue:#a3e635;--hue-ink:#21360a}
.h-coral{--hue:#fb923c;--hue-ink:#4a2005}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{font-family:var(--head);font-weight:500;line-height:1.15;letter-spacing:-.01em;margin:0 0 .5rem}
h1{font-size:clamp(1.9rem,5vw,2.9rem);font-weight:700;letter-spacing:-.02em}
h2{font-size:1.4rem;margin-top:2.5rem}
h3{font-size:1.15rem}
p{margin:0 0 1rem}
.mono{font-family:ui-monospace,"JetBrains Mono",Consolas,monospace}
.container{max-width:960px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}
.skip:focus{left:8px;top:8px;background:var(--surface);padding:8px;z-index:10}
.site-header{border-bottom:1px solid var(--border)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:56px;flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-family:var(--head);font-weight:700;font-size:1.1rem;letter-spacing:-.01em}
.logo-mark{display:block;flex:none}
.logo-word span{font-weight:500;color:var(--muted)}
.logo:hover{text-decoration:none}
.site-nav a{color:var(--muted);margin-left:20px;font-size:.95rem}
.site-nav a[aria-current=page],.site-nav a:hover{color:var(--text);text-decoration:none}
.menu-toggle{display:none;background:none;border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:6px;font:inherit}
@media(max-width:640px){
  .menu-toggle{display:block}
  .site-nav{display:none;width:100%;padding-bottom:12px}
  .site-nav.open{display:block}
  .site-nav a{display:block;margin:0;padding:10px 0}
}
.hero{padding-top:72px;padding-bottom:40px}
.hero h1{max-width:18em}
.hero p{color:var(--muted);max-width:60ch;font-size:1.05rem}
.hero-top{display:grid;grid-template-columns:minmax(0,1fr);gap:24px 40px;align-items:center}
.hero-photo{margin:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
@media(min-width:760px){.hero-top{grid-template-columns:minmax(0,1fr) 440px}.hero-photo img{aspect-ratio:4/3}}
.section{padding-top:32px;padding-bottom:32px}
.section>h1+.lead{max-width:60ch;margin-bottom:24px}
.lead{color:var(--muted)}
.section-title{font-size:1.4rem;margin:0 0 16px}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-block;padding:9px 16px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:500 .95rem Inter,system-ui,sans-serif;cursor:pointer;transition:border-color .15s,filter .15s}
.btn:hover{border-color:#3a4150;text-decoration:none}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-primary:hover{border-color:var(--accent);filter:brightness(1.08)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px;color:var(--text);transition:border-color .15s}
.card p{color:var(--muted);font-size:.9rem;margin:0}
.card-link{display:block;border-top:2px solid var(--hue)}
.card-link:hover{border-color:var(--hue);text-decoration:none}
.card-link:focus-visible{outline-offset:3px}
.more{margin-top:12px}
.badge{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:4px;font-weight:500}
.badge-free{background:var(--green-bg);color:var(--green)}
.badge-paid{background:var(--amber-bg);color:var(--accent)}
.product .actions{margin:16px 0}
.product-grid{display:grid;grid-template-columns:1fr;gap:8px 48px}
.product-art{margin:16px 0 8px;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--hue);border-radius:8px;padding:12px}
.product-art img{display:block;width:100%;height:auto;border-radius:4px}
.product-shot{margin:24px 0;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.product-shot img{display:block;width:100%;max-width:100%;height:auto}
.product .list li::marker{color:var(--hue)}
.product .badge{box-shadow:inset 0 -2px 0 var(--hue)}
@media(min-width:860px){
  .product-grid{grid-template-columns:minmax(0,1fr) minmax(0,420px);grid-template-areas:"head art" "body art";grid-template-rows:auto 1fr}
  .product-head{grid-area:head}
  .product-body{grid-area:body}
  .product-art{grid-area:art;position:sticky;top:16px;align-self:start;margin:0}
}
.notice{border:1px solid var(--accent);border-radius:8px;padding:12px;color:var(--text);background:var(--amber-bg)}
.meta{display:flex;flex-wrap:wrap;gap:8px 32px;margin:20px 0;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.meta dt{font-size:.85rem;color:var(--dim)}
.meta dd{margin:0}
.list{padding-left:20px;margin:0 0 1rem;color:var(--muted)}
.list li{margin-bottom:4px}
.page-hero{display:grid;grid-template-columns:1fr;gap:16px 40px;align-items:center;margin-bottom:24px}
.page-art{display:block;width:100%;max-width:480px;height:auto}
@media(min-width:760px){.page-hero{grid-template-columns:minmax(0,1fr) minmax(0,420px)}.page-hero .page-art{justify-self:end}}
.page-hero .lead{margin-bottom:12px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.plan{text-align:left}
.plan-label{font-size:.9rem;color:var(--dim);margin:0 0 8px}
.plan .price{font-size:2rem;font-weight:500;margin:4px 0 6px}
.plan form{margin-top:14px}
form.stack label{display:block;font-size:.9rem;color:var(--muted);margin:14px 0 4px}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:10px;font:inherit}
textarea{min-height:140px;resize:vertical}
.error{color:var(--danger);font-size:.9rem;margin:4px 0 0}
.flash{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px;margin-bottom:16px}
.flash.ok{border-color:var(--green)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
@media(min-width:760px){.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,320px);align-items:start}}
.contact-panel .section-title{margin-bottom:8px}
.contact-panel h3{font-size:.95rem;font-family:inherit;font-weight:600;color:var(--muted);margin:16px 0 4px}
.contact-panel address{font-style:normal;color:var(--text)}
.contact-panel .contact-phones{list-style:none;margin:0 0 16px;padding:0}
.contact-panel .contact-phone-label{display:block;font-size:.85rem;color:var(--dim)}
.contact-panel .contact-phones li{margin-bottom:8px}
.hp{position:absolute;left:-9999px}
.site-footer{border-top:1px solid var(--border);margin-top:48px;padding:20px 0;color:var(--dim);font-size:.85rem}
.site-footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

.mt-md { margin-top: 14px; }
.mt-lg { margin-top: 20px; }
.billing-login{margin:12px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;color:var(--muted)}

/* Home timeline */
.timeline-wrap{margin-top:40px}
.timeline{display:block;width:100%;height:auto;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:8px}
.timeline .tick{stroke:var(--border);stroke-width:1}
.timeline .ruler-text{font:10px ui-monospace,"JetBrains Mono",Consolas,monospace;fill:var(--dim)}
.timeline .track{fill:var(--bg)}
.timeline .track-label{font:11px ui-monospace,"JetBrains Mono",Consolas,monospace;fill:var(--dim)}
.timeline .clip{cursor:pointer;outline:none}
.timeline .clip text{font:500 12px Inter,system-ui,sans-serif;pointer-events:none}
.timeline .clip rect{transition:filter .15s}
.timeline .clip-ring-out,.timeline .clip-ring-in{display:none;pointer-events:none}
.timeline .clip:hover rect,.timeline .clip[aria-current="true"] rect{filter:brightness(1.12)}
.timeline .clip:focus-visible .clip-ring-out,.timeline .clip:focus-visible .clip-ring-in{display:block}
.timeline .clip-ring-out{stroke:#e8eaed;stroke-width:2}
.timeline .clip-ring-in{stroke:#0b0d10;stroke-width:2}
.timeline .playhead{pointer-events:none}
.timeline .playhead line{stroke:var(--accent);stroke-width:2}
.timeline .playhead path{fill:var(--accent)}
.playhead{animation:playhead-sweep 1.6s ease-out 1 both}
@keyframes playhead-sweep{from{transform:translateX(520px)}to{transform:translateX(0)}}
.monitor{margin-top:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px;border-top:3px solid var(--hue)}
.monitor-item[hidden]{display:none}
.monitor-name{font-size:1.3rem;margin:0 0 6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.monitor-item p{margin:0 0 12px}
.monitor-item .actions{margin:0}
.timeline-list{display:none;list-style:none;margin:0;padding:0;flex-wrap:wrap;gap:8px}
.timeline-list .chip{display:inline-block;padding:8px 14px;border-radius:6px;background:var(--hue);color:var(--hue-ink);font-weight:500;font-size:.95rem}
.timeline-list .chip:hover{text-decoration:none;filter:brightness(1.1)}
@media (max-width:640px){
  .timeline{display:none}
  .timeline-list{display:flex;margin-top:12px}
}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition:none!important;animation:none!important}.playhead{animation:none}}
.plan-note{margin:0}
.plan .plan-monthly{margin:2px 0 0;color:var(--dim)}
.included{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:1fr;gap:14px 32px}
@media(min-width:640px){.included{grid-template-columns:1fr 1fr}}
.included li{display:flex;gap:10px;align-items:flex-start}
.included .check{flex:none;margin-top:3px;color:var(--green)}
.included-title-text{display:block;font-weight:500}
.included-detail{display:block;color:var(--muted);font-size:.9rem}
.included-title,.faq-title{margin-top:40px}
.quiet-note{color:var(--dim);font-size:.9rem;margin:0;padding-top:14px;border-top:1px solid var(--border)}
.faq details{border:1px solid var(--border);border-radius:8px;background:var(--surface);margin-bottom:8px}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;cursor:pointer;font-weight:500;list-style:none;border-radius:8px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;color:var(--muted);font:500 1.25rem/1 Inter,system-ui,sans-serif}
.faq details[open] summary::after{content:"\2212"}
.faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.faq details p{margin:0;padding:0 16px 16px;color:var(--muted)}
.talk{margin-top:32px}

.hosting-head{margin-bottom:8px}
.hosting-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:12px}
.hosting-bar h1{margin:0;font-size:1.15rem;font-weight:500;letter-spacing:0;color:var(--muted)}
.hosting-head .lead{max-width:60ch;margin:0 0 16px}
.page-switch{display:flex;flex-wrap:wrap;gap:8px}
.page-switch a{display:inline-block;padding:9px 16px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:500 .95rem Inter,system-ui,sans-serif}
.page-switch a:hover{border-color:#3a4150;text-decoration:none}
.page-switch a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.hosting-block{scroll-margin-top:16px;padding-top:32px}
.hosting-block+.hosting-block{margin-top:48px;border-top:1px solid var(--border)}
.hosting-headline{font-size:clamp(1.9rem,4.6vw,2.75rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0 0 12px}
.hosting-headline::before{content:"";display:block;width:48px;height:3px;margin-bottom:16px;border-radius:2px;background:var(--hue)}
.hosting-intro{display:grid;grid-template-columns:1fr;gap:16px 40px;align-items:start;margin-bottom:28px}
.hosting-intro .product-shot{margin:0}
.hosting-photo{margin:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}
.hosting-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}
@media(min-width:760px){
  .hosting-intro{grid-template-columns:minmax(0,1fr) minmax(0,440px)}
  .hosting-photo img{aspect-ratio:4/3}
}
.hosting-intro .lead{margin:0 0 12px;max-width:60ch}
.hosting-block .section-title{font-size:1.4rem;font-weight:700}
.fc-plans-section{margin-top:48px;padding-top:32px;border-top:1px solid var(--border);scroll-margin-top:16px}
.fc-plans-section .included-title{font-size:1.4rem;font-weight:700}
.fc-plans{list-style:none;margin:0;padding:0;grid-template-columns:1fr}
@media(min-width:520px){.fc-plans{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.fc-plans{grid-template-columns:repeat(4,1fr)}}
.fc-plans .btn{margin-top:14px}
.fc-extras{margin:0 0 20px}
.fc-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin:20px 0 0}

/* Home imagery */
.tiles{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media(min-width:640px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tile{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.tile-img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.tile-caption{padding:16px;border-top:1px solid var(--border)}
.tile-caption h3{font-size:1.05rem;margin-bottom:8px}
.tile-links{list-style:none;margin:0;padding:0}
.tile-links li{margin-bottom:4px}
.showcase{display:grid;gap:40px}
.showcase-row{display:grid;grid-template-columns:minmax(0,1fr);gap:16px 40px;align-items:center}
.showcase-row .product-shot{margin:0}
.showcase-name{font-size:1.4rem;margin-bottom:8px}
.showcase-name::before{content:"";display:block;width:40px;height:3px;margin-bottom:12px;border-radius:2px;background:var(--hue)}
.showcase-tagline{color:var(--text)}
.showcase-text p{color:var(--muted)}
.showcase-text .actions{margin:16px 0 0}
@media(min-width:760px){
  .showcase-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
  .showcase-flip{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
  .showcase-flip .product-shot{order:2}
}
.band{position:relative;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}
.band-img{display:block;width:100%;height:240px;object-fit:cover;object-position:50% 60%}
.band-caption{padding:16px;background:var(--bg);border-top:1px solid var(--border)}
.band-title{font-size:1.25rem;margin:0 0 8px}
.band-caption p{margin:0 0 8px;color:var(--muted)}
.band-caption p:last-child{margin:0}
@media(min-width:640px){
  .band-img{height:320px}
  .band-caption{position:absolute;left:16px;bottom:16px;max-width:380px;border:1px solid var(--border);border-radius:8px}
}
.cta{display:grid;grid-template-columns:minmax(0,1fr);gap:20px 40px;align-items:center}
.cta-img{display:block;width:100%;max-width:360px;height:auto;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--border);border-radius:8px}
.cta-title{margin:0 0 8px}
.cta-text p{color:var(--muted)}
@media(min-width:760px){.cta{grid-template-columns:360px minmax(0,1fr)}}

/* Software catalog */
.sw-head .page-switch{margin-top:24px}
.sw-anchor{scroll-margin-top:16px}
.sw-spot{padding:20px;border-top:2px solid var(--hue)}
.sw-link{align-self:center;padding:9px 4px}
.sw-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media(min-width:640px){.sw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.sw-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sw-card{padding:0;overflow:hidden}
.sw-media{position:relative;display:block}
.sw-thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--border)}
.sw-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}
.sw-thumb-art img{object-fit:contain;object-position:center}
.sw-icon{position:absolute;left:16px;bottom:-20px;width:40px;height:40px;border-radius:8px;background:var(--surface)}
.sw-body{display:block;padding:28px 16px 16px}
.sw-body .badge{margin-bottom:8px}
.sw-card .card-meta{margin:10px 0 0;color:var(--dim);font-size:.8rem}
.sw-more{display:inline-block;margin-top:10px;color:var(--accent);font-weight:500;font-size:.9rem}
.sw-card:hover .sw-more{text-decoration:underline}
.sw-strip{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.sw-strip img{display:block;width:96px;height:64px}
.sw-strip-text{flex:1 1 260px}
.sw-strip-text .section-title{margin-bottom:4px}

/* Home SaaS videos */
.section-lead{color:var(--muted);max-width:62ch;margin:0 0 20px}
.video-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:20px}
@media(min-width:760px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.video-card{margin:0}
.video-card figcaption{margin-top:8px;color:var(--muted);font-size:.9rem}
.video-card figcaption strong{color:var(--text)}
.video-play,.video-card iframe{display:block;width:100%;aspect-ratio:16/9;border:1px solid var(--border);border-radius:8px}
.video-play{position:relative;padding:0;overflow:hidden;background:var(--surface);color:var(--text);cursor:pointer;font:600 1.1rem Inter,system-ui,sans-serif;transition:border-color .15s}
.video-play:hover{border-color:var(--accent)}
.video-play img{display:block;width:100%;height:100%;object-fit:cover}
.video-play-icon{position:absolute;top:50%;left:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(11,13,16,.75);border:2px solid var(--text)}
.video-play-icon::after{content:"";position:absolute;top:50%;left:50%;margin:-11px 0 0 -7px;border-left:20px solid var(--text);border-top:11px solid transparent;border-bottom:11px solid transparent}
.video-play:hover .video-play-icon{background:var(--accent);border-color:var(--accent)}
.video-lightbox{width:min(960px,calc(100vw - 32px));max-width:none;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);overflow:visible}
.video-lightbox::backdrop{background:rgba(0,0,0,.85)}
.video-frame iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:8px}
.video-close{position:absolute;top:-40px;right:0;width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:1.4rem;line-height:1;cursor:pointer}
.video-close:hover{border-color:var(--accent)}
