﻿/* =========================================================
       AIR PLAN â€” VIDEO HERO
    ========================================================= */

    .apv2-hero,
    .apv2-hero *{
      box-sizing:border-box;
    }

    .apv2-hero{
      --apv2-blue:#74a5c3;
      --apv2-blue-rgb:116,165,195;
      --apv2-white:#ffffff;
      --apv2-ink:#173746;

      position:relative;

      width:100%;
      min-height:900px;
      min-height:100svh;

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

      display:flex;
      flex-direction:column;

      overflow:hidden;
      isolation:isolate;

      color:var(--apv2-white);
      background:var(--apv2-blue);

      font-family:"Manrope",sans-serif;
    }

    .apv2-hero a{
      color:inherit !important;
      text-decoration:none !important;
    }

    .apv2-shell{
      width:min(1320px,calc(100% - 48px));
      margin-inline:auto;
    }


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

    .apv2-video-wrap{
      position:absolute;
      inset:0;
      z-index:-4;

      overflow:hidden;

      background:var(--apv2-blue);
      pointer-events:none;
    }

    .apv2-video{
      width:100%;
      height:100%;

      display:block;

      object-fit:cover;
      object-position:center center;
    }

    .apv2-hero::before{
      content:"";

      position:absolute;
      inset:0;
      z-index:-3;

      background:
        linear-gradient(
          180deg,
          rgba(12,37,50,.68) 0%,
          rgba(12,37,50,.16) 40%,
          rgba(12,37,50,.48) 100%
        ),
        linear-gradient(
          90deg,
          rgba(var(--apv2-blue-rgb),.4) 0%,
          rgba(var(--apv2-blue-rgb),.08) 48%,
          rgba(var(--apv2-blue-rgb),.28) 100%
        );
    }

