/* NewBizPartner: the key ring. Workwear palette, slab headlines, stitched seams, leather patches.
   Deliberate single light theme: every color is set explicitly and body has its own background. */

@font-face{font-family:"Zilla Fallback";src:local("Georgia Bold"),local("Georgia");size-adjust:84.4%;ascent-override:111.8%;descent-override:30.3%;line-gap-override:0%}
@font-face{font-family:"Source Sans Fallback";src:local("Arial");size-adjust:91.4%;ascent-override:112.1%;descent-override:43.8%;line-gap-override:0%}

:root{
  color-scheme: light;
  --bone: #EEEFF1;
  --bone-2: #F8F8F9;
  --canvas: #DCCBA6;
  --canvas-2: #E8DCC2;
  --canvas-edge: #B49C70;
  --ink: #2A1F17;
  --ink-2: #46382B;
  --denim: #41467F;
  --denim-deep: #2E3266;
  --denim-wash: #7D84B8;
  --denim-pale: #E3E4EF;
  --leather: #6B4428;
  --gold: #C9A04A;
  --error: #A11D2B;

  --slab: "Zilla Slab", "Zilla Fallback", Rockwell, Georgia, serif;
  --sans: "Source Sans 3", "Source Sans Fallback", Arial, sans-serif;
  --gutter: max(20px, env(safe-area-inset-left, 0px));
  --gutter-r: max(20px, env(safe-area-inset-right, 0px));
  --maxw: 1200px;
  --radius: 14px;
  --focus: 0 0 0 3px var(--bone), 0 0 0 6px var(--denim-deep);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--sans);font-size:1.1875rem;line-height:1.55;
  font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
h1,h2,h3,h4{font-family:var(--slab);color:var(--denim-deep);margin:0;text-wrap:balance}
h2{font-size:clamp(2rem,1.45rem + 2.2vw,3.1rem);font-weight:700;line-height:1.08;letter-spacing:-.01em}
h3{font-size:clamp(1.35rem,1.2rem + .5vw,1.6rem);font-weight:600;line-height:1.2}
h4{font-size:1.3rem;font-weight:600;line-height:1.25}
p{margin:0}
a{color:var(--denim);text-decoration-thickness:1.5px;text-underline-offset:.18em}
a:hover{color:var(--denim-deep);text-decoration-thickness:2.5px}
:focus-visible{outline:3px solid var(--denim-deep);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.page{overflow-x:clip}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}

.skip{position:absolute;left:12px;top:-80px;z-index:20;background:var(--denim-deep);color:var(--bone);padding:12px 18px;border-radius:10px;font-weight:600}
.skip:focus{top:12px;color:var(--bone)}

/* ---------- textile furniture ---------- */
.canvas{background-color:var(--canvas);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9 .22' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .33 0 0 0 0 .2 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg, rgba(255,255,255,.09) 0 1px, transparent 1px 2.5px),
    repeating-linear-gradient(90deg, rgba(110,84,48,.06) 0 1px, transparent 1px 2.5px)}
.seam{position:relative}
.seam::before{content:"";position:absolute;inset:10px;border:2px dashed var(--canvas-edge);border-radius:calc(var(--radius) - 4px);pointer-events:none}

.patch{display:inline-flex;align-items:center;background:var(--leather);color:var(--bone);font-family:var(--slab);font-weight:600;
  font-size:1rem;line-height:1.1;padding:.42em .8em .38em;border-radius:6px;outline:1.5px dashed var(--canvas);outline-offset:-5px;
  letter-spacing:.01em;white-space:nowrap}
.patch--denim{background:var(--denim)}


.icon{width:56px;height:56px;flex:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;border-radius:999px;
  background:var(--denim);color:var(--bone);font-family:var(--sans);font-size:1.15rem;font-weight:700;line-height:1.2;
  text-decoration:none;border:0;cursor:pointer;outline:1.5px dashed rgba(220,203,166,.85);outline-offset:-6px;
  text-align:center;text-wrap:balance;transition:background-color .15s ease}
.btn:hover{background:var(--denim-deep);color:var(--bone)}
.btn:focus-visible{outline:1.5px dashed rgba(220,203,166,.85);outline-offset:-6px;box-shadow:var(--focus)}
.btn--small{min-height:48px;padding:0 22px;font-size:1.05rem}
.btn--wide{width:100%}
.btn--ghost{background:transparent;color:var(--denim-deep);outline:none;border:2px solid var(--denim);min-height:48px;font-size:1.05rem;padding:0 22px}
.btn--ghost:hover{background:var(--denim-pale);color:var(--denim-deep)}
.btn--ghost:focus-visible{outline:none;box-shadow:var(--focus)}
.btn--inline{margin-left:.4em;vertical-align:middle;min-height:52px}

