/* bahlr service pages (ai integration first). Used with site.css. */
.sv-top{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.sv-top::before{content:"";position:absolute;right:-18%;top:-30%;width:70%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(80,121,139,.35),transparent);pointer-events:none}
.sv-top>.wrap{position:relative}
.crumb{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:300;color:var(--gain);padding-top:40px}
.crumb a{color:var(--gain);text-decoration:none}
.crumb a:hover{color:var(--paper)}
.sv-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;padding:48px 0 112px}
.sv-hero-copy{grid-column:span 7;display:flex;flex-direction:column;gap:28px}
.sv-tag{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:200;color:var(--laurel)}
.sv-tag svg{width:20px;height:20px;color:var(--coral)}
.sv-hero h1{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:72px;line-height:1;letter-spacing:-.03em;text-wrap:balance}
.sv-hero .dek{font-size:19px;line-height:1.6;font-weight:300;color:var(--gain);max-width:600px;text-wrap:pretty}
.sv-hero .dek b{color:var(--paper);font-weight:500}
.sv-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.sv-ctas .btn-line{color:var(--paper);height:60px;cursor:pointer;background:none;font-family:inherit}
.sv-ctas .btn-line svg{width:18px;height:18px;margin-right:10px;color:var(--coral)}

/* the example conversation: a modern chat window floating over the dark hero */
.sv-tag svg.twk{transform-origin:50% 50%;animation:twinkle 6s ease-in-out 1.2s infinite;overflow:visible}
.sv-tag svg.twk path:last-child{transform-box:fill-box;transform-origin:center;animation:twinkle-small 6s ease-in-out 1.45s infinite}
.chat-wrap{grid-column:9/span 4;position:relative}
.chat-wrap::before{content:"";position:absolute;inset:8% -12% -6% -12%;background:radial-gradient(closest-side,rgba(239,69,69,.28),transparent 70%),radial-gradient(closest-side at 70% 30%,rgba(125,166,159,.35),transparent 70%);filter:blur(30px);pointer-events:none}
.chat{position:relative;background:#fff;color:var(--ink);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;height:560px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 50px 90px -30px rgba(0,0,0,.7),0 16px 30px -12px rgba(0,0,0,.45);animation:chatfloat 8s ease-in-out infinite}
@keyframes chatfloat{50%{transform:translateY(-8px)}}
.chat-top{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #edf1f2;background:linear-gradient(#fff,#f8fafb)}
.chat-top .av{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#ef4545,#f5876a);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px -4px rgba(239,69,69,.6)}
.chat-top .av svg{width:20px;height:20px}
.chat-top b{display:block;font-size:14.5px;font-weight:600;letter-spacing:-.005em}
.chat-top .st{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7b81;padding-top:2px}
.chat-top .st i{width:7px;height:7px;border-radius:50%;background:#34b27b;box-shadow:0 0 0 0 rgba(52,178,123,.5);animation:online 2.4s ease-out infinite}
@keyframes online{0%{box-shadow:0 0 0 0 rgba(52,178,123,.5)}70%,100%{box-shadow:0 0 0 7px rgba(52,178,123,0)}}
.chat-top .tm{margin-left:auto;font-size:12px;color:#8a979b;font-variant-numeric:tabular-nums}
.chat-log{flex:1;padding:18px 16px 8px;display:flex;flex-direction:column;gap:8px;justify-content:flex-end;overflow:hidden;background:linear-gradient(#fbfcfc,#f4f7f8)}
.bub{max-width:84%;padding:10px 14px;font-size:14.5px;line-height:1.45;border-radius:18px;opacity:0;transform:translateY(10px) scale(.96);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.9,.3,1.2)}
.bub.in{opacity:1;transform:none}
.bub.v{align-self:flex-end;background:linear-gradient(135deg,#24495a,#0e1e26);color:#fff;border-bottom-right-radius:6px;transform-origin:100% 100%;box-shadow:0 6px 14px -8px rgba(14,30,38,.6)}
.bub.a{align-self:flex-start;background:#fff;border:1px solid #e4eaec;border-bottom-left-radius:6px;transform-origin:0 100%;box-shadow:0 4px 12px -8px rgba(14,30,38,.25)}
.bub.dots{display:flex;gap:4px;padding:13px 15px}
.bub.dots i{width:6px;height:6px;border-radius:50%;background:#9aa8ae;animation:blink 1s infinite}
.bub.dots i:nth-child(2){animation-delay:.15s}.bub.dots i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
.chat-in{margin:10px 14px 14px;display:flex;align-items:center;justify-content:space-between;border:1px solid #e3e9eb;border-radius:999px;padding:6px 6px 6px 18px;font-size:14px;color:#9aa8ae;background:#fff}
.chat-in i{width:34px;height:34px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center}
.chat-in svg{width:16px;height:16px}
.lead-card{position:absolute;left:-56px;right:44px;bottom:78px;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:rgba(14,30,38,.94);color:#fff;font-size:13.5px;line-height:1.4;box-shadow:0 24px 50px -16px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(16px) scale(.94);transition:opacity .4s ease,transform .6s cubic-bezier(.2,.9,.3,1.25);pointer-events:none}
.lead-card.in{opacity:1;transform:none}
.lead-card .k{font-size:22px;line-height:1.1}
.lead-card div{display:flex;flex-direction:column;gap:3px}
.lead-card b{font-size:15px;font-weight:600}
.lead-card b em{font-style:normal;color:#fff;background:var(--coral);font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:3px 8px;border-radius:999px;margin-left:6px;vertical-align:2px}
.lead-card span{color:#b9c6ca}
.lead-card .ok{display:flex;align-items:center;gap:6px;color:#7fe0b1;font-weight:500}
.lead-card .ok svg{width:14px;height:14px;flex-shrink:0}
.chat-cap{font-size:13px;color:#8a979b;padding:18px 0 0;text-align:right;grid-column:9/span 4}

/* sections */
.sv-sec{padding-top:128px;padding-bottom:128px}
.lede-lg{font-size:20px;line-height:1.6;color:var(--body);max-width:640px;text-wrap:pretty}
.why-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px;align-items:start}
.why-grid .l{grid-column:span 6;display:flex;flex-direction:column;gap:28px}
.why-grid .r{grid-column:8/span 5;display:flex;flex-direction:column}
.why-pic{margin:12px 0 0;display:flex;flex-direction:column;gap:10px}
.why-pic img{width:100%;aspect-ratio:16/10;object-fit:cover}
.why-pic figcaption{font-size:14px;color:var(--teal)}
.faq details p{overflow:hidden}
.faq details:first-child summary{position:relative}
.then-now{display:grid;grid-template-columns:120px 1fr;gap:6px 24px;padding:26px 0;border-top:1px solid var(--ink)}
.then-now:last-child{border-bottom:1px solid var(--ink)}
.then-now dt{font-size:14px;letter-spacing:.06em;color:var(--teal);padding-top:4px}
.then-now dd{margin:0;font-family:'Maitree',Georgia,serif;font-weight:300;font-size:22px;line-height:1.35}
.then-now.now dt{color:var(--coral)}

.build{padding-top:0}
.build .sec-head .lede{max-width:440px;color:var(--body)}
.bgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.bcard{padding:44px 40px 40px;display:flex;flex-direction:column;gap:16px;min-height:420px}
.bcard .n{font-size:14px;letter-spacing:.06em;opacity:.8}
.bcard h3{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:40px;line-height:1.05;letter-spacing:-.02em}
.bcard p{font-size:17px;line-height:1.6}
.bcard ul{list-style:none;margin:auto 0 0;padding:20px 0 0;display:flex;flex-direction:column;gap:10px;font-size:15px;border-top:1px solid currentColor;border-top-color:rgba(127,127,127,.35)}
.bcard li{display:flex;gap:10px}
.bcard li::before{content:"✓";color:var(--coral);font-weight:600}
.bcard.c1{background:var(--ink);color:var(--paper)}
.bcard.c2{background:var(--teal);color:#fff}
.bcard.c2 li::before{color:#fff}
.bcard.c3{background:var(--laurel);color:var(--ink)}
.bcard.c3 li::before{color:var(--ink)}
.bcard.c4{background:#fff;color:var(--ink);border:1px solid var(--gain)}
.bcard .pill{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.08em;background:var(--coral);color:#fff;padding:5px 9px}

.flow{background:var(--teal);color:#fff}
.flow .center-head{text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;padding-bottom:64px}
.flow .center-head .lede-lg{color:#fff;text-align:center}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative;counter-reset:s;margin:0;padding:0}
.steps::before{content:"";position:absolute;left:0;right:0;top:27px;height:1px;background:rgba(255,255,255,.45)}
.steps li{list-style:none;position:relative;display:flex;flex-direction:column;gap:12px}
.steps .dot-n{width:56px;height:56px;border-radius:50%;background:var(--teal);border:1px solid #fff;display:flex;align-items:center;justify-content:center;font-family:'Maitree',Georgia,serif;font-size:22px;font-weight:300}
.steps li:last-child .dot-n{background:var(--coral);border-color:var(--coral)}
.steps h3{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:30px;line-height:1.1}
.steps p{font-size:16px;line-height:1.55}
.steps .t{font-size:13px;letter-spacing:.06em;opacity:.85}

.apps{background:var(--ink);color:var(--paper)}
.apps-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:56px}
.apps-grid .l{grid-column:span 6;display:flex;flex-direction:column;gap:26px}
.apps-grid .l .lede-lg{color:var(--gain)}
.apps-grid .r{grid-column:8/span 5;display:flex;flex-direction:column;gap:16px;align-self:end}
.nots{display:flex;flex-wrap:wrap;gap:10px}
.nots span{font-size:14px;border:1px solid var(--line);padding:8px 12px;color:var(--gain)}
.nots span s{text-decoration-color:var(--coral);text-decoration-thickness:2px}
.nots span.yes{border-color:var(--coral);color:#fff;background:var(--coral)}
.own{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:10px}
.own .k{font-size:13px;letter-spacing:.06em;color:var(--laurel)}
.own h3{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:30px;line-height:1.1}
.own p{font-size:16px;line-height:1.55;color:var(--gain)}
.proof{grid-column:1/-1;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:32px;font-size:17px;color:var(--gain)}
.proof b{color:var(--paper);font-weight:500}
.proof svg{width:40px;height:40px;color:var(--coral);flex-shrink:0}
.ideas{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ideas div{border-top:1px solid var(--laurel);padding-top:18px;display:flex;flex-direction:column;gap:6px}
.ideas b{font-weight:500;font-size:17px}
.ideas span{font-size:15px;line-height:1.5;color:var(--gain)}

.team-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.team-grid .pic{grid-column:span 6;aspect-ratio:4/3;overflow:hidden}
.team-grid .pic img{width:100%;height:100%;object-fit:cover}
.team-grid .txt{grid-column:8/span 5;display:flex;flex-direction:column;gap:24px}
.team-list{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.team-list div{display:grid;grid-template-columns:28px 1fr;gap:4px 14px;padding:18px 0;border-bottom:1px solid var(--gain)}
.team-list svg{width:24px;height:24px;color:var(--teal);grid-row:span 2}
.team-list b{font-size:17px;font-weight:600}
.team-list span{font-size:15px;line-height:1.5;color:var(--body)}

.price{padding-top:0}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.pcard{background:#fff;border:1px solid var(--gain);padding:40px 34px 34px;display:flex;flex-direction:column;gap:14px;position:relative}
.pcard.best{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pcard .k{font-size:14px;letter-spacing:.06em;color:var(--teal)}
.pcard.best .k{color:var(--laurel)}
.pcard .flag{position:absolute;top:-13px;left:34px;background:var(--coral);color:#fff;font-size:12px;font-weight:600;letter-spacing:.08em;padding:6px 10px}
.pcard h3{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:30px;line-height:1.1}
.pcard .amt{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:60px;line-height:1;letter-spacing:-.02em;padding-top:8px}
.pcard .amt small{font-family:'Hanken Grotesk',Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;letter-spacing:0;margin-left:6px}
.pcard .then{font-size:16px;font-weight:500;color:var(--coral)}
.pcard.best .then{color:var(--laurel)}
.pcard p{font-size:16px;line-height:1.55;color:var(--body)}
.pcard.best p{color:var(--gain)}
.pcard ul{list-style:none;margin:6px 0 0;padding:18px 0 0;border-top:1px solid var(--gain);display:flex;flex-direction:column;gap:9px;font-size:15px}
.pcard.best ul{border-top-color:var(--line)}
.pcard li{display:flex;gap:10px}
.pcard li::before{content:"✓";color:var(--coral);font-weight:600}
.pcard.biz{border:2px solid var(--coral)}
.pcard .cut{background:var(--paper);border-left:3px solid var(--coral);padding:14px 16px;display:flex;flex-direction:column;gap:4px;margin-top:4px}
.pcard .cut b{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:21px;color:var(--ink)}
.pcard .cut span{font-size:14.5px;line-height:1.5;color:var(--body)}
.pcard .go{margin-top:auto;padding-top:20px}
.pcard .go a{width:100%}
.pcard.best .btn-line{color:var(--paper)}
.pnote{text-align:center;font-size:17px;color:var(--body);padding-top:40px}
.pnote a{color:var(--ink);font-weight:500;text-underline-offset:5px}

.faq{padding-top:0}
.faq-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.faq-grid .l{grid-column:span 4}
.faq-grid .r{grid-column:6/span 7;border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--gain)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:19px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'Maitree',Georgia,serif;font-weight:200;font-size:34px;line-height:1;color:var(--teal);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg);color:var(--coral)}
.faq details p{font-size:17px;line-height:1.65;color:var(--body);padding:0 48px 26px 0;margin:0}

.sv-cta{background:var(--coral);color:#fff;padding-top:104px;padding-bottom:104px;display:flex;justify-content:space-between;align-items:center;gap:48px}
.sv-cta h2{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:76px;line-height:1;letter-spacing:-.03em}
.sv-cta h2 .dot{color:var(--ink)}
.sv-cta p{font-size:19px;line-height:1.55;max-width:560px;padding-top:20px}
.sv-cta .btns{display:flex;flex-direction:column;gap:12px;flex-shrink:0}
.sv-cta .btn{background:var(--ink)}
.sv-cta .btn:hover{background:#000}
.sv-cta .btn-line{color:#fff}

@media (max-width:1100px){
  .sv-hero-copy{grid-column:span 12}
  .chat-wrap,.chat-cap{grid-column:span 12;max-width:520px}
  .chat-wrap{margin-top:56px}
  .lead-card{left:-12px;right:24px}
  .why-grid .l,.why-grid .r,.apps-grid .l,.apps-grid .r,.team-grid .pic,.team-grid .txt,.faq-grid .l,.faq-grid .r{grid-column:span 12}
  .team-grid{row-gap:40px}
  .ideas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pgrid{grid-template-columns:1fr;max-width:620px}
  .faq-grid .l{padding-bottom:32px}
  .sv-cta{flex-direction:column;align-items:flex-start}
}
@media (max-width:760px){
  .pgrid{grid-template-columns:minmax(0,1fr)}
  .pcard{padding:36px 24px 28px;min-width:0}
  .pcard .amt{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:4px;font-size:52px}
  .crumb{padding-top:20px;font-size:14px}
  .sv-hero{padding:28px 0 64px}
  .sv-hero-copy{gap:22px}
  .sv-tag{font-size:16px}
  .sv-hero h1{font-size:44px;line-height:1.02}
  .sv-hero .dek{font-size:17px}
  .sv-ctas{flex-direction:row;gap:10px}
  .sv-ctas .btn,.sv-ctas .btn-line{flex:1 1 0;height:52px;font-size:15px;padding:0 10px}
  .chat-wrap{margin-top:40px}
  .chat{height:500px;border-radius:20px}
  .bub{font-size:14px}
  .lead-card{left:10px;right:10px;bottom:72px}
  .chat-cap{text-align:left}
  .sv-sec{padding-top:72px;padding-bottom:72px}
  .build,.price,.faq{padding-top:0}
  .lede-lg{font-size:17px}
  .then-now{grid-template-columns:1fr;padding:20px 0}
  .then-now dd{font-size:19px}
  .bgrid{grid-template-columns:1fr;gap:12px}
  .bcard{padding:28px 22px 24px;min-height:0;gap:12px}
  .bcard h3{font-size:30px}
  .bcard p{font-size:16px}
  .flow .center-head{padding-bottom:40px}
  .steps{grid-template-columns:1fr;gap:28px;padding-left:0}
  .steps::before{left:27px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .steps li{display:grid;grid-template-columns:56px 1fr;column-gap:18px;row-gap:4px}
  .steps .dot-n{grid-row:span 3}
  .steps h3{font-size:26px}
  .ideas{grid-template-columns:1fr;gap:18px}
  .proof{align-items:flex-start;font-size:16px}
  .own{padding:22px}
  .team-grid .pic{aspect-ratio:16/10}
  .pcard{padding:34px 22px 26px}
  .pcard .amt{font-size:50px}
  .faq summary{font-size:17px;padding:20px 0}
  .faq details p{padding-right:0;font-size:16px}
  .sv-cta{padding-top:64px;padding-bottom:64px;gap:28px;align-items:stretch}
  .sv-cta h2{font-size:48px}
  .sv-cta p{font-size:17px}
}

/* services index (/services): one row per service, so new services just add a row */
.si-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;padding:48px 0 112px}
.si-copy{grid-column:span 6;display:flex;flex-direction:column;gap:28px}
.si-hero h1{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:72px;line-height:1;letter-spacing:-.03em;text-wrap:balance}
.si-hero .dek{font-size:19px;line-height:1.6;font-weight:300;color:var(--gain);max-width:560px;text-wrap:pretty}
.si-hero .dek b{color:var(--paper);font-weight:500}
.si-menu{grid-column:8/span 5;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.si-menu a{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:16px;padding:22px 4px 22px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--paper);position:relative;transition:padding .3s ease}
.si-menu a::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:3px;background:var(--c);transform:scaleY(0);transform-origin:top;transition:transform .3s ease}
.si-menu a:hover{padding-left:16px}
.si-menu a:hover::before{transform:scaleY(1)}
.si-menu .n{width:34px;height:34px;border-radius:50%;background:var(--c);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;letter-spacing:.04em}
.si-menu .t{display:flex;flex-direction:column;gap:4px}
.si-menu b{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:30px;line-height:1.1;letter-spacing:-.01em}
.si-menu b small{font-family:'Hanken Grotesk',Helvetica,Arial,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.1em;background:var(--coral);color:#fff;padding:4px 7px;vertical-align:6px;margin-left:6px}
.si-menu em{font-style:normal;font-size:14.5px;color:#9aa8ae}
.si-menu i{font-style:normal;color:var(--coral);font-size:20px;transition:transform .3s}
.si-menu a:hover i{transform:translateX(4px)}
.svc-row .from{font-size:14px;font-weight:600;letter-spacing:.02em;margin-top:auto;padding-top:18px;opacity:.9}
.svc-l{min-height:100%}
.si-list{display:flex;flex-direction:column;gap:20px;padding-top:96px;padding-bottom:40px}
.svc-row{background:var(--bg);color:var(--fg);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:56px 56px 52px;scroll-margin-top:24px}
.svc-l{grid-column:span 5;display:flex;flex-direction:column;gap:14px}
.svc-row .svc-top{display:flex;align-items:center;justify-content:flex-start;gap:14px}
.svc-top .ico{width:44px;height:44px}
.svc-top .n{font-size:14px;letter-spacing:.06em;opacity:.85}
.svc-top .new{font-size:11px;font-weight:700;letter-spacing:.1em;background:var(--coral);color:#fff;padding:5px 9px}
.svc-row h2{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:56px;line-height:1;letter-spacing:-.025em;padding-top:10px}
.svc-row .line{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:21px;opacity:.85}
.svc-r{grid-column:7/span 6;display:flex;flex-direction:column;gap:22px}
.svc-r .pitch{font-size:18px;line-height:1.6}
.svc-r ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;font-size:15px;line-height:1.45}
.svc-r li{display:flex;gap:10px;border-top:1px solid currentColor;border-top-color:rgba(127,127,127,.35);padding-top:12px}
.svc-r li::before{content:"✓";color:var(--coral);font-weight:600}
.svc-row[style*="--laurel"] li::before,.svc-row[style*="--teal"] li::before{color:inherit}
.svc-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:6px}
.svc-go{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 22px;background:var(--fg);color:var(--bg);font-weight:600;font-size:16px;text-decoration:none;transition:transform .2s}
.svc-go span{transition:transform .2s}
.svc-go:hover span{transform:translateX(4px)}
.soon{font-size:14px;opacity:.75}
.si-fit .center-head{text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;padding-bottom:56px}
.si-fit .center-head .lede-lg{text-align:center}
.fit{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.fit li{display:flex;flex-direction:column;gap:6px;padding:26px 22px;border-top:1px solid var(--ink);position:relative}
.fit li+li::before{content:"→";position:absolute;left:-8px;top:24px;color:var(--teal);font-size:18px}
.fit b{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:32px;line-height:1.05}
.fit span{font-size:15px;color:var(--body)}
.fit .goal{background:var(--coral);color:#fff;border-top-color:var(--coral)}
.fit .goal span{color:#fff}
@media (max-width:1100px){
  .si-copy,.si-menu{grid-column:span 12}
  .si-menu{margin-top:56px;max-width:620px}
  .svc-l,.svc-r{grid-column:span 12}
  .svc-r{padding-top:28px}
  .fit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fit li+li::before{display:none}
  .fit .goal{grid-column:span 2}
}
@media (max-width:760px){
  .si-hero{padding:28px 0 64px}
  .si-copy{gap:22px}
  .si-hero h1{font-size:44px;line-height:1.02}
  .si-hero .dek{font-size:17px}
  .si-menu{margin-top:40px}
  .si-menu a{grid-template-columns:34px 1fr auto;gap:12px;padding:16px 0}
  .si-menu a:hover{padding-left:0}
  .si-menu .n{width:30px;height:30px}
  .si-menu b{font-size:24px}
  .si-menu em{font-size:13.5px}
  .si-list{gap:12px;padding-top:48px}
  .svc-row{padding:30px 22px 28px}
  .svc-top .ico{width:36px;height:36px}
  .svc-row h2{font-size:38px}
  .svc-row .line{font-size:18px}
  .svc-r{gap:18px;padding-top:20px}
  .svc-r .pitch{font-size:16px}
  .svc-r ul{grid-template-columns:1fr;gap:10px}
  .svc-go{height:auto;min-height:48px;padding:12px 18px;font-size:15px;width:100%;justify-content:center;text-align:center}
  .fit{grid-template-columns:1fr}
  .fit .goal{grid-column:auto}
  .fit li{padding:18px 16px}
  .fit b{font-size:26px}
}

/* ai page: "it fills your calendar" (the booking assistant, with an example invite) */
.books-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px;align-items:center}
.books-grid .l{grid-column:span 6;display:flex;flex-direction:column;gap:26px;align-items:flex-start}
.books-grid .lede-lg b{color:var(--ink);font-weight:600}
.books-grid .btn{border:0;font-family:inherit;cursor:pointer}
.books-grid .r{grid-column:8/span 5}
.feat4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;width:100%}
.feat4 div{border-top:1px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.feat4 b{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:21px;line-height:1.2}
.feat4 span{font-size:15px;line-height:1.5;color:var(--body)}
.invite{background:#fff;border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 40px 80px -30px rgba(14,30,38,.45),0 0 0 1px rgba(14,30,38,.06);transform:rotate(-1.2deg)}
.inv-top{display:flex;gap:16px;align-items:flex-start}
.inv-day{width:58px;height:62px;flex-shrink:0;border-radius:14px;background:var(--coral);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.inv-day b{font-size:11px;letter-spacing:.1em}.inv-day i{font-style:normal;font-family:'Maitree',Georgia,serif;font-size:28px;font-weight:300;padding-top:4px}
.inv-k{font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--teal)}
.invite h3{font-size:18px;font-weight:600;line-height:1.3;padding-top:4px}
.inv-t{font-size:14px;color:var(--body);padding-top:2px}
.inv-row{display:flex;align-items:center;gap:10px;font-size:14px;background:var(--paper);border-radius:12px;padding:10px 12px}
.inv-ic{width:24px;height:24px;border-radius:7px;background:#1a73e8;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}
.inv-brief{border-left:2px solid var(--coral);padding-left:14px;display:flex;flex-direction:column;gap:6px}
.inv-brief p:last-child{font-size:14.5px;line-height:1.55;color:var(--ink)}
.inv-foot{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7b81;border-top:1px solid #edf1f2;padding-top:12px}
.dot-g{width:8px;height:8px;border-radius:50%;background:#34b27b}
@media (max-width:1100px){.books-grid .l,.books-grid .r{grid-column:span 12}.books-grid .r{max-width:520px}}
@media (max-width:760px){.feat4{grid-template-columns:1fr;gap:16px}.feat4 b{font-size:19px}.invite{transform:none;padding:20px;border-radius:18px}.books-grid .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.bub,.lead-card{opacity:1;transform:none;transition:none}.chat,.sv-tag svg.twk,.sv-tag svg.twk path{animation:none}}

/* ---------- branding & websites, video & content, media buying ---------- */
.steps.s5{grid-template-columns:repeat(5,minmax(0,1fr))}
.sv-ctas a.btn-line{color:var(--paper)}
.hero-vis{grid-column:8/span 5;position:relative}
.hero-vis::before{content:"";position:absolute;inset:4% -10% -8% -10%;background:radial-gradient(closest-side,rgba(239,69,69,.25),transparent 70%),radial-gradient(closest-side at 70% 30%,rgba(125,166,159,.32),transparent 70%);filter:blur(30px);pointer-events:none}
.hero-vis+.chat-cap{grid-column:8/span 5}

/* branding hero: a concept round narrowing down to the one */
.board{position:relative;background:#fff;color:var(--ink);border-radius:22px;padding:18px;box-shadow:0 50px 90px -30px rgba(0,0,0,.7),0 16px 30px -12px rgba(0,0,0,.45);animation:chatfloat 8s ease-in-out infinite}
.board-top{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 14px;font-size:13px}
.board-top b{font-weight:600;letter-spacing:.01em}
.board-top span{color:var(--teal);font-variant-numeric:tabular-nums}
.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;transition:opacity .4s}
.tile{aspect-ratio:1;border-radius:10px;background:var(--paper);display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.9,.3,1.2),box-shadow .4s,background-color .4s;position:relative}
.tile svg{width:62%;height:62%}
.tile.out{opacity:.14;transform:scale(.9)}
.tile.pick{box-shadow:0 0 0 2px var(--coral);background:#fff}
.tile.pick::after{content:"";position:absolute;top:-5px;right:-5px;width:12px;height:12px;border-radius:50%;background:var(--coral);border:2px solid #fff}
.tile.pop{animation:tilepop .45s cubic-bezier(.2,.9,.3,1.3) both}
@keyframes tilepop{from{opacity:0;transform:scale(.6)}}
.one{position:absolute;inset:18px;top:52px;border-radius:14px;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;opacity:0;transform:scale(.94);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.9,.3,1.2);pointer-events:none}
.one.in{opacity:1;transform:none}
.one svg{width:38%;height:auto}
.one p{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:30px;letter-spacing:-.01em}
.one small{font-size:13px;color:var(--laurel);letter-spacing:.06em}
.board-foot{display:flex;gap:6px;padding:14px 4px 2px}
.board-foot i{flex:1;height:4px;border-radius:4px;background:var(--gain);transition:background-color .4s}
.board-foot i.on{background:var(--coral)}

/* the rounds, as numbers */
.rounds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);margin-top:8px}
.rounds div{padding:26px 22px 0 0;display:flex;flex-direction:column;gap:6px;position:relative}
.rounds div+div{padding-left:22px;border-left:1px solid var(--gain)}
.rounds b{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:64px;line-height:1;letter-spacing:-.03em}
.rounds div:last-child b{color:var(--coral)}
.rounds span{font-size:15px;line-height:1.45;color:var(--body)}
.hundreds{font-size:16px;color:var(--body);padding-top:22px}
.hundreds b{color:var(--ink);font-weight:600}

/* no ai stamp */
.noai{display:flex;gap:20px;align-items:center;border:1px solid var(--ink);padding:22px 24px;background:#fff}
.noai .stamp{width:84px;height:84px;flex-shrink:0;border-radius:50%;border:2px solid var(--coral);color:var(--coral);display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:700;letter-spacing:.1em;line-height:1.25;transform:rotate(-10deg)}
.noai p{font-size:16px;line-height:1.55;color:var(--body)}
.noai p b{display:block;font-family:'Maitree',Georgia,serif;font-weight:300;font-size:24px;color:var(--ink);padding-bottom:4px}

/* the build-out kit (dark) */
.kit-sec{background:var(--ink);color:var(--paper)}
.kit-sec .sec-head .lede{color:var(--gain);max-width:460px}
.kit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.kit div{border-top:1px solid var(--laurel);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.kit svg{width:30px;height:30px;color:var(--coral)}
.kit b{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:22px;line-height:1.2}
.kit span{font-size:15px;line-height:1.5;color:var(--gain)}
.yours{margin-top:56px;display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--coral);color:#fff;padding:36px 40px}
.yours h3{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:44px;line-height:1.05;letter-spacing:-.02em}
.yours p{font-size:17px;line-height:1.55;max-width:520px}

/* website section */
.web-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px;align-items:start}
.web-grid .l{grid-column:span 5;display:flex;flex-direction:column;gap:26px;position:sticky;top:40px}
.web-grid .r{grid-column:7/span 6;display:flex;flex-direction:column}
.feat-list{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.feat-list div{display:grid;grid-template-columns:48px 1fr;gap:4px 18px;padding:24px 0;border-bottom:1px solid var(--gain)}
.feat-list i{font-style:normal;grid-row:span 2;font-size:14px;letter-spacing:.06em;color:var(--teal);padding-top:6px}
.feat-list b{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:26px;line-height:1.2}
.feat-list span{font-size:16px;line-height:1.55;color:var(--body)}
.feat-list .ai-row i{color:var(--coral)}
.parallel{display:flex;gap:16px;align-items:flex-start;background:var(--paper);border-left:3px solid var(--laurel);padding:18px 20px;font-size:16px;line-height:1.55;color:var(--body)}
.parallel b{color:var(--ink)}

/* pricing extras */
.pcard .save{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:.06em;background:var(--laurel);color:var(--ink);padding:6px 10px}
.pcard .was{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:30px;color:#8a979b;margin-left:10px;text-decoration:line-through;text-decoration-color:var(--coral);text-decoration-thickness:2px;letter-spacing:0}
.scoped{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}
.scoped div{border:1px solid var(--gain);background:#fff;padding:28px 32px;display:flex;flex-direction:column;gap:8px}
.scoped .k{font-size:13px;letter-spacing:.06em;color:var(--teal)}
.scoped h3{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:30px;line-height:1.1}
.scoped p{font-size:16px;line-height:1.55;color:var(--body)}
.scoped .amt{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:26px;color:var(--coral)}

/* video hero: a camera viewfinder over the reel */
.vf{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 50px 90px -30px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.08)}
.vf video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vf::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.35),transparent 22%,transparent 78%,rgba(0,0,0,.45));pointer-events:none}
.vf-ui{position:absolute;inset:16px;z-index:1;color:#fff;font-size:12px;letter-spacing:.08em;font-variant-numeric:tabular-nums;pointer-events:none}
.vf-ui .c{position:absolute;width:26px;height:26px;border:2px solid rgba(255,255,255,.85)}
.vf-ui .c1{top:24px;left:0;border-right:0;border-bottom:0}.vf-ui .c2{top:24px;right:0;border-left:0;border-bottom:0}
.vf-ui .c3{bottom:26px;left:0;border-right:0;border-top:0}.vf-ui .c4{bottom:26px;right:0;border-left:0;border-top:0}
.vf-ui .rec{position:absolute;top:0;left:0;display:flex;align-items:center;gap:8px;font-weight:700}
.vf-ui .rec i{width:10px;height:10px;border-radius:50%;background:var(--coral);animation:recblink 1.2s steps(2,start) infinite}
@keyframes recblink{to{visibility:hidden}}
.vf-ui .tc{position:absolute;top:0;right:0;font-weight:600}
.vf-ui .meta{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;opacity:.9}
.vf-ui .ctr{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px}
.vf-ui .ctr::before,.vf-ui .ctr::after{content:"";position:absolute;background:rgba(255,255,255,.7)}
.vf-ui .ctr::before{left:16px;top:0;width:2px;height:34px}.vf-ui .ctr::after{top:16px;left:0;height:2px;width:34px}
.vf-card{position:absolute;left:-48px;bottom:72px;z-index:2;display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;background:rgba(14,30,38,.94);color:#fff;font-size:13.5px;line-height:1.4;box-shadow:0 24px 50px -16px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vf-card b{display:block;font-size:15px;font-weight:600}
.vf-card span{color:#b9c6ca}
.vf-card .k{font-size:22px}

/* shoot session spec sheet */
.spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--laurel);border-bottom:1px solid var(--laurel)}
.spec div{padding:30px 24px 30px 0;display:flex;flex-direction:column;gap:8px}
.spec div+div{padding-left:24px;border-left:1px solid var(--line)}
.spec b{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:60px;line-height:1;letter-spacing:-.03em}
.spec div:first-child b{color:var(--coral)}
.spec span{font-size:15px;line-height:1.45;color:var(--gain)}
.session-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px}
.session-grid .l{grid-column:span 6;display:flex;flex-direction:column;gap:26px}
.session-grid .l .lede-lg{color:var(--gain)}
.session-grid .r{grid-column:8/span 5;align-self:end;display:flex;flex-direction:column;gap:12px}
.session-grid .spec{grid-column:1/-1}
.good-for{display:flex;flex-wrap:wrap;gap:10px}
.good-for span{font-size:14px;border:1px solid var(--line);padding:8px 12px;color:var(--gain)}

/* media hero: the monthly report */
.report{position:relative;background:#fff;color:var(--ink);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:18px;box-shadow:0 50px 90px -30px rgba(0,0,0,.7),0 16px 30px -12px rgba(0,0,0,.45);animation:chatfloat 8s ease-in-out infinite}
.rp-top{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}
.rp-top b{font-weight:600}
.rp-top span{color:var(--teal)}
.rp-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rp-kpis div{background:var(--paper);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px}
.rp-kpis b{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}
.rp-kpis span{font-size:11.5px;color:#6b7b81;letter-spacing:.04em}
.rp-kpis .lead b{color:var(--coral)}
.rp-path{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7b81}
.rp-path i{font-style:normal;color:var(--coral)}
.rp-rows{display:flex;flex-direction:column;gap:12px;border-top:1px solid #edf1f2;padding-top:16px}
.rp-row{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:12px;font-size:13px}
.rp-row .bar{height:10px;border-radius:10px;background:var(--paper);overflow:hidden}
.rp-row .bar i{display:block;height:100%;width:0;border-radius:10px;background:var(--teal);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.rp-row .tag{font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:4px 8px;border-radius:999px;opacity:0;transform:scale(.8);transition:opacity .4s,transform .4s cubic-bezier(.2,.9,.3,1.3)}
.rp-row .tag.up{background:var(--coral);color:#fff}
.rp-row .tag.hold{background:var(--paper);color:var(--teal)}
.rp-row .tag.off{background:#eee;color:#8a979b}
.rp-row.shut{color:#9aa8ae}
.rp-row.shut .bar i{background:#c9d0d2}
.report.go .tag{opacity:1;transform:none}
.rp-note{font-size:12.5px;color:#6b7b81;display:flex;gap:8px;align-items:center}
.rp-note .dot-g{flex-shrink:0}

/* where we place: station tiles (text, not logos) */
.nets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.net{border:1px solid var(--gain);background:#fff;padding:26px 22px;display:flex;flex-direction:column;gap:6px;min-height:150px}
.net b{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:36px;line-height:1;letter-spacing:-.01em}
.net span{font-size:13px;letter-spacing:.06em;color:var(--teal)}
.net p{font-size:14.5px;line-height:1.5;color:var(--body);margin-top:auto}
.net.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.net.dark span{color:var(--laurel)}.net.dark p{color:var(--gain)}
.perks-line{display:flex;gap:14px;align-items:center;padding-top:32px;font-size:17px;line-height:1.55;color:var(--body)}
.perks-line svg{width:34px;height:34px;color:var(--coral);flex-shrink:0}
.perks-line b{color:var(--ink)}

/* the stair step */
.stairs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:16px}
.stair{display:flex;flex-direction:column;gap:12px;padding:30px 28px;color:#fff}
.stair .k{font-size:13px;letter-spacing:.06em;opacity:.85}
.stair b{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:44px;line-height:1;letter-spacing:-.02em}
.stair h3{font-size:18px;font-weight:600}
.stair p{font-size:15.5px;line-height:1.55;opacity:.92}
.stair.s1{background:var(--laurel);color:var(--ink);min-height:300px}
.stair.s2{background:var(--teal);min-height:390px}
.stair.s3{background:var(--ink);min-height:480px}
.stair .ch{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.stair .ch span{font-size:12.5px;font-weight:500;border:1px solid currentColor;padding:5px 9px;opacity:.9}

/* agency of record + the $100k perk */
.aor{background:var(--ink);color:var(--paper)}
.aor-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px;align-items:start}
.aor-grid .l{grid-column:span 6;display:flex;flex-direction:column;gap:26px}
.aor-grid .l .lede-lg{color:var(--gain)}
.aor-grid .r{grid-column:8/span 5;display:flex;flex-direction:column}
.letter{background:var(--paper);color:var(--ink);padding:30px;transform:rotate(1.2deg);box-shadow:0 40px 80px -30px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.6}
.letter .k{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--teal)}
.letter h3{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:24px;line-height:1.2}
.letter .sig{font-family:'Maitree',Georgia,serif;font-style:italic;font-size:20px;border-top:1px solid var(--gain);padding-top:12px;display:flex;justify-content:space-between;align-items:center}
.letter .sig span{font-family:'Hanken Grotesk',Helvetica,Arial,sans-serif;font-style:normal;font-size:12px;color:var(--teal);letter-spacing:.06em}
.aor-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.aor-list div{border-top:1px solid var(--laurel);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.aor-list b{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:24px}
.aor-list span{font-size:15.5px;line-height:1.55;color:var(--gain)}
.perk{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:28px;background:var(--coral);color:#fff;padding:64px 56px;align-items:center}
.perk .l{grid-column:span 6;display:flex;flex-direction:column;gap:18px}
.perk .k{font-size:14px;letter-spacing:.06em;font-weight:600}
.perk h2{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:60px;line-height:1.02;letter-spacing:-.03em}
.perk p{font-size:18px;line-height:1.6}
.perk .r{grid-column:8/span 5;display:flex;flex-direction:column;gap:10px}
.perk .r div{display:flex;justify-content:space-between;align-items:center;gap:16px;background:rgba(255,255,255,.12);padding:16px 18px;font-size:17px;font-weight:500}
.perk .r div em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.08em;background:#fff;color:var(--coral);padding:5px 9px}
.perk .fine{grid-column:1/-1;font-size:14px;opacity:.85}
.full-svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.full-svc a{display:flex;flex-direction:column;gap:8px;padding:28px;border:1px solid var(--gain);background:#fff;text-decoration:none;transition:border-color .2s}
.full-svc a:hover{border-color:var(--ink)}
.full-svc .n{font-size:13px;letter-spacing:.06em;color:var(--teal)}
.full-svc b{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:32px;line-height:1.05}
.full-svc span{font-size:15.5px;line-height:1.5;color:var(--body)}
.full-svc em{font-style:normal;font-weight:600;font-size:15px;margin-top:auto;padding-top:10px}

@media (max-width:1100px){
  .hero-vis,.hero-vis+.chat-cap{grid-column:span 12;max-width:520px}
  .hero-vis{margin-top:56px}
  .vf-card{left:-12px}
  .steps.s5{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:40px}
  .steps.s5::before{display:none}
  .kit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .web-grid .l,.web-grid .r,.session-grid .l,.session-grid .r,.aor-grid .l,.aor-grid .r,.perk .l,.perk .r{grid-column:span 12}
  .web-grid .l{position:static}
  .aor-grid .r{max-width:560px}
  .nets{grid-template-columns:repeat(3,minmax(0,1fr))}
  .yours{flex-direction:column;align-items:flex-start}
  .full-svc{grid-template-columns:1fr}
}
@media (max-width:760px){
  .hero-vis{margin-top:40px}
  .board{padding:14px;border-radius:18px}
  .tiles{gap:6px}
  .one{inset:14px;top:46px}
  .vf{aspect-ratio:4/5;border-radius:18px}
  .vf-card{left:10px;right:10px;bottom:56px}
  .steps.s5{grid-template-columns:1fr;row-gap:28px}
  .steps.s5::before{display:block}
  .rounds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rounds div{padding:20px 14px 20px 0}
  .rounds div+div{padding-left:14px}
  .rounds div:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--gain)}
  .rounds div:nth-child(4){border-top:1px solid var(--gain)}
  .rounds b{font-size:46px}
  .noai{flex-direction:column;align-items:flex-start;padding:20px}
  .kit{grid-template-columns:1fr;gap:18px}
  .yours{padding:28px 22px;margin-top:40px}
  .yours h3{font-size:34px}
  .feat-list div{grid-template-columns:36px 1fr;gap:4px 12px;padding:20px 0}
  .feat-list b{font-size:22px}
  .scoped{grid-template-columns:1fr;gap:12px}
  .scoped div{padding:24px 22px}
  .spec{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spec div{padding:22px 14px 22px 0}
  .spec div+div{padding-left:14px}
  .spec div:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .spec div:nth-child(4){border-top:1px solid var(--line)}
  .spec b{font-size:44px}
  .report{padding:16px;border-radius:18px}
  .rp-kpis b{font-size:22px}
  .rp-row{grid-template-columns:78px 1fr auto;gap:8px}
  .nets{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .net{padding:20px 16px;min-height:0}
  .net b{font-size:28px}
  .net.wide{grid-column:span 2}
  .perks-line{align-items:flex-start;font-size:16px}
  .stairs{grid-template-columns:1fr;gap:10px}
  .stair{min-height:0!important;padding:24px 22px}
  .stair b{font-size:36px}
  .letter{transform:none;padding:22px}
  .aor-list{grid-template-columns:1fr;gap:18px}
  .perk{padding:36px 22px}
  .perk h2{font-size:40px}
  .perk p{font-size:16px}
  .perk .r div{font-size:15px}
  .full-svc a{padding:22px}
}
@media (prefers-reduced-motion:reduce){.board,.report{animation:none}.vf-ui .rec i{animation:none}}

/* branding & websites: the hero chooser reuses .si-menu; the concept board + website mock sit in "a logo is just an ingredient" */
.sv-hero .si-menu{grid-column:8/span 5}
.si-menu .n.both{background:var(--coral);color:#fff;font-size:18px;font-weight:400}
.board-wrap{margin:40px 0 56px;position:relative;display:flex;flex-direction:column;gap:14px}
.board-wrap .board{box-shadow:0 40px 80px -30px rgba(14,30,38,.45),0 0 0 1px rgba(14,30,38,.06)}
.board-wrap figcaption{font-size:14px;color:var(--teal);padding-top:76px;max-width:50%}
.board-wrap .one{justify-content:flex-start;padding-top:9%}
.site-mock{position:absolute;right:-28px;bottom:-60px;width:58%;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -18px rgba(14,30,38,.55),0 0 0 1px rgba(14,30,38,.08);opacity:0;transform:translateY(18px) scale(.95);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.9,.3,1.2);z-index:2}
.site-mock.in{opacity:1;transform:none}
.sm-bar{display:flex;align-items:center;gap:5px;padding:8px 10px;background:#eef2f3;font-size:10px;color:#8a979b}
.sm-bar i{width:7px;height:7px;border-radius:50%;background:#cfd6d8}
.sm-bar span{margin-left:8px;background:#fff;border-radius:6px;padding:2px 8px;flex:1}
.sm-body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:8px}
.sm-nav{display:flex;align-items:center;gap:8px;padding-bottom:6px}
.sm-nav svg{width:26px;height:26px;margin-right:auto}
.sm-nav span{width:22px;height:5px;border-radius:5px;background:#dfe5e7}
.sm-h{height:11px;border-radius:4px;background:var(--ink);width:88%}
.sm-h.short{width:58%;opacity:.35}
.sm-btn{margin-top:4px;width:72px;height:18px;border-radius:3px;background:var(--coral)}
@media (max-width:1100px){.sv-hero .si-menu{grid-column:span 12;margin-top:56px;max-width:620px}}
@media (max-width:760px){.sv-hero .si-menu{margin-top:40px}.site-mock{right:-6px;width:66%}.board-wrap figcaption{padding-top:104px;max-width:none}.site-mock{bottom:-70px}.board-wrap .one svg{width:30%}}
@media (prefers-reduced-motion:reduce){.site-mock{transition:none}}

/* about page */
.ab-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;padding:56px 0 112px}
.ab-copy{grid-column:span 6;display:flex;flex-direction:column;gap:28px}
.ab-copy h1{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:72px;line-height:1;letter-spacing:-.03em;text-wrap:balance}
.ab-copy .dek{font-size:19px;line-height:1.6;font-weight:300;color:var(--gain);max-width:580px}
.ab-copy .dek b{color:var(--paper);font-weight:500}
.ab-pic{grid-column:8/span 5;margin:0;position:relative;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.ab-pic img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%}
.ab-pic figcaption{position:absolute;left:0;bottom:0;background:var(--coral);color:#fff;font-size:13px;font-weight:600;letter-spacing:.04em;padding:10px 14px}
.why-grid .r .scale{margin-top:40px}
.scale .k{font-size:13px;letter-spacing:.08em;color:var(--teal);font-weight:600;padding-bottom:14px}
.scale ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.scale li{font-size:15px;border:1px solid var(--ink);padding:8px 12px;background:#fff}
.scale li.wink{background:var(--coral);border-color:var(--coral);color:#fff}
.scale li.wink span{opacity:.85}
.ab-corey{background:var(--ink);color:var(--paper)}
.ab-corey-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px;align-items:center}
.ab-corey-grid .pic{grid-column:span 5;margin:0}
.ab-corey-grid .pic img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.ab-corey-grid .txt{grid-column:7/span 6;display:flex;flex-direction:column;gap:24px}
.ab-corey-grid .lede-lg{color:var(--gain)}
.ab-time{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.ab-time li{padding:18px 16px 0 0;display:flex;flex-direction:column;gap:4px;position:relative}
.ab-time li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--laurel)}
.ab-time li:last-child::before{background:var(--coral)}
.ab-time b{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:21px;line-height:1.2}
.ab-time span{font-size:14.5px;color:#9aa8ae}
.quote{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:30px;line-height:1.3;border-left:3px solid var(--coral);padding-left:22px;margin-top:8px}
.quote span{display:block;font-family:'Hanken Grotesk',Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.06em;color:var(--laurel);padding-top:10px}
.lake{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:40px;align-items:center}
.lake .pic{grid-column:span 6;margin:0;display:flex;flex-direction:column;gap:10px}
.lake .pic img{width:100%;aspect-ratio:4/5;object-fit:cover}
.lake .pic figcaption{font-size:14px;color:var(--teal)}
.lake .txt{grid-column:8/span 5;display:flex;flex-direction:column;gap:24px}
.lake dl{margin:8px 0 0}
.ab-corey-grid .pic figcaption{font-size:14px;color:#9aa8ae;padding-top:10px}
.prep .fine-print{font-size:15px;line-height:1.6;color:#6b7b81;border-top:1px solid var(--gain);padding-top:18px;max-width:640px}
.prep-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.prep-steps li{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--gain)}
.prep-steps li>span{font-size:13px;letter-spacing:.06em;color:var(--teal);padding-top:8px}
.prep-steps b{display:block;font-family:'Maitree',Georgia,serif;font-weight:300;font-size:26px;line-height:1.2}
.prep-steps p{font-size:16px;line-height:1.55;color:var(--body);padding-top:4px}
.prep-steps li:first-child b{color:var(--coral)}
.scale li.wink a{color:#fff;text-decoration:none}
.life{padding-top:0}
.life .sec-head .lede{max-width:420px;color:var(--body)}
.life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.life-card{background:#fff;border:1px solid var(--gain);display:flex;flex-direction:column}
.life-card .ph{aspect-ratio:4/3;overflow:hidden;background:var(--paper)}
.life-card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.life-card .ph-tbd{display:flex;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--coral);margin:12px 12px 0;font-size:13px;letter-spacing:.06em;color:var(--coral);text-transform:uppercase}
.life-card .t{padding:26px 26px 30px;display:flex;flex-direction:column;gap:10px}
.life-card .k{font-size:12.5px;letter-spacing:.08em;font-weight:600;color:var(--teal)}
.life-card h3{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:30px;line-height:1.1}
.life-card p{font-size:16px;line-height:1.6;color:var(--body)}
.life-card.bills{background:#00338d;border-color:#00338d;color:#fff}
.life-card.bills .k{color:#fff;opacity:.8}.life-card.bills p{color:#dfe6f5}
.life-card.bills h3{color:#fff}
.life-card.bills .t{border-top:4px solid #c60c30}
@media (max-width:1100px){
  .ab-copy,.ab-pic{grid-column:span 12}
  .ab-copy{padding-bottom:48px}
  .ab-hero{padding-bottom:64px}
  .ab-pic{max-width:520px;margin-bottom:0}
  .ab-corey-grid .pic,.ab-corey-grid .txt,.lake .pic,.lake .txt{grid-column:span 12}
  .ab-corey-grid .pic{max-width:520px}
  .life-grid{grid-template-columns:1fr;max-width:620px}
}
@media (max-width:760px){
  .ab-hero{padding-top:28px;padding-bottom:56px}
  .prep-steps b{font-size:22px}
  .ab-copy{gap:22px;padding-bottom:40px}
  .ab-copy h1{font-size:42px;line-height:1.03}
  .ab-copy .dek{font-size:17px}
  .ab-time{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--line);margin-left:4px}
  .ab-time li{padding:0 0 18px 20px}
  .ab-time li::before{top:6px;left:-5px}
  .quote{font-size:24px}
  .life-card h3{font-size:26px}
  .life-card .t{padding:22px 20px 24px}
}
.h2 .ad{color:var(--coral)}

/* portfolio (/portfolio): every case study as a tile with its loop playing faintly behind */
.pf-hero{align-items:end}
.pf-stats{grid-column:8/span 5;margin:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.pf-stats div{display:grid;grid-template-columns:110px 1fr;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.pf-stats dt{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:38px;line-height:1;color:var(--paper)}
.pf-stats dd{margin:0;font-size:15px;color:#9aa8ae}
.pf-sec{padding-top:64px;padding-bottom:112px}
.pf-filter{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:32px}
.pf-filter button{height:44px;padding:0 18px;border:1px solid var(--gain);background:#fff;font-family:inherit;font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.pf-filter button:hover{border-color:var(--ink)}
.pf-filter button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pf{position:relative;display:block;aspect-ratio:4/3;background:var(--ink);color:var(--paper);text-decoration:none;overflow:hidden}
.pf[hidden]{display:none}
.pf-media{position:absolute;inset:0}
.pf-media video{width:100%;height:100%;object-fit:cover;opacity:.32;transition:opacity .5s ease,transform 1.2s ease}
.pf::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,30,38,.2) 0%,rgba(14,30,38,.05) 40%,rgba(14,30,38,.85) 100%);pointer-events:none}
.pf:hover .pf-media video{opacity:.5;transform:scale(1.03)}
.pf-in{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:36px}
.pf-logo{max-width:60%;height:auto;opacity:.95;align-self:flex-start}
.pf-bot{display:flex;flex-direction:column;gap:12px}
.pf-tags{display:flex;flex-wrap:wrap;gap:6px}
.pf-tags span{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;background:rgba(239,243,244,.12);color:var(--paper)}
.pf h2{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:36px;line-height:1.08;letter-spacing:-.015em;max-width:560px;text-wrap:balance}
.pf-go{font-size:15px;font-weight:500;color:var(--paper);display:flex;align-items:center;gap:8px}
.pf-go i{font-style:normal;color:var(--coral);transition:transform .3s}
.pf:hover .pf-go i{transform:translateX(5px)}
.pf-empty{padding:40px 0;font-size:17px;color:var(--body)}
@media (max-width:1100px){.pf-stats{grid-column:span 12;margin-top:40px;max-width:620px}.pf h2{font-size:30px}}
@media (max-width:760px){
  .pf-sec{padding-top:36px;padding-bottom:72px}
  .pf-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:0 20px 24px}
  .pf-filter button{flex-shrink:0;height:40px;font-size:14px}
  .pf-grid{grid-template-columns:1fr;gap:12px}
  .pf{aspect-ratio:4/5}
  .pf-in{padding:24px 22px}
  .pf h2{font-size:28px}
  .pf-stats dt{font-size:30px}
  .pf-stats div{grid-template-columns:80px 1fr}
}

/* get found by ai (Oct 8, 2026) */
.found-note{font-size:16px;line-height:1.6;color:var(--body);border-left:2px solid var(--coral);padding-left:16px}
.aiq{background:var(--ink);color:var(--paper);padding:28px;border-radius:18px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 60px rgba(14,30,38,.18)}
.aiq-k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--laurel)}
.aiq-u{align-self:flex-end;background:#24404c;padding:12px 16px;border-radius:14px 14px 4px 14px;font-size:16px;max-width:85%}
.aiq-a{font-size:15px;line-height:1.55;color:#c9d3d6}
.aiq-a ol{margin:8px 0 0 20px;display:flex;flex-direction:column;gap:6px}
.aiq-a li b{color:var(--paper);font-weight:500;border-bottom:1px dashed var(--coral)}
.aiq-q{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:24px;color:var(--coral);padding-top:6px;border-top:1px solid #2a3c44}
.found-steps{margin-top:28px;display:flex;flex-direction:column}
.found-steps div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--gain)}
.found-steps dt{font-family:'Maitree',Georgia,serif;font-weight:300;font-size:20px}
.found-steps dd{margin:0;font-size:15.5px;line-height:1.55;color:var(--body)}
@media (max-width:900px){.aiq{padding:20px}.aiq-q{font-size:20px}.found-steps div{grid-template-columns:1fr;gap:4px}}
