:root { --ink: #151413; --mute: #514c47; --paper: #f7f4ef; --accent: #76513b; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: "DM Sans", Arial, sans-serif; margin: 0; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }

.editorial-page { background: var(--paper); color: var(--ink); overflow: hidden; }
.editorial-skip { background: var(--paper); border: 1px solid var(--ink); left: 18px; padding: 12px 16px; position: fixed; top: -80px; z-index: 100; }
.editorial-skip:focus { top: 18px; }
.editorial-header { align-items: center; display: flex; height: 93px; justify-content: space-between; padding: 0 clamp(25px, 6vw, 104px); }
.editorial-brand { display: inline-flex; flex-direction: column; gap: 4px; }
.editorial-brand > span { font-family: "Cormorant Garamond", Georgia, serif; font-size: 2.15rem; font-weight: 500; letter-spacing: -.065em; line-height: .86; }
.editorial-brand > span span { color: var(--accent); }
.editorial-brand small { color: var(--mute); font-size: .57rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.editorial-header-cta { align-items: center; border-bottom: 1px solid var(--ink); display: inline-flex; font-size: .72rem; font-weight: 700; gap: 10px; letter-spacing: .05em; padding-bottom: 6px; text-transform: uppercase; }
.editorial-header-cta span, .editorial-footer > a span { color: var(--accent); font-size: 1rem; }
.editorial-overline { color: var(--accent); font-size: .69rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.editorial-hero { border-top: 1px solid rgba(21,20,19,.14); display: grid; grid-template-columns: minmax(360px, 1.05fr) minmax(360px, .95fr); min-height: min(745px, calc(100vh - 93px)); }
.editorial-hero-copy { align-self: center; padding: clamp(72px, 10vw, 146px) clamp(25px, 9vw, 145px); }
.editorial-hero h1, .editorial-manifesto h2, .editorial-solutions h2, .editorial-about h2, .editorial-closing h2 { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; letter-spacing: -.04em; }
.editorial-hero h1 { font-size: clamp(4rem, 6.4vw, 7.75rem); line-height: .92; margin: 21px 0 31px; max-width: 780px; }
.editorial-hero h1 em, .editorial-manifesto h2 em, .editorial-solutions h2 em, .editorial-about h2 em { color: var(--accent); font-style: normal; }
.editorial-hero-copy > p:not(.editorial-overline) { color: var(--mute); font-size: 1rem; line-height: 1.72; margin-bottom: 36px; max-width: 445px; }
.editorial-button { align-items: center; background: var(--ink); color: var(--paper); display: inline-flex; font-size: .73rem; font-weight: 700; gap: 18px; letter-spacing: .055em; min-height: 53px; padding: 0 21px; text-transform: uppercase; transition: transform .2s, background .2s; }
.editorial-button:hover, .editorial-button:focus-visible { background: var(--accent); transform: translateY(-2px); }
.editorial-button span { color: #e4c3aa; font-size: 1rem; }
.editorial-button-hero { background: #e3cbbb; color: var(--ink); }
.editorial-button-hero span { color: var(--accent); }
.editorial-button-hero:hover, .editorial-button-hero:focus-visible { background: #f1e3d9; }
.editorial-hero-image { background: #191817; min-height: 560px; overflow: hidden; position: relative; }
.editorial-hero-image::after { background: linear-gradient(90deg, rgba(21,20,19,.34), transparent 42%); content: ""; inset: 0; position: absolute; }
.editorial-hero-image img { height: 100%; object-fit: cover; object-position: 57% center; position: absolute; width: 100%; }
.editorial-hero-image span { bottom: 28px; color: rgba(255,255,255,.92); font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.65rem; font-weight: 500; left: 31px; letter-spacing: -.04em; position: absolute; z-index: 1; }

.editorial-moments { background: #e9e4de; padding: clamp(85px, 10vw, 140px) clamp(25px, 8vw, 134px); }
.editorial-moments-heading { display: grid; gap: 24px; grid-template-columns: minmax(280px, .95fr) minmax(235px, .55fr); max-width: 1020px; }
.editorial-moments-heading .editorial-overline { grid-column: 1 / -1; margin-bottom: 0; }
.editorial-moments-heading h2 { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(4rem, 5.2vw, 5.8rem); font-weight: 500; letter-spacing: -.04em; line-height: .94; margin: 0; }
.editorial-moments-heading h2 em { color: var(--accent); font-style: normal; }
.attention-line { display: block; white-space: nowrap; }
.editorial-moments-heading > p:not(.editorial-overline) { align-self: end; border-left: 2px solid var(--accent); color: var(--mute); font-size: .93rem; line-height: 1.68; margin: 0; max-width: 340px; padding-left: 15px; }
.editorial-moments-grid { border-top: 1px solid rgba(21,20,19,.18); display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 61px; }
.editorial-moments article { border-right: 1px solid rgba(21,20,19,.18); min-height: 315px; padding: 25px 27px 25px 0; }
.editorial-moments article + article { padding-left: 30px; }
.editorial-moments article:last-child { border-right: 0; }
.editorial-moments article > span, .editorial-solution > span { color: var(--accent); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.editorial-moments h3 { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(1.85rem, 2.4vw, 2.7rem); font-weight: 500; letter-spacing: -.035em; line-height: 1; margin: 43px 0 13px; max-width: 310px; }
.editorial-moments article p { color: var(--mute); font-size: .81rem; line-height: 1.6; margin: 0; max-width: 245px; }

.editorial-about { background: #1b1918; color: #f4f0eb; display: grid; grid-template-columns: minmax(385px, .94fr) minmax(360px, 1.06fr); }
.editorial-about-photos { min-height: 720px; position: relative; }
.editorial-about-main { height: 100%; object-fit: cover; object-position: center; width: 100%; }
.editorial-about-detail { border: 8px solid #1b1918; bottom: 54px; height: 260px; object-fit: cover; object-position: 50% 36%; position: absolute; right: -96px; width: 185px; }
.editorial-about-copy { align-self: center; max-width: 660px; padding: clamp(90px, 10vw, 145px) clamp(54px, 11vw, 180px); }
.editorial-about .editorial-overline { color: #c6a78f; }
.editorial-about h2 { font-size: clamp(4rem, 6vw, 6.6rem); line-height: .93; margin: 22px 0 35px; }
.editorial-about h2 em { color: #c6a78f; }
.editorial-about-copy > p:not(.editorial-overline) { color: #eee8e1; font-size: .94rem; line-height: 1.72; margin-bottom: 17px; max-width: 470px; }
.editorial-signature { color: #e0c0a7; display: block; font-size: .68rem; font-weight: 700; letter-spacing: .13em; margin-top: 35px; text-transform: uppercase; }

.editorial-manifesto { background: #2c2723; color: #f8f5f0; display: grid; gap: 27px clamp(42px, 6vw, 102px); grid-template-columns: minmax(175px, .32fr) minmax(380px, 1fr); padding: clamp(105px, 12vw, 177px) clamp(25px, 8vw, 134px); }
.editorial-manifesto .editorial-overline { color: #e3c4ae; margin: 11px 0 0; }
.editorial-manifesto h2 { font-size: clamp(3.25rem, 6.1vw, 6.4rem); grid-column: 2; line-height: .98; margin: 0; max-width: 850px; }
.editorial-manifesto h2 em { color: #e3c4ae; font-style: normal; }
.editorial-manifesto-copy { color: #ebe3dc; font-size: 1rem; grid-column: 2; line-height: 1.75; margin: 5px 0 0; max-width: 500px; }

.editorial-solutions { background: #fbfaf7; padding: clamp(105px, 13vw, 185px) clamp(25px, 8vw, 134px); }
.editorial-solutions-heading { align-items: end; border-bottom: 1px solid rgba(21,20,19,.18); display: grid; gap: 25px; grid-template-columns: minmax(180px, .42fr) minmax(370px, 1fr); margin-bottom: 40px; max-width: 1100px; padding-bottom: 54px; }
.editorial-solutions-heading .editorial-overline { border-left: 2px solid var(--accent); margin: 0 0 8px; padding-left: 14px; }
.editorial-solutions h2 { font-size: clamp(3.3rem, 5.1vw, 5.45rem); line-height: .96; margin: 0; }
.editorial-solution-list { display: grid; gap: 13px; }
.editorial-solution { align-items: start; background: #f3eee8; border-left: 3px solid var(--accent); display: grid; gap: 25px; grid-template-columns: 58px minmax(200px, .75fr) minmax(230px, 1fr) auto; padding: 35px 32px; transition: background .2s, transform .2s; }
.editorial-solution:nth-child(2) { background: #eee3d9; border-left-color: #a47359; }
.editorial-solution:nth-child(3) { background: #ece8e1; border-left-color: #8b8177; }
.editorial-solution:hover { background: #e8dfd7; transform: translateX(4px); }
.editorial-solution h3 { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2.1rem, 3vw, 3.35rem); font-weight: 500; letter-spacing: -.035em; line-height: 1; margin: 0; }
.editorial-solution p { color: var(--mute); font-size: .89rem; line-height: 1.62; margin: 4px 0 0; max-width: 385px; }
.editorial-solution a { border-bottom: 1px solid var(--ink); font-size: .68rem; font-weight: 700; letter-spacing: .04em; margin-top: 9px; padding-bottom: 6px; text-transform: uppercase; white-space: nowrap; }
.editorial-solution b { color: var(--accent); font-size: 1rem; font-weight: 400; margin-left: 5px; }

.editorial-closing { background: #a78168; color: #171413; padding: clamp(105px, 13vw, 178px) clamp(25px, 8vw, 134px); text-align: center; }
.editorial-closing .editorial-overline { color: #483329; }
.editorial-closing h2 { font-size: clamp(3.5rem, 6vw, 6.5rem); line-height: .96; margin: 22px auto 39px; max-width: 880px; }
.editorial-button-light { background: var(--paper); color: var(--ink); }
.editorial-button-light:hover, .editorial-button-light:focus-visible { background: white; }
.editorial-footer { align-items: center; background: #141312; color: #e8e1d9; display: flex; justify-content: space-between; padding: 33px clamp(25px, 6vw, 104px); }
.editorial-footer .editorial-brand small { color: #a69e96; }
.editorial-footer > a:not(.editorial-brand) { border-bottom: 1px solid rgba(232,225,217,.65); font-size: .7rem; font-weight: 700; letter-spacing: .04em; padding-bottom: 5px; }

@media (max-width: 1180px) {
  .editorial-moments-heading { display: block; max-width: 720px; }
  .editorial-moments-heading .editorial-overline { margin-bottom: 18px; }
  .editorial-moments-heading h2 { max-width: 680px; }
  .editorial-moments-heading > p:not(.editorial-overline) { margin-top: 26px; max-width: 470px; }
}

@media (max-width: 880px) {
  .editorial-hero, .editorial-about { grid-template-columns: 1fr; }
  .editorial-hero { min-height: auto; }
  .editorial-hero-copy { padding-bottom: 82px; }
  .editorial-hero-image { min-height: 610px; }
  .editorial-hero-image img { object-position: 57% 28%; }
  .editorial-manifesto { display: block; }
  .editorial-manifesto .editorial-overline { margin-bottom: 24px; }
  .editorial-manifesto h2, .editorial-manifesto-copy { grid-column: auto; }
  .editorial-manifesto-copy { margin-top: 26px; }
  .editorial-solutions-heading { display: block; }
  .editorial-solutions-heading .editorial-overline { margin-bottom: 24px; }
  .editorial-moments-grid { grid-template-columns: repeat(2, 1fr); }
  .editorial-moments article:nth-child(2) { border-right: 0; }
  .editorial-moments article:nth-child(-n+2) { border-bottom: 1px solid rgba(21,20,19,.18); }
  .editorial-moments article:nth-child(3) { padding-left: 0; }
  .editorial-about-photos { min-height: 650px; }
  .editorial-about-detail { right: 8%; }
  .editorial-about-copy { max-width: none; }
}

@media (max-width: 620px) {
  .editorial-header { height: 78px; padding: 0 22px; }
  .editorial-brand > span { font-size: 1.8rem; }
  .editorial-header-cta { font-size: .61rem; }
  .editorial-hero { grid-template-columns: 1fr; }
  .editorial-hero-copy { padding: 76px 22px 74px; }
  .editorial-hero h1 { font-size: clamp(3.65rem, 16vw, 5.5rem); }
  .editorial-hero-copy > p:not(.editorial-overline) { font-size: .9rem; }
  .editorial-hero-image { min-height: 510px; }
  .editorial-hero-image img { object-position: 57% 32%; }
  .editorial-manifesto { padding: 102px 22px; }
  .editorial-manifesto h2 { font-size: clamp(3.25rem, 14vw, 4.6rem); }
  .editorial-moments { padding: 78px 22px; }
  .editorial-moments-heading { display: block; }
  .editorial-moments-heading .editorial-overline { margin-bottom: 17px; }
  .editorial-moments-heading > p:not(.editorial-overline) { margin-top: 20px; }
  .attention-line { white-space: normal; }
  .editorial-moments-heading h2 { font-size: clamp(3.4rem, 14vw, 5.1rem); }
  .editorial-moments-grid { display: block; }
  .editorial-moments article, .editorial-moments article + article { border-bottom: 1px solid rgba(21,20,19,.18); border-right: 0; min-height: 0; padding: 24px 0 29px; }
  .editorial-moments article:last-child { border-bottom: 0; }
  .editorial-moments h3 { margin: 25px 0 9px; }
  .editorial-solutions { padding: 108px 22px; }
  .editorial-solutions-heading { margin-bottom: 52px; }
  .editorial-solutions-heading .editorial-overline { margin-bottom: 22px; }
  .editorial-solution { display: block; padding: 29px 24px 32px; }
  .editorial-solution h3 { margin: 21px 0 14px; }
  .editorial-solution p { margin: 0 0 22px; }
  .editorial-solution a { display: inline-block; margin-top: 0; }
  .editorial-about-photos { min-height: 550px; }
  .editorial-about-detail { border-width: 6px; bottom: 22px; height: 185px; right: 21px; width: 133px; }
  .editorial-about-copy { padding: 88px 22px; }
  .editorial-about h2 { font-size: clamp(3.8rem, 16vw, 5.4rem); }
  .editorial-closing { padding: 105px 22px; text-align: left; }
  .editorial-closing h2 { font-size: clamp(3.45rem, 14vw, 5.1rem); }
  .editorial-footer { align-items: flex-start; flex-direction: column; gap: 27px; padding: 31px 22px; }
}
