/* Buffalo Booties migration. All rules intentionally scope to this page main. */
#main.buffalo-page { --bb-ink:#030e1c; --bb-blue:#075c98; --bb-electric:#14a5e0; }
#main.buffalo-page .wrap { width:100%; max-width:var(--grid-max); margin:0 auto; padding-inline:clamp(20px,4vw,56px); }
#main.buffalo-page .sec { padding-block:clamp(72px,9vw,128px); position:relative; }
#main.buffalo-page .sec--tight { padding-block:clamp(56px,7vw,96px); }
#main.buffalo-page .ce-blue { background:var(--ce-blue-700,#075c98); color:#fff; }
#main.buffalo-page .ce-dark { background:var(--ce-ink-050,#030e1c); color:#fff; }
#main.buffalo-page .ce-noise { background-image:radial-gradient(rgba(255,255,255,.08) .8px,transparent .8px); background-size:7px 7px; }
#main.buffalo-page .t-eyebrow,#main.buffalo-page .buffalo-card__code { font:500 11px/1.2 var(--ff-mono,monospace); letter-spacing:.1em; text-transform:uppercase; color:var(--fg-muted,#64748b); }
#main.buffalo-page .eyebrow-row { display:flex; align-items:center; gap:10px; }
#main.buffalo-page .eyebrow-row::before { content:""; width:18px; height:1px; background:currentColor; opacity:.7; }
#main.buffalo-page .t-h1,#main.buffalo-page .t-h2,#main.buffalo-page .t-h3 { margin:0; font-family:var(--ff-display,sans-serif); font-weight:500; line-height:1.04; letter-spacing:-.035em; color:inherit; text-wrap:balance; }
#main.buffalo-page .t-h1 { font-size:clamp(40px,5.6vw,88px); } #main.buffalo-page .t-h2 { font-size:clamp(30px,3.5vw,56px); } #main.buffalo-page .t-h3 { font-size:clamp(24px,2vw,36px); }
#main.buffalo-page .lede { margin:0; max-width:62ch; color:var(--fg-secondary,#526070); font-size:clamp(18px,1.45vw,22px); line-height:1.5; }
#main.buffalo-page .ce-blue .lede,#main.buffalo-page .ce-dark .lede { color:rgba(255,255,255,.82); }
#main.buffalo-page .mt-3{margin-top:12px}.mt-6{margin-top:24px}.mt-10{margin-top:48px}
#main.buffalo-page .ce-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:11px 17px; border:1px solid var(--ce-electric,#14a5e0); font:600 12px/1 var(--ff-mono,monospace); letter-spacing:.045em; text-transform:uppercase; text-decoration:none; transition:background .2s,border-color .2s; }
#main.buffalo-page .ce-btn--primary { background:var(--ce-electric,#14a5e0); color:var(--ce-ink-050,#030e1c); } #main.buffalo-page .ce-btn--primary:hover { background:#fff; border-color:#fff; }
#main.buffalo-page .ce-btn--ghost { color:#fff; background:transparent; border-color:rgba(255,255,255,.5); }
#main.buffalo-page .buffalo-icon { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; }
#main.buffalo-page .subhero--buffalo { min-height:clamp(580px,74vh,790px); display:grid; align-items:end; background:linear-gradient(90deg,rgba(3,14,28,.96) 0%,rgba(3,14,28,.86) 48%,rgba(3,14,28,.58) 100%),linear-gradient(180deg,rgba(3,14,28,.2),rgba(3,14,28,.72)),url("brand/buffalo-service-visit.jpg") center 38%/cover no-repeat; color:#fff; }
#main.buffalo-page .subhero--buffalo .lede { color:rgba(255,255,255,.86); }
#main.buffalo-page .subhero__inner { width:100%; max-width:var(--grid-max); margin:0 auto; padding:150px clamp(20px,4vw,56px) clamp(64px,8vw,108px); }
#main.buffalo-page .subhero__crumb { margin-bottom:28px; font:500 11px/1.2 var(--ff-mono,monospace); letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.72); } #main.buffalo-page .subhero__crumb a{color:inherit}
#main.buffalo-page .prod-logo { display:block; width:auto; height:64px; margin-bottom:24px; filter:brightness(0) invert(1); }
#main.buffalo-page .prod-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); gap:clamp(32px,6vw,96px); align-items:center; }
#main.buffalo-page .prod-hero__media { position:relative; min-height:360px; } #main.buffalo-page .prod-hero__media .ce-studio { position:absolute; inset:0; }
#main.buffalo-page .ce-studio { position:relative; display:grid; place-items:center; overflow:hidden; border-radius:var(--r-3,16px); background:#dfe8f1; } #main.buffalo-page .ce-studio__stage { position:relative; z-index:1; display:grid; place-items:center; width:100%; height:100%; } #main.buffalo-page .ce-studio__stage img { max-width:88%; max-height:88%; width:auto; height:auto; object-fit:contain; } #main.buffalo-page .ce-studio__shadow { position:absolute; width:56%; height:9%; bottom:10%; border-radius:50%; background:rgba(3,14,28,.18); filter:blur(14px); }
#main.buffalo-page .split { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(32px,6vw,96px); align-items:center; } #main.buffalo-page .split__media { position:relative; overflow:hidden; border-radius:var(--r-3,16px); } #main.buffalo-page .split__media .ce-media { position:absolute; inset:0; } #main.buffalo-page .ce-media img { display:block; width:100%; height:100%; object-fit:cover; }
#main.buffalo-page .grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; } #main.buffalo-page .grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
#main.buffalo-page .prose { max-width:68ch; } #main.buffalo-page .prose p { color:var(--fg-secondary,#526070); line-height:1.6; } #main.buffalo-page .prose ul { list-style:none; padding:0; margin:0; display:grid; gap:10px; } #main.buffalo-page .prose li { position:relative; padding-left:18px; color:var(--fg-secondary,#526070); font-size:14px; line-height:1.45; } #main.buffalo-page .prose li::before { content:""; position:absolute; left:0; top:.66em; width:10px; height:1px; background:var(--ce-electric,#14a5e0); }
#main.buffalo-page .buffalo-story { position:relative; overflow:hidden; background:var(--ce-blue-700,#075c98); color:#fff; } #main.buffalo-page .buffalo-story::before { content:""; position:absolute; width:min(620px,40vw); aspect-ratio:1; right:-12%; top:-38%; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025); } #main.buffalo-page .buffalo-story__grid { position:relative; display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(32px,6vw,96px); } #main.buffalo-page .buffalo-story .t-eyebrow,#main.buffalo-page .buffalo-story__copy p{color:rgba(255,255,255,.85)} #main.buffalo-page .buffalo-story__copy{display:grid;gap:28px;padding-top:16px} #main.buffalo-page .buffalo-story blockquote{margin:44px 0 0;padding:20px 0 20px 24px;border-left:3px solid #fff;font:500 clamp(24px,2.7vw,42px)/1.08 var(--ff-display,sans-serif);letter-spacing:-.03em} #main.buffalo-page .buffalo-story blockquote small{display:block;margin-top:16px;font:500 11px/1.2 var(--ff-mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.68)} #main.buffalo-page .buffalo-story__inline-process{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px;font:500 11px/1.2 var(--ff-mono,monospace);letter-spacing:.1em;text-transform:uppercase} #main.buffalo-page .buffalo-story__inline-process b{color:#6FF0EC} #main.buffalo-page .buffalo-story__inline-process i{font-style:normal;color:rgba(255,255,255,.5)}
#main.buffalo-page .ce-card { overflow:hidden; border:1px solid var(--line-hair,#d8e0e8); border-radius:var(--r-3,16px); background:#fff; } #main.buffalo-page .buffalo-card{display:grid;grid-template-rows:auto 1fr} #main.buffalo-page .buffalo-spin-shell{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eef1f4;border-bottom:1px solid var(--line-hair,#d8e0e8)} #main.buffalo-page .buffalo-spin{display:block;width:100%;height:100%;border:0} #main.buffalo-page .buffalo-spin__hint{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(3,14,28,.8);color:#fff;font:500 10px/1 var(--ff-mono,monospace);letter-spacing:.08em;text-transform:uppercase;pointer-events:none} #main.buffalo-page .buffalo-card__body{padding:24px;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px} #main.buffalo-page .buffalo-card__title{margin:0;font:500 clamp(20px,1.65vw,26px)/1.05 var(--ff-display,sans-serif);letter-spacing:-.025em;color:var(--fg-primary,#030e1c)} #main.buffalo-page .buffalo-card__footer{align-self:end;display:grid;gap:18px;padding-top:24px} #main.buffalo-page .buffalo-card__price{font:600 28px/1 var(--ff-display,sans-serif);font-variant-numeric:tabular-nums;color:var(--fg-primary,#030e1c)} #main.buffalo-page .buffalo-card__price span{font:500 10px/1 var(--ff-mono,monospace);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted,#64748b)} #main.buffalo-page .buffalo-card__buy{width:100%}
#main.buffalo-page .buffalo-custom__media{aspect-ratio:1007/684;background:#0b1a2c} #main.buffalo-page .actions{display:flex;flex-wrap:wrap;gap:12px} #main.buffalo-page .purchase-note{margin-bottom:0;font-size:13px;line-height:1.5;color:rgba(255,255,255,.76)}
#main.buffalo-page .faq{border-top:1px solid var(--line-soft,#d8e0e8)} #main.buffalo-page .faq details{border-bottom:1px solid var(--line-soft,#d8e0e8)} #main.buffalo-page .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font:600 20px/1.3 var(--ff-display,sans-serif);letter-spacing:-.02em;color:var(--fg-primary,#030e1c)} #main.buffalo-page .faq summary::-webkit-details-marker{display:none} #main.buffalo-page .faq summary .pl{width:22px;height:22px;transition:transform .2s;color:var(--ce-electric,#14a5e0)} #main.buffalo-page .faq details[open] summary .pl{transform:rotate(45deg)} #main.buffalo-page .faq__a{padding:0 0 24px;max-width:76ch;color:var(--fg-secondary,#526070);line-height:1.6} #main.buffalo-page .cta-band__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(32px,6vw,96px);align-items:end} #main.buffalo-page .t-accent-grad{color:var(--ce-electric,#14a5e0)}
@media(max-width:980px){#main.buffalo-page .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(max-width:860px){#main.buffalo-page .prod-hero,#main.buffalo-page .split,#main.buffalo-page .buffalo-story__grid,#main.buffalo-page .cta-band__grid{grid-template-columns:1fr}#main.buffalo-page .prod-hero__media{order:-1;min-height:300px}#main.buffalo-page .split--media-first .split__media{order:-1}} @media(max-width:620px){#main.buffalo-page .grid-3,#main.buffalo-page .grid-4{grid-template-columns:1fr}#main.buffalo-page .subhero__inner{padding-top:120px}#main.buffalo-page .ce-btn{width:100%}}

/* Product features: one marker only, with room for wrapped copy. */
#main.buffalo-page ul.buffalo-card__features { list-style:none; padding:0; margin:8px 0 0; display:grid; gap:12px; }
#main.buffalo-page ul.buffalo-card__features > li { list-style:none; margin:0; padding-left:16px; line-height:1.55; }
#main.buffalo-page ul.buffalo-card__features > li::marker { content:""; }
#main.buffalo-page ul.buffalo-card__features > li::before { content:""; left:0; top:.75em; width:7px; height:1px; }

/* Approved-source Buffalo studio geometry. Scoped to the migrated main so target chrome is untouched. */
#main.buffalo-page .ce-studio { background:var(--studio-bg); isolation:isolate; }
#main.buffalo-page .ce-studio::before { content:""; position:absolute; inset:0; z-index:1; background:var(--studio-vignette); pointer-events:none; }
#main.buffalo-page .ce-studio--pool::before { background:var(--studio-pool),var(--studio-vignette); }
#main.buffalo-page .ce-studio__stage { z-index:2; padding:var(--s-8); }
#main.buffalo-page .ce-studio__stage > img { max-width:76%; max-height:76%; filter:var(--studio-light); }
#main.buffalo-page .ce-studio__shadow { z-index:1; left:50%; bottom:12%; width:54%; height:5%; transform:translateX(-50%); background:var(--studio-shadow); filter:blur(4px); }
#main.buffalo-page .ce-studio--intel::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:radial-gradient(44% 40% at 50% 44%,rgba(59,160,255,.24) 0%,transparent 70%),radial-gradient(closest-side at 50% 44%,transparent 0 37%,rgba(107,169,221,.34) 37% 38%,transparent 39%); }
#main.buffalo-page .ce-studio--intel .ce-studio__stage > img { filter:var(--studio-light) drop-shadow(0 0 24px rgba(59,160,255,.34)); }
#main.buffalo-page .prod-hero { grid-template-columns:1.04fr .96fr; gap:clamp(var(--s-8),5vw,var(--s-12)); }
#main.buffalo-page .prod-hero__media { min-height:clamp(330px,44vh,480px); }
@media(max-width:860px){#main.buffalo-page .prod-hero{grid-template-columns:1fr;gap:var(--s-9)}#main.buffalo-page .prod-hero__media{min-height:300px;order:-1}}

/* finish pass (1 Nov 2026): AA contrast on the cerulean bands; same cyan hue, lifted from 4.39:1 to 5.0:1 */
#main.buffalo-page .ce-blue .eyebrow-row, #main.buffalo-page .ce-blue .t-eyebrow { color:#6FF0EC; }
#main.buffalo-page .ce-blue blockquote small { color:#D2E3F3; }

/* two key options (8 Nov 2026): visual Choose your grip + Ready for the team cards */
#main.buffalo-page .bb-keys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
#main.buffalo-page .bb-key{display:flex;flex-direction:column;border:1px solid var(--line-soft,#d9dde3);border-radius:8px;overflow:hidden;background:var(--bg-card,#fff)}
#main.buffalo-page .bb-key__grip,#main.buffalo-page .bb-key__photo{aspect-ratio:16/9;background:linear-gradient(160deg,#eef3f8,#dfe7f0);margin:0}
#main.buffalo-page .bb-key__grip{list-style:none;padding:clamp(12px,2vw,20px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end}
#main.buffalo-page .bb-key__grip li{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
#main.buffalo-page .bb-key__grip img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(6,9,13,.14))}
#main.buffalo-page .bb-key__grip span{font:500 11px/1.2 var(--ff-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--ce-ink-600,#12263F);text-align:center}
#main.buffalo-page .bb-key__photo{display:flex;align-items:center;justify-content:center;padding:clamp(12px,2vw,20px)}
#main.buffalo-page .bb-key__photo img{width:100%;height:auto;max-height:100%;object-fit:contain}
#main.buffalo-page .bb-key__body{padding:clamp(20px,2.4vw,28px)}
#main.buffalo-page .bb-key__title{font:600 clamp(22px,2vw,28px)/1.15 var(--ff-display,sans-serif);letter-spacing:-.02em;margin:0 0 8px}
#main.buffalo-page .bb-key__body p{margin:0;color:var(--fg-secondary,#3b4654);max-width:46ch}
@media(max-width:760px){#main.buffalo-page .bb-keys{grid-template-columns:1fr}}
@media(max-width:420px){#main.buffalo-page .bb-key__grip{grid-template-columns:repeat(2,minmax(0,1fr));aspect-ratio:auto;row-gap:14px}}
#main.buffalo-page .bb-key__grip,#main.buffalo-page .bb-key__photo{background:#fff;border-bottom:1px solid var(--line-soft,#d9dde3)}
#main.buffalo-page .bb-key__grip{align-items:center;align-content:center;gap:clamp(8px,1.4vw,16px)}
#main.buffalo-page .bb-key__grip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:clamp(8px,1.2vw,14px);column-gap:clamp(16px,3vw,40px);padding:clamp(14px,2vw,24px) clamp(20px,4vw,56px)}
#main.buffalo-page .bb-key__grip li{gap:4px}
#main.buffalo-page .bb-key__grip img{max-height:clamp(70px,9vw,118px);width:auto;max-width:100%}
@media(max-width:420px){#main.buffalo-page .bb-key__grip{aspect-ratio:16/10}}
@media(min-width:761px) and (max-width:1100px){#main.buffalo-page .bb-key__grip img{max-height:clamp(50px,6.4vw,70px)}#main.buffalo-page .bb-key__grip{padding-block:12px}}
