@font-face{font-family:"Old Standard TT";src:url(/fonts/OldStandard-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Old Standard TT";src:url(/fonts/OldStandard-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Old Standard TT";src:url(/fonts/OldStandard-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Caveat";src:url(/fonts/Caveat.ttf) format("truetype");font-weight:400 700;font-display:swap}
/* Layout: a naturalist's atlas page — paper ground, hairline plate frames, species numbered as on the garden list; filters left, plates right. */
:root{
  --paper:#F4EFE4; --ink:#1F2A37; --oat:#E9E2D0; --moss:#5B6B4A; --robin:#B5501E; --robin-light:#D9642B;
  --ink-soft:#4A5361; --rule:#C9BFA8; --on-robin:#FFFFFF;
  --display:"Old Standard TT", "Iowan Old Style", Georgia, serif;
  --body:"Old Standard TT", "Iowan Old Style", Georgia, serif;
  --hand:"Caveat", "Segoe Print", cursive;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
img{max-width:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;margin:0}
a{color:var(--moss)}
:focus-visible{outline:2px solid var(--robin);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.note{background:var(--ink);color:var(--paper);font-size:13px;text-align:center;padding-block:8px}
.note b{color:var(--oat)}
header.top{border-bottom:1px solid var(--rule)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;flex-wrap:wrap}
.mark{font-family:var(--display);font-size:26px;letter-spacing:.02em;color:var(--ink);text-decoration:none}
.mark small{display:block;font-family:var(--body);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--moss)}
nav.main{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
nav.main a{white-space:nowrap}
@media (max-width:480px){nav.main{gap:6px 16px;font-size:13px;letter-spacing:.05em}}
nav.main a{color:var(--ink);text-decoration:none}
nav.main a:hover{color:var(--robin)}

.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--moss);margin:0 0 14px}
h1{font-family:var(--display);font-weight:400;font-size:clamp(38px,6vw,68px);line-height:1.05;margin:0 0 20px;text-wrap:balance}
h1 em{color:var(--robin)}
.lede{font-size:18px;max-width:34ch;color:var(--ink-soft);margin:0 0 28px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--robin);color:var(--on-robin);text-decoration:none;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:12px 20px;border:0;border-radius:2px;cursor:pointer;font-family:var(--body)}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.plate{border:1px solid var(--ink);padding:10px;background:var(--paper);position:relative}
.plate::before{content:"";position:absolute;inset:4px;border:1px solid var(--rule);pointer-events:none}
.plate img{display:block;width:100%;height:auto}
.plate figcaption{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding-top:10px;color:var(--ink-soft)}
.plate figcaption i{font-family:var(--display)}

.collections{background:var(--oat);border-block:1px solid var(--rule)}
.collections .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,32px);padding-block:32px}
.coll{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;text-decoration:none;color:var(--ink);cursor:pointer;background:none;border:0;text-align:left;font:inherit;padding:0}
.coll img{width:96px;height:96px;object-fit:cover;border:1px solid var(--ink)}
.coll h3{font-family:var(--display);font-weight:400;font-size:24px;margin:0 0 4px}
.coll p{margin:0;font-size:14px;color:var(--ink-soft)}
.coll:hover h3{color:var(--robin)}

.shop .wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(20px,4vw,48px);padding-block:48px}
.shop h2{font-family:var(--display);font-weight:400;font-size:34px;margin:0}
.filters{align-self:start;position:sticky;top:calc(env(safe-area-inset-top,0px) + 16px)}
.filters details{border-top:1px solid var(--rule);padding-block:12px}
.filters summary{cursor:pointer;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--moss);list-style:none;display:flex;justify-content:space-between}
.filters summary::after{content:"+"}
.filters details[open] summary::after{content:"–"}
.filters .opts{display:grid;gap:6px;padding-top:10px}
.tick{display:grid;grid-template-columns:18px 22px minmax(0,1fr);align-items:center;gap:8px;font-size:15px;cursor:pointer}
.tick input{appearance:none;width:16px;height:16px;border:1px solid var(--ink);margin:0;display:grid;place-content:center;background:var(--paper)}
.tick input:checked::after{content:"✓";font-family:var(--hand);font-weight:700;font-size:22px;line-height:1;color:var(--robin);transform:translate(2px,-4px)}
.tick .no{font-family:var(--display);color:var(--ink-soft);font-size:13px;font-variant-numeric:tabular-nums}
.tick.plain{grid-template-columns:18px minmax(0,1fr)}
.sw{display:inline-block;width:14px;height:14px;border:1px solid var(--ink-soft);vertical-align:-2px;margin-right:6px}
.filters .clear{margin-top:12px;font-size:13px;background:none;border:0;color:var(--moss);text-decoration:underline;cursor:pointer;padding:0;font-family:var(--body)}
.filter-toggle{display:none}

