:root {
      --paper: #f2eee7;
      --paper-light: #f8f5ef;
      --ink: #1f211e;
      --forest: #2f3b31;
      --forest-deep: #1f2922;
      --sage: #a9ad98;
      --sand: #d7cfc2;
      --line: rgba(31, 33, 30, .18);
      --white: #fff;
      --serif: "Italiana", Georgia, serif;
      --sans: "DM Sans", Arial, sans-serif;
      --header-h: 86px;
      --ease: cubic-bezier(.22, 1, .36, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: var(--sans);
      font-weight: 300;
      line-height: 1.65;
      overflow-x: hidden;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    body.menu-open { overflow: hidden; }
    a { color: inherit; text-decoration: none; }
    img { display: block; width: 100%; height: auto; }
    button, input, textarea { font: inherit; }
    ::selection { background: var(--forest); color: var(--paper-light); }

    .skip-link {
      position: fixed;
      left: 16px;
      top: -80px;
      z-index: 9999;
      background: var(--ink);
      color: var(--white);
      padding: 12px 16px;
      transition: top .2s ease;
    }
    .skip-link:focus { top: 16px; }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin: 0 0 24px;
      font-size: .68rem;
      font-weight: 500;
      letter-spacing: .22em;
      text-transform: uppercase;
    }
    .eyebrow::before {
      content: "";
      width: 30px;
      height: 1px;
      background: currentColor;
      opacity: .65;
    }

    .display {
      margin: 0;
      font-family: var(--serif);
      font-weight: 400;
      line-height: .98;
      letter-spacing: -.035em;
    }
    .display-xl { font-size: clamp(4.1rem, 8.3vw, 9.5rem); }
    .display-lg { font-size: clamp(3.2rem, 6.6vw, 7rem); }
    .display-md { font-size: clamp(2.5rem, 4.5vw, 4.8rem); }

    .lede {
      max-width: 640px;
      font-size: clamp(1.05rem, 1.35vw, 1.28rem);
      line-height: 1.75;
    }

    .button {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 0 28px;
      border: 1px solid currentColor;
      font-size: .69rem;
      font-weight: 500;
      letter-spacing: .17em;
      text-transform: uppercase;
      overflow: hidden;
      isolation: isolate;
      transition: color .45s var(--ease), border-color .45s var(--ease), transform .35s var(--ease);
    }
    .button::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background: currentColor;
      transform: scaleY(0);
      transform-origin: bottom;
      transition: transform .45s var(--ease);
    }
    .button span { transition: color .45s var(--ease); }
    .button:hover { transform: translateY(-2px); }
    .button:hover::before { transform: scaleY(1); }
    .button--dark { color: var(--forest-deep); }
    .button--dark:hover span { color: var(--paper-light); }
    .button--light { color: var(--paper-light); }
    .button--light:hover span { color: var(--forest-deep); }
    .button--solid {
      color: var(--paper-light);
      background: var(--forest-deep);
      border-color: var(--forest-deep);
    }
    .button--solid::before { background: var(--paper-light); }
    .button--solid:hover span { color: var(--forest-deep); }

    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding-bottom: 7px;
      border-bottom: 1px solid currentColor;
      font-size: .7rem;
      font-weight: 500;
      letter-spacing: .16em;
      text-transform: uppercase;
      transition: gap .3s var(--ease), opacity .3s ease;
    }
    .text-link:hover { gap: 20px; opacity: .72; }

    .site-header {
      position: fixed;
      inset: 0 0 auto;
      z-index: 1000;
      height: var(--header-h);
      color: var(--paper-light);
      border-bottom: 1px solid rgba(255,255,255,.22);
      transition: background .45s ease, color .45s ease, height .45s ease, border-color .45s ease;
    }
    .site-header.is-scrolled,
    .site-header.on-light {
      color: var(--ink);
      background: rgba(242,238,231,.94);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      border-color: var(--line);
    }
    .site-header.is-scrolled { height: 72px; }
    .menu-open .site-header {
      color: var(--paper-light);
      background: transparent;
      border-color: rgba(255,255,255,.18);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .header-inner {
      width: min(1540px, calc(100% - 64px));
      height: 100%;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 28px;
    }
    .brand {
      text-align: center;
      font-family: var(--serif);
      font-size: clamp(1.35rem, 2vw, 1.85rem);
      line-height: 1;
      letter-spacing: -.015em;
      white-space: nowrap;
    }
    .brand small {
      display: block;
      margin-top: 7px;
      font-family: var(--sans);
      font-size: .52rem;
      font-weight: 500;
      letter-spacing: .32em;
      text-transform: uppercase;
    }
    .desktop-nav {
      display: flex;
      gap: clamp(18px, 2.1vw, 38px);
      align-items: center;
    }
    .desktop-nav a,
    .header-book {
      position: relative;
      font-size: .64rem;
      font-weight: 500;
      letter-spacing: .15em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .desktop-nav a::after,
    .header-book::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -7px;
      height: 1px;
      background: currentColor;
      transition: right .35s var(--ease);
    }
    .desktop-nav a:hover::after,
    .header-book:hover::after { right: 0; }
    .header-actions {
      justify-self: end;
      display: flex;
      align-items: center;
      gap: 22px;
    }
    .menu-toggle {
      display: none;
      width: 42px;
      height: 42px;
      padding: 0;
      border: 0;
      background: transparent;
      color: inherit;
      cursor: pointer;
    }
    .menu-toggle span {
      display: block;
      width: 24px;
      height: 1px;
      margin: 6px auto;
      background: currentColor;
      transition: transform .35s var(--ease), opacity .25s ease;
    }
    .menu-open .menu-toggle span:first-child { transform: translateY(3.5px) rotate(45deg); }
    .menu-open .menu-toggle span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

    .mobile-menu {
      position: fixed;
      inset: 0;
      z-index: 990;
      display: grid;
      grid-template-columns: 1fr 1fr;
      background: var(--forest-deep);
      color: var(--paper-light);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-16px);
      transition: opacity .45s ease, visibility .45s ease, transform .55s var(--ease);
    }
    .menu-open .mobile-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .mobile-menu__image {
      background:
        linear-gradient(to top, rgba(22,31,25,.45), transparent 50%),
        url("https://static.wixstatic.com/media/0001fd_40e9c2f83d31490fa98675d532711c90~mv2.jpg/v1/crop/x_322,y_0,w_3159,h_2535/fill/w_1400,h_1200,al_c,q_88/VanessaundSaskia_DasBrautwohnzimmer-36.jpg") center/cover no-repeat;
    }
    .mobile-menu__content {
      padding: 140px 8vw 60px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .mobile-menu nav { display: grid; gap: 8px; }
    .mobile-menu nav a {
      width: fit-content;
      font-family: var(--serif);
      font-size: clamp(2.7rem, 5vw, 5.5rem);
      line-height: 1.05;
    }
    .mobile-menu__meta {
      display: flex;
      flex-wrap: wrap;
      gap: 18px 36px;
      padding-top: 40px;
      border-top: 1px solid rgba(255,255,255,.18);
      font-size: .72rem;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .hero {
      position: relative;
      min-height: 100svh;
      display: grid;
      grid-template-columns: minmax(0, 1.06fr) minmax(400px, .94fr);
      color: var(--paper-light);
      background: var(--forest-deep);
      overflow: hidden;
    }
    .hero__copy {
      position: relative;
      z-index: 2;
      min-height: 100svh;
      padding: calc(var(--header-h) + 10vh) 7vw 8vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      background:
        radial-gradient(circle at 18% 20%, rgba(169,173,152,.16), transparent 34%),
        linear-gradient(145deg, #26342a 0%, #1f2922 70%);
    }
    .hero__copy::after {
      content: "";
      position: absolute;
      width: 1px;
      height: 130px;
      bottom: 0;
      left: 7vw;
      background: rgba(255,255,255,.35);
    }
    .hero__title { max-width: 900px; }
    .hero__title em {
      display: block;
      font-style: normal;
      color: var(--sage);
      margin-left: .45em;
    }
    .hero__sub {
      max-width: 520px;
      margin: 38px 0 42px;
      font-size: clamp(1rem, 1.25vw, 1.22rem);
      color: rgba(248,245,239,.78);
    }
    .hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
    .hero__image-wrap {
      position: relative;
      min-height: 100svh;
      background: #d8d1c5;
      overflow: hidden;
    }
    .hero__image {
      height: 100%;
      object-fit: cover;
      object-position: 50% 48%;
      transform: scale(1.04);
      animation: heroZoom 1.8s var(--ease) both;
    }
    .hero__image-wrap::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(17,21,18,.35), transparent 48%);
      pointer-events: none;
    }
    .hero__caption {
      position: absolute;
      z-index: 2;
      right: 28px;
      bottom: 30px;
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      font-size: .62rem;
      font-weight: 500;
      letter-spacing: .22em;
      text-transform: uppercase;
    }
    .hero__intro {
      opacity: 0;
      transform: translateY(28px);
      animation: heroIntro 1.1s .18s var(--ease) forwards;
    }
    @keyframes heroIntro { to { opacity: 1; transform: none; } }
    @keyframes heroZoom { from { transform: scale(1.11); } to { transform: scale(1.04); } }

    main > section { position: relative; }
    .section-pad { padding: clamp(100px, 11vw, 180px) 7vw; }

    .manifesto {
      min-height: 88svh;
      padding: 12vh 7vw;
      display: grid;
      place-items: center;
      text-align: center;
      background: var(--paper-light);
    }
    .manifesto__inner { max-width: 1240px; }
    .manifesto blockquote {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3rem, 6.5vw, 7.2rem);
      line-height: 1.08;
      letter-spacing: -.035em;
    }
    .manifesto blockquote span { color: var(--forest); }
    .manifesto cite {
      display: block;
      margin-top: 48px;
      font-style: normal;
      font-size: .68rem;
      font-weight: 500;
      letter-spacing: .2em;
      text-transform: uppercase;
    }

    .julia {
      display: grid;
      grid-template-columns: .84fr 1.16fr;
      min-height: 900px;
      background: var(--paper);
    }
    .julia__portrait {
      position: relative;
      min-height: 760px;
      overflow: hidden;
      background: #d2ccc1;
    }
    .julia__portrait img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 42%;
      transition: transform 1.2s var(--ease);
    }
    .julia__portrait:hover img { transform: scale(1.025); }
    .julia__portrait-note {
      position: absolute;
      left: 0;
      bottom: 0;
      width: min(78%, 410px);
      padding: 28px 34px;
      color: var(--paper-light);
      background: var(--forest-deep);
      font-family: var(--serif);
      font-size: 1.75rem;
      line-height: 1.25;
    }
    .julia__content {
      padding: clamp(90px, 10vw, 170px) clamp(50px, 9vw, 150px);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .julia__content .display { max-width: 760px; }
    .julia__text {
      max-width: 620px;
      margin: 42px 0 38px;
      font-size: 1.06rem;
    }
    .julia__signature {
      margin-top: 26px;
      font-family: var(--serif);
      font-size: 2rem;
      color: var(--forest);
    }

    .experience {
      color: var(--paper-light);
      background: var(--forest);
    }
    .experience__head {
      display: grid;
      grid-template-columns: 1.25fr .75fr;
      gap: 7vw;
      align-items: end;
      margin-bottom: clamp(60px, 8vw, 120px);
    }
    .experience__head .lede {
      justify-self: end;
      color: rgba(248,245,239,.78);
    }
    .experience__visual {
      position: relative;
      min-height: min(72vw, 820px);
      overflow: hidden;
      background: #a79f91;
    }
    .experience__visual > img {
      width: 100%;
      height: 100%;
      min-height: min(72vw, 820px);
      object-fit: cover;
    }
    .experience__card {
      position: absolute;
      right: 6vw;
      bottom: 0;
      width: min(430px, 42vw);
      padding: clamp(34px, 4vw, 58px);
      color: var(--ink);
      background: var(--paper-light);
    }
    .experience__card strong {
      display: block;
      margin-bottom: 16px;
      font-family: var(--serif);
      font-size: clamp(2.4rem, 4vw, 4.8rem);
      font-weight: 400;
      line-height: .95;
    }
    .experience__card p { margin: 0; }

    .values {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid rgba(255,255,255,.2);
      margin-top: 90px;
    }
    .value {
      padding: 48px 44px 10px 0;
      border-right: 1px solid rgba(255,255,255,.2);
    }
    .value + .value { padding-left: 44px; }
    .value:last-child { border-right: 0; }
    .value__number {
      font-family: var(--serif);
      font-size: 2.7rem;
      color: var(--sage);
    }
    .value h3 {
      margin: 20px 0 14px;
      font-family: var(--serif);
      font-size: 2rem;
      font-weight: 400;
    }
    .value p { margin: 0; color: rgba(248,245,239,.72); }

    .collection { background: var(--paper-light); overflow: hidden; }
    .collection__head {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6vw;
      align-items: end;
    }
    .collection__head .lede { justify-self: end; }
    .collection__grid {
      margin-top: clamp(60px, 8vw, 110px);
      display: grid;
      grid-template-columns: 1fr .76fr 1fr;
      gap: clamp(16px, 2.3vw, 38px);
      align-items: start;
    }
    .look { position: relative; }
    .look:nth-child(2) { margin-top: 11vw; }
    .look__image {
      position: relative;
      overflow: hidden;
      background: #ddd5ca;
    }
    .look__image::after {
      content: "";
      position: absolute;
      inset: 0;
      border: 1px solid rgba(255,255,255,.22);
      pointer-events: none;
    }
    .look img {
      aspect-ratio: .69;
      object-fit: cover;
      transition: transform 1s var(--ease);
    }
    .look:hover img { transform: scale(1.035); }
    .look figcaption {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      padding-top: 18px;
      font-size: .65rem;
      font-weight: 500;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .look figcaption span:last-child { opacity: .55; }
    .collection__footer {
      margin-top: 70px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 40px;
      padding-top: 32px;
      border-top: 1px solid var(--line);
    }
    .designer-list {
      max-width: 860px;
      font-family: var(--serif);
      font-size: clamp(1.3rem, 2.2vw, 2.15rem);
      line-height: 1.45;
    }

    .process { background: var(--paper); }
    .process__head {
      max-width: 1000px;
      margin-bottom: 90px;
    }
    .steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid var(--line);
    }
    .step {
      position: relative;
      min-height: 380px;
      padding: 38px 45px 48px 0;
      border-right: 1px solid var(--line);
    }
    .step + .step { padding-left: 45px; }
    .step:last-child { border-right: 0; }
    .step__no {
      font-size: .67rem;
      font-weight: 500;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .step h3 {
      margin: 88px 0 22px;
      font-family: var(--serif);
      font-size: clamp(2rem, 3vw, 3.2rem);
      font-weight: 400;
      line-height: 1;
    }
    .step p { max-width: 340px; margin: 0; }

    .gallery-strip {
      display: grid;
      grid-template-columns: 1.1fr .7fr .9fr;
      min-height: 680px;
      background: #d9d2c8;
    }
    .gallery-strip figure {
      margin: 0;
      min-height: 680px;
      overflow: hidden;
    }
    .gallery-strip img {
      height: 100%;
      object-fit: cover;
      transition: transform 1.2s var(--ease);
    }
    .gallery-strip figure:hover img { transform: scale(1.025); }
    .gallery-strip figure:nth-child(1) img { object-position: center; }
    .gallery-strip figure:nth-child(2) img { object-position: 45% center; }
    .gallery-strip figure:nth-child(3) img { object-position: center; }

    .cta {
      min-height: 82svh;
      padding: 110px 7vw;
      display: grid;
      place-items: center;
      text-align: center;
      color: var(--paper-light);
      background:
        linear-gradient(rgba(26,35,29,.67), rgba(26,35,29,.78)),
        url("https://static.wixstatic.com/media/0001fd_5dfa2a2d42aa4e958b7c6693c389e7f2~mv2.jpg/v1/fill/w_1800,h_1200,al_c,q_88/0001fd_5dfa2a2d42aa4e958b7c6693c389e7f2~mv2.jpg") center/cover fixed no-repeat;
    }
    .cta__inner { max-width: 1050px; }
    .cta .display { margin-bottom: 42px; }
    .cta p {
      max-width: 620px;
      margin: 0 auto 40px;
      color: rgba(248,245,239,.78);
      font-size: 1.08rem;
    }

    .visit {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      background: var(--paper-light);
    }
    .visit__content {
      padding: clamp(90px, 10vw, 170px) 7vw;
    }
    .visit__content .display { max-width: 710px; }
    .visit__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 42px;
      margin: 55px 0 46px;
      padding-top: 34px;
      border-top: 1px solid var(--line);
    }
    .visit__block h3 {
      margin: 0 0 14px;
      font-size: .67rem;
      font-weight: 500;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .visit__block p { margin: 0; }
    .visit__image { min-height: 720px; overflow: hidden; }
    .visit__image img { height: 100%; object-fit: cover; }

    .site-footer {
      padding: 72px 7vw 32px;
      color: var(--paper-light);
      background: #161d18;
    }
    .footer-top {
      display: grid;
      grid-template-columns: 1.3fr .7fr .7fr;
      gap: 7vw;
      padding-bottom: 70px;
    }
    .footer-brand {
      font-family: var(--serif);
      font-size: clamp(2.4rem, 4vw, 4.8rem);
      line-height: .95;
    }
    .footer-brand span { display: block; color: var(--sage); }
    .footer-col h3 {
      margin: 0 0 20px;
      font-size: .64rem;
      font-weight: 500;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--sage);
    }
    .footer-col nav { display: grid; gap: 9px; }
    .footer-col a { width: fit-content; }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 30px;
      padding-top: 26px;
      border-top: 1px solid rgba(255,255,255,.14);
      font-size: .62rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: rgba(248,245,239,.58);
    }
    .footer-bottom nav { display: flex; gap: 24px; }

    .reveal {
      opacity: 0;
      transform: translateY(38px);
      transition: opacity .9s ease, transform 1s var(--ease);
    }
    .reveal.is-visible { opacity: 1; transform: none; }
    .image-reveal { position: relative; }
    .image-reveal::before {
      content: "";
      position: absolute;
      z-index: 3;
      inset: 0;
      background: var(--paper);
      transform-origin: right;
      transition: transform 1.2s .08s var(--ease);
      pointer-events: none;
    }
    .image-reveal.dark::before { background: var(--forest); }
    .image-reveal.is-visible::before { transform: scaleX(0); }

    @media (max-width: 1120px) {
      :root { --header-h: 76px; }
      .desktop-nav { display: none; }
      .header-inner { grid-template-columns: 1fr auto 1fr; width: min(100% - 36px, 1540px); }
      .menu-toggle { display: block; }
      .header-actions .header-book { display: none; }
      .hero { grid-template-columns: 1fr 1fr; }
      .hero__copy { padding-left: 5vw; padding-right: 5vw; }
      .experience__head, .collection__head { grid-template-columns: 1fr; }
      .experience__head .lede, .collection__head .lede { justify-self: start; }
      .julia__content { padding-left: 7vw; padding-right: 7vw; }
      .visit { grid-template-columns: 1fr; }
      .visit__image { min-height: 620px; order: -1; }
    }

    @media (max-width: 820px) {
      .hero {
        min-height: auto;
        grid-template-columns: 1fr;
      }
      .hero__image-wrap {
        min-height: 62svh;
        order: -1;
      }
      .hero__copy {
        min-height: auto;
        padding: 78px 24px 88px;
      }
      .hero__copy::after { display: none; }
      .hero__title em { margin-left: .18em; }
      .mobile-menu { grid-template-columns: 1fr; }
      .mobile-menu__image { display: none; }
      .mobile-menu__content { padding: 120px 28px 42px; }
      .mobile-menu nav a { font-size: clamp(2.6rem, 13vw, 4.2rem); }
      .manifesto { min-height: 74svh; padding-left: 24px; padding-right: 24px; }
      .julia { grid-template-columns: 1fr; }
      .julia__portrait { min-height: 680px; }
      .julia__content { padding: 92px 24px; }
      .experience__visual, .experience__visual > img { min-height: 680px; }
      .experience__card { right: 0; width: min(88%, 430px); }
      .values, .steps { grid-template-columns: 1fr; }
      .value, .value + .value, .step, .step + .step {
        padding: 38px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.2);
      }
      .steps .step { border-bottom-color: var(--line); min-height: auto; }
      .value:last-child, .step:last-child { border-bottom: 0; }
      .step h3 { margin-top: 40px; }
      .collection__grid { grid-template-columns: 1fr 1fr; }
      .look:nth-child(2) { margin-top: 12vw; }
      .look:nth-child(3) { grid-column: 1 / -1; width: 66%; margin: 0 auto; }
      .collection__footer { align-items: flex-start; flex-direction: column; }
      .gallery-strip {
        grid-template-columns: 1fr 1fr;
        min-height: auto;
      }
      .gallery-strip figure { min-height: 520px; }
      .gallery-strip figure:last-child { display: none; }
      .cta { background-attachment: scroll; }
      .footer-top { grid-template-columns: 1fr 1fr; }
      .footer-brand { grid-column: 1 / -1; margin-bottom: 20px; }
    }

    @media (max-width: 560px) {
      .section-pad { padding-left: 24px; padding-right: 24px; }
      .header-inner { width: calc(100% - 28px); }
      .brand { font-size: 1.22rem; }
      .brand small { font-size: .44rem; }
      .hero__image-wrap { min-height: 57svh; }
      .hero__caption { right: 14px; bottom: 16px; }
      .hero__actions { align-items: stretch; flex-direction: column; }
      .button { width: 100%; }
      .display-xl { font-size: clamp(3.35rem, 17vw, 5rem); }
      .display-lg { font-size: clamp(3rem, 15vw, 4.5rem); }
      .manifesto blockquote { font-size: clamp(2.55rem, 12vw, 4.2rem); }
      .julia__portrait { min-height: 570px; }
      .julia__portrait-note { width: 90%; padding: 24px; font-size: 1.45rem; }
      .experience__visual, .experience__visual > img { min-height: 570px; }
      .experience__card { position: relative; right: auto; width: 100%; }
      .collection__grid { grid-template-columns: 1fr; }
      .look:nth-child(2), .look:nth-child(3) { width: 100%; margin: 0; grid-column: auto; }
      .collection__footer { margin-top: 52px; }
      .gallery-strip { grid-template-columns: 1fr; }
      .gallery-strip figure { min-height: 500px; }
      .gallery-strip figure:nth-child(2) { display: none; }
      .visit__grid { grid-template-columns: 1fr; }
      .visit__image { min-height: 520px; }
      .footer-top { grid-template-columns: 1fr; }
      .footer-brand { grid-column: auto; }
      .footer-bottom { flex-direction: column; }
      .footer-bottom nav { flex-wrap: wrap; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }
      .reveal { opacity: 1; transform: none; }
      .image-reveal::before { display: none; }
      .cta { background-attachment: scroll; }
    }