/* ---------- header ---------- */
.site-head{background:var(--bone);border-bottom:2px dashed var(--canvas-edge)}
.site-head__in{display:flex;align-items:center;gap:20px;min-height:84px;padding-top:10px;padding-bottom:10px}
.brand{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:var(--ink);gap:2px;padding:4px 0;margin-right:auto}
.brand__logo{display:block;height:46px;width:auto}
.brand__endorse{font-size:.95rem;font-weight:600;color:var(--ink-2);padding-left:70px;margin-top:-6px;line-height:1.2}
.site-nav{display:none}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.site-nav a{display:flex;align-items:center;min-height:48px;padding:0 12px;color:var(--ink);font-weight:600;font-size:1.05rem;text-decoration:none;border-radius:8px}
.site-nav a:hover{background:var(--canvas-2);color:var(--denim-deep)}
.site-head__cta{display:none}
@media (min-width:1080px){
  .site-nav{display:block}
  .site-head__cta{display:inline-flex}
}
@media (min-width:720px) and (max-width:1079px){ .site-head__cta{display:inline-flex} }
@media (max-width:420px){
  .brand__logo{height:40px}
  .brand__endorse{padding-left:61px;font-size:.9rem}
}

/* ---------- hero ---------- */
.hero{padding:22px 0 30px}
.hero.seam::before{inset:8px;border-color:var(--canvas-edge);border-radius:12px}
.hero__in{display:grid;gap:18px;align-items:center}
.hero__title{font-size:clamp(2.6rem,1.5rem + 4.7vw,5.4rem);font-weight:700;line-height:1.0;letter-spacing:-.02em;color:var(--denim-deep);
  padding-top:14px;max-width:12ch}
.hero__title.is-b{font-size:clamp(2.2rem,1.4rem + 3.4vw,4.2rem);max-width:16ch;line-height:1.04}
.hero__lede{margin-top:14px;font-size:clamp(1.1875rem,1.05rem + .5vw,1.4rem);line-height:1.45;max-width:34ch;color:var(--ink)}
.hero__act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:20px}
.hero__rule{margin-top:12px;font-size:1.125rem;line-height:1.45;color:var(--ink);max-width:44ch}
.hero-art{margin:0;justify-self:center;width:100%;max-width:480px}
.hero-art__svg{display:block;width:100%;height:auto;overflow:visible}
.hero-art__cap{font-size:.95rem;color:var(--ink-2);margin-top:6px;text-align:center}
@media (max-width:719px){
  .hero{padding-top:10px}
  .hero__title{padding-top:6px}
  .hero__act{margin-top:12px}
  .hero__act .btn{width:100%}
  .hero__lede{margin-top:10px}
  .hero-art{display:flex;flex-direction:column-reverse}
  .hero-art__cap{margin:0 0 8px}
}
@media (min-width:900px){
  .hero{padding:36px 0 44px}
  .hero__in{grid-template-columns:1.05fr 1fr;gap:40px}
  .hero-art{max-width:460px}
}

/* the one motion moment: the partner's key slides along the gold ring into place; yours never moves */
@media (prefers-reduced-motion: no-preference){
  .key-slide{animation:key-slide 1.6s cubic-bezier(.3,.7,.3,1) .6s both}
  @keyframes key-slide{
    from{transform:rotate(-140deg)}
    92%{transform:rotate(3deg)}
    to{transform:rotate(0deg)}
  }
}

