/* Magnolia Forge · magnoliaforge.co · site stylesheet
   Built from home page revision 4 (the team build, 2026-10-11). One file for every page.
   Tokens are the R-122 set: page #0A0C0E, cards #14181A, sage #A8C090, burnt bronze #B88E72, leaf #262C22. */

@font-face{font-family:'Barlow Condensed';font-weight:500;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-weight:400;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-weight:600;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-600-normal.woff2) format('woff2')}

:root{
  --page:#0A0C0E; --page-2:#111416; --card:#14181A; --well:#21262A; --black:#000000;
  --ink:#E6EAEC; --muted:#99A2A9; --line:#323A40;
  --leaf:#262C22; --leaf-deep:#181D16; --on-leaf-muted:#AEB7AB; --leaf-line:#3D4638;
  --sage:#A8C090; --on-sage:#131610;
  --bronze:#B88E72; --bronze-soft:#2B2019;
  --display:'Barlow Condensed','Arial Narrow',sans-serif;
  --body:'Source Sans 3',-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --t:.22s;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none !important}}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;position:relative}
/* texture: a fine grain over the whole page, and nothing else that is only decoration */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.045;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}
body>*{position:relative;z-index:1}
img,svg{display:block;max-width:100%}
a{color:var(--sage)}
a:focus-visible,button:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
h1,h2,h3,h4,p,figure,ul,ol{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.wrap{max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px}
.mono{font-family:var(--mono)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* the label parts: a chamfered plate with a machined top edge, a small cell label, ruled cells */
.plate{--ch:13px;--edge:var(--muted);--fill:var(--card);display:flex;min-width:0;padding:1px;background:var(--edge);transition:background var(--t);
  clip-path:polygon(var(--ch) 0,calc(100% - var(--ch)) 0,100% var(--ch),100% calc(100% - var(--ch)),calc(100% - var(--ch)) 100%,var(--ch) 100%,0 calc(100% - var(--ch)),0 var(--ch))}
.plate>.in{--ci:calc(var(--ch) - .6px);flex:1;min-width:0;position:relative;
  background:linear-gradient(180deg,rgba(230,234,236,.045) 0,rgba(230,234,236,0) 72px),linear-gradient(0deg,rgba(0,0,0,.22) 0,rgba(0,0,0,0) 90px),var(--fill);
  clip-path:polygon(var(--ci) 0,calc(100% - var(--ci)) 0,100% var(--ci),100% calc(100% - var(--ci)),calc(100% - var(--ci)) 100%,var(--ci) 100%,0 calc(100% - var(--ci)),0 var(--ci))}
.micro{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.2;color:var(--muted)}

/* the machinist's rule: fine ticks, a taller tick every fifth */
.rule{height:12px;background:
  repeating-linear-gradient(90deg,var(--muted) 0 1px,transparent 1px 40px) left bottom/100% 12px no-repeat,
  repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 8px) left bottom/100% 6px no-repeat;opacity:.9}

/* strip */
.strip{background:var(--sage);color:var(--on-sage);font-family:var(--mono);font-size:12.5px;line-height:1.5}
.strip .wrap{display:flex;flex-wrap:wrap;gap:0 24px;justify-content:space-between;align-items:center}
.strip span{padding:9px 0}
.strip a{display:inline-flex;align-items:center;min-height:44px;color:var(--on-sage);text-decoration:none;font-weight:500}
.strip a:hover{text-decoration:underline;text-underline-offset:3px}

/* header: the label's brand panel laid on its side; sticks, and compacts once the page moves */
.head{position:sticky;top:0;z-index:20;background:var(--page);border-bottom:1px solid var(--muted)}
.head .wrap{display:flex;flex-wrap:wrap;gap:0;align-items:flex-end;padding-top:18px;padding-bottom:0;transition:padding var(--t)}
.brand{flex:1 1 100%;display:flex;align-items:center;gap:14px;white-space:nowrap;text-decoration:none;color:var(--ink);padding-bottom:14px;transition:padding var(--t)}
.brand .stamp{flex:none;width:76px;height:auto;transition:width var(--t)}
.brand-txt{padding-left:14px;border-left:1px solid var(--muted)}
.brand b{display:block;font-family:var(--display);font-size:36px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:.95;transition:font-size var(--t)}
.brand-txt span{display:block;margin-top:6px;font-family:var(--display);font-size:13.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.head.tight .wrap{padding-top:10px}
.head.tight .brand{padding-bottom:8px}
.head.tight .nav a{min-height:44px}
.head.tight .brand .stamp{width:52px}
.head.tight .brand b{font-size:26px}
.head.tight .brand-txt span{display:none}
.nav{flex:1 1 100%;display:flex;align-items:stretch;font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-top:1px solid var(--line)}
.nav a{display:inline-flex;align-items:center;min-height:52px;padding:0 18px;color:var(--ink);text-decoration:none;border-right:1px solid var(--line);position:relative;margin-bottom:-1px}
.nav a:first-child{padding-left:0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--sage);transform:scaleX(0);transform-origin:left;transition:transform var(--t)}
.nav a:hover,.nav a.on{color:var(--sage)}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.nav a.cart{margin-left:auto;margin-bottom:0;align-self:stretch;min-height:52px;padding:0 22px;border:0;border-left:1px solid var(--line);color:var(--sage);gap:8px}
.nav a.cart i{font-style:normal;font-family:var(--mono);font-size:12px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:2px;background:var(--sage);color:var(--on-sage)}
.nav a.cart i:empty,.nav a.cart i[data-n="0"]{display:none}
.menu{display:none}

/* hero and page heads */
.hero{background:radial-gradient(60% 80% at 20% 30%,rgba(168,192,144,.07) 0,rgba(168,192,144,0) 60%),linear-gradient(180deg, var(--leaf) 0%, var(--leaf-deep) 100%);border-bottom:1px solid var(--leaf-line)}
.hero .wrap{display:flex;flex-wrap:wrap;gap:40px 64px;align-items:center;padding-top:88px;padding-bottom:88px}
.hero-copy{flex:1 1 460px;min-width:0}
.eyebrow{font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";flex:0 0 36px;height:2px;background:var(--bronze)}
.hero h1{margin-top:18px;font-family:var(--display);font-size:clamp(46px,7vw,92px);font-weight:700;letter-spacing:.005em;text-transform:uppercase;line-height:.9;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--sage)}
.hero-copy p{margin-top:22px;font-size:19px;line-height:1.5;color:var(--on-leaf-muted);max-width:50ch}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-radius:2px;border:1.5px solid var(--sage);background:var(--sage);color:var(--on-sage);transition:background var(--t),border-color var(--t),color var(--t)}
.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn.quiet{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn.quiet:hover{background:var(--ink);color:var(--on-sage)}
.btn.added{background:var(--ink);border-color:var(--ink)}
/* a page head: the same leaf band, shorter, headline and one line */
.phead{background:radial-gradient(50% 90% at 15% 40%,rgba(168,192,144,.06) 0,rgba(168,192,144,0) 60%),linear-gradient(180deg,var(--leaf) 0%,var(--leaf-deep) 100%);border-bottom:1px solid var(--leaf-line)}
.phead .wrap{padding-top:64px;padding-bottom:56px}
.phead h1{margin-top:16px;font-family:var(--display);font-size:clamp(40px,5.5vw,68px);font-weight:700;letter-spacing:.01em;text-transform:uppercase;line-height:.92;text-wrap:balance}
.phead h1 em{font-style:normal;color:var(--sage)}
.phead p{margin-top:16px;font-size:18px;line-height:1.5;color:var(--on-leaf-muted);max-width:60ch}
.phead .btns{margin-top:26px}

/* hero tag: the label itself */
.tag{flex:1 1 440px;--edge:var(--ink);--fill:var(--leaf-deep)}
.tag>.in{display:flex}
.panel{flex:0 0 58px;display:flex;flex-direction:column;align-items:center;padding:16px 0 14px;background:var(--sage);color:var(--on-sage)}
.panel img{width:42px;height:auto}
.panel i{display:block;width:42px;height:1px;margin:11px 0 0;background:var(--on-sage)}
.vname{flex:1;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--display);font-size:23px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.tag-body{flex:1;min-width:0;display:flex;flex-direction:column}
.tag-body .rule{margin:10px 14px 0}
.tag-body .shot{margin:8px 14px 0;position:relative}
.tag-body .shot img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.tag-body .shot::after,.card .shot::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.35),inset 0 -40px 50px -30px rgba(0,0,0,.35)}
.well{position:relative;flex:1;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;font-family:var(--mono);font-size:12.5px;color:var(--on-leaf-muted);background:var(--leaf-deep)}
.well .ghost{position:absolute;inset:0;margin:auto;width:38%;height:auto;opacity:.05;pointer-events:none}
.well span{position:relative}
.well::before,.well::after,.well b::before,.well b::after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--on-leaf-muted);opacity:.7}
.well::before{top:12px;left:12px;border-right:0;border-bottom:0}
.well::after{top:12px;right:12px;border-left:0;border-bottom:0}
.well b{position:absolute;inset:0;pointer-events:none}
.well b::before{bottom:12px;left:12px;border-right:0;border-top:0}
.well b::after{bottom:12px;right:12px;border-left:0;border-top:0}
.tag figcaption{border-top:1px solid var(--ink);margin-top:10px;padding:11px 14px 12px;font-family:var(--mono);font-size:12.5px;color:var(--on-leaf-muted)}
.tag figcaption b{font-weight:500;color:var(--sage)}