/* ---------- Complete site / editorial subpages ---------- */
:root { --page-max: 1540px; }
body.header-light .site-header {
  color: var(--ink);
  background: rgba(242,238,231,.96);
  border-color: var(--line);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.site-header .desktop-nav a[aria-current="page"]::after { right: 0; }
.main-inner { padding-top: var(--header-h); }
.page-hero {
  min-height: min(840px, 92vh);
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  background: var(--forest-deep);
  color: var(--paper-light);
}
.page-hero__copy {
  display: flex;
  align-items: flex-end;
  padding: clamp(150px, 18vh, 230px) clamp(34px, 6vw, 110px) clamp(70px, 9vh, 130px);
}
.page-hero__copy > div { max-width: 720px; }
.page-hero__title { max-width: 800px; }
.page-hero__title em { display:block; font-style: italic; color: var(--sage); }
.page-hero__copy .lede { color: rgba(248,245,239,.78); margin-top: 32px; }
.page-hero__image { min-height: 680px; position: relative; overflow: hidden; background: #d7cfc2; }
.page-hero__image img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.page-hero__image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(31,41,34,.13), transparent 35%); pointer-events:none; }
.page-hero__caption { position:absolute; z-index:2; right:28px; bottom:24px; padding:9px 12px; background:rgba(31,41,34,.7); color:#fff; font-size:.57rem; letter-spacing:.16em; text-transform:uppercase; }

.editorial-section { padding: clamp(90px, 11vw, 180px) clamp(28px, 6vw, 100px); }
.editorial-section--light { background: var(--paper-light); }
.editorial-section--paper { background: var(--paper); }
.editorial-section--dark { background: var(--forest-deep); color: var(--paper-light); }
.editorial-wrap { width:min(var(--page-max), 100%); margin:0 auto; }
.editorial-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.62fr); gap:clamp(42px,8vw,140px); align-items:end; }
.editorial-intro .lede { margin:0; }
.editorial-prose { max-width:760px; }
.editorial-prose p { margin:0 0 1.35em; font-size:clamp(1.02rem,1.3vw,1.2rem); line-height:1.85; }
.editorial-prose p:last-child { margin-bottom:0; }

