@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&family=Explora&display=swap');
:root{--paper:#f8f1e7;--ink:#231f20;--blue:#0845bc;--rule:#655c53;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.55 var(--sans)}
a{color:inherit;text-underline-offset:.2em}
a:hover{color:var(--blue)}
a:focus-visible{outline:3px solid #b34d19;outline-offset:4px}
.skip{position:absolute;left:1rem;top:-7rem;background:white;padding:.5rem;z-index:5}
.skip:focus{top:1rem}
.mast{margin:0 2.45%;padding:0 1%;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--rule);min-height:59px}
.brand,h1,.section-heading{font-family:var(--serif);font-style:italic;font-weight:400}
.brand{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1;white-space:nowrap;text-decoration:none}
nav{display:flex;flex-wrap:wrap;gap:clamp(.7rem,2.8vw,2.6rem)}
nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-weight:700}
.hero{display:grid;grid-template-columns:45% 55%;min-height:clamp(400px,35.55vw,590px)}
.intro{align-self:center;padding:3rem 1rem 3rem 7.5%}
h1{font-size:clamp(3rem,6.3vw,7rem);line-height:.93;letter-spacing:-.018em;margin:0 0 .38em}
.intro p{font-size:clamp(1rem,1.55vw,1.45rem);max-width:39ch;line-height:1.34;margin:0 0 1.35em}
.hero img{width:100%;height:100%;object-fit:cover;object-position:center 42%;min-height:0}
.cta{background:var(--blue);color:white;padding:.67em 1.35em;border-radius:5px;display:inline-flex;align-items:center;min-height:44px;font-size:clamp(1rem,1.55vw,1.4rem);font-weight:700;text-decoration:none}
.cta:hover{background:#06358d;color:white}
.columns,.listing{padding:2.1rem 3.4% 4rem}
.columns,.grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4.5vw,4.5rem)}
.section-heading{display:flex;align-items:center;gap:.8rem;font-size:clamp(1.85rem,3.1vw,3.3rem);line-height:1.05;margin:.1em 0 .55em}
.section-heading::after{content:"";height:1px;background:var(--rule);flex:1}
.section-heading a,.card a{text-decoration:none}
.card{margin:0 0 2rem}
.card img,.story img{display:block;width:100%;height:auto}
.card img{aspect-ratio:2.28;object-fit:cover}
.card a[href*="narrow-hall"] img{object-position:center 62%}
.card h3,.story h2{font:400 clamp(1.65rem,2.8vw,2.8rem)/1.06 var(--serif);margin:.28em 0 .18em}
.card p{margin:.35em 0 0}
.card small,.note{color:#594c41}
.grid{margin-top:2rem}
.story{max-width:860px;margin:auto;padding:3.5rem 1.5rem 4rem}
.story h1,.listing h1{font-size:clamp(2.9rem,6vw,5.2rem);margin-top:.25em}
.lede{font-size:1.25rem}
.note{font-size:.9rem}
.story h2{margin-top:.9em}
.about img{width:min(180px,48vw);border-radius:50%;margin-bottom:1.2rem}
footer{border-top:1px solid var(--rule);padding:1.5rem 3.4%;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
footer p{margin:0;margin-left:auto}
@media(max-width:700px){
 .mast{padding:.7rem 2%;flex-direction:column;align-items:flex-start;gap:.25rem}
 nav{gap:.6rem 1rem;font-size:.88rem}
 .hero,.columns,.grid{grid-template-columns:1fr}
 .hero{min-height:0}
 .intro{padding:2rem 5%}
 .intro h1{font-size:clamp(2.9rem,10.4vw,4.3rem)}
 .hero img{height:auto;aspect-ratio:1.45}
 .columns,.listing{padding:1.7rem 5% 2rem}
 footer p{margin-left:0}
}

/* Shared publication masthead and article layout */
.edition{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#e3e1d9;border-bottom:1px solid #625f58;text-align:center}
.edition a{justify-content:center;min-height:36px;font:400 1.12rem var(--serif);border-right:1px solid #77736c}
.edition a:nth-child(2){background:#f6f4ee}
.edition a:last-child{border:0;background:#d3c8bc}
.mast{margin:0;min-height:100px;padding:0 6%;background:#fbfaf7;display:grid;grid-template-columns:1fr auto 1fr auto;gap:3vw}
.mast a:not(.brand){font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.mast .brand{font-size:clamp(2.25rem,4.4vw,4rem);font-weight:400;text-align:center}
.article-title{text-align:center;background:#e3e1d9;padding:clamp(3.4rem,5.9vw,7rem) 6% clamp(3.1rem,5vw,6rem)}
.article-title a{text-decoration:none;text-transform:uppercase;font-size:.76rem;letter-spacing:.19em}
.article-title h1{font-size:clamp(3rem,5.45vw,6.2rem);font-style:normal;line-height:1.06;max-width:19ch;margin:.32em auto .48em}
.article-title::after{content:"";display:block;width:clamp(66px,10vw,145px);height:1px;background:#56534e;margin:auto}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,24%);padding:0 6%;background:#fdfcf9}
.article-layout .story{width:100%;max-width:none;padding:3.25rem clamp(1.5rem,5vw,6rem) 5rem 0}
.article-layout .note{font-style:italic;margin:0 0 2rem}
.article-layout .lede{font-size:clamp(1.15rem,1.65vw,1.5rem);margin:0 0 1.4rem}
.author{border-inline:1px solid #77736c;padding:2.25rem clamp(1rem,2.3vw,2.75rem);align-self:stretch}
.author img{display:block;width:100%;height:auto}
.author h2{font:italic 400 clamp(2rem,3.1vw,3.3rem)/1 var(--serif);position:relative;margin:0 0 -.12em}
.author p{font-size:.95rem}
@media(max-width:700px){
 .edition a{font-size:.92rem;min-height:36px}
 .mast{grid-template-columns:repeat(3,auto);justify-content:space-between;gap:0 .7rem;padding:.55rem 5%;min-height:auto}
 .mast .brand{grid-row:1;grid-column:1/-1;justify-self:center;padding:.35rem 0}
 .mast a:not(.brand){font-size:.66rem;letter-spacing:.075em}
 .article-layout{display:block;padding:0 5%}
 .article-layout .story{padding:2rem 0 2.5rem}
 .author{border-inline:0;border-top:1px solid #77736c;padding:1.5rem 0 2.5rem}
 .author img{max-width:220px}
}

/* Editorial type and spacing shared with the feature pages. */
:root{--paper:#faf9f6;--ink:#2c2a28;--display:"Cormorant Garamond",Georgia,serif;--signature:"Explora",var(--serif)}
.edition a{font-family:var(--display);font-size:1.08rem}
.mast{grid-template-columns:1fr 1fr auto 1fr 1fr;min-height:104px;column-gap:1.5rem;text-align:center}
.mast a{justify-content:center}
.mast a:first-child{grid-column:2}
.mast .brand{grid-column:3;font-family:var(--signature);font-style:normal;font-size:clamp(3.25rem,4.95vw,5rem);letter-spacing:.006em}
.hero{grid-template-columns:46% 54%;min-height:0}
.intro{padding:clamp(2rem,5vw,5rem) clamp(1.5rem,4vw,4.5rem) clamp(2rem,5vw,5rem) clamp(1.5rem,6vw,6rem)}
.intro h1,.article-title h1{font-family:var(--display);font-style:normal;font-weight:400;letter-spacing:-.035em}
.intro h1{font-size:clamp(3.25rem,5.2vw,6rem);line-height:.99}
.intro h1 br{display:none}
.intro p{font-size:clamp(1rem,1.4vw,1.27rem);line-height:1.55;max-width:34ch}
.hero img{aspect-ratio:1.45;height:100%;max-height:560px}
.cta{background:transparent;color:var(--ink);font-size:.81rem;text-transform:uppercase;letter-spacing:.11em;border-radius:0;padding:.4rem 0;border-bottom:1px solid currentColor;min-height:40px}
.cta:hover{color:var(--blue);background:transparent}
.columns{padding:2.7rem 6% 4rem}
.section-heading{font-family:var(--display);font-style:normal;font-size:clamp(2rem,3.2vw,3.5rem)}
.article-title{background:#e3e1d8;padding:clamp(3rem,4.3vw,5rem) 6% clamp(2.8rem,4.1vw,4.8rem)}
.article-title h1{font-size:clamp(3rem,5.1vw,6.6rem);line-height:1.02;max-width:24ch;text-wrap:balance;margin:.26em auto .4em}
.article-layout{background:#fff;padding:0 6.8%;grid-template-columns:minmax(0,1fr) minmax(210px,24.5%)}
.article-layout .story{padding:clamp(2.5rem,4.3vw,4.5rem) clamp(1.5rem,5.6vw,6rem) 5rem 0}
.article-layout .note{font-size:.87rem;margin:0 0 clamp(1.6rem,3.3vw,3rem)}
.article-layout .lede{font-size:clamp(1.1rem,1.42vw,1.35rem)}
.author{padding:clamp(1.8rem,3.2vw,3.6rem) clamp(1rem,2.35vw,2.65rem);border-color:#a19d93}
.author h2{font-family:var(--signature);font-style:normal;font-size:clamp(2.8rem,4.2vw,4.65rem);margin:0 0 -.18em .09em;transform:rotate(-4deg);z-index:1}
.author img{aspect-ratio:4/4.55;object-fit:cover;object-position:51% 42%}
.author p{font-size:.9rem;line-height:1.65;margin:1.15rem 0 .7rem}
@media(max-width:700px){
 .edition{display:none}
 .mast{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:.75rem 5% 0;min-height:0}
 .mast a:first-child{grid-column:auto}
 .mast .brand{grid-column:1/-1;font-size:clamp(2.8rem,13vw,4rem);padding:0;min-height:56px}
 .mast a:not(.brand){font-size:.64rem;letter-spacing:.085em;line-height:1.35;padding:.35rem .28rem;text-wrap:balance}
 .hero{grid-template-columns:minmax(0,1fr)}
 .intro{padding:2.45rem 6% 1.85rem}
 .intro h1{font-size:clamp(2.75rem,11vw,4.4rem);line-height:1.02;text-wrap:balance;margin-bottom:.33em}
 .intro p{margin-bottom:.85rem}
 .hero img{height:auto;aspect-ratio:1.36;object-position:57% 42%}
 .columns{padding:1.75rem 6% 2.5rem}
 .section-heading{font-size:2rem}
 .article-title{padding:2.4rem 6% 2.05rem}
 .article-title h1{font-size:clamp(2.65rem,10.75vw,4.4rem);line-height:1.02;margin:.3em auto .48em}
 .article-layout{padding:0 6%}
 .article-layout .story{padding:1.6rem 0 2rem}
 .article-layout .note{margin-bottom:.9rem}
 .article-layout .lede{line-height:1.5;margin-bottom:1.1rem}
 .author{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:.2rem 1rem;padding:1.25rem 0 1.7rem}
 .author img{grid-column:1;grid-row:1/4}
 .author h2{grid-column:2;font-size:2.8rem;margin:0;transform:rotate(-3deg);transform-origin:left bottom}
 .author p{grid-column:2;margin:0;line-height:1.5}
 .author a{grid-column:2;display:inline-flex;align-items:center;min-height:44px;font-size:.85rem}
}

.collection-title h1{margin:0 auto .24em}
.collection-title p{max-width:38ch;margin:0 auto 1.5rem}
.collection{max-width:1360px;margin:auto;padding:3rem 6% 4rem}
.collection .grid{margin:0;align-items:start}
.card h2,.card h3,.article-layout .story h2{font-family:var(--display);font-weight:500}
.card h2{font-size:clamp(1.9rem,3vw,2.85rem);line-height:1.05;margin:.35em 0 .18em}
.collection .card{border-bottom:1px solid #c8c1b6;padding-bottom:1.25rem;margin:0}
.collection .card a:hover h2{text-decoration:underline}
.collection .card a:not(:has(img)){display:block;border-top:1px solid #a19d93;padding-top:1rem}
@media(max-width:700px){
 .collection{padding:1.55rem 6% 2.75rem}
 .collection .grid{gap:1.65rem}
 .collection-title p{margin-bottom:1.15rem}
}

.story figure { margin: 1.5rem 0; }
.story figcaption { font-size: .875rem; margin-top: .5rem; }
.story .hero { display: block; width: min(100%, 530px); height: auto; margin: auto; }
.story .product { border-top: 1px solid #d9ddd2; margin-top: 2rem; }
.story .product img { width: min(100%, 280px); height: auto; }
.story .check { padding: 1rem; background: #eef0e8; }

.story .scene-photo img { display: block; width: 100%; height: auto; }
.story .scene-credit { opacity: .8; }
.story .product-picks { margin-top: 2.5rem; }
.story .product-picks .product { padding-top: .8rem; margin-top: 1.1rem; }
