:root {
  --forest: #0d301a;
  --ink: #25221e;
  --paper: #f5f0e8;
  --terracotta: #9a5c3d;
  --muted: #746e67;
  --wood: #6f5644;
  --taupe: #b9aa96;
  --white: #fffdf9;
  --serif: "Newsreader", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --pad: clamp(1.25rem, 4vw, 5rem);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.6; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
:focus-visible { outline: 3px solid var(--terracotta); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .7rem 1rem; color: var(--paper); background: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.announcement { display: grid; place-items: center; min-height: 34px; padding: .4rem 1rem; color: var(--paper); background: var(--forest); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; text-align: center; }
.announcement p { margin: 0; }
.site-header { height: 96px; padding: 0 var(--pad); display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgb(37 34 30 / 18%); background: rgb(245 240 232 / 96%); position: relative; z-index: 20; }
.brand-lockup { display: inline-flex; flex-direction: column; align-items: flex-start; gap: .28rem; }
.wordmark { display: inline-flex; align-items: baseline; font-family: var(--serif); font-size: 1.82rem; line-height: .82; letter-spacing: -.04em; }
.wordmark strong { margin-left: .16em; color: var(--terracotta); font-style: italic; font-weight: 500; }
.brand-byline { color: var(--wood); font-size: .57rem; font-weight: 600; letter-spacing: .2em; line-height: 1; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: clamp(1.2rem, 2.5vw, 2.7rem); font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.site-nav a { padding: .5rem 0; border-bottom: 1px solid transparent; }
.site-nav a:hover { border-color: currentColor; }
.site-nav .nav-social { color: var(--terracotta); }
.menu-toggle { display: none; border: 0; background: none; width: 44px; height: 44px; padding: 10px; }
.menu-toggle span:not(.sr-only) { display: block; width: 100%; border-top: 1.5px solid currentColor; margin: 7px 0; transition: transform .2s; }
.hero { min-height: 730px; display: grid; grid-template-columns: minmax(0, 51%) minmax(0, 49%); border-bottom: 1px solid rgb(37 34 30 / 15%); }
.hero-copy { padding: clamp(4rem, 7.5vw, 7.5rem) var(--pad) 3rem; display: flex; flex-direction: column; align-items: flex-start; }
.eyebrow { margin: 0 0 1.2rem; color: var(--terracotta); font-size: .7rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
h1 { max-width: 780px; margin-bottom: 1.8rem; font-size: clamp(3.65rem, 6vw, 6.5rem); }
h1 em, h2 em { color: var(--terracotta); font-weight: 400; }
.hero-lede { max-width: 34rem; margin-bottom: 2rem; color: var(--muted); font-family: var(--serif); font-size: clamp(1.2rem, 1.7vw, 1.55rem); line-height: 1.4; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.4rem; }
.button { display: inline-flex; min-height: 48px; padding: .9rem 1.3rem; justify-content: center; align-items: center; border: 1px solid transparent; font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--paper); background: var(--forest); }
.button-primary:hover { background: var(--ink); }
.text-link { padding: .55rem 0; border-bottom: 1px solid currentColor; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.text-link span { margin-left: .5rem; }
.hero-note { max-width: 28rem; margin-top: auto; padding-top: 3rem; display: grid; grid-template-columns: auto 1fr; gap: 1rem; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.hero-note span { font-family: var(--serif); font-size: 1.4rem; color: var(--terracotta); }
.hero-note p { margin: .2rem 0 0; }
.hero-visual { position: relative; min-height: 730px; margin: 0; overflow: hidden; border-radius: 48% 48% 0 0 / 19% 19% 0 0; }
.hero-visual img { object-position: center; transition: transform 1s ease; }
.hero-visual:hover img { transform: scale(1.015); }
.hero-tag { position: absolute; bottom: 0; left: 0; min-width: 250px; padding: 1rem 1.4rem; color: var(--paper); background: var(--terracotta); display: flex; flex-direction: column; }
.hero-tag span { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.hero-tag strong { font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.section { padding: clamp(5rem, 9vw, 9rem) var(--pad); }
.section-heading { max-width: 680px; margin-bottom: 3rem; }
.section-heading h2, .about h2, .edit-heading h2 { margin-bottom: 1.3rem; font-size: clamp(3rem, 5.3vw, 5.8rem); }
.section-heading > p:last-child, .edit-heading > p:last-child { max-width: 36rem; color: var(--muted); }
.storefronts { background: var(--white); }
.store-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(.7rem, 1.3vw, 1.2rem); }
.store-card { position: relative; min-height: 315px; padding: 1.4rem; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgb(37 34 30 / 24%); border-radius: 10rem 10rem .35rem .35rem; overflow: hidden; transition: color .25s, background .25s, transform .25s; }
.store-card:hover { color: var(--paper); background: var(--forest); transform: translateY(-5px); }
.store-index { position: absolute; top: 1.25rem; left: 1.35rem; color: var(--muted); font-family: var(--serif); font-size: .85rem; }
.arch-icon { width: 60px; height: 72px; margin-left: auto; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 3rem 3rem .2rem .2rem; font-family: var(--serif); font-size: 1.15rem; }
.store-card p { margin: 0; color: var(--muted); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; }
.edit-card p { margin: 0; color: var(--paper); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; }
.store-card h3 { margin: .3rem 0 0; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.1rem); font-weight: 400; line-height: 1; }
.store-card:hover p, .store-card:hover .store-index { color: var(--taupe); }
.store-arrow { align-self: flex-end; font-size: 1.3rem; }
.rooms { background: var(--paper); }
.inline-heading { max-width: none; display: grid; grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: end; }
.inline-heading h2 { margin-bottom: 0; }
.inline-heading > p { margin-bottom: .5rem; }
.room-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 1.1rem; }
.room-card { position: relative; height: 520px; overflow: hidden; background: var(--taupe); border-radius: 11rem 11rem .35rem .35rem; }
.room-card img { transition: transform .5s ease, filter .5s; }
.room-card:hover img { transform: scale(1.035); filter: brightness(.84); }
.room-card::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgb(20 18 16 / 68%)); pointer-events: none; }
.room-card > span { position: absolute; z-index: 1; right: 1.4rem; bottom: 1.25rem; left: 1.4rem; color: white; display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.room-card b { font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.room-card small { max-width: 9rem; text-align: right; font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.shop-edit { color: var(--paper); background: var(--forest); }
.edit-heading { max-width: 750px; margin-bottom: 2.5rem; }
.edit-heading > p:last-child { color: #ded7cc; }
.tab-list { display: flex; gap: .35rem; margin-bottom: 1.5rem; overflow-x: auto; padding: .25rem; border-bottom: 1px solid rgb(245 240 232 / 28%); }
.tab-list button { flex: 0 0 auto; padding: .8rem 1.2rem; border: 0; border-radius: 3rem 3rem .15rem .15rem; color: var(--paper); background: transparent; cursor: pointer; font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.tab-list button[aria-selected="true"] { color: var(--ink); background: var(--paper); }
.tab-panel { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.js .tab-panel:not([hidden]) { display: grid; }
.js .tab-panel[hidden] { display: none; }
.no-js .tab-list { display: none; }
.no-js .tab-panel { display: grid; margin-bottom: 2rem; }
.no-js-note { color: var(--paper); }
.edit-card { min-height: 260px; padding: 1.3rem; display: flex; flex-direction: column; border: 1px solid rgb(245 240 232 / 38%); border-radius: 8rem 8rem .3rem .3rem; transition: color .2s, background .2s, transform .2s; }
.edit-card:hover { color: var(--ink); background: var(--paper); transform: translateY(-4px); }
.edit-card .arch-icon { margin: 0 auto 2rem; }
.edit-card h3 { margin: auto 0 .7rem; font-family: var(--serif); font-size: clamp(1.45rem, 2.2vw, 2rem); font-weight: 400; line-height: 1.1; }
.edit-card > span:last-child { font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.edit-card:hover p { color: var(--muted); }
.about { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 9rem); align-items: center; background: var(--white); }
.about-image { position: relative; height: 700px; margin: 0; padding: 0 0 2rem 2rem; }
.about-image::before { content: ""; position: absolute; inset: 3rem 3rem 0 0; background: var(--taupe); border-radius: 10rem 10rem .2rem .2rem; }
.about-image img { position: relative; border-radius: 12rem 12rem .2rem .2rem; }
.about-image figcaption { position: absolute; right: -1rem; bottom: 0; padding: 1rem 1.3rem; color: var(--paper); background: var(--wood); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.about-copy { max-width: 560px; }
.about-lede { color: var(--wood); font-family: var(--serif); font-size: clamp(1.45rem, 2.3vw, 2rem); line-height: 1.35; }
.about-copy > p:not(.eyebrow, .about-lede, .signature) { color: var(--muted); }
.signature { margin: 1.5rem 0; color: var(--terracotta); font-family: var(--serif); font-size: 1.7rem; font-style: italic; }
.button-outline { border-color: var(--ink); }
.button-outline:hover { color: var(--paper); background: var(--ink); }
.instagram-cta { padding: 4rem var(--pad); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2rem; color: var(--paper); background: var(--terracotta); }
.insta-mark { font-family: var(--serif); font-size: clamp(5rem, 9vw, 9rem); line-height: 1; opacity: .35; }
.instagram-cta .eyebrow { color: var(--paper); opacity: .8; }
.instagram-cta h2 { margin: 0; font-size: clamp(2.3rem, 4.2vw, 4.7rem); }
.button-paper { color: var(--ink); background: var(--paper); }
.site-footer { padding: 4.5rem var(--pad) 2rem; color: var(--paper); background: var(--ink); }
.footer-main { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 3rem; padding-bottom: 3.5rem; align-items: start; }
.footer-brand .wordmark { font-size: 2rem; }
.footer-brand .brand-byline { color: var(--taupe); }
.footer-main > p { max-width: 24rem; color: var(--taupe); font-family: var(--serif); font-size: 1.2rem; }
.footer-main nav { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-main nav a:hover { color: var(--taupe); }
.disclosure { padding-top: 1.5rem; border-top: 1px solid rgb(245 240 232 / 18%); display: flex; justify-content: space-between; gap: 2rem; color: #b9aa96; font-size: .63rem; line-height: 1.55; }
.disclosure p:first-child { max-width: 700px; }
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity: 1; transform: none; }
@media (max-width: 1050px) {
  .hero { grid-template-columns: minmax(0, 55%) minmax(0, 45%); }
  h1 { font-size: clamp(3.3rem, 6.5vw, 5.4rem); }
  .store-grid { grid-template-columns: 1fr 1fr; }
  .tab-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .site-header { height: 78px; }
  .wordmark { font-size: 1.5rem; }
  .brand-byline { font-size: .5rem; }
  .menu-toggle { display: block; position: relative; z-index: 22; }
  .site-nav { position: fixed; z-index: 21; inset: 0; padding: 7rem 2rem 3rem; flex-direction: column; justify-content: center; align-items: flex-start; gap: 1rem; color: var(--paper); background: var(--forest); visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .2s; }
  .site-nav a { font-family: var(--serif); font-size: 2.2rem; font-weight: 400; letter-spacing: -.03em; text-transform: none; }
  .site-nav.open { visibility: visible; opacity: 1; pointer-events: auto; }
  .menu-open .menu-toggle { color: var(--paper); }
  .menu-open .menu-toggle span:nth-child(2) { transform: translateY(4px) rotate(45deg); }
  .menu-open .menu-toggle span:nth-child(3) { transform: translateY(-4.5px) rotate(-45deg); }
  .hero { display: flex; min-height: auto; flex-direction: column; }
  .hero-copy { min-height: 650px; padding-top: 4.5rem; }
  h1 { font-size: clamp(3.05rem, 14.4vw, 4.25rem); }
  .hero-note { padding-top: 3rem; }
  .hero-visual { min-height: 560px; border-radius: 48% 48% 0 0 / 12% 12% 0 0; }
  .section { padding-top: 5.5rem; padding-bottom: 5.5rem; }
  .section-heading { margin-bottom: 2.3rem; }
  .store-grid { grid-template-columns: 1fr; }
  .store-card { min-height: 240px; border-radius: 9rem 9rem .3rem .3rem; }
  .inline-heading { display: block; }
  .inline-heading > p { margin-top: 1.4rem; }
  .room-grid { display: grid; grid-template-columns: 1fr; }
  .room-card { height: 500px; }
  .tab-panel { grid-template-columns: 1fr; }
  .edit-card { min-height: 240px; }
  .about { grid-template-columns: 1fr; }
  .about-image { height: 540px; padding-left: 1rem; }
  .about-image figcaption { right: 0; }
  .instagram-cta { grid-template-columns: 1fr; gap: 1rem; padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .insta-mark { display: none; }
  .instagram-cta .button { justify-self: start; margin-top: 1rem; }
  .footer-main { grid-template-columns: 1fr; gap: 2rem; }
  .disclosure { flex-direction: column; gap: .5rem; }
}
@media (max-width: 420px) {
  .hero-copy { min-height: 670px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: .9rem; }
  .hero-visual { min-height: 480px; }
  .room-card { height: 450px; }
  .about-image { height: 470px; }
  .tab-list button { padding-inline: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Owner photography and emerald refinement */
.store-card,.arch-icon,.room-card,.about-image img {border:2px solid var(--forest)}
.store-card:hover .arch-icon {border-color:var(--paper)}
.post-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.post-card {padding:3.5rem 1.5rem 1.5rem;border:2px solid var(--forest);border-radius:5rem 5rem .3rem .3rem}
.post-card h3 {font-family:var(--serif);font-size:1.8rem;line-height:1.1}
.home-photo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.home-photo-grid figure {margin:0;overflow:hidden;border:2px solid var(--forest);border-radius:9rem 9rem .3rem .3rem;aspect-ratio:3/4}
.rental {display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center;background:var(--white)}
.rental-photo {overflow:hidden;border:2px solid var(--forest);border-radius:10rem 10rem .3rem .3rem;aspect-ratio:3/2}
.rental h2 {font-size:clamp(2.8rem,4vw,4.5rem)}
.about-image img {object-position:center top}
@media(max-width:760px){.post-grid,.rental {grid-template-columns:1fr}.home-photo-grid{grid-template-columns:1fr 1fr;gap:.7rem}.home-photo-grid figure{border-radius:5rem 5rem .3rem .3rem}.rental{gap:2rem}}

/* Creator-first layout */
.creator-hero{min-height:620px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem;padding:3rem var(--pad)}
.creator-hero .hero-copy{padding:2rem 0;min-width:0;justify-content:center}
.creator-hero h1{font-size:clamp(3rem,5.5vw,5.5rem)}
.creator-hero .hero-lede{font-family:var(--sans);font-size:1.05rem;line-height:1.8;max-width:38rem}
.creator-hero .hero-visual{min-height:0;height:600px;border:2px solid var(--forest);border-radius:15rem 15rem .4rem .4rem}
.creator-hero .hero-visual img{object-position:center 18%}
.creator-social{margin-top:1.5rem}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.5rem}
.post-card{min-width:0;border-radius:1rem;padding:1.5rem;background:var(--white)}
.reel-frame{height:530px;overflow:hidden;background:white;border-radius:.6rem;margin-bottom:1.3rem}
.reel-frame iframe{border:0;width:100%;height:100%}
.post-hint{color:var(--muted);font-size:.85rem}
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;background:var(--white)}
.newsletter h2{font-size:clamp(2.7rem,4vw,4rem)}
#newsletter-slot label{display:block;margin-bottom:.5rem}
#newsletter-email{width:100%;padding:1rem;border:1px solid var(--forest);font:inherit;background:var(--paper);margin-bottom:.8rem}
#newsletter-slot button:disabled{opacity:.6;cursor:not-allowed}
.signup-note{font-size:.8rem;margin-top:.75rem;color:var(--muted)}
@media(max-width:760px){.creator-hero{padding:2rem var(--pad);gap:1rem}.creator-hero .hero-copy{min-height:0;padding:1rem 0}.creator-hero .hero-visual{height:480px;width:100%;margin-top:1rem}.post-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:85%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}.post-card{scroll-snap-align:start}.newsletter{grid-template-columns:1fr;gap:1rem}.hero-actions{flex-direction:row}.creator-hero .hero-lede{font-size:1rem}}

/* Editorial rhythm inspired by the supplied layout; original brand and content. */
.site-header{height:auto;min-height:110px;padding-top:1.5rem;padding-bottom:1.5rem}
.creator-hero{max-width:1400px;margin:auto;background:var(--white);padding-top:4rem;padding-bottom:4rem}
.creator-hero .hero-visual{order:-1;border-radius:45% 45% .25rem .25rem;max-width:470px}
.creator-hero .hero-copy{padding:1rem 2rem}
.creator-hero h1{font-size:clamp(3.5rem,6vw,6rem)}
.section{padding-top:4rem;padding-bottom:4rem}
.section-heading{max-width:100%;text-align:center}
.store-grid{gap:1rem}.store-card{min-height:200px;padding-top:3rem}
.post-card{border-radius:.4rem;min-height:230px;border-width:1px}
.shop-edit{background:var(--paper);color:var(--forest)}
.shop-edit .edit-heading>p:last-child,.shop-edit .edit-card p{color:var(--muted)}
.shop-edit .tab-list{border-color:var(--forest)}
.shop-edit .tab-list button{color:var(--forest)}
.shop-edit .tab-list button[aria-selected=true]{background:var(--forest);color:var(--paper)}
.shop-edit .edit-card{border:1px solid var(--forest);background:var(--white)}
.stay-intro{text-align:center}.stay-intro h1{max-width:none}.stay-intro h1 em{color:var(--forest)}
.stay-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:0}
.stay-gallery a{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:.4rem}.stay-gallery a:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:3/2;height:100%}
.stay-details{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.stay-details h2{font-size:3rem}
@media(max-width:760px){.site-header{min-height:78px}.creator-hero .hero-visual{order:0;height:420px;max-width:100%}.creator-hero .hero-copy{padding:0}.stay-gallery{grid-template-columns:1fr 1fr}.stay-gallery a:first-child{grid-row:auto}.stay-details{grid-template-columns:1fr;gap:2rem}.site-nav{gap:.6rem}.site-nav a{font-size:1.8rem}}

.brand-logo{width:clamp(180px,23vw,300px);height:auto;object-fit:contain;mix-blend-mode:multiply}.footer-brand .brand-logo{mix-blend-mode:normal;border-radius:2px}.site-header{gap:1.5rem}.site-nav{gap:1.2rem}.brand-lockup{flex-shrink:0}@media(max-width:1050px) and (min-width:761px){.site-header{flex-wrap:wrap}.site-nav{width:100%;justify-content:center;font-size:.68rem}}

.shopping-banner{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap;padding:.85rem 1rem;background:var(--forest);color:var(--paper);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.shopping-banner span{font-family:var(--serif);font-style:italic;font-size:1rem;text-transform:none}.shopping-banner a:hover{text-decoration:underline}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.journal-card img{height:320px;object-fit:cover;margin-bottom:1.5rem}.journal-card h3{font-family:var(--serif);font-size:2rem;line-height:1.1}.journal-article{max-width:850px;margin:auto}.journal-article h1{font-size:clamp(2.5rem,5vw,4.5rem)}.journal-article>img{height:500px;object-fit:cover;margin-bottom:2rem}.journal-article>p:not(.eyebrow){font-size:1.15rem;line-height:1.9}@media(max-width:760px){.shopping-banner{gap:.8rem 1.2rem}.shopping-banner span{width:100%;text-align:center}.journal-grid{grid-template-columns:1fr}.journal-card img{height:350px}}


/* Centered editorial feature carousel, matching the supplied screenshot structure. */
.favorites-section{padding:3.5rem 0 1.5rem;background:var(--white);overflow:hidden}
.feature-carousel{position:relative;--feature-width:min(72vw,940px);--feature-gap:6vw}
.feature-track{display:flex;gap:var(--feature-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:1px calc((100% - var(--feature-width))/2) 5px;overscroll-behavior-x:contain}
.feature-track::-webkit-scrollbar{display:none}
.favorite-feature{flex:0 0 var(--feature-width);scroll-snap-align:center;border:1.5px solid var(--forest);border-radius:36px 12px 36px 12px;background:var(--paper);overflow:hidden}
.feature-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #0d301a33;min-height:68px;background:#0d301a08}
.feature-label{font-family:var(--serif);font-style:italic;color:var(--forest);white-space:nowrap;padding:.35rem .8rem;border-radius:999px;background:var(--forest);color:var(--paper)}
.feature-header h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;line-height:1.2;margin:0}

.feature-body{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:330px;padding:1.5rem 2rem;gap:2rem}
.feature-photo{display:block;height:280px;min-width:0}
.feature-photo img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}
.feature-copy{text-align:center;max-width:290px;margin:auto;font-size:.9rem;line-height:1.8}
.feature-script{font-family:var(--serif);font-style:italic;color:var(--forest);font-size:2.2rem;line-height:1.05!important;margin:0 0 1.5rem;transform:none}
.feature-shop{display:inline-flex;align-items:center;gap:1rem;font-family:var(--serif);font-style:italic;font-size:1rem;margin-top:.5rem;color:var(--forest)}
.feature-shop:before{content:"";width:65px;border-top:1px solid var(--forest)}
.feature-prev,.feature-next{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2;background:var(--white);border:1px solid var(--forest);border-radius:999px;padding:.6rem .8rem;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;min-height:40px}
.feature-prev{left:calc((100% - var(--feature-width))/2)}.feature-next{left:calc((100% + var(--feature-width))/2)}
.favorites-disclosure{text-align:center;font-size:.68rem;color:var(--muted);padding:0 1rem;margin:1rem 0 0}
@media(max-width:650px){.favorites-section{padding-top:2rem}.feature-carousel{--feature-width:84vw;--feature-gap:7vw}.feature-header{flex-wrap:wrap;padding:.8rem 1rem;gap:.4rem .7rem}.feature-label{font-size:.85rem}.feature-header h3{order:3;flex-basis:100%;font-size:1.1rem}.feature-body{padding:1rem;gap:.8rem;min-height:255px;grid-template-columns:1fr 1fr}.feature-photo{height:185px}.feature-copy{font-size:.72rem;line-height:1.6}.feature-script{font-size:1.55rem;margin-bottom:.8rem}.feature-shop{font-size:.85rem;gap:.3rem}.feature-shop:before{width:18px}.feature-prev,.feature-next{padding:.45rem;font-size:.5rem;min-height:36px}}

/* Original logo ink, with the white background removed by an SVG alpha filter. */
.site-header .header-wordmark{display:block;width:280px;height:auto;max-width:100%}.site-header .brand-lockup{gap:9px;align-items:center}.site-header .brand-byline{font-size:.56rem;letter-spacing:.19em}@media(max-width:760px){.site-header .header-wordmark{width:210px}.site-header .brand-byline{font-size:.48rem}}

.footer-brand .footer-wordmark{display:block;width:280px;max-width:100%;height:auto;filter:invert(96%) sepia(9%) saturate(298%) hue-rotate(346deg) brightness(101%) contrast(92%)}.footer-brand{max-width:100%;gap:9px;align-items:center;justify-self:start}@media(max-width:760px){.footer-brand .footer-wordmark{width:210px}}
/* Softer transition into the dark footer. */
.instagram-cta{background:#f7f2e9;color:var(--ink)}
.instagram-cta .eyebrow{color:var(--forest);opacity:1}
.instagram-cta .insta-mark{color:var(--forest);opacity:.22}
.instagram-cta .button-paper{background:var(--forest);color:var(--paper);border:1px solid var(--forest)}
.instagram-cta .button-paper:hover{background:var(--ink);color:var(--paper)}
