/* Do Not Pet: service and support dog registry + gear store (demo).
   Visual language follows the Avada "Pet Supplies" prebuilt (ThemeFusion); every rule here is our own,
   no Avada CSS, markup or assets are used. Tokens read off their demo on 2026-09-25. */
@font-face{font-family:"Trocchi";src:url(../fonts/trocchi-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Work Sans";src:url(../fonts/worksans-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --white:#fff;
  --tile:#f8f5f2;       /* product tile, newsletter fade */
  --pill:#f2f3f5;       /* search field */
  --line:#e2e2e2;
  --green:#3d6f42;      /* buttons, prices, eyebrows */
  --green-d:#325c37;    /* button hover */
  --forest:#1e3120;     /* dark bands, headings */
  --forest-2:#27402a;   /* raised panel on dark */
  --sage:#8fbf92;       /* light green text on dark (8.0:1 on forest) */
  --mist:#c9d6ca;       /* muted text on dark */
  --ink:#1b1d1b;
  --body:#2f332f;
  --muted:#5f655f;      /* 6.1:1 on white */
  --sale:#3d6f42;
  --warn-bg:#fff7e0; --warn-line:#e8c766; --warn-ink:#5a4300;
  --serif:"Trocchi",Georgia,"Times New Roman",serif;
  --sans:"Work Sans",Arial,Helvetica,sans-serif;
  --wrap:1366px;
  --gut:37px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--body);font:400 17px/1.8 var(--sans);letter-spacing:.015em;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400;color:var(--forest)}
