/* =========================================================
   RUK THAI — DESKTOP LANDING
   Single 1672 × 941 proportional design stage.
   Mobile portrait and mobile landscape are untouched.
   ========================================================= */

.desktop-eyebrow,
.desktop-ornament,
.desktop-actions,
.desktop-info,
.desktop-footerline {
  display: none;
}


@media (min-width: 901px) {

  html,
  body,
  body.portrait-gateway,
  #main {
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #efd5a6;
  }

  body.portrait-gateway {
    width: 100dvw;
    max-width: 100dvw;
  }


  /* =====================================================
     BACKGROUND

     hero-desktop.png is 1672 × 941 — the exact ratio of
     the approved desktop target.

     background-size: cover and the live content stage below
     use the SAME geometry. That keeps everything registered
     to the artwork at every desktop viewport.
     ===================================================== */

  .hero {
    position: relative !important;
    isolation: isolate;

    display: block !important;

    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background-color: #efd5a6 !important;
    background-image: url("assets/hero/hero-desktop.png") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
  }


  /* =====================================================
     LIVE TARGET STAGE

     1672 / 941 = 1.776833...

     Width uses whichever is larger:
       viewport width
       OR viewport height × target ratio

     Therefore this stage behaves exactly like object-fit:cover.
     ===================================================== */

  .hero-copy {
    position: absolute !important;

    left: 50% !important;
    top: 50% !important;

    width: max(100vw, calc(100vh * 1.7768331562)) !important;
    height: auto !important;

    aspect-ratio: 1672 / 941;

    margin: 0 !important;
    padding: 0 !important;

    transform: translate(-50%, -50%) !important;

    z-index: 2;
  }


  /* =====================================================
     LOGO
     Target reference:
       x ≈ 572
       y ≈ 42
       width ≈ 900
     ===================================================== */

  .mobile-hero-logo {
    position: absolute !important;

    left: 34.15% !important;
    top: 4.35% !important;

    width: 53.85% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;

    isolation: auto !important;
    text-decoration: none;
  }

  .mobile-hero-logo::before {
    display: none !important;
    content: none !important;
  }

  .mobile-hero-logo img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: contain !important;

    filter:
      contrast(1.06)
      saturate(1.03)
      drop-shadow(0 1px 0 rgba(77, 18, 17, .15));
  }


  /* =====================================================
     AUTHENTIC THAI CUISINE
     ===================================================== */

  .desktop-eyebrow {
    display: flex !important;

    position: absolute !important;

    left: 44.45% !important;
    top: 34.55% !important;

    width: 32.9% !important;

    transform: none !important;

    align-items: center;
    justify-content: center;

    color: #6f1822;

    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(.72rem, 1.03vw, 1.08rem);
    font-weight: 600;

    line-height: 1;

    letter-spacing: .31em;

    text-align: center;
    white-space: nowrap;
  }

  .eyebrow-flourish {
    display: inline-block;

    margin-right: 1rem;

    color: #bc8126;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25em;

    letter-spacing: 0;
  }

  .eyebrow-flourish-right {
    margin-right: 0;
    margin-left: 1rem;

    transform: scaleX(-1);
  }


  /* =====================================================
     HEADLINE
     ===================================================== */

  .hero h1 {
    position: absolute !important;

    left: 43.25% !important;
    top: 38.65% !important;

    width: 35.9% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;

    color: #64151f !important;

    font-family: Georgia, "Times New Roman", serif !important;

    font-size: clamp(1.65rem, 2.25vw, 2.45rem) !important;
    font-weight: 400 !important;

    line-height: 1 !important;
    letter-spacing: -.026em !important;

    text-align: center !important;
    white-space: nowrap !important;
  }


  /* Mobile CTA set stays in the DOM but is not used on desktop. */

  .hero-actions {
    display: none !important;
  }


  /* =====================================================
     CENTRAL THAI ORNAMENT
     ===================================================== */

  .desktop-ornament {
    display: block !important;

    position: absolute !important;

    left: 37.45% !important;
    top: 42.65% !important;

    width: 44.95% !important;
    height: 12.1% !important;

    transform: none !important;

    color: #b67b23;

    pointer-events: none;
  }

  .desktop-ornament svg {
    display: block;

    width: 100%;
    height: 100%;

    overflow: visible;
  }


  /* =====================================================
     MENU + DIRECTIONS
     ===================================================== */

  .desktop-actions {
    display: grid !important;

    position: absolute !important;

    left: 36.62% !important;
    top: 56.62% !important;

    width: 45.62% !important;
    height: 17.55% !important;

    transform: none !important;

    grid-template-columns: 1.04fr .96fr;
    gap: 1.35%;
  }


  .desktop-card {
    position: relative;

    display: flex;

    min-width: 0;
    min-height: 0;

    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 7%;

    margin: 0;
    padding: 4% 5%;

    border: 1.6px solid #bc8228;

    clip-path:
      polygon(
        10px 0,
        calc(100% - 10px) 0,
        100% 10px,
        100% calc(100% - 10px),
        calc(100% - 10px) 100%,
        10px 100%,
        0 calc(100% - 10px),
        0 10px
      );

    text-decoration: none;

    font-family: Arial, Helvetica, sans-serif;

    font-size: clamp(1.18rem, 2vw, 2.05rem);
    font-weight: 700;

    line-height: 1;

    letter-spacing: .035em;

    text-align: center;

    box-shadow: 0 .38rem .8rem rgba(83, 43, 18, .16);

    transition:
      transform .16s ease,
      box-shadow .16s ease;
  }


  .desktop-card::before,
  .desktop-card::after {
    content: "";

    position: absolute;

    width: 13px;
    height: 13px;

    pointer-events: none;
  }

  .desktop-card::before {
    top: 6px;
    left: 6px;

    border-top: 1px solid #c38a2e;
    border-left: 1px solid #c38a2e;
  }

  .desktop-card::after {
    right: 6px;
    bottom: 6px;

    border-right: 1px solid #c38a2e;
    border-bottom: 1px solid #c38a2e;
  }


  .desktop-menu {
    color: #f0d383;

    border-color: #c18a2c;

    background:
      linear-gradient(
        155deg,
        #881d2d 0%,
        #721520 56%,
        #5b1019 100%
      );

    box-shadow:
      0 .55rem .95rem rgba(60, 18, 15, .20),
      inset 0 1px 0 rgba(255,255,255,.10);
  }


  .desktop-directions {
    color: #65151f;

    background:
      linear-gradient(
        155deg,
        rgba(255,250,237,.94) 0%,
        rgba(246,224,184,.82) 100%
      );

    box-shadow:
      0 .5rem .9rem rgba(70, 39, 16, .13),
      inset 0 1px 0 rgba(255,255,255,.62);
  }


  .desktop-card-icon {
    display: block;

    flex: 0 0 auto;

    color: #d2962a;
  }

  .desktop-card-icon svg {
    display: block;

    width: 100%;
    height: 100%;
  }

  .menu-book {
    width: 18%;
    min-width: 48px;

    color: #edcf7a;
  }

  .map-pin {
    width: 15%;
    min-width: 42px;

    color: #d49726;
  }


  @media (hover: hover) and (pointer: fine) {
    .desktop-card:hover {
      transform: translateY(-2px);

      box-shadow:
        0 .68rem 1.1rem rgba(63, 25, 16, .22);
    }
  }


  /* =====================================================
     INFORMATION STRIP
     ===================================================== */

  .desktop-info {
    display: grid !important;

    position: absolute !important;

    left: 37.62% !important;
    top: 77.35% !important;

    width: 44.75% !important;
    height: 10.82% !important;

    transform: none !important;

    grid-template-columns: 1.18fr .92fr 1.08fr;

    align-items: stretch;

    border-top: 1px solid rgba(177,116,28,.50);
    border-bottom: 1px solid rgba(177,116,28,.38);
  }


  .desktop-info-item {
    display: flex;

    min-width: 0;
    min-height: 0;

    align-items: center;

    gap: 6%;

    margin: 0;
    padding: 7% 7%;

    color: #661620;

    text-decoration: none;
  }


  .desktop-info-item + .desktop-info-item {
    border-left: 1px solid rgba(177,116,28,.52);
  }


  .desktop-info-item div {
    display: flex;

    min-width: 0;

    flex-direction: column;

    gap: .12rem;
  }


  .desktop-info-item strong {
    color: #65151f;

    font-family: Arial, Helvetica, sans-serif;

    font-size: clamp(.62rem, .82vw, .9rem);
    font-weight: 700;

    line-height: 1.12;
    letter-spacing: .015em;

    white-space: nowrap;
  }


  .desktop-info-item span:not(.info-icon) {
    color: #562c27;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(.6rem, .76vw, .84rem);

    line-height: 1.18;

    white-space: nowrap;
  }


  .info-icon {
    display: block;

    flex: 0 0 auto;

    width: 15%;

    color: #a9661d;
  }


  .info-icon svg {
    display: block;

    width: 100%;
    height: auto;
  }


  .phone {
    justify-content: center;
  }

  .phone .info-icon {
    width: 16%;
  }

  .phone strong {
    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(.78rem, 1.17vw, 1.28rem);

    letter-spacing: .01em;
  }


  .address .info-icon {
    width: 14%;

    color: #ca8b24;
  }


  /* =====================================================
     FOOTER DESCRIPTOR
     ===================================================== */

  .desktop-footerline {
    display: flex !important;

    position: absolute !important;

    left: 42.7% !important;
    top: 91.45% !important;

    width: 34.7% !important;

    transform: none !important;

    align-items: center;
    justify-content: space-between;

    color: #6e1720;

    font-family: Arial, Helvetica, sans-serif;

    font-size: clamp(.58rem, .82vw, .88rem);
    font-weight: 600;

    line-height: 1;

    letter-spacing: .28em;

    white-space: nowrap;
  }


  .desktop-footerline b {
    color: #b97c23;

    font-size: .9em;
    font-weight: 400;

    letter-spacing: 0;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) and (min-width: 901px) {
  .desktop-card {
    transition: none;
  }
}

