:root{
  --ink:#151318;
  --paper:#FFFDF6;
  --cream:#FFF3D6;

  --sun:#FFC93C;
  --coral:#FF6B5E;
  --sky:#4EC5F1;
  --mint:#3FD68C;
  --grape:#9B7BF0;

  --muted:#6B6570;

  --tag:'Permanent Marker', cursive;
  --sans:'Archivo', system-ui, sans-serif;

  --line:4px;

  /* AnyCart drawer theme — keeps the cart on the sticker sheet */
  --cf-primary:#FF6B5E;        /* coral buttons, prices, selected states */
  --cf-primary-hover:#E8503F;
  --cf-bg:#FFFDF6;             /* drawer = paper */
  --cf-surface:#FFF3D6;        /* item cards = cream */
  --cf-border:#151318;         /* ink dividers & borders */
  --cf-text:#151318;
  --cf-text-muted:#6B6570;
  --cf-radius:20px;            /* same corners as the sticker cards */
  --cf-btn-radius:999px;       /* pill buttons like the site's */
  --cf-shadow:9px 9px 0 #151318; /* hard offset shadow, no blur */
  --cf-z:999999;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
:focus-visible{outline:4px solid var(--grape);outline-offset:3px;}
.tracked{font-weight:900;text-transform:uppercase;letter-spacing:.32em;}

/* ---------- BAR ---------- */
.bar{position:sticky;top:0;z-index:60;background:var(--ink);border-bottom:var(--line) solid var(--sun);}
.bar-in{max-width:1100px;margin:0 auto;padding:11px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.bar-mark{display:flex;align-items:baseline;gap:10px;}
.bar-mark .t{font-family:var(--tag);font-size:23px;line-height:1;color:var(--paper);transform:rotate(-2deg);}
.bar-mark .t b{color:var(--sun);font-weight:400;}
.bar-mark .s{font-size:8px;letter-spacing:.26em;font-weight:900;text-transform:uppercase;color:var(--mint);}
.bar-right{display:flex;align-items:center;gap:14px;}
.bar-mark a{text-decoration:none;}
.bar-cta{background:var(--coral);color:var(--paper);font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.08em;padding:10px 17px;text-decoration:none;border:3px solid var(--ink);border-radius:999px;box-shadow:0 3px 0 var(--ink);}
.bar-cta:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--ink);}
.tally{display:inline-flex;align-items:center;gap:8px;color:var(--paper);font-weight:700;font-size:14px;white-space:nowrap;cursor:pointer;background:none;border:0;font-family:var(--sans);padding:6px 2px;user-select:none;text-decoration:none;}
.tally:hover{text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:2px;text-underline-offset:4px;}
.tally .n{background:var(--sun);color:var(--ink);min-width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;padding:0 6px;}
.tally .amt{color:var(--sun);font-weight:900;}
.tally:hover .n{transform:scale(1.08);}

/* ---------- HERO ---------- */
.hero{background:var(--sun);color:var(--ink);padding:64px 0 0;position:relative;overflow:hidden;}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(21,19,24,.09) 2px, transparent 2px);
  background-size:26px 26px;pointer-events:none;
}
.hero-in{position:relative;z-index:2;text-align:center;}
.stamp{
  display:inline-block;background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);border-radius:999px;
  font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;
  padding:8px 16px;margin-bottom:26px;
  transform:rotate(-1.5deg);box-shadow:0 3px 0 var(--ink);
}

/* WORDMARK — hand tag, stacked, outlined like a sticker */
.wordmark{display:inline-block;margin-bottom:26px;position:relative;}
.wordmark .l1,.wordmark .l2{
  font-family:var(--tag);line-height:.9;display:block;
  color:var(--paper);
  -webkit-text-stroke:5px var(--ink);
  paint-order:stroke fill;
  text-shadow:6px 6px 0 var(--ink);
}
.wordmark .l1{font-size:clamp(54px,12.5vw,126px);transform:rotate(-2.5deg);}
.wordmark .l2{font-size:clamp(54px,12.5vw,126px);transform:rotate(1.5deg);margin-top:.02em;}
.wordmark .l2 .dollar{color:var(--mint);}
.wordmark .rule{height:5px;background:var(--ink);margin:20px auto 12px;width:76%;border-radius:3px;}
.wordmark .sub{font-size:clamp(9px,1.5vw,13px);color:var(--ink);}

/* doodles */
.doodle{position:absolute;pointer-events:none;z-index:1;}
.d-star{top:6%;left:7%;width:60px;}
.d-zig{top:16%;right:8%;width:82px;}
.d-arrow{bottom:31%;left:5%;width:74px;}
.d-swirl{bottom:34%;right:6%;width:66px;}

