﻿.ap-contact-page,
    .ap-contact-page *{
      box-sizing:border-box;
    }

    .ap-contact-page{
      --ap-sky:#74a5c3;
      --ap-sky-dark:#5f91b0;
      --ap-sky-light:#b9d7e8;
      --ap-navy:#12344a;
      --ap-navy-deep:#092c42;
      --ap-mist:#edf6fa;
      --ap-line:#d7e7ef;
      --ap-white:#ffffff;
      --ap-text:#5c6f7b;
      width:100%;
      overflow:hidden;
      color:var(--ap-navy);
      background:var(--ap-white);
      font-family:"DM Sans",Arial,sans-serif;
    }

    /* The same class is used on body and main. Never lock the document's
       vertical overflow; section-level rules still clip their artwork. */
    body.ap-contact-page {
      overflow-x: hidden;
      overflow-y: auto;
    }

    main.ap-contact-page {
      overflow-x: hidden;
      overflow-y: visible;
    }

    .ap-contact-page a{
      text-decoration:none;
    }

    /* Full-screen cover */
    .ap-contact-cover{
      position:relative;
      isolation:isolate;
      display:flex;
      width:100%;
      min-height:680px;
      min-height:100vh;
      min-height:100svh;
      align-items:flex-end;
      overflow:hidden;
      background-color:var(--ap-navy-deep);
      background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2400&q=88");
      background-position:center 56%;
      background-repeat:no-repeat;
      background-size:cover;
    }

    .ap-contact-cover::before{
      content:"";
      position:absolute;
      z-index:0;
      inset:0;
      background:
        linear-gradient(90deg,rgba(4,25,39,.72) 0%,rgba(4,25,39,.30) 46%,rgba(4,25,39,.06) 77%),
        linear-gradient(180deg,rgba(4,25,39,.14) 0%,rgba(4,25,39,.02) 42%,rgba(4,25,39,.68) 100%),
        radial-gradient(circle at 12% 82%,rgba(116,165,195,.25),transparent 34%);
      pointer-events:none;
    }