.split-editorial { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(50px,8vw,140px); align-items:center; }
.split-editorial--reverse .split-editorial__media { order:2; }
.split-editorial__media { min-height:650px; position:relative; overflow:hidden; background:var(--sand); }
.split-editorial__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.split-editorial__content { max-width:650px; }
.split-editorial__content h2 { margin-bottom:34px; }
.split-editorial__content p { font-size:clamp(1rem,1.2vw,1.15rem); line-height:1.85; }
.split-editorial__content .text-link { margin-top:20px; }

.statement-band { padding:clamp(90px,12vw,180px) 28px; background:var(--sage); color:var(--forest-deep); text-align:center; }
.statement-band blockquote { max-width:1180px; margin:0 auto; font-family:var(--serif); font-size:clamp(2.7rem,5.8vw,6.4rem); line-height:1.04; letter-spacing:-.035em; }
.statement-band cite { display:block; margin-top:30px; font-style:normal; font-size:.65rem; letter-spacing:.19em; text-transform:uppercase; }

.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.feature { background:var(--paper-light); padding:clamp(34px,4.8vw,70px); min-height:340px; display:flex; flex-direction:column; }
.feature__no { font-size:.63rem; letter-spacing:.18em; text-transform:uppercase; opacity:.58; }
.feature h3 { margin:auto 0 24px; font-family:var(--serif); font-weight:400; font-size:clamp(2rem,3.2vw,3.4rem); line-height:1; }
.feature p { margin:0; max-width:420px; }
.editorial-section--dark .feature-grid { background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.18); }
.editorial-section--dark .feature { background:var(--forest-deep); }

