/* OpsBots website layout (D69/D70). Colours, type and shapes come only from the theme (/assets/opsbots.v1.css, loaded
   first); this file uses var(--ob-*) and never a raw colour. Night: header, hero, final band, footer. Day: content. */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;min-height:100vh}
/* short pages (legal, 404): the last band stretches to the footer instead of leaving the night ground showing */
.ob-ground{display:flex;flex-direction:column}
main{flex:1 0 auto;display:flex;flex-direction:column}
main > :last-child{flex:1 0 auto}
/* anywhere, not break-word: grid items size to their longest word, and Linux browsers may lack German hyphenation */
h1,h2,h3{color:var(--ob-ink);font-weight:700;line-height:1.08;margin:0;overflow-wrap:anywhere;hyphens:auto}
h1{font-size:clamp(2.4rem,5.4vw,4.4rem);letter-spacing:-.04em}
h2{font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.03em;max-width:900px;margin-bottom:1.6rem}
h3{font-size:1.2rem;letter-spacing:-.02em;margin:.8rem 0 .5rem}
p{margin:0 0 1rem}
ul,ol{padding-left:1.4rem}
li{margin-bottom:.5rem}
a,li,p{overflow-wrap:anywhere}
small{font-size:.9rem;font-weight:400}
summary{cursor:pointer;font-weight:650;color:var(--ob-ink)}
.skip{position:absolute;left:1rem;top:-100px;z-index:10;padding:.8rem 1rem;background:var(--ob-surface);color:var(--ob-ink);border-radius:var(--ob-radius-sm)}
.skip:focus{top:1rem}
.preview{text-align:center;font-size:.8rem;padding:.45rem 1rem;color:var(--ob-warn);background:var(--ob-warn-bg)}
/* Full-width bands; the content sits in a centred 1200 px column through padding, so no wrapper is needed. */
header,.section,.hero,footer{padding-inline:max(clamp(16px,5vw,48px),calc((100% - 1200px)/2))}