/* =========================================================

/* =========================================================
   DESKTOP TARGET — FINAL VIEWPORT-MATCHED PASS
   Reference composition: 1672 × 941
   Mobile files and mobile layouts are untouched.
   ========================================================= */

@media (min-width: 901px) {

  /* The complete target must remain visible at wider screens. */
  .hero {
    background-position: center center !important;
    background-size: 100% 100% !important;
  }

  .hero-copy {
    left: 0 !important;
    top: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    aspect-ratio: auto !important;
    transform: none !important;
  }

  /* Logo. */
  .mobile-hero-logo {
    left: 34.15% !important;
    top: 4.35% !important;
    width: 55.55% !important;
  }

  /* Authentic Thai Cuisine. */
  .desktop-eyebrow {
    left: 41.6% !important;
    top: 34.75% !important;
    width: 40% !important;
    font-size: clamp(.85rem, 1.13vw, 1.35rem) !important;
    font-weight: 600 !important;
    letter-spacing: .31em !important;
  }

  .eyebrow-flourish {
    margin-right: 1.2rem !important;
    font-size: 1.25em !important;
  }

  .eyebrow-flourish-right {
    margin-right: 0 !important;
    margin-left: 1.2rem !important;
  }

  /* Headline. */
  .hero h1 {
    left: 42.1% !important;
    top: 39.15% !important;
    width: 38.8% !important;
    font-size: clamp(1.9rem, 2.58vw, 3rem) !important;
    line-height: 1 !important;
    letter-spacing: -.026em !important;
  }

  /* Central ornament. */
  .desktop-ornament {
    left: 36.3% !important;
    top: 42.15% !important;
    width: 52.5% !important;
    height: 14.15% !important;
  }

  /* Button group. */
  .desktop-actions {
    left: 62% !important;
    top: 57.3% !important;
    width: 46.41% !important;
    height: 17.75% !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2.58% !important;
  }

  .desktop-card {
    --cut: clamp(11px, .72vw, 14px);

    position: relative !important;
    isolation: isolate !important;
    overflow: visible !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    gap: clamp(.75rem, 1.45vh, 1rem) !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: none !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
  }

  .desktop-card:hover {
    transform: none !important;
    box-shadow: none !important;
    filter: none !important;
  }

  /* Solid cutaway plate and visible target shadow. */
  .desktop-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;

    width: auto !important;
    height: auto !important;
    border: 0 !important;

    clip-path: polygon(
      var(--cut) 0,
      calc(100% - var(--cut)) 0,
      100% var(--cut),
      100% calc(100% - var(--cut)),
      calc(100% - var(--cut)) 100%,
      var(--cut) 100%,
      0 calc(100% - var(--cut)),
      0 var(--cut)
    ) !important;

    filter:
      drop-shadow(0 5px 2px rgba(70, 33, 12, .42))
      drop-shadow(2px 2px 1px rgba(116, 67, 20, .28)) !important;

    pointer-events: none !important;
  }

  /* Double border and curled corner decoration. */
  .desktop-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;

    width: auto !important;
    height: auto !important;
    border: 0 !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 168' preserveAspectRatio='none'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='%23b97618' stroke-width='2' d='M13 1H417L429 13V155L417 167H13L1 155V13Z'/%3E%3Cpath stroke='%23d6a13e' stroke-width='1' d='M17 5H413L425 17V151L413 163H17L5 151V17Z'/%3E%3Cg stroke='%23d6a13e' stroke-width='1.4'%3E%3Cpath d='M9 29Q9 10 29 10H42M15 24Q26 24 25 15Q25 11 30 11Q35 12 32 17Q29 23 23 20'/%3E%3Cpath d='M421 29Q421 10 401 10H388M415 24Q404 24 405 15Q405 11 400 11Q395 12 398 17Q401 23 407 20'/%3E%3Cpath d='M9 139Q9 158 29 158H42M15 144Q26 144 25 153Q25 157 30 157Q35 156 32 151Q29 145 23 148'/%3E%3Cpath d='M421 139Q421 158 401 158H388M415 144Q404 144 405 153Q405 157 400 157Q395 156 398 151Q401 145 407 148'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% 100% !important;

    pointer-events: none !important;
  }

  .desktop-card > * {
    position: relative !important;
    z-index: 2 !important;
  }

  .desktop-menu::before {
    background:
      radial-gradient(
        ellipse at 45% 3%,
        rgba(173, 52, 62, .32) 0%,
        rgba(173, 52, 62, 0) 53%
      ),
      linear-gradient(
        145deg,
        #811c2a 0%,
        #68131d 58%,
        #4e0d15 100%
      ) !important;
  }

  .desktop-directions::before {
    background:
      radial-gradient(
        ellipse at 33% 12%,
        rgba(255, 255, 255, .6) 0%,
        rgba(255, 255, 255, 0) 48%
      ),
      linear-gradient(
        145deg,
        #fff9e9 0%,
        #f8e8c4 59%,
        #efd3a1 100%
      ) !important;
  }

  .desktop-menu {
    color: #f3dfaa !important;
  }

  .desktop-directions {
    color: #65131d !important;
  }

  .desktop-menu .desktop-card-icon {
    width: 18.7% !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #efcf77 !important;
  }

  .desktop-directions .desktop-card-icon {
    width: 14.5% !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #d49420 !important;
  }

  .desktop-directions .desktop-card-icon circle {
    fill: #f7e7c3 !important;
  }

  .desktop-card > span:last-child {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(2.15rem, 2.72vw, 3.25rem) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .012em !important;
  }

  /* Information strip. */
  .desktop-info {
    left: 38.85% !important;
    top: 78.3% !important;
    width: 46.3% !important;
    height: 9.4% !important;
    grid-template-columns: 1.18fr .92fr 1.08fr !important;
  }

  .desktop-info-item {
    gap: 6% !important;
    padding: 5.5% 7% !important;
  }

  .desktop-info-item strong {
    font-size: clamp(.72rem, .92vw, 1.1rem) !important;
  }

  .desktop-info-item span:not(.info-icon) {
    font-size: clamp(.68rem, .84vw, 1rem) !important;
  }

  .info-icon {
    width: 16% !important;
  }

  .phone .info-icon {
    width: 17% !important;
  }

  .phone strong {
    font-size: clamp(.95rem, 1.32vw, 1.55rem) !important;
  }

  .address .info-icon {
    width: 15% !important;
  }

  /* Footer. */
  .desktop-footerline {
    left: 42.05% !important;
    top: 93.15% !important;
    width: 36.9% !important;
    font-size: clamp(.72rem, .94vw, 1.1rem) !important;
    font-weight: 600 !important;
    letter-spacing: .29em !important;
  }

  .desktop-footerline b {
    font-size: 1em !important;
  }
}


