:root { --paper:#FFFDF8; --sand:#F6EFE7; --ink:#1A1613; --body:#51473F; --muted:#786A60; --pink:#B8516C; --line:#DCCFC3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:112px; -webkit-font-smoothing:antialiased; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Montserrat,sans-serif; font-weight:300; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--pink); }
button { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
[hidden] { display:none !important; }
img { display:block; width:100%; height:auto; }
figure { margin:0; }
figcaption,.image-note { color:var(--muted); font-size:10px; line-height:1.7; letter-spacing:.07em; }
figcaption { padding-top:12px; }
::selection { background:#F5A7B8; color:var(--ink); }
a:focus-visible,button:focus-visible { outline:2px solid var(--pink); outline-offset:5px; }
h1,h2,h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:300; text-wrap:pretty; margin:0; }
h2 { font-size:clamp(36px,4vw,58px); line-height:1.14; }
h3 { font-size:clamp(25px,2.4vw,34px); line-height:1.18; }
p { line-height:1.95; }
.eyebrow { margin:0 0 22px; font-size:10px; font-weight:400; letter-spacing:.26em; line-height:1.6; text-transform:uppercase; color:var(--muted); }
.skip-link { position:fixed; z-index:100; top:12px; left:12px; transform:translateY(-200%); background:var(--paper); color:var(--ink); padding:15px; }
.skip-link:focus { transform:none; }
#sk-nav-scrim { position:fixed; z-index:39; inset:0 0 auto; height:170px; pointer-events:none; background:linear-gradient(180deg,rgba(16,12,10,.52),transparent); transition:opacity .35s; }
#sk-nav { position:fixed; z-index:40; inset:0 0 auto; display:flex; align-items:center; justify-content:space-between; padding:22px clamp(24px,4vw,56px); gap:28px; color:var(--paper); transition:background .35s,padding .35s,box-shadow .35s; }
.nav-logo { display:block; flex:none; width:clamp(138px,14vw,186px); position:relative; }
.nav-logo img { width:100%; height:auto; transition:opacity .35s; }
#sk-logo-dark { position:absolute; inset:0; opacity:0; }
#sk-navlinks { display:flex; align-items:center; gap:clamp(18px,3vw,40px); }
#sk-navlinks a { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; font-size:10px; font-weight:400; letter-spacing:.2em; text-transform:uppercase; }
#sk-navlinks a[aria-current] { text-decoration:underline; text-underline-offset:8px; }
#sk-nav.is-past,#sk-nav.is-open { background:rgba(255,253,248,.97); color:var(--ink); padding-block:14px; box-shadow:0 1px 0 rgba(26,22,19,.1); backdrop-filter:blur(10px); }
#sk-nav.is-past #sk-logo-light,#sk-nav.is-open #sk-logo-light { opacity:0; }
#sk-nav.is-past #sk-logo-dark,#sk-nav.is-open #sk-logo-dark { opacity:1; }
.menu-toggle { border:0; background:none; color:inherit; font-size:11px; letter-spacing:.1em; text-transform:uppercase; min-height:44px; padding:10px 0 10px 14px; align-items:center; gap:12px; }
.hero { position:relative; height:100svh; min-height:560px; overflow:hidden; background:#1A1613; color:var(--paper); }
#sk-hero-media { position:absolute; inset:-6% 0; }
#sk-hero-media video { width:100%; height:100%; object-fit:cover; }
.hero-shade { position:absolute; inset:0; background:radial-gradient(95% 55% at 50% 54%,rgba(16,12,10,.30),transparent),linear-gradient(180deg,rgba(16,12,10,.46),rgba(16,12,10,.14) 28%,rgba(16,12,10,.18) 58%,rgba(16,12,10,.52)); }
#sk-hero-content { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:110px 24px 100px; }
#sk-hero-content .eyebrow { color:var(--paper); text-shadow:0 2px 16px #100c0a; }
#sk-hero-content h1 { max-width:16ch; font-size:clamp(42px,6.4vw,92px); line-height:1.06; text-shadow:0 1px 3px rgba(12,9,7,.55),0 4px 40px rgba(12,9,7,.7); }
#sk-hero-content h1.wide-title { max-width:22ch; }
.hero-subtitle { max-width:32ch; margin:clamp(28px,4.5vh,48px) 0 0; font:italic 300 clamp(20px,2.2vw,30px)/1.45 'Cormorant Garamond',Georgia,serif; text-shadow:0 1px 3px rgba(12,9,7,.6),0 2px 22px rgba(12,9,7,.75); }
.scroll-cue { position:absolute; left:50%; bottom:30px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:12px; font-size:9px; font-weight:400; letter-spacing:.3em; text-transform:uppercase; padding:8px; }
.scroll-line { display:block; width:1px; height:40px; background:linear-gradient(var(--paper),transparent); }
.video-toggle { position:absolute; right:clamp(20px,4vw,56px); bottom:30px; min-height:44px; padding:12px 18px; color:var(--paper); border:1px solid rgba(255,253,248,.6); background:rgba(16,12,10,.28); font-size:9px; font-weight:400; letter-spacing:.18em; text-transform:uppercase; }
.video-toggle:hover { background:rgba(16,12,10,.55); }
.section { max-width:1600px; margin:0 auto; padding:clamp(80px,9vw,136px) clamp(24px,6vw,96px); }
.warm { background:var(--sand); }
.section.warm { max-width:none; }
.intro-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(40px,7vw,110px); align-items:start; }
.prose { font-size:clamp(15px,1.15vw,17px); color:var(--body); max-width:64ch; line-height:1.95; }
.prose p { margin:0 0 1.5em; }
.prose p:last-child { margin-bottom:0; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; padding-block:12px; min-height:44px; font-size:10px; font-weight:400; line-height:1.6; letter-spacing:.16em; text-transform:uppercase; border-bottom:1px solid #BCADA0; }
.text-link span { font-size:16px; }
.button-link { display:inline-flex; justify-content:center; align-items:center; gap:22px; padding:17px 30px; border:1px solid currentColor; font-size:10px; font-weight:400; line-height:1.6; letter-spacing:.18em; text-transform:uppercase; }
.button-link:hover { background:var(--ink); color:var(--paper); }
.feeling-spread { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--sand); }
.feeling-spread figure { position:relative; min-width:0; min-height:540px; overflow:hidden; }
.feeling-spread img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.feeling-spread figcaption { position:absolute; bottom:18px; left:24px; color:white; text-shadow:0 2px 8px #000; }
.feeling-copy { align-self:center; padding:40px clamp(56px,7vw,110px); }
.feeling-copy p:not(.eyebrow) { font-size:15px; color:var(--body); }
.section-heading { display:flex; gap:24px; justify-content:space-between; align-items:end; padding-bottom:26px; border-bottom:1px solid var(--line); }
.section-heading .text-link { flex:none; }
.section-intro { font-size:15px; color:var(--body); max-width:66ch; margin:26px 0 36px; }
.place-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.card-image { overflow:hidden; background:#E7DED4; aspect-ratio:3/4; }
.card-image img { height:100%; object-fit:cover; transition:transform .7s ease; }
.place-card:hover img,.journal-card:hover img { transform:scale(1.035); }
.card-title { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:10px; padding-top:18px; }
.card-title h3 { font-size:clamp(23px,2vw,28px); }
.card-title span { font-size:9px; font-weight:400; text-transform:uppercase; letter-spacing:.18em; color:var(--muted); }
.place-card>p { font-size:12px; color:var(--body); }
.image-note { margin:20px 0 0; }
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:40px; }
.journal-card .card-image { aspect-ratio:4/3; }
.journal-card .eyebrow { margin:22px 0 12px; font-size:9px; letter-spacing:.16em; }
.journal-card>p:not(.eyebrow) { font-size:13px; color:var(--body); max-width:40ch; }
.closing-panel { padding:clamp(80px,10vw,140px) 24px; text-align:center; background:var(--sand); }
.closing-panel h2 { max-width:22ch; margin:auto; }
.closing-panel>p:not(.eyebrow) { margin:28px auto; max-width:52ch; font-size:14px; color:var(--body); }
.site-footer { background:#0C0A09; color:#E4DCD4; padding:80px clamp(24px,6vw,96px) 32px; }
.footer-main { max-width:1400px; margin:auto; display:grid; grid-template-columns:1.3fr .7fr 1fr; gap:60px; }
.footer-logo { width:240px; max-width:100%; height:auto; }
.footer-main p:not(.eyebrow) { font-size:13px; color:#B6AAA0; }
.footer-links { display:flex; flex-direction:column; align-items:start; gap:2px; }
.footer-links .eyebrow,.footer-note .eyebrow { color:#B6AAA0; margin:0 0 14px; }
.footer-links a { display:flex; align-items:center; min-height:36px; font-size:10px; font-weight:400; letter-spacing:.15em; text-transform:uppercase; }
.footer-note>p:not(.eyebrow) { font:300 25px/1.4 'Cormorant Garamond',Georgia,serif; color:#E4DCD4; }
.footer-bottom { max-width:1400px; margin:64px auto 0; padding-top:22px; border-top:1px solid #3A3029; display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:#B6AAA0; }
.jump-links { display:flex; gap:12px; flex-wrap:wrap; margin:30px 0 50px; }
.jump-links a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:12px 20px; border:1px solid var(--line); border-radius:30px; font-size:11px; }
.jump-links a:hover { border-color:var(--pink); }
.destination-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:80px 50px; margin-top:44px; }
.destination-card figure>img { aspect-ratio:4/3; object-fit:cover; }
.destination-card .eyebrow { margin:28px 0 12px; }
.destination-card h2 { font-size:clamp(32px,3vw,44px); }
.destination-card>p:not(.eyebrow) { font-size:14px; color:var(--body); }
.destination-card .serif-note { font:italic 300 23px/1.5 'Cormorant Garamond',Georgia,serif !important; }
.link-row { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:start; }
.link-row .text-link { font-size:9px; letter-spacing:.1em; }
.center-intro { max-width:680px; margin:0 auto 44px; text-align:center; }
.center-intro p:not(.eyebrow) { font-size:15px; color:var(--body); }
.page-experiences .jump-links { justify-content:center; }
.experience-list { display:grid; gap:90px; }
.experience-row { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(32px,6vw,90px); align-items:center; }
.experience-photo img { aspect-ratio:4/3; object-fit:cover; }
.experience-row:nth-child(even) .experience-photo { order:2; }
.experience-copy p:not(.eyebrow) { font-size:15px; color:var(--body); max-width:46ch; }
.brand-photo-pair { display:grid; grid-template-columns:.8fr 1.2fr; height:clamp(340px,45vw,600px); overflow:hidden; }
.brand-photo-pair img { height:100%; object-fit:cover; min-width:0; }
.brand-next { display:flex; justify-content:center; gap:30px; flex-wrap:wrap; padding:30px 24px 70px; background:var(--sand); }
.journal-hero { position:relative; height:85svh; min-height:520px; color:var(--paper); background:#1A1613; }
.journal-hero-image { position:absolute; inset:0; overflow:hidden; }
.journal-hero-image img { width:100%; height:100%; object-fit:cover; }
.journal-hero-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:end; align-items:center; padding:120px 24px 80px; text-align:center; }
.journal-hero-copy h1 { font-size:clamp(44px,6.4vw,92px); }
.journal-hero-copy .eyebrow { color:var(--paper); }
.journal-hero-copy>p:last-child { font:italic 300 clamp(22px,2.2vw,30px)/1.5 'Cormorant Garamond',Georgia,serif; max-width:32ch; }
.journal-intro { max-width:1100px; text-align:center; }
.journal-intro>p:not(.eyebrow) { max-width:60ch; margin:25px auto; font-size:15px; }
.journal-intro .jump-links { justify-content:center; margin-bottom:0; }
.journal-entry { padding:90px clamp(24px,6vw,96px); }
.journal-entry-heading,.journal-entry-grid { max-width:1250px; margin:auto; }
.journal-entry-heading { margin-bottom:40px; }
.journal-entry-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(36px,6vw,90px); align-items:start; }
.journal-entry-photos { display:grid; grid-template-columns:1fr .65fr; align-items:end; gap:18px; }
.journal-entry-photos img { min-width:0; height:440px; object-fit:cover; }
.journal-entry-photos img+img { height:280px; }
@media(min-width:681px) { .menu-toggle { display:none !important; } }
@media(max-width:1000px) { .place-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 22px; } .feeling-copy { padding:50px 36px; } .footer-main { gap:30px; } .journal-entry-grid { grid-template-columns:1fr; } .journal-entry-photos { grid-template-columns:1fr 1fr; } .journal-entry-grid .prose { max-width:65ch; } }
@media(min-width:681px) and (max-width:1050px) { .feeling-spread { grid-template-columns:minmax(0,1fr); } .feeling-spread figure { min-height:0; aspect-ratio:16/9; } }
@media(max-width:680px) {
 html { scroll-padding-top:100px; }
 #sk-nav { padding:18px 24px; flex-wrap:wrap; gap:0; }
 .nav-logo { width:138px; }
 .menu-toggle:not([hidden]) { display:flex; }
 #sk-navlinks { width:100%; flex-wrap:wrap; justify-content:center; gap:0 18px; padding-top:8px; }
 #sk-navlinks a { font-size:9px; letter-spacing:.12em; }
 .js #sk-navlinks { display:none; }
 .js #sk-nav.is-open #sk-navlinks { display:flex; flex-direction:column; align-items:stretch; padding:24px 0 10px; gap:0; }
 .js #sk-nav.is-open #sk-navlinks a { font-size:13px; padding:12px 0; min-height:50px; }
 #sk-hero-content h1 { font-size:clamp(38px,9vw,56px); }
 .hero-subtitle { font-size:22px; }
 #sk-hero-content { padding:120px 24px 100px; }
 .video-toggle { font-size:8px; padding:10px 12px; right:20px; }
 .scroll-cue { bottom:29px; }
 .intro-grid,.feeling-spread,.destination-grid,.experience-row { grid-template-columns:1fr; }
 .section-heading { display:block; }
 .section-heading>.text-link { margin-top:18px; }
 .section { padding:76px 24px; }
 .feeling-spread figure { min-height:0; aspect-ratio:4/3; }
 .feeling-copy { padding:60px 24px; }
 .place-grid { gap:30px 16px; }
 .card-title { display:block; }
 .card-title h3 { font-size:25px; }
 .card-title span { display:block; margin-top:8px; font-size:8px; }
 .place-card>p { font-size:11px; }
 .journal-grid { grid-template-columns:1fr; gap:48px; }
 .journal-card .card-image { aspect-ratio:4/3; }
 .footer-main { grid-template-columns:1fr 1fr; gap:40px 24px; }
 .footer-main>div:first-child { grid-column:1/-1; }
 .footer-note>p:not(.eyebrow) { font-size:23px; }
 .footer-links a { min-height:44px; }
 .footer-bottom { flex-direction:column; gap:18px; }
 .destination-grid { gap:65px; }
 .experience-row:nth-child(even) .experience-photo { order:0; }
 .experience-list { gap:65px; }
 .experience-copy h2 { font-size:38px; }
 .brand-photo-pair { height:300px; grid-template-columns:1fr 1fr; }
 .journal-entry { padding:70px 24px; }
 .journal-entry-photos img { height:300px; }
 .journal-entry-photos img+img { height:240px; }
}
@media(max-width:360px) { .place-grid { grid-template-columns:1fr; } .place-card .card-image { aspect-ratio:4/3; } .footer-main { grid-template-columns:1fr; } .footer-main>div:first-child { grid-column:auto; } .journal-entry-photos { gap:12px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
/* Keep the subject in frame when a wide photograph is used in a portrait slot. */
img[src*="pool-at-golden-hour"] { object-position:25% 40%; }
img[src*="sunset-swim"] { object-position:78% 20%; }
.brand-landscape img[src*="sunset-swim"] { object-position:70% 12%; }
html:not(.js) #sk-nav { position:absolute; background:var(--paper); color:var(--ink); }
html:not(.js) #sk-logo-light { opacity:0; }
html:not(.js) #sk-logo-dark { opacity:1; }
html:not(.js) #sk-nav-scrim { position:absolute; }
.journal-entry-collage .journal-entry-grid { display:block; }
.journal-collage { max-width:1100px; margin:0 auto; }
.journal-collage img { width:100%; height:auto; object-fit:contain; }
.journal-collage figcaption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px 24px; }
.journal-collage figcaption a { min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:4px; }
.journal-entry-collage .prose { margin:40px auto 0; }
.journal-single-photo { display:block; }
.journal-single-photo img { height:auto; width:100%; object-fit:contain; }
.journal-grid .card-image { aspect-ratio:3/2; }
.journal-card img[src*="portraits-by-the-sea"], .journal-card img[src*="sun-skin-and-fabric"] { object-fit:contain; transform:none; }

/* The former journal cover closes the slow-afternoon note. */
.journal-light-photo { max-width:1100px; margin:48px auto 0; }
.journal-light-photo img { width:100%; height:auto; }
.site-release { max-width:1400px; margin:12px auto 0; color:#B6AAA0; font-size:9px; font-weight:400; letter-spacing:.16em; text-transform:uppercase; }

/* Release 0.20: one Wardrobe doorway on the existing home page. */
.home-wardrobe { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--sand); }
.home-wardrobe figure { position:relative; min-height:640px; background:#d8cec2; overflow:hidden; }
.home-wardrobe figure img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center top; }
.home-wardrobe figcaption { position:absolute; bottom:20px; left:24px; color:#fff; text-shadow:0 2px 8px #000; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.home-wardrobe-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(50px,7vw,112px); }
.home-wardrobe-copy .eyebrow { color:var(--pink); }
.home-wardrobe-copy h2,.feeling-copy h2 { max-width:12ch; }
.home-wardrobe-copy>p:not(.eyebrow) { max-width:41ch; margin:24px 0 0; color:var(--body); line-height:1.8; }
.home-wardrobe-copy .text-link { margin-top:30px; }
@media(max-width:680px) {
  .home-wardrobe { grid-template-columns:minmax(0,1fr); }
  .home-wardrobe figure { min-height:0; aspect-ratio:4/5; }
  .home-wardrobe-copy { padding:65px 24px 75px; }
}

/* Readability layer: body copy carries the story; labels remain secondary. */
:root { --body:#403831; --muted:#5F534A; }
body { font-weight:400; }
p { line-height:1.78; }
.prose,.brand-prose { font-size:clamp(16px,1.26vw,18px); line-height:1.78; max-width:61ch; }
.eyebrow,.brand-section-label { font-size:11px; letter-spacing:.19em; }
figcaption,.image-note { font-size:12px; line-height:1.5; }
.text-link,.button-link { font-size:11px; letter-spacing:.11em; }
.feeling-copy p:not(.eyebrow),.section-intro,.center-intro p:not(.eyebrow),.journal-intro>p:not(.eyebrow),.experience-copy p:not(.eyebrow),.home-wardrobe-copy>p:not(.eyebrow) { font-size:clamp(16px,1.2vw,18px); line-height:1.78; }
.destination-card>p:not(.eyebrow) { font-size:16px; line-height:1.72; max-width:62ch; }
.place-card>p,.journal-card>p:not(.eyebrow) { font-size:15px; line-height:1.6; }
.closing-panel>p:not(.eyebrow) { font-size:16px; line-height:1.75; }
.link-row .text-link,.journal-card .eyebrow { font-size:11px; }
.card-title span { font-size:11px; }
@media(max-width:680px) {
  .place-card>p { font-size:14px; }
  .brand-prose,.prose { font-size:17px; }
  .section-intro,.destination-card>p:not(.eyebrow),.experience-copy p:not(.eyebrow),.journal-intro>p:not(.eyebrow) { font-size:16px; }
}

/* Home editorial hierarchy: all section headings share one scale; cards and body copy share their own. */
.page-index main h2 { font-size:clamp(52px,5vw,72px); line-height:1.06; }
.page-index .place-card h3,.page-index .journal-card h3 { font-size:clamp(25px,2.2vw,30px); }
.page-index .intro-grid .prose { font-size:clamp(16px,1.2vw,18px); line-height:1.78; }
.page-index .place-card>p:not(.eyebrow),.page-index .journal-card>p:not(.eyebrow) { font-size:15px; line-height:1.6; }