header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;padding-block:1.4rem;border-bottom:1px solid var(--ob-line)}
.brand{display:inline-flex;align-items:center;gap:.55rem;font-size:1.45rem;font-weight:750;letter-spacing:-.05em;text-decoration:none;color:var(--ob-ink)}
.brand-mark{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;font-size:1.5rem;line-height:1;font-weight:700;color:var(--ob-on-accent);background:linear-gradient(180deg,var(--ob-accent-2),var(--ob-accent))}
header nav{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-inline:auto;font-size:.9rem}
header nav a,.account-links a,footer a{color:var(--ob-ink-2);text-decoration:none}
header nav a:hover,.account-links a:hover,footer a:hover{color:var(--ob-ink);text-decoration:underline}
header nav a[aria-current="page"]{color:var(--ob-ink)}
.account-links{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.1rem;font-size:.9rem}
.account-links .header-trial{color:var(--ob-accent-text);font-weight:650}
.language{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--ob-line-2);border-radius:var(--ob-radius-pill)}
/* Hero (night) with the big demo */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-block:clamp(56px,10vh,112px)}
.hero h1{margin:1.1rem 0 1.4rem}
.intro{font-size:1.15rem;color:var(--ob-ink-2);max-width:34rem}
.trial-block{margin:1.6rem 0 1rem}
.trial-note{max-width:30rem;color:var(--ob-muted);font-size:.8rem;line-height:1.55;margin:.9rem 0 0}
.text-link{font-weight:650}
.demo{margin:0}
.demo figcaption{font-size:.8rem;color:var(--ob-muted);margin-bottom:.8rem}
.demo-window{border:1px solid var(--ob-line-2);border-radius:var(--ob-radius);background:var(--ob-surface);box-shadow:0 30px 80px var(--ob-shadow),inset 0 1px 0 var(--ob-card-sheen);overflow:hidden}
.demo-top{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.1rem;font-weight:700;color:var(--ob-ink);border-bottom:1px solid var(--ob-line)}
.demo-top .brand-mark{width:26px;height:26px;border-radius:8px;font-size:1.15rem}
.demo-turns{list-style:none;margin:0;padding:1.1rem;display:grid;gap:.75rem}
.turn{margin:0;max-width:88%;padding:.75rem 1rem;border-radius:var(--ob-radius-sm);font-size:.95rem;line-height:1.5}
.turn p{margin:0}
.turn.visitor{justify-self:end;color:var(--ob-on-accent);background:linear-gradient(180deg,var(--ob-accent-2),var(--ob-accent))}
.turn.bot{justify-self:start;color:var(--ob-ink-2);background:var(--ob-bg-2);border:1px solid var(--ob-line)}
.demo-sources{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--ob-line);font-size:.85rem}
.demo-sources-title{margin:0;font-weight:650;color:var(--ob-ink)}
.demo-sources ol{margin:.25rem 0 0;padding-left:1.2rem;color:var(--ob-muted)}
.demo-sources li{margin:0}
.demo-form div{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.6rem}
.demo-field{flex:1 1 7rem;padding:.45rem .7rem;font-size:.85rem;color:var(--ob-muted);border:1px solid var(--ob-edge);border-radius:8px;background:var(--ob-surface)}
.demo-send{padding:.45rem .9rem;font-size:.85rem;font-weight:650;color:var(--ob-on-accent);border-radius:var(--ob-radius-pill);background:var(--ob-accent)}
.turn.handover{justify-self:stretch;max-width:none;display:grid;gap:.4rem;color:var(--ob-muted);font-size:.88rem;background:transparent;padding:.25rem 0 0}
.demo-chip{justify-self:start;padding:.25rem .8rem;font-size:.8rem;font-weight:650;color:var(--ob-accent-text);border:1px solid var(--ob-accent-edge);border-radius:var(--ob-radius-pill);background:var(--ob-accent-soft)}
/* Content bands (day) */
.section{padding-block:clamp(64px,11vh,120px);background:var(--ob-bg)}
.section:nth-of-type(odd)[data-ground="day"]{background:var(--ob-bg-2)}
.section .ob-eyebrow{margin-bottom:.8rem}
.service-list{display:grid;gap:1.2rem}
.service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:1.4rem 2.5rem;align-items:start;padding:clamp(14px,3vw,28px);background:var(--ob-surface);border:1px solid var(--ob-line);border-radius:var(--ob-radius)}
.service-text{display:grid;gap:1rem;align-content:start}
.service-head{display:grid;justify-items:start;gap:.6rem;min-width:0}
/* a status chip may wrap at large text sizes on narrow screens */
.service-head .ob-chip{display:inline-block;max-width:100%;overflow-wrap:anywhere}
.service-head .ob-chip::before{display:inline-block;margin-right:6px;vertical-align:middle}
.service-head h3{margin:0;font-size:1.45rem}
.service-scope{color:var(--ob-muted);margin:0}
.service .ob-ticks{margin:0}
.shot{margin:0}
.shot img{display:block;width:100%;height:auto;border:1px solid var(--ob-line-2);border-radius:var(--ob-radius-sm);box-shadow:0 18px 50px var(--ob-shadow)}
.shot figcaption{margin-top:.5rem;font-size:.8rem;color:var(--ob-muted)}
.use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.use-grid article{padding:clamp(14px,3vw,26px);background:var(--ob-surface);border:1px solid var(--ob-line);border-radius:var(--ob-radius)}
.use-grid p{color:var(--ob-muted);margin:0}
.number{font-family:var(--ob-mono);font-size:.8rem;color:var(--ob-accent-text)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;padding:0;list-style:none;counter-reset:step}
.steps li{counter-increment:step;padding:clamp(14px,3vw,22px);margin:0;background:var(--ob-surface);border:1px solid var(--ob-line);border-radius:var(--ob-radius)}
.steps li::before{content:counter(step,decimal-leading-zero);font-family:var(--ob-mono);font-size:.8rem;color:var(--ob-accent-text)}
.steps h3{margin-top:.5rem}
.steps p{color:var(--ob-muted);margin:0}
.source-section{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.source-stack{display:grid;gap:.7rem;max-width:22rem;width:100%;margin-inline:auto}
.source-stack span{overflow-wrap:anywhere;padding:clamp(10px,2.5vw,14px) clamp(12px,3vw,22px);font:600 1rem var(--ob-mono);color:var(--ob-ink);background:var(--ob-surface);border:1px solid var(--ob-line-2);border-radius:var(--ob-radius-sm)}
.how-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:2rem 2.5rem;align-items:start;margin-top:2.4rem}
.source-block{display:grid;gap:1rem;align-content:start;min-width:0}
.how-detail > *,.service > *{min-width:0}
.source-block h3{margin:0;font-size:1.45rem}
.source-block p{color:var(--ob-muted);margin:0}
.source-block .source-stack{margin:0;max-width:20rem}
.channels{margin-top:2.6rem}
.channels h3{font-size:1.45rem;margin:0 0 .4rem}
.channels-lead{color:var(--ob-muted)}
.gmail-data{margin-top:2rem;max-width:52rem}
.gmail-data h3{font-size:1.15rem;margin:0 0 .4rem}
.gmail-data p{color:var(--ob-ink-2)}
.channel-list h4{margin:.1rem 0;font-size:1.05rem;color:var(--ob-ink)}
.teaser-list{list-style:none;padding:0;margin:1.4rem 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.teaser-list li{display:grid;gap:.2rem;margin:0;padding:clamp(14px,3vw,26px);background:var(--ob-surface);border:1px solid var(--ob-line-2);border-radius:var(--ob-radius)}
.teaser-plan{font-weight:700;color:var(--ob-ink);font-size:1.2rem}
.teaser-price{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;letter-spacing:-.03em;color:var(--ob-ink);overflow-wrap:anywhere}
.teaser-unit{color:var(--ob-muted)}
.teaser-note{color:var(--ob-muted);max-width:44rem}
.channel-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:1.2rem 2rem;align-items:start;padding:1.4rem 0;border-bottom:1px solid var(--ob-line-2)}
.channel-list h3{margin:.1rem 0}
.channel-list p{margin:0;color:var(--ob-muted)}
.control ul{padding-left:1.2rem}
.control li{max-width:44rem}
.section-title{max-width:52rem}
.price-controls{display:flex;flex-wrap:wrap;gap:1.2rem;margin:1.6rem 0}
.price-controls label{display:grid;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--ob-ink)}
.price-controls label{min-width:0;max-width:100%}
.price-controls select{width:auto;min-width:min(9rem,100%);max-width:100%}
.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin-bottom:1.6rem}
.price-card{padding:clamp(14px,3vw,28px);background:var(--ob-surface);border:1px solid var(--ob-line-2);border-radius:var(--ob-radius)}
.price-card:nth-child(2){border-color:var(--ob-accent-edge)}
.price{font-size:2.4rem;font-weight:700;letter-spacing:-.04em;color:var(--ob-ink)}
.price small{display:block;color:var(--ob-muted);letter-spacing:0;font-size:.9rem;font-weight:400}
.price-card details,.annual{font-size:.85rem}
.faq details{padding:1.1rem 0;border-bottom:1px solid var(--ob-line-2)}
.faq details p{margin:.6rem 0 0}
.help p{max-width:44rem;color:var(--ob-ink-2)}
.final-cta{text-align:left}
.final-cta p{color:var(--ob-ink-2);max-width:40rem}
.legal{max-width:none}
.legal > *{max-width:46rem}
footer{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 2rem;padding-block:2.2rem;font-size:.9rem;border-top:1px solid var(--ob-line)}
footer nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
@media (max-width:900px){
  .hero,.source-section{grid-template-columns:minmax(0,1fr)}
  .use-grid{grid-template-columns:minmax(0,1fr)}
  .steps,.pricing-grid{grid-template-columns:minmax(0,1fr)}
  .channel-list article{grid-template-columns:minmax(0,1fr)}
  header nav{margin-inline:0;order:3;width:100%}
}
.price-hero{grid-template-columns:minmax(0,1fr);padding-block:clamp(48px,8vh,88px)}
.price-hero .intro{max-width:44rem}
.countries{margin-top:1rem;color:var(--ob-ink-2)}
.countries p{margin:.5rem 0 0;color:var(--ob-muted)}
.price-terms{display:grid;gap:.2rem;max-width:52rem;color:var(--ob-muted);font-size:.92rem}
.price-card .ob-ticks{margin:1rem 0}
.notfound{display:grid;gap:1.4rem;padding-block:clamp(64px,14vh,140px)}
.notfound section{display:grid;gap:.6rem}
.notfound h1{font-size:clamp(1.8rem,4vw,2.8rem)}
.legal h1{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:1.4rem}
.legal h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:2.2rem 0 .8rem}
.legal h3{font-size:1.1rem;margin:1.6rem 0 .5rem}
.legal p,.legal li{color:var(--ob-ink-2)}
.legal table{border-collapse:collapse;width:100%;font-size:.92rem}
.legal th,.legal td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--ob-line-2);vertical-align:top}
/* last on purpose: phone layouts must win over the desktop grids above */
@media (max-width:900px){.service,.how-detail,.teaser-list{grid-template-columns:minmax(0,1fr)}}