/* ---------- banner band ---------- */
.band{background:var(--denim);color:var(--bone);position:relative;padding:26px 0}
.band::before,.band::after{content:"";position:absolute;left:0;right:0;border-top:2px dashed var(--canvas)}
.band::before{top:8px}
.band::after{bottom:8px}
.band__in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.band__line{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin:0}
.band__patch{display:inline-flex;background:var(--leather);border-radius:10px;padding:10px 20px 8px;outline:2px dashed var(--canvas);outline-offset:-7px;transform:rotate(-1.5deg)}
.band__big{font-family:var(--slab);font-weight:700;font-size:clamp(2.6rem,1.8rem + 3vw,4.2rem);line-height:1;color:var(--bone);letter-spacing:-.01em}
.band__rest{font-family:var(--slab);font-weight:500;font-size:clamp(1.3rem,1.1rem + .9vw,1.85rem);line-height:1.25;max-width:42ch;color:var(--bone)}
/* launch round (A5): the count-up digits keep their width; a running stitch sits under the line at rest */
.band__num{display:inline-block;text-align:right}
.band__rest{position:relative;padding-bottom:14px}
.band__rest::after{content:"";position:absolute;left:0;right:0;bottom:0;border-top:2.5px dashed var(--canvas)}
@media (prefers-reduced-motion: no-preference){
  .band.is-playing .band__rest::after{animation:stitch-run 1.2s cubic-bezier(.3,.7,.3,1) both}
  @keyframes stitch-run{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
}

/* ---------- sections ---------- */
.section{padding:clamp(52px,6vw,92px) 0}
.section--canvas{border-top:2px dashed var(--canvas-edge);border-bottom:2px dashed var(--canvas-edge)}
.section--canvas2{background:var(--canvas-2)}
.intro{max-width:46rem;margin-bottom:clamp(26px,3.5vw,44px)}
.intro p{margin-top:14px;font-size:clamp(1.1875rem,1.1rem + .3vw,1.3rem)}
.src{font-size:1rem;color:var(--ink-2);margin-top:8px;line-height:1.45}
.src a{color:var(--ink-2);padding:6px 0}
.src--block{margin-top:22px;max-width:60rem}

/* the recurring yours / partner's split */
.split{display:grid;gap:20px}
@media (min-width:860px){.split{grid-template-columns:1fr 1fr;gap:0}}
.split__col{position:relative;padding:28px 22px 26px;border-radius:var(--radius)}
.split__col::before{content:"";position:absolute;inset:8px;border:2px dashed;border-radius:10px;pointer-events:none}
.split__col--yours{background:var(--canvas-2)}
.split__col--yours::before{border-color:var(--canvas-edge)}
.split__col--partner{background:var(--denim-pale)}
.split__col--partner::before{border-color:var(--denim-wash)}
@media (min-width:860px){
  .split__col{padding:40px 40px 36px}
  .split__col--yours{border-radius:var(--radius) 0 0 var(--radius)}
  .split__col--partner{border-radius:0 var(--radius) var(--radius) 0}
}
.split__head{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:clamp(1.35rem,1.2rem + .6vw,1.7rem);margin-bottom:18px}
.tags-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.tags-list li{position:relative;padding-left:44px}
.tags-list li::before{content:"";position:absolute;left:0;top:.3em;width:30px;height:18px;background:var(--leather);
  clip-path:polygon(28% 0,100% 0,100% 100%,28% 100%,0 50%)}
.tags-list li::after{content:"";position:absolute;left:8px;top:calc(.3em + 6px);width:6px;height:6px;border-radius:50%;background:var(--canvas-2)}
.tags-list--partner li::before{background:var(--denim)}
.tags-list--partner li::after{background:var(--denim-pale)}
.tags-list h4{color:var(--ink);font-size:1.3rem}
.tags-list p{margin-top:4px}
.tags-list .src{margin-top:6px}

.callouts{display:grid;gap:20px;margin-top:28px;align-items:start}
@media (min-width:860px){.callouts{grid-template-columns:1.15fr 1fr;gap:28px;margin-top:36px}}
/* label-tag callout: a big shipping tag */
.tagnote{position:relative;isolation:isolate;background:var(--canvas-edge);padding:26px 26px 26px 66px;
  clip-path:polygon(30px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,30px 100%,0 calc(100% - 30px),0 30px)}
.tagnote::after{content:"";position:absolute;inset:2px;z-index:-1;background:var(--bone-2);
  clip-path:polygon(29px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,29px 100%,0 calc(100% - 29px),0 29px)}
.tagnote::before{content:"";position:absolute;left:20px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--bone);border:4px solid var(--canvas-edge)}
@media (max-width:719px){.tagnote{padding:24px 20px 24px 56px}.tagnote::before{left:16px}}
.tagnote h3{color:var(--denim-deep);margin-bottom:8px}
.finenote{position:relative;background:var(--bone-2);border-radius:var(--radius);padding:28px 26px 24px;border:2px solid var(--leather)}
.finenote::before{content:"";position:absolute;inset:6px;border:1.5px dashed var(--leather);border-radius:9px;pointer-events:none;opacity:.55}
.finenote__head{margin-bottom:12px;font-size:1rem}
.finenote p{font-size:1.1rem;line-height:1.5}

/* kinds of partners */
.kinds{list-style:none;margin:0;padding:0;display:grid;gap:18px}
@media (min-width:800px){.kinds{grid-template-columns:1fr 1fr;gap:22px}}
.kind{background:var(--bone-2);border-radius:3px;padding:24px 34px 22px;position:relative;border-top:4px solid var(--denim);border-bottom:4px solid var(--denim)}
.kind::before,.kind::after{content:"";position:absolute;top:-4px;bottom:-4px;width:12px;background:var(--canvas-2);border-left:2px dashed var(--denim-wash);border-right:2px dashed var(--denim-wash)}
.kind::before{left:0}
.kind::after{right:0}
@media (max-width:420px){.kind{padding:22px 26px 20px}.kind::before,.kind::after{width:8px}}
.kind__head{display:flex;gap:16px;align-items:flex-start}
.kind__head h3{margin-top:4px}
.kind__what{margin-top:6px}
.kind__facts{margin:18px 0 0;display:grid;gap:0;border-top:2px dashed var(--canvas-edge)}
.kind__facts div{display:grid;grid-template-columns:7.2rem 1fr;gap:12px;padding:12px 0;border-bottom:2px dashed var(--canvas-2)}
.kind__facts div:last-child{border-bottom:0;padding-bottom:0}
.kind__facts dt{font-family:var(--slab);font-weight:600;color:var(--leather);font-size:1.1rem}
.kind__facts dd{margin:0}
@media (max-width:420px){.kind__facts div{grid-template-columns:6.4rem 1fr;gap:10px}.kind__facts dt{font-size:1rem}}
.kind--wide{background:var(--denim-pale);border-color:var(--leather)}
.kind--wide::before,.kind--wide::after{border-color:var(--leather)}
@media (min-width:800px){.kind--wide{grid-column:1/-1}}
.scope{margin-top:16px;padding:14px 16px;border-left:6px solid var(--denim);background:var(--bone-2);border-radius:0 8px 8px 0;font-weight:600}

