
    :root {
      --night: #07151f;
      --deep: #0c2332;
      --pine: #143447;
      --ice: #edf5f6;
      --cloud: #f7f5ef;
      --stone: #b8b1a6;
      --wine: #9e2934;
      --wine-dark: #7f1f29;
      --brass: #c8aa70;
      --brass-pale: #e9dcc1;
      --ink: #10202a;
      --muted: #667780;
      --line: rgba(237, 245, 246, .17);
      --display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
      --sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
      --shadow: 0 28px 75px rgba(2, 12, 18, .28);
    }

    * { box-sizing: border-box; }

    html { scroll-behavior: smooth; }

    body {
      margin: 0;
      color: var(--ink);
      background: var(--cloud);
      font-family: var(--sans);
      font-size: 17px;
      line-height: 1.6;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    img { display: block; width: 100%; }

    a { color: inherit; }

    button, input, select, textarea { font: inherit; }

    button, a { -webkit-tap-highlight-color: transparent; }

    :focus-visible {
      outline: 3px solid var(--brass);
      outline-offset: 4px;
    }

    [id] { scroll-margin-top: 112px; }

    .review-bar {
      position: relative;
      z-index: 20;
      padding: 9px 18px;
      color: #fff;
      background: var(--wine);
      text-align: center;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .105em;
      line-height: 1.35;
      text-transform: uppercase;
    }

    .site-header {
      position: absolute;
      z-index: 10;
      top: 40px;
      left: 0;
      right: 0;
      color: #fff;
    }

    .nav {
      width: min(1200px, calc(100% - 48px));
      margin: 0 auto;
      padding: 23px 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid var(--line);
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 13px;
      text-decoration: none;
    }

    .brand-mark {
      position: relative;
      width: 38px;
      height: 38px;
      border: 1px solid rgba(255,255,255,.52);
      border-radius: 50%;
    }

    .brand-mark::before,
    .brand-mark::after {
      content: "";
      position: absolute;
      left: 8px;
      right: 8px;
      border-top: 1px solid var(--brass);
      transform: rotate(-17deg);
    }

    .brand-mark::before { top: 15px; }
    .brand-mark::after { top: 21px; left: 12px; right: 6px; }

    .brand-type strong,
    .brand-type span { display: block; }

    .brand-type strong {
      font-family: var(--display);
      font-size: 20px;
      font-weight: 400;
      letter-spacing: .02em;
      line-height: 1;
    }

    .brand-type span {
      margin-top: 5px;
      color: rgba(255,255,255,.67);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .19em;
      text-transform: uppercase;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 29px;
      font-size: 13px;
      font-weight: 650;
      letter-spacing: .055em;
    }

    .nav-links a {
      text-decoration: none;
      opacity: .83;
    }

    .nav-links a:hover { opacity: 1; }

    .nav-cta {
      padding: 10px 17px;
      border: 1px solid rgba(255,255,255,.45);
      border-radius: 999px;
    }

    .hero {
      position: relative;
      min-height: 850px;
      overflow: hidden;
      color: #fff;
      background: var(--night);
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 79% 20%, rgba(104, 148, 167, .19), transparent 34%),
        linear-gradient(115deg, #07151f 0%, #0d2636 51%, #102e41 100%);
    }

    .topography {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      opacity: .26;
      pointer-events: none;
    }

    .hero-inner {
      position: relative;
      z-index: 2;
      width: min(1200px, calc(100% - 48px));
      min-height: 850px;
      margin: 0 auto;
      padding: 190px 0 76px;
      display: grid;
      grid-template-columns: minmax(0, 1.02fr) minmax(380px, .78fr);
      align-items: center;
      gap: clamp(46px, 8vw, 118px);
    }

    .hero-copy { max-width: 690px; }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin: 0 0 22px;
      color: var(--brass-pale);
      font-size: 11px;
      font-weight: 750;
      letter-spacing: .2em;
      line-height: 1.3;
      text-transform: uppercase;
    }

    .eyebrow::before {
      content: "";
      width: 42px;
      border-top: 1px solid var(--brass);
    }

    h1, h2, h3, p { margin-top: 0; }

    h1 {
      margin-bottom: 26px;
      font-family: var(--display);
      font-size: clamp(58px, 7vw, 102px);
      font-weight: 400;
      letter-spacing: -.045em;
      line-height: .93;
      text-wrap: balance;
    }

    .hero-deck {
      max-width: 590px;
      margin-bottom: 34px;
      color: rgba(255,255,255,.74);
      font-size: clamp(18px, 2vw, 22px);
      line-height: 1.55;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 15px 23px;
    }

    .button {
      display: inline-flex;
      min-height: 52px;
      align-items: center;
      justify-content: center;
      gap: 12px;
      padding: 14px 22px;
      border: 1px solid transparent;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 750;
      letter-spacing: .055em;
      line-height: 1;
      text-decoration: none;
      cursor: pointer;
      transition: transform .2s ease, background .2s ease, color .2s ease;
    }

    .button:hover { transform: translateY(-2px); }

    .button-primary {
      color: #fff;
      background: var(--wine);
      box-shadow: 0 13px 32px rgba(158, 41, 52, .27);
    }

    .button-primary:hover { background: var(--wine-dark); }

    .button-text {
      padding-inline: 0;
      color: rgba(255,255,255,.78);
      border-bottom: 1px solid rgba(255,255,255,.28);
      border-radius: 0;
    }

    .button-text::after { content: "↘"; color: var(--brass); }

    .hero-portrait {
      position: relative;
      align-self: end;
      max-width: 470px;
      margin-left: auto;
    }

    .portrait-frame {
      position: relative;
      overflow: hidden;
      aspect-ratio: .76;
      border-radius: 235px 235px 16px 16px;
      box-shadow: var(--shadow);
      background: var(--pine);
    }

    .portrait-frame::after {
      content: "";
      position: absolute;
      inset: 0;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
      border-radius: inherit;
      pointer-events: none;
    }

    .portrait-frame img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 52% 35%;
      filter: saturate(.88) contrast(1.04);
    }

    .portrait-note {
      position: absolute;
      right: -34px;
      bottom: 43px;
      width: 145px;
      min-height: 145px;
      padding: 27px 20px;
      display: grid;
      place-items: center;
      color: var(--night);
      background: var(--brass-pale);
      border-radius: 50%;
      text-align: center;
      font-family: var(--display);
      font-size: 17px;
      line-height: 1.18;
      transform: rotate(5deg);
      box-shadow: 0 18px 42px rgba(0,0,0,.18);
    }

    .hero-proof {
      position: absolute;
      z-index: 3;
      left: 0;
      right: 0;
      bottom: 0;
      border-top: 1px solid var(--line);
      background: rgba(3, 15, 23, .46);
      backdrop-filter: blur(12px);
    }

    .proof-row {
      width: min(1200px, calc(100% - 48px));
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
    }

    .proof-item {
      min-height: 92px;
      padding: 22px 25px;
      display: flex;
      align-items: center;
      gap: 13px;
      border-left: 1px solid var(--line);
      color: rgba(255,255,255,.76);
      font-size: 12px;
      letter-spacing: .045em;
      line-height: 1.35;
    }

    .proof-item:last-child { border-right: 1px solid var(--line); }

    .proof-number {
      color: var(--brass);
      font-family: var(--display);
      font-size: 25px;
      font-style: italic;
    }

    .section {
      padding: clamp(80px, 10vw, 145px) 0;
    }

    .container {
      width: min(1160px, calc(100% - 48px));
      margin: 0 auto;
    }

    .section-heading {
      display: grid;
      grid-template-columns: .75fr 1.25fr;
      gap: 50px;
      align-items: end;
      margin-bottom: 54px;
    }

    .section-heading h2,
    .story-copy h2,
    .inquiry-copy h2 {
      margin-bottom: 0;
      font-family: var(--display);
      font-size: clamp(45px, 5.4vw, 72px);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: 1;
      text-wrap: balance;
    }

    .section-heading p {
      max-width: 590px;
      margin: 0;
      color: var(--muted);
      font-size: 18px;
    }

    .booking-paths { background: var(--cloud); }

    .path-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid rgba(16,32,42,.19);
      border-bottom: 1px solid rgba(16,32,42,.19);
    }

    .path-card {
      position: relative;
      min-height: 390px;
      padding: 36px 32px 32px;
      display: flex;
      flex-direction: column;
      border-right: 1px solid rgba(16,32,42,.19);
      overflow: hidden;
    }

    .path-card:last-child { border-right: 0; }

    .path-index {
      margin-bottom: 58px;
      color: var(--wine);
      font-family: var(--display);
      font-size: 17px;
      font-style: italic;
    }

    .path-card h3 {
      margin-bottom: 18px;
      font-family: var(--display);
      font-size: 33px;
      font-weight: 400;
      line-height: 1.05;
    }

    .path-card p {
      margin-bottom: 28px;
      color: var(--muted);
      font-size: 15px;
    }

    .path-card a {
      margin-top: auto;
      color: var(--wine-dark);
      font-size: 12px;
      font-weight: 750;
      letter-spacing: .09em;
      text-decoration: none;
      text-transform: uppercase;
    }

    .path-card a::after { content: "  ↗"; }

    .path-card.featured {
      color: #fff;
      background: var(--deep);
      border-color: var(--deep);
      transform: translateY(-22px);
      box-shadow: 0 25px 60px rgba(7, 21, 31, .2);
    }

    .path-card.featured .path-index { color: var(--brass); }
    .path-card.featured p { color: rgba(255,255,255,.66); }
    .path-card.featured a { color: var(--brass-pale); }

    .signature {
      position: relative;
      overflow: hidden;
      color: #fff;
      background: var(--night);
    }

    .signature::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .18;
      background:
        repeating-radial-gradient(ellipse at 80% 20%, transparent 0 32px, rgba(255,255,255,.2) 33px 34px, transparent 35px 48px);
      pointer-events: none;
    }

    .signature-grid {
      position: relative;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: stretch;
      gap: clamp(50px, 8vw, 110px);
    }

    .signature-copy {
      padding: clamp(80px, 10vw, 130px) 0;
      align-self: center;
    }

    .signature-copy h2 {
      margin-bottom: 28px;
      font-family: var(--display);
      font-size: clamp(50px, 6vw, 84px);
      font-weight: 400;
      letter-spacing: -.045em;
      line-height: .96;
    }

    .signature-copy > p {
      max-width: 550px;
      margin-bottom: 36px;
      color: rgba(255,255,255,.69);
      font-size: 19px;
    }

    .signature-list {
      margin: 0 0 38px;
      padding: 0;
      list-style: none;
      border-top: 1px solid var(--line);
    }

    .signature-list li {
      padding: 14px 0;
      display: flex;
      align-items: baseline;
      gap: 15px;
      border-bottom: 1px solid var(--line);
      color: rgba(255,255,255,.78);
      font-size: 14px;
    }

    .signature-list li::before { content: "✦"; color: var(--brass); }

    .signature-image {
      position: relative;
      min-height: 730px;
      align-self: stretch;
      overflow: hidden;
    }

    .signature-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .signature-image::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, var(--night), transparent 18%);
      pointer-events: none;
    }

    .process { background: var(--ice); }

    .process-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      border-top: 1px solid rgba(16,32,42,.18);
    }

    .step {
      position: relative;
      padding: 28px 28px 0 0;
    }

    .step::before {
      content: "";
      position: absolute;
      top: -5px;
      left: 0;
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--wine);
    }

    .step small {
      color: var(--wine-dark);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .step h3 {
      margin: 14px 0 13px;
      font-family: var(--display);
      font-size: 27px;
      font-weight: 400;
      line-height: 1.05;
    }

    .step p {
      color: var(--muted);
      font-size: 14px;
    }

    .gallery-section {
      padding-bottom: 0;
      background: var(--cloud);
    }

    .gallery-head {
      width: min(1160px, calc(100% - 48px));
      margin: 0 auto 48px;
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 32px;
    }

    .gallery-head h2 {
      max-width: 700px;
      margin: 0;
      font-family: var(--display);
      font-size: clamp(48px, 6vw, 78px);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: .96;
    }

    .gallery-head p {
      max-width: 330px;
      margin: 0;
      color: var(--muted);
      font-size: 14px;
    }

    .gallery {
      display: grid;
      grid-template-columns: 1.25fr .85fr 1fr 1.1fr;
      grid-template-rows: 390px 255px;
      gap: 6px;
      background: var(--night);
    }

    .gallery figure {
      position: relative;
      margin: 0;
      overflow: hidden;
      background: var(--deep);
    }

    .gallery figure:first-child { grid-row: 1 / 3; }
    .gallery figure:nth-child(3) { grid-column: 3 / 5; }

    .gallery img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .7s ease;
    }

    .gallery figure:hover img { transform: scale(1.035); }

    .story {
      color: #fff;
      background: var(--deep);
    }

    .story-grid {
      display: grid;
      grid-template-columns: .85fr 1.15fr;
      align-items: center;
      gap: clamp(48px, 8vw, 110px);
    }

    .story-image {
      position: relative;
      min-height: 620px;
    }

    .story-image::before {
      content: "";
      position: absolute;
      z-index: 0;
      top: -24px;
      right: -24px;
      width: 52%;
      height: 48%;
      border: 1px solid rgba(200,170,112,.48);
    }

    .story-image img {
      position: relative;
      z-index: 1;
      height: 620px;
      object-fit: cover;
      object-position: center;
      box-shadow: var(--shadow);
    }

    .story-copy .eyebrow { margin-bottom: 26px; }

    .story-copy h2 { margin-bottom: 31px; }

    .story-copy p {
      max-width: 590px;
      color: rgba(255,255,255,.68);
    }

    .credential-grid {
      margin-top: 38px;
      padding-top: 30px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 30px;
      border-top: 1px solid var(--line);
    }

    .credential-grid strong,
    .credential-grid span { display: block; }

    .credential-grid strong {
      margin-bottom: 6px;
      color: var(--brass-pale);
      font-family: var(--display);
      font-size: 20px;
      font-weight: 400;
    }

    .credential-grid span {
      color: rgba(255,255,255,.52);
      font-size: 11px;
      letter-spacing: .08em;
      line-height: 1.45;
      text-transform: uppercase;
    }

    .inquiry {
      position: relative;
      overflow: hidden;
      background: var(--brass-pale);
    }

    .inquiry::after {
      content: "CM";
      position: absolute;
      right: -35px;
      bottom: -120px;
      color: rgba(7,21,31,.035);
      font-family: var(--display);
      font-size: 390px;
      line-height: 1;
      pointer-events: none;
    }

    .inquiry-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: clamp(50px, 8vw, 100px);
    }

    .inquiry-copy h2 { margin-bottom: 24px; }

    .inquiry-copy > p {
      max-width: 470px;
      color: #55636a;
    }

    .inquiry-points {
      margin: 33px 0 0;
      padding: 0;
      list-style: none;
    }

    .inquiry-points li {
      padding: 12px 0;
      display: flex;
      gap: 11px;
      border-bottom: 1px solid rgba(16,32,42,.13);
      color: #33454f;
      font-size: 13px;
    }

    .inquiry-points li::before { content: "↳"; color: var(--wine); }

    .form-shell {
      padding: clamp(28px, 5vw, 55px);
      color: #fff;
      background: var(--night);
      box-shadow: var(--shadow);
    }

    .form-label {
      margin-bottom: 26px;
      color: var(--brass-pale);
      font-size: 10px;
      font-weight: 750;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 19px;
    }

    .field { display: grid; gap: 7px; }

    .field.full { grid-column: 1 / -1; }

    .field label {
      color: rgba(255,255,255,.64);
      font-size: 11px;
      font-weight: 650;
      letter-spacing: .06em;
    }

    .field input,
    .field select,
    .field textarea {
      width: 100%;
      min-height: 48px;
      padding: 11px 0;
      color: #fff;
      background: transparent;
      border: 0;
      border-bottom: 1px solid rgba(255,255,255,.23);
      border-radius: 0;
      outline: 0;
    }

    .field textarea { min-height: 92px; resize: vertical; }

    .field input:focus,
    .field select:focus,
    .field textarea:focus { border-color: var(--brass); }

    .field option { color: var(--ink); }

    .form-actions {
      margin-top: 26px;
      display: flex;
      align-items: center;
      gap: 18px;
    }

    .form-actions small {
      color: rgba(255,255,255,.47);
      line-height: 1.4;
    }

    .form-message {
      display: none;
      margin-top: 20px;
      padding: 13px 15px;
      color: var(--brass-pale);
      background: rgba(200,170,112,.12);
      border-left: 2px solid var(--brass);
      font-size: 13px;
    }

    .form-message.is-visible { display: block; }

    footer {
      padding: 50px 0;
      color: rgba(255,255,255,.58);
      background: #041018;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr .8fr;
      gap: 40px;
      align-items: end;
    }

    .footer-brand {
      color: #fff;
      font-family: var(--display);
      font-size: 26px;
    }

    footer p { margin: 8px 0 0; font-size: 12px; }

    .footer-meta {
      font-size: 11px;
      letter-spacing: .07em;
      line-height: 1.7;
      text-transform: uppercase;
    }

    .review-stamp {
      justify-self: end;
      padding: 10px 14px;
      color: var(--brass-pale);
      border: 1px solid rgba(200,170,112,.38);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .13em;
      text-transform: uppercase;
      transform: rotate(-2deg);
    }

    @media (max-width: 1020px) {
      .hero { min-height: 940px; }
      .hero-inner {
        min-height: 810px;
        grid-template-columns: 1.05fr .75fr;
        gap: 45px;
      }
      h1 { font-size: clamp(56px, 8vw, 82px); }
      .portrait-note { right: -16px; width: 120px; min-height: 120px; font-size: 15px; }
      .proof-row { grid-template-columns: repeat(2, 1fr); }
      .proof-item:nth-child(3), .proof-item:nth-child(4) { border-top: 1px solid var(--line); }
      .signature-grid { grid-template-columns: 1.05fr .95fr; }
      .gallery { grid-template-columns: 1.2fr 1fr 1fr; }
      .gallery figure:nth-child(3) { grid-column: 3; }
      .gallery figure:nth-child(5) { display: none; }
    }

    @media (max-width: 800px) {
      .site-header { top: 55px; }
      .nav { width: min(100% - 36px, 720px); padding-block: 17px; }
      .nav-links a:not(.nav-cta) { display: none; }
      .hero { min-height: auto; }
      .hero-inner {
        width: min(100% - 36px, 720px);
        min-height: auto;
        padding: 165px 0 180px;
        grid-template-columns: 1fr;
      }
      .hero-copy { max-width: 620px; }
      .hero-portrait { width: min(83vw, 480px); margin: 0 auto; }
      .hero-proof { position: absolute; }
      .proof-row { width: min(100% - 36px, 720px); }
      .proof-item { padding-inline: 13px; }
      .section-heading { grid-template-columns: 1fr; gap: 23px; }
      .path-grid { grid-template-columns: 1fr; }
      .path-card { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(16,32,42,.19); }
      .path-card:last-child { border-bottom: 0; }
      .path-card.featured { transform: none; }
      .path-index { margin-bottom: 35px; }
      .signature-grid { grid-template-columns: 1fr; }
      .signature-copy { padding-bottom: 20px; }
      .signature-image { min-height: 540px; margin-inline: -24px; }
      .signature-image::after { background: linear-gradient(180deg, var(--night), transparent 19%); }
      .process-grid { grid-template-columns: 1fr 1fr; gap: 34px 20px; }
      .gallery-head { display: grid; }
      .gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 420px 270px 270px; }
      .gallery figure:first-child { grid-row: 1; grid-column: 1 / 3; }
      .gallery figure:nth-child(3) { grid-column: 1; }
      .gallery figure:nth-child(5) { display: block; }
      .story-grid, .inquiry-grid { grid-template-columns: 1fr; }
      .story-image, .story-image img { min-height: 500px; height: 500px; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .review-stamp { grid-column: 1 / -1; justify-self: start; }
    }

    @media (max-width: 540px) {
      body { font-size: 16px; }
      .review-bar { padding-inline: 12px; font-size: 10px; }
      .site-header { top: 54px; }
      .nav-cta { padding: 9px 12px; }
      .hero-inner { padding-top: 154px; padding-bottom: 275px; }
      h1 { font-size: clamp(50px, 15vw, 67px); }
      .hero-deck { font-size: 17px; }
      .hero-actions { align-items: flex-start; flex-direction: column; }
      .hero-portrait { width: calc(100vw - 56px); }
      .portrait-note { right: -8px; bottom: 24px; }
      .hero-proof { bottom: 0; }
      .proof-row { grid-template-columns: 1fr; }
      .proof-item { min-height: 60px; padding-block: 13px; border-right: 1px solid var(--line); border-top: 1px solid var(--line); }
      .proof-item:first-child { border-top: 0; }
      .section, .signature-copy { padding-block: 76px; }
      .container, .gallery-head { width: calc(100% - 36px); }
      .section-heading h2, .story-copy h2, .inquiry-copy h2 { font-size: 45px; }
      .path-card { padding-inline: 24px; }
      .signature-image { min-height: 420px; margin-inline: -18px; }
      .process-grid { grid-template-columns: 1fr; }
      .gallery { grid-template-rows: 340px 230px 230px; }
      .gallery figure:nth-child(5) { display: none; }
      .gallery figure:first-child { grid-column: 1 / 3; }
      .gallery figure:nth-child(4) { grid-column: 2; }
      .story-image, .story-image img { min-height: 420px; height: 420px; }
      .credential-grid, .form-grid { grid-template-columns: 1fr; }
      .field.full { grid-column: auto; }
      .form-shell { margin-inline: -18px; }
      .form-actions { align-items: flex-start; flex-direction: column; }
      .footer-grid { grid-template-columns: 1fr; }
      .review-stamp { grid-column: auto; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition-duration: .01ms !important; }
    }
  