/* =========================================================
   DESKTOP BUTTONS — TARGET REBUILD
   Buttons only. Everything else is preserved.
   ========================================================= */

@media (min-width: 901px) {

  .desktop-card {
    --corner: clamp(12px, .75vw, 15px);
    --corner-half: calc(var(--corner) / 2);

    position: relative !important;
    isolation: isolate !important;
    overflow: visible !important;

    padding: 0 !important;
    gap: clamp(.7rem, 1.25vh, .95rem) !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: none !important;
    box-shadow: none !important;
    filter: none !important;
  }

  /* Real stepped cutaway silhouette and cast shadow. */
  .desktop-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;

    width: auto !important;
    height: auto !important;
    border: 0 !important;

    clip-path: polygon(
      0 var(--corner),
      var(--corner-half) var(--corner),
      var(--corner-half) var(--corner-half),
      var(--corner) var(--corner-half),
      var(--corner) 0,

      calc(100% - var(--corner)) 0,
      calc(100% - var(--corner)) var(--corner-half),
      calc(100% - var(--corner-half)) var(--corner-half),
      calc(100% - var(--corner-half)) var(--corner),
      100% var(--corner),

      100% calc(100% - var(--corner)),
      calc(100% - var(--corner-half)) calc(100% - var(--corner)),
      calc(100% - var(--corner-half)) calc(100% - var(--corner-half)),
      calc(100% - var(--corner)) calc(100% - var(--corner-half)),
      calc(100% - var(--corner)) 100%,

      var(--corner) 100%,
      var(--corner) calc(100% - var(--corner-half)),
      var(--corner-half) calc(100% - var(--corner-half)),
      var(--corner-half) calc(100% - var(--corner)),
      0 calc(100% - var(--corner))
    ) !important;

    filter:
      drop-shadow(0 7px 3px rgba(89, 47, 15, .46))
      drop-shadow(2px 2px 1px rgba(121, 73, 22, .34)) !important;

    pointer-events: none !important;
  }

  /* Border follows the same stepped cutaway shape. */
  .desktop-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;

    width: auto !important;
    height: auto !important;
    border: 0 !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 168' preserveAspectRatio='none'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='%23a96813' stroke-width='2.2' d='M1 14H7V7H14V1H416V7H423V14H429V154H423V161H416V167H14V161H7V154H1Z'/%3E%3Cpath stroke='%23d7a13a' stroke-width='1.15' d='M5 17H11V11H17V5H413V11H419V17H425V151H419V157H413V163H17V157H11V151H5Z'/%3E%3Cg stroke='%23d9a33d' stroke-width='1.45'%3E%3Cpath d='M11 28Q12 14 29 12H43M16 24Q27 25 26 16Q26 12 31 12Q36 13 33 18Q30 24 24 21'/%3E%3Cpath d='M419 28Q418 14 401 12H387M414 24Q403 25 404 16Q404 12 399 12Q394 13 397 18Q400 24 406 21'/%3E%3Cpath d='M11 140Q12 154 29 156H43M16 144Q27 143 26 152Q26 156 31 156Q36 155 33 150Q30 144 24 147'/%3E%3Cpath d='M419 140Q418 154 401 156H387M414 144Q403 143 404 152Q404 156 399 156Q394 155 397 150Q400 144 406 147'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% 100% !important;

    pointer-events: none !important;
  }

  .desktop-card > * {
    position: relative !important;
    z-index: 2 !important;
  }

  /* Target burgundy plaque. */
  .desktop-menu::before {
    background:
      radial-gradient(
        ellipse at 42% 6%,
        rgba(170, 48, 57, .42) 0%,
        rgba(170, 48, 57, 0) 55%
      ),
      linear-gradient(
        150deg,
        #801b28 0%,
        #68121c 60%,
        #490b12 100%
      ) !important;
  }

  /* Warm parchment—not white. */
  .desktop-directions::before {
    background:
      radial-gradient(
        ellipse at 36% 18%,
        rgba(255, 249, 226, .34) 0%,
        rgba(255, 249, 226, 0) 52%
      ),
      linear-gradient(
        145deg,
        #f8e8bd 0%,
        #f3dca8 58%,
        #eccf91 100%
      ) !important;
  }

  .desktop-menu {
    color: #f4e4b6 !important;
  }

  .desktop-directions {
    color: #64131d !important;
  }

  /* Replace the thin outline book with the target filled book. */
  .desktop-menu .desktop-card-icon {
    width: clamp(64px, 4.35vw, 76px) !important;
    height: clamp(51px, 3.45vw, 61px) !important;
    min-width: 0 !important;
    margin: 0 !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 76 60'%3E%3Cpath fill='%23e8bd62' stroke='%23906018' stroke-width='2' d='M37 53C29 46 20 44 7 44V6c13 0 23 3 30 10Z'/%3E%3Cpath fill='%23e8bd62' stroke='%23906018' stroke-width='2' d='M39 53c8-7 17-9 30-9V6c-13 0-23 3-30 10Z'/%3E%3Cpath fill='none' stroke='%23835b18' stroke-width='2' d='M38 15v38M50 17h12M50 23h12M50 29h12'/%3E%3Cpath fill='none' stroke='%23f6dfa2' stroke-width='1.4' d='M10 10c11 .3 19 2.7 24 8v28c-6-4-14-6-24-6ZM66 10c-11 .3-19 2.7-24 8v28c6-4 14-6 24-6Z' opacity='.75'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
  }

  .desktop-menu .desktop-card-icon svg {
    display: none !important;
  }

  /* Replace the existing pin with the broader target pin. */
  .desktop-directions .desktop-card-icon {
    width: clamp(47px, 3.15vw, 56px) !important;
    height: clamp(57px, 3.8vw, 68px) !important;
    min-width: 0 !important;
    margin: 0 !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58 72'%3E%3Cpath fill='%23d99519' d='M29 2C14.8 2 5 12.5 5 26.5 5 44 29 70 29 70s24-26 24-43.5C53 12.5 43.2 2 29 2Z'/%3E%3Ccircle cx='29' cy='26' r='9' fill='%23f6e3b3'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
  }

  .desktop-directions .desktop-card-icon svg {
    display: none !important;
  }

  .desktop-card > span:last-child {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(2.15rem, 2.62vw, 3.15rem) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .012em !important;
  }
}