.bar{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.bar .count{font-size:14px;color:var(--ink-soft);margin:4px 0 0}
.bar label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--moss);display:flex;gap:10px;align-items:center}
select{font:inherit;font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink);background:var(--paper);border:1px solid var(--ink);padding:6px 8px;border-radius:0}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:32px 24px}
.card{display:flex;flex-direction:column;gap:10px;cursor:pointer;background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit}
.thumb{position:relative;aspect-ratio:4/5;max-width:100%;display:grid;place-items:center;border:1px solid var(--rule);background:var(--garment,var(--oat));overflow:hidden}
.thumb .art{display:block;width:68%;aspect-ratio:1/1;max-width:100%;background:var(--art) center/contain no-repeat,var(--garment,var(--oat));background-blend-mode:multiply}
.thumb.dark .art{background-blend-mode:normal}
.thumb.glass .art{width:72%;background-size:contain}
.thumb .kind{position:absolute;left:10px;top:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:var(--paper);color:var(--ink);padding:3px 7px;border:1px solid var(--rule)}
.thumb .photo{position:absolute;right:10px;bottom:10px;font-size:11px;color:var(--ink-soft);background:var(--paper);padding:2px 6px;opacity:.9}
.card:hover .thumb{border-color:var(--ink)}
.card .sp{font-family:var(--display);font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.card h3{font-family:var(--display);font-weight:400;font-size:21px;line-height:1.2;margin:0}
.card .latin{font-family:var(--display);font-style:italic;font-size:14px;color:var(--ink-soft)}
.card .row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.price{font-size:16px;font-variant-numeric:tabular-nums}
.swatches{display:flex;gap:5px}
.swatches span{width:13px;height:13px;border:1px solid var(--ink-soft);background:var(--c)}
.empty{padding:40px 0;color:var(--ink-soft)}

.about{border-top:1px solid var(--rule)}
.about .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,5vw,64px);padding-block:56px}
.about h2{font-family:var(--display);font-weight:400;font-size:34px;margin:0}
.about p{font-size:17px;max-width:60ch;margin:0 0 14px}
.list8{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;margin-top:20px;font-size:15px}
.list8 span{display:grid;grid-template-columns:16px 24px minmax(0,1fr);gap:6px;align-items:center}
.list8 i{width:14px;height:14px;border:1px solid var(--ink);display:grid;place-content:center;font-style:normal}
.list8 i.seen::after{content:"✓";font-family:var(--hand);font-weight:700;font-size:22px;line-height:1;color:var(--robin);transform:translate(2px,-4px)}
.hand{font-family:var(--hand);font-size:22px;color:var(--robin);line-height:1}
.list8 b{font-family:var(--display);font-weight:400;color:var(--ink-soft)}
footer{background:var(--ink);color:var(--oat);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:28px}
footer a{color:var(--paper)}
footer .mark{color:var(--paper);font-size:20px}