/* sections */
.sec{padding-top:96px}
.sec-head{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--muted);padding-bottom:10px}
.sec-head h2{font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1;display:flex;align-items:center;gap:12px}
.sec-head h2::before{content:"";width:4px;height:22px;background:var(--sage)}
.sec-head p{flex:1 1 100%;margin-top:8px;color:var(--muted);max-width:70ch}
.more{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-bottom:-10px}
.more::after{content:"";width:22px;height:2px;background:currentColor;transition:width var(--t)}
.more:hover{color:var(--ink)} .more:hover::after{width:38px}
.lead{margin-top:24px;font-size:17.5px;line-height:1.55;color:var(--muted);max-width:68ch}
.lead b{color:var(--ink);font-weight:600}

/* stock: every gun is its label. Row A name, row B cells, row C the product code and the price */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card:hover{--edge:var(--sage)}
.card>.in{display:flex;flex-direction:column}
.card .shot{background:var(--well);overflow:hidden;position:relative}
.card .shot img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}
.card:hover .shot img{transform:scale(1.025)}
.card .well{color:var(--muted);background:var(--well)}
.card .well::before,.card .well::after,.card .well b::before,.card .well b::after{border-color:var(--muted)}
.rowa{flex:1;padding:16px 18px 18px;border-top:1px solid var(--line);border-bottom:1.5px solid var(--ink)}
.rowa-top{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;min-height:24px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:22px;padding:0 9px;border-radius:2px;border:1px solid var(--sage);background:var(--sage);color:var(--on-sage)}
.chip.bronze{background:var(--bronze-soft);border-color:var(--bronze);color:var(--bronze)}
.chip.plain{background:transparent;border-color:var(--muted);color:var(--ink)}
.card h3{margin-top:8px;font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1.02}
.card .note{margin-top:8px;font-size:14.5px;color:var(--muted)}
.rowb{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.cell{padding:12px 14px 13px 18px;min-width:0}
.cell+.cell{border-left:1px solid var(--line)}
.rowb .cell.wide{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
.cell .val{margin-top:3px;font-family:var(--mono);font-size:13.5px;font-weight:500;overflow-wrap:anywhere}
.rowc{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);border-bottom:1px solid var(--line)}
.rowc.nobc{grid-template-columns:1fr}
.bc{align-self:center;margin:12px 0 12px 18px;padding:7px 0 3px;background:var(--ink);color:var(--on-sage)}
.bc svg{height:24px;margin:0 auto;fill:var(--on-sage)}
.bc span{display:block;margin-top:3px;text-align:center;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.08em}
.rowc .cell{margin-left:18px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.rowc.nobc .cell{margin-left:0;border-left:0}
.price{display:block;margin-top:2px;font-family:var(--mono);font-size:27px;font-weight:500;line-height:1.1}
.price small{display:block;font-size:13px;color:var(--muted);font-weight:400;margin-top:2px;font-family:var(--mono)}
.card .btn{flex:0 0 auto;margin:18px;min-height:48px;padding:0 20px;font-size:16px}

/* steps: a leaf band, one plate, numbered cells with stamped bronze plates */
.band{margin-top:96px;padding-top:80px;padding-bottom:88px;background:linear-gradient(180deg,var(--leaf) 0%,var(--leaf-deep) 100%);border-top:1px solid var(--leaf-line);border-bottom:1px solid var(--leaf-line)}
.band .plate{margin-top:36px;--edge:var(--on-leaf-muted);--fill:var(--leaf-deep)}
.steps{display:grid;grid-template-columns:repeat(4,1fr)}
.steps.three{grid-template-columns:repeat(3,1fr)}
.step{padding:28px 26px 32px;border-right:1px solid var(--leaf-line);min-width:0}
.step:last-child{border-right:0}
.step .n{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:44px;padding:0 10px;margin-bottom:18px;background:var(--bronze-soft);border:1px solid var(--bronze);color:var(--bronze);font-family:var(--mono);font-size:24px;font-weight:500;line-height:1}
.step h3{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.1;padding-top:14px;border-top:1px solid var(--leaf-line)}
.step p{margin-top:8px;font-size:15.5px;color:var(--on-leaf-muted)}
.step p .mono{color:var(--ink)}

/* doors: one plate, three cells, a sage tick that runs the width under the pointer */
.sec>.wrap>.plate{margin-top:36px}
.doors{display:grid;grid-template-columns:repeat(3,1fr)}
.door{position:relative;display:flex;flex-direction:column;gap:10px;padding:34px 28px 22px;border-right:1px solid var(--line);min-width:0}
.door:last-child{border-right:0}
.door::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--sage);transform:scaleX(.12);transform-origin:left;transition:transform .3s}
.door:first-child::before{left:14px}
.door:hover::before{transform:scaleX(1)}
.door h3{font-family:var(--display);font-size:26px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}
.door p{margin-bottom:12px;font-size:15.5px;color:var(--muted)}
.door p .mono{color:var(--ink);font-size:14.5px}
.door a{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:48px;font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.door a::after{content:"";width:22px;height:2px;background:currentColor;transition:width var(--t)}
.door a:hover{color:var(--ink)}
.door a:hover::after{width:38px}

/* callout + parts */
.close{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;padding-top:56px;padding-bottom:104px}
.callout{border-left:3px solid var(--bronze);background:linear-gradient(180deg,rgba(230,234,236,.03),rgba(0,0,0,.12)),var(--bronze-soft);padding:22px 24px}
.callout p{font-size:18px;line-height:1.5;max-width:58ch}
.callout b{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze);margin-right:6px}
.close .plate{--fill:var(--page)}
.parts{padding:18px 24px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.parts .list{font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}

/* ruled sheets: price lists, fee tables, policy text. Same plate, cells stacked */
.sheet{margin-top:36px}
.sheet>.in{display:flex;flex-direction:column}
.sheet .shead{padding:18px 22px 14px;border-bottom:1.5px solid var(--ink);display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;align-items:baseline}
.sheet .shead h3{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1}
.sheet .shead .micro{color:var(--bronze)}
.row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,110px) minmax(0,1.6fr);border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row>div{padding:13px 22px;min-width:0}
.row>div+div{border-left:1px solid var(--line)}
.row .name{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.15}
.row .amt{font-family:var(--mono);font-size:17px;font-weight:500;white-space:nowrap}
.row .what{font-size:15px;color:var(--muted)}
.row.two{grid-template-columns:minmax(0,1fr) minmax(0,140px)}
.sheet .sfoot{padding:14px 22px;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted)}
/* policy text */
.policy{max-width:76ch;margin-top:36px}
.policy h2{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1;display:flex;align-items:center;gap:12px;margin-top:48px;padding-bottom:10px;border-bottom:1px solid var(--muted)}
.policy h2::before{content:"";width:4px;height:20px;background:var(--sage)}
.policy h2:first-child{margin-top:0}
.policy p,.policy li{margin-top:12px;font-size:16.5px;line-height:1.6;color:var(--ink)}
.policy ul{padding-left:20px;margin-top:6px}
.policy li{margin-top:8px}
.policy .exact{margin-top:14px;padding:16px 18px;border-left:3px solid var(--sage);background:var(--card);font-family:var(--mono);font-size:13.5px;line-height:1.6;color:var(--ink)}
.policy .meta{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-top:0}
.policy .fine{font-size:14px;color:var(--muted)}
.policy a,.callout a,.cart-foot p a,.sec-head p a{display:inline-block;padding:11px 0;margin:-11px 0}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:14px}
.tiles div:nth-child(5){grid-column:span 2}
@media (max-width:620px){.tiles{grid-template-columns:1fr}.tiles div:nth-child(5){grid-column:auto}}
.tiles div{background:var(--card);padding:14px 16px}
.tiles .micro{margin-bottom:6px}
.tiles .amt{font-family:var(--mono);font-size:22px;font-weight:500}
.tiles .what{font-size:14px;color:var(--muted);margin-top:4px}
.shiptab{width:100%;margin-top:14px;border-collapse:collapse;background:var(--card);border:1px solid var(--line)}
.shiptab th,.shiptab td{padding:13px 14px;border-top:1px solid var(--line);text-align:left;vertical-align:top;font-weight:400}
.shiptab thead th{border-top:0;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;color:var(--muted);vertical-align:bottom}
.shiptab tbody th{font-size:16.5px;font-weight:600;color:var(--ink)}
.shiptab .svc{display:block;margin-top:3px;font-size:14px;font-weight:400;color:var(--muted)}
.shiptab .svc:first-of-type{color:var(--ink)}
.shiptab .amt{text-align:right;white-space:nowrap}
.shiptab td.amt{font-family:var(--mono);font-size:19px;font-weight:500}
@media (max-width:620px){.shiptab th,.shiptab td{padding:11px 8px}.shiptab thead th{letter-spacing:.06em;font-size:11px}.shiptab thead th.amt{white-space:normal}.shiptab td.amt{font-size:16px}}
.pageend{padding-top:72px;padding-bottom:104px}
.pageend .callout{max-width:80ch}