/* =========================================================
   DESKTOP BUTTONS — ICON SCALE + VISIBLE SHADOW
   Buttons only.
   ========================================================= */

@media (min-width: 901px) {

  /* Shadow the complete cutaway plaque silhouette. */
  .desktop-card {
    filter:
      drop-shadow(0 8px 4px rgba(73, 37, 13, .48))
      drop-shadow(3px 3px 1px rgba(126, 78, 24, .34)) !important;

    gap: clamp(.55rem, 1vh, .75rem) !important;
  }

  .desktop-card:hover {
    filter:
      drop-shadow(0 8px 4px rgba(73, 37, 13, .48))
      drop-shadow(3px 3px 1px rgba(126, 78, 24, .34)) !important;
  }

  /* Prevent the plate from adding a second competing shadow. */
  .desktop-card::before {
    filter: none !important;
  }

  /* Larger target-style book. */
  .desktop-menu .desktop-card-icon {
    width: clamp(82px, 5.2vw, 96px) !important;
    height: clamp(65px, 4.15vw, 77px) !important;
  }

  /* Larger target-style location pin. */
  .desktop-directions .desktop-card-icon {
    width: clamp(60px, 3.85vw, 72px) !important;
    height: clamp(72px, 4.6vw, 86px) !important;
  }
}