@media (max-width:820px){
  .collections .wrap{grid-template-columns:1fr}
  .shop .wrap{grid-template-columns:1fr}
  .filters{position:static}
  .filter-toggle{display:inline-flex}
  .filters[data-collapsed="true"] .fbody{display:none}
  .about .wrap{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:24px 16px}
}
@media (prefers-reduced-motion:no-preference){
  .card .thumb .art{transition:transform .4s ease}
  .card:hover .thumb .art{transform:scale(1.03)}
}
/* hero carousel: three layered scenes, background drifts slower than the bird */
.stage{position:relative;overflow:hidden;height:clamp(440px,52vw,620px);background:var(--oat);border-bottom:1px solid var(--rule);isolation:isolate;touch-action:pan-y;cursor:grab;user-select:none}
.stage.dragging{cursor:grabbing}
.stage img{-webkit-user-drag:none}
.slides,.slide{position:absolute;inset:0}
.slide{opacity:0;transition:opacity 1.8s ease;z-index:0}
.slide.is-on{opacity:1;z-index:1}
.layer{position:absolute;will-change:translate}
.bg{inset:-6%;filter:blur(var(--bg-blur,4px))}
.near{inset:-4%;opacity:.45}
.bird{right:clamp(16px,9vw,140px);bottom:9%;height:78%;width:auto;max-width:52%;object-fit:contain;filter:drop-shadow(0 18px 18px color-mix(in srgb,var(--ink) 18%,transparent))}
.slide::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--paper) 82%,transparent) 0,color-mix(in srgb,var(--paper) 50%,transparent) 30%,transparent 55%)}
.stage-head{position:absolute;inset:0 0 auto;z-index:3;padding-top:clamp(24px,4vw,44px);pointer-events:none}
.stage-head h1{font-size:clamp(32px,4.4vw,56px);margin:0 0 8px;max-width:none}
.stage-head h1 em{display:block}
.stage-head .lede{margin:0;font-size:17px;max-width:30ch}
/* fact about the bird on the slide: sits where the headline used to be */
.fact-wrap{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:64px;pointer-events:none}
.fact{max-width:26ch;margin:0;font-family:var(--display);font-size:clamp(19px,1.9vw,25px);line-height:1.3;color:var(--ink);text-wrap:pretty}
.slide:not(.is-on) .fact{opacity:0;transition:opacity .35s ease}
.fact-k{display:block;font-family:var(--hand);font-size:1.05em;color:var(--robin);margin-bottom:6px}
.cap{position:absolute;right:clamp(16px,4vw,40px);bottom:18px;margin:0;font-family:var(--display);font-size:14px;color:var(--ink-soft);z-index:2}
.cap i{margin-left:6px}
.dots{position:absolute;left:clamp(16px,4vw,40px);bottom:18px;z-index:3;display:flex;gap:10px}
.dots button{position:relative;overflow:hidden;width:36px;height:4px;border:0;padding:0;background:color-mix(in srgb,var(--ink) 22%,transparent);cursor:pointer}
.dots button::before{content:"";position:absolute;inset:-10px 0}
.dots button::after{content:"";position:absolute;inset:0;background:var(--robin);transform:scaleX(0);transform-origin:left center}
.dots button[aria-current="true"]::after{animation:dotfill var(--slide-time,15s) linear forwards}
.stage.paused .dots button::after{animation-play-state:paused}
@keyframes dotfill{to{transform:scaleX(1)}}
.temp{position:absolute;top:12px;right:16px;z-index:3;font-size:12px;background:var(--paper);color:var(--ink-soft);padding:2px 8px;border:1px solid var(--rule)}
@media (prefers-reduced-motion:no-preference){
  .slide .bg{scale:1;transition:scale 16s linear}
  .slide.is-on .bg{scale:1.06}
}
@media (max-width:820px){
  .stage{height:clamp(620px,172vw,720px)}
  .bird{right:50%;translate:50% 0;height:44%;max-width:80%}
  .cap{left:16px;right:auto;bottom:44px}
  .stage-head{padding-top:20px}
  .stage-head h1{font-size:30px;max-width:none}
  .stage-head .lede{font-size:15px}
  .fact-wrap{justify-content:flex-start;padding:158px 0 0}
  .fact{max-width:30ch;font-size:16px;line-height:1.35}
  .fact-k{margin-bottom:2px}
  .slide::after{background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 85%,transparent) 0,color-mix(in srgb,var(--paper) 50%,transparent) 30%,transparent 55%)}
}
/* help pages: delivery, sizes, FAQ */
.help{border-top:1px solid var(--rule)}
.help .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,5vw,64px);padding-block:56px}
.help h2{font-family:var(--display);font-weight:400;font-size:34px;margin:0}
.help p{max-width:60ch;margin:0 0 14px}
.help.alt{background:var(--oat)}
.todo{display:inline-block;font-size:12px;background:var(--paper);color:var(--robin);border:1px dashed var(--robin);padding:1px 7px;margin-bottom:12px}
.steps{display:grid;gap:14px;margin:0;padding:0;list-style:none;counter-reset:st}
.steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;counter-increment:st}
.steps li::before{content:counter(st)".";font-family:var(--display);color:var(--moss)}
.sizes-wrap{overflow-x:auto;max-width:100%}
.sizes{border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:420px;width:100%}
.sizes th,.sizes td{border-bottom:1px solid var(--rule);padding:8px 10px;text-align:left;font-weight:400}
.sizes thead th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--moss);border-bottom:1px solid var(--ink)}
.sizes td{color:var(--ink-soft)}
.faq details{border-bottom:1px solid var(--rule);padding-block:14px}
.faq summary{cursor:pointer;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";color:var(--moss)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:10px 0 0;color:var(--ink-soft)}
footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}
@media (max-width:820px){.help .wrap{grid-template-columns:1fr}}