/* checklist ticket */
.ticket{background:var(--canvas-2);border-radius:var(--radius);padding:30px 24px 22px}
@media (min-width:860px){.ticket{padding:40px 40px 28px}}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media (min-width:860px){.checks{grid-template-columns:1fr 1fr;gap:12px 24px}}
.check{display:flex;align-items:flex-start;gap:14px;width:100%;min-height:56px;padding:12px 14px;text-align:left;background:var(--bone-2);
  border:2px solid var(--canvas-edge);border-radius:10px;font:inherit;color:var(--ink);cursor:pointer;line-height:1.45}
.check:hover{border-color:var(--denim)}
.check:focus-visible{outline:none;box-shadow:var(--focus)}
.check__box{flex:none;width:30px;height:30px;margin-top:-1px;border-radius:7px;background:var(--bone);border:2.5px solid var(--denim);position:relative}
.check__box::after{content:"";position:absolute;inset:3px;border:1.5px dashed var(--denim-wash);border-radius:4px}
.check[aria-pressed="true"]{background:var(--denim-pale);border-color:var(--denim)}
.check[aria-pressed="true"] .check__box{background:var(--denim)}
.check[aria-pressed="true"] .check__box::after{inset:5px 9px 9px 9px;border:0;border-right:4px solid var(--bone);border-bottom:4px solid var(--bone);border-radius:0;
  width:9px;height:15px;transform:rotate(42deg);left:auto;top:auto;right:auto}
.check__text strong{font-family:var(--slab);font-weight:600;color:var(--denim-deep);font-size:1.15em}
.check[aria-pressed="true"] .check__text strong::after{content:" Settled.";font-family:var(--sans);font-size:.85em;font-weight:700;color:var(--denim)}
.ticket__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.ticket__count{font-family:var(--slab);font-weight:600;font-size:1.3rem;color:var(--denim-deep)}
.after-ticket{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 6px;max-width:52rem}
@media (max-width:719px){.btn--inline{margin-left:0;width:100%}}

/* how we work: tags on a rail */
.rail{list-style:none;margin:0;padding:0 0 0 28px;display:grid;gap:18px;position:relative}
.rail::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:6px;border-radius:3px;background:var(--denim)}
.rail__step{position:relative;background:var(--bone-2);border:2px solid var(--canvas-edge);border-radius:6px 14px 14px 6px;padding:20px 20px 20px 20px;display:grid;
  grid-template-columns:auto 1fr;column-gap:16px;row-gap:6px;align-items:start}
.rail__step::before{content:"";position:absolute;left:-22px;top:30px;width:22px;height:2px;background:var(--ink)}
.rail__step h3{font-size:1.35rem;align-self:center}
.rail__step p{grid-column:1/-1;margin-top:4px}
.rail__n{position:absolute;top:16px;right:16px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;
  background:var(--leather);color:var(--bone);font-family:var(--slab);font-weight:700;font-size:1.3rem;outline:1.5px dashed var(--canvas);outline-offset:-5px}
.rail__step h3{padding-right:44px;text-wrap:pretty}
.rail .icon{--ic-patch:#6B4428}
@media (min-width:1080px) and (max-width:1359px){
  .rail__step{grid-template-columns:auto 16rem 1fr;column-gap:20px;align-items:center}
  .rail__step h3{grid-column:2;grid-row:1;padding-right:0}
  .rail__step p{grid-column:3;grid-row:1;margin:0;padding-right:48px}
}
@media (min-width:1360px){
  .rail{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding:34px 0 0}
  .rail::before{left:0;right:0;top:0;bottom:auto;width:auto;height:6px}
  .rail__step{display:flex;flex-direction:column;gap:10px;border-radius:6px 6px 14px 14px;padding:34px 18px 22px}
  .rail__step::before{left:50%;top:-34px;width:2px;height:44px}
  .rail__step::after{content:"";position:absolute;left:50%;top:8px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--canvas-2);border:3px solid var(--canvas-edge)}
  .rail__step h3{font-size:1.25rem;min-height:2.5em;align-self:stretch;padding-right:0}
  .rail__n{top:30px}
  .rail__step .icon{width:52px;height:52px}
}
.how-foot{display:grid;gap:22px;margin-top:32px}
@media (min-width:860px){.how-foot{grid-template-columns:1.3fr 1fr;gap:28px;align-items:start}}
.siblings h3{margin-bottom:10px}
.siblings ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.siblings li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.siblings a{font-weight:700;font-size:1.2rem;display:inline-flex;align-items:center;min-height:48px}
.siblings__dom{color:var(--ink-2);font-size:1rem}

