/* The office look (Look B, light, layered): shared by the home page and the department pages.
   Spec: AATAM now/co1-website/ART-DIRECTION.md. Classes start with o- so nothing clashes with styles.css. */
:root{--iv:#F6F2EA;--paper:#FBF9F4;--ink:#141417;--mute:#8C877F;--hair:#E3DCD0;--amb:#B5601A;--blue:#6B96FF;--sh:0 40px 80px -30px rgba(20,20,23,.28),0 2px 6px rgba(20,20,23,.06);--ease:cubic-bezier(.2,.7,.2,1)}
body.o-page{background:var(--iv);color:var(--ink)}
html:has(body.o-page){background:var(--iv)}
.o-wrap{max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.o-sec{padding:160px 0 0;position:relative}
.o-c{text-align:center;margin-left:auto;margin-right:auto}
.o-mute{color:var(--mute)}
.o-h1{font-weight:600;font-size:clamp(40px,3.9vw,56px);line-height:1.06;letter-spacing:-.035em;margin:0 auto;max-width:1200px;text-align:center}
.o-h2{font-weight:600;font-size:56px;line-height:60px;letter-spacing:-.03em;margin:0}
.o-h3{font-weight:600;font-size:28px;line-height:34px;letter-spacing:-.02em;margin:18px 0 0}
.o-p{font-size:19px;line-height:30px;color:#3b3934;max-width:520px;margin:20px 0 0}
.o-p.o-c,.o-c .o-p{margin-left:auto;margin-right:auto}
.o-lede{font-size:24px;line-height:34px;color:var(--mute);margin:16px 0 0;max-width:720px;letter-spacing:-.01em}.o-c .o-lede{margin-left:auto;margin-right:auto}
.o-small{font-size:15px;line-height:22px;color:var(--mute);margin:28px 0 0}
.o-small a{color:var(--ink)}
.o-tag{display:inline-block;font:600 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:7px 9px;border:1px solid var(--hair);border-radius:3px;color:#5c5852;background:var(--paper)}
.o-btn{display:inline-flex;align-items:center;height:48px;padding:0 24px;border-radius:6px;background:var(--amb);color:#fff;font:600 16px/1 var(--sans);text-decoration:none;border:0;cursor:pointer}
.o-btn-s{height:40px;padding:0 18px;font-size:15px}
.o-head{margin-bottom:72px}
.o-head .o-p{max-width:620px}
/* shared objects */
.o-stage{position:relative}
.o-plate{display:block;border-radius:6px;object-fit:cover;filter:saturate(.9) sepia(.04)}
.o-br{background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--sh);border:1px solid rgba(20,20,23,.06)}
.o-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:#f3f0ea;border-bottom:1px solid var(--hair)}.o-bar i{width:9px;height:9px;border-radius:50%;background:#d9d3c8}.o-bar span{margin-left:10px;font-size:12px;color:var(--mute)}
.o-br img{display:block;width:100%;height:auto}
.o-ph{position:relative;padding:8px;border-radius:44px;background:var(--ink);box-shadow:var(--sh)}.o-ph img{display:block;width:100%;border-radius:36px}
.o-isl{position:absolute;top:18px;left:50%;width:30%;height:22px;margin-left:-15%;border-radius:12px;background:var(--ink);z-index:2}
.o-yes{width:300px;box-sizing:border-box;padding:18px 18px 16px;border-radius:10px;background:var(--paper);border:1px solid var(--hair);box-shadow:var(--sh);display:grid;gap:4px}
.o-yes small{font:600 12px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.o-yes b{font-size:17px;line-height:23px;font-weight:600}
.o-yes button{margin-top:12px;height:42px;border:0;border-radius:6px;background:var(--amb);color:#fff;font:600 15px/1 var(--sans)}
.o-yes .o-done{display:none;font-size:14px;color:var(--amb);font-weight:600;margin-top:8px}
.o-yes.is-done button{transform:scale(.97);opacity:.9}.o-yes.is-done .o-done{display:block}
.o-note{display:flex;gap:12px;align-items:center;width:340px;box-sizing:border-box;padding:14px 16px;border-radius:14px;background:rgba(251,249,244,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--hair);box-shadow:var(--sh)}
.o-note i{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--ink);color:var(--iv);font:600 12px/1 var(--sans);font-style:normal}
.o-note small{display:block;font-size:13px;color:var(--mute);line-height:18px}.o-note b{display:block;font-size:15px;line-height:21px;font-weight:600}
.o-works{display:inline-flex;align-items:center;gap:10px;margin-left:28px}.o-works small{font-size:15px;color:var(--mute);margin-right:4px}
.o-mk{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 13px;border:1px solid var(--hair);border-radius:4px;background:var(--paper);font:600 15px/1 var(--sans);color:var(--ink)}
.o-mk::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--ink)}
/* 1 hero */
.o-hero{padding:44px 0 72px;text-align:center;overflow:hidden}
.o-sub{font-size:20px;line-height:28px;color:#3b3934;margin:16px auto 0}
.o-act{display:flex;justify-content:center;align-items:center;margin-top:24px}
.o-hstage{width:860px;margin:44px auto 0;height:430px}
.o-hbr{position:absolute;left:0;top:0;width:860px;height:420px;z-index:2}
.o-hbr img{height:390px}
.o-hbr img{object-fit:cover;object-position:top}
.o-hplate{position:absolute;left:-170px;top:70px;width:280px;height:350px;z-index:1;object-position:60% 40%}
.o-hnote{position:absolute;left:-90px;top:-26px;z-index:4;text-align:left}
.o-hph{position:absolute;right:-130px;top:-10px;width:200px;z-index:3}
.o-hyes{position:absolute;left:-170px;top:250px;width:260px;text-align:left}
/* 2 office */
.o-office{padding-top:140px}
.o-office .o-head{margin-bottom:0}
.o-floors{padding-top:96px}
.o-office .o-head{text-align:center}.o-office .o-head .o-p{margin-left:auto;margin-right:auto}
.o-3d{position:relative;height:600px;max-width:1400px;margin:24px auto 0}
.o-3d .hero-scene{position:absolute;inset:0}.o-3d .hero-scene canvas{opacity:1!important;width:100%;height:100%}
.o-3d .lbl{color:var(--ink)!important;text-shadow:none!important;background:none!important;border:0!important;box-shadow:none!important}
.o-3d .lbl b{display:inline-block;padding:6px 9px;background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--hair)!important;border-radius:3px!important;font-size:12px;box-shadow:0 8px 20px -12px rgba(20,20,23,.3)}
.o-3d .lbl.you b{color:var(--amb)!important}
.o-3d .bub{background:rgba(251,249,244,.95)!important;color:var(--ink)!important;border-color:var(--hair)!important;box-shadow:var(--sh)!important}
.o-parts{position:absolute;left:0;right:0;bottom:70px;display:flex;justify-content:center;gap:12px;z-index:5}
/* 2b power */
.o-power{text-align:center;padding-top:160px;padding-bottom:0}
.o-eq{display:flex;justify-content:center;align-items:center;gap:36px}
.o-eqo{margin:0;position:relative;display:grid;justify-items:center;gap:16px}
.o-eqo > img{width:260px;height:260px;object-fit:cover;border-radius:6px;box-shadow:var(--sh)}
.o-eqyou > img{width:260px;height:325px}
.o-eqyou figcaption{margin-top:28px}
.o-eqph{position:absolute;right:-70px;bottom:20px;transform:scale(.78);transform-origin:right bottom;text-align:left}
.o-aicard{width:240px;height:260px;box-sizing:border-box;display:grid;align-content:center;gap:12px;padding:24px;border-radius:10px;background:var(--paper);border:1px solid var(--hair);box-shadow:var(--sh)}
.o-mk-l{height:46px;font-size:17px;justify-content:flex-start;padding:0 18px}
.o-op{font-style:normal;font-weight:300;font-size:64px;line-height:1;color:var(--mute)}
.o-eqline{margin-top:64px!important}
/* 3 day */
.o-beat{display:grid;grid-template-columns:400px 1fr;gap:80px;align-items:center;margin-bottom:96px}
.o-beat.is-flip{grid-template-columns:1fr 400px}.o-beat.is-flip .o-btext{order:2}
.o-bstage{height:600px}
.o-beat:last-child{margin-bottom:0}
.o-bplate{position:absolute;left:0;top:0;width:620px;height:420px}
.o-beat.is-flip .o-bplate{left:auto;right:0}
.o-bfront{position:absolute;right:-20px;top:40px;width:260px}
.o-beat.is-flip .o-bfront{right:auto;left:0}
.o-bfront.o-bwide{width:420px;top:150px}
.o-pc{width:260px!important}
.o-byes{position:absolute;left:-170px;bottom:70px}
.o-beat.is-flip .o-byes{left:auto;right:-170px}
.o-bnote{width:420px}
.o-cut{background:var(--paper);border:1px solid var(--hair);border-radius:10px;box-shadow:var(--sh);overflow:hidden}
.o-cut-roof{display:flex;justify-content:space-between;align-items:baseline;padding:14px 18px;font-weight:600;font-size:15px;border-bottom:1px solid var(--hair)}.o-cut-roof small{font-weight:400;color:var(--mute);font-size:13px}
.o-cut p{display:grid;grid-template-columns:22px 140px 1fr;gap:10px;align-items:center;margin:0;padding:11px 18px;border-top:1px solid var(--hair);font-size:14px;line-height:20px}
.o-cut p:first-of-type{border-top:0}.o-cut em{font-style:normal;color:var(--mute);font-size:13px}.o-cut b{font-weight:600}
.o-cut span{display:flex;align-items:center;gap:8px;color:#3b3934}.o-cut span i{width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}
/* 4 floors */
.o-floor{display:grid;grid-template-columns:440px 1fr;gap:80px;align-items:center;margin-bottom:160px}
.o-floor.is-flip{grid-template-columns:1fr 440px}.o-floor.is-flip .o-ftext{order:2}
.o-fk{display:flex;align-items:center;gap:12px;margin:0}
.o-rail{display:grid;gap:3px;width:22px}.o-rail i{height:3px;background:var(--hair);border-radius:1px}.o-rail i.on{background:var(--amb)}
.o-row{list-style:none;padding:0;margin:28px 0 0;display:flex;gap:0;border:1px solid var(--hair);border-radius:6px;overflow:hidden;background:var(--paper)}
.o-row li{flex:1;padding:12px 12px;font-size:14px;line-height:19px;color:#4a4741;border-left:1px solid var(--hair)}.o-row li:first-child{border-left:0}.o-row b{color:var(--amb);font-weight:600}
.o-hrs{margin:18px 0 0;font-size:15px;font-weight:600}.o-hrs span{font-weight:400;color:var(--mute)}
.o-fstage{height:560px}
.o-fplate{position:absolute;left:0;top:0;width:440px;height:360px}
.o-floor.is-flip .o-fplate{left:auto;right:0}
.o-fmid{position:absolute;left:150px;top:100px;width:460px;z-index:2}
.o-floor.is-flip .o-fmid{left:auto;right:150px}
.o-ffront{position:absolute;right:-70px;top:230px;z-index:3;width:180px}
.o-floor.is-flip .o-ffront{right:auto;left:-70px}
.o-ffront .o-yes,.o-ffront .o-note{width:290px}
.o-ffront:has(.o-yes),.o-ffront:has(.o-note){width:290px;top:330px}
.o-ffront:has(.o-tm){width:380px;top:300px}
.o-outs{position:relative;height:400px}
.o-out{display:block;border-radius:6px;box-shadow:var(--sh)}
.o-fpost{width:440px}
.o-car{position:absolute;right:-30px;top:190px;width:190px}
.o-inv{width:300px;margin-left:120px;background:#fff}
.o-tm{box-shadow:var(--sh)}
/* 5 phone */
.o-pstage{width:900px;height:640px;margin:0 auto}
.o-pplate{position:absolute;left:0;top:0;width:900px;height:600px;z-index:1}
.o-lap{position:absolute;left:-200px;top:-50px;width:380px;z-index:0;filter:saturate(.6) brightness(1.04)}
.o-fan{position:absolute;left:50%;top:70px;width:640px;margin-left:-320px;height:560px;z-index:2}
.o-fan .o-ph{position:absolute;top:0;width:240px}
.o-fan .f1{left:0;top:40px}.o-fan .f2{left:200px;z-index:2}.o-fan .f3{left:400px;top:40px}
.o-fan{z-index:2}
.o-beat2{margin-top:120px}
.o-pstage2{width:260px;margin:0 auto;height:560px}
.o-pyes{position:absolute;left:-170px;bottom:40px}
/* 6 any AI */
.o-wins{position:relative;width:1080px;height:400px;margin:0 auto}
.o-win{position:absolute;top:0;width:400px;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--hair);box-shadow:var(--sh)}
.o-win.w1{left:0;top:40px}.o-win.w2{left:340px;z-index:2}.o-win.w3{left:680px;top:40px}
.o-win.w3 .o-wbar{justify-content:flex-end}.o-win.w3 .o-wbar i{display:none}
.o-wbar{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:#f3f0ea;border-bottom:1px solid var(--hair)}.o-wbar i{width:9px;height:9px;border-radius:50%;background:#d9d3c8}.o-wbar span{margin-left:10px;font:600 13px/1 var(--sans)}
.o-wbody{padding:22px;display:grid;gap:12px;min-height:250px;align-content:start}
.o-cm{margin:0;font-size:15px;line-height:22px}.o-cm.you{justify-self:end;max-width:80%;background:#efebe3;padding:10px 14px;border-radius:14px}.o-cm.ai{max-width:92%}
.o-win.is-term{background:#141417;color:#e9e5dc}.o-win.is-term .o-wbar{background:#1d1d21;border-color:#2a2a30}.o-win.is-term .o-wbar span{color:#e9e5dc}
.o-tl{margin:0;font:14px/21px ui-monospace,Menlo,monospace}.o-tdim{color:#8a8780}
.o-invc{display:grid;gap:3px;padding:14px 16px;border:1px solid var(--hair);border-radius:8px;background:var(--paper);color:var(--ink)}.o-invc small{font-size:12px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase}.o-invc b{font-size:15px}.o-invc span{font-size:14px;color:var(--amb);font-weight:600}
/* 7 yours */
.o-ysplit{display:grid;grid-template-columns:420px 1fr;gap:80px;align-items:center}
.o-ystage{height:620px}
.o-yplate{position:absolute;left:0;top:0;width:440px;height:550px}
.o-accs{position:absolute;left:330px;top:70px;width:300px;display:grid;gap:10px;z-index:2}
.o-acc{display:flex;justify-content:space-between;align-items:center;margin:0;padding:15px 18px;background:var(--paper);border:1px solid var(--hair);border-radius:8px;box-shadow:0 20px 40px -24px rgba(20,20,23,.25);font-size:16px}.o-acc span{font-size:13px;font-weight:600;color:var(--amb);letter-spacing:.06em;text-transform:uppercase}
.o-safe{position:absolute;left:250px;top:430px;width:320px;z-index:3;padding:18px 20px;border-radius:10px;background:var(--ink);color:var(--iv);box-shadow:var(--sh)}.o-safe small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b7b1a6;margin-bottom:6px}.o-safe b{font-size:17px;line-height:24px;font-weight:600}
/* 8 different */
.o-dsplit{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center}
.o-dleft{display:grid;justify-items:center;gap:14px;padding:80px 0;border:1px dashed var(--hair);border-radius:10px}
.o-bubble{margin:0;max-width:300px;padding:16px 20px;border-radius:18px 18px 18px 4px;background:#fff;border:1px solid var(--hair);font-size:18px;line-height:26px;box-shadow:0 20px 40px -24px rgba(20,20,23,.25)}
.o-dleft small{font-size:13px;color:var(--mute)}
.o-dright{position:relative}.o-dright img{width:100%;border-radius:6px;box-shadow:var(--sh);display:block}
.o-dtags{position:absolute;right:-24px;bottom:-30px;display:grid;gap:8px}.o-dtags p{margin:0;padding:12px 16px;background:var(--paper);border:1px solid var(--hair);border-radius:6px;font-weight:600;font-size:15px;box-shadow:0 20px 40px -24px rgba(20,20,23,.25)}
/* 9 close */
.o-close{padding-bottom:120px}
.o-cstage{position:relative;max-width:1360px;margin:0 auto;padding:0 40px}
.o-cplate{width:100%;aspect-ratio:21/9;height:auto}
.o-ccard{position:relative;width:560px;box-sizing:border-box;margin:-200px auto 0;padding:40px;border-radius:10px;background:var(--paper);border:1px solid var(--hair);box-shadow:var(--sh);text-align:center}
.o-ccard .o-p{margin-left:auto;margin-right:auto}
.o-form{display:flex;gap:10px;margin-top:28px}.o-form input{flex:1;height:48px;padding:0 14px;border:1px solid var(--hair);border-radius:6px;background:#fff;font:400 16px var(--sans)}
.o-foot{display:flex;justify-content:space-between;padding-top:40px;padding-bottom:60px;border-top:1px solid var(--hair);font-size:14px;color:var(--mute)}

/* ---------- phone ---------- */
@media (max-width:1100px){
  body{font-size:17px;line-height:26px}
  .o-wrap{padding:0 20px}
  .o-sec{padding-top:96px}
  .o-h1{font-size:34px;line-height:38px;padding:0 20px}
  .o-h2{font-size:34px;line-height:38px}
  .o-h3{font-size:22px;line-height:28px}
  .o-p{font-size:17px;line-height:26px}
  .o-head{margin-bottom:40px}
  .o-sub{font-size:17px;line-height:26px;padding:0 20px}
  .o-act{flex-direction:column;gap:18px}.o-works{margin-left:0;flex-wrap:wrap;justify-content:center}
  .o-hero{padding-top:36px}
  .o-hstage{width:auto;height:520px;margin:40px 20px 0}
  .o-hplate{display:none}
  .o-hbr{left:-40px;top:0;width:420px;height:300px}
  .o-hnote{left:0;top:-18px;width:280px}
  .o-hph{right:auto;left:50%;margin-left:-105px;top:110px;width:210px}
  .o-hyes{left:auto;right:-40px;top:250px;width:230px}
  .o-3d{height:420px}.o-parts{position:static;flex-wrap:wrap;padding:0 20px;margin-top:8px}
  .o-power{padding-top:120px}
  .o-eq{flex-direction:column;gap:14px}.o-eqo > img,.o-aicard{width:200px;height:200px}.o-eqyou > img{width:200px;height:250px}.o-aicard{padding:18px}.o-mk-l{height:40px}
  .o-op{font-size:44px}.o-eqph{right:-60px;transform:scale(.7)}
  .o-eqline{margin-top:40px!important;padding:0 20px}.o-power .o-p{padding:0 20px}
  .o-beat,.o-beat.is-flip,.o-floor,.o-floor.is-flip,.o-ysplit,.o-dsplit{grid-template-columns:1fr;gap:28px;margin-bottom:80px}
  .o-beat.is-flip .o-btext,.o-floor.is-flip .o-ftext{order:0}
  .o-bstage{height:auto;aspect-ratio:4/5;overflow:visible}
  .o-bplate,.o-beat.is-flip .o-bplate{position:absolute;inset:0;width:100%;height:100%}
  .o-bfront,.o-beat.is-flip .o-bfront{left:50%!important;right:auto;top:auto;bottom:-24px;width:220px;margin-left:-110px}
  .o-bfront.o-bwide{width:310px;margin-left:-155px}.o-bnote{width:310px}
  .o-pc{width:220px!important}.o-byes,.o-beat.is-flip .o-byes{left:-50px;right:auto;bottom:20px;width:240px}
  .o-cut p{grid-template-columns:18px 1fr;padding:8px 12px;font-size:13px}.o-cut span{grid-column:2}
  .o-row{flex-direction:column}.o-row li{border-left:0;border-top:1px solid var(--hair)}.o-row li:first-child{border-top:0}
  .o-fstage{height:auto;padding-bottom:40px}
  .o-fplate,.o-floor.is-flip .o-fplate{position:static;width:100%;height:auto;aspect-ratio:4/3}
  .o-fmid,.o-floor.is-flip .o-fmid{position:relative;left:auto;right:auto;top:auto;width:auto;margin:-120px 16px 0}
  .o-ffront,.o-floor.is-flip .o-ffront,.o-ffront:has(.o-yes),.o-ffront:has(.o-note),.o-ffront:has(.o-tm){position:relative;left:auto;right:auto;top:auto;width:260px;margin:-60px 0 0 auto}
  .o-ffront:has(.o-ph){width:150px}
  .o-ffront .o-yes,.o-ffront .o-note{width:260px}
  .o-outs{height:320px}.o-outs .o-out:first-child{width:190px}.o-fpost{left:110px;top:150px;width:220px}.o-inv{width:240px;margin:0 auto}
  .o-pstage{width:auto;height:560px;margin:0 20px}.o-pplate{width:100%;height:300px}.o-lap{display:none}
  .o-fan{left:0;width:100%;margin:0;top:60px}.o-fan .o-ph{width:180px}.o-fan .f1,.o-fan .f3{display:none}.o-fan .f2{left:50%;margin-left:-90px}
  .o-pstage2{width:200px;height:460px}.o-pyes{left:-60px;width:260px}
  .o-wins{width:auto;height:auto;display:grid;gap:16px;padding:0 20px}.o-win{position:static;width:auto}.o-win.w1,.o-win.w3{display:none}
  .o-ystage{height:auto}.o-yplate{position:static;width:100%;height:auto;aspect-ratio:4/5}
  .o-accs{position:relative;left:auto;top:auto;width:auto;margin:-140px 12px 0;grid-template-columns:1fr 1fr}
  .o-safe{position:relative;left:auto;top:auto;width:auto;margin:12px 12px 0}
  .o-dleft{padding:40px 16px}.o-dtags{position:static;margin-top:-20px;padding:0 12px}
  .o-cstage{padding:0}.o-cplate{aspect-ratio:4/5;border-radius:0}.o-ccard{width:auto;margin:-140px 20px 0;padding:28px 20px}.o-form{flex-direction:column}
  .o-foot{flex-direction:column;gap:8px;padding:30px 20px 50px}
}

/* site integration */
.o-page .theme{display:none}
.o-more{margin:14px 0 0;font-size:15px}.o-more a,.o-link{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--hair)}
.o-cbtns{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:28px}
.o-3d-still{display:none}
.o-3d.no-webgl .hero-scene{display:none}.o-3d.no-webgl .o-3d-still{display:block;width:min(720px,90%);margin:0 auto;border-radius:6px;box-shadow:var(--sh)}
.o-floors .o-floor:last-child{margin-bottom:0}
@media (max-width:1100px){
  .o-3d{height:440px;margin-top:8px}.o-3d .hero-scene{bottom:70px}
  .o-parts{position:absolute;bottom:0;padding:0 16px;flex-wrap:wrap;gap:6px}.o-pt{font-size:10px;padding:5px 7px}
  .o-mk{height:30px;font-size:14px;padding:0 10px}.o-works small{width:100%;text-align:center}
  .o-cbtns{flex-direction:column;gap:14px}
}

/* ---------- department pages (one floor each) ---------- */
.o-dhero{padding-top:72px}
.o-dsplit2{display:grid;grid-template-columns:480px 1fr;gap:72px;align-items:center}
.o-dh1{text-align:left;font-size:52px;line-height:56px;margin:22px 0 0}
.o-dsub{text-align:left;margin:20px 0 0;max-width:480px;font-size:20px}
.o-cbtns.o-left{justify-content:flex-start}
.o-dstage{height:560px}
.o-dfilm{margin-top:96px}
.o-dfilm .dfilm{border-radius:10px;box-shadow:var(--sh)}
.o-out-row .o-ftext .o-h3{margin-top:16px}
.o-fviz{width:300px!important;top:250px!important}
.o-fviz .vz{position:static;margin:0;transform:none}
.o-fviz .vz-card{background:var(--paper);border:1px solid var(--hair);border-radius:10px;box-shadow:var(--sh)}
.o-floor.is-flip .o-fviz{left:-70px}
/* inside the app: a swipe row */
.o-gal{display:flex;gap:40px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px max(40px,calc((100vw - 1120px)/2)) 60px;scrollbar-width:thin}
.o-slide{flex:none;width:760px;margin:0;scroll-snap-align:center}
.o-sstage{position:relative;padding-right:90px}
.o-sph{position:absolute;right:0;bottom:-40px;width:170px}
.o-slide figcaption{margin-top:56px;display:grid;gap:4px}.o-slide figcaption b{font-size:19px;font-weight:600}.o-slide figcaption span{font-size:16px;color:#5c5852;max-width:520px}
/* how your AI does it */
.o-hw{display:grid;grid-template-columns:1fr 440px;gap:72px;align-items:center}
.o-hwstage{height:640px}
.o-hwplate{position:absolute;left:0;top:40px;width:560px;height:440px}
.o-hwphone{position:absolute;left:150px;top:0;z-index:2}
.o-hwyes{position:absolute;left:330px;top:420px;z-index:3}
.o-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--hair)}
.o-steps li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--hair)}
.o-steps em{font-style:normal;font-size:13px;font-weight:600;color:var(--mute);padding-top:3px}
.o-steps b{font-size:17px;font-weight:600}.o-steps p{margin:4px 0 0;font-size:16px;line-height:24px;color:#4a4741}
.o-steps li.is-you b,.o-steps li.is-you em{color:var(--amb)}
.o-steps5{grid-template-columns:repeat(5,1fr);gap:24px;border-top:0}.o-steps5 li{grid-template-columns:1fr;border:0;border-top:2px solid var(--hair);padding-top:18px}.o-steps5 li.is-you{border-top-color:var(--amb)}
/* hours */
.o-hrsbox{display:grid;grid-template-columns:1fr 1.2fr;gap:72px;align-items:center;padding-top:56px;padding-bottom:56px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.o-hbig{margin:0;font-size:96px;line-height:1;font-weight:600;letter-spacing:-.04em}.o-hbig span{display:block;font-size:24px;letter-spacing:-.01em;color:var(--mute);margin-top:12px}
.o-bars{display:grid;gap:28px}.o-bars p{margin:0;display:grid;gap:6px}.o-bars b{font-size:16px}.o-bars span{font-size:15px;color:#5c5852}
.o-bars i{display:block;height:10px;border-radius:2px;background:var(--hair);position:relative}.o-bars i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:#a7a097;border-radius:2px}
.o-bars .is-you i::after{background:var(--amb)}
/* what stays with you */
.o-keep{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}
.o-kai,.o-kyou{padding:32px;border-radius:10px}
.o-kai{background:var(--paper);border:1px solid var(--hair)}.o-kyou{background:var(--ink);color:var(--iv);display:grid;gap:10px;align-content:start}
.o-kai small,.o-kyou small{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:16px}.o-kyou small{color:#b7b1a6;margin:0}
.o-kai ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.o-kai li{padding:8px 12px;border:1px solid var(--hair);border-radius:4px;background:#fff;font-size:15px}
.o-kyou b{font-size:22px;line-height:30px;font-weight:600}.o-kyou span{font-size:15px;color:#cfc9be}
/* close */
.o-dcl{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.o-dcard{width:auto;margin:0;text-align:left}.o-dcard .o-cbtns{justify-content:flex-start}.o-dcard.o-c{text-align:center;max-width:640px;margin:0 auto}.o-dcard.o-c .o-cbtns{justify-content:center}
.o-next{position:relative;display:block;border-radius:10px;overflow:hidden;text-decoration:none;color:var(--ink);min-height:360px;box-shadow:var(--sh)}
.o-nplate{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.o-ntext{position:absolute;left:20px;right:20px;bottom:20px;display:grid;gap:8px;padding:20px;border-radius:8px;background:rgba(251,249,244,.95);border:1px solid var(--hair)}
.o-ntext b{font-size:20px;line-height:26px;font-weight:600}.o-ntext em{font-style:normal;font-size:14px;color:var(--amb);font-weight:600}
.o-dclose{padding-bottom:140px}
/* overview */
.o-hubstage{height:560px}
.o-hubplate{position:absolute;right:0;top:0;width:560px;height:380px}
.o-hubcut{position:absolute;left:0;top:150px;width:440px;z-index:2}
.o-cut a{display:grid;grid-template-columns:22px 140px 1fr;gap:10px;align-items:center;padding:11px 18px;border-top:1px solid var(--hair);font-size:14px;line-height:20px;color:var(--ink);text-decoration:none}
.o-cut a:hover{background:#fff}.o-cut a em{font-style:normal;color:var(--mute);font-size:13px}.o-cut a b{font-weight:600}
.o-cut a span{display:flex;align-items:center;gap:8px;color:#3b3934}.o-cut a span i{width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}
.o-fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.o-fcard{display:grid;gap:0;text-decoration:none;color:var(--ink);border-radius:10px;background:var(--paper);border:1px solid var(--hair);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.o-fcard:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.o-fcimg{position:relative;display:block;aspect-ratio:4/3}.o-fcplate{width:100%;height:100%;border-radius:0}
.o-fcout{position:absolute;left:14px;right:14px;bottom:-22px}.o-fcout .o-note{width:auto}
.o-fctext{display:grid;gap:10px;padding:40px 22px 24px}.o-fctext .o-tag{justify-self:start}.o-fctext b{font-size:20px;line-height:26px;font-weight:600}.o-fctext em{font-style:normal;font-size:14px;color:var(--mute)}
.o-hrslist{display:grid;border-top:1px solid var(--hair)}
.o-hrslist a{display:grid;grid-template-columns:1fr 1.4fr auto;gap:20px;padding:18px 0;border-bottom:1px solid var(--hair);color:var(--ink);text-decoration:none;font-size:16px}
.o-hrslist span{color:#5c5852}.o-hrslist em{font-style:normal;font-weight:600;color:var(--amb)}
.o-page .dept-tabs{background:rgba(246,242,234,.9)}

@media (max-width:1100px){
  .o-dhero{padding-top:40px}
  .o-dsplit2,.o-hw,.o-hrsbox,.o-keep,.o-dcl{grid-template-columns:1fr;gap:36px}
  .o-dh1{font-size:34px;line-height:38px;padding:0}
  .o-dsub{font-size:17px;line-height:26px;padding:0}
  .o-cbtns.o-left{align-items:flex-start}
  .o-dstage{height:auto}
  .o-dfilm{margin-top:56px}
  .o-fviz,.o-floor.is-flip .o-fviz{width:280px!important;top:auto!important;left:auto!important;margin:-80px 0 0 auto}
  .o-gal{gap:20px;padding:10px 20px 40px}.o-slide{width:86vw}.o-sstage{padding-right:50px}.o-sph{width:100px;bottom:-24px}.o-slide figcaption{margin-top:36px}
  .o-hwstage{height:600px}.o-hwplate{left:0;width:100%;height:300px;top:60px}.o-hwphone{left:50%;margin-left:-130px}.o-hwyes{left:auto;right:-6px;top:410px;width:250px}
  .o-steps5{grid-template-columns:1fr;gap:0}
  .o-hbig{font-size:72px}
  .o-kai,.o-kyou{padding:24px}
  .o-next{min-height:420px}
  .o-hubstage{height:620px}.o-hubplate{width:100%;height:260px}.o-hubcut{top:150px;width:100%}
  .o-cut a{grid-template-columns:18px 1fr;padding:9px 12px;font-size:13px}.o-cut a span{grid-column:2}
  .o-fgrid{grid-template-columns:1fr;gap:40px}
  .o-hrslist a{grid-template-columns:1fr auto;gap:4px 12px}.o-hrslist span{grid-column:1/-1;order:3;font-size:14px}
}

/* product mark in the equation */
.o-eqco1{position:relative}.o-eqco1 > img{width:260px;height:260px;object-fit:cover;border-radius:6px;box-shadow:var(--sh)}
.o-co1mark{position:absolute;left:50%;top:18px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:4px;background:rgba(251,249,244,.95);border:1px solid var(--hair);color:var(--ink);font-size:14px;white-space:nowrap}
.o-co1mark b{font-weight:600}
.o-ph img,.o-br img{height:auto}
/* comparison */
.o-cmpsec .o-head .o-p{max-width:640px}
.o-cmp{display:grid;border-top:1px solid var(--hair)}
.o-cmph,.o-cmpr{display:grid;grid-template-columns:1.05fr 1fr 1fr 1fr 1.45fr}
.o-cmph span{padding:22px 18px 18px;font-size:14px;line-height:20px;color:var(--mute);font-weight:600}
.o-cmph .is-us{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--ink);font-size:16px;background:var(--paper);border:1px solid var(--hair);border-bottom:0;border-radius:10px 10px 0 0;box-shadow:0 -20px 40px -30px rgba(20,20,23,.2)}
.o-cmph .is-us small{width:100%;font-weight:400;color:var(--mute);font-size:13px}
.o-cmpr > *{padding:18px;border-top:1px solid var(--hair);font-size:15px;line-height:22px}
.o-cmpk{font-weight:600;font-size:15px}
.o-cmpo{color:#5c5852}.o-cmpo small{display:none}
.o-cmpo.is-us{background:var(--paper);color:var(--ink);font-weight:600;border-left:1px solid var(--hair);border-right:1px solid var(--hair)}
.o-cmpr:last-child .o-cmpo.is-us{border-bottom:1px solid var(--hair);border-radius:0 0 10px 10px}
.o-cmpnote{max-width:720px;margin:56px auto 0;text-align:center;font-size:19px;line-height:30px;color:#3b3934}.o-cmpnote b{display:block;color:var(--ink);font-size:22px;margin-bottom:6px}
.o-small a{color:var(--ink);font-weight:600}

/* header: calm and slim, always on ivory */
.o-page .nav,.o-page .nav:not(.scrolled){background:rgba(246,242,234,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--hair);color:var(--ink)}
.o-page .nav:not(.scrolled) .nav-link{color:#4a4741}
.o-page.home main{padding-top:68px}
@media (max-width:1100px){
  .o-page .nav{height:56px}
  .o-page.home main{padding-top:56px}
  .o-page .wordmark{font-size:17px;gap:8px}.o-page .wordmark > span{flex-direction:row}.o-page .wordmark .by{display:none}
  .o-page .logo-mark{width:24px;height:24px}
  .o-page .nav .btn-sm{display:none}
  .o-page .menu-btn{border:0;width:40px;height:40px;margin-right:-8px}.o-page .menu-btn i{left:10px;right:10px}
  .o-page .menu-btn i:nth-of-type(1){top:16px}.o-page .menu-btn i:nth-of-type(2){top:23px}
  .o-page.menu-open .menu-btn i:nth-of-type(1),.o-page.menu-open .menu-btn i:nth-of-type(2){top:19.5px}
  .o-eqco1 > img{width:200px;height:200px}
  .o-cmph{display:none}
  .o-cmpr{grid-template-columns:1fr;margin-bottom:16px;border:1px solid var(--hair);border-radius:10px;overflow:hidden;background:#fbf9f4}
  .o-cmpr > *{border-top:0;padding:10px 16px}
  .o-cmpk{padding-top:16px!important;font-size:17px}
  .o-cmpo small{display:block;font-size:12px;font-weight:400;color:var(--mute);line-height:16px}
  .o-cmpo{border-top:1px solid var(--hair)!important}
  .o-cmpo.is-us{border:0;border-top:1px solid var(--hair);background:#fff;border-radius:0!important;padding-bottom:16px}
  .o-cmpo.is-us small{color:var(--amb);font-weight:600}
  .o-cmp{border-top:0}
}

/* ---------- phone: one framed photo panel, one object inside it. Nothing piles up. ---------- */
@media (max-width:1100px){
  .o-fstage,.o-bstage,.o-hwstage,.o-dstage,.o-hstage,.o-pstage{position:relative!important;height:auto!important;width:auto!important;aspect-ratio:4/5;margin:8px 0 0!important;padding:0!important;border-radius:10px;overflow:hidden;display:grid!important;place-items:center;box-shadow:var(--sh)}
  .o-hstage,.o-pstage{margin:36px 20px 0!important}
  .o-fplate,.o-bplate,.o-hwplate,.o-hplate,.o-pplate,.o-floor.is-flip .o-fplate,.o-beat.is-flip .o-bplate{display:block!important;position:absolute!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important;margin:0!important;aspect-ratio:auto!important;border-radius:0!important}
  .o-fmid,.o-hbr,.o-hyes,.o-byes,.o-hwyes,.o-lap,.o-fan .f1,.o-fan .f3{display:none!important}
  .o-ffront,.o-bfront,.o-hwphone,.o-floor.is-flip .o-ffront,.o-beat.is-flip .o-bfront,.o-ffront:has(.o-yes),.o-ffront:has(.o-note),.o-ffront:has(.o-tm),.o-ffront:has(.o-ph),.o-fviz,.o-floor.is-flip .o-fviz{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin:0!important;width:auto!important;z-index:2;display:grid;place-items:center}
  .o-ffront:has(.o-ph),.o-bfront:has(.o-ph),.o-bfront:has(.o-pc),.o-hwphone{align-self:end;transform:translateY(14%)}
  .o-fstage .o-ph,.o-bstage .o-ph{width:200px}
  .o-pc,.o-hwphone .o-pc{width:230px!important}
  .o-ffront .o-yes,.o-ffront .o-note,.o-bnote,.o-fviz .vz-card{width:290px!important;max-width:calc(100vw - 80px)}
  .o-ffront .o-tm{width:300px;max-width:calc(100vw - 72px)}
  .o-bfront.o-bwide{width:auto!important;margin:0!important}.o-bfront .o-cut{width:310px}
  /* hero */
  .o-hplate{object-position:60% 40%}
  .o-hnote{position:absolute!important;left:16px!important;right:16px!important;top:16px!important;width:auto!important;z-index:3}
  .o-hph{position:absolute!important;left:50%!important;right:auto!important;top:112px!important;margin-left:-110px;width:220px!important}
  /* phone promise */
  .o-fan{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;margin:0!important}
  .o-fan .f2{left:50%!important;margin-left:-105px;width:210px;top:56px}
  .o-pstage2{width:auto!important;height:auto!important;display:grid;place-items:center}.o-pstage2 .o-ph{display:none}.o-pyes{position:static!important;width:300px}
  /* equation */
  .o-co1mark,.o-eqph{display:none}
  .o-eqo > img,.o-aicard,.o-eqco1 > img{width:180px;height:180px}.o-eqyou > img{width:180px;height:225px}.o-eqyou figcaption{margin-top:0}
  /* 3D */
  .o-3d{height:360px}.o-3d .hero-labels .lbl:not(.you){display:none}
  /* own building, close, overview */
  .o-yplate{aspect-ratio:4/3!important}.o-accs{margin:16px 0 0!important}.o-safe{margin:12px 0 0!important}
  .o-ccard{margin:16px 20px 0!important}
  .o-hubstage{height:auto!important}.o-hubplate{position:static!important;width:100%!important;height:auto!important;aspect-ratio:4/3}.o-hubcut{position:static!important;width:auto!important;margin-top:16px}
  .o-fcout{bottom:12px}.o-fctext{padding:22px}
  /* inside the app: the phone screen, framed */
  .o-slide .o-br{display:none}.o-sstage{padding:24px 0;background:var(--paper);border:1px solid var(--hair);border-radius:10px;display:grid;place-items:center}
  .o-sph{position:static!important;width:200px!important}
  .o-slide figcaption{margin-top:16px}
}
@media (max-width:1100px){ .o-bstage:has(.o-cut){aspect-ratio:auto;padding:28px 0!important} .o-bstage:has(.o-cut) .o-bfront{transform:none} }
.o-fviz .vz-card{margin:0!important;border:1px solid var(--hair)!important;border-radius:10px!important;padding:18px!important;max-width:none}
.o-wrap.o-small{margin:28px auto 0}
.o-hwyes{left:370px;top:470px}

/* =================== v2: Noor's week, the Claude chat, motion (owner, 22 Oct late) =================== */
/* hero: words left, her Monday chat right */
.o-hero{text-align:left;padding:48px 0 40px;overflow:visible}
.o-hgrid{max-width:1240px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:minmax(0,520px) 1fr;gap:56px;align-items:center}
.o-hcopy .o-h1{text-align:left;font-size:54px;line-height:58px;margin:0}
.o-hcopy .o-sub{margin:22px 0 0;max-width:500px}
.o-hcopy .o-act{justify-content:flex-start;gap:24px;margin-top:30px}
.o-hcopy .o-works{margin:28px 0 0}
.o-hero .o-hstage{position:relative;width:auto;height:700px;margin:0}
.o-hero .o-hplate{position:absolute;left:0;top:90px;width:340px;height:440px;border-radius:8px;box-shadow:var(--sh);object-fit:cover;object-position:60% 40%}
.o-hero .o-hbr{position:absolute;left:150px;top:10px;width:560px;height:auto;z-index:1;opacity:.95}
.o-hero .o-hbr .o-br img{height:auto}
.o-hero .o-hphone{position:absolute;left:250px;top:40px;z-index:3}
.o-hero .o-hnote{position:absolute;left:-10px;top:560px;width:300px;z-index:4}
/* the chat */
.occ{position:relative;width:300px;padding:9px;border-radius:46px;background:#141417;box-shadow:var(--sh)}
.occ-isl{position:absolute;top:19px;left:50%;width:30%;height:22px;margin-left:-15%;border-radius:12px;background:#141417;z-index:2}
.occ-screen{aspect-ratio:390/800;border-radius:38px;overflow:hidden;background:#FAF9F5;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;color:#1f1e1d;font-family:var(--sans)}
.occ-status{display:flex;justify-content:space-between;align-items:center;padding:15px 26px 0;font:600 13px var(--sans)}
.occ-status span{display:flex;gap:2px;align-items:flex-end}.occ-status span i{width:3px;background:#1f1e1d;border-radius:1px}.occ-status span i:nth-child(1){height:4px}.occ-status span i:nth-child(2){height:6px}.occ-status span i:nth-child(3){height:8px}.occ-status span i:nth-child(4){height:10px}
.occ-top{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;padding:18px 14px 10px;border-bottom:1px solid rgba(31,30,29,.08)}
.occ-top b{font-size:14px;font-weight:600;text-align:center}
.occ-menu{display:grid;gap:4px}.occ-menu i{display:block;width:16px;height:1.6px;background:#1f1e1d}.occ-menu i+i{width:11px}
.occ-new{width:16px;height:16px;border:1.6px solid #1f1e1d;border-radius:4px;justify-self:end}
.occ-body{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:12px 12px 8px;overflow:hidden;min-height:0}
.occ-l{margin:0;flex:none}
.occ-you{align-self:flex-end;max-width:84%;background:#EDE8DE;padding:9px 13px;border-radius:18px 18px 4px 18px;font-size:14px;line-height:20px}
.occ-notice{align-self:center;font-size:13px;color:#8C877F;font-weight:600}
.occ-ai{font:15px/22px ui-serif,Georgia,"Times New Roman",serif;color:#1f1e1d}
.occ-steps{border:1px solid rgba(31,30,29,.12);border-radius:12px;background:#fff;padding:10px 12px}
.occ-sh{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:13px;font-weight:600}.occ-sh i{width:7px;height:7px;border-radius:50%;background:var(--blue)}.occ-sh small{margin-left:auto;font-size:12px;font-weight:400;color:#8C877F}
.occ-steps ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.occ-steps li{display:flex;gap:8px;font-size:13px;line-height:18px;color:#3b3934}.occ-steps li b{color:var(--blue);font-weight:600}
.occ-card{background:#fff;border:1px solid rgba(31,30,29,.12);border-radius:12px;padding:11px 12px;display:grid;gap:3px}
.occ-card small{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8C877F}.occ-card b{font-size:14px;line-height:19px;font-weight:600}
.occ-btn{justify-self:start;margin-top:7px;padding:8px 14px;border-radius:8px;background:var(--amb);color:#fff;font-size:13px;font-weight:600;transition:transform .12s,opacity .3s}
.occ-yes{align-self:flex-end;font-size:13px;font-weight:600;color:var(--amb);display:flex;gap:6px}
.occ-typing{display:none;gap:4px;padding:6px 2px;margin:0}.occ-typing i{width:6px;height:6px;border-radius:50%;background:#b9b3a8;animation:occDot 1s infinite}.occ-typing i:nth-child(2){animation-delay:.15s}.occ-typing i:nth-child(3){animation-delay:.3s}
@keyframes occDot{0%,100%{opacity:.3;transform:none}50%{opacity:1;transform:translateY(-2px)}}
.occ-input{margin:0 10px 12px;border:1px solid rgba(31,30,29,.12);border-radius:18px;background:#fff;padding:9px 12px;font-size:13px;color:#8C877F}
.occ-input div{display:flex;align-items:center;gap:8px;margin-top:8px}.occ-input b{width:24px;height:24px;border:1px solid rgba(31,30,29,.15);border-radius:50%;display:grid;place-items:center;font-weight:400;color:#1f1e1d}
.occ-input em{font-style:normal;font-size:12px;font-weight:600;color:#3c66e8;background:rgba(60,102,232,.09);padding:4px 9px;border-radius:6px}.occ-input i{margin-left:auto;width:26px;height:26px;border-radius:50%;background:var(--amb);color:#fff;display:grid;place-items:center;font-style:normal;font-size:13px}
/* playback states (set by office.js) */
.occ.is-wait .occ-l:not(.on){display:none}.occ.is-wait .occ-l.on{animation:occIn .45s var(--ease) both}
.occ.is-wait .occ-steps li{opacity:.0;transform:translateY(4px);transition:opacity .3s,transform .3s}.occ.is-wait .occ-steps li.on{opacity:1;transform:none}
.occ.is-typing .occ-typing{display:flex}
.occ-btn.press{transform:scale(.95);opacity:.6}
@keyframes occIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* output cards */
.o-oc{width:280px;box-sizing:border-box;padding:18px 18px 14px;border-radius:10px;background:var(--paper);border:1px solid var(--hair);box-shadow:var(--sh);display:grid;gap:6px}
.o-oc small{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);font-weight:600}.o-oc b{font-size:17px;line-height:23px;font-weight:600}
.o-oc p{display:flex;justify-content:space-between;gap:12px;margin:0;padding-top:8px;border-top:1px solid var(--hair);font-size:14px;line-height:20px}.o-oc p span{color:var(--mute)}.o-oc p em{font-style:normal;text-align:right}
.o-oimg{margin:0;width:230px}.o-oimg img{display:block;width:100%;height:auto;border-radius:8px;box-shadow:var(--sh);background:#fff}
/* three beats */
.o-beats{list-style:none;margin:24px 0 0;padding:0 0 0 22px;display:grid;gap:18px;position:relative}
.o-beats::before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:1px;background:var(--hair)}
.o-beats > li{position:relative}.o-beats > li::before{content:"";position:absolute;left:-22px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--iv);border:1.5px solid #a7a097}
.o-beats > li:nth-child(2)::before{border-color:var(--blue);background:var(--blue)}.o-beats > li.is-get::before{border-color:var(--amb);background:var(--amb)}
.o-beats small{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.o-beats b{font-size:17px;line-height:25px;font-weight:600}
.o-beats ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.o-beats ul li{font-size:16px;line-height:24px;color:#3b3934}
.o-tap{display:block;margin-top:6px;font-size:15px;color:var(--mute)}.o-tap em{font-style:normal;color:var(--amb);font-weight:600}
/* chapters */
.o-week{padding-top:140px}
.o-deck{display:grid;gap:120px}
.o-ch{max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box;width:100%;display:grid;grid-template-columns:440px 1fr;gap:80px;align-items:center}
.o-ch.is-flip{grid-template-columns:1fr 440px}.o-ch.is-flip .o-chtext{order:2}
.o-chk{display:flex;align-items:center;gap:12px;margin:0}.o-chk span{font-size:14px;color:var(--mute)}
.o-chstage{position:relative;height:660px}
.o-chplate{position:absolute;left:0;top:60px;width:400px;height:500px;object-fit:cover;border-radius:8px;box-shadow:var(--sh)}
.o-chphone{position:absolute;left:310px;top:0;z-index:2}
.o-chout{position:absolute;left:-40px;bottom:10px;z-index:3}
.o-ch.is-flip .o-chplate{left:auto;right:0}.o-ch.is-flip .o-chphone{left:auto;right:310px}.o-ch.is-flip .o-chout{left:auto;right:-40px}
.o-deckdots{display:none}
/* your building + your AI */
.o-two{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.o-twocard{padding:0 0 8px}
.o-twostage{position:relative;height:380px;border-radius:10px;overflow:hidden;background:var(--paper);border:1px solid var(--hair)}
.o-twoplate{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.o-accs2{position:absolute;right:20px;top:20px;bottom:20px;width:220px;display:grid;gap:8px;align-content:center}
.o-accs2 p{display:flex;justify-content:space-between;margin:0;padding:11px 14px;border-radius:8px;background:rgba(251,249,244,.95);border:1px solid var(--hair);font-size:15px;box-shadow:0 14px 30px -20px rgba(20,20,23,.4)}.o-accs2 span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--amb)}
.o-aistage{display:grid;place-items:center}
.o-aiw{position:absolute;width:300px;padding:16px;border-radius:10px;background:#fff;border:1px solid var(--hair);box-shadow:var(--sh);transition:transform .8s var(--ease),opacity .8s}
.o-aiw small{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.o-aiw p{margin:0 0 10px;font-size:14px;line-height:20px;background:#EDE8DE;padding:8px 12px;border-radius:14px}.o-aiw span{font-size:13px;color:var(--amb);font-weight:600}
.o-aiw.w0{transform:translate(-70px,-50px) scale(.94);opacity:.85}.o-aiw.w1{transform:translate(0,0);z-index:2}.o-aiw.w2{transform:translate(70px,50px) scale(.94);opacity:.85}
.o-twocard .o-h3{margin-top:24px}.o-twocard .o-p{margin-top:10px}
/* reveal */
html.o-js .o-rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.o-js .o-rv.in{opacity:1;transform:none}
[data-depth]{will-change:transform}
/* header rail (option C) */
.o-hrail{display:none}
@media (prefers-reduced-motion:reduce){html.o-js .o-rv{opacity:1;transform:none;transition:none}.occ-typing i{animation:none}}

@media (max-width:1100px){
  .o-hgrid{grid-template-columns:1fr;gap:28px;padding:0 20px}
  .o-hero{padding:24px 0 0}
  .o-hcopy .o-h1{font-size:31px;line-height:35px}
  .o-hcopy .o-sub{font-size:16px;line-height:24px;margin-top:14px}
  .o-hcopy .o-act{margin-top:20px;flex-direction:row;gap:18px}
  .o-hcopy .o-works{display:none}
  .o-hero .o-hstage{height:auto!important;aspect-ratio:auto!important;margin:0!important;padding:26px 0 0!important;border-radius:12px;overflow:hidden;display:block!important;background:var(--paper);box-shadow:var(--sh)}
  .o-hero .o-hplate{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;top:0!important;border-radius:0;box-shadow:none}
  .o-hero .o-hbr{display:none!important}
  .o-hero .o-hphone{position:relative!important;left:auto!important;top:auto!important;margin:0 auto -70px;width:270px;display:block}
  .o-hero .o-hphone .occ{width:270px;margin:0 auto}
  .o-hero .o-hnote{position:absolute!important;left:12px!important;right:auto!important;top:auto!important;bottom:84px!important;width:220px!important;z-index:4}
  /* Noor's week becomes swipe cards */
  .o-week{padding-top:96px}
  .o-deck{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .o-deck::-webkit-scrollbar{display:none}
  .o-ch,.o-ch.is-flip{flex:0 0 calc(100vw - 52px);display:flex;flex-direction:column;gap:0;padding:0;margin:0;scroll-snap-align:center;background:var(--paper);border:1px solid var(--hair);border-radius:16px;overflow:hidden}
  .o-chstage{order:-1;height:auto;aspect-ratio:auto;position:relative;padding:22px 0 0;overflow:hidden}
  .o-chplate,.o-ch.is-flip .o-chplate{position:absolute;inset:0;width:100%;height:100%;border-radius:0;box-shadow:none;top:0}
  .o-chphone,.o-ch.is-flip .o-chphone{position:relative;left:auto;right:auto;top:auto;margin:0 auto -150px;width:250px}
  .o-chphone .occ{width:250px}
  .o-chout,.o-ch.is-flip .o-chout{position:absolute;left:auto;right:12px;bottom:12px;z-index:3}
  .o-chout .o-oc{width:210px;padding:12px 14px}.o-chout .o-oc b{font-size:15px;line-height:20px}.o-chout .o-oc p{font-size:13px}.o-chout .o-oc p:nth-of-type(n+3){display:none}
  .o-chout .o-oimg{width:130px}
  .o-chtext{padding:22px 20px 24px}
  .o-chk{flex-wrap:wrap;gap:8px}
  .o-ch .o-h3{font-size:21px;line-height:27px;margin-top:12px}
  .o-beats{margin-top:16px;gap:12px}.o-beats b{font-size:15px;line-height:22px}.o-beats ul li{font-size:14px;line-height:21px}
  .o-deckdots{display:flex;justify-content:center;gap:6px;margin:6px 0 0}.o-deckdots i{width:6px;height:6px;border-radius:50%;background:var(--hair);transition:width .3s,background .3s}.o-deckdots i.on{width:18px;border-radius:3px;background:var(--amb)}
  .o-two{grid-template-columns:1fr;gap:40px}
  .o-twostage{height:320px}.o-accs2{width:190px;right:12px}.o-aiw{width:250px}
  /* header C: slim bar + a rail that follows the story */
  .o-page .nav{height:auto!important;flex-wrap:wrap;padding-top:0!important;padding-bottom:0!important}
  .o-page .nav .wordmark{height:52px}
  .o-page .nav-right{height:52px}
  .o-page .nav .btn-sm{display:inline-flex!important;background:none!important;border:0!important;box-shadow:none!important;color:var(--amb)!important;padding:0 4px!important;font-weight:600}
  .o-page .nav .btn-sm .show-xs{display:inline!important}.o-page .nav .btn-sm .hide-xs{display:none!important}
  .o-hrail{display:flex;width:100%;gap:4px;padding:0 0 9px;align-items:stretch}
  .o-hrail a{flex:1;display:grid;gap:5px;font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);text-decoration:none}
  .o-hrail a i{height:3px;border-radius:2px;background:var(--hair);transition:background .4s}
  .o-hrail a.done i{background:var(--ink)}.o-hrail a.on{color:var(--ink)}.o-hrail a.on i{background:var(--amb)}
  .o-page.home main,.o-page main{padding-top:84px}
  .o-page .dept-tabs{display:none}
}
/* film slots */
.o-filmsec{padding-top:72px}
.o-filmafter{margin-top:96px}
.o-filmw{max-width:1120px;margin:0 auto}
.o-film{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#d8d1c4;box-shadow:var(--sh)}
.o-film > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.92)}
.o-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:rgba(251,249,244,.92);display:grid;place-items:center;box-shadow:0 20px 40px -18px rgba(20,20,23,.5)}
.o-play svg{width:30px;height:30px;fill:var(--ink);margin-left:4px}
.o-filmcap{position:absolute;left:20px;bottom:20px;display:grid;gap:6px;padding:16px 18px;border-radius:10px;background:rgba(251,249,244,.95);border:1px solid var(--hair);max-width:420px}
.o-filmcap .o-tag{justify-self:start}.o-filmcap b{font-size:19px;line-height:25px;font-weight:600}.o-filmcap small{font-size:14px;color:#5c5852}
.o-filmw .dfilm{border-radius:12px;box-shadow:var(--sh)}
@media (max-width:1100px){.o-filmsec{padding-top:48px}.o-filmafter{margin-top:48px}.o-filmw{padding:0}.o-play{width:60px;height:60px;margin:-30px 0 0 -30px}.o-play svg{width:22px;height:22px}.o-filmcap{left:10px;right:10px;bottom:10px;padding:10px 12px;max-width:none}.o-filmcap b{font-size:15px;line-height:20px}.o-filmcap small{display:none}.o-film{aspect-ratio:4/3}}
/* outcomes: what changes for you */
.o-gaingrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.o-gain{display:grid;grid-template-rows:auto 1fr;border-radius:12px;overflow:hidden;background:var(--paper);border:1px solid var(--hair)}
.o-gain img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.o-gain > div{padding:20px 20px 22px;display:grid;gap:10px;align-content:start}.o-gain .o-tag{justify-self:start}
.o-gain h3{margin:0;font-size:21px;line-height:27px;font-weight:600;letter-spacing:-.015em}.o-gain p{margin:0;font-size:15px;line-height:23px;color:#4a4741}.o-gain small{font-size:13px;color:var(--mute)}
.o-gainl{display:block;margin-top:6px;font-size:16px;line-height:24px;color:var(--ink);font-style:italic}
/* critic fixes */
.o-fviz2 .vz-card,.o-shvis .vz-card{width:300px;max-width:none;margin:0!important;border:1px solid var(--hair)!important;border-radius:10px!important;padding:18px!important;background:var(--paper);box-shadow:var(--sh)}
.o-page .vz{font-size:13px}.o-page .vz small,.o-page .vz-k,.o-page .vz-sub,.o-page .vz-cap{font-size:13px!important}
.o-page .vz-tag{border-radius:3px!important}
.o-3d .lbl span{font-size:13px!important}
.o-eqph{bottom:56px}
.o-kyou{background:var(--paper);color:var(--ink);border:1px solid var(--hair);border-top:3px solid var(--amb)}.o-kyou small{color:var(--mute)}.o-kyou span{color:#5c5852}
.o-safe{background:var(--paper);color:var(--ink);border:1px solid var(--hair);border-top:3px solid var(--amb)}.o-safe small{color:var(--mute)}
.o-hrslist em{color:var(--ink)}
.o-fgrid .o-fcard:nth-child(1),.o-fgrid .o-fcard:nth-child(7){grid-column:span 2}
.o-fgrid .o-fcard:nth-child(1) .o-fcimg,.o-fgrid .o-fcard:nth-child(7) .o-fcimg{aspect-ratio:auto;height:100%;min-height:260px}
/* floor pages v2 */
.o-dh2{margin-top:0}.o-dh2 .o-dh1{font-size:50px;line-height:54px}
.o-sayrow{display:grid;grid-template-columns:1fr 28px 1.2fr 28px 1fr;gap:16px;align-items:stretch}
.o-sayrow article{padding:24px;border-radius:12px;background:var(--paper);border:1px solid var(--hair);display:grid;gap:14px;align-content:start}
.o-sayrow small{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.o-sayrow article > span{font-size:14px;line-height:21px;color:var(--mute)}
.o-bub{margin:0;justify-self:end;max-width:92%;background:#EDE8DE;padding:12px 16px;border-radius:18px 18px 4px 18px;font-size:17px;line-height:25px}
.o-bub.is-event{justify-self:start;background:#fff;border:1px solid var(--hair);border-radius:10px}
.o-say2 ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.o-say2 li{display:flex;gap:10px;font-size:16px;line-height:23px}.o-say2 li b{color:var(--blue)}
.o-say3{border-top:3px solid var(--amb)!important}
.o-gets{display:grid;gap:6px;padding:16px;border-radius:10px;background:#fff;border:1px solid var(--hair)}.o-gets b{font-size:18px;line-height:24px}.o-gets span{font-size:14px;color:#5c5852}
.o-getbtn{justify-self:start;margin-top:6px;font-style:normal;padding:9px 16px;border-radius:8px;background:var(--amb);color:#fff;font-size:14px;font-weight:600}
.o-getauto{font-style:normal;font-size:14px;font-weight:600;color:var(--blue)}
.o-arrow{align-self:center;justify-self:center;font-style:normal;font-size:22px;color:var(--mute)}
.o-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.o-shcard{display:grid;gap:8px;align-content:start}
.o-shvis{position:relative;height:420px;border-radius:12px;overflow:hidden;display:grid;place-items:center;margin-bottom:12px}
.o-shplate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.o-shvis .vz{position:relative;z-index:1}
.o-shcard small{font-size:13px;font-weight:600;color:var(--mute)}.o-shcard h3{margin:0;font-size:21px;line-height:27px;font-weight:600}.o-shcard p{margin:0;font-size:16px;line-height:24px;color:#4a4741}
.o-dnoor .o-ch{margin-top:0}
@media (max-width:1100px){
  .o-gaingrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 20px 8px;scrollbar-width:none}.o-gain{flex:0 0 78vw;scroll-snap-align:center}
  .o-fgrid .o-fcard:nth-child(1),.o-fgrid .o-fcard:nth-child(7){grid-column:auto}.o-fgrid .o-fcard:nth-child(1) .o-fcimg,.o-fgrid .o-fcard:nth-child(7) .o-fcimg{aspect-ratio:4/3;min-height:0;height:auto}
  .o-dh2{display:flex;flex-direction:column;background:none!important;border:0!important;border-radius:0!important;overflow:visible!important;padding:0 20px!important;width:auto!important;flex:none!important}
  .o-dh2 .o-chtext{padding:0 0 24px}.o-dh2 .o-dh1{font-size:31px;line-height:35px}
  .o-dh2 .o-chstage{border-radius:12px;box-shadow:var(--sh)}
  .o-sayrow{grid-template-columns:1fr;gap:10px}.o-arrow{transform:rotate(90deg)}
  .o-shelf{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 20px 8px;scrollbar-width:none}.o-shcard{flex:0 0 84vw;scroll-snap-align:center}.o-shvis{height:380px}
  .o-fviz2 .vz-card,.o-shvis .vz-card{width:270px}
  .o-dnoor .o-ch{margin:0 20px!important;width:auto!important}
}

.o-oc p em{color:var(--ink)}
/* your AI subscription: the real marks, monochrome */
.o-mk svg{width:16px;height:16px;fill:currentColor;flex:none}.o-mk:has(svg)::before{display:none}
.o-mk-l svg{width:20px;height:20px}
.o-works small{white-space:nowrap}
.o-aisub{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:26px 0 0;padding:14px 16px;border-radius:10px;background:var(--paper);border:1px solid var(--hair);max-width:520px}
.o-aisub > small{width:100%;font-size:13px;color:var(--mute)}.o-aisub > b{font-size:15px;font-weight:600;width:100%}
@media (max-width:1100px){.o-hcopy .o-aisub{display:flex;margin-top:18px;padding:12px}.o-aisub .o-mk{height:30px;font-size:14px;padding:0 10px}}
.o-before{margin:14px 0 0;font-size:16px;line-height:24px;color:#5c5852;max-width:420px}.o-before span{display:inline-block;margin-right:8px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
@media (max-width:1100px){.o-before{font-size:14px;line-height:21px;margin-top:10px}}
/* the tap: a finger ripple on the button, then the button settles into its done state */
.occ-btn{position:relative;overflow:visible}
.occ-tap{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:rgba(20,20,23,.18);opacity:0;transform:scale(.3);pointer-events:none}
.occ-btn.tapping .occ-tap{animation:occTap .5s var(--ease) both}
@keyframes occTap{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.6)}}
.occ-btn.done{background:transparent;color:var(--amb);box-shadow:inset 0 0 0 1.5px var(--amb)}
/* steps: a small spinner turns into a tick */
.occ.is-wait .occ-steps li{opacity:1!important;transform:none!important}
.occ.is-wait .occ-steps li:not(.on){color:#8C877F}
.occ.is-wait .occ-steps li:not(.on) b{color:transparent;width:11px;height:11px;margin-top:3px;border-radius:50%;border:1.5px solid var(--blue);border-right-color:transparent;animation:occSpin .8s linear infinite;flex:none}
@keyframes occSpin{to{transform:rotate(360deg)}}
@media (max-width:1100px){
  /* chapter card: photo panel with her chat, then the output underneath it, nothing stacked on the chat */
  .o-chstage{display:flex!important;flex-direction:column;align-items:center;padding:22px 0 0!important}
  .o-chstage .o-chphone{margin-bottom:-170px!important}
  .o-chstage::after{content:"";display:block;height:0}
  .o-chout,.o-ch.is-flip .o-chout{position:relative!important;right:auto!important;left:auto!important;bottom:auto!important;margin:184px 0 0;align-self:stretch;padding:14px 14px 16px;background:var(--paper);border-top:1px solid var(--hair);display:flex;justify-content:center}
  .o-chout .o-oc{width:100%!important;box-shadow:none}.o-chout .o-oc p:nth-of-type(n+3){display:flex}
  .o-chout .o-oimg{width:160px}
  .o-chplate,.o-ch.is-flip .o-chplate{height:calc(100% - 0px)!important;bottom:auto}
  .o-dh2{display:flex!important}.o-dh2 .o-chstage{order:2!important}
  .o-hrail a{letter-spacing:0;text-transform:none;font-size:12px;text-align:left}
}
@media (max-width:1100px){.o-hero .o-hnote{display:none!important}}
.o-feel{margin:18px 0 0;font-size:22px;line-height:31px;letter-spacing:-.01em;color:#3b3934;max-width:420px}
.o-chtext .o-tap{margin-top:16px;font-size:15px}
.o-gain p{font-size:16px}
@media (max-width:1100px){.o-feel{font-size:17px;line-height:25px;margin-top:10px}}
/* hero v3: her photo is the backdrop, face clear; her chat beside her; the payment note under her */
.o-hero .o-hstage{height:680px}
.o-hero .o-hplate{left:auto;right:0;top:10px;width:470px;height:620px;object-position:62% 40%;border-radius:12px}
.o-hero .o-hphone{left:0;top:50px}
.o-hero .o-hnote{left:auto;right:-24px;top:auto;bottom:24px;width:290px}
@media (max-width:1100px){
  .o-hero .o-hstage{padding:0!important;aspect-ratio:1/1.12!important;display:block!important}
  .o-hero .o-hplate{object-position:78% 38%!important}
  .o-hero .o-hphone{position:absolute!important;left:14px!important;top:22px!important;margin:0!important;width:200px!important}
  .o-hero .o-hphone .occ{width:200px}
}
.o-est{display:block;margin-top:6px;font-size:13px;color:var(--mute)}
.occ-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){
  .o-hero .o-hphone{width:228px!important}.o-hero .o-hphone .occ{width:228px}
  .o-hcopy .o-aisub{background:none;border:0;padding:0;margin-top:16px;gap:8px}.o-hcopy .o-aisub > b{font-size:13px;font-weight:600;color:var(--mute);width:auto;margin-right:2px}
  .o-hcopy .o-aisub > small{display:none}.o-hcopy .o-aisub .o-mk{height:28px;font-size:13px;padding:0 8px;gap:6px}.o-hcopy .o-aisub .o-mk svg{width:14px;height:14px}
  .o-hcopy .o-sub{font-size:16px;line-height:23px}.o-est{margin-top:4px}
}
@media (max-width:1100px){.o-hero .o-hphone{width:206px!important;left:10px!important}.o-hero .o-hphone .occ{width:206px}.o-hero .o-hstage{aspect-ratio:1/1.05!important}}

/* ---------- phone hero v4 (owner: "more premium"): words centred on ivory; her photo edge to edge with her face clear,
   fading into the page; her chat phone rising out of the photo's lower half ---------- */
.o-hmarks{display:none}
@media (max-width:1100px){
  .o-hero{padding:30px 0 0!important}
  .o-hgrid{padding:0!important;gap:0!important}
  .o-hcopy{padding:0 26px;text-align:center}
  .o-hcopy .o-h1{text-align:center;font-size:37px!important;line-height:40px!important;letter-spacing:-.04em}
  .o-hcopy .o-h1 .o-mute{display:block}
  .o-hcopy .o-sub{text-align:center;font-size:16px!important;line-height:23px!important;margin:14px auto 0!important;max-width:320px}
  .o-hcopy .o-act{justify-content:center!important;margin-top:20px!important}
  .o-hcopy .o-aisub{display:none!important}
  .o-hero .o-hstage{position:relative!important;display:block!important;width:100vw!important;height:380px!important;aspect-ratio:auto!important;margin:30px 0 300px!important;padding:0!important;border-radius:0!important;overflow:visible!important;box-shadow:none!important;background:none!important}
  .o-hero .o-hplate{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:0!important;object-position:50% 100%!important;box-shadow:none!important;transform:none!important}
  .o-hero .o-hstage::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:150px;background:linear-gradient(rgba(246,242,234,0),var(--iv));pointer-events:none;z-index:1}
  .o-hero .o-hphone{position:absolute!important;left:50%!important;top:196px!important;width:244px!important;margin:0 0 0 -122px!important;z-index:3;transform:none!important}
  .o-hero .o-hphone .occ{width:244px;box-shadow:0 50px 90px -30px rgba(20,20,23,.45),0 2px 6px rgba(20,20,23,.08)}
  .o-hero .o-hnote{display:flex!important;position:absolute!important;left:16px!important;right:auto!important;top:18px!important;bottom:auto!important;width:auto!important;max-width:230px;padding:10px 12px;border-radius:12px;z-index:2}
  .o-hero .o-hnote i{width:30px;height:30px;font-size:11px}.o-hero .o-hnote b{font-size:14px}.o-hero .o-hnote small{font-size:12px}
  .o-hmarks{display:flex;justify-content:center;padding:28px 20px 0}
  .o-hmarks .o-aisub{display:flex;flex-wrap:wrap;justify-content:center;background:none;border:0;padding:0;margin:0;gap:8px}
  .o-hmarks .o-aisub > b{width:100%;text-align:center;font-size:13px;font-weight:600;color:var(--mute)}
  .o-hmarks .o-aisub > small{width:100%;text-align:center;font-size:12px}
  .o-hmarks .o-mk{height:32px;font-size:14px;padding:0 10px}
}
@media (max-width:1100px){.o-hero .o-hnote b{white-space:nowrap}.o-hero .o-hnote{max-width:none}}
@media (max-width:1100px){.o-hcopy .o-h1{font-size:clamp(30px,9.4vw,37px)!important;line-height:1.08!important}.o-hcopy .o-act{gap:16px!important}.o-hcopy .o-act .o-btn,.o-hcopy .o-act .o-link{white-space:nowrap}} @media (max-width:370px){.o-hcopy .o-act .o-btn{padding:0 18px;font-size:15px}.o-hcopy .o-act .o-link{font-size:15px}}

/* ---------- header v3 (owner, 22 Oct late): a floating glass pill, phone and desktop ---------- */
.o-hrail{display:none!important}
.o-page .nav,.o-page .nav:not(.scrolled){position:fixed;top:12px;left:50%;right:auto;transform:translateX(-50%);width:min(1180px,calc(100% - 24px));height:58px!important;padding:0 8px 0 20px!important;border-radius:999px;background:rgba(251,249,244,.62);backdrop-filter:saturate(1.6) blur(22px);-webkit-backdrop-filter:saturate(1.6) blur(22px);border:1px solid rgba(255,255,255,.7);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 18px 40px -22px rgba(20,20,23,.35),0 0 0 1px rgba(20,20,23,.05);color:var(--ink);flex-wrap:nowrap!important;transition:background .3s,box-shadow .3s}
.o-page .nav.o-pinned{background:rgba(251,249,244,.82)}
.o-page .nav .wordmark{height:auto!important}
.o-page .nav-right{height:auto!important;gap:22px}
.o-page .nav .btn-sm{display:inline-flex!important;align-items:center;height:42px;padding:0 20px!important;border-radius:999px!important;background:var(--amb)!important;color:#fff!important;border:0!important;font-weight:600;box-shadow:0 8px 18px -10px rgba(181,96,26,.7)}
.o-page .nav .btn-sm .hide-xs{display:inline!important}.o-page .nav .btn-sm .show-xs{display:none!important}
.o-page main,.o-page.home main{padding-top:84px!important}
@media (max-width:1100px){
  .o-page .nav,.o-page .nav:not(.scrolled){top:10px;width:calc(100% - 20px);height:54px!important;padding:0 6px 0 14px!important}
  .o-page .nav .wordmark{font-size:16px}.o-page .logo-mark{width:22px;height:22px}
  .o-page .nav-right{gap:4px}
  .o-page .nav .btn-sm{height:38px;padding:0 15px!important;font-size:14px}
  .o-page .menu-btn{width:40px;height:40px;border-radius:999px;border:0;background:rgba(20,20,23,.05)}
  .o-page .menu-btn i{left:12px;right:12px}.o-page .menu-btn i:nth-of-type(1){top:16px}.o-page .menu-btn i:nth-of-type(2){top:22px}
  .o-page main,.o-page.home main{padding-top:76px!important}
}
/* buttons as pills, like the header */
.o-btn{border-radius:999px;padding:0 26px}
/* hero: AI marks as a quiet row, no box */
.o-hcopy .o-aisub{background:none;border:0;padding:0;margin-top:28px;gap:8px}.o-hcopy .o-aisub > b{font-size:14px;color:var(--mute);font-weight:600}.o-hcopy .o-aisub > small{font-size:13px}
/* comparison: four rows, the rest one tap away */
.o-cmpmore summary{list-style:none;cursor:pointer;padding:18px;text-align:center;font-weight:600;font-size:15px;border-top:1px solid var(--hair)}.o-cmpmore summary::-webkit-details-marker{display:none}.o-cmpmore summary::after{content:" ↓";color:var(--mute)}.o-cmpmore[open] summary{display:none}
.o-cmpmore .o-cmpr:last-child .o-cmpo.is-us{border-bottom:1px solid var(--hair);border-radius:0 0 10px 10px}
.o-cmp > .o-cmpr:nth-child(5) .o-cmpo.is-us{border-radius:0}
/* three ways to start */
.o-levels{padding-bottom:40px}
.o-lvgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.o-lv{display:grid;gap:12px;align-content:start;padding:28px;border-radius:16px;background:var(--paper);border:1px solid var(--hair)}
.o-lv .o-tag{justify-self:start}.o-lvout{font-size:21px;line-height:27px;font-weight:600}
.o-lvprice{margin:6px 0 0;font-size:40px;line-height:1;font-weight:600;letter-spacing:-.03em}.o-lvprice small{font-size:15px;font-weight:400;color:var(--mute);letter-spacing:0}
.o-lvwhen{margin:0;font-size:14px;color:var(--mute)}.o-lv .o-btn{justify-self:start;margin-top:8px}
.o-lv.is-full{border-color:var(--amb);box-shadow:var(--sh)}
@media (max-width:1100px){.o-lvgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 20px 8px;scrollbar-width:none}.o-lv{flex:0 0 78vw;scroll-snap-align:center;padding:22px}.o-lvprice{font-size:34px}}
/* software + media library: tool tiles */
.o-swtiles{padding-top:110px}
.o-tiles{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.o-tile{display:grid;grid-template-rows:auto 1fr;border-radius:18px;background:var(--paper);border:1px solid var(--hair);overflow:hidden}
.o-tile.is-wide{grid-column:span 2;grid-template-columns:400px 1fr;grid-template-rows:auto}
.o-ttext{padding:30px 30px 18px;display:grid;gap:10px;align-content:start}.o-ttext .o-tag{justify-self:start}.o-ttext .o-h3{margin:4px 0 0}.o-ttext > p{margin:0;font-size:16px;line-height:24px;color:#5c5852}
.o-tmore summary{cursor:pointer;font-size:14px;font-weight:600;list-style:none;color:var(--ink)}.o-tmore summary::-webkit-details-marker{display:none}.o-tmore summary::after{content:" +";color:var(--mute)}.o-tmore[open] summary::after{content:" −"}
.o-tmore ul{margin:10px 0 6px;padding-left:18px;font-size:15px;line-height:23px;color:#4a4741}.o-tmore a{font-size:14px;font-weight:600;color:var(--ink)}
.o-tvis{position:relative;min-height:330px;padding:0 0 0 30px;overflow:hidden}
.o-tbr{position:absolute;left:30px;top:10px;width:calc(100% + 40px)}
.o-tph{position:absolute;right:26px;bottom:-60px;width:150px}
.o-tile.is-wide .o-tvis{min-height:440px}.o-tile.is-wide .o-tbr{top:30px}
.o-modlist{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:0}
.o-modlist li{display:flex;align-items:center;gap:10px;padding:16px 18px;border-radius:14px;background:var(--paper);border:1px solid var(--hair);font-size:15px}
.o-modlist li i{margin-left:auto;width:30px;height:18px;border-radius:999px;background:var(--amb);position:relative;flex:none}.o-modlist li i::after{content:"";position:absolute;right:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff}
.o-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.o-group{border-radius:14px;background:var(--paper);border:1px solid var(--hair);padding:18px 20px}
.o-group summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:16px}.o-group summary::-webkit-details-marker{display:none}.o-group summary small{margin-left:auto;color:var(--mute);font-size:13px}
.o-group ul{margin:12px 0 0;padding-left:18px;font-size:15px;line-height:23px;color:#4a4741}
.sw-page .dfilm-wrap{display:none}
@media (max-width:1100px){
  .o-swtiles{padding-top:64px}
  .o-tiles{grid-template-columns:1fr;gap:16px}.o-tile.is-wide{grid-column:auto;grid-template-columns:1fr}
  .o-ttext{padding:22px 22px 12px}
  .o-tvis,.o-tile.is-wide .o-tvis{min-height:0;padding:10px 0 0;display:grid;place-items:center;height:330px}
  .o-tbr{display:none}.o-tph{position:relative;right:auto;bottom:auto;width:190px;transform:translateY(22%)}
  .o-modlist{grid-template-columns:1fr 1fr;padding:0 20px}.o-modlist li{padding:13px 14px;font-size:14px}
  .o-groups{grid-template-columns:1fr;padding:0 20px}
}
@media (max-width:1100px){.o-tvis,.o-tile.is-wide .o-tvis{height:300px;place-items:start center;padding-top:22px}.o-tph{transform:none}}

/* ---------- real iPhone proportions (owner: "not cartoonish, a proper iPhone"): iPhone 15 Pro, 393×852 screen.
   A thin titanium edge, a thin black bezel, the Dynamic Island in its true size and place, and a real status bar.
   Everything is in container units, so a phone at any width keeps the same proportions. ---------- */
.o-ph,.occ{container-type:inline-size;position:relative;padding:0!important;border-radius:16.5% / 7.6%!important;background:linear-gradient(135deg,#5b5b60 0%,#232326 18%,#2e2e31 50%,#1c1c1e 82%,#55555a 100%)!important;box-shadow:0 0 0 .5px rgba(0,0,0,.6),0 40px 80px -30px rgba(20,20,23,.38),0 2px 6px rgba(20,20,23,.08)!important}
/* side buttons */
.o-ph::before,.occ::before{content:"";position:absolute;left:-.9cqw;top:19%;width:1cqw;height:6.5%;border-radius:1cqw 0 0 1cqw;background:#2a2a2d;box-shadow:0 9.5cqw 0 #2a2a2d,0 19cqw 0 #2a2a2d}
.o-ph::after,.occ::after{content:"";position:absolute;right:-.9cqw;top:26%;width:1cqw;height:10%;border-radius:0 1cqw 1cqw 0;background:#2a2a2d}
/* screen inside the bezel */
.o-phs,.occ-screen{position:relative;margin:1cqw!important;border:2.6cqw solid #050505!important;border-radius:14.6cqw!important;overflow:hidden;aspect-ratio:393/852!important;background:#FAF9F5}
.o-phs{display:block}
.o-phsb{position:absolute;left:0;right:0;top:0;height:13cqw;display:flex;align-items:center;justify-content:space-between;padding:0 8cqw 0 9cqw;background:#F7F5F0;z-index:1;font:600 max(4.2cqw,10px)/1 var(--sans);color:#1f1e1d}
.o-phsb i{width:15cqw;height:3.4cqw;background:linear-gradient(90deg,#1f1e1d 0 30%,transparent 30% 38%,#1f1e1d 38% 62%,transparent 62% 70%,#1f1e1d 70%);border-radius:.8cqw;opacity:.85}
.o-phs img{position:absolute;left:0;right:0;top:13cqw;width:100%;height:calc(100% - 13cqw);object-fit:cover;object-position:top;border-radius:0!important;display:block}
.o-isl,.occ-isl{position:absolute!important;top:3.1cqw!important;left:50%!important;width:31cqw!important;height:9.2cqw!important;margin:0 0 0 -15.5cqw!important;border-radius:9cqw!important;background:#000!important;z-index:3}
.occ .occ-isl{top:5cqw!important}
/* the chat app inside: status bar sized to the island */
.occ-status{height:13cqw;padding:0 8cqw 0 9.5cqw!important;align-items:center!important;font-size:max(4.2cqw,10px)!important}
.occ-top{padding:2cqw 4cqw 2.6cqw!important}
@media (max-width:1100px){.o-ph,.occ{box-shadow:0 0 0 .5px rgba(0,0,0,.6),0 30px 60px -26px rgba(20,20,23,.4)!important}}
.o-page .vz-week .vz-ev{font-size:12px;padding:4px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.o-fviz2 .vz-card{width:330px}
/* the real app, opened from a link in the chat: slides up like an in-app browser sheet */
.occ-sheet{position:absolute;left:0;right:0;top:13cqw;bottom:0;z-index:4;background:#FAF9F5;border-radius:4cqw 4cqw 0 0;box-shadow:0 -10px 30px -12px rgba(20,20,23,.35);transform:translateY(102%);transition:transform .5s var(--ease);display:flex;flex-direction:column;overflow:hidden}
.occ-sheet.open{transform:none}
.occ-shhd{display:flex;align-items:center;gap:2cqw;height:11cqw;padding:0 4cqw;border-bottom:1px solid rgba(31,30,29,.1);font-size:max(3.6cqw,10px);flex:none}
.occ-shhd b{color:#3c66e8;font-weight:600}.occ-shhd span{flex:1;text-align:center;color:#8C877F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.occ-shhd i{font-style:normal;color:#8C877F}
.occ-shimg{position:relative;flex:1;overflow:hidden}.occ-shimg img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.occ-shbar{flex:none;padding:3cqw 4cqw 4cqw;background:rgba(250,249,245,.96);border-top:1px solid rgba(31,30,29,.1)}
.occ-shbar span{position:relative;display:block;text-align:center;padding:3.2cqw;border-radius:999px;background:var(--amb);color:#fff;font-weight:600;font-size:max(4cqw,11px)}
.occ-tap2{position:absolute;left:50%;top:50%;width:12cqw;height:12cqw;margin:-6cqw 0 0 -6cqw;border-radius:50%;background:rgba(20,20,23,.22);opacity:0;transform:scale(.3);pointer-events:none}
.occ-tap2.go{animation:occTap .5s var(--ease) both}
.occ-toast{position:absolute;left:50%;top:18cqw;transform:translate(-50%,-8px);margin:0;padding:2.4cqw 4cqw;border-radius:999px;background:rgba(20,20,23,.88);color:#fff;font-size:max(3.8cqw,11px);font-weight:600;white-space:nowrap;opacity:0;transition:opacity .3s,transform .3s}
.occ-sheet.ok .occ-toast{opacity:1;transform:translate(-50%,0)}
/* run it all from your chat: three chats side by side */
.o-asks{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;justify-items:center}
.o-ask{margin:0;display:grid;gap:16px;justify-items:center}.o-ask .occ{width:280px}
@media (max-width:1100px){.o-asks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:6px 20px 12px;scrollbar-width:none;justify-items:initial}.o-ask{flex:0 0 74vw;scroll-snap-align:center}.o-ask .occ{width:min(260px,72vw)}}
.occ-body{justify-content:flex-start}.occ-body.is-full{justify-content:flex-end}
/* made like a design studio: real outputs */
.o-exgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:18px}
.o-ex{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#141417;display:block;box-shadow:var(--sh)}
.o-ex img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.o-ex:hover img{transform:scale(1.03)}
.o-ex.is-big{grid-column:span 2;grid-row:span 2}
.o-ex.is-tall{grid-row:span 2;background:#fff}.o-ex.is-tall img{object-fit:contain;background:#0d0d10}
.o-ex.is-page{grid-column:span 2;grid-row:span 2;background:#fff}.o-ex.is-page img{object-position:top}
.o-ex.is-inv{grid-row:span 2;background:#fff}.o-ex.is-inv img{object-fit:contain;padding:14px;box-sizing:border-box;background:#fff}
.o-excap{position:absolute;left:14px;bottom:14px;z-index:2}
.o-ex .o-play{width:64px;height:64px;margin:-32px 0 0 -32px}
@media (max-width:1100px){
  .o-exgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 20px 8px;scrollbar-width:none}
  .o-ex{flex:0 0 78vw;height:420px;scroll-snap-align:center}.o-ex.is-film{height:auto;aspect-ratio:16/9;align-self:center}
}
/* a day on this floor */
.o-daylist{list-style:none;max-width:860px!important;display:grid;gap:14px;position:relative}
.o-daylist::before{content:"";position:absolute;left:calc(40px + 92px);top:10px;bottom:10px;width:1px;background:var(--hair)}
.o-dm{display:grid;grid-template-columns:92px 1fr;gap:28px;align-items:start;position:relative}
.o-dm time{font-size:15px;font-weight:600;padding-top:20px;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.o-dm::before{content:"";position:absolute;left:calc(92px + 14px - 5px);top:24px;width:10px;height:10px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px var(--iv)}
.o-dm.is-tap::before{background:var(--amb)}
.o-dmcard{padding:18px 22px;border-radius:16px;background:var(--paper);border:1px solid var(--hair);display:grid;gap:6px;margin-left:10px}
.o-dmcard small{font-size:13px;color:var(--mute)}.o-dmcard b{font-size:19px;line-height:25px;font-weight:600}
.o-dmin{margin:6px 0 0;font-size:15px;line-height:22px;justify-self:start;max-width:90%}
.o-dmin.you{background:#EDE8DE;padding:8px 13px;border-radius:16px 16px 16px 4px}
.o-dmin.notice{color:#5c5852;padding-left:14px;border-left:2px solid var(--blue)}
.o-dmout{margin:4px 0 0;font-size:16px;line-height:24px;color:#2c2b28}
.o-dmtag{justify-self:start;margin-top:6px;font-size:13px;font-weight:600;color:var(--blue);padding:5px 11px;border-radius:999px;background:rgba(107,150,255,.12)}
.o-dm.is-tap .o-dmtag{color:var(--amb);background:rgba(181,96,26,.1)}.o-dmtag em{font-style:normal}
.o-daymore{max-width:860px!important;margin-top:14px!important}.o-daymore summary{list-style:none;cursor:pointer;text-align:center;font-weight:600;font-size:15px;padding:12px}.o-daymore summary::-webkit-details-marker{display:none}.o-daymore summary::after{content:" ↓";color:var(--mute)}.o-daymore[open] summary{display:none}.o-daymore .o-daylist{padding:0}
@media (max-width:1100px){
  .o-daylist::before{left:calc(20px + 58px)}
  .o-dm{grid-template-columns:58px 1fr;gap:16px}.o-dm time{font-size:13px;padding-top:18px}
  .o-dm::before{left:calc(58px + 8px - 5px)}
  .o-dmcard{padding:14px 16px;margin-left:4px}.o-dmcard b{font-size:17px;line-height:23px}.o-dmout{font-size:15px;line-height:22px}
}
/* floor tabs: a second, smaller glass pill under the header */
.o-page .dept-tabs{top:80px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:8px 0!important}
.o-page .dept-tabs .wrap{display:flex;gap:4px;width:max-content;max-width:calc(100% - 24px);margin:0 auto;padding:5px!important;border-radius:999px;background:rgba(251,249,244,.66);backdrop-filter:saturate(1.6) blur(20px);-webkit-backdrop-filter:saturate(1.6) blur(20px);border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 30px -20px rgba(20,20,23,.35),0 0 0 1px rgba(20,20,23,.05);overflow-x:auto;scrollbar-width:none}
.o-page .dept-tabs a{border:0!important;background:none!important;border-radius:999px!important;padding:8px 14px!important;font-size:14px;white-space:nowrap}
.o-page .dept-tabs a[aria-current]{background:var(--ink)!important;color:#fff!important}.o-page .dept-tabs a[aria-current] .ico{filter:invert(1)}
.o-ex.is-tall{grid-row:span 3}
/* a day on this floor, v2: pictures, not paragraphs */
.o-daystrip{list-style:none;margin:0 auto;padding:0 40px;max-width:1280px;box-sizing:border-box;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.o-daystrip .o-dm{display:grid;gap:14px;grid-template-columns:1fr;position:static}
.o-daystrip .o-dm::before{display:none}
.o-dmvis{position:relative;height:380px;border-radius:18px;overflow:hidden;background:#d9d2c6;box-shadow:var(--sh)}
.o-dmplate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.o-dmvis::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(20,20,23,.0) 40%,rgba(20,20,23,.18))}
/* Department image captions: softly frosted glass, no status-dot shorthand. */
.o-dmbub{position:absolute;left:12px;right:12px;top:12px;z-index:2;box-sizing:border-box;margin:0;padding:11px 13px;border:1px solid rgba(255,255,255,.64);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(250,247,241,.58));backdrop-filter:blur(24px) saturate(1.25);-webkit-backdrop-filter:blur(24px) saturate(1.25);font-size:13px;line-height:19px;font-weight:500;letter-spacing:-.01em;color:#242321;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(255,255,255,.2),0 8px 24px -14px rgba(33,28,22,.25)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.o-dmbub{background:rgba(250,247,241,.94)}}
.o-dmph{position:absolute!important;left:50%;bottom:-70px;width:150px;margin-left:-75px;z-index:2}
.o-dmcap{display:grid;gap:4px;padding:0 4px}
.o-dmcap time{font-size:13px;font-weight:600;color:var(--mute);font-variant-numeric:tabular-nums}
.o-dmcap b{font-size:17px;line-height:22px;font-weight:600}
.o-dmcap .o-dmtag{margin-top:4px}
@media (max-width:1100px){.o-daystrip{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1100px){
  .o-daystrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 20px 8px;scrollbar-width:none}
  .o-daystrip .o-dm{flex:0 0 68vw;scroll-snap-align:center}
  .o-dmvis{height:360px}.o-dmph{width:150px;margin-left:-75px}
}
.o-dmcap time{text-align:left;padding:0}
/* one ending: photo band, then the three ways */
.o-lvplate{aspect-ratio:21/7!important}
.o-lvhead{margin-top:56px}
/* the old tail, in the office look */
.o-page .faq-sec .wrap{max-width:1100px;margin:0 auto}.o-page .faq-sec h2{font:600 56px/60px var(--sans);letter-spacing:-.03em;text-align:center;margin-bottom:28px}
.o-page .faq details{border-radius:14px;background:var(--paper);border:1px solid var(--hair);padding:0 20px;margin-bottom:8px}
.o-page .faq summary{padding:16px 0;font-size:16px}
.o-page .o-faqmore{background:none!important;border:0!important;padding:0!important}.o-page .o-faqmore > summary{text-align:center;font-weight:600;list-style:none;cursor:pointer}.o-page .o-faqmore > summary::-webkit-details-marker{display:none}.o-page .o-faqmore > summary::after{content:" ↓";color:var(--mute)}.o-page .o-faqmore[open] > summary{display:none}
.o-page .register-sec .display{font:600 56px/60px var(--sans)!important;letter-spacing:-.03em}
.o-page .register-sec .panel{border-radius:20px;border:1px solid var(--hair);background:var(--paper);box-shadow:var(--sh)}
.o-page .register-sec .btn,.o-page .brochure .btn,.o-page .footer .btn{border-radius:999px!important;background:var(--amb)!important}
.o-page .register-sec input,.o-page .register-sec select,.o-page .register-sec textarea{border-radius:12px!important}
@media (max-width:1100px){.o-page .faq-sec h2,.o-page .register-sec .display{font-size:34px!important;line-height:38px!important}.o-page .faq-sec .wrap{padding:0 20px}.o-lvplate{aspect-ratio:16/9!important}}
.o-page .faq .o-faqmore > summary::after{content:" ↓"!important;position:static!important;transform:none!important;width:auto!important;height:auto!important;background:none!important;border:0!important;color:var(--mute);display:inline!important}.o-page .faq .o-faqmore > summary::before{display:none!important}.o-page .faq .o-faqmore > summary{display:block;padding:14px 0}
/* the live 3D office inside the equation: just the turning office, no labels */
.o-3dmini{position:relative;width:380px;height:300px;margin:0;border-radius:16px;background:radial-gradient(60% 60% at 50% 55%,#fbf9f4,#f1ece2);box-shadow:var(--sh)}
.o-3dmini .hero-scene{position:absolute;inset:0}.o-3dmini .hero-scene canvas{opacity:1!important}
.o-3dmini .hero-labels{display:none}
.o-3dmini.no-webgl .o-3d-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:16px;margin:0}
@media (max-width:1100px){.o-3dmini{width:min(320px,86vw);height:260px}}
/* equation, compact: three objects the same height, less air */
.o-power{padding-top:110px}
.o-eq{gap:22px;align-items:center}
.o-aicard,.o-3dmini,.o-eqyou > img{height:240px!important}
.o-aicard{width:210px!important;padding:18px!important;gap:10px}
.o-3dmini{width:340px!important}.o-3dmini .hero-scene{inset:-30px -10px -10px -10px}
.o-eqyou > img{width:200px!important}
.o-eqph{transform:scale(.68)!important;right:-58px!important;bottom:30px!important}
.o-eqline{margin-top:40px!important;font-size:48px!important;line-height:52px!important}
.o-op{font-size:44px}
@media (max-width:1100px){.o-eq{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px 10px}.o-aicard,.o-3dmini,.o-eqyou > img{height:150px!important}.o-aicard{width:130px!important;padding:10px!important;gap:6px}.o-aicard .o-mk-l{height:30px;font-size:13px;padding:0 8px}.o-3dmini{width:min(300px,86vw)!important;height:200px!important;order:-1;flex-basis:100%}.o-eqyou > img{width:130px!important}.o-op{font-size:30px}.o-eqline{font-size:30px!important;line-height:34px!important}.o-eqo figcaption .o-tag{font-size:10px}}
/* critic pass (22 Oct late) */
.o-sbi{width:17cqw;height:auto;fill:currentColor;color:#1f1e1d}
.o-phsb i,.occ-status span{display:none}
.occ-status{display:flex!important;justify-content:space-between!important}
.o-tag{font-size:13px;letter-spacing:.08em}
.o-chk{flex-wrap:wrap}.o-chk span{font-size:14px}
.o-fcard,.o-fctext{min-width:0}.o-fctext b{overflow-wrap:anywhere}
.o-aiw.w0,.o-aiw.w2{opacity:.55!important}.o-aiw.w0 p,.o-aiw.w0 span,.o-aiw.w2 p,.o-aiw.w2 span{visibility:hidden}
/* dashboard row on floor pages: two up, no half slides */
@media (min-width:761px){.o-gal{display:grid;grid-template-columns:1fr 1fr;gap:40px 48px;overflow:visible;max-width:1200px;margin:0 auto;padding:20px 40px 40px;box-sizing:border-box}.o-slide{width:auto}}
/* phone menu: a clean X */
.o-page.menu-open .menu-btn i:nth-of-type(1),.o-page.menu-open .menu-btn i:nth-of-type(2){top:50%!important;left:50%!important;right:auto!important;width:16px;margin:-.8px 0 0 -8px}
.o-page.menu-open .menu-btn i:nth-of-type(1){transform:rotate(45deg)!important}.o-page.menu-open .menu-btn i:nth-of-type(2){transform:rotate(-45deg)!important}
.o-page .wordmark .by{font-size:11px}
/* an office built around you */
.o-owngrid{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center;max-width:1000px!important}
.o-ownchat{margin:0}.o-ownchat .occ{width:290px}
.o-ownfloors{padding:28px;border-radius:20px;background:var(--paper);border:1px solid var(--hair);box-shadow:var(--sh)}
.o-ownk{margin:0 0 14px}
.o-ownfloors ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.o-ownfloors li{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--hair);font-size:15px;font-weight:600}
.o-ownfloors li i{width:8px;height:8px;border-radius:50%;background:var(--blue);flex:none}
.o-ownfloors li small{margin-left:auto;font-size:13px;font-weight:400;color:var(--mute)}
.o-ownfloors li.is-own{border-color:var(--amb);background:rgba(181,96,26,.06)}.o-ownfloors li.is-own i{background:var(--amb)}.o-ownfloors li.is-own small{color:var(--amb);font-weight:600}
.o-ownfloors li.is-add{justify-content:center;border-style:dashed;color:var(--mute);background:none}.o-ownfloors li.is-add b{font-size:18px;font-weight:400}
.o-ways{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px!important}
.o-way{position:relative;height:300px;border-radius:18px;overflow:hidden;box-shadow:var(--sh)}
.o-way img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.o-way > div{position:absolute;left:16px;bottom:16px;right:16px;display:grid;gap:8px;padding:16px 18px;border-radius:14px;background:rgba(251,249,244,.94);backdrop-filter:blur(12px)}
.o-way .o-tag{justify-self:start}.o-way b{font-size:20px;line-height:26px;font-weight:600}
@media (max-width:1100px){
  .o-owngrid{grid-template-columns:1fr;gap:24px;justify-items:center}.o-ownchat .occ{width:min(270px,76vw)}
  .o-ownfloors{padding:18px;width:100%;box-sizing:border-box}.o-ownfloors ul{grid-template-columns:1fr}
  .o-ways{grid-template-columns:1fr;gap:14px;margin-top:32px!important}.o-way{height:240px}.o-way b{font-size:17px;line-height:23px}
}
@media (min-width:761px){.o-gal{row-gap:110px}}.o-hubfloors + .o-dhow,.o-dclose{padding-bottom:90px}

/* ---------- Noor's week on phone, v3: full-bleed story cards (owner: "more high end, easier to follow") ----------
   The photo fills the card. Her chat phone sits in the middle, playing. A glass panel at the bottom carries the
   moment in three lines. The output card is left out on phone (the chat already shows it). */
.o-swipe{display:none}
@media (max-width:1100px){
  .o-swipe{display:block;text-align:center;margin:-16px 0 14px;font-size:13px;font-weight:600;color:var(--mute)}.o-swipe span{display:inline-block;animation:oNudge 1.6s var(--ease) infinite}
  @keyframes oNudge{0%,100%{transform:none}50%{transform:translateX(4px)}}
  .o-deck .o-ch,.o-deck .o-ch.is-flip{position:relative!important;flex:0 0 calc(100vw - 44px)!important;height:min(700px,82vh)!important;border:0!important;border-radius:26px!important;background:#1b1a18!important;box-shadow:0 30px 60px -30px rgba(20,20,23,.55)!important;overflow:hidden!important;display:block!important}
  .o-deck .o-chstage{position:static!important;padding:0!important;height:auto!important;box-shadow:none!important;border-radius:0!important;display:block!important}
  .o-deck .o-chplate{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0}
  .o-deck .o-ch::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(20,20,23,.28),rgba(20,20,23,0) 26%,rgba(20,20,23,0) 58%,rgba(20,20,23,.35));pointer-events:none}
  .o-deck .o-chphone{position:absolute!important;left:50%!important;right:auto!important;top:58px!important;width:212px!important;margin:0 0 0 -106px!important;z-index:2;transform:none!important}
  .o-deck .o-chphone .occ{width:212px!important}
  .o-deck .o-chout{display:none!important}
  .o-deck .o-chtext{position:static!important;padding:0!important}
  .o-deck .o-chk{position:absolute;left:14px;right:14px;top:14px;z-index:3;display:flex;gap:6px;align-items:center}
  .o-deck .o-chk .o-tag{background:rgba(251,249,244,.92);border:0;border-radius:999px;backdrop-filter:blur(10px);padding:6px 10px;font-size:12px}
  .o-deck .o-chk span{font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .o-deck .o-chbody{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;padding:16px 18px 14px;border-radius:20px;background:rgba(251,249,244,.9);backdrop-filter:saturate(1.5) blur(18px);-webkit-backdrop-filter:saturate(1.5) blur(18px);box-shadow:0 10px 30px -14px rgba(20,20,23,.5)}
  .o-deck .o-chbody .o-h3{margin:0;font-size:19px;line-height:24px}
  .o-deck .o-feel{margin:6px 0 0;font-size:14px;line-height:20px;font-style:normal;color:#4a4741}
  .o-deck .o-chbody .o-tap{display:inline-block;margin:10px 8px 0 0;padding:5px 11px;border-radius:999px;background:rgba(181,96,26,.1);font-size:13px}
  .o-deck .o-chbody .o-more{display:inline-block;margin:10px 0 0;font-size:13px}
  .o-deckdots{margin-top:14px!important}
}
.o-chk b,.o-chk i{font-weight:inherit;font-style:normal}
@media (max-width:1100px){
  .o-deck .o-chk .o-tag{color:var(--ink)!important}
  .o-deck .o-chfloor{display:none}
  .o-deck .o-chphone{top:84px!important}
  .o-deck .o-chk{flex-direction:column;align-items:flex-start;gap:6px}
}

/* ---------- the equation, v3: a keynote slide (owner: "an eyesore, make it premium, clear, impactful") ---------- */
.o-power2{padding-top:150px}
.o-eqh{font-size:56px;line-height:62px;max-width:1000px;margin:0 auto}
.o-eq2{display:grid;grid-template-columns:1fr 56px 1fr 56px 1fr;align-items:center;max-width:1160px!important;margin-top:8px!important}
.o-eqt{margin:0;display:grid;gap:18px}
.o-eqvis{position:relative;aspect-ratio:1/1;border-radius:28px;overflow:hidden;background:var(--paper);border:1px solid var(--hair);box-shadow:0 40px 80px -40px rgba(20,20,23,.35),0 2px 6px rgba(20,20,23,.05)}
.o-eqt figcaption{display:grid;gap:4px;text-align:center}.o-eqt figcaption b{font-size:20px;font-weight:600;letter-spacing:-.01em}.o-eqt figcaption span{font-size:16px;color:var(--mute)}
.o-eqop{z-index:2;justify-self:center;margin-top:-56px;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;font-style:normal;font-size:30px;font-weight:300;color:var(--ink);background:rgba(251,249,244,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8);box-shadow:0 14px 30px -14px rgba(20,20,23,.4),0 0 0 1px rgba(20,20,23,.05);margin-left:-28px;margin-right:-28px}
/* tile 1: app icons */
.o-appicons{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;background:radial-gradient(70% 70% at 50% 40%,#fff,var(--paper))}
.o-appi{display:grid;justify-items:center;gap:10px;font-size:13px;font-weight:600;color:#4a4741}
.o-appi svg{width:34px;height:34px;padding:19px;border-radius:22px;background:#fff;fill:var(--ink);box-shadow:0 12px 24px -12px rgba(20,20,23,.35),0 0 0 1px rgba(20,20,23,.06)}
.o-appi:first-child svg{fill:#C2622D}
/* tile 2: the live office fills the tile */
.o-eqt-co1 .o-3dmini{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;border-radius:0!important;box-shadow:none!important;margin:0!important;background:radial-gradient(65% 60% at 50% 55%,#fff,#efe9de)}
.o-eqt-co1 .o-3dmini .hero-scene{inset:-6% -6% 0 -6%}
/* tile 3: her */
.o-eqt-you img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 35%}
.o-eqchip{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:9px 16px;border-radius:999px;background:rgba(251,249,244,.92);backdrop-filter:blur(12px);font-size:15px;font-weight:600;color:var(--amb);box-shadow:0 10px 24px -12px rgba(20,20,23,.5);white-space:nowrap}
@media (max-width:1100px){
  .o-power2{padding-top:90px}
  .o-eqh{font-size:32px!important;line-height:37px!important}
  .o-eq2{grid-template-columns:1fr;gap:0;padding:0 20px!important}
  .o-eqt{grid-template-columns:120px 1fr;align-items:center;gap:16px;padding:10px;border-radius:22px;background:var(--paper);border:1px solid var(--hair)}
  .o-eqt .o-eqvis{border-radius:16px;box-shadow:none}
  .o-eqt figcaption{text-align:left}.o-eqt figcaption b{font-size:17px}.o-eqt figcaption span{font-size:14px}
  .o-eqt-co1{grid-template-columns:1fr;padding:10px 10px 14px}.o-eqt-co1 .o-eqvis{aspect-ratio:16/10}.o-eqt-co1 figcaption{text-align:center}
  .o-appicons{gap:6px;flex-direction:column}.o-appi{grid-auto-flow:column;gap:6px;font-size:0}.o-appi svg{width:16px;height:16px;padding:7px;border-radius:9px}
  .o-eqop{margin:-14px auto;width:44px;height:44px;font-size:22px}
  .o-eqchip{font-size:12px;padding:6px 10px;bottom:8px}
}
/* app icons: a real tile around the mark */
.o-appt{display:grid;place-items:center;width:76px;height:76px;border-radius:22px;background:#fff;box-shadow:0 12px 24px -12px rgba(20,20,23,.35),0 0 0 1px rgba(20,20,23,.06)}
.o-appi .o-appt svg{width:36px!important;height:36px!important;padding:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;fill:var(--ink)}
.o-appi:first-child .o-appt svg{fill:#C2622D}
@media (max-width:1100px){
  .o-appicons{flex-direction:row;gap:8px}.o-appi{font-size:0;gap:0}.o-appt{width:30px;height:30px;border-radius:9px}.o-appi .o-appt svg{width:16px!important;height:16px!important}
  .o-appicons{flex-wrap:wrap;align-content:center;padding:8px}
  /* hero: the phone ends before the AI row */
  .o-hero .o-hstage{margin-bottom:400px!important}
  .o-hmarks{padding-top:8px}
}
/* equation v4: no repeat; bigger AI icons in a 2×2 grid; captions on one baseline */
.o-appicons{display:grid!important;grid-template-columns:repeat(2,auto);gap:22px 30px!important;place-content:center}
.o-appt{width:104px;height:104px;border-radius:28px}
.o-appi .o-appt svg{width:52px!important;height:52px!important}
.o-appi{font-size:14px!important;gap:10px!important}
.o-appi.is-more .o-appt{font-size:44px;font-weight:300;color:var(--mute);background:none;box-shadow:inset 0 0 0 1.5px var(--hair)}
.o-eqt figcaption{min-height:56px;align-content:start}
.o-eqh{font-size:60px}
@media (max-width:1100px){
  .o-appicons{gap:6px!important;grid-template-columns:repeat(2,auto)}.o-appi small{display:none}
  .o-appt{width:44px;height:44px;border-radius:13px}.o-appi .o-appt svg{width:24px!important;height:24px!important}
  .o-appi.is-more .o-appt{font-size:22px}
  .o-eqt{grid-template-columns:120px 1fr}.o-eqt figcaption{min-height:0}
}
@media (max-width:1100px){.o-eqt-co1{grid-template-columns:120px 1fr!important;padding:10px!important}.o-eqt-co1 .o-eqvis{aspect-ratio:1/1!important}.o-eqt-co1 figcaption{text-align:left!important}.o-eqt-co1 .o-3dmini .hero-scene{inset:-20% -30% -10% -30%}.o-eqchip{font-size:11px;padding:5px 9px}}

/* ---------- 23 Oct: hero chips, equation tile, "built around you" story card, more real phones ---------- */
.o-mkany{border-style:dashed!important;color:var(--mute)!important;background:none!important}.o-mkany::before{display:none!important}
.o-eqt-co1 .o-eqvis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.o-eqmark{position:absolute;left:50%;top:18px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(251,249,244,.92);backdrop-filter:blur(12px);font-size:14px;white-space:nowrap;box-shadow:0 10px 24px -12px rgba(20,20,23,.45)}.o-eqmark b{font-weight:600}
/* built around you: one story card */
.o-owngrid{display:none}
.o-owncard{position:relative;height:660px;border-radius:30px;overflow:hidden;background:#1b1a18;box-shadow:0 40px 90px -40px rgba(20,20,23,.5)}
.o-ownplate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.o-owncard::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,23,.15),rgba(20,20,23,0) 45%,rgba(20,20,23,.12));pointer-events:none}
.o-owncard .o-ownk{position:absolute;left:24px;top:22px;z-index:3;margin:0}.o-owncard .o-ownk .o-tag{border:0;border-radius:999px;background:rgba(251,249,244,.92);backdrop-filter:blur(10px)}
.o-ownphone{position:absolute;left:12%;top:60px;z-index:2}.o-ownphone .occ{width:270px}
.o-owncard .o-ownfloors{position:absolute;right:6%;top:50%;transform:translateY(-50%);z-index:2;width:380px;padding:24px;border-radius:24px;background:rgba(251,249,244,.86);backdrop-filter:saturate(1.5) blur(20px);-webkit-backdrop-filter:saturate(1.5) blur(20px);border:1px solid rgba(255,255,255,.6);box-shadow:0 30px 60px -30px rgba(20,20,23,.5)}
.o-ownt{margin:0 0 14px;font-size:20px;font-weight:600;letter-spacing:-.01em}
.o-owncard .o-ownfloors ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.o-owncard .o-ownfloors li{padding:9px 14px;border-radius:999px;background:#fff;border:1px solid var(--hair);font-size:14px;font-weight:600;display:inline-flex;gap:8px;align-items:center}
.o-owncard .o-ownfloors li small{font-size:12px;font-weight:600;color:var(--amb)}
.o-owncard .o-ownfloors li.is-own{border-color:var(--amb);background:rgba(181,96,26,.08)}
.o-owncard .o-ownfloors li.is-add{background:none;border-style:dashed;color:var(--mute)}
/* phones: deeper, more real (black frame, thin metal edge, screen glare) */
.occ,.o-ph{background:#0d0d0f!important;box-shadow:inset 0 0 0 1.5px #3a3a3e,inset 0 0 0 3px #0d0d0f,0 0 0 1px rgba(255,255,255,.08),0 50px 90px -40px rgba(20,20,23,.55),0 8px 16px -8px rgba(20,20,23,.25)!important}
.occ-screen,.o-phs{border-width:2.2cqw!important;border-color:#000!important}
.occ-screen::after,.o-phs::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 32%)}
.occ-screen{position:relative}
@media (max-width:1100px){
  .o-owncard{height:auto;padding:70px 12px 12px;display:flex;flex-direction:column;align-items:center;gap:0}
  .o-ownphone{position:relative;left:auto;top:auto;margin-bottom:-120px}.o-ownphone .occ{width:min(240px,66vw)}
  .o-owncard .o-ownfloors{position:relative;right:auto;top:auto;transform:none;width:100%;box-sizing:border-box;padding:18px}
  .o-owncard .o-ownfloors li{font-size:13px;padding:7px 11px}
  .o-eqmark{font-size:10px;padding:4px 8px;top:8px;gap:4px}.o-eqmark svg{width:14px;height:14px}
}
/* the live office: dark, cinematic, as on the live site */
.o-liveafter{margin-top:56px}
.o-live{position:relative;height:640px;border-radius:30px;overflow:hidden;background:radial-gradient(70% 70% at 50% 45%,#22202a,#0c0c0e);box-shadow:0 50px 100px -50px rgba(20,20,23,.7)}
.o-live .hero-scene{position:absolute;inset:0}.o-live .hero-scene canvas{width:100%;height:100%;opacity:1!important;display:block}
.o-live .lbl{color:rgba(246,242,234,.86)!important;text-shadow:0 1px 8px rgba(0,0,0,.6)!important}
.o-live .lbl span{color:#f2a65a!important}
.o-live .o-3d-still{display:none}
.o-live.no-webgl .o-3d-still{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.o-livecap{position:absolute;left:22px;top:20px;z-index:3;margin:0}.o-livecap .o-tag{border:0;border-radius:999px;background:rgba(246,242,234,.12);color:#f6f2ea;backdrop-filter:blur(10px)}
.o-livebar{position:absolute;left:0;right:0;bottom:22px;z-index:3;display:flex;justify-content:center}
.o-hub .o-dsplit2{grid-template-columns:1fr}.o-hub .o-dtext{text-align:center;max-width:1100px;margin:0 auto}.o-hub .o-dh1,.o-hub .o-dsub{text-align:center;margin-left:auto;margin-right:auto}.o-hub .o-fk{justify-content:center}
@media (max-width:1100px){.o-live{height:440px;border-radius:22px}.o-liveafter{margin-top:32px}.o-livebar{bottom:14px}.o-live .yes-panel{font-size:12px;padding:6px 6px 6px 12px}.o-live .yes-panel button{min-height:30px;padding:0 12px;font-size:13px}}
/* the live office floats on the page (owner: "not a card, let it float") */
.o-live{background:none!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;height:620px}
.o-live .lbl{color:var(--ink)!important;text-shadow:0 1px 6px rgba(246,242,234,.9)!important}
.o-live .lbl span{color:var(--amb)!important}
.o-live .bub{background:rgba(251,249,244,.95)!important;color:var(--ink)!important;border-color:var(--hair)!important;box-shadow:0 12px 26px -14px rgba(20,20,23,.4)!important}
.o-live .bub.yes{background:#fff!important}.o-live .bub.ok{background:var(--amb)!important;color:#fff!important}
.o-livecap .o-tag{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--hair)!important}
.o-livecap{left:50%;transform:translateX(-50%);top:0}
.o-live .yes-panel{background:rgba(251,249,244,.86)!important;color:#4a4741!important;border:1px solid var(--hair)!important;box-shadow:0 14px 30px -16px rgba(20,20,23,.4)}
.o-live .yes-panel b{color:var(--amb)!important}.o-live .yes-panel button{background:var(--amb)!important;color:#fff!important}
@media (max-width:1100px){.o-live{height:420px}}
/* frame the island in the middle; labels as quiet paper pills */
.o-live{height:560px}
.o-live .hero-scene{inset:70px 0 -150px 0!important}
.o-live .lbl{background:none!important}
.o-live .lbl b{display:inline-block;padding:5px 10px;border-radius:999px;background:rgba(251,249,244,.94)!important;color:var(--ink)!important;border:1px solid var(--hair);font-size:12px;box-shadow:0 8px 18px -12px rgba(20,20,23,.4)}
.o-live .lbl.you b{color:var(--amb)!important}
.o-livebar{bottom:0}
@media (max-width:1100px){.o-live{height:380px}.o-live .hero-scene{inset:40px -20px -110px -20px!important}.o-live .lbl b{font-size:10px;padding:3px 7px}}

/* ---------- eyebrows v2 (owner: "the boxed eyebrows don't look good"): a soft label with a small dot ---------- */
.o-tag{display:inline-flex!important;align-items:center;gap:8px;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;font:600 14px/1.3 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:#6f6a62!important}
.o-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amb);flex:none}
/* on photos and dark films: a frosted pill, still sentence case */
.o-way .o-tag,.o-filmcap .o-tag,.o-excap .o-tag,.o-deck .o-chk .o-tag,.o-ownk .o-tag,.o-livecap .o-tag,.o-dmcap .o-tag,.o-ntext .o-tag{padding:6px 12px 6px 10px!important;border-radius:999px!important;background:rgba(251,249,244,.92)!important;backdrop-filter:blur(10px)!important;color:var(--ink)!important;box-shadow:0 6px 16px -10px rgba(20,20,23,.45)!important;font-size:13px!important}
/* the card text under a label: a touch more room */
.o-way > div{gap:10px}.o-way b{font-size:21px;line-height:27px}
.o-gain > div .o-tag{margin-bottom:2px}
/* quiet labels that are not eyebrows */
.o-eqt figcaption .o-tag,.o-ask figcaption .o-tag{font-weight:600!important;color:var(--mute)!important}
.o-ask figcaption .o-tag::before{background:var(--blue)}
.o-fk .o-tag::before{display:none}
.o-way > div .o-tag{padding:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;color:#6f6a62!important;font-size:14px!important}
/* let's build your office: glass over the photo */
.o-levels2{padding-top:140px}
.o-lvstage{position:relative;max-width:1360px;margin:0 auto;border-radius:32px;overflow:hidden;box-shadow:0 50px 100px -50px rgba(20,20,23,.5)}
@media (min-width:761px){.o-lvstage{margin:0 40px}}
@media (min-width:1441px){.o-lvstage{margin:0 auto}}
.o-lvimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.o-lvstage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,23,.05),rgba(20,20,23,.25))}
.o-lvin{position:relative;z-index:2;padding:110px 48px 56px;display:grid;gap:36px;justify-items:center}
.o-lvhead2{text-align:center;padding:26px 34px;border-radius:24px;background:rgba(251,249,244,.86);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);box-shadow:0 20px 40px -24px rgba(20,20,23,.45)}
.o-lvhead2 .o-h2{margin:0}.o-lvhead2 .o-p{margin-top:10px}
.o-levels2 .o-lvgrid{width:100%;max-width:1120px}
.o-levels2 .o-lv{background:rgba(251,249,244,.9)!important;backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);border:1px solid rgba(255,255,255,.6)!important;box-shadow:0 24px 48px -28px rgba(20,20,23,.5)}
.o-levels2 .o-lv.is-full{border-color:var(--amb)!important}
.o-lvmore{margin:0}.o-lvmore a{display:inline-block;padding:10px 18px;border-radius:999px;background:rgba(251,249,244,.9);backdrop-filter:blur(12px);color:var(--ink);font-weight:600;font-size:15px;text-decoration:none}
@media (max-width:1100px){
  .o-levels2{padding-top:90px}.o-lvstage{border-radius:0;box-shadow:none}
  .o-lvin{padding:60px 0 32px;gap:22px}.o-lvhead2{margin:0 16px;padding:20px}
  .o-levels2 .o-lvgrid{padding:0 16px 8px}
}

/* ---------- product viewer (floor pages + software) ---------- */
.o-vw{display:grid;gap:26px;justify-items:center}
.o-vwstage{position:relative;width:100%;max-width:1120px;height:640px;border-radius:32px;overflow:hidden;box-shadow:0 50px 100px -50px rgba(20,20,23,.45)}
.o-vwplate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.o-vwstage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(246,242,234,.15),rgba(246,242,234,.35));pointer-events:none}
.o-vwslide{position:absolute;inset:0;z-index:2;opacity:0;transform:translateY(14px) scale(.985);transition:opacity .6s var(--ease),transform .7s var(--ease);pointer-events:none}
.o-vwslide.on{opacity:1;transform:none}
.o-vwbr{position:absolute!important;left:7%;top:56px;width:76%}
.o-vwbr img{height:auto}
.o-vwph{position:absolute!important;right:6%;bottom:-70px;width:230px}
.o-vwtabs{display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--paper);border:1px solid var(--hair);box-shadow:0 12px 30px -20px rgba(20,20,23,.35);max-width:100%;overflow-x:auto;scrollbar-width:none}
.o-vwtabs::-webkit-scrollbar{display:none}
.o-vwtabs button{flex:none;border:0;background:none;padding:10px 16px;border-radius:999px;font:600 14px/1 var(--sans);color:#5c5852;cursor:pointer;white-space:nowrap;transition:background .3s,color .3s}
.o-vwtabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.o-vwcaps{position:relative;width:100%;max-width:1100px;min-height:120px;text-align:center}
.o-vwcap{position:absolute;inset:0 0 auto;opacity:0;transition:opacity .5s;pointer-events:none;display:grid;gap:8px;justify-items:center}
.o-vwcap.on{opacity:1;position:relative;pointer-events:auto}
.o-vwcap b{font-size:24px;line-height:30px;font-weight:600;letter-spacing:-.015em}.o-vwcap span{font-size:17px;line-height:26px;color:#5c5852;max-width:620px}
.o-vwcap ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.o-vwcap li{padding:7px 13px;border-radius:999px;background:var(--paper);border:1px solid var(--hair);font-size:14px;color:#3b3934}
.o-dapp .o-head .o-p{margin-top:12px}
@media (max-width:1100px){
  .o-vw{gap:18px}
  .o-vwstage{height:520px;border-radius:24px}
  .o-vwbr{display:none!important}
  .o-vwph{right:auto;left:50%;bottom:-110px;width:240px;margin-left:-120px}
  .o-vwtabs{border-radius:999px;justify-content:flex-start;width:100%;box-sizing:border-box}
  .o-vwtabs button{padding:9px 13px;font-size:13px}
  .o-vwcap b{font-size:20px;line-height:26px}.o-vwcap span{font-size:15px;line-height:22px}.o-vwcap li{font-size:13px}
}

/* ---------- visual parity (owner: "too many dots"): labels are plain, dots only mean "live" ---------- */
.o-tag::before{display:none!important;content:none!important}
.o-tag{color:#77726a!important}
/* brand names inside a stack row read as small chips, not labels */
.h-layers .o-tag{padding:4px 10px!important;border-radius:999px!important;background:#fff!important;border:1px solid var(--hair)!important;font-size:12px!important;color:var(--ink)!important}
/* media library: any format, every channel */
.o-fmtgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;align-items:end}
.o-fmt{margin:0;display:grid;gap:10px;justify-items:center}
.o-fmt img{width:100%;border-radius:14px;object-fit:cover;box-shadow:0 20px 40px -24px rgba(20,20,23,.45);background:#141417}
.o-fmt.is-film img{aspect-ratio:16/10}.o-fmt.is-short img{aspect-ratio:9/16}.o-fmt.is-car img{aspect-ratio:4/5;object-fit:contain}
.o-fmt.is-page img{aspect-ratio:3/4;object-position:top;background:#fff}.o-fmt.is-pdf img{aspect-ratio:3/4}.o-fmt.is-app img{aspect-ratio:9/17;object-position:top;background:#fff}
.o-fmt figcaption{font-size:14px;font-weight:600;color:#4a4741}
.o-flow{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:48px!important}
.o-flow li{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--hair);font-size:15px;font-weight:600}
.o-flow em{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-size:13px}
.o-flow li:nth-child(3) em{background:var(--amb)}
.o-whygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.o-whygrid article{padding:28px;border-radius:20px;background:var(--paper);border:1px solid var(--hair);display:grid;gap:8px;align-content:start}
.o-whygrid b{font-size:21px;line-height:27px;font-weight:600}.o-whygrid span{font-size:16px;line-height:24px;color:#5c5852}
@media (max-width:1100px){
  .o-fmtgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 20px 8px;align-items:end;scrollbar-width:none}
  .o-fmt{flex:0 0 42vw;scroll-snap-align:center}.o-fmt.is-film{flex-basis:70vw}
  .o-flow{flex-direction:column;align-items:stretch;padding:0 20px;margin-top:28px!important}
  .o-whygrid{grid-template-columns:1fr;gap:12px}.o-whygrid article{padding:22px}
}
/* software: chat first, dashboard optional */
.o-optchip{position:absolute;left:14px;top:44px;z-index:3;padding:7px 13px;border-radius:999px;background:rgba(251,249,244,.94);backdrop-filter:blur(10px);font-size:13px;font-weight:600;color:#4a4741;box-shadow:0 8px 20px -12px rgba(20,20,23,.45)}
.o-swchat{width:270px!important;top:120px!important}.o-swchat .occ{width:270px}
.o-chatfirst{padding-top:80px}
.o-cfrow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.o-cfrow p{margin:0;display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:2px;align-items:center;padding:20px 22px;border-radius:20px;background:var(--paper);border:1px solid var(--hair)}
.o-cfrow em{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-weight:600}
.o-cfrow p:last-child em{background:none;color:var(--ink);border:1.5px dashed var(--hair)}
.o-cfrow b{font-size:18px;font-weight:600}.o-cfrow span{font-size:15px;color:#6f6a62}
/* viewer tabs: easy to find on a phone */
.o-vwhint{display:none}
@media (max-width:1100px){
  .o-cfrow{grid-template-columns:1fr;gap:10px;padding:0 20px}
  .o-swchat{width:auto!important}.o-swchat .occ{width:min(250px,70vw)}
  .o-optchip{display:none}
  .o-vw{display:flex;flex-direction:column;align-items:stretch}
  .o-vwhint{display:block;order:-2;margin:0 0 -6px;text-align:center;font-size:13px;font-weight:600;color:var(--mute)}.o-vwhint span{display:inline-block;animation:oNudge 1.6s var(--ease) infinite}
  .o-vwtabs{order:-1;position:sticky;top:76px;z-index:20;margin:0 16px;width:auto!important;padding:6px;background:rgba(251,249,244,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 14px 30px -18px rgba(20,20,23,.45);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .o-vwtabs button{padding:11px 15px;font-size:14px}
  .o-vwstage{margin:0 16px;width:auto!important}
  .o-vwcaps{padding:0 20px;box-sizing:border-box}
}
.o-accs2 p b{font-weight:600;font-size:14px}.o-accs2{width:250px}
.h-layers p.is-ai small::after,.h-layers .is-ai small::after,.h-layers p.is-ai::before{display:none!important}

/* ---------- phones on mobile: one size, always whole (owner: "mis-sized") ---------- */
@media (max-width:1100px){
  .o-hero .o-hphone,.o-hero .o-hphone .occ,
  .o-ownphone .occ,.o-ask .occ,.o-dh2 .o-chphone,.o-dh2 .o-chphone .occ,.o-swchat .occ,.o-vwph,.occ.h-occ{width:236px!important}
  .o-hero .o-hphone{margin-left:-118px!important}
  .o-ask{flex-basis:auto!important}.o-asks{padding-left:calc(50vw - 118px)!important;padding-right:calc(50vw - 118px)!important;gap:20px!important}
  /* floor heroes + software: the phone sits whole on its photo, with air below */
  .o-dh2 .o-chstage,.o-dstage{padding:28px 0!important;overflow:hidden}
  .o-dh2 .o-chphone,.o-ffront:has(.o-ph),.o-bfront:has(.o-ph),.o-bfront:has(.occ),.o-hwphone,.o-swchat{transform:none!important;align-self:center!important}
  .o-swchat{position:relative!important;top:auto!important;margin:0 auto!important}
  .o-dh2 .o-chphone{margin:0 auto!important}
  .o-dh2 .o-chout{display:none!important}
  .o-fstage .o-ph,.o-bstage .o-ph{width:236px!important}
  /* built around you: phone whole, floors panel below it */
  .o-ownphone{margin-bottom:16px!important}
  /* Noor's week cards keep their smaller phone, centred */
  .o-deck .o-chphone,.o-deck .o-chphone .occ{width:212px!important}
}
/* the app inside the chat: a mini zoom onto what matters, then it slides away */
.occ-shimg img{transform-origin:50% 8%;transition:transform 1.6s var(--ease)}
.occ-sheet.open .occ-shimg img{transform:scale(1.22)}
.occ-toast{top:auto!important;bottom:24cqw;transform:translate(-50%,8px)}
.occ-sheet.ok .occ-toast{transform:translate(-50%,0)}
@media (max-width:1100px){
  .o-dh2 .o-chstage{align-self:stretch!important;width:auto!important;display:flex!important;justify-content:center}
  .o-dh2 .o-chplate{inset:0!important;width:100%!important;height:100%!important}
}
.occ-input em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62%}.occ-input div{min-width:0}

/* ---------- tablets (761–1100): the phone story layout, scaled up and centred ---------- */
@media (min-width:761px) and (max-width:1100px){
  .o-wrap{padding:0 40px}
  .o-hcopy,.o-head,.o-dtext,.o-chtext{max-width:640px;margin-left:auto;margin-right:auto}
  .o-hcopy .o-h1{font-size:52px!important;line-height:56px!important}
  .o-h2{font-size:48px;line-height:52px}
  .o-hero .o-hstage{height:480px!important;margin-bottom:440px!important}
  .o-deck .o-ch,.o-deck .o-ch.is-flip{flex-basis:min(560px,calc(100vw - 120px))!important;height:min(780px,78vh)!important}
  .o-deck{padding-left:60px!important;padding-right:60px!important}
  .o-gain{flex-basis:340px!important}.o-shcard{flex-basis:420px!important}.o-lv{flex-basis:340px!important}.o-ask{flex-basis:auto!important}
  .o-fmt{flex-basis:220px!important}.o-fmt.is-film{flex-basis:380px!important}.o-daystrip .o-dm{flex-basis:300px!important}
  .o-gaingrid,.o-shelf,.o-lvgrid,.o-fmtgrid,.o-daystrip,.o-exgrid{padding-left:40px!important;padding-right:40px!important}
  .o-ex{flex-basis:420px!important}
  .o-owncard,.o-dh2,.o-lvstage,.o-vwstage,.o-cstage,.o-ways,.o-two,.o-keep,.o-dcl,.o-whygrid,.o-cfrow,.o-cmp{max-width:720px;margin-left:auto!important;margin-right:auto!important}
  .o-vwstage{height:640px}.o-vwtabs{max-width:720px;margin:0 auto!important}
  .o-dh2 .o-chstage{min-height:600px}
  .o-gal,.o-fgrid{max-width:720px;margin:0 auto}
  .o-fgrid{grid-template-columns:1fr 1fr!important}
}

/* ---------- phones a touch wider everywhere (owner: "make the phones a bit wider") ---------- */
.occ{width:320px}
.o-hero .o-hphone .occ{width:320px}
@media (max-width:1100px){
  .o-hero .o-hphone,.o-hero .o-hphone .occ,.o-ownphone .occ,.o-ask .occ,.o-dh2 .o-chphone,.o-dh2 .o-chphone .occ,.o-swchat .occ,.o-vwph,.o-fstage .o-ph,.o-bstage .o-ph{width:min(272px,72vw)!important}
  .o-hero .o-hphone{margin-left:calc(min(272px,72vw) / -2)!important}
  .o-asks{padding-left:calc(50vw - 136px)!important;padding-right:calc(50vw - 136px)!important}
  .o-deck .o-chphone,.o-deck .o-chphone .occ{width:min(244px,64vw)!important}
  .o-deck .o-chphone{margin-left:calc(min(244px,64vw) / -2)!important}
  .o-vwph{margin-left:calc(min(272px,72vw) / -2)!important}
}
@media (min-width:761px) and (max-width:1100px){
  .o-hero .o-hphone,.o-hero .o-hphone .occ,.o-ownphone .occ,.o-ask .occ,.o-dh2 .o-chphone,.o-dh2 .o-chphone .occ,.o-swchat .occ,.o-vwph{width:300px!important}
  .o-hero .o-hphone,.o-vwph{margin-left:-150px!important}
  .o-deck .o-chphone,.o-deck .o-chphone .occ{width:270px!important}.o-deck .o-chphone{margin-left:-135px!important}
}
@media (min-width:761px) and (max-width:1100px){
  .o-vwstage{width:100%!important;max-width:720px;align-self:center}
  .o-dh2 .o-dh1,.o-dtext .o-dh1{font-size:48px!important;line-height:52px!important}
  .o-dh2 .o-dsub{font-size:19px!important;line-height:28px!important}
}
@media (min-width:761px) and (max-width:1100px){.o-h1,.o-dh1{font-size:48px!important;line-height:52px!important}}
.occ-shimg img{transform-origin:4% 6%}
.occ-sheet.open .occ-shimg img{transform:scale(1.16)}
@media (max-width:1100px){.o-dstage:has(.o-swchat){height:auto!important;aspect-ratio:auto!important;overflow:hidden;padding:28px 0!important;display:flex!important;justify-content:center}.o-dstage:has(.o-swchat) .o-fplate{position:absolute!important;inset:0!important;height:100%!important}}
/* viewer tabs on wide screens: every tab visible, wrapped and centred */
@media (min-width:1101px){
  .o-vwtabs{flex-wrap:wrap;justify-content:center;overflow:visible;border-radius:26px;max-width:1120px}
}
@media (min-width:1101px){.o-page .dept-tabs .wrap{flex-wrap:wrap;justify-content:center;overflow:visible;border-radius:26px}}

/* ---------- the menu on wide screens: every page, one tap away, in a glass panel ---------- */
@media (min-width:1101px){
  .o-page .menu-btn{display:inline-block!important;width:42px;height:42px;border:0;border-radius:999px;background:rgba(20,20,23,.05);margin-left:4px}
  .o-page .menu-btn i{left:12px;right:12px}.o-page .menu-btn i:nth-of-type(1){top:17px}.o-page .menu-btn i:nth-of-type(2){top:23px}
  .o-page.menu-open .menu-btn i:nth-of-type(1),.o-page.menu-open .menu-btn i:nth-of-type(2){top:50%!important;left:50%!important;right:auto!important;width:16px;margin:-.8px 0 0 -8px}
  .o-page .site-menu{position:fixed;inset:auto;top:82px;right:max(12px,calc((100% - 1180px)/2));width:620px;max-height:calc(100vh - 110px);padding:18px;border-radius:24px;background:rgba(251,249,244,.9);backdrop-filter:saturate(1.6) blur(22px);-webkit-backdrop-filter:saturate(1.6) blur(22px);border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 60px -30px rgba(20,20,23,.45),0 0 0 1px rgba(20,20,23,.05)}
  .o-page .site-menu ul{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 14px}
  .o-page .site-menu li{border:0}
  .o-page .site-menu a:not(.btn){padding:12px 14px;border-radius:14px;transition:background .2s}
  .o-page .site-menu a:not(.btn):hover{background:#fff}
  .o-page .site-menu a b{font-size:16px;letter-spacing:-.01em}.o-page .site-menu a span{font-size:13px}
  .o-page .site-menu .btn{border-radius:999px;background:var(--amb)}
}
.o-page .site-menu-theme{display:none}
.o-page .site-menu a[aria-current="page"] b{color:var(--amb)}
@media (max-width:1100px){.o-page .site-menu{background:var(--iv)}}
/* departments overview: why it matters */
.o-why3{grid-template-columns:repeat(3,1fr)!important}
.o-flow2{margin-top:0!important}
.o-smarter{display:flex;align-items:center;gap:28px;max-width:860px!important;margin-top:44px!important;padding:26px 30px!important;border-radius:22px;background:var(--paper);border:1px solid var(--hair)}
.o-smicons{display:flex;gap:8px;flex:none}.o-smarter b{display:block;font-size:20px;font-weight:600}.o-smarter span{font-size:16px;line-height:24px;color:#5c5852}
.o-hub .o-dtext{text-align:center}.o-hub .o-dh1{margin-top:14px}
@media (max-width:1100px){.o-why3{grid-template-columns:none!important}.o-smarter{flex-direction:column;align-items:flex-start;margin:28px 20px 0!important;padding:20px!important}.o-smicons{flex-wrap:wrap}}
/* your building + your AI on phone/tablet: photo band, then the parts as a tidy grid; one AI card */
@media (max-width:1100px){
  .o-twostage{height:auto!important;display:block;padding:0 0 14px;background:var(--paper)}
  .o-twostage .o-twoplate{position:static!important;width:100%;height:auto!important;aspect-ratio:16/9;object-fit:cover}
  .o-accs2{position:static!important;width:auto!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;padding:14px 14px 0;margin:0!important}
  .o-accs2 p{padding:10px 12px;font-size:14px;box-shadow:none}.o-accs2 p b{font-size:13px}.o-accs2 span{font-size:11px}
  .o-aistage{padding:22px 16px!important;display:grid!important;place-items:center}
  .o-aiw{position:relative!important;transform:none!important;opacity:1!important;width:100%!important;max-width:320px;box-sizing:border-box}
  .o-aiw.w0,.o-aiw.w2{display:none!important}
}
@media (max-width:1100px){.o-accs2 p{flex-direction:column;align-items:flex-start;gap:3px}}
/* software: capability grid */
.o-capgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.o-cap{display:grid;grid-template-rows:auto 1fr;border-radius:20px;overflow:hidden;background:var(--paper);border:1px solid var(--hair);text-decoration:none;color:var(--ink);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.o-cap:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.o-capvis{display:block;height:200px;overflow:hidden;background:linear-gradient(180deg,#efe9de,#f6f2ea);padding:18px 26px 0}
.o-capvis img{display:block;width:100%;border-radius:18px 18px 0 0;box-shadow:0 0 0 6px #141417,0 20px 30px -16px rgba(20,20,23,.45);margin-top:6px}
.o-captext{display:grid;gap:4px;padding:16px 18px 18px}.o-captext small{font-size:13px;color:var(--mute);font-weight:600}.o-captext b{font-size:16px;line-height:22px;font-weight:600}
/* your accounts, your client data */
.o-keysin{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;max-width:1100px!important}
.o-keysin img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px;box-shadow:var(--sh)}
.o-keysin ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}.o-keysin li{padding:13px 16px;border-radius:14px;background:var(--paper);border:1px solid var(--hair);font-size:16px;font-weight:600}
@media (max-width:1100px){
  .o-capgrid{grid-template-columns:1fr 1fr;gap:12px}.o-capvis{height:150px;padding:14px 18px 0}.o-captext{padding:12px 14px 14px}.o-captext b{font-size:14px;line-height:19px}
  .o-keysin{grid-template-columns:1fr;gap:24px}.o-keysin img{aspect-ratio:16/10}
}
/* capability groups: icon rows, no repeated screenshots */
.o-capgroups{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.o-capg{padding:22px;border-radius:24px;background:var(--paper);border:1px solid var(--hair)}
.o-capgt{margin:0 0 12px 6px;font-size:14px;font-weight:600;color:var(--mute)}
.o-capgl{display:grid;gap:6px}
.o-cap2{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid transparent;text-decoration:none;color:var(--ink);transition:border-color .25s,transform .25s}
.o-cap2:hover{border-color:var(--hair);transform:translateX(3px)}
.o-cap2 .ico{flex:none;width:44px;height:44px;border-radius:13px;background:var(--iv);display:grid;place-items:center}
.o-cap2 span{display:grid;gap:2px;min-width:0}.o-cap2 b{font-size:16px;font-weight:600}.o-cap2 small{font-size:14px;color:#6f6a62;line-height:19px}
.o-cap2 i{margin-left:auto;font-style:normal;color:var(--mute)}
@media (max-width:1100px){.o-capgroups{grid-template-columns:1fr;gap:12px}.o-capg{padding:16px}}
/* header: you always know where you are */
.o-page .nav-link[aria-current="page"]{color:var(--ink)!important;font-weight:600;background:#fff;padding:8px 14px;border-radius:999px;box-shadow:0 0 0 1px var(--hair)}
/* the live office, landscape: wide stage, island centred, labels only; floating notes off on small screens */
.o-live{height:min(560px,46vw)!important;max-width:1200px;margin:0 auto}
.o-live .hero-scene{inset:0!important}
.o-livebar{bottom:12px}
@media (max-width:1100px){
  .o-live{height:auto!important;aspect-ratio:4/3;margin:0 -20px!important}
  .o-live .bub{display:none!important}
  .o-live .lbl b{font-size:10px!important;padding:3px 7px!important}
}
.o-live{overflow:hidden!important;padding-bottom:0}
.o-live .hero-scene{bottom:64px!important}
.o-livebar{bottom:6px!important}
@media (max-width:1100px){.o-live{aspect-ratio:4/3.6}.o-live .hero-scene{bottom:58px!important}}
@media (max-width:1100px){.o-live{aspect-ratio:1/0.92!important}}
@media (max-width:1100px){.o-live .hero-scene{bottom:84px!important}.o-live{aspect-ratio:1/0.98!important}}

/* ---------- software explorer: grouped tools left, real screens right ---------- */
.o-xp{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:start}
.o-xplist{position:sticky;top:96px;display:flex!important;flex-direction:column;align-items:stretch;gap:2px;padding:10px!important;border-radius:24px!important;background:var(--paper)!important;border:1px solid var(--hair);box-shadow:none!important;overflow:visible!important;max-width:none!important;flex-wrap:nowrap!important;mask-image:none!important;-webkit-mask-image:none!important}
.o-xpg{margin:12px 12px 4px;font-size:13px;font-weight:600;color:var(--mute)}.o-xpg:first-child{margin-top:4px}
.o-xplist button{position:relative;display:flex!important;align-items:center;gap:12px;text-align:left;padding:10px 12px!important;border-radius:16px!important;background:none;color:var(--ink)!important;white-space:normal!important;overflow:hidden}
.o-xplist button .ico{flex:none;width:36px;height:36px;border-radius:11px;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 1px var(--hair)}
.o-xplist button span{display:grid;gap:1px;min-width:0}.o-xplist button b{font-size:15px;font-weight:600}
.o-xplist button small{font-size:13px;line-height:18px;color:#6f6a62;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s var(--ease),opacity .3s}
.o-xplist button[aria-selected="true"]{background:#fff!important;box-shadow:0 10px 24px -16px rgba(20,20,23,.35),0 0 0 1px var(--hair)}
.o-xplist button[aria-selected="true"] small{max-height:40px;opacity:1}
.o-xplist button[aria-selected="true"] .ico{background:var(--ink);box-shadow:none;filter:none}.o-xplist button[aria-selected="true"] .ico::before{filter:invert(1)}
.o-xpbar{position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:transparent;overflow:hidden}
.o-xp:not(.is-touched) .o-xplist button[aria-selected="true"] .o-xpbar::after{content:"";position:absolute;inset:0;background:var(--amb);transform-origin:left;animation:xpFill 4.5s linear both}
@keyframes xpFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.o-xpstage{height:680px!important;max-width:none!important}
.o-xpstage .o-vwbr{top:44px;left:6%;width:80%}
.o-xpcap{position:absolute;left:24px;bottom:24px;z-index:4;margin:0;max-width:56%;display:grid;gap:4px;padding:16px 18px;border-radius:18px;background:rgba(251,249,244,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 14px 30px -18px rgba(20,20,23,.45)}
.o-xpcap b{font-size:18px;line-height:24px;font-weight:600}.o-xpcap span{font-size:14px;line-height:20px;color:#5c5852}
@media (max-width:1100px){
  .o-xp{grid-template-columns:1fr;gap:16px}
  .o-xplist{position:sticky;top:76px;z-index:20;flex-direction:row!important;overflow-x:auto!important;padding:6px!important;border-radius:999px!important;background:rgba(251,249,244,.92)!important;backdrop-filter:blur(16px);margin:0 -4px}
  .o-xpg{display:none}
  .o-xplist button{flex:none!important;padding:8px 14px 8px 8px!important;border-radius:999px!important}
  .o-xplist button .ico{width:30px;height:30px;border-radius:999px}
  .o-xplist button small{display:none}
  .o-xpbar{left:16px;right:16px;bottom:2px}
  .o-xpstage{height:560px!important;margin:0!important}
  .o-xpcap{left:12px;right:12px;bottom:12px;max-width:none}
}
.o-xplist button[aria-selected="true"] .ico{background:rgba(181,96,26,.12)!important;box-shadow:0 0 0 1px rgba(181,96,26,.35)!important}
.o-xplist button[aria-selected="true"] .ico::before{filter:none!important}
/* the building directory: seven floors, top to bottom */
.o-dir{list-style:none;max-width:1100px!important;display:grid;gap:8px}
.o-dir a{display:grid;grid-template-columns:56px 84px 1fr 240px 120px;align-items:center;gap:20px;padding:12px 18px 12px 12px;border-radius:20px;background:var(--paper);border:1px solid var(--hair);text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s}
.o-dir a:hover{background:#fff;transform:translateX(4px);box-shadow:0 14px 30px -20px rgba(20,20,23,.35)}
.o-dirn{font-style:normal;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ink);color:#fff;font-size:20px;font-weight:600}
.o-dir img{width:84px;height:60px;object-fit:cover;border-radius:12px}
.o-dirt{display:grid;gap:2px}.o-dirt small{font-size:13px;font-weight:600;color:var(--mute)}.o-dirt b{font-size:19px;line-height:25px;font-weight:600}
.o-dirh{font-size:14px;color:#5c5852;display:flex;align-items:center;gap:8px}.o-dirh::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}
.o-dirgo{font-size:14px;font-weight:600;color:var(--amb);text-align:right}
@media (max-width:1100px){
  .o-dir{padding:0 16px!important}
  .o-dir a{grid-template-columns:44px 1fr auto;gap:12px;padding:12px}
  .o-dir img,.o-dirh{display:none}
  .o-dirn{width:40px;height:40px;font-size:17px;border-radius:12px}
  .o-dirt b{font-size:16px;line-height:21px}.o-dirgo{font-size:0}.o-dirgo::after{content:"→";font-size:18px}
}
/* the three intentions a floor carries */
.o-intent{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1040px;margin:0 auto}
.o-intent li{position:relative;display:grid;gap:6px;padding:28px 26px;border-radius:24px;background:var(--paper);border:1px solid var(--hair)}
.o-intent em{position:absolute;right:22px;top:20px;font-style:normal;font-size:44px;line-height:1;font-weight:600;color:rgba(181,96,26,.18)}
.o-intent b{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.01em}.o-intent span{font-size:16px;line-height:24px;color:#5c5852;max-width:260px}
.o-dirh::before{display:none}.o-dirh{font-weight:600;color:#6f6a62}
.o-dir a{grid-template-columns:56px 84px 1fr 290px 110px}
@media (max-width:1100px){.o-intent{grid-template-columns:1fr;gap:10px;padding:0 4px}.o-intent li{padding:20px}.o-intent b{font-size:19px}.o-intent em{font-size:34px}}
@media (max-width:1100px){.o-dir a{grid-template-columns:44px 1fr 24px!important;gap:14px!important;padding:14px!important}.o-dir img,.o-dirh{display:none!important}.o-dirt b{font-size:17px;line-height:22px}}
@media (prefers-reduced-motion:reduce){.o-vwslide{transition:none!important}}
.o-dirchips{display:none}
/* building directory on phone: one card per floor (photo, floor number, promise, its three intentions) */
@media (max-width:1100px){
  .o-dir{gap:14px!important}
  .o-dir a{position:relative;display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:0!important;border-radius:22px!important;overflow:hidden;background:var(--paper)}
  .o-dir img{display:block!important;width:100%!important;height:150px!important;border-radius:0!important;object-fit:cover}
  .o-dirn{position:absolute;left:14px;top:14px;width:auto!important;height:auto!important;padding:7px 12px;border-radius:999px!important;background:rgba(251,249,244,.94)!important;color:var(--ink)!important;font-size:14px!important;backdrop-filter:blur(10px)}
  .o-dirn::before{content:"Floor ";font-weight:400;color:var(--mute)}
  .o-dirt{padding:16px 18px 0}.o-dirt b{font-size:19px!important;line-height:25px!important}
  .o-dirh{display:none!important}
  .o-dirchips{display:flex;flex-wrap:wrap;gap:6px;padding:12px 18px 0}
  .o-dirchips i{font-style:normal;font-size:13px;font-weight:600;padding:6px 11px;border-radius:999px;background:#fff;border:1px solid var(--hair);color:#4a4741}
  .o-dirgo{font-size:14px!important;text-align:left;padding:14px 18px 16px}.o-dirgo::after{content:none!important}
}
@media (max-width:1100px){.o-dirn{display:inline-block!important;white-space:nowrap;line-height:1!important;place-items:initial}}
/* building directory on phone v3: one floor at a time, swipe; photo with the floor name on it; three intentions as a quiet list */
.o-dircap{display:none}
@media (max-width:1100px){
  .o-dirswipe{display:block}
  .o-dir{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;padding:4px 20px 12px!important;scrollbar-width:none}
  .o-dir::-webkit-scrollbar{display:none}
  .o-dir li{flex:0 0 82vw;max-width:360px;scroll-snap-align:center}
  .o-dir a{height:100%;box-shadow:0 20px 40px -28px rgba(20,20,23,.4)}
  .o-dir img{height:200px!important}
  .o-dirn{display:none!important}
  .o-dircap{display:grid;position:absolute;left:0;right:0;top:0;height:200px;padding:0 20px 16px;align-content:end;gap:2px;background:linear-gradient(180deg,rgba(20,20,23,0) 45%,rgba(20,20,23,.55));color:#fff}
  .o-dircap small{font-size:13px;font-weight:600;opacity:.85}.o-dircap b{font-size:24px;line-height:28px;font-weight:600;letter-spacing:-.01em}
  .o-dirt{padding:18px 20px 0!important}.o-dirt small{display:none}.o-dirt b{font-size:18px!important;line-height:24px!important}
  .o-dirchips{display:grid!important;gap:0;padding:10px 20px 4px!important}
  .o-dirchips i{display:grid;gap:1px;padding:10px 0!important;border:0!important;border-top:1px solid var(--hair)!important;border-radius:0!important;background:none!important;font-size:13px!important;font-weight:400!important;color:#6f6a62!important}
  .o-dirchips i b{font-size:15px;font-weight:600;color:var(--ink)}
  .o-dirgo{padding:6px 20px 18px!important}
}
/* building directory on phone, in the live site's "two kinds of people" language:
   white card; number ring + big name + small promise; a soft band with a product card; a plain footer */
.o-dirm{display:none}
@media (max-width:1100px){
  .o-dir,.o-dirswipe{display:none!important}
  .o-dirm{display:flex;list-style:none;margin:0;padding:4px 20px 14px;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .o-dirm::-webkit-scrollbar{display:none}
  .o-dirm li{flex:0 0 84vw;max-width:380px;scroll-snap-align:center}
  .o-dirm a{display:flex;flex-direction:column;height:100%;border-radius:24px;background:#fff;border:1px solid var(--hair);overflow:hidden;color:var(--ink);text-decoration:none}
  .o-dmh{display:flex;gap:14px;align-items:flex-start;padding:22px 20px 18px}
  .o-dmn{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--amb);color:var(--amb);font-size:14px;font-weight:600}
  .o-dmbig{margin:0;font-size:26px;line-height:30px;font-weight:600;letter-spacing:-.025em}
  .o-dmsmall{margin:4px 0 0;font-size:15px;line-height:21px;color:#6f6a62}
  .o-dmband{flex:1;padding:18px 16px;background:linear-gradient(160deg,#f3ebe0,#f6f2ea 60%,#efe9df)}
  .o-dmui{border-radius:18px;background:#fff;box-shadow:0 18px 36px -24px rgba(20,20,23,.35),0 0 0 1px rgba(20,20,23,.05);padding:6px 16px}
  .o-dmtop{display:flex;justify-content:space-between;margin:0;padding:10px 0;font-size:13px;color:var(--mute);border-bottom:1px solid var(--hair)}
  .o-dmlive{color:var(--amb);font-weight:600}
  .o-dmrow{display:flex;align-items:center;gap:10px;margin:0;padding:11px 0;border-bottom:1px solid var(--hair)}.o-dmrow:last-child{border-bottom:0}
  .o-dmrow span{display:grid;gap:1px;min-width:0}.o-dmrow b{font-size:15px;font-weight:600}.o-dmrow small{font-size:13px;line-height:18px;color:#6f6a62}
  .o-dmrow em{margin-left:auto;flex:none;font-style:normal;font-size:12px;font-weight:600;color:#2e7d4f}
  .o-dmf{display:grid;gap:6px;padding:16px 20px 20px;border-top:1px solid var(--hair)}
  .o-dmf b{font-size:15px;font-weight:600}.o-dmf span{font-size:14px;font-weight:600;color:var(--amb)}
}
/* floor card: the floor's photo in the band, the product card floating over it, an icon per intention */
@media (max-width:1100px){
  .o-dmband{position:relative;padding:70px 14px 16px!important;background:#ddd4c6!important}
  .o-dmband > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .o-dmband::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(246,242,234,0) 0%,rgba(246,242,234,.15) 40%,rgba(246,242,234,.55));pointer-events:none}
  .o-dmui{position:relative;z-index:2;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .o-dmrow .ico{flex:none;width:34px;height:34px;border-radius:10px;background:rgba(181,96,26,.1);display:grid;place-items:center}
  .o-dmrow em{width:22px;height:22px;border-radius:50%;background:rgba(46,125,79,.12);color:#2e7d4f!important;display:grid;place-items:center;font-size:12px!important}
}
@media (max-width:1100px){.o-dmband{padding-top:130px!important}}
.o-dirmhint{display:none}
@media (max-width:1100px){
  .o-dirmhint{display:block!important;padding:0 24px}
  .o-dmbtn{display:inline-flex!important;align-items:center;justify-content:center;margin-top:6px;height:46px;padding:0 20px;border-radius:999px;background:var(--amb);color:#fff!important;font-size:15px!important}
}
.o-dirgo{padding:9px 14px;border-radius:999px;background:#fff;border:1px solid var(--hair);text-align:center!important}
.o-dir a:hover .o-dirgo{background:var(--amb);color:#fff;border-color:var(--amb)}
@media (max-width:1100px){.o-dmband{padding-top:180px!important}.o-dmband > img{height:250px!important;object-position:50% 30%}.o-dmband::after{display:none}.o-dmband{background:linear-gradient(180deg,#e9e1d4,#f6f2ea)!important}}
/* floor cards on phone: the whole photo, uncropped, then the card below it (nothing overlaps, nothing is cut) */
@media (max-width:1100px){
  .o-dmband{padding:0!important;background:none!important}
  .o-dmband > img{position:static!important;display:block;width:100%!important;height:auto!important;object-fit:contain!important}
  .o-dmui{margin:-28px 14px 16px;box-shadow:0 14px 30px -20px rgba(20,20,23,.4),0 0 0 1px rgba(20,20,23,.05)}
}
@media (max-width:1100px){
  .o-dmband > img{aspect-ratio:3/2;height:auto!important;object-fit:cover!important;object-position:50% 40%}
  .o-dmband{flex:none!important}
  .o-dmf{margin-top:auto}
}
/* key features each floor handles */
.o-dirt em{font-style:normal;font-size:14px;line-height:20px;color:#6f6a62;margin-top:4px}
.o-dmdoes{display:none}
@media (max-width:1100px){
  .o-dirt em{display:none}
  .o-dmdoes{display:block;padding:4px 20px 6px}
  .o-dmdoes p{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--mute)}
  .o-dmdoes ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
  .o-dmdoes li{position:relative;padding-left:26px;font-size:15px;line-height:21px;font-weight:600;color:var(--ink)}
  .o-dmdoes li::before{content:"✓";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:rgba(107,150,255,.14);color:#3c66e8;font-size:11px;display:grid;place-items:center;margin-top:1px}
  .o-dmf{border-top:0!important;padding-top:10px!important}
}
@media (min-width:1101px){
  .o-dir a{grid-template-columns:56px 120px 1fr 150px!important;padding:16px 20px 16px 14px}
  .o-dir img{width:120px;height:84px}
  .o-dirh{display:none!important}
  .o-dirgo{white-space:nowrap}
  .o-dirint{display:flex;gap:6px;margin-top:10px;font-style:normal}
  .o-dirint u{text-decoration:none;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:rgba(181,96,26,.08);color:var(--amb)}
}
.o-dirint{display:none}
@media (min-width:1101px){.o-dirint{display:flex}}
/* how it works: your own operations team */
.h-opsrow{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;align-items:stretch}
.h-opc{display:grid;gap:8px;align-content:start;padding:26px;border-radius:24px;background:var(--paper);border:1px solid var(--hair)}
.h-opc small{font-size:13px;font-weight:600;color:var(--mute)}.h-opc > b{font-size:22px;line-height:28px;font-weight:600}.h-opc > span{font-size:15px;line-height:22px;color:#5c5852}
.h-opc ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.h-opc li{position:relative;padding-left:24px;font-size:15px;line-height:21px}
.h-opc li::before{content:"";position:absolute;left:4px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--ink)}
.h-opc em{font-style:normal;font-size:14px;font-weight:600;color:var(--amb);margin-top:8px}
.h-opc.is-brain{background:var(--ink);color:#fff;border-color:var(--ink)}.h-opc.is-brain small{color:#b7b1a6}.h-opc.is-brain > span{color:#d4cec4}.h-opc.is-brain li::before{background:#f2a65a}.h-opc.is-brain em{color:#f2a65a}
.h-opc.is-building{background:#fff;box-shadow:var(--sh)}.h-opc.is-building li::before{background:var(--amb)}
.h-opc.is-worker li::before{background:var(--blue)}
.h-sub2{margin-top:96px}.h-h3{font-size:40px!important;line-height:46px!important}
.h-seqgrid{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;max-width:1000px!important}
.h-seq{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.h-seq li{display:grid;grid-template-columns:44px 1fr;column-gap:16px;row-gap:2px;padding:18px 20px;border-radius:20px;background:var(--paper);border:1px solid var(--hair)}
.h-seq em{grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-weight:600}
.h-seq b{font-size:18px;font-weight:600}.h-seq span{font-size:15px;line-height:22px;color:#5c5852}
.h-askph{margin:0}.h-askph .occ{width:290px}
.h-safe3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.h-safe3 article{display:grid;gap:6px;padding:26px;border-radius:24px;background:var(--paper);border:1px solid var(--hair)}.h-safe3 b{font-size:20px;font-weight:600}.h-safe3 span{font-size:15px;line-height:22px;color:#5c5852}
.h-start2{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:860px;margin:0 auto}
.h-start2 article{display:grid;gap:6px;padding:26px;border-radius:24px;border:1px solid var(--hair);background:#fff}
.h-start2 small{justify-self:start;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:rgba(46,125,79,.12);color:#2e7d4f}
.h-start2 .is-soon{background:var(--paper);border-style:dashed}.h-start2 .is-soon small{background:rgba(20,20,23,.06);color:var(--mute)}
.h-start2 b{font-size:20px;font-weight:600}.h-start2 span{font-size:15px;line-height:22px;color:#5c5852}
@media (max-width:1100px){
  .h-opsrow,.h-safe3,.h-start2{grid-template-columns:1fr;gap:12px}
  .h-seqgrid{grid-template-columns:1fr;gap:28px;justify-items:center}.h-seqgrid > div{width:100%}
  .h-askph .occ{width:min(272px,72vw)}
  .h-sub2{margin-top:64px}.h-h3{font-size:30px!important;line-height:35px!important}
  .h-opc,.h-safe3 article,.h-start2 article{padding:20px}
}
/* operations team as a picture: your AI → the brain → your building */
.h-map{display:grid;grid-template-columns:1fr 56px 1.1fr 56px 1.3fr;align-items:center;max-width:1160px;margin:0 auto}
.h-node{margin:0;display:grid;gap:16px;justify-items:center;text-align:center}
.h-nodevis{width:100%;box-sizing:border-box;border-radius:28px;padding:22px;display:grid;gap:10px;place-content:center;min-height:250px}
.h-node figcaption{display:grid;gap:2px}.h-node figcaption b{font-size:20px;font-weight:600}.h-node figcaption span{font-size:15px;color:var(--mute)}
.h-ais{background:var(--paper);border:1px solid var(--hair);justify-items:center}.h-ais .o-mk{height:40px;font-size:16px;padding:0 16px}
.h-brain{grid-template-columns:1fr 1fr;background:var(--ink);box-shadow:0 30px 60px -30px rgba(20,20,23,.6)}
.h-bld{grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--hair);box-shadow:var(--sh)}
.h-tile{display:grid;justify-items:center;gap:8px;padding:14px 8px;border-radius:18px;background:var(--paper);font-size:14px}
.h-tile .ico{width:38px;height:38px;border-radius:12px;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 1px var(--hair)}
.h-tile b{font-weight:600}
.h-brain .h-tile{background:rgba(255,255,255,.07);color:#fff}.h-brain .h-tile .ico{background:#f2a65a;box-shadow:none}
.h-arrow{justify-self:center;width:36px;height:2px;background:var(--hair);position:relative}.h-arrow::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:7px solid #c9c1b4}
.h-safe3 article{justify-items:start}.h-safe3 .ico{width:44px;height:44px;border-radius:13px;background:rgba(181,96,26,.1);display:grid;place-items:center;margin-bottom:6px}
@media (max-width:1100px){
  .h-map{grid-template-columns:1fr;gap:10px;padding:0 4px}
  .h-arrow{width:2px;height:28px}.h-arrow::after{right:-4px;top:auto;bottom:-6px;border:5px solid transparent;border-top:7px solid #c9c1b4}
  .h-nodevis{min-height:0;padding:16px}
  .h-node{gap:10px}
}
/* your building · the brain · the worker, as one picture */
.h-bwstage{position:relative;max-width:1100px;margin:0 auto;height:620px}
.h-bwimg{position:absolute;left:0;top:0;width:78%;height:560px;object-fit:cover;object-position:50% 60%;border-radius:32px;box-shadow:var(--sh)}
.h-pin{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;background:rgba(251,249,244,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 26px -14px rgba(20,20,23,.45);font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap}
.h-pin em{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-size:13px}
.h-pin.p1{left:28px;top:28px}
.h-pin.p2{left:34%;top:46%}
.h-pin.p2 em{background:var(--amb)}
.h-bwph{position:absolute;right:0;top:40px;z-index:4;display:grid;justify-items:center;gap:12px}
.h-bwph .occ{width:300px}
.h-pin.p3{position:static}.h-pin.p3 em{background:#3c66e8}
.h-bwkey{list-style:none;margin:40px auto 0;padding:0;max-width:1100px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.h-bwkey li{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;align-items:center;padding:18px 20px;border-radius:20px;background:var(--paper);border:1px solid var(--hair)}
.h-bwkey em{grid-row:span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-weight:600}
.h-bwkey li:nth-child(2) em{background:var(--amb)}.h-bwkey li:nth-child(3) em{background:#3c66e8}
.h-bwkey b{font-size:17px;font-weight:600}.h-bwkey span{font-size:15px;color:#5c5852}
@media (max-width:1100px){
  .h-bwstage{height:auto;display:flex;flex-direction:column;align-items:center}
  .h-bwimg{position:relative;width:100%;height:auto;aspect-ratio:3/2;border-radius:24px}
  .h-pin{font-size:13px;padding:6px 12px 6px 6px}.h-pin em{width:22px;height:22px;font-size:12px}
  .h-pin.p1{left:12px;top:12px}.h-pin.p2{left:auto;right:12px;top:auto;bottom:calc(100% - (100vw - 40px) * 2 / 3 + 12px)}
  .h-bwph{position:relative;right:auto;top:auto;margin-top:-40px}
  .h-bwph .occ{width:min(272px,72vw)}
  .h-bwkey{grid-template-columns:1fr;gap:10px;margin-top:24px}
}
/* building · brain · worker v2: lights up in turn, the worker's line flows into the brain */
.h-bwstage{height:640px}
.h-bwimg{width:74%;height:540px;top:20px}
.h-bwph{top:0}.h-bwph .occ{width:290px}
.h-bwkey{margin-top:56px}
.h-pin.p2{left:33%;top:50%}
.h-bwline{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.h-bwline path{fill:none;stroke:#3c66e8;stroke-width:2.5;stroke-dasharray:6 10;stroke-linecap:round;opacity:0;transition:opacity .8s var(--ease);animation:bwFlow 1.2s linear infinite}
@keyframes bwFlow{to{stroke-dashoffset:-32}}
.h-glow{position:absolute;z-index:1;left:calc(33% + 18px);top:calc(50% + 18px);width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;background:radial-gradient(circle,rgba(242,166,90,.45),rgba(242,166,90,0) 65%);opacity:0;transform:scale(.6);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
/* the sequence */
.h-bwstage .h-pin,.h-bwph{opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.h-bwstage .h-bwimg{opacity:.35;filter:saturate(.4);transition:opacity 1s var(--ease),filter 1s var(--ease)}
.h-bwstage.s1 .h-bwimg{opacity:1;filter:saturate(.9)}
.h-bwstage.s1 .h-pin.p1{opacity:1;transform:none}
.h-bwstage.s2 .h-pin.p2{opacity:1;transform:none}
.h-bwstage.s2 .h-glow{opacity:1;transform:scale(1);animation:bwPulse 3.2s ease-in-out 1.2s infinite}
@keyframes bwPulse{50%{transform:scale(1.12);opacity:.75}}
.h-bwstage.s3 .h-bwph{opacity:1;transform:none}
.h-bwstage.s3 .h-pin.p3{opacity:1;transform:none}
.h-bwstage.s3 .h-bwline path{opacity:.8}
.h-bwkey li{opacity:.35;transition:opacity .6s var(--ease),transform .6s var(--ease),box-shadow .6s;transform:translateY(8px)}
.h-bwkey.s1 li:nth-child(1),.h-bwkey.s2 li:nth-child(2),.h-bwkey.s3 li:nth-child(3){opacity:1;transform:none}
.h-bwkey.s3 li{box-shadow:none}
@media (prefers-reduced-motion:reduce){.h-glow{animation:none!important}.h-bwline path{animation:none}}
@media (max-width:1100px){
  .h-bwstage{height:auto}.h-bwimg{top:auto}
  .h-bwline{display:none}
  .h-pin.p2{left:50%;top:56%;transform:translate(-50%,12px)}
  .h-bwstage.s2 .h-pin.p2{transform:translate(-50%,0)}
  .h-glow{left:50%;top:56%;width:180px;height:180px;margin:-90px 0 0 -90px}
  .h-bwph{margin-top:-30px}.h-bwph .occ{width:min(250px,66vw)}
  .h-pin.p3{order:-1}
}
@media (max-width:1100px){
  .h-bwstage .h-bwimg{width:100%!important;height:auto!important;aspect-ratio:3/2;top:auto!important}
  .h-bwstage .h-pin.p2{top:calc((min(100vw,1100px) - 40px) * .4)!important;left:50%!important}
  .h-glow{top:calc((min(100vw,1100px) - 40px) * .4 + 18px)!important}
  .h-bwph{margin-top:20px!important}.h-bwph .occ{width:min(240px,64vw)!important}
}
@media (max-width:1100px){.h-bwstage .h-pin.p2{bottom:auto!important;right:auto!important}}
.h-bwkey li{align-items:start}.h-bwkey em{margin-top:2px}
.h-bwflow{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin:28px auto 0;font-size:15px;font-weight:600}
.h-bwflow span{padding:9px 15px;border-radius:999px;background:#fff;border:1px solid var(--hair)}.h-bwflow i{font-style:normal;color:var(--mute)}
@media (max-width:1100px){.h-bwflow{flex-direction:column;gap:6px}.h-bwflow i{transform:rotate(90deg)}}
/* the two promises, as quiet pills */
.o-assure{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.o-assure span{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:#fff;border:1px solid var(--hair);font-size:14px;font-weight:600;color:#4a4741}
.o-assure span::before{content:"✓";color:var(--amb);font-size:12px}
.o-c .o-assure,.o-head.o-c .o-assure,.o-assure:where(.o-head .o-assure){justify-content:center}
.o-head .o-assure{justify-content:center}
.o-dtext .o-assure,.o-chtext .o-assure{justify-content:flex-start}
.o-hub .o-dtext .o-assure{justify-content:center}
@media (max-width:1100px){.o-assure span{font-size:13px;padding:6px 11px}.o-dtext .o-assure,.o-chtext .o-assure{justify-content:center}.o-dh2 .o-chtext .o-assure{justify-content:flex-start}}
.o-assure{flex-direction:row!important;align-items:center}.o-assure span{flex:none!important;width:auto!important;display:inline-flex!important}@media (max-width:1100px){.o-dtext .o-assure{justify-content:flex-start!important}.o-hub .o-dtext .o-assure{justify-content:center!important}}
/* key row v3: icons explain, words stay short */
.h-bwkey li{display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:auto auto auto;column-gap:12px;row-gap:12px;align-items:center!important;padding:20px!important}
.h-bwkey em{grid-row:1!important;margin:0!important}
.h-bwkey b{grid-row:1}
.h-icons{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(4,1fr);gap:6px;color:inherit!important;font-size:inherit!important}
.h-icons > i{display:grid;justify-items:center;gap:6px;font-style:normal;padding:10px 4px;border-radius:14px;background:#fff;border:1px solid var(--hair)}
.h-icons > i .ico{width:30px;height:30px;border-radius:9px;background:var(--paper);display:grid;place-items:center}
.h-icons > i small{font-size:12px;font-weight:600;color:#4a4741}
.h-bwkey li:nth-child(2) .h-icons > i .ico{background:rgba(181,96,26,.1)}
.h-aiicons{display:flex!important;flex-wrap:wrap;gap:6px!important}.h-aiicons .o-mk{height:34px;font-size:14px}
.h-own{grid-column:1/-1;font-size:13px!important;color:var(--mute)!important;font-weight:600}
.h-bwflow{display:none!important}
@media (max-width:1100px){.h-bwkey li{padding:16px!important}}
/* one picture, everything in it: chips of what lives in your building, a slim legend below */
.h-chips{position:absolute;z-index:3;left:28px;bottom:calc(640px - 20px - 540px + 24px);display:flex;gap:8px;opacity:0;transform:translateY(10px);transition:opacity .7s var(--ease) .4s,transform .7s var(--ease) .4s}
.h-chips i{display:inline-flex;align-items:center;gap:7px;padding:7px 12px 7px 7px;border-radius:999px;background:rgba(251,249,244,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-style:normal;font-size:13px;font-weight:600;color:var(--ink);box-shadow:0 8px 18px -12px rgba(20,20,23,.45)}
.h-chips .ico{width:24px;height:24px;border-radius:999px;background:#fff;display:grid;place-items:center}
.h-bwstage.s1 .h-chips{opacity:1;transform:none}
.h-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 40px;margin:36px auto 0;max-width:1100px}
.h-legend span{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:600;opacity:.35;transition:opacity .6s var(--ease)}
.h-legend small{font-size:14px;font-weight:400;color:var(--mute)}
.h-legend em{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-size:13px}
.h-legend span:nth-child(2) em{background:var(--amb)}.h-legend span:nth-child(3) em{background:#3c66e8}
.h-legend.s1 span:nth-child(1),.h-legend.s2 span:nth-child(2),.h-legend.s3 span:nth-child(3){opacity:1}
@media (max-width:1100px){
  .h-chips{left:12px;right:12px;bottom:auto;top:calc((min(100vw,1100px) - 40px) * 2 / 3 - 46px);flex-wrap:nowrap;gap:5px;justify-content:center}
  .h-chips i{font-size:11px;padding:5px 8px 5px 5px;gap:4px}.h-chips .ico{width:18px;height:18px}
  .h-bwstage .h-pin.p2{top:calc((min(100vw,1100px) - 40px) * .3)!important}
  .h-glow{top:calc((min(100vw,1100px) - 40px) * .3 + 18px)!important}
  .h-legend{flex-direction:column;align-items:flex-start;gap:10px;padding:0 24px;margin-top:24px}
  .h-legend span{font-size:15px}.h-legend small{font-size:13px}
}
.h-bwstage{height:660px}.h-legend{margin-top:48px}@media (max-width:1100px){.h-bwstage{height:auto}.h-bwph .occ{width:min(250px,66vw)!important}.h-legend{margin-top:28px}}

/* how it works: worker → brain → your building, drawn (no photo), in one row */
.h-flow3{display:grid;grid-template-columns:1fr 90px 1fr 90px 1fr;align-items:center;max-width:1120px!important}
.h-f{margin:0;display:grid;gap:22px;justify-items:center}
.h-fvis{height:560px;display:grid;place-items:center}
.h-fw .occ{width:270px}
.h-f figcaption{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.h-f figcaption em{grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#3c66e8;color:#fff;font-style:normal;font-weight:600;font-size:14px}
.h-fb figcaption em{background:var(--amb)}.h-fh figcaption em{background:var(--ink)}
.h-f figcaption b{font-size:18px;font-weight:600}.h-f figcaption small{font-size:14px;color:var(--mute)}
/* the brain: a glowing orb */
.h-orb{position:relative;width:200px;height:200px;display:grid;place-items:center}
.h-orbring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(242,166,90,.55),rgba(242,166,90,.12) 55%,rgba(242,166,90,0) 70%);animation:bwPulse 3.2s ease-in-out infinite}
.h-orbcore{position:relative;width:120px;height:120px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--ink);box-shadow:0 20px 40px -18px rgba(181,96,26,.6),0 0 0 1px rgba(181,96,26,.2)}
/* the wires: work flowing left to right */
.h-wire{position:relative;height:2px;background:repeating-linear-gradient(90deg,#c9c1b4 0 6px,transparent 6px 12px);align-self:center;margin-top:-60px}
.h-wire span{position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:#3c66e8;box-shadow:0 0 0 4px rgba(60,102,232,.18);animation:wireRun 2.4s var(--ease) infinite}
.h-wire + .h-fb + .h-wire span{background:var(--amb);box-shadow:0 0 0 4px rgba(181,96,26,.18);animation-delay:1.2s}
@keyframes wireRun{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
/* the sequence (office.js adds s1, s2, s3) */
.h-flow3 .h-f{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.h-flow3 .h-wire{opacity:0;transition:opacity .6s var(--ease)}
.h-flow3.s1 .h-fw,.h-flow3.s2 .h-fb,.h-flow3.s3 .h-fh{opacity:1;transform:none}
.h-flow3.s2 .h-wire:nth-of-type(1),.h-flow3.s3 .h-wire{opacity:1}
@media (prefers-reduced-motion:reduce){.h-wire span,.h-orbring{animation:none}}
@media (max-width:1100px){
  .h-flow3{grid-template-columns:1fr;gap:0;justify-items:center}
  .h-fvis{height:auto}
  .h-fw .occ{width:min(240px,64vw)}
  .h-wire{width:2px;height:56px;margin:14px 0;background:repeating-linear-gradient(180deg,#c9c1b4 0 6px,transparent 6px 12px)}
  .h-wire span{left:-4px;top:0;animation-name:wireDown}
  @keyframes wireDown{0%{top:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:calc(100% - 10px);opacity:0}}
  .h-orb{width:160px;height:160px}.h-orbcore{width:96px;height:96px}
  .h-house{width:min(300px,80vw)}
  .h-f{gap:14px}
}

/* your building: a calm stack of glass floors (replaces the drawn house) */
.h-tower{position:relative;width:290px;height:350px}
.h-lvl{position:absolute;left:0;right:0;top:calc(var(--i) * 74px);height:120px;z-index:calc(10 - var(--i))}
.h-slab{position:absolute;left:29px;top:-10px;width:140px;height:140px;border-radius:18px;display:grid;place-items:center;
  background:linear-gradient(135deg,#fff,#f6f1e9);border:1px solid rgba(40,30,20,.08);
  transform:rotateX(60deg) rotateZ(-45deg);
  box-shadow:1px 1px 0 #ece5d9,2px 2px 0 #e8e0d3,3px 3px 0 #e4dccf,4px 4px 0 #e0d7c9,5px 5px 0 #dcd3c4,6px 6px 0 #d8cebf,26px 26px 38px rgba(60,40,20,.14)}
.h-slab .ico{width:38px;height:38px;border-radius:12px;background:rgba(181,96,26,.08);color:var(--amb);display:grid;place-items:center;transform:rotateZ(45deg)}
.h-slab .ico svg{width:20px;height:20px}
.h-lvl b{position:absolute;left:214px;top:48px;font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap}
.h-lvl b::before{content:"";position:absolute;right:calc(100% + 8px);top:50%;width:18px;height:1px;background:#cfc6b8}
.h-lvl:first-child .h-slab{background:linear-gradient(135deg,#fffaf3,#fbe9d6)}
.h-flow3 .h-lvl{opacity:0;transform:translateY(-18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i) * 140ms + 200ms)}
.h-flow3.s3 .h-lvl{opacity:1;transform:none}
@media (max-width:1100px){.h-tower{transform:scale(.92);margin:-14px 0}}

/* the two promises: glass pills with real marks, used site-wide */
.o-assure{gap:10px!important}
.o-assure .o-as{gap:10px;padding:5px 16px 5px 5px!important;border-radius:999px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(40,30,20,.08);box-shadow:0 10px 24px -16px rgba(60,40,20,.35);font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.005em}
.o-assure .o-as::before{display:none!important;content:none!important}
.o-asme{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#fbe9d6,#f6d3b0);color:var(--amb)}
.o-asme svg{width:17px;height:17px}
.o-aslogos{display:inline-flex;font-style:normal}
.o-aslogos em{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid rgba(40,30,20,.1);color:var(--ink);font-style:normal;margin-left:-9px;box-shadow:0 2px 6px -3px rgba(0,0,0,.25)}
.o-aslogos em:first-child{margin-left:0}
.o-aslogos svg{width:15px;height:15px;fill:currentColor}
.o-aslogos .o-asany{border-style:dashed;color:var(--mute);font-size:15px;font-weight:500;box-shadow:none;background:#faf7f2}
@media (max-width:1100px){.o-assure .o-as{font-size:13px!important;padding:4px 13px 4px 4px!important;gap:8px}.o-asme,.o-aslogos em{width:26px;height:26px}.o-aslogos em{margin-left:-8px}.o-asme svg{width:15px;height:15px}.o-aslogos svg{width:13px;height:13px}}
.h-lvl b{display:flex;align-items:center;gap:8px;top:44px}
.h-lvl b .ico{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(40,30,20,.1);color:var(--amb)}
.h-lvl b .ico svg{width:15px;height:15px}

/* how it works, pass 3: titles on top in one row, the brain on a ring of floors */
.h-flow3{grid-template-columns:minmax(0,1fr) 48px 440px 48px minmax(0,1fr)!important;max-width:1220px!important;align-items:start!important}
.h-f{gap:30px!important;justify-items:center}
.h-f figcaption{display:grid!important;grid-template-columns:none!important;justify-items:center;gap:6px;text-align:center}
.h-f figcaption em{grid-row:auto!important;width:32px!important;height:32px!important;margin-bottom:6px}
.h-f figcaption b{font-size:21px!important;letter-spacing:-.01em}
.h-f figcaption small{font-size:15px!important}
.h-fvis{height:540px!important}
.h-wire{align-self:start!important;margin-top:390px!important}
.h-hub{position:relative;width:440px;height:440px;--rx:140px;--ry:180px}
.h-hub > *{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.h-ring{width:calc(var(--rx) * 2);height:calc(var(--ry) * 2);border-radius:50%;border:1px dashed #d6cdbf}
.h-hub .h-orbring{width:190px;height:190px;inset:auto;left:50%;top:50%}
.h-hub .h-orbcore{width:118px;height:118px;display:grid;place-items:center;align-content:center;gap:4px}
.h-orbcore small{font-size:11px;font-weight:600;letter-spacing:.01em;color:var(--mute)}
.h-fl{left:calc(50% + var(--c) * var(--rx));top:calc(50% + var(--s) * var(--ry));display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 10px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(40,30,20,.08);box-shadow:0 8px 20px -14px rgba(60,40,20,.45);font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;transition:color .5s,border-color .5s,box-shadow .5s}
.h-fl i{width:7px;height:7px;border-radius:50%;background:#d6cdbf;transition:background .5s}
.h-fl.on{color:var(--amb);border-color:rgba(181,96,26,.35);box-shadow:0 0 0 5px rgba(242,166,90,.14),0 10px 24px -14px rgba(181,96,26,.5)}
.h-fl.on i{background:var(--amb)}
.h-flow3 .h-fl{opacity:0;transition:opacity .6s var(--ease),color .5s,border-color .5s,box-shadow .5s}
.h-flow3.s2 .h-fl{opacity:1}
.h-flow3.s2 .h-fl:nth-of-type(2){transition-delay:.05s}
@media (min-width:1101px) and (max-width:1240px){.h-flow3{grid-template-columns:minmax(0,1fr) 24px 420px 24px minmax(0,1fr)!important}.h-hub{--rx:132px}.h-tower{transform:scale(.9);transform-origin:center top}}
@media (max-width:1100px){
  .h-flow3{grid-template-columns:1fr!important;align-items:center!important}
  .h-f{gap:20px!important}
  .h-fvis{height:auto!important}
  .h-wire{margin:22px 0!important;align-self:center!important}
  .h-f figcaption b{font-size:19px!important}.h-f figcaption small{font-size:14px!important}
  .h-hub{width:min(370px,94vw);height:380px;--rx:112px;--ry:152px}
  .h-hub .h-orbring{width:150px;height:150px}.h-hub .h-orbcore{width:96px;height:96px}
  .h-hub .h-orbcore svg{width:32px;height:32px}.h-orbcore small{font-size:10px}
  .h-fl{font-size:12px;padding:6px 11px 6px 9px;gap:6px}
}

/* the fingerprint reads as a fingerprint: bigger */
.o-asme{width:38px!important;height:38px!important}.o-asme svg{width:26px!important;height:26px!important;stroke-width:1.5}
.o-aslogos em{width:34px;height:34px}.o-aslogos svg{width:17px;height:17px}
@media (max-width:1100px){.o-asme{width:34px!important;height:34px!important}.o-asme svg{width:23px!important;height:23px!important}.o-aslogos em{width:30px;height:30px}.o-aslogos svg{width:15px;height:15px}}
.h-hub .h-orbring{left:calc(50% - 95px)!important;top:calc(50% - 95px)!important;transform:none}
@media (max-width:1100px){.h-hub .h-orbring{left:calc(50% - 75px)!important;top:calc(50% - 75px)!important}}

/* how it works, pass 4: one request plays end to end */
.h-flow3{grid-template-columns:minmax(0,1fr) 80px 440px 80px minmax(0,1fr)!important;max-width:1280px!important}
.h-fvis{height:580px!important;align-content:center}
.h-wire{margin:410px -18px 0!important;opacity:1!important}
.h-wire span{opacity:0;animation:none!important}
.h-wire.go span{animation:wireRun 1.1s var(--ease) both!important}
.h-wire.back span{animation:wireBack 1.1s var(--ease) both!important;background:var(--amb)!important;box-shadow:0 0 0 4px rgba(181,96,26,.18)!important}
@keyframes wireBack{0%{left:calc(100% - 10px);opacity:0}15%{opacity:1}85%{opacity:1}100%{left:0;opacity:0}}
.h-fl.on{transform:translate(-50%,-50%) scale(1.06)}
.h-fl{transition:color .5s,border-color .5s,box-shadow .5s,transform .5s var(--ease),opacity .6s!important}
.h-now{display:flex;align-items:center;gap:10px;margin:6px auto 0;min-height:40px;padding:6px 16px 6px 6px;border-radius:999px;background:#fff;border:1px solid rgba(40,30,20,.08);box-shadow:0 10px 24px -18px rgba(60,40,20,.45);font-size:14px;font-weight:600;color:var(--ink);max-width:400px}
.h-now em{font-style:normal;font-size:12px;font-weight:600;color:var(--amb);background:rgba(181,96,26,.1);border-radius:999px;padding:5px 9px;flex:none}
.h-now.in span{animation:occIn .45s var(--ease) both}
.h-lvl:first-child .h-slab{background:linear-gradient(135deg,#fff,#f6f1e9)}
.h-slab{transition:background .5s,box-shadow .5s}
.h-lvl.on .h-slab{background:linear-gradient(135deg,#fffaf3,#fbe3c8)!important}
.h-lvl b small{font-size:12px;font-weight:600;color:var(--amb);background:rgba(181,96,26,.1);border-radius:999px;padding:3px 9px;opacity:0;transform:translateX(-4px);transition:opacity .4s,transform .4s var(--ease)}
.h-lvl.on b small{opacity:1;transform:none}
.h-lvl.on b .ico{border-color:rgba(181,96,26,.4);box-shadow:0 0 0 4px rgba(242,166,90,.15)}
.h-rail{grid-column:1/-1;list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:56px auto 0;padding:0;width:100%;max-width:1100px;counter-reset:none}
.h-rail li{position:relative;display:grid;justify-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--mute);text-align:center;transition:color .4s}
.h-rail li::before{content:"";position:absolute;top:15px;left:calc(-50% + 22px);right:calc(50% + 22px);height:2px;border-radius:2px;background:#e3dccf;transition:background .5s}
.h-rail li:first-child::before{display:none}
.h-rail em{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid rgba(40,30,20,.12);font-style:normal;font-size:13px;color:var(--mute);transition:all .4s}
.h-rail li.h-ok,.h-rail li.h-cur{color:var(--ink)}
.h-rail li.h-ok::before,.h-rail li.h-cur::before{background:var(--amb)}
.h-rail li.h-ok em{background:var(--ink);border-color:var(--ink);color:#fff}
.h-rail li.h-cur em{background:var(--amb);border-color:var(--amb);color:#fff;box-shadow:0 0 0 6px rgba(242,166,90,.2)}
@media (min-width:1101px) and (max-width:1300px){.h-flow3{grid-template-columns:minmax(0,1fr) 40px 420px 40px minmax(0,1fr)!important}}
@media (max-width:1100px){
  .h-wire{margin:22px 0!important}
  .h-wire.go span{animation:wireDown 1.1s var(--ease) both!important}
  .h-wire.back span{animation:wireUp 1.1s var(--ease) both!important}
  @keyframes wireUp{0%{top:calc(100% - 10px);opacity:0}15%{opacity:1}85%{opacity:1}100%{top:0;opacity:0}}
  .h-now{font-size:13px;max-width:min(360px,92vw);margin-top:14px}
  .h-rail{display:none}
  .h-lvl b small{font-size:11px;padding:2px 7px}
}

/* building notes sit under their label, so nothing runs off the edge */
.h-lvl b small{position:absolute;left:36px;top:32px;white-space:nowrap}
/* phone + iPad: one column (must come after the desktop grid) */
@media (max-width:1100px){.h-flow3{grid-template-columns:1fr!important;max-width:none!important}.h-wire{margin:22px 0!important}}
/* the building sits a little left in its column so its notes never reach the edge */
@media (min-width:1101px){.h-fh .h-fvis{justify-items:start}.h-tower{transform:scale(.94);transform-origin:left center}.h-lvl b{left:206px}}
@media (max-width:1100px){.h-hub{--rx:106px}.h-fb .h-now{margin-top:6px}}
@media (max-width:1100px){.h-hub .h-orbcore{width:88px;height:88px}.h-hub .h-orbcore svg{width:28px;height:28px}.h-hub{height:360px}}
@media (max-width:1100px){.h-fvis{height:auto!important}}
/* the brain's centre: a warm glass orb with a slow light arc */
.h-hub .h-orbcore{width:124px;height:124px;color:#2a2622;background:radial-gradient(circle at 34% 28%,#fff 0%,#fdf8f1 45%,#f4e6d3 100%);
  box-shadow:inset 0 2px 0 #fff,inset 0 -10px 22px rgba(181,96,26,.14),0 0 0 1px rgba(181,96,26,.16),0 28px 50px -22px rgba(181,96,26,.6)}
.h-hub .h-orbcore::before{content:"";position:absolute;inset:-9px;border-radius:50%;background:conic-gradient(from 0deg,rgba(242,166,90,0) 0 62%,rgba(242,166,90,.95) 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));animation:orbSpin 5s linear infinite}
.h-hub .h-orbcore::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(181,96,26,.12)}
.h-hub .h-orbcore svg{filter:drop-shadow(0 2px 4px rgba(181,96,26,.18))}
@keyframes orbSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.h-hub .h-orbcore::before{animation:none}}
@media (max-width:1100px){.h-hub .h-orbcore{width:92px;height:92px}.h-hub .h-orbcore svg{width:38px;height:38px}.h-hub .h-orbcore::before,.h-hub .h-orbcore::after{inset:-7px}}

/* software: built in for you, yours to extend */
.o-extrow{display:grid;grid-template-columns:1fr 56px 1fr;align-items:center;gap:0;max-width:1080px!important}
.o-extcard{margin:0;height:100%;display:grid;align-content:start;justify-items:center;gap:22px;padding:28px 26px 32px;border-radius:28px;background:rgba(255,255,255,.62);border:1px solid rgba(40,30,20,.07);box-shadow:0 30px 60px -40px rgba(60,40,20,.45)}
.o-exttiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;align-self:center}
.o-exttiles span{display:grid;justify-items:center;gap:9px;padding:16px 8px 14px;border-radius:18px;background:#fff;border:1px solid rgba(40,30,20,.07);box-shadow:0 8px 18px -14px rgba(60,40,20,.35);text-align:center}
.o-exttiles .ico{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(181,96,26,.08);color:var(--amb)}
.o-exttiles .ico svg{width:18px;height:18px}
.o-exttiles b{font-size:13px;font-weight:600;line-height:1.25;color:var(--ink)}
.o-extplus{justify-self:center;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid rgba(40,30,20,.1);box-shadow:0 10px 22px -14px rgba(60,40,20,.45);font-size:22px;color:var(--amb);z-index:2}
.o-extnew{background:linear-gradient(160deg,rgba(255,250,243,.9),rgba(251,233,214,.55))}
.o-extnew .occ{width:min(290px,100%)}
@media (max-width:1100px){
  .o-extrow{grid-template-columns:1fr;gap:0;justify-items:center}
  .o-extcard{width:100%;max-width:520px;padding:22px 16px 26px;border-radius:24px}
  .o-exttiles{gap:8px}.o-exttiles span{padding:12px 4px 11px;border-radius:14px}.o-exttiles b{font-size:12px}.o-exttiles .ico{width:32px;height:32px}
  .o-extplus{margin:-14px 0}
  .o-extnew .occ{width:min(250px,66vw)}
}
.o-extcard{grid-template-rows:auto 1fr}.o-exttiles{align-self:center}
@media (min-width:1101px){.o-exttiles span{padding:20px 8px 18px}}
/* ready on day one: grouped lists, calm like a settings screen */
.o-extlist{display:grid;gap:16px;width:100%;align-self:center}
.o-extg p{margin:0 0 7px 14px;font-size:13px;font-weight:600;color:var(--mute)}
.o-extg ul{list-style:none;margin:0;padding:0;border-radius:16px;background:#fff;border:1px solid rgba(40,30,20,.07);box-shadow:0 12px 26px -22px rgba(60,40,20,.4);overflow:hidden}
.o-extg li{display:flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;font-size:15px}
.o-extg li + li{border-top:1px solid rgba(40,30,20,.07)}
.o-extg li .ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(181,96,26,.08);color:var(--amb);flex:none}
.o-extg li .ico svg{width:15px;height:15px}
.o-extg li b{font-weight:600;color:var(--ink);flex:1}
.o-extg li i{font-style:normal;font-size:12px;color:var(--amb);opacity:.8}
@media (max-width:1100px){.o-extg li{font-size:14px;padding:9px 14px 9px 10px}}
.o-extnew .occ{align-self:center;height:auto}

/* software, pass 2: ready on day one (one real screen) + built with you (two chats) */
.o-extrow{display:grid!important;grid-template-columns:1fr!important;justify-items:center;gap:0!important;max-width:1120px!important}
.o-extready{margin:0;width:100%;max-width:900px;display:grid;justify-items:center;gap:18px}
.o-extready .o-extbr{width:100%;box-shadow:0 50px 90px -50px rgba(60,40,20,.55)}
.o-extrow > .o-extplus{margin:30px 0}
.o-extbuilds{display:grid;grid-template-columns:repeat(2,minmax(0,300px));gap:56px;justify-content:center;padding:40px 48px 44px;border-radius:32px;background:linear-gradient(160deg,rgba(255,250,243,.9),rgba(251,233,214,.5));border:1px solid rgba(181,96,26,.1)}
.o-extuse{margin:0;display:grid;justify-items:center;gap:18px}
.o-extuse .occ{width:280px}
@media (max-width:1100px){
  .o-extbuilds{grid-template-columns:1fr;gap:36px;padding:28px 16px 32px;border-radius:26px;width:100%}
  .o-extuse .occ{width:min(250px,66vw)}
  .o-extrow > .o-extplus{margin:20px 0}
}

/* home hero: one lead line, then the two promise pills */
.o-sub .o-sublead{display:block;margin-bottom:6px;font-weight:600;color:var(--ink)}
.o-hpromise{margin-top:28px}
.o-hpromise .o-assure{justify-content:flex-start!important;margin:0}
.o-hpromise > small{display:block;margin:10px 0 0 6px;font-size:13px;color:var(--mute)}
.o-hmarks .o-hpromise{margin:0;display:grid;justify-items:center}
.o-hmarks .o-hpromise .o-assure{justify-content:center!important}
.o-hmarks .o-hpromise > small{margin:10px 0 0;text-align:center}
@media (max-width:1100px){.o-hcopy .o-hpromise{display:none}}
@media (min-width:1101px){.o-hmarks .o-hpromise{display:none}}
/* iPad: keep her face in the hero photo, and give the lines room */
@media (min-width:761px) and (max-width:1100px){
  .o-hero .o-hstage{height:520px!important;margin-bottom:280px!important}
  .o-hero .o-hplate{object-position:50% 22%!important}
  .o-hero .o-hphone{top:300px!important}
  .o-hcopy .o-sub{max-width:480px!important}
}
/* hero promise pills: stacked, same width, so they read as one aligned block */
.o-hpromise .o-assure{display:inline-grid!important;grid-template-columns:1fr;gap:10px!important}
.o-hpromise .o-assure .o-as{width:100%!important;justify-content:flex-start}
.o-hpromise{display:grid;justify-items:start}
.o-hmarks .o-hpromise{justify-items:center}
@media (min-width:761px) and (max-width:1100px){.o-hero .o-hphone{left:32%!important}.o-hero .o-hplate{object-position:42% 22%!important}}
/* hero: one line under the headline (owner, 23 Oct) */
.o-subone{color:var(--ink)!important;font-weight:500;max-width:520px}
.o-subone small{font-size:.8em;font-weight:400;color:var(--mute);white-space:nowrap}
@media (max-width:1100px){.o-hcopy .o-subone{max-width:340px!important}}
@media (min-width:761px) and (max-width:1100px){.o-hcopy .o-subone{max-width:460px!important}}
/* hero: the two ways in, as pills that jump to their card */
.o-paths{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.o-paths a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(40,30,20,.12);font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;transition:background .3s,border-color .3s,transform .3s var(--ease)}
.o-paths a span{color:var(--amb);transition:transform .3s var(--ease)}
.o-paths a:hover{background:#fff;border-color:rgba(181,96,26,.35)}.o-paths a:hover span{transform:translateX(3px)}
.o-way{scroll-margin-top:110px}
@media (max-width:1100px){.o-paths{justify-content:center;margin-top:16px}.o-paths a{font-size:13px;padding:8px 14px}}
@media (max-width:760px){.o-hcopy .o-paths{flex-wrap:nowrap;gap:8px}.o-hcopy .o-paths a{font-size:13px!important;line-height:1.2!important;padding:9px 12px!important;white-space:nowrap;min-height:0!important}}

/* Get set up, guided: two ways in first, then that path's steps and the form */
.o-gpick{display:none}
[data-guide].is-choosing .o-gpick{display:grid;gap:14px}
[data-guide].is-choosing [data-form]{display:none}
.o-gcard{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:120px 1fr;align-items:center;gap:18px;padding:10px 20px 10px 10px;border-radius:20px;background:#fff;border:1px solid rgba(40,30,20,.08);box-shadow:0 14px 30px -24px rgba(60,40,20,.5);transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.o-gcard:hover,.o-gcard:focus-visible{transform:translateY(-2px);border-color:rgba(181,96,26,.4);box-shadow:0 20px 40px -24px rgba(181,96,26,.45)}
.o-gcard img{width:120px;height:96px;object-fit:cover;border-radius:14px}
.o-gcard span{display:grid;gap:4px}
.o-gcard small{font-size:13px;font-weight:600;color:var(--amb)}
.o-gcard b{font-size:18px;font-weight:600;line-height:1.3;color:var(--ink)}
.o-gchosen{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 18px;padding:8px 8px 8px 16px;border-radius:999px;background:rgba(181,96,26,.08);font-size:14px;font-weight:600;color:var(--amb)}
.o-gchosen[hidden]{display:none}
.o-gchosen button{all:unset;cursor:pointer;padding:6px 14px;border-radius:999px;background:#fff;color:var(--ink);font-size:13px;font-weight:600}
.o-gsteps{list-style:none;counter-reset:g;margin:22px 0 0;padding:0;display:grid;gap:12px}
.o-gsteps li{counter-increment:g;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:12px;font-size:16px;line-height:1.4;color:var(--ink)}
.o-gsteps li::before{content:counter(g);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-size:14px;font-weight:600}
.o-gsteps li:first-child::before{background:var(--amb)}
.o-gsteps[hidden]{display:none}
@media (max-width:760px){.o-gcard{grid-template-columns:88px 1fr;gap:14px;padding:8px 14px 8px 8px}.o-gcard img{width:88px;height:76px}.o-gcard b{font-size:16px}.o-gsteps li{font-size:15px}}
[data-glede]{scroll-margin-top:110px}

/* home: one line under the hero, as a glass pill (owner, 23 Oct) */
.o-smarter{display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);margin:0 auto 34px;padding:7px 8px 7px 7px;border-radius:999px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(40,30,20,.08);box-shadow:0 14px 30px -22px rgba(60,40,20,.45);font-size:15px;font-weight:600;color:var(--ink)}
.o-smarterico{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#fbe9d6,#f6d3b0);color:var(--amb);flex:none}
.o-smarterico svg{width:18px;height:18px}
.o-smarter b{padding:7px 14px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;white-space:nowrap}
@media (max-width:760px){.o-smarter{flex-wrap:wrap;justify-content:center;gap:8px 10px;border-radius:22px;padding:12px 14px;text-align:left;font-size:14px;width:auto}.o-smarter > span:not(.o-smarterico){flex:1;min-width:0}}
.o-smarter > span:not(.o-smarterico){color:var(--ink)!important}
.o-smarterico{color:var(--amb)!important}
@media (max-width:760px){.o-smarter{display:grid!important;grid-template-columns:34px 1fr;align-items:center;gap:8px 12px;margin:0 16px 28px!important;max-width:none}.o-smarter b{grid-column:2;justify-self:start}}

/* hero: one glass card, two promises (owner, 23 Oct) */
.o-hcombo{display:grid;width:max-content;max-width:100%;border-radius:22px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(40,30,20,.08);box-shadow:0 16px 34px -24px rgba(60,40,20,.45);overflow:hidden}
.o-hcombo p{display:flex;align-items:center;gap:12px;margin:0;padding:10px 16px 10px 10px;font-size:14px;font-weight:600;color:var(--ink);line-height:1.35}
.o-hcombo p + p{border-top:1px solid rgba(40,30,20,.07)}
.o-hcombo .o-aslogos{flex:none}
.o-hcup{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#fbe9d6,#f6d3b0);color:var(--amb);flex:none;margin-right:42px}
.o-hcup svg{width:18px;height:18px}
.o-hcombo b{margin-left:auto;padding:5px 11px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:600;white-space:nowrap}
.o-hmarks .o-hcombo{margin:0 auto}
@media (max-width:760px){
  .o-hmarks{padding-left:16px!important;padding-right:16px!important}
  .o-hcombo{width:100%}
  .o-hcombo p{font-size:13px;gap:10px;padding:10px 12px 10px 10px}
  .o-hcup{margin-right:0;width:30px;height:30px}
  .o-hcombo p:last-child{flex-wrap:wrap}
  .o-hcombo p:last-child span{flex:1;min-width:0}
}
/* the text in both rows starts at the same line: the up icon sits where the three logos sit */
.o-hcup{margin-right:50px}
@media (max-width:1100px){.o-hcup{margin-right:44px}}
@media (max-width:760px){.o-hcup{width:30px;height:30px;margin-right:44px}}
/* the up icon sits centred in a slot as wide as the three logos, so both rows start their words together */
.o-hcup{width:84px!important;height:34px!important;margin:0!important;background:none!important;border-radius:0!important;display:grid;place-items:center}
.o-hcup span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#fbe9d6,#f6d3b0);color:var(--amb)}
.o-hcombo{max-width:520px}
@media (max-width:1100px){.o-hcup{width:74px!important;height:30px!important}.o-hcup span{width:30px;height:30px}.o-hcup svg{width:16px;height:16px}}
.o-hcopy .o-hpromise > small{margin-left:14px}

/* hero promises, pass 2: no box, no tags; two calm rows, words in one column */
.o-hp2{display:grid!important;gap:12px;margin-top:34px}
.o-hp2 p{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:14px;margin:0;font-size:15px;font-weight:500;letter-spacing:-.005em;color:var(--ink)}
.o-hp2 .o-aslogos em{box-shadow:0 1px 2px rgba(0,0,0,.06)}
.o-hp2 .o-hcup{width:84px!important;height:34px!important;justify-items:start;padding-left:0}
.o-hp2 .o-hcup span{width:34px;height:34px;margin-left:25px;background:#fff;border:1px solid rgba(181,96,26,.22);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.o-hp2 em{font-style:normal;color:var(--amb);font-weight:600}
.o-hp2 > small{margin:2px 0 0 98px!important;font-size:12.5px;color:var(--mute)}
.o-hmarks .o-hp2{justify-items:center;margin:0}
@media (max-width:1100px){
  .o-hp2 p{grid-template-columns:74px auto;font-size:14px;gap:12px}
  .o-hp2 .o-hcup{width:74px!important;height:30px!important}
  .o-hp2 .o-hcup span{width:30px;height:30px;margin-left:22px}
  .o-hmarks .o-hp2 p{width:300px}
  .o-hmarks .o-hp2 > small{margin:4px 0 0!important;width:300px;padding-left:86px;text-align:left}
}
.o-hp2 .o-aslogos em{color:var(--ink)!important;font-weight:inherit}
.o-hp2 .o-aslogos .o-asany{color:var(--mute)!important}
.o-hp2 p > span em{font-style:normal;color:var(--amb);font-weight:600}
@media (max-width:1100px){.o-hmarks .o-hp2 p{width:min(340px,100%)}.o-hmarks .o-hp2 > small{width:min(340px,100%)}}
@media (max-width:760px){.o-hp2 p{font-size:13.5px}}
.o-hp2 p{max-width:470px;line-height:1.45}
.o-hp2 p > span{text-wrap:pretty}
@media (max-width:1100px){.o-hmarks .o-hp2 p{width:min(350px,100%)}}

/* floor pages: what this floor unlocks, and what it gives back (owner, 23 Oct) */
.o-wgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:stretch}
.o-wops{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.o-wops li{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:22px;background:#fff;border:1px solid rgba(40,30,20,.07);box-shadow:0 18px 36px -30px rgba(60,40,20,.5)}
.o-wops .ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#fdf3e7,#f8dcc0);color:var(--amb);flex:none}
.o-wops .ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
.o-wops b{font-size:18px;font-weight:600;line-height:1.35;color:var(--ink)}
.o-wstats{display:grid;align-content:space-between;gap:22px;padding:26px 28px;border-radius:26px;background:linear-gradient(160deg,#fffaf3,#fbe9d6);border:1px solid rgba(181,96,26,.12)}
.o-wnums{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.o-wnums p{margin:0;display:grid;gap:6px}
.o-wnums b{font-size:clamp(24px,2.4vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.05;color:var(--ink)}
.o-wnums p:nth-child(2) b{color:var(--amb)}
.o-wnums span{font-size:13px;color:var(--mute);line-height:1.35}
.o-wstats .o-bars{margin:0}
.o-wstats > small{font-size:12.5px;color:var(--mute)}
@media (max-width:1100px){
  .o-wgrid{grid-template-columns:1fr;gap:18px}
  .o-wops li{padding:16px 16px;gap:14px;border-radius:18px}.o-wops b{font-size:16px}.o-wops .ico{width:40px;height:40px}
  .o-wstats{padding:20px 18px;border-radius:22px}
  .o-wnums b{font-size:22px}
}
@media (max-width:420px){.o-wnums{grid-template-columns:1fr 1fr}.o-wnums p:first-child{grid-column:1/-1}}
.o-wnums small{font-size:12px;font-weight:600;color:var(--mute);text-transform:none;letter-spacing:0}
@media (max-width:420px){.o-wnums{grid-template-columns:repeat(3,1fr)!important}.o-wnums p:first-child{grid-column:auto!important}.o-wnums b{font-size:21px}}

/* floor worth, pass 2: editorial, no cards, no tints */
.o-wgrid{gap:64px!important;align-items:start!important}
.o-wops{gap:0!important;border-top:1px solid rgba(40,30,20,.14)}
.o-wops li{display:grid!important;grid-template-columns:44px 1fr;align-items:baseline;gap:0!important;padding:24px 0!important;border-radius:0!important;background:none!important;border:0!important;border-bottom:1px solid rgba(40,30,20,.14)!important;box-shadow:none!important}
.o-wops li small{font-size:13px;font-weight:500;color:var(--mute);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.o-wops li b{font-size:clamp(19px,1.7vw,23px)!important;font-weight:500!important;letter-spacing:-.012em;line-height:1.3}
.o-wstats{padding:0!important;border-radius:0!important;background:none!important;border:0!important;gap:34px!important;border-top:1px solid rgba(40,30,20,.14);padding-top:24px!important}
.o-wnums{gap:0!important}
.o-wnums p{gap:4px!important;padding:0 18px;border-left:1px solid rgba(40,30,20,.12)}
.o-wnums p:first-child{padding-left:0;border-left:0}
.o-wnums b{font-size:clamp(30px,3vw,44px)!important;font-weight:500!important;letter-spacing:-.03em!important;color:var(--ink)!important;font-variant-numeric:tabular-nums}
.o-wnums small{font-size:12px!important;font-weight:500!important}
.o-wnums span{font-size:13px}
.o-wstats .o-bars p{gap:6px}
.o-wstats .o-bars i{height:3px!important;border-radius:3px}
.o-wstats > small{font-size:12px;color:var(--mute)}
@media (max-width:1100px){
  .o-wgrid{gap:36px!important}
  .o-wops li{grid-template-columns:36px 1fr;padding:18px 0!important}
  .o-wnums p{padding:0 12px}
  .o-wnums b{font-size:26px!important}
}
.o-wnums{align-items:start}.o-wnums span{white-space:nowrap}
@media (max-width:420px){.o-wnums span{font-size:12px}.o-wnums p{padding:0 10px}}

/* floor worth, pass 3: a photo with what it unlocks on glass, and a dial of the time it gives back */
.o-wv{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:stretch}
.o-wphoto{position:relative;margin:0;min-height:560px;border-radius:30px;overflow:hidden;box-shadow:0 50px 90px -50px rgba(40,30,20,.55)}
.o-wphoto .o-wimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;border-radius:0;box-shadow:none}
.o-wphoto::after{content:"";position:absolute;inset:auto 0 0;height:60%;background:linear-gradient(rgba(20,16,12,0),rgba(20,16,12,.35));pointer-events:none}
.o-wglass{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;list-style:none;margin:0;padding:6px 20px;border-radius:22px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.6);box-shadow:0 20px 40px -24px rgba(20,16,12,.5)}
.o-wglass li{display:flex;align-items:center;gap:14px;padding:14px 0}
.o-wglass li + li{border-top:1px solid rgba(40,30,20,.1)}
.o-wglass .ico{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--amb);flex:none;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.o-wglass .ico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.o-wglass b{font-size:17px;font-weight:600;line-height:1.3;color:var(--ink);letter-spacing:-.005em}
.o-wdial{display:grid;justify-items:center;align-content:center;gap:26px;padding:40px 32px;border-radius:30px;background:#fff;border:1px solid rgba(40,30,20,.06);box-shadow:0 50px 90px -60px rgba(40,30,20,.5);text-align:center}
.o-wring{position:relative;width:min(280px,70vw);aspect-ratio:1}
.o-wring svg{width:100%;height:100%;transform:rotate(-90deg)}
.o-wring circle{fill:none;stroke-width:7;stroke-linecap:round}
.o-wrbg{stroke:#efe8dd}
.o-wrfg{stroke:url(#none);stroke:var(--amb);stroke-dasharray:326.73;stroke-dashoffset:calc(326.73 * (1 - var(--p)));transition:stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1) .2s}
.o-wring.o-rv:not(.in) .o-wrfg{stroke-dashoffset:326.73}
.o-wring.o-rv{opacity:1!important;transform:none!important}
.o-wring p{position:absolute;inset:0;margin:0;display:grid;place-content:center;gap:2px}
.o-wring small,.o-wmoney small{font-size:12px;font-weight:500;color:var(--mute)}
.o-wring b{font-size:clamp(48px,4.6vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.o-wring span{font-size:14px;color:var(--mute)}
.o-wmoney{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:380px}
.o-wmoney p{margin:0;display:grid;gap:3px;padding:4px 10px}
.o-wmoney p + p{border-left:1px solid rgba(40,30,20,.12)}
.o-wmoney b{font-size:clamp(28px,2.6vw,36px);font-weight:500;letter-spacing:-.03em;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.o-wmoney p:first-child b{color:var(--amb)}
.o-wmoney span{font-size:13px;color:var(--mute);white-space:nowrap}
.o-wfrom{margin:0;font-size:15px;color:var(--ink);max-width:340px}
.o-wnote{font-size:12px;color:var(--mute)}
@media (max-width:1100px){
  .o-wv{grid-template-columns:1fr;gap:18px}
  .o-wphoto{min-height:0;aspect-ratio:4/5;border-radius:24px}
  .o-wglass{left:12px;right:12px;bottom:12px;padding:2px 16px;border-radius:18px}
  .o-wglass li{padding:12px 0;gap:12px}.o-wglass b{font-size:15px}.o-wglass .ico{width:32px;height:32px}
  .o-wdial{padding:30px 18px;border-radius:24px;gap:20px}
  .o-wring{width:min(230px,62vw)}
  .o-wring b{font-size:50px}
  .o-wmoney b{font-size:28px}
}
.o-wglass{background:rgba(255,252,247,.84)!important}
.o-wring circle{stroke-width:5}

/* floor worth: the "your AI handles / stays with you" row lines up with the photo and dial above, in the same calm style */
.o-worth .o-keep{grid-template-columns:1.15fr 1fr!important;gap:28px!important;margin-top:28px!important}
.o-worth .o-kai,.o-worth .o-kyou{padding:30px 32px;border-radius:30px;background:#fff;border:1px solid rgba(40,30,20,.06)!important;border-top:1px solid rgba(40,30,20,.06)!important;box-shadow:0 50px 90px -60px rgba(40,30,20,.5)}
.o-worth .o-kai small,.o-worth .o-kyou small{text-transform:none;letter-spacing:0;font-size:13px;font-weight:600;color:var(--mute);margin-bottom:14px}
.o-worth .o-kai li{border-radius:999px;padding:8px 14px;background:#faf7f2;border-color:rgba(40,30,20,.08);font-size:14px}
.o-worth .o-kyou b{font-size:21px;line-height:1.4;font-weight:600}
.o-worth .o-kyou{position:relative}
.o-worth .o-kyou::before{content:"";position:absolute;left:32px;top:0;width:44px;height:3px;border-radius:0 0 3px 3px;background:var(--amb)}
.o-worth > .o-small{margin-top:22px}
@media (max-width:1100px){.o-worth .o-keep{grid-template-columns:1fr!important;gap:18px!important;margin-top:18px!important}.o-worth .o-kai,.o-worth .o-kyou{padding:24px 20px;border-radius:24px}.o-worth .o-kyou::before{left:20px}}
/* labels: what each side means */
.o-wglass{padding:16px 20px 6px!important}
.o-wglass ol{list-style:none;margin:0;padding:0}
.o-wglass .o-wlabel{margin:0 0 2px;font-size:13px;font-weight:600;color:var(--amb)}
.o-wdial > .o-wlabel{margin:0 0 -6px;font-size:13px;font-weight:600;color:var(--amb)}
.o-wring span{max-width:150px;line-height:1.3;margin:2px auto 0}
@media (max-width:1100px){.o-wglass{padding:12px 16px 2px!important}}
@media (max-width:1100px){.o-wphoto{aspect-ratio:3/4}.o-wphoto .o-wimg{object-position:68% 28%}}
.o-wphoto .o-wimg{object-position:var(--op,50% 35%)!important}
/* phone: the photo stays whole above, the glass list overlaps only its bottom edge, so no face is ever covered */
@media (max-width:1100px){
  .o-wphoto{aspect-ratio:auto!important;overflow:visible;box-shadow:none;border-radius:0;display:grid}
  .o-wphoto::after{display:none}
  .o-wphoto .o-wimg{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:4/3;border-radius:24px!important;box-shadow:0 30px 60px -40px rgba(40,30,20,.55)!important}
  .o-wglass{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin:-56px 12px 0;background:rgba(255,252,247,.92)!important}
}

/* floor pages: what this floor holds (set once) and what it runs (the day) in one section */
.o-holds{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 auto 34px;padding-left:0;padding-right:0;max-width:1200px!important}
.o-holds li{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:#fff;border:1px solid rgba(40,30,20,.06);box-shadow:0 20px 40px -34px rgba(40,30,20,.5)}
.o-holds .ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#faf4ec;color:var(--amb);flex:none}
.o-holds .ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
.o-holds span{display:grid;gap:2px}
.o-holds b{font-size:16px;font-weight:600;color:var(--ink)}
.o-holds small{font-size:13px;color:var(--mute);line-height:1.35}
.o-autosum{display:flex;justify-content:center;align-items:center;gap:22px;margin:0 auto 26px;font-size:14px;font-weight:600;color:var(--ink)}
.o-autosum span{display:inline-flex;align-items:center;gap:8px}
.o-autosum .is-day{color:var(--mute);font-weight:500;padding-left:22px;border-left:1px solid rgba(40,30,20,.14)}
@media (max-width:1100px){
  .o-holds{grid-template-columns:1fr;gap:10px;margin-bottom:26px;padding:0 20px!important}
  .o-holds li{padding:13px 14px;border-radius:16px}
  .o-autosum{flex-wrap:wrap;gap:10px 18px;padding:0 20px;font-size:13px}
  .o-autosum .is-day{display:none}
}

/* what this floor makes: every card the same shape, its panel rising from the bottom edge */
.o-shcard{grid-template-rows:auto 1fr}
.o-shvis{place-items:end center!important;padding:0 22px!important}
.o-shvis .vz-card{width:100%!important;max-width:340px!important;border-radius:16px 16px 0 0!important;border-bottom:0!important;max-height:300px;overflow:hidden}
.o-shcard h3{text-align:left;min-height:54px}
@media (max-width:1100px){.o-shvis{padding:0 16px!important}.o-shcard h3{min-height:0}}

/* what this floor makes: the detail line under each card, then everything the floor covers */
.o-shcard p{margin:0;font-size:15px;line-height:1.5;color:var(--mute)}
.o-shcard h3{min-height:0!important;margin-top:4px!important}
.o-cover{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px!important}
.o-cover article{padding:26px 30px;border-radius:26px;background:#fff;border:1px solid rgba(40,30,20,.06);box-shadow:0 40px 80px -60px rgba(40,30,20,.5)}
.o-cover .o-wlabel{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--amb)}
.o-cover ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.o-cover li{display:flex;gap:10px;align-items:baseline;font-size:15px;line-height:1.4;color:var(--ink)}
.o-cover li i{font-style:normal;font-size:12px;color:var(--amb);flex:none}
@media (max-width:1100px){.o-cover{grid-template-columns:1fr;gap:14px;margin-top:26px!important}.o-cover article{padding:22px 20px;border-radius:22px}.o-cover ul{grid-template-columns:1fr}}
/* makes cards: keep each panel at the width its content was designed for, bottom-aligned, nothing clipped */
.o-shvis .vz-card{width:310px!important;max-width:calc(100% - 8px)!important;max-height:none!important;overflow:visible}
.o-shvis{padding:0!important;height:440px!important}
.o-shvis .vz-stats,.o-shvis [class*="stats"]{gap:6px}
.o-shvis .vz-card b,.o-shvis .vz-card strong{overflow-wrap:anywhere}
@media (max-width:1100px){.o-shvis{height:420px!important}.o-shvis .vz-card{width:290px!important}}
.o-shvis .vz-stats p{min-width:0;padding:10px 8px!important}
.o-shvis .vz-stats b{font-size:19px!important;white-space:nowrap}
.o-shvis .vz-stats small{white-space:nowrap;font-size:11px!important}
.o-shvis .vz-verdict{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* makes cards: every panel the same height and every title and line on the same baseline */
.o-shvis .vz-card{height:290px;box-sizing:border-box;align-self:end}
@media (min-width:1101px){
  .o-shelf{grid-template-rows:auto auto auto;row-gap:0}
  .o-shcard{grid-row:span 3;grid-template-rows:subgrid!important;gap:0!important}
  .o-shcard h3{margin:16px 0 8px!important}
}
@media (max-width:1100px){.o-shvis .vz-card{height:280px}}

/* floor pages: the screens she gets, tabs on top with "Included" (owner, 23 Oct: easy to miss under the picture) */
.o-vw.is-top{display:grid;gap:22px}
.o-vwtop{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.o-vwinc{display:inline-flex;align-items:center;gap:8px;padding:10px 16px 10px 10px;border-radius:999px;background:rgba(181,96,26,.1);color:var(--amb);font-size:14px;font-weight:600;white-space:nowrap}
.o-vwinc i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--amb);color:#fff;font-style:normal;font-size:12px}
.o-vw.is-top .o-vwtabs,.o-wfdchips{margin:0!important;padding:6px;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(40,30,20,.08);box-shadow:0 20px 40px -26px rgba(40,30,20,.45)}
.o-vw.is-top .o-vwtabs button,.o-wfdchips button{padding:12px 18px;font-size:15px}
.o-vw.is-top .o-vwcaps{text-align:center}
@media (max-width:1100px){
  .o-vwtop{flex-direction:column;gap:12px}
  .o-vw.is-top .o-vwtabs{width:100%;justify-content:flex-start}
  .o-vw.is-top .o-vwtabs button,.o-wfdchips button{padding:10px 14px;font-size:14px}
}
@media (max-width:1100px){
  .o-vw.is-top{display:flex!important;flex-direction:column;align-items:stretch;gap:16px}
  .o-vw.is-top .o-vwtop{order:-1;align-items:center;margin:0 16px}
  .o-vw.is-top .o-vwtabs{position:static;margin:0!important;width:100%!important;order:0}
  .o-vw.is-top .o-vwstage{margin:0 16px}
}
@media (min-width:1101px){.o-vw.is-top{justify-items:center}.o-vw.is-top .o-vwstage{width:100%}}

/* "N fully automated workflows": on every floor hero, the screens badge and the building directory */
.o-wf{display:inline-flex;align-items:center;gap:8px;width:max-content;margin:14px 0 0;padding:7px 14px 7px 7px;border-radius:999px;background:rgba(181,96,26,.1);color:var(--amb);font-size:14px;font-weight:600;line-height:1}
.o-wf i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--amb);color:#fff;font-style:normal;font-size:11px}
.o-wf.is-sm{margin:8px 0 2px;font-size:12.5px;padding:5px 11px 5px 5px}.o-wf.is-sm i{width:18px;height:18px;font-size:10px}
.o-dirt .o-wf{display:inline-flex}
@media (max-width:1100px){.o-chtext .o-wf:not(.is-sm){margin:12px auto 0}.o-dh2 .o-chtext .o-wf:not(.is-sm){margin-left:0}}
.o-batt{display:inline-flex;align-items:center;gap:10px;margin:16px auto 0;padding:9px 18px 9px 9px;border-radius:999px;background:var(--ink);color:#fff;font-size:15px;font-weight:600}
.o-batt i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--amb);color:#fff;font-style:normal;font-size:12px}
.o-head.o-c:has(.o-batt){display:grid;justify-items:center}
@media (max-width:760px){.o-batt{font-size:13.5px;padding:8px 14px 8px 8px}}
.o-batt{line-height:1.3!important;text-align:left}
@media (max-width:760px){.o-batt{border-radius:22px;margin-left:20px;margin-right:20px;max-width:calc(100% - 40px);box-sizing:border-box}}

/* quiet, not loud (owner, 23 Oct): workflows, "included" and batteries read as calm text with a small tick, never filled pills */
.o-wf,.o-vwinc,.o-batt{background:none!important;padding:0!important;border-radius:0!important;box-shadow:none!important;color:var(--ink)!important;font-weight:500!important;gap:9px!important}
.o-wf i,.o-vwinc i,.o-batt i{width:18px!important;height:18px!important;background:none!important;border:1.5px solid var(--amb);color:var(--amb)!important;font-size:10px!important;font-weight:700}
.o-wf{font-size:15px;margin-top:10px!important}
.o-vwinc{font-size:14px!important}
.o-batt{font-size:15px!important;margin-top:18px!important}
/* the directory: one quiet line, no tick, so seven cards don't shout */
.o-wf.is-sm{color:var(--mute)!important;font-size:13px!important;margin:6px 0 4px!important}
.o-wf.is-sm i{display:none!important}
@media (max-width:760px){.o-batt{font-size:14px!important;margin-left:auto!important;margin-right:auto!important;border-radius:0!important}}



/* Workflow hand-off: two objects rotate past each other, with readable resting positions. */
.o-wfd{scroll-margin-top:165px;overflow:hidden;font-family:var(--sans)}
.o-pillrail-workflows{width:calc(100% - 40px)!important;margin:0 auto 20px}
.o-wfdchips button:focus-visible,.o-wfdcontrols button:focus-visible,.o-wfdchat:focus-visible{outline:2px solid var(--amb);outline-offset:4px}
.o-wfdexperience{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);max-width:1200px;margin:32px auto 0;border:1px solid rgba(80,60,35,.1);border-radius:20px;background:var(--paper);overflow:hidden;box-shadow:none}
.o-wfdstories{display:grid;align-items:center;padding:40px;min-width:0}
.o-wfdstory,.o-wfdstory[hidden]{display:block;grid-area:1/1;visibility:hidden;pointer-events:none}.o-wfdstory.on{visibility:visible;pointer-events:auto}
.o-wfdeyebrow{margin:0 0 22px;font:500 14px/1.4 var(--sans);letter-spacing:0;color:var(--mute)}
.o-wfdstory h3{margin:0 0 20px;font:600 28px/34px var(--sans);letter-spacing:-.02em;color:var(--ink)}
.o-wfdbody{margin:0;color:#3b3934;font:400 17px/27px var(--sans)}
.o-wfdstory dl{display:grid;gap:19px;margin:30px 0 0;padding:24px 0 0;border-top:1px solid var(--hair)}
.o-wfdstory dt{margin:0 0 7px;font:600 14px/20px var(--sans);letter-spacing:0;color:var(--ink)}
.o-wfdstory dd{margin:0;font:400 15px/23px var(--sans);color:#5c5852}
.o-wfdvisual{position:relative;isolation:isolate;min-width:0;overflow:hidden;background:#e4dbce}
.o-wfdplate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.64;z-index:-2}
.o-wfdvisual::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(248,244,236,.12),rgba(230,219,203,.32) 65%,rgba(230,219,203,.82))}
.o-wfdcontrols{grid-column:1/-1;display:flex;align-items:center;gap:26px;padding:12px 26px;border-top:1px solid var(--hair)}
.o-wfdcontrols button{font:500 14px var(--sans);color:#655e55;border:0;border-bottom:1px solid transparent;background:transparent;padding:8px 0;cursor:pointer;min-height:44px;transition:color .25s,border-color .25s}
.o-wfdcontrols button:hover{color:var(--ink);border-bottom-color:var(--amb)}
.o-wfdcontrols small{margin-right:auto;font-size:12px;letter-spacing:0;color:#857d73}
.o-wfdstage{position:relative;height:650px;width:100%;perspective:1400px;transform-style:preserve-3d}
.o-wfddash,.o-wfdphone{position:absolute;left:50%;transition:transform 1.15s cubic-bezier(.2,.7,.2,1),opacity 1.15s;will-change:transform}
.o-wfddash{top:145px;width:88%;aspect-ratio:16/10;transform:translateX(-50%) translateX(45px) translateZ(-190px) rotateY(-18deg);opacity:.5;z-index:1}
.o-wfdshot{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .5s}
.o-wfdshot.on{opacity:1;visibility:visible}
.o-wfdshot img{width:100%;height:100%;object-fit:contain;object-position:top center;background:#faf9f5;border-radius:12px;border:1px solid rgba(40,30,20,.1);box-shadow:0 35px 70px -30px rgba(20,16,12,.5)}
.o-wfdphone{top:34px;transform:translateX(-50%) translateZ(35px) rotateY(0);z-index:2}
.o-wfdchat{display:none}.o-wfdchat.on{display:block}
.o-wfdphone .occ{width:256px}
.o-wfd .occ-body{gap:3cqw;padding:4cqw;overflow-y:auto;scrollbar-width:none;justify-content:flex-start}
.o-wfd .occ-body::-webkit-scrollbar{display:none}
.o-wfd .occ-steps{padding:3.6cqw}
.o-wfd .occ-steps li{font-size:4.7cqw;line-height:1.4}
.o-wfd .occ-sh{font-size:4.7cqw;gap:2cqw}.o-wfd .occ-sh small{font-size:4.2cqw}
.o-wfd .occ-ai{font:400 5cqw/1.45 var(--sans)}
.o-wfd .occ-card{padding:4cqw}.o-wfd .occ-card small{font-size:4cqw}.o-wfd .occ-card b{font-size:5cqw;line-height:1.4}
.o-wfd .occ-btn{font-size:4.7cqw;padding:3cqw 4cqw}
.o-wfdstage.flip .o-wfdphone{transform:translateX(-50%) translateX(-230px) translateZ(-200px) rotateY(44deg) scale(.78);opacity:.55}
.o-wfdstage.flip .o-wfddash{transform:translateX(-50%) translateX(20px) translateZ(20px) rotateY(0);opacity:1;z-index:3}
.o-wfdstate{position:absolute;bottom:17px;left:16px;right:16px;text-align:center;margin:0;font-size:11px;letter-spacing:.025em;color:#52493d}
@media (max-width:1240px){.o-wfdexperience{margin-left:40px;margin-right:40px}.o-wfdstories{padding:30px}}
@media (max-width:1100px){
  .o-wfdexperience{grid-template-columns:minmax(0,.43fr) minmax(0,.57fr)}
  .o-wfdstory h3{font-size:28px}.o-wfdbody{font-size:16px}
  .o-wfdstage{height:650px}
  .o-wfdphone .occ{width:246px}
  .o-wfdstage.flip .o-wfdphone{transform:translateX(-50%) translateX(-100px) translateZ(-240px) rotateY(48deg) scale(.8);opacity:.3}
  .o-wfdstage.flip .o-wfddash{transform:translateX(-50%) translateZ(20px) rotateY(0)}
}
@media (max-width:760px){
  .o-wfdexperience{grid-template-columns:1fr;margin:24px 20px 0;border-radius:20px}
  .o-wfdstories{padding:28px 26px;align-items:start}
  .o-wfdeyebrow{margin-bottom:14px}
  .o-wfdstory h3{font-size:28px;max-width:500px;margin-bottom:14px}
  .o-wfdstory dl{margin-top:20px;padding-top:18px;gap:15px}
  .o-wfdstory dd{font-size:15px}
  .o-wfdstage{height:630px;perspective:1200px}
  .o-wfdphone{top:25px}.o-wfdphone .occ{width:min(256px,74vw)}
  .o-wfddash{top:145px;width:92%;transform:translateX(-50%) translateX(20px) translateZ(-140px) rotateY(-18deg)}
  .o-wfdstate{bottom:18px;font-size:10px}
  .o-wfdcontrols{padding:10px 22px;gap:20px;flex-wrap:wrap}
  .o-wfdcontrols small{width:100%;margin:4px 0 -6px}
}
@media (prefers-reduced-motion:reduce){
  .o-wfddash,.o-wfdphone,.o-wfdshot,.o-wfd .occ *{transition:none!important;animation:none!important}
  .o-wfdstage.flip .o-wfdphone{opacity:0}
}
/* All examples remain available if scripting is unavailable. */
html:not(.o-js) .o-wfdchips,html:not(.o-js) .o-wfdcontrols,html:not(.o-js) .o-wfddash,html:not(.o-js) .o-wfdstate{display:none}
html:not(.o-js) .o-wfdexperience{display:block}
html:not(.o-js) .o-wfdstories{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
html:not(.o-js) .o-wfdstory{display:block;grid-area:auto;visibility:visible;pointer-events:auto}
html:not(.o-js) .o-wfdstage{height:auto;perspective:none;padding:28px 0}
html:not(.o-js) .o-wfdphone{position:static;transform:none;display:flex;flex-wrap:wrap;justify-content:center;gap:30px}
html:not(.o-js) .o-wfdchat{display:block}

.o-wfdzoom{width:min(1400px,94vw);max-width:94vw;max-height:90vh;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:16px;background:#faf8f3;box-shadow:0 30px 100px rgba(0,0,0,.25);color:var(--ink)}
.o-wfdzoom::backdrop{background:rgba(30,26,21,.58);backdrop-filter:blur(8px)}
.o-wfdzoom-head{display:flex;align-items:center;gap:22px;padding:14px 20px;border-bottom:1px solid var(--hair)}
.o-wfdzoom-head p{margin:0 auto 0 0;font-size:14px}.o-wfdzoom-head button{font:500 13px var(--sans);background:none;border:0;cursor:pointer;padding:10px 0;color:var(--ink)}
.o-wfdzoom-body{overflow:auto;max-height:calc(90vh - 74px)}
.o-wfdzoom-body img{display:block;width:100%;height:auto}.o-wfdzoom.is-zoomed img{width:1800px;max-width:none}

/* Preserve the shared pill tabs; only let the inclusion line wrap on small screens. */
.o-dapp .o-vwinc{font-family:var(--sans);line-height:1.6;white-space:normal;text-align:center}
.o-dapp .o-vwtabs button:focus-visible{outline:2px solid var(--amb);outline-offset:3px}
@media(max-width:760px){.o-wfdcontrols{gap:8px 18px}}

/* One thing at a time: the conversation hands over to its result, with no ghost screen. */
.o-wfdstage .o-wfdphone{transform:translateX(-50%);opacity:1;visibility:visible;transition:none}
.o-wfdstage .o-wfddash{top:45px;width:92%;height:550px;aspect-ratio:auto;transform:translateX(-50%);opacity:0;visibility:hidden;transition:none;pointer-events:none}
.o-wfdstage.flip .o-wfdphone{transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none}
.o-wfdstage.flip .o-wfddash{transform:translateX(-50%);opacity:1;visibility:visible;pointer-events:auto;animation:o-result-arrive .55s var(--ease)}
.o-wfdstage:not(.flip) .o-wfdphone{animation:o-result-arrive .55s var(--ease)}
@keyframes o-result-arrive{from{opacity:0;translate:0 12px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
.o-wfdshot img{box-shadow:0 14px 36px -24px rgba(20,16,12,.3);border-radius:10px}
.o-wfd .occ-shhd{background:var(--paper);font-family:var(--sans)}
.o-wfd .occ-shhd b{color:var(--ink)}
.o-wfd .occ-shhd span{text-align:left;font-weight:500;color:#5c5852}
.o-wfd .occ-shbar span{border-radius:7px}
.o-wfd .occ-sheet.open .occ-shimg img{transform:none}

/* The capability viewer presents one clear screen. Device choice never layers two UIs. */
.o-dapp .o-vw.is-single .o-vwstage{height:auto;aspect-ratio:1440/934;width:100%!important;max-width:1120px;border-radius:14px;background:var(--paper);border:1px solid var(--hair);box-shadow:0 20px 45px -35px rgba(20,20,23,.25)}
.o-dapp .is-single .o-vwplate,.o-dapp .is-single .o-vwstage::after{display:none}
.o-dapp .is-single .o-vwslide{display:none;opacity:1;transform:none;transition:none}
.o-dapp .is-single .o-vwslide.on{display:block}
.o-dapp .is-single .o-vwbr{left:0;top:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none}
.o-dapp .is-single .o-vwbr img{height:calc(100% - 34px);object-fit:contain;object-position:top;background:var(--paper)}
.o-dapp .is-single .o-vwph{display:none}
.o-dapp .is-single.is-phone .o-vwstage{height:680px;aspect-ratio:auto;background:linear-gradient(155deg,var(--paper),#eee8de)}
.o-dapp .is-single.is-phone .o-vwbr{display:none}
.o-dapp .is-single.is-phone .o-vwph{display:block;width:286px;left:50%;right:auto;top:26px;bottom:auto;transform:translateX(-50%);box-shadow:0 20px 45px -22px rgba(20,20,23,.28)}
.o-vwtools{display:flex;align-items:center;justify-content:space-between;width:100%;gap:24px;font:500 14px/1.4 var(--sans)}
.o-vwtools>div{display:flex;gap:4px;border:1px solid var(--hair);border-radius:8px;padding:3px;background:var(--paper)}
.o-vwtools button{border:0;background:none;font:inherit;color:#6f6a62;cursor:pointer;min-height:42px;padding:9px 16px;border-radius:5px}
.o-vwtools [aria-pressed="true"]{background:#eae4d9;color:var(--ink)}
.o-vwtools button:focus-visible{outline:2px solid var(--amb);outline-offset:3px}
.o-dapp .is-single .o-vwcap{transition:none;display:none}.o-dapp .is-single .o-vwcap.on{display:grid}
@media(max-width:760px){
 .o-dapp .o-vw.is-single .o-vwstage{margin:0!important}
 .o-dapp .is-single.is-phone .o-vwstage{height:640px}
 .o-dapp .is-single.is-phone .o-vwph{width:270px;top:22px}
 .o-dapp .o-vwtools{gap:8px}.o-vwtools button{padding:9px 10px;font-size:13px}
 .o-wfdstage .o-wfddash{top:38px;height:540px}
}
@media(prefers-reduced-motion:reduce){.o-wfdstage .o-wfdphone,.o-wfdstage.flip .o-wfddash{animation:none}}

/* Specific finished work stays readable; longer documents can be read without leaving the scene. */
.o-wfdshot{display:flex;flex-direction:column;overflow:hidden;background:var(--paper);border:1px solid var(--hair);border-radius:12px;box-shadow:0 20px 48px -30px rgba(30,25,20,.3)}
.o-wfdshot figcaption{padding:16px 20px;border-bottom:1px solid var(--hair);font:600 14px/1.5 var(--sans);color:var(--ink)}
.o-wfdresult{overflow:auto;min-height:0;flex:1;padding:24px;background:#f3efe7;scrollbar-width:thin}
.o-wfdshot img{width:100%;height:auto;display:block;object-fit:initial;border:0;border-radius:0;box-shadow:none;background:transparent}
.o-wfd .occ-shimg{overflow:auto;scrollbar-width:thin}
.o-wfd .occ-shimg img{height:auto;min-height:0;object-fit:initial}
.o-dapp .is-single:not(.is-phone) .o-vwbr{display:block!important}
.o-dapp .is-single.is-phone .o-vwph{margin-left:0!important}
.o-vwzoom.is-portrait:not(.is-zoomed) .o-wfdzoom-body img{width:auto;max-width:100%;height:auto;max-height:calc(90vh - 76px);object-fit:contain;margin:auto}
@media(max-width:600px){.o-wfdresult{padding:16px}.o-wfdshot figcaption{padding:14px 16px}}


/* One shared glass rail: one row at every width, with native swipe and quiet edge controls. */
.o-pillrail{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;width:100%;max-width:1120px;box-sizing:border-box;padding:4px;border:1px solid rgba(255,255,255,.85);border-radius:999px;background:rgba(255,255,255,.58);backdrop-filter:blur(20px) saturate(1.15);-webkit-backdrop-filter:blur(20px) saturate(1.15);box-shadow:0 1px 0 rgba(40,30,20,.04),0 8px 24px -18px rgba(40,30,20,.3)}
.o-pillrail.has-overflow{grid-template-columns:40px minmax(0,1fr) 40px}
.o-pillrail .o-vwtabs{position:static!important;display:flex;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:4px;min-width:0;max-width:none;width:100%!important;margin:0!important;padding:2px!important;order:0;border:0;border-radius:999px;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow-x:auto!important;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;mask-image:none;-webkit-mask-image:none;scroll-padding-inline:12px}
.o-pillrail .o-vwtabs button{flex:0 0 auto;white-space:nowrap;min-height:40px}
.o-pillrail.has-more .o-vwtabs{mask-image:linear-gradient(to right,#000 calc(100% - 14px),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 14px),transparent)}
.o-pillrail.has-before .o-vwtabs{mask-image:linear-gradient(to right,transparent,#000 14px);-webkit-mask-image:linear-gradient(to right,transparent,#000 14px)}
.o-pillrail.has-before.has-more .o-vwtabs{mask-image:linear-gradient(to right,transparent,#000 14px,#000 calc(100% - 14px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
.o-pillarrow{display:grid;place-items:center;width:40px;height:44px;padding:0;border:0;border-radius:999px;background:transparent;color:#4e4941;cursor:pointer;transition:background .2s,opacity .2s}
.o-pillarrow[hidden]{display:none}.o-pillarrow:disabled{opacity:.22;cursor:default}.o-pillarrow:not(:disabled):hover{background:rgba(40,30,20,.06)}
.o-pillarrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.o-pillarrow:focus-visible{outline:2px solid var(--amb);outline-offset:-3px}
.o-dapp .o-vwtop{justify-self:stretch;min-width:0;align-self:stretch}
html:not(.o-js) .o-pillrail-workflows{display:none}

.o-pillrail .o-vwtabs button:focus-visible{outline:2px solid var(--amb);outline-offset:-3px}

/* One opening message across screen sizes; the live office is mobile-only. */
.o-mobile-office{display:none}
.o-hopening{display:contents}
#office-hero .o-hlead{font:400 19px/1.5 var(--sans);color:var(--ink);margin:26px 0 0;max-width:480px;text-wrap:pretty}
#office-hero .o-hlead span{display:block;margin-top:4px}
#office-hero .o-hprimary{display:flex;margin:30px 0 0}
#office-hero .o-hprimary .o-btn{min-width:230px;justify-content:center;min-height:52px}
#office-hero .o-hsubscription{margin:16px 0 0;width:100%}
#office-hero .o-hsubscription .o-hpromise{display:grid!important;margin:0;width:100%}
#office-hero .o-hsubscription p{display:flex;align-items:center;gap:7px;width:100%;max-width:none;font-size:14px;line-height:22px;font-weight:400;color:#625d56}
#office-hero .o-hsubscription p>span{white-space:nowrap}
#office-hero .o-hsubscription .o-hpromise{gap:5px}
#office-hero .o-hsubscription .o-hpromise>small{margin:0!important;font:400 13px/20px var(--sans);color:#625d56}
#office-hero .o-hsubscription small em{font-weight:600}
#office-hero .o-hfollow{margin:24px 0 0;font-size:14px}
#office-hero .o-hfollow-mobile,#office-hero .o-hsubscription-mobile{display:none}
#office-hero .o-hsubscription-wide{margin:24px 0 0}
#office-hero .o-hsubscription-wide .o-hpromise{display:grid!important;margin:0}
@media(max-width:1100px){#office-hero .o-hsubscription-wide .o-hpromise{justify-items:center}#office-hero .o-hsubscription-wide p{max-width:470px;text-align:left}}
@media(max-width:760px){
 #office-hero .o-hfollow-wide,#office-hero .o-hsubscription-wide{display:none}
 #office-hero .o-hfollow-mobile{display:block;text-align:center}
 #office-hero .o-hsubscription-mobile{display:block}
}

#office-hero .o-hsubscription .o-aslogos{justify-self:start}
#office-hero .o-hsubscription .o-aslogos{flex:none}
#office-hero .o-hsubscription .o-aslogos em{width:22px;height:22px;margin-left:-7px}
#office-hero .o-hsubscription .o-aslogos em:first-child{margin-left:0}
#office-hero .o-hsubscription .o-aslogos svg{width:14px;height:14px}
#built-around-you .o-value{width:100%;max-width:620px;margin:24px auto 32px;text-align:center;box-sizing:border-box}
#built-around-you .o-value .o-sub{padding:0;margin:0;max-width:none;font-size:22px;line-height:1.5;font-weight:400;text-wrap:balance}
#built-around-you .o-value-saving{display:block}
#built-around-you .o-value strong{font-weight:600}
#built-around-you .o-value-estimate{display:block;margin-top:10px;font:400 12px/18px var(--sans);color:var(--mute)}
@media(max-width:760px){#built-around-you .o-value .o-sub{font-size:19px}}
.o-keep-together{white-space:nowrap}
@media(max-width:1100px){
 #office-hero .o-hgrid{display:flex;flex-direction:column;align-items:stretch}
 #office-hero .o-hlead{margin:26px auto 0}
 #office-hero .o-hprimary{justify-content:center}
 #office-hero .o-hsubscription{text-align:center}
 #office-hero .o-hsubscription p{justify-content:center}
 #office-hero .o-hsubscription .o-hpromise{justify-items:stretch}
 #office-hero .o-hsubscription .o-aslogos{justify-self:center}
 #office-hero .o-hstage{order:2}
}
@media(max-width:760px){
 #office-hero{padding:18px 0 48px!important}
 #office-hero .o-hgrid{gap:0!important}
 #office-hero .o-hopening{display:flex;flex-direction:column;min-height:calc(100svh - 94px)}
 #office-hero .o-mobile-office{display:block;margin:0 auto 28px;width:100%;max-width:440px;text-align:center}
 .o-mobile-model{width:100%}
 .o-mobile-office picture,.o-mobile-office img{display:block;width:100%;height:auto;aspect-ratio:4/3}
 #office-hero .o-hcopy{display:contents}
 #office-hero .o-hintro{padding:0 24px;text-align:center;width:100%;max-width:460px;margin:0 auto;box-sizing:border-box}
 #office-hero .o-hcopy .o-h1{padding:0;font-size:clamp(34px,9.25vw,38px)!important;line-height:1.1!important;letter-spacing:-.04em;text-wrap:balance}
 #office-hero .o-hintro .o-mute{color:#77716a}
 #office-hero .o-hsubscription p{font-size:clamp(13px,3.46vw,14px)}
 #office-hero .o-hlead{font-size:16px;line-height:1.55;max-width:340px;margin-top:24px}
 #office-hero .o-hstage{order:3;display:block!important;margin:48px 0 432px!important}
}

/* Keep the owner’s longer CTA on one line on narrow phones. */
.o-page .nav .btn-sm{white-space:nowrap;flex-shrink:0}
#register{scroll-margin-top:110px}
@media(max-width:380px){
 .o-page .nav,.o-page .nav:not(.scrolled){padding-left:10px!important}
 .o-page .nav .wordmark{font-size:15px;gap:8px}
 .o-page .nav .btn-sm{font-size:13px;padding:0 10px!important}
}
/* Mobile uses the live clay scene; the image stays as its loading and reduced-motion fallback. */
.o-mobile-model{position:relative;aspect-ratio:4/3;isolation:isolate}
.o-mobile-model .hero-scene{position:absolute;inset:0;overflow:hidden}
.o-mobile-model .hero-scene canvas{width:100%;height:100%;opacity:0;transition:opacity .5s}
.o-mobile-model.ready .hero-scene canvas{opacity:1}
.o-mobile-model.ready picture{visibility:hidden}
.o-mobile-status{display:none}
.o-mobile-model .lbl b{font:500 9px/1.3 var(--sans);padding:3px 6px;background:rgba(40,37,33,.78);color:#fff;border-radius:99px}
.o-mobile-model .lbl.you b{background:rgba(255,255,255,.8);color:var(--amb)}
.o-mobile-model .bub{display:none}
@media(prefers-reduced-motion:reduce){.o-mobile-model .hero-scene{display:none}.o-mobile-model.ready picture{visibility:visible}}
/* Without playback scripting, the How it works illustration remains readable. */
html:not(.o-js) .h-flow3 :is(.h-f,.h-wire,.h-lvl,.h-fl){opacity:1;transform:none}