/* Desktop buttons — approved design, 8% size reduction */
@media (min-width: 901px) {
  .desktop-actions {
    transform: translateX(-50%) scale(.774) !important;
    transform-origin: center center !important;
  }
}


/* =========================================================
   DESKTOP BRANDING — TARGET RESTORATION
   Logo, cuisine line, headline and ornament only.
   Approved buttons remain untouched.
   ========================================================= */

@media (min-width: 901px) {

  .mobile-hero-logo {
    left: 34.15% !important;
    top: 4.35% !important;
    width: 53.85% !important;
    height: auto !important;
    transform: none !important;
  }

  .mobile-hero-logo img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .desktop-eyebrow {
    left: 44.45% !important;
    top: 34.55% !important;
    width: 32.90% !important;

    font-size: clamp(.72rem, 1.03vw, 1.08rem) !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: .31em !important;
  }

  .eyebrow-flourish {
    margin-right: 1rem !important;
    font-size: 1.25em !important;
  }

  .eyebrow-flourish-right {
    margin-right: 0 !important;
    margin-left: 1rem !important;
  }

  .hero h1 {
    left: 43.25% !important;
    top: 38.65% !important;
    width: 35.90% !important;

    font-size: clamp(1.65rem, 2.25vw, 2.45rem) !important;
    line-height: 1 !important;
    letter-spacing: -.026em !important;
  }

  .desktop-ornament {
    left: 37.45% !important;
    top: 42.65% !important;
    width: 44.95% !important;
    height: 12.10% !important;
  }
}