.story-image{overflow:hidden}
.site-header{position:relative;top:auto!important;background:var(--night)}.nav{padding:20px 0;gap:24px}.nav-links{gap:18px;letter-spacing:0}.nav-group{position:relative}.nav-group summary{cursor:pointer;padding:12px 0}.nav-dropdown{position:absolute;top:100%;left:-18px;min-width:225px;padding:12px;background:var(--deep);border:1px solid var(--line);box-shadow:var(--shadow)}.nav-dropdown a{display:block!important;padding:10px 12px;white-space:nowrap}.nav-dropdown a:hover{background:var(--pine)}.menu-toggle{display:none;color:white;border:1px solid var(--line);background:transparent;padding:10px 14px}.review-bar{text-transform:none;letter-spacing:0;background:var(--deep);font-weight:400}.hero-inner{padding-top:65px;min-height:720px}.hero h1{font-size:clamp(46px,5.7vw,76px)}.hero-portrait img{object-position:center 35%}.more-services{margin-top:32px}.testimonial{background:var(--ice)}.testimonial h2{font-size:clamp(30px,4vw,48px);font-family:var(--display);font-weight:400}.testimonial blockquote{margin:25px 0;max-width:900px;font-family:var(--display);font-size:clamp(23px,2.5vw,32px);line-height:1.55}.testimonial cite{font-family:var(--sans);font-style:normal;font-size:16px;font-weight:600}.testimonial cite span{display:block;font-size:14px;font-weight:400}.checkbox-label{display:flex!important;gap:12px;align-items:center}.checkbox-label input{width:20px!important;height:20px;flex-shrink:0}[hidden]{display:none!important}
.page-hero{background:var(--night);color:white}.page-hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center;padding:64px 0 72px}.page-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(42px,5.4vw,72px);line-height:1.08;margin:20px 0 25px}.page-hero p{max-width:620px;color:#d1dfe5}.page-photo{height:420px;object-fit:cover;border-radius:150px 150px 8px 8px}.breadcrumb{font-size:13px}.breadcrumb a{color:var(--brass-pale)}.editorial{max-width:840px}.editorial h2,.menu-section h2{font-family:var(--display);font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.15}.editorial p{max-width:72ch}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 50px}.menu-panel{border-top:1px solid #b8b1a6;padding:24px 0}.menu-panel h3{font-family:var(--display);font-size:30px;font-weight:400;margin:0 0 15px}.menu-panel ul{padding-left:21px}.menu-panel li{padding:5px 0}.menu-section{padding:65px 0}.menu-section:nth-child(even){background:var(--ice)}.page-cta{padding:60px 0;background:var(--pine);color:white}.page-cta h2{font-family:var(--display);font-size:40px;font-weight:400;margin:0 0 15px}.page-cta p{max-width:720px}.related{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:30px}.faq-list details{border-bottom:1px solid #b8b1a6;padding:20px 0}.faq-list summary{cursor:pointer;font-size:20px;font-weight:600}.faq-list p{max-width:70ch}.skip-link{position:absolute;top:-100px;left:20px;z-index:100;background:white;color:var(--night);padding:12px}.skip-link:focus{top:10px}.form-message{color:white}.field input,.field select,.field textarea{max-width:100%;min-width:0}.field select option{background:var(--deep);color:white}
@media(max-width:1100px){.nav{flex-wrap:wrap}.nav-links{gap:15px}.brand-type strong{font-size:18px}}
@media(max-width:800px){.menu-toggle{display:block}.nav-links{display:none;width:100%;align-items:stretch;flex-direction:column;gap:0}.nav-links.is-open{display:flex}.nav-links a:not(.nav-cta){display:block}.nav-links>a{padding:12px 0}.nav-links .nav-cta{text-align:center;margin-top:12px;padding:12px}.nav-dropdown{position:static;box-shadow:none;margin-bottom:10px}.nav-group summary{padding:14px 0}.hero-inner{padding-top:45px;padding-bottom:195px}.page-hero-inner{grid-template-columns:1fr;gap:32px;padding:40px 0}.page-photo{height:320px;max-width:600px}.menu-grid{grid-template-columns:1fr}.page-hero h1{font-size:48px}.form-shell{margin-inline:0}}
@media(max-width:540px){.hero-inner{padding-bottom:280px}.hero h1{font-size:48px}.nav{width:calc(100% - 36px)}.brand{gap:8px}.brand-mark{width:30px;height:30px}.brand-type strong{font-size:17px}.brand-type span{font-size:8px}.testimonial blockquote{font-size:24px}.page-hero h1{font-size:43px}.page-photo{height:300px}.form-shell{padding:25px 20px}.page-cta h2{font-size:34px}}

/* September 17: preserve the head and hat in the supplied portrait at every breakpoint. */
.page-photo[src$="chef-approved.jpeg"],.hero-portrait img[src$="chef-approved.jpeg"],.story-image img[src$="chef-approved.jpeg"]{object-position:center top}
.testimonial blockquote p{font-size:inherit;line-height:inherit}
