:root{
  --ink:#26211d;
  --muted:#6f6760;
  --paper:#f7f2ea;
  --paper2:#eee3d6;
  --sand:#d8aa7c;
  --clay:#a86f52;
  --clay-text:#8a5538;
  --mauve:#8d797a;
  --line:#cdbda9;
  --white:#fffdf9;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
img{max-width:100%;height:auto}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
h1,h2,h3,.serif{font-family:"Cormorant Garamond",Garamond,"Times New Roman",serif;font-weight:500;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
.nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;background:rgba(247,242,234,.96);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(38,33,29,.08)}
.brand{font-family:"Cormorant Garamond",Garamond,serif;font-size:24px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.links{display:flex;gap:22px;align-items:center;white-space:nowrap;font-size:12px;letter-spacing:.11em;text-transform:uppercase}
.links a:not(.buy){padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s}
.links a:not(.buy):hover{border-bottom-color:var(--clay)}
.menu-toggle{display:none;background:none;border:1px solid var(--ink);color:var(--ink);font:inherit;font-size:12px;letter-spacing:.11em;text-transform:uppercase;padding:11px 16px;cursor:pointer}
.skip{position:absolute;left:-9999px;top:12px;z-index:20;background:var(--ink);color:var(--white);padding:12px 18px;font-size:13px}
.skip:focus{left:12px}
.nav a:focus-visible,.menu-toggle:focus-visible,.btn:focus-visible,.footer a:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
section[id],footer[id]{scroll-margin-top:84px}
.buy{border:1px solid var(--ink);padding:11px 16px}
.hero{padding:0;min-height:780px;position:relative;display:grid;grid-template-columns:45% 55%;overflow:hidden;background:var(--paper2)}
.hero-copy{display:flex;align-items:center;padding:80px 5.5vw 90px 7vw;z-index:2}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:22px;color:var(--clay)}
.hero h1{font-size:78px;line-height:.94;margin:0 0 28px;max-width:580px}
.hero p{font-family:"Cormorant Garamond",Garamond,serif;font-size:26px;line-height:1.35;max-width:520px;color:#4c433d;margin:0 0 34px}
.buttons{display:flex;gap:13px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 21px;border:1px solid var(--ink);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.btn.dark{background:var(--ink);color:var(--white)}
.hero-image{margin:0;background:#4a3f37;min-height:780px;position:relative;overflow:hidden}
.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 50%;display:block}
.hero-image:after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(to top,rgba(24,19,16,.55),rgba(24,19,16,0));pointer-events:none}
.hero-image figcaption{z-index:1;position:absolute;right:24px;bottom:18px;left:24px;text-align:right;color:rgba(255,255,255,.92);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.55)}
section{padding:105px 7vw}
.rule{width:54px;border-top:1px solid var(--clay);margin:0 0 24px}
.book{display:grid;grid-template-columns:38% 62%;gap:7vw;align-items:center;background:var(--white)}
.cover-wrap{text-align:center}
.cover{width:min(360px,84%);height:auto;object-fit:contain;display:block;margin-inline:auto;box-shadow:0 18px 44px rgba(38,33,29,.18)}
.book h2,.about h2,.archive h2{font-size:58px;line-height:1.05;margin:0 0 22px}
.book p{font-size:18px;max-width:720px;color:#4f4741}
.meta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:28px}
.section-head{max-width:780px;margin-bottom:48px}
.section-head p{font-family:"Cormorant Garamond",Garamond,serif;font-size:24px;color:#5c514a;margin:0}
/* ---------- A life in places: one dark, scrollable section ---------- */
.places{padding:0;background:var(--ink);color:var(--white)}
.places-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;padding:96px 7vw 44px}
.places .section-head{margin:0}
.places .rule{border-top-color:var(--sand)}
.places .eyebrow{color:#d9b28e}
.places h2{font-size:52px;line-height:1.05;margin:0 0 18px}
.places .section-head p{color:#d8ccbf;font-size:24px}
.controls{display:flex;align-items:center;gap:34px}
.tabs{display:flex;gap:26px}
.tab{background:none;border:0;border-bottom:1px solid transparent;color:#b3a595;font:inherit;font-size:12px;letter-spacing:.11em;text-transform:uppercase;padding:8px 0;cursor:pointer;transition:color .2s,border-color .2s}
.tab:hover{color:var(--white)}
.tab[aria-current="true"]{color:var(--white);border-bottom-color:var(--sand)}
.arrows{display:flex;gap:10px}
.arrow{width:48px;height:48px;display:grid;place-items:center;background:none;border:1px solid rgba(233,223,212,.45);color:#e9dfd4;cursor:pointer;transition:background .2s,border-color .2s,opacity .2s}
.arrow:hover:not(:disabled){background:rgba(233,223,212,.12);border-color:#e9dfd4}
.arrow:disabled{opacity:.28;cursor:default}
.arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.tab:focus-visible,.arrow:focus-visible,.track:focus-visible,.slide .btn:focus-visible{outline:2px solid var(--sand);outline-offset:3px}
.track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:58% 42%;min-height:560px}
.slide-photo{margin:0;background:#322b26;display:grid;grid-template-rows:1fr auto;min-width:0}
.slide-photo .frame{position:relative;min-height:0}
.slide-photo img{position:absolute;top:32px;left:32px;width:calc(100% - 64px);height:calc(100% - 64px);object-fit:contain;object-position:center;display:block}
.slide-photo figcaption{padding:14px 32px 20px;border-top:1px solid rgba(233,223,212,.16);font-size:12px;line-height:1.5;letter-spacing:.06em;color:#b3a595}
.slide-photo .soon{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;color:#8f8173;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.slide-copy{display:flex;align-items:center;padding:60px 7vw 60px 5vw}
.slide h3{font-size:56px;line-height:1.05;margin:0 0 12px}
.slide .where{color:#d9b28e;margin:0 0 26px}
.slide p{font-family:"Cormorant Garamond",Garamond,serif;font-size:22px;line-height:1.45;color:#eee4d9;margin:0 0 28px;max-width:480px}
.slide .btn{border-color:#e9dfd4;color:var(--white)}
.slide .btn:hover{background:rgba(233,223,212,.12)}
@media(prefers-reduced-motion:reduce){.track{scroll-behavior:auto}}
.about{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:var(--white)}
.about .lead{font-family:"Cormorant Garamond",Garamond,serif;font-size:30px;line-height:1.4;margin-top:0}
.about p{font-size:17px;color:#504841}
.archive{background:var(--paper2);display:grid;grid-template-columns:42% 58%;gap:7vw;align-items:center}
.archive img{width:100%;height:420px;object-fit:cover;border:10px solid #f8f4ed;box-shadow:0 14px 34px rgba(38,33,29,.12)}
.archive p{font-size:18px;color:#514842}
.news{background:var(--paper);}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.news-card{border-top:1px solid var(--ink);padding-top:18px;min-height:180px}
.news-card .date{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--clay)}
.news-card h3{font-size:30px;line-height:1.1;margin:12px 0}
.news-card p{font-size:14px;color:var(--muted)}
.footer{padding:70px 7vw;background:#211d1a;color:#e9dfd4;display:flex;justify-content:space-between;gap:30px;align-items:flex-end}
.footer .name{font-family:"Cormorant Garamond",Garamond,serif;font-size:34px}
.footer small{color:#bdb0a2}
/* ---------- Menu collapses below 1360px (seven nav items need the room) ---------- */
@media(max-width:1360px){
 .menu-toggle{display:block}
 html.js .links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 5.5vw 28px;background:var(--paper);border-bottom:1px solid rgba(38,33,29,.12);box-shadow:0 18px 30px rgba(38,33,29,.08)}
 html.js .links.open{display:flex}
 .links a:not(.buy){padding:16px 0;font-size:13px;border-bottom:1px solid rgba(38,33,29,.1)}
 .links .buy{margin-top:20px;text-align:center;padding:15px 16px}
}
@media(max-width:900px){
 .brand{font-size:20px;letter-spacing:.06em}
 .hero{grid-template-columns:1fr}.hero-copy{order:2;padding:55px 7vw}.hero-image{order:1;min-height:58vh}.hero h1{font-size:58px}.book,.about,.archive{grid-template-columns:1fr}.news-grid{grid-template-columns:1fr}.book h2,.about h2,.archive h2{font-size:46px}.places-head{padding:70px 7vw 32px;align-items:flex-start}.places h2{font-size:42px}.controls{width:100%;justify-content:space-between;gap:16px}.tabs{gap:16px;overflow-x:auto}.tab{white-space:nowrap}.slide{grid-template-columns:1fr;min-height:0}.slide-photo .frame{min-height:68vw}.slide-photo img{top:18px;left:18px;width:calc(100% - 36px);height:calc(100% - 36px)}.slide-photo figcaption{padding:12px 18px 16px;font-size:11px}.slide-copy{padding:44px 7vw 60px}.slide h3{font-size:44px}section{padding:75px 7vw}}

/* ---------- Sub-pages: shared ---------- */
.links a[aria-current="page"]:not(.buy){border-bottom-color:var(--clay)}
.page-hero{display:grid;grid-template-columns:36% 1fr;gap:7vw;align-items:center;background:var(--paper2);padding:96px 7vw}
.page-hero .cover-wrap{text-align:center}
.page-hero .cover{width:min(380px,88%);height:auto;object-fit:contain;box-shadow:0 24px 54px rgba(38,33,29,.22)}
.page-hero h1{font-size:68px;line-height:1;margin:0 0 14px}
.page-hero .subtitle{font-family:"Cormorant Garamond",Garamond,serif;font-style:italic;font-size:26px;color:#5c514a;margin:0 0 26px}
.page-hero .intro{font-size:18px;max-width:600px;color:#4f4741;margin:0 0 30px}
.facts{margin:38px 0 0;max-width:600px;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:140px 1fr;align-items:baseline;gap:0 20px;padding:13px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:0;font-size:15px}
.split{display:grid;grid-template-columns:34% 1fr;gap:7vw;align-items:start}
.split h2{font-size:46px;line-height:1.08;margin:0;text-wrap:balance}
.prose p{font-size:18px;max-width:640px;color:#4f4741;margin:0 0 1.2em}
.prose p:last-child{margin-bottom:0}
.themes{list-style:none;margin:0;padding:0;max-width:640px;border-top:1px solid var(--line)}
.themes li{font-family:"Cormorant Garamond",Garamond,serif;font-size:27px;line-height:1.3;padding:18px 0;border-bottom:1px solid var(--line)}
.excerpt{background:var(--ink);color:var(--white);display:grid;grid-template-columns:34% 1fr;gap:7vw;align-items:start}
.excerpt .eyebrow{color:#d9b28e}
.excerpt h2{font-size:46px;line-height:1.08;margin:0}
.excerpt blockquote{margin:0;max-width:700px}
.excerpt .setup{font-size:18px;line-height:1.7;color:#d8ccbf;margin:0 0 34px}
.excerpt .lines p{font-family:"Cormorant Garamond",Garamond,serif;font-size:40px;line-height:1.2;margin:0 0 14px;color:var(--white)}
.excerpt .lines p:last-child{font-style:italic;margin-top:26px}
.excerpt cite{display:block;font-style:normal;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#b3a595;margin-top:34px}
.excerpt .btn{border-color:#e9dfd4;color:var(--white);margin-top:30px}
.excerpt .btn:hover{background:rgba(233,223,212,.12)}
.excerpt .btn:focus-visible{outline:2px solid var(--sand);outline-offset:3px}
.two-notes{display:grid;grid-template-columns:1fr 1fr;gap:7vw}
.two-notes h2{font-size:38px;line-height:1.1;margin:0 0 18px}
.two-notes p{font-size:17px;color:#4f4741;max-width:520px;margin:0 0 1em}
.page-hero .buttons{margin-bottom:0}
.buy-note{font-family:"Cormorant Garamond",Garamond,serif;font-size:34px;line-height:1.25;max-width:600px;margin:0 0 30px;color:var(--ink)}

@media(max-width:900px){
 .page-hero,.split,.excerpt,.two-notes{grid-template-columns:1fr}
 .page-hero{padding:56px 7vw 70px;gap:40px}
 .page-hero h1{font-size:48px}
 .page-hero .cover{width:min(300px,78%)}
 .split h2,.excerpt h2{font-size:38px;margin-bottom:6px}
 .split{gap:28px}.excerpt{gap:28px}
 .excerpt .lines p{font-size:32px}
 .facts div{grid-template-columns:110px 1fr}
 .buy-note{font-size:28px}
}

/* ---------- Short stories ---------- */
.stories-head{padding:96px 7vw 36px}
.stories-head h1{font-size:68px;line-height:1;margin:0 0 18px}
.stories-head .lead{font-family:"Cormorant Garamond",Garamond,serif;font-size:26px;color:#5c514a;margin:0;max-width:640px}
.story-list{padding:20px 7vw 110px}
.story-list ul{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.story-list li{border-top:1px solid var(--line)}
.story-row{display:grid;grid-template-columns:1fr max-content;gap:6px 40px;align-items:baseline;padding:36px 0;transition:padding-left .25s}
.story-row:hover{padding-left:14px}
.story-title{font-family:"Cormorant Garamond",Garamond,serif;font-size:46px;line-height:1.05;font-weight:500}
.story-row:hover .story-title{color:var(--clay-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.story-teaser{grid-column:1;font-family:"Cormorant Garamond",Garamond,serif;font-style:italic;font-size:23px;line-height:1.35;color:#5c514a;max-width:680px}
.story-time{grid-column:2;grid-row:1;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.story-row:focus-visible{outline:2px solid var(--clay);outline-offset:4px}

.story{padding:96px 7vw 100px}
.story-head,.story-body,.story-end{max-width:40rem;margin-left:auto;margin-right:auto}
.story-meta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay-text);margin:0 0 22px}
.story-head h1{font-size:72px;line-height:1;margin:0 0 56px;text-wrap:balance}
.story-body p{font-size:18.5px;line-height:1.85;color:#352f2a;margin:0 0 1.15em}
.story-end{margin-top:72px}
.story-end .rule{margin-bottom:34px}
.story-next{display:flex;flex-wrap:wrap;gap:22px 40px;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}
.next-card{display:grid;gap:4px}
.next-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.next-title{font-family:"Cormorant Garamond",Garamond,serif;font-size:34px;line-height:1.1}
.next-card:hover .next-title{color:var(--clay-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.next-time{font-size:13px;color:var(--muted)}
.all-link{font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px}
.all-link:hover{color:var(--clay-text);border-color:var(--clay-text)}
.from-book{font-size:15px;color:var(--muted);margin:30px 0 0}
.from-book a{color:var(--ink);border-bottom:1px solid var(--clay);padding-bottom:1px}
.next-card:focus-visible,.all-link:focus-visible,.from-book a:focus-visible{outline:2px solid var(--clay);outline-offset:4px}
@media(max-width:900px){
 .stories-head{padding:60px 7vw 24px}.stories-head h1{font-size:50px}.stories-head .lead{font-size:23px}
 .story-list{padding:12px 7vw 80px}
 .story-row{grid-template-columns:1fr;padding:28px 0}.story-time{grid-column:1;grid-row:auto;margin-top:8px}.story-title{font-size:38px}.story-teaser{font-size:21px}
 .story{padding:56px 7vw 70px}.story-head h1{font-size:46px;margin-bottom:40px}
 .story-body p{font-size:17.5px;line-height:1.8}
 .next-title{font-size:30px}
}


/* ---------- About page ---------- */
.about h1{font-size:58px;line-height:1.05;margin:0 0 22px}
.about-page .buttons{margin-top:34px}

/* ---------- Contact ---------- */
.contact{display:grid;grid-template-columns:34% 1fr;gap:7vw;align-items:start;padding:30px 7vw 110px}
.contact-side p{font-family:"Cormorant Garamond",Garamond,serif;font-size:25px;line-height:1.4;color:#5c514a;margin:0 0 1em;max-width:420px}
.contact-side p.small{font-family:Inter,sans-serif;font-size:14px;line-height:1.6;color:var(--muted)}
.contact-form{max-width:640px}
.field{margin:0 0 26px}
.field label{display:block;font-size:14px;color:var(--muted);margin-bottom:7px}
.field input[type=text],.field input[type=email],.field select,.field textarea{width:100%;font:inherit;font-size:17px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:0;padding:13px 14px}
.field textarea{resize:vertical;min-height:170px;line-height:1.6}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.contact-form .btn:focus-visible{outline:2px solid var(--clay);outline-offset:2px}
.field.check{display:flex;gap:12px;align-items:flex-start}
.field.check input{margin-top:5px;accent-color:var(--clay-text)}
.field.check label{margin:0;font-size:15px}
.field.invalid input,.field.invalid textarea{border-color:#8a2f2f}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form .btn{cursor:pointer;font-family:inherit}
.contact-form .btn:disabled{opacity:.55;cursor:default}
.form-status{margin:20px 0 0;font-size:16px;min-height:1.6em}
.form-status.ok{color:var(--clay-text)}
.form-status.err{color:#8a2f2f}
@media(max-width:900px){
 .about h1{font-size:46px}
 .contact{grid-template-columns:1fr;gap:28px;padding:12px 7vw 80px}
 .contact-side p{font-size:22px}
}


/* ---------- Final-site refinements ---------- */
.footer-links{text-align:right}
.card-link{display:block}
.card-link:hover h3,.news-card h3 a:hover{color:var(--clay-text)}
.text-link{border-bottom:1px solid var(--clay);padding-bottom:1px}
.text-link:hover{color:var(--clay-text)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 42px}
.breadcrumbs a:hover{color:var(--clay-text)}

/* Behind the Photographs landing */
.archive-hero{display:grid;grid-template-columns:42% 58%;gap:7vw;align-items:center;background:var(--paper2);padding:96px 7vw}
.archive-hero-copy h1,.news-page-head h1{font-size:68px;line-height:1;margin:0 0 22px}
.archive-hero-copy p,.news-page-head p{font-family:"Cormorant Garamond",Garamond,serif;font-size:26px;line-height:1.4;color:#5c514a;max-width:680px;margin:0}
.archive-hero figure{margin:0}
.archive-hero img{width:100%;max-height:600px;object-fit:cover;box-shadow:0 18px 44px rgba(38,33,29,.15)}
.archive-hero figcaption,.story-photo figcaption,.photo-story-hero figcaption,.news-image figcaption{font-size:12px;color:var(--muted);margin-top:10px}
.archive-grid-section{padding-top:80px}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.archive-card{background:var(--white);border:1px solid rgba(38,33,29,.08);transition:transform .2s,box-shadow .2s}
.archive-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(38,33,29,.10)}
.archive-card img{width:100%;height:300px;object-fit:cover}
.archive-card-copy{padding:26px}
.archive-card-copy h2{font-size:38px;line-height:1.05;margin:0 0 14px}
.archive-card-copy p{font-size:15px;color:var(--muted);min-height:7.5em}
.archive-card-copy span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px}
.archive-note{max-width:720px;margin:54px auto 0;text-align:center;color:var(--muted)}

/* Individual photograph stories */
.photo-story{padding:72px 7vw 100px}
.photo-story-head{max-width:760px;margin:0 auto 44px}
.photo-story-head h1{font-size:72px;line-height:.98;margin:0 0 12px}
.story-kicker{font-family:"Cormorant Garamond",Garamond,serif;font-style:italic;font-size:27px;color:#5c514a;margin:0}
.photo-story-hero{max-width:1120px;margin:0 auto 62px}
.photo-story-hero img{width:100%;max-height:720px;object-fit:contain;background:#2e2824}
.photo-story-body{max-width:44rem;margin:0 auto}
.photo-story-body p{font-size:18.5px;line-height:1.85;color:#352f2a;margin:0 0 1.2em}
.photo-story-body h2{font-size:42px;line-height:1.08;margin:58px 0 18px}
.photo-story-body blockquote,.news-prose blockquote{font-family:"Cormorant Garamond",Garamond,serif;font-size:32px;line-height:1.35;margin:48px 0;padding:8px 0 8px 26px;border-left:2px solid var(--clay);color:#4c433d}
.story-photo{margin:54px -8vw}
.story-photo img{width:100%;max-height:760px;object-fit:contain;background:#2e2824}
.photo-story-nav{max-width:920px;margin:78px auto 0;border-top:1px solid var(--line);padding-top:30px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:end}
.photo-story-nav>a:not(.all-link){display:grid;gap:3px}
.photo-story-nav .next{text-align:right}
.photo-story-nav span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.photo-story-nav strong{font-family:"Cormorant Garamond",Garamond,serif;font-size:28px;font-weight:500}

/* News */
.news-page-head{padding:96px 7vw 46px;max-width:960px}
.news-list{padding:20px 7vw 110px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.news-feature{border-top:1px solid var(--ink);padding:24px 0;display:block}
.news-feature .date{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--clay-text)}
.news-feature h2{font-size:38px;line-height:1.08;margin:12px 0}
.news-feature p{font-size:15px;color:var(--muted);min-height:6.5em}
.news-feature span{font-size:12px;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px}
.news-feature:hover h2{color:var(--clay-text)}
.news-article{padding:72px 7vw 110px}
.news-article>header,.news-prose,.news-article .breadcrumbs{max-width:46rem;margin-left:auto;margin-right:auto}
.news-article header h1{font-size:72px;line-height:1;margin:0 0 18px}
.news-article .deck{font-family:"Cormorant Garamond",Garamond,serif;font-size:27px;line-height:1.4;color:#5c514a;margin:0}
.news-image{max-width:380px;margin:52px auto;text-align:center}
.news-image img{width:100%;height:auto;max-height:none;object-fit:contain;display:block;margin:auto;box-shadow:0 18px 44px rgba(38,33,29,.16)}
.news-prose p{font-size:18px;line-height:1.8;color:#433b35;margin:0 0 1.2em}
.news-prose h2{font-size:40px;line-height:1.1;margin:54px 0 16px}
.notice{margin-top:38px;padding:22px 24px;background:var(--paper2);border-left:2px solid var(--clay);font-size:16px}

/* Buy page ready for retailer links */
.retailers{display:grid;grid-template-columns:32% 1fr;gap:7vw;background:var(--paper2)}
.retailers h2{font-size:44px;line-height:1.08;margin:0}
.retailer-list{display:grid;gap:0;border-top:1px solid var(--line)}
.retailer-card{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px 1fr max-content;gap:24px;align-items:baseline}
.retailer-card h3{font-size:26px;margin:0}
.retailer-card p{font-size:15px;color:var(--muted);margin:0}
.availability{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay-text)}
.purchase-note{background:var(--white)}

@media(max-width:900px){
 .footer-links{text-align:left}
 .archive-hero{grid-template-columns:1fr;padding:60px 7vw;gap:36px}
 .archive-hero-copy h1,.news-page-head h1{font-size:50px}
 .archive-grid{grid-template-columns:1fr}.archive-card img{height:auto}.archive-card-copy p{min-height:0}
 .photo-story{padding:54px 7vw 72px}.photo-story-head h1,.news-article header h1{font-size:48px}.story-kicker,.news-article .deck{font-size:23px}
 .story-photo{margin:42px 0}.photo-story-nav{grid-template-columns:1fr 1fr}.photo-story-nav .all-link{grid-column:1/-1;grid-row:2;justify-self:center}
 .news-list{grid-template-columns:1fr}.news-feature p{min-height:0}
 .retailers{grid-template-columns:1fr}.retailer-card{grid-template-columns:1fr;gap:8px}.retailers h2{font-size:38px}
}

/* ---------- Homepage: Behind the Photographs desktop layout ---------- */
@media(min-width:901px){
  /* Match the intended editorial balance: a self-contained image field on the left
     and a more generous, uncluttered text field on the right. */
  .places .slide{
    grid-template-columns:48% 52%;
    min-height:500px;
  }

  /* The grey image field occupies the full left column. The photograph itself is
     centred inside it with generous equal side margins, as in the approved layout. */
  .places .slide-photo{
    background:transparent;
    grid-template-rows:auto auto;
    align-content:start;
  }
  .places .slide-photo .frame{
    margin:0;
    background:#322b26;
    height:clamp(360px,24vw,430px);
  }
  .places .slide-photo img{
    top:26px;
    bottom:26px;
    left:clamp(58px,7.9vw,145px);
    right:clamp(58px,7.9vw,145px);
    width:auto;
    height:auto;
    max-width:calc(100% - (2 * clamp(58px,7.9vw,145px)));
    max-height:calc(100% - 52px);
    margin:auto;
    object-fit:contain;
  }

  /* Caption stays in the black field beneath the grey image panel and is centred
     to the photograph width, not to the entire left column. */
  .places .slide-photo figcaption{
    margin:0 clamp(58px,7.9vw,145px);
    padding:14px 0 20px;
    width:auto;
    text-align:center;
    border-top:0;
    background:transparent;
  }

  /* Use the extra width on the right as an editorial row rather than a cramped stack.
     Heading, place/date, summary and button each have their own clear space. */
  .places .slide-copy{
    display:grid;
    grid-template-columns:minmax(120px,160px) minmax(110px,145px) minmax(180px,1fr) auto;
    column-gap:30px;
    align-items:center;
    align-content:center;
    padding:62px 4vw 62px 7vw;
  }
  .places .slide-copy h3,
  .places .slide-copy .where,
  .places .slide-copy p,
  .places .slide-copy .buttons{
    margin-top:0;
    margin-bottom:0;
  }
  .places .slide-copy h3{font-size:54px}
  .places .slide-copy .where{line-height:1.6}
  .places .slide-copy p{
    max-width:none;
    font-size:20px;
    line-height:1.5;
  }
  .places .slide-copy .buttons{justify-self:end}
  .places .slide-copy .btn{white-space:nowrap}
}

/* Media / Press Kit */
.media-head{padding:96px 7vw 58px;max-width:980px}
.media-head h1{font-size:72px;line-height:1;margin:14px 0 18px}
.media-head .lead{max-width:780px}
.media-facts,.media-copy-section,.media-contact{padding:72px 7vw;display:grid;grid-template-columns:30% 1fr;gap:8vw;border-top:1px solid var(--line)}
.media-facts{background:var(--paper2)}
.media-facts h2,.media-copy-section h2,.media-contact h2{font-size:44px;line-height:1.08;margin:0 0 12px}
.media-note,.media-label{font-size:13px;line-height:1.6;color:var(--muted);margin:0;max-width:290px}
.media-fact-list{margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.media-copy-section.alt{background:var(--white)}
.media-copy-section .prose{max-width:760px}
.media-copy-section .prose p{font-size:17px;line-height:1.8;color:#433b35;margin:0 0 1.25em}
.media-copy-section .prose h3{font-size:30px;line-height:1.15;margin:42px 0 14px}
.media-assets{padding:86px 7vw 100px;background:#27231f;color:#f5eee6}
.media-assets-head{max-width:820px;margin-bottom:48px}
.media-assets-head .rule{background:#9b765d}
.media-assets-head h2{font-size:48px;line-height:1.05;margin:12px 0 16px;color:#fffaf3}
.media-assets-head p{color:#c8bbb0;max-width:700px}
.media-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;max-width:980px}
.media-asset-card{margin:0;display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:28px;align-items:center}
.media-asset-card img{width:100%;height:auto;max-height:390px;object-fit:contain;background:#342e29}
.media-asset-card figcaption{display:grid;gap:12px;align-content:center}
.media-asset-card strong{font-family:"Cormorant Garamond",Garamond,serif;font-size:30px;font-weight:500;color:#fffaf3}
.media-asset-card span{font-size:13px;line-height:1.6;color:#bfb1a6}
.media-asset-card .btn{color:#fffaf3;border-color:#80736a;justify-self:start}
.media-contact{background:var(--paper2)}
.media-contact p{max-width:700px;font-size:17px;line-height:1.75;color:#433b35;margin-top:0}
@media(max-width:900px){
 .media-head{padding:60px 7vw 42px}.media-head h1{font-size:50px}
 .media-facts,.media-copy-section,.media-contact{grid-template-columns:1fr;gap:28px;padding:54px 7vw}
 .media-fact-list{grid-template-columns:1fr}
 .media-asset-grid{grid-template-columns:1fr}
 .media-asset-card{grid-template-columns:38% 1fr;gap:22px}
}
@media(max-width:560px){.media-asset-card{grid-template-columns:1fr}.media-asset-card img{max-height:460px}}