.ap-contact-cover::after{
      content:"";
      position:absolute;
      z-index:1;
      inset:clamp(112px,11vh,128px) clamp(16px,2vw,30px) clamp(16px,2vw,30px);
      border:1px solid rgba(255,255,255,.34);
      border-radius:2px;
      pointer-events:none;
    }

    .apcc-shell{
      position:relative;
      z-index:2;
      padding:clamp(120px,17vh,190px) clamp(38px,7vw,112px) clamp(74px,11vh,112px);
    }

    .apcc-copy{
      position:relative;
      max-width:880px;
    }

    .apcc-kicker{
      display:flex;
      align-items:center;
      gap:14px;
      margin:0 0 clamp(18px,2.2vw,28px);
      color:rgba(255,255,255,.90);
      font-family:"Inter",Arial,sans-serif;
      font-size:12px;
      font-weight:600;
      letter-spacing:.24em;
      line-height:1.2;
      text-transform:uppercase;
    }

    .apcc-kicker::before{
      content:"";
      width:46px;
      height:2px;
      flex:0 0 auto;
      border-radius:999px;
      background:var(--ap-sky-light);
    }

    .apcc-title{
      margin:0;
      color:var(--ap-white);
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(58px,7.4vw,112px);
      font-weight:600;
      letter-spacing:-.055em;
      line-height:.84;
      text-shadow:0 8px 36px rgba(3,21,33,.24);
    }

    .apcc-title-main,
    .apcc-title-accent{
      display:block;
    }

    .apcc-title-accent{
      position:relative;
      width:max-content;
      max-width:100%;
      margin:clamp(18px,2.4vw,35px) 0 0 clamp(62px,9vw,138px);
      color:var(--ap-sky-light);
      font-style:italic;
      letter-spacing:-.045em;
    }

    .apcc-title-accent svg{
      position:absolute;
      right:-10%;
      bottom:-24%;
      width:116%;
      height:auto;
      overflow:visible;
      pointer-events:none;
    }

    .apcc-title-accent path{
      fill:none;
      stroke:rgba(255,255,255,.82);
      stroke-width:2;
      stroke-linecap:round;
    }

    .apcc-side-mark{
      position:absolute;
      z-index:2;
      right:clamp(40px,4vw,70px);
      bottom:clamp(72px,10vh,108px);
      display:flex;
      align-items:center;
      gap:15px;
      color:rgba(255,255,255,.78);
      font-family:"Inter",Arial,sans-serif;
      font-size:10px;
      font-weight:500;
      letter-spacing:.22em;
      text-transform:uppercase;
      writing-mode:vertical-rl;
      transform:rotate(180deg);
    }

    .apcc-side-mark::before{
      content:"";
      width:1px;
      height:62px;
      background:linear-gradient(to bottom,rgba(255,255,255,.16),var(--ap-sky-light));
    }

    .apcc-orbit{
      position:absolute;
      z-index:1;
      top:clamp(86px,13vh,150px);
      right:clamp(42px,7vw,118px);
      width:clamp(100px,10vw,158px);
      aspect-ratio:1;
      border:1px solid rgba(255,255,255,.38);
      border-radius:50%;
      pointer-events:none;
    }

    .apcc-orbit::before,
    .apcc-orbit::after{
      content:"";
      position:absolute;
      border-radius:50%;
    }

    .apcc-orbit::before{
      inset:11%;
      border:1px dashed rgba(185,215,232,.52);
      transform:rotate(-18deg);
    }

    .apcc-orbit::after{
      top:-5px;
      right:22%;
      width:10px;
      height:10px;
      background:var(--ap-sky-light);
      box-shadow:0 0 0 5px rgba(185,215,232,.14);
    }

    /* Enquiry section */
    .ap-contact-hero{
      position:relative;
      width:100%;
      overflow:hidden;
      background:var(--ap-mist);
    }

    .ap-contact-top{
      position:relative;
      min-height:510px;
      padding:165px 24px 158px;
      overflow:hidden;
      background:
        radial-gradient(circle at 90% 18%,rgba(255,255,255,.25) 0 2px,transparent 3px),
        radial-gradient(circle at 83% 31%,rgba(255,255,255,.19) 0 3px,transparent 4px),
        linear-gradient(135deg,var(--ap-sky) 0%,#83b2ce 58%,var(--ap-sky-dark) 100%);
    }

    .ap-contact-top::before{
      content:"";
      position:absolute;
      width:420px;
      height:420px;
      right:-140px;
      bottom:-285px;
      border:1px solid rgba(255,255,255,.28);
      border-radius:50%;
      box-shadow:
        0 0 0 40px rgba(255,255,255,.05),
        0 0 0 82px rgba(255,255,255,.04);
      pointer-events:none;
    }

    .ap-contact-top::after{
      content:"CONTACT";
      position:absolute;
      right:-16px;
      bottom:-32px;
      color:rgba(255,255,255,.075);
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(95px,14vw,210px);
      font-weight:700;
      line-height:.8;
      letter-spacing:-.07em;
      pointer-events:none;
      white-space:nowrap;
    }

    .ap-contact-container{
      position:relative;
      z-index:2;
    }

    .ap-contact-heading{
      align-items:end;
      --bs-gutter-x:clamp(32px,5vw,70px);
      --bs-gutter-y:28px;
    }

    .ap-contact-eyebrow,
    .ap-contact-faq-eyebrow,
    .ap-contact-close-eyebrow{
      display:flex;
      align-items:center;
      gap:12px;
      font-size:11px;
      font-weight:700;
      letter-spacing:.19em;
      line-height:1.4;
      text-transform:uppercase;
    }

    .ap-contact-eyebrow{
      margin:0 0 18px;
      color:var(--ap-white);
      font-size:12px;
      letter-spacing:.2em;
    }

    .ap-contact-eyebrow::before,
    .ap-contact-faq-eyebrow::before,
    .ap-contact-close-eyebrow::before{
      content:"";
      flex:0 0 42px;
      width:42px;
      height:1px;
    }

    .ap-contact-eyebrow::before{
      background:rgba(255,255,255,.78);
    }

    .ap-contact-title{
      max-width:760px;
      margin:0;
      color:var(--ap-white);
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(52px,6.6vw,92px);
      font-weight:600;
      letter-spacing:-.045em;
      line-height:.96;
    }

    .ap-contact-title em{
      font-weight:600;
    }

    .ap-contact-intro{
      margin:0 0 8px;
      padding:0 0 4px 25px;
      border-left:1px solid rgba(255,255,255,.52);
      color:rgba(255,255,255,.94);
      font-size:16px;
      line-height:1.8;
    }

    .ap-contact-content{
      position:relative;
      z-index:5;
      padding:0 24px 110px;
    }

    .ap-contact-deck{
      min-height:690px;
      margin-top:-105px;
      overflow:hidden;
      border:1px solid rgba(18,52,74,.08);
      border-radius:30px;
      background:var(--ap-white);
      box-shadow:0 34px 90px rgba(24,70,96,.16);
    }

    .ap-contact-visual{
      position:relative;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      min-height:690px;
      padding:38px;
      overflow:hidden;
      isolation:isolate;
      background-color:var(--ap-navy);
      background-image:
        linear-gradient(180deg,rgba(10,40,59,.05) 10%,rgba(10,40,59,.84) 100%),
        url("YOUR_CONTACT_IMAGE_URL"),
        linear-gradient(140deg,#75a8c7 0%,#315e79 100%);
      background-position:center;
      background-repeat:no-repeat;
      background-size:cover;
    }

    .ap-contact-visual::before{
      content:"";
      position:absolute;
      z-index:-1;
      top:28px;
      left:28px;
      width:84px;
      height:84px;
      border-top:1px solid rgba(255,255,255,.78);
      border-left:1px solid rgba(255,255,255,.78);
      border-radius:18px 0 0;
    }

    .ap-contact-photo-label,
    .ap-contact-faq-photo-tag,
    .ap-contact-close-photo-label{
      display:inline-flex;
      align-items:center;
      border:1px solid rgba(255,255,255,.42);
      border-radius:999px;
      color:var(--ap-white);
      background:rgba(10,40,59,.25);
      backdrop-filter:blur(9px);
      -webkit-backdrop-filter:blur(9px);
      font-size:9px;
      font-weight:700;
      letter-spacing:.14em;
      line-height:1.3;
      text-transform:uppercase;
    }

    .ap-contact-photo-label{
      align-self:flex-start;
      margin:0 0 auto;
      padding:9px 13px;
      font-size:10px;
    }

    .ap-contact-visual-copy{
      max-width:390px;
    }

    .ap-contact-visual-copy h3{
      margin:0 0 15px;
      color:var(--ap-white);
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(32px,3vw,46px);
      font-weight:600;
      letter-spacing:-.035em;
      line-height:1.08;
    }

    .ap-contact-visual-copy > p{
      margin:0 0 28px;
      color:rgba(255,255,255,.84);
      font-size:14px;
      line-height:1.75;
    }

    .ap-contact-methods{
      display:grid;
      gap:11px;
    }

    .ap-contact-method{
      display:grid;
      grid-template-columns:42px minmax(0,1fr) 18px;
      gap:12px;
      align-items:center;
      min-height:68px;
      padding:12px 14px;
      border:1px solid rgba(255,255,255,.2);
      border-radius:16px;
      color:var(--ap-white);
      background:rgba(255,255,255,.1);
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
      transition:transform .25s ease,background .25s ease,border-color .25s ease;
    }

    .ap-contact-method:hover{
      transform:translateY(-2px);
      border-color:rgba(255,255,255,.38);
      color:var(--ap-white);
      background:rgba(255,255,255,.16);
    }

    .ap-contact-method:focus-visible,
    .ap-contact-faq-whatsapp:focus-visible{
      outline:3px solid rgba(255,255,255,.75);
      outline-offset:3px;
    }

    .ap-contact-method-icon{
      display:grid;
      width:42px;
      height:42px;
      place-items:center;
      border-radius:50%;
      color:var(--ap-navy-deep);
      background:var(--ap-white);
    }

    .ap-contact-method-icon svg{
      width:19px;
      height:19px;
      fill:none;
      stroke:currentColor;
      stroke-width:1.8;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .ap-contact-method-text{
      min-width:0;
    }

    .ap-contact-method-text small,
    .ap-contact-method-text strong{
      display:block;
      color:var(--ap-white);
    }

    .ap-contact-method-text small{
      margin-bottom:2px;
      opacity:.68;
      font-size:10px;
      font-weight:600;
      letter-spacing:.11em;
      line-height:1.3;
      text-transform:uppercase;
    }

    .ap-contact-method-text strong{
      overflow:hidden;
      font-size:13px;
      font-weight:600;
      line-height:1.4;
      text-overflow:ellipsis;
      white-space:nowrap;
    }

    .ap-contact-method-arrow{
      color:var(--ap-white);
      font-size:18px;
      line-height:1;
    }

    .ap-contact-form-wrap{
      position:relative;
      padding:64px clamp(38px,5vw,76px) 54px;
      background:var(--ap-white);
    }

    .ap-contact-form-wrap::after{
      content:"";
      position:absolute;
      top:34px;
      right:36px;
      width:54px;
      height:54px;
      border:1px solid var(--ap-line);
      border-radius:50%;
      box-shadow:0 0 0 8px rgba(116,165,195,.07);
      pointer-events:none;
    }

    .ap-contact-kicker{
      display:block;
      margin:0 0 12px;
      color:var(--ap-sky-dark);
      font-size:11px;
      font-weight:700;
      letter-spacing:.18em;
      line-height:1.4;
      text-transform:uppercase;
    }

    .ap-contact-form-title{
      max-width:540px;
      margin:0 0 12px;
      color:var(--ap-navy);
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(38px,4vw,55px);
      font-weight:600;
      letter-spacing:-.04em;
      line-height:1.05;
    }

    .ap-contact-form-desc{
      max-width:570px;
      margin:0 0 34px;
      color:var(--ap-text);
      font-size:14px;
      line-height:1.75;
    }

    .ap-contact-field label{
      display:block;
      margin:0 0 8px;
      color:var(--ap-navy);
      font-size:11px;
      font-weight:700;
      letter-spacing:.06em;
      line-height:1.4;
      text-transform:uppercase;
    }

    .ap-contact-field .form-control,
    .ap-contact-field .form-select{
      width:100%;
      margin:0;
      border:1px solid var(--ap-line);
      border-radius:12px;
      color:var(--ap-navy);
      background-color:#f8fbfc;
      box-shadow:none;
      font:500 14px/1.5 "DM Sans",Arial,sans-serif;
      transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
    }

    .ap-contact-field .form-control:not(textarea),
    .ap-contact-field .form-select{
      min-height:53px;
    }

    .ap-contact-field textarea.form-control{
      min-height:126px;
      padding:15px;
      resize:vertical;
    }

    .ap-contact-field .form-control::placeholder{
      color:#91a4af;
      opacity:1;
    }

    .ap-contact-field .form-control:focus,
    .ap-contact-field .form-select:focus{
      border-color:var(--ap-sky);
      background-color:var(--ap-white);
      box-shadow:0 0 0 4px rgba(116,165,195,.14);
    }

    .ap-contact-submit-row{
      display:flex;
      gap:18px;
      align-items:center;
      justify-content:space-between;
      margin-top:2px;
    }

    .ap-contact-note{
      max-width:300px;
      margin:0;
      color:#7a8d98;
      font-size:11px;
      line-height:1.55;
    }

    .ap-contact-submit{
      display:inline-flex;
      flex:0 0 auto;
      min-height:54px;
      align-items:center;
      justify-content:center;
      gap:18px;
      padding:0 25px;
      border:1px solid var(--ap-navy);
      border-radius:999px;
      color:var(--ap-white);
      background:var(--ap-navy);
      box-shadow:none;
      font:700 12px/1 "DM Sans",Arial,sans-serif;
      letter-spacing:.08em;
      text-transform:uppercase;
      transition:transform .25s ease,background .25s ease,border-color .25s ease;
    }

    .ap-contact-submit:hover{
      transform:translateY(-2px);
      border-color:var(--ap-sky-dark);
      color:var(--ap-white);
      background:var(--ap-sky-dark);
    }

    .ap-contact-submit:focus-visible{
      outline:3px solid rgba(116,165,195,.45);
      outline-offset:3px;
    }

    .ap-contact-submit-arrow{
      display:grid;
      width:27px;
      height:27px;
      place-items:center;
      border-radius:50%;
      color:var(--ap-navy);
      background:var(--ap-white);
      font-size:16px;
      line-height:1;
    }

    .ap-contact-service-line{
      display:flex;
      margin-top:28px;
      gap:18px 34px;
      align-items:center;
      justify-content:center;
      color:#66808e;
      font-size:11px;
      font-weight:600;
      letter-spacing:.08em;
      line-height:1.5;
      text-align:center;
      text-transform:uppercase;
    }

    .ap-contact-service-line span{
      display:inline-flex;
      align-items:center;
      gap:9px;
    }

    .ap-contact-service-line span::before{
      content:"";
      width:5px;
      height:5px;
      border-radius:50%;
      background:var(--ap-sky);
    }

    /* FAQ and support */
    .ap-contact-faq{
      position:relative;
      width:100%;
      padding:112px 24px 118px;
      overflow:hidden;
      background:
        linear-gradient(180deg,var(--ap-white) 0%,var(--ap-white) 47%,var(--ap-mist) 47%,var(--ap-mist) 100%);
    }

    .ap-contact-faq::before{
      content:"";
      position:absolute;
      top:86px;
      right:-135px;
      width:315px;
      height:315px;
      border:1px solid rgba(116,165,195,.22);
      border-radius:50%;
      box-shadow:
        0 0 0 34px rgba(116,165,195,.055),
        0 0 0 72px rgba(116,165,195,.035);
      pointer-events:none;
    }

    .ap-contact-faq::after{
      content:"?";
      position:absolute;
      left:-14px;
      bottom:-80px;
      color:rgba(116,165,195,.075);
      font-family:"Playfair Display",Georgia,serif;
      font-size:290px;
      font-weight:700;
      line-height:1;
      pointer-events:none;
    }

    .ap-contact-faq-container{
      position:relative;
      z-index:2;
    }

    .ap-contact-faq-head{
      align-items:end;
      margin-bottom:54px;
      --bs-gutter-x:clamp(32px,5vw,70px);
      --bs-gutter-y:25px;
    }

    .ap-contact-faq-eyebrow{
      margin:0 0 15px;
      color:var(--ap-sky-dark);
    }

    .ap-contact-faq-eyebrow::before{
      flex-basis:38px;
      width:38px;
      background:var(--ap-sky);
    }

    .ap-contact-faq-title{
      max-width:760px;
      margin:0;
      color:var(--ap-navy);
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(46px,5.4vw,74px);
      font-weight:600;
      letter-spacing:-.045em;
      line-height:1.02;
    }

    .ap-contact-faq-title em{
      color:var(--ap-sky-dark);
      font-weight:600;
    }

    .ap-contact-faq-intro{
      margin:0 0 5px;
      padding-left:24px;
      border-left:1px solid var(--ap-line);
      color:var(--ap-text);
      font-size:15px;
      line-height:1.78;
    }

    .ap-contact-faq-grid{
      --bs-gutter-x:30px;
      --bs-gutter-y:30px;
    }

    .ap-contact-faq-support{
      position:relative;
      display:flex;
      min-height:590px;
      flex-direction:column;
      justify-content:space-between;
      padding:32px;
      overflow:hidden;
      isolation:isolate;
      border-radius:28px;
      background-color:var(--ap-navy);
      background-image:
        linear-gradient(180deg,rgba(10,40,59,.12) 0%,rgba(10,40,59,.24) 42%,rgba(10,40,59,.92) 100%),
        url("YOUR_FAQ_IMAGE_URL"),
        linear-gradient(145deg,#86b6d1 0%,#214d68 100%);
      background-position:center;
      background-repeat:no-repeat;
      background-size:cover;
      box-shadow:0 28px 70px rgba(18,52,74,.17);
    }

    .ap-contact-faq-support::before{
      content:"";
      position:absolute;
      z-index:-1;
      top:22px;
      right:22px;
      width:78px;
      height:78px;
      border-top:1px solid rgba(255,255,255,.64);
      border-right:1px solid rgba(255,255,255,.64);
      border-radius:0 18px 0 0;
    }

    .ap-contact-faq-support-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:20px;
    }

    .ap-contact-faq-photo-tag{
      min-height:35px;
      padding:7px 13px;
    }

    .ap-contact-faq-support-number{
      margin:0;
      color:var(--ap-white);
      font-family:"Playfair Display",Georgia,serif;
      font-size:54px;
      font-weight:600;
      letter-spacing:-.05em;
      line-height:.92;
      text-align:right;
      text-shadow:0 5px 22px rgba(0,0,0,.18);
    }

    .ap-contact-faq-support-number small{
      display:block;
      margin-top:7px;
      color:rgba(255,255,255,.75);
      font-family:"DM Sans",Arial,sans-serif;
      font-size:9px;
      font-weight:700;
      letter-spacing:.17em;
      line-height:1.3;
      text-transform:uppercase;
    }

    .ap-contact-faq-support-copy{
      max-width:400px;
    }

    .ap-contact-faq-support-copy h3{
      margin:0 0 12px;
      color:var(--ap-white);
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(32px,3.2vw,45px);
      font-weight:600;
      letter-spacing:-.035em;
      line-height:1.06;
    }

    .ap-contact-faq-support-copy p{
      margin:0 0 23px;
      color:rgba(255,255,255,.82);
      font-size:13px;
      line-height:1.72;
    }

    .ap-contact-faq-whatsapp{
      display:inline-flex;
      min-height:52px;
      align-items:center;
      justify-content:center;
      gap:17px;
      padding:0 20px;
      border:1px solid var(--ap-white);
      border-radius:999px;
      color:var(--ap-navy-deep);
      background:var(--ap-white);
      font-size:11px;
      font-weight:700;
      letter-spacing:.08em;
      line-height:1;
      text-transform:uppercase;
      transition:transform .25s ease,background .25s ease;
    }

    .ap-contact-faq-whatsapp:hover{
      transform:translateY(-2px);
      color:var(--ap-navy-deep);
      background:#eef7fb;
    }

    .ap-contact-faq-whatsapp-icon{
      display:grid;
      width:28px;
      height:28px;
      place-items:center;
      border-radius:50%;
      color:var(--ap-white);
      background:var(--ap-sky-dark);
    }

    .ap-contact-faq-whatsapp-icon svg{
      width:15px;
      height:15px;
      fill:none;
      stroke:currentColor;
      stroke-width:1.8;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .ap-contact-faq-panel{
      height:100%;
      padding:14px 42px;
      border:1px solid rgba(18,52,74,.08);
      border-radius:28px;
      background:var(--ap-white);
      box-shadow:0 28px 70px rgba(18,52,74,.1);
    }

    .ap-contact-faq-panel .accordion-item{
      margin:0;
      border:0;
      border-bottom:1px solid var(--ap-line);
      border-radius:0;
      background:transparent;
    }

    .ap-contact-faq-panel .accordion-item:last-child{
      border-bottom:0;
    }

    .ap-contact-faq-question{
      display:grid;
      grid-template-columns:42px minmax(0,1fr) 38px;
      gap:15px;
      align-items:center;
      min-height:102px;
      padding:20px 0;
      border:0;
      color:var(--ap-navy);
      background:transparent;
      box-shadow:none;
    }

    .ap-contact-faq-question:not(.collapsed){
      color:var(--ap-navy);
      background:transparent;
      box-shadow:none;
    }

    .ap-contact-faq-question::after{
      display:none;
    }

    .ap-contact-faq-question:focus{
      z-index:1;
      border-color:transparent;
      box-shadow:none;
    }

    .ap-contact-faq-question:focus-visible{
      outline:3px solid rgba(116,165,195,.35);
      outline-offset:3px;
      border-radius:8px;
    }

    .ap-contact-faq-index{
      color:var(--ap-sky-dark);
      font-size:10px;
      font-weight:700;
      letter-spacing:.1em;
      line-height:1;
    }

    .ap-contact-faq-question-text{
      color:var(--ap-navy);
      font-family:"Playfair Display",Georgia,serif;
      font-size:22px;
      font-weight:600;
      letter-spacing:-.02em;
      line-height:1.28;
      text-align:left;
    }

    .ap-contact-faq-toggle{
      position:relative;
      display:block;
      width:38px;
      height:38px;
      border:1px solid var(--ap-line);
      border-radius:50%;
      background:var(--ap-mist);
      transition:transform .25s ease,background .25s ease,border-color .25s ease;
    }

    .ap-contact-faq-toggle::before,
    .ap-contact-faq-toggle::after{
      content:"";
      position:absolute;
      top:50%;
      left:50%;
      width:12px;
      height:1px;
      background:var(--ap-navy);
      transform:translate(-50%,-50%);
      transition:transform .25s ease,opacity .25s ease;
    }

    .ap-contact-faq-toggle::after{
      transform:translate(-50%,-50%) rotate(90deg);
    }

    .ap-contact-faq-question[aria-expanded="true"] .ap-contact-faq-toggle{
      border-color:var(--ap-sky);
      background:var(--ap-sky);
      transform:rotate(180deg);
    }

    .ap-contact-faq-question[aria-expanded="true"] .ap-contact-faq-toggle::before,
    .ap-contact-faq-question[aria-expanded="true"] .ap-contact-faq-toggle::after{
      background:var(--ap-white);
    }

    .ap-contact-faq-question[aria-expanded="true"] .ap-contact-faq-toggle::after{
      opacity:0;
    }

    .ap-contact-faq-answer{
      padding:0 50px 27px 57px;
    }

    .ap-contact-faq-answer p{
      max-width:630px;
      margin:0;
      color:var(--ap-text);
      font-size:14px;
      line-height:1.75;
    }

    /* Final CTA */
    .ap-contact-close{
      position:relative;
      width:100%;
      padding:112px 24px;
      overflow:hidden;
      color:var(--ap-white);
      background:var(--ap-mist);
    }

    .ap-contact-close::before{
      content:"";
      position:absolute;
      top:-145px;
      left:-120px;
      width:340px;
      height:340px;
      border:1px solid rgba(116,165,195,.22);
      border-radius:50%;
      box-shadow:
        0 0 0 38px rgba(116,165,195,.06),
        0 0 0 82px rgba(116,165,195,.035);
      pointer-events:none;
    }

    .ap-contact-close::after{
      content:"";
      position:absolute;
      right:-70px;
      bottom:-90px;
      width:230px;
      height:230px;
      background:radial-gradient(circle,rgba(116,165,195,.2) 0 2px,transparent 2.5px);
      background-size:18px 18px;
      opacity:.65;
      pointer-events:none;
    }

    .ap-contact-close-container{
      position:relative;
      z-index:2;
    }

    .ap-contact-close-card{
      min-height:620px;
      overflow:hidden;
      border-radius:34px;
      background:var(--ap-navy);
      box-shadow:0 34px 90px rgba(18,52,74,.2);
    }

    .ap-contact-close-content{
      position:relative;
      z-index:3;
      display:flex;
      min-height:620px;
      flex-direction:column;
      justify-content:center;
      padding:72px clamp(42px,6vw,86px);
      overflow:hidden;
      background:
        radial-gradient(circle at 8% 6%,rgba(116,165,195,.19) 0%,transparent 30%),
        linear-gradient(145deg,var(--ap-navy) 0%,var(--ap-navy-deep) 100%);
    }

    .ap-contact-close-content::before{
      content:"CONTACT";
      position:absolute;
      left:-12px;
      bottom:-36px;
      color:rgba(255,255,255,.035);
      font-family:"Playfair Display",Georgia,serif;
      font-size:132px;
      font-weight:700;
      letter-spacing:-.07em;
      line-height:.8;
      pointer-events:none;
      white-space:nowrap;
    }

    .ap-contact-close-eyebrow{
      position:relative;
      margin:0 0 20px;
      color:var(--ap-sky-light);
      letter-spacing:.2em;
    }

    .ap-contact-close-eyebrow::before{
      background:var(--ap-sky-light);
    }

    .ap-contact-close-title{
      position:relative;
      max-width:610px;
      margin:0;
      color:var(--ap-white);
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(50px,5.5vw,78px);
      font-weight:600;
      letter-spacing:-.047em;
      line-height:.98;
    }

    .ap-contact-close-title em{
      position:relative;
      display:inline-block;
      padding-bottom:.08em;
      color:var(--ap-sky-light);
      font-weight:600;
    }

    .ap-contact-close-title-underline{
      position:absolute;
      left:-2%;
      bottom:-.06em;
      width:104%;
      height:.2em;
      overflow:visible;
      color:var(--ap-sky-light);
      pointer-events:none;
    }

    .ap-contact-close-title-underline path{
      fill:none;
      stroke:currentColor;
      stroke-width:3;
      stroke-linecap:round;
    }

    .ap-contact-close-doodle{
      position:absolute;
      z-index:2;
      display:block;
      color:var(--ap-sky-light);
      pointer-events:none;
    }

    .ap-contact-close-doodle svg{
      display:block;
      width:100%;
      height:100%;
      overflow:visible;
      fill:none;
      stroke:currentColor;
      stroke-width:1.8;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .ap-contact-close-doodle-sparkles{
      top:45px;
      right:48px;
      width:88px;
      height:76px;
      opacity:.62;
      transform:rotate(5deg);
    }

    .ap-contact-close-text{
      position:relative;
      max-width:555px;
      margin:25px 0 0;
      color:rgba(255,255,255,.74);
      font-size:15px;
      line-height:1.8;
    }

    .ap-contact-close-actions{
      position:relative;
      display:flex;
      flex-wrap:wrap;
      gap:13px;
      margin-top:34px;
    }

    .ap-contact-close-button{
      display:inline-flex;
      min-height:56px;
      align-items:center;
      justify-content:center;
      gap:17px;
      padding:0 22px;
      border:1px solid transparent;
      border-radius:999px;
      font-size:11px;
      font-weight:700;
      letter-spacing:.075em;
      line-height:1;
      text-transform:uppercase;
      transition:transform .25s ease,background-color .25s ease,border-color .25s ease;
    }

    .ap-contact-close-button-primary{
      color:var(--ap-navy-deep);
      background:var(--ap-white);
    }

    .ap-contact-close-button-secondary{
      border-color:rgba(255,255,255,.46);
      color:var(--ap-white);
      background:transparent;
    }

    .ap-contact-close-button:hover{
      transform:translateY(-3px);
    }

    .ap-contact-close-button-primary:hover{
      color:var(--ap-navy-deep);
      background:var(--ap-sky-light);
    }

    .ap-contact-close-button-secondary:hover{
      border-color:var(--ap-white);
      color:var(--ap-white);
      background:rgba(255,255,255,.08);
    }

    .ap-contact-close-button:focus-visible{
      outline:3px solid rgba(169,202,220,.72);
      outline-offset:4px;
    }

    .ap-contact-close-button-icon{
      display:inline-flex;
      width:28px;
      height:28px;
      flex:0 0 28px;
      align-items:center;
      justify-content:center;
      border-radius:50%;
    }

    .ap-contact-close-button-primary .ap-contact-close-button-icon{
      color:var(--ap-white);
      background:var(--ap-navy);
    }

    .ap-contact-close-button-secondary .ap-contact-close-button-icon{
      color:var(--ap-navy-deep);
      background:var(--ap-white);
    }

    .ap-contact-close-button-icon svg{
      width:13px;
      height:13px;
      fill:none;
      stroke:currentColor;
      stroke-width:1.8;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .ap-contact-close-info{
      position:relative;
      display:flex;
      flex-wrap:wrap;
      gap:12px 24px;
      margin:39px 0 0;
      padding:23px 0 0;
      border-top:1px solid rgba(255,255,255,.18);
    }

    .ap-contact-close-info-item{
      display:flex;
      align-items:center;
      gap:9px;
      color:rgba(255,255,255,.7);
      font-size:11px;
      font-weight:600;
      letter-spacing:.055em;
      line-height:1.4;
      text-transform:uppercase;
    }

    .ap-contact-close-info-item::before{
      content:"";
      width:6px;
      height:6px;
      flex:0 0 6px;
      border-radius:50%;
      background:var(--ap-sky-light);
      box-shadow:0 0 0 4px rgba(169,202,220,.1);
    }

    .ap-contact-close-visual{
      position:relative;
      min-height:620px;
      overflow:hidden;
      isolation:isolate;
      background-color:var(--ap-sky);
      background-image:
        linear-gradient(180deg,rgba(10,40,59,.04) 10%,rgba(10,40,59,.52) 100%),
        url("YOUR_CONTACT_CTA_IMAGE_URL"),
        linear-gradient(145deg,#9fc6da 0%,#3e7697 100%);
      background-position:center;
      background-repeat:no-repeat;
      background-size:cover;
    }

    .ap-contact-close-visual::before{
      content:"";
      position:absolute;
      z-index:-1;
      inset:24px;
      border:1px solid rgba(255,255,255,.42);
      border-radius:22px;
      pointer-events:none;
    }

    .ap-contact-close-visual::after{
      content:"";
      position:absolute;
      top:0;
      left:-1px;
      width:44px;
      height:100%;
      background:linear-gradient(90deg,rgba(10,40,59,.2),transparent);
      pointer-events:none;
    }

    .ap-contact-close-photo-label{
      position:absolute;
      top:44px;
      left:44px;
      min-height:35px;
      padding:7px 13px;
    }

    .ap-contact-close-photo-note{
      position:absolute;
      right:44px;
      bottom:43px;
      max-width:285px;
      margin:0;
      color:var(--ap-white);
      font-family:"Playfair Display",Georgia,serif;
      font-size:29px;
      font-style:italic;
      font-weight:600;
      line-height:1.16;
      text-align:right;
      text-shadow:0 5px 24px rgba(0,0,0,.27);
    }

    .ap-contact-close-doodle-sun{
      top:42px;
      right:43px;
      width:86px;
      height:86px;
      color:rgba(255,255,255,.82);
    }

    .ap-contact-close-doodle-waves{
      left:43px;
      bottom:39px;
      width:148px;
      height:48px;
      color:rgba(255,255,255,.88);
    }

    .ap-contact-close-destinations{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:18px;
      margin-top:28px;
      color:var(--ap-navy);
      font-size:10px;
      font-weight:700;
      letter-spacing:.13em;
      line-height:1.4;
      text-transform:uppercase;
    }

    @media (max-width:991.98px){
      .apcc-shell{
        padding-right:70px;
        padding-left:54px;
      }

      .apcc-side-mark{
        right:38px;
      }

      .ap-contact-top{
        min-height:470px;
        padding:145px 24px;
      }

      .ap-contact-deck{
        margin-top:-92px;
      }

      .ap-contact-visual{
        min-height:570px;
      }

      .ap-contact-visual-copy{
        max-width:520px;
      }

      .ap-contact-form-wrap{
        padding:58px 48px 52px;
      }

      .ap-contact-faq{
        padding:96px 22px 100px;
      }

      .ap-contact-faq-head{
        margin-bottom:44px;
      }

      .ap-contact-faq-intro{
        max-width:650px;
      }

      .ap-contact-faq-support{
        min-height:515px;
        background-position:center 56%;
      }

      .ap-contact-faq-panel{
        padding-right:34px;
        padding-left:34px;
      }

      .ap-contact-close{
        padding:88px 24px;
      }

      .ap-contact-close-content{
        min-height:0;
        padding:64px 58px;
      }

      .ap-contact-close-visual{
        min-height:440px;
      }
    }

    @media (max-width:767.98px){
      .ap-contact-cover{
        min-height:620px;
        min-height:100svh;
        background-position:58% center;
      }

      .ap-contact-cover::before{
        background:
          linear-gradient(90deg,rgba(4,25,39,.56),rgba(4,25,39,.12)),
          linear-gradient(180deg,rgba(4,25,39,.14) 0%,rgba(4,25,39,.04) 36%,rgba(4,25,39,.78) 100%),
          radial-gradient(circle at 15% 82%,rgba(116,165,195,.23),transparent 42%);
      }

.ap-contact-cover::after{
        inset:92px 12px 12px;
      }

      .apcc-shell{
        padding:110px 25px clamp(68px,10vh,92px);
      }

      .apcc-kicker{
        gap:10px;
        margin-bottom:18px;
        font-size:10px;
        letter-spacing:.20em;
      }

      .apcc-kicker::before{
        width:31px;
      }

      .apcc-title{
        font-size:clamp(48px,15vw,72px);
        letter-spacing:-.05em;
        line-height:.88;
      }

      .apcc-title-accent{
        margin-top:16px;
        margin-left:clamp(30px,12vw,62px);
      }

      .apcc-side-mark{
        display:none;
      }

      .apcc-orbit{
        top:88px;
        right:27px;
        width:82px;
        opacity:.72;
      }

      .ap-contact-top{
        min-height:auto;
        padding:122px 18px 112px;
      }

      .ap-contact-top::before{
        right:-245px;
        bottom:-320px;
      }

      .ap-contact-top::after{
        right:4px;
        bottom:-10px;
        font-size:84px;
      }

      .ap-contact-eyebrow{
        margin-bottom:13px;
        font-size:10px;
        letter-spacing:.17em;
      }

      .ap-contact-eyebrow::before,
      .ap-contact-faq-eyebrow::before,
      .ap-contact-close-eyebrow::before{
        flex-basis:28px;
        width:28px;
      }

      .ap-contact-title{
        font-size:clamp(42px,13.5vw,61px);
        line-height:.98;
      }

      .ap-contact-intro{
        margin:0;
        padding-left:17px;
        font-size:14px;
        line-height:1.7;
      }

      .ap-contact-content{
        padding:0 14px 76px;
      }

      .ap-contact-deck{
        min-height:0;
        margin-top:-66px;
        border-radius:22px;
      }

      .ap-contact-visual{
        min-height:530px;
        padding:24px;
      }

      .ap-contact-visual::before{
        top:18px;
        left:18px;
        width:62px;
        height:62px;
      }

      .ap-contact-photo-label{
        padding:8px 11px;
        font-size:9px;
      }

      .ap-contact-visual-copy h3{
        font-size:35px;
      }

      .ap-contact-visual-copy > p{
        margin-bottom:21px;
        font-size:13px;
      }

      .ap-contact-method{
        grid-template-columns:39px minmax(0,1fr) 16px;
        min-height:63px;
        padding:10px 12px;
      }

      .ap-contact-method-icon{
        width:39px;
        height:39px;
      }

      .ap-contact-method-text strong{
        font-size:12px;
      }

      .ap-contact-form-wrap{
        padding:42px 20px 34px;
      }

      .ap-contact-form-wrap::after{
        top:26px;
        right:22px;
        width:38px;
        height:38px;
      }

      .ap-contact-kicker{
        max-width:75%;
        font-size:10px;
      }

      .ap-contact-form-title{
        max-width:85%;
        font-size:38px;
      }

      .ap-contact-form-desc{
        margin-bottom:28px;
        font-size:13px;
      }

      .ap-contact-submit-row{
        flex-direction:column-reverse;
        align-items:stretch;
        gap:14px;
      }

      .ap-contact-note{
        max-width:none;
        text-align:center;
      }

      .ap-contact-submit{
        width:100%;
      }

      .ap-contact-service-line{
        flex-wrap:wrap;
        margin-top:23px;
        gap:10px 18px;
        font-size:9px;
      }

      .ap-contact-faq{
        padding:76px 14px 80px;
        background:
          linear-gradient(180deg,var(--ap-white) 0%,var(--ap-white) 32%,var(--ap-mist) 32%,var(--ap-mist) 100%);
      }

      .ap-contact-faq::before{
        top:45px;
        right:-235px;
      }

      .ap-contact-faq::after{
        left:-6px;
        bottom:-35px;
        font-size:190px;
      }

      .ap-contact-faq-head{
        margin-bottom:34px;
      }

      .ap-contact-faq-eyebrow{
        margin-bottom:12px;
        font-size:10px;
        letter-spacing:.16em;
      }

      .ap-contact-faq-title{
        font-size:clamp(40px,12vw,54px);
        line-height:1.03;
      }

      .ap-contact-faq-intro{
        padding-left:17px;
        font-size:13px;
        line-height:1.72;
      }

      .ap-contact-faq-grid{
        --bs-gutter-y:18px;
      }

      .ap-contact-faq-support{
        min-height:480px;
        padding:22px;
        border-radius:22px;
      }

      .ap-contact-faq-support::before{
        top:16px;
        right:16px;
        width:58px;
        height:58px;
      }

      .ap-contact-faq-photo-tag{
        max-width:62%;
        font-size:8px;
        letter-spacing:.11em;
      }

      .ap-contact-faq-support-number{
        font-size:44px;
      }

      .ap-contact-faq-support-copy h3{
        font-size:35px;
      }

      .ap-contact-faq-support-copy p{
        font-size:12px;
      }

      .ap-contact-faq-whatsapp{
        width:100%;
      }

      .ap-contact-faq-panel{
        padding:5px 18px;
        border-radius:22px;
      }

      .ap-contact-faq-question{
        grid-template-columns:30px minmax(0,1fr) 34px;
        gap:10px;
        min-height:88px;
        padding:17px 0;
      }

      .ap-contact-faq-question-text{
        font-size:18px;
        line-height:1.3;
      }

      .ap-contact-faq-toggle{
        width:34px;
        height:34px;
      }

      .ap-contact-faq-answer{
        padding:0 4px 22px 40px;
      }

      .ap-contact-faq-answer p{
        font-size:12px;
        line-height:1.7;
      }

      .ap-contact-close{
        padding:66px 16px 70px;
      }

      .ap-contact-close::before{
        top:-95px;
        left:-125px;
        width:260px;
        height:260px;
      }

      .ap-contact-close::after{
        display:none;
      }

      .ap-contact-close-card{
        min-height:0;
        border-radius:24px;
        box-shadow:0 24px 58px rgba(18,52,74,.18);
      }

      .ap-contact-close-visual{
        min-height:330px;
        background-position:center;
      }

      .ap-contact-close-visual::before{
        inset:15px;
        border-radius:16px;
      }

      .ap-contact-close-visual::after{
        display:none;
      }

      .ap-contact-close-photo-label{
        top:29px;
        left:29px;
        min-height:31px;
        padding:6px 10px;
        font-size:8px;
      }

      .ap-contact-close-photo-note{
        right:29px;
        bottom:29px;
        max-width:235px;
        font-size:23px;
      }

      .ap-contact-close-content{
        min-height:0;
        padding:48px 24px 44px;
      }

      .ap-contact-close-content::before{
        bottom:-17px;
        font-size:77px;
      }

      .ap-contact-close-eyebrow{
        gap:10px;
        margin-bottom:15px;
        font-size:9px;
        letter-spacing:.17em;
      }

      .ap-contact-close-title{
        font-size:clamp(39px,12vw,52px);
        line-height:1.01;
      }

      .ap-contact-close-doodle-sparkles{
        top:22px;
        right:18px;
        width:58px;
        height:52px;
        opacity:.38;
      }

      .ap-contact-close-doodle-sun{
        top:28px;
        right:28px;
        width:62px;
        height:62px;
      }

      .ap-contact-close-doodle-waves{
        left:29px;
        bottom:27px;
        width:104px;
        height:36px;
      }

      .ap-contact-close-text{
        margin-top:19px;
        font-size:14px;
        line-height:1.72;
      }

      .ap-contact-close-actions{
        display:grid;
        grid-template-columns:1fr;
        margin-top:27px;
      }

      .ap-contact-close-button{
        width:100%;
        min-height:55px;
        justify-content:space-between;
        padding:0 14px 0 20px;
      }

      .ap-contact-close-info{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
        margin-top:29px;
        padding-top:20px;
      }

      .ap-contact-close-destinations{
        margin-top:22px;
        padding:0 12px;
        font-size:9px;
        letter-spacing:.1em;
      }
    }

    @media (max-width:390px){
      .apcc-shell{
        padding-right:20px;
        padding-bottom:58px;
        padding-left:20px;
      }

      .apcc-title{
        font-size:clamp(44px,14vw,58px);
      }

      .apcc-title-accent{
        margin-left:25px;
      }

      .apcc-orbit{
        top:78px;
        right:24px;
        width:70px;
      }

      .ap-contact-title{
        font-size:40px;
      }

      .ap-contact-visual{
        min-height:515px;
        padding:20px;
      }

      .ap-contact-form-wrap{
        padding-right:17px;
        padding-left:17px;
      }

      .ap-contact-form-title{
        font-size:34px;
      }

      .ap-contact-faq-title{
        font-size:38px;
      }

      .ap-contact-faq-support{
        min-height:455px;
        padding:19px;
      }

      .ap-contact-faq-support-number{
        font-size:39px;
      }

      .ap-contact-faq-support-copy h3{
        font-size:32px;
      }

      .ap-contact-faq-question{
        grid-template-columns:25px minmax(0,1fr) 32px;
        gap:8px;
      }

      .ap-contact-faq-question-text{
        font-size:17px;
      }

      .ap-contact-faq-toggle{
        width:32px;
        height:32px;
      }

      .ap-contact-faq-answer{
        padding-left:33px;
      }

      .ap-contact-close{
        padding-right:12px;
        padding-left:12px;
      }

      .ap-contact-close-visual{
        min-height:290px;
      }

      .ap-contact-close-photo-note{
        max-width:205px;
        font-size:20px;
      }

      .ap-contact-close-content{
        padding-right:19px;
        padding-left:19px;
      }

      .ap-contact-close-title{
        font-size:37px;
      }

      .ap-contact-close-button{
        font-size:10px;
      }
    }

    @media (prefers-reduced-motion:reduce){
      .ap-contact-method,
      .ap-contact-submit,
      .ap-contact-faq-whatsapp,
      .ap-contact-faq-toggle,
      .ap-contact-faq-toggle::before,
      .ap-contact-faq-toggle::after,
      .ap-contact-close-button{
        transition:none;
      }
    }
