@font-face{
  font-family:"Nunito";
  src:url(/assets/fonts/nunito-latin-var.woff2) format("woff2");
  font-weight:200 1000;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Alan Sans";
  src:url(/assets/fonts/alansans-latin-var.woff2) format("woff2");
  font-weight:300 900;
  font-style:normal;
  font-display:swap;
}
:root,
[data-theme="light"]{
  --bg:#FFFFFF;
  --bg-2:#F5F7F3;
  --bg-3:#E8EEE7;
  --sage:#BDD4BE;
  --sage-2:#DCE9DC;
  --ink:#231F20;
  --ink-2:#464143;
  --ink-3:#655F61;
  --line:#D3DCD2;
  --rule:#231F20;
  --brand:#129251;
  --brand-ink:#0B6E3C;
  --btn:#0B6E3C;
  --btn-hover:#085A31;
  --btn-ink:#FFFFFF;
  --cta:#6B2A5E;
  --cta-hover:#58214D;
  --cta-ink:#FFFFFF;
  --mark:#BDD4BE;
  --panel:#231F20;
  --offer-bg:#231F20;
  --panel-ink:#F4F1F1;
  --panel-ink-2:#C7C1C3;
  --panel-line:#453F41;
  --band:#BDD4BE;
  --band-ink:#231F20;
  --band-ink-2:#2E2A2B;
  --band-btn:#231F20;
  --band-btn-ink:#FFFFFF;
  --frame:#231F20;
  --grid:#C6DAC8;
  --frame-2:#3A3436;
  --ring:#231F20;
  --ring-2:#FFFFFF;
  --danger:#A3231B;
  
  --sky:#2A6FDB;
  --teal:#0F8B8D;
  --violet:#5D5FE0;
  --sun:#D9AD00;
  --sun-ink:#231F20;
  color-scheme:light;
}
[data-theme="dark"]{
  --bg:#1B1819;
  --bg-2:#231F20;
  --bg-3:#2C2728;
  --sage:#BDD4BE;
  --sage-2:#2F3B32;
  --ink:#F3F0F0;
  --ink-2:#CFC9CB;
  --ink-3:#A39DA0;
  --line:#3B3537;
  --rule:#F3F0F0;
  --brand:#129251;
  --brand-ink:#63D69A;
  --btn:#57CF92;
  --btn-hover:#7CDDAA;
  --btn-ink:#141112;
  
  --cta:#C98BBA;
  --cta-hover:#D8A6CB;
  --cta-ink:#141112;
  --mark:#1E6A45;
  --panel:#121011;
  --offer-bg:#2C2728;
  --panel-ink:#F3F0F0;
  --panel-ink-2:#B9B3B5;
  --panel-line:#3A3436;
  --band:#BDD4BE;
  --band-ink:#231F20;
  --band-ink-2:#3A3436;
  --band-btn:#231F20;
  --band-btn-ink:#FFFFFF;
  --frame:#B7B1B2;
  --grid:#3B4A3F;
  --frame-2:#DAD5D5;
  --ring:#F3F0F0;
  --ring-2:#1B1819;
  
  --logo-tile:#F5F7F3;
  --logo-brand:#BDD4BE;
  --logo-swoosh:#0B6E3C;
  --logo-letters:#FFFFFF;
  --danger:#FF9D93;
  --sky:#7FB0FF;
  --teal:#5CD3D3;
  --violet:#AEAEFF;
  --sun:#FFD84D;
  --sun-ink:#141112;
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){
  [data-theme="auto"]{
    --bg:#1B1819;
    --bg-2:#231F20;
    --bg-3:#2C2728;
    --sage:#BDD4BE;
    --sage-2:#2F3B32;
    --ink:#F3F0F0;
    --ink-2:#CFC9CB;
    --ink-3:#A39DA0;
    --line:#3B3537;
    --rule:#F3F0F0;
    --brand:#129251;
    --brand-ink:#63D69A;
    --btn:#57CF92;
    --btn-hover:#7CDDAA;
    --btn-ink:#141112;
    --cta:#C98BBA;
    --cta-hover:#D8A6CB;
    --cta-ink:#141112;
    --mark:#1E6A45;
    --panel:#121011;
    --offer-bg:#2C2728;
    --panel-ink:#F3F0F0;
    --panel-ink-2:#B9B3B5;
    --panel-line:#3A3436;
    --band:#BDD4BE;
    --band-ink:#231F20;
    --band-ink-2:#3A3436;
    --band-btn:#231F20;
    --band-btn-ink:#FFFFFF;
    --frame:#B7B1B2;
    --grid:#3B4A3F;
    --frame-2:#DAD5D5;
    --ring:#F3F0F0;
    --ring-2:#1B1819;
    --logo-tile:#F5F7F3;
    --logo-brand:#BDD4BE;
    --logo-swoosh:#0B6E3C;
    --logo-letters:#FFFFFF;
    --danger:#FF9D93;
    --sky:#7FB0FF;
    --teal:#5CD3D3;
    --violet:#AEAEFF;
    --sun:#FFD84D;
    --sun-ink:#141112;
  color-scheme:dark;
  }
  [data-theme="auto"] .theme-toggle .ico-sun{display:block}
  [data-theme="auto"] .theme-toggle .ico-moon{display:none}
}
:root{
  --f-head:"Nunito","Nunito Sans",ui-rounded,"Hiragino Maru Gothic ProN",system-ui,sans-serif;
  --f-sans:"Alan Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --wrap:1296px;
  --gut:72px;
  --hdr:76px;
  --r:10px;
  --r-lg:16px;
  
  --paper:#F5F7F3;
  --paper-ink:#231F20;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
.page{
  min-height:100vh;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--f-sans);
  font-size:18px;
  line-height:1.5;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
}
.page img{max-width:100%;height:auto;display:block}
:where(.page) :is(h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd){margin:0}
:where(.page) :is(ul,ol){padding:0;list-style:none}
:where(.page) a{color:inherit}
:where(.page) button{font:inherit;color:inherit}
.page :focus-visible{outline:3px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 6px var(--ring-2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:var(--bg);padding:10px 14px;z-index:60}
.skip:focus{left:8px}
main{display:block}
.display,.h1,.h2,.h3,.h4{font-family:var(--f-head);text-wrap:balance}
.display{font-weight:800;font-size:clamp(38px,4.8vw,68px);line-height:1.02;letter-spacing:-.025em}
.h1{font-weight:800;font-size:clamp(36px,4.5vw,62px);line-height:1.04;letter-spacing:-.022em}
.h2{font-weight:800;font-size:clamp(28px,3.1vw,44px);line-height:1.08;letter-spacing:-.018em}
.h3{font-weight:750;font-size:clamp(20px,1.8vw,25px);line-height:1.18;letter-spacing:-.008em}
.h4{font-weight:700;font-size:18px;line-height:1.25}
.lede{font-size:clamp(19px,1.6vw,22px);line-height:1.42;color:var(--ink);max-width:38em;text-wrap:pretty}
.body-2{color:var(--ink-2)}
.small{font-size:15px;line-height:1.45}
.mono{font-family:var(--f-head);font-size:12.5px;line-height:1.3;letter-spacing:.07em;text-transform:uppercase;font-weight:700}
.mono--ink3{color:var(--ink-3)}
.mono--acc{color:var(--brand-ink)}
.mark{box-shadow:inset 0 -.3em 0 var(--mark);padding:0 .05em}
.prose p{margin-bottom:.8em;max-width:38em;text-wrap:pretty}
.prose p:last-child{margin-bottom:0}
.prose strong{font-weight:700}
.prose a,.link{color:var(--brand-ink);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.22em}
.prose a:hover,.link:hover{text-decoration-thickness:3px}
.link-arrow{
  display:inline-flex;gap:.5em;align-items:baseline;
  font-family:var(--f-head);font-weight:800;color:var(--ink);text-decoration:none;
  border-bottom:2px solid var(--brand);padding-bottom:2px;
}
.link-arrow:hover{color:var(--brand-ink);border-color:var(--brand-ink)}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
[id]{scroll-margin-top:calc(var(--hdr) + 24px)}
.sec{padding-block:clamp(48px,5.8vw,80px);border-top:1px solid var(--rule)}
.sec--tight{padding-block:clamp(36px,4vw,56px)}
.sec--tint{background:var(--bg-2)}
.sec--flush{border-top:0}
.ledger{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:24px;row-gap:22px}
.ledger--mb{margin-bottom:32px}
.ledger__head{display:flex;flex-direction:column;gap:10px;align-content:start}
.ledger__head .h2{max-width:11em}
.ledger__aside{display:flex;flex-direction:column;justify-content:flex-end;gap:16px;align-items:flex-start}
.ledger__aside--end{flex-direction:row;align-items:flex-end;justify-content:flex-start}
.idx{display:flex;gap:12px;align-items:center;color:var(--ink-3)}
.idx::before{content:"";width:28px;height:1px;background:currentColor}
.stack-8>*+*{margin-top:8px}
.stack-16>*+*{margin-top:16px}
.stack-24>*+*{margin-top:24px}
.stack-32>*+*{margin-top:32px}
.row{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:50px;padding:12px 24px;
  font-family:var(--f-head);font-weight:800;font-size:16.5px;line-height:1.1;letter-spacing:0;
  text-decoration:none;cursor:pointer;
  border:1.5px solid transparent;border-radius:var(--r);
  transition:background-color .15s,color .15s,border-color .15s;
}
.btn--primary{background:var(--cta);color:var(--cta-ink);border-color:var(--cta)}
.btn--primary:hover{background:var(--cta-hover);border-color:var(--cta-hover)}
.btn--deep{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.btn--deep:hover{background:var(--btn-hover);border-color:var(--btn-hover)}
.btn--line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--bg)}
.btn--band{background:var(--band-btn);color:var(--band-btn-ink);border-color:var(--band-btn)}
.btn--band:hover{filter:brightness(1.08)}
.btn--paper{background:var(--paper);color:var(--paper-ink);border-color:var(--paper)}
.btn--paper:hover{background:var(--sage);border-color:var(--sage)}
.btn--sm{min-height:42px;padding:8px 16px;font-size:15px}
.btn .arr{font-family:var(--f-sans);font-weight:700;transition:transform .15s}
.btn:hover .arr{transform:translateX(3px)}
.chip{
  display:inline-flex;align-items:center;
  font-family:var(--f-head);font-size:12px;letter-spacing:.04em;font-weight:700;
  padding:5px 9px;border:1px solid var(--line);border-radius:99px;
  color:var(--ink-2);background:transparent;text-decoration:none;white-space:nowrap;
}
a.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip--on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip--sage{background:var(--sage-2);border-color:transparent;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.tag-new{
  font-family:var(--f-head);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;
  color:var(--brand-ink);border:1px solid currentColor;padding:2px 7px;border-radius:99px;
}
.site-header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--rule)}
.site-header__bar{display:flex;align-items:center;gap:32px;min-height:var(--hdr)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand svg{width:46px;height:46px;flex:none;display:block}
.brand__name{display:flex;flex-direction:column;line-height:1.05}
.brand__name b{font-family:var(--f-head);font-weight:800;font-size:21px;letter-spacing:-.012em}
.brand__name span{font-family:var(--f-head);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;font-weight:700}
.nav{display:flex;gap:6px;align-items:center}
.nav a{
  display:inline-flex;align-items:center;min-height:44px;padding:0 12px;
  font-family:var(--f-head);font-weight:700;font-size:16px;text-decoration:none;color:var(--ink);
  position:relative;
}
.nav a::after{
  content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:var(--brand);
  transform:scaleX(0);transform-origin:left;transition:transform .18s;
}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav > a:last-child{background:var(--btn);color:var(--btn-ink);border-radius:var(--r);padding:0 20px;min-height:46px;margin-left:8px}
.nav > a:last-child::after{display:none}
.nav > a:last-child:hover{background:var(--btn-hover)}
.hdr-phone{
  display:inline-flex;align-items:center;min-height:44px;
  font-family:var(--f-head);font-size:13.5px;font-weight:700;letter-spacing:.02em;
  text-decoration:none;color:var(--ink);padding:0 4px;white-space:nowrap;
}
.hdr-phone:hover{color:var(--brand-ink)}
.nav a,.hdr-phone{white-space:nowrap}
.hdr-phone,.theme-toggle{flex:none}
@media (min-width:1060px){.brand{flex:none;white-space:nowrap}}
.theme-toggle{
  width:44px;height:44px;display:none;place-items:center;cursor:pointer;
  background:transparent;border:1.5px solid var(--ink);border-radius:var(--r);color:var(--ink);
}
[data-js] .theme-toggle{display:inline-grid}
.theme-toggle:hover{background:var(--ink);color:var(--bg)}
.theme-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .ico-sun{display:none}
[data-theme="dark"] .theme-toggle .ico-sun{display:block}
[data-theme="dark"] .theme-toggle .ico-moon{display:none}
.menu-btn{
  display:none;height:44px;padding:0 14px;align-items:center;gap:10px;background:transparent;
  border:1.5px solid var(--ink);border-radius:var(--r);font-family:var(--f-head);font-weight:800;cursor:pointer;
}
.menu-btn i{display:block;width:16px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 -5px 0 currentColor}
.mnav{display:none}
[data-js] .mnav{display:none}
.site-footer{background:var(--panel);color:var(--panel-ink);margin-top:auto;--logo-tile:#F5F7F3;--logo-brand:#BDD4BE;--logo-swoosh:#0B6E3C;--logo-letters:#FFFFFF}
.site-footer a{color:var(--panel-ink);text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-underline-offset:.2em}
.site-footer .mono{color:var(--panel-ink-2)}
.foot__top{display:grid;grid-template-columns:minmax(0,4fr) repeat(4,minmax(0,2.2fr));gap:48px 24px;padding-block:56px 40px}
.foot__brand{display:flex;flex-direction:column;gap:14px}
.foot__brand .wordmark{display:flex;align-items:center;gap:16px;font-family:var(--f-head);font-weight:800;font-size:clamp(30px,3.2vw,42px);line-height:1;letter-spacing:-.02em}
.foot__brand .wordmark svg{width:clamp(56px,5vw,72px);height:auto;flex:none;border-radius:12px}
.foot__brand address{font-style:normal;color:var(--panel-ink-2);font-size:16px;line-height:1.6}
.foot__brand address a{color:var(--panel-ink)}
.foot__col h2{font-family:var(--f-head);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--panel-ink-2);margin-bottom:12px}
.foot__col li+li{margin-top:7px}
.foot__col a{font-size:16px}
.foot__bottom{
  border-top:1px solid var(--panel-line);padding-block:22px;
  display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;align-items:center;
  font-size:14px;color:var(--panel-ink-2);
}
.foot__bottom a{color:var(--panel-ink-2)}
.foot__consent{
  display:none;background:none;border:0;padding:6px 0;min-height:32px;cursor:pointer;
  color:var(--panel-ink-2);font-size:14px;text-decoration:underline;text-underline-offset:.2em;
}
[data-js] .foot__consent{display:inline-block}
.foot__consent:hover{color:var(--panel-ink)}
.cta-band{background:var(--band);color:var(--band-ink)}
.cta-band__in{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:32px;align-items:end;padding-block:clamp(44px,5.2vw,72px)}
.cta-band .h2{max-width:15em}
.cta-band p{color:var(--band-ink-2);max-width:32em;margin-top:10px}
.cta-band__act{display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center}
.cta-band__art{width:100%;max-width:280px}
.cta-band__act a.tel{font-family:var(--f-head);font-size:15px;color:var(--band-ink);letter-spacing:.02em;font-weight:700}
.crumb{padding-block:18px 0}
.crumb ol{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-family:var(--f-head);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.crumb li+li::before{content:"/";margin-right:10px;color:var(--line)}
.crumb a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line)}
.crumb a:hover{color:var(--ink);border-color:var(--ink)}
.crumb [aria-current]{color:var(--ink)}
.trio{position:relative;width:100%;aspect-ratio:1.5/1}
.dev{position:absolute;background:var(--frame);border:1px solid var(--frame-2);padding:0;margin:0;display:block;text-align:left}
.dev img{width:100%;height:auto}
.dev--desk{left:0;top:2%;width:78%;border-radius:8px 8px 4px 4px;padding-top:4.2%;z-index:1;box-shadow:0 1px 0 var(--frame-2)}
.dev--desk::before{content:"";position:absolute;left:2.4%;top:1.6%;width:1.1%;aspect-ratio:1;border-radius:50%;background:#5a5457;box-shadow:1.9em 0 0 #5a5457,3.8em 0 0 #5a5457;font-size:.5vw}
.dev--desk img{border-radius:0 0 3px 3px}
.dev--tab{left:47%;top:28%;width:30%;border-radius:12px;padding:1.4%;z-index:2}
.dev--tab img{border-radius:6px;aspect-ratio:520/693;object-fit:cover;object-position:top}
.dev--mob{right:0;top:40%;width:15.5%;border-radius:16px;padding:1%;z-index:3}
.dev--mob img{border-radius:11px;aspect-ratio:390/844;object-fit:cover;object-position:top}
.hero{padding-block:clamp(28px,3.6vw,52px) clamp(40px,4.6vw,64px)}
.hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:48px;align-items:end}
.hero__copy{display:flex;flex-direction:column;gap:18px}
.hero__copy .lede{max-width:30em}
.hero__eyebrow{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.hero__eyebrow .dot{width:9px;height:9px;border-radius:50%;background:var(--brand);display:inline-block;margin-right:8px}
.hero__fig{min-width:0}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.fact{padding:20px 24px 20px 0;display:flex;flex-direction:column;gap:4px}
.fact+.fact{padding-left:24px;border-left:1px solid var(--line)}
.fact b{font-family:var(--f-head);font-weight:900;font-size:clamp(34px,3.6vw,50px);line-height:1;letter-spacing:-.02em}
.fact span{font-size:15px;line-height:1.35;color:var(--ink-2);max-width:17em}
.fact .src{font-family:var(--f-head);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.sec--offers{margin-top:clamp(32px,4vw,56px)}
.sec--services{margin-top:clamp(40px,5vw,72px)}
.svc-list{border-top:1px solid var(--rule)}
.svc{
  display:grid;grid-template-columns:56px minmax(0,4fr) minmax(0,5fr) minmax(0,2fr);
  gap:24px;align-items:baseline;
  padding-block:16px;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--ink);
}
.svc:hover{background:var(--bg-2)}
.svc:hover .svc__name{color:var(--brand-ink)}
.svc__n{font-family:var(--f-head);font-size:12.5px;color:var(--ink-3);font-weight:700}
.svc__name{font-family:var(--f-head);font-weight:800;font-size:clamp(20px,1.9vw,26px);line-height:1.12;letter-spacing:-.012em}
.svc__desc{color:var(--ink-2);font-size:16.5px;line-height:1.4}
.svc__from{font-family:var(--f-head);font-size:12.5px;text-align:right;color:var(--ink-3);font-weight:700}
.svc__from b{display:block;font-family:var(--f-sans);font-size:17px;color:var(--ink);font-weight:700;letter-spacing:0}
.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px 24px}
.work-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink)}
.work-card--l{grid-column:span 7}
.work-card--m{grid-column:span 5}
.work-card--s{grid-column:span 4}
.work-card__img{border:1px solid var(--rule);background:var(--bg-2);overflow:hidden;border-radius:var(--r-lg)}
.work-card__img img{width:100%;aspect-ratio:1000/625;object-fit:cover;object-position:top}
.work-card--l .work-card__img img{aspect-ratio:1000/560}
.work-card__meta{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.work-card__name{font-family:var(--f-head);font-weight:800;font-size:22px;line-height:1.12;letter-spacing:-.012em}
.work-card:hover .work-card__name{color:var(--brand-ink);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:2px}
.work-card__sub{font-size:16px;color:var(--ink-2);line-height:1.38}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.pillar{padding:0 32px 8px 0;display:flex;flex-direction:column;gap:8px}
.pillar+.pillar{padding-left:32px;border-left:1px solid var(--line)}
.pillar p{color:var(--ink-2);font-size:17px}
.quote{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:24px;row-gap:0;align-items:start}
.quote>.idx{grid-column:1;grid-row:1}
.quote>blockquote{grid-column:2;grid-row:1}
.quote>figcaption{grid-column:2;grid-row:2}
.quote blockquote{font-family:var(--f-head);font-weight:750;font-size:clamp(24px,2.5vw,34px);line-height:1.22;letter-spacing:-.012em;text-wrap:balance}
.quote figcaption{font-family:var(--f-head);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-top:16px;font-weight:700}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s}
.step{padding:18px 24px 8px 0;border-top:3px solid var(--ink);display:flex;flex-direction:column;gap:8px;counter-increment:s}
.step__n{font-family:var(--f-head);font-size:12.5px;color:var(--ink-3);font-weight:700}
.step p{color:var(--ink-2);font-size:16.5px}
.step__t{font-family:var(--f-head);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-ink);margin-top:auto;padding-top:8px;font-weight:700}
.steps .step:not(:last-child){margin-right:24px}
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:baseline;
  padding:18px 0;font-weight:750;font-family:var(--f-head);font-size:clamp(18px,1.55vw,21px);line-height:1.22;
  min-height:44px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-head);font-weight:700;font-size:24px;line-height:1;color:var(--ink-3)}
