@font-face{font-family:"Young Serif";font-weight:400;font-display:swap;src:url(../fonts/young-serif-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:400;font-display:swap;src:url(../fonts/instrument-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/instrument-sans-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:600;font-display:swap;src:url(../fonts/instrument-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Courier Prime";font-weight:400;font-display:swap;src:url(../fonts/courier-prime-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Courier Prime";font-weight:700;font-display:swap;src:url(../fonts/courier-prime-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Caveat";font-weight:500;font-display:swap;src:url(../fonts/caveat-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Caveat";font-weight:700;font-display:swap;src:url(../fonts/caveat-latin-700-normal.woff2) format("woff2")}

/* Beckalyn · Home & Garden */
:root{
  --cream:#f5f0e4;
  --cream-2:#ebe3cf;
  --card:#fffcf4;
  --ink:#1d2420;
  --ink-2:#4b544e;
  --muted:#7f877f;
  --line:#d6ccb4;
  --green:#21402f;
  --green-2:#2f5a42;
  --moss:#7d9a5b;
  --brick:#a3412b;
  --kraft:#c9a46a;
  --tape:#efe1b4;
  --lcd:#b7c9a0;
  --serif:"Young Serif",Georgia,serif;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --type:"Courier Prime","Courier New",monospace;
  --hand:"Caveat","Segoe Print","Comic Sans MS",cursive;
  --g:20px;
}
@media(min-width:768px){:root{--g:36px}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--brick);outline-offset:3px}
.w{max-width:1180px;margin:0 auto;padding:0 var(--g)}
.c{max-width:700px;margin:0 auto;padding:0 var(--g)}
figure{margin:0}
figcaption{font:400 13px/1.5 var(--type);color:var(--muted);margin-top:8px}

/* header */
.adv{background:var(--green);color:#dfe8df;text-align:center;font:400 12px/1.3 var(--type);letter-spacing:.08em;padding:8px 14px;text-transform:uppercase}
.mh{border-bottom:1px solid var(--line)}
.mh .w{display:flex;align-items:center;gap:20px;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand svg{width:36px;height:36px;flex:none}
.brand b{font:400 25px/1 var(--serif)}
.brand small{display:block;font:400 12px/1.2 var(--type);color:var(--muted);margin-top:3px}
.mh nav{margin-left:auto;display:flex;gap:22px}
.mh nav a{font:600 15px var(--sans);text-decoration:none;color:var(--ink-2)}
.mh nav a:hover{color:var(--brick)}
.mh .go{font:600 15px/1 var(--sans);background:var(--green);color:#fff;text-decoration:none;padding:12px 18px;border-radius:6px;white-space:nowrap}
.mh .go:hover{background:var(--green-2)}
@media(max-width:960px){.mh nav{display:none}.mh .go{margin-left:auto}}
@media(max-width:420px){.brand small{display:none}.brand b{font-size:21px}.mh .go{padding:10px 12px;font-size:14px}}

/* hero */
.hero{padding:38px 0 0}
.hero-g{display:grid;gap:30px}
@media(min-width:1000px){.hero-g{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:50px;align-items:center}}
.kick{font:700 13px var(--type);letter-spacing:.08em;text-transform:uppercase;color:var(--brick);margin:0 0 14px}
.hero h1{font:400 clamp(34px,4.6vw,58px)/1.08 var(--serif);letter-spacing:-.01em;margin:0 0 18px;text-wrap:balance}
.dek{font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:var(--ink-2);margin:0 0 18px}
.by{display:flex;gap:12px;align-items:center;font:400 14px/1.45 var(--type);color:var(--muted)}
.by i{width:40px;height:40px;border-radius:50%;background:var(--moss);color:#fff;display:flex;align-items:center;justify-content:center;font:400 18px var(--serif);font-style:normal;flex:none}
.photo{position:relative;background:#fff;padding:12px 12px 46px;box-shadow:0 18px 40px rgba(29,36,32,.18);transform:rotate(-1.2deg)}
@media(max-width:999px){.photo{order:-1;transform:none;padding:8px 8px 40px}}
.photo img{width:100%;aspect-ratio:16/9;object-fit:cover}
.photo .tp{position:absolute;top:-14px;left:50%;width:120px;height:30px;margin-left:-60px;background:var(--tape);opacity:.85;transform:rotate(3deg);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.photo .hw{position:absolute;left:18px;right:18px;bottom:8px;font:500 24px/1 var(--hand);color:#3a3a3a;display:flex;justify-content:space-between}
.photo .hw small{font:400 12px var(--type);color:var(--muted);align-self:center}
.where{display:flex;flex-wrap:wrap;gap:10px 24px;margin:34px 0 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:400 14px/1.4 var(--type);color:var(--ink-2)}
.where b{color:var(--ink)}
.advnote{font-size:14px;line-height:1.6;color:var(--ink-2);background:var(--card);border:1px solid var(--line);padding:14px 16px;margin:26px 0 0}
.advnote b{color:var(--ink)}

/* article */
.ch{padding-top:68px}
.chn{font:700 13px var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--brick);margin:0 0 10px;display:flex;align-items:center;gap:10px}
.chn:before{content:"";width:28px;height:2px;background:var(--brick)}
h2{font:400 clamp(28px,3.4vw,40px)/1.15 var(--serif);margin:0 0 18px;text-wrap:balance}
h3{font:400 23px/1.25 var(--serif);margin:0 0 8px}
article p{margin:0 0 20px}
.lede{font-size:1.1em}
.fig{margin:30px 0}
.fig img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px}
.fig.big{margin-left:calc(var(--g) * -1);margin-right:calc(var(--g) * -1)}
@media(min-width:960px){.fig.big{margin-left:-140px;margin-right:-140px}}
.fig.big img{border-radius:0}
.pq{margin:34px 0;font:400 clamp(23px,2.7vw,30px)/1.35 var(--serif);color:var(--green);padding-left:22px;border-left:3px solid var(--moss)}
.pq cite{display:block;font:400 13px var(--type);color:var(--muted);margin-top:10px;font-style:normal}

/* signature 1: detector sweep */
.sweep{background:var(--green);color:#e6eee4;border-radius:10px;padding:20px;margin:30px 0}
@media(max-width:620px){.sweep{margin-left:calc(var(--g) * -1);margin-right:calc(var(--g) * -1);border-radius:0}}
.sw-h{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px}
.sw-h h3{color:#fff;margin:0}
.sw-h span{font:400 13px var(--type);color:#a9c0ad}
.sw-g{display:grid;gap:16px}
@media(min-width:640px){.sw-g{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center}}
.lawn{position:relative;border-radius:8px;overflow:hidden}
.lawn svg{display:block;width:100%;height:auto}
.lawn .coil{transition:transform .08s linear}
.lcdbox{background:#2b2f2a;border-radius:12px;padding:12px;box-shadow:inset 0 0 0 2px #3c423b}
.lcd{background:var(--lcd);color:#1f2a1c;border-radius:6px;padding:12px 14px;font:700 14px/1.3 var(--type);box-shadow:inset 0 2px 6px rgba(0,0,0,.25)}
.lcd .id{display:flex;justify-content:space-between;align-items:baseline}
.lcd .id b{font:700 44px/1 var(--type)}
.lcd .bars{display:flex;gap:3px;height:22px;align-items:flex-end;margin:10px 0 6px}
.lcd .bars i{flex:1;background:#1f2a1c;opacity:.15;height:30%}
.lcd .bars i.on{opacity:.9}
.lcd .d{display:flex;justify-content:space-between;font-size:13px}
.sw-ctl{margin-top:14px;display:flex;gap:12px;align-items:center;font:400 13px var(--type);color:#a9c0ad}
.sw-ctl input{flex:1;accent-color:var(--kraft);height:28px}
.sw-out{font-size:15px;line-height:1.5;margin:10px 0 0;color:#e6eee4;min-height:46px}

/* tape + decision */
.decide{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:22px;margin:30px 0;text-align:center}
.tin{width:min(320px,100%);margin:0 auto 18px;aspect-ratio:16/10;background:linear-gradient(160deg,#9a3a2a,#6e2a1f 70%,#4f2219);border-radius:10px;position:relative;box-shadow:inset 0 0 0 6px rgba(0,0,0,.12),0 10px 24px rgba(0,0,0,.2)}
.tin:before{content:"";position:absolute;inset:0;border-radius:10px;background:radial-gradient(circle at 20% 80%,rgba(140,90,40,.6) 0 12%,transparent 13%),radial-gradient(circle at 75% 25%,rgba(120,80,40,.5) 0 9%,transparent 10%),radial-gradient(circle at 60% 85%,rgba(90,60,30,.6) 0 7%,transparent 8%)}
.tape{position:absolute;left:-6%;right:-6%;top:40%;height:26%;background:var(--tape);transform:rotate(-3deg);display:flex;align-items:center;justify-content:center;font:700 clamp(24px,5vw,34px)/1 var(--hand);color:#1a1a1a;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .6s ease,opacity .6s}
.decide.open .tape{transform:rotate(-14deg) translate(40%,-60%);opacity:.0}
.decide p.q{font:400 22px/1.3 var(--serif);margin:0 0 14px}
.choice{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.choice button{font:600 16px var(--sans);padding:12px 22px;border-radius:6px;border:2px solid var(--green);background:#fff;color:var(--green);cursor:pointer}
.choice button:hover{background:var(--cream)}
.choice button.y{background:var(--green);color:#fff}
.dec-out{font-size:16px;color:var(--ink-2);margin:14px 0 0;min-height:24px}

/* inventory card */
.inv{background:#fff;border:1px solid var(--line);margin:30px 0;box-shadow:0 8px 20px rgba(0,0,0,.06);background-image:linear-gradient(transparent 31px,#cfe0ef 32px);background-size:100% 32px;padding:46px 22px 18px;position:relative}
.inv:before{content:"";position:absolute;left:42px;top:0;bottom:0;width:1px;background:#e9a2a2}
.inv h3{position:absolute;top:10px;left:56px;margin:0;font:700 14px/1 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--brick)}
.inv ol{margin:0;padding:0 0 0 34px;list-style:none;counter-reset:i}
.inv li{counter-increment:i;font:400 17px/32px var(--type);opacity:0;transform:translateX(-6px);transition:opacity .4s,transform .4s}
.inv li:before{content:counter(i) ". ";color:var(--muted)}
.inv.in li{opacity:1;transform:none}
.inv.in li:nth-child(2){transition-delay:.25s}.inv.in li:nth-child(3){transition-delay:.5s}.inv.in li:nth-child(4){transition-delay:.75s}.inv.in li:nth-child(5){transition-delay:1s}.inv.in li:nth-child(6){transition-delay:1.25s}

/* child's note */
.note{background:#fbf6e6;padding:26px 26px 22px;margin:30px auto;max-width:520px;transform:rotate(.8deg);box-shadow:0 10px 26px rgba(0,0,0,.12);position:relative;background-image:linear-gradient(transparent 35px,#d9cfb4 36px);background-size:100% 36px}
.note:after{content:"";position:absolute;top:-12px;right:40px;width:90px;height:24px;background:var(--tape);opacity:.85;transform:rotate(-6deg)}
.note p{font:500 27px/36px var(--hand);color:#28324a;margin:0}
.note-c{text-align:center;font:400 13px var(--type);color:var(--muted);margin-top:-12px}

/* timeline */
.tl{list-style:none;margin:30px 0;padding:0;position:relative}
.tl:before{content:"";position:absolute;left:62px;top:6px;bottom:6px;width:2px;background:var(--kraft)}
.tl li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:40px;padding:0 0 18px;position:relative}
.tl li:after{content:"";position:absolute;left:56px;top:7px;width:14px;height:14px;border-radius:50%;background:var(--cream);border:3px solid var(--brick)}
.tl b{font:700 16px/1.5 var(--type);color:var(--brick);text-align:right}
.tl span{font-size:16px;line-height:1.5;color:var(--ink-2)}

/* group thread */
.thread{background:#fff;border:1px solid var(--line);border-radius:10px;margin:30px 0;overflow:hidden}
.th-h{background:var(--cream-2);padding:12px 16px;display:flex;gap:12px;align-items:center}
.th-h i{width:38px;height:38px;border-radius:8px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font:700 12px var(--type);font-style:normal}
.th-h b{display:block;font:600 15px var(--sans)}
.th-h span{font:400 12px var(--type);color:var(--muted)}
.cm{padding:12px 16px;border-top:1px solid var(--cream-2);font-size:15px;line-height:1.5}
.cm b{font-weight:600;margin-right:6px}
.cm small{display:block;font:400 12px var(--type);color:var(--muted);margin-top:2px}
.cm.key{background:#f3f7ef;border-left:4px solid var(--moss)}
.th-f{font:400 12px var(--type);color:var(--muted);margin:-18px 0 0}

/* product */
.prod{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:76px;padding:56px 0}
.prod-g{display:grid;gap:30px}
@media(min-width:960px){.prod-g{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:54px;align-items:center}}
.gal{background:#f2f2f0;border-radius:10px;padding:16px}
.gal .main{width:100%;aspect-ratio:1/1;object-fit:contain}
.thumbs{display:flex;gap:8px;margin-top:10px}
.thumbs button{all:unset;cursor:pointer;width:66px;height:66px;border-radius:6px;border:2px solid transparent;background:#fff}
.thumbs button[aria-current=true]{border-color:var(--green)}
.thumbs button:focus-visible{outline:3px solid var(--brick)}
.thumbs img{width:100%;height:100%;object-fit:contain}
.prod .kick{margin-bottom:8px}
.prod p{color:var(--ink-2);font-size:17px}
.spec{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.spec div{background:var(--cream);border-radius:6px;padding:12px 14px;font-size:13px;line-height:1.4;color:var(--ink-2)}
.spec b{display:block;font:700 17px/1.25 var(--type);color:var(--ink)}
.price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 6px}
.price b{font:400 44px/1 var(--serif);color:var(--green)}
.price span{font:400 14px var(--type);color:var(--ink-2)}
.perks{list-style:none;padding:0;margin:12px 0 22px;display:grid;gap:6px;font-size:16px;color:var(--ink-2)}
.perks li{padding-left:26px;position:relative}
.perks li:before{content:"";position:absolute;left:2px;top:8px;width:12px;height:7px;border-left:2px solid var(--moss);border-bottom:2px solid var(--moss);transform:rotate(-45deg)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 18px/1.2 var(--sans);background:var(--brick);color:#fff;text-decoration:none;padding:17px 28px;border-radius:6px;transition:background-color .15s}
.btn:hover{background:#8a3522}
.btn svg{width:18px;height:18px}
.fine{font:400 12px/1.55 var(--type);color:var(--muted);margin-top:12px}

/* law box */
.law{background:var(--cream-2);border-radius:8px;padding:18px 20px;margin:30px 0}
.law p{font-size:16px;color:var(--ink-2);margin:0 0 10px}
.law p:last-child{margin:0}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font:600 18px/1.4 var(--sans)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font:400 26px/1 var(--serif);color:var(--brick)}
.faq details[open] summary:after{content:"−"}
.faq details p{margin:10px 0 0;font-size:16px;color:var(--ink-2)}
.srcs{font:400 12px/1.6 var(--type);color:var(--muted);margin-top:28px}

/* sticky */
.stk{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--green);color:#fff;display:flex;align-items:center;gap:12px;padding:10px var(--g);transform:translateY(110%);transition:transform .3s}
.stk.on{transform:none}
.stk .t{flex:1;min-width:0;font-size:13px;line-height:1.3;color:#cfdccf}
.stk .t b{display:block;color:#fff;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stk .btn{padding:12px 18px;font-size:15px}

/* legal */
.legal{max-width:820px;margin:0 auto;padding:44px var(--g) 30px}
.legal h1{font:400 clamp(32px,5vw,50px)/1.1 var(--serif);margin:0 0 12px;overflow-wrap:break-word}
.legal .lead{color:var(--ink-2);border-bottom:1px solid var(--line);padding-bottom:20px;margin:0 0 10px}
.legal h2{font:400 24px/1.25 var(--serif);margin:28px 0 8px}
.legal p,.legal li{font-size:17px;color:var(--ink-2)}
.legal address{font-style:normal;font-size:17px;color:var(--ink-2)}

/* footer */
.foot{background:var(--green);color:#c6d3c7;font-size:14px;line-height:1.6;padding:46px 0 100px;margin-top:70px}
.foot .w{display:grid;gap:24px}
@media(min-width:900px){.foot .w{grid-template-columns:1.3fr 1fr 1fr}}
.foot b{display:block;color:#fff;font:700 13px var(--type);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.foot a{color:#fff}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.foot address{font-style:normal}
.foot .lnk{all:unset;cursor:pointer;color:#fff;text-decoration:underline}
.foot .copy{grid-column:1/-1;border-top:1px solid #355a46;padding-top:16px;font-size:12px}

/* consent */
.cc{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;max-width:560px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;box-shadow:0 14px 34px rgba(0,0,0,.25);display:none}
.cc.show{display:block}
.cc b{font:400 20px var(--serif);display:block;margin-bottom:6px}
.cc p{font-size:15px;line-height:1.5;margin:0 0 14px;color:var(--ink-2)}
.cc .row{display:flex;gap:10px;flex-wrap:wrap}
.cc button{flex:1 1 160px;font:600 15px var(--sans);padding:12px;border:2px solid var(--green);cursor:pointer;border-radius:6px}
.cc .no{background:#fff;color:var(--green)}
.cc .yes{background:var(--green);color:#fff}
@media(max-width:620px){.photo{padding:8px 8px 44px}.photo .hw{left:12px;right:12px;bottom:10px;font-size:19px;gap:8px;white-space:nowrap}.photo .hw small{font-size:10px}}