/* =========================================================
   DESKTOP BRANDING — FINAL VISUAL CORRECTION
   Branding only. Buttons and lower content untouched.
   ========================================================= */

@media (min-width: 901px) {

  /* Wider but vertically shallower, matching the target frame. */
  .mobile-hero-logo {
    left: 34.15% !important;
    top: 3.45% !important;
    width: 55.55% !important;
    height: auto !important;
    transform: scaleY(.925) !important;
    transform-origin: top left !important;
  }

  /* Properly separated and visually substantial. */
  .desktop-eyebrow {
    left: 39.8% !important;
    top: 34.75% !important;
    width: 44.1% !important;

    font-size: clamp(.92rem, 1.18vw, 1.4rem) !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: .38em !important;
  }

  .eyebrow-flourish {
    margin-right: 1.15rem !important;
    font-size: 1.18em !important;
  }

  .eyebrow-flourish-right {
    margin-right: 0 !important;
    margin-left: 1.15rem !important;
  }

  /* Match the target headline prominence and width. */
  .hero h1 {
    left: 39.7% !important;
    top: 38.25% !important;
    width: 44.3% !important;

    font-size: clamp(2rem, 3.2vw, 3.5rem) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: -.026em !important;
  }

  /* Wider, taller and raised to sit beneath the headline. */
  .desktop-ornament {
    left: 35.15% !important;
    top: 40.45% !important;
    width: 54.7% !important;
    height: 14.5% !important;
  }
}


