/* thefotosok.com - the drawn plan */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16.5px/1.65 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#55514A;background:#F5F2EC}
img{max-width:100%;height:auto}
a{color:#35322B}
a.bl{color:#9E5D12;text-decoration-color:#F8E9D6}
h1,h2,h3,h4{font-family:'Fraunces', Georgia, 'Times New Roman', serif;color:#26241F;line-height:1.18;margin:0 0 .5em;font-weight:600}
p{margin:.4em 0 1em}
[hidden]{display:none!important}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.mono{font-family:'Azeret Mono', Consolas, ui-monospace, monospace}

/* ---- masthead ---- */
.masthead{background:#FFFFFF;border-bottom:1px solid #DCD6C9;position:sticky;top:0;z-index:40}
.mast-in{display:flex;align-items:center;gap:26px;min-height:64px}
.mark{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}
/* The mark is three stacked shelves inside a graphite tile. The bars are real
   elements rather than pseudo-elements so their widths can differ. */
.mark-tile{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;border-radius:9px;background:#26241F;padding:8px 7px}
.mark-tile i{display:block;height:3px;border-radius:1px;background:#F5F2EC}
.mark-tile i:nth-child(2){background:#D9862A;width:70%}
.mark-tile i:nth-child(3){width:85%}
.mark-word{font:600 19px/1 'Fraunces', Georgia, 'Times New Roman', serif;color:#26241F;letter-spacing:.04em;white-space:nowrap}
.mark-word em{display:block;font:400 10.5px/1.5 'Azeret Mono', Consolas, ui-monospace, monospace;letter-spacing:.12em;color:#857F75;font-style:normal;text-transform:uppercase}
.site-nav{display:flex;gap:18px;flex:1;min-width:0;flex-wrap:wrap}
.site-nav a{font:600 14px/1.2 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#55514A;text-decoration:none;padding:6px 2px;border-bottom:2px solid transparent}
.site-nav a:hover{color:#26241F}
.site-nav a[aria-current]{color:#26241F;border-bottom-color:#C1741A}
.head-cta{display:flex;align-items:center;gap:12px;margin-left:auto}
.ghost-button{font:600 14px/1 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#26241F;background:none;border:1px solid #DCD6C9;border-radius:8px;padding:10px 14px;cursor:pointer;max-width:100%}
.masthead .nav-toggle{display:none}

/* buy buttons: the only solid orange on the site */
.buy{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#C1741A;border-radius:8px;padding:12px 18px;text-decoration:none;border:none;cursor:pointer;max-width:100%;box-shadow:0 1px 0 #9E5D12}
.buy:hover{background:#D9862A}
.buy img{display:block;width:auto;max-width:100%}
.buy-head{padding:9px 14px}

/* ---- hero ---- */
.hero{background:radial-gradient(1100px 420px at 78% -10%, #F8E9D6 0%, transparent 58%), linear-gradient(180deg, #FAF8F4, #F5F2EC);border-bottom:1px solid #E9E4D9}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center;padding:56px 0 46px}
.hero-grid>*{min-width:0}
.kicker{font:500 12.5px/1.4 'Azeret Mono', Consolas, ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}
.k-ink{color:#9E5D12}
.hero h1{font-size:clamp(34px,4.4vw,54px);font-weight:700;letter-spacing:-.01em}
.hero-lead{font-size:18px;max-width:58ch}
.hero-note{font:400 14px/1.65 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#35322B;background:#FFFFFF;border:1px solid #DCD6C9;border-left:4px solid #4A6274;border-radius:0 10px 10px 0;padding:12px 16px;margin:16px 0 22px;max-width:56ch}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ghost-link{font:600 15px/1.2 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#26241F;text-decoration:none;border:1px solid #DCD6C9;border-radius:8px;padding:12px 18px;background:#FFFFFF;max-width:100%}
.ghost-link:hover{border-color:#857F75}
.hero-ph{position:relative;min-width:0}
.hero-crate{background:#FFFFFF;border:1px solid #DCD6C9;border-radius:14px;padding:18px;box-shadow:0 16px 40px rgba(33,40,50,.10)}
.hero-crate img{display:block;border-radius:8px}
.hero-label{position:absolute;left:-10px;top:20px;background:#26241F;color:#F5F2EC;font:500 12.5px/1.3 'Azeret Mono', Consolas, ui-monospace, monospace;letter-spacing:.06em;padding:8px 13px;border-radius:5px;box-shadow:0 4px 10px rgba(33,40,50,.25)}
.hero-label i{font-style:normal;color:#F8E9D6}
/* ---- shelf hero and line headings ---- */
.shelf-hero{border-bottom:1px solid #E9E4D9;background:linear-gradient(180deg,#FAF8F4,#F5F2EC)}
.shelf-hero-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:44px;align-items:stretch;padding:44px 0}
.shelf-hero-in>*{min-width:0}
.shelf-hero h1{font-size:clamp(30px,3.6vw,44px);font-weight:700}
.shelf-hero .ph{background:#FFFFFF;border:1px solid #DCD6C9;border-radius:14px;padding:12px;height:100%;margin:0}
.shelf-hero .ph img{display:block;border-radius:8px;width:100%;height:100%;min-height:240px;object-fit:contain;background:#fff}
.line-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:34px 0 14px;border-bottom:1px solid #DCD6C9;padding-bottom:8px}
.line-h h2{font-size:21px;margin:0}
.line-h .line-ct{font:400 12.5px/1.5 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75}

/* stats band */
.stats{background:#22201C;color:#F1EDE4}
.stats-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:26px 0}
.stat{min-width:0}
.stat b{display:block;font:600 30px/1.1 'Fraunces', Georgia, 'Times New Roman', serif;color:#F1EDE4}
.stat span{font:400 12px/1.5 'Azeret Mono', Consolas, ui-monospace, monospace;color:#B6AFA2;text-transform:uppercase;letter-spacing:.1em}

/* ---- section scaffolding ---- */
.sect{padding:62px 0 26px}
.sect-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start;margin-bottom:26px}
.sect-no{font:600 42px/1 'Fraunces', Georgia, 'Times New Roman', serif;color:transparent;-webkit-text-stroke:1.4px #DCD6C9;padding-top:4px}
.sect-h h2{font-size:clamp(25px,3vw,34px);font-weight:700;margin-bottom:.25em}
.sect-lead{max-width:74ch;font-size:16.5px;margin:0}
.sect-band{background:#EBE6DC;border-top:1px solid #E9E4D9;border-bottom:1px solid #E9E4D9}
.sect-dark{background:#22201C;border:0}
.sect-dark h2,.sect-dark h3{color:#F1EDE4}
.sect-dark .sect-lead{color:#B6AFA2}
.sect-dark .sect-no{-webkit-text-stroke-color:#2F2C26}

/* ---- room rail ---- */
.rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:44px}
.bin{position:relative;display:block;background:#FFFFFF;border:1px solid #DCD6C9;border-top:4px solid var(--bc);border-radius:12px;padding:20px 20px 16px;text-decoration:none;min-width:0}
.bin:hover{box-shadow:0 8px 22px rgba(33,40,50,.09)}
.bin-code{font:500 11.5px/1 'Azeret Mono', Consolas, ui-monospace, monospace;letter-spacing:.12em;color:#fff;background:var(--bc);border-radius:4px;padding:4px 8px;display:inline-block;margin-bottom:10px}
.bin-name{font:600 19px/1.25 'Fraunces', Georgia, 'Times New Roman', serif;color:#26241F;display:block}
.bin-ct{font:400 12.5px/1.6 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75;display:block;margin-top:5px}

/* ---- product cards ---- */
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-bottom:42px}
.pgrid>*{min-width:0}
.pgrid.pgrid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pcard{background:#FFFFFF;border:1px solid #DCD6C9;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.pcard .ph{position:relative;background:#fff;border-bottom:1px solid #E9E4D9;display:block}
.pcard .ph .pimg{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;padding:12px}
.chip{position:absolute;left:10px;top:10px;z-index:2;color:#fff;font:500 12px/1 'Azeret Mono', Consolas, ui-monospace, monospace;padding:5px 9px;border-radius:4px;letter-spacing:.04em}
.chip-shelves{background:#4A6274}
.chip-kids{background:#B0603C}
.chip-bedroom{background:#6E4A6B}
.chip-bath{background:#3E7370}
.chip-kitchen{background:#5E7040}
.chip-living{background:#8A6A2E}
.chip2{position:absolute;right:10px;top:10px;z-index:2;background:#EBE6DC;border:1px solid #DCD6C9;color:#35322B;font:500 12px/1 'Azeret Mono', Consolas, ui-monospace, monospace;padding:5px 8px;border-radius:4px}
.pbody{display:flex;flex-direction:column;flex:1;padding:14px 15px 15px}
.pname{font:600 16.5px/1.35 'Fraunces', Georgia, 'Times New Roman', serif;margin:0 0 6px;color:#26241F}
.pname a{color:inherit;text-decoration:none}
.pname a:hover{text-decoration:underline}
.pline{font:500 12.5px/1.5 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#857F75;margin:0 0 6px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dot{width:11px;height:11px;border-radius:50%;border:1px solid rgba(38,36,31,.25);display:inline-block;flex:0 0 auto}
.pc-col{color:#857F75}
.pc-rev{font:400 12.5px/1.5 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#55514A;margin:0 0 10px;display:block;flex:1 0 auto}
.stars{color:#A97B14;letter-spacing:.05em}
.pfoot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;flex-wrap:wrap}
.tag{display:inline-block;background:#FAF8F4;border:1px dashed #DCD6C9;border-radius:6px;padding:7px 10px;min-width:0}
.tag b{font:700 17px/1.1 'Azeret Mono', Consolas, ui-monospace, monospace;color:#26241F;display:block}
.tag i{font:italic 400 11px/1.4 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75;display:block;white-space:nowrap}
.tag-na{font:400 12.5px/1.4 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75}
.pfoot .buy{padding:10px 13px;flex:0 0 auto}

/* ---- gallery mosaic ---- */
.mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding-bottom:46px}
.mosaic figure{margin:0;min-width:0;grid-column:span 2;background:#FFFFFF;border:1px solid #DCD6C9;border-radius:12px;overflow:hidden}
.mosaic figure.w3{grid-column:span 3}
.mosaic img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff;padding:10px}
.mosaic figcaption{font:400 12px/1.5 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75;padding:9px 12px;border-top:1px solid #E9E4D9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- split sections ---- */
.split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:46px;align-items:start;padding-bottom:48px}
.split>*{min-width:0}
.split > .ph{background:#FFFFFF;border:1px solid #DCD6C9;border-radius:14px;padding:14px;position:sticky;top:88px}
.split > .ph img{display:block;border-radius:8px}
.split > .ph figcaption{font:400 12px/1.5 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75;padding-top:10px}
.story-p{font-size:16.5px;max-width:64ch}

/* plan diagram: three stages of a build */
.coat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 18px}
.coat>div{min-width:0;background:#FFFFFF;border:1px solid #DCD6C9;border-radius:10px;padding:14px 15px}
.coat b{font:600 14px/1.4 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#26241F;display:block;margin-bottom:4px}
.coat p{font-size:13.5px;margin:0;color:#55514A}
/* The tablet dot: a span without display stays inline, width and height do
   nothing to it, and the ring collapses into a sliver. */
/* Three little plan icons: stacked panels, a squared frame, a fixed wall.
   Real blocks with display set, because a span left inline collapses. */
.coat .plan-ic{display:block;width:30px;height:26px;margin-bottom:10px;box-sizing:border-box}
.coat .plan-ic.p1{background:repeating-linear-gradient(180deg,#D9862A 0 4px,transparent 4px 9px)}
.coat .plan-ic.p2{border:3px solid #D9862A;background:linear-gradient(45deg,transparent 46%,#D9862A 46% 54%,transparent 54%)}
.coat .plan-ic.p3{border-left:3px solid #26241F;background:linear-gradient(90deg,transparent 0 6px,#D9862A 6px 10px,transparent 10px)}

/* ---- cells ---- */
.cells{display:grid;gap:16px;padding-bottom:48px}
.cells>*{min-width:0}
.cells-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cells-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cells-2{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:0}
.cell{background:#FFFFFF;border:1px solid #DCD6C9;border-radius:12px;padding:20px 20px 14px}
.cell h3{font-size:18px;margin-bottom:.4em}
.cell p{font-size:14.5px;margin:0 0 .4em;color:#55514A}
.sect-dark .cell{background:#2F2C26;border-color:transparent}
.sect-dark .cell h3{color:#F1EDE4}
.sect-dark .cell p{color:#B6AFA2}
.cell-motto{display:grid;place-items:center;background:#4A6274;border-color:transparent}
.cell-motto p{font:600 24px/1.3 'Fraunces', Georgia, 'Times New Roman', serif;color:#fff;text-align:center;margin:0}
.cert-note{font:400 13px/1.6 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75;margin:-26px 0 46px}
.cert-note a{color:#9E5D12}

/* ---- tables ---- */
.tbl-scroll{overflow-x:auto;margin-bottom:10px}
table.cmp{border-collapse:collapse;width:100%;min-width:760px;background:#FFFFFF;border:1px solid #DCD6C9;border-radius:10px;overflow:hidden}
.cmp th,.cmp td{padding:13px 16px;text-align:left;border-bottom:1px solid #E9E4D9;font-size:14.5px;vertical-align:top}
.cmp thead th{font:500 12.5px/1.4 'Azeret Mono', Consolas, ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;background:#EBE6DC;color:#35322B}
.cmp tbody th{font:600 14.5px/1.5 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#26241F;white-space:nowrap}
.cmp td.hot{background:#EAF3F8}
.cmp td.hot2{background:#F8F2E2}
.cmp thead th.hot{background:#4A6274;color:#fff}
.cmp thead th.hot2{background:#B0603C;color:#fff}
.cmp-note{font:400 13px/1.6 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75;margin:8px 0 46px}
table.plain{border-collapse:collapse;width:100%;min-width:560px;background:#FFFFFF;border:1px solid #DCD6C9}
.plain caption{caption-side:top;text-align:left;font:500 13px/1.5 'Azeret Mono', Consolas, ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;color:#35322B;padding:0 0 10px}
.plain th,.plain td{padding:11px 14px;border-bottom:1px solid #E9E4D9;font-size:14.5px;text-align:left;vertical-align:top}
.plain thead th{font:500 12.5px/1.4 'Azeret Mono', Consolas, ui-monospace, monospace;text-transform:uppercase;letter-spacing:.05em;background:#EBE6DC}

/* ---- reviews ---- */
.revs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-bottom:46px}
/* One quote in a four column grid stands in a narrow column with three
   quarters of the screen empty beside it. Column count follows the card
   count, and a single card is capped at a readable measure. */
.revs-1{grid-template-columns:minmax(0,560px)}
.revs-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.revs-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.revs>*{min-width:0}
.rcard{background:#FFFFFF;border:1px solid #DCD6C9;border-radius:12px;padding:18px 18px 14px;display:flex;flex-direction:column}
.rcard .stars{font-size:15px;margin-bottom:8px}
.rcard blockquote{margin:0 0 12px;font-size:14.5px;color:#35322B;line-height:1.6;flex:1 0 auto}
.rcard .rwho{font:400 12px/1.6 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75}
.rcard .rwho b{color:#55514A;font-weight:700}

/* ---- med note ---- */
.wall-note{background:#FFFFFF;border:1px solid #DCD6C9;border-left:4px solid #4A6274;border-radius:0 10px 10px 0;padding:14px 18px;font-size:14px;color:#35322B;max-width:76ch}
.wall-note a{color:#9E5D12}

/* ---- home article ---- */
.art-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:46px;align-items:start;padding-bottom:48px}
.art-split>*{min-width:0}
.art-rail{position:sticky;top:88px;display:grid;gap:16px}
.art-rail figure{margin:0;background:#FFFFFF;border:1px solid #DCD6C9;border-radius:12px;padding:12px}
.art-rail img{display:block;border-radius:8px;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff}
.art-rail figcaption{font:400 12px/1.5 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75;padding-top:9px}
.article-body{max-width:760px}
.article-body p{font-size:16.5px}
.article-body h3{font-size:22px;margin:1.4em 0 .5em}

/* ---- journal previews ---- */
.jgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:46px}
.jgrid>*{min-width:0}
.jcard{background:#FFFFFF;border:1px solid #DCD6C9;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none}
.jcard img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#fff;padding:10px}
.jbody{padding:18px 18px 16px;display:flex;flex-direction:column;flex:1}
.jkick{font:500 11.5px/1.4 'Azeret Mono', Consolas, ui-monospace, monospace;letter-spacing:.13em;text-transform:uppercase;color:#9E5D12;margin:0 0 8px}
.jcard h3{font-size:19px;line-height:1.32;margin:0 0 8px}
.jcard p{font-size:14px;color:#55514A;margin:0 0 12px;flex:1 0 auto}
.jmore{font:600 13.5px/1.2 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#9E5D12}

/* ---- closing ---- */
.closing{background:#22201C;color:#B6AFA2}
.closing-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center;padding:56px 0}
.closing h2{color:#F1EDE4;font-size:clamp(26px,3.2vw,38px);margin-bottom:.3em}
.closing p{margin:0;max-width:58ch}
.closing-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.closing .ghost-link{background:transparent;color:#F1EDE4;border-color:#2F2C26}

/* ---- product pages ---- */
.crumbs{font:400 12.5px/1.6 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75;padding:14px 0 0}
.crumbs a{color:#857F75}
.pd{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:46px;align-items:start;padding:34px 0 30px}
.pd>*{min-width:0}
.pd-ph{background:#FFFFFF;border:1px solid #DCD6C9;border-radius:14px;padding:16px}
.pd-ph .lead{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff;border-radius:8px}
/* The strip takes its column count from how many frames survived the block
   list: one lonely thumbnail in a four-column grid reads as a hole. */
.pd-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.pd-thumbs.t1{grid-template-columns:repeat(2,minmax(0,1fr))}
.pd-thumbs.t2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pd-thumbs.t3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pd-thumbs img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#fff;border:1px solid #E9E4D9;border-radius:8px;padding:6px}
.pd-strength{display:inline-block;color:#fff;font:500 12.5px/1 'Azeret Mono', Consolas, ui-monospace, monospace;padding:6px 10px;border-radius:4px;letter-spacing:.06em;margin-bottom:12px}
.pd h1{font-size:clamp(26px,3.2vw,38px);font-weight:700}
.pd-rev{font-size:14px;color:#55514A;margin:2px 0 14px}
.pd-buyrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0 8px}
.pd-buyrow .tag{padding:9px 13px}
.pd-buyrow .tag b{font-size:20px}
.pd-facts{list-style:none;margin:16px 0;padding:0;border:1px solid #DCD6C9;border-radius:10px;background:#FFFFFF;overflow:hidden}
.pd-facts li{display:flex;justify-content:space-between;gap:14px;padding:10px 14px;border-bottom:1px solid #E9E4D9;font-size:14px}
.pd-facts li:last-child{border-bottom:0}
.pd-facts b{font-weight:600;color:#26241F;white-space:nowrap}
.pd-facts span{text-align:right;min-width:0}
/* The description sits in the left column under the frame: as a full width
   band below the grid it left a third of the screen empty on the right. It is
   its own grid cell rather than a child of the picture column, because nested
   there it stacked ABOVE the heading on a narrow screen. */
.pd-desc{grid-column:1;grid-row:2;padding:4px 2px 2px}
.pd-desc p{font-size:16px}
.pd-note{padding:8px 0 34px}
.related-h{font-size:22px;margin:26px 0 14px}

/* ---- journal pages ---- */
.art-hero{border-bottom:1px solid #E9E4D9;background:linear-gradient(180deg,#FAF8F4,#F5F2EC)}
.art-hero-in{padding:44px 0 30px;max-width:860px}
.art-hero h1{font-size:clamp(28px,3.4vw,42px);font-weight:700;max-width:26ch}
.art-meta{font:400 13px/1.6 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75}
.art-cover{max-width:980px;margin:24px auto 0;padding:0 24px}
.art-cover img{display:block;border-radius:14px;border:1px solid #DCD6C9;width:100%;height:auto;aspect-ratio:21/9;object-fit:contain;background:#fff}
.prose{max-width:760px;margin:0 auto;padding:36px 24px 24px}
.prose p{font-size:17px;line-height:1.74}
.prose h2{font-size:26px;margin:1.5em 0 .5em}
.prose h3{font-size:20px;margin:1.3em 0 .4em}
.prose .tbl-scroll{margin:22px 0}
.pull{border-left:4px solid #C1741A;background:#FAF8F4;border-radius:0 10px 10px 0;margin:26px 0;padding:18px 22px}
.pull p{font:italic 600 18.5px/1.55 'Fraunces', Georgia, 'Times New Roman', serif;color:#35322B;margin:0}
.embed2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:26px 0}
.embed2>*{min-width:0}
.embed1{max-width:400px;margin:26px auto}
.jindex-hero{padding:46px 0 8px}
.jindex-hero h1{font-size:clamp(30px,3.6vw,44px)}

/* ---- fine print ---- */
.legal{max-width:760px;margin:0 auto;padding:44px 24px 40px}
.legal h1{font-size:clamp(28px,3.2vw,38px)}
.legal h2{font-size:21px;margin:1.5em 0 .4em}
.legal p,.legal li{font-size:15.5px;line-height:1.7}
.legal ul{padding-left:22px}
.src-list{list-style:none;padding:0}
.src-list li{background:#FFFFFF;border:1px solid #DCD6C9;border-radius:10px;padding:16px 18px;margin:0 0 12px}
.src-list .src-org{font:500 12px/1.5 'Azeret Mono', Consolas, ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:#9E5D12}
.src-list a{font-weight:600;color:#26241F}
.src-list .src-read{font:400 12px/1.6 'Azeret Mono', Consolas, ui-monospace, monospace;color:#857F75}
.src-list p{margin:.4em 0 0;font-size:14.5px}

/* ---- footer ---- */
.site-footer{background:#22201C;color:#B6AFA2;margin-top:40px}
.foot-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,2.6fr) minmax(0,2.6fr) minmax(0,2.6fr);gap:34px;padding:52px 24px 26px}
.foot-grid>*{min-width:0}
.foot-mark{font:600 21px/1 'Fraunces', Georgia, 'Times New Roman', serif;color:#F1EDE4;letter-spacing:.05em;margin:0 0 12px}
.foot-blurb{font-size:14px;max-width:36ch}
.foot-soc{font:400 12.5px/1.8 'Azeret Mono', Consolas, ui-monospace, monospace;color:#B6AFA2;letter-spacing:.04em}
.foot-h{font:500 12px/1.4 'Azeret Mono', Consolas, ui-monospace, monospace;letter-spacing:.13em;text-transform:uppercase;color:#F1EDE4;margin:0 0 12px}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin:0 0 8px}
.foot-col a{color:#B6AFA2;text-decoration:none;font-size:14px}
.foot-col a:hover{color:#F1EDE4}
.foot-wall{border-top:1px solid #2F2C26;padding:18px 24px 0;font-size:13px;line-height:1.7;color:#B6AFA2;max-width:1180px;margin:0 auto}
.foot-base{border-top:1px solid #2F2C26;margin-top:18px;padding-top:22px;padding-bottom:30px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px}
.foot-pay{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pay-mark{height:26px;width:auto}
.disclosure{margin:0;display:flex;align-items:center;min-width:0}
.disclosure img.dsc{width:auto;max-width:100%}
.foot-copy{margin:0;font:400 12.5px/1.6 'Azeret Mono', Consolas, ui-monospace, monospace;margin-left:auto}

/* ---- buy rail ---- */
.buyrail{position:fixed;left:0;right:0;bottom:0;background:#26241F;transform:translateY(110%);transition:transform .25s ease;z-index:50;box-shadow:0 -6px 18px rgba(33,40,50,.2)}
.buyrail.on{transform:none}
.buyrail-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px}
.buyrail-t{font:600 14px/1.4 'Public Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;color:#F5F2EC;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.buy-rail{padding:9px 14px;flex:0 0 auto}

/* ---- responsive ---- */
@media (max-width:1080px){
  .pgrid,.pgrid.pgrid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .revs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cells-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hero-grid,.split,.closing-in,.art-split,.pd,.shelf-hero-in{grid-template-columns:minmax(0,1fr)}
  /* In one column the description falls where the markup puts it, which is
     last. The explicit row from the desktop rule would lift it above the
     heading instead. */
  .pd-desc{grid-row:auto}
  .split > .ph{position:static}
  .art-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rail{grid-template-columns:minmax(0,1fr)}
  .pgrid,.pgrid.pgrid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mosaic figure,.mosaic figure.w3{grid-column:span 1}
  .cells-3{grid-template-columns:minmax(0,1fr)}
  .coat{grid-template-columns:minmax(0,1fr)}
  .jgrid{grid-template-columns:minmax(0,1fr)}
  .closing-cta{justify-content:flex-start}
  .site-nav{display:none;position:absolute;left:0;right:0;top:64px;background:#FFFFFF;border-bottom:1px solid #DCD6C9;padding:12px 24px 16px;flex-direction:column;gap:4px}
  .masthead .nav-toggle{display:inline-block}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .hero-grid{padding:40px 0 34px;gap:30px}
  .hero-ctas .buy,.hero-ctas .ghost-link{flex:1 1 100%;text-align:center;justify-content:center}
  .pgrid,.pgrid.pgrid-3{grid-template-columns:minmax(0,1fr)}
  .revs{grid-template-columns:minmax(0,1fr)}
  .cells-4,.cells-2,.cells{grid-template-columns:minmax(0,1fr)}
  .art-rail{grid-template-columns:minmax(0,1fr)}
  .embed2{grid-template-columns:minmax(0,1fr)}
  .pd-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sect{padding:46px 0 18px}
  .sect-head{grid-template-columns:minmax(0,1fr)}
  .sect-no{display:none}
  .stats-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat b{font-size:24px}
  .mark-word em{display:none}
  .buyrail-t{display:none}
  .buyrail-in{justify-content:center}
  .foot-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .foot-copy{margin-left:0}
  .disclosure{flex-wrap:wrap}
  .disclosure img.dsc{max-width:100%;height:auto!important}
  .head-cta .buy-head{display:none}
}
