:root {
  --ibi-canvas: #F7F8F5;
  --ibi-surface: #FFFFFF;
  --ibi-ink: #262A27;
  --ibi-muted: #60675F;
  --ibi-line: #DDE2D9;
  --ibi-brand: #FFD24D;
  --ibi-brandHover: #F5C333;
  --ibi-brandSoft: #FFF4C9;
  --ibi-success: #286442;
  --ibi-successSoft: #EAF4ED;
  --ibi-danger: #A93238;
  --ibi-dangerSoft: #FDEEF0;
  --ibi-info: #305F9A;
  --ibi-infoSoft: #EDF3FC;
  --ibi-focus: #305F9A;
  --ibi-font: 'Golos Text', system-ui, sans-serif;
  --ibi-radius-control: 12px;
  --ibi-radius-card: 20px;
  --ibi-radius-feature: 28px;
  --ibi-shadow: 0 8px 24px rgb(38 42 39 / 5%);
  --ibi-fast: 140ms;
  --ibi-normal: 220ms;
  --ibi-space-1: 4px;
  --ibi-space-2: 8px;
  --ibi-space-3: 12px;
  --ibi-space-4: 16px;
  --ibi-space-6: 24px;
  --ibi-space-8: 32px;
  --ibi-space-12: 48px;
  --ibi-space-16: 64px;
}

