:root { --ink:#111; --paper:#f6f5f1; --line:#c9c8c2; --soft:#e5e3dc; --muted:#66645e; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.site-shell { min-height:100vh; overflow:hidden; }
.page-grid { padding-left:clamp(1.25rem,5vw,5.5rem); padding-right:clamp(1.25rem,5vw,5.5rem); }
.site-header { min-height:84px; padding:1.25rem clamp(1.25rem,5vw,5.5rem); border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; position:relative; z-index:10; }
.wordmark { font-size:1.05rem; font-weight:800; letter-spacing:.08em; }
.wordmark span { font-weight:400; }
.site-header nav { display:flex; gap:clamp(1rem,2vw,2.2rem); font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; }
.site-header nav a,.languages a { padding-bottom:.3rem; border-bottom:1px solid transparent; }
.site-header nav a:hover,.languages a:hover,.languages .active { border-color:currentColor; }
.languages { justify-self:end; display:flex; gap:.7rem; font-size:.7rem; letter-spacing:.08em; }
.menu-button { display:none; border:0; background:none; padding:.5rem 0; color:inherit; font:inherit; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.eyebrow { margin:0 0 1.1rem; font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.hero-grid { min-height:calc(100svh - 84px); display:grid; grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr) 52px; gap:clamp(2rem,5vw,6rem); align-items:center; padding-top:clamp(3rem,8vh,7rem); padding-bottom:clamp(3rem,8vh,7rem); }
.hero-copy h1,.page-hero h1 { margin:0; font-size:clamp(4.5rem,10vw,10rem); line-height:.82; letter-spacing:-.075em; font-weight:500; }
.hero-intro { max-width:32rem; margin:2.5rem 0; font-size:clamp(1rem,1.5vw,1.3rem); line-height:1.55; }
.vertical-word { writing-mode:vertical-rl; margin:0; font-size:.65rem; letter-spacing:.45em; justify-self:end; }
.text-link { display:inline-flex; align-items:center; gap:2rem; padding-bottom:.4rem; border-bottom:1px solid currentColor; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.text-link span { font-size:1.1rem; }
.text-link span.link-label { font-size:inherit; }
.image-placeholder { min-height:360px; position:relative; border:1px solid var(--ink); background:var(--soft); display:flex; align-items:flex-end; padding:1rem; overflow:hidden; color:var(--muted); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
.image-placeholder.square { aspect-ratio:1; min-height:0; }
.image-placeholder.landscape { aspect-ratio:4/3; min-height:0; }
.image-placeholder.portrait { aspect-ratio:4/5; min-height:0; }
.placeholder-cross::before,.placeholder-cross::after { content:""; position:absolute; top:50%; left:-15%; width:130%; height:1px; background:currentColor; opacity:.28; }
.placeholder-cross::before { transform:rotate(33deg); }
.placeholder-cross::after { transform:rotate(-33deg); }
.image-placeholder.dark { background:#222; border-color:#555; color:#bcbcbc; }
.image-placeholder.photo-filled { padding:0; }
.image-placeholder.photo-filled img { display:block; width:100%; height:100%; object-fit:cover; }
.section { padding-top:clamp(6rem,12vw,11rem); padding-bottom:clamp(6rem,12vw,11rem); display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; }
.section-heading h2,.feature h2,.editorial h2,.page-cta h2 { margin:0; font-size:clamp(2.7rem,6vw,6rem); line-height:.98; letter-spacing:-.055em; font-weight:500; }
.category-list { border-top:1px solid var(--ink); }
.category-row { display:grid; grid-template-columns:46px 1fr auto; align-items:center; gap:1rem; min-height:120px; border-bottom:1px solid var(--line); transition:padding .2s ease,background .2s ease; }
.category-row:hover { padding-left:1rem; background:#fff; }
.category-row strong { display:block; font-size:clamp(1.3rem,2.4vw,2.2rem); font-weight:500; }
.category-row small,.category-number { color:var(--muted); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.category-arrow { font-size:1.4rem; }
.inverted { background:var(--ink); color:var(--paper); }
.feature { padding-top:clamp(4rem,8vw,8rem); padding-bottom:clamp(4rem,8vw,8rem); display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; align-items:center; }
.feature-copy { max-width:37rem; }
.feature-copy .issue { margin:0 0 3rem; color:#999; font-size:.7rem; letter-spacing:.2em; }
.feature-copy>p:not(.eyebrow):not(.issue) { margin:2rem 0; line-height:1.7; color:#bbb; max-width:31rem; }
.text-link.light { color:var(--paper); }
.editorial { padding-top:clamp(6rem,12vw,11rem); padding-bottom:clamp(6rem,12vw,11rem); display:grid; grid-template-columns:.85fr 1.15fr; gap:10vw; }
.editorial-content { max-width:48rem; }
.editorial-content>p { max-width:35rem; margin:2rem 0; line-height:1.7; }
.page-hero { padding-top:clamp(5rem,10vw,10rem); padding-bottom:clamp(5rem,9vw,9rem); display:grid; grid-template-columns:70px 1fr .55fr; gap:3vw; align-items:end; border-bottom:1px solid var(--line); }
.page-index { align-self:start; margin:.2rem 0 0; color:var(--muted); font-size:.75rem; }
.page-hero h1 { font-size:clamp(3.7rem,9vw,8rem); }
.page-intro { max-width:28rem; margin:0; line-height:1.65; }
.listing-grid { padding-top:clamp(4rem,8vw,8rem); padding-bottom:clamp(5rem,10vw,10rem); display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.listing-card:nth-child(2) { margin-top:8rem; }
.listing-card h2 { margin:1.3rem 0 .8rem; font-size:clamp(1.5rem,2.3vw,2.3rem); font-weight:500; letter-spacing:-.03em; }
.listing-card>p { color:var(--muted); line-height:1.6; }
.listing-topline { display:flex; justify-content:space-between; margin-top:1rem; font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; }
.listing-meta { border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:1.5rem 0; padding:.85rem 0; color:var(--muted); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }
.page-cta { padding-top:clamp(4rem,8vw,8rem); padding-bottom:clamp(4rem,8vw,8rem); display:grid; grid-template-columns:120px 1fr .7fr; gap:4vw; align-items:start; }
.page-cta h2 { font-size:clamp(2.4rem,5vw,5rem); }
.page-cta>p:not(.eyebrow) { max-width:30rem; color:#aaa; line-height:1.65; }
.page-cta .text-link { grid-column:2; margin-top:2rem; justify-self:start; }
.site-footer { padding-top:5rem; padding-bottom:2rem; display:grid; grid-template-columns:1fr 1fr; gap:4rem; border-top:1px solid var(--line); }
.footer-mark { font-size:clamp(2rem,5vw,4rem); }
.site-footer p { color:var(--muted); max-width:25rem; font-size:.8rem; line-height:1.6; }
.footer-links { justify-self:end; display:grid; grid-template-columns:repeat(2,minmax(120px,1fr)); gap:1rem 3rem; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.footer-meta { grid-column:1/-1; border-top:1px solid var(--line); padding-top:1.5rem; margin-top:3rem; }
@media (max-width:1050px) {
  .site-header { grid-template-columns:1fr auto; }
  .site-header nav { grid-column:1/-1; grid-row:2; overflow-x:auto; padding-top:.6rem; padding-bottom:.25rem; white-space:nowrap; border-top:1px solid var(--line); }
  .hero-grid { min-height:auto; grid-template-columns:1fr 1fr; }
  .vertical-word { display:none; }
  .page-hero { grid-template-columns:50px 1fr; }
  .page-intro { grid-column:2; margin-top:2rem; }
  .page-cta { grid-template-columns:1fr 2fr; }
  .page-cta>p:not(.eyebrow) { grid-column:2; }
}
@media (max-width:720px) {
  .site-header { min-height:74px; padding-top:1rem; padding-bottom:1rem; }
  .menu-button { display:block; justify-self:end; }
  .languages { display:none; }
  .site-header nav { display:none; grid-column:1/-1; gap:0; border-top:1px solid var(--line); }
  .site-header nav.open { display:grid; }
  .site-header nav a { padding:1rem 0; border-bottom:1px solid var(--line); }
  .hero-grid { grid-template-columns:1fr; gap:3rem; padding-top:4rem; }
  .hero-copy h1 { font-size:clamp(4.4rem,22vw,7rem); }
  .hero-image { min-height:0; aspect-ratio:4/5; }
  .section,.feature,.editorial { grid-template-columns:1fr; }
  .section { gap:4rem; }
  .page-hero { grid-template-columns:1fr; gap:1.5rem; }
  .page-index,.page-intro { grid-column:1; }
  .listing-grid { grid-template-columns:1fr; }
  .listing-card:nth-child(2) { margin-top:0; }
  .listing-card .image-placeholder { aspect-ratio:4/3; }
  .page-cta { grid-template-columns:1fr; }
  .page-cta>p:not(.eyebrow),.page-cta .text-link { grid-column:1; }
  .site-footer { grid-template-columns:1fr; }
  .footer-links { justify-self:start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; } }
