/* Jerry Five — embossed-seal register */
:root{
  --paper:#F6F2E9;
  --paper-deep:#EDE6D6;
  --paper-lift:#FBF9F4;
  --forest:#2C4A3B;
  --burgundy:#7A2E3B;
  --cobalt:#2C4F73;
  --ochre:#C08A34;
  --ink:#221F1B;
  --ink-soft:#4A443C;
  --hair:rgba(34,31,27,.16);
  --hair-strong:rgba(34,31,27,.32);
  --serif:"Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Work Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gutter:clamp(16px,3.6vw,44px);
  --wrap:1220px;
  --press:inset 0 2px 3px rgba(0,0,0,.34),inset 0 -1px 2px rgba(255,255,255,.22),0 1px 0 rgba(255,255,255,.7);
  --press-deep:inset 0 3px 6px rgba(0,0,0,.42),inset 0 -2px 2px rgba(255,255,255,.2),0 1px 0 rgba(255,255,255,.7);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.66 var(--sans);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.005em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;background:var(--forest);color:var(--paper);padding:8px 14px;z-index:99}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}

/* ——— the seal ——— */
.seal{
  --sz:62px;--sb:var(--forest);--sf:var(--paper);
  position:relative;flex:none;width:var(--sz);height:var(--sz);border-radius:50%;
  background:var(--sb);color:var(--sf);
  border:2px solid var(--sb);
  box-shadow:var(--press);
  display:grid;place-items:center;text-align:center;
  font:600 calc(var(--sz)*.36)/1 var(--serif);letter-spacing:.02em;
  transition:box-shadow .25s ease,transform .25s ease;
}
.seal::before{ /* thin inset ring */
  content:"";position:absolute;inset:calc(var(--sz)*.085);border-radius:50%;
  border:1px solid currentColor;opacity:.55;
}
.seal::after{ /* pressed outer lip */
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1px solid var(--sb);opacity:.28;
}
.seal small{display:block;font:500 calc(var(--sz)*.105)/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;opacity:.8;margin-bottom:3px}
.seal--word{font:600 calc(var(--sz)*.12)/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:0 calc(var(--sz)*.16);aspect-ratio:1}
.seal--forest{--sb:var(--forest);--sf:var(--paper)}
.seal--burgundy{--sb:var(--burgundy);--sf:var(--paper)}
.seal--cobalt{--sb:var(--cobalt);--sf:var(--paper)}
.seal--ochre{--sb:var(--ochre);--sf:var(--ink)}
.seal--paper{--sb:var(--paper);--sf:var(--ink)}
.seal--paper::after{opacity:.5;border-color:var(--paper)}

/* ——— header ——— */
.masthead{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--hair)}
.masthead::after{content:"";position:absolute;left:0;right:0;bottom:-4px;border-bottom:1px solid var(--hair)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}
.brand .seal{--sz:38px;font-size:0}
.brand .seal span{width:12px;height:12px;border-radius:50%;background:var(--ochre);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}
.brand b{display:block;font:600 27px/1 var(--serif);letter-spacing:.01em}
.brand i{display:block;font:500 10.5px/1 var(--sans);font-style:normal;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);margin-top:5px}
.topnav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.topnav a{position:relative;display:block;padding:10px 16px;text-decoration:none;font:500 15px/1 var(--sans);letter-spacing:.01em}
.topnav a::after{
  content:"";position:absolute;inset:0 2px;border:1px solid currentColor;border-radius:50%;
  opacity:0;transform:scale(.82);transition:opacity .22s ease,transform .22s ease;
}
.topnav a:hover::after,.topnav a:focus-visible::after,.topnav a[aria-current="page"]::after{opacity:1;transform:scale(1)}
.topnav a[aria-current="page"]{color:var(--forest)}
.topnav a:focus-visible{outline:none}
.menu-btn{display:none;background:none;border:1px solid var(--hair-strong);border-radius:50%;width:46px;height:46px;cursor:pointer;color:var(--ink);place-items:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:18px;height:1.5px;background:currentColor;position:relative;transition:transform .2s ease}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

/* ——— shared section furniture ——— */
.kicker{display:flex;align-items:center;gap:12px;font:600 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 20px}
.kicker::before{content:"";width:9px;height:9px;border-radius:50%;border:1px solid currentColor;box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--hair-strong)}
.lede{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--ink-soft);max-width:34em}