.hero .lede{max-width:600px;margin:0 auto 28px;font-size:clamp(16px,2vw,20px);color:#3A3540;}
.hero .lede b{color:var(--ink);font-weight:900;}
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding-bottom:56px;}
.btn{
  display:inline-block;cursor:pointer;text-decoration:none;
  font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:.08em;
  padding:16px 26px;border:3px solid var(--ink);border-radius:999px;
  box-shadow:0 5px 0 var(--ink);
}
.btn:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--ink);}
.btn:active{transform:translateY(5px);box-shadow:none;}
.btn-fill{background:var(--coral);color:var(--paper);}
.btn-out{background:var(--paper);color:var(--ink);}

.street{display:block;width:100%;height:auto;margin-bottom:-5px;position:relative;z-index:2;}

/* ---------- TRUST ---------- */
.trust{background:var(--mint);color:var(--ink);padding:18px 0;border-bottom:var(--line) solid var(--ink);}
.trust-in{display:flex;gap:14px 32px;justify-content:center;flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:9px;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
.trust-item svg{width:20px;height:20px;flex:none;}

/* ---------- SECTIONS ---------- */
section{padding:76px 0;}
.head{text-align:center;max-width:620px;margin:0 auto 48px;}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.head h2{font-family:var(--tag);font-size:clamp(30px,5.6vw,52px);line-height:1.06;margin-bottom:14px;transform:rotate(-.8deg);}
.head p{color:var(--muted);font-size:17px;}

/* ---------- JOBS (sticker sheet) ---------- */
.jobs{background:var(--cream);}
.sticker-row{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;}
.sticker{
  width:330px;max-width:100%;
  border:var(--line) solid var(--ink);border-radius:20px;
  box-shadow:7px 7px 0 var(--ink);
  padding:22px;display:flex;flex-direction:column;
  transition:transform .14s ease, box-shadow .14s ease;
}
.sticker--mint{background:var(--mint);}
.sticker--sky{background:var(--sky);}
.sticker--coral{background:var(--coral);}
.sticker--grape{background:var(--grape);}
.sticker--sun{background:var(--sun);}
.sticker:nth-child(odd){transform:rotate(-1.1deg);}
.sticker:nth-child(even){transform:rotate(1deg);}
.sticker:hover{transform:rotate(0deg) translate(-3px,-4px);box-shadow:11px 12px 0 var(--ink);}

.s-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.s-ico{width:52px;height:52px;flex:none;background:var(--paper);border:3px solid var(--ink);border-radius:14px;padding:5px;display:inline-flex;align-items:center;justify-content:center;}
.s-ico svg{display:block;width:100%;height:100%;}
.who{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:999px;padding:5px 11px;}
.sticker h3{font-family:var(--tag);font-size:27px;line-height:1.1;margin-bottom:8px;color:var(--ink);}
.sticker p{font-size:15px;color:#2A2630;margin-bottom:18px;flex:1;font-weight:600;}
.s-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--paper);border:3px solid var(--ink);border-radius:14px;
  padding:12px 14px;
}
.cost b{font-family:var(--tag);font-size:26px;display:block;line-height:1;}
.cost small{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);}
.add{
  cursor:pointer;font-family:var(--sans);font-weight:900;font-size:12px;
  text-transform:uppercase;letter-spacing:.08em;
  background:var(--ink);color:var(--paper);
  border:3px solid var(--ink);border-radius:999px;
  padding:11px 15px;white-space:nowrap;box-shadow:0 3px 0 var(--ink);
}
.add:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--ink);}
.job-link{color:inherit;text-decoration:none;}
.job-link:hover{text-decoration:underline;text-decoration-thickness:3px;}
.job-more{
  align-self:flex-end;margin-top:16px;
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;
  color:var(--ink);text-decoration:none;
  background:var(--paper);border:3px solid var(--ink);border-radius:999px;
  padding:7px 15px;box-shadow:0 3px 0 var(--ink);
}
.job-more span{display:inline-block;transition:transform .14s ease;}
.job-more:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--ink);}
.job-more:hover span{transform:translateX(3px);}