.facts-row { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.fact { padding:34px clamp(18px,3vw,48px); border-right:1px solid var(--line); }
.fact:last-child { border-right:0; }
.fact strong { display:block; font-family:var(--serif); font-size:clamp(2rem,3.3vw,3.5rem); font-weight:400; line-height:1; margin-bottom:13px; }
.fact span { font-size:.65rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; }

.designer-index { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:44px; }
.designer-index a { font-family:var(--serif); font-size:clamp(1.55rem,2.5vw,2.8rem); border-bottom:1px solid transparent; transition:border-color .3s ease; }
.designer-index a:hover { border-color:currentColor; }
.designer-chapter { min-height:760px; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); }
.designer-chapter:nth-of-type(even) { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); }
.designer-chapter:nth-of-type(even) .designer-chapter__image { order:2; }
.designer-chapter__image { min-height:720px; position:relative; overflow:hidden; background:var(--sand); }
.designer-chapter__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.designer-chapter__content { padding:clamp(60px,8vw,130px); display:flex; justify-content:center; flex-direction:column; }
.designer-chapter__content h2 { margin:0 0 28px; font-family:var(--serif); font-size:clamp(3rem,6vw,6.8rem); font-weight:400; line-height:.94; letter-spacing:-.04em; }
.designer-chapter__content .origin { margin-bottom:34px; font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; }
.designer-chapter__content p { max-width:620px; font-size:clamp(1rem,1.18vw,1.15rem); line-height:1.85; }