.card{text-decoration:none}
.bg{background:var(--bg) 60% 50%/cover no-repeat,var(--oat)}
.near{background:radial-gradient(38% 30% at 6% 100%,var(--oat) 0,transparent 70%),radial-gradient(30% 26% at 100% 96%,var(--oat) 0,transparent 70%)}
.thumb.has-photo .art{width:100%;height:100%;aspect-ratio:auto;background-size:cover;background-blend-mode:normal;border-radius:0}
.soon{font-size:13px;color:var(--ink-soft)}
/* product page */
.crumbs{font-size:14px;color:var(--ink-soft);padding-block:18px 0}
.crumbs a{color:var(--moss)}
.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,56px);padding-block:24px 56px;align-items:start}
.product .thumb{aspect-ratio:1/1;border-color:var(--ink)}
.product .info{display:flex;flex-direction:column;gap:14px;min-width:0}
.product h1{font-size:clamp(32px,4.5vw,46px);margin:0}
.product .latin{font-family:var(--display);font-style:italic;color:var(--ink-soft);margin-top:-8px}
.product .fact{border-left:2px solid var(--moss);padding-left:12px;color:var(--ink-soft);margin:0}
.product dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0}
.product dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--moss);padding-top:4px}
.product dd{margin:0}
.colours{display:flex;flex-wrap:wrap;gap:8px}
.colours button{display:flex;align-items:center;gap:6px;font:inherit;font-size:15px;background:var(--paper);color:var(--ink);border:1px solid var(--rule);padding:5px 10px;cursor:pointer}
.colours button[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.btn[aria-disabled="true"]{background:var(--rule);color:var(--ink);cursor:default;filter:none}
.small{font-size:14px;color:var(--ink-soft);margin:0}
.related{border-top:1px solid var(--rule);padding-block:40px 56px}
.related h2{font-family:var(--display);font-weight:400;font-size:28px;margin:0 0 20px}
@media (max-width:820px){.product{grid-template-columns:1fr}}

/* bird entrance: arrives a moment after the background, sliding the last stretch and fading in */
@keyframes birdIn{from{transform:translateX(calc(var(--dir,1) * 6vw));opacity:.25}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:no-preference){
  .slide.is-on .bird{animation:birdIn 1.3s cubic-bezier(.2,.7,.2,1) .35s both}
  .slide.no-bird-anim .bird{animation:none}
  /* mirror image of the bird: comes in from the other side, a little slower */
  .slide.is-on .fact{animation:factIn 1.8s cubic-bezier(.2,.7,.2,1) .45s both}
  .slide.no-bird-anim .fact{animation:none}
}
@keyframes factIn{from{transform:translateX(calc(var(--dir,1) * -6vw));opacity:0}to{transform:none;opacity:1}}

/* printables and field notes */
.listing{padding-block:40px 72px}
.listing-head{max-width:62ch;margin-bottom:32px}
.listing-head h1,.article h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,5vw,52px);line-height:1.1;margin:0 0 12px}
.items{display:grid;gap:28px}
.item{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding-bottom:28px;border-bottom:1px solid var(--rule)}
.item:has(.item-pic){grid-template-columns:minmax(0,220px) minmax(0,1fr)}
.item-pic img{display:block;width:100%;height:auto;border:1px solid var(--ink);background:var(--oat)}
.item-body{min-width:0;display:flex;flex-direction:column;gap:8px}
.item h2{font-family:var(--display);font-weight:400;font-size:26px;line-height:1.2;margin:0}
.item.compact h2{font-size:21px}
.item h2 a{color:var(--ink);text-decoration:none}
.item h2 a:hover{color:var(--robin)}
.item p{margin:0;max-width:62ch}
.item-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:13px;border:1px solid var(--rule);padding:1px 8px;color:var(--ink-soft)}
.article{max-width:760px;padding-block:24px 72px}
.article p{max-width:65ch}
.note-cover{display:block;width:100%;height:auto;border:1px solid var(--ink);margin-block:16px}
.share{margin-top:24px}
@media (max-width:620px){.item:has(.item-pic){grid-template-columns:1fr}}
