:root{--ink:#0b0b0b;--paper:#f7f7f4;--white:#fff;--line:#cfcfc9;--muted:#65655f;--accent:#ffdd00;--radius:1.2rem;--shadow:0 24px 70px rgba(0,0,0,.16)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.5}
button,a,select{font:inherit}
button,a{color:inherit}
button{cursor:pointer}
.site-header{height:86px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:2rem;padding:0 clamp(1.25rem,4vw,4rem);border-bottom:1px solid var(--ink);position:sticky;top:0;background:rgba(247,247,244,.96);backdrop-filter:blur(12px);z-index:20}
.brand img{display:block;width:185px;height:58px;object-fit:cover;object-position:center}
nav{display:flex;justify-content:center;gap:2rem}
nav a,.text-link,footer a{text-decoration:none;font-weight:700}
nav a:hover,.text-link:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}
.cart-trigger{border:0;background:var(--ink);color:var(--white);padding:.78rem 1rem;font-weight:700;border-radius:999px}
.cart-trigger span{display:inline-grid;place-items:center;margin-left:.35rem;background:var(--accent);color:var(--ink);min-width:1.6rem;height:1.6rem;border-radius:50%;font-size:.8rem}
.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.08fr .92fr;border-bottom:1px solid var(--ink)}
.hero-copy{padding:clamp(4rem,9vw,8rem) clamp(1.25rem,6vw,7rem);display:flex;flex-direction:column;justify-content:center}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:800;margin:0 0 1.2rem}
h1,h2{font-family:"Archivo Black",sans-serif;text-transform:uppercase;line-height:.92;margin:0;letter-spacing:-.055em}
h1{font-size:clamp(4rem,9vw,9rem)}
h1 span{-webkit-text-stroke:2px var(--ink);color:transparent}
.hero-lead{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:620px;margin:2rem 0;color:#343430}
.hero-actions{display:flex;align-items:center;gap:1.5rem}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--ink);padding:1rem 1.35rem;font-weight:800;border-radius:999px}
.button-dark{background:var(--ink);color:var(--white)}
.button-dark:hover{background:#2c2c2c}
.hero-mark{position:relative;display:grid;place-items:center;background:var(--accent);overflow:hidden;border-left:1px solid var(--ink)}
.hero-mark:before,.hero-mark:after{content:"";position:absolute;border:1px solid rgba(0,0,0,.22);border-radius:50%;width:75%;aspect-ratio:1}
.hero-mark:after{width:105%}
.hero-mark img{position:relative;width:min(72%,520px);max-height:76vh;object-fit:contain;mix-blend-mode:multiply;z-index:1}
.stamp{position:absolute;right:8%;top:11%;width:110px;aspect-ratio:1;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1.2;transform:rotate(10deg);z-index:2}
.catalog{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,4vw,4rem)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:2.5rem}
.section-heading h2,.order-guide h2{font-size:clamp(3rem,6vw,6rem)}
.section-heading>p{max-width:460px;margin:0;color:var(--muted)}
.filters{display:flex;gap:.5rem;margin-bottom:1.5rem;overflow:auto}
.filter{border:1px solid var(--ink);background:transparent;border-radius:999px;padding:.65rem 1.1rem;font-weight:700}
.filter.active{background:var(--ink);color:var(--white)}
.product-search{display:flex;flex-direction:column;gap:.55rem;min-width:0}
.product-search input{width:min(100%,360px);min-height:46px;padding:.7rem .9rem;border:1px solid var(--ink);border-radius:4px;background:#fff;color:var(--ink);font:inherit}
.product-search input:focus-visible{outline:3px solid #8d7864;outline-offset:2px}
.search-result:empty{display:none}
.search-result{margin:.5rem 0 1rem;font-size:.9rem}
.no-products{grid-column:1/-1;padding:1.25rem;margin:0}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.product-card{min-width:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:1.4rem;display:flex;flex-direction:column;min-height:380px;background:var(--white);transition:transform .2s,box-shadow .2s}
.product-card:hover{position:relative;z-index:2;transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--ink)}
.product-top{display:flex;justify-content:space-between;gap:1rem}
.badge{display:inline-block;text-transform:uppercase;font-size:.72rem;letter-spacing:.09em;font-weight:800;border:1px solid var(--ink);border-radius:999px;padding:.28rem .55rem}
.stock{font-size:.8rem;font-weight:700}.stock:before{content:"";display:inline-block;width:.5rem;height:.5rem;background:#198754;border-radius:50%;margin-right:.4rem}
.product-art{height:150px;display:grid;place-items:center;margin:1.2rem 0;background:var(--paper);border-radius:50% 50% 46% 54%/55% 46% 54% 45%;overflow:hidden}
.product-art img{height:138px;mix-blend-mode:multiply}
.product-card h3{font-family:"Archivo Black",sans-serif;text-transform:uppercase;font-size:1.35rem;line-height:1.05;margin:.2rem 0 .7rem}
.origin{color:var(--muted);font-size:.9rem;margin:0 0 1rem}
.product-description{font-size:.94rem;line-height:1.5;margin:0 0 1.25rem;max-width:42ch}
.product-buy{display:grid;grid-template-columns:1fr auto;gap:.65rem;margin-top:auto;align-items:end}
.price{font-weight:800}.price small{display:block;color:var(--muted);font-weight:500;font-size:.75rem}
.controls{display:flex;gap:.5rem}
.gram-select{border:1px solid var(--ink);background:var(--white);border-radius:.7rem;padding:.65rem .5rem}
.add{border:1px solid var(--ink);background:var(--ink);color:white;border-radius:.7rem;padding:.65rem .85rem;font-weight:800}
.order-guide{display:grid;grid-template-columns:1fr 1fr;gap:5rem;background:var(--ink);color:var(--white);padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,7rem)}
.eyebrow.inverse{color:var(--accent)}
.order-guide ol{margin:0;padding:0;list-style:none}
.order-guide li{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:1.4rem 0;border-top:1px solid #444}
.order-guide li:last-child{border-bottom:1px solid #444}
.order-guide li>span{color:var(--accent);font-weight:800}
.order-guide strong{font-size:1.2rem}.order-guide p{margin:.3rem 0 0;color:#bdbdb8}
footer{display:grid;grid-template-columns:230px 1fr auto;gap:2rem;align-items:center;padding:3rem clamp(1.25rem,4vw,4rem);border-top:1px solid var(--ink)}
footer img{width:210px;height:78px;object-fit:cover}footer p{color:var(--muted)}footer>div{display:flex;gap:1rem}footer button{border:0;background:transparent;font-weight:700;padding:0}footer small{grid-column:1/-1;color:var(--muted)}
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:29}
.cart-panel{position:fixed;top:0;right:0;height:100%;width:min(470px,100%);background:var(--paper);z-index:30;transform:translateX(105%);transition:transform .28s ease;box-shadow:var(--shadow);padding:1.5rem;display:flex;flex-direction:column}
.cart-panel.open{transform:none}.cart-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--ink);padding-bottom:1rem}.cart-head h2{font-size:2.6rem}.icon-button{border:1px solid var(--ink);background:transparent;width:44px;height:44px;border-radius:50%;font-size:1.7rem}.cart-items{overflow:auto}.cart-item{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.cart-item h3{font-size:1rem;margin:0}.cart-item p{font-size:.85rem;color:var(--muted);margin:.25rem 0}.remove{border:0;background:transparent;text-decoration:underline;font-size:.82rem}.cart-empty{text-align:center;margin:auto}.cart-empty button{border:0;background:transparent;text-decoration:underline;font-weight:700}.cart-footer{margin-top:auto;border-top:1px solid var(--ink);padding-top:1rem}.total-line{display:flex;justify-content:space-between;font-size:1.1rem}.cart-note,.wa-pending{font-size:.8rem;color:var(--muted)}.checkout{width:100%;border-radius:.8rem}.checkout:disabled{opacity:.45;cursor:not-allowed}.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,150%);background:var(--ink);color:var(--white);padding:.8rem 1rem;border-radius:999px;z-index:50;transition:transform .25s}.toast.show{transform:translate(-50%,0)}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:76px}.brand img{width:150px;height:50px}nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:640px}.hero-mark{min-height:500px;border-left:0;border-top:1px solid var(--ink)}.product-grid{grid-template-columns:repeat(2,1fr)}.order-guide{grid-template-columns:1fr;gap:3rem}footer{grid-template-columns:1fr auto}footer p{grid-column:1/-1}}
@media(max-width:600px){.site-header{padding:0 1rem}.cart-trigger{font-size:.86rem;padding:.65rem .75rem}.hero-copy{padding:5rem 1.25rem;min-height:auto}.hero-lead{font-size:1rem}.hero-mark{min-height:390px}.hero-actions{flex-wrap:wrap}.section-heading{display:block}.section-heading>p{margin-top:1.2rem}.product-grid{grid-template-columns:1fr}.product-card{min-height:340px}.order-guide h2{font-size:3.1rem}footer{grid-template-columns:1fr}footer>div{flex-direction:column;align-items:start}.cart-panel{padding:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Monochrome revision */
:root{color-scheme:light;--paper:#fff;--accent:#fff;--muted:#555}
.site-header{background:#fff;grid-template-columns:minmax(190px,300px) 1fr auto}
.brand img{width:100%;height:auto;max-height:58px;object-fit:contain}
.hero-mark{background:#fff}.hero-mark:before,.hero-mark:after{display:none}.hero-mark img{width:92%;mix-blend-mode:normal}
h1 span{color:var(--ink);-webkit-text-stroke:0}
.stock:before{background:#555}.stock{font-size:.85rem}
footer img{object-fit:contain;width:100%;max-width:260px;height:auto}
.footer-social{display:flex;align-items:center;gap:1rem}.footer-social-links{display:flex;gap:.5rem}
.footer-social .social-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--ink);border-radius:50%;background:var(--white);color:var(--ink);text-decoration:none}
.footer-social .social-icon:hover{background:var(--ink);color:var(--white);text-decoration:none}
.footer-social .social-icon:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.footer-social .social-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-social .social-icon .icon-dot{fill:currentColor;stroke:none}
@media(max-width:600px){.footer-social{align-items:flex-start}.footer-social-links{flex-direction:row}}
.about{padding:5rem clamp(1.25rem,6vw,7rem);border-top:1px solid #111}.about h2{font-size:clamp(2rem,5vw,4rem)}.about p{max-width:760px;font-size:1.1rem}.about address{font-style:normal;margin:1.5rem 0}
.cart-panel{overflow:auto}.cart-items{flex-shrink:0;overflow:visible}.cart-footer{margin-top:1rem}.cart-head{flex-shrink:0}
#order-form label{display:block;font-size:1rem;margin:.8rem 0}input,textarea,#courier{display:block;width:100%;font:inherit;border:1px solid #999;border-radius:6px;padding:.65rem;margin-top:.3rem;background:white;color:#111}textarea{min-height:85px}
.grind{margin:0 0 1rem;display:flex;flex-direction:column;gap:.3rem}.grind select{padding:.6rem;background:#fff;color:#111;border:1px solid #888;border-radius:6px;font:inherit}
.payment{margin-top:1rem}.payment summary{cursor:pointer;font-weight:700}.payment img{width:100%;height:auto}.payment p{font-size:.9rem}
[hidden]{display:none!important}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;gap:1rem}.brand img{max-width:230px}.hero-copy{min-height:0;padding-top:4rem;padding-bottom:4rem}}
@media(max-width:420px){h1{font-size:3.6rem}.brand img{max-width:180px}.cart-trigger{font-size:.8rem}}

/* Compact horizontal navigation, inspired by the supplied reference. */
html{scroll-padding-top:80px}
.site-header{height:68px;grid-template-columns:220px 1fr auto;gap:28px;padding:0 30px;background:#fff;border-bottom:1px solid #e9e9e9;backdrop-filter:none}
.brand{display:flex;align-items:center;min-width:0}
.site-header .brand img{display:block;width:220px;max-width:100%;height:auto;max-height:44px;object-fit:contain}
.site-header nav{display:flex;justify-content:flex-end;align-items:center;gap:28px}
.site-header nav a{text-transform:uppercase;font-size:.72rem;font-weight:500;letter-spacing:.09em;white-space:nowrap;padding:14px 0;text-underline-offset:5px}
.site-header .cart-trigger{display:flex;align-items:center;justify-content:center;gap:5px;min-width:54px;min-height:44px;padding:0 0 0 20px;border-left:1px solid #bcbcbc;border-radius:0;background:transparent;color:#111}
.site-header .cart-trigger #cart-count{display:inline;min-width:12px;height:auto;margin:0;background:none;border-radius:0;font-size:.7rem;font-weight:500;align-self:flex-start;padding-top:7px}
.menu-toggle{display:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header :focus-visible{outline:2px solid #111;outline-offset:4px}
.hero{min-height:calc(100vh - 68px)}
@media(max-width:900px){
 .site-header{height:64px;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:0 18px}
 .site-header .brand img{width:210px;max-height:40px}
 .site-header .cart-trigger{padding-left:12px;min-width:44px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:11px;background:transparent;border:0}
 .menu-toggle span{display:block;width:22px;height:1px;background:#111;transition:transform .2s}
 .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 24px 20px;background:#fff;border-bottom:1px solid #ddd;box-shadow:0 12px 20px #00000008;align-items:stretch;gap:0}
 .site-header nav.is-open{display:flex;flex-direction:column}
 .site-header nav a{padding:15px 0;font-size:.8rem;border-bottom:1px solid #eee}
 .site-header nav a:last-child{border-bottom:0}
 .hero{min-height:auto}
}
@media(max-width:380px){.site-header{gap:6px;padding:0 12px}.site-header .brand img{width:170px}}

.product-photo{margin:1.2rem 0;min-width:0}.product-photo img{display:block;width:100%;height:auto;aspect-ratio:533/665;object-fit:contain}.product-photo figcaption{font-size:.75rem;color:var(--muted);margin-top:.4rem;text-align:center}
.product-placeholder{aspect-ratio:4/3;background:#f3f3f1;border:1px solid #dededb;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.7rem;overflow:hidden}.product-photo .product-placeholder img{width:auto;height:38%;aspect-ratio:auto;object-fit:contain}.product-placeholder span{font-family:"Archivo Black",sans-serif;font-size:clamp(.8rem,1vw,1rem);letter-spacing:.08em}
.catalog-status{font-size:.88rem;color:var(--muted);margin:0 0 1.25rem}.add:disabled{opacity:.4;cursor:not-allowed}

/* Catalog and shareable product pages. */
.compact-card{min-height:0;cursor:pointer}.card-detail-link{color:inherit;text-decoration:none}.card-detail-link:focus-visible{outline:3px solid #111;outline-offset:5px}.compact-card .product-description{font-size:1rem;line-height:1.6;max-width:none}.compact-card h3{line-height:1.2}.compact-card .product-placeholder{aspect-ratio:4/3}.card-bottom{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-top:auto;padding-top:.5rem}.detail-hint{font-size:.9rem;text-decoration:underline;text-underline-offset:4px}.stock{font-size:.875rem}.stock.po:before,.stock.unknown:before{background:transparent;border:1px solid #555}.stock.po{font-weight:800}.product-top{align-items:start}.badge{font-size:.875rem}.price small{font-size:.875rem}.product-detail{max-width:1440px;margin:auto;padding:2rem clamp(1.25rem,5vw,5rem) 5rem}.back-link{display:inline-block;margin:0 0 2.5rem;text-underline-offset:4px;font-size:.95rem}.detail-layout{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,5vw,5rem)}.detail-image .product-photo{margin:0}.detail-image .product-placeholder{aspect-ratio:1}.detail-image .product-placeholder img{height:42%}.detail-summary h1{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.06;letter-spacing:-.035em;overflow-wrap:anywhere}.detail-summary .eyebrow{font-size:.875rem}.detail-origin{color:var(--muted);margin:.8rem 0}.detail-intro{line-height:1.75;margin:1.5rem 0}.detail-price{font-size:1.8rem;margin:1.5rem 0}.detail-options{display:grid;grid-template-columns:1.6fr 1fr;gap:1rem}.detail-options select{width:100%;min-width:0}.detail-options .grind{min-width:0}.detail-cta{width:100%;border-radius:0;min-height:52px}.selected-price{margin:0 0 1rem;font-weight:700}.detail-note{font-size:.875rem;color:var(--muted);line-height:1.65}.po-note{padding:1.25rem;margin-top:1.5rem;background:#f3f3f1;border-left:3px solid #111}.po-note p{margin:.5rem 0 0;line-height:1.7}.detail-reading{max-width:850px;margin:4rem auto 0}.detail-reading section{padding:2rem 0;border-top:1px solid #ccc}.detail-reading h2{font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.2;letter-spacing:-.02em;text-transform:none}.detail-reading p{line-height:1.8}.coffee-specs{margin:1.5rem 0}.coffee-specs>div{display:grid;grid-template-columns:160px 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid #eee}.coffee-specs dt{color:var(--muted)}.coffee-specs dd{margin:0;font-weight:600}.reading-sources{font-size:.875rem;line-height:1.8}.reading-sources summary{cursor:pointer}.reading-sources a{text-underline-offset:3px}.product-detail button:focus-visible{outline:3px solid #555;outline-offset:4px}.detail-summary h1:focus{outline:none}
@media(max-width:800px){.detail-layout{grid-template-columns:1fr}.detail-image{max-width:560px;width:100%;margin:auto}.detail-image .product-placeholder{aspect-ratio:4/3}.detail-reading{margin-top:2.5rem}.detail-summary h1{font-size:2.5rem}.back-link{margin-bottom:1.5rem}}
@media(max-width:420px){.detail-options{grid-template-columns:1fr}.coffee-specs>div{grid-template-columns:1fr;gap:.2rem}.product-top{flex-wrap:wrap;gap:.5rem}.card-bottom{align-items:start;flex-direction:column}}

/* Approved studio mockups already contain the realistic printed label. */
.package-photo{margin:1rem 0 1.15rem}
.product-photo .integrated-product-image{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:3px}
.pack-visual{position:relative;aspect-ratio:1122/1402;container-type:inline-size;overflow:hidden;background-color:#ddd;background-size:cover;background-position:center}
.backdrop-highland{background-image:url('./assets/bg-highland-garden.jpg')}.backdrop-garden{background-image:url('./assets/bg-garden-table.jpg')}.backdrop-kitchen{background-image:url('./assets/bg-sunny-kitchen.jpg')}.backdrop-cafe{background-image:url('./assets/bg-marble-cafe.jpg')}.backdrop-studio{background-image:url('./assets/bg-warm-forest.jpg')}
.product-photo .pack-base{position:absolute;z-index:2;inset:3%;display:block;width:94%;height:94%;aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 1.5cqw 1.4cqw #0006)}
.product-photo .pack-label{position:absolute;z-index:3;left:28.1%;top:25.3%;display:block;width:44.6%;height:auto;aspect-ratio:597/765;object-fit:contain;border-radius:1.5cqw;filter:drop-shadow(0 .4cqw .4cqw #0005)}
.pack-annotations{position:absolute;z-index:4;inset:0;pointer-events:none}
.label-origin,.label-other-process{position:absolute;color:#f6f6f6;font-family:"DM Sans",Arial,sans-serif;font-size:2.05cqw;font-weight:700;line-height:1.1;text-align:left;text-shadow:0 1px 1px #000;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transform:rotate(1deg);transform-origin:left center}
.label-origin{left:30.7%;width:40%;top:49.2%}
.label-other-process{right:29%;top:54.3%;font-size:1.6cqw}
.label-check{position:absolute;color:#fff;font-family:Arial,sans-serif;font-size:1.9cqw;line-height:1;font-weight:900;text-shadow:0 1px 1px #000;transform:translate(-50%,-50%)}
.process-check{left:var(--check-left);top:var(--check-top)}
.elevation-check.low{left:31.8%;top:66.8%}.elevation-check.high{left:43.7%;top:67.5%}
.package-photo figcaption{font-size:.78rem;color:var(--muted);margin-top:.45rem;text-align:center}
.detail-image .pack-visual{aspect-ratio:1122/1402}
@media(max-width:600px){.product-grid .package-photo{max-width:470px;margin-left:auto;margin-right:auto}}

/* Editorial and location links. */
.articles-preview{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,4vw,4rem);border-top:1px solid var(--ink)}
.articles-preview .section-heading h2{font-size:clamp(3rem,6vw,6rem)}
.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.article-card{display:flex;flex-direction:column;align-items:start;min-height:330px;padding:clamp(1.5rem,3vw,3rem);border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);color:inherit;text-decoration:none;background:#fff}
.article-card:hover,.article-card:focus-visible{background:#f3f3f1}
.article-card>span{font-size:.77rem;font-weight:700;letter-spacing:.14em}.article-card h3{max-width:20ch;font-family:"Archivo Black",sans-serif;font-size:clamp(1.45rem,3vw,2.5rem);line-height:1.1;text-transform:uppercase;letter-spacing:-.04em;margin:2rem 0 1rem}.article-card p{max-width:43ch;margin:0 0 1.5rem;color:var(--muted)}.article-card strong{margin-top:auto;text-decoration:underline;text-underline-offset:4px}
.map-link{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:.3rem}.map-link svg{flex:none}.map-link:hover span{text-decoration:underline;text-underline-offset:4px}
.article-page{max-width:1160px;margin:auto;padding:clamp(3rem,6vw,6rem) clamp(1.25rem,5vw,4rem) 7rem}.article-heading{padding-bottom:3rem;border-bottom:1px solid var(--ink)}.article-heading h1{font-size:clamp(4rem,9vw,8rem)}.article-heading>p:last-child{font-size:1.2rem;color:var(--muted);max-width:32ch}.article-index{display:flex;gap:2rem;flex-wrap:wrap;padding:1.4rem 0 2.5rem;border-bottom:1px solid #ddd}.article-index a{text-underline-offset:4px;font-weight:700}
.article-story{max-width:770px;margin:4rem auto 0;padding-bottom:5rem;border-bottom:1px solid #bdbdb7;scroll-margin-top:100px}.article-story:last-child{border-bottom:0;padding-bottom:0}.article-story h2{font-size:clamp(2.1rem,4.5vw,4rem);line-height:1.07;letter-spacing:-.05em}.article-story h3{font-size:1.4rem;line-height:1.2;margin:2.1rem 0 .4rem}.article-story p{font-size:1.08rem;line-height:1.85;margin:.75rem 0 1.25rem}.article-story .article-intro{font-size:1.24rem;line-height:1.75;margin:1.6rem 0 2rem}.article-story .eyebrow{font-size:.78rem;line-height:1.5}.article-cta{display:inline-flex;margin-top:1rem;padding:.9rem 1.2rem;background:var(--ink);color:#fff;font-weight:700;text-decoration:none}.article-cta:hover{background:#333}
@media(max-width:700px){.article-grid{grid-template-columns:1fr}.article-card{min-height:280px}.article-page{padding-bottom:4rem}.article-story{margin-top:3rem}}