.accessory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,4vw,64px); }
.accessory-card { position:relative; }
.accessory-card__image { aspect-ratio:4/5; position:relative; overflow:hidden; background:var(--sand); }
.accessory-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.accessory-card:hover img { transform:scale(1.025); }
.accessory-card__copy { padding:26px 0 36px; border-bottom:1px solid var(--line); }
.accessory-card__copy h2 { margin:0 0 12px; font-family:var(--serif); font-size:clamp(2rem,3.8vw,4.4rem); font-weight:400; line-height:1; }
.accessory-card__copy p { max-width:650px; }

.timeline { counter-reset:step; border-top:1px solid var(--line); }
.timeline__item { display:grid; grid-template-columns:150px minmax(220px,.5fr) minmax(0,1fr); gap:clamp(20px,5vw,80px); padding:48px 0; border-bottom:1px solid var(--line); align-items:start; }
.timeline__item::before { counter-increment:step; content:"0" counter(step); font-family:var(--serif); font-size:3.3rem; line-height:1; }
.timeline__item h2 { margin:0; font-family:var(--serif); font-size:clamp(2rem,3.5vw,4rem); font-weight:400; line-height:1; }
.timeline__item p { margin:0; max-width:740px; font-size:clamp(1rem,1.15vw,1.13rem); line-height:1.8; }