/* ---------- form ---------- */
.section--form{background:var(--bone)}
.explore{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.explore__lede{margin-top:12px;font-size:1.25rem;max-width:44rem}
.answers{margin:22px 0 0;display:grid;gap:14px 28px}
@media (min-width:1080px){.answers{grid-template-columns:repeat(3,1fr)}}
.answers div{padding-left:16px;border-left:4px solid var(--canvas)}
.answers dt{font-family:var(--slab);font-weight:600;color:var(--denim-deep);font-size:1.2rem}
.answers dd{margin:2px 0 0}
@media (min-width:720px) and (max-width:1079px){.answers{grid-template-columns:1fr 1fr}}

.form,.done{background:var(--canvas-2);border-radius:var(--radius);padding:28px 20px 26px}
@media (min-width:720px){.form,.done{padding:34px 32px 30px}}
.form .group{border:0;margin:0 0 22px;padding:0;min-width:0}
.group__title{font-family:var(--slab);font-weight:700;font-size:1.4rem;color:var(--denim-deep);padding:0;margin-bottom:12px}
.grid{display:grid;gap:14px 16px}
@media (min-width:720px){.grid--4{grid-template-columns:1fr 1fr}.grid--3{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.grid--4{grid-template-columns:repeat(4,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}
  .form .group{margin-bottom:16px}.choices{margin-top:12px}.form__send{display:grid;grid-template-columns:minmax(0,24rem) 1fr;column-gap:24px;align-items:center}
  .form__send .btn{grid-row:1/3}.form__notice{margin-top:0}}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.choices legend{font-weight:700;font-size:1.05rem;color:var(--ink)}
.opt,.req{font-weight:400;color:var(--ink-2)}
input[type=text],input[type=email],input[type=tel],select{width:100%;min-height:52px;padding:10px 14px;font:inherit;font-size:1.1rem;color:var(--ink);
  background:var(--bone-2);border:2px solid var(--denim);border-radius:10px}
select{appearance:none;-webkit-appearance:none;padding-right:42px;
  background-image:linear-gradient(45deg,transparent 50%,var(--denim) 50%),linear-gradient(135deg,var(--denim) 50%,transparent 50%);
  background-position:calc(100% - 22px) 52%,calc(100% - 15px) 52%;background-size:7px 7px;background-repeat:no-repeat}
input:focus-visible,select:focus-visible{outline:none;box-shadow:var(--focus)}
input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--error);border-width:3px}
.field__hint{font-size:1rem;color:var(--ink-2);line-height:1.4}
.field__error{font-size:1.02rem;font-weight:700;color:var(--error);line-height:1.4}
.field__error::before{content:"";display:inline-block;width:.8em;height:.8em;margin-right:.4em;vertical-align:-.05em;background:var(--error);
  clip-path:polygon(50% 0,100% 100%,0 100%)}
.field__note{margin-top:10px;font-size:1.02rem;font-weight:600;padding:10px 14px;background:var(--denim-pale);border-radius:8px;border-left:5px solid var(--denim)}
.consent{display:flex;gap:12px;align-items:flex-start;margin:14px 0 4px;font-size:1rem;line-height:1.45;color:var(--ink-2)}
.consent input{flex:none;appearance:none;-webkit-appearance:none;width:48px;height:48px;margin:-9px -6px -9px -9px;border-radius:10px;cursor:pointer;
  background:linear-gradient(var(--bone-2),var(--bone-2)) center/26px 26px no-repeat,linear-gradient(var(--denim),var(--denim)) center/31px 31px no-repeat}
.consent input:checked{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23F3F1EA' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px 22px no-repeat,
  linear-gradient(var(--denim),var(--denim)) center/31px 31px no-repeat}
.consent input:focus-visible{outline:none;box-shadow:var(--focus)}
.consent label{padding-top:2px}
.choices{border:0;margin:16px 0 0;padding:0;min-width:0}
.choices legend{padding:0;margin-bottom:8px}
.choices__row{display:flex;flex-wrap:wrap;gap:8px}
.choices__row--wide .choice{flex:1 1 15rem}
@media (min-width:1080px){.choices__row--wide .choice{flex:0 1 auto}}
@media (max-width:719px){.choices__row:not(.choices__row--wide){display:grid;grid-template-columns:1fr 1fr}.choices__row--wide .choice{flex-basis:100%}}
.group-more{margin:0 0 18px}
.group-more__sum{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:52px;cursor:pointer;font-family:var(--slab);font-weight:700;font-size:1.3rem;color:var(--denim-deep);list-style-position:inside}
.group-more__sum .req{font-family:var(--sans);font-size:1rem}
.group-more__sum:focus-visible{outline:3px solid var(--denim-deep);outline-offset:3px}
.group-more[open] .group-more__sum{margin-bottom:6px}
.choice{position:relative;display:flex;flex:0 1 auto;filter:drop-shadow(2px 0 0 var(--denim)) drop-shadow(-2px 0 0 var(--denim)) drop-shadow(0 2px 0 var(--denim)) drop-shadow(0 -2px 0 var(--denim))}
.choice:has(input:focus-visible){outline:3px solid var(--denim-deep);outline-offset:5px;border-radius:10px}
.choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.choice span{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 16px 10px 20px;border:0;border-radius:0 10px 10px 0;clip-path:polygon(16px 0,100% 0,100% 100%,16px 100%,0 50%);
  background:var(--bone-2);font-weight:600;line-height:1.3}
.choice span::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:2.5px solid var(--denim);background:var(--bone-2)}
.choice input:checked + span{background:var(--denim);color:var(--bone)}
.choice input:checked + span::before{background:var(--bone);box-shadow:inset 0 0 0 4px var(--denim)}
.choice input:focus-visible + span{box-shadow:var(--focus)}
.choice:hover span{background:var(--denim-pale)}
.choice:hover input:checked + span{background:var(--denim)}
.form__send{margin-top:8px}
.form__notice{margin-top:10px;font-weight:700;color:var(--ink)}
.form__privacy{margin-top:6px;font-size:1rem;color:var(--ink-2)}
.form__summary{background:var(--bone-2);border:3px solid var(--error);border-radius:10px;padding:14px 16px;margin-bottom:22px}
.form__summary:focus{outline:none;box-shadow:var(--focus)}
.form__summary-title{font-weight:700;color:var(--error)}
.form__summary ul{margin:6px 0 0;padding-left:1.2em}
.form__summary a{color:var(--error);font-weight:600;display:inline-block;padding:6px 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.done{display:grid;gap:12px}
.done:focus{outline:none;box-shadow:var(--focus)}
.done__title{font-size:clamp(1.5rem,1.3rem + .8vw,2rem)}
.done__steps{margin:0;padding-left:1.4em;display:grid;gap:8px}

/* ---------- footer ---------- */
.site-foot{background:var(--denim-deep);color:var(--bone);padding:44px 0 50px;position:relative}
.site-foot::before{content:"";position:absolute;left:0;right:0;top:8px;border-top:2px dashed var(--denim-wash)}
.site-foot__in{display:grid;gap:28px}
@media (min-width:900px){.site-foot__in{grid-template-columns:20rem 1fr;gap:56px}}
.site-foot__logo{height:46px;width:auto;display:block;margin-bottom:8px}
.site-foot p{font-size:1rem;line-height:1.55;color:var(--bone)}
.site-foot__brand p + p{margin-top:8px}
.site-foot__legal{display:grid;gap:12px}
.site-foot__legal p{color:var(--canvas)}
.site-foot__legal p:first-child{color:var(--bone)}
.site-foot a{color:var(--bone)}
.site-foot :focus-visible{outline-color:var(--bone)}
.site-foot__copy{margin-top:6px}

/* ---------- launch round ---------- */
/* buyer pre-qualification (How we work): a stitched panel with three hanging screening tags */
.qualify{display:grid;gap:22px;margin-top:30px;background:var(--bone-2);border-radius:var(--radius);padding:30px 24px 28px}
.qualify::before{border-color:var(--canvas-edge)}
.qualify__title{font-size:clamp(1.5rem,1.25rem + 1vw,2.1rem);font-weight:700;line-height:1.15;max-width:26ch}
.qualify__copy p{margin-top:12px;max-width:46rem}
.qualify__tags{list-style:none;margin:0;padding:0;display:grid;gap:12px;align-content:start}
.qualify__tags li{position:relative;display:flex;align-items:center;gap:14px;min-height:56px;padding:10px 18px 10px 28px;background:var(--canvas-2);
  font-family:var(--slab);font-weight:600;font-size:1.2rem;line-height:1.25;color:var(--ink);
  clip-path:polygon(18px 0,100% 0,100% 100%,18px 100%,0 50%)}
.qualify__tags li::after{content:"";position:absolute;inset:5px 6px 5px 20px;border:1.5px dashed var(--canvas-edge);border-radius:4px;pointer-events:none}
.qualify__hole{flex:none;width:14px;height:14px;border-radius:50%;background:var(--bone-2);border:3px solid var(--leather)}
@media (min-width:860px){
  .qualify{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:36px;padding:42px 40px 38px;align-items:center}
}
@media (max-width:719px){.qualify{padding:26px 18px 24px}}

/* 100% US-based, humans any hour (beside the form) */
.humans{position:relative;margin-top:24px;background:var(--denim-pale);border-radius:var(--radius);padding:24px 22px 22px;max-width:60rem}
.humans::before{content:"";position:absolute;inset:7px;border:1.5px dashed var(--denim-wash);border-radius:9px;pointer-events:none}
.humans__title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:clamp(1.35rem,1.2rem + .6vw,1.7rem);margin-bottom:10px}
@media (min-width:720px){.humans{padding:28px 30px 26px}}

