/*
Theme Name: QRI Lifestyle
Theme URI: https://qri.com.au
Author: QRI Lifestyle
Author URI: https://qri.com.au
Description: Custom WordPress theme for QRI Lifestyle.
Version: 1.20.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: qri-lifestyle
*/

:root{
    --paper:#fff;
    --warm:#d8d4cd;          /* QRI warm grey */
    --cream:#f6f5f3;         /* soft section grey used across QRI pages */
    --cream2:#edeae3;
    --ink:#7c6a55;
    --body:#7c6a55; --muted:#7c6a55;
    --line:#e6e2da;
    --red:#cc4436; --red-dark:#ad3528; --red-tint:#f7e3df;
    --blue:#0054a6; --blue-deep:#0a3a6e; --blue-tint:#e5eefa;
    --gold:#b0892a; --gold-bright:#f3cc60; --gold-tint:#f7efda;
    --taupe:#7c6a55; --taupe-tint:#ece6dd;
    --dark:#0a3a6e; --dark2:#0d4886;     /* deep QRI blue for dark areas */
    --imgph:#ece9e3; --imgln:#cdc6ba;
    --imgph2:#ece9e3; --imgln2:#cdc6ba;
    --shadow:0 10px 34px rgba(10,40,90,.08);
    --shadow-sm:0 4px 16px rgba(10,40,90,.06);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0; color:var(--body); background:var(--paper);
    font-family:'Lato',sans-serif; font-weight:400; line-height:1.65; -webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4{font-family:'Poppins',sans-serif; color:var(--taupe); font-weight:600; line-height:1.2; letter-spacing:-.01em; margin:0}
  .ey, .gh, .mh, .home .badge, .home .tag, .home .dmark, .home .win-amt{font-family:'Poppins',sans-serif}
  p{margin:0}
  a{color:inherit; text-decoration:none}
  ul{margin:0; padding:0; list-style:none}
  .wrap{max-width:1200px; margin:0 auto; padding:0 28px}
  .ey{font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--taupe); font-weight:600}
  .btn{display:inline-flex; align-items:center; gap:8px; font-family:'Poppins',sans-serif; font-size:.92rem; font-weight:500; padding:13px 26px; border-radius:9px; border:0; cursor:pointer; transition:.18s}
  .btn.red{background:var(--red); color:#fff}
  .btn.red:hover{background:var(--blue)}
  .btn.blue{background:var(--blue); color:#fff}
  .btn.blue:hover{background:#004482}
  .btn.ghost{background:transparent; color:var(--blue); border:1.5px solid var(--blue)}
  .btn.ghost:hover{background:var(--blue); border-color:var(--blue); color:#fff}
  .btn.white{background:#fff; color:var(--ink)}
  .btn.sm{padding:9px 16px; font-size:.84rem}
  .lnk{color:var(--red); font-weight:600; font-size:.9rem; display:inline-flex; gap:6px; align-items:center; font-family:'Poppins',sans-serif}

  .imgph{background:var(--imgph); border:1px dashed #d3cec5; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:#8a7f6d; text-align:center; padding:14px}
  .imgph .cap{font-size:.76rem; font-style:italic}
  .logoph{display:inline-flex; align-items:center; justify-content:center; border:1.5px dashed #c2b7a6; border-radius:8px; padding:10px 18px; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:#8c857a}

  /* TOP BAR (warm dark) */
  .topbar{background:#0054a6; color:#fff; font-size:.78rem; border-bottom:0}
  .topbar .wrap{display:flex; align-items:center; justify-content:space-between; padding:7px 28px}
  .topbar .soc{display:flex; gap:14px; align-items:center}
  .topbar .soc svg{width:15px; height:15px; display:block}
/* NAV */
  nav{background:transparent; border-bottom:1px solid rgba(255,255,255,.18); position:fixed; top:0; left:0; right:0; z-index:100; font-family:'Poppins',sans-serif; transition:background .22s ease, box-shadow .22s ease, border-color .22s ease}
  nav.scrolled{background:#cc4436; border-bottom:0; box-shadow:0 8px 24px rgba(0,0,0,.12)}
  nav .wrap{display:flex; align-items:center; gap:8px; padding:10px 28px}

  .brand{display:flex; align-items:center; flex:0 0 auto; padding-right:18px}
  .brand img{display:block; width:auto; height:54px; max-width:150px}
  .links{display:flex; gap:0; align-items:center}
  .ni>a{display:inline-flex; align-items:center; gap:4px; color:#fff; font-size:.9rem; font-weight:400; padding:11px 13px; border-radius:7px; cursor:pointer; transition:.15s}
  .ni:hover>a{background:rgba(255,255,255,.14); color:#fff}
  .ni>a .car{font-size:.56rem; color:rgba(255,255,255,.78)}
  nav .sp{flex:1}
  nav .act{display:flex; gap:8px; align-items:center}
  nav .logoph{border-color:rgba(255,255,255,.55); color:#fff}
  nav .btn.ghost{color:#fff; border-color:rgba(255,255,255,.65)}
  nav .btn.ghost:hover{background:rgba(255,255,255,.12); border-color:#fff; color:#fff}
  nav .btn.red{background:#cc4436; color:#fff}
  nav .btn.red:hover{background:var(--blue); color:#fff}
  nav.scrolled .btn.red{background:#fff; color:#cc4436}
  nav.scrolled .btn.red:hover{background:#fff; color:var(--blue)}

  .mega{position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); box-shadow:0 24px 44px rgba(43,38,34,.13); opacity:0; visibility:hidden; transform:translateY(6px); transition:.16s ease; z-index:60}
  .ni:hover .mega{opacity:1; visibility:visible; transform:translateY(0)}
  .mega .wrap{display:flex; gap:34px; padding:30px 28px 34px}
  .megamain{flex:1}
  .megamain>.mh{font-size:.66rem; letter-spacing:.07em; text-transform:uppercase; color:var(--taupe); font-weight:600; margin-bottom:16px}
  .megacols{display:grid; gap:8px 22px}
  .megacols.c3{grid-template-columns:repeat(3,1fr)}
  .megacols.c2{grid-template-columns:repeat(2,1fr)}
  .megacols .gh{font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:600; margin:0 0 4px 10px}
  .mega a.item{display:block; padding:7px 10px; border-radius:7px; font-size:.88rem; color:var(--ink); font-weight:400}
  .mega a.item:hover{background:var(--cream); color:var(--red)}
  .megaside{width:300px; flex:none}
  .megafeat{background:var(--blue); border-radius:12px; padding:18px; color:#fff; margin-bottom:14px}
  .megafeat .fb{font-size:1.08rem; font-weight:600; margin-bottom:5px; color:var(--gold-bright)}
  .megafeat .fd{font-size:.78rem; color:#fff}
  .iwant{background:var(--cream); border:1px solid var(--line); border-radius:12px; padding:18px 20px}
  .iwant h4{font-size:.95rem; margin-bottom:10px}
  .iwant a{display:flex; justify-content:space-between; align-items:center; color:var(--taupe); font-size:.86rem; font-weight:500; padding:6px 0}
  .iwant a:hover{color:var(--red)}

  /* HERO (full-bleed image) */ .home .hero{position:relative; overflow:hidden; background:var(--red-dark); min-height:660px; display:flex; align-items:flex-end}
  .home .hero .heroimg-bg{position:absolute; inset:0; background-image:url("assets/img/hero.webp");
    background-size:cover; background-position:center 58%; background-repeat:no-repeat; z-index:0}
  /* legibility scrim: very light — keep the photo vivid */ .home .hero .heroimg-bg::after{content:""; position:absolute; inset:0;
    background:linear-gradient(100deg, rgba(20,40,70,.30) 0%, rgba(20,40,70,.14) 28%, rgba(20,40,70,.03) 50%, rgba(20,40,70,0) 65%)}
  .home .hero .wrap{position:relative; z-index:2; width:100%; display:block; padding:0 28px 100px}
  .home .hero .herotext{max-width:620px}
  .home .hero h1{color:#fff; font-size:4.1rem; line-height:1.08; margin-bottom:30px; text-shadow:0 2px 18px rgba(80,18,12,.35)}
  .home .hero p.lede{color:#fdeae6; font-size:1.12rem; max-width:500px; margin-bottom:32px; text-shadow:0 1px 12px rgba(80,18,12,.3)}
  .home .hero .btns{display:flex; gap:14px; flex-wrap:wrap}
  .home .hero .btn.white:hover{background:#f3e9e7}
  .home .hero .btn.ghost{color:#fff; border-color:rgba(255,255,255,.65)}
  .home .hero .btn.ghost:hover{border-color:var(--blue); color:#fff; background:var(--blue)}


  section{padding:74px 0}
  .cream{background:var(--cream)}
  .sechead{text-align:center; max-width:740px; margin:0 auto 44px}
  .sechead h2{font-size:2.1rem; margin:12px 0 12px}
  .sechead p{color:var(--body); font-size:1.04rem}

  /* Section heading colour update */ .home .panel-intro h2, .sechead h2, .home .diffbody h2{color:#7c6a55 !important}
  .home .news-subhead{color:#7c6a55 !important}

  /* PILLARS — stacked homepage feature sections */ .home .panel-sec{background:#fff; padding:70px 0 40px}
  .panel-sec .wrap{position:relative; z-index:5}
  .home .pillar-flow{display:grid; gap:22px}
  .home .pillar-feature{position:relative; display:grid; grid-template-columns:1.02fr .98fr; min-height:400px; overflow:hidden; background:#fff; border:1px solid rgba(72,61,52,.06); border-radius:24px; box-shadow:0 14px 34px rgba(75,45,35,.08); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
  .home .pillar-feature:hover, .home .pillar-feature:focus-within{transform:translateY(-3px); border-color:rgba(72,61,52,.11); box-shadow:0 20px 44px rgba(75,45,35,.12)}
  .home .pillar-feature.reverse{grid-template-columns:.98fr 1.02fr}
  .home .pillar-feature.reverse .pf-media{order:1}
  .home .pillar-feature.reverse .pf-copy{order:2}
  .home .pf-media{position:relative; min-height:400px; overflow:hidden; background-size:cover; background-position:center; transition:transform .38s ease}
  .home .pillar-feature:hover .pf-media, .home .pillar-feature:focus-within .pf-media{transform:scale(1.015)}
  .home .pf-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.10))}
  .home .pf-media::before{content:""; position:absolute; z-index:2; width:176px; height:82px; background-image:url("assets/img/pattern-qri-corner.svg"); background-repeat:no-repeat; background-size:auto 82px; opacity:.96; pointer-events:none; filter:drop-shadow(0 7px 12px rgba(40,31,24,.12))}
  .home .pf-sav .pf-media::before{right:-44px; bottom:-22px; background-position:8% center}
  .home .pf-com .pf-media::before{left:-44px; top:-22px; background-position:53% center}
  .home .pf-sup .pf-media::before{right:-44px; top:-22px; background-position:92% center}
  .home .pf-copy{display:flex; flex-direction:column; justify-content:center; padding:52px 50px; background:#fff}
  .home .pf-copy h3{font-size:2rem; line-height:1.15; margin-bottom:10px}
  .home .pf-copy p{font-size:1.02rem; line-height:1.65; color:var(--taupe); max-width:450px; margin-bottom:24px}
  .home .pf-links{display:grid; gap:10px; max-width:430px}
  .home .pf-links a{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid rgba(72,61,52,.13); border-radius:12px; color:var(--taupe); background:#fff; transition:.15s}
  .home .pf-links a:hover{transform:translateX(4px); border-color:rgba(72,61,52,.24); background:#f9f7f4}
  .home .pf-links .ag{width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:1rem; flex:none}

  .home .pf-sav{--accent-rgb:204,68,54}
  .home .pf-sav .pf-copy, .home .pf-sav h3{color:var(--taupe)}
  .home .pf-sav .pf-links .ag{color:#cc4436; background:rgba(204,68,54,.10)}

  .home .pf-com{--accent-rgb:124,106,85}
  .home .pf-com .pf-copy, .home .pf-com h3{color:#7c6a55}
  .home .pf-com .pf-links .ag{color:#7c6a55; background:rgba(124,106,85,.12)}

  .home .pf-sup{--accent-rgb:0,84,166}
  .home .pf-sup .pf-copy, .home .pf-sup h3{color:var(--taupe)}
  .home .pf-sup .pf-links .ag{color:#0054a6; background:rgba(0,84,166,.10)}
  .home .pillar-feature .pf-links a:hover, .home .pillar-feature .pf-links a:focus-visible{transform:translateX(4px); border-color:rgba(var(--accent-rgb),.24); background:rgba(var(--accent-rgb),.08); color:rgb(var(--accent-rgb))}
  .home .pillar-feature .pf-links a:hover .ag, .home .pillar-feature .pf-links a:focus-visible .ag{background:rgb(var(--accent-rgb)); color:#fff}

  /* HOLIDAY UNITS (2x2, constrained) */ .home .units2{display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:960px; margin:0 auto}
  .home .unit2{position:relative; height:300px; border-radius:18px; overflow:hidden; box-shadow:var(--shadow); transition:.25s}
  .home .unit2:hover{transform:translateY(-4px)}
  .home .unit2 .uimg{position:absolute; inset:0; border-radius:0}
  .home .unit2 .scrim{position:absolute; inset:0; background:linear-gradient(to top,rgba(14,28,40,.78),rgba(14,28,40,.04) 55%); z-index:1}
  .home .unit2 .ucap{position:absolute; left:22px; bottom:20px; z-index:2; color:#fff}
  .home .unit2 .ucap .nm{font-size:1.55rem; font-weight:600; font-family:'Poppins',sans-serif}
  .home .unit2 .ucap .rg{font-size:.88rem; color:#d7e1ed; margin-top:2px}
  .home .unit2 .uarrow{position:absolute; right:18px; bottom:20px; z-index:2; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; color:var(--ink)}
  /* brown holiday units band — now white */
  .hu-brown{background:#fff}
  .hu-brown .sechead h2{color:var(--ink)}
  .hu-brown .sechead p{color:var(--body)}
  .hu-brown .btn.ghost{color:var(--blue); border-color:var(--blue)}
  .hu-brown .btn.ghost:hover{border-color:var(--blue); color:var(--blue)}

  /* MEMBER BENEFITS -> logo wall */ .home .logowall{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; max-width:1000px; margin:0 auto}
  .home .lw{height:90px; background:#fff; border:1px solid var(--line); border-radius:12px; display:flex; align-items:center; justify-content:center; color:#a89e8c; font-size:.72rem; letter-spacing:.04em; box-shadow:var(--shadow-sm)}
  .home .bnote{text-align:center; color:var(--muted); font-size:.94rem; max-width:620px; margin:30px auto 0}
  .home .bcta{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:18px}

  /* DAILY WIN (warm dark signature) */ .home .daily{background:linear-gradient(140deg,#0a63c4,#0054a6); color:#fff; border-radius:22px; padding:54px 56px; box-shadow:var(--shadow); position:relative; overflow:hidden}
  .daily .ey{color:var(--gold-bright)}
  .home .daily h2{color:#fff; font-size:2.2rem; max-width:620px; margin:8px 0 14px}
  .home .daily p{color:#ddd4c5; font-size:1.06rem; max-width:580px; margin-bottom:26px}
  .home .daily .win-amt{font-size:3.4rem; font-weight:700; color:var(--gold-bright); line-height:1; margin-bottom:6px}
  /* DIFFERENCE (family image + reinvestment) */ .home .diff{display:grid; grid-template-columns:1.08fr .92fr; gap:56px; align-items:start}
  .home .diffimg{height:520px; border-radius:18px}
  .home .diffbody h2{font-size:2.1rem; margin:0 0 16px}
  .diffbody .ey{display:block; margin-bottom:6px}
  .home .diffbody p+p{margin-top:14px}
  .home .diffbody p{font-size:1.02rem; color:var(--body); margin-bottom:22px}
  .home .diffex{margin-bottom:24px}
  .home .diffex li{display:flex; gap:14px; align-items:center; padding:11px 0; border-top:1px solid var(--line); font-size:.96rem; color:var(--ink)}
  .home .diffex li:first-child{border-top:0}
  .home .about-cta{width:max-content; margin-top:4px}
  .home .dmark{flex:none; min-width:74px; color:var(--taupe); font-weight:700; font-size:1.35rem; font-family:'Poppins',sans-serif}

  /* news */ .home .news{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
  .home .ncard{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:var(--shadow-sm); transition:.2s; display:flex; flex-direction:column}
  .home .ncard:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
  .home .ncard .nimg{height:240px; flex:none}
  .home .ncard .nbody{padding:22px 24px 26px; flex:1; display:flex; flex-direction:column}
  .ncard .nbody .lnk{margin-top:auto}
  .home .ncard .tag{font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--taupe); font-weight:600; margin-bottom:8px}
  .home .ncard h3{font-size:1.14rem; margin-bottom:8px; line-height:1.3}
  .home .ncard p{font-size:.9rem; color:var(--body); margin-bottom:14px}

  /* testimonial */ .home .testi{display:grid; grid-template-columns:300px 1fr; gap:48px; align-items:center; max-width:980px; margin:0 auto}
  .home .testi .av{height:320px; border-radius:18px}
  .home .testi blockquote{margin:0; font-size:1.5rem; color:var(--ink); font-weight:300; line-height:1.42}
  .home .testi blockquote .qm{color:var(--taupe); font-weight:600}
  .home .testi cite{display:block; margin-top:16px; font-style:normal; font-size:.9rem; color:var(--muted)}

  /* app (vertical image) */ .home .app{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; background:var(--blue-tint); border-radius:24px; padding:50px 56px}
  .home .appimg{width:248px; height:510px; border-radius:34px; margin:0 auto; border:9px solid var(--dark); background:#eef3f9}
  .home .app h2{font-size:2rem; margin-bottom:14px}
  .home .app p{font-size:1.02rem; margin-bottom:22px; max-width:440px}
  .home .stores{display:flex; gap:12px}
  .home .store{border:1.5px solid #d3cec5; border-radius:9px; padding:11px 18px; font-size:.82rem; color:var(--blue-deep); font-weight:500}

  /* faq */ .home .faqs{max-width:780px; margin:0 auto}
  .home .fq{background:#fff; border:1px solid var(--line); border-radius:11px; padding:17px 22px; margin-bottom:12px; display:flex; justify-content:space-between; align-items:center; font-size:.98rem; color:var(--ink); font-weight:400; cursor:pointer; transition:.15s}
  .home .fq:hover{border-color:var(--red)}
  .home .fq .pl{color:var(--red); font-size:1.3rem; font-weight:300}


  .home .about-sec{background:var(--cream); border-top:1px solid rgba(72,61,52,.08)}

  .home .cta-section{background:#fff; padding:58px 0 74px}


  /* testimonials */ .home .tsec{background:var(--cream); padding:74px 0 54px}
  .home .twrap{background:transparent; border:0; border-radius:0; padding:0; box-shadow:none}
  .home .thead{text-align:center; max-width:740px; margin:0 auto 44px}
  .home .thead h2{font-size:2.1rem; margin:12px 0 12px; color:#7c6a55}
  .home .thead p{color:var(--body); font-size:1.04rem}
  .home .tgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
  .home .tcard{background:#fff; border:1px solid rgba(72,61,52,.10); border-radius:18px; padding:26px 24px 24px; display:flex; flex-direction:column; gap:16px; box-shadow:0 10px 24px rgba(75,45,35,.07)}
  .home .tstars{color:#f3cc60; font-size:1rem; letter-spacing:2px; line-height:1}
  .home .tquote{font-size:.98rem; line-height:1.68; color:var(--taupe); flex:1}
  .home .tauthor{padding-top:14px; border-top:1px solid rgba(72,61,52,.10)}
  .home .tauthor strong{display:block; font-family:'Poppins',sans-serif; color:var(--taupe)}
  .home .tauthor span{display:block; color:var(--body); font-size:.9rem; margin-top:3px}
  .home .tcta{text-align:center; margin-top:24px}
  @media(max-width:980px){
    .home .tgrid{grid-template-columns:1fr}
  }

  /* cta band (warm grey) */ .home .ctaband{background:linear-gradient(135deg,#a9342a 0%,#cc4436 55%,#d85b4e 100%); color:#fff; border-radius:28px; padding:72px 64px; text-align:center; box-shadow:0 22px 50px rgba(169,52,42,.2)}
  .ctaband .btn.ghost{color:#fff; border-color:rgba(255,255,255,.55)}
  .ctaband .btn.ghost:hover{border-color:var(--blue); color:#fff; background:var(--blue)}
  .ctaband .btn.red{background:#fff; color:var(--red)}
  .ctaband .btn.red:hover{background:var(--blue); color:#fff}
  .home .ctaband h2{font-size:clamp(30px,3.6vw,44px); margin-bottom:14px; color:#fff}
  .home .ctaband p{color:rgba(255,255,255,.9); margin-bottom:28px; font-size:1.08rem; max-width:650px; margin-left:auto; margin-right:auto}
  .home .ctaband .btns{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}

  /* footer */
  footer{background:#0054a6; color:#fff; padding:0 0 0; font-size:.9rem}
  .ftop{padding:56px 0 0}
  .fgrid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:30px; padding-bottom:36px}
  footer .logoph{color:#fff; border-color:rgba(255,255,255,.3); margin-bottom:14px}
  .flogo{display:inline-flex; align-items:center; margin-bottom:14px}
  .flogo img{display:block; width:auto; height:58px; max-width:170px}
  footer h4{color:#fff; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; font-weight:500}
  footer li{margin-bottom:9px}
  footer a:hover{color:#fff}

  footer p,
  footer li,
  footer a,
  footer .fmid .fl a{color:#fff}
  .appbadge{background:#000; border:1px solid #000; border-radius:8px; padding:8px 12px; font-size:.78rem; color:#fff; display:inline-flex; gap:7px; align-items:center; margin-bottom:9px}
  .fmid{border-top:1px solid rgba(255,255,255,.12); padding:18px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px}
  .fmid .fl{display:flex; gap:20px; font-size:.82rem}
  .fmid .fsoc{display:flex; gap:14px}
  .fmid .fsoc svg{width:17px; height:17px; fill:#fff}
  .fbar{border-top:1px solid rgba(255,255,255,.16); padding:16px 0 22px; display:flex; justify-content:space-between; font-size:.8rem; color:#fff; flex-wrap:wrap; gap:8px}

  /* a11y + mobile menu */
  :focus-visible{outline:3px solid var(--red); outline-offset:2px; border-radius:4px}
  .topbar :focus-visible{outline-color:var(--red)}
  footer :focus-visible, .home .daily :focus-visible{outline-color:#fff}
  .burger{display:none; background:transparent; border:1.5px solid #d3cec5; border-radius:9px; width:42px; height:38px; align-items:center; justify-content:center; cursor:pointer; color:var(--ink)}
  .burger svg{width:20px; height:20px; stroke:currentColor; stroke-width:2; fill:none}
  .mobilemenu{display:none; flex-direction:column; padding:8px 28px 22px; border-bottom:1px solid var(--line); background:#fff}
  .mobilemenu a{padding:13px 4px; font-size:1rem; color:var(--ink); border-bottom:1px solid var(--line)}
  .mobilemenu .mbtns{display:flex; gap:10px; margin-top:16px}
  .mobilemenu .mbtns .btn{flex:1; justify-content:center}

  @media(max-width:980px){
    .mega .wrap{flex-direction:column}
    .megaside{width:100%}
    .home .logowall{grid-template-columns:repeat(4,1fr)}
  }
  @media(max-width:900px){
    .home .hero{min-height:clamp(480px,66vh,600px)}
    .home .hero .wrap{padding:0 28px 52px}
    .home .hero h1{font-size:2.7rem; line-height:1.1}
    .home .hero .heroimg-bg{background-position:center 32%}
    .home .hero .heroimg-bg::after{background:linear-gradient(180deg, rgba(20,40,70,.10) 0%, rgba(20,40,70,.24) 52%, rgba(20,40,70,.46) 100%)}
    .home .panel{grid-template-columns:1fr; gap:8px; padding:32px 26px}
    .home .units2{max-width:560px}
    .home .news{grid-template-columns:1fr 1fr}
    .home .app, .home .testi, .home .diff{grid-template-columns:1fr}
    .home .testi .av, .home .diffimg{height:300px}
    .fgrid{grid-template-columns:1fr 1fr}
    .home .daily{padding:38px 28px}
    .home .logowall{grid-template-columns:repeat(3,1fr)}
  }
  @media(max-width:560px){
    .links{display:none}
    .brand img{height:44px; max-width:125px}
    .act{display:none}
    .burger{display:inline-flex}
    .mobilemenu.open{display:flex}
    .home .units2, .home .news, .fgrid{grid-template-columns:1fr}
    .home .logowall{grid-template-columns:repeat(2,1fr)}
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    *{transition-duration:.001ms !important; animation-duration:.001ms !important}
    .home .unit2:hover, .home .ncard:hover{transform:none}
  }

  @media(max-width:760px){
    .home .panel-intro h2{white-space:normal}
  }


  @media(max-width:900px){
    .home .pillar-feature, .home .pillar-feature.reverse{grid-template-columns:1fr}
    /* image leads on every pillar so the stacked rhythm is consistent:
       picture -> heading -> links, top to bottom */ .home .pillar-feature .pf-media{order:-1}
    .home .pillar-feature .pf-copy{order:0}
    .home .pf-copy{padding:38px 28px}
    .home .pf-media{min-height:280px}
  }

  /* ============================================================
     MOBILE RESPONSIVE ENHANCEMENTS
     ============================================================ */

  /* Guard against sideways scrolling and runaway media */
  html,body{overflow-x:hidden}
  img{max-width:100%}

  /* Collapse the desktop nav to a hamburger before the full
     menu + mega dropdowns start to crowd on tablets */
  @media(max-width:900px){
    nav .wrap{padding:10px 22px}
    .links{display:none}
    .act{display:none}
    .burger{display:inline-flex; color:#fff; border-color:rgba(255,255,255,.5)}
    .burger:hover{border-color:#fff; background:rgba(255,255,255,.12)}
    .burger svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
    .mobilemenu.open{display:flex}
    .mobilemenu{padding:8px 22px 22px}
    .mobilemenu .mbtns{flex-direction:column}
  }

  /* Tablet / large phone */
  @media(max-width:760px){
    section{padding:56px 0}
    .sechead{margin-bottom:34px}
    .sechead h2, .home .thead h2{font-size:1.8rem}
    .home .diffbody h2{font-size:1.8rem}
    .home .diff{gap:34px}
    .home .app{padding:40px 30px; gap:34px}
    .home .ctaband{padding:52px 34px}
    .home .ctaband h2{font-size:32px}
    .home .daily{padding:40px 32px}
    .home .daily h2{font-size:1.9rem}
    .home .testi{gap:30px}
    .home .testi blockquote{font-size:1.3rem}
    .home .pf-copy h3{font-size:1.7rem}
  }

  /* Phones */
  @media(max-width:560px){
    .wrap{padding:0 20px}
    section{padding:46px 0}

    .sechead h2, .home .thead h2, .home .diffbody h2{font-size:1.55rem}
    .sechead p, .home .thead p{font-size:.98rem}

    .home .unit2{height:240px}
    .home .unit2 .ucap .nm{font-size:1.35rem}

    .home .daily{padding:34px 24px}
    .home .daily h2{font-size:1.65rem}
    .home .daily .win-amt{font-size:2.6rem}
    .home .daily p{font-size:1rem}

    .home .diffimg, .home .testi .av{height:240px}
    .home .diffbody h2{font-size:1.6rem}

    .home .app{padding:34px 24px; gap:28px}
    .home .app h2{font-size:1.6rem}
    .home .appimg{width:210px; height:432px; border-width:8px}
    .home .stores{flex-wrap:wrap}

    .home .pf-copy{padding:34px 24px}
    .home .pf-copy h3{font-size:1.55rem}
    .home .pf-media::before{width:148px; height:68px; background-size:auto 68px; top:auto!important; right:-34px!important; bottom:-18px!important; left:auto!important}

    .home .ctaband{padding:44px 24px; border-radius:20px}
    .home .ctaband h2{font-size:28px}
    .home .ctaband p{font-size:1rem}
    .home .ctaband .btns{gap:10px}
    .ctaband .btns .btn{flex:1 1 auto; justify-content:center}

    .home .testi blockquote{font-size:1.2rem}

    /* Footer: readable two-up on small screens, brand full width */
    .fgrid{grid-template-columns:1fr 1fr; gap:26px}
    .fgrid>div:first-child{grid-column:1 / -1}
    .fmid{flex-direction:column; align-items:flex-start}
    .fbar{flex-direction:column; gap:6px}
  }

  /* Small phones */
  @media(max-width:400px){
    .wrap{padding:0 16px}
    .fgrid{grid-template-columns:1fr}
    .home .appimg{width:190px; height:390px}
  }



  /* MOBILE HERO — copy and primary CTA anchor to the bottom of the image */ .home .mobile-hero-media{display:none}
  @media(max-width:560px){
    .home .hero{
      position:relative;
      display:grid;
      align-items:end;
      aspect-ratio:4 / 5;
      min-height:0;
      overflow:hidden;
      background:#0054a6;
      padding:0;
    }
    .home .hero .heroimg-bg{display:none}
    .home .mobile-hero-media{
      display:block;
      position:absolute;
      inset:0;
      z-index:0;
      width:100%;
      height:100%;
      overflow:hidden;
      background:#0054a6;
      border-radius:0;
    }
    .home .mobile-hero-media::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:linear-gradient(180deg,rgba(10,35,55,0) 28%,rgba(10,35,55,.12) 50%,rgba(10,35,55,.72) 100%);
    }
    .home .mobile-hero-media img{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
    }
    .home .hero .wrap{
      position:absolute !important;
      left:0;
      right:0;
      bottom:0;
      top:auto;
      z-index:2;
      width:100%;
      margin:0;
      padding:0 20px clamp(24px,6vw,34px);
    }
    .home .hero .herotext{
      max-width:360px;
      margin:0;
      padding:0;
      background:transparent;
      color:#fff;
      border-radius:0;
      box-shadow:none;
    }
    .home .hero .herotext::before{display:none}
    .home .hero h1{
      max-width:330px;
      margin:0 0 18px;
      color:#fff;
      font-size:clamp(1.95rem,8.7vw,2.65rem);
      line-height:1.06;
      letter-spacing:-.03em;
      white-space:normal;
      text-wrap:balance;
      text-shadow:0 2px 16px rgba(7,29,43,.42);
    }
    .home .hero .btns{
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:0;
    }
    .home .hero .btn.ghost{display:none}
    .home .hero .btn.red{
      display:inline-flex;
      width:auto;
      justify-content:center;
      padding:15px 24px;
      border-radius:9px;
      font-size:.98rem;
      min-height:48px;
      background:var(--red);
      color:#fff;
      box-shadow:0 8px 22px rgba(80,18,12,.22);
    }
  }

  @media(max-width:400px){
    .home .hero .wrap{padding:0 16px 20px}
    .home .hero h1{max-width:290px; font-size:clamp(1.8rem,8.5vw,2.15rem)}
    .home .hero .btn.red{padding:13px 18px; min-height:46px; font-size:.94rem}
  }

  /* Mobile-only carousels: native swipe + scroll snap, with an intentional
     next-card peek and compact brand controls. Desktop remains a three-card grid. */ .home .mobile-slider-controls{display:none}
  .home .slider-status{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  @media(max-width:560px){
    .home .tgrid, .home .news{
      display:grid;
      grid-template-columns:none;
      grid-auto-flow:column;
      grid-auto-columns:calc(100% - 36px);
      gap:14px;
      overflow-x:auto;
      overscroll-behavior-inline:contain;
      scroll-snap-type:x mandatory;
      scroll-padding-inline:0;
      scrollbar-width:none;
      -webkit-overflow-scrolling:touch;
      margin-right:-20px;
      padding:4px 20px 16px 0;
    }
    .home .tgrid::-webkit-scrollbar, .home .news::-webkit-scrollbar{display:none}
    .home .tgrid .tcard, .home .news .ncard{
      min-width:0;
      height:100%;
      scroll-snap-align:start;
      scroll-snap-stop:always;
    }
    .home .tsec .tgrid{
      grid-auto-columns:82%;
      gap:20px;
      padding-bottom:12px;
    }
    .home .tsec .tcard{
      position:relative;
      border:0;
      border-radius:14px;
      box-shadow:none;
    }
    .home .news-section .news{
      grid-auto-columns:82%;
      gap:20px;
      padding-bottom:12px;
    }
    .home .news-section .news .ncard{
      position:relative;
      overflow:visible;
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
    }
    .home .news-section .news .ncard:hover{transform:none; box-shadow:none}
    .home .news-section .news .ncard .nimg{
      position:relative;
      width:100%;
      height:auto;
      aspect-ratio:1 / 1;
      border-radius:14px;
      overflow:hidden;
    }
    .home .news-section .news .ncard .nbody{padding:18px 0 0}
    .home .news-section .news .ncard .tag{
      position:absolute;
      z-index:3;
      top:12px;
      left:12px;
      margin:0;
      padding:7px 12px;
      border-radius:999px;
      background:#fff;
      color:var(--red) !important;
      box-shadow:0 3px 12px rgba(20,40,70,.12);
    }
    .home .news-section .news .ncard h3{
      margin-bottom:10px;
      font-size:clamp(1.35rem,6vw,1.65rem);
      line-height:1.18;
      letter-spacing:-.02em;
    }
    .home .news-section .news .ncard p{
      margin-bottom:12px;
      font-size:1rem;
      line-height:1.55;
    }
    .home .mobile-slider-controls{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin-top:10px;
    }
    .home .slider-dots{display:flex; align-items:center; gap:7px}
    .home .slider-dot{
      width:7px;
      height:7px;
      padding:0;
      border:0;
      border-radius:999px;
      background:rgba(124,106,85,.28);
      transition:width .2s ease,background-color .2s ease;
    }
    .home .slider-dot.is-active{width:22px; background:var(--red)}
    .home .slider-actions{display:flex; gap:8px}
    .home .slider-arrow{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:42px;
      height:42px;
      padding:0;
      border:1px solid rgba(124,106,85,.28);
      border-radius:50%;
      background:#fff;
      color:var(--blue);
      font:400 1.7rem/1 'Poppins',sans-serif;
      cursor:pointer;
    }
    .home .slider-arrow:disabled{opacity:.34; cursor:default}
    .home .slider-arrow:not(:disabled):active{transform:scale(.96)}

    .home .news-section [data-controls-for="qri-news"]{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      align-items:center;
      gap:14px;
      margin-top:10px;
    }
    .home .news-section [data-controls-for="qri-news"] .slider-dots{
      display:flex;
      width:100%;
      height:3px;
      gap:0;
      overflow:hidden;
      border-radius:999px;
      background:rgba(204,68,54,.28);
    }
    .home .news-section [data-controls-for="qri-news"] .slider-dot{
      flex:1 1 0;
      width:auto;
      height:3px;
      border-radius:0;
      background:transparent;
      transition:background-color .2s ease;
    }
    .home .news-section [data-controls-for="qri-news"] .slider-dot.is-active{
      width:auto;
      background:var(--red);
    }

    .home .tsec [data-controls-for="member-testimonials"]{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      align-items:center;
      gap:14px;
      margin-top:10px;
    }
    .home .tsec [data-controls-for="member-testimonials"] .slider-dots{
      display:flex;
      width:100%;
      height:3px;
      gap:0;
      overflow:hidden;
      border-radius:999px;
      background:rgba(204,68,54,.28);
    }
    .home .tsec [data-controls-for="member-testimonials"] .slider-dot{
      flex:1 1 0;
      width:auto;
      height:3px;
      border-radius:0;
      background:transparent;
      transition:background-color .2s ease;
    }
    .home .tsec [data-controls-for="member-testimonials"] .slider-dot.is-active{
      width:auto;
      background:var(--red);
    }
  }

  @media(max-width:400px){
    .home .tgrid, .home .news{
      grid-auto-columns:calc(100% - 28px);
      margin-right:-16px;
      padding-right:16px;
    }
    .home .news-section .news, .home .tsec .tgrid{grid-auto-columns:82%}
  }




  /* Mobile-only line break for the News and Events heading */
  @media(max-width:560px){
    .home .news-events-heading span{display:block}
  }

  /* Keep all ordinary typography on light surfaces consistently QRI taupe.
     Coloured bands, the hero, footer and CTA buttons retain their own colours. */ .home .panel-sec .pf-copy h3, .home .panel-sec .pf-copy p, .home .panel-sec .pf-links a, .home .tsec .thead h2, .home .tsec .thead p, .home .tsec .tquote, .home .tsec .tauthor strong, .home .tsec .tauthor span, .home .about-sec .diffbody h2, .home .about-sec .diffbody p, .home .about-sec .diffex li, .home .about-sec .dmark, .news-section .sechead h2, .news-section .sechead p, .home .news-section .nbody .tag, .home .news-section .nbody h3, .home .news-section .nbody p, .mega .mh, .mega .gh, .mega a.item, .iwant h4, .iwant a{
    color:#7c6a55 !important;
  }

  /* Refined QRI pattern integration */ .home .hero::after{
    content:"";
    position:absolute;
    z-index:3;
    left:0;
    right:0;
    bottom:0;
    height:48px;
    background:url("assets/img/pattern-hero-strip.svg") center/cover no-repeat;
    pointer-events:none;
  }

  .home .daily{
    background-color:#2350a9;
    background-image:url("assets/img/pattern-daily.svg");
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
  }

  .home .ctaband{
    background-color:#ce3531;
    background-image:url("assets/img/pattern-ctaband.svg");
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    /* Match the membership-options closing panel: QRI red gradient, no GEO artwork. */
    background-image:linear-gradient(135deg,#a9342a 0%,#cc4436 55%,#d85b4e 100%);
  }

  .home .pf-media::before{
    display:none;
    width:250px;
    height:250px;
    opacity:1;
    filter:none;
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
  }
  .home .pf-sav .pf-media::before{
    display:block;
    top:0;
    left:0;
    right:auto;
    bottom:auto;
    transform:none;
    background-image:url("assets/img/pattern-pillar-savings.svg");
  }
  .home .pf-sup .pf-media::before{
    display:block;
    top:auto;
    left:auto;
    right:0;
    bottom:0;
    transform:rotate(180deg);
    background-image:url("assets/img/pattern-pillar-support.svg");
  }

  @media(max-width:600px){
    .home .hero::after{display:none}
    .home .pf-media::before{width:180px!important; height:180px!important; background-size:contain!important}
    .home .pf-sav .pf-media::before{top:0!important; left:0!important; right:auto!important; bottom:auto!important}
    .home .pf-sup .pf-media::before{top:auto!important; left:auto!important; right:0!important; bottom:0!important}
  }

  /* Keep the tonal colour blocks; remove hero and image artwork. */ .home .hero::after, .home .pf-media::before{display:none!important}

  /* The accent is part of the real border so it follows the rounded corners naturally. */ .home .pillar-feature::before{display:none}
  .home .pillar-feature{border-top-width:5px}
  .home .pillar-feature.pf-sav{border-top-color:#cc4436}
  .home .pillar-feature.pf-com{border-top-color:#7c6a55}
  .home .pillar-feature.pf-sup{border-top-color:#0054a6}
  .home .pillar-feature:hover, .home .pillar-feature:focus-within{border-top-color:rgb(var(--accent-rgb))}

  .footer-geo-strip{
    width:100%;
    height:84px;
    background-color:#fff;
    background-image:url("assets/img/pattern-qri-corner.svg");
    background-repeat:repeat-x;
    background-position:center;
    background-size:auto 100%;
  }
  @media(max-width:600px){
    .footer-geo-strip{height:56px}
  }


.lnk, .news-section .nbody .lnk, .news-section .news .ncard .nbody .lnk{color:var(--red)!important}
.lnk:hover, .news-section .nbody .lnk:hover, .news-section .news .ncard .nbody .lnk:hover{color:var(--blue)!important}

/* nav secondary CTA: transparent, blue on hover */
nav .act .btn.ghost{background:transparent!important; color:#fff!important; border:1.5px solid rgba(255,255,255,.65)!important}
nav .act .btn.ghost:hover{background:var(--blue)!important; border-color:var(--blue)!important; color:#fff!important}
nav.scrolled .act .btn.ghost{background:transparent!important; color:#fff!important; border-color:rgba(255,255,255,.7)!important}
nav.scrolled .act .btn.ghost:hover{background:var(--blue)!important; border-color:var(--blue)!important; color:#fff!important}

/* ---- build fixes ---- */
/* Stacking: nav is position:fixed, so its z-index is the stacking context for
   everything inside it, including .mega. The hub's sticky jump bar resolves to
   z-index:80, which painted over the open dropdown while scrolling. nav sits
   above it at 100, with .mobilemenu just under the nav at 99 and skip links
   still on top at 200. */
/* These four are re-applied on every rebuild: the design exports are produced
   as standalone HTML and have never included them. */

/* mobile menu: fixed overlay so it opens correctly at any scroll position */
.mobilemenu{position:fixed; top:64px; left:0; right:0; z-index:99;
  max-height:calc(100dvh - 64px); overflow-y:auto; box-shadow:0 16px 30px rgba(20,30,45,.16)}

/* nav action buttons must actually hide on small screens.
   The export sets nav .act{display:flex} (0-1-1), which outranks the
   .act{display:none} in its own media queries (0-1-0), so both CTAs render
   on top of the burger. Matching the specificity is what fixes it. */
@media(max-width:900px){
  nav .act{display:none}
}

/* Footer alignment is left to the design's own rules. An override added in
   v1.2.0 right-aligned the whole footer above 901px, which the approved
   design never did: its .fgrid is a plain grid and .fmid/.fbar are
   space-between, so everything sits left with the trailing item pushed right. */

/* member CTA block: square on phones */
@media(max-width:560px){
  .home .ctaband{border-radius:0}
}

/* Hub jump bar sits directly under our fixed nav. The export hard-codes
   top:74px, matching the designer's own 75px nav; ours is 75px above the
   560px breakpoint and 65px below it, so a flat 74px left a 9px gap on
   phones with page content showing through between the two bars.
   The export's last rule is top:74px!important, so this needs !important too
   (specificity alone loses to it), plus the nav qualifier to stay above any
   equally-important rule emitted later in this file. */
.hub-page nav.destination-jump{top:75px!important}
@media(max-width:560px){
  .hub-page nav.destination-jump{top:65px!important}
}

/* ===================================================
   PAGE: Holiday Units Hub (page-holiday-units.php)
   Extracted from the 4 August approved design. Only rules that
   actually match the markup are kept, in original cascade order,
   scoped under .hub-page so they cannot affect other pages.
   =================================================== */
.hub-page .badge, .hub-page .tag{font-family:'Poppins',sans-serif}
.hub-page .holiday-media{position:relative; min-height:245px; background-size:cover; background-position:center; overflow:hidden}
.hub-page .holiday-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,58,110,.04), rgba(10,58,110,.28))}
.hub-page .holiday-media.coolum{background-image:url("assets/img/unit-coolum-hub.webp"); background-position:center center}
.hub-page .holiday-media.mermaid{background-image:url("assets/img/unit-mermaid-beach-hub.webp"); background-position:center center}
.hub-page .holiday-media.yeppoon{background-image:url("assets/img/unit-yeppoon-hub.webp"); background-position:center center}
.hub-page .holiday-media.brisbane{background-image:url("assets/img/unit-brisbane-hub.webp"); background-position:center center}
.hub-page .card-link{margin-top:auto; padding-top:24px}
.hub-page .reciprocal-sec{background:var(--cream)}
.hub-page .partner-card{background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-sm); padding:24px 24px 22px}
.hub-page .partner-card h3{font-size:1.06rem; margin:10px 0 16px; color:var(--ink)}
@media (max-width:560px){
  .hub-page .partner-grid{grid-template-columns:1fr}
}
.hub-page .card-region{font-family:'Poppins',sans-serif; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--taupe); font-weight:600; margin-bottom:8px}
.hub-page .card-link{font-size:.92rem}
.hub-page .partner-card h3{margin-top:8px}
.hub-page .reciprocal-sec{background:#fff}
.hub-page #qri-owned-units{padding-top:82px}
.hub-page .holiday-media{display:block; min-height:270px}
.hub-page .holiday-media::after{background:linear-gradient(180deg, rgba(10,58,110,.02), rgba(10,58,110,.20))}
.hub-page .card-link{padding-top:26px}
.hub-page .reciprocal-sec{background:#fff}
.hub-page .partner-card{padding:0; overflow:hidden; border-radius:24px; display:flex; flex-direction:column}
.hub-page .partner-media{display:block; min-height:150px; background-size:cover; background-position:center}
.hub-page .partner-media.nsw{background-image:url("assets/img/reciprocal-nsw.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-media.vic{background-image:url("assets/img/reciprocal-vic.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-media.wa{background-image:url("assets/img/reciprocal-wa.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-media.tas{background-image:url("assets/img/reciprocal-tas.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-media.sa{background-image:url("assets/img/reciprocal-sa.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-media.nz{background-image:url("assets/img/reciprocal-nz.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-copy{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1}
.hub-page .partner-copy h3{font-size:1.08rem; margin:8px 0 10px; color:var(--ink)}
.hub-page .partner-copy p{font-size:.94rem; color:var(--body); line-height:1.55}
.hub-page .partner-link{margin-top:auto; padding-top:22px}
@media (max-width:900px){
  .hub-page .holiday-media{min-height:230px}
}
@media (max-width:560px){
  .hub-page #qri-owned-units{padding-top:58px}
}
.hub-page .holiday-media{min-height:300px; background-size:cover; image-rendering:auto}
.hub-page .holiday-media::after{content:none!important; display:none!important}
@media (max-width:900px){
  .hub-page .holiday-media{min-height:260px}
}
.hub-page .holiday-media::after{content:none!important; display:none!important; background:none!important}
.hub-page .holiday-media{background-size:cover; filter:none!important}
.hub-page .holiday-media{background-size:cover; image-rendering:auto; backface-visibility:hidden}
.hub-page .holiday-media::after{content:none!important; display:none!important; background:none!important}
.hub-page .destination-jump{position:sticky!important; top:0; z-index:70; background:#fff!important; border-bottom:1px solid var(--line)!important; box-shadow:0 10px 24px rgba(20,32,45,.06); font-family:'Poppins',sans-serif}
.hub-page .destination-jump .jump-wrap{display:flex; align-items:center; gap:28px; min-height:82px; padding:0 28px; overflow-x:auto; scrollbar-width:none}
.hub-page .destination-jump .jump-wrap::-webkit-scrollbar{display:none}
.hub-page .destination-jump .jump-label{flex:0 0 auto; font-size:1.05rem; color:var(--blue-deep); font-weight:400; white-space:nowrap}
.hub-page .destination-jump a{position:relative; flex:0 0 auto; display:inline-flex; align-items:center; min-height:82px; color:var(--blue-deep); font-size:.92rem; line-height:1; letter-spacing:.08em; text-transform:uppercase; font-weight:600; white-space:nowrap; padding:0 2px; transition:color .16s ease}
.hub-page .destination-jump a::after{content:""; position:absolute; left:0; right:0; bottom:22px; height:2px; background:transparent; transition:background .16s ease}
.hub-page .destination-jump a:hover{color:var(--red)}
.hub-page .destination-jump a:hover::after{background:var(--red)}
.hub-page .destinations-section{background:#fff; padding:92px 0 98px}
.hub-page .destination-intro{max-width:860px; margin:0 auto 58px; text-align:center}
.hub-page .destination-intro h2{font-size:clamp(2.4rem,4.9vw,4.7rem); color:var(--blue-deep); line-height:1.05; margin:12px 0 18px; letter-spacing:-.035em}
.hub-page .destination-intro p{font-size:1.12rem; line-height:1.76; color:var(--body); max-width:780px; margin:0 auto}
.hub-page .destination-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; align-items:start}
.hub-page .destination-card{background:#fff; border:0; border-radius:0; box-shadow:none; overflow:visible; scroll-margin-top:118px}
.hub-page .destination-card .destination-media{display:block; min-height:300px; border-radius:10px; overflow:hidden; background-size:cover; background-position:center; transition:transform .18s ease, box-shadow .18s ease}
.hub-page .destination-card .destination-media::after{background:linear-gradient(180deg,rgba(10,58,110,.02),rgba(10,58,110,.26))}
.hub-page .destination-card:hover .destination-media{transform:translateY(-3px); box-shadow:0 18px 36px rgba(10,40,90,.15)}
.hub-page .destination-copy{padding:24px 0 0; display:flex; flex-direction:column}
.hub-page .card-region{font-family:'Poppins',sans-serif; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--red); font-weight:600; display:block; margin-bottom:9px}
.hub-page .destination-copy h3{font-size:clamp(1.55rem,2.25vw,2.15rem); color:var(--blue-deep); margin:0 0 12px; line-height:1.14}
.hub-page .destination-copy h3 a{text-decoration:none}
.hub-page .destination-copy h3 a:hover{text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:5px}
.hub-page .destination-copy p{font-size:.98rem; line-height:1.64; color:#46515a; margin:0; max-width:96%}
.hub-page .destination-copy .card-link{padding-top:22px; margin-top:auto}
.hub-page .reciprocal-sec{padding:88px 0 96px!important; background:var(--cream)!important}
.hub-page .partner-card{border-radius:20px!important; border:1px solid rgba(72,61,52,.1)!important; box-shadow:0 12px 28px rgba(75,45,35,.07)!important; background:#fff!important}
.hub-page .partner-media{min-height:165px!important}
.hub-page .booking-options{background:#fff; padding:88px 0 104px}
.hub-page .booking-head{max-width:820px; margin:0 auto 42px; text-align:center}
.hub-page .booking-head h2{font-size:clamp(2.2rem,4vw,3.7rem); color:var(--blue-deep); margin:12px 0 16px; letter-spacing:-.03em}
.hub-page .booking-head p{font-size:1.08rem; line-height:1.72; color:var(--body); max-width:760px; margin:0 auto}
.hub-page .booking-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px}
.hub-page .booking-card{border-radius:28px; padding:42px 40px; border:1px solid var(--line); box-shadow:0 14px 34px rgba(10,40,90,.08)}
.hub-page .booking-card h3{font-size:1.75rem; color:var(--ink); margin:12px 0 12px}
.hub-page .booking-card p{font-size:1rem; line-height:1.68; color:var(--body); margin:0 0 26px; max-width:520px}
.hub-page .booking-tag{font-family:'Poppins',sans-serif; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--red); font-weight:600}
.hub-page .member-card{background:linear-gradient(135deg,#fff,var(--red-tint))}
.hub-page .nonmember-card{background:linear-gradient(135deg,#fff,var(--blue-tint))}
.hub-page #reciprocal-accommodation, .hub-page #booking-options{scroll-margin-top:118px}
@media (max-width:1100px){
  .hub-page .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hub-page .destination-jump .jump-wrap{gap:22px; min-height:72px}
  .hub-page .destination-jump a{min-height:72px; font-size:.84rem}
  .hub-page .destination-jump a::after{bottom:17px}
  .hub-page .booking-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .hub-page .destination-jump .jump-label{font-size:.98rem}
  .hub-page .destinations-section, .hub-page .reciprocal-sec, .hub-page .booking-options{padding:64px 0!important}
  .hub-page .destination-grid, .hub-page .partner-grid{grid-template-columns:1fr!important}
  .hub-page .destination-card .destination-media{min-height:245px}
  .hub-page .booking-card{padding:30px 24px}
}
.hub-page .destination-jump a{font-family:'Poppins',system-ui,sans-serif!important}
.hub-page .card-region, .hub-page .booking-tag, .hub-page .state-label{display:none!important}
.hub-page .destination-jump{top:0!important; z-index:80!important; background:#fff!important; border-bottom:1px solid var(--line)!important; box-shadow:0 8px 20px rgba(0,0,0,.055)!important}
.hub-page .destination-jump .jump-wrap{min-height:84px!important; gap:34px!important; padding:0 28px!important}
.hub-page .destination-jump .jump-label{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.05rem!important; color:var(--blue)!important; font-weight:400!important}
.hub-page .destination-jump a{min-height:84px!important; font-size:.88rem!important; font-weight:600!important; letter-spacing:.09em!important; color:var(--blue)!important; text-transform:uppercase!important}
.hub-page .destination-jump a::after{bottom:22px!important; height:2px!important}
.hub-page .destination-jump a:hover, .hub-page .destination-jump a.active{color:var(--red)!important}
.hub-page .destination-jump a:hover::after, .hub-page .destination-jump a.active::after{background:var(--red)!important}
.hub-page .destinations-section{padding:110px 0 118px!important; background:#fff!important}
.hub-page .destination-intro{max-width:880px!important; margin:0 auto 72px!important; text-align:center!important}
.hub-page .destination-intro h2{font-size:clamp(2.45rem,4.2vw,4.15rem)!important; line-height:1.12!important; font-weight:500!important; color:var(--blue)!important; letter-spacing:-.025em!important; margin:0 0 22px!important}
.hub-page .destination-intro p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:clamp(1.05rem,1.18vw,1.18rem)!important; line-height:1.78!important; color:var(--body)!important; max-width:790px!important; margin:0 auto!important}
.hub-page .destination-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:34px!important}
.hub-page .destination-card{scroll-margin-top:120px!important}
.hub-page .destination-card .destination-media{min-height:315px!important; border-radius:8px!important; box-shadow:none!important; background-size:cover!important; background-position:center!important}
.hub-page .destination-card:hover .destination-media{transform:translateY(-2px)!important; box-shadow:0 14px 32px rgba(0,84,166,.14)!important}
.hub-page .destination-copy{padding:26px 0 0!important}
.hub-page .destination-copy h3{font-size:clamp(1.65rem,2vw,2.05rem)!important; line-height:1.2!important; font-weight:500!important; color:var(--blue)!important; margin:0 0 16px!important; letter-spacing:-.015em!important}
.hub-page .destination-copy p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1rem!important; line-height:1.68!important; color:var(--body)!important; max-width:95%!important}
.hub-page .reciprocal-sec{padding:104px 0 112px!important; background:var(--cream)!important; overflow:hidden!important}
.hub-page .slider-head{display:flex!important; align-items:flex-end!important; justify-content:space-between!important; gap:32px!important; margin-bottom:46px!important}
.hub-page .slider-title{max-width:760px!important}
.hub-page .slider-title h2{font-size:clamp(2.35rem,3.8vw,3.85rem)!important; line-height:1.12!important; font-weight:500!important; color:var(--blue)!important; letter-spacing:-.025em!important; margin:0 0 18px!important}
.hub-page .slider-title p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.08rem!important; line-height:1.75!important; color:var(--body)!important; max-width:700px!important}
.hub-page .slider-actions{display:flex!important; align-items:center!important; gap:12px!important; flex:0 0 auto!important; padding-bottom:10px!important}
.hub-page .slider-btn{width:44px!important; height:44px!important; border-radius:50%!important; border:1px solid var(--warm)!important; background:#fff!important; color:var(--blue)!important; font-size:2rem!important; line-height:1!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; cursor:pointer!important; transition:.18s ease!important; padding:0 0 4px!important}
.hub-page .slider-btn:hover{border-color:var(--red)!important; color:var(--red)!important; transform:translateY(-1px)!important}
.hub-page .reciprocal-slider{display:flex!important; gap:28px!important; overflow-x:auto!important; scroll-snap-type:x mandatory!important; padding:4px 4px 22px!important; margin:0 -4px!important; scrollbar-width:thin!important; scrollbar-color:var(--warm) transparent!important}
.hub-page .reciprocal-slider::-webkit-scrollbar{height:8px!important}
.hub-page .reciprocal-slider::-webkit-scrollbar-thumb{background:var(--warm)!important; border-radius:999px!important}
.hub-page .reciprocal-slider .partner-card{flex:0 0 clamp(300px,31vw,390px)!important; scroll-snap-align:start!important; background:#fff!important; border:1px solid var(--line)!important; border-radius:8px!important; box-shadow:none!important; padding:0!important; overflow:hidden!important; display:flex!important; flex-direction:column!important; min-height:430px!important}
.hub-page .reciprocal-slider .partner-media{min-height:220px!important; display:block!important; background-size:cover!important; background-position:center!important; position:relative!important}
.hub-page .reciprocal-slider .partner-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,84,166,.05),rgba(0,84,166,.2))}
.hub-page .partner-media.nsw{background-image:url("assets/img/reciprocal-nsw.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-media.vic{background-image:url("assets/img/reciprocal-vic.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-media.wa{background-image:url("assets/img/reciprocal-wa.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-media.tas{background-image:url("assets/img/reciprocal-tas.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-media.sa{background-image:url("assets/img/reciprocal-sa.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .partner-media.nz{background-image:url("assets/img/reciprocal-nz.webp")!important; background-position:center center!important; background-size:cover!important}
.hub-page .reciprocal-slider .partner-copy{padding:28px 28px 30px!important; display:flex!important; flex-direction:column!important; flex:1!important}
.hub-page .reciprocal-slider .partner-copy h3{font-size:1.75rem!important; line-height:1.2!important; color:var(--blue)!important; font-weight:500!important; margin:0 0 14px!important; letter-spacing:-.015em!important}
.hub-page .reciprocal-slider .partner-copy p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1rem!important; line-height:1.68!important; color:var(--body)!important; margin:0 0 22px!important}
.hub-page .reciprocal-slider .partner-link{margin-top:auto!important}
.hub-page .booking-options{padding:104px 0 116px!important; background:#fff!important}
.hub-page .booking-head{max-width:820px!important; margin:0 auto 52px!important; text-align:center!important}
.hub-page .booking-head h2{font-size:clamp(2.35rem,3.7vw,3.7rem)!important; line-height:1.12!important; font-weight:500!important; color:var(--blue)!important; letter-spacing:-.025em!important; margin:0 0 18px!important}
.hub-page .booking-head p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.08rem!important; line-height:1.75!important; color:var(--body)!important; max-width:700px!important}
.hub-page .booking-grid{gap:30px!important}
.hub-page .booking-card{border-radius:8px!important; border:1px solid var(--line)!important; box-shadow:none!important; padding:44px 42px!important}
.hub-page .booking-card h3{font-size:1.8rem!important; line-height:1.2!important; font-weight:500!important; color:var(--blue)!important; margin:0 0 14px!important}
.hub-page .booking-card p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1rem!important; line-height:1.7!important; color:var(--body)!important; margin:0 0 28px!important}
.hub-page .member-card{background:linear-gradient(135deg,#fff 0%,#fff 62%,rgba(204,68,54,.08) 100%)!important}
.hub-page .nonmember-card{background:linear-gradient(135deg,#fff 0%,#fff 62%,rgba(0,84,166,.08) 100%)!important}
@media (max-width:1100px){
  .hub-page .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hub-page .slider-head{align-items:flex-start!important; flex-direction:column!important}
  .hub-page .slider-actions{padding-bottom:0!important}
}
@media (max-width:760px){
  .hub-page .destination-jump .jump-wrap{min-height:72px!important; gap:24px!important}
  .hub-page .destination-jump a{min-height:72px!important; font-size:.82rem!important}
  .hub-page .destinations-section, .hub-page .reciprocal-sec, .hub-page .booking-options{padding:76px 0 84px!important}
  .hub-page .destination-grid{grid-template-columns:1fr!important; gap:42px!important}
  .hub-page .destination-card .destination-media{min-height:270px!important}
  .hub-page .slider-actions{width:100%!important; justify-content:space-between!important; gap:10px!important}
  .hub-page .reciprocal-slider .partner-card{flex-basis:82vw!important; min-height:400px!important}
  .hub-page .booking-grid{grid-template-columns:1fr!important}
}
@media (max-width:520px){
  .hub-page .booking-card{padding:32px 26px!important}
}
.hub-page .destination-jump{top:0!important; z-index:75!important; box-shadow:0 8px 22px rgba(10,40,90,.07)!important}
.hub-page .destination-jump .jump-wrap{min-height:86px!important; gap:34px!important}
.hub-page .destination-jump .jump-label{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.04rem!important; color:var(--blue)!important}
.hub-page .destination-jump a{min-height:86px!important; font-size:.9rem!important; letter-spacing:.075em!important; color:var(--blue)!important}
.hub-page .destination-jump a::after{bottom:24px!important; background:transparent!important}
.hub-page .destination-jump a:hover, .hub-page .destination-jump a.active{color:var(--red)!important}
.hub-page .destination-jump a:hover::after, .hub-page .destination-jump a.active::after{background:var(--red)!important}
.hub-page .destinations-section{padding:110px 0 118px!important}
.hub-page .destination-intro{max-width:760px!important; margin:0 auto 72px!important; text-align:center!important}
.hub-page .destination-intro h2{font-family:'Poppins',system-ui,sans-serif!important; font-size:clamp(2.55rem,4.4vw,4.3rem)!important; line-height:1.08!important; font-weight:500!important; color:var(--blue)!important; margin:0 0 22px!important; letter-spacing:-.032em!important}
.hub-page .destination-intro p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.08rem!important; line-height:1.78!important; color:var(--body)!important; max-width:720px!important}
.hub-page .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:76px 64px!important; align-items:start!important}
.hub-page .destination-card .destination-media{min-height:clamp(360px,31vw,470px)!important; border-radius:10px!important}
.hub-page .destination-copy{padding-top:28px!important}
.hub-page .destination-copy h3{font-family:'Poppins',system-ui,sans-serif!important; font-size:clamp(2rem,3vw,3rem)!important; line-height:1.12!important; font-weight:500!important; color:var(--blue)!important; margin-bottom:16px!important}
.hub-page .destination-copy p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.05rem!important; line-height:1.75!important; max-width:520px!important; color:var(--body)!important; margin-bottom:24px!important}
.hub-page .destination-copy .card-link{font-family:'Poppins',system-ui,sans-serif!important; font-size:.95rem!important; color:var(--red)!important; font-weight:600!important}
.hub-page #brisbane, .hub-page #coolum, .hub-page #mermaid-beach, .hub-page #yeppoon{scroll-margin-top:112px!important}
.hub-page .reciprocal-sec{padding:108px 0 116px!important}
.hub-page .slider-title h2{font-size:clamp(2.45rem,3.8vw,4rem)!important; color:var(--blue)!important; font-weight:500!important; margin-bottom:16px!important}
.hub-page .slider-title p{font-size:1.06rem!important; line-height:1.76!important; color:var(--body)!important}
.hub-page .booking-head h2{font-size:clamp(2.45rem,3.7vw,3.9rem)!important; color:var(--blue)!important; font-weight:500!important; margin-bottom:16px!important}
.hub-page .booking-head p{font-size:1.06rem!important; line-height:1.76!important}
@media (max-width:1100px){
  .hub-page .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:58px 34px!important}
  .hub-page .destination-card .destination-media{min-height:330px!important}
}
@media (max-width:760px){
  .hub-page .destination-jump .jump-wrap{min-height:72px!important; gap:24px!important}
  .hub-page .destination-jump a{min-height:72px!important; font-size:.8rem!important}
  .hub-page .destination-grid{grid-template-columns:1fr!important; gap:48px!important}
  .hub-page .destination-card .destination-media{min-height:280px!important}
}
.hub-page .destination-jump a, .hub-page .slider-text-link{font-family:'Poppins',system-ui,sans-serif!important}
.hub-page .destination-jump{position:sticky!important; top:0!important; z-index:90!important; background:#fff!important; border:0!important; border-bottom:1px solid var(--line)!important; box-shadow:0 8px 20px rgba(10,40,90,.06)!important; font-family:'Poppins',system-ui,sans-serif!important}
.hub-page .destination-jump .jump-wrap{min-height:82px!important; display:flex!important; align-items:center!important; gap:34px!important; padding:0 28px!important; overflow-x:auto!important; scrollbar-width:none!important}
.hub-page .destination-jump .jump-wrap::-webkit-scrollbar{display:none!important}
.hub-page .destination-jump .jump-label{flex:0 0 auto!important; font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.04rem!important; color:var(--blue-deep)!important; font-weight:400!important; white-space:nowrap!important}
.hub-page .destination-jump a{position:relative!important; flex:0 0 auto!important; display:inline-flex!important; align-items:center!important; min-height:82px!important; color:var(--blue-deep)!important; font-size:.88rem!important; line-height:1!important; letter-spacing:.08em!important; text-transform:uppercase!important; font-weight:600!important; white-space:nowrap!important; padding:0 2px!important; transition:color .16s ease!important}
.hub-page .destination-jump a::after{content:""!important; position:absolute!important; left:0!important; right:0!important; bottom:22px!important; height:2px!important; background:transparent!important; transition:background .16s ease!important}
.hub-page .destination-jump a:hover, .hub-page .destination-jump a.active{color:var(--red)!important}
.hub-page .destination-jump a:hover::after, .hub-page .destination-jump a.active::after{background:var(--red)!important}
.hub-page .destinations-section{padding:112px 0 124px!important; background:#fff!important}
.hub-page .destination-intro{max-width:780px!important; margin:0 auto 74px!important; text-align:center!important}
.hub-page .destination-intro h2{font-family:'Poppins',system-ui,sans-serif!important; font-size:clamp(2.35rem,4.3vw,4.1rem)!important; line-height:1.1!important; font-weight:500!important; color:var(--taupe)!important; letter-spacing:-.028em!important; margin:0 0 22px!important}
.hub-page .destination-intro p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.08rem!important; line-height:1.78!important; color:var(--body)!important; max-width:730px!important; margin:0 auto!important}
.hub-page .destination-grid{display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:78px 64px!important; align-items:start!important}
.hub-page .destination-card{background:#fff!important; border:0!important; border-radius:0!important; box-shadow:none!important; overflow:visible!important; scroll-margin-top:112px!important}
.hub-page .destination-card .destination-media{display:block!important; min-height:clamp(360px,31vw,470px)!important; border-radius:10px!important; overflow:hidden!important; background-size:cover!important; background-position:center!important; transition:transform .18s ease, box-shadow .18s ease!important}
.hub-page .destination-card .destination-media::after{background:linear-gradient(180deg,rgba(10,58,110,.02),rgba(10,58,110,.22))!important}
.hub-page .destination-card:hover .destination-media{transform:translateY(-2px)!important; box-shadow:0 14px 32px rgba(0,84,166,.14)!important}
.hub-page .destination-copy{padding:28px 0 0!important; display:flex!important; flex-direction:column!important}
.hub-page .card-region, .hub-page .booking-tag, .hub-page .state-label{display:none!important}
.hub-page .destination-copy h3{font-family:'Poppins',system-ui,sans-serif!important; font-size:clamp(2rem,3vw,3rem)!important; line-height:1.12!important; font-weight:500!important; color:var(--blue)!important; margin:0 0 16px!important; letter-spacing:-.02em!important}
.hub-page .destination-copy h3 a{text-decoration:none!important}
.hub-page .destination-copy h3 a:hover{text-decoration:underline!important; text-decoration-thickness:1.5px!important; text-underline-offset:5px!important}
.hub-page .destination-copy p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.05rem!important; line-height:1.75!important; color:var(--body)!important; max-width:520px!important; margin:0 0 24px!important}
.hub-page .destination-copy .card-link{font-family:'Poppins',system-ui,sans-serif!important; color:var(--red)!important; font-size:.95rem!important; font-weight:600!important; letter-spacing:.005em!important}
.hub-page .reciprocal-sec{padding:108px 0 116px!important; background:var(--cream)!important; overflow:hidden!important}
.hub-page .slider-head{display:flex!important; align-items:flex-end!important; justify-content:space-between!important; gap:34px!important; margin-bottom:48px!important}
.hub-page .slider-title{max-width:760px!important}
.hub-page .slider-title h2{font-family:'Poppins',system-ui,sans-serif!important; font-size:clamp(2.2rem,3.8vw,3.8rem)!important; line-height:1.12!important; font-weight:500!important; color:var(--taupe)!important; letter-spacing:-.025em!important; margin:0 0 18px!important}
.hub-page .slider-title p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.06rem!important; line-height:1.76!important; color:var(--body)!important; max-width:700px!important}
.hub-page .slider-actions{display:flex!important; align-items:center!important; gap:12px!important; flex:0 0 auto!important; padding-bottom:10px!important}
.hub-page .slider-btn{width:44px!important; height:44px!important; border-radius:50%!important; border:1px solid var(--warm)!important; background:#fff!important; color:var(--blue)!important; font-size:2rem!important; line-height:1!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; cursor:pointer!important; transition:.18s ease!important; padding:0 0 4px!important}
.hub-page .slider-btn:hover{border-color:var(--red)!important; color:var(--red)!important; transform:translateY(-1px)!important}
.hub-page .reciprocal-slider{display:flex!important; gap:28px!important; overflow-x:auto!important; scroll-snap-type:x mandatory!important; padding:4px 4px 22px!important; margin:0 -4px!important; scrollbar-width:thin!important; scrollbar-color:var(--warm) transparent!important}
.hub-page .reciprocal-slider .partner-card{flex:0 0 clamp(300px,31vw,390px)!important; scroll-snap-align:start!important; background:#fff!important; border:1px solid var(--line)!important; border-radius:10px!important; box-shadow:none!important; padding:0!important; overflow:hidden!important; display:flex!important; flex-direction:column!important; min-height:430px!important}
.hub-page .reciprocal-slider .partner-media{min-height:220px!important; display:block!important; background-size:cover!important; background-position:center!important; position:relative!important}
.hub-page .reciprocal-slider .partner-media::after{content:""!important; position:absolute!important; inset:0!important; background:linear-gradient(180deg,rgba(0,84,166,.05),rgba(0,84,166,.18))!important}
.hub-page .reciprocal-slider .partner-copy{padding:28px 28px 30px!important; display:flex!important; flex-direction:column!important; flex:1!important}
.hub-page .reciprocal-slider .partner-copy h3{font-family:'Poppins',system-ui,sans-serif!important; font-size:1.75rem!important; line-height:1.2!important; color:var(--blue)!important; font-weight:500!important; margin:0 0 14px!important; letter-spacing:-.015em!important}
.hub-page .reciprocal-slider .partner-copy p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1rem!important; line-height:1.68!important; color:var(--body)!important; margin:0 0 22px!important}
.hub-page .reciprocal-slider .partner-link{margin-top:auto!important}
.hub-page .booking-options{padding:104px 0 116px!important; background:#fff!important}
.hub-page .booking-head{max-width:780px!important; margin:0 auto 52px!important; text-align:center!important}
.hub-page .booking-head h2{font-family:'Poppins',system-ui,sans-serif!important; font-size:clamp(2.25rem,3.7vw,3.7rem)!important; line-height:1.12!important; font-weight:500!important; color:var(--taupe)!important; letter-spacing:-.025em!important; margin:0 0 18px!important}
.hub-page .booking-head p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.06rem!important; line-height:1.76!important; color:var(--body)!important; max-width:700px!important; margin:0 auto!important}
.hub-page .booking-grid{display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:30px!important}
.hub-page .booking-card{border-radius:10px!important; border:1px solid var(--line)!important; box-shadow:none!important; padding:44px 42px!important}
.hub-page .booking-card h3{font-family:'Poppins',system-ui,sans-serif!important; font-size:1.8rem!important; line-height:1.2!important; font-weight:500!important; color:var(--blue)!important; margin:0 0 14px!important}
.hub-page .booking-card p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1rem!important; line-height:1.7!important; color:var(--body)!important; margin:0 0 28px!important}
.hub-page .member-card{background:linear-gradient(135deg,#fff 0%,#fff 62%,rgba(204,68,54,.08) 100%)!important}
.hub-page .nonmember-card{background:linear-gradient(135deg,#fff 0%,#fff 62%,rgba(0,84,166,.08) 100%)!important}
.hub-page #qri-owned-units, .hub-page #brisbane, .hub-page #coolum, .hub-page #mermaid-beach, .hub-page #yeppoon, .hub-page #reciprocal-accommodation, .hub-page #booking-options{scroll-margin-top:104px!important}
@media (max-width:1100px){
  .hub-page .destination-grid{gap:58px 34px!important}
  .hub-page .destination-card .destination-media{min-height:330px!important}
  .hub-page .slider-head{align-items:flex-start!important; flex-direction:column!important}
  .hub-page .slider-actions{padding-bottom:0!important}
}
@media (max-width:760px){
  .hub-page .destination-jump .jump-wrap{min-height:72px!important; gap:24px!important}
  .hub-page .destination-jump a{min-height:72px!important; font-size:.8rem!important}
  .hub-page .destination-grid, .hub-page .booking-grid{grid-template-columns:1fr!important}
  .hub-page .destination-grid{gap:48px!important}
  .hub-page .destination-card .destination-media{min-height:280px!important}
  .hub-page .destinations-section, .hub-page .reciprocal-sec, .hub-page .booking-options{padding:78px 0 86px!important}
  .hub-page .slider-actions{width:100%!important; justify-content:space-between!important}
  .hub-page .reciprocal-slider .partner-card{flex-basis:82vw!important; min-height:400px!important}
  .hub-page .booking-card{padding:32px 26px!important}
}
.hub-page .qri-hero-final{position:relative!important; min-height:760px!important; display:flex!important; align-items:flex-end!important; overflow:hidden!important; background:#0054a6!important; padding:0!important; isolation:isolate!important;}
.hub-page .qri-hero-final::before{content:""!important; position:absolute!important; inset:0!important; z-index:1!important; pointer-events:none!important; background:linear-gradient(100deg,rgba(0,84,166,.76) 0%,rgba(0,84,166,.58) 36%,rgba(0,84,166,.28) 62%,rgba(0,84,166,.06) 100%)!important;}
.hub-page .qri-hero-final::after{content:none!important; display:none!important; background:none!important; width:auto!important; height:auto!important;}
.hub-page .qri-hero-final .qri-hero-image{position:absolute!important; inset:0!important; left:0!important; right:0!important; top:0!important; bottom:0!important; width:100%!important; height:100%!important; z-index:0!important; display:block!important; background-size:cover!important; background-position:center center!important; background-repeat:no-repeat!important; transform:none!important;}
.hub-page .qri-hero-final .qri-hero-image::before, .hub-page .qri-hero-final .qri-hero-image::after{content:none!important; display:none!important;}
.hub-page .qri-hero-final .wrap{position:relative!important; z-index:2!important; width:100%!important; max-width:1200px!important; min-height:760px!important; margin:0 auto!important; padding:160px 28px 104px!important; display:flex!important; align-items:flex-end!important;}
.hub-page .qri-hero-final .herotext{max-width:760px!important; width:100%!important;}
.hub-page .qri-hero-final h1{font-family:'Poppins',system-ui,sans-serif!important; font-size:clamp(4.3rem,8vw,7.35rem)!important; line-height:.96!important; font-weight:600!important; letter-spacing:-.045em!important; color:#fff!important; margin:0 0 30px!important; text-shadow:0 3px 18px rgba(0,35,70,.22)!important;}
.hub-page .qri-hero-final .btns{display:flex!important; flex-wrap:wrap!important; gap:14px!important;}
.hub-page .qri-hero-final .btn{font-family:'Poppins',system-ui,sans-serif!important; border-radius:9px!important; padding:13px 26px!important; font-size:.92rem!important; font-weight:500!important;}
.hub-page .destinations-section{background:#f6f4f0!important; padding:110px 0 120px!important;}
.hub-page .destination-intro{max-width:820px!important; margin:0 auto 58px!important; text-align:center!important;}
.hub-page .destination-intro h2{font-family:'Poppins',system-ui,sans-serif!important; font-size:clamp(2.6rem,5vw,4.75rem)!important; line-height:1.04!important; font-weight:600!important; color:#0054a6!important; letter-spacing:-.035em!important; margin:0 0 18px!important;}
.hub-page .destination-intro p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1.1rem!important; line-height:1.76!important; color:#555d60!important; max-width:720px!important; margin:0 auto!important;}
.hub-page .destination-grid{display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:34px!important; align-items:stretch!important;}
.hub-page .destination-card{background:#fff!important; border-radius:20px!important; border:1px solid rgba(124,106,85,.14)!important; box-shadow:0 16px 34px rgba(10,40,90,.08)!important; overflow:hidden!important; display:flex!important; flex-direction:column!important; scroll-margin-top:118px!important;}
.hub-page .destination-card .destination-media{display:block!important; min-height:340px!important; border-radius:0!important; background-size:cover!important; background-position:center center!important; box-shadow:none!important; transform:none!important; transition:transform .22s ease!important;}
.hub-page .destination-card:hover .destination-media{transform:scale(1.025)!important; box-shadow:none!important;}
.hub-page .destination-copy{background:#fff!important; padding:32px 34px 36px!important; display:flex!important; flex-direction:column!important; flex:1!important;}
.hub-page .card-region{display:none!important;}
.hub-page .destination-copy h3{font-family:'Poppins',system-ui,sans-serif!important; font-size:clamp(1.8rem,2.7vw,2.55rem)!important; line-height:1.12!important; font-weight:600!important; color:#0054a6!important; margin:0 0 14px!important; letter-spacing:-.025em!important;}
.hub-page .destination-copy h3 a{text-decoration:none!important; color:inherit!important;}
.hub-page .destination-copy h3 a:hover{text-decoration:underline!important; text-decoration-thickness:1.5px!important; text-underline-offset:5px!important;}
.hub-page .destination-copy p{font-family:'Open Sans',system-ui,sans-serif!important; font-size:1rem!important; line-height:1.68!important; color:#555d60!important; margin:0!important; max-width:620px!important;}
.hub-page .destination-copy .card-link{padding-top:24px!important; margin-top:auto!important; color:#cc4436!important; font-weight:700!important;}
.hub-page .destination-jump{top:0!important; border-radius:0!important;}
.hub-page .destination-jump .jump-wrap{max-width:1200px!important; padding:0 28px!important;}
.hub-page .destination-jump a{font-family:'Poppins',system-ui,sans-serif!important; color:#0054a6!important;}
.hub-page .destination-jump a:hover, .hub-page .destination-jump a.active{color:#cc4436!important;}
.hub-page .destination-jump a::after, .hub-page .destination-jump a.active::after{background:#cc4436!important;}
@media (max-width:960px){
  .hub-page .qri-hero-final, .hub-page .qri-hero-final .wrap{min-height:680px!important;}
  .hub-page .qri-hero-final .wrap{padding:138px 28px 82px!important;}
  .hub-page .destination-grid{grid-template-columns:1fr!important; gap:30px!important;}
  .hub-page .destination-card .destination-media{min-height:310px!important;}
}
@media (max-width:620px){
  .hub-page .qri-hero-final, .hub-page .qri-hero-final .wrap{min-height:620px!important;}
  .hub-page .qri-hero-final .wrap{padding:126px 24px 64px!important;}
  .hub-page .qri-hero-final h1{font-size:3.25rem!important;}
  .hub-page .destination-intro h2{font-size:2.5rem!important;}
  .hub-page .destination-copy{padding:28px 26px 32px!important;}
  .hub-page .destination-card .destination-media{min-height:250px!important;}
}
.hub-page .qri-hero-final{position:relative!important; min-height:760px!important; display:block!important; overflow:hidden!important; isolation:isolate!important; background:var(--blue)!important; padding:0!important;}
.hub-page .qri-hero-final::before, .hub-page .qri-hero-final::after{content:none!important; display:none!important; background:none!important;}
.hub-page .qri-hero-final .qri-hero-image{position:absolute!important; inset:0 0 0 auto!important; left:auto!important; width:50%!important; height:100%!important; z-index:0!important; display:block!important; background-size:cover!important; background-position:center center!important; background-repeat:no-repeat!important; transform:none!important;}
.hub-page .qri-hero-final .qri-hero-image::before{content:""!important; position:absolute!important; inset:0!important; display:block!important; background:linear-gradient(90deg,rgba(0,84,166,.08) 0%,rgba(0,84,166,0) 38%)!important; z-index:1!important;}
.hub-page .qri-hero-final .qri-hero-image::after{content:none!important; display:none!important;}
.hub-page .qri-hero-final .wrap{position:relative!important; z-index:2!important; width:100%!important; max-width:1440px!important; min-height:760px!important; margin:0 auto!important; padding:130px 48px 88px!important; display:flex!important; align-items:center!important; justify-content:flex-start!important;}
.hub-page .qri-hero-final .herotext{width:min(590px,calc(50vw - 76px))!important; max-width:590px!important; padding-top:36px!important;}
.hub-page .qri-hero-final h1{font-family:'Poppins',system-ui,sans-serif!important; font-size:clamp(4.05rem,5.65vw,6.55rem)!important; line-height:.98!important; font-weight:600!important; letter-spacing:-.045em!important; color:#fff!important; margin:0 0 28px!important; text-shadow:none!important;}
.hub-page .qri-hero-final .btns{display:flex!important; flex-wrap:wrap!important; gap:14px!important;}
.hub-page .qri-hero-final .btn{font-family:'Poppins',system-ui,sans-serif!important; border-radius:9px!important; padding:13px 26px!important; font-size:.92rem!important; font-weight:500!important;}
.hub-page .destination-jump a, .hub-page .destination-jump a.active{text-decoration:none!important;}
.hub-page .destination-jump a::after, .hub-page .destination-jump a.active::after{background:transparent!important;}
.hub-page .destination-jump a:hover::after, .hub-page .destination-jump a.active:hover::after{background:var(--red)!important;}
.hub-page .destination-jump a:hover{color:var(--red)!important;}
@media (max-width:960px){
  .hub-page .qri-hero-final{min-height:auto!important; display:flex!important; flex-direction:column!important; background:var(--blue)!important;}
  .hub-page .qri-hero-final .qri-hero-image{position:relative!important; width:100%!important; height:360px!important; order:2!important;}
  .hub-page .qri-hero-final .wrap{min-height:auto!important; padding:132px 28px 68px!important; order:1!important;}
  .hub-page .qri-hero-final .herotext{width:100%!important; max-width:680px!important; padding-top:0!important;}
  .hub-page .qri-hero-final h1{font-size:clamp(3.25rem,10vw,5rem)!important; max-width:620px!important;}
}
@media (max-width:620px){
  .hub-page .qri-hero-final .wrap{padding:118px 24px 54px!important;}
  .hub-page .qri-hero-final .qri-hero-image{height:300px!important;}
  .hub-page .qri-hero-final h1{font-size:3.1rem!important;}
}
.hub-page .qri-hero-final{padding-top:76px!important; min-height:790px!important; background:var(--blue)!important;}
.hub-page .qri-hero-final .wrap{min-height:714px!important; padding:96px 48px 88px!important;}
.hub-page .qri-hero-final .qri-hero-image{top:76px!important; height:calc(100% - 76px)!important;}
.hub-page .qri-hero-final h1{font-size:clamp(4.35rem,5.8vw,6.8rem)!important; max-width:660px!important;}
.hub-page .destinations-section{background:#fff!important; padding:112px 0 124px!important; overflow:hidden!important;}
.hub-page .destination-slider-head{display:flex!important; align-items:flex-end!important; justify-content:space-between!important; gap:34px!important; margin-bottom:52px!important;}
.hub-page .destination-slider-head .destination-intro{max-width:760px!important; margin:0!important; text-align:left!important;}
.hub-page .destination-slider-head .destination-intro h2{color:var(--blue)!important; font-size:clamp(2.55rem,4.8vw,4.85rem)!important; line-height:1.04!important; margin:0 0 18px!important;}
.hub-page .destination-slider-head .destination-intro p{margin:0!important; max-width:690px!important; font-size:1.08rem!important; line-height:1.76!important;}
.hub-page .destination-actions{display:flex!important; gap:12px!important; align-items:center!important; flex:0 0 auto!important; padding-bottom:10px!important;}
.hub-page .destination-btn{width:46px!important; height:46px!important; border-radius:50%!important; border:1px solid var(--warm)!important; background:#fff!important; color:var(--blue)!important; font-size:2.05rem!important; line-height:1!important; padding:0 0 4px!important;}
.hub-page .destination-btn:hover{border-color:var(--red)!important; color:var(--red)!important; transform:translateY(-1px)!important;}
.hub-page .destination-grid{display:flex!important; gap:34px!important; overflow-x:auto!important; overflow-y:visible!important; scroll-snap-type:x mandatory!important; padding:4px 4px 28px!important; margin-left:-4px!important; margin-right:-4px!important; scrollbar-width:thin!important; scrollbar-color:var(--warm) transparent!important;}
.hub-page .destination-grid::-webkit-scrollbar{height:8px!important;}
.hub-page .destination-grid::-webkit-scrollbar-thumb{background:var(--warm)!important; border-radius:999px!important;}
.hub-page .destination-card{flex:0 0 clamp(320px,28vw,350px)!important; min-width:320px!important; scroll-snap-align:start!important; border-radius:12px!important; border:1px solid var(--line)!important; box-shadow:0 12px 30px rgba(10,40,90,.07)!important; background:#fff!important; overflow:hidden!important;}
.hub-page .destination-card .destination-media{min-height:285px!important; border-radius:0!important;}
.hub-page .destination-copy{padding:28px 28px 32px!important; min-height:278px!important;}
.hub-page .destination-copy h3{font-size:clamp(1.85rem,2.15vw,2.4rem)!important; line-height:1.12!important; margin-bottom:12px!important;}
.hub-page .destination-copy p{font-size:1rem!important; line-height:1.68!important; max-width:none!important;}
.hub-page .destination-copy .card-link{padding-top:20px!important;}
.hub-page .destination-jump a, .hub-page .destination-jump a.active{text-decoration:none!important;}
.hub-page .destination-jump a::after, .hub-page .destination-jump a.active::after{background:transparent!important;}
.hub-page .destination-jump a:hover::after{background:var(--red)!important;}
@media (max-width:1100px){
  .hub-page .qri-hero-final{padding-top:74px!important;}
  .hub-page .qri-hero-final .qri-hero-image{top:74px!important; height:calc(100% - 74px)!important;}
  .hub-page .qri-hero-final .wrap{padding:104px 34px 76px!important;}
  .hub-page .destination-card{flex-basis:clamp(320px,44vw,430px)!important;}
}
@media (max-width:760px){
  .hub-page .qri-hero-final{padding-top:72px!important;}
  .hub-page .qri-hero-final .wrap{padding:96px 24px 58px!important;}
  .hub-page .qri-hero-final .qri-hero-image{top:0!important; height:320px!important;}
  .hub-page .destination-slider-head{align-items:flex-start!important; flex-direction:column!important; margin-bottom:36px!important;}
  .hub-page .destination-actions{padding-bottom:0!important;}
  .hub-page .destination-grid{margin-right:-4px!important; gap:22px!important;}
  .hub-page .destination-card{flex-basis:82vw!important; min-width:280px!important;}
  .hub-page .destination-card .destination-media{min-height:250px!important;}
  .hub-page .destination-copy{min-height:auto!important; padding:26px 24px 30px!important;}
}
.hub-page .qri-hero-final{min-height:740px!important; padding-top:76px!important;}
.hub-page .qri-hero-final .wrap{min-height:664px!important; padding:88px 48px 78px!important; align-items:center!important;}
.hub-page .qri-hero-final .qri-hero-image{top:76px!important; height:calc(100% - 76px)!important;}
.hub-page .qri-hero-final .herotext{width:min(600px,calc(50vw - 72px))!important; max-width:600px!important; padding-top:0!important;}
.hub-page .qri-hero-final h1{font-size:clamp(3.35rem,4.9vw,5.45rem)!important; line-height:1.04!important; letter-spacing:-.038em!important; margin-bottom:26px!important;}
.hub-page .qri-hero-final .btn{padding:13px 26px!important; font-size:.92rem!important;}
.hub-page .destination-slider-head{margin-bottom:46px!important;}
.hub-page .destination-slider-head .destination-intro h2{font-size:clamp(2.25rem,3.65vw,3.8rem)!important; line-height:1.08!important; margin-bottom:16px!important;}
.hub-page .destination-slider-head .destination-intro p{font-size:1.04rem!important; line-height:1.72!important; max-width:660px!important;}
@media (max-width:1100px){
  .hub-page .qri-hero-final{min-height:700px!important;}
  .hub-page .qri-hero-final .wrap{min-height:626px!important; padding:88px 34px 70px!important;}
  .hub-page .qri-hero-final h1{font-size:clamp(3.1rem,5.2vw,4.8rem)!important;}
}
@media (max-width:760px){
  .hub-page .qri-hero-final{min-height:auto!important; padding-top:72px!important;}
  .hub-page .qri-hero-final .wrap{min-height:auto!important; padding:84px 24px 54px!important;}
  .hub-page .qri-hero-final .herotext{width:100%!important; max-width:640px!important;}
  .hub-page .qri-hero-final h1{font-size:clamp(2.7rem,11vw,3.8rem)!important; line-height:1.05!important;}
  .hub-page .destination-slider-head .destination-intro h2{font-size:2.35rem!important;}
}
.hub-page .qri-hero-final{background:var(--gold-bright)!important;}
.hub-page .qri-hero-final .qri-hero-image::before{background:linear-gradient(90deg,rgba(243,204,96,.18) 0%,rgba(243,204,96,0) 42%)!important;}
.hub-page .qri-hero-final h1{color:#fff!important; text-shadow:0 2px 16px rgba(72,61,52,.22)!important;}
@media (max-width:960px){
  .hub-page .qri-hero-final{background:var(--gold-bright)!important;}
}
.hub-page .destination-jump a, .hub-page .destination-jump a.active{color:var(--blue)!important; text-decoration:none!important;}
.hub-page .destination-jump a::after, .hub-page .destination-jump a.active::after{background:transparent!important;}
.hub-page .destination-jump a:hover, .hub-page .destination-jump a.active:hover{color:var(--blue)!important;}
.hub-page .destination-jump a:hover::after, .hub-page .destination-jump a.active:hover::after{background:var(--blue)!important;}
.hub-page .qri-hero-final h1{color:var(--blue)!important; text-shadow:none!important;}
.hub-page .qri-hero-final{background:var(--blue)!important;}
.hub-page .qri-hero-final .qri-hero-image::before{background:linear-gradient(90deg,rgba(0,84,166,.12) 0%,rgba(0,84,166,0) 42%)!important;}
.hub-page .qri-hero-final h1{color:#fff!important; text-shadow:none!important;}
@media (max-width:960px){
  .hub-page .qri-hero-final{background:var(--blue)!important;}
}
.hub-page .member-card{background:var(--red)!important; border-color:var(--red)!important}
.hub-page .nonmember-card{background:var(--blue)!important; border-color:var(--blue)!important}
.hub-page .member-card .booking-tag, .hub-page .member-card h3, .hub-page .member-card p, .hub-page .nonmember-card .booking-tag, .hub-page .nonmember-card h3, .hub-page .nonmember-card p{color:#fff!important}
.hub-page .member-card .btn.red{background:#fff!important; color:var(--red)!important; border:1px solid rgba(255,255,255,.95)!important}
.hub-page .member-card .btn.red:hover, .hub-page .nonmember-card .btn.blue:hover{opacity:.92!important; transform:translateY(-1px)}
.hub-page .destination-jump .jump-wrap{justify-content:flex-start!important; gap:clamp(24px,4vw,64px)!important;}
.hub-page .destination-jump a{white-space:nowrap!important;}
@media (max-width:760px){
  .hub-page .destination-jump .jump-wrap{overflow-x:auto!important; justify-content:flex-start!important; padding-left:24px!important; padding-right:24px!important;}
}
.hub-page .destination-jump{font-family:'Poppins',sans-serif!important}
.hub-page .destination-intro p, .hub-page .destination-copy p, .hub-page .slider-title p, .hub-page .reciprocal-slider .partner-copy p, .hub-page .booking-head p, .hub-page .booking-card p, .hub-page .jump-label{font-family:'Lato',sans-serif!important}
.hub-page .destination-intro h2, .hub-page .destination-copy h3, .hub-page .slider-title h2, .hub-page .reciprocal-slider .partner-copy h3, .hub-page .booking-head h2, .hub-page .booking-card h3{color:var(--taupe)!important; font-weight:600!important; line-height:1.2!important; letter-spacing:-.01em!important}
.hub-page .destination-intro p, .hub-page .destination-copy p, .hub-page .slider-title p, .hub-page .reciprocal-slider .partner-copy p, .hub-page .booking-head p, .hub-page .booking-card p{color:var(--taupe)!important}
.hub-page .destinations-section{background:#fff!important}
.hub-page .reciprocal-sec{background:var(--cream)!important}
.hub-page .booking-options{background:#fff!important}
.hub-page .qri-hero-final{position:relative!important; min-height:660px!important; padding:0!important; display:flex!important; align-items:flex-end!important; overflow:hidden!important; background:var(--blue)!important; isolation:isolate!important}
.hub-page .qri-hero-final::before{content:""!important; display:block!important; position:absolute!important; inset:0!important; z-index:1!important; background:linear-gradient(100deg,rgba(20,40,70,.44) 0%,rgba(20,40,70,.24) 32%,rgba(20,40,70,.06) 58%,rgba(20,40,70,0) 72%)!important; pointer-events:none!important}
.hub-page .qri-hero-final::after{content:none!important; display:none!important}
.hub-page .qri-hero-final .qri-hero-image{display:block!important; position:absolute!important; inset:0!important; width:100%!important; height:100%!important; z-index:0!important; background-size:cover!important; background-position:center 68%!important; background-repeat:no-repeat!important; transform:none!important}
.hub-page .qri-hero-final .qri-hero-image::before, .hub-page .qri-hero-final .qri-hero-image::after{content:none!important; display:none!important}
.hub-page .qri-hero-final .wrap{position:relative!important; z-index:2!important; width:100%!important; max-width:1200px!important; min-height:660px!important; margin:0 auto!important; padding:0 28px 100px!important; display:flex!important; align-items:flex-end!important}
.hub-page .qri-hero-final .herotext{width:100%!important; max-width:620px!important; padding:0!important}
.hub-page .qri-hero-final h1{font-family:'Poppins',sans-serif!important; color:#fff!important; font-size:4.1rem!important; font-weight:600!important; font-style:normal!important; line-height:1.08!important; letter-spacing:-.01em!important; margin:0 0 30px!important; text-shadow:0 2px 18px rgba(20,40,70,.35)!important}
.hub-page .qri-hero-final .btns{display:flex!important; gap:14px!important; flex-wrap:wrap!important}
.hub-page .qri-hero-final .btn.red{background:var(--red)!important; color:#fff!important; border:0!important}
.hub-page .qri-hero-final .btn.red:hover{background:var(--blue)!important; color:#fff!important}
.hub-page .destination-jump{position:sticky!important; top:74px!important; z-index:80!important; background:var(--red)!important; border:0!important; box-shadow:0 8px 20px rgba(0,0,0,.08)!important}
.hub-page .destination-jump .jump-wrap{min-height:82px!important; max-width:1200px!important; gap:clamp(20px,3vw,42px)!important; padding:0 28px!important; overflow-x:auto!important; scrollbar-width:none!important}
.hub-page .destination-jump .jump-wrap::-webkit-scrollbar{display:none!important}
.hub-page .destination-jump .jump-label{color:rgba(255,255,255,.78)!important; font-family:'Lato',sans-serif!important}
.hub-page .destination-jump a, .hub-page .destination-jump a.active{min-height:82px!important; color:#fff!important; padding:0 10px!important; border-radius:7px!important; text-decoration:none!important; transition:background .16s ease,color .16s ease!important}
.hub-page .destination-jump a::after, .hub-page .destination-jump a.active::after{content:none!important; display:none!important}
.hub-page .destination-jump a:hover, .hub-page .destination-jump a.active:hover, .hub-page .destination-jump a:focus-visible{color:#fff!important; background:rgba(255,255,255,.15)!important}
.hub-page #qri-owned-units, .hub-page #brisbane, .hub-page #coolum, .hub-page #mermaid-beach, .hub-page #yeppoon, .hub-page #reciprocal-accommodation, .hub-page #booking-options{scroll-margin-top:164px!important}
.hub-page .destinations-section>.wrap, .hub-page .reciprocal-sec>.wrap{display:flex!important; flex-direction:column!important}
.hub-page .destination-slider-head, .hub-page .slider-head{display:contents!important}
.hub-page .destination-intro, .hub-page .slider-title{order:1!important; margin-bottom:46px!important}
.hub-page .destination-grid, .hub-page .reciprocal-slider{order:2!important}
.hub-page .destination-actions, .hub-page .slider-actions{order:3!important; width:100%!important; display:grid!important; grid-template-columns:minmax(0,1fr) auto auto!important; align-items:center!important; gap:8px!important; margin-top:10px!important; padding:0!important}
.hub-page .slider-progress{width:100%; height:3px; overflow:hidden; border-radius:999px; background:rgba(204,68,54,.28)}
.hub-page .slider-progress-fill{display:block; width:25%; height:100%; border-radius:inherit; background:var(--red); transition:width .18s ease}
.hub-page .slider-btn{display:inline-flex!important; align-items:center!important; justify-content:center!important; width:42px!important; height:42px!important; padding:0 0 3px!important; border:1px solid rgba(124,106,85,.28)!important; border-radius:50%!important; background:#fff!important; color:var(--blue)!important; font:400 1.7rem/1 'Poppins',sans-serif!important; cursor:pointer!important; transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important}
.hub-page .slider-btn:hover{background:var(--blue)!important; border-color:var(--blue)!important; color:#fff!important; transform:translateY(-1px)!important}
.hub-page .slider-btn:active{transform:scale(.96)!important}
.hub-page .destination-grid, .hub-page .reciprocal-slider{scroll-behavior:smooth!important; scroll-snap-type:x mandatory!important}
.hub-page .destination-card, .hub-page .reciprocal-slider .partner-card{scroll-snap-align:start!important}
.hub-page .destination-card .destination-media, .hub-page .reciprocal-slider .partner-media{height:240px!important; min-height:240px!important}
.hub-page .destination-copy .card-link, .hub-page .slider-text-link{font-family:'Poppins',sans-serif!important; color:var(--red)!important; font-size:.9rem!important; font-weight:600!important; letter-spacing:0!important; text-transform:none!important}
.hub-page .destination-copy .card-link:hover, .hub-page .slider-text-link:hover{color:var(--blue)!important}
.hub-page .member-card{background:linear-gradient(135deg,#a9342a 0%,#cc4436 55%,#d85b4e 100%)!important; border-color:transparent!important; box-shadow:0 22px 50px rgba(169,52,42,.18)!important}
.hub-page .nonmember-card{background:linear-gradient(140deg,#0a63c4,#0054a6)!important; border-color:transparent!important; box-shadow:0 22px 50px rgba(0,84,166,.18)!important}
.hub-page .member-card .booking-tag, .hub-page .nonmember-card .booking-tag, .hub-page .member-card h3, .hub-page .member-card p, .hub-page .nonmember-card h3, .hub-page .nonmember-card p{color:#fff!important}
.hub-page .member-card .btn.red{background:#fff!important; color:var(--red)!important; border-color:#fff!important}
.hub-page .member-card .btn.red:hover{background:var(--blue)!important; color:#fff!important; border-color:var(--blue)!important; opacity:1!important}
.hub-page .nonmember-card .btn.red{background:#fff!important; color:var(--blue)!important; border-color:#fff!important}
.hub-page .nonmember-card .btn.red:hover{background:var(--red)!important; color:#fff!important; border-color:var(--red)!important; opacity:1!important}
@media (max-width:900px){
  .hub-page .qri-hero-final{min-height:560px!important}
  .hub-page .qri-hero-final .wrap{min-height:560px!important; padding:0 28px 68px!important}
  .hub-page .qri-hero-final h1{font-size:3rem!important}
}
@media (max-width:560px){
  .hub-page .qri-hero-final{display:grid!important; align-items:end!important; min-height:0!important; aspect-ratio:4 / 5!important}
  .hub-page .qri-hero-final::before{background:linear-gradient(180deg,rgba(10,35,55,0) 24%,rgba(10,35,55,.12) 48%,rgba(10,35,55,.76) 100%)!important}
  .hub-page .qri-hero-final .qri-hero-image{background-position:center 66%!important}
  .hub-page .qri-hero-final .wrap{position:absolute!important; inset:auto 0 0 0!important; min-height:0!important; padding:0 20px clamp(24px,6vw,34px)!important; display:block!important}
  .hub-page .qri-hero-final .herotext{max-width:360px!important}
  .hub-page .qri-hero-final h1{max-width:330px!important; margin:0 0 18px!important; font-size:clamp(2rem,10vw,2.75rem)!important; line-height:1.06!important; letter-spacing:-.03em!important; text-wrap:balance!important}
  .hub-page .qri-hero-final .btns{display:flex!important; flex-direction:column!important; align-items:flex-start!important; gap:0!important}
  .hub-page .qri-hero-final .btn.red{padding:15px 24px!important; min-height:48px!important; font-size:.98rem!important; box-shadow:0 8px 22px rgba(80,18,12,.22)!important}
  .hub-page .destination-jump .jump-wrap{min-height:70px!important; padding:0 20px!important; gap:10px!important}
  .hub-page .destination-jump a, .hub-page .destination-jump a.active{min-height:54px!important; padding:0 10px!important; font-size:.78rem!important}
  .hub-page .destination-intro, .hub-page .slider-title{margin-bottom:34px!important}
  .hub-page .slider-progress{width:100%!important}
  .hub-page .destination-grid, .hub-page .reciprocal-slider{scrollbar-width:none!important}
  .hub-page .destination-grid::-webkit-scrollbar, .hub-page .reciprocal-slider::-webkit-scrollbar{display:none!important}
  .hub-page .destination-card, .hub-page .reciprocal-slider .partner-card{flex-basis:82vw!important}
  .hub-page .destination-card .destination-media, .hub-page .reciprocal-slider .partner-media{height:auto!important; min-height:0!important; aspect-ratio:1 / 1!important}
  .hub-page .booking-grid{grid-template-columns:1fr!important}
  .hub-page .booking-card{padding:32px 26px!important}
}
@media (max-width:400px){
  .hub-page .qri-hero-final .wrap{padding:0 16px 20px!important}
  .hub-page .qri-hero-final h1{font-size:clamp(1.9rem,10vw,2.35rem)!important}
}
.hub-page .qri-hero-final::before, .hub-page .qri-hero-final::after{content:none!important; display:none!important; background:none!important;}
.hub-page .qri-hero-final .qri-hero-image{filter:none!important;}
.hub-page .qri-hero-final .qri-hero-image::before, .hub-page .qri-hero-final .qri-hero-image::after{content:none!important; display:none!important; background:none!important;}
.hub-page .destination-intro{width:100%!important; max-width:none!important; margin-bottom:0!important;}
.hub-page .destination-slider-head .destination-intro h2, .hub-page .destination-intro h2{color:var(--taupe)!important; margin:0 0 18px!important;}
.hub-page .destination-slider-head .destination-intro p, .hub-page .destination-intro p{max-width:700px!important; margin:0!important; line-height:1.76!important;}
.hub-page .destination-grid{gap:28px!important; margin-top:60px!important;}
.hub-page .destination-card{flex:0 0 clamp(300px,31vw,390px)!important; min-width:300px!important; min-height:430px!important; display:flex!important; flex-direction:column!important; border:1px solid var(--line)!important; border-radius:10px!important; box-shadow:none!important; overflow:hidden!important;}
.hub-page .destination-card .destination-media{width:100%!important; height:240px!important; min-height:240px!important; border-radius:0!important; background-size:cover!important; background-position:center!important;}
.hub-page .destination-copy{flex:1!important; min-height:0!important; padding:28px 28px 30px!important; display:flex!important; flex-direction:column!important;}
.hub-page .destination-copy h3{font-size:1.75rem!important; line-height:1.2!important; margin:0 0 14px!important;}
.hub-page .destination-copy p{font-size:1rem!important; line-height:1.68!important; margin:0 0 22px!important;}
.hub-page .destination-copy .card-link{margin-top:auto!important; padding-top:0!important;}
.hub-page .destination-grid, .hub-page .reciprocal-slider{scrollbar-width:none!important; -ms-overflow-style:none!important;}
.hub-page .destination-grid::-webkit-scrollbar, .hub-page .reciprocal-slider::-webkit-scrollbar{display:none!important; width:0!important; height:0!important;}
@media (min-width:761px){
  .hub-page .destination-slider-head .destination-intro h2, .hub-page .destination-intro h2{white-space:nowrap!important}
}
@media (max-width:760px){
  .hub-page .destination-intro{margin-bottom:0!important}
  .hub-page .destination-grid{margin-top:44px!important;}
  .hub-page .destination-card{flex-basis:82vw!important; min-width:280px!important}
}
@media (max-width:560px){
  .hub-page .destination-card .destination-media{height:auto!important; min-height:0!important; aspect-ratio:1 / 1!important;}
}

/* ===================================================
   PAGE: The Daily Win (page-the-daily-win.php)
   From the 4 August approved design, scoped under .daily-page.
   Nav/footer/button chrome dropped in favour of ours, same as the
   Reciprocal page: this file also re-implements the menu with
   is-open / is-scrolled class names that would fight main.js.
   =================================================== */
.daily-page .text-link{font-family:'Poppins',sans-serif}
.daily-page .skip-link{position:fixed;top:10px;left:10px;z-index:200;transform:translateY(-150%);background:#fff;color:var(--blue);padding:10px 14px;border-radius:8px;font-weight:700}
.daily-page .skip-link:focus{transform:none}
.daily-page .megacols{display:grid;gap:34px}
.daily-page .megacols.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.daily-page .megacols.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.daily-page .item{display:block;padding:5px 0;color:var(--taupe);font-family:'Lato',sans-serif;font-size:.95rem}
.daily-page .item:hover{color:var(--blue)}
.daily-page .megaside{border-left:1px solid var(--line);padding-left:34px}
.daily-page .megafeat{background:var(--cream);border-radius:13px;padding:18px;margin-bottom:19px}
.daily-page .fb{font-weight:600;color:var(--taupe);margin-bottom:5px}
.daily-page .fd{font-family:'Lato',sans-serif;font-size:.9rem;line-height:1.55}
.daily-page .hero{position:relative;min-height:660px;display:flex;align-items:flex-end;background:#0c65b3 url('assets/img/daily-hero.webp') center 43%/cover no-repeat}
.daily-page .hero-content{width:min(calc(100% - 64px),1200px);margin-inline:auto;padding:160px 0 100px;color:#fff}
.daily-page .hero h1{max-width:850px;margin:0 0 32px;color:#fff;font-size:4.1rem;font-weight:600;line-height:1.08;letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,35,75,.3)}
.daily-page .hero p{max-width:570px;margin:0 0 30px;color:#fff;font-size:1.2rem;line-height:1.6;text-shadow:0 2px 12px rgba(0,35,75,.28)}
.daily-page .hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.daily-page .facts{background:var(--red);color:#fff}
.daily-page .facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:31px 0}
.daily-page .fact{display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font-family:'Poppins',sans-serif;font-size:.96rem;font-weight:500;text-align:center}
.daily-page .fact svg{width:24px;height:24px;flex:none;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.daily-page .story{padding:104px 0;background:#fff}
.daily-page .story-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.daily-page .story-visual{min-width:0}
.daily-page .story-photo{width:100%;aspect-ratio:1123/890;overflow:hidden;border-radius:18px;background:var(--cream);border:1px solid var(--line)}
.daily-page .story-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.daily-page .story-content{min-width:0;padding-top:0}
.daily-page .story h2{margin:0 0 16px;color:var(--taupe);font-size:2.1rem;font-weight:600;line-height:1.2;letter-spacing:-.01em}
.daily-page .winners h2{margin:0 0 20px;color:var(--taupe);font-size:clamp(2rem,3vw,3rem);font-weight:600;line-height:1.2;letter-spacing:-.01em}
.daily-page .quote{margin:2px 0 22px;padding:24px 0 0;border-top:1px solid var(--red);color:var(--taupe);font-family:'Lato',sans-serif;font-size:1.02rem;font-weight:400;line-height:1.72}
.daily-page .quote cite{display:block;margin-top:12px;color:var(--taupe);font-family:'Lato',sans-serif;font-size:.94rem;font-style:normal;font-weight:400}
.daily-page .story-copy p{margin:0 0 22px;color:var(--taupe);font-size:1.02rem;line-height:1.72}
.daily-page .story-cta{margin-top:2px}
.daily-page .winners{padding:100px 0 110px;background:var(--cream)}
.daily-page .winners-head{max-width:900px;margin-bottom:42px}
.daily-page .winners-head p{margin:0;color:var(--taupe);font-size:1.08rem;font-weight:400;line-height:1.72}
.daily-page .terms-quiet{color:#9a8c7b;font-size:.94em;font-weight:400;text-decoration:none;white-space:nowrap}
.daily-page .terms-quiet:hover{color:var(--blue)}
.daily-page .winners-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.daily-page .winners-grid:not(.is-expanded)>.winner:nth-child(n+11){display:none}
.daily-page .winner{position:relative;display:flex;min-width:0;min-height:128px;flex-direction:column;padding:17px;background:#fff;border:1px solid var(--line);border-radius:10px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.daily-page a.winner:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 10px 24px rgba(75,45,35,.08)}
.daily-page .winner-day{margin-bottom:10px;color:var(--taupe);font-family:'Poppins',sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.daily-page .winner-name{color:var(--taupe);font-family:'Poppins',sans-serif;font-size:1rem;font-weight:600;line-height:1.35}
.daily-page .winner-prize{margin-top:auto;padding-top:12px;color:var(--red);font-family:'Poppins',sans-serif;font-size:1.18rem;font-weight:600}
.daily-page .winner-arrow{position:absolute;top:15px;right:14px;width:15px;height:15px;fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:translateX(-3px);transition:opacity .18s ease,transform .18s ease}
.daily-page a.winner:hover .winner-arrow, .daily-page a.winner:focus-visible .winner-arrow{opacity:1;transform:none}
.daily-page .winner.today{background:var(--red);border-color:var(--red);border-radius:14px;box-shadow:0 10px 24px rgba(169,52,42,.14)}
.daily-page .winner.today .winner-day, .daily-page .winner.today .winner-name, .daily-page .winner.today .winner-prize{color:#fff}
.daily-page .winner.today .winner-day{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:13px;letter-spacing:.07em}
.daily-page .winner.today .today-date{font-weight:400;white-space:nowrap}
.daily-page .winner.today .winner-name{font-size:1.12rem}
.daily-page .winner.today .winner-prize{font-size:1.5rem}
.daily-page .winner.today .winner-arrow{display:none}
.daily-page .winner.today:hover{background:var(--blue);border-color:var(--blue);box-shadow:0 12px 28px rgba(0,84,166,.16)}
.daily-page .winner.pending{background:rgba(255,255,255,.46)}
.daily-page .winner.pending .winner-day, .daily-page .winner.pending .winner-name, .daily-page .winner.pending .winner-prize{color:#a99e8e}
.daily-page .winner.pending .winner-name{font-weight:400}
.daily-page .winners-toggle{display:inline-flex;margin-top:24px}
.daily-page .closing{padding:104px 0;background:#fff}
.daily-page .cta-band{padding:72px 64px;text-align:center;color:#fff;background:linear-gradient(135deg,#a9342a 0%,#cc4436 55%,#d85b4e 100%);border-radius:28px;box-shadow:0 22px 50px rgba(169,52,42,.2)}
.daily-page .cta-band h2{margin:0 0 14px;color:#fff;font-size:clamp(30px,3.6vw,44px);font-weight:600;line-height:1.2;letter-spacing:-.01em}
.daily-page .cta-band p{max-width:650px;margin:0 auto 29px;color:rgba(255,255,255,.94);font-size:1.08rem}
.daily-page .cta-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.daily-page .cta-band .btn.red{background:#fff;border-color:#fff;color:var(--red)}
.daily-page .cta-band .btn.red:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.daily-page .cta-band .btn.ghost{border-color:rgba(255,255,255,.7);color:#fff}
.daily-page .cta-band .btn.ghost:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.daily-page .fl{display:flex;gap:24px;flex-wrap:wrap}
@media (max-width:1100px){
  .daily-page .winners-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .daily-page .winners-grid:not(.is-expanded)>.winner:nth-child(n+9){display:none}
}
@media (max-width:900px){
  .daily-page .hero{min-height:560px}
  .daily-page .hero h1{font-size:3rem}
  .daily-page .story-grid{grid-template-columns:1fr;gap:34px}
  .daily-page .story-photo{width:100%;height:auto;margin-inline:0}
  .daily-page .winners-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .daily-page .winners-grid:not(.is-expanded)>.winner:nth-child(9){display:flex}
  .daily-page .winners-grid:not(.is-expanded)>.winner:nth-child(n+10){display:none}
}
@media (max-width:820px){
  .daily-page .hero-content{width:min(calc(100% - 40px),1200px)}
  .daily-page .hero-content{padding:130px 0 68px}
  .daily-page .facts-grid{grid-template-columns:1fr;gap:15px;padding:27px 0}
  .daily-page .fact{justify-content:flex-start;text-align:left}
  .daily-page .story, .daily-page .winners{padding:76px 0}
  .daily-page .closing{padding:72px 0}
  .daily-page .cta-band{padding:58px 30px;border-radius:22px}
}
@media (max-width:560px){
  .daily-page .hero{min-height:0;aspect-ratio:4/5;background-position:61% center}
  .daily-page .hero-content{padding:0 0 clamp(24px,6vw,34px)}
  .daily-page .hero h1{max-width:330px;margin:0 0 24px;font-size:clamp(2rem,10vw,2.75rem);line-height:1.06;letter-spacing:-.03em;text-wrap:balance}
  .daily-page .hero p{max-width:300px;margin-bottom:18px;font-size:1rem;line-height:1.48}
  .daily-page .hero .btn.red{min-height:48px;padding:15px 24px;font-size:.98rem}
  .daily-page .story h2, .daily-page .winners h2{font-size:2rem;line-height:1.2}
  .daily-page .quote{font-size:1.02rem;line-height:1.68}
  .daily-page .winners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .daily-page .winners-grid:not(.is-expanded)>.winner:nth-child(9){display:none}
  .daily-page .winners-grid:not(.is-expanded)>.winner:nth-child(n+9){display:none}
  .daily-page .winner{min-height:112px;padding:14px}
  .daily-page .winner-arrow{opacity:1;transform:none}
  .daily-page .cta-band{padding:50px 22px}
  .daily-page .cta-actions{display:grid;grid-template-columns:1fr}
  .daily-page .cta-actions .btn{width:100%}
}
@media (max-width:400px){
  .daily-page .hero h1{font-size:clamp(1.9rem,10vw,2.35rem)}
}

/* ===================================================
   PAGE: Reciprocal Accommodation (page-reciprocal-accommodation.php)
   From the 4 August approved design, scoped under .recip-page.
   The designer's nav/footer/button chrome is dropped: his file uses a
   different mobile-menu implementation (is-open / is-scrolled) that
   would fight our own. Ours stays the source of truth.
   =================================================== */
.recip-page .text-link{font-family:'Poppins',sans-serif}
.recip-page .skip-link{position:fixed;top:10px;left:10px;z-index:200;transform:translateY(-150%);background:#fff;color:var(--blue);padding:10px 14px;border-radius:8px;font-weight:700}
.recip-page .skip-link:focus{transform:none}
.recip-page .megacols{display:grid;gap:34px}
.recip-page .megacols.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.recip-page .megacols.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.recip-page .item{display:block;padding:5px 0;color:var(--taupe);font-family:'Lato',sans-serif;font-size:.95rem}
.recip-page .item:hover{color:var(--blue)}
.recip-page .megaside{border-left:1px solid var(--line);padding-left:34px}
.recip-page .megafeat{background:var(--cream);border-radius:13px;padding:18px;margin-bottom:19px}
.recip-page .fb{font-weight:600;color:var(--taupe);margin-bottom:5px}
.recip-page .fd{font-family:'Lato',sans-serif;font-size:.9rem;line-height:1.55}
.recip-page .hero{position:relative;min-height:660px;display:flex;align-items:flex-end;isolation:isolate;background:#17314c url('assets/img/reciprocal-hero.webp') center 60%/cover no-repeat}
.recip-page .hero-content{width:min(calc(100% - 64px),1200px);margin-inline:auto;padding:160px 0 100px;color:#fff}
.recip-page .hero h1{max-width:850px;margin:0 0 30px;color:#fff;font-size:4.1rem;font-weight:600;line-height:1.08;letter-spacing:-.01em;text-shadow:0 2px 18px rgba(20,40,70,.35)}
.recip-page .hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.recip-page .partners{padding:96px 0 112px;background:var(--cream);overflow:hidden}
.recip-page .partners-heading{max-width:940px;margin-bottom:52px}
.recip-page #partners-title{scroll-margin-top:104px}
.recip-page .partners-heading h2{margin:0 0 18px;color:var(--taupe);font-size:clamp(2.2rem,3.8vw,3.8rem);font-weight:600;line-height:1.2;letter-spacing:-.01em}
.recip-page .partners-heading p{max-width:700px;margin:0;color:var(--taupe);font-size:1.1rem;line-height:1.76}
.recip-page .partners-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.recip-page .partner-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:none}
.recip-page .card-media{display:block;overflow:hidden;height:240px;background:#dedad5}
.recip-page .card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.recip-page .card-media:hover img{transform:scale(1.025)}
.recip-page .card-body{display:flex;flex:1;flex-direction:column;padding:28px 28px 27px}
.recip-page .card-body h3{margin:0 0 14px;color:var(--taupe);font-size:1.75rem;font-weight:600;line-height:1.2;letter-spacing:-.01em}
.recip-page .card-body>p{margin:0 0 22px;color:var(--taupe);font-size:1rem;line-height:1.68}
.recip-page .card-contact{margin-top:auto;padding:19px 0 20px;border-top:1px solid var(--line)}
.recip-page .card-contact strong{display:block;margin-bottom:5px;color:var(--taupe);font-family:'Poppins',sans-serif;font-size:.91rem;font-weight:600;line-height:1.45}
.recip-page .card-contact span, .recip-page .card-contact a{color:var(--taupe);font-size:.96rem}
.recip-page .card-contact a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.recip-page .text-link{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;color:var(--red);font-size:.9rem;font-weight:600;transition:color .18s ease}
.recip-page .text-link:hover{color:var(--blue)}
.recip-page .text-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.recip-page .text-link:hover svg{transform:translateX(3px)}
.recip-page .slider-controls{display:none}
.recip-page .closing{padding:104px 0;background:#fff}
.recip-page .cta-band{padding:72px 64px;text-align:center;color:#fff;background:linear-gradient(135deg,#a9342a 0%,#cc4436 55%,#d85b4e 100%);border-radius:28px;box-shadow:0 22px 50px rgba(169,52,42,.2)}
.recip-page .cta-band h2{margin:0 0 14px;color:#fff;font-size:clamp(30px,3.6vw,44px);font-weight:600;line-height:1.2;letter-spacing:-.01em}
.recip-page .cta-band p{max-width:650px;margin:0 auto 29px;color:rgba(255,255,255,.92);font-size:1.08rem}
.recip-page .cta-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.recip-page .cta-band .btn.red{background:#fff;border-color:#fff;color:var(--red)}
.recip-page .cta-band .btn.red:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.recip-page .cta-band .btn.ghost{border-color:rgba(255,255,255,.65);color:#fff}
.recip-page .cta-band .btn.ghost:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.recip-page .fl{display:flex;gap:24px;flex-wrap:wrap}
@media (max-width:1100px){
  .recip-page .partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .recip-page .hero{min-height:560px}
  .recip-page .hero h1{font-size:3rem}
}
@media (max-width:820px){
  .recip-page .hero-content{width:min(calc(100% - 40px),1200px)}
  .recip-page .hero{background-position:center 57%}
  .recip-page .hero-content{padding:130px 0 68px}
  .recip-page .partners{padding:74px 0 78px}
  .recip-page .partners-heading{margin-bottom:38px}
  .recip-page .partners-grid{display:flex;gap:18px;overflow-x:auto;margin-inline:-20px;padding:2px 20px 16px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .recip-page .partners-grid::-webkit-scrollbar{display:none}
  .recip-page .partner-card{flex:0 0 min(84vw,360px);scroll-snap-align:start}
  .recip-page .slider-controls{display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px;margin-top:24px}
  .recip-page .progress-track{position:relative;height:3px;overflow:hidden;background:rgba(204,68,54,.22);border-radius:999px}
  .recip-page .progress-fill{position:absolute;inset:0 auto 0 0;width:16%;background:var(--red);border-radius:inherit;transition:width .15s linear}
  .recip-page .arrow-group{display:flex;gap:8px}
  .recip-page .slider-arrow{display:grid;width:42px;height:42px;place-items:center;padding:0;border:1.5px solid var(--red);border-radius:50%;background:transparent;color:var(--red);cursor:pointer;transition:.18s ease}
  .recip-page .slider-arrow:hover{background:var(--blue);border-color:var(--blue);color:#fff}
  .recip-page .slider-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .recip-page .closing{padding:72px 0}
  .recip-page .cta-band{padding:58px 30px;border-radius:22px}
}
@media (max-width:560px){
  .recip-page .hero{min-height:0;aspect-ratio:4/5;background-position:center 58%}
  .recip-page .hero-content{padding:0 0 clamp(24px,6vw,34px)}
  .recip-page .hero h1{max-width:330px;margin:0 0 18px;font-size:clamp(2rem,10vw,2.75rem);line-height:1.06;letter-spacing:-.03em;text-wrap:balance}
  .recip-page .hero .btn.red{min-height:48px;padding:15px 24px;font-size:.98rem}
  .recip-page .partners-heading h2{font-size:2.2rem;line-height:1.2}
  .recip-page .partners-heading p{font-size:1.04rem;line-height:1.76}
  .recip-page .card-media{height:auto;aspect-ratio:1/1}
  .recip-page .card-body{padding:25px 24px 24px}
  .recip-page .card-body h3{font-size:1.48rem}
  .recip-page .cta-band{padding:50px 22px}
  .recip-page .cta-actions{display:grid;grid-template-columns:1fr}
  .recip-page .cta-actions .btn{width:100%}
}
@media (max-width:400px){
  .recip-page .hero h1{font-size:clamp(1.9rem,10vw,2.35rem)}
}

/* ===================================================
   PAGE: Brisbane Holiday Unit (page-brisbane.php)
   From the v5 approved design (10 Aug). Scoped under .unit-page-v2:
   this revision drops .display, .media-badges, .unit-note and the
   nth-child zig-zag that Coolum, Mermaid Beach and Yeppoon still use,
   so their .unit-page block below is left untouched.
   =================================================== */
.unit-page-v2 .container{width:100%; max-width:1200px; margin:0 auto; padding:0 28px}
.unit-page-v2 .amenities :focus-visible, .unit-page-v2 .closing :focus-visible, .unit-page-v2 .hero :focus-visible{outline-color:#fff}
.unit-page-v2 .btn{display:inline-flex; align-items:center; gap:8px; font-family:'Poppins',sans-serif; font-size:.92rem; font-weight:500; letter-spacing:0; text-transform:none; padding:13px 26px; border:1.5px solid transparent; border-radius:9px; cursor:pointer; transition:background .18s ease,color .18s ease,border-color .18s ease;}
.unit-page-v2 .btn-sm{padding:9px 16px; font-size:.84rem}
.unit-page-v2 .btn-primary{background:var(--red); color:#fff; border-color:var(--red)}
.unit-page-v2 .btn-primary:hover{background:var(--blue); border-color:var(--blue); color:#fff}
.unit-page-v2 .btn-outline{background:transparent; color:var(--blue); border-color:var(--blue)}
.unit-page-v2 .btn-outline:hover{background:var(--red); border-color:var(--red); color:#fff}
.unit-page-v2 .btn-light{background:#fff; color:var(--red); border-color:#fff}
.unit-page-v2 .btn-light:hover{background:var(--blue); border-color:var(--blue); color:#fff}
.unit-page-v2 .btn-on-dark{background:transparent; color:#fff; border-color:rgba(255,255,255,.65)}
.unit-page-v2 .btn-on-dark:hover{background:var(--red); border-color:var(--red); color:#fff}
.unit-page-v2 .btn-group{display:flex; gap:14px; flex-wrap:wrap}
.unit-page-v2 .eyebrow{font-family:'Poppins',sans-serif; font-size:.74rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--taupe); margin-bottom:12px;}
.unit-page-v2 nav.scrolled{background:var(--red); border-bottom:0; box-shadow:0 8px 24px rgba(0,0,0,.12)}
.unit-page-v2 nav.scrolled .btn-primary{background:#fff; color:var(--red); border-color:#fff}
.unit-page-v2 nav.scrolled .btn-primary:hover{background:var(--blue); color:#fff; border-color:var(--blue)}
.unit-page-v2 .megamain{flex:1}
.unit-page-v2 .megamain>.mh{font-family:'Poppins',sans-serif; font-size:.66rem; letter-spacing:.07em; text-transform:uppercase; color:var(--taupe); font-weight:600; margin-bottom:16px}
.unit-page-v2 .megacols{display:grid; gap:8px 22px}
.unit-page-v2 .megacols.c3{grid-template-columns:repeat(3,1fr)}
.unit-page-v2 .megacols.c2{grid-template-columns:repeat(2,1fr)}
.unit-page-v2 .megacols .gh{font-family:'Poppins',sans-serif; font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:600; margin:0 0 4px 10px}
.unit-page-v2 .megaside{width:300px; flex:none}
.unit-page-v2 .megafeat{background:var(--blue); border-radius:12px; padding:18px; color:#fff; margin-bottom:14px}
.unit-page-v2 .megafeat .fb{font-family:'Poppins',sans-serif; font-size:1.08rem; font-weight:600; margin-bottom:5px; color:var(--gold-bright)}
.unit-page-v2 .megafeat .fd{font-size:.78rem; color:#fff}
.unit-page-v2 .hero{position:relative; min-height:660px; display:flex; align-items:flex-end; padding:0; background:var(--red-dark); overflow:hidden;}
.unit-page-v2 .hero-media{position:absolute; inset:0; z-index:0; background-image:url("assets/img/brisbane-hero.webp"); background-size:cover; background-position:center 44%; background-repeat:no-repeat;}
.unit-page-v2 .hero-media::after{content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(12,32,58,.40) 0%, rgba(12,32,58,.16) 13%, rgba(12,32,58,0) 30%), linear-gradient(100deg, rgba(12,32,58,.42) 0%, rgba(12,32,58,.26) 30%, rgba(12,32,58,.12) 50%, rgba(12,32,58,.02) 66%, rgba(12,32,58,0) 78%);}
.unit-page-v2 .hero-inner{position:relative; z-index:2; width:100%; min-height:660px; display:flex; align-items:flex-end; padding-top:160px; padding-bottom:100px;}
.unit-page-v2 .hero-content{max-width:620px; text-align:left}
.unit-page-v2 .hero h1{font-family:'Poppins',sans-serif; font-size:4.1rem; font-weight:600; line-height:1.08; letter-spacing:-.01em; margin-bottom:30px; color:#fff; text-shadow:0 2px 18px rgba(20,40,70,.35);}
.unit-page-v2 .hero h1 .line-1, .unit-page-v2 .hero h1 .line-2{display:block; font-weight:600}
.unit-page-v2 .hero .btn-primary:hover{background:var(--blue); border-color:var(--blue); color:#fff}
.unit-page-v2 .hero .btn-on-dark:hover{background:var(--red); border-color:var(--red); color:#fff}
.unit-page-v2 .amenities{background:var(--red); color:#fff; padding:50px 0}
.unit-page-v2 .amenities-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:36px 24px; justify-items:center;}
.unit-page-v2 .amenity{display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; font-family:'Poppins',sans-serif; font-size:.92rem; font-weight:500; line-height:1.45; color:#fff; max-width:150px;}
.unit-page-v2 .amenity svg{width:30px; height:30px; flex:none; stroke:#fff; fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round}
.unit-page-v2 .about{background:var(--cream)}
.unit-page-v2 .about-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center;}
.unit-page-v2 .about-heading{font-size:2.1rem; line-height:1.2; font-weight:600; color:var(--taupe); margin-bottom:18px}
.unit-page-v2 .about-copy p{color:var(--taupe); font-size:1.02rem; margin-bottom:20px; max-width:560px}
.unit-page-v2 .about-copy p:last-of-type{margin-bottom:30px}
.unit-page-v2 .about-media{position:relative; aspect-ratio:4/3; background:var(--warm); border-radius:24px; overflow:hidden}
.unit-page-v2 .units{padding:0 0 74px; background:var(--paper)}
.unit-page-v2 .unit{display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:center; padding:70px 0;}
.unit-page-v2 .unit .unit-media{order:-1}
.unit-page-v2 .unit .unit-body{order:0}
.unit-page-v2 .unit.reverse{grid-template-columns:1fr 1.15fr}
.unit-page-v2 .unit.reverse .unit-media{order:0}
.unit-page-v2 .unit.reverse .unit-body{order:-1}
.unit-page-v2 .unit + .unit{border-top:1px solid var(--line)}
.unit-page-v2 .unit-title{font-size:2.1rem; line-height:1.2; font-weight:600; color:var(--taupe); margin-bottom:16px}
.unit-page-v2 .unit-copy{color:var(--taupe); font-size:1.02rem; max-width:430px; margin-bottom:30px}
.unit-page-v2 .unit-specs{display:grid; grid-template-columns:repeat(3,auto); justify-content:start; gap:26px 48px; margin-bottom:32px;}
.unit-page-v2 .spec-label{display:block; font-family:'Poppins',sans-serif; font-size:.66rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--taupe); margin-bottom:3px;}
.unit-page-v2 .spec-value{display:block; font-family:'Lato',sans-serif; font-style:normal; font-weight:400; font-size:1.02rem; line-height:1.5; letter-spacing:0; color:var(--taupe);}
.unit-page-v2 .unit-media{position:relative; aspect-ratio:4/3; background:var(--warm); border-radius:24px; overflow:hidden}
.unit-page-v2 .media-slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; visibility:hidden; transition:opacity .32s ease;}
.unit-page-v2 .media-slide.is-active{opacity:1; visibility:visible}
.unit-page-v2 .media-gallery::after{content:""; position:absolute; left:0; right:0; bottom:0; height:38%; z-index:1; pointer-events:none; background:linear-gradient(to top,rgba(14,28,40,.55),rgba(14,28,40,0));}
.unit-page-v2 .gallery-dots{position:absolute; left:50%; bottom:20px; transform:translateX(-50%); display:flex; align-items:center; gap:7px; z-index:2;}
.unit-page-v2 .gallery-dots button{appearance:none; padding:0; border:0; cursor:pointer; width:7px; height:7px; border-radius:999px; background:rgba(255,255,255,.5); transition:width .2s ease,background-color .2s ease;}
.unit-page-v2 .gallery-dots button.is-active{width:22px; background:#fff}
.unit-page-v2 .gallery-arrow{position:absolute; top:50%; transform:translateY(-50%); z-index:3; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; padding:0; border:1px solid rgba(124,106,85,.28); border-radius:50%; background:#fff; color:var(--blue); cursor:pointer; transition:background .18s ease,border-color .18s ease,color .18s ease;}
.unit-page-v2 .gallery-arrow svg{width:18px; height:18px; stroke:currentColor; stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round}
.unit-page-v2 .gallery-arrow:hover{background:var(--blue); border-color:var(--blue); color:#fff}
.unit-page-v2 .gallery-prev{left:16px}
.unit-page-v2 .gallery-next{right:16px}
.unit-page-v2 .gallery-count{position:absolute; right:16px; bottom:18px; z-index:3; display:inline-flex; align-items:center; gap:7px; padding:6px 12px; border-radius:999px; background:rgba(14,28,40,.6); color:#fff; font-family:'Poppins',sans-serif; font-size:.74rem; font-weight:600; letter-spacing:.04em; line-height:1; pointer-events:none;}
.unit-page-v2 .gallery-count svg{width:14px; height:14px; stroke:currentColor; stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round}
.unit-page-v2 .unit-video{margin:0; padding:0}
.unit-page-v2 .unit-video-el{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}
.unit-page-v2 .video-toggle{position:absolute; right:16px; bottom:16px; z-index:3; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:0; border-radius:50%; background:rgba(14,28,40,.6); color:#fff; cursor:pointer; transition:background .18s ease;}
.unit-page-v2 .video-toggle:hover{background:var(--blue)}
.unit-page-v2 .video-toggle svg{width:16px; height:16px; fill:currentColor}
.unit-page-v2 .video-toggle .ic-play{display:none}
.unit-page-v2 .video-toggle[data-playing="false"] .ic-pause{display:none}
.unit-page-v2 .video-toggle[data-playing="false"] .ic-play{display:block}
.unit-page-v2 .section-heading{font-family:'Poppins',sans-serif; font-size:2.1rem; line-height:1.2; letter-spacing:-.01em; font-weight:600; color:var(--taupe);}
.unit-page-v2 .faqs{background:var(--cream)}
.unit-page-v2 .faqs-head{margin-bottom:44px; text-align:center}
.unit-page-v2 .acc{max-width:880px; margin:0 auto}
.unit-page-v2 .acc details{border-bottom:1px solid var(--line)}
.unit-page-v2 .acc details:first-of-type{border-top:1px solid var(--line)}
.unit-page-v2 .acc summary{list-style:none; cursor:pointer; padding:24px 0; font-family:'Lato',sans-serif; font-size:1rem; font-weight:400; line-height:1.5; color:var(--ink); display:flex; align-items:center; justify-content:space-between; gap:24px; transition:color .18s ease;}
.unit-page-v2 .acc summary:hover{color:var(--red)}
.unit-page-v2 .acc summary::-webkit-details-marker{display:none}
.unit-page-v2 .acc summary::after{content:"+"; font-family:'Poppins',sans-serif; font-size:1.3rem; font-weight:300; color:var(--red); line-height:1; flex:none}
.unit-page-v2 .acc details[open] summary{color:var(--ink)}
.unit-page-v2 .acc details[open] summary::after{content:"\2013"}
.unit-page-v2 .acc-body{padding:0 60px 28px 0; color:var(--taupe); font-size:.98rem}
.unit-page-v2 .acc-body a{color:var(--red); font-weight:600; text-decoration:underline; text-underline-offset:3px}
.unit-page-v2 .acc-body a:hover{color:var(--blue)}
.unit-page-v2 .closing{background:var(--paper); padding:58px 0 74px}
.unit-page-v2 .closing-box{background:linear-gradient(135deg,#a9342a 0%,#cc4436 55%,#d85b4e 100%); color:#fff; border-radius:28px; padding:72px 64px; text-align:center; box-shadow:0 22px 50px rgba(169,52,42,.2);}
.unit-page-v2 .closing h2{font-family:'Poppins',sans-serif; font-size:clamp(30px,3.6vw,44px); font-weight:600; line-height:1.15; letter-spacing:-.01em; color:#fff; margin-bottom:28px;}
.unit-page-v2 .closing h2 .line-1, .unit-page-v2 .closing h2 .line-2{display:block; font-weight:600}
.unit-page-v2 .closing .btn-group{justify-content:center}
.unit-page-v2 .closing .btn-on-dark:hover{background:#fff; border-color:#fff; color:var(--red)}
@media (max-width:980px){
  .unit-page-v2 .megaside{width:100%}
}
@media (max-width:900px){
  .unit-page-v2 .hero{min-height:560px}
  .unit-page-v2 .hero-inner{min-height:560px; padding-top:126px; padding-bottom:68px}
  .unit-page-v2 .hero h1{font-size:3rem}
  .unit-page-v2 .about-grid, .unit-page-v2 .unit, .unit-page-v2 .unit.reverse{grid-template-columns:1fr; gap:40px}
  .unit-page-v2 .about-media, .unit-page-v2 .unit-media{order:-1}
  .unit-page-v2 .unit .unit-body, .unit-page-v2 .unit.reverse .unit-body{order:0}
  .unit-page-v2 .amenities-grid{grid-template-columns:repeat(4,1fr); gap:30px 20px}
}
@media (max-width:760px){
  .unit-page-v2 .units{padding:0 0 56px}
  .unit-page-v2 .unit{padding:52px 0}
  .unit-page-v2 .closing{padding:44px 0 56px}
  .unit-page-v2 .about-heading, .unit-page-v2 .unit-title, .unit-page-v2 .section-heading{font-size:1.8rem}
  .unit-page-v2 .faqs-head{margin-bottom:34px}
  .unit-page-v2 .amenities{padding:40px 0}
  .unit-page-v2 .amenities-grid{grid-template-columns:repeat(2,1fr); gap:28px 16px}
  .unit-page-v2 .closing-box{padding:52px 34px}
  .unit-page-v2 .closing h2{font-size:32px}
}
@media (max-width:560px){
  .unit-page-v2 .container{padding:0 20px}
  .unit-page-v2 .units{padding:0 0 46px}
  .unit-page-v2 .unit{padding:40px 0}
  .unit-page-v2 .closing{padding:36px 0 46px}
  .unit-page-v2 .about-heading, .unit-page-v2 .unit-title, .unit-page-v2 .section-heading{font-size:1.55rem}
  .unit-page-v2 .about-copy p, .unit-page-v2 .unit-copy{font-size:.98rem}
  .unit-page-v2 .hero{display:grid; align-items:end; aspect-ratio:4 / 5; min-height:0; background:var(--blue);}
  .unit-page-v2 .hero-media{background-image:url("assets/img/brisbane-hero-mobile.webp"); background-position:center 46%;}
  .unit-page-v2 .hero-media::after{background: linear-gradient(180deg, rgba(12,32,58,.40) 0%, rgba(12,32,58,.12) 14%, rgba(12,32,58,0) 30%), linear-gradient(180deg, rgba(10,35,55,0) 40%, rgba(10,35,55,.26) 62%, rgba(10,35,55,.76) 100%);}
  .unit-page-v2 .hero-inner{position:absolute; inset:auto 0 0 0; display:block; min-height:0; padding:0 20px clamp(24px,6vw,34px);}
  .unit-page-v2 .hero-content{max-width:360px}
  .unit-page-v2 .hero h1{max-width:330px; margin:0 0 18px; font-size:clamp(2rem,10vw,2.75rem); line-height:1.06; letter-spacing:-.03em; text-wrap:balance;}
  .unit-page-v2 .hero .btn-group{flex-direction:column; align-items:stretch; gap:10px}
  .unit-page-v2 .hero .btn{justify-content:center; min-height:48px; padding:14px 24px; font-size:.95rem; box-shadow:0 8px 22px rgba(20,40,70,.22)}
  .unit-page-v2 .btn-group .btn{flex:1 1 auto; justify-content:center}
  .unit-page-v2 .unit-specs{grid-template-columns:repeat(3,auto); gap:20px 30px}
  .unit-page-v2 .spec-value{font-size:.98rem}
  .unit-page-v2 .acc summary{padding:20px 0; gap:16px}
  .unit-page-v2 .acc-body{padding-right:0}
  .unit-page-v2 .gallery-arrow{width:36px; height:36px}
  .unit-page-v2 .gallery-arrow svg{width:16px; height:16px}
  .unit-page-v2 .gallery-prev{left:10px}
  .unit-page-v2 .gallery-next{right:10px}
  .unit-page-v2 .gallery-count{right:10px; bottom:14px; padding:5px 10px; font-size:.7rem}
  .unit-page-v2 .gallery-dots{bottom:16px}
  .unit-page-v2 .closing-box{padding:44px 24px; border-radius:20px}
  .unit-page-v2 .closing h2{font-size:28px}
  .unit-page-v2 .closing .btn-group{gap:10px}
}
@media (max-width:400px){
  .unit-page-v2 .container{padding:0 16px}
  .unit-page-v2 .hero-inner{padding:0 16px 20px}
  .unit-page-v2 .hero h1{font-size:clamp(1.9rem,10vw,2.35rem)}
  .unit-page-v2 .unit-specs{gap:18px 24px}
}
.unit-page-v2 .more-stays{background:var(--cream); padding:82px 0 90px}
.unit-page-v2 .more-stays-head{display:block; margin-bottom:42px}
.unit-page-v2 .more-stays-intro{max-width:760px}
.unit-page-v2 .more-stays-intro h2{font-family:'Poppins',sans-serif; font-size:2.1rem; line-height:1.2; font-weight:600; color:var(--taupe); letter-spacing:-.01em; margin:0 0 16px}
.unit-page-v2 .more-stays-intro p{font-size:1.02rem; line-height:1.72; color:var(--taupe); max-width:700px}
.unit-page-v2 .more-stays-track{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; overflow:visible; padding:0}
.unit-page-v2 .more-stay-card{min-width:0; background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; box-shadow:none; display:flex; flex-direction:column; min-height:100%}
.unit-page-v2 .more-stay-media{display:block; min-height:240px; background-size:cover; background-position:center center; background-repeat:no-repeat; filter:none!important; box-shadow:none!important}
.unit-page-v2 .more-stay-media.mermaid{background-image:url('assets/img/unit-mermaid-beach-hub.webp')}
.unit-page-v2 .more-stay-media.coolum{background-image:url('assets/img/unit-coolum-hub.webp')}
.unit-page-v2 .more-stay-media.yeppoon{background-image:url('assets/img/unit-yeppoon-hub.webp')}
.unit-page-v2 .more-stay-copy{padding:28px 28px 30px; display:flex; flex-direction:column; flex:1}
.unit-page-v2 .more-stay-region{display:block; font-family:'Poppins',sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--red); margin-bottom:10px}
.unit-page-v2 .more-stay-copy h3{font-family:'Poppins',sans-serif; font-size:1.72rem; font-weight:600; line-height:1.2; color:var(--taupe); margin:0 0 14px; letter-spacing:-.015em}
.unit-page-v2 .more-stay-copy h3 a:hover{color:var(--red)}
.unit-page-v2 .more-stay-copy p{font-size:1rem; line-height:1.68; color:var(--taupe); max-width:none; margin:0 0 22px}
.unit-page-v2 .more-stay-link{display:inline-flex; align-items:center; gap:6px; font-family:'Poppins',sans-serif; font-size:.92rem; font-weight:600; color:var(--red); margin-top:auto}
.unit-page-v2 .more-stay-link:hover{color:var(--red-dark)}
@media (max-width:980px){
  .unit-page-v2 .more-stays-head{margin-bottom:34px}
  .unit-page-v2 .more-stays-track{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .unit-page-v2 .more-stays{padding:54px 0 60px}
  .unit-page-v2 .more-stays-intro h2{font-size:1.55rem}
  .unit-page-v2 .more-stays-intro p{font-size:.98rem}
  .unit-page-v2 .more-stays-track{grid-template-columns:1fr}
  .unit-page-v2 .more-stay-media{min-height:230px}
  .unit-page-v2 .more-stay-copy{padding:24px 22px 26px}
  .unit-page-v2 .more-stay-copy h3{font-size:1.45rem}
}

/* ===================================================
   PAGE: Mermaid Beach Holiday Unit (page-mermaid-beach.php)
   Overrides only. 94% of this design is identical to the Brisbane
   v5 base above, so this block carries just the rules that are new
   or differ, scoped .unit-page-v2.unit-mermaid so they outrank the base.
   =================================================== */
.unit-page-v2.unit-mermaid .more-stay-media.yeppoon{background-image:url('assets/img/unit-yeppoon-hub.webp')}
.unit-page-v2.unit-mermaid .image-pill .paw-icon{width:14px; height:14px; display:block; color:#fff}
.unit-page-v2.unit-mermaid .unit.reverse .unit-body{order:-1}
}
@media (max-width:900px){
  .unit-page-v2.unit-mermaid .unit.reverse .unit-body{order:0}
}
.unit-page-v2.unit-mermaid .more-stays-track{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; overflow:visible; padding:0}
}
@media (max-width:900px){
  .unit-page-v2.unit-mermaid .more-stays-track{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .unit-page-v2.unit-mermaid .more-stays-track{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .more-stays-track{grid-template-columns:1fr}
}
@media (max-width:640px){
  .unit-page-v2.unit-mermaid .more-stays-track{grid-template-columns:1fr}
}
.unit-page-v2.unit-mermaid .unit-specs{display:grid; grid-template-columns:repeat(2,minmax(0,auto)); justify-content:start; gap:24px 48px; margin-bottom:32px}
}
@media (max-width:400px){
  .unit-page-v2.unit-mermaid .unit-specs{gap:18px 24px}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .unit-specs{grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px}
}
.unit-page-v2.unit-mermaid .image-pill .paw-badge{display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:999px; background:rgba(255,255,255,.18); flex:0 0 24px}
.unit-page-v2.unit-mermaid .unit-note{padding:16px 20px; border-left:3px solid var(--red); background:var(--cream); border-radius:0 10px 10px 0; color:var(--taupe); font-size:.98rem; line-height:1.6; max-width:480px; margin-bottom:30px}
.unit-page-v2.unit-mermaid .more-stays-track::-webkit-scrollbar{display:none}
.unit-page-v2.unit-mermaid .image-pill span:last-child{white-space:nowrap}
.unit-page-v2.unit-mermaid .about-media img{display:block; width:100%; height:100%; object-fit:cover}
.unit-page-v2.unit-mermaid .more-stay-media{display:block; min-height:240px; aspect-ratio:auto; background-size:cover; background-position:center center; background-repeat:no-repeat; filter:none!important; box-shadow:none!important; border-radius:0}
}
@media (max-width:640px){
  .unit-page-v2.unit-mermaid .more-stay-media{min-height:230px}
}
.unit-page-v2.unit-mermaid .amenities-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:36px 24px; justify-items:center}
}
@media (max-width:760px){
  .unit-page-v2.unit-mermaid .amenities-grid{grid-template-columns:repeat(2,1fr); gap:28px 16px}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .amenities-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .unit-page-v2.unit-mermaid .amenities-grid{grid-template-columns:repeat(3,1fr); gap:30px 20px}
}
.unit-page-v2.unit-mermaid .more-stays{background:var(--cream); padding:82px 0 90px}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .more-stays{padding:54px 0 60px}
}
@media (max-width:640px){
  .unit-page-v2.unit-mermaid .more-stays{padding:54px 0 60px}
}
.unit-page-v2.unit-mermaid .image-pill{position:absolute; top:16px; left:16px; z-index:4; display:inline-flex; align-items:center; gap:10px; padding:9px 16px; border-radius:999px; background:linear-gradient(135deg,var(--red),#d95d4f); color:#fff; font-family:'Poppins',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.02em; line-height:1; border:1px solid rgba(255,255,255,.18); box-shadow:0 10px 24px rgba(18,36,56,.22); pointer-events:none}
.unit-page-v2.unit-mermaid .more-stays-intro p{font-size:1.02rem; line-height:1.72; color:var(--taupe); max-width:700px}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .more-stays-intro p{font-size:.98rem}
}
@media (max-width:640px){
  .unit-page-v2.unit-mermaid .more-stays-intro p{font-size:.98rem}
}
.unit-page-v2.unit-mermaid .more-stay-media.coolum{background-image:url('assets/img/unit-coolum-hub.webp')}
.unit-page-v2.unit-mermaid .more-stay-media.brisbane{background-image:url('assets/img/unit-brisbane-hub.webp')}
.unit-page-v2.unit-mermaid .hero h1{font-family:'Poppins',sans-serif; font-size:4.1rem; font-weight:600; line-height:1.08; letter-spacing:-.01em; margin-bottom:30px; color:#fff; text-shadow:none!important}
}
@media (max-width:400px){
  .unit-page-v2.unit-mermaid .hero h1{font-size:clamp(1.9rem,10vw,2.35rem)}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .hero h1{max-width:330px; margin:0 0 18px; font-size:clamp(2rem,10vw,2.75rem); line-height:1.06; letter-spacing:-.03em; text-wrap:balance}
}
@media (max-width:900px){
  .unit-page-v2.unit-mermaid .hero h1{font-size:3rem}
}
.unit-page-v2.unit-mermaid #unit-3{align-items:start}
}
@media (max-width:900px){
  .unit-page-v2.unit-mermaid #unit-3{align-items:stretch}
}
.unit-page-v2.unit-mermaid #unit-3 .unit-media{margin-top:2px}
}
@media (max-width:900px){
  .unit-page-v2.unit-mermaid #unit-3 .unit-media{margin-top:0}
}
.unit-page-v2.unit-mermaid .more-stays-intro h2{font-family:'Poppins',sans-serif; font-size:2.1rem; line-height:1.2; font-weight:600; color:var(--taupe); letter-spacing:-.01em; margin:0 0 16px}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .more-stays-intro h2{font-size:1.55rem}
}
@media (max-width:640px){
  .unit-page-v2.unit-mermaid .more-stays-intro h2{font-size:1.55rem}
}
.unit-page-v2.unit-mermaid .hero-media{position:absolute; inset:0; z-index:0; background-image:url("assets/img/mermaid-beach-hero.webp"); background-size:cover; background-position:center 48%; background-repeat:no-repeat; filter:none!important}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .hero-media{background-position:68% 50%}
}
.unit-page-v2.unit-mermaid .hero-media::after{content:none!important; position:absolute; inset:0; background:none!important; display:none!important}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .hero-media::after{background:none; display:none!important}
}
.unit-page-v2.unit-mermaid .more-stay-copy h3{font-family:'Poppins',sans-serif; font-size:1.72rem; font-weight:600; line-height:1.2; color:var(--taupe); margin:0 0 14px; letter-spacing:-.015em}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .more-stay-copy h3{font-size:1.45rem}
}
@media (max-width:640px){
  .unit-page-v2.unit-mermaid .more-stay-copy h3{font-size:1.45rem}
}
.unit-page-v2.unit-mermaid .faqs{background:var(--cream); padding:82px 0 90px}
}
@media (max-width:900px){
  .unit-page-v2.unit-mermaid .faqs{padding:62px 0 68px}
}
@media (max-width:640px){
  .unit-page-v2.unit-mermaid .faqs{padding:54px 0 60px}
}
.unit-page-v2.unit-mermaid .more-stays-head{display:block; margin-bottom:42px}
}
@media (max-width:980px){
  .unit-page-v2.unit-mermaid .more-stays-head{margin-bottom:34px}
}
@media (max-width:900px){
  .unit-page-v2.unit-mermaid .more-stays-head{grid-template-columns:1fr; gap:26px; margin-bottom:34px}
}
.unit-page-v2.unit-mermaid .unit.reverse{grid-template-columns:1.15fr 1fr}
}
@media (max-width:900px){
  .unit-page-v2.unit-mermaid .unit.reverse{grid-template-columns:1fr}
}
.unit-page-v2.unit-mermaid .hero .btn{box-shadow:none!important}
}
@media (max-width:560px){
  .unit-page-v2.unit-mermaid .hero .btn{justify-content:center; min-height:48px; padding:14px 24px; font-size:.95rem; box-shadow:none!important}
}

/* ===================================================
   PAGE: Yeppoon Holiday Unit (page-yeppoon.php)
   Overrides only. 94% of this design is identical to the Brisbane
   v5 base above, so this block carries just the rules that are new
   or differ, scoped .unit-page-v2.unit-yeppoon so they outrank the base.
   =================================================== */
.unit-page-v2.unit-yeppoon .image-pill{position:absolute; top:16px; left:16px; z-index:4; display:inline-flex; align-items:center; gap:10px; padding:9px 16px; border-radius:999px; background:linear-gradient(135deg,var(--red),#d95d4f); color:#fff; font-family:'Poppins',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.02em; line-height:1; border:1px solid rgba(255,255,255,.18); box-shadow:0 10px 24px rgba(18,36,56,.22); pointer-events:none}
.unit-page-v2.unit-yeppoon .hero h1{font-family:'Poppins',sans-serif; font-size:4.1rem; font-weight:600; line-height:1.08; letter-spacing:-.01em; margin-bottom:30px; color:#fff; text-shadow:none}
}
@media (max-width:400px){
  .unit-page-v2.unit-yeppoon .hero h1{font-size:clamp(1.9rem,10vw,2.35rem)}
}
@media (max-width:560px){
  .unit-page-v2.unit-yeppoon .hero h1{max-width:330px; margin:0 0 18px; font-size:clamp(2rem,10vw,2.75rem); line-height:1.06; letter-spacing:-.03em; text-wrap:balance}
}
@media (max-width:900px){
  .unit-page-v2.unit-yeppoon .hero h1{font-size:3rem}
}
.unit-page-v2.unit-yeppoon .unit-video-el{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:1; background:#111}
.unit-page-v2.unit-yeppoon .more-stay-media.mermaid{background-image:url('assets/img/unit-mermaid-beach-hub.webp')}
.unit-page-v2.unit-yeppoon .more-stay-media.brisbane{background-image:url('assets/img/unit-brisbane-hub.webp')}
.unit-page-v2.unit-yeppoon .yeppoon-amenities .amenities-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .unit-page-v2.unit-yeppoon .yeppoon-amenities .amenities-grid{grid-template-columns:repeat(2,1fr)}
}
.unit-page-v2.unit-yeppoon .hero-media{position:absolute; inset:0; z-index:0; background-image:url("assets/img/yeppoon-hero.webp"); background-size:cover; background-position:center 65%; background-repeat:no-repeat}
}
@media (max-width:560px){
  .unit-page-v2.unit-yeppoon .hero-media{background-image:url("assets/img/yeppoon-hero.webp"); background-position:58% 58%}
}
.unit-page-v2.unit-yeppoon .hero-media::after{content:none; display:none; background:none}
}
@media (max-width:560px){
  .unit-page-v2.unit-yeppoon .hero-media::after{display:none; background:none}
}
.unit-page-v2.unit-yeppoon .more-stay-media.coolum{background-image:url('assets/img/unit-coolum-hub.webp')}
.unit-page-v2.unit-yeppoon .image-pill .paw-icon{width:14px; height:14px; display:block; color:#fff}
}
@media (max-width:560px){
  .unit-page-v2.unit-yeppoon .hero .btn{justify-content:center; min-height:48px; padding:14px 24px; font-size:.95rem; box-shadow:none}
}
.unit-page-v2.unit-yeppoon .unit-video{margin:0; padding:0; position:relative; background:#111}
.unit-page-v2.unit-yeppoon .image-pill span:last-child{white-space:nowrap}
.unit-page-v2.unit-yeppoon .image-pill .paw-badge{display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:999px; background:rgba(255,255,255,.18); flex:0 0 24px}

/* ===================================================
   PAGES: Holiday Unit details — Coolum, Mermaid Beach, Yeppoon
   (still on the July design; Brisbane moved to .unit-page-v2 above)
   =================================================== */
/* ===== Holiday Unit detail pages (Brisbane/Coolum/Mermaid Beach/Yeppoon) ===== */
/* Everything scoped under .unit-page so these rules can never leak onto the
   homepage / hub, which already use .hero / .btn / .faqs for a different look.
   Uses the site's canonical tokens throughout (no parallel colour system). */

.unit-page{background:var(--paper)}
.unit-page h1,.unit-page h2,.unit-page h3{font-family:'Poppins',sans-serif}
.unit-page a{text-decoration:none; color:inherit}

/* Buttons: a distinct uppercase/letter-spaced style for this section only */
.unit-page .btn{display:inline-flex; align-items:center; gap:12px; padding:14px 26px; font-family:'Poppins',sans-serif; font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; border:1px solid transparent; border-radius:9px; cursor:pointer; transition:background .2s ease,color .2s ease,border-color .2s ease}
.unit-page .btn-primary{background:var(--red); color:#fff; border-color:var(--red)}
.unit-page .btn-primary:hover{background:var(--blue); border-color:var(--blue)}
.unit-page .btn-outline{background:transparent; color:var(--blue); border-color:var(--blue)}
.unit-page .btn-outline:hover{background:var(--blue); color:#fff}
.unit-page .btn-ghost{background:transparent; color:var(--taupe); border-color:var(--warm)}
.unit-page .btn-ghost:hover{border-color:var(--taupe); color:var(--ink)}
.unit-page .btn-light{background:#fff; color:var(--blue); border-color:#fff}
.unit-page .btn-light:hover{background:var(--gold-bright); border-color:var(--gold-bright); color:var(--ink)}
.unit-page .btn-on-dark{background:transparent; color:#fff; border-color:rgba(255,255,255,.5)}
.unit-page .btn-on-dark:hover{border-color:var(--gold-bright); color:var(--gold-bright)}
.unit-page .btn-group{display:flex; gap:12px; flex-wrap:wrap}

.unit-page .eyebrow{font-family:'Poppins',sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--taupe); margin-bottom:16px}

/* Display type: thin italic first line, bold second line */
.unit-page .display{font-family:'Poppins',sans-serif; line-height:1.05; letter-spacing:-.02em}
.unit-page .display .line-1{display:block; font-weight:300; font-style:italic}
.unit-page .display .line-2{display:block; font-weight:700}

/* Hero */
.unit-page .hero{position:relative; min-height:520px; display:flex; align-items:center; padding:100px 0 90px; background:var(--taupe); overflow:hidden}
.unit-page .hero-media{position:absolute; inset:0; background:var(--taupe)}
.unit-page .hero-media::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(30,39,51,.65) 0%, rgba(30,39,51,.25) 100%)}
.unit-page .hero-inner{position:relative; z-index:2; color:#fff}
.unit-page .hero-content{max-width:640px; text-align:left}
.unit-page .hero .display{font-size:clamp(2.5rem,6vw,4.6rem); margin-bottom:40px}

/* Amenities band */
.unit-page .amenities{background:var(--blue); color:#fff; padding:52px 0}
.unit-page .amenities-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(128px,1fr)); gap:32px 22px; justify-items:center; max-width:1040px; margin:0 auto}
.unit-page .amenity{display:flex; flex-direction:column; align-items:center; gap:11px; text-align:center; font-family:'Poppins',sans-serif; font-size:.9rem; font-weight:400; line-height:1.4; color:#fff; max-width:150px}
.unit-page .amenity svg{width:28px; height:28px; flex:none; stroke:var(--gold-bright); fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round}

/* About */
.unit-page .about{padding:88px 0}
.unit-page .about-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center}
.unit-page .about-heading{font-size:clamp(1.7rem,3vw,2.1rem); line-height:1.2; font-weight:700; color:var(--taupe); margin-bottom:20px}
.unit-page .about-copy p{color:var(--taupe); margin-bottom:18px; max-width:560px}
.unit-page .about-copy p:last-of-type{margin-bottom:30px}
.unit-page .about-media{position:relative; aspect-ratio:4/3; background:var(--warm); border-radius:24px; overflow:hidden}

/* Units */
.unit-page .units{padding:0 0 88px}
.unit-page .unit{display:grid; grid-template-columns:1fr 1.15fr; gap:64px; align-items:center; padding:56px 0}
.unit-page .unit + .unit{border-top:1px solid var(--line)}
.unit-page .unit:nth-child(even) .unit-media{order:-1}
.unit-page .unit-title{font-size:clamp(1.6rem,2.6vw,2rem); line-height:1.2; font-weight:700; color:var(--taupe); margin-bottom:16px}
.unit-page .unit-copy{color:var(--taupe); max-width:440px; margin-bottom:26px}
.unit-page .unit-note{padding:15px 18px; border-left:3px solid var(--red); background:#fff; border-radius:0 9px 9px 0; color:var(--taupe); font-size:.92rem; max-width:480px; margin-bottom:26px}
.unit-page .unit-specs{display:grid; grid-template-columns:repeat(3,auto); justify-content:start; gap:22px 36px; max-width:520px; margin-bottom:30px}
@media(max-width:560px){
  /* Keep all three stats on one row on phones; the values are short. */
  .unit-page .unit-specs{gap:18px 22px}
}
.unit-page .spec-label{display:block; font-family:'Poppins',sans-serif; font-size:.63rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--taupe); margin-bottom:2px}
.unit-page .spec-value{display:block; font-family:'Poppins',sans-serif; font-style:italic; font-weight:300; font-size:1.05rem; line-height:1.4; color:var(--taupe)}
.unit-page .unit-media{position:relative; aspect-ratio:4/3; background:var(--warm); border-radius:24px; overflow:hidden}

.unit-page .media-badges{position:absolute; top:16px; left:16px; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:8px}
.unit-page .media-badge{display:inline-flex; align-items:center; gap:8px; padding:7px 13px; border-radius:8px; background:var(--red); color:#fff; font-family:'Poppins',sans-serif; font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase}
.unit-page .media-badge svg{width:15px; height:15px; flex:none; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}

.unit-page .gallery-dots{position:absolute; left:50%; bottom:18px; transform:translateX(-50%); display:flex; gap:7px; z-index:2}
.unit-page .gallery-dots span{width:7px; height:7px; border-radius:50%; background:#fff; opacity:.5}
.unit-page .gallery-dots span.is-active{opacity:1}

/* FAQs (native details/summary accordion, no JS needed) */
.unit-page .section-heading{font-family:'Poppins',sans-serif; font-size:clamp(1.7rem,3vw,2.1rem); line-height:1.2; font-weight:700; color:var(--taupe)}
.unit-page .faqs{padding:88px 0}
.unit-page .faqs-head{margin-bottom:40px; text-align:center}
.unit-page .acc{max-width:860px; margin:0 auto}
.unit-page .acc details{border-bottom:1px solid var(--line)}
.unit-page .acc details:first-of-type{border-top:1px solid var(--line)}
.unit-page .acc summary{list-style:none; cursor:pointer; padding:24px 0; font-family:'Poppins',sans-serif; font-size:1.1rem; font-weight:400; line-height:1.45; color:var(--taupe); display:flex; align-items:center; justify-content:space-between; gap:24px; transition:color .18s ease}
.unit-page .acc summary:hover{color:var(--red)}
.unit-page .acc summary::-webkit-details-marker{display:none}
.unit-page .acc summary::after{content:"+"; font-size:20px; font-weight:300; color:var(--red); line-height:1; flex:none}
.unit-page .acc details[open] summary{color:var(--ink)}
.unit-page .acc details[open] summary::after{content:"\2013"}
.unit-page .acc-body{padding:0 60px 28px 0; color:var(--taupe); font-size:1rem}
.unit-page .acc-body a{color:var(--red); font-weight:600; text-decoration:underline; text-underline-offset:3px}

/* Closing CTA */
.unit-page .closing{background:var(--cream); padding:84px 0}
.unit-page .closing-box{max-width:1020px; margin:0 auto; background:var(--blue); color:#fff; border-radius:28px; padding:70px 40px; text-align:center}
.unit-page .closing .display{font-size:clamp(1.9rem,4.4vw,3.2rem); margin-bottom:32px}
.unit-page .closing .btn-group{justify-content:center}

@media(max-width:1024px){
  .unit-page .about-grid,.unit-page .unit{grid-template-columns:1fr; gap:36px}
  .unit-page .about-media,.unit-page .unit-media{order:-1}
  .unit-page .unit:nth-child(even) .unit-media{order:-1}
}
@media(max-width:720px){
  .unit-page .hero{min-height:440px; padding:88px 0 64px}
  .unit-page .hero .display{margin-bottom:30px}
  .unit-page .about{padding:56px 0}
  .unit-page .units{padding-bottom:56px}
  .unit-page .btn{flex:1 1 auto; justify-content:center}
  .unit-page .closing{padding:56px 0}
  .unit-page .closing-box{padding:48px 24px; border-radius:22px}
  .unit-page .faqs{padding:56px 0}
  .unit-page .acc summary{font-size:1.02rem; padding:20px 0}
  .unit-page .acc-body{padding-right:0}
}