/* =========================================================
   DESKTOP BRANDING — FINAL MICRO-ALIGNMENT
   Approved buttons and lower content untouched.
   ========================================================= */

@media (min-width: 901px) {

  /* Same width; slightly shorter and lower. */
  .mobile-hero-logo {
    left: 34.225% !important;
    top: 4.05% !important;
    transform: scaleY(.89) !important;
    transform-origin: top left !important;
  }

  /* Larger and lowered clear of the logo frame. */
  .desktop-eyebrow {
    left: 39.25% !important;
    top: 35.15% !important;
    width: 45.5% !important;

    font-size: clamp(1rem, 1.34vw, 1.55rem) !important;
    letter-spacing: .4em !important;
  }

  .eyebrow-flourish {
    margin-right: 1.3rem !important;
    font-size: 1.25em !important;
  }

  .eyebrow-flourish-right {
    margin-right: 0 !important;
    margin-left: 1.3rem !important;
  }

  /* Centre the rendered headline itself on the shared composition axis. */
  .hero h1 {
    left: 62% !important;
    top: 39.15% !important;
    width: max-content !important;

    transform: translateX(-50%) !important;

    font-size: clamp(2.15rem, 3.5vw, 3.9rem) !important;
  }

  /* Extend the flourish left and restore its target depth. */
  .desktop-ornament {
    left: 31.55% !important;
    top: 40.45% !important;
    width: 60.9% !important;
    height: 17.5% !important;
  }
}


/* =========================================================
   DESKTOP LOWER PANEL — TARGET FINISH
   Information strip and footer only.
   ========================================================= */

