/* Drake Duo Prints - site styles. Colors: black #111111, white, concrete #E6E6E3, steel #5A5A5A, lime #5BAD55 (accent only). */
@font-face{font-family:"Oswald";src:url(/assets/fonts/oswald-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#111;--paper:#fff;--concrete:#e6e6e3;--steel:#5a5a5a;--lime:#5bad55;--lime-dark:#2f6e2b;--head:"Oswald","Arial Narrow",Arial,sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--wrap:1240px;--bar:0px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--body);font-size:17px;line-height:1.55;color:var(--ink);background:var(--paper);padding-bottom:var(--bar)}
img{max-width:100%;height:auto;display:block}
a{color:var(--lime-dark);text-underline-offset:.18em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.05;margin:0 0 .5em;letter-spacing:.005em}
h1,h2{text-transform:uppercase}
h1{font-size:clamp(2.4rem,7vw,5.5rem)}
h2{font-size:clamp(1.8rem,4.2vw,3.2rem)}
h3{font-size:1.3rem;text-transform:uppercase}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:10px;top:10px}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.kicker{font-family:var(--head);text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;color:var(--steel);margin-bottom:.6em}
.kicker::before{content:"";display:inline-block;width:28px;height:4px;background:var(--lime);vertical-align:middle;margin-right:10px}
.text-link{font-weight:600;color:var(--ink);text-decoration-color:var(--lime);text-decoration-thickness:3px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1rem;line-height:1;padding:.85em 1.2em;border:2px solid var(--ink);border-radius:2px;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn-lime{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.btn-lime:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-outline{background:transparent;color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-outline-light{background:transparent;color:#fff;border-color:#fff}
.btn-outline-light:hover{background:#fff;color:var(--ink)}
.btn-lg{font-size:1.15rem;padding:1em 1.4em}
.nt{font-family:var(--body);text-transform:none;font-weight:400;font-size:.8em;letter-spacing:0}

/* header */
.site-header{background:var(--paper);border-bottom:3px solid var(--ink);position:sticky;top:0;z-index:50}
.header-in{display:flex;align-items:center;gap:16px;min-height:72px;flex-wrap:wrap}
.brand img{width:84px;height:auto}
.main-nav{order:3;width:100%;display:none}
.main-nav.open{display:block}
.main-nav ul{list-style:none;margin:0;padding:0 0 12px}
.main-nav a{display:block;padding:12px 0;font-family:var(--head);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);text-decoration:none;font-size:1.15rem;border-top:1px solid var(--concrete)}
.main-nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:4px;text-underline-offset:.35em}
.header-btns{margin-left:auto;display:flex;gap:8px;align-items:center}
.header-btns .btn{padding:.7em .9em;font-size:.9rem}
.btn-track{display:none}
.menu-btn{font-family:var(--head);text-transform:uppercase;font-weight:700;font-size:.95rem;background:var(--ink);color:#fff;border:0;padding:.75em .9em;border-radius:2px;cursor:pointer}
@media (min-width:1000px){
  .header-in{flex-wrap:nowrap;gap:28px}
  .brand img{width:104px}
  .main-nav{display:block;order:0;width:auto}
  .main-nav ul{display:flex;gap:22px;padding:0}
  .main-nav a{border:0;padding:6px 0;font-size:1.02rem}
  .main-nav a:hover{color:var(--lime-dark)}
  .menu-btn{display:none}
  .btn-track{display:inline-flex}
}

/* textures (tiny SVG tiles, low opacity) */
.texture-halftone,.texture-mesh{position:relative;isolation:isolate}
.texture-halftone::before,.texture-mesh::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.07;pointer-events:none}
.texture-halftone::before{background:url(/assets/texture/halftone.svg)}
.texture-mesh::before{background:url(/assets/texture/mesh.svg)}

/* hero */
.hero{display:grid;background:var(--ink);color:#fff}
.hero-photo{display:flex;flex-direction:column;overflow:hidden;position:relative}
.hero-photo img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;object-position:46% 100%}
.photo-cap{margin:0;font-size:.8rem;color:#cfcfcb;background:var(--ink);padding:6px 12px;text-align:right}
.hero-text{padding:18px 20px 28px}
.hero-text .kicker{color:#cfcfcb;margin-bottom:.4em}
.hero h1{font-size:clamp(2rem,8.2vw,3.4rem);margin-bottom:.3em}
.lead{font-size:1.08rem;max-width:36ch;margin-bottom:.6em}
.facts{display:flex;flex-wrap:wrap;gap:6px 18px;font-weight:600;margin:.8em 0 1.1em;font-size:.95rem}
.facts span{border-left:4px solid var(--lime);padding-left:10px}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1em}
.hero-call a{color:#fff;font-weight:700}
@media (max-width:899px){
  .photo-cap{position:absolute;right:0;bottom:0;background:rgba(17,17,17,.72);padding:3px 10px}
}
/* phones: keep headline and both buttons above the fold on short iPhone Safari screens (about 660px tall with toolbars) */
@media (max-width:599px){
  .hero-photo img{aspect-ratio:16/10}
  .hero-text{display:flex;flex-direction:column;padding:14px 20px 22px}
  .hero-text .kicker{font-size:.78rem;margin-bottom:.35em}
  .hero h1{font-size:clamp(1.8rem,7.4vw,2.4rem);line-height:1.05;margin-bottom:.3em}
  .lead{font-size:1rem;margin-bottom:.8em}
  .hero-btns{order:1;flex-wrap:nowrap;gap:10px;margin-bottom:.8em}
  .hero-btns .btn{padding:.85em .9em;font-size:.95rem}
  .hero-call{order:2;margin-bottom:.7em}
  .facts{order:3;margin:0;font-size:.9rem}
}
@media (min-width:900px){
  .hero{grid-template-columns:40fr 60fr}
  .hero-photo{order:2;justify-content:flex-end;container-type:inline-size}
  .hero-photo img{flex:1 1 auto;aspect-ratio:auto;height:auto;contain:size;min-height:calc(100cqw / 1.5);max-height:calc(100cqw / 1.12);object-position:32% 100%}
  .hero-text{order:1;padding:44px 40px 44px max(20px,calc((100vw - var(--wrap))/2 + 20px));align-self:end}
  .hero h1{font-size:clamp(2.4rem,3.7vw,4rem)}
  .lead{font-size:1.2rem}
  .facts{font-size:1rem;margin:1.1em 0 1.4em}
}
@media (min-width:900px) and (max-width:1199px){
  .hero{grid-template-columns:46fr 54fr}
  .hero-text{padding-top:32px;padding-bottom:32px}
  .hero h1{font-size:2.3rem}
  .lead{font-size:1.08rem}
  .facts{margin:.8em 0 1.1em}
}

/* proof strip */
.proof{background:var(--concrete);border-bottom:1px solid #d2d2cd}
.proof-in{display:grid;gap:14px;padding-top:22px;padding-bottom:22px;align-items:center}
.proof-score{margin:0;font-family:var(--head);font-size:1.4rem;text-transform:uppercase;line-height:1.2}
.proof-score a{font-family:var(--body);text-transform:none;font-size:.95rem}
.proof-quote{margin:0;font-size:1.05rem}
.proof-quote p{margin:0 0 .2em;font-style:italic}
.proof-quote footer{font-size:.9rem;color:var(--steel)}
.proof-towns{margin:0;font-size:.95rem;color:var(--steel)}
@media (min-width:900px){.proof-in{grid-template-columns:1fr 1.6fr 1.3fr;gap:36px}}

/* what we run */
.run{padding-top:64px;padding-bottom:40px}
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 24px;margin-bottom:24px}
.sec-head p{color:var(--steel);margin:0}
.run-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;color:var(--ink);overflow:hidden;min-height:150px;background:var(--concrete)}
.tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.tile-big,.tile-tall{grid-column:span 2;min-height:300px}
.tile-text{position:relative;background:var(--ink);color:#fff;padding:12px 16px;max-width:92%;font-size:.95rem}
.tile-text strong{display:block;font-family:var(--head);text-transform:uppercase;font-size:1.5rem;line-height:1.1}
.tile-plain{padding:18px;justify-content:flex-start;border-top:6px solid var(--lime)}
.tile-plain strong{font-family:var(--head);text-transform:uppercase;font-size:1.35rem;line-height:1.1;margin-bottom:.4em}
.tile-plain span{font-size:.95rem}
.tile-gray{background:#d9d9d5}
.tile-banner{grid-column:span 2;background:var(--ink);color:#fff;padding:22px;justify-content:flex-start}
.tile-banner strong{font-family:var(--head);text-transform:uppercase;font-size:2rem;line-height:1}
.tile-banner span{display:block;margin-top:.4em}
.tile-link{font-family:var(--head);text-transform:uppercase;color:var(--lime);font-size:1.2rem;margin-top:.8em!important}
.tile:hover .tile-text,.tile-plain:hover{outline:3px solid var(--lime)}
.photo-line{margin-top:22px;font-weight:600;max-width:60ch;border-left:4px solid var(--lime);padding-left:12px}
@media (min-width:900px){
  .run-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:150px}
  .tile-big{grid-column:1/8;grid-row:1/4}
  .tile-tall{grid-column:8/13;grid-row:1/3}
  .tile-plain:nth-of-type(3){grid-column:8/11;grid-row:3/4}
  .tile-gray{grid-column:11/13;grid-row:3/5}
  .tile-plain:nth-of-type(5){grid-column:1/4;grid-row:4/5}
  .tile-banner{grid-column:4/11;grid-row:4/5;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px}
  .tile-banner span{margin:0}
  .tile-link{margin:0!important}
}

/* who we print for */
.who{background:var(--ink);color:#fff;padding:56px 0 48px}
.who-sub{color:#cfcfcb;max-width:60ch}
.strip{display:flex;gap:14px;overflow-x:auto;padding:12px 20px 18px;scroll-snap-type:x mandatory}
.strip a{flex:0 0 72%;scroll-snap-align:start;color:#fff;text-decoration:none}
.strip figure{margin:0}
.strip img{aspect-ratio:4/5;object-fit:cover;width:100%}
.strip figcaption{font-family:var(--head);text-transform:uppercase;font-size:1.25rem;padding-top:10px;border-top:4px solid var(--lime);margin-top:8px}
.strip a:hover figcaption{color:var(--lime)}
@media (min-width:900px){.strip{max-width:var(--wrap);margin:0 auto;overflow:visible}.strip a{flex:1}.strip a:nth-child(even){margin-top:48px}}

/* process */
.how{padding-top:60px;padding-bottom:56px}
.process{list-style:none;margin:20px 0;padding:0;display:grid;gap:0}
.process li{position:relative;padding:0 0 22px 56px;border-left:3px solid var(--ink);margin-left:18px}
.process li:last-child{border-left-color:transparent}
.process .n{position:absolute;left:-20px;top:-4px;width:38px;height:38px;border-radius:50%;background:var(--lime);color:var(--ink);font-family:var(--head);font-size:1.25rem;display:grid;place-items:center}
.process strong{display:block;font-family:var(--head);text-transform:uppercase;font-size:1.2rem}
.process span:not(.n){color:var(--steel);font-size:.95rem}
.how-note{font-weight:600}
@media (min-width:900px){
  .how .process{grid-template-columns:repeat(5,1fr);gap:18px}
  .how .process li{border-left:0;border-top:3px solid var(--ink);margin:0;padding:34px 0 0}
  .how .process li:last-child{border-top-color:var(--ink)}
  .how .process .n{left:0;top:-20px}
}

/* reviews */
.reviews{background:var(--concrete);padding:60px 0}
.rev-grid{display:grid;gap:18px}
.review{margin:0;background:#fff;padding:22px;border-left:6px solid var(--lime)}
.review blockquote{margin:0}
.review p{margin:0 0 .6em}
.review figcaption{font-weight:700}
.review figcaption span{display:block;font-weight:400;color:var(--steel);font-size:.9rem}
.rev-big p{font-family:var(--head);font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.2}
.rev-mid p{font-size:1.2rem}
.rev-small{background:var(--ink);color:#fff;border-left-color:#fff}
.rev-small figcaption span{color:#cfcfcb}
.rev-link{margin-top:22px}
.reviews-light{background:#fff;border-top:1px solid var(--concrete)}
.reviews-light .review{background:var(--concrete)}
.reviews-light .rev-small{background:var(--ink)}
@media (min-width:900px){.rev-grid{grid-template-columns:7fr 5fr;grid-template-rows:auto auto}.rev-big{grid-row:span 2;padding:36px}.rev-small{align-self:start;margin-right:15%}}

/* family */
.family{display:grid;gap:24px;padding-top:64px;padding-bottom:64px;align-items:center}
.family-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 22%}
@media (min-width:900px){.family{grid-template-columns:7fr 5fr;gap:48px}.family-photo{margin-left:calc(-1 * max(20px,(100vw - var(--wrap))/2 + 20px))}}

/* next step band */
.next-step{background:var(--ink);color:#fff;padding:52px 0;border-top:8px solid var(--lime)}
.next-in{display:grid;gap:20px;align-items:center}
.next-step p{color:#d7d7d3;max-width:56ch}
.next-btns{display:flex;flex-wrap:wrap;gap:12px}
@media (min-width:900px){.next-in{grid-template-columns:1fr auto}}

/* footer */
.site-footer{background:#000;color:#d7d7d3;padding:48px 0 24px;font-size:.95rem}
.site-footer a{color:#fff}
.footer-grid{display:grid;gap:24px;grid-template-columns:1fr 1fr}
.f-brand{grid-column:span 2}
.f-brand img{width:140px}
.slogan{font-family:var(--head);text-transform:uppercase;color:var(--lime);font-size:1.3rem;margin-top:12px}
.f-h{font-size:1.05rem;color:#fff;margin-bottom:.5em}
.f-links{list-style:none;margin:0;padding:0}
.f-links li{margin-bottom:6px}
.f-towns{border-top:1px solid #333;margin-top:28px;padding-top:20px}
.f-small{font-size:.85rem;color:#a9a9a5}
@media (min-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}.f-brand{grid-column:auto}}

/* mobile action bar */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr 1.6fr;background:var(--ink);border-top:2px solid var(--lime);padding-bottom:env(safe-area-inset-bottom)}
.mobile-bar a{color:#fff;text-decoration:none;text-align:center;padding:14px 6px;font-family:var(--head);text-transform:uppercase;font-size:1.02rem;border-right:1px solid #333}
.mobile-bar .mb-order{background:var(--lime);color:var(--ink);border:0}
body{--bar:calc(52px + env(safe-area-inset-bottom))}
@media (min-width:1000px){.mobile-bar{display:none}body{--bar:0px}}

/* inner pages */
.page-head{padding-top:48px;padding-bottom:36px}
.page-head h1{max-width:18ch}
.lead-dark{font-size:1.15rem;max-width:62ch}
.facts-dark{display:flex;flex-wrap:wrap;gap:8px 18px;font-weight:600}
.facts-dark span{border-left:4px solid var(--lime);padding-left:10px}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.jump a{font-family:var(--head);text-transform:uppercase;color:var(--ink);text-decoration:none;border:2px solid var(--ink);padding:.45em .8em;font-size:.95rem}
.jump a:hover{background:var(--ink);color:#fff}
.svc{display:grid;scroll-margin-top:90px}
.svc-photo img{width:100%;height:100%;object-fit:cover;max-height:520px}
.svc-body{padding:32px 20px 48px;max-width:720px}
.steps{padding-left:1.3em}
.steps li{margin-bottom:.6em}
.steps li::marker{font-family:var(--head);color:var(--lime-dark);font-weight:700}
.note{color:var(--steel);font-size:.95rem;border-left:4px solid var(--concrete);padding-left:10px}
.rev-inline{margin-top:20px;background:var(--concrete)}
@media (min-width:900px){
  .svc{grid-template-columns:1fr 1fr;align-items:start}
  .svc-photo{position:sticky;top:90px}
  .svc-photo img{height:min(78vh,640px);height:min(78svh,640px);max-height:none}
  .svc-photo-right{grid-template-columns:7fr 5fr}
  .svc-photo-right .svc-photo{order:2}
  .svc-photo-left .svc-body{padding:56px 48px}
  .svc-photo-right .svc-body{padding:56px 48px 56px max(20px,calc((100vw - var(--wrap))/2 + 20px));justify-self:end}
}
.svc-trio{display:grid;gap:16px;padding-top:56px;padding-bottom:56px}
.svc-card{background:var(--concrete);padding:26px;scroll-margin-top:90px}
.svc-card-dark{background:var(--ink);color:#fff}
.svc-card-dark .note{color:#cfcfcb;border-color:#444}
@media (min-width:900px){.svc-trio{grid-template-columns:5fr 4fr 3fr}.svc-card-dark{margin-top:40px}}
.svc-banner{background:var(--ink);color:#fff;padding:56px 0}
.banner-in{display:grid;gap:28px}
.specs{list-style:none;padding:0;margin:0 0 1em}
.specs li{padding:8px 0;border-bottom:1px solid #333}
.note-light{color:#cfcfcb}
.banner-cta p{font-size:1.15rem}
@media (min-width:900px){.banner-in{grid-template-columns:6fr 5fr;align-items:end}}
.svc-misc{display:grid;gap:28px;padding-top:56px}
.svc-misc h2{font-size:clamp(1.5rem,3vw,2.2rem)}
@media (min-width:900px){.svc-misc{grid-template-columns:7fr 5fr}}
.inline-faq{padding-top:40px}
details{border-bottom:1px solid #cfcfcb;padding:14px 0}
summary{cursor:pointer;font-weight:700;font-size:1.08rem;list-style-position:outside}
summary::marker{color:var(--lime-dark)}
details p{margin:.7em 0 0;max-width:70ch}

/* our work */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{font:inherit;font-weight:600;font-size:.95rem;background:#fff;color:var(--ink);border:2px solid var(--ink);padding:.45em .9em;border-radius:999px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--lime);border-color:var(--lime)}
.work-grid{columns:1;column-gap:16px}
.work-item{break-inside:avoid;margin:0 0 16px;background:var(--concrete)}
.work-item[hidden]{display:none}
.work-item figcaption{padding:10px 14px;font-size:.95rem}
@media (min-width:640px){.work-grid{columns:2}}
@media (min-width:1100px){.work-grid{columns:3}}
.crew-cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;background:var(--concrete);padding:22px;margin:24px 0 56px;border-left:8px solid var(--lime)}
.crew-cta p{margin:0}

/* FAQ */
.faq-wrap{max-width:860px;padding-bottom:48px}
.faq-group{margin-bottom:36px}
.faq-group h2{font-size:clamp(1.5rem,3vw,2.1rem);border-bottom:4px solid var(--ink);padding-bottom:8px}

/* forms */
.contact-grid,.order-grid{display:grid;gap:36px;padding-bottom:56px}
@media (min-width:900px){.contact-grid{grid-template-columns:5fr 7fr}.order-grid{grid-template-columns:7fr 4fr;align-items:start}.order-side{position:sticky;top:96px}}
.big-phone{font-family:var(--head);font-size:clamp(2rem,5vw,3rem);margin:0 0 .2em}
.big-phone a{color:var(--ink);text-decoration-color:var(--lime)}
.contact-info h2{font-size:1.4rem;margin-top:1.2em}
.hours{border-collapse:collapse;margin-bottom:1em}
.hours th,.hours td{text-align:left;padding:6px 16px 6px 0;border-bottom:1px solid var(--concrete)}
.contact-photo{margin:20px 0 0}
.callout{background:var(--concrete);padding:14px 16px;border-left:6px solid var(--lime);font-weight:600}
fieldset{border:0;border-top:3px solid var(--ink);padding:16px 0 4px;margin:0 0 18px}
legend{font-family:var(--head);text-transform:uppercase;font-size:1.3rem;padding-right:10px}
.field{margin-bottom:16px}
.field label,.lbl{display:block;font-weight:600;margin-bottom:6px}
.opt{font-weight:400;color:var(--steel)}
input[type=text],input:not([type]),input[type=email],input[type=tel],input[type=number],input[type=date],select,textarea{width:100%;font:inherit;padding:12px;border:2px solid var(--steel);border-radius:2px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--ink)}
input[type=file]{font:inherit;max-width:100%}
input[type=color]{width:64px;height:44px;padding:2px;border:2px solid var(--steel)}
.check{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--lime-dark)}
.check label{font-weight:600}
.radio-row{display:flex;flex-wrap:wrap;gap:8px 20px}
.radio-row.stack{flex-direction:column}
.radio-row label{font-weight:400;display:flex;gap:8px;align-items:center}
.radio-row input{width:20px;height:20px;accent-color:var(--lime-dark)}
.radio-row input:disabled+*,.radio-row label:has(input:disabled){color:#8a8a86}
.help{font-size:.88rem;color:var(--steel);margin:.4em 0 0}
.file-chip{display:inline-block;background:var(--concrete);padding:6px 10px;margin-top:8px;font-size:.9rem;border-left:4px solid var(--lime)}
.file-chip.bad{border-left-color:#b00020;color:#8a0018}
.form-status{font-weight:700;margin-top:14px}
.form-status.ok{color:var(--lime-dark)}
.form-status.err{color:#8a0018}
.form-fallback{background:#fff4f4;border-left:6px solid #b00020;padding:12px 14px}
.cf-turnstile{margin:8px 0 16px;min-height:0}
.field-err{border-color:#b00020!important}

/* banner builder */
.bb-grid{display:grid;gap:28px;padding-bottom:56px}
.bb-stage{background:var(--concrete);padding:16px;border:2px solid var(--ink)}
.bb-stage svg{width:100%;height:auto;display:block;max-height:60vh}
.bb-dims{font-family:var(--head);text-transform:uppercase;font-size:1.2rem;margin:12px 0 4px}
.size-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.color-row,.logo-ctl{display:flex;flex-wrap:wrap;gap:16px}
.logo-ctl .field{flex:1;min-width:160px}
.bb-warn{background:#fff4f4;border-left:6px solid #b00020;padding:8px 12px}
.bb-noprice{font-weight:700}
@media (min-width:900px){.bb-grid{grid-template-columns:6fr 5fr;align-items:start}.bb-preview-col{position:sticky;top:96px}.size-row{grid-template-columns:repeat(4,1fr)}}

/* misc */
.mini-steps{padding-left:1.3em;max-width:60ch}
.mini-steps li{margin-bottom:.5em}
.garments .hero-btns{margin:24px 0}
.prose{max-width:780px}
.prose h2{font-size:1.6rem;margin-top:1.4em}
.nf-links{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:0;font-weight:700}
.track-reorder{margin-top:18px}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.mobile-bar,.next-step{display:none}}

/* order form: garment chips, size grid, minimum meter */
.gchips{display:flex;flex-wrap:wrap;gap:10px}
.gchip{position:relative;display:block;cursor:pointer}
.gchip input{position:absolute;opacity:0;width:1px;height:1px}
.gchip span{display:flex;align-items:center;min-height:48px;padding:10px 16px;border:2px solid var(--steel);border-radius:2px;background:#fff;font-weight:600;line-height:1.2}
.gchip span::before{content:"";flex:none;width:18px;height:18px;margin-right:10px;border:2px solid var(--steel);border-radius:2px;background:#fff}
.gchip:hover span{border-color:var(--ink)}
.gchip input:focus-visible+span{outline:3px solid var(--lime);outline-offset:2px}
.gchip input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}
.gchip input:checked+span::before{border-color:var(--lime);background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%23111' stroke-width='2.4'/%3E%3C/svg%3E") center/14px no-repeat}
.field-err .gchip span,.gchips.field-err .gchip span{border-color:#b00020}
.size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.size-cell label,.size-other-name label{display:block;font-family:var(--head);text-transform:uppercase;font-size:1rem;letter-spacing:.04em;margin-bottom:4px;font-weight:700}
.size-cell input[type=number]{min-height:48px;padding:8px 4px;text-align:center;font-size:1.15rem;font-weight:600;-moz-appearance:textfield}
.size-cell input::-webkit-outer-spin-button,.size-cell input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.size-cell input.has-qty{border-color:var(--ink);background:#f3f8f2}
.size-other{display:grid;grid-template-columns:1fr minmax(0,calc(25% - 7.5px));gap:10px;margin-top:12px}
.size-other-name input{min-height:48px}
.min-meter{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0 0 12px;padding:10px 14px;background:var(--concrete);border:2px solid #a3a39e;border-radius:2px;color:var(--ink);font-weight:600;position:-webkit-sticky;position:sticky;top:84px;z-index:5;-webkit-transition:background-color .2s,border-color .2s;transition:background-color .2s,border-color .2s}
.min-total{font-family:var(--head);text-transform:uppercase;font-size:1.25rem;letter-spacing:.03em;white-space:nowrap}
.min-num{display:inline-block;min-width:1.6em;font-size:1.9rem;line-height:1;font-weight:700;vertical-align:-.12em}
.min-msg{color:var(--steel);font-size:.98rem}
.min-meter.met{background:#5bad55;border-color:#2f6e2b;color:#111}
.min-meter.met .min-msg{color:#111}
.min-meter.short-err{border-color:#b00020}
.gradio span::before{border-radius:50%}
.gchip input[type=radio]:checked+span::before{background:var(--lime);box-shadow:inset 0 0 0 4px #111;border-color:var(--lime)}
@media (min-width:640px){
  .size-grid{grid-template-columns:repeat(7,1fr)}
  .size-other{grid-template-columns:minmax(0,1fr) minmax(0,calc((100% - 60px) / 7 * 1.6))}
}
@media (max-width:639px){
  .gchips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .gchip span{padding:10px 12px;height:100%}
  .gchip:last-child{grid-column:1 / -1}
  .gchips-2x2 .gchip:last-child{grid-column:auto}
}

/* iOS Safari form fixes: no zoom-on-focus, consistent date and number fields */
input,select,textarea{font-size:max(16px,1em)}
input[type=date]{-webkit-appearance:none;appearance:none;display:block;min-height:48px;line-height:1.3;text-align:left;background:#fff}
input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.3em}
input[type=number]{-webkit-appearance:none;appearance:none}
.gchip span{-webkit-tap-highlight-color:transparent}
@media (max-width:899px){.min-meter{top:78px}}