/* live form status and failure */
.form__status:empty{display:none}
.form__status{grid-column:1/-1;margin-top:8px;font-weight:600;color:var(--denim-deep)}
.form__fail{grid-column:1/-1;margin-top:14px;background:var(--bone-2);border:3px solid var(--error);border-radius:10px;padding:14px 16px}
.form__fail:focus{outline:none;box-shadow:var(--focus)}
.form__fail-title{font-weight:700;color:var(--error)}
.form__fail-title::before{content:"";display:inline-block;width:.8em;height:.8em;margin-right:.4em;vertical-align:-.05em;background:var(--error);clip-path:polygon(50% 0,100% 100%,0 100%)}
.form__fail p + p{margin-top:4px}
.selectable{font-weight:700;user-select:all;-webkit-user-select:all;overflow-wrap:anywhere}
.btn[disabled]{cursor:progress;background:var(--denim-deep)}
.done__contact{margin-top:4px}
.site-foot__brand a{display:inline-flex;align-items:center;min-height:44px}
.site-foot__brand p + p{margin-top:0}

@media print{.site-head,.hero-art,.btn{display:none}}

/* ---------- fix round 1: phone folds (open at rest and on wide screens; app.js folds them under 720px) ---------- */
.fold__sum{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;cursor:pointer;list-style:none}
.fold__sum::-webkit-details-marker{display:none}
.fold__sum::after{content:"+";flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  border:2px solid var(--denim);color:var(--denim-deep);font:700 1.2rem/1 var(--sans)}
.fold[open] > .fold__sum::after{content:"\2212"}
.fold__sum:focus-visible{outline:3px solid var(--denim-deep);outline-offset:3px;border-radius:6px}
.fold__sum h4{margin:0}
.tags-list li::before{top:.85em}
.tags-list li::after{top:calc(.85em + 6px)}
.fold__sum--plain{font-family:var(--slab);font-weight:600;color:var(--leather);font-size:1.1rem;margin-top:14px;border-top:2px dashed var(--canvas-edge);padding-top:6px}
.fold--facts .kind__facts{margin-top:4px;border-top:0}
.answers{display:grid}
.answer{padding-left:16px;border-left:4px solid var(--canvas)}
.answer__q{font-family:var(--slab);font-weight:600;color:var(--denim-deep);font-size:1.2rem}
.answer__a{margin-top:2px}
@media (min-width:720px){
  .fold__sum::after{display:none}
  .fold__sum{cursor:default;pointer-events:none;min-height:48px}
  .fold__sum--plain{display:none}
  .fold--facts .kind__facts{margin-top:18px;border-top:2px dashed var(--canvas-edge)}
}
/* fix round 1: tighter phone rhythm (F08) */
@media (max-width:719px){
  .section{padding:44px 0}
  .intro{margin-bottom:22px}
  .rail{gap:14px}
  .rail__step{padding:16px 16px 18px}
  .rail__step .icon{width:48px;height:48px}
  .checks{gap:8px}
  .check{padding:10px 12px}
  .ticket{padding:26px 18px 18px}
  .form,.done{padding:24px 16px 22px}
  .form .group{margin-bottom:14px}
  .grid{gap:12px}
  .choices{margin-top:12px}
  .after-ticket{margin-top:20px}
}
.group-more__sum{list-style:none}
.group-more__sum::-webkit-details-marker{display:none}
.group-more__sum::after{content:"+";flex:none;margin-left:auto;display:flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:50%;border:2px solid var(--denim);color:var(--denim-deep);font:700 1.2rem/1 var(--sans)}
.group-more[open] > .group-more__sum::after{content:"\2212"}
@media (min-width:720px){.group-more__sum::after{display:none}.group-more__sum{pointer-events:none;cursor:default}}