@media (min-width: 901px) {

  .desktop-info {
    position: absolute !important;
    overflow: visible !important;

    border-top: 1px solid rgba(176, 112, 25, .58) !important;
    border-bottom: 1px solid rgba(176, 112, 25, .58) !important;
  }

  .desktop-info-item {
    gap: 7% !important;
    padding: 4.5% 7% !important;
  }

  .desktop-info-item + .desktop-info-item {
    border-left: 1px solid rgba(176, 112, 25, .62) !important;
  }

  /* Opening hours. */
  .desktop-info-item strong {
    font-size: clamp(.82rem, 1vw, 1.2rem) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
  }

  .desktop-info-item span:not(.info-icon) {
    font-size: clamp(.76rem, .92vw, 1.08rem) !important;
    line-height: 1.2 !important;
  }

  .hours .info-icon {
    width: 17% !important;
    color: #731723 !important;
  }

  /* Telephone. */
  .phone .info-icon {
    width: 18% !important;
    color: #731723 !important;
  }

  .phone strong {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(1.05rem, 1.45vw, 1.7rem) !important;
    font-weight: 700 !important;
  }

  /* Address. */
  .address .info-icon {
    width: 16% !important;
    color: #d09222 !important;
  }

  /* Target ornament interrupting the lower rule. */
  .desktop-info::after {
    content: "" !important;

    position: absolute !important;
    left: 50% !important;
    bottom: -13px !important;

    width: 86px !important;
    height: 26px !important;

    transform: translateX(-50%) !important;

    background-color: #efd5a6 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86 26'%3E%3Cg fill='none' stroke='%23bd7d1f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 13H27M59 13H86'/%3E%3Cpath d='M27 13c6 0 7-7 11-7 3 0 2 5 5 7-3 2-2 7-5 7-4 0-5-7-11-7Z'/%3E%3Cpath d='M59 13c-6 0-7-7-11-7-3 0-2 5-5 7 3 2 2 7 5 7 4 0 5-7 11-7Z'/%3E%3Cpath d='M43 2v22M36 13h14'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;

    pointer-events: none !important;
  }

  /* Compact and centre the three lower descriptors. */
  .desktop-footerline {
    left: 40.65% !important;
    top: 92.85% !important;
    width: 25.4% !important;

    font-size: clamp(.78rem, 1.02vw, 1.2rem) !important;
    font-weight: 600 !important;
    letter-spacing: .28em !important;
  }

  .desktop-footerline b {
    color: #b87920 !important;
    font-size: 1em !important;
  }
}


/* =========================================================
   DESKTOP LOWER PANEL — SPACING + TYPE RHYTHM
   Lower information section only.
   ========================================================= */

@media (min-width: 901px) {

  /* Raise and slightly tighten the information strip. */
  .desktop-info {
    top: 77.1% !important;
    height: 9.25% !important;
    border-bottom: 0 !important;
  }

  .desktop-info-item {
    padding-top: 4% !important;
    padding-bottom: 4% !important;
  }

  /* Clear heading/detail hierarchy. */
  .desktop-info-item strong {
    font-weight: 700 !important;
  }

  .desktop-info-item span:not(.info-icon) {
    font-weight: 400 !important;
  }

  .hours strong {
    font-weight: 700 !important;
  }

  .hours span:not(.info-icon) {
    font-weight: 400 !important;
  }

  .phone strong {
    font-weight: 700 !important;
  }

  .address strong {
    font-weight: 700 !important;
  }

  .address span:not(.info-icon) {
    font-weight: 400 !important;
  }

  /* Rebuild the lower rule with a clean central opening. */
  .desktop-info::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 1px !important;

    background:
      linear-gradient(
        to right,
        rgba(176, 112, 25, .58) 0%,
        rgba(176, 112, 25, .58) 44%,
        transparent 44%,
        transparent 56%,
        rgba(176, 112, 25, .58) 56%,
        rgba(176, 112, 25, .58) 100%
      ) !important;

    pointer-events: none !important;
  }

  /* Remove the visible rectangular patch. */
  .desktop-info::after {
    bottom: -12px !important;
    background-color: transparent !important;
  }

  /* Bring the descriptor row closer to the divider. */
  .desktop-footerline {
    left: 49.3% !important;
    top: 89.3% !important;
    width: 25.4% !important;

    font-size: clamp(.78rem, 1.02vw, 1.2rem) !important;
    font-weight: 500 !important;
    letter-spacing: .28em !important;
  }

  .desktop-footerline b {
    font-weight: 400 !important;
  }
}