h1,h2{font-family:var(--serif);line-height:1.35;letter-spacing:0}
h2{font-size:34px}
h3{font-family:var(--sans);font-size:22px;line-height:1.3;color:var(--ink)}
p{margin:0 0 1em}
[hidden]{display:none!important}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
a.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--forest);color:#fff;padding:10px 16px;border-radius:4px;text-decoration:none}
a.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.dark :focus-visible,.band :focus-visible,.foot :focus-visible{outline-color:#fff}
.wrap{max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.center{text-align:center}
.paws{background-color:var(--forest);background-image:url(../img/paws.svg);background-size:540px 540px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 28px;font:600 14px/1.2 var(--sans);letter-spacing:0;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,transform .2s}
.btn-g{background:var(--green);color:#fff}
.btn-g:hover{background:var(--green-d)}
.btn-w{background:#fff;color:var(--ink)}
.btn-w:hover{background:var(--tile)}
.btn-o{background:transparent;color:var(--forest);box-shadow:inset 0 0 0 1.5px var(--forest)}
.btn-o:hover{background:var(--forest);color:#fff}
.btn-lg{padding:15px 34px;font-size:15px}
.btn-block{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}

/* ---------- header: one row. logo | menu | search icon, account, cart, Register (primary CTA) ---------- */
.hdr{background:#fff;position:relative;z-index:50;border-bottom:1px solid #eee}
.hdr-top .wrap{display:flex;align-items:center;gap:22px;min-height:84px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--forest);flex:none}
.logo svg{width:48px;height:48px;flex:none}
.logo b{display:block;font:800 23px/1 var(--sans);letter-spacing:-.015em}
.logo small{display:block;font:700 10.5px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin-top:5px}
.nav{flex:1 1 auto;display:flex;justify-content:center;min-width:0}
.nav>ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.nav li{position:relative}
.nav a.nl,.nav button.nl{display:flex;align-items:center;gap:5px;padding:12px 13px;font:500 14.5px/20px var(--sans);letter-spacing:.01em;color:#4d524d;text-decoration:none;background:none;border:0;cursor:pointer;white-space:nowrap;border-radius:6px}
.nav a.nl:hover,.nav .nl[aria-current="page"],.nav li:hover>.nl,.nav li.open>.nl{color:var(--ink)}
.nav .nl[aria-current="page"]{font-weight:600;color:var(--forest)}
.nav .nl svg{width:11px;height:11px}
.nav .sub{position:absolute;top:calc(100% + 12px);left:0;min-width:236px;background:#fff;border-top:2px solid var(--green);box-shadow:0 12px 30px rgba(0,0,0,.1);list-style:none;margin:0;padding:10px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
.nav .sub::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav li:hover>.sub,.nav li.open>.sub,.nav li:focus-within>.sub{opacity:1;visibility:visible;transform:none}
.nav .sub a{display:block;padding:9px 22px;font-size:14px;line-height:1.4;text-decoration:none;color:var(--body)}
.nav .sub a:hover{color:var(--green);background:var(--tile)}
.nav .m-search,.nav .m-cta{display:none}
.hdr-icons{display:flex;align-items:center;gap:4px;flex:none}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer}
.icon-btn:hover,.icon-btn[aria-expanded="true"]{background:var(--pill)}
.icon-btn svg{width:21px;height:21px}
.cart-n{position:absolute;top:3px;right:1px;min-width:17px;height:17px;border-radius:9px;background:var(--green);color:#fff;font:600 10px/17px var(--sans);text-align:center;padding:0 4px;letter-spacing:0}
.cart-n:empty,.cart-n[data-n="0"]{display:none}
.hdr-cta{margin-left:10px;padding:13px 24px;font-size:14.5px}
.hdr-cta .s{display:none}
.burger{display:none}
.spanel{border-top:1px solid #eee;background:#fff;padding:16px 0}
.search{position:relative;max-width:620px;margin:0 auto}
.search input{width:100%;height:46px;border:0;border-radius:999px;background:var(--pill);padding:0 18px 0 46px;font-size:15px}
.search input::placeholder{color:#6b6e72}
.search svg{position:absolute;left:18px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--ink);pointer-events:none}
.search-res{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:6px;z-index:60;max-height:360px;overflow:auto}
.search-res a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;text-decoration:none;font-size:14px;line-height:1.3}
.search-res a:hover,.search-res a:focus{background:var(--tile)}
.search-res img{width:42px;height:42px;background:var(--tile);border-radius:6px;object-fit:contain}
.search-res .none{padding:10px;font-size:14px;color:var(--muted)}
.search-res span.p{margin-left:auto;color:var(--green);font-weight:500}
@media (max-width:1400px){.nav a.nl,.nav button.nl{padding:12px 9px;font-size:14px}.hdr-top .wrap{gap:14px}.hdr-cta{padding:12px 20px}}

/* ---------- hero + banners ---------- */
.hero{position:relative;min-height:560px;display:flex;align-items:center;color:#fff;background:#2b3a2d center/cover no-repeat;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,22,15,.72) 0%,rgba(14,22,15,.45) 38%,rgba(14,22,15,0) 70%)}
.hero .wrap{position:relative;width:100%;padding-top:90px;padding-bottom:90px}
.eyebrow{display:block;font:600 13px/1.1 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-bottom:26px}
.hero h1{font-size:52px;color:#fff;max-width:660px;margin-bottom:38px}
.hero p.lede{max-width:560px;font-size:18px;margin:-14px 0 34px;color:#eef2ee}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap}
.promo{color:#fff}
.promo .wrap{display:flex;align-items:center;justify-content:center;gap:34px;min-height:140px;padding-top:14px;padding-bottom:14px}
.promo img{width:190px;height:auto;margin-right:24px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35));transform:rotate(-6deg)}
.promo p{margin:0;font-size:19px;letter-spacing:.015em}
.promo a{font-size:19px;color:#fff;text-underline-offset:4px}
.promo a:hover{color:var(--sage)}
.banner{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;min-height:515px;background:#2b3a2d center/cover no-repeat;overflow:hidden;padding:60px 30px}
.banner::before{content:"";position:absolute;inset:0;background:rgba(10,16,11,.42)}
.banner>*{position:relative}
.banner h2{color:#fff;font-size:46px;margin-bottom:30px}
.banner .eyebrow{font-size:12px;margin-bottom:14px}
.phero{position:relative;color:#fff;text-align:center;background:#2b3a2d center/cover no-repeat;padding:120px 30px}
.phero::before{content:"";position:absolute;inset:0;background:rgba(10,16,11,.45)}
.phero>*{position:relative}
.phero h1{color:#fff;font-size:52px;line-height:1.2}
.phero .eyebrow{margin:18px 0 0;font-size:12px;letter-spacing:.24em}
.phero.plain{background:var(--forest) url(../img/paws.svg);background-size:540px}
.phero.plain::before{display:none}
.crumbs{font-size:13px;color:#e6ece6;margin-top:14px;letter-spacing:.02em}
.crumbs a{color:#fff}

/* ---------- sections ---------- */
.sec{padding:120px 0}
.sec.tight{padding:80px 0}
.sec-head{text-align:center;max-width:660px;margin:0 auto 64px}
.sec-head h2{margin-bottom:22px}
.sec-head p{margin:0;font-size:17px}
.sec-head .sub{display:block;color:var(--green);font-size:17px;margin-top:-8px}
.row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:46px}
.row-head .sub{display:block;color:var(--green);font-size:17px;margin-bottom:6px}
.row-head h2{line-height:1.2}

/* category tiles */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.cat{display:block;text-decoration:none;text-align:center;color:var(--ink)}
.cat .tile{aspect-ratio:1/1;background:var(--tile);display:grid;place-items:center;overflow:hidden}
.cat .tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat:hover .tile img{transform:scale(1.06)}
.cat .nm{display:block;margin-top:22px;font-size:19px;letter-spacing:.015em}
.cat sup{font-size:12px;margin-left:3px}

/* product lines (three dark cards) */
.lines{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.line{display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;padding:62px 30px 64px;min-height:620px}
.line h3{font:400 34px/1.2 var(--serif);color:#fff}
.line .kind{color:var(--sage);font-size:17px;margin-top:14px}
.line img{width:74%;max-width:330px;margin:auto 0;filter:drop-shadow(0 18px 24px rgba(0,0,0,.35));transition:transform .5s}
.line:hover img{transform:translateY(-6px) rotate(-2deg)}
.line .btn{margin-top:18px}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 40px}
.grid.g3{grid-template-columns:repeat(3,1fr);gap:48px 40px}
.card{position:relative;text-align:center}
.card .tile{position:relative;display:grid;place-items:center;aspect-ratio:1/1;background:var(--tile);overflow:hidden}
.card .tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .tile img{transform:scale(1.05)}
.card .quick{position:absolute;left:50%;bottom:18px;transform:translate(-50%,12px);opacity:0;transition:.25s;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.card:hover .quick,.card .quick:focus-visible,.card:focus-within .quick{opacity:1;transform:translate(-50%,0)}
.badge{position:absolute;top:18px;left:18px;z-index:2;width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font:500 13px/1 var(--sans);letter-spacing:0}
.badge.kit{background:var(--forest);font-size:12px}
.card h3{font:400 19px/1.4 var(--sans);letter-spacing:.015em;margin:22px 0 4px;color:var(--ink)}
.card h3 a{text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.card .quick{z-index:3}
.price{color:var(--green);font-size:16px;letter-spacing:.02em}
.price del{color:var(--ink);margin-left:6px;opacity:.85}
.off{display:inline-block;background:var(--green);color:#fff;font:600 11px/1 var(--sans);letter-spacing:.12em;padding:3px 7px 3px 8px;margin-left:8px;vertical-align:2px;border-radius:2px}
.card .tag{display:block;font-size:13px;color:var(--muted);margin-top:4px;letter-spacing:.02em}

/* law quotes (testimonial slot) */
.quotes{color:#fff;padding:94px 0 120px}
.quotes h2{color:#fff;text-align:center;margin-bottom:12px}
.quotes .intro{text-align:center;color:var(--mist);max-width:640px;margin:0 auto 56px;font-size:16px}
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.q{text-align:center;padding:0 22px}
.q .seal{width:96px;height:96px;border-radius:50%;margin:0 auto 26px;display:grid;place-items:center;background:var(--forest-2);box-shadow:inset 0 0 0 2px rgba(143,191,146,.5)}
.q .seal svg{width:40px;height:40px;color:var(--sage)}
.q blockquote{margin:0;font-size:16px;line-height:1.85}
.q cite{display:block;font-style:normal;color:var(--mist);margin-top:22px;font-size:15px}
.q cite a{color:var(--mist)}
.quotes-wrap{position:relative}
.quotes-wrap.overlap .quotes{padding-bottom:180px}
.overlap-card{position:relative;margin-top:-120px;z-index:2}

/* newsletter */
.news{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;background:linear-gradient(180deg,#fff 20%,var(--tile) 100%);overflow:hidden}
.news .txt{padding:80px 40px 80px 84px}
.news h2{font-size:34px;margin-bottom:28px}
.news p{font-size:15px;line-height:1.75;color:var(--ink)}
.nform{display:flex;gap:20px;margin-top:40px}
.nform input{flex:1;height:42px;border:0;border-radius:999px;background:var(--tile);padding:0 20px;font-size:13px;min-width:0}
.news .nform input{background:#f3eee9}
.nform .btn{height:42px;padding:0 42px}
.news .img{align-self:stretch;background:center/cover no-repeat;min-height:390px}
.form-note{font-size:13px;margin-top:12px;color:var(--green);min-height:1.3em}

/* blog cards */
.posts{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.post{border:1px solid var(--line);padding:20px 20px 28px;display:flex;flex-direction:column;background:#fff;transition:box-shadow .3s}
.post:hover{box-shadow:0 12px 30px rgba(0,0,0,.08)}
.post .ph{aspect-ratio:4/3;overflow:hidden;background:var(--tile)}
.post .ph img{width:100%;height:100%;object-fit:cover}
.post .meta{font-size:12px;color:var(--ink);margin:24px 0 10px;letter-spacing:.02em}
.post .meta span{margin-left:10px}
.post h3{font-size:19px;line-height:1.4;margin-bottom:18px}
.post h3 a{text-decoration:none}
.post .more{margin-top:auto;font:600 13px/1 var(--sans);color:var(--green);text-decoration:none;letter-spacing:.01em}
.post .more:hover{text-decoration:underline}

/* split banners */
.split{display:grid;grid-template-columns:1fr 1fr}
.split .banner{min-height:420px}
.split .banner h2{font-size:38px;margin-bottom:24px}

/* features bar */
.feats{color:#fff;padding:80px 0 86px}
.feats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.feat svg{width:46px;height:46px;margin:0 auto 22px;color:#fff;stroke-width:1.6}
.feat span{display:block;color:var(--mist);font-size:15px}

/* ---------- footer ---------- */
.foot{color:#fff}
.foot-main{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:40px;padding:120px 0 58px}
.foot .logo{color:#fff}
.foot .logo b{font-size:20px;line-height:1.2}
.foot .logo small{color:var(--sage)}
.foot address{font-style:normal;margin-top:38px;font-size:15px;line-height:1.85}
.foot address a{text-decoration:none}
.foot address a:hover{color:var(--sage)}
.foot h2{font:400 22px/1.3 var(--serif);color:#fff;margin:6px 0 30px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:12px}
.foot li a{font-size:14px;text-decoration:none;color:#fff}
.foot li a:hover{color:var(--sage)}
.foot-news{background:var(--forest-2) url(../img/paws.svg);background-size:420px;padding:32px 34px 34px;box-shadow:0 10px 30px rgba(0,0,0,.25);align-self:start}
.foot-news h2{margin:0 0 30px;font-size:21px}
.foot-news input{width:100%;height:42px;border:0;border-radius:999px;padding:0 18px;font-size:13px;color:var(--ink);background:#fff}
.foot-news .btn{width:100%;height:42px;margin-top:22px}
.foot-news .form-note{color:var(--sage)}
.foot-line{border-top:1px solid rgba(255,255,255,.18);padding:44px 0 50px;text-align:center}
.foot-line ul{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 28px}
.foot-line a{font-size:14px;color:var(--mist);text-decoration:none}
.foot-line a:hover,.foot-line a[aria-current="page"]{color:#fff}
.foot-legal{max-width:760px;margin:26px auto 0;font-size:13px;line-height:1.7;color:var(--mist)}
.foot-legal a{color:#fff}
.copy{background:#000;color:#e8e8e8;text-align:center;font-size:12px;padding:22px var(--gut);letter-spacing:.03em}

/* ---------- shop ---------- */
.shop-hero{background:var(--tile);padding:36px 0 0}
.shop-hero .banner{min-height:400px}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 42px}
.chip{border:0;background:var(--tile);color:var(--ink);border-radius:999px;padding:10px 18px;font:500 14px/1.2 var(--sans);cursor:pointer;min-height:40px}
.chip:hover{background:#efe9e3}
.chip[aria-pressed="true"]{background:var(--green);color:#fff}
.filters .sort{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:14px}
.filters select{height:40px;border:1px solid var(--line);border-radius:999px;padding:0 36px 0 16px;background:#fff;font-size:14px}
.count{font-size:14px;color:var(--muted);margin:-24px 0 32px}
.empty{padding:40px;text-align:center;background:var(--tile)}

/* ---------- product page ---------- */
.pd{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;padding:70px 0 90px}
.pd .gal{background:var(--tile);aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.pd .gal img{width:100%;height:100%;object-fit:cover}
.pd .price{font-size:26px;display:block;margin:6px 0 10px}
.pd h2.pname{font-size:34px;line-height:1.2}
.pd .short{font-size:16px;line-height:1.85;margin:24px 0 28px}
.pd .opts{margin-bottom:22px}
.pd .opts label{display:block;font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;color:var(--ink)}
.sizes{display:flex;flex-wrap:wrap;gap:8px}
.sizes input{position:absolute;opacity:0;pointer-events:none}
.sizes span{display:inline-grid;place-items:center;min-width:52px;height:42px;padding:0 14px;border:1px solid var(--line);border-radius:999px;font-size:14px;cursor:pointer}
.sizes input:checked+span{border-color:var(--green);background:var(--green);color:#fff}
.sizes input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
.qty{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:4px;height:50px;margin-bottom:16px}
.qty button{width:52px;border:0;background:#fff;font-size:18px;cursor:pointer}
.qty button:hover{background:var(--tile)}
.qty input{flex:1;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-size:16px;-moz-appearance:textfield;min-width:0}
.qty input::-webkit-inner-spin-button,.qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pd .btn-block{height:50px;font-size:15px}
.pd .cats-line{font-size:13px;margin-top:18px;color:var(--ink)}
.pd .cats-line a{color:var(--green)}
.notice{border:1px solid var(--warn-line);background:var(--warn-bg);color:var(--warn-ink);border-radius:6px;padding:14px 16px;font-size:14px;line-height:1.6;margin:18px 0 0}
.notice b{color:#3f2f00}
.notice.info{border-color:#b9cfbb;background:#f1f7f1;color:#23402a}
.notice.info b{color:var(--forest)}
.more-box{background:var(--tile);padding:56px 60px;margin:0 0 70px}
.more-box h2{margin-bottom:18px}
.more-box ul{margin:0;padding-left:20px}
.more-box li{margin-bottom:6px}
.tabs{border:1px solid var(--line);margin:60px 0 90px}
.tabs [role="tablist"]{display:flex;border-bottom:1px solid var(--line);margin-top:-1px}
.tabs [role="tab"]{border:0;border-right:1px solid var(--line);background:#fff;padding:14px 22px;font:500 14px/1 var(--sans);color:var(--ink);cursor:pointer;border-top:2px solid transparent}
.tabs [role="tab"][aria-selected="true"]{color:var(--green);border-top-color:var(--green)}
.tabs [role="tabpanel"]{padding:30px 36px 36px;font-size:15px}
.tabs table{border-collapse:collapse;width:100%;max-width:640px}
.tabs th,.tabs td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;font-size:14px}
.tabs th{font-weight:600;color:var(--ink)}
.related h2{font:400 22px/1.3 var(--serif);margin-bottom:26px}

/* ---------- prose pages ---------- */
.prose{max-width:820px;margin:0 auto}
.prose h2{font-size:32px;margin:56px 0 18px}
.prose h2:first-child{margin-top:0}
.prose h3{margin:34px 0 10px;font-size:20px;font-weight:600;color:var(--forest)}
.prose p,.prose li{font-size:17px;line-height:1.85}
.prose ul,.prose ol{padding-left:22px;margin:0 0 1.2em}
.prose li{margin-bottom:8px}
.prose a{color:var(--green)}
.prose blockquote{margin:26px 0;padding:22px 28px;background:var(--tile);border-left:3px solid var(--green);font-size:17px}
.prose blockquote cite{display:block;font-style:normal;font-size:14px;margin-top:10px;color:var(--muted)}
.prose .src{font-size:14px;color:var(--muted)}
.prose .lead{font-size:20px;line-height:1.7;color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;margin:20px 0 28px;font-size:15px}
.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}
.prose th{color:var(--forest);font-weight:600}
.toc{background:var(--tile);padding:26px 30px;margin:0 0 50px}
.toc b{display:block;font-family:var(--serif);font-weight:400;font-size:20px;color:var(--forest);margin-bottom:10px}
.toc ol{margin:0;padding-left:20px}
.toc a{color:var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:18px 0;font:500 18px/1.45 var(--sans);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;line-height:1;color:var(--green);flex:none}
.faq details[open] summary::after{content:"\2013"}
.faq details>div{padding:0 0 18px}
.article-meta{font-size:13px;color:#e6ece6;margin-top:16px}

/* about */
.about{display:grid;grid-template-columns:.8fr 1.6fr;gap:70px;align-items:center}
.about .cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:15px;line-height:1.8}
.about h2{font-size:28px;margin-bottom:28px;max-width:420px}
.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.promise img{aspect-ratio:4/3;object-fit:cover;width:100%}
.promise h3{margin:22px 0 10px;font-size:19px}
.promise p{font-size:15px;line-height:1.8}

/* contact */
.contact{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding:90px 0 110px}
.contact h2{font-size:28px;margin:22px 0 30px}
.contact .side{font-size:15px}
.contact .side a{color:var(--green)}
.field{margin-bottom:24px}
.field label,.field .lbl{display:block;font-size:14px;margin-bottom:8px;color:var(--ink)}
.field .req{color:var(--green)}
.field input,.field select,.field textarea{width:100%;border:1px solid transparent;border-radius:999px;background:var(--tile);height:46px;padding:0 20px;font-size:16px}
.field textarea{border-radius:22px;height:auto;min-height:130px;padding:14px 20px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#555 50%),linear-gradient(135deg,#555 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 17px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);outline:0;background:#fff}
.field .err{display:block;color:#a3261c;font-size:13px;margin-top:6px}
.field.bad input,.field.bad select,.field.bad textarea{border-color:#a3261c}
.field .hint{display:block;font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.6;margin:14px 0;color:var(--ink)}
.check input{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:var(--green)}
.check.bad{color:#a3261c}
.ok-box{background:#f1f7f1;border:1px solid #b9cfbb;padding:22px 24px;border-radius:6px;color:#23402a}

/* ---------- registry ---------- */
.reg{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:start;padding:80px 0 110px}
.reg fieldset{border:0;margin:0 0 34px;padding:0}
.reg legend{font:400 24px/1.3 var(--serif);color:var(--forest);margin-bottom:18px;padding:0}
.types{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.types label{position:relative;display:block;border:1.5px solid var(--line);border-radius:10px;padding:14px 16px 14px 46px;cursor:pointer;font-size:14px;line-height:1.45;color:var(--body)}
.types label b{display:block;font-size:15px;color:var(--ink);font-weight:600;margin-bottom:2px}
.types input{position:absolute;left:16px;top:17px;width:18px;height:18px;accent-color:var(--green)}
.types label:has(input:checked){border-color:var(--green);background:#f4f8f4}
.types.bad label{border-color:#e3a39d}
.reg-side{position:sticky;top:24px}
.reg-side h2{font-size:24px;margin-bottom:6px}
.reg-side .hint{font-size:13px;color:var(--muted);margin-bottom:20px}
.photo-drop{display:flex;align-items:center;gap:16px}
.photo-drop .pv{width:64px;height:64px;border-radius:50%;background:var(--tile) center/cover;flex:none;display:grid;place-items:center;color:var(--muted)}
.photo-drop .pv svg{width:26px;height:26px}
.photo-drop input[type=file]{font-size:14px;max-width:100%}
.flip{display:flex;gap:8px;margin:16px 0 0}
.done{text-align:left}
.done h2{margin-bottom:10px}
.regno{display:inline-block;font:600 20px/1 ui-monospace,Menlo,Consolas,monospace;background:var(--tile);padding:10px 14px;border-radius:6px;letter-spacing:.06em;color:var(--forest)}
.lookup-form{display:flex;gap:14px;max-width:560px;margin:0 auto}
.lookup-form input{flex:1;height:50px;border-radius:999px;border:1px solid var(--line);padding:0 22px;font:500 17px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;text-transform:uppercase;min-width:0}
.lookup-form .btn{height:50px}
.record{max-width:820px;margin:44px auto 0;display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:start;border:1px solid var(--line);padding:30px}
.record dl{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:0;font-size:15px}
.record dt{color:var(--muted)}
.record dd{margin:0;color:var(--ink);font-weight:500}
.pill{display:inline-block;border-radius:999px;padding:3px 12px;font:600 12px/1.6 var(--sans);letter-spacing:.04em;background:#e6f0e6;color:#23402a}
.pill.amber{background:#fbeec4;color:#5a4300}

/* the ID card: one template (dsite.idcard_html) used by the registry preview, lookup and product renders.
   Every size is in cqw (percent of the card's own width), so the card scales as one piece at any width.
   Looks like a credential, deliberately NOT like a government document: our own paw seal, no eagle, flag or state seal
   (FTC Impersonation Rule, 16 CFR 461.2), and "Not a government ID." on both sides. */
.idcard{--c:#b3261e;--c2:#7d1a14;container-type:inline-size;width:340px;max-width:100%;aspect-ratio:85.6/54;border-radius:4.2%/6.66%;position:relative;overflow:hidden;
  font-family:var(--sans);color:#16181a;letter-spacing:0;background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.07)}
.idcard>*{position:relative}
.idcard .gl{position:absolute;inset:0;background:
   radial-gradient(circle at 78% 60%,rgba(255,255,255,0) 0,rgba(255,255,255,0) 26%,#fff 60%),
   repeating-radial-gradient(circle at 78% 60%,color-mix(in srgb,var(--c) 9%,#fff) 0 .5cqw,#fff .5cqw 1.25cqw)}
.idcard .band{height:15cqw;background:linear-gradient(100deg,var(--c) 0%,var(--c2) 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4cqw;gap:2cqw}
.idcard .brand{display:flex;align-items:center;gap:2cqw;min-width:0}
.idcard .brand svg{width:8.6cqw;height:8.6cqw;flex:none}
.idcard .brand b{display:block;font:800 3.5cqw/1 var(--sans);letter-spacing:.02em;text-transform:uppercase}
.idcard .brand small{display:block;font:700 1.95cqw/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;opacity:.9;margin-top:.9cqw}
.idcard .role{font:800 4.3cqw/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;text-align:right;white-space:nowrap}
.idcard .body{display:flex;gap:3.8cqw;padding:3.4cqw 4cqw 0}
.idcard .ph{width:26cqw;height:31cqw;border-radius:2cqw;background:#ece7e1 center/cover;flex:none;display:grid;place-items:center;color:#9a948c;box-shadow:0 0 0 .6cqw #fff,0 0 0 .9cqw color-mix(in srgb,var(--c) 45%,#fff)}
.idcard .ph svg{width:40%;height:40%}
.idcard .info{min-width:0;flex:1}
.idcard .lbl{display:block;font:700 1.85cqw/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#6a6f6a;margin-bottom:.8cqw}
.idcard .dn{font:400 6.6cqw/1.32 var(--serif);color:var(--forest);margin:-.6cqw 0 1.2cqw;padding-bottom:.3cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idcard .g2{display:grid;grid-template-columns:1fr 1fr;gap:2cqw 3cqw;margin-bottom:2cqw}
.idcard .v{display:block;font:600 2.85cqw/1.2 var(--sans);color:#16181a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idcard .no{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em}
.idcard>.seal{position:absolute;right:2.6cqw;bottom:10.6cqw;width:11.5cqw;height:11.5cqw;border-radius:50%;display:grid;place-items:center;opacity:.92;
  background:conic-gradient(from 20deg,#e9d8a6,#b9e3d1,#c8c6ef,#f0c6d7,#e9d8a6);box-shadow:inset 0 0 0 .5cqw rgba(255,255,255,.75),0 .4cqw 1cqw rgba(0,0,0,.15)}
.idcard .seal svg{width:72%;height:72%}
.idcard>.foot{position:absolute;left:0;right:0;bottom:0;height:8.4cqw;display:flex;align-items:center;justify-content:space-between;padding:0 4cqw;background:#f4f1ec;border-top:.3cqw solid color-mix(in srgb,var(--c) 30%,#fff)}
.idcard .foot span{font:700 2.3cqw/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#3b3f3b}
.idcard .bars{display:block;width:30cqw;height:5cqw}
.idcard .bars svg{display:block;width:100%;height:100%}
.idcard.back .band{height:12cqw}
.idcard.back .bk{padding:3cqw 4cqw 0;font-size:2.55cqw;line-height:1.45;color:#2b2e2b}
.idcard.back .bk b{display:block;font:800 2.35cqw/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--c2);margin-bottom:.6cqw}
.idcard.back .bk p{margin:0 0 2cqw}
.idcard[data-type="esa"]{--c:#1d4fa8;--c2:#123574}
.idcard[data-type="training"]{--c:#2e6b34;--c2:#1d4722}
.idcard[data-type="therapy"]{--c:#6b3f8f;--c2:#4a2a64}
.idcard[data-type="space"]{--c:#e0ad00;--c2:#b88a00}

/* ---------- cart + checkout ---------- */
.cart-tbl{width:100%;border-collapse:collapse}
.cart-tbl th{font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);color:var(--ink)}
.cart-tbl td{padding:18px 10px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:15px}
.cart-tbl .it{display:flex;align-items:center;gap:16px}
.cart-tbl img{width:78px;height:78px;background:var(--tile);object-fit:cover;flex:none}
.cart-tbl .it a{text-decoration:none;color:var(--ink);font-weight:500}
.cart-tbl .it small{display:block;color:var(--muted);font-size:13px}
.cart-tbl .qty{height:40px;width:120px;margin:0}
.cart-tbl .qty button{width:36px}
.rm{border:0;background:none;color:var(--muted);cursor:pointer;width:40px;height:40px;border-radius:50%;font-size:20px}
.rm:hover{background:var(--tile);color:#a3261c}
.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:50px;align-items:start;padding:80px 0 110px}
.totals{background:var(--tile);padding:30px}
.totals h2{font-size:24px;margin-bottom:18px}
.totals dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0 0 22px;font-size:15px}
.totals dd{margin:0;text-align:right}
.totals .grand{font-weight:600;color:var(--ink);font-size:17px;border-top:1px solid #e4ddd5;padding-top:12px}
.totals .ship-note{font-size:13px;color:var(--muted);margin:-8px 0 18px}
.summary-li{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:8px 0;border-bottom:1px solid #e9e2da}
.summary-li span:first-child{color:var(--ink)}
.co{display:grid;grid-template-columns:1fr 420px;gap:50px;align-items:start;padding:80px 0 110px}
.co h2{font-size:26px;margin:0 0 22px}
.co h2.gap{margin-top:30px}

/* toast */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);opacity:0;background:var(--forest);color:#fff;padding:13px 22px;border-radius:999px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:.25s;z-index:300;display:flex;gap:14px;align-items:center;max-width:calc(100vw - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast a{color:var(--sage);font-weight:600}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important;transition:none!important}}

/* ---------- responsive ---------- */
@media (max-width:1240px){
  .burger{display:inline-grid}
  .s-toggle,.acct{display:none}
  .hdr-icons{margin-left:auto}
  .hdr-top .wrap{min-height:76px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 18px 30px rgba(0,0,0,.14);max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;padding:14px var(--gut) 20px;flex-direction:column}
  .nav.open{display:flex}
  .nav>ul{flex-direction:column;gap:0;padding:6px 0 14px}
  .nav a.nl,.nav button.nl{padding:13px 0;font-size:16px;width:100%;justify-content:space-between;border-bottom:1px solid #f0f0f0;border-radius:0}
  .nav .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 6px 14px;display:none}
  .nav .sub::before{display:none}
  .nav li.open>.sub{display:block}
  .nav .sub a{padding:10px 0;font-size:15px}
  .nav .m-search{display:block;max-width:none;margin:0 0 6px}
  .nav .m-cta{display:flex;margin-top:6px}
  .spanel{display:none}
  .grid{grid-template-columns:repeat(3,1fr)}
  .posts{grid-template-columns:repeat(2,1fr)}
  .foot-main{grid-template-columns:1fr 1fr}
  .about{grid-template-columns:1fr 1.4fr;gap:44px}
}
@media (max-width:1040px){
  :root{--gut:24px}
  .hero{min-height:500px}
  .hero h1{font-size:40px}
  .cats{grid-template-columns:repeat(2,1fr);gap:28px}
  .lines{grid-template-columns:1fr;gap:15px}
  .line{min-height:0;padding:50px 30px}
  .line img{margin:34px 0 26px;max-width:260px}
  .grid,.grid.g3{grid-template-columns:repeat(2,1fr);gap:34px 24px}
  .qgrid{grid-template-columns:1fr;gap:50px}
  .news{grid-template-columns:1fr}
  .news .txt{padding:56px 40px}
  .news .img{min-height:260px}
  .split{grid-template-columns:1fr}
  .feats .wrap{grid-template-columns:repeat(2,1fr);row-gap:50px}
  .pd,.reg,.cart-layout,.co,.contact{grid-template-columns:1fr;gap:44px}
  .reg-side{position:static}
  .about{grid-template-columns:1fr}
  .about .img{max-width:420px}
  .promise{grid-template-columns:1fr 1fr}
  .sec{padding:90px 0}
  .banner h2{font-size:38px}
}
@media (max-width:700px){
  body{font-size:16px}
  h2{font-size:29px}
  .logo b{font-size:19px}
  .logo svg{width:40px;height:40px}
  .logo{gap:9px}
  .hdr-top .wrap{gap:8px;min-height:68px}
  .hdr-icons{gap:0}
  .hdr-cta{margin-left:4px;padding:10px 16px;font-size:13.5px}
  .hdr-cta .l{display:none}.hdr-cta .s{display:inline}
  .nav{max-height:calc(100dvh - 68px)}
  .hero{min-height:0}
  .hero::before{background:linear-gradient(0deg,rgba(14,22,15,.8) 0%,rgba(14,22,15,.55) 60%,rgba(14,22,15,.35) 100%)}
  .hero .wrap{padding-top:120px;padding-bottom:60px}
  .hero h1{font-size:33px;margin-bottom:28px}
  .hero p.lede{font-size:16px;margin-top:-10px}
  .eyebrow{font-size:11px;margin-bottom:18px}
  .promo .wrap{flex-direction:column;gap:14px;text-align:center;padding-top:30px;padding-bottom:34px}
  .promo img{width:150px;margin:0}
  .promo p,.promo a{font-size:17px}
  .sec{padding:70px 0}
  .sec-head{margin-bottom:40px}
  .cats{gap:18px}
  .cat .nm{font-size:16px;margin-top:12px}
  .row-head{flex-direction:column;align-items:flex-start}
  .grid,.grid.g3{gap:30px 16px}
  .card h3{font-size:15px;margin-top:14px}
  .price{font-size:14px}
  .off{display:none}
  .badge{width:40px;height:40px;font-size:11px;top:10px;left:10px}
  .card .quick{display:none}
  .banner{min-height:380px}
  .banner h2,.split .banner h2{font-size:31px}
  .split .banner{min-height:340px}
  .posts{grid-template-columns:1fr;gap:28px}
  .news .txt{padding:44px 24px}
  .news h2{font-size:28px}
  .nform{flex-direction:column;gap:12px}
  .feats .wrap{grid-template-columns:1fr 1fr;gap:40px 16px}
  .feat svg{width:38px;height:38px;margin-bottom:14px}
  .feat span{font-size:14px}
  .foot-main{grid-template-columns:1fr;padding-top:70px;gap:36px}
  .phero{padding:80px 20px}
  .phero h1{font-size:36px}
  .pd{padding:40px 0 60px}
  .more-box{padding:34px 24px}
  .tabs [role="tabpanel"]{padding:22px 18px}
  .two{grid-template-columns:1fr}
  .types{grid-template-columns:1fr}
  .promise{grid-template-columns:1fr}
  .about .cols{grid-template-columns:1fr;gap:0}
  .filters .sort{margin-left:0;width:100%}
  .filters .sort select{flex:1}
  .cart-tbl thead{display:none}
  .cart-tbl tr{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px 0;border-bottom:1px solid var(--line)}
  .cart-tbl td{border:0;padding:0}
  .cart-tbl td.it-c{grid-column:1/-1}
  .cart-tbl td.pr-c{display:none}
  .record{grid-template-columns:1fr;padding:22px}
  .lookup-form{flex-direction:column}
  .toast{bottom:16px}
  .prose h2{font-size:27px}
  .prose p,.prose li{font-size:16px}
  .faq summary{font-size:16px}
}
@media (max-width:380px){
  .logo small{display:none}
  .logo b{font-size:17px}
  .logo svg{width:36px;height:36px}
  .hdr-cta{padding:9px 12px}
  .grid,.grid.g3{grid-template-columns:1fr 1fr;gap:26px 12px}
  .cats{grid-template-columns:1fr 1fr}
  .hero h1{font-size:29px}
}
/* California HSC 122317(c): the ESA notice must be at least 12-point (16px) bold */
.notice.ca p{margin:0 0 8px}
.notice.ca p:last-child{margin:0}
.notice.ca .ca-t{font-size:13px;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.notice.ca .ca-b{font-size:16px;font-weight:700;line-height:1.55;color:#3f2f00}
/* v2 fixes */
.reg-side .idcard,.done [data-done-card] .idcard{width:100%;max-width:440px}
.field input[type=file]{height:auto;background:none;border:0;border-radius:0;padding:0;font-size:14px}
.record{grid-template-columns:minmax(0,340px) 1fr}
.record dl{grid-template-columns:max-content 1fr}
.idcard .brand b{white-space:nowrap}
.idcard.back .role{font-size:3.4cqw;letter-spacing:.05em}
.promo .btn-w{color:var(--ink);text-decoration:none;font-size:14px}
.promo .btn-w:hover{color:var(--ink)}

/* ---------- guide (SEO content) pages ---------- */
.phero.gh{padding:70px 30px 64px}
.phero.gh h1{font-size:46px;max-width:980px;margin:12px auto 0}
.phero.gh .crumbs{margin:0}
.guide{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px;padding:60px 0 90px;align-items:start}
.guide .prose{max-width:none;margin:0}
.short{background:#f1f7f1;border-left:4px solid var(--green);padding:20px 24px;margin:0 0 36px;font-size:17px;line-height:1.75;color:var(--ink)}
.short b{display:block;font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:10px}
.short p:last-child{margin:0}
.guide-side{position:sticky;top:24px;display:grid;gap:22px}
.facts{background:var(--tile);padding:22px 24px}
.facts>b{display:block;font:400 20px/1.3 var(--serif);color:var(--forest);margin-bottom:12px}
.facts dl{margin:0;display:grid;gap:10px}
.facts dt{font:600 11.5px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:2px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink)}
.facts a{color:var(--green)}
.rel-guides{border:1px solid var(--line);padding:22px 24px}
.rel-guides h2{font:400 20px/1.3 var(--serif);margin:0 0 12px}
.rel-guides ul{list-style:none;margin:0;padding:0}
.rel-guides li{padding:8px 0;border-top:1px solid #f0ece7;font-size:14.5px;line-height:1.45}
.rel-guides li:first-child{border-top:0}
.rel-guides a{color:var(--ink);text-decoration:none}
.rel-guides a:hover{color:var(--green);text-decoration:underline}
.cta-box{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--forest) url(../img/paws.svg);background-size:420px;color:#fff;padding:26px 30px;margin:40px 0}
.cta-box b{display:block;font:400 22px/1.3 var(--serif);color:#fff;margin-bottom:4px}
.cta-box p{margin:0;font-size:15px;color:var(--mist);line-height:1.6}
.cta-box .btn{flex:none}
.prose .cta-box a.btn{color:#fff}
.srcs{font-size:14px;line-height:1.6;padding-left:20px}
.srcs li{margin-bottom:6px;word-break:break-word}
.tbl-wrap{overflow-x:auto;margin:20px 0 28px;-webkit-overflow-scrolling:touch}
.tbl-wrap table{margin:0;min-width:560px}
.prose td .yes{color:#1b6b2b;font-weight:600}.prose td .no{color:#a3261c;font-weight:600}
.hub-intro{max-width:820px;font-size:19px;line-height:1.7;margin:0 0 40px;color:var(--ink)}
.hub-g{margin:0 0 46px}
.hub-g h2{font-size:28px;margin:0 0 18px}
.hub-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.hub-list a{display:block;height:100%;border:1px solid var(--line);padding:18px 20px;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.hub-list a:hover{border-color:var(--green);box-shadow:0 8px 22px rgba(0,0,0,.06)}
.hub-list b{display:block;font:600 16px/1.35 var(--sans);color:var(--forest);margin-bottom:6px}
.hub-list span{display:block;font-size:14px;line-height:1.55;color:var(--muted)}
@media (max-width:1040px){.guide{grid-template-columns:minmax(0,1fr);gap:30px}.guide-side{position:static}}
@media (max-width:700px){.phero.gh{padding:50px 20px 44px}.phero.gh h1{font-size:31px}.cta-box{flex-direction:column;align-items:flex-start;padding:22px}.short{padding:16px 18px;font-size:16px}.hub-list{grid-template-columns:1fr}}

/* card v3 (2026-09-25): ink follows the chosen bar color, the state watermark sits in the white area,
   the back carries a QR code to for-businesses.html */
.idcard[data-ink="light"] .band{color:#fff}
.idcard[data-ink="dark"] .band{color:#1b1b1b}
.idcard>.stwm{position:absolute;right:3cqw;top:17cqw;width:23cqw;height:21cqw;opacity:.12;pointer-events:none}
.idcard .stwm:empty{display:none}
.idcard .stwm svg{display:block;width:100%;height:100%}
.idcard .stwm path{fill:var(--c)}
.idcard.back .bk2{display:grid;grid-template-columns:1fr 21cqw;gap:3cqw;padding:2.6cqw 4cqw 0;align-items:start}
.idcard.back .bk{padding:0;font-size:2.3cqw;line-height:1.42}
.idcard.back .bk p{margin:0 0 1.6cqw}
.idcard .qrbox{display:flex;flex-direction:column;align-items:center;gap:.9cqw}
.idcard .qr{display:block;width:21cqw;height:21cqw;background:#fff;padding:1cqw;border-radius:1cqw;box-shadow:0 0 0 .3cqw color-mix(in srgb,var(--c) 35%,#fff)}
.idcard .qr svg{display:block;width:100%;height:100%}
.idcard .qrbox span{font:700 1.75cqw/1.1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#3b3f3b;text-align:center}
.biz .big-ol{font-size:20px;line-height:1.55;padding-left:26px}
.biz .big-ol li{margin-bottom:10px;color:var(--ink);font-weight:500}
.scanned{border:1px solid var(--line);padding:18px 20px;margin:0 0 28px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:15px}
.scanned b{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em}
.notice.ca .ca-l{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin:12px 0 4px}
.prose table:not(.tbl-wrap table){display:block;overflow-x:auto;max-width:100%}