/* cart */
.cartlist{margin-top:36px}
.cartlist .row{grid-template-columns:minmax(0,1.6fr) minmax(0,120px) minmax(0,120px)}
.cartlist .row>div{display:flex;align-items:center}
.rm{font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);min-height:44px;display:inline-flex;align-items:center}
.rm:hover{color:var(--ink)}
.cartlist .empty{padding:36px 22px;text-align:center;font-family:var(--mono);font-size:13px;color:var(--muted)}
.cart-foot{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;margin-top:28px}
.cart-foot .plate{--fill:var(--page)}
.cart-foot .in{padding:22px 24px;display:flex;flex-direction:column;gap:12px}
.cart-foot .total{font-family:var(--mono);font-size:27px;font-weight:500}
.cart-foot p{font-size:15px;color:var(--muted)}
.cart-foot .btn{align-self:flex-start}
.cart-foot .btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.attest{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink);cursor:pointer;min-height:44px}
.attest input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--sage)}

/* footer */
.foot{background:linear-gradient(180deg,var(--leaf) 0%,var(--leaf-deep) 100%);border-top:2px solid var(--sage)}
.foot .wrap{padding-top:56px;padding-bottom:36px}
.foot-top{display:flex;flex-wrap:wrap;gap:24px 32px;align-items:center}
.seal{flex:none;--edge:var(--bronze);--fill:var(--black)}
.seal img{width:132px;height:132px}
.foot-id{flex:1 1 320px;min-width:0}
.foot .l1{font-family:var(--display);font-size:34px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1}
.foot .l2{margin-top:6px;font-family:var(--display);font-size:15px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze)}
.foot .l3{margin-top:10px;font-family:var(--mono);font-size:12.5px;color:var(--on-leaf-muted);overflow-wrap:anywhere}
.foot .ref{margin-top:4px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--on-leaf-muted)}
.foot nav{display:flex;flex-wrap:wrap;gap:0 28px;font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.foot nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none}
.foot nav a:hover{color:var(--sage)}
.foot-fine{margin-top:24px;padding-top:16px;border-top:1px solid var(--leaf-line);display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;align-items:center;font-size:13.5px;line-height:1.5;color:var(--on-leaf-muted)}
.foot-fine span{max-width:72ch}
.foot-fine a{font-family:var(--mono);font-size:12.5px;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.foot-fine a:hover{color:var(--ink)}

@media (max-width:1120px){
  .head .wrap{gap:8px 24px}
  .nav a{padding:0 14px;font-size:14px;letter-spacing:.08em}
}
@media (max-width:980px){
  .grid,.grid.two{grid-template-columns:repeat(2,1fr)}
  .steps,.steps.three{grid-template-columns:repeat(2,1fr)}
  .step:nth-child(2){border-right:0}
  .step:nth-child(-n+2){border-bottom:1px solid var(--leaf-line)}
  .steps.three .step:nth-child(3){border-right:0;border-bottom:0}
  .doors{grid-template-columns:1fr}
  .door{border-right:0;border-bottom:1px solid var(--line)}
  .door:last-child{border-bottom:0}
  .close,.cart-foot{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
  .row>div+div{border-left:0;padding-top:0}
  .row .amt{padding-top:0}
}
@media (max-width:820px){
  html{scroll-padding-top:72px}
  .head .wrap{gap:0;align-items:center;flex-wrap:wrap;padding-top:0;padding-bottom:0}
  .brand{flex:1 1 0;min-width:0;gap:12px;padding:12px 0}
  .menu{order:2} .nav{order:3}
  .brand .stamp{width:58px}
  .brand-txt{padding-left:12px}
  .brand b{font-size:26px}
  .brand-txt span{font-size:11.5px;letter-spacing:.16em;margin-top:4px}
  .menu{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:0 12px;border:1px solid var(--line);border-radius:2px;flex:none}
  .menu i{display:block;height:2px;background:var(--ink);transition:transform var(--t),opacity var(--t)}
  .head.open .menu i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .head.open .menu i:nth-child(2){opacity:0}
  .head.open .menu i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav{display:none;flex:0 0 100%;width:100%;flex-direction:column;border-left:0;border-top:1px solid var(--line);font-size:16px}
  .head.open .nav{display:flex}
  .nav a,.nav a:first-child{min-height:50px;padding:0;margin:0;border-right:0;border-left:0;border-bottom:1px solid var(--line)}
  .nav a::after{left:-24px;right:auto;width:4px;height:100%;top:0;transform:scaleY(0);transform-origin:top}
  .nav a:hover::after,.nav a.on::after{transform:scaleY(1)}
  .nav a.cart{align-self:stretch;justify-content:flex-start;margin:0;padding:0;border:0;border-bottom:0;border-radius:0;min-height:50px}
  .nav a.cart:hover{background:transparent;color:var(--sage)}
  .head.tight .brand .stamp{width:58px} .head.tight .brand b{font-size:26px} .head.tight .brand-txt span{display:block} .head.tight .brand{padding:12px 0}
}
@media (max-width:620px){
  .wrap{padding-left:16px;padding-right:16px}
  .strip span{padding:9px 0 0}
  .nav a::after{left:-16px}
  .hero .wrap{padding-top:48px;padding-bottom:56px}
  .phead .wrap{padding-top:44px;padding-bottom:40px}
  .hero-copy p{font-size:17px}
  .btn{flex:1 1 100%}
  .panel{flex-basis:48px}
  .panel img,.panel i{width:34px}
  .vname{font-size:20px}
  .sec{padding-top:64px}
  .grid,.grid.two{grid-template-columns:1fr}
  .band{margin-top:64px;padding-top:52px;padding-bottom:60px}
  .steps,.steps.three{grid-template-columns:1fr}
  .step{padding:22px 20px 24px;border-right:0;border-bottom:1px solid var(--leaf-line)}
  .step:last-child{border-bottom:0}
  .door{padding:26px 20px 16px}
  .close{padding-top:44px;padding-bottom:68px}
  .pageend{padding-top:48px;padding-bottom:68px}
  .seal img{width:112px;height:112px}
  .cartlist .row{grid-template-columns:1fr}
}