.accordion { border-top:1px solid var(--line); }
.accordion__item { border-bottom:1px solid var(--line); }
.accordion__button { width:100%; padding:32px 0; display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; border:0; background:none; color:inherit; text-align:left; cursor:pointer; }
.accordion__button span:first-child { font-family:var(--serif); font-size:clamp(1.7rem,3vw,3.2rem); line-height:1.12; }
.accordion__icon { width:26px; height:26px; position:relative; }
.accordion__icon::before,.accordion__icon::after { content:""; position:absolute; left:2px; top:12px; width:22px; height:1px; background:currentColor; transition:transform .35s var(--ease); }
.accordion__icon::after { transform:rotate(90deg); }
.accordion__button[aria-expanded="true"] .accordion__icon::after { transform:rotate(0); }
.accordion__panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows .45s var(--ease); }
.accordion__panel > div { overflow:hidden; }
.accordion__button[aria-expanded="true"] + .accordion__panel { grid-template-rows:1fr; }
.accordion__panel p { max-width:850px; margin:0; padding:0 60px 34px 0; font-size:1.05rem; line-height:1.8; }

.visit-page { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); min-height:840px; }
.visit-page__content { padding:clamp(130px,14vw,210px) clamp(34px,7vw,120px) 90px; }
.visit-page__image { min-height:760px; position:relative; overflow:hidden; background:var(--sand); }
.visit-page__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.contact-list { margin:54px 0; border-top:1px solid var(--line); }
.contact-list__row { display:grid; grid-template-columns:160px 1fr; gap:30px; padding:24px 0; border-bottom:1px solid var(--line); }
.contact-list__row strong { font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; }
.contact-list__row p { margin:0; }
.map-link { width:100%; min-height:340px; padding:50px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:var(--forest); color:var(--paper-light); }
.map-link strong { font-family:var(--serif); font-size:clamp(2.4rem,4vw,4.8rem); font-weight:400; line-height:1; }
.map-link span { margin-top:20px; font-size:.65rem; letter-spacing:.18em; text-transform:uppercase; }