.apv2-hero::after{
      content:"";

      position:absolute;
      inset:112px 18px 18px;
      z-index:10;

      border:1px solid rgba(255,255,255,.3);
      border-radius:24px;

      pointer-events:none;
    }


    /* =========================================================
       HEADER STYLING
       ä¿ç•™ç»™ä½ çš„ç‹¬ç«‹ Header ä½¿ç”¨
    ========================================================= */

    .apv2-header{
      position:relative;
      z-index:30;

      padding:32px 0 0;
    }

    .apv2-header__inner{
      position:relative;

      min-height:70px;
      padding:10px 12px 10px 18px;

      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:28px;

      border:1px solid rgba(255,255,255,.82);
      border-radius:18px;

      background:rgba(255,255,255,.94);

      box-shadow:0 18px 48px rgba(5,29,42,.18);

      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
    }

    .apv2-brand{
      display:inline-flex;
      align-items:center;

      width:max-content;
      max-width:190px;

      flex-shrink:0;
    }

    .apv2-brand__logo{
      width:auto;
      max-width:190px;

      height:auto;
      max-height:50px;

      display:block;

      object-fit:contain;
      object-position:left center;
    }

    .apv2-menu{
      justify-self:center;
    }

    .apv2-menu__button{
      display:none;
    }

    .apv2-menu__nav{
      min-height:52px;
      padding:0;

      display:flex !important;
      align-items:center;
      gap:clamp(18px,2vw,32px);

      visibility:visible !important;
      opacity:1 !important;
    }

    .apv2-hero
    .apv2-header
    .apv2-menu__nav > a:not(.apv2-menu__book),
    .apv2-hero
    .apv2-header
    .apv2-menu__nav > a:not(.apv2-menu__book):visited{
      position:relative;

      padding:10px 0;

      color:#173746 !important;

      font-size:12px;
      font-weight:600;

      opacity:1 !important;
      text-shadow:none !important;

      white-space:nowrap;
    }

    .apv2-hero
    .apv2-header
    .apv2-menu__nav > a:not(.apv2-menu__book):hover,
    .apv2-hero
    .apv2-header
    .apv2-menu__nav > a:not(.apv2-menu__book):focus-visible{
      color:#4f829f !important;
    }

    .apv2-hero
    .apv2-header
    .apv2-menu__nav > a:not(.apv2-menu__book)::after{
      content:"";

      position:absolute;

      left:0;
      right:0;
      bottom:5px;

      height:1px;

      background:var(--apv2-blue);

      transform:scaleX(0);

      transition:transform .25s ease;
    }

    .apv2-hero
    .apv2-header
    .apv2-menu__nav > a:not(.apv2-menu__book):hover::after,
    .apv2-hero
    .apv2-header
    .apv2-menu__nav > a:not(.apv2-menu__book):focus-visible::after{
      transform:scaleX(1);
    }

    .apv2-menu__book{
      min-height:38px;
      padding:0 18px;

      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;

      border:1px solid var(--apv2-blue);
      border-radius:999px;

      background:var(--apv2-blue);
      color:var(--apv2-white) !important;

      font-size:10px;
      font-weight:700;
      letter-spacing:.1em;
      text-transform:uppercase;

      transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease;
    }

    .apv2-menu__book:hover{
      transform:translateY(-2px);

      background:rgba(var(--apv2-blue-rgb),.12);
      color:var(--apv2-blue) !important;
    }

    .apv2-menu__book svg{
      width:14px;
      height:14px;
    }

    .apv2-header__place{
      justify-self:end;

      display:flex;
      align-items:center;
      gap:9px;

      color:rgba(23,55,70,.72);

      font-size:10px;
      font-weight:700;
      letter-spacing:.13em;
      text-transform:uppercase;

      white-space:nowrap;
    }

    .apv2-header__place span{
      width:9px;
      height:9px;

      border:2px solid var(--apv2-blue);
      border-radius:50%;

      box-shadow:0 0 0 4px rgba(var(--apv2-blue-rgb),.18);
    }


    /* =========================================================
       MAIN HERO CONTENT
    ========================================================= */

    .apv2-main{
      position:relative;
      z-index:2;

      flex:1;

      display:flex;
      align-items:center;

      padding:120px 0 90px;
    }

    .apv2-content{
      max-width:1030px;

      margin-inline:auto;

      text-align:center;
    }

    .apv2-eyebrow{
      width:max-content;
      max-width:100%;

      margin:0 auto 27px;
      padding:10px 16px;

      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;

      border:1px solid rgba(255,255,255,.48);
      border-radius:999px;

      background:rgba(var(--apv2-blue-rgb),.82);
      color:var(--apv2-white);

      font-size:9px;
      font-weight:700;
      letter-spacing:.22em;
      text-transform:uppercase;

      box-shadow:0 10px 28px rgba(8,34,48,.13);
    }

    .apv2-eyebrow::before{
      content:"";

      width:5px;
      height:5px;

      flex-shrink:0;

      border-radius:50%;

      background:var(--apv2-white);
    }

    .apv2-title{
      margin:0;

      color:var(--apv2-white);

      font-family:"Cormorant Garamond",serif;
      font-size:clamp(76px,9vw,138px);
      font-weight:500;
      line-height:.79;
      letter-spacing:-.052em;

      text-shadow:0 13px 42px rgba(4,26,38,.22);
    }

    .apv2-title span{
      display:block;
    }

    .apv2-title em{
      color:var(--apv2-white);
      font-weight:500;
    }

    .apv2-description{
      max-width:650px;

      margin:31px auto 0;

      color:rgba(255,255,255,.88);

      font-size:14px;
      line-height:1.8;

      text-shadow:0 4px 20px rgba(5,28,40,.25);
    }

    .apv2-actions{
      margin-top:31px;

      display:flex;
      align-items:center;
      justify-content:center;
      flex-wrap:wrap;
      gap:12px;
    }

    .apv2-primary,
    .apv2-secondary{
      min-height:53px;
      padding:0 24px;

      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;

      border-radius:999px;

      font-size:11px;
      font-weight:700;
      letter-spacing:.09em;
      text-transform:uppercase;

      transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease;
    }

    .apv2-primary{



      color:var(--apv2-white) !important;
      font-size: 15px;

      box-shadow:0 15px 38px rgba(11,46,63,.22);
    }

    .apv2-primary:hover{
      transform:translateY(-3px);
      background:var(--apv2-white) !important;
      color:var(--apv2-blue) !important;
    }

    .apv2-secondary{
      border:1px solid rgba(255,255,255,.72);

      background:rgba(19,52,67,.2);
      color:var(--apv2-white) !important;

      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
    }

    .apv2-secondary:hover{
      transform:translateY(-3px);

      background:var(--apv2-white);
      color:var(--apv2-blue) !important;
    }

    .apv2-primary svg,
    .apv2-secondary svg{
      width:17px;
      height:17px;
    }

    .apv2-hero a:focus-visible{
      outline:3px solid var(--apv2-white);
      outline-offset:4px;
    }

    .apv2-header a:focus-visible,
    .apv2-menu__button:focus-visible{
      outline:3px solid var(--apv2-blue);
      outline-offset:3px;
    }


    /* =========================================================
       TABLET
    ========================================================= */

    @media (max-width:1100px){

      .apv2-header__place{
        display:none;
      }

      .apv2-header__inner{
        grid-template-columns:auto 1fr;
      }

      .apv2-menu{
        justify-self:end;
      }
    }

    @media (max-width:900px){

      .apv2-menu__nav{
        gap:15px;
      }

      .apv2-menu__nav > a:not(.apv2-menu__book){
        font-size:11px;
      }

      .apv2-title{
        font-size:clamp(70px,11vw,103px);
      }
    }


    /* =========================================================
       MOBILE
    ========================================================= */

    @media (max-width:767px){

      .apv2-hero{
        min-height:780px;
        min-height:100svh;
      }

.apv2-hero::after{
        inset:92px 9px 9px;
        border-radius:17px;
      }

      .apv2-video{
        object-position:center center;
      }

      .apv2-hero::before{
        background:
          linear-gradient(
            180deg,
            rgba(12,37,50,.76) 0%,
            rgba(12,37,50,.23) 35%,
            rgba(12,37,50,.66) 100%
          ),
          linear-gradient(
            90deg,
            rgba(var(--apv2-blue-rgb),.38),
            rgba(var(--apv2-blue-rgb),.12)
          );
      }

      .apv2-shell{
        width:min(100% - 34px,1320px);
      }

      .apv2-header{
        padding-top:19px;
      }

      .apv2-header__inner{
        min-height:58px;
        padding:8px 9px 8px 12px;

        border-radius:15px;
      }

      .apv2-brand,
      .apv2-brand__logo{
        max-width:160px;
      }

      .apv2-brand__logo{
        max-height:42px;
      }

      .apv2-menu__button{
        width:45px;
        height:45px;
        padding:0;

        display:grid;
        place-content:center;
        gap:5px;

        cursor:pointer;

        border:1px solid rgba(255,255,255,.65);
        border-radius:50%;

        background:rgba(var(--apv2-blue-rgb),.88);

        box-shadow:0 10px 25px rgba(5,28,40,.18);
      }

      .apv2-menu__button span{
        width:17px;
        height:2px;

        display:block;

        border-radius:999px;

        background:var(--apv2-white);

        transition:
          transform .25s ease,
          opacity .25s ease;
      }

      .apv2-menu.is-open
      .apv2-menu__button span:first-child{
        transform:translateY(3.5px) rotate(45deg);
      }

      .apv2-menu.is-open
      .apv2-menu__button span:last-child{
        transform:translateY(-3.5px) rotate(-45deg);
      }

      .apv2-menu:not(.is-open) > .apv2-menu__nav{
        display:none !important;
      }

      .apv2-menu.is-open > .apv2-menu__nav{
        position:absolute;

        top:calc(100% + 10px);
        left:0;
        right:0;

        padding:15px;

        display:grid !important;
        gap:3px;

        border:1px solid rgba(255,255,255,.75);
        border-radius:17px;

        background:rgba(255,255,255,.97);

        box-shadow:0 25px 55px rgba(4,27,39,.27);

        backdrop-filter:blur(17px);
        -webkit-backdrop-filter:blur(17px);
      }

      .apv2-hero
      .apv2-header
      .apv2-menu__nav > a:not(.apv2-menu__book),
      .apv2-hero
      .apv2-header
      .apv2-menu__nav > a:not(.apv2-menu__book):visited{
        padding:12px 10px;

        color:#173746 !important;

        font-size:12px;
      }

      .apv2-hero
      .apv2-header
      .apv2-menu__nav > a:not(.apv2-menu__book)::after{
        display:none;
      }

      .apv2-menu__book{
        width:100%;
        min-height:45px;

        margin-top:7px;

        border-color:var(--apv2-blue);

        background:var(--apv2-blue);
        color:var(--apv2-white) !important;
      }

      .apv2-main{
        align-items:center;

        padding:100px 0 80px;
      }

      .apv2-eyebrow{
        margin-bottom:21px;
        padding:9px 13px;

        font-size:8px;
        letter-spacing:.15em;
      }

      .apv2-title{
        font-size:clamp(57px,17vw,82px);
        line-height:.82;
      }

      .apv2-description{
        max-width:500px;

        margin-top:25px;

        font-size:13px;
        line-height:1.7;
      }

      .apv2-actions{
        margin-top:25px;
      }

      .apv2-primary,
      .apv2-secondary{
        min-height:50px;
        padding:0 19px;

        font-size:10px;
      }
    }


    /* =========================================================
       SMALL MOBILE
    ========================================================= */

    @media (max-width:460px){

      .apv2-brand,
      .apv2-brand__logo{
        max-width:138px;
      }

      .apv2-title{
        font-size:clamp(53px,16.5vw,70px);
      }

      .apv2-actions{
        display:grid;
        grid-template-columns:1fr;
      }

      .apv2-primary,
      .apv2-secondary{
        width:100%;
        font-size: 15px;
      }
    }


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

    @media (prefers-reduced-motion:reduce){

      .apv2-hero *,
      .apv2-hero *::before,
      .apv2-hero *::after{
        scroll-behavior:auto !important;
        transition:none !important;
      }
    }

    /* =========================================================
         AIR PLAN â€” POPULAR AIRBNB UNITS
         Paste this complete block into one Elementor HTML widget.
      ========================================================= */

      .apu-popular,
      .apu-popular * {
        box-sizing: border-box;
      }

      .apu-popular {
        --apu-blue: #74a5c3;
        --apu-blue-rgb: 116, 165, 195;
        --apu-script: #5279a3;
        --apu-ink: #173746;
        --apu-white: #ffffff;
        --apu-soft: #eef6fa;
        --apu-line: rgba(23, 55, 70, 0.13);

        position: relative;
        isolation: isolate;
        overflow: hidden;
        padding: clamp(86px, 9vw, 138px) 0;
        background:
          radial-gradient(
            circle at 5% 12%,
            rgba(var(--apu-blue-rgb), 0.13),
            transparent 25%
          ),
          linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
        color: var(--apu-ink);
        font-family: "Manrope", sans-serif;
      }

      .apu-popular::after {
        content: "";
        position: absolute;
        z-index: -1;
        right: -105px;
        bottom: -135px;
        width: 330px;
        height: 330px;
        border: 1px solid rgba(var(--apu-blue-rgb), 0.21);
        border-radius: 50%;
        box-shadow:
          0 0 0 58px rgba(var(--apu-blue-rgb), 0.04),
          0 0 0 116px rgba(var(--apu-blue-rgb), 0.025);
        pointer-events: none;
      }

      .apu-popular a {
        color: inherit !important;
        text-decoration: none !important;
      }

      .apu-popular__shell {
        width: min(1320px, calc(100% - 48px));
        margin-inline: auto;
      }

      /* SECTION INTRO */

      .apu-popular__intro {
        margin-bottom: clamp(54px, 6vw, 82px);
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.55fr);
        align-items: end;
        gap: clamp(40px, 7vw, 100px);
      }

      .apu-popular__eyebrow {
        margin: 0 0 17px;
        display: flex;
        align-items: center;
        gap: 13px;
        color: var(--apu-blue);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.22em;
        text-transform: uppercase;
      }

      .apu-popular__eyebrow::before {
        content: "";
        width: 43px;
        height: 1px;
        flex-shrink: 0;
        background: var(--apu-blue);
      }

      .apu-popular__title {
        max-width: 820px;
        margin: 0;
        color: var(--apu-ink);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(55px, 6vw, 91px);
        font-weight: 500;
        line-height: 0.9;
        letter-spacing: -0.045em;
      }

      .apu-popular__title em {
        color: var(--apu-blue);
        font-weight: 500;
      }

      .apu-popular__description {
        margin: 0;
        color: rgba(23, 55, 70, 0.68);
        font-size: 14px;
        line-height: 1.85;
      }

      .apu-popular__all {
        width: max-content;
        margin-top: 24px;
        display: inline-flex;
        align-items: center;
        gap: 11px;
        color: var(--apu-ink) !important;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
      }

      .apu-popular__all-icon {
        width: 37px;
        height: 37px;
        display: grid;
        place-items: center;
        border: 1px solid var(--apu-blue);
        border-radius: 50%;
        background: var(--apu-blue);
        color: var(--apu-white);
        transition:
          transform 0.25s ease,
          background 0.25s ease,
          color 0.25s ease;
      }

      .apu-popular__all:hover .apu-popular__all-icon {
        transform: translateX(4px);
        background: var(--apu-white);
        color: var(--apu-blue);
      }

      .apu-popular__all svg {
        width: 15px;
        height: 15px;
      }

      /* HAND-DRAWN NOTE */

      .apu-popular__collection {
        position: relative;
      }

      .apu-popular__note {
        position: absolute;
        z-index: 6;
        top: -67px;
        right: 54px;
        width: 244px;
        color: var(--apu-script);
        pointer-events: none;
      }

      .apu-popular__note-text {
        display: block;
        font-family: "Allura", cursive;
        font-size: clamp(40px, 4vw, 57px);
        font-weight: 400;
        line-height: 1;
        white-space: nowrap;
        transform: rotate(-4deg);
      }

      .apu-popular__note svg {
        position: absolute;
        top: 35px;
        left: 56px;
        width: 158px;
        height: 77px;
        overflow: visible;
      }

      .apu-popular__note path,
      .apu-popular__note polyline {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      /* PROPERTY GRID */

      .apu-popular__grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px;
      }

      .apu-card {
        position: relative;
        min-width: 0;
        min-height: 365px;
        display: block;
        overflow: hidden;
        isolation: isolate;
        border-radius: 26px;
        background: #244b5e;
        box-shadow: 0 22px 55px rgba(23, 55, 70, 0.14);
        transform: translateZ(0);
      }

      .apu-card--featured {
        min-height: 470px;
        grid-column: span 2;
      }

      .apu-card::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(
          180deg,
          rgba(0, 0, 0, 0.02) 0%,
          rgba(0, 0, 0, 0.06) 38%,
          rgba(0, 0, 0, 0.38) 67%,
          rgba(0, 0, 0, 0.9) 100%
        );
        pointer-events: none;
      }

      .apu-card::after {
        content: "";
        position: absolute;
        inset: 12px;
        z-index: 4;
        border: 1px solid rgba(255, 255, 255, 0.34);
        border-radius: 18px;
        pointer-events: none;
      }

      /*
         Full-card background layer.
         A background span is used instead of an <img> so Elementor cannot
         force the property photo back to auto height.
      */
      .apu-card__media {
        position: absolute !important;
        inset: 0 !important;
        z-index: 0;
        width: 100% !important;
        height: 100% !important;
        display: block;
        background-image: var(--apu-card-image);
        background-repeat: no-repeat;
        background-position: var(--apu-image-position, center);
        background-size: cover;
        transition: transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1);
        transform: scale(1.002);
      }

      .apu-card:hover .apu-card__media {
        transform: scale(1.055);
      }

      .apu-card__inner {
        position: relative;
        z-index: 2;
        height: 100%;
        min-height: inherit;
        padding: 27px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
      }

      .apu-card--featured .apu-card__inner {
        padding: 34px;
      }

      .apu-card__top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
      }

      .apu-card__badge,
      .apu-card__rating {
        min-height: 34px;
        padding: 0 13px;
        display: inline-flex;
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.58);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.91);
        color: var(--apu-ink);
        font-size: 8px;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
      }

      .apu-card__badge {
        gap: 8px;
      }

      .apu-card__badge::before {
        content: "";
        width: 7px;
        height: 7px;
        flex-shrink: 0;
        border-radius: 50%;
        background: var(--apu-blue);
        box-shadow: 0 0 0 4px rgba(var(--apu-blue-rgb), 0.18);
      }

      .apu-card__rating {
        letter-spacing: 0.05em;
      }

      .apu-card__rating-star {
        margin-right: 5px;
        color: #f4b63f;
        font-size: 12px;
        line-height: 1;
      }

      .apu-card__bottom {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 20px;
      }

      .apu-card__location {
        margin: 0 0 9px;
        display: flex;
        align-items: center;
        gap: 7px;
        color: rgba(255, 255, 255, 0.78);
        font-size: 9px;
        font-weight: 700;
        letter-spacing: 0.13em;
        text-shadow:
          0 2px 10px rgba(0, 0, 0, 0.9),
          0 1px 2px rgba(0, 0, 0, 0.75);
        text-transform: uppercase;
      }

      .apu-card__location svg {
        width: 13px;
        height: 13px;
        flex-shrink: 0;
      }

      .apu-card__name {
        max-width: 510px;
        margin: 0;
        color: var(--apu-white);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(30px, 3.1vw, 45px);
        font-weight: 600;
        line-height: 0.98;
        letter-spacing: -0.025em;
        text-shadow:
          0 4px 20px rgba(0, 0, 0, 0.88),
          0 1px 3px rgba(0, 0, 0, 0.9);
      }

      .apu-card:not(.apu-card--featured) .apu-card__name {
        font-size: clamp(25px, 2vw, 31px);
      }

      .apu-card__specs {
        margin-top: 15px;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .apu-card__spec {
        padding: 7px 10px;
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 999px;
        background: rgba(0, 0, 0, 0.28);
        color: rgba(255, 255, 255, 0.96);
        font-size: 9px;
        font-weight: 600;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
      }

      .apu-card__action {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        flex-shrink: 0;
      }

      .apu-card__action-circle {
        width: 49px;
        height: 49px;
        display: grid;
        place-items: center;
        border: 1px solid rgba(255, 255, 255, 0.7);
        border-radius: 50%;
        background: var(--apu-white);
        color: var(--apu-blue);
        transition:
          transform 0.28s ease,
          background 0.28s ease,
          color 0.28s ease;
      }

      .apu-card__action-circle svg {
        width: 17px;
        height: 17px;
      }

      .apu-card__action-label {
        color: rgba(255, 255, 255, 0.83);
        font-size: 7px;
        font-weight: 700;
        letter-spacing: 0.11em;
        text-shadow:
          0 2px 8px rgba(0, 0, 0, 0.9),
          0 1px 2px rgba(0, 0, 0, 0.75);
        text-transform: uppercase;
        white-space: nowrap;
      }

      .apu-card:hover .apu-card__action-circle {
        transform: translate(3px, -3px);
        background: var(--apu-blue);
        color: var(--apu-white);
      }

      .apu-card:focus-visible,
      .apu-popular__all:focus-visible,
      .apu-popular__footer-button:focus-visible {
        outline: 3px solid var(--apu-blue);
        outline-offset: 4px;
      }

      .apu-card:not(.apu-card--featured) .apu-card__bottom {
        display: block;
      }

      .apu-card:not(.apu-card--featured) .apu-card__action {
        margin-top: 20px;
        flex-direction: row;
        justify-content: flex-start;
      }

      .apu-card:not(.apu-card--featured) .apu-card__action-circle {
        width: 40px;
        height: 40px;
      }

      /* SECTION FOOTER */

      .apu-popular__footer {
        margin-top: 32px;
        padding: 22px 25px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 25px;
        border: 1px solid rgba(var(--apu-blue-rgb), 0.22);
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.82);
        box-shadow: 0 15px 40px rgba(23, 55, 70, 0.07);
      }

      .apu-popular__footer-copy {
        margin: 0;
        color: rgba(23, 55, 70, 0.65);
        font-size: 12px;
        line-height: 1.65;
      }

      .apu-popular__footer-button {
        min-height: 48px;
        padding: 0 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        flex-shrink: 0;
        border: 1px solid var(--apu-blue);
        border-radius: 999px;
        background: var(--apu-blue);
        color: var(--apu-white) !important;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: 0.11em;
        text-transform: uppercase;
        transition:
          transform 0.25s ease,
          background 0.25s ease,
          color 0.25s ease;
      }

      .apu-popular__footer-button:hover {
        transform: translateY(-2px);
        background: var(--apu-white);
        color: var(--apu-blue) !important;
      }

      .apu-popular__footer-button svg {
        width: 15px;
        height: 15px;
      }

      /* TABLET */

      @media (max-width: 991px) {
        .apu-popular__intro {
          grid-template-columns: minmax(0, 1fr) 300px;
          gap: 42px;
        }

        .apu-popular__grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .apu-card,
        .apu-card--featured {
          min-height: 420px;
          grid-column: span 1;
        }

        .apu-card__inner,
        .apu-card--featured .apu-card__inner {
          padding: 28px;
        }

        .apu-card__name,
        .apu-card:not(.apu-card--featured) .apu-card__name {
          font-size: 31px;
        }

        .apu-card:not(.apu-card--featured) .apu-card__bottom {
          display: grid;
        }

        .apu-card:not(.apu-card--featured) .apu-card__action {
          margin-top: 0;
          flex-direction: column;
        }

        .apu-card:not(.apu-card--featured) .apu-card__action-circle {
          width: 46px;
          height: 46px;
        }
      }

      /* MOBILE */

      @media (max-width: 767px) {
        .apu-popular {
          padding: 76px 0;
        }

        .apu-popular__shell {
          width: min(100% - 30px, 1320px);
        }

        .apu-popular__intro {
          margin-bottom: 44px;
          display: block;
        }

        .apu-popular__title {
          font-size: clamp(48px, 15vw, 66px);
          line-height: 0.92;
        }

        .apu-popular__intro-side {
          margin-top: 25px;
        }

        .apu-popular__note {
          position: relative;
          top: auto;
          right: auto;
          width: 225px;
          height: 65px;
          margin: 0 0 13px auto;
        }

        .apu-popular__note-text {
          font-size: 43px;
        }

        .apu-popular__note svg {
          top: 31px;
          left: 51px;
          width: 145px;
          height: 68px;
        }

        .apu-popular__grid {
          display: grid;
          grid-template-columns: minmax(0, 1fr);
          gap: 16px;
          overflow: visible;
          padding: 0;
        }

        .apu-card,
        .apu-card--featured {
          width: 100%;
          min-width: 0;
          min-height: 440px;
          border-radius: 23px;
        }

        .apu-card__inner,
        .apu-card--featured .apu-card__inner {
          padding: 25px;
        }

        .apu-card__bottom,
        .apu-card:not(.apu-card--featured) .apu-card__bottom {
          display: block;
        }

        .apu-card__name,
        .apu-card:not(.apu-card--featured) .apu-card__name {
          font-size: 31px;
        }

        .apu-card__action,
        .apu-card:not(.apu-card--featured) .apu-card__action {
          margin-top: 21px;
          flex-direction: row;
          justify-content: flex-start;
        }

        .apu-card__action-circle,
        .apu-card:not(.apu-card--featured) .apu-card__action-circle {
          width: 42px;
          height: 42px;
        }

        .apu-popular__footer {
          margin-top: 20px;
          padding: 21px;
          align-items: flex-start;
          flex-direction: column;
        }

        .apu-popular__footer-button {
          width: 100%;
        }
      }

      @media (max-width: 420px) {
        .apu-card__badge,
        .apu-card__rating {
          min-height: 31px;
          padding: 0 10px;
          font-size: 7px;
        }

        .apu-card__spec {
          padding: 6px 8px;
          font-size: 8px;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        .apu-popular *,
        .apu-popular *::before,
        .apu-popular *::after {
          scroll-behavior: auto !important;
          transition: none !important;
        }
      }

    /* =========================================================
       AIR PLAN â€” STAY EXPERIENCE / HAND-DRAWN PHOTO SECTION
       Paste this complete block into one Elementor HTML widget.
    ========================================================= */

    .ape-experience,
    .ape-experience *{
      box-sizing:border-box;
    }

    .ape-experience{
      --ape-blue:#74A5C3;
      --ape-blue-rgb:116,165,195;
      --ape-script:#5279A3;
      --ape-ink:#173746;
      --ape-white:#FFFFFF;
      --ape-paper:#F4F7FC;
      --ape-wash:#DFECF5;
      --ape-line:rgba(23,55,70,.13);

      position:relative;
      isolation:isolate;
      overflow:hidden;
      padding:clamp(90px,10vw,142px) 0;
      background:var(--ape-paper);
      color:var(--ape-ink);
      font-family:"Manrope",sans-serif;
    }

    .ape-experience::before{
      content:"";
      position:absolute;
      z-index:-1;
      top:-240px;
      left:-240px;
      width:520px;
      height:520px;
      border:1px solid rgba(var(--ape-blue-rgb),.18);
      border-radius:50%;
      box-shadow:
        0 0 0 55px rgba(var(--ape-blue-rgb),.035),
        0 0 0 110px rgba(var(--ape-blue-rgb),.025);
      pointer-events:none;
    }

    .ape-experience a{
      color:inherit !important;
      text-decoration:none !important;
    }

    .ape-experience__shell{
      width:min(1280px,calc(100% - 48px));
      margin-inline:auto;
    }

    /* INTRO */

    .ape-experience__intro{
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(320px,.58fr);
      align-items:end;
      gap:clamp(45px,7vw,100px);
    }

    .ape-experience__eyebrow{
      margin:0 0 17px;
      display:flex;
      align-items:center;
      gap:13px;
      color:var(--ape-blue);
      font-size:10px;
      font-weight:700;
      letter-spacing:.22em;
      text-transform:uppercase;
    }

    .ape-experience__eyebrow::before{
      content:"";
      width:43px;
      height:1px;
      flex-shrink:0;
      background:var(--ape-blue);
    }

    .ape-experience__title{
      max-width:790px;
      margin:0;
      color:var(--ape-ink);
      font-family:"Cormorant Garamond",serif;
      font-size:clamp(58px,6.1vw,92px);
      font-weight:500;
      line-height:.9;
      letter-spacing:-.045em;
    }

    .ape-experience__title em{
      color:var(--ape-blue);
      font-weight:500;
    }

    .ape-experience__copy{
      padding-bottom:5px;
    }

    .ape-experience__description{
      margin:0;
      color:rgba(23,55,70,.69);
      font-size:14px;
      line-height:1.85;
    }

    .ape-experience__link{
      width:max-content;
      margin-top:25px;
      display:inline-flex;
      align-items:center;
      gap:11px;
      color:var(--ape-ink) !important;
      font-size:10px;
      font-weight:700;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .ape-experience__link span{
      width:36px;
      height:36px;
      display:grid;
      place-items:center;
      border:1px solid var(--ape-blue);
      border-radius:50%;
      background:var(--ape-blue);
      color:var(--ape-white);
      transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease;
    }

    .ape-experience__link:hover span{
      transform:translateX(4px);
      background:var(--ape-white);
      color:var(--ape-blue);
    }

    .ape-experience__link svg{
      width:15px;
      height:15px;
    }

    /* HAND-DRAWN PHOTO STAGE */

    .ape-experience__stage{
      position:relative;
      margin-top:clamp(52px,7vw,88px);
      padding:37px clamp(28px,4vw,60px) 42px;
      isolation:isolate;
    }

    .ape-experience__wash{
      position:absolute;
      z-index:-2;
      inset:86px 0 0;
      overflow:hidden;
      border-radius:8px 8px 30px 30px;
      pointer-events:none;
    }

    .ape-experience__wash svg{
      width:100%;
      height:100%;
      display:block;
    }

    .ape-experience__collage{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      align-items:start;
      gap:clamp(48px,7vw,105px);
    }

    .ape-scene{
      position:relative;
      min-width:0;
      min-height:560px;
    }

    /* HANDWRITTEN NOTES */

    .ape-note{
      position:absolute;
      z-index:5;
      color:var(--ape-script);
      pointer-events:none;
    }

    .ape-note__text{
      position:relative;
      z-index:2;
      display:block;
      white-space:nowrap;
      font-family:"Allura",cursive;
      font-size:clamp(45px,4.2vw,67px);
      font-weight:400;
      line-height:1;
      transform:rotate(-4deg);
    }

    .ape-note svg{
      position:absolute;
      overflow:visible;
      color:var(--ape-script);
    }

    .ape-note svg path,
    .ape-note svg polyline{
      fill:none;
      stroke:currentColor;
      stroke-width:1.5;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .ape-scene--cozy .ape-note{
      top:0;
      left:1%;
      width:285px;
    }

    .ape-scene--cozy .ape-note svg{
      top:-9px;
      left:136px;
      width:185px;
      height:112px;
    }

    .ape-scene--view .ape-note{
      top:1px;
      right:4%;
      width:235px;
      text-align:center;
    }

    .ape-scene--view .ape-note__text{
      transform:rotate(2deg);
    }

    .ape-scene--view .ape-note svg{
      top:34px;
      left:73px;
      width:154px;
      height:116px;
    }

    /* POLAROID PHOTOS */

    .ape-polaroid{
      position:relative;
      z-index:2;
      width:min(100%,480px);
      padding:17px 17px 51px;
      border:1px solid rgba(23,55,70,.08);
      border-radius:3px;
      background:var(--ape-white);
      box-shadow:
        0 28px 55px rgba(23,55,70,.20),
        0 6px 15px rgba(23,55,70,.13);
      transform-origin:center;
      transition:
        transform .55s cubic-bezier(.2,.7,.2,1),
        box-shadow .55s ease;
    }

    .ape-polaroid::before{
      content:"";
      position:absolute;
      z-index:3;
      top:-12px;
      left:50%;
      width:84px;
      height:24px;
      background:rgba(255,255,255,.53);
      border:1px solid rgba(23,55,70,.035);
      box-shadow:0 3px 9px rgba(23,55,70,.06);
      transform:translateX(-50%) rotate(-2deg);
      backdrop-filter:blur(2px);
      -webkit-backdrop-filter:blur(2px);
    }

    .ape-polaroid__image{
      position:relative;
      overflow:hidden;
      aspect-ratio:4 / 3.15;
      background:
        linear-gradient(135deg,var(--ape-blue),#527D95);
    }

    .ape-polaroid__image::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg,rgba(255,255,255,.02),rgba(23,55,70,.10));
      pointer-events:none;
    }

    .ape-polaroid__image img{
      width:100%;
      height:100%;
      display:block;
      object-fit:cover;
      transition:transform .8s cubic-bezier(.2,.7,.2,1);
    }

    .ape-polaroid__caption{
      position:absolute;
      left:17px;
      right:17px;
      bottom:17px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:15px;
      color:rgba(23,55,70,.60);
      font-size:8px;
      font-weight:700;
      letter-spacing:.16em;
      text-transform:uppercase;
    }

    .ape-polaroid__caption::after{
      content:"";
      width:34px;
      height:1px;
      flex-shrink:0;
      background:var(--ape-blue);
    }

    .ape-scene--cozy .ape-polaroid{
      margin:118px 0 0 5%;
      transform:rotate(-6deg);
    }

    .ape-scene--view .ape-polaroid{
      margin:102px 3% 0 auto;
      transform:rotate(6deg);
    }

    .ape-scene:hover .ape-polaroid{
      box-shadow:
        0 34px 70px rgba(23,55,70,.24),
        0 9px 19px rgba(23,55,70,.14);
    }

    .ape-scene--cozy:hover .ape-polaroid{
      transform:rotate(-3deg) translateY(-8px);
    }

    .ape-scene--view:hover .ape-polaroid{
      transform:rotate(3deg) translateY(-8px);
    }

    .ape-scene:hover .ape-polaroid__image img{
      transform:scale(1.045);
    }

    /* EXPERIENCE POINTS */

    .ape-experience__points{
      position:relative;
      z-index:5;
      margin-top:-18px;
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      overflow:hidden;
      border:1px solid rgba(var(--ape-blue-rgb),.30);
      border-radius:20px;
      background:rgba(255,255,255,.94);
      box-shadow:0 20px 45px rgba(23,55,70,.10);
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
    }

    .ape-point{
      min-width:0;
      padding:24px 27px;
      display:grid;
      grid-template-columns:38px minmax(0,1fr);
      align-items:center;
      gap:14px;
      border-right:1px solid rgba(var(--ape-blue-rgb),.24);
    }

    .ape-point:last-child{
      border-right:0;
    }

    .ape-point__number{
      width:38px;
      height:38px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:var(--ape-blue);
      color:var(--ape-white);
      font-family:"Cormorant Garamond",serif;
      font-size:17px;
      line-height:1;
    }

    .ape-point h3{
      margin:0;
      color:var(--ape-ink);
      font-family:"Cormorant Garamond",serif;
      font-size:22px;
      font-weight:600;
      line-height:1;
    }

    .ape-point p{
      margin:5px 0 0;
      color:rgba(23,55,70,.61);
      font-size:9px;
      font-weight:600;
      letter-spacing:.06em;
      line-height:1.5;
      text-transform:uppercase;
    }

    .ape-experience a:focus-visible{
      outline:3px solid var(--ape-blue);
      outline-offset:4px;
    }

    /* TABLET */

    @media(max-width:991px){
      .ape-experience__intro{
        grid-template-columns:minmax(0,1fr) minmax(270px,.62fr);
        gap:42px;
      }

      .ape-experience__stage{
        padding-inline:26px;
      }

      .ape-experience__collage{
        gap:25px;
      }

      .ape-scene{
        min-height:500px;
      }

      .ape-note__text{
        font-size:48px;
      }

      .ape-scene--cozy .ape-note{
        left:0;
      }

      .ape-scene--cozy .ape-note svg{
        left:118px;
        width:155px;
      }

      .ape-scene--view .ape-note{
        right:0;
      }

      .ape-polaroid{
        padding:13px 13px 45px;
      }

      .ape-polaroid__caption{
        left:13px;
        right:13px;
        bottom:15px;
      }

      .ape-point{
        padding:20px 17px;
        grid-template-columns:34px minmax(0,1fr);
        gap:11px;
      }

      .ape-point__number{
        width:34px;
        height:34px;
      }

      .ape-point h3{
        font-size:19px;
      }

      .ape-point p{
        font-size:8px;
      }
    }

    /* MOBILE */

    @media(max-width:767px){
      .ape-experience{
        padding:78px 0;
      }

      .ape-experience::before{
        top:-190px;
        left:-220px;
        width:420px;
        height:420px;
      }

      .ape-experience__shell{
        width:min(100% - 30px,1280px);
      }

      .ape-experience__intro{
        display:block;
      }

      .ape-experience__title{
        font-size:clamp(51px,15vw,72px);
        line-height:.9;
      }

      .ape-experience__copy{
        margin-top:25px;
        padding:0;
      }

      .ape-experience__description{
        font-size:13px;
      }

      .ape-experience__stage{
        margin-top:42px;
        padding:28px 15px 24px;
      }

      .ape-experience__wash{
        inset:58px 0 0;
        border-radius:8px 8px 23px 23px;
      }

      .ape-experience__collage{
        display:block;
      }

      .ape-scene{
        min-height:0;
        padding-top:78px;
      }

      .ape-scene--view{
        margin-top:4px;
      }

      .ape-note__text{
        font-size:51px;
      }

      .ape-scene--cozy .ape-note{
        top:5px;
        left:3px;
        width:245px;
      }

      .ape-scene--cozy .ape-note svg{
        top:-12px;
        left:123px;
        width:151px;
        height:104px;
      }

      .ape-scene--view .ape-note{
        top:4px;
        right:3px;
        width:210px;
      }

      .ape-scene--view .ape-note svg{
        top:28px;
        left:63px;
        width:138px;
        height:105px;
      }

      .ape-polaroid{
        width:calc(100% - 22px);
      }

      .ape-scene--cozy .ape-polaroid{
        margin:8px auto 70px;
        transform:rotate(-4deg);
      }

      .ape-scene--view .ape-polaroid{
        margin:8px auto 52px;
        transform:rotate(4deg);
      }

      .ape-scene--cozy:hover .ape-polaroid{
        transform:rotate(-2deg) translateY(-5px);
      }

      .ape-scene--view:hover .ape-polaroid{
        transform:rotate(2deg) translateY(-5px);
      }

      .ape-experience__points{
        margin-top:0;
        grid-template-columns:1fr;
        border-radius:17px;
      }

      .ape-point{
        padding:18px 19px;
        border-right:0;
        border-bottom:1px solid rgba(var(--ape-blue-rgb),.24);
      }

      .ape-point:last-child{
        border-bottom:0;
      }

      .ape-point h3{
        font-size:21px;
      }
    }

    @media(max-width:390px){
      .ape-note__text{
        font-size:47px;
      }

      .ape-scene--cozy .ape-note svg{
        left:111px;
        width:139px;
      }

      .ape-scene--view .ape-note svg{
        left:57px;
        width:130px;
      }
    }

    @media(prefers-reduced-motion:reduce){
      .ape-experience *,
      .ape-experience *::before,
      .ape-experience *::after{
        scroll-behavior:auto !important;
        transition:none !important;
      }
    }

    .apn2-nearby,
      .apn2-nearby * {
        box-sizing: border-box;
      }

      .apn2-nearby {
        --apn2-blue: #74a5c3;
        --apn2-blue-rgb: 116, 165, 195;
        --apn2-ink: #173746;
        --apn2-white: #ffffff;
        --apn2-mist: #edf5f8;

        position: relative;
        isolation: isolate;
        overflow: clip;
        padding: clamp(88px, 9vw, 142px) 0;
        background:
          radial-gradient(
            circle at 8% 10%,
            rgba(var(--apn2-blue-rgb), 0.2),
            transparent 27%
          ),
          linear-gradient(180deg, #f8fbfc 0%, var(--apn2-mist) 100%);
        color: var(--apn2-ink);
        font-family: "Manrope", sans-serif;
      }

      .apn2-nearby::before {
        content: "EXPLORE";
        position: absolute;
        z-index: -2;
        top: 22px;
        left: 50%;
        color: rgba(var(--apn2-blue-rgb), 0.065);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(120px, 20vw, 320px);
        font-weight: 600;
        line-height: 0.8;
        letter-spacing: -0.07em;
        transform: translateX(-50%);
        white-space: nowrap;
        pointer-events: none;
      }

      .apn2-nearby::after {
        content: "";
        position: absolute;
        z-index: -1;
        right: -230px;
        bottom: -235px;
        width: 530px;
        height: 530px;
        border: 1px solid rgba(var(--apn2-blue-rgb), 0.24);
        border-radius: 50%;
        box-shadow:
          0 0 0 65px rgba(var(--apn2-blue-rgb), 0.045),
          0 0 0 130px rgba(var(--apn2-blue-rgb), 0.026);
        pointer-events: none;
      }

      .apn2-nearby a {
        text-decoration: none !important;
      }

      .apn2-nearby__shell {
        width: min(1280px, calc(100% - 48px));
        margin-inline: auto;
      }

      .apn2-nearby__layout {
        display: grid;
        grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
        align-items: start;
        gap: clamp(54px, 7vw, 108px);
      }

      /* LEFT INTRO */

      .apn2-nearby__intro {
        position: sticky;
        top: 32px;
        padding-top: 14px;
      }

      .apn2-nearby__eyebrow {
        margin: 0 0 22px;
        display: flex;
        align-items: center;
        gap: 13px;
        color: var(--apn2-blue);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.22em;
        text-transform: uppercase;
      }

      .apn2-nearby__eyebrow::before {
        content: "";
        width: 42px;
        height: 1px;
        flex-shrink: 0;
        background: var(--apn2-blue);
      }

      .apn2-nearby__title {
        max-width: 520px;
        margin: 0;
        color: var(--apn2-ink);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(62px, 6.2vw, 94px);
        font-weight: 500;
        line-height: 0.86;
        letter-spacing: -0.05em;
      }

      .apn2-nearby__title em {
        display: block;
        color: var(--apn2-blue);
        font-weight: 500;
      }

      .apn2-nearby__copy {
        max-width: 440px;
        margin: 30px 0 0;
        color: rgba(23, 55, 70, 0.68);
        font-size: 14px;
        line-height: 1.85;
      }

      .apn2-nearby__map,
      .apn2-nearby__map:link,
      .apn2-nearby__map:visited {
        width: max-content;
        max-width: 100%;
        min-height: 52px;
        margin-top: 31px;
        padding: 0 20px 0 23px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        border: 1px solid var(--apn2-blue);
        border-radius: 999px;
        background: var(--apn2-blue);
        color: var(--apn2-white) !important;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.11em;
        text-transform: uppercase;
        box-shadow: 0 14px 34px rgba(23, 55, 70, 0.13);
        transition:
          transform 0.25s ease,
          background 0.25s ease,
          color 0.25s ease;
      }

      .apn2-nearby__map:hover {
        transform: translateY(-3px);
        background: var(--apn2-white);
        color: var(--apn2-blue) !important;
      }

      .apn2-nearby__map svg {
        width: 16px;
        height: 16px;
      }

      .apn2-nearby__note {
        margin: 24px 0 0;
        display: flex;
        align-items: center;
        gap: 12px;
        color: rgba(23, 55, 70, 0.48);
        font-size: 9px;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

      .apn2-nearby__note span {
        width: 31px;
        height: 31px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        border: 1px solid rgba(var(--apn2-blue-rgb), 0.34);
        border-radius: 50%;
        color: var(--apn2-blue);
      }

      .apn2-nearby__note span::after {
        content: "";
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: currentColor;
      }

      /* ATTRACTION CARDS */

      .apn2-nearby__list {
        display: grid;
        gap: 20px;
      }

      .apn2-place,
      .apn2-place:link,
      .apn2-place:visited {
        position: relative;
        min-width: 0;
        min-height: 205px;
        padding: 14px 17px 14px 14px;
        display: grid;
        grid-template-columns: minmax(180px, 0.78fr) minmax(230px, 1.22fr) 48px;
        align-items: center;
        gap: 22px;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, 0.94);
        border-radius: 28px;
        background: rgba(255, 255, 255, 0.9);
        color: var(--apn2-ink) !important;
        box-shadow: 0 22px 54px rgba(23, 55, 70, 0.1);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        transition:
          transform 0.35s ease,
          box-shadow 0.35s ease,
          border-color 0.35s ease;
      }

      .apn2-place:nth-child(even) {
        margin-left: 54px;
      }

      .apn2-place:nth-child(odd) {
        margin-right: 28px;
      }

      .apn2-place:hover {
        z-index: 2;
        transform: translateY(-6px);
        border-color: rgba(var(--apn2-blue-rgb), 0.42);
        box-shadow: 0 28px 68px rgba(23, 55, 70, 0.16);
      }

      .apn2-place--featured,
      .apn2-place--featured:link,
      .apn2-place--featured:visited {
        border-color: rgba(255, 255, 255, 0.25);
        background:
          radial-gradient(
            circle at 100% 0,
            rgba(255, 255, 255, 0.16),
            transparent 34%
          ),
          var(--apn2-ink);
        color: var(--apn2-white) !important;
        box-shadow: 0 27px 64px rgba(23, 55, 70, 0.22);
      }

      .apn2-place__visual {
        position: relative;
        height: 155px;
        overflow: hidden;
        border-radius: 20px;
        background: var(--apn2-blue);
      }

      .apn2-place__visual::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(
          180deg,
          rgba(8, 28, 38, 0.02) 45%,
          rgba(8, 28, 38, 0.38) 100%
        );
        pointer-events: none;
      }

      .apn2-place__image {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        object-position: center;
        transform: scale(1.01);
        transition:
          transform 0.65s ease,
          filter 0.35s ease;
      }

      .apn2-place:hover .apn2-place__image {
        transform: scale(1.08);
        filter: saturate(1.08);
      }

      .apn2-place__number {
        position: absolute;
        z-index: 2;
        top: 12px;
        left: 12px;
        min-width: 36px;
        height: 30px;
        padding-inline: 9px;
        display: grid;
        place-items: center;
        border: 1px solid rgba(255, 255, 255, 0.5);
        border-radius: 999px;
        background: rgba(10, 35, 47, 0.42);
        color: var(--apn2-white);
        font-family: "Cormorant Garamond", serif;
        font-size: 15px;
        font-style: italic;
        backdrop-filter: blur(9px);
      }

      .apn2-place__body {
        min-width: 0;
        padding-block: 6px;
      }

      .apn2-place__type {
        margin: 0 0 10px;
        display: flex;
        align-items: center;
        gap: 9px;
        color: var(--apn2-blue);
        font-size: 8px;
        font-weight: 700;
        letter-spacing: 0.16em;
        text-transform: uppercase;
      }

      .apn2-place__type::before {
        content: "";
        width: 5px;
        height: 5px;
        flex-shrink: 0;
        border-radius: 50%;
        background: currentColor;
      }

      .apn2-place__title {
        margin: 0;
        color: var(--apn2-ink);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(30px, 3vw, 42px);
        font-weight: 600;
        line-height: 0.93;
        letter-spacing: -0.03em;
      }

      .apn2-place--featured .apn2-place__title {
        color: var(--apn2-white);
      }

      .apn2-place__description {
        margin: 13px 0 0;
        color: rgba(23, 55, 70, 0.63);
        font-size: 11px;
        line-height: 1.65;
      }

      .apn2-place--featured .apn2-place__description {
        color: rgba(255, 255, 255, 0.72);
      }

      .apn2-place__location {
        margin: 14px 0 0;
        display: flex;
        align-items: center;
        gap: 7px;
        color: rgba(23, 55, 70, 0.47);
        font-size: 8px;
        font-weight: 700;
        letter-spacing: 0.11em;
        text-transform: uppercase;
      }

      .apn2-place--featured .apn2-place__location {
        color: rgba(255, 255, 255, 0.58);
      }

      .apn2-place__location svg {
        width: 13px;
        height: 13px;
      }

      .apn2-place__arrow {
        width: 45px;
        height: 45px;
        display: grid;
        place-items: center;
        border: 1px solid rgba(var(--apn2-blue-rgb), 0.45);
        border-radius: 50%;
        background: rgba(var(--apn2-blue-rgb), 0.1);
        color: var(--apn2-blue);
        transition:
          transform 0.3s ease,
          background 0.3s ease,
          color 0.3s ease;
      }

      .apn2-place--featured .apn2-place__arrow {
        border-color: rgba(255, 255, 255, 0.34);
        background: rgba(255, 255, 255, 0.1);
        color: var(--apn2-white);
      }

      .apn2-place:hover .apn2-place__arrow {
        transform: translate(3px, -3px);
        background: var(--apn2-blue);
        color: var(--apn2-white);
      }

      .apn2-place__arrow svg {
        width: 17px;
        height: 17px;
      }

      .apn2-place:focus-visible,
      .apn2-nearby__map:focus-visible {
        outline: 3px solid var(--apn2-blue);
        outline-offset: 5px;
      }

      .apn2-nearby__credits {
        margin: 23px 4px 0;
        color: rgba(23, 55, 70, 0.42);
        font-size: 8px;
        line-height: 1.7;
      }

      .apn2-nearby__credits a,
      .apn2-nearby__credits a:link,
      .apn2-nearby__credits a:visited {
        color: rgba(23, 55, 70, 0.57) !important;
        text-decoration: underline !important;
      }

      @media (max-width: 1060px) {
        .apn2-nearby__layout {
          grid-template-columns: 1fr;
          gap: 48px;
        }

        .apn2-nearby__intro {
          position: relative;
          top: auto;
          display: grid;
          grid-template-columns: minmax(0, 1fr) minmax(280px, 0.68fr);
          align-items: end;
          gap: 40px;
        }

        .apn2-nearby__copy {
          margin-top: 0;
        }

        .apn2-nearby__note {
          display: none;
        }

        .apn2-nearby__list {
          max-width: 900px;
          margin-inline: auto;
        }
      }

      @media (max-width: 820px) {
        .apn2-nearby__intro {
          grid-template-columns: 1fr;
          gap: 24px;
        }

        .apn2-place,
        .apn2-place:link,
        .apn2-place:visited {
          grid-template-columns: minmax(165px, 0.72fr) minmax(0, 1.28fr) 46px;
          gap: 18px;
        }

        .apn2-place:nth-child(even) {
          margin-left: 28px;
        }

        .apn2-place:nth-child(odd) {
          margin-right: 14px;
        }
      }

      @media (max-width: 767px) {
        .apn2-nearby {
          padding: 78px 0;
        }

        .apn2-nearby__shell {
          width: min(100% - 34px, 1280px);
        }

        .apn2-nearby__eyebrow {
          margin-bottom: 16px;
          font-size: 9px;
        }

        .apn2-nearby__title {
          font-size: clamp(52px, 15vw, 72px);
          line-height: 0.89;
        }

        .apn2-nearby__copy {
          font-size: 13px;
          line-height: 1.75;
        }

        .apn2-nearby__map {
          min-height: 50px;
          margin-top: 22px;
        }

        .apn2-nearby__layout {
          gap: 39px;
        }

        .apn2-nearby__list {
          gap: 15px;
        }

        .apn2-place,
        .apn2-place:link,
        .apn2-place:visited {
          min-height: 0;
          margin: 0 !important;
          padding: 10px 10px 18px;
          grid-template-columns: 1fr;
          gap: 0;
          border-radius: 24px;
        }

        .apn2-place__visual {
          height: 235px;
          border-radius: 17px;
        }

        .apn2-place__body {
          padding: 21px 10px 0;
        }

        .apn2-place__title {
          font-size: clamp(34px, 10vw, 46px);
        }

        .apn2-place__description {
          max-width: 560px;
          font-size: 12px;
        }

        .apn2-place__arrow {
          position: absolute;
          right: 18px;
          bottom: 18px;
          width: 42px;
          height: 42px;
        }

        .apn2-place__location {
          max-width: calc(100% - 60px);
          margin-top: 16px;
        }
      }

      @media (max-width: 460px) {
        .apn2-nearby__title {
          font-size: clamp(48px, 14.5vw, 62px);
        }

        .apn2-nearby__map {
          width: 100%;
        }

        .apn2-place__visual {
          height: 215px;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        .apn2-nearby *,
        .apn2-nearby *::before,
        .apn2-nearby *::after {
          transition: none !important;
        }
      }

    /* =========================================================
         AIR PLAN â€” HOST AN EVENT / DESIGN 05
         Hand-drawn invitation layout.
         Paste this complete block into one Elementor HTML widget.
      ========================================================= */

      .ape5-event,
      .ape5-event * {
        box-sizing: border-box;
      }

      .ape5-event {
        --ape5-blue: #74a5c3;
        --ape5-blue-dark: #527fa0;
        --ape5-blue-rgb: 116, 165, 195;
        --ape5-ink: #173746;
        --ape5-paper: #fffdf8;
        --ape5-mist: #eaf3f7;
        --ape5-white: #ffffff;
        --ape5-line: rgba(23, 55, 70, 0.14);

        position: relative;
        isolation: isolate;
        overflow: hidden;
        padding: clamp(88px, 9vw, 145px) 0;
        background:
          radial-gradient(
            circle at 5% 9%,
            rgba(var(--ape5-blue-rgb), 0.22),
            transparent 25%
          ),
          radial-gradient(
            circle at 96% 94%,
            rgba(var(--ape5-blue-rgb), 0.2),
            transparent 27%
          ),
          linear-gradient(180deg, #f8fbfc 0%, var(--ape5-mist) 100%);
        color: var(--ape5-ink);
        font-family: "Manrope", sans-serif;
      }

      .ape5-event a {
        text-decoration: none !important;
      }

      .ape5-event__shell {
        position: relative;
        z-index: 2;
        width: min(1280px, calc(100% - 48px));
        margin-inline: auto;
      }

      /* BACKGROUND DRAWINGS */

      .ape5-doodle {
        position: absolute;
        z-index: 0;
        overflow: visible;
        color: var(--ape5-blue);
        pointer-events: none;
      }

      .ape5-doodle path,
      .ape5-doodle circle,
      .ape5-doodle line,
      .ape5-doodle polyline {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.6;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      .ape5-doodle--sun {
        top: 52px;
        right: clamp(22px, 5vw, 86px);
        width: clamp(78px, 8vw, 118px);
        opacity: 0.44;
        transform: rotate(8deg);
      }

      .ape5-doodle--leaf {
        left: clamp(16px, 4vw, 66px);
        bottom: 54px;
        width: clamp(92px, 10vw, 145px);
        opacity: 0.35;
        transform: rotate(-12deg);
      }

      .ape5-doodle--spark {
        top: 39%;
        right: 2.5%;
        width: 64px;
        opacity: 0.38;
      }

      /* INTRO */

      .ape5-event__intro {
        position: relative;
        max-width: 1020px;
        margin: 0 auto clamp(52px, 6vw, 82px);
        text-align: center;
      }

      .ape5-event__eyebrow {
        margin: 0 0 18px;
        display: inline-flex;
        align-items: center;
        gap: 11px;
        color: var(--ape5-blue-dark);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.21em;
        text-transform: uppercase;
      }

      .ape5-event__eyebrow svg {
        width: 21px;
        height: 21px;
        overflow: visible;
      }

      .ape5-event__eyebrow svg path {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.45;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      .ape5-event__title {
        max-width: 960px;
        margin: 0 auto;
        color: var(--ape5-ink);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(61px, 8.1vw, 112px);
        font-weight: 500;
        line-height: 0.85;
        letter-spacing: -0.057em;
      }

      .ape5-event__title em {
        position: relative;
        display: inline-block;
        color: var(--ape5-blue-dark);
        font-weight: 500;
      }

      .ape5-event__underline {
        position: absolute;
        right: -10px;
        bottom: -13px;
        width: 102%;
        height: 18px;
        overflow: visible;
        color: var(--ape5-blue);
      }

      .ape5-event__underline path {
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
      }

      .ape5-event__description {
        max-width: 650px;
        margin: 30px auto 0;
        color: rgba(23, 55, 70, 0.66);
        font-size: 13px;
        line-height: 1.85;
      }

      /* MAIN SKETCHBOOK */

      .ape5-sketchbook {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1.08fr) minmax(410px, 0.92fr);
        align-items: stretch;
        gap: clamp(28px, 4vw, 58px);
      }

      /* LEFT PHOTO COLLAGE */

      .ape5-collage {
        position: relative;
        min-width: 0;
        min-height: 680px;
        padding: 31px 28px 34px 33px;
      }

      .ape5-collage__wash {
        position: absolute;
        z-index: -2;
        inset: 57px 0 0 7px;
        color: rgba(var(--ape5-blue-rgb), 0.35);
        transform: rotate(-1.5deg);
      }

      .ape5-collage__wash path {
        fill: rgba(var(--ape5-blue-rgb), 0.2);
        stroke: currentColor;
        stroke-width: 1.4;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      .ape5-photo {
        position: relative;
        height: 590px;
        padding: 12px 12px 61px;
        overflow: hidden;
        border: 1px solid rgba(23, 55, 70, 0.11);
        border-radius: 7px;
        background: var(--ape5-white);
        box-shadow: 0 28px 70px rgba(23, 55, 70, 0.17);
        transform: rotate(-2.2deg);
        transition:
          transform 0.45s ease,
          box-shadow 0.45s ease;
      }

      .ape5-photo:hover {
        transform: rotate(-0.7deg) translateY(-5px);
        box-shadow: 0 34px 82px rgba(23, 55, 70, 0.22);
      }

      .ape5-photo__frame {
        position: relative;
        height: 100%;
        overflow: hidden;
        border-radius: 3px;
        background: var(--ape5-blue);
      }

      .ape5-photo__frame::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background:
          linear-gradient(
            180deg,
            rgba(13, 42, 56, 0.02) 42%,
            rgba(13, 42, 56, 0.4) 100%
          ),
          linear-gradient(90deg, rgba(13, 42, 56, 0.09), transparent 36%);
        pointer-events: none;
      }

      .ape5-photo__image {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        object-position: center;
        transform: scale(1.01);
        transition:
          transform 0.75s ease,
          filter 0.45s ease;
      }

      .ape5-photo:hover .ape5-photo__image {
        transform: scale(1.055);
        filter: saturate(1.06);
      }

      .ape5-photo__caption {
        position: absolute;
        right: 18px;
        bottom: 18px;
        left: 18px;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        color: var(--ape5-ink);
      }

      .ape5-photo__caption strong {
        font-family: "Caveat", cursive;
        font-size: 24px;
        font-weight: 600;
        line-height: 1;
      }

      .ape5-photo__caption span {
        color: rgba(23, 55, 70, 0.48);
        font-size: 8px;
        font-weight: 700;
        letter-spacing: 0.13em;
        text-transform: uppercase;
      }

      .ape5-tape {
        position: absolute;
        z-index: 4;
        width: 100px;
        height: 29px;
        background: rgba(211, 229, 238, 0.86);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
        opacity: 0.95;
        pointer-events: none;
      }

      .ape5-tape--one {
        top: 13px;
        left: 2px;
        transform: rotate(-37deg);
      }

      .ape5-tape--two {
        right: 0;
        bottom: 58px;
        transform: rotate(-29deg);
      }

      .ape5-collage__note {
        position: absolute;
        z-index: 5;
        top: -4px;
        right: 14px;
        width: 205px;
        color: var(--ape5-blue-dark);
        text-align: center;
        pointer-events: none;
      }

      .ape5-collage__note span {
        display: block;
        font-family: "Caveat", cursive;
        font-size: clamp(28px, 2.6vw, 39px);
        font-weight: 600;
        line-height: 0.95;
        transform: rotate(4deg);
      }

      .ape5-collage__note svg {
        width: 135px;
        height: 85px;
        margin: -2px 0 0 -78px;
        overflow: visible;
      }

      .ape5-collage__note svg path,
      .ape5-collage__note svg polyline {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      .ape5-collage__stars {
        position: absolute;
        z-index: 5;
        right: -3px;
        bottom: 19px;
        width: 92px;
        height: 92px;
        color: var(--ape5-blue-dark);
        pointer-events: none;
      }

      .ape5-collage__stars path {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      /* RIGHT INVITATION PANEL */

      .ape5-invite {
        position: relative;
        min-width: 0;
        padding: clamp(42px, 5vw, 70px);
        overflow: hidden;
        border: 1px solid rgba(23, 55, 70, 0.13);
        border-radius: 5px;
        background:
          radial-gradient(
            circle at 1px 1px,
            rgba(23, 55, 70, 0.07) 1px,
            transparent 1.4px
          ),
          var(--ape5-paper);
        background-size: 22px 22px;
        box-shadow: 0 26px 70px rgba(23, 55, 70, 0.13);
        transform: rotate(0.7deg);
      }

      .ape5-invite::before {
        content: "";
        position: absolute;
        inset: 14px;
        z-index: 0;
        border: 1.5px dashed rgba(var(--ape5-blue-rgb), 0.42);
        border-radius: 2px;
        pointer-events: none;
      }

      .ape5-invite__content {
        position: relative;
        z-index: 2;
      }

      .ape5-invite__script {
        margin: 0 0 11px;
        color: var(--ape5-blue-dark);
        font-family: "Caveat", cursive;
        font-size: clamp(28px, 2.5vw, 38px);
        font-weight: 600;
        line-height: 1;
        transform: rotate(-2deg);
        transform-origin: left center;
      }

      .ape5-invite__title {
        max-width: 430px;
        margin: 0;
        color: var(--ape5-ink);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(49px, 5vw, 73px);
        font-weight: 600;
        line-height: 0.88;
        letter-spacing: -0.045em;
      }

      .ape5-invite__copy {
        max-width: 455px;
        margin: 21px 0 0;
        color: rgba(23, 55, 70, 0.66);
        font-size: 11px;
        line-height: 1.78;
      }

      .ape5-invite__divider {
        width: 100%;
        height: 20px;
        margin: 25px 0 19px;
        display: block;
        overflow: visible;
        color: rgba(var(--ape5-blue-rgb), 0.78);
      }

      .ape5-invite__divider path {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.35;
        stroke-linecap: round;
      }

      .ape5-invite__events {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }

      .ape5-mini {
        min-width: 0;
        min-height: 116px;
        padding: 15px 14px 14px;
        border: 1px solid rgba(23, 55, 70, 0.13);
        border-radius: 16px 13px 17px 12px;
        background: rgba(255, 255, 255, 0.72);
        transition:
          transform 0.3s ease,
          border-color 0.3s ease,
          background 0.3s ease;
      }

      .ape5-mini:nth-child(2) {
        transform: rotate(1.2deg);
      }

      .ape5-mini:nth-child(3) {
        transform: rotate(-1deg);
      }

      .ape5-mini:hover {
        transform: translateY(-4px) rotate(0deg);
        border-color: rgba(var(--ape5-blue-rgb), 0.6);
        background: var(--ape5-white);
      }

      .ape5-mini__top {
        display: flex;
        align-items: center;
        gap: 9px;
      }

      .ape5-mini__icon {
        width: 31px;
        height: 31px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        border: 1px solid rgba(var(--ape5-blue-rgb), 0.53);
        border-radius: 50% 46% 52% 44%;
        color: var(--ape5-blue-dark);
      }

      .ape5-mini__icon svg {
        width: 17px;
        height: 17px;
        overflow: visible;
      }

      .ape5-mini__icon svg path,
      .ape5-mini__icon svg circle,
      .ape5-mini__icon svg line,
      .ape5-mini__icon svg polyline {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.45;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      .ape5-mini__title {
        margin: 0;
        color: var(--ape5-ink);
        font-family: "Cormorant Garamond", serif;
        font-size: 19px;
        font-weight: 600;
        line-height: 1;
      }

      .ape5-mini__text {
        margin: 10px 0 0;
        color: rgba(23, 55, 70, 0.56);
        font-size: 9px;
        line-height: 1.55;
      }

      .ape5-invite__note {
        margin: 21px 0 0;
        display: flex;
        align-items: flex-start;
        gap: 10px;
        color: rgba(23, 55, 70, 0.54);
        font-size: 9px;
        line-height: 1.6;
      }

      .ape5-invite__note svg {
        width: 17px;
        height: 17px;
        flex: 0 0 17px;
        color: var(--ape5-blue-dark);
      }

      .ape5-invite__note svg path,
      .ape5-invite__note svg circle {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.45;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      /* ACTIONS */

      .ape5-actions {
        position: relative;
        z-index: 2;
        margin-top: 27px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 11px;
      }

      .ape5-actions__primary,
      .ape5-actions__primary:link,
      .ape5-actions__primary:visited,
      .ape5-actions__secondary,
      .ape5-actions__secondary:link,
      .ape5-actions__secondary:visited {
        min-height: 50px;
        padding: 0 19px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 11px;
        border-radius: 999px;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: 0.11em;
        text-transform: uppercase;
        transition:
          transform 0.28s ease,
          background 0.28s ease,
          color 0.28s ease,
          border-color 0.28s ease,
          box-shadow 0.28s ease;
      }

      .ape5-actions__primary,
      .ape5-actions__primary:link,
      .ape5-actions__primary:visited {
        border: 1px solid var(--ape5-ink);
        background: var(--ape5-ink);
        color: var(--ape5-white) !important;
        box-shadow: 0 12px 30px rgba(23, 55, 70, 0.16);
      }

      .ape5-actions__secondary,
      .ape5-actions__secondary:link,
      .ape5-actions__secondary:visited {
        border: 1px solid rgba(23, 55, 70, 0.22);
        background: rgba(255, 255, 255, 0.68);
        color: var(--ape5-ink) !important;
      }

      .ape5-actions__primary:hover {
        transform: translateY(-3px);
        border-color: var(--ape5-blue-dark);
        background: var(--ape5-blue-dark);
        box-shadow: 0 16px 35px rgba(23, 55, 70, 0.21);
      }

      .ape5-actions__secondary:hover {
        transform: translateY(-3px);
        border-color: var(--ape5-blue);
        background: var(--ape5-white);
        color: var(--ape5-blue-dark) !important;
      }

      .ape5-actions svg {
        width: 15px;
        height: 15px;
      }

      .ape5-actions svg path {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      .ape5-actions__primary:focus-visible,
      .ape5-actions__secondary:focus-visible {
        outline: 3px solid var(--ape5-blue);
        outline-offset: 4px;
      }

      /* BOTTOM HAND-DRAWN NOTE */

      .ape5-event__closing {
        position: relative;
        width: max-content;
        max-width: 100%;
        margin: clamp(42px, 5vw, 65px) auto 0;
        color: var(--ape5-blue-dark);
        text-align: center;
        font-family: "Caveat", cursive;
        font-size: clamp(27px, 3vw, 40px);
        font-weight: 600;
        line-height: 1.1;
        transform: rotate(-1deg);
      }

      .ape5-event__closing svg {
        position: absolute;
        top: -5px;
        right: -55px;
        width: 47px;
        height: 47px;
        overflow: visible;
      }

      .ape5-event__closing svg path {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.55;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      @media (max-width: 1100px) {
        .ape5-sketchbook {
          grid-template-columns: minmax(0, 1fr) minmax(370px, 0.86fr);
          gap: 25px;
        }

        .ape5-collage {
          min-height: 620px;
          padding-right: 20px;
          padding-left: 21px;
        }

        .ape5-photo {
          height: 540px;
        }

        .ape5-invite {
          padding: 47px 39px;
        }
      }

      @media (max-width: 920px) {
        .ape5-sketchbook {
          max-width: 760px;
          margin-inline: auto;
          grid-template-columns: 1fr;
          gap: 21px;
        }

        .ape5-collage {
          min-height: 690px;
          padding: 35px 36px 44px;
        }

        .ape5-photo {
          height: 600px;
        }

        .ape5-invite {
          margin-inline: 30px;
          padding: 58px;
          transform: rotate(-0.45deg);
        }
      }

      @media (max-width: 767px) {
        .ape5-event {
          padding: 78px 0;
        }

        .ape5-event__shell {
          width: min(100% - 34px, 1280px);
        }

        .ape5-doodle--sun {
          top: 21px;
          right: -12px;
          width: 79px;
        }

        .ape5-doodle--leaf,
        .ape5-doodle--spark {
          display: none;
        }

        .ape5-event__intro {
          margin-bottom: 41px;
        }

        .ape5-event__eyebrow {
          margin-bottom: 15px;
          font-size: 9px;
        }

        .ape5-event__title {
          font-size: clamp(53px, 15.5vw, 75px);
          line-height: 0.88;
        }

        .ape5-event__description {
          margin-top: 25px;
          font-size: 12px;
          line-height: 1.75;
        }

        .ape5-collage {
          min-height: 0;
          padding: 30px 7px 48px;
        }

        .ape5-collage__wash {
          inset: 62px -7px 12px -8px;
        }

        .ape5-photo {
          height: 485px;
          padding: 9px 9px 54px;
          transform: rotate(-1.4deg);
        }

        .ape5-photo__caption {
          right: 15px;
          bottom: 16px;
          left: 15px;
        }

        .ape5-photo__caption strong {
          font-size: 21px;
        }

        .ape5-photo__caption span {
          font-size: 7px;
        }

        .ape5-collage__note {
          top: -5px;
          right: -4px;
          width: 158px;
        }

        .ape5-collage__note span {
          font-size: 29px;
        }

        .ape5-collage__note svg {
          width: 102px;
          height: 68px;
          margin-left: -57px;
        }

        .ape5-collage__stars {
          right: -9px;
          bottom: 0;
          width: 72px;
        }

        .ape5-tape {
          width: 76px;
          height: 24px;
        }

        .ape5-invite {
          margin-inline: 2px;
          padding: 47px 30px;
        }

        .ape5-invite::before {
          inset: 10px;
        }

        .ape5-invite__script {
          font-size: 29px;
        }

        .ape5-invite__title {
          font-size: clamp(47px, 13vw, 66px);
        }

        .ape5-invite__copy {
          font-size: 10px;
        }

        .ape5-mini {
          min-height: 120px;
        }

        .ape5-event__closing {
          max-width: calc(100% - 40px);
          font-size: 28px;
        }

        .ape5-event__closing svg {
          top: -33px;
          right: -20px;
          width: 39px;
        }
      }

      @media (max-width: 500px) {
        .ape5-photo {
          height: 405px;
        }

        .ape5-photo__image {
          object-position: 54% center;
        }

        .ape5-photo__caption span {
          display: none;
        }

        .ape5-invite {
          padding: 43px 25px;
        }

        .ape5-invite__events {
          grid-template-columns: 1fr;
          gap: 9px;
        }

        .ape5-mini {
          min-height: 0;
        }

        .ape5-actions {
          display: grid;
          grid-template-columns: 1fr;
        }

        .ape5-actions__primary,
        .ape5-actions__secondary {
          width: 100%;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        .ape5-event *,
        .ape5-event *::before,
        .ape5-event *::after {
          scroll-behavior: auto !important;
          transition: none !important;
        }
      }

    /* =========================================================
       BOOTSTRAP LAYOUT BRIDGE
       Bootstrap handles containers, rows, columns and responsive
       stacking. Section-specific CSS preserves the original art.
    ========================================================= */

    :root {
      color-scheme: light;
    }

    html {
      scroll-behavior: smooth;
    }

    body.airplan-page {
      min-width: 320px;
      margin: 0;
      overflow-x: hidden;
      background: #f4f7fc;
      color: #173746;
      font-family: "Manrope", sans-serif;
    }

    body.airplan-page img,
    body.airplan-page svg,
    body.airplan-page video {
      max-width: 100%;
    }

    .airplan-skip-link {
      z-index: 2000;
    }

    .apv2-shell.container-xxl,
    .apu-popular__shell.container-xxl,
    .apn2-nearby__shell.container-xxl,
    .ape5-event__shell.container-xxl {
      width: 100%;
      max-width: 1320px;
      padding-right: 24px;
      padding-left: 24px;
    }

    .ape-experience__shell.container-xl {
      width: 100%;
      max-width: 1280px;
      padding-right: 24px;
      padding-left: 24px;
    }

    .apv2-primary,
    .apv2-primary:link,
    .apv2-primary:visited {
      border: 1px solid var(--apv2-blue);
      background: var(--apv2-blue);
    }

    .apu-popular__intro.row,
    .apu-popular__grid.row,
    .ape-experience__intro.row,
    .ape-experience__collage.row,
    .ape-experience__points.row,
    .apn2-nearby__layout.row,
    .ape5-sketchbook.row {
      display: flex;
      flex-wrap: wrap;
      gap: 0;
    }

    .apu-popular__intro.row,
    .ape-experience__intro.row {
      --bs-gutter-x: clamp(2.5rem, 7vw, 6.25rem);
      --bs-gutter-y: 1.5rem;
    }

    .apu-popular__grid.row {
      --bs-gutter-x: 1.25rem;
      --bs-gutter-y: 1.25rem;
    }

    .apu-popular__grid > [class*="col-"] {
      min-width: 0;
    }

    .apu-card.h-100 {
      width: 100%;
      height: 100% !important;
    }

    .ape-experience__collage.row {
      --bs-gutter-x: clamp(1.5rem, 7vw, 6.5rem);
      --bs-gutter-y: 0;
    }

    .ape-experience__points.row {
      --bs-gutter-x: 0;
      --bs-gutter-y: 0;
    }

    .apn2-nearby__layout.row {
      --bs-gutter-x: clamp(3rem, 7vw, 6.75rem);
      --bs-gutter-y: 3rem;
    }

    .ape5-sketchbook.row {
      --bs-gutter-x: clamp(1.75rem, 4vw, 3.625rem);
      --bs-gutter-y: 1.5rem;
    }

    @media (max-width: 991.98px) {
      .ape5-sketchbook.row {
        max-width: 760px;
        margin-right: auto;
        margin-left: auto;
      }
    }

    @media (max-width: 767.98px) {
      .apv2-shell.container-xxl,
      .apu-popular__shell.container-xxl,
      .apn2-nearby__shell.container-xxl,
      .ape5-event__shell.container-xxl,
      .ape-experience__shell.container-xl {
        padding-right: 17px;
        padding-left: 17px;
      }

      .apu-popular__intro.row,
      .ape-experience__intro.row,
      .apn2-nearby__layout.row,
      .ape-experience__collage.row {
        --bs-gutter-x: 0;
      }
    }