/* ——— home hero ——— */
.hero{padding:clamp(44px,7vw,92px) 0 clamp(52px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero h1{font-size:clamp(46px,6.4vw,88px);margin-bottom:24px}
.hero h1 em{font-style:italic;font-weight:500;color:var(--burgundy)}
.hero-cats{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:30px;padding-top:22px;border-top:1px solid var(--hair);font-size:14px}
.hero-cats a{text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.hero-cats a::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--dot);box-shadow:inset 0 1px 1px rgba(0,0,0,.35)}
.hero-cats a:hover{text-decoration:underline;text-underline-offset:4px}

.frame{position:relative;padding:14px;border:1px solid var(--hair-strong);background:var(--paper-lift)}
.frame::before{content:"";position:absolute;inset:6px;border:1px solid var(--hair);pointer-events:none}
.slot{position:relative;aspect-ratio:3/2;background:var(--paper-deep);overflow:hidden}
.slot--wide{aspect-ratio:21/8}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ——— category cards ——— */
.plates{padding:0 0 clamp(64px,8vw,110px)}
.plates-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px;border-bottom:1px solid var(--hair);padding-bottom:22px}
.plates-head h2{font-size:clamp(32px,3.6vw,48px)}
.plates-head p{margin:0;max-width:28em;color:var(--ink-soft);font-size:15px}
.plate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.plate{
  --pc:var(--forest);--pt:var(--paper);--pl:rgba(246,242,233,.17);
  position:relative;overflow:hidden;background:var(--pc);color:var(--pt);
  padding:30px 26px 26px;min-height:380px;display:flex;flex-direction:column;
  transition:transform .3s ease;
}
.plate::before{ /* stamped ring watermark from stacked borders */
  content:"";position:absolute;width:40px;height:40px;border-radius:50%;left:-8px;bottom:-8px;
  border:1px solid var(--pl);
  box-shadow:0 0 0 22px var(--pc),0 0 0 23px var(--pl),0 0 0 48px var(--pc),0 0 0 49px var(--pl),0 0 0 76px var(--pc),0 0 0 77px var(--pl),0 0 0 106px var(--pc),0 0 0 107px var(--pl);
  transition:transform .6s ease;
}
.plate:hover::before{transform:scale(1.08)}
.plate > *{position:relative}
.plate .seal{position:absolute;top:20px;right:20px;--sz:58px;--sb:var(--pt);--sf:var(--pc)}
.plate .seal::after{border-color:var(--pt)}
.plate:hover .seal{box-shadow:var(--press-deep);transform:scale(.97)}
.plate h3{font-size:34px;margin:74px 0 14px;max-width:8ch}
.plate p{font-size:15.5px;line-height:1.6;opacity:.92}
.plate footer{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--pl);font-size:14px}
.plate footer span{letter-spacing:.06em}
.plate a{text-decoration:none;font-weight:500}
.plate a::before{content:"";position:absolute;inset:0;z-index:1}
.plate a:hover,.plate a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.plate--burgundy{--pc:var(--burgundy)}
.plate--cobalt{--pc:var(--cobalt)}
.plate--ochre{--pc:var(--ochre);--pt:var(--ink);--pl:rgba(34,31,27,.2)}
.plate:has(a:focus-visible){outline:2px solid var(--ink);outline-offset:4px}

/* ——— verification strip ——— */
.verify{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:clamp(52px,7vw,88px) 0;position:relative}
.verify::before{content:"";position:absolute;left:0;right:0;top:4px;border-top:1px solid var(--hair)}
.verify .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,70px)}
.verify h2{font-size:clamp(32px,3.4vw,46px);margin-bottom:16px}
.verify-intro p{color:var(--ink-soft)}
.notes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.notes li{padding:4px 26px 0;border-left:1px solid var(--hair)}
.notes li:first-child{border-left:0;padding-left:0}
.notes .seal{--sz:44px;margin-bottom:20px}
.notes h3{font-size:25px;margin-bottom:10px}
.notes p{font-size:15.5px;color:var(--ink-soft)}

/* ——— category page head ——— */
.docket-head{padding:clamp(40px,6vw,76px) 0 clamp(30px,4vw,48px)}
.docket-head .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center}
.docket-head h1{font-size:clamp(48px,7vw,96px);margin-bottom:16px}
.docket-head .lede{margin:0}
.head-seal{position:relative;width:200px;height:200px;display:grid;place-items:center}
.head-seal .seal{--sz:132px}
.head-seal .seal span{display:block;font-size:52px}
.head-seal .seal small{font-size:11px}
.head-seal::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px dashed var(--hair-strong)}
.head-seal::after{content:"";position:absolute;inset:18px;border-radius:50%;border:1px solid var(--hair)}