.legal-hero { padding:calc(var(--header-h) + 100px) clamp(28px,6vw,100px) 75px; border-bottom:1px solid var(--line); }
.legal-page { width:min(980px,calc(100% - 56px)); margin:0 auto; padding:80px 0 140px; }
.legal-page h2 { margin:60px 0 18px; font-family:var(--serif); font-size:clamp(2rem,3.4vw,3.5rem); font-weight:400; line-height:1.08; }
.legal-page h3 { margin:34px 0 12px; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; }
.legal-page p,.legal-page li { line-height:1.8; }
.legal-page a { text-decoration:underline; text-underline-offset:4px; }
.legal-note { padding:24px 28px; margin:0 0 42px; border:1px solid var(--line); background:var(--paper-light); }

.region-hero { padding:calc(var(--header-h) + 105px) clamp(28px,7vw,120px) 95px; background:var(--forest-deep); color:var(--paper-light); }
.region-hero__inner { width:min(1250px,100%); margin:0 auto; }
.region-hero .lede { color:rgba(248,245,239,.78); margin-top:28px; }
.region-content { width:min(1100px,calc(100% - 56px)); margin:0 auto; padding:100px 0 140px; }
.region-content h2 { margin:65px 0 18px; font-family:var(--serif); font-size:clamp(2.2rem,4vw,4.4rem); font-weight:400; line-height:1; }
.region-content p { font-size:clamp(1rem,1.2vw,1.15rem); line-height:1.85; }
.region-links { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:40px; }
.region-links a { border-bottom:1px solid currentColor; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }

.site-footer .footer-col nav { display:flex; flex-direction:column; gap:9px; }
.site-footer .footer-col a { font-size:.78rem; }
.footer-regions { padding:28px min(6vw,100px); border-top:1px solid rgba(255,255,255,.13); background:var(--forest-deep); color:rgba(248,245,239,.68); }
.footer-regions__inner { width:min(var(--page-max),100%); margin:0 auto; display:flex; flex-wrap:wrap; gap:8px 18px; }
.footer-regions a { font-size:.58rem; letter-spacing:.11em; text-transform:uppercase; }
.footer-regions a:hover { color:var(--paper-light); }

.img-fallback { background:linear-gradient(135deg,var(--sand),var(--sage)); }
.img-fallback img.is-missing { opacity:0; }

@media (max-width: 1050px) {
  .page-hero { grid-template-columns:1fr; min-height:auto; }
  .page-hero__copy { min-height:610px; }
  .page-hero__image { min-height:680px; }
  .editorial-intro,.split-editorial,.visit-page { grid-template-columns:1fr; }
  .split-editorial--reverse .split-editorial__media { order:0; }
  .designer-chapter,.designer-chapter:nth-of-type(even) { grid-template-columns:1fr; }
  .designer-chapter:nth-of-type(even) .designer-chapter__image { order:0; }
  .designer-chapter__image { min-height:700px; }
  .feature-grid { grid-template-columns:1fr; }
  .feature { min-height:260px; }
  .facts-row { grid-template-columns:repeat(2,1fr); }
  .fact:nth-child(2) { border-right:0; }
  .fact:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .timeline__item { grid-template-columns:90px 1fr; }
  .timeline__item p { grid-column:2; }
}
@media (max-width: 700px) {
  .page-hero__copy { min-height:570px; padding:145px 24px 65px; align-items:flex-end; }
  .page-hero__image { min-height:520px; }
  .page-hero__caption { right:14px; bottom:14px; }
  .editorial-section { padding:80px 22px; }
  .split-editorial__media { min-height:510px; }
  .statement-band { padding:90px 22px; }
  .facts-row { grid-template-columns:1fr; }
  .fact { border-right:0; border-bottom:1px solid var(--line); }
  .fact:last-child { border-bottom:0; }
  .designer-chapter__image { min-height:520px; }
  .designer-chapter__content { padding:70px 22px; }
  .accessory-grid { grid-template-columns:1fr; }
  .timeline__item { grid-template-columns:58px 1fr; gap:14px; }
  .timeline__item::before { font-size:2.4rem; }
  .accordion__panel p { padding-right:0; }
  .visit-page__content { padding:145px 22px 70px; }
  .visit-page__image { min-height:540px; }
  .contact-list__row { grid-template-columns:1fr; gap:8px; }
  .map-link { min-height:280px; padding:32px 22px; }
  .legal-hero { padding:145px 22px 60px; }
  .legal-page,.region-content { width:calc(100% - 44px); }
  .region-hero { padding:145px 22px 75px; }
}
