/* ===== site header & footer (same as index) — used by privacy-policy and terms ===== */
@keyframes shine{0%{left:-60%}30%,100%{left:170%}}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* ===== site header & footer (scoped from index) ===== */
body > header{--red:#88181a;--ink:#0d1024}
/* header */
header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1.5vw 6.2vw 0}

.logo{display:flex;flex-direction:column;align-items:flex-end;gap:.35vw}

.logo img{height:clamp(30px,2.7vw,52px);width:auto;display:block}

.logo small{font-size:clamp(.5rem,.48vw,.62rem);letter-spacing:.32em;color:#444;font-weight:500}

body > header nav{display:flex;gap:3.2vw;margin-left:-4vw}

body > header nav a{position:relative;padding:.7em 0;font-size:clamp(.85rem,.92vw,1rem);font-weight:500}

body > header nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s}

body > header nav a:hover::after, body > header nav a.on::after{transform:scaleX(1)}

body > header nav a.on{color:var(--red)}

.hdr-r{display:flex;align-items:center;gap:2.6vw}

.hdr-r svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round}

/* buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.8em;padding:1.05em 1.9em;border-radius:12px;font-weight:700;font-size:clamp(.72rem,.88vw,.95rem);letter-spacing:.09em;text-transform:uppercase;transition:transform .25s,box-shadow .25s}

.btn svg{width:1.3em;height:1.3em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}

.btn:hover svg{transform:translateX(5px)}

.pri{color:#fff;background:linear-gradient(180deg,#88181a,#88181a);box-shadow:0 10px 28px rgba(136,24,26,.38),inset 0 1px 0 rgba(255,255,255,.35)}

.pri:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(136,24,26,.5),inset 0 1px 0 rgba(255,255,255,.35)}

.pri::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:shine 4.5s 2.2s infinite}

.sec{background:rgba(255,255,255,.7);border:1px solid rgba(136,24,26,.14);backdrop-filter:blur(8px)}

.sec:hover{transform:translateY(-3px);border-color:rgba(136,24,26,.45);box-shadow:0 12px 28px rgba(136,24,26,.14)}

@media(max-width:900px){
  body > header nav{display:none}
  body > header{padding:4vw 6vw 0}
  .logo img{height:32px}
  .logo small{font-size:.5rem}
  .hdr-r{gap:16px}
}

/* header */

/* ===== MOBILE PATCH: medium text sizes + hamburger menu ===== */
.menu-btn{display:none}
@media(max-width:900px){
  /* header: hide "Get in touch", show 3-line button */
  header{position:relative;z-index:20}
  .hdr-r .btn{display:none}
  .menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:0;border:1px solid rgba(136,24,26,.18);border-radius:12px;background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;-webkit-tap-highlight-color:transparent}
  .menu-btn:focus-visible{outline:2px solid var(--red);outline-offset:3px}
  .menu-btn span{display:block;width:20px;height:2px;border-radius:2px;background:var(--ink);transition:transform .3s,opacity .25s}
  .menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn.open span:nth-child(2){opacity:0}
  .menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  /* dropdown menu (reuses the existing <nav>) */
  nav{display:none;position:absolute;top:100%;left:6vw;right:6vw;margin:10px 0 0;padding:6px 18px;flex-direction:column;gap:0;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(136,24,26,.14);border-radius:16px;box-shadow:0 18px 40px rgba(13,16,36,.18)}
  body > header nav.open{display:flex;animation:menuIn .25s ease both}
  body > header nav a{padding:14px 2px;font-size:.95rem;border-bottom:1px solid rgba(13,16,36,.07)}
  body > header nav a:last-child{border-bottom:0}
  body > header nav a::after{display:none}
}

.logo{display:block;width:250px;height:46px}

.logo svg{width:100%;height:100%;display:block;overflow:visible}

/* ---------- header ---------- */