.register{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:var(--paper-lift)}
.register .wrap{display:flex;align-items:center;gap:22px;min-height:66px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.register b{font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
.register ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.register a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:15px}
.register .seal{--sz:30px;font-size:12px}
.register .seal::after{inset:-3px}
.register a:hover span:last-child{text-decoration:underline;text-underline-offset:4px}

.cat-hero{padding-top:clamp(28px,4vw,44px)}

/* ——— entry cards ——— */
.entries{padding:clamp(48px,6vw,80px) 0 clamp(70px,8vw,110px)}
.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(34px,4vw,52px) clamp(22px,3vw,40px)}
.entry{
  --ec:var(--forest);
  position:relative;background:var(--paper-lift);border:1px solid var(--hair-strong);
  padding:clamp(28px,3.2vw,40px);padding-top:clamp(34px,3.6vw,46px);
}
.entry::before{content:"";position:absolute;inset:5px;border:1px solid var(--hair);pointer-events:none}
.entry .seal{position:absolute;top:-22px;right:26px;--sz:66px;--sb:var(--ec)}
.entry:hover .seal{box-shadow:var(--press-deep);transform:rotate(-8deg)}
.entry-meta{font:600 11.5px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ec);margin:0 90px 14px 0}
.entry h2{font-size:clamp(30px,2.8vw,38px);margin:0 90px 20px 0}
.entry .body{font-size:16.5px}
.entry .body p{margin-bottom:.9em}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:20px 0 0;border-top:1px dotted var(--hair-strong)}
.tags li{font:500 12.5px/1 var(--sans);letter-spacing:.04em;padding:7px 12px;border:1px solid var(--hair-strong);border-radius:999px;color:var(--ink-soft)}
.tags li:first-child{border-color:var(--ec);color:var(--ec)}
.ec-forest{--ec:var(--forest)}
.ec-burgundy{--ec:var(--burgundy)}
.ec-cobalt{--ec:var(--cobalt)}
.ec-ochre{--ec:#9A6B1F}
.ec-ochre .seal{--sb:var(--ochre);--sf:var(--ink)}
.entry-grid--single{grid-template-columns:minmax(0,760px);justify-content:center}

.onward{border-top:1px solid var(--hair);padding:40px 0 70px}
.onward .wrap{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}
.onward b{font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-right:auto}
.onward a{font:600 22px/1.2 var(--serif);text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.onward a::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--dot)}
.onward a:hover{text-decoration:underline;text-underline-offset:5px}

/* ——— long-form pages ——— */
.prose-page{padding:clamp(44px,6vw,80px) 0 clamp(70px,8vw,110px)}
.prose-page .wrap{max-width:820px}
.prose-page h1{font-size:clamp(44px,6vw,74px);margin-bottom:14px}
.prose-page .lede{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid var(--hair)}
.prose-page h2{font-size:30px;margin:44px 0 12px}
.prose-page p,.prose-page li{max-width:38em}
.prose-page ul{padding-left:1.2em;margin:0 0 1em}
.prose-page li{margin-bottom:.5em}
.prose-page a{text-underline-offset:3px;color:var(--cobalt)}
.stamp-line{font-size:14px;color:var(--ink-soft);margin-top:48px}

/* ——— footer ——— */
.foot{background:var(--forest);color:var(--paper);padding:clamp(56px,7vw,84px) 0 0}
.foot a{color:var(--paper);text-decoration:none}
.foot a:hover{text-decoration:underline;text-underline-offset:4px}
.foot-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,3fr);gap:40px}
.foot .brand b{color:var(--paper)}
.foot .brand i{color:rgba(246,242,233,.7)}
.foot .brand .seal{--sb:var(--paper);--sf:var(--forest)}
.foot .brand .seal span{background:var(--ochre)}
.foot-about{margin-top:20px;max-width:30em;color:rgba(246,242,233,.84);font-size:15.5px}
.foot h2{font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(246,242,233,.66);margin-bottom:18px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:10px;font-size:15.5px}
.foot-close{margin-top:56px;border-top:1px solid rgba(246,242,233,.2);padding:22px 0 26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;color:rgba(246,242,233,.72)}

/* ——— responsive ——— */
@media (max-width:1100px){
  .plate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plate{min-height:320px}
  .plate h3{margin-top:60px;max-width:none}
}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .hero .frame{margin-right:18px}
  .verify .wrap{grid-template-columns:1fr}
}
@media (max-width:820px){
  .menu-btn{display:grid}
  .topnav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--hair);display:none;padding:10px var(--gutter) 20px}
  .topnav.open{display:block}
  .topnav ul{flex-direction:column;gap:2px}
  .topnav a{padding:14px 18px;font-size:17px;display:inline-block}
  .entry-grid{grid-template-columns:1fr}
  .notes{grid-template-columns:1fr;gap:30px}
  .notes li,.notes li:first-child{border-left:0;padding:0 0 0 64px;position:relative}
  .notes .seal{position:absolute;left:0;top:0}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid > div:first-child{grid-column:1/-1}
  .docket-head .wrap{grid-template-columns:1fr}
  .head-seal{display:none}
  .slot--wide{aspect-ratio:16/9}
}
@media (max-width:560px){
  body{font-size:16px}
  .plate-grid{grid-template-columns:1fr}
  .plate{min-height:0}
  .plate h3{margin-top:56px}
  .plates-head{display:block}
  .plates-head p{margin-top:10px}
  .hero .frame{margin-right:10px}
  .entry .seal{--sz:56px;right:18px;top:-18px}
  .entry h2,.entry-meta{margin-right:62px}
  .foot-grid{grid-template-columns:1fr}
  .brand b{font-size:24px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