/* ---------- BROS ---------- */
.bros{background:var(--paper);}
.bro-row{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.bro{
  border:var(--line) solid var(--ink);border-radius:20px;
  box-shadow:7px 7px 0 var(--ink);
  padding:24px;display:grid;grid-template-columns:104px 1fr;gap:20px;align-items:center;
  background:var(--cream);
}
.bro:nth-child(2){background:#E6F7FF;}
.bro .pic{width:104px;height:104px;border:3px solid var(--ink);border-radius:16px;overflow:hidden;}
.bro .pic svg{display:block;width:100%;height:100%;}
.bro h3{font-family:var(--tag);font-size:29px;line-height:1;margin-bottom:5px;}
.bro .age{
  display:inline-block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;
  background:var(--ink);color:var(--paper);border-radius:999px;padding:4px 10px;margin-bottom:10px;
}
.bro p{font-size:15px;color:#3A3540;font-weight:500;}

/* ---------- HOW ---------- */
.how{background:var(--sky);}
.how .eyebrow{color:#123B4D;}
.how .head p{color:#123B4D;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.step{
  text-align:center;background:var(--paper);
  border:var(--line) solid var(--ink);border-radius:20px;
  box-shadow:6px 6px 0 var(--ink);padding:26px 20px;
}
.step .n{
  display:flex;align-items:center;justify-content:center;
  width:56px;height:56px;margin:0 auto 14px;
  font-family:var(--tag);font-size:28px;line-height:1;
  background:var(--sun);color:var(--ink);
  border:3px solid var(--ink);border-radius:999px;
}
.step:nth-child(2) .n{background:var(--coral);color:var(--paper);}
.step:nth-child(3) .n{background:var(--mint);}
.step h3{font-family:var(--tag);font-size:20px;margin-bottom:8px;}
.step p{font-size:15px;color:var(--muted);}

/* ---------- SUPPORT / NAME YOUR PRICE ---------- */
.support{background:var(--grape);}
.support-in{display:flex;justify-content:center;}
.support-card{
  max-width:560px;width:100%;text-align:center;
  background:var(--paper);border:var(--line) solid var(--ink);border-radius:20px;
  box-shadow:9px 9px 0 var(--ink);padding:34px 30px;transform:rotate(-.5deg);
}
.support-card .s-ico--lg{margin:0 auto 16px;transform:rotate(-3deg);}
.support-card h2{font-family:var(--tag);font-size:clamp(30px,5.4vw,48px);line-height:1.04;margin-bottom:14px;transform:rotate(-.8deg);}
.support-blurb{font-size:16px;color:#2A2630;font-weight:500;margin-bottom:8px;}
.support-form{text-align:left;margin-top:22px;}
.support-form label span{color:var(--muted);font-weight:700;letter-spacing:0;text-transform:none;}
.support-form .checkout{margin-top:18px;background:var(--sun);color:var(--ink);}
.support-form .checkout:disabled{background:#E2DDD0;color:#96907F;box-shadow:0 5px 0 #C9C3B4;border-color:#C9C3B4;cursor:not-allowed;transform:none;}
.amount-field{position:relative;}
.amount-dollar{
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  font-family:var(--tag);font-size:22px;line-height:1;color:var(--ink);pointer-events:none;
}
.support-form .amount-field input{padding-left:52px;font-family:var(--tag);font-size:22px;}
.amount-field input::-webkit-outer-spin-button,
.amount-field input::-webkit-inner-spin-button{opacity:.5;}

/* ---------- REVIEWS (hidden until a real one exists) ---------- */
.reviews{background:var(--paper);}
.review-row{display:flex;flex-wrap:wrap;gap:26px;justify-content:center;}
.review{
  width:340px;max-width:100%;
  background:var(--cream);border:var(--line) solid var(--ink);border-radius:20px;
  box-shadow:6px 6px 0 var(--ink);padding:24px;
}
.review:nth-child(odd){transform:rotate(-.8deg);}
.review:nth-child(even){transform:rotate(.8deg);}
.review .stars{color:var(--coral);font-size:20px;letter-spacing:3px;margin-bottom:10px;}
.review blockquote{font-size:16px;font-weight:600;margin-bottom:12px;}
.review figcaption{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}

/* ---------- BOOK ---------- */
.book{background:var(--cream);}
.ticket{
  max-width:540px;margin:0 auto;background:var(--paper);
  border:var(--line) solid var(--ink);border-radius:20px;
  box-shadow:9px 9px 0 var(--ink);padding:26px;
}
.ticket h3{font-family:var(--tag);font-size:26px;margin-bottom:16px;}
.ticket-copy{color:var(--muted);font-size:15px;margin-bottom:24px;}
.checkout{
  display:block;width:100%;text-align:center;user-select:none;
  cursor:pointer;font-family:var(--sans);font-weight:900;font-size:15px;
  text-transform:uppercase;letter-spacing:.08em;
  background:var(--coral);color:var(--paper);
  border:3px solid var(--ink);border-radius:999px;padding:18px;
  box-shadow:0 5px 0 var(--ink);
}
.checkout:hover:not(:disabled){transform:translateY(2px);box-shadow:0 3px 0 var(--ink);}
.checkout:disabled{background:#E2DDD0;color:#96907F;cursor:not-allowed;box-shadow:0 5px 0 #C9C3B4;border-color:#C9C3B4;}
.pay-note{text-align:center;font-size:12px;color:var(--muted);margin-top:12px;}

/* ---------- SERVICE DETAIL PAGE ---------- */
.job-hero{color:var(--ink);padding:44px 0 0;position:relative;overflow:hidden;}
.job-hero--mint{background:var(--mint);}
.job-hero--sky{background:var(--sky);}
.job-hero--coral{background:var(--coral);}
.job-hero--grape{background:var(--grape);}
.job-hero--sun{background:var(--sun);}
.job-hero::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(21,19,24,.09) 2px, transparent 2px);
  background-size:26px 26px;pointer-events:none;
}
.job-hero-in{position:relative;z-index:2;text-align:center;padding-bottom:48px;}
.crumb-stamp{text-decoration:none;}
.job-hero .s-ico--lg{width:76px;height:76px;border-radius:18px;padding:10px;display:inline-flex;margin:6px auto 14px;box-shadow:4px 4px 0 var(--ink);transform:rotate(-2deg);}
.job-title{
  font-family:var(--tag);line-height:.95;margin-bottom:20px;
  font-size:clamp(44px,9vw,88px);
  color:var(--paper);
  -webkit-text-stroke:4px var(--ink);
  paint-order:stroke fill;
  text-shadow:5px 5px 0 var(--ink);
  transform:rotate(-1.5deg);
}
.job-meta{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;}
.job-price-pill{background:var(--paper);border:3px solid var(--ink);border-radius:999px;display:inline-flex;align-items:baseline;gap:7px;padding:7px 16px;box-shadow:0 3px 0 var(--ink);transform:rotate(1deg);}
.job-price-pill b{font-family:var(--tag);font-size:22px;line-height:1;}
.job-price-pill small{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);}

.job-page{background:var(--cream);}
.job-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:start;}
.job-body{
  background:var(--paper);border:var(--line) solid var(--ink);border-radius:20px;
  box-shadow:7px 7px 0 var(--ink);padding:28px;transform:rotate(-.4deg);
}
.job-body p{font-size:16px;color:#2A2630;font-weight:500;margin-bottom:14px;}
.job-body p:last-child{margin-bottom:0;}
.job-book{margin:0;max-width:none;transform:rotate(.4deg);}
.job-form label{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:16px 0 6px;}
.job-form label:first-child{margin-top:0;}
.job-form input,.job-form textarea{
  width:100%;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink);
  background:var(--paper);border:3px solid var(--ink);border-radius:12px;padding:11px 13px;
}
.job-form textarea{resize:vertical;}
.job-form .checkout{margin-top:22px;}
.job-form .checkout + .checkout{margin-top:12px;}
.cart-open{
  display:block;width:100%;text-align:center;user-select:none;
  cursor:pointer;font-family:var(--sans);font-weight:900;font-size:13px;
  text-transform:uppercase;letter-spacing:.08em;
  background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);border-radius:999px;padding:14px;margin-top:12px;
  box-shadow:0 4px 0 var(--ink);
}
.cart-open:hover{transform:translateY(1px);box-shadow:0 3px 0 var(--ink);}
@media(max-width:820px){
  .job-grid{grid-template-columns:1fr;}
  .job-body,.job-book{transform:none;}
}

/* ---------- 404 ---------- */
.oops{padding:110px 0;text-align:center;background:var(--cream);}
.oops .head{margin-bottom:0;}
.oops .btn{margin-top:22px;}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);color:#B9B3C0;padding:48px 0;text-align:center;}
.f-mark{font-family:var(--tag);font-size:32px;color:var(--paper);margin-bottom:8px;transform:rotate(-1.5deg);display:inline-block;}
.f-mark b{color:var(--sun);font-weight:400;}
.f-sub{font-size:9px;color:var(--mint);margin-bottom:18px;}
footer p{font-size:14px;margin-bottom:5px;}
footer a{color:var(--sun);}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important;}
  html{scroll-behavior:auto;}
}
@media(max-width:900px){
  .doodle{display:none;}
}
@media(max-width:820px){
  .bro-row{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;gap:22px;}
}
@media(max-width:560px){
  .bar-cta{display:none;}
  .bro{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .sticker:nth-child(n){transform:none;}
  .review:nth-child(n){transform:none;}
  .wordmark .l1,.wordmark .l2{-webkit-text-stroke:4px var(--ink);text-shadow:4px 4px 0 var(--ink);}
}