/* ===== site footer (same as index) ===== */
/* ---------- shell ---------- */
.footerXf{position:relative;width:100%;overflow:hidden;background:#eceef5}
.footerXf-fit{position:relative;width:100%}
.footerXf-stage{position:relative;width:100%;padding:56px 24px 0}
#footerXf-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0;opacity:.55}
.footerXf a{color:inherit;text-decoration:none}
.footerXf ul{list-style:none;margin:0;padding:0}
.footerXf :focus-visible{outline:2px solid var(--xf-red);outline-offset:3px;border-radius:6px}

/* ---------- columns ---------- */
.footerXf-cols{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:36px}
.footerBrand{position:relative}
.logo{display:block;width:250px;height:46px}
.logo svg{width:100%;height:100%;display:block;overflow:visible}
.footerAbout{margin:20px 0 0;font-size:16px;line-height:1.6;color:#454d61;max-width:420px}
.footerAbout br{display:none}
.footerSocial{display:flex;gap:14px;margin-top:20px !important}
.footerSocial a{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.95);box-shadow:0 6px 16px rgba(40,50,95,.09);color:#1a2447;transition:transform .2s,box-shadow .2s,color .2s}
.footerSocial a:hover{transform:translateY(-3px);color:var(--xf-red);box-shadow:0 10px 22px rgba(40,50,95,.16)}
.footerSocial svg{width:22px;height:22px;fill:currentColor}
.footerSocial svg.footerStroke{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.footerAccent{display:block;width:36px;height:4px;border-radius:2px;background:var(--xf-red);margin-top:24px}
.footerTagline{margin:14px 0 0;font-family:Caveat,"Segoe Script",cursive;font-weight:500;font-size:28px;line-height:1.2;color:#3a415a;transform:rotate(-6deg);transform-origin:left top;padding-left:20px}

.footerCol h3{margin:0;font-size:16px;line-height:24px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--xf-navy)}
.footerRule{display:block;width:38px;height:4px;border-radius:2px;background:var(--xf-red);margin-top:14px}
.footerCol .footerLinks{margin-top:14px}
.footerCol .footerLinks li{line-height:38px}
.footerCol .footerLinks a{font-size:16px;color:#3e475d;transition:color .2s,padding-left .2s}
.footerCol .footerLinks a:hover{color:var(--xf-red);padding-left:4px}

.footerContact{margin-top:18px !important}
.footerContact li{display:flex;align-items:center;gap:16px;min-height:44px;margin-bottom:10px;font-size:16px;color:#2b3450;white-space:nowrap}
@media(max-width:1023px){.footerXf-cols>*{min-width:0}.footerContact li{white-space:normal}.footerContact li>a,.footerContact li>span:last-child{min-width:0;overflow-wrap:anywhere}}
.footerIco{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,#fdeef0,#f8dde2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 4px 10px rgba(136,24,26,.06)}
.footerIco svg{width:22px;height:22px}

.footerStay p{margin:18px 0 0;font-size:16px;line-height:1.6;color:#4b5468}
.footerStay p br{display:none}
.footerField{display:flex;align-items:center;width:100%;max-width:340px;height:60px;margin-top:22px;padding-left:20px;border-radius:30px;background:#fff;box-shadow:0 10px 26px rgba(60,70,120,.11),0 0 0 1px rgba(255,255,255,.9)}
.footerField .footerMail{flex:none;width:26px;height:26px;color:#1a2447}
.footerField input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:var(--xf-navy);padding:0 10px 0 14px}
.footerField input::placeholder{color:#7d8497}
.footerField:focus-within{box-shadow:0 10px 26px rgba(60,70,120,.11),0 0 0 2px rgba(136,24,26,.55)}
.go{flex:none;display:grid;place-items:center;width:54px;height:54px;margin-right:3px;border:0;border-radius:50%;cursor:pointer;color:#fff;background:linear-gradient(145deg,#88181a,#88181a);box-shadow:0 8px 18px rgba(136,24,26,.38);transition:transform .2s,box-shadow .2s}
.go:hover{transform:scale(1.06);box-shadow:0 10px 22px rgba(136,24,26,.5)}
.go svg{width:24px;height:24px}
.footerAgree{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:14px;color:#5a6275;cursor:pointer;user-select:none}
.footerAgree input{position:absolute;opacity:0;pointer-events:none}
.footerAgree .footerBox{flex:none;width:22px;height:22px;border-radius:5px;border:1.5px solid #c9cedd;background:rgba(255,255,255,.75);display:grid;place-items:center;transition:background .15s,border-color .15s}
.footerAgree .footerBox svg{width:14px;height:14px;opacity:0;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.footerAgree input:checked + .footerBox{background:var(--xf-red);border-color:var(--xf-red)}
.footerAgree input:checked + .footerBox svg{opacity:1}
.footerAgree input:focus-visible + .footerBox{outline:2px solid var(--xf-red);outline-offset:2px}
.footerStatus{min-height:22px;margin-top:10px;font-size:14px;color:#5a6275}
.footerStatus.footerOk{color:#0f8a4f}
.footerStatus.footerErr{color:var(--xf-red)}

/* ---------- glass cards ---------- */
.footerCard{display:none}

/* ---------- bottom bar ---------- */
.footerBar{position:relative;z-index:2;margin-top:44px;padding:22px 0 26px;border-top:1px solid rgba(120,128,150,.35);display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;font-size:15px;color:#2d3550}
.footerLegal{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}
.footerLegal i{display:block;width:1.5px;height:16px;background:#4a5064;opacity:.85}
.footerLegal a:hover{color:var(--xf-red)}
.footerTotop{display:inline-flex;align-items:center;gap:14px;height:52px;padding:0 24px 0 8px;border-radius:26px;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.9);box-shadow:0 8px 22px rgba(60,70,120,.1);font:inherit;font-size:16px;color:#2d3550;cursor:pointer;transition:transform .2s,box-shadow .2s}
.footerTotop:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(60,70,120,.16)}
.footerTotop .footerC{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(60,70,120,.12);color:var(--xf-red)}
.footerTotop svg{width:22px;height:22px}

/* ---------- tablet ---------- */
@media (min-width:640px) and (max-width:1023.98px){
  .footerXf-stage{padding:64px 40px 0}
  .footerXf-cols{grid-template-columns:repeat(2,1fr);gap:44px 32px}
  .footerBrand{grid-column:1/-1}
  .footerGet{grid-column:1/-1}
  .footerAbout br{display:block}
}

/* ---------- DESKTOP: exact 2170 x 725 design canvas ---------- */
@media (min-width:1024px){
  .footerXf-fit{aspect-ratio:2170/725}
  .footerXf-stage{position:absolute;left:0;top:0;width:2170px;height:725px;padding:0;transform-origin:0 0}
  #footerXf-canvas{opacity:1}

  .footerXf-cols{position:absolute;left:95px;top:100px;display:flex;gap:0}
  .footerBrand{flex:none;width:397px}
  .logo{width:292px;height:54px;margin:4px 0 0 5px}
  .footerAbout{margin:26px 0 0;font-size:18.2px;line-height:28px;max-width:none;white-space:nowrap}
  .footerAbout br{display:inline}
  .footerSocial{gap:18.25px;margin-top:19px !important}
  .footerSocial a{width:52px;height:52px;border-radius:13px}
  .footerSocial svg{width:28px;height:28px}
  .footerSocial li:nth-child(5) svg{width:32px;height:32px}
  .footerSocial li:nth-child(4) svg{width:29px;height:29px}
  .footerAccent{position:absolute;left:0;top:295px;margin:0}
  .footerTagline{position:absolute;left:50px;top:314px;margin:0;padding:0;font-size:28px;line-height:37px;white-space:nowrap;transform:rotate(-8.3deg)}

  .footerCol{flex:none;margin-top:20px;height:312px;border-left:1px solid var(--xf-line);padding-left:28px}
  .footerCol.footerCompany{width:300px}
  .footerCol.footerServices{width:400px;padding-left:31px}
  .footerCol.footerGet{width:558px;padding-left:41px}
  .footerCol.footerStay{width:400px;padding-left:30px}
  .footerCol h3{font-size:20px;line-height:30px;letter-spacing:.6px;font-weight:800}
  .footerRule{margin-top:18px}
  .footerCol .footerLinks{margin-top:21px}
  .footerCol .footerLinks li{line-height:45.6px}
  .footerCol .footerLinks a{font-size:18.5px}

  .footerContact{margin-top:23px !important}
  .footerContact li{gap:19px;min-height:52px;height:52px;margin-bottom:10px;font-size:18.4px;letter-spacing:0}
  .footerContact li:nth-child(4) span:last-child{font-size:17px}
  .footerIco{width:52px;height:52px}
  .footerIco svg{width:31px;height:31px}

  .footerStay p{margin:25px 0 0;font-size:18.1px;line-height:28px}
  .footerStay p br{display:inline}
  .footerStay p{white-space:nowrap}
  .footerField{width:320px;max-width:none;height:64px;margin-top:29px;padding-left:22px;border-radius:32px}
  .footerField .footerMail{width:28px;height:28px}
  .footerField input{font-size:17px;padding-left:18px}
  .go{width:58px;height:58px;margin-right:3px}
  .go svg{width:26px;height:26px}
  .footerAgree{margin-top:19px;font-size:15px}
  .footerStatus{font-size:15px}

  /* floating glass cards */
  .footerCard{position:absolute;z-index:3;display:flex;align-items:center;gap:15px;color:var(--xf-navy);
    background:linear-gradient(100deg,rgba(255,255,255,.5),rgba(255,255,255,.14));
    border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
    box-shadow:0 14px 34px rgba(60,70,120,.10);font-size:15px;line-height:20px;font-weight:500}
  .footerCard svg{flex:none;width:28px;height:28px}
  .footerCard.footerC1{left:1630px;top:72px;width:176px;height:84px;border-radius:18px;padding-left:23px}
  .footerCard.footerC2{left:1713px;top:347px;width:190px;height:84px;border-radius:18px;padding-left:23px}
  .footerCard.footerC3{left:1903px;top:492px;width:267px;height:138px;border-radius:44px 0 0 0;display:block;padding:29px 0 0 44px;font-size:18.2px;line-height:25px;font-weight:400;
    background:linear-gradient(160deg,rgba(255,255,255,.62),rgba(255,255,255,.18));border-right:0;border-bottom:0}
  .footerCard.footerC3 .footerAccent{position:static;margin-top:24px;width:36px}

  .footerBar{position:absolute;left:92px;top:600px;width:1993px;margin:0;padding:0;height:97px;border-top:0;font-size:18.2px;display:block}
  .footerBar::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(90,98,120,.55),rgba(120,128,150,.28) 40%,rgba(120,128,150,.22))}
  .footerCopy{position:absolute;left:0;top:26px;line-height:28px;white-space:nowrap}
  .footerLegal{position:absolute;left:1068px;top:15px;height:50px;gap:0;flex-wrap:nowrap;white-space:nowrap}
  .footerLegal a{line-height:50px}
  .footerLegal i{margin:0 32px;height:18px}
  .footerTotop{position:absolute;left:1783px;top:15px;width:205px;height:55px;padding:0;gap:0;border-radius:28px;font-size:18px;justify-content:flex-start}
  .footerTotop .footerC{width:40px;height:40px;margin-left:13px}
  .footerTotop .footerT{margin-left:20px}
}

@media (prefers-reduced-motion:reduce){
  .footerCard{animation:none !important}
  *{scroll-behavior:auto !important}
}
/* footer nav: neutralise the global header <nav> styles */
.footerXf nav.footerCol{display:block;gap:0;margin-left:0}
.footerXf nav.footerCol a{position:static;padding:0;font-weight:400;border-bottom:0}
.footerXf nav.footerCol a::after{display:none}
@media(max-width:900px){
  .footerXf nav.footerCol{position:static;top:auto;left:auto;right:auto;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
}


/* base resets so the page styles do not leak into the shared header/footer */
body > header,footer.footerXf{line-height:normal}
body > header a,footer.footerXf a{color:inherit;text-decoration:none}
body > header a:hover,footer.footerXf a:hover{text-decoration:none}
body > header a:focus-visible,footer.footerXf a:focus-visible{outline:2px solid #88181a;outline-offset:3px}
