@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root { --jgp-ink:#17201d; --jgp-paper:#f5f2e9; --jgp-red:#a73728; --jgp-muted:#666b62; --jgp-line:#d6d1c5; --jgp-deep:#27332d; --jgp-sand:#ddcab0; --jgp-cover:#baa27d; }
html.jg-print-active,html.jg-print-active body { margin:0; color:var(--jgp-ink); background:var(--jgp-paper); }
html.jg-print-active body { font-family:'DM Sans',Inter,Arial,sans-serif; }
html.jg-print-active *,html.jg-print-active *::before,html.jg-print-active *::after { box-sizing:border-box; }
html.jg-print-active a { color:inherit; text-decoration:none; }
.jg-print { min-height:100vh; overflow:hidden; }
.jg-print-skip { position:absolute; z-index:50; top:-4rem; left:1rem; padding:.75rem 1rem; color:#fff; background:var(--jgp-ink); font-size:.75rem; }
.jg-print-skip:focus { top:1rem; }
.jg-print-header { width:min(1440px,100%); min-height:78px; margin:0 auto; padding:0 clamp(1.25rem,4vw,4.5rem); display:flex; align-items:center; justify-content:space-between; gap:2rem; border-bottom:1px solid var(--jgp-line); }
.jg-print-brand { display:inline-flex; align-items:center; gap:.75rem; min-width:max-content; }
.jg-print-brand span { font:600 1.05rem/.8 'DM Sans',sans-serif; letter-spacing:-.08em; }
.jg-print-brand em { color:var(--jgp-red); font:500 .64rem/1 'DM Mono',monospace; font-style:normal; letter-spacing:.15em; }
.jg-print-header nav { display:flex; align-items:center; gap:clamp(.9rem,2.5vw,2.75rem); font:600 .72rem/1.2 'DM Sans',sans-serif; letter-spacing:.075em; text-transform:uppercase; }
.jg-print-header nav a { padding:.45rem 0; border-bottom:1px solid transparent; }
.jg-print-header nav a:hover,.jg-print-header nav a[aria-current='page'] { color:var(--jgp-red); border-color:currentColor; }
.jg-print-hero { position:relative; width:min(1440px,100%); min-height:min(76vh,795px); margin:0 auto; padding:clamp(2rem,7vw,7rem); display:flex; align-items:flex-end; isolation:isolate; color:#f8f4e9; background:var(--jgp-deep); overflow:hidden; }
.jg-print-hero::before { content:''; position:absolute; z-index:-1; inset:0; opacity:.48; background:repeating-linear-gradient(112deg,transparent 0,transparent 46px,rgba(236,224,196,.2) 47px,rgba(236,224,196,.2) 48px),radial-gradient(circle at 80% 32%,#b35d3e 0,transparent 29%),radial-gradient(circle at 12% 80%,#a28d6b 0,transparent 31%); }
.jg-print-hero::after { content:''; position:absolute; z-index:-1; right:-16vw; top:-31vw; width:min(720px,66vw); aspect-ratio:1; border:clamp(45px,8vw,110px) solid rgba(245,242,233,.13); border-radius:50%; }
.jg-print-hero__copy { max-width:710px; position:relative; z-index:2; }
.jg-print-eyebrow { margin:0 0 .85rem; color:var(--jgp-red); font:500 .66rem/1.3 'DM Mono',monospace; letter-spacing:.15em; text-transform:uppercase; }
.jg-print-hero .jg-print-eyebrow { color:#e5b3aa; }
.jg-print-hero h1,.jg-print-current h2,.jg-print-principles h2,.jg-print-living h2,.jg-print-footer-cta h2 { margin:0; font:600 clamp(2.3rem,5.2vw,5.1rem)/.96 'Playfair Display',Georgia,serif; letter-spacing:-.055em; text-wrap:balance; }
.jg-print-hero h1 { max-width:650px; font-size:clamp(4rem,8.8vw,8.6rem); }
.jg-print-hero__copy > p:not(.jg-print-eyebrow) { max-width:510px; margin:1.3rem 0 1.9rem; color:rgba(248,244,233,.88); font-size:clamp(1rem,1.6vw,1.24rem); line-height:1.55; }
.jg-print-hero__wordmark { position:absolute; top:clamp(1.5rem,4vw,4.5rem); right:clamp(1.5rem,4vw,4.5rem); z-index:2; text-align:right; font:600 clamp(1.85rem,4vw,4rem)/.77 'DM Sans',sans-serif; letter-spacing:-.09em; }
.jg-print-hero__wordmark span { display:block; padding-top:.75rem; color:#e7aca0; font:500 .58rem/1 'DM Mono',monospace; letter-spacing:.18em; }
.jg-print-hero__rule { position:absolute; top:0; left:51%; width:1px; height:100%; opacity:.45; background:#e8dfcd; }
.jg-print-button { display:inline-flex; align-items:center; gap:.58rem; padding:.85rem 1rem; border:1px solid var(--jgp-ink); font:600 .69rem/1 'DM Sans',sans-serif; letter-spacing:.085em; text-transform:uppercase; }
.jg-print-button:hover { color:#fff; background:var(--jgp-ink); }
.jg-print-button--light { border-color:#f8f4e9; color:#f8f4e9; }
.jg-print-button--light:hover { color:var(--jgp-deep); background:#f8f4e9; }
.jg-print-button--red { color:#fff; border-color:var(--jgp-red); background:var(--jgp-red); }
.jg-print-button--red:hover { border-color:#762419; background:#762419; }
.jg-print-current,.jg-print-principles,.jg-print-living,.jg-print-footer-cta { width:min(1280px,100%); margin:0 auto; padding:clamp(4rem,9vw,8rem) clamp(1.25rem,4vw,4.5rem); }
.jg-print-current { border-bottom:1px solid var(--jgp-line); }
.jg-print-current__grid { display:grid; grid-template-columns:minmax(255px,.67fr) minmax(350px,1fr); align-items:center; gap:clamp(2rem,10vw,12rem); }
.jg-print-cover { width:min(100%,365px); margin:0; padding:0; position:relative; background:#1c1e1c; box-shadow:14px 15px 0 #ebe4d6; }
.jg-print-cover img { display:block; width:100%; height:auto; aspect-ratio:2/3; object-fit:contain; }
.jg-print-cover figcaption { padding:.75rem .9rem .8rem; color:#eae5d8; font:500 .57rem/1.45 'DM Mono',monospace; letter-spacing:.075em; text-transform:uppercase; }
.jg-print-cover figcaption em { color:#e5aca1; font-style:normal; }
.jg-print-current__copy { max-width:610px; }
.jg-print-current__copy h2 { font-size:clamp(2.6rem,5vw,5rem); }
.jg-print-current__copy > p { margin:1.25rem 0 0; color:var(--jgp-muted); font-size:1rem; line-height:1.65; }
.jg-print-current__actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem 1.5rem; margin-top:1.8rem; }
.jg-print-text-link,.jg-print-story__link { color:var(--jgp-red); border-bottom:1px solid currentColor; padding-bottom:.28rem; font:600 .67rem/1.3 'DM Sans',sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.jg-print-text-link:hover,.jg-print-story__link:hover { color:var(--jgp-ink); }
.jg-print-principles { width:min(1440px,100%); display:grid; grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr); gap:clamp(2rem,9vw,10rem); align-items:start; background:var(--jgp-sand); }
.jg-print-principles .jg-print-eyebrow { color:#895042; }
.jg-print-principles ol { margin:0; padding:0; list-style:none; border-top:1px solid rgba(23,32,29,.25); }
.jg-print-principles li { display:grid; grid-template-columns:40px minmax(160px,.7fr) 1fr; gap:1rem; padding:1.15rem 0; border-bottom:1px solid rgba(23,32,29,.25); }
.jg-print-principles li>span { color:var(--jgp-red); font:500 .62rem/1.4 'DM Mono',monospace; letter-spacing:.08em; }
.jg-print-principles strong { font:600 1.26rem/1.1 'Playfair Display',Georgia,serif; letter-spacing:-.02em; }
.jg-print-principles p { margin:0; color:#495048; font-size:.88rem; line-height:1.55; }
.jg-print-living { border-bottom:1px solid var(--jgp-line); }
.jg-print-living__heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:clamp(2rem,4vw,3.5rem); }
.jg-print-living__heading h2 { max-width:750px; }
.jg-print-living__heading>p { max-width:330px; margin:0; color:var(--jgp-muted); font-size:.88rem; line-height:1.56; }
.jg-print-story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.35rem; margin-bottom:2rem; }
.jg-print-story__image { display:block; overflow:hidden; aspect-ratio:4/3; background:var(--jgp-deep); }
.jg-print-story__image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.jg-print-story__image:hover img { transform:scale(1.035); }
.jg-print-story__fallback { width:100%; height:100%; background:linear-gradient(130deg,var(--jgp-deep),var(--jgp-red)); }
.jg-print-story>div { padding-top:1rem; }
.jg-print-story p { margin:0 0 .55rem; color:var(--jgp-red); font:500 .59rem/1.3 'DM Mono',monospace; letter-spacing:.13em; text-transform:uppercase; }
.jg-print-story h3 { margin:0 0 1rem; font:600 clamp(1.45rem,2.15vw,2rem)/1.03 'Playfair Display',Georgia,serif; letter-spacing:-.035em; text-wrap:balance; }
.jg-print-story h3 a:hover { color:var(--jgp-red); }
.jg-print-load { grid-column:1/-1; color:var(--jgp-muted); }
.jg-print-footer-cta { width:min(1440px,100%); text-align:center; background:var(--jgp-deep); color:#f8f4e9; }
.jg-print-footer-cta .jg-print-eyebrow { color:#e0a39a; }
.jg-print-footer-cta h2 { max-width:860px; margin:0 auto; }
.jg-print-footer-cta>p:not(.jg-print-eyebrow) { max-width:570px; margin:1.25rem auto 1.8rem; color:rgba(248,244,233,.8); font-size:1rem; line-height:1.6; }
.jg-print-footer { display:flex; justify-content:space-between; gap:1rem; padding:1.7rem clamp(1.25rem,4vw,4.5rem); color:#e6e1d5; background:#111715; font:500 .64rem/1.35 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.jg-print-footer a:hover { color:#e1a198; }
@media(max-width:900px){.jg-print-story-grid{grid-template-columns:repeat(2,1fr)}.jg-print-principles{grid-template-columns:1fr;gap:2rem}.jg-print-current__grid{gap:3rem}.jg-print-current__copy h2{font-size:clamp(2.5rem,6vw,4.5rem)}}
@media(max-width:680px){.jg-print-header{min-height:72px;padding:0 1.25rem}.jg-print-brand em{display:none}.jg-print-header nav{max-width:65%;gap:.9rem;overflow-x:auto;white-space:nowrap;font-size:.61rem}.jg-print-header nav a{flex:0 0 auto}.jg-print-header nav a:nth-child(3),.jg-print-header nav a:nth-child(4){display:none}.jg-print-hero{min-height:630px;padding:2rem 1.25rem 3rem}.jg-print-hero h1{font-size:clamp(3.5rem,16.5vw,5rem)}.jg-print-hero__wordmark{font-size:1.85rem}.jg-print-hero__rule{left:auto;right:22%;height:47%;top:auto;bottom:0}.jg-print-current__grid{grid-template-columns:1fr;gap:2.2rem}.jg-print-cover{width:min(88%,330px);margin:0 auto}.jg-print-principles li{grid-template-columns:32px 1fr}.jg-print-principles li p{grid-column:2}.jg-print-living__heading{display:block}.jg-print-living__heading h2{margin-bottom:1rem}.jg-print-story-grid{grid-template-columns:1fr}.jg-print-story{display:grid;grid-template-columns:130px 1fr;gap:.95rem}.jg-print-story__image{min-height:100%;aspect-ratio:auto}.jg-print-story>div{padding-top:0}.jg-print-story h3{font-size:1.37rem;margin:.35rem 0 .75rem}.jg-print-footer{display:grid;grid-template-columns:1fr;text-align:center}}