/* ---------- Phase B: blog and state guides (site/blog, site/guides) ---------- */
.sub-head__cta{display:none}
@media (min-width:600px){.sub-head__cta{display:inline-flex}}
.crumbs{padding-top:22px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;font-size:1rem;color:var(--ink-2)}
.crumbs li{display:flex;align-items:center}
.crumbs li + li::before{content:"";width:16px;height:2px;margin:0 10px;border-top:2px dashed var(--canvas-edge)}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--denim)}
.crumbs [aria-current]{font-weight:600;color:var(--ink)}
.article{padding:0 0 clamp(52px,6vw,92px)}
.article__in{max-width:48rem}
.article__head{max-width:48rem;margin:10px 0 24px}
.article__head h1{font-size:clamp(2.2rem,1.5rem + 3vw,3.6rem);font-weight:700;line-height:1.05;letter-spacing:-.015em}
.article__kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;font-family:var(--slab);font-weight:600;color:var(--leather);font-size:1.15rem}
.article__meta{margin-top:12px;font-size:1rem;color:var(--ink-2)}
.article__lede{margin-top:14px;font-size:clamp(1.1875rem,1.1rem + .3vw,1.3rem);max-width:44rem}
.article__hero{margin:0 0 28px;position:relative;border-radius:var(--radius);overflow:hidden;background:var(--canvas)}
.article__hero img{display:block;width:100%;height:auto}
.prose{max-width:44rem}
.prose > * + *{margin-top:14px}
.prose h2{font-size:clamp(1.55rem,1.3rem + 1vw,2.1rem);margin-top:36px;line-height:1.15}
.prose h3{margin-top:24px}
.prose ul{padding-left:1.3em;display:grid;gap:8px}
.prose .lede{font-size:clamp(1.2rem,1.1rem + .4vw,1.38rem);line-height:1.5}
.rule-note{margin-top:28px!important;padding:16px 18px;background:var(--bone-2);border-left:6px solid var(--leather);border-radius:0 10px 10px 0;font-weight:600}
.illus{position:relative;background:var(--canvas-2);border-radius:var(--radius);padding:24px 22px 22px;margin-top:18px!important}
.illus::before{content:"";position:absolute;inset:7px;border:1.5px dashed var(--canvas-edge);border-radius:9px;pointer-events:none}
.illus > * + *{margin-top:12px}
.illus__label{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-weight:700}
.illus__table{width:100%;border-collapse:collapse;background:var(--bone-2);border-radius:8px;overflow:hidden}
.illus__table th,.illus__table td{padding:10px 14px;text-align:left;border-bottom:2px dashed var(--canvas-2)}
.illus__table thead th{font-family:var(--slab);color:var(--denim-deep);font-size:1.05rem}
.illus__table td{font-variant-numeric:tabular-nums;font-weight:700}
.share{margin-top:36px;padding-top:22px;border-top:2px dashed var(--canvas-edge);max-width:44rem}
.share__title{font-family:var(--slab);font-weight:700;font-size:1.3rem;color:var(--denim-deep)}
.share__list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.share__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;
  border:2px solid var(--denim);background:var(--bone-2);color:var(--denim-deep);font:700 1.05rem/1.2 var(--sans);text-decoration:none;cursor:pointer}