.faq details[open] summary::after{content:"\2212"}
.faq details>div{padding:0 0 20px;max-width:40em;color:var(--ink-2)}
.faq details>div p+p{margin-top:.7em}
.pagehead{padding-block:clamp(24px,3.4vw,48px) clamp(32px,4vw,56px)}
.pagehead__grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:48px;align-items:end}
.pagehead .h1{max-width:11em}
.pagehead .lede{margin-top:14px}
.pagehead__side{display:flex;flex-direction:column;gap:10px;padding-bottom:4px}
.pagehead__side .btn{align-self:flex-start}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;font-size:16px}
.kv dt{font-family:var(--f-head);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-top:4px;font-weight:700}
.kv dd{color:var(--ink)}
.pagehead__art{width:calc(100% + 40px);max-width:320px;margin:0 -20px 6px}
.pagehead__side--art{align-items:center;text-align:center}
.pagehead__side--art .btn{align-self:center}
@media (min-width:900px){
  .pagehead__side--art{align-self:stretch;justify-content:flex-end}
  .pagehead__art{flex:1 1 auto;min-height:220px;max-height:280px;contain:size}
  .pagehead__art .bwa{height:100%}
}
.lp-hero__copy{align-self:stretch}
.lp-hero__art{align-self:stretch;flex:1 1 auto;min-height:170px;max-height:260px;margin-top:6px;contain:size}
.lp-hero__art .bwa{width:100%;height:100%;max-width:none}
@media (max-width:1100px){
  .lp-hero__art{display:none}
}
.bwa {
  --bwa-brand: var(--brand);
  --bwa-green-ink: var(--brand-ink);
  --bwa-sage: var(--sage);
  --bwa-sage-2: var(--sage-2);
  --bwa-line: var(--line);
  --bwa-fill: var(--bg-3);
  --bwa-ink: var(--ink);
  --bwa-panel: var(--offer-bg);
  --bwa-bg: var(--bg);
  --bwa-on-sun: var(--sun-ink);
  --bwa-paper: var(--paper);
  --bwa-band-ink: var(--band-ink);
  --bwa-sky: var(--sky);
  --bwa-teal: var(--teal);
  --bwa-violet: var(--violet);
  --bwa-sun: var(--sun);
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  overflow: visible;
  font-family: var(--f-head);
}
.bwa .f-brand  { fill: var(--bwa-brand); }
.bwa .f-gink   { fill: var(--bwa-green-ink); }
.bwa .f-sky    { fill: var(--bwa-sky); }
.bwa .f-teal   { fill: var(--bwa-teal); }
.bwa .f-violet { fill: var(--bwa-violet); }
.bwa .f-sun    { fill: var(--bwa-sun); }
.bwa .f-sage   { fill: var(--bwa-sage); }
.bwa .f-sage2  { fill: var(--bwa-sage-2); }
.bwa .f-fill   { fill: var(--bwa-fill); }
.bwa .f-ink    { fill: var(--bwa-ink); }
.bwa .f-panel  { fill: var(--bwa-panel); }
.bwa .f-bg     { fill: var(--bwa-bg); }
.bwa .f-onsun  { fill: var(--bwa-on-sun); }
.bwa .f-white  { fill: var(--btn-ink); } 
.bwa .f-line   { fill: var(--bwa-line); }
.bwa .pill     { fill: var(--bwa-bg); stroke: var(--bwa-line); stroke-width: 2; }
.bwa .s-line   { fill: none; stroke: var(--bwa-line); stroke-width: 3; stroke-linecap: round; }
.bwa .s-outline { fill: none; stroke: var(--bwa-line); stroke-width: 2; stroke-linecap: round; }
.bwa .s-brand  { fill: none; stroke: var(--bwa-brand); }
.bwa .txt      { font-weight: 700; font-size: 16px; fill: var(--bwa-ink); }
.bwa .txt-chip { font-weight: 800; font-size: 14px; text-anchor: middle; }
.bwa .an {
  animation-duration: 12s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
  animation-fill-mode: both;
  transform-box: fill-box;
  transform-origin: center;
}
.bwa .o-left  { transform-origin: left center; }
.bwa .o-right { transform-origin: right center; }
@keyframes bwa-cycle {
  0%, 90%   { opacity: 1; }
  95%, 95.5% { opacity: 0; }
  100%      { opacity: 1; }
}
.bwa .a-cycle { animation-name: bwa-cycle; animation-timing-function: linear; }
@keyframes bwa-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
.bwa .a-blink { animation: bwa-blink 1s steps(1, end) infinite; }
@keyframes bwa-glow { 0%, 100% { opacity: 1; } 50% { opacity: 0.45; } }
.bwa .a-glow { animation: bwa-glow 2.4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  .bwa .an, .bwa .a-cycle, .bwa .a-blink, .bwa .a-glow { animation: none !important; }
  
  .bwa-dom .a-dom-curtain, .bwa-dom .a-dom-caret,
  .bwa-dom .a-dom-e1, .bwa-dom .a-dom-e2, .bwa-dom .a-dom-e3 { display: none; }
}
.bwa-seo .a-seo-g    { animation-name: bwa-seo-g; }
.bwa-seo .a-seo-t    { animation-name: bwa-seo-t; }
.bwa-seo .a-seo-s    { animation-name: bwa-seo-s; }
.bwa-seo .a-seo-v    { animation-name: bwa-seo-v; }
.bwa-seo .a-seo-tick { animation-name: bwa-seo-tick; }
@keyframes bwa-seo-g {
  0%, 12%   { transform: translateY(120px); }
  25%, 33%  { transform: translateY(80px); }
  46%, 54%  { transform: translateY(40px); }
  67%, 95%  { transform: translateY(0); }
  95.5%, 100% { transform: translateY(120px); }
}
@keyframes bwa-seo-v {
  0%, 12%   { transform: translateY(-40px); }
  25%, 95%  { transform: translateY(0); }
  95.5%, 100% { transform: translateY(-40px); }
}
@keyframes bwa-seo-s {
  0%, 33%   { transform: translateY(-40px); }
  46%, 95%  { transform: translateY(0); }
  95.5%, 100% { transform: translateY(-40px); }
}
@keyframes bwa-seo-t {
  0%, 54%   { transform: translateY(-40px); }
  67%, 95%  { transform: translateY(0); }
  95.5%, 100% { transform: translateY(-40px); }
}
@keyframes bwa-seo-tick {
  0%, 68%   { transform: scaleX(0); opacity: 0; }
  73%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-startup .a-su-dot     { animation-name: bwa-su-dot; }
.bwa-startup .a-su-outline { animation-name: bwa-su-outline; stroke-dasharray: 640; }
.bwa-startup .a-su-title   { animation-name: bwa-su-title; }
.bwa-startup .a-su-text1   { animation-name: bwa-su-text1; }
.bwa-startup .a-su-text2   { animation-name: bwa-su-text2; }
.bwa-startup .a-su-pic     { animation-name: bwa-su-pic; }
.bwa-startup .a-su-btn     { animation-name: bwa-su-btn; }
.bwa-startup .a-su-tick    { animation-name: bwa-su-tick; }
@keyframes bwa-su-dot {
  0%        { transform: scale(0); opacity: 0; }
  5%, 95%   { transform: scale(1); opacity: 1; }
  95.5%, 100% { transform: scale(0); opacity: 0; }
}
@keyframes bwa-su-outline {
  0%, 5%    { stroke-dashoffset: 640; }
  30%, 95%  { stroke-dashoffset: 0; }
  95.5%, 100% { stroke-dashoffset: 640; }
}
@keyframes bwa-su-title {
  0%, 30%   { transform: scaleX(0); }
  38%, 95%  { transform: scaleX(1); }
  95.5%, 100% { transform: scaleX(0); }
}
@keyframes bwa-su-text1 {
  0%, 38%   { transform: scaleX(0); }
  46%, 95%  { transform: scaleX(1); }
  95.5%, 100% { transform: scaleX(0); }
}
@keyframes bwa-su-text2 {
  0%, 46%   { transform: scaleX(0); }
  54%, 95%  { transform: scaleX(1); }
  95.5%, 100% { transform: scaleX(0); }
}
@keyframes bwa-su-pic {
  0%, 54%   { transform: scale(0.6); opacity: 0; }
  64%, 95%  { transform: scale(1); opacity: 1; }
  95.5%, 100% { transform: scale(0.6); opacity: 0; }
}
@keyframes bwa-su-btn {
  0%, 64%   { transform: scale(0); }
  70%       { transform: scale(1.12); }
  73%, 95%  { transform: scale(1); }
  95.5%, 100% { transform: scale(0); }
}
@keyframes bwa-su-tick {
  0%, 73%   { transform: scaleX(0); opacity: 0; }
  77%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-biz .a-biz-c1   { animation-name: bwa-biz-c1; }
.bwa-biz .a-biz-c2   { animation-name: bwa-biz-c2; }
.bwa-biz .a-biz-c3   { animation-name: bwa-biz-c3; }
.bwa-biz .a-biz-dot  { animation-name: bwa-biz-dot; }
.bwa-biz .a-biz-tick { animation-name: bwa-biz-tick; }
@keyframes bwa-biz-c1 {
  0%        { transform: translateY(60px); opacity: 0; }
  10%, 95%  { transform: translateY(0); opacity: 1; }
  95.5%, 100% { transform: translateY(60px); opacity: 0; }
}
@keyframes bwa-biz-c2 {
  0%, 10%   { transform: translateY(60px); opacity: 0; }
  20%, 95%  { transform: translateY(0); opacity: 1; }
  95.5%, 100% { transform: translateY(60px); opacity: 0; }
}
@keyframes bwa-biz-c3 {
  0%, 20%   { transform: translateY(60px); opacity: 0; }
  30%, 95%  { transform: translateY(0); opacity: 1; }
  95.5%, 100% { transform: translateY(60px); opacity: 0; }
}
@keyframes bwa-biz-dot {
  0%, 30%   { transform: translateX(-83px) scale(0); opacity: 0; }
  36%, 42%  { transform: translateX(-83px) scale(1); opacity: 1; }
  52%, 58%  { transform: translateX(97px) scale(1); opacity: 1; }
  68%, 95%  { transform: translateX(0) scale(1); opacity: 1; }
  95.5%, 100% { transform: translateX(-83px) scale(0); opacity: 0; }
}
@keyframes bwa-biz-tick {
  0%, 69%   { transform: scaleX(0); opacity: 0; }
  73%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-shop .a-shop-p1   { animation-name: bwa-shop-p1; }
.bwa-shop .a-shop-p2   { animation-name: bwa-shop-p2; }
.bwa-shop .a-shop-p3   { animation-name: bwa-shop-p3; }
.bwa-shop .a-shop-b1   { animation-name: bwa-shop-b1; }
.bwa-shop .a-shop-b2   { animation-name: bwa-shop-b2; }
.bwa-shop .a-shop-b3   { animation-name: bwa-shop-b3; }
.bwa-shop .a-shop-bar  { animation-name: bwa-shop-bar; }
.bwa-shop .a-shop-tick { animation-name: bwa-shop-tick; }
@keyframes bwa-shop-p1 {
  0%, 8%    { transform: none; opacity: 1; }
  19%       { transform: translate(-11px, 142px) scale(0.39); opacity: 1; }
  20%, 95%  { transform: translate(-11px, 142px) scale(0.39); opacity: 0; }
  95.5%, 100% { transform: none; opacity: 1; }
}
@keyframes bwa-shop-p2 {
  0%, 30%   { transform: none; opacity: 1; }
  41%       { transform: translate(-73px, 142px) scale(0.39); opacity: 1; }
  42%, 95%  { transform: translate(-73px, 142px) scale(0.39); opacity: 0; }
  95.5%, 100% { transform: none; opacity: 1; }
}
@keyframes bwa-shop-p3 {
  0%, 52%   { transform: none; opacity: 1; }
  63%       { transform: translate(-135px, 142px) scale(0.39); opacity: 1; }
  64%, 95%  { transform: translate(-135px, 142px) scale(0.39); opacity: 0; }
  95.5%, 100% { transform: none; opacity: 1; }
}
@keyframes bwa-shop-b1 {
  0%, 19%   { transform: scale(0); opacity: 0; }
  22%, 95%  { transform: scale(1); opacity: 1; }
  95.5%, 100% { transform: scale(0); opacity: 0; }
}
@keyframes bwa-shop-b2 {
  0%, 41%   { transform: scale(0); opacity: 0; }
  44%, 95%  { transform: scale(1); opacity: 1; }
  95.5%, 100% { transform: scale(0); opacity: 0; }
}
@keyframes bwa-shop-b3 {
  0%, 63%   { transform: scale(0); opacity: 0; }
  66%, 95%  { transform: scale(1); opacity: 1; }
  95.5%, 100% { transform: scale(0); opacity: 0; }
}
@keyframes bwa-shop-bar {
  0%, 19%   { transform: scaleX(0); }
  23%, 41%  { transform: scaleX(0.33); }
  45%, 63%  { transform: scaleX(0.66); }
  67%, 95%  { transform: scaleX(1); }
  95.5%, 100% { transform: scaleX(0); }
}
@keyframes bwa-shop-tick {
  0%, 67%   { transform: scaleX(0); opacity: 0; }
  71%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-dev .a-dev-l1    { animation-name: bwa-dev-l1; }
.bwa-dev .a-dev-l2    { animation-name: bwa-dev-l2; }
.bwa-dev .a-dev-l3    { animation-name: bwa-dev-l3; }
.bwa-dev .a-dev-l4    { animation-name: bwa-dev-l4; }
.bwa-dev .a-dev-l5    { animation-name: bwa-dev-l5; }
.bwa-dev .a-dev-l6    { animation-name: bwa-dev-l6; }
.bwa-dev .a-dev-pulse { animation-name: bwa-dev-pulse; animation-timing-function: linear; }
.bwa-dev .a-dev-dot   { animation-name: bwa-dev-dot; }
.bwa-dev .a-dev-tick  { animation-name: bwa-dev-tick; }
@keyframes bwa-dev-l1 { 0%, 6%  { transform: scaleX(0); } 12%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-dev-l2 { 0%, 14% { transform: scaleX(0); } 20%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-dev-l3 { 0%, 22% { transform: scaleX(0); } 28%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-dev-l4 { 0%, 30% { transform: scaleX(0); } 36%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-dev-l5 { 0%, 38% { transform: scaleX(0); } 44%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-dev-l6 { 0%, 46% { transform: scaleX(0); } 52%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-dev-pulse {
  0%, 55%   { transform: translateX(0); opacity: 0; }
  57%       { transform: translateX(2px); opacity: 1; }
  61%       { transform: translateX(14px); opacity: 1; }
  62%, 100% { transform: translateX(14px); opacity: 0; }
}
@keyframes bwa-dev-dot {
  0%, 61%   { transform: scale(0); }
  65%, 95%  { transform: scale(1); }
  95.5%, 100% { transform: scale(0); }
}
@keyframes bwa-dev-tick {
  0%, 66%   { transform: scaleX(0); opacity: 0; }
  70%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-photo .a-ph-tl    { animation-name: bwa-ph-tl; }
.bwa-photo .a-ph-tr    { animation-name: bwa-ph-tr; }
.bwa-photo .a-ph-bl    { animation-name: bwa-ph-bl; }
.bwa-photo .a-ph-br    { animation-name: bwa-ph-br; }
.bwa-photo .a-ph-sun   { animation-name: bwa-ph-sun; }
.bwa-photo .a-ph-flash { animation-name: bwa-ph-flash; animation-timing-function: linear; }
.bwa-photo .a-ph-copy  { animation-name: bwa-ph-copy; }
.bwa-photo .a-ph-t2    { animation-name: bwa-ph-t2; }
.bwa-photo .a-ph-tick  { animation-name: bwa-ph-tick; }
@keyframes bwa-ph-tl { 0%, 5% { transform: translate(-14px, -14px); opacity: 0.3; } 20%, 95% { transform: none; opacity: 1; } 95.5%, 100% { transform: translate(-14px, -14px); opacity: 0.3; } }
@keyframes bwa-ph-tr { 0%, 5% { transform: translate(14px, -14px);  opacity: 0.3; } 20%, 95% { transform: none; opacity: 1; } 95.5%, 100% { transform: translate(14px, -14px);  opacity: 0.3; } }
@keyframes bwa-ph-bl { 0%, 5% { transform: translate(-14px, 14px);  opacity: 0.3; } 20%, 95% { transform: none; opacity: 1; } 95.5%, 100% { transform: translate(-14px, 14px);  opacity: 0.3; } }
@keyframes bwa-ph-br { 0%, 5% { transform: translate(14px, 14px);   opacity: 0.3; } 20%, 95% { transform: none; opacity: 1; } 95.5%, 100% { transform: translate(14px, 14px);   opacity: 0.3; } }
@keyframes bwa-ph-sun {
  0%, 22%   { transform: scale(1); }
  25%       { transform: scale(1.5); }
  28%, 100% { transform: scale(1); }
}
@keyframes bwa-ph-flash {
  0%, 22%   { opacity: 0; }
  24%       { opacity: 0.85; }
  29%, 100% { opacity: 0; }
}
@keyframes bwa-ph-copy {
  0%, 34%   { transform: none; opacity: 0; }
  34.5%     { transform: none; opacity: 1; }
  47%       { transform: translate(-42px, 105px) scale(0.16); opacity: 1; }
  48%, 100% { transform: translate(-42px, 105px) scale(0.16); opacity: 0; }
}
@keyframes bwa-ph-t2 {
  0%, 46%   { opacity: 0; }
  50%, 95%  { opacity: 1; }
  95.5%, 100% { opacity: 0; }
}
@keyframes bwa-ph-tick {
  0%, 50%   { transform: scaleX(0); opacity: 0; }
  54%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-promo .a-pr-teal   { animation-name: bwa-pr-teal; }
.bwa-promo .a-pr-violet { animation-name: bwa-pr-violet; }
.bwa-promo .a-pr-sun    { animation-name: bwa-pr-sun; }
.bwa-promo .a-pr-bar    { animation-name: bwa-pr-bar; }
.bwa-promo .a-pr-tick   { animation-name: bwa-pr-tick; }
@keyframes bwa-pr-teal {
  0%, 5%    { transform: translateX(0); opacity: 0; }
  7%        { transform: translateX(2px); opacity: 1; }
  14%       { transform: translateX(18px); opacity: 1; }
  15%, 50%  { transform: translateX(0); opacity: 0; }
  52%       { transform: translateX(2px); opacity: 1; }
  59%       { transform: translateX(18px); opacity: 1; }
  60%, 100% { transform: translateX(0); opacity: 0; }
}
@keyframes bwa-pr-violet {
  0%, 20%   { transform: translateX(0); opacity: 0; }
  22%       { transform: translateX(2px); opacity: 1; }
  29%       { transform: translateX(18px); opacity: 1; }
  30%, 65%  { transform: translateX(0); opacity: 0; }
  67%       { transform: translateX(2px); opacity: 1; }
  74%       { transform: translateX(18px); opacity: 1; }
  75%, 100% { transform: translateX(0); opacity: 0; }
}
@keyframes bwa-pr-sun {
  0%, 35%   { transform: translateX(0); opacity: 0; }
  37%       { transform: translateX(-2px); opacity: 1; }
  44%       { transform: translateX(-18px); opacity: 1; }
  45%, 100% { transform: translateX(0); opacity: 0; }
}
@keyframes bwa-pr-bar {
  0%, 14%   { transform: scaleX(0); }
  17%, 29%  { transform: scaleX(0.2); }
  32%, 44%  { transform: scaleX(0.4); }
  47%, 59%  { transform: scaleX(0.6); }
  62%, 74%  { transform: scaleX(0.8); }
  77%, 95%  { transform: scaleX(1); }
  95.5%, 100% { transform: scaleX(0); }
}
@keyframes bwa-pr-tick {
  0%, 78%   { transform: scaleX(0); opacity: 0; }
  82%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-ppc .a-ppc-ring   { animation-name: bwa-ppc-ring; }
.bwa-ppc .a-ppc-ripple { animation-name: bwa-ppc-ripple; animation-timing-function: ease-out; }
.bwa-ppc .a-ppc-spend  { animation-name: bwa-ppc-bar; }
.bwa-ppc .a-ppc-return { animation-name: bwa-ppc-bar; }
.bwa-ppc .a-ppc-tick   { animation-name: bwa-ppc-tick; }
@keyframes bwa-ppc-ring {
  0%, 8%    { transform: scale(1); }
  10%       { transform: scale(0.7); }
  13%, 28%  { transform: scale(1); }
  30%       { transform: scale(0.7); }
  33%, 48%  { transform: scale(1); }
  50%       { transform: scale(0.7); }
  53%, 100% { transform: scale(1); }
}
@keyframes bwa-ppc-ripple {
  0%, 10%   { transform: scale(1);   opacity: 0; }
  10.5%     { transform: scale(1);   opacity: 0.8; }
  18%       { transform: scale(2.4); opacity: 0; }
  18.5%, 30% { transform: scale(1);  opacity: 0; }
  30.5%     { transform: scale(1);   opacity: 0.8; }
  38%       { transform: scale(2.4); opacity: 0; }
  38.5%, 50% { transform: scale(1);  opacity: 0; }
  50.5%     { transform: scale(1);   opacity: 0.8; }
  58%       { transform: scale(2.4); opacity: 0; }
  58.5%, 100% { transform: scale(1); opacity: 0; }
}
@keyframes bwa-ppc-bar {
  0%, 10%   { transform: scaleX(0); }
  14%, 30%  { transform: scaleX(0.33); }
  34%, 50%  { transform: scaleX(0.66); }
  54%, 95%  { transform: scaleX(1); }
  95.5%, 100% { transform: scaleX(0); }
}
@keyframes bwa-ppc-tick {
  0%, 56%   { transform: scaleX(0); opacity: 0; }
  60%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-news .a-nw-mail  { animation-name: bwa-nw-mail; }
.bwa-news .a-nw-r1    { animation-name: bwa-nw-r1; }
.bwa-news .a-nw-r2    { animation-name: bwa-nw-r2; }
.bwa-news .a-nw-r3    { animation-name: bwa-nw-r3; }
.bwa-news .a-nw-t1    { animation-name: bwa-nw-t1; }
.bwa-news .a-nw-t2    { animation-name: bwa-nw-t2; }
.bwa-news .a-nw-t3    { animation-name: bwa-nw-t3; }
.bwa-news .a-nw-tally { animation-name: bwa-nw-tally; }
@keyframes bwa-nw-mail {
  0%, 10%   { transform: translate(0, 0); opacity: 0; }
  11%       { transform: translate(2px, -1px); opacity: 1; }
  24%       { transform: translate(114px, -70px); opacity: 1; }
  25%, 34%  { transform: translate(0, 0); opacity: 0; }
  35%       { transform: translate(2px, 0); opacity: 1; }
  48%       { transform: translate(114px, 0); opacity: 1; }
  49%, 58%  { transform: translate(0, 0); opacity: 0; }
  59%       { transform: translate(2px, 1px); opacity: 1; }
  72%       { transform: translate(114px, 70px); opacity: 1; }
  73%, 100% { transform: translate(0, 0); opacity: 0; }
}
@keyframes bwa-nw-r1 { 0%, 23% { transform: scale(1); } 26% { transform: scale(1.35); } 30%, 100% { transform: scale(1); } }
@keyframes bwa-nw-r2 { 0%, 47% { transform: scale(1); } 50% { transform: scale(1.35); } 54%, 100% { transform: scale(1); } }
@keyframes bwa-nw-r3 { 0%, 71% { transform: scale(1); } 74% { transform: scale(1.35); } 78%, 100% { transform: scale(1); } }
@keyframes bwa-nw-t1 { 0%, 24% { transform: scaleX(0); opacity: 0; } 28%, 95% { transform: scaleX(1); opacity: 1; } 95.5%, 100% { transform: scaleX(0); opacity: 0; } }
@keyframes bwa-nw-t2 { 0%, 48% { transform: scaleX(0); opacity: 0; } 52%, 95% { transform: scaleX(1); opacity: 1; } 95.5%, 100% { transform: scaleX(0); opacity: 0; } }
@keyframes bwa-nw-t3 { 0%, 72% { transform: scaleX(0); opacity: 0; } 76%, 95% { transform: scaleX(1); opacity: 1; } 95.5%, 100% { transform: scaleX(0); opacity: 0; } }
@keyframes bwa-nw-tally {
  0%, 24%   { transform: scaleX(0); }
  28%, 48%  { transform: scaleX(0.33); }
  52%, 72%  { transform: scaleX(0.66); }
  76%, 95%  { transform: scaleX(1); }
  95.5%, 100% { transform: scaleX(0); }
}
.bwa-dom .a-dom-curtain { animation-name: bwa-dom-curtain; }
.bwa-dom .a-dom-caret   { animation-name: bwa-dom-caret; animation-timing-function: linear; }
.bwa-dom .a-dom-e1      { animation-name: bwa-dom-e1; animation-timing-function: linear; }
.bwa-dom .a-dom-e2      { animation-name: bwa-dom-e2; animation-timing-function: linear; }
.bwa-dom .a-dom-e3      { animation-name: bwa-dom-e3; animation-timing-function: linear; }
.bwa-dom .a-dom-e4      { animation-name: bwa-dom-e4; animation-timing-function: linear; }
.bwa-dom .a-dom-c1      { animation-name: bwa-dom-c1; }
.bwa-dom .a-dom-c2      { animation-name: bwa-dom-c2; }
.bwa-dom .a-dom-c3      { animation-name: bwa-dom-c3; }
.bwa-dom .a-dom-tick    { animation-name: bwa-dom-tick; }
.bwa-dom .a-dom-reg     { animation-name: bwa-dom-reg; }
@keyframes bwa-dom-curtain {
  0%, 5%    { transform: scaleX(1); animation-timing-function: steps(12, end); }
  29%, 95%  { transform: scaleX(0); }
  95.5%, 100% { transform: scaleX(1); }
}
@keyframes bwa-dom-caret { 0%, 30% { opacity: 1; } 32%, 100% { opacity: 0; } }
@keyframes bwa-dom-e1 { 0%, 32% { opacity: 0; } 33%, 44% { opacity: 1; } 45%, 100% { opacity: 0; } }
@keyframes bwa-dom-e2 { 0%, 46% { opacity: 0; } 47%, 58% { opacity: 1; } 59%, 100% { opacity: 0; } }
@keyframes bwa-dom-e3 { 0%, 60% { opacity: 0; } 61%, 72% { opacity: 1; } 73%, 100% { opacity: 0; } }
@keyframes bwa-dom-e4 { 0%, 74% { opacity: 0; } 75%, 95% { opacity: 1; } 95.5%, 100% { opacity: 0; } }
@keyframes bwa-dom-c1 { 0%, 32% { transform: scale(1); } 34% { transform: scale(1.12); } 37%, 100% { transform: scale(1); } }
@keyframes bwa-dom-c2 { 0%, 46% { transform: scale(1); } 48% { transform: scale(1.12); } 51%, 100% { transform: scale(1); } }
@keyframes bwa-dom-c3 { 0%, 60% { transform: scale(1); } 62% { transform: scale(1.12); } 65%, 100% { transform: scale(1); } }
@keyframes bwa-dom-tick {
  0%, 76%   { transform: scaleX(0); opacity: 0; }
  80%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
@keyframes bwa-dom-reg {
  0%, 78%   { transform: scaleX(0); }
  88%, 95%  { transform: scaleX(0.75); }
  95.5%, 100% { transform: scaleX(0); }
}
.bwa-host .a-ho-p1   { animation-name: bwa-ho-p1; }
.bwa-host .a-ho-p2   { animation-name: bwa-ho-p2; }
.bwa-host .a-ho-p3   { animation-name: bwa-ho-p3; }
.bwa-host .a-ho-p4   { animation-name: bwa-ho-p4; }
.bwa-host .a-ho-mail { animation-name: bwa-ho-mail; }
.bwa-host .a-ho-tick { animation-name: bwa-ho-tick; }
@keyframes bwa-ho-p1 {
  0%, 5%    { transform: translateX(-110px); opacity: 0; }
  7%        { transform: translateX(-100px); opacity: 1; }
  17%, 95%  { transform: translateX(0); opacity: 1; }
  95.5%, 100% { transform: translateX(-110px); opacity: 0; }
}
@keyframes bwa-ho-p2 {
  0%, 20%   { transform: translateX(-125px); opacity: 0; }
  22%       { transform: translateX(-115px); opacity: 1; }
  32%, 95%  { transform: translateX(0); opacity: 1; }
  95.5%, 100% { transform: translateX(-125px); opacity: 0; }
}
@keyframes bwa-ho-p3 {
  0%, 35%   { transform: translateX(-140px); opacity: 0; }
  37%       { transform: translateX(-130px); opacity: 1; }
  47%, 95%  { transform: translateX(0); opacity: 1; }
  95.5%, 100% { transform: translateX(-140px); opacity: 0; }
}
@keyframes bwa-ho-p4 {
  0%, 50%   { transform: translateX(-155px); opacity: 0; }
  52%       { transform: translateX(-145px); opacity: 1; }
  62%, 95%  { transform: translateX(0); opacity: 1; }
  95.5%, 100% { transform: translateX(-155px); opacity: 0; }
}
@keyframes bwa-ho-mail {
  0%, 64%   { transform: translateY(46px); opacity: 0; }
  74%, 95%  { transform: translateY(0); opacity: 1; }
  95.5%, 100% { transform: translateY(46px); opacity: 0; }
}
@keyframes bwa-ho-tick {
  0%, 76%   { transform: scaleX(0); opacity: 0; }
  80%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa .s-road  { fill: none; stroke: var(--bwa-line); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 6 7; }
.bwa .s-cover { fill: none; stroke: var(--bwa-bg); stroke-width: 7; stroke-linecap: butt; }
.bwa .s-sky   { fill: none; stroke: var(--bwa-sky); }
.bwa .s-onsun { fill: none; stroke: var(--bwa-on-sun); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bwa-acad .a-acad-card { animation-name: bwa-acad-card; }
.bwa-acad .a-acad-dot  { animation-name: bwa-acad-dot; }
.bwa-acad .a-acad-bar  { animation-name: bwa-acad-bar; }
.bwa-acad .a-acad-r1   { animation-name: bwa-acad-r1; }
.bwa-acad .a-acad-r2   { animation-name: bwa-acad-r2; }
.bwa-acad .a-acad-r3   { animation-name: bwa-acad-r3; }
.bwa-acad .a-acad-uniA { animation-name: bwa-acad-uniA; }
.bwa-acad .a-acad-uniB { animation-name: bwa-acad-uniB; }
.bwa-acad .a-acad-tick { animation-name: bwa-acad-tick; }
@keyframes bwa-acad-card {
  0%        { transform: scale(0.96); opacity: 0; }
  6%, 95%   { transform: scale(1); opacity: 1; }
  95.5%, 100% { transform: scale(0.96); opacity: 0; }
}
@keyframes bwa-acad-dot {
  0%, 6%    { transform: scale(0); }
  10%, 54%  { transform: scale(1); }
  57%       { transform: scale(1.3); }
  61%, 95%  { transform: scale(1); }
  95.5%, 100% { transform: scale(0); }
}
@keyframes bwa-acad-bar {
  0%, 10%   { transform: scaleX(0); fill: var(--bwa-sky); }
  16%, 53%  { transform: scaleX(1); fill: var(--bwa-sky); }
  57%       { transform: scaleX(1); fill: var(--bwa-brand); }
  62%, 95%  { transform: scaleX(1); fill: var(--bwa-sky); }
  95.5%, 100% { transform: scaleX(0); fill: var(--bwa-sky); }
}
@keyframes bwa-acad-r1 {
  0%, 18%   { transform: translateX(-16px); opacity: 0; }
  24%, 95%  { transform: translateX(0); opacity: 1; }
  95.5%, 100% { transform: translateX(-16px); opacity: 0; }
}
@keyframes bwa-acad-r2 {
  0%, 26%   { transform: translateX(-16px); opacity: 0; }
  32%, 95%  { transform: translateX(0); opacity: 1; }
  95.5%, 100% { transform: translateX(-16px); opacity: 0; }
}
@keyframes bwa-acad-r3 {
  0%, 34%   { transform: translateX(-16px); opacity: 0; }
  40%, 95%  { transform: translateX(0); opacity: 1; }
  95.5%, 100% { transform: translateX(-16px); opacity: 0; }
}
@keyframes bwa-acad-uniA {
  0%, 42%   { transform: translateX(0); opacity: 1; }
  56%, 100% { transform: translateX(-90px); opacity: 0; }
}
@keyframes bwa-acad-uniB {
  0%, 50%   { transform: translateX(90px); opacity: 0; }
  66%, 95%  { transform: translateX(0); opacity: 1; }
  95.5%, 100% { transform: translateX(90px); opacity: 0; }
}
@keyframes bwa-acad-tick {
  0%, 72%   { transform: scaleX(0); opacity: 0; }
  76%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-let .a-let-cottage { animation-name: bwa-let-cottage; }
.bwa-let .a-let-btn     { animation-name: bwa-let-btn; }
.bwa-let .a-let-s1      { animation-name: bwa-let-s1; }
.bwa-let .a-let-s2      { animation-name: bwa-let-s2; }
.bwa-let .a-let-s3      { animation-name: bwa-let-s3; }
.bwa-let .a-let-s4      { animation-name: bwa-let-s4; }
.bwa-let .a-let-s5      { animation-name: bwa-let-s5; }
.bwa-let .a-let-s6      { animation-name: bwa-let-s6; }
.bwa-let .a-let-s7      { animation-name: bwa-let-s7; }
.bwa-let .a-let-tick    { animation-name: bwa-let-tick; }
@keyframes bwa-let-cottage {
  0%        { transform: scale(0.96); opacity: 0; }
  8%, 95%   { transform: scale(1); opacity: 1; }
  95.5%, 100% { transform: scale(0.96); opacity: 0; }
}
@keyframes bwa-let-btn {
  0%, 9%    { transform: scale(1); } 11% { transform: scale(1.15); }
  13%, 19%  { transform: scale(1); } 21% { transform: scale(1.15); }
  23%, 29%  { transform: scale(1); } 31% { transform: scale(1.15); }
  33%, 39%  { transform: scale(1); } 41% { transform: scale(1.15); }
  43%, 49%  { transform: scale(1); } 51% { transform: scale(1.15); }
  53%, 59%  { transform: scale(1); } 61% { transform: scale(1.15); }
  63%, 69%  { transform: scale(1); } 71% { transform: scale(1.15); }
  73%, 100% { transform: scale(1); }
}
@keyframes bwa-let-s1 { 0%, 8%  { transform: scale(0); opacity: 0; } 12%, 95% { transform: scale(1); opacity: 1; } 95.5%, 100% { transform: scale(0); opacity: 0; } }
@keyframes bwa-let-s2 { 0%, 18% { transform: scale(0); opacity: 0; } 22%, 95% { transform: scale(1); opacity: 1; } 95.5%, 100% { transform: scale(0); opacity: 0; } }
@keyframes bwa-let-s3 { 0%, 28% { transform: scale(0); opacity: 0; } 32%, 95% { transform: scale(1); opacity: 1; } 95.5%, 100% { transform: scale(0); opacity: 0; } }
@keyframes bwa-let-s4 { 0%, 38% { transform: scale(0); opacity: 0; } 42%, 95% { transform: scale(1); opacity: 1; } 95.5%, 100% { transform: scale(0); opacity: 0; } }
@keyframes bwa-let-s5 { 0%, 48% { transform: scale(0); opacity: 0; } 52%, 95% { transform: scale(1); opacity: 1; } 95.5%, 100% { transform: scale(0); opacity: 0; } }
@keyframes bwa-let-s6 { 0%, 58% { transform: scale(0); opacity: 0; } 62%, 95% { transform: scale(1); opacity: 1; } 95.5%, 100% { transform: scale(0); opacity: 0; } }
@keyframes bwa-let-s7 { 0%, 68% { transform: scale(0); opacity: 0; } 72%, 95% { transform: scale(1); opacity: 1; } 95.5%, 100% { transform: scale(0); opacity: 0; } }
@keyframes bwa-let-tick {
  0%, 74%   { transform: scaleX(0); opacity: 0; }
  78%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-nor .a-nor-pin   { animation-name: bwa-nor-pin; }
.bwa-nor .a-nor-c1    { animation-name: bwa-nor-c1; }
.bwa-nor .a-nor-c2    { animation-name: bwa-nor-c2; }
.bwa-nor .a-nor-c3    { animation-name: bwa-nor-c3; }
.bwa-nor .a-nor-cover { animation-name: bwa-nor-cover; animation-timing-function: linear; }
.bwa-nor .a-nor-dot   { animation-name: bwa-nor-dot; offset-path: path("M62,88 C110,88 150,124 170,152 S196,200 214,200"); offset-distance: 100%; offset-rotate: 0deg; }
.bwa-nor .a-nor-meet  { animation-name: bwa-nor-meet; }
.bwa-nor .a-nor-tick  { animation-name: bwa-nor-tick; }
@keyframes bwa-nor-pin {
  0%, 2%    { transform: translateY(-12px); opacity: 0; }
  8%, 95%   { transform: translateY(0); opacity: 1; }
  95.5%, 100% { transform: translateY(-12px); opacity: 0; }
}
@keyframes bwa-nor-c1 { 0%, 6%  { transform: translateY(16px); opacity: 0; } 12%, 95% { transform: none; opacity: 1; } 95.5%, 100% { transform: translateY(16px); opacity: 0; } }
@keyframes bwa-nor-c2 { 0%, 9%  { transform: translateY(16px); opacity: 0; } 15%, 95% { transform: none; opacity: 1; } 95.5%, 100% { transform: translateY(16px); opacity: 0; } }
@keyframes bwa-nor-c3 { 0%, 12% { transform: translateY(16px); opacity: 0; } 18%, 95% { transform: none; opacity: 1; } 95.5%, 100% { transform: translateY(16px); opacity: 0; } }
@keyframes bwa-nor-cover {
  0%, 18%   { stroke-dashoffset: 0; }
  44%, 95%  { stroke-dashoffset: -198; }
  95.5%, 100% { stroke-dashoffset: 0; }
}
@keyframes bwa-nor-dot {
  0%, 46%   { offset-distance: 0%; opacity: 0; }
  48%       { offset-distance: 3%; opacity: 1; }
  68%, 95%  { offset-distance: 100%; opacity: 1; }
  95.5%, 100% { offset-distance: 0%; opacity: 0; }
}
@keyframes bwa-nor-meet {
  0%, 10%   { transform: translateX(14px); opacity: 0; }
  16%, 68%  { transform: translateX(14px); opacity: 1; }
  72%       { transform: translateX(-6px); opacity: 1; }
  76%, 95%  { transform: translateX(0); opacity: 1; }
  95.5%, 100% { transform: translateX(14px); opacity: 0; }
}
@keyframes bwa-nor-tick {
  0%, 78%   { transform: scaleX(0); opacity: 0; }
  82%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-lynn .a-lynn-pin   { animation-name: bwa-lynn-pin; }
.bwa-lynn .a-lynn-c1    { animation-name: bwa-lynn-c1; }
.bwa-lynn .a-lynn-c2    { animation-name: bwa-lynn-c2; }
.bwa-lynn .a-lynn-c3    { animation-name: bwa-lynn-c3; }
.bwa-lynn .a-lynn-cover { animation-name: bwa-lynn-cover; animation-timing-function: linear; }
.bwa-lynn .a-lynn-dot   { animation-name: bwa-lynn-dot; offset-path: path("M258,88 C226,88 250,132 206,136 S146,96 126,146 S140,200 106,200"); offset-distance: 100%; offset-rotate: 0deg; }
.bwa-lynn .a-lynn-v1    { animation-name: bwa-lynn-v1; }
.bwa-lynn .a-lynn-v2    { animation-name: bwa-lynn-v2; }
.bwa-lynn .a-lynn-v3    { animation-name: bwa-lynn-v3; }
.bwa-lynn .a-lynn-meet  { animation-name: bwa-lynn-meet; }
.bwa-lynn .a-lynn-tick  { animation-name: bwa-lynn-tick; }
@keyframes bwa-lynn-pin {
  0%, 2%    { transform: translateY(-12px); opacity: 0; }
  8%, 95%   { transform: translateY(0); opacity: 1; }
  95.5%, 100% { transform: translateY(-12px); opacity: 0; }
}
@keyframes bwa-lynn-c1 { 0%, 6%  { transform: translateY(16px); opacity: 0; } 12%, 95% { transform: none; opacity: 1; } 95.5%, 100% { transform: translateY(16px); opacity: 0; } }
@keyframes bwa-lynn-c2 { 0%, 9%  { transform: translateY(16px); opacity: 0; } 15%, 95% { transform: none; opacity: 1; } 95.5%, 100% { transform: translateY(16px); opacity: 0; } }
@keyframes bwa-lynn-c3 { 0%, 12% { transform: translateY(16px); opacity: 0; } 18%, 95% { transform: none; opacity: 1; } 95.5%, 100% { transform: translateY(16px); opacity: 0; } }
@keyframes bwa-lynn-cover {
  0%, 18%   { stroke-dashoffset: 0; }
  44%, 95%  { stroke-dashoffset: -242; }
  95.5%, 100% { stroke-dashoffset: 0; }
}
@keyframes bwa-lynn-dot {
  0%, 46%   { offset-distance: 0%; opacity: 0; }
  48%       { offset-distance: 3%; opacity: 1; }
  74%, 95%  { offset-distance: 100%; opacity: 1; }
  95.5%, 100% { offset-distance: 0%; opacity: 0; }
}
@keyframes bwa-lynn-v1 { 0%, 54% { transform: scale(0); opacity: 0; } 57%, 95% { transform: scale(1); opacity: 1; } 95.5%, 100% { transform: scale(0); opacity: 0; } }
@keyframes bwa-lynn-v2 { 0%, 60% { transform: scale(0); opacity: 0; } 63%, 95% { transform: scale(1); opacity: 1; } 95.5%, 100% { transform: scale(0); opacity: 0; } }
@keyframes bwa-lynn-v3 { 0%, 66% { transform: scale(0); opacity: 0; } 69%, 95% { transform: scale(1); opacity: 1; } 95.5%, 100% { transform: scale(0); opacity: 0; } }
@keyframes bwa-lynn-meet {
  0%, 10%   { transform: translateX(-14px); opacity: 0; }
  16%, 74%  { transform: translateX(-14px); opacity: 1; }
  78%       { transform: translateX(6px); opacity: 1; }
  82%, 95%  { transform: translateX(0); opacity: 1; }
  95.5%, 100% { transform: translateX(-14px); opacity: 0; }
}
@keyframes bwa-lynn-tick {
  0%, 83%   { transform: scaleX(0); opacity: 0; }
  87%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa-sb .a-sb-shop   { animation-name: bwa-sb-shop; }
.bwa-sb .a-sb-sign   { animation-name: bwa-sb-sign; }
.bwa-sb .a-sb-rip1   { animation-name: bwa-sb-rip1; animation-timing-function: ease-out; }
.bwa-sb .a-sb-rip2   { animation-name: bwa-sb-rip2; animation-timing-function: ease-out; }
.bwa-sb .a-sb-answer { animation-name: bwa-sb-answer; }
.bwa-sb .a-sb-say1   { animation-name: bwa-sb-say1; }
.bwa-sb .a-sb-say2   { animation-name: bwa-sb-say2; }
.bwa-sb .a-sb-tick   { animation-name: bwa-sb-tick; }
@keyframes bwa-sb-shop {
  0%        { transform: scale(0.96); opacity: 0; }
  8%, 95%   { transform: scale(1); opacity: 1; }
  95.5%, 100% { transform: scale(0.96); opacity: 0; }
}
@keyframes bwa-sb-sign {
  0%, 22%   { transform: scaleX(1); fill: var(--bwa-line); }
  26%       { transform: scaleX(0); fill: var(--bwa-line); }
  26.5%     { transform: scaleX(0); fill: var(--bwa-brand); }
  30%, 95%  { transform: scaleX(1); fill: var(--bwa-brand); }
  95.5%     { transform: scaleX(1); fill: var(--bwa-line); }
  100%      { transform: scaleX(1); fill: var(--bwa-line); }
}
@keyframes bwa-sb-rip1 {
  0%, 36%   { transform: scale(1); opacity: 0; }
  36.5%     { transform: scale(1); opacity: 0.8; }
  44%, 100% { transform: scale(2.6); opacity: 0; }
}
@keyframes bwa-sb-rip2 {
  0%, 46%   { transform: scale(1); opacity: 0; }
  46.5%     { transform: scale(1); opacity: 0.8; }
  54%, 100% { transform: scale(2.6); opacity: 0; }
}
@keyframes bwa-sb-answer {
  0%, 56%   { transform: scale(0); }
  59%       { transform: scale(1.2); }
  61%, 95%  { transform: scale(1); }
  95.5%, 100% { transform: scale(0); }
}
@keyframes bwa-sb-say1 { 0%, 62% { transform: scaleX(0); } 66%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-sb-say2 { 0%, 66% { transform: scaleX(0); } 70%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-sb-tick {
  0%, 72%   { transform: scaleX(0); opacity: 0; }
  76%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.bwa .f-paper   { fill: var(--bwa-paper, #f5f7f3); }
.bwa .f-bandink { fill: var(--bwa-band-ink, #231f20); }
.bwa-band { max-width: 280px; }
.bwa-band .a-band-bubble { animation-name: bwa-band-bubble; transform-origin: left bottom; }
.bwa-band .a-band-b1   { animation-name: bwa-band-b1; }
.bwa-band .a-band-b2   { animation-name: bwa-band-b2; }
.bwa-band .a-band-d1   { animation-name: bwa-band-d1; animation-timing-function: ease-in-out; }
.bwa-band .a-band-d2   { animation-name: bwa-band-d2; animation-timing-function: ease-in-out; }
.bwa-band .a-band-d3   { animation-name: bwa-band-d3; animation-timing-function: ease-in-out; }
.bwa-band .a-band-card { animation-name: bwa-band-card; }
.bwa-band .a-band-l1   { animation-name: bwa-band-l1; }
.bwa-band .a-band-l2   { animation-name: bwa-band-l2; }
.bwa-band .a-band-l3   { animation-name: bwa-band-l3; }
.bwa-band .a-band-l4   { animation-name: bwa-band-l4; }
.bwa-band .a-band-l5   { animation-name: bwa-band-l5; }
.bwa-band .a-band-sum  { animation-name: bwa-band-sum; }
.bwa-band .a-band-tick { animation-name: bwa-band-tick; }
@keyframes bwa-band-bubble {
  0%, 4%    { transform: scale(0); opacity: 0; }
  10%, 95%  { transform: scale(1); opacity: 1; }
  95.5%, 100% { transform: scale(0); opacity: 0; }
}
@keyframes bwa-band-b1 { 0%, 12% { transform: scaleX(0); } 17%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-band-b2 { 0%, 18% { transform: scaleX(0); } 23%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-band-d1 { 0%, 26% { opacity: 0; } 28% { opacity: 1; } 31% { opacity: 0.3; } 34% { opacity: 1; } 37% { opacity: 0.3; } 39%, 100% { opacity: 0; } }
@keyframes bwa-band-d2 { 0%, 27% { opacity: 0; } 29% { opacity: 1; } 32% { opacity: 0.3; } 35% { opacity: 1; } 38% { opacity: 0.3; } 40%, 100% { opacity: 0; } }
@keyframes bwa-band-d3 { 0%, 28% { opacity: 0; } 30% { opacity: 1; } 33% { opacity: 0.3; } 36% { opacity: 1; } 39% { opacity: 0.3; } 41%, 100% { opacity: 0; } }
@keyframes bwa-band-card {
  0%, 38%   { transform: translateY(10px); opacity: 0; }
  44%, 95%  { transform: translateY(0); opacity: 1; }
  95.5%, 100% { transform: translateY(10px); opacity: 0; }
}
@keyframes bwa-band-l1  { 0%, 46% { transform: scaleX(0); } 50%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-band-l2  { 0%, 51% { transform: scaleX(0); } 55%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-band-l3  { 0%, 56% { transform: scaleX(0); } 60%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-band-l4  { 0%, 61% { transform: scaleX(0); } 65%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-band-l5  { 0%, 66% { transform: scaleX(0); } 70%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-band-sum { 0%, 71% { transform: scaleX(0); } 74%, 95% { transform: scaleX(1); } 95.5%, 100% { transform: scaleX(0); } }
@keyframes bwa-band-tick {
  0%, 76%   { transform: scaleX(0); opacity: 0; }
  80%, 95%  { transform: scaleX(1); opacity: 1; }
  95.5%, 100% { transform: scaleX(0); opacity: 0; }
}
.niches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.niche{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg);color:var(--ink);text-decoration:none;overflow:hidden}
.niche:hover{border-color:var(--ink)}
.niche__art{display:block;padding:10px 10px 0;border-bottom:1px solid var(--line)}
.niche__art .bwa{margin-inline:auto}
.niche__body{display:flex;flex-direction:column;gap:6px;flex:1;padding:16px 18px 18px}
.niche__name{font-family:var(--f-head);font-weight:800;font-size:20px;line-height:1.15;letter-spacing:-.01em}
.niche:hover .niche__name{color:var(--brand-ink);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:2px}
.niche__line{font-size:15.5px;line-height:1.4;color:var(--ink-2)}
.niche__tag{margin-top:auto;padding-top:6px}
.niche:not(:hover):not(:focus-visible) .bwa *{animation:none}
@media (max-width:1100px){
  .niches{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:699px){
  .niches{grid-template-columns:1fr;gap:12px}
  .niche{flex-direction:row;align-items:stretch}
  .niche__art{flex:0 0 112px;display:flex;align-items:center;padding:6px;border-bottom:0;border-right:1px solid var(--line)}
  .niche__body{padding:12px 14px}
  .niche__name{font-size:18px}
}
.path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.path a{padding:20px 24px 20px 0;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px}
.path a+a{padding-left:24px;border-left:1px solid var(--line)}
.path a:hover{background:var(--bg-2)}
.path b{font-family:var(--f-head);font-weight:800;font-size:21px;line-height:1.15;letter-spacing:-.01em}
.path span{color:var(--ink-2);font-size:16px}
.svc-detail{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px;padding-block:30px;border-top:1px solid var(--line)}
.svc-detail:first-child{border-top:1px solid var(--rule)}
.svc-detail__head{display:flex;flex-direction:column;gap:6px}
.svc-detail__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 40px}
.svc-detail__body p{color:var(--ink-2)}
.tick li{position:relative;padding-left:22px;color:var(--ink-2);font-size:16.5px}
.tick li+li{margin-top:6px}
.tick li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--brand)}
.answer{border-left:0;background:var(--bg-2);padding:22px 26px;max-width:52em;border-radius:var(--r-lg)}
.answer .mono{color:var(--brand-ink);display:block;margin-bottom:6px}
.answer p{font-size:19px;line-height:1.42}
.specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.spec{padding:20px 24px 22px 0;display:flex;flex-direction:column;gap:6px}
.spec+.spec{padding-left:24px;border-left:1px solid var(--line)}
.spec p{color:var(--ink-2);font-size:16.5px}
.ladder{border-top:1px solid var(--rule)}
.rung{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,2fr) minmax(0,2fr);gap:20px 24px;align-items:center;padding-block:20px;border-bottom:1px solid var(--line)}
.rung__name{font-family:var(--f-head);font-weight:800;font-size:24px;line-height:1.12;letter-spacing:-.014em}
.rung__bar{position:relative;height:12px;background:var(--bg-3);border-radius:99px;overflow:hidden}
.rung__bar i{position:absolute;left:0;top:0;bottom:0;background:var(--brand)}
.rung__price{font-family:var(--f-head);font-weight:900;font-size:34px;line-height:1;letter-spacing:-.02em;text-align:right}
.rung__price small{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:6px}
.rung__time{font-family:var(--f-head);font-size:12.5px;color:var(--ink-3);text-align:right;font-weight:700}
.rung--r{grid-template-columns:minmax(0,2.4fr) minmax(0,4.4fr) minmax(0,3.6fr) minmax(0,1.2fr);align-items:start}
.rung--r .rung__price{font-size:30px;white-space:nowrap}
.rung__no{display:block;font-family:var(--f-head);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;font-weight:700}
.rung__note{display:block;margin-top:10px;color:var(--ink-3);font-size:15px;line-height:1.5}
.incl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.incl li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:17px}
.incl li span{font-family:var(--f-head);font-size:12px;letter-spacing:.05em;color:var(--brand-ink);text-transform:uppercase;white-space:nowrap;font-weight:700}
.compare{width:100%;border-collapse:collapse;font-size:16.5px}
.compare th,.compare td{padding:13px 16px 13px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare thead th{border-bottom:1px solid var(--rule);font-family:var(--f-head);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.compare tbody th{font-weight:700;width:26%}
.compare td{color:var(--ink-2)}
.ledger--stack{grid-template-columns:minmax(0,1fr)}
.ledger--stack .ledger__head .h2{max-width:none}
.ledger--stack .rung--r{grid-template-columns:minmax(0,2.6fr) minmax(0,6fr) minmax(0,3fr) minmax(0,1.4fr)}
.offer{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 48px;align-items:center;padding:clamp(26px,3.2vw,42px);background:var(--offer-bg);color:var(--panel-ink);border-radius:var(--r-lg)}
.offer__copy{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.offer__tag{display:inline-block;background:var(--btn);color:var(--btn-ink);border:1px solid var(--btn);border-radius:99px;padding:5px 12px;font-family:var(--f-head);font-weight:800;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.offer p{color:var(--panel-ink-2);max-width:34em}
.offer__price{font-family:var(--f-head);font-weight:900;font-size:clamp(44px,5vw,68px);line-height:1;letter-spacing:-.03em}
.offer .offer__price{color:var(--panel-ink);max-width:none}
.offer__price small{font-family:var(--f-sans);font-size:17px;font-weight:400;letter-spacing:0;margin-left:8px}
.offer .offer__price small{color:var(--panel-ink-2)}
.offer .tick li{color:var(--panel-ink)}
.offer .tick li::before{background:var(--sage)}
.offer__act{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin-top:6px}
.offer .btn--line{color:var(--panel-ink);border-color:var(--panel-ink)}
.offer .btn--line:hover{background:var(--panel-ink);color:var(--panel)}
.offer__side{display:flex;flex-direction:column;gap:12px}
.offer__side .mono{color:var(--panel-ink-2)}
.offer .small{font-size:14px;color:var(--panel-ink-2);margin-top:2px}
.offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.offers .offer{grid-template-columns:1fr;align-items:start;gap:18px}
.offers .offer .h2{font-size:clamp(24px,2.3vw,32px);max-width:14em}
.offers .offer__side{gap:14px}
.offers .offer__price{font-size:clamp(38px,4vw,54px)}
.offers .offer__price small{display:block;margin:8px 0 0}
.lp-hero{padding-block:clamp(24px,3.4vw,48px) clamp(32px,4vw,56px)}
.lp-hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:48px;align-items:start}
.lp-hero__copy{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.lp-hero__copy .h1{max-width:12em}
.lp-price{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap}
.lp-price b{font-family:var(--f-head);font-weight:900;font-size:clamp(44px,5vw,64px);line-height:1;letter-spacing:-.03em;color:var(--brand-ink)}
.lp-price span{color:var(--ink-2);font-size:17px}
.lp-tick{display:grid;gap:6px;margin-top:2px}
.lp-form{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 24px 26px;scroll-margin-top:calc(var(--hdr) + 24px)}
.lp-form h2{margin-bottom:2px}
.lp-form .form{margin-top:14px;gap:14px}
.lp-form .field input,.lp-form .field textarea{background:var(--bg)}
.lp-form .field textarea{min-height:96px}
.who{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.who>div{padding:20px 22px;background:var(--bg-2);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:6px}
.who p{color:var(--ink-2)}
.who--no>div{background:transparent;border:1px solid var(--line)}
.filters{display:flex;flex-wrap:wrap;gap:10px;padding-block:18px;border-top:1px solid var(--rule);border-bottom:1px solid var(--line)}
.filters .chip{font-size:13px;padding:8px 13px;min-height:38px;cursor:pointer}
.filters .chip sup{font-size:.8em;margin-left:6px;opacity:.7}
.plates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px;padding-block:36px 16px}
.plates li{list-style:none;min-width:0}
.plate{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink)}
.plate__img{border:1px solid var(--rule);background:var(--bg-2);overflow:hidden;position:relative;border-radius:var(--r-lg)}
.plate__img img{width:100%;aspect-ratio:1000/625;object-fit:cover;object-position:top}
.plate__row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.plate__name{font-family:var(--f-head);font-weight:800;font-size:21px;line-height:1.14;letter-spacing:-.012em}
.plate:hover .plate__name{color:var(--brand-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
.plate p{font-size:15.5px;color:var(--ink-2);line-height:1.4}
.pf .filters label.chip{cursor:pointer}
.pf .filters input:focus-visible + label{outline:3px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 6px var(--ring-2)}
.pf .filters input:checked + label,
.pf:not(:has(input:checked)) .filters label[for="f-all"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pf:has(#f-shop:checked) .plates li:not([data-s="shop"]),
.pf:has(#f-community:checked) .plates li:not([data-s="community"]),
.pf:has(#f-hospitality:checked) .plates li:not([data-s="hospitality"]),
.pf:has(#f-trades:checked) .plates li:not([data-s="trades"]),
.pf:has(#f-professional:checked) .plates li:not([data-s="professional"]),
.pf:has(#f-care:checked) .plates li:not([data-s="care"]),
.pf:has(#f-creative:checked) .plates li:not([data-s="creative"]),
.pf:has(#f-apps:checked) .plates li:not([data-s="apps"]){display:none}
.cs-hero{padding-block:24px 0}
.cs-hero__stage{
  margin-top:20px;background:var(--sage-2);border:1px solid var(--rule);
  padding:clamp(28px,4vw,56px) clamp(28px,5vw,88px) clamp(28px,4vw,56px);
  position:relative;overflow:hidden;border-radius:var(--r-lg);
}
.cs-hero__stage .trio{max-width:900px;margin-inline:auto}
.cs-hero__tag{position:absolute;left:20px;top:16px;color:var(--ink-2)}
.split{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);column-gap:clamp(40px,6vw,88px);align-items:start;padding-block:44px 24px}
.meta{position:sticky;top:calc(var(--hdr) + 24px);align-self:start;display:flex;flex-direction:column;gap:18px;font-size:16px}
.meta__client{font-family:var(--f-head);font-weight:800;font-size:26px;line-height:1.1;letter-spacing:-.016em}
.meta__rows{border-top:1px solid var(--rule)}
.meta__row{padding:11px 0;border-bottom:1px solid var(--line);display:grid;gap:2px}
.meta__row dt{font-family:var(--f-head);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.meta__row dd{color:var(--ink);line-height:1.35}
.meta__row dd a{color:var(--brand-ink);text-underline-offset:.2em}
.toc{display:flex;flex-direction:column;gap:2px}
.toc a{padding:8px 0 8px 14px;border-left:2px solid var(--line);text-decoration:none;color:var(--ink-2);font-size:15.5px}
.toc a:hover,.toc a.active{border-color:var(--brand);color:var(--ink)}
.toc a.active{font-weight:650}
.article{min-width:0}
.article h1{margin-bottom:12px}
.article .h1{font-size:clamp(34px,4vw,54px)}
.article .dek{font-size:clamp(19px,1.7vw,23px);line-height:1.4;max-width:30em;color:var(--ink);margin-bottom:4px}
.article section{padding-top:36px;scroll-margin-top:calc(var(--hdr) - 12px)}
@media (max-width:899px){.article section{scroll-margin-top:calc(var(--hdr) + 56px)}}
.article section>h2{margin-bottom:10px}
.article .h2{font-size:clamp(26px,2.6vw,36px)}
.page .pull{margin:40px 0 0;padding:24px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.pull blockquote{font-family:var(--f-head);font-weight:800;font-size:clamp(24px,2.5vw,34px);line-height:1.18;letter-spacing:-.016em;text-wrap:balance}
.pull figcaption{margin-top:12px;font-family:var(--f-head);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--line);margin-bottom:22px}
.result{padding:16px 20px 18px 0;display:flex;flex-direction:column;gap:4px}
.result+.result{padding-left:20px;border-left:1px solid var(--line)}
.result dt{font-family:var(--f-head);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.result dd{font-family:var(--f-head);font-weight:800;font-size:22px;line-height:1.15;letter-spacing:-.01em}
.related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.related a{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink)}
.related .thumb{border:1px solid var(--rule);overflow:hidden;background:var(--bg-2);border-radius:var(--r-lg)}
.related .thumb img{width:100%;aspect-ratio:1000/500;object-fit:cover;object-position:top}
.related b{font-family:var(--f-head);font-weight:800;font-size:20px;line-height:1.15;letter-spacing:-.01em}
.related a:hover b{color:var(--brand-ink);text-decoration:underline;text-underline-offset:.2em}
.pills{display:none}
.svc-links{display:flex;flex-wrap:wrap;gap:8px}
.hx-eyebrow{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.hx-eyebrow .dot{width:9px;height:9px;border-radius:50%;background:var(--brand);display:inline-block;margin-right:8px}
.hxb{position:relative;overflow:hidden;background:var(--panel);color:var(--panel-ink);margin-top:20px;border-radius:var(--r-lg)}
.hxb__in{position:relative;z-index:2;display:flex;align-items:center;min-height:740px}
.hxb__copy{width:min(100%,520px);padding-block:64px;display:flex;flex-direction:column;gap:16px}
.hxb__copy .h1{font-size:clamp(34px,3.9vw,54px);line-height:1.04}
.hxb__copy .dek{color:var(--panel-ink-2);font-size:clamp(17px,1.4vw,20px);line-height:1.42}
.hxb .mono{color:var(--panel-ink-2)}
.hxb .chip{border-color:var(--panel-line);color:var(--panel-ink-2)}
.hxb .hx-eyebrow .dot{background:var(--btn)}
.hxb__art{position:absolute;z-index:2;right:var(--gut);top:50%;transform:translateY(-50%);width:min(calc((100% - var(--gut)*2)*.58),calc(100% - var(--gut)*2 - 544px))}
.hxb__art .trio{aspect-ratio:1.25/1}
.hxb__art .dev{border-color:#4A4446}
.hxb__art .dev--desk{left:0;top:2%;width:90%}
.hxb__art .dev--tab{left:38%;top:40%;width:34%}
.hxb__art .dev--mob{right:6%;top:22%;width:17%}
.about-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px;align-items:start}
.portrait{border:1px solid var(--rule);background:var(--bg-3);border-radius:var(--r-lg);overflow:hidden}
.portrait img{width:100%;aspect-ratio:3/4;object-fit:cover}
.portrait figcaption{padding:14px 16px;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:2px;background:var(--bg)}
.portrait figcaption b{font-family:var(--f-head);font-weight:800;font-size:20px}
.timeline{border-top:1px solid var(--rule)}
.tl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.tl b{font-family:var(--f-head);font-weight:900;font-size:30px;line-height:1;letter-spacing:-.02em}
.tl p{color:var(--ink-2)}
.contact-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start}
.form{display:grid;gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field[hidden]{display:none}
.field label{font-family:var(--f-head);font-weight:800;font-size:16px}
.field label span{font-weight:400;color:var(--ink-3);margin-left:6px;font-size:14px}
.field input,.field select,.field textarea{
  font:inherit;font-size:17px;color:var(--ink);background:var(--bg);
  border:1.5px solid var(--ink-3);border-radius:var(--r);padding:12px 14px;min-height:50px;width:100%;
}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--ring);outline-offset:1px;border-color:var(--ink)}
.field .hint{font-size:14px;color:var(--ink-3)}
.form-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.checks{display:flex;flex-wrap:wrap;gap:10px}
.checks label{display:inline-flex;gap:9px;align-items:center;font-weight:500;padding:9px 13px;border:1.5px solid var(--line);border-radius:var(--r);min-height:44px;cursor:pointer}
.checks input{width:18px;height:18px;min-height:0;accent-color:var(--btn)}
fieldset.field{border:0;padding:0;margin:0;min-width:0}
fieldset.field legend{font-family:var(--f-head);font-weight:800;font-size:16px;padding:0;margin-bottom:8px}
.details{border-top:1px solid var(--rule)}
.details .row-d{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:2px}
.details .row-d b{font-family:var(--f-head);font-weight:800;font-size:22px;line-height:1.15}
.details .row-d a{text-decoration:none}
.details .row-d a:hover{text-decoration:underline;text-underline-offset:.2em}
.map-link{display:block;margin-top:24px;color:inherit;text-decoration:none}
.map{position:relative;display:block;border:1px solid var(--rule);background:var(--bg-2);aspect-ratio:3/2;overflow:hidden;border-radius:var(--r-lg);transition:border-color .15s}
.map svg{position:absolute;inset:0;width:100%;height:100%}
.map-link:hover .map{border-color:var(--brand)}
.map__cta{display:inline-flex;align-items:center;gap:.4em;margin-top:12px;min-height:44px;padding:9px 16px;border:1.5px solid var(--ink);border-radius:var(--r);background:var(--bg);color:var(--ink);font-family:var(--f-head);font-weight:800;font-size:15px;line-height:1.1;transition:background-color .15s,color .15s}
.map-link:hover .map__cta{background:var(--ink);color:var(--bg)}
.map__credit{margin-top:10px;font-size:13px;line-height:1.4;color:var(--ink-3)}
.map__credit a{color:var(--ink-3)}
.post-list{border-top:1px solid var(--rule)}
.post-row{display:grid;grid-template-columns:110px minmax(0,7fr) minmax(0,3fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);align-items:start}
.post-row:hover{background:var(--bg-2)}
.post-row:hover .post-row__t{color:var(--brand-ink)}
.post-row__d{font-family:var(--f-head);font-size:12.5px;color:var(--ink-3);padding-top:8px;line-height:1.5;font-weight:700}
.post-row__t{font-family:var(--f-head);font-weight:800;font-size:clamp(22px,2.2vw,30px);line-height:1.12;letter-spacing:-.018em;text-wrap:balance}
.post-row p{color:var(--ink-2);margin-top:6px;max-width:36em;font-size:17px}
.post-row__m{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding-top:6px}
.post-feature{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;padding-bottom:40px;align-items:end}
.post-feature__box{background:var(--sage-2);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;gap:14px;min-height:300px;justify-content:space-between}
.byline{display:flex;gap:14px;align-items:center}
.byline img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:top}
.byline div{display:flex;flex-direction:column;line-height:1.3}
.byline b{font-weight:700}
.byline span{font-family:var(--f-head);font-size:12px;color:var(--ink-3);letter-spacing:.04em;font-weight:700}
.post-body{max-width:44rem}
.post-body h2{font-family:var(--f-head);font-weight:800;font-size:clamp(26px,2.4vw,34px);line-height:1.1;letter-spacing:-.018em;margin:36px 0 8px}
.post-body h3{margin:26px 0 8px}
.post-body p{margin-bottom:.85em;text-wrap:pretty}
.post-body ul.tick{margin:0 0 1.3em}
.tbl-wrap{overflow-x:auto;margin:26px 0}
.callout{background:var(--bg-2);padding:22px 26px;margin:28px 0;border-top:0;border-left:4px solid var(--brand);border-radius:var(--r-lg)}
.post-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr) minmax(0,1fr);gap:48px;padding-block:40px}
.post-aside{position:sticky;top:calc(var(--hdr) + 24px);align-self:start;display:flex;flex-direction:column;gap:18px;font-size:15.5px}
.post-body [id]{scroll-margin-top:calc(var(--hdr) + 24px)}
.trio--live .dev{
  -webkit-touch-callout:none;-webkit-user-select:none;user-select:none;
  cursor:pointer;-webkit-appearance:none;appearance:none;
}
.trio--live .dev img{aspect-ratio:auto;object-fit:fill;border-radius:0;height:auto}
.dev__view{position:relative;overflow:hidden;width:100%;display:block}
.dev--desk .dev__view{aspect-ratio:1000/625;border-radius:0 0 3px 3px}
.dev--tab .dev__view{aspect-ratio:520/693;border-radius:6px}
.dev--mob .dev__view{aspect-ratio:390/844;border-radius:11px}
.trio--live .dev__shot{
  position:absolute;left:0;top:0;width:100%;max-width:none;transform:translateY(0);
  pointer-events:none;
  transition:top .9s cubic-bezier(.3,.6,.3,1),transform .9s cubic-bezier(.3,.6,.3,1);
}
.trio--live .dev.is-scrolling .dev__shot{
  top:100%;transform:translateY(-100%);
  transition-duration:var(--dur,7s);transition-timing-function:cubic-bezier(.45,0,.55,1);
}
.showcase__who{margin-top:14px;color:var(--ink)}
.showcase__cap{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:0 24px}
.showcase__next{
  font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--brand-ink);
  background:none;border:0;padding:0;min-height:44px;cursor:pointer;
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;
}
.showcase__next:hover{text-decoration-thickness:2px}
.showcase__hint{margin-top:0}
.showcase__hint .h-touch{display:none}
@media (hover:none){.showcase__hint .h-mouse{display:none}.showcase__hint .h-touch{display:inline}}
.cookie{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:var(--bg);border-top:1px solid var(--rule);
  box-shadow:0 -8px 24px rgb(0 0 0 / .08);
}
[data-consent="ask"] .cookie{display:block}
.cookie__in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 32px;align-items:center;padding-block:18px}
.cookie__copy h2{margin-bottom:4px}
.cookie__copy p{color:var(--ink-2);max-width:60em}
.cookie__act{display:flex;gap:12px;flex-wrap:wrap}
.cookie__act .btn{min-width:132px}
.site-header__bar.is-tight .hdr-phone{display:none}
@media (max-width:1359px){
  .hdr-phone{display:none}
}
@media (max-width:1219px){
  .site-header__bar{gap:20px}
  .nav{gap:2px}
  .nav a{padding:0 9px;font-size:15px}
  .nav a::after{left:9px;right:9px}
}
@media (max-width:359px){
  .site-header .site-header__bar{gap:8px}
  .site-header .brand{gap:8px}
}
@media (max-width:1059px){
  .nav{display:none}
  [data-js] .menu-btn{display:inline-flex}
  .mnav{display:block;border-top:1px solid var(--rule);background:var(--bg);padding-block:6px 20px}
  [data-js] .mnav{display:none}
  [data-js] .mnav.is-open{display:block}
  .mnav a{display:flex;align-items:center;min-height:54px;font-weight:650;font-size:20px;text-decoration:none;border-bottom:1px solid var(--line);color:var(--ink)}
  .mnav a[aria-current="page"]{color:var(--brand-ink)}
  .mnav .mnav__tel{font-family:var(--f-head);font-size:15px;border-bottom:0;margin-top:6px;font-weight:700}
}
@media (max-width:1100px){
  :root{--gut:40px}
  .hero__grid{grid-template-columns:1fr;row-gap:48px}
  .svc{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr)}
  .svc__from{display:none}
  .pillars{grid-template-columns:1fr;gap:32px}
  .pillar,.pillar+.pillar{padding:0;border-left:0}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .plates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot__top{grid-template-columns:repeat(4,minmax(0,1fr))}
  .foot__brand{grid-column:1/-1}
  .post-layout{grid-template-columns:minmax(0,1fr)}
  .post-aside{position:static}
  .offer{grid-template-columns:1fr}
  .lp-hero__grid{grid-template-columns:1fr;row-gap:32px}
  .hxb__copy{width:44%}
  .hxb__art{width:min(calc((100% - var(--gut)*2)*.54),calc((100% - var(--gut)*2)*.56 - 24px))}
}
@media (max-width:899px){
  .ledger{grid-template-columns:1fr}
  .ledger__head .h2{max-width:none}
  .pagehead__grid,.cta-band__in,.contact-grid,.about-grid,.post-feature{grid-template-columns:1fr}
  .quote{grid-template-columns:1fr}
  .quote>.idx,.quote>blockquote,.quote>figcaption{grid-column:1;grid-row:auto}
  .quote>blockquote{margin-top:24px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact:nth-child(3){padding-left:0;border-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--line)}
  .path{grid-template-columns:repeat(2,minmax(0,1fr))}
  .path a:nth-child(3){padding-left:0;border-left:0}
  .path a:nth-child(n+3){border-top:1px solid var(--line)}
  .svc-detail{grid-template-columns:1fr}
  .svc-detail__body{grid-template-columns:1fr}
  .specs{grid-template-columns:1fr}
  .spec,.spec+.spec{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .work-card--l,.work-card--m,.work-card--s{grid-column:span 12}
  .rung{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:12px}
  .rung__bar{grid-column:1/-1;order:3}
  .rung__price,.rung__time{text-align:left}
  .rung--r{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:12px}
  .incl{grid-template-columns:1fr}
  .offers{grid-template-columns:1fr}
  .who{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;row-gap:40px;padding-top:calc(24px + 46px)}
  .meta{position:static}
  .toc{display:none}
  .pills{
    display:flex;gap:8px;position:fixed;left:0;right:0;top:var(--hdr);z-index:30;
    overflow-x:auto;padding:8px var(--gut);background:var(--bg);border-bottom:1px solid var(--line);
    -webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap;
  }
  .pills::-webkit-scrollbar{display:none}
  .pills a{flex:none;min-height:38px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:14.5px;font-weight:600;color:var(--ink-2);background:var(--bg)}
  .pills a.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
  .related{grid-template-columns:1fr}
  .results{grid-template-columns:1fr}
  .result,.result+.result{padding:16px 0;border-left:0;border-bottom:1px solid var(--line)}
  .post-row{grid-template-columns:1fr;gap:10px}
  .post-row__d{padding-top:0}
  .tl{grid-template-columns:84px minmax(0,1fr);gap:16px}
  .form-2{grid-template-columns:1fr}
  .hxb__in{min-height:0;display:block}
  .hxb__copy{width:100%;padding-block:44px 24px}
  .hxb__art{position:relative;right:auto;top:auto;transform:none;width:100%;margin:0;padding-bottom:36px}
  .cookie__in{grid-template-columns:1fr}
}
@media (max-width:699px){
  :root{--gut:20px;--hdr:64px}
  .page{font-size:17px}
  .brand svg{width:40px;height:40px}
  .brand__name b{font-size:20px}
  .brand__name span{display:none}
  .site-header__bar{gap:10px}
  .plates{grid-template-columns:1fr;gap:44px}
  .steps{grid-template-columns:1fr}
  .steps .step:not(:last-child){margin-right:0}
  .foot__top{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:48px 36px}
  .btn{width:100%}
  .hero__copy .row .btn{width:100%}
  .trio{aspect-ratio:1.32/1}
  .dev--mob{width:19%}
  .dev--tab{width:34%;left:44%}
  .dev--desk{width:80%}
  .cs-hero__stage{padding:34px 16px 18px}
  .facts .fact b{font-size:44px}
  .fact{padding-right:12px}
  .fact+.fact{padding-left:14px}
  .svc{grid-template-columns:30px minmax(0,1fr);gap:8px 12px}
  .svc__desc{grid-column:2}
  .filters{gap:8px}
  .cookie__act .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .trio--live .dev.is-scrolling .dev__shot{top:0;transform:none}
  .showcase__hint{display:none}
}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{display:none;font-size:14.5px;line-height:1.35;color:var(--danger);font-weight:600}
.field.is-bad .err{display:block;margin-top:6px}
.field.is-bad input,.field.is-bad textarea{border-color:var(--danger)}
.field.is-bad .checks{border-color:var(--danger)}
.consent{border:0;padding:0;min-height:0;font-size:15px;line-height:1.4}
.form__note{color:var(--ink-3);margin-top:-4px}
.form__alert{
  border:1px solid var(--danger);background:var(--bg-2);color:var(--ink);
  border-radius:var(--r);padding:14px 16px;font-size:16px;line-height:1.45;
}
.form__alert ul{margin:8px 0 0;padding-left:20px}
.form__alert a{color:var(--ink)}
.post-row--soon{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:20px;align-items:baseline;padding-block:20px;border-top:1px solid var(--line);color:var(--ink-3)}
.post-row--soon .post-row__t{font-family:var(--f-head);font-weight:750;font-size:19px;line-height:1.2;color:var(--ink-2)}
@media (max-width:1100px){.post-row--soon{grid-template-columns:1fr;gap:8px}}
.tbl{width:100%;table-layout:auto}
.tbl-wrap{max-width:100%}
.incl li{min-width:0}
.incl li span{white-space:normal;overflow-wrap:anywhere;min-width:0}
@media (max-width:1100px){
  .ledger--stack .rung--r{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:12px}
  .ledger--stack .rung--r .rung__price,
  .ledger--stack .rung--r .rung__time{text-align:left}
}
@media (max-width:699px){
  .ledger--stack .rung--r{grid-template-columns:minmax(0,1fr)}
  .rung--r .rung__price{white-space:normal}
}
.ladder,.rung,.rung__bar{max-width:100%;min-width:0}
@media (max-width:699px){
  .facts--word .fact b{font-size:clamp(30px,9.6vw,44px)}
}
@media (max-width:1100px){
  .pills + .crumb{margin-top:54px}
}
.offer-band{padding-bottom:clamp(28px,3.4vw,48px)}
.hxb{border-radius:0}
.nav__has{position:relative;display:flex;align-items:center}
.nav__has > a{padding-right:26px}
.nav__has > a::before{
  content:"";position:absolute;right:12px;top:calc(50% - 2px);
  width:7px;height:7px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);
  transform:translateY(-50%) rotate(45deg);transition:border-color .18s;
}
.nav__has:hover > a::before,.nav__has:focus-within > a::before{border-color:var(--brand-ink)}
.dd{
  position:absolute;left:0;top:100%;z-index:50;min-width:270px;
  background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-lg);
  padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.14);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s,transform .16s,visibility .16s;
}
.nav__has:hover .dd,.nav__has:focus-within .dd{opacity:1;visibility:visible;transform:none}
.dd ul{display:flex;flex-direction:column}
.dd a{
  display:flex;align-items:center;min-height:40px;padding:6px 12px;border-radius:var(--r);
  font-family:var(--f-head);font-weight:600;font-size:15.5px;line-height:1.25;
  text-decoration:none;color:var(--ink);
}
.dd a:hover,.dd a:focus-visible{background:var(--bg-2);color:var(--brand-ink)}
.dd a::after{display:none}
@media (prefers-reduced-motion:reduce){
  .dd{transition:none;transform:none}
}
.mnav__sub{display:flex;flex-direction:column;padding:2px 0 10px 14px;
  border-left:2px solid var(--line);margin:0 0 6px 10px}
.mnav__sub a{
  display:flex;align-items:center;min-height:40px;font-family:var(--f-head);
  font-weight:600;font-size:16px;color:var(--ink-2);text-decoration:none;
}
.mnav__sub a:hover{color:var(--brand-ink)}
@media (max-width:899px){
  [data-js] .mnav.is-open{
    max-height:calc(100vh - var(--hdr) - 1px);
    max-height:calc(100dvh - var(--hdr) - 1px);
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  
  html:not([data-js]) .site-header{position:relative}
}
.pf__t{display:block;height:0;scroll-margin-top:calc(var(--hdr) + 12px)}
.pf:has(#shop:target) .plates li:not([data-s="shop"]),
.pf:has(#community:target) .plates li:not([data-s="community"]),
.pf:has(#hospitality:target) .plates li:not([data-s="hospitality"]),
.pf:has(#trades:target) .plates li:not([data-s="trades"]),
.pf:has(#professional:target) .plates li:not([data-s="professional"]),
.pf:has(#care:target) .plates li:not([data-s="care"]),
.pf:has(#creative:target) .plates li:not([data-s="creative"]),
.pf:has(#apps:target) .plates li:not([data-s="apps"]){display:none}
.pf:has(.pf__t:target):not(:has(input:checked)) .filters label[for="f-all"]{
  background:transparent;color:var(--ink);border-color:var(--line);
}
.pf:has(#shop:target) .filters label[for="f-shop"],
.pf:has(#community:target) .filters label[for="f-community"],
.pf:has(#hospitality:target) .filters label[for="f-hospitality"],
.pf:has(#trades:target) .filters label[for="f-trades"],
.pf:has(#professional:target) .filters label[for="f-professional"],
.pf:has(#care:target) .filters label[for="f-care"],
.pf:has(#creative:target) .filters label[for="f-creative"],
.pf:has(#apps:target) .filters label[for="f-apps"]{
  background:var(--ink);color:var(--bg);border-color:var(--ink);
}
.svc-detail__body.two-cols{display:grid;gap:24px 48px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:699px){
  .svc-detail__body.two-cols{grid-template-columns:minmax(0,1fr);gap:20px}
}
.shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px}
.shot{display:flex;flex-direction:column;gap:9px;min-width:0}
.shot img{
  width:100%;aspect-ratio:3/2;object-fit:cover;
  border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--bg-2);
}
.shot figcaption{
  font-family:var(--f-head);font-size:12.5px;line-height:1.3;letter-spacing:.07em;
  text-transform:uppercase;font-weight:700;color:var(--ink-3);
}
@media (max-width:1100px){.shots{grid-template-columns:repeat(2,minmax(0,1fr))}}