@font-face{font-family:'Golos Text';src:url('/seo-font.woff2') format('woff2');font-weight:400 900;font-display:swap}
.guest-conversation{max-width:800px;margin:24px auto;scroll-margin-top:24px}.guest-conversation:empty{display:none}.guest-message{padding:20px;margin:12px 0;border:1px solid var(--ibi-line);border-radius:var(--ibi-radius-card);background:var(--ibi-surface);overflow-wrap:anywhere}.guest-message--user{background:var(--ibi-brandSoft)}.guest-message>div{white-space:pre-wrap;margin-top:8px}.guest-chat button:disabled{opacity:.65;cursor:wait}
.guest-welcome{max-width:800px;margin:24px auto;text-align:center}.guest-welcome img{object-fit:contain}.guest-welcome h1{font-size:clamp(28px,4vw,44px);margin:12px auto}.guest-welcome p{margin:8px auto}.guest-chat{max-width:800px;margin:auto;padding:20px;background:var(--ibi-surface);border:1px solid var(--ibi-line);border-radius:var(--ibi-radius-card)}.guest-chat label{display:block;font-weight:600}.guest-chat textarea{display:block;width:100%;resize:vertical;min-height:120px;margin-top:8px;padding:12px;border:1px solid var(--ibi-line);border-radius:var(--ibi-radius-control);font:inherit;color:var(--ibi-ink);background:var(--ibi-canvas)}.guest-submit{display:flex;align-items:center;gap:16px;justify-content:space-between}.guest-submit p{font-size:13px;color:var(--ibi-muted);max-width:430px}.guest-chat button{font:inherit;border:0;cursor:pointer;flex-shrink:0}.guest-examples{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:16px auto;max-width:800px}.guest-examples button{font:inherit;font-size:14px;min-height:44px;padding:8px 14px;border:1px solid var(--ibi-line);background:var(--ibi-surface);color:var(--ibi-ink);border-radius:var(--ibi-radius-control);cursor:pointer}.guest-note{max-width:800px;margin:16px auto}.guest-chat :focus-visible,.guest-examples :focus-visible{outline:3px solid var(--ibi-focus);outline-offset:3px}#guest-error:empty{display:none}@media(max-width:600px){.guest-submit{align-items:stretch;flex-direction:column;gap:4px}.guest-chat{padding:14px}.guest-welcome{margin-top:8px}.guest-welcome img{width:56px;height:auto}}
*{box-sizing:border-box}body{margin:0;background:var(--ibi-canvas);color:var(--ibi-ink);font-family:var(--ibi-font);line-height:1.7}header,main,footer{max-width:1120px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ibi-line)}header img{display:block;object-fit:contain}nav{display:flex;flex-wrap:wrap;gap:16px;align-items:center}a{color:var(--ibi-ink);text-underline-offset:5px;overflow-wrap:anywhere}nav a,footer a,li a,summary{display:inline-flex;align-items:center;min-height:44px}a:focus-visible,summary:focus-visible{outline:3px solid var(--ibi-focus);outline-offset:4px}h1{font-size:clamp(30px,4.2vw,52px);line-height:1.15;max-width:850px;letter-spacing:-.025em}h2{font-size:clamp(23px,3vw,30px);line-height:1.3;margin-top:36px}h3{font-size:21px;line-height:1.35}p,li{max-width:850px}li{margin-block:8px}.lead{font-size:20px}.note,.eyebrow{color:var(--ibi-muted);font-size:14px}.eyebrow{letter-spacing:.07em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;min-height:48px;border-radius:var(--ibi-radius-control);background:var(--ibi-brand);text-decoration:none;font-weight:600}.button:hover{background:var(--ibi-brandHover)}section{background:var(--ibi-surface);border:1px solid var(--ibi-line);border-radius:var(--ibi-radius-card);padding:24px;margin:24px 0}section h2:first-child{margin-top:0}.hero{display:grid;grid-template-columns:1fr 200px;align-items:center;gap:24px;padding-block:40px}.hero img{max-width:100%;height:auto}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cards section{margin:0}.cards h3{margin-top:0}.exercise{background:var(--ibi-brandSoft)}details{border-top:1px solid var(--ibi-line);padding-top:12px}summary{cursor:pointer;font-weight:600}summary::before{content:'＋';margin-right:8px}details[open] summary::before{content:'−'}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;background:white}caption{text-align:left;margin:12px 0;font-weight:600}th,td{text-align:left;border:1px solid var(--ibi-line);padding:12px}footer{border-top:1px solid var(--ibi-line);margin-top:40px}.skip{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}@media(max-width:760px){.cards{grid-template-columns:1fr}.hero{grid-template-columns:1fr;padding-block:20px}.hero img{width:120px;justify-self:center}header{align-items:flex-start}nav{gap:6px 12px;justify-content:flex-end}nav a{font-size:14px}main,header,footer{padding:18px}section{padding:18px}.lead{font-size:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}



/* IBI LANDING V2: lightweight static layout, isolated from other pages */
body:has(.guest-hero) header{min-height:84px}
body:has(.guest-hero) header .guest-header-login{padding:9px 18px;border:1px solid var(--ibi-line);border-radius:12px;text-decoration:none;font-weight:600}
body:has(.guest-hero) header .guest-header-login:hover{background:var(--ibi-brandSoft)}
body:has(.guest-hero) main{padding-top:0}
.guest-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.guest-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100svh - 84px);padding:36px 0 70px;text-align:center}
.guest-mascot{width:146px;height:156px;margin:0 auto 20px}
.guest-mascot img{display:block;width:100%;height:100%;object-fit:contain}
.guest-hero h1{max-width:850px;margin:0 auto 34px;font-size:clamp(36px,4.4vw,60px);font-weight:800;letter-spacing:-.035em;line-height:1.14}
.guest-hero .guest-chat{width:min(100%,752px);max-width:752px;padding:19px 21px 15px;border:1px solid var(--ibi-line);border-radius:22px;box-shadow:0 12px 30px rgba(32,30,12,.035);background:var(--ibi-surface);text-align:left}
.guest-hero .guest-chat:focus-within{border-color:#dbb948;box-shadow:0 0 0 3px rgba(255,210,77,.13)}
.guest-hero .guest-chat textarea{display:block;width:100%;min-height:78px;max-height:260px;margin:0 0 9px;padding:0;background:transparent;border:0;outline:0;resize:vertical;color:var(--ibi-ink);font:inherit;font-size:17px;line-height:1.6}
.guest-hero .guest-chat textarea::placeholder{color:#899089}
.guest-hero .guest-submit{display:flex;align-items:center;justify-content:flex-end}
.guest-hero .guest-submit .button{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 18px;background:var(--ibi-brand);border:0;border-radius:12px;font:inherit;font-size:15px;font-weight:600}
.guest-hero .guest-submit .button:hover{background:var(--ibi-brandHover)}
.guest-hero #guest-error{font-size:13px;color:var(--ibi-danger);margin:0}
.guest-hero #guest-error:not(:empty){padding-top:10px}
.guest-hero .guest-help{max-width:752px;font-size:14px;color:var(--ibi-muted);margin:14px auto 0}
.guest-hero .guest-help[hidden]{display:none}
.guest-hero .guest-conversation{width:min(100%,752px);max-width:752px;text-align:left;margin:14px auto}
.guest-hero.has-answer{min-height:auto;padding:25px 0 40px}
.guest-hero.has-answer .guest-mascot{width:90px;height:98px;margin-bottom:12px}
.guest-hero.has-answer h1{font-size:clamp(24px,3vw,34px);margin-bottom:20px}
.guest-section{margin:55px 0 74px;padding:0;background:none;border:0}
.guest-section>h2{font-size:clamp(25px,3vw,34px);letter-spacing:-.025em;margin:0 0 25px}
.guest-section .guest-eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--ibi-muted);margin:0 0 12px}
.guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.guest-tile{display:flex;flex-direction:column;position:relative;min-height:198px;padding:25px 23px;border:1px solid var(--ibi-line);border-radius:20px;background:var(--ibi-surface)}
.guest-tile h3{font-size:21px;line-height:1.25;margin:11px 0 9px}
.guest-tile p{color:var(--ibi-muted);font-size:15px;line-height:1.6;margin:0}
.guest-tile-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--ibi-brandSoft);color:var(--ibi-ink)}
.guest-tile-icon svg{width:24px;height:24px}
.guest-tile-link{text-decoration:none;color:var(--ibi-ink);transition:border-color .15s,transform .15s}
.guest-tile-link:hover{border-color:#d5b342;transform:translateY(-3px)}
.guest-link-number{font-size:13px;font-weight:700;color:#aa862a}
.guest-link-arrow{position:absolute;right:22px;bottom:19px;font-size:23px}
.guest-section .guest-plan{min-height:172px}
.guest-section .guest-plan-label{color:var(--ibi-ink);font-size:18px;font-weight:700;margin:0 0 8px}
.guest-section .guest-price{font-size:32px;font-weight:800;color:var(--ibi-ink);line-height:1.3;margin:0 0 11px}
.guest-price span{font-size:14px;color:var(--ibi-muted);font-weight:400}
.guest-legal-note{font-size:11px;line-height:1.55;color:var(--ibi-muted);max-width:960px;margin:20px auto 0}
body:has(.guest-hero) footer{margin-top:40px}
body:has(.guest-hero) footer .guest-legal-note{margin-top:20px}
@media(max-width:760px){.guest-hero{min-height:calc(100svh - 100px);padding:32px 0 50px}.guest-mascot{width:122px;height:133px;margin-bottom:18px}.guest-hero h1{font-size:clamp(31px,7.7vw,45px);margin-bottom:27px}.guest-hero .guest-chat{padding:15px 15px 12px;border-radius:18px}.guest-hero .guest-chat textarea{min-height:76px;font-size:16px}.guest-hero .guest-submit{flex-direction:row;justify-content:flex-end}.guest-grid{grid-template-columns:1fr}.guest-tile{min-height:145px}.guest-section{margin:40px 0 56px}.guest-section .guest-plan{min-height:145px}}
@media(max-width:380px){body:has(.guest-hero) header nav{gap:7px}body:has(.guest-hero) header nav a{font-size:12px}.guest-hero h1{font-size:31px}}


/* Center the marketing footer without changing the app or article footers. */
body:has(.guest-hero) footer{
  text-align:center;
  padding-top:34px;
  padding-bottom:38px;
}
body:has(.guest-hero) footer > p{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
body:has(.guest-hero) footer .guest-legal-note{
  max-width:960px;
  margin:22px auto 0;
  text-align:center;
}
@media(max-width:760px){
  body:has(.guest-hero) footer{padding:26px 18px 34px}
  body:has(.guest-hero) footer .guest-legal-note{font-size:11px;line-height:1.7}
}


/* Reserved routes for the three upcoming features (preview branch only). */
.feature-placeholder{
  min-height:calc(100svh - 96px);
  padding:90px 24px 120px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.feature-placeholder-icon{
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  margin-bottom:28px;
  border-radius:20px;
  background:var(--ibi-brandSoft);
  font-size:38px;
  color:#B48A22;
}
.feature-placeholder .eyebrow{margin:0 0 13px}
.feature-placeholder h1{margin:0 0 20px;font-size:clamp(33px,4vw,53px)}
.feature-placeholder-description{
  max-width:470px;
  margin:0 auto 29px;
  font-size:17px;
  color:var(--ibi-muted);
}
body:has(.feature-placeholder) header .guest-header-login{
  padding:9px 18px;
  border:1px solid var(--ibi-line);
  border-radius:12px;
  text-decoration:none;
  font-weight:600;
}
@media(max-width:550px){
  .feature-placeholder{padding:70px 12px 90px}
  .feature-placeholder-description{font-size:16px}
  body:has(.feature-placeholder) header nav{gap:8px}
  body:has(.feature-placeholder) header nav a{font-size:13px}
  body:has(.feature-placeholder) header .guest-header-login{padding:7px 11px}
}

/* Explicit footer class fixes inconsistent :has() matching and stale visual alignment. */
.marketing-footer{
  text-align:center;
  padding-top:34px;
  padding-bottom:38px;
}
.marketing-footer > p{
  max-width:960px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.marketing-footer > p.guest-legal-note{
  max-width:960px;
  margin:20px auto 0;
  text-align:center;
  font-size:11px;
  line-height:1.65;
}
@media(max-width:760px){
  .marketing-footer{padding:26px 18px 34px}
}