.share__link:hover{background:var(--denim-pale);color:var(--denim-deep)}
.share__link:focus-visible{outline:none;box-shadow:var(--focus)}
.share__status{margin-top:10px;font-weight:600;color:var(--denim-deep)}
.share__status:empty{display:none}
.share__fallback{margin-top:10px;display:grid;gap:6px}
.share__fallback label{font-weight:700;font-size:1rem}
.cta-tag{position:relative;margin-top:36px;max-width:44rem;background:var(--canvas-2);border-radius:var(--radius);padding:26px 24px 26px}
.cta-tag::before{content:"";position:absolute;inset:8px;border:2px dashed var(--canvas-edge);border-radius:10px;pointer-events:none}
.cta-tag > *{position:relative}
.cta-tag__title{font-family:var(--slab);font-weight:700;font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem);color:var(--denim-deep);line-height:1.2}
.cta-tag p + p{margin-top:8px}
.cta-tag .btn{margin-top:16px}
@media (max-width:719px){.cta-tag .btn{width:100%}}
.related{margin-top:40px;max-width:44rem}
.related h2{font-size:clamp(1.5rem,1.3rem + .8vw,1.9rem)}
.related__sub{margin-top:22px;font-size:1.2rem}
.related__list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}
.related__list a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.post-cards,.guide-cards{list-style:none;margin:0;padding:0;display:grid;gap:22px}
@media (min-width:860px){.post-cards{grid-template-columns:1fr 1fr;gap:28px}}
.post-card{background:var(--bone-2);border-radius:var(--radius);overflow:hidden;border:2px solid var(--canvas-edge)}
.post-card__img img{display:block;width:100%;height:auto}
.post-card__body{padding:20px 22px 24px}
.post-card__title{font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem);line-height:1.15}
.post-card__title a{color:var(--denim-deep);text-decoration-thickness:2px}
.post-card__meta{margin:6px 0 8px;color:var(--ink-2);font-size:1rem}
.guide-card{display:flex;gap:18px;align-items:flex-start;background:var(--bone-2);border-radius:6px 14px 14px 6px;border:2px solid var(--canvas-edge);padding:20px 22px}
.guide-card__abbr{flex:none;display:flex;align-items:center;justify-content:center;width:64px;height:48px;background:var(--denim);color:var(--bone);
  font-family:var(--slab);font-weight:700;font-size:1.35rem;clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%);padding-left:8px}
.guide-card__title{font-size:clamp(1.3rem,1.15rem + .6vw,1.6rem);line-height:1.2;margin-bottom:6px}
.guide-card__title a{color:var(--denim-deep)}
.index-guides{margin-top:28px;max-width:46rem}
.article .scope{max-width:46rem;margin-top:22px}
/* homepage: compact links to the state guides (stripped by the build until approval) */
.state-links{padding:30px 0;border-top:2px dashed var(--canvas-edge);background:var(--bone)}
.state-links__in{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.state-links h2{font-size:1.4rem;margin-right:6px}
.state-links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px}
.state-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
