
.acv-page{
  --ground:#F5EEE8; --surface:#FBF7F3; --sand:#EDE2D8; --ink:#3A2A24; --muted:#5B4840; --brown:#7B5A50; --brown-deep:#5A3F36;
  --line:#E2D5CB; --olive:#5E6340; --note:#2F5D62; --note-bg:#E4EEEE; --verify:#8A5010; --verify-bg:#F6E7CF;
  --lb-ground:#16110F; --lb-ink:#F3ECE6; --lb-muted:#A89A91;
  --acv-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --body:"Jost", "Helvetica Neue", Arial, sans-serif;
  --maxw:1180px;
}
.acv-page, .acv-page *{box-sizing:border-box}
.acv-page [hidden]{display:none!important}
.acv-page{scroll-behavior:smooth}
.acv-page{margin:0;background:var(--ground);color:var(--ink);font:400 16.5px/1.65 var(--body)}
.acv-page img{max-width:100%;display:block}
.acv-page button{font:inherit;color:inherit;cursor:pointer}
.acv-page a{color:var(--brown)}
.acv-page button:focus-visible,.acv-page a:focus-visible,.acv-page summary:focus-visible,.acv-page .tile:focus-visible{outline:2px solid var(--note);outline-offset:3px}
.acv-page .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:20px}
.acv-page .eyebrow{font:500 12px/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.acv-page h1,.acv-page h2,.acv-page h3{font-family:var(--acv-display);color:var(--brown);text-wrap:balance;margin:0;font-weight:500}
.acv-page h1{font-size:clamp(38px,5.4vw,66px);line-height:1.02;font-style:italic}
.acv-page h2{font-size:clamp(30px,3.8vw,46px);line-height:1.08;font-style:italic}
.acv-page h3{font-size:24px;line-height:1.2}
.acv-page p{margin:0;max-width:65ch}
.acv-page .muted{color:var(--muted)}

/* Tourix notes */
.acv-page .story>*,.acv-page .living>*,.acv-page .loc>*,.acv-page .hero-body>*,.acv-page .plan>*{min-width:0}
.acv-page .verify{display:inline-block;font:500 10.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--verify);background:var(--verify-bg);padding:4px 6px;border-radius:3px;vertical-align:middle}

/* Header */
.acv-page .crumbs{font-size:13px;color:var(--muted);padding-block:14px 0}
.acv-page .crumbs ol{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.acv-page .crumbs li+li::before{content:"/";margin-right:6px}
.acv-page .crumbs a{color:var(--muted);text-decoration:none}

/* Buttons */
.acv-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 24px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:400;text-decoration:none;border:1px solid var(--brown);transition:background .2s,color .2s}
.acv-page .btn.solid{background:var(--brown);color:#fff}
.acv-page .btn.solid:hover{background:var(--brown-deep)}
.acv-page .btn.ghost{background:transparent;color:var(--brown)}
.acv-page .btn.ghost:hover{background:var(--brown);color:#fff}
.acv-page .ask{color:var(--brown);font-weight:400;text-decoration:none;border-bottom:1px solid currentColor}
.acv-page .ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

.acv-page section{padding-block:72px;border-top:1px solid var(--line)}
.acv-page section.tint{background:var(--surface)}
.acv-page .head{display:grid;gap:12px;margin-bottom:28px}
.acv-page .stack{display:grid;gap:16px}

/* Tiles */
.acv-page .tile{position:relative;overflow:hidden;border-radius:4px;background:var(--line);border:0;padding:0;display:block;width:100%;height:100%}
.acv-page .tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.acv-page .tile:hover img{transform:scale(1.03)}
.acv-page .r32{aspect-ratio:3/2;height:auto}
.acv-page .cap{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 9px;font-size:12.5px;color:#fff;text-align:left;background:linear-gradient(transparent,rgba(20,14,12,.6));opacity:0;transition:opacity .25s}
.acv-page .tile:hover .cap,.acv-page .tile:focus-visible .cap{opacity:1}
.acv-page .more{position:absolute;right:8px;bottom:8px;background:rgba(20,14,12,.72);color:#fff;font-size:12px;border-radius:999px;padding:4px 10px}

/* 01 Hero */
.acv-page .hero{padding-block:22px 64px;border-top:0}
.acv-page .hero-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:clamp(360px,48vw,580px)}
.acv-page .hero-grid .tile:first-child{grid-row:1/-1}
.acv-page .photos-btn{position:absolute;right:14px;bottom:14px;background:rgba(251,247,243,.94);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:13px}
.acv-page .hero-body{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;margin-top:36px;align-items:start}
.acv-page .hero-body .stack{gap:14px}
.acv-page .byline{font-size:13px;color:var(--muted)}

/* 02/03 */
.acv-page .qa{font-family:var(--acv-display);font-size:clamp(22px,2.4vw,28px);line-height:1.4;color:var(--ink);max-width:40ch;font-weight:500}
.acv-page .facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin:34px 0 0}
.acv-page .facts div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 18px;display:grid;gap:2px;background:var(--surface);align-content:start}
.acv-page .facts dt{font:500 11.5px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.acv-page .facts dd{margin:0;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}
.acv-page .facts dd b{font:500 26px/1.1 var(--acv-display);color:var(--brown-deep);display:block}

/* 04 Why */
.acv-page .why{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.acv-page .why article{display:grid;gap:12px;align-content:start}
.acv-page .why .num{font:italic 500 44px/1 var(--acv-display);color:var(--olive)}

/* 05 Story */
.acv-page .story{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.acv-page .story-imgs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.acv-page .story-imgs .tile:first-child{grid-column:1/-1;aspect-ratio:16/9}
.acv-page .pull{font:italic 500 26px/1.35 var(--acv-display);color:var(--brown-deep);border-left:2px solid var(--olive);padding-left:18px;max-width:30ch}

/* 06 Gallery */
.acv-page .mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(140px,15vw,200px);gap:8px}
.acv-page .mosaic .m1{grid-column:1/3;grid-row:1/3}
.acv-page .mosaic .all{background:var(--brown-deep)}
.acv-page .mosaic .all img{opacity:.35}
.acv-page .mosaic .all span{position:absolute;inset:0;display:grid;place-content:center;gap:4px;text-align:center;color:#fff}
.acv-page .mosaic .all b{font:italic 500 28px/1 var(--acv-display)}
.acv-page .mosaic .all small{font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.acv-page .center{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;align-items:center;margin-top:22px}

/* 07 Layout */
.acv-page .floors{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.acv-page .floor{border:1px solid var(--line);border-radius:6px;padding:22px;display:grid;gap:10px;background:var(--ground);align-content:start}
.acv-page .floor h3{font-size:22px}
.acv-page .floor ul{margin:0;padding-left:18px;color:var(--ink);font-size:15px}
.acv-page .plan-ph{border:1.5px dashed var(--verify);background:var(--verify-bg);color:var(--verify);border-radius:6px;padding:14px 18px;font-size:14px;margin-top:16px}

/* 08 Rooms */
.acv-page .rooms{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.acv-page .room{display:grid;gap:8px;align-content:start}
.acv-page .room .fl{font:500 11.5px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--olive);margin-top:4px}
.acv-page .room h3{font-size:22px}
.acv-page .room .bed{font-weight:400;color:var(--ink)}
.acv-page .room p{font-size:14.5px;color:var(--muted)}
.acv-page .inroom{margin-top:26px;font-size:15px;color:var(--muted)}

/* 09 Living */
.acv-page .living{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
.acv-page .living-imgs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.acv-page .living-imgs .tile:first-child{grid-column:1/-1}
.acv-page .chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.acv-page .chips li{border:1px solid var(--line);background:var(--ground);border-radius:999px;padding:7px 14px;font-size:14px}
.acv-page .chips li.hl{border-color:var(--olive);color:var(--olive)}
.acv-page details.amen{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.acv-page details.amen summary{cursor:pointer;padding:14px 0;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--brown);list-style:none;display:flex;justify-content:space-between}
.acv-page details.amen summary::after{content:"+";font-size:18px}
.acv-page details.amen[open] summary::after{content:"–"}
.acv-page .amen-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 28px;padding-bottom:20px;font-size:14.5px}
.acv-page .amen-grid h4,.acv-page .amen-grid h3{margin:0 0 4px;font:500 12px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.acv-page .season{padding:16px 18px;background:var(--sand);border-radius:6px;font-size:15px}
.acv-page .season b{font-weight:500}

/* 10 Pools */
.acv-page .pools{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:8px}
.acv-page .pools .tile:first-child{grid-row:span 2}
.acv-page .pool-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.acv-page .pool-specs div{display:grid;gap:6px;align-content:start}
.acv-page .pool-specs h3{font-size:22px}
.acv-page .pool-specs p{font-size:15px;color:var(--muted)}
.acv-page .term{font-style:italic;color:var(--brown-deep)}

/* 11/12 */
.acv-page .suit{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.acv-page .suit div{background:var(--ground);border:1px solid var(--line);border-radius:6px;padding:20px;display:grid;gap:8px;align-content:start}
.acv-page .suit h3{font-size:22px}
.acv-page .suit p{font-size:15px;color:var(--muted)}
.acv-page .fm{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}
.acv-page .fm div{display:grid;gap:8px;align-content:start}
.acv-page .fm h3{font-size:22px}
.acv-page .fm ul{margin:0;padding-left:18px;font-size:15px}

/* 13 Location */
.acv-page .loc{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start}
.acv-page .dist{display:grid;border-top:1px solid var(--line);margin:0}
/* The label and the distance sit on one row. A flex row will not shrink below its
   content, and the Greek labels are longer than the English ones, so on a 390px screen
   Villa Argiris and Villa Kitron pushed this row 45 and 75 pixels past the edge and the
   whole page scrolled sideways. The label may wrap; the distance never splits. */
.acv-page .dist div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.acv-page .dist dt{margin:0;min-width:0;flex:1 1 auto;overflow-wrap:anywhere}
.acv-page .dist dd{margin:0;flex:0 0 auto;color:var(--brown-deep);font-variant-numeric:tabular-nums;white-space:nowrap}
.acv-page .nap{font-style:normal;font-size:15px;line-height:1.7;color:var(--ink)}
.acv-page .map{width:100%;aspect-ratio:4/3;border-radius:6px;display:grid;place-content:center;gap:8px;text-align:center;text-decoration:none;color:var(--brown-deep);border:1px solid var(--line);
  background:radial-gradient(circle at 50% 46%,var(--brown) 0 7px,transparent 8px),repeating-linear-gradient(35deg,transparent 0 38px,rgba(123,90,80,.08) 38px 40px),repeating-linear-gradient(-55deg,transparent 0 52px,rgba(111,116,82,.10) 52px 54px),var(--sand);padding:20px}
.acv-page .map strong{font:italic 500 24px/1.2 var(--acv-display);margin-top:40px}
.acv-page .map span:last-child{font-size:13px;letter-spacing:.12em;text-transform:uppercase}

/* 14 */
.acv-page .gtk{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin:0}
.acv-page .gtk div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 18px;display:grid;gap:4px;background:var(--ground);align-content:start}
.acv-page .gtk dt{font:500 11.5px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.acv-page .gtk dd{margin:0;font-size:15.5px}

/* 15 */
.acv-page .direct{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.acv-page .direct .tile{margin:-24px -24px 6px;width:calc(100% + 48px);border-radius:6px 6px 0 0;aspect-ratio:16/9}
.acv-page .suits-imgs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 28px}
@media (max-width:700px){.acv-page .suits-imgs{grid-template-columns:1fr 1fr}.acv-page .suits-imgs .tile:last-child{display:none}}
.acv-page .direct > div{border-radius:6px;padding:24px;display:grid;gap:12px;align-content:start}
.acv-page .inc{background:var(--brown-deep);color:#F5EEE8}
.acv-page .inc h3{color:#F5EEE8}
.acv-page .inc .eyebrow{color:#D7C6BA}
.acv-page .inc a{color:#F5EEE8}
.acv-page .req{background:var(--surface);border:1px solid var(--line)}
.acv-page .direct ul{margin:0;padding-left:18px;display:grid;gap:6px}
.acv-page .direct small{font-size:13.5px;opacity:.85}

/* 16 */
.acv-page .mazi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.acv-page .mazi div{border:1px solid var(--line);border-radius:6px;padding:18px;background:var(--ground);display:grid;gap:6px}
.acv-page .mazi b{font:500 34px/1 var(--acv-display);color:var(--brown-deep);font-variant-numeric:tabular-nums}
.acv-page .mazi span{font-size:14.5px}
.acv-page .mazi .me{border-color:var(--olive)}

.acv-page .compare{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--sand);border-radius:8px;padding:30px 32px}

/* A wall of quotes, not a grid. Four equal columns stretched every card to the height of the longest one, so three of the four stood mostly empty, and a fifth review was left alone on a row of its own. Columns let each card keep its own height and spread five across four without an orphan. */
.acv-page .reviews{columns:4;column-gap:16px}
.acv-page .reviews>figure{break-inside:avoid;-webkit-column-break-inside:avoid;width:100%}
.acv-page .rev-src{font-size:14px;line-height:1.6;color:var(--muted);margin:18px 0 0;max-width:80ch}.acv-page .rev-src a{color:var(--brown)}
.acv-page .reviews figure{margin:0 0 16px;background:var(--ground);border:1px solid var(--line);border-radius:6px;padding:22px;display:grid;gap:14px;align-content:space-between}
.acv-page .reviews blockquote{margin:0;font:italic 500 20px/1.4 var(--acv-display);color:var(--ink)}
.acv-page .reviews figcaption{font-size:13px;color:var(--muted)}

.acv-page .explore{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.acv-page .explore a{display:block;border:1px solid var(--line);border-radius:999px;padding:10px 18px;text-decoration:none;color:var(--ink);font-size:14.5px;background:var(--surface)}
.acv-page .explore a:hover{border-color:var(--brown);color:var(--brown)}

.acv-page .faq-groups{display:grid;gap:28px;max-width:820px}
.acv-page .faq-h{font:500 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--olive);margin:0 0 4px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.acv-page .faq-collapsed>.faq-more{display:none}
.acv-page .faq-showmore{margin-top:12px;background:none;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font:500 14px var(--body);color:var(--brown);cursor:pointer}
.acv-page .faq-showmore:hover{border-color:var(--brown)}
.acv-page .faq-showmore::after{content:" +"}.acv-page .faq-showmore[aria-expanded="true"]::after{content:" –"}
.acv-page .faq{max-width:820px}
.acv-page .faq details{border-bottom:1px solid var(--line)}
.acv-page .faq summary{cursor:pointer;list-style:none;padding:16px 0;display:flex;justify-content:space-between;gap:16px}
.acv-page .faq summary h3,.acv-page .faq summary h4{font:400 17px/1.5 var(--body);color:var(--ink);margin:0;padding:0;letter-spacing:normal;text-transform:none}
.acv-page .faq summary::after{content:"+";color:var(--brown);font-size:20px;line-height:1}
.acv-page .faq details[open] summary::after{content:"–"}
.acv-page .faq details p{padding-bottom:18px;color:var(--muted);font-size:15.5px}

.acv-page .final{background:var(--brown-deep);color:#F5EEE8;text-align:center;border-top:0}
.acv-page .final h2{color:#F5EEE8}
.acv-page .final p{margin:14px auto 26px;color:#E3D5CA}
.acv-page .final .ctas{justify-content:center}
.acv-page .final .btn.solid{background:#F5EEE8;color:var(--brown-deep);border-color:#F5EEE8}
.acv-page .final .btn.ghost{color:#F5EEE8;border-color:#F5EEE8}

.acv-page .sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(251,247,243,.97);backdrop-filter:blur(6px);border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .3s}
.acv-page .sticky.on{transform:none}
.acv-page .sticky .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0}
.acv-page .sticky .name{font:italic 500 22px/1 var(--acv-display);color:var(--brown-deep)}
.acv-page .sticky .name small{font:400 14px var(--body);color:var(--muted);margin-left:8px;font-style:normal}
.acv-page .sticky .ctas{flex-wrap:nowrap}
.acv-page .sticky .btn{padding:10px 18px}

@media (max-width:980px){
  .acv-page .hero-body,.acv-page .story,.acv-page .living,.acv-page .loc{grid-template-columns:1fr;gap:28px}
  .acv-page .facts{grid-template-columns:repeat(2,1fr)}
  .acv-page .why,.acv-page .suit{grid-template-columns:1fr}
  .acv-page .rooms,.acv-page .mazi{grid-template-columns:repeat(2,1fr)}.acv-page .reviews{columns:2}
  .acv-page .mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(130px,26vw,220px)}
  .acv-page .mosaic .m1{grid-column:1/-1;grid-row:span 2}
  .acv-page .gtk{grid-template-columns:repeat(2,1fr)}
  .acv-page .pool-specs{grid-template-columns:1fr}
}
@media (max-width:640px){
  .acv-page{font-size:16px}
  .acv-page section{padding-block:52px}

  .acv-page .hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto}
  .acv-page .hero-grid .tile:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}
  .acv-page .hero-grid .tile:nth-child(n+2){aspect-ratio:1/1}
  .acv-page .hero-grid .tile:nth-child(n+4){display:none}
  .acv-page .mosaic .hide-m{display:none}
  .acv-page .mosaic .all{grid-column:1/-1;grid-row:span 1}
  .acv-page .rooms,.acv-page .floors,.acv-page .direct,.acv-page .fm,.acv-page .gtk,.acv-page .amen-grid{grid-template-columns:1fr}
/* Reviews on a phone: four, side by side, swiped. Stacked in one column they were four
   cards of 350-500px each -- two thousand pixels of quotations in the middle of the page,
   between the guest and everything below. A track shows one at a time with the edge of the
   next in view, which is what says it can be swiped. Four is the cap here, not eight: past
   four almost nobody swipes, so the fifth would be written for no one. */
.acv-page .reviews{columns:auto;display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:12px;
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.acv-page .reviews::-webkit-scrollbar{display:none}
.acv-page .reviews>figure{scroll-snap-align:start;margin:0;height:100%}
.acv-page .reviews>figure:nth-child(n+5){display:none}
/* which of the four you are on. The track says it can be swiped by showing the edge of
   the next card; it does not say how many there are, and a visitor who does not know
   stops at the first. */
.acv-page .revcount{display:block;margin:10px 0 0;text-align:center;font:500 13px var(--body);
  letter-spacing:.06em;color:var(--muted);font-variant-numeric:tabular-nums}
  .acv-page .mazi{grid-template-columns:1fr 1fr}
  .acv-page .pools{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .acv-page .pools .tile{aspect-ratio:3/2;height:auto}
  .acv-page .pools .tile:first-child{grid-column:1/-1;grid-row:auto}
  .acv-page .pools .tile:last-child{display:none}
  .acv-page .cap{opacity:1}
  /* the first photo carries both its caption and "View all photos"; on a phone they sat on
     the same line, the button over the words. The button goes to the top corner. */
  .acv-page .photos-btn{top:12px;bottom:auto;right:12px}
  .acv-page .sticky .name{display:none}
  .acv-page .sticky .ctas{width:100%}
  .acv-page .sticky .btn{flex:1;white-space:nowrap;font-size:11.5px;letter-spacing:.08em;padding:10px 12px}
  .acv-page .compare{padding:24px}
}

/* Booking widget */
.acv-page .bw{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;display:grid;gap:12px;box-shadow:0 10px 30px rgba(58,42,36,.08)}
.acv-page .bw-price{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.acv-page .bw-price b{font:500 30px/1 var(--acv-display);color:var(--brown-deep)}
.acv-page .bw-price span{font-size:13px;color:var(--muted)}
.acv-page .bw-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.acv-page .bw label{display:grid;gap:4px;font:500 11px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.acv-page .bw input,.acv-page .bw select,.acv-page .qf input,.acv-page .qf select,.acv-page .qf textarea,.acv-page .plan input,.acv-page .plan select{font:400 15px var(--body);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px;width:100%;letter-spacing:0;text-transform:none}
.acv-page .bw-est{font-size:14px;color:var(--ink);min-height:1.4em;display:grid;gap:5px;line-height:1.45}
.acv-page .bw-tot{font-size:15px}.acv-page .bw-tot b{font-size:17px;color:var(--deep)}
.acv-page .bw-pp{color:var(--muted);font-size:13.5px;white-space:nowrap}
.acv-page .bw-inc{font-size:12.8px;color:var(--muted)}
.acv-page .bw-exact{font-size:12.2px;color:var(--muted);font-style:italic}.acv-page .bw-ask{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.acv-page .bw-ask .btn{padding:0 14px;height:38px;line-height:38px;font-size:13px}.acv-page .bw-ask .ask{font-size:12.8px}
/* The availability calendar. Two months of real dates: booked nights struck out, the
   nightly price on the day it applies to, the arrival and departure joined by a band. */
.acv-page .bw-native{display:none}
.acv-page .bw-cal{display:grid;gap:10px}
.acv-page .bw-sel{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.acv-page .bw-f{text-align:left;background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 10px;display:grid;gap:2px;cursor:pointer;font:inherit;color:var(--ink)}
.acv-page .bw-f span{font:500 10.5px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.acv-page .bw-f b{font:400 15px/1.3 var(--body);color:var(--muted)}
.acv-page .bw-f.on b{color:var(--ink);font-weight:500}
.acv-page .bw-f:hover,.acv-page .bw-f:focus-visible{border-color:var(--brown-deep)}
.acv-page .bw-cal.picking #bwFOut{border-color:var(--brown-deep);box-shadow:0 0 0 2px rgba(111,77,61,.12)}
.acv-page .bw-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}
.acv-page .bw-nav b{font:500 13px/1 var(--body);letter-spacing:.04em;color:var(--brown-deep)}
.acv-page .bw-nav button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:50%;font-size:17px;line-height:1;color:var(--brown-deep);cursor:pointer}
.acv-page .bw-nav button:hover:not(:disabled){border-color:var(--brown-deep)}
.acv-page .bw-nav button:disabled{opacity:.3;cursor:default}
.acv-page .bw-months{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* The card is a grid whose one column sized itself to its widest child: two months of 34px
   days need 514px, the card has 437 at 1440 and 369 at 1024, so the calendar, the price
   line and the date fields ran 58-126px out past its right edge. The column now takes the
   card's width; the days shrink to fit above a phone, and a narrow card shows one month. */
.acv-page .bw{grid-template-columns:minmax(0,1fr);container-type:inline-size}
.acv-page .bw-cal{grid-template-columns:minmax(0,1fr)}
.acv-page .bw-months{grid-template-columns:repeat(2,minmax(0,1fr))}
.acv-page .bw-dw,.acv-page .bw-days{grid-template-columns:repeat(7,minmax(0,1fr))}
.acv-page .bw-sel{grid-template-columns:repeat(2,minmax(0,1fr))}
.acv-page .bw-f b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (min-width:641px){.acv-page .bw .bw-d{min-height:0}}
@container (max-width:400px){.acv-page .bw-months{grid-template-columns:1fr}.acv-page .bw-months .bw-m:last-child{display:none}}
.acv-page .bw-m h4,.acv-page .bw-m .bw-mt{margin:0 0 6px;font:500 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}
.acv-page .bw-dw,.acv-page .bw-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.acv-page .bw-dw span{font:500 10px/1.6 var(--body);color:var(--muted);text-align:center}
.acv-page .bw-d{position:relative;aspect-ratio:1/1;min-height:34px;border:0;background:transparent;border-radius:5px;cursor:pointer;display:grid;align-content:center;justify-items:center;gap:0;padding:0;font:inherit;color:var(--ink)}
.acv-page .bw-d .n{font:400 13.5px/1 var(--body)}
.acv-page .bw-d .p{font:400 9.5px/1 var(--body);color:var(--muted);margin-top:2px}
.acv-page .bw-d.pad{cursor:default}
.acv-page .bw-d:hover:not(:disabled){background:var(--sand)}
.acv-page .bw-d:disabled{cursor:default;color:var(--muted);opacity:.45}
.acv-page .bw-d.booked .n{text-decoration:line-through}
.acv-page .bw-d.short .n{color:#8A5A3E}
.acv-page .bw-d.short::after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#C58B63}
.acv-page .bw-d.between{background:var(--sand);border-radius:0}
.acv-page .bw-d.sel{background:var(--brown-deep);color:#fff;font-weight:500}
.acv-page .bw-d.sel .p,.acv-page .bw-d.sel .n{color:#fff}
.acv-page .bw-d.sel-in{border-radius:5px 0 0 5px}
.acv-page .bw-d.sel-out{border-radius:0 5px 5px 0}
.acv-page .bw-key{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;font-size:11.5px;color:var(--muted)}
.acv-page .bw-key span{display:inline-flex;align-items:center;gap:5px}
.acv-page .bw-key i{font:400 11px/18px var(--body);font-style:normal;min-width:18px;height:18px;text-align:center;border-radius:4px;position:relative}
.acv-page .bw-key .k-booked{color:var(--muted);text-decoration:line-through}  /* no opacity here: the key is text a guest reads, not a disabled control */
.acv-page .bw-key .k-min{color:#8A5A3E}
.acv-page .bw-key .k-min::after{content:"";position:absolute;left:50%;margin-left:-2px;bottom:0;width:4px;height:4px;border-radius:50%;background:#C58B63}
.acv-page .bw-key .k-sel{background:var(--brown-deep);color:#fff}
.acv-page .bw-nav b.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:640px){.acv-page .bw-months{grid-template-columns:1fr}.acv-page .bw-months .bw-m:last-child{display:none}}
.acv-page .bw-free{display:inline-block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#2F6B4F;font-weight:600}
.acv-page .bw-est.warn{color:var(--verify)}
.acv-page .bw .btn{width:100%}
.acv-page .bw small{font-size:12.5px;color:var(--muted)}
.acv-page .tagline{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(19px,2.2vw,23px);color:var(--brown-deep);margin:-2px 0 2px;line-height:1.3}
.acv-page .rating{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:14px;color:var(--muted);margin:0}
.acv-page .rating span{white-space:nowrap}
@media (max-width:640px){.acv-page .rating span{white-space:normal}}
.acv-page .rating b{font-weight:500;color:var(--brown-deep)}
.acv-page .pending-review{}
.acv-page:not(.acv-edit) .pending-review,.acv-page body:not(.notes) .pending-review{display:none}
/* Video */
.acv-page .videos{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}
.acv-page .video{position:relative;border-radius:6px;overflow:hidden;background:#222;aspect-ratio:16/9;border:0;padding:0}
.acv-page .video.vert{aspect-ratio:auto}
.acv-page .video img{width:100%;height:100%;object-fit:cover;opacity:.75}
.acv-page .video .play{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;color:#fff;text-align:center;padding:16px}
.acv-page .video .play i{width:64px;height:64px;border-radius:50%;background:rgba(251,247,243,.92);display:grid;place-items:center;color:var(--brown-deep);font-style:normal;font-size:22px}
.acv-page .video .play b{font:italic 500 24px/1.2 var(--acv-display)}
.acv-page .video .play small{font-size:13px;opacity:.9}
/* Planner */
.acv-page .plan{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:24px;margin-top:34px}
.acv-page .plan-in{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.acv-page .plan-in label{display:grid;gap:4px;font:500 11px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.acv-page .plan-in .chk{display:flex;gap:8px;align-items:center;grid-column:1/-1;font:400 15px var(--body);letter-spacing:0;text-transform:none;color:var(--ink)}
.acv-page .plan-in .chk input{width:auto}
.acv-page .plan-out{background:var(--surface);border-radius:8px;padding:18px;display:grid;gap:10px;align-content:start}
.acv-page .plan-out h3{font-size:24px}
.acv-page .plan-out ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:15px}
.acv-page .plan-out .fit{font:500 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;width:max-content;background:#E3E8D6;color:#4F5638}
.acv-page .plan-out .fit.no{background:var(--verify-bg);color:var(--verify)}
/* Host, direct, offers, experiences */
.acv-page .host{display:flex;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;margin-top:18px}
.acv-page .avatar{flex:none;width:72px;height:72px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font:italic 500 26px/1 var(--acv-display);color:var(--brown-deep);border:1.5px dashed var(--verify)}
.acv-page .host p{font-size:15px}
.acv-page .vs{width:100%;border-collapse:collapse;font-size:15px;margin-top:18px}
.acv-page .vs th,.acv-page .vs td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.acv-page .vs th{font:500 11.5px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.acv-page .vs td:nth-child(2){color:var(--brown-deep);font-weight:400}
.acv-page .tablewrap{overflow-x:auto}
.acv-page .offers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.acv-page .offers div{border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--surface);display:grid;gap:6px;align-content:start}
.acv-page .offers h3{font-size:22px}
.acv-page .offers p{font-size:14.5px;color:var(--muted)}
.acv-page .exp{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.acv-page .exp article{display:grid;grid-template-columns:1fr 1.2fr;background:var(--ground);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.acv-page .exp article img{width:100%;height:100%;object-fit:cover;min-height:260px}
.acv-page .exp .body{padding:20px;display:grid;gap:10px;align-content:start}
.acv-page .exp .meta{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.acv-page .exp .meta li{font-size:12.5px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:var(--surface)}
/* Quote form */
.acv-page .qf{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:900px;margin:28px auto 0;text-align:left}
.acv-page .qf label{display:grid;gap:4px;font:500 11px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#D7C6BA}
.acv-page .qf .full{grid-column:1/-1}
.acv-page .qf .btn{grid-column:1/-1;justify-self:center}
.acv-page .qf-ok{color:#F5EEE8;font-size:15px}
@media (max-width:980px){.acv-page .videos,.acv-page .plan,.acv-page .exp,.acv-page .offers{grid-template-columns:1fr}.acv-page .qf{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.acv-page .plan-in,.acv-page .exp article{grid-template-columns:1fr}.acv-page .qf{grid-template-columns:1fr}}

/* v5 additions */
.acv-page .glance{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;margin-top:12px}
.acv-page .glance .qa{max-width:none}
.acv-page .glance .why3{grid-template-columns:1fr;gap:16px;margin:0}
.acv-page .glance .why3 li{border-top:0;border-left:2px solid var(--olive);padding:2px 0 2px 16px}
@media (max-width:980px){.acv-page .glance{grid-template-columns:1fr;gap:24px}}
.acv-page:not(.acv-edit) .verify{display:none}
.acv-page .exp .learn{font-size:14px;justify-self:start}
@media (max-width:1340px){}
@media (max-width:1180px){}
@media (max-width:1040px){}
@media (max-width:900px){}
.acv-page .host-proof{font-size:15px;line-height:1.6;max-width:62ch;margin:14px 0 0}
.acv-page .final .host-proof{color:#E3D5CA;margin:16px auto 0;text-align:center}
.acv-page .gallery-proof{margin:18px auto 0;text-align:center;font:italic 500 19px/1.4 var(--acv-display);color:var(--brown-deep);max-width:none}
.acv-page .gallery-proof span{font:400 13px var(--body);font-style:normal;color:var(--muted)}
.acv-page .nap .mhte{font-size:13px;color:var(--muted)}
.acv-page img.avatar{width:88px;height:88px;object-fit:cover;border:0;padding:0;background:var(--sand)}
.acv-page .hostq{margin:4px 0 0;font:italic 500 21px/1.45 var(--acv-display);color:var(--brown-deep);border-left:2px solid var(--olive);padding-left:16px;max-width:46ch}
.acv-page .hostq cite{display:block;margin-top:6px;font:400 13px var(--body);font-style:normal;color:var(--muted)}
.acv-page .facts{border:0!important;gap:0;margin-top:30px!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
.acv-page .facts div{background:transparent!important;border:0!important;border-right:1px solid var(--line)!important;padding:14px 16px!important;border-radius:0}
.acv-page .facts div:nth-child(4n){border-right:0!important}
.acv-page .facts div:nth-child(-n+4){border-bottom:1px solid var(--line)!important}
.acv-page .facts .ev{background:transparent!important}
.acv-page .facts dd b{font-size:22px!important}
.acv-page .bleed{margin:44px 0 0;position:relative}
.acv-page .bleed .tile{height:clamp(320px,46vw,560px);border-radius:0}
.acv-page .bleed .tile img{object-position:20% 55%}
.acv-page .bleed figcaption{max-width:var(--maxw);margin:10px auto 0;padding-inline:20px;font:italic 500 19px/1.4 var(--acv-display);color:var(--brown-deep)}
@media (max-width:980px){.acv-page .facts div:nth-child(2n){border-right:0!important}.acv-page .facts div:nth-child(-n+6){border-bottom:1px solid var(--line)!important}}
.acv-page .bw-row.three{grid-template-columns:1fr 1fr 1fr}
.acv-page .kids{grid-column:1/-1;border:1px solid var(--line);border-radius:8px;padding:10px 12px 12px;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.acv-page .kids legend{font:500 11px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 6px}
.acv-page .kids legend span{text-transform:none;letter-spacing:0;font-weight:400}
.acv-page .dist.near{margin-top:-4px}
.acv-page .dist.near div{font-size:14.5px;padding:9px 0}
.acv-page .dist.near dt{color:var(--muted)}
.acv-page .facts .ev{background:#EEF0E4}
.acv-page .facts .ev b{color:#4F5638}
.acv-page .facts .ev .chipbtn{display:block;margin-top:2px;font-size:14px;text-align:left;text-decoration:underline;text-underline-offset:3px}
.acv-page .keychips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.acv-page .keychips li{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:var(--surface)}
.acv-page .keychips li.ev{border-color:#5E6340;color:#4F5638;background:#EEF0E4}
.acv-page .village{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
@media (max-width:640px){.acv-page .village{grid-template-columns:1fr 1fr}}
.acv-page .final-box{border-radius:12px;padding:56px 28px;margin-top:48px;text-align:center}
.acv-page .gtk-h{font-size:26px;margin-bottom:18px}
.acv-page .gtk-wrap summary{margin-bottom:0}

.acv-page .chipbtn{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.acv-page .tour{display:inline-flex;align-items:center;gap:10px;background:transparent;border:1px solid var(--line);border-radius:999px;padding:8px 16px 8px 8px;font-size:14px;color:var(--ink)}
.acv-page .tour i{width:30px;height:30px;border-radius:50%;background:var(--brown);color:#fff;display:grid;place-items:center;font-style:normal;font-size:12px}
.acv-page .tour:hover{border-color:var(--brown)}
.acv-page .factline{margin-top:16px;font-size:14.5px;color:var(--muted);max-width:none}
.acv-page .why3{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.acv-page .why3 li{border-top:2px solid var(--olive);padding-top:12px;font-size:15px;color:var(--muted)}
.acv-page .why3 b{display:block;font:italic 500 22px/1.25 var(--acv-display);color:var(--brown);margin-bottom:4px}
.acv-page .floorblock{display:grid;grid-template-columns:220px 1fr;gap:24px;padding-block:22px;border-top:1px solid var(--line)}
.acv-page .floorhead h3{font-size:26px}
.acv-page .floorhead p{font-size:14.5px;color:var(--muted);margin-top:6px}
.acv-page .floorblock .rooms{grid-template-columns:repeat(3,1fr)}
.acv-page .room h4,.acv-page .room h3.r4{margin:4px 0 0;font:500 20px/1.2 var(--acv-display);color:var(--brown)}
.acv-page .gtk-wrap summary{list-style:none;display:grid;gap:12px;margin-bottom:24px;cursor:default}
.acv-page .gtk-wrap summary::-webkit-details-marker{display:none}
.acv-page .gtk{grid-template-columns:repeat(4,1fr)}
.acv-page .mazi .cmp{border-style:dashed;align-content:center;gap:8px}
.acv-page .exp{margin-top:18px}
.acv-page .final .host{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);max-width:720px;margin:22px auto 26px;text-align:left;color:#F5EEE8}
.acv-page .final .host p{max-width:none}
.acv-page .final .avatar{background:rgba(255,255,255,.1);color:#F5EEE8}
.acv-page .hint{display:block;font-size:13.5px;color:#D7C6BA;margin-top:4px}.acv-page .host .hint{color:#5B4840}
.acv-page footer .explore{margin-bottom:22px}
@media (max-width:980px){.acv-page .why3{grid-template-columns:1fr}.acv-page .floorblock{grid-template-columns:1fr}.acv-page .gtk{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.acv-page .floorblock .rooms{grid-template-columns:1fr 1fr}.acv-page .gtk-wrap:not([open]) summary{cursor:pointer}.acv-page .gtk-wrap summary h3::after{content:" +";font-size:.7em;color:var(--muted)}.acv-page .facts{grid-template-columns:repeat(2,1fr)}}

/* Villas hub */
.acv-page .sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.acv-page .vcards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.acv-page .vcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.acv-page .vcard-img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--line)}
.acv-page .vcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.acv-page .vcard-img:hover img{transform:scale(1.03)}
.acv-page .vcard-body{padding:20px 22px 22px;display:grid;gap:10px;align-content:start}
.acv-page .vcard h3{font-size:28px}
.acv-page .vcard h3 a{color:inherit;text-decoration:none}
.acv-page .vcard .loc{font:500 11.5px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--olive)}
.acv-page .vcard .best{font-size:15px;color:var(--ink)}
.acv-page .vcard .best b{font-weight:500}
.acv-page .vcard .rating{font-size:13.5px}
.acv-page .vcard .price{font-size:14px;color:var(--muted)}
.acv-page .vcard .price b{font:500 22px/1 var(--acv-display);color:var(--brown-deep)}
.acv-page .vcard .ctas{margin-top:4px}
.acv-page .vcard .btn{padding:10px 18px}
.acv-page .wq{background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:24px;display:grid;gap:18px}
.acv-page .wq fieldset{border:0;margin:0;padding:0;display:grid;gap:12px}
.acv-page .wq legend{font:italic 500 24px/1.25 var(--acv-display);color:var(--brown-deep);margin-bottom:10px;padding:0}
.acv-page .wq legend small{font:400 14px var(--body);color:var(--muted);margin-left:6px}
.acv-page .wq-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.acv-page .wq-opts label{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:15px;cursor:pointer}
.acv-page .wq-opts label:has(input:checked){border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive)}
.acv-page .wq-num{display:grid;gap:6px;max-width:260px;font:500 11px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.acv-page .wq-num select{font:400 16px var(--body);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px}
.acv-page .wq-prog{display:none;list-style:none;margin:0;padding:0;gap:8px;counter-reset:q}
.acv-page .wq-prog li{flex:1;border-top:3px solid var(--line);padding-top:6px;font:500 11px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.acv-page .wq-prog li.on{border-color:var(--olive);color:var(--brown)}
.acv-page .wq-nav{display:none;gap:10px}
.acv-page .wq.js .wq-prog,.acv-page .wq.js .wq-nav{display:flex}
.acv-page .wq.js .wq-step{display:none}
.acv-page .wq.js .wq-step.on{display:grid}
.acv-page .wq.js.done .wq-step,.acv-page .wq.js.done .wq-nav,.acv-page .wq.js.done .wq-prog{display:none}
.acv-page .wq-out:empty{display:none}
.acv-page .wq-out{background:var(--surface);border-radius:8px;padding:22px;display:grid;gap:12px}
.acv-page .wq-out{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:start}
.acv-page .wq-main,.acv-page .wq-side{display:grid;gap:12px;align-content:start}
.acv-page .wq-side{background:var(--ground);border-radius:8px;padding:18px}
@media (max-width:760px){.acv-page .wq-out{grid-template-columns:minmax(0,1fr);gap:16px}}
.acv-page .wq-out h3{font-size:30px}
.acv-page .wq-out ul{margin:0;padding-left:18px;display:grid;gap:6px}
.acv-page .wq-out .pick{border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:grid;gap:4px;background:var(--ground)}
.acv-page .wq-out .pick b{font:italic 500 20px/1.2 var(--acv-display)}
.acv-page .wq-out .pick span{font-size:14px;color:var(--muted)}
.acv-page .wq-cav{margin:0;font-size:15px}
.acv-page .wq-wa{justify-self:start}
.acv-page .wq-again{background:none;border:0;padding:0;justify-self:start;cursor:pointer;font:inherit}
.acv-page .guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.acv-page .guide article{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px 22px;display:grid;gap:8px;align-content:start}
.acv-page .guide h3{font-size:22px}
.acv-page .guide p{margin:0;font-size:15.5px}
@media (max-width:760px){.acv-page .guide{grid-template-columns:minmax(0,1fr)}.acv-page .wq{padding:18px}.acv-page .wq-prog li{font-size:10px}}
.acv-page .art-fig{margin:8px 0 22px}
.acv-page .art-fig img,.acv-page .art-fig video{display:block;width:100%;height:auto;border-radius:8px;background:var(--line)}
.acv-page .art-fig video{aspect-ratio:16/9;object-fit:cover}
.acv-page .art-fig figcaption{font-size:13.5px;color:var(--muted);margin-top:8px;line-height:1.45}
.acv-page .art-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 22px}
.acv-page .art-pair .art-fig{margin:0}
.acv-page .art-pair .art-fig img{aspect-ratio:4/3;object-fit:cover}
.acv-page .art-pair.tall .art-fig img{aspect-ratio:3/4}
.acv-page .art-check{list-style:none;padding:18px 20px!important;background:var(--surface);border:1px solid var(--line);border-radius:10px;counter-reset:none}
.acv-page .art-check li{position:relative;padding-left:34px;cursor:pointer}
.acv-page .art-check .ckb{position:absolute;left:-3px;top:calc(.3em - 3px);width:24px;height:24px;padding:0;margin:0;border:0;background:none;cursor:pointer}.acv-page .art-check .ckb::before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border:1.5px solid var(--olive);border-radius:4px;background:#fff;box-sizing:border-box}.acv-page .art-check .ckb:focus-visible{outline:2px solid var(--olive);outline-offset:1px;border-radius:5px}
.acv-page .art-check .ckb[aria-checked="true"]::after{content:"";position:absolute;left:9px;top:5px;width:5px;height:10px;border:solid var(--olive);border-width:0 2px 2px 0;transform:rotate(45deg)}
.acv-page .art-check li.done{color:var(--muted)}
.acv-page .art-reviewed{font-size:13.5px!important;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:22px!important}
@media (max-width:640px){.acv-page .art-pair{grid-template-columns:1fr}}
.acv-page .art-map{margin:10px 0 26px}
.acv-page .am-map .am-route{fill:none;stroke:var(--brown);stroke-width:2.5;stroke-dasharray:7 7;stroke-linecap:round}
.acv-page .am-map .am-time{font:500 16px var(--body);fill:var(--brown-deep);paint-order:stroke;stroke:#F7F1EA;stroke-width:5px;stroke-linejoin:round}
.acv-page .am-map .cm-lab{paint-order:stroke;stroke:rgba(247,241,234,.9);stroke-width:5px;stroke-linejoin:round}
.acv-page .planimgs{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:14px}.acv-page .planimgs figure{margin:0}.acv-page .planimgs img{width:100%;height:auto;display:block;border-radius:10px;border:1px solid #E6DACB;background:#F7F1EA}.acv-page .planimgs figcaption{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.5}@media (max-width:860px){.acv-page .planimgs{grid-template-columns:1fr}}
.acv-page .am-map .am-land{fill:var(--sand)}
.acv-page .am-map .am-time-sm{font-size:14px;font-weight:400}
.acv-page .am-map .am-coast{fill:none;stroke:#C9B6A6;stroke-width:1.5}
.acv-page .am-map .am-venue{fill:var(--olive)}
.acv-page .am-map .am-venue-ic{fill:#fff;stroke:#fff;stroke-width:1.5;stroke-linejoin:round}
.acv-page .am-map .am-strong{font-weight:600}
.acv-page .am-map .am-pin2{fill:var(--note)}
.acv-page .av-map .av-lane{fill:none;stroke:#cfc6b4;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.acv-page .av-map .av-track{fill:none;stroke:#b9a987;stroke-width:2.5;stroke-dasharray:4 4;opacity:.9}
.acv-page .av-sat .am-road-edge{stroke:#5b5a4f;stroke-width:10}
.acv-page .av-sat .am-road{stroke:#d8d3c8;stroke-width:7}
.acv-page .av-sat .av-house{stroke:rgba(60,50,40,.35);stroke-width:.8}
.acv-page .av-sat .av-place{fill:#fff;paint-order:stroke;stroke:rgba(30,30,20,.55);stroke-width:4px;font-style:italic}
.acv-page .av-sat svg>.cm-lab,.acv-page .av-sat svg>text.cm-lab{fill:#fff;stroke:rgba(30,30,20,.6)}
.acv-page .av-sat .av-note{font:italic 500 14px var(--body,sans-serif);fill:#fff;paint-order:stroke;stroke:rgba(30,30,20,.6);stroke-width:4px}
.acv-page .av-sat .am-scale{stroke:#fff}
.acv-page .av-sat .am-north{fill:#fff}
.acv-page .av-sat .av-run{stroke:#ffd166;stroke-width:5;opacity:1}
.acv-page .av-map .av-run{fill:none;stroke:#2f7d6d;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.acv-page .av-map .av-poi{fill:var(--brown);stroke:#fff;stroke-width:2}
.acv-page .av-map .av-num{fill:#fff;font:700 12px/1 system-ui,sans-serif}
.acv-page .av-map .av-place{font:italic 26px var(--acv-display,serif)}
.acv-page .av-map .av-legt{font:500 15px var(--body,sans-serif);fill:var(--ink)}
@media (max-width:640px){.acv-page .av-map .av-legt{font-size:19px}.acv-page .av-sat .av-note{font-size:18px}.acv-page .av-map .av-place{font-size:30px}}
.acv-page .av-sat .av-run{stroke:#ffd166;stroke-width:5;opacity:1}
.acv-page .am-map .am-scale{stroke:var(--ink);stroke-width:3}
.acv-page .am-map .am-north{fill:var(--ink)}
.acv-page .am-map .am-road-edge{fill:none;stroke:#CDBBAE;stroke-width:11;stroke-linecap:round}
.acv-page .am-map .am-road{fill:none;stroke:#FBF8F4;stroke-width:8;stroke-linecap:round}
.acv-page .am-map .am-r2{stroke:var(--note);stroke-dasharray:2 7;stroke-width:3.5}
.acv-page .am-map .am-t2{fill:var(--note)}
.acv-page .am-map .am-legend{fill:rgba(247,241,234,.92);stroke:#D9CABD}
.acv-page .am-map .am-leg{font-size:15px}
.acv-page .am-map .am-chip rect{fill:#fff;stroke:var(--brown);stroke-width:1.5}
.acv-page .am-map .am-chip text{font:600 14px var(--body);fill:var(--brown-deep)}
.acv-page .am-map .am-c2 rect{stroke:var(--note)}
.acv-page .am-map .am-c2 text{fill:var(--note)}
.acv-page .am-map .am-roadlab{font:italic 500 14px var(--body);fill:#8A7A70;letter-spacing:.04em}
@media (max-width:640px){.acv-page .am-map .am-leg{font-size:17px}.acv-page .am-map .cm-lab{font-size:25px}.acv-page .am-map .cm-sm{font-size:21px}.acv-page .am-map .cm-us{font-size:26px}.acv-page .am-map .am-time{font-size:21px}.acv-page .am-map .am-time-sm{font-size:18px}.acv-page .am-map .cm-sea{font-size:24px}}
.acv-page .art-map svg{display:block;width:100%;height:auto;border-radius:8px}.acv-page .art-map .cm-bg{fill:#DCE7EA}.acv-page .art-map .cm-land{fill:var(--sand);stroke:#C9B6A6;stroke-width:1.2}.acv-page .art-map .cm-reg{font:500 15px var(--body);letter-spacing:.18em;fill:#A48F82}.acv-page .art-map .cm-lab{font:500 19px var(--body);fill:var(--ink)}.acv-page .art-map .cm-sm{font-size:15px;fill:var(--muted)}.acv-page .art-map .cm-us{font:600 21px var(--body);fill:var(--brown-deep)}.acv-page .art-map .cm-town{fill:var(--ink)}.acv-page .art-map .cm-air{fill:var(--note)}.acv-page .art-map .cm-plane{stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round}.acv-page .art-map .cm-pin{fill:var(--brown)}.acv-page .art-map .cm-sea{font:italic 22px var(--acv-display);fill:#6E8A93}.acv-page .art-map figcaption{font-size:14.5px;color:var(--muted);margin-top:10px;line-height:1.5}.acv-page .art-map figcaption b{color:var(--ink);font-weight:500}
@media (max-width:560px){.acv-page .art-map{margin-inline:-20px}.acv-page .art-map svg{border-radius:0}.acv-page .art-map figcaption{padding:0 20px}.acv-page .art-map .cm-reg{display:none}.acv-page .art-map .cm-sm{font-size:19px}}
.acv-page .art-facts{margin:0 0 30px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--olive);border-radius:6px}.acv-page .art-facts dl{margin:10px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 22px}.acv-page .art-facts dt{font-size:13px;color:var(--muted);margin-bottom:2px}.acv-page .art-facts dd{margin:0;font-size:15.5px;line-height:1.4;color:var(--ink)}.acv-page .art-sources{font-size:13.5px;color:var(--muted);margin-top:26px;line-height:1.5}.acv-page .art-sources span{font-weight:500}.acv-page .art-sources a{color:var(--muted)}
.acv-page .cyv-group{margin:18px 0 34px}.acv-page .cyv-group h2{margin:0 0 14px}.acv-page .cyv-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}.acv-page .cyv-card a{display:grid;gap:6px;align-content:start;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;height:100%;padding-bottom:16px}.acv-page .cyv-card a:hover{border-color:var(--brown)}.acv-page .cyv-card figure{margin:0}.acv-page .cyv-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.acv-page .cyv-t{font:italic 500 22px/1.25 var(--acv-display);color:var(--brown-deep);padding:8px 16px 0}.acv-page .cyv-d{font-size:14.5px;line-height:1.45;color:var(--muted);padding:0 16px}.acv-page .cyv-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.acv-page .cyv-tool{display:grid;gap:6px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink)}.acv-page .cyv-tool b{font:italic 500 22px/1.25 var(--acv-display);color:var(--brown-deep)}.acv-page .cyv-tool span{font-size:14.5px;color:var(--muted);line-height:1.45}.acv-page .cyv-tool:hover{border-color:var(--brown)}
.acv-page .art-hero-img{margin:14px 0 26px}.acv-page .art-hero-img img{display:block;width:100%;height:auto;aspect-ratio:5/2;object-fit:cover;border-radius:8px;background:var(--sand)}.acv-page .art-hero-img figcaption{font-size:13px;color:var(--muted,#6b6259);margin-top:8px}
@media (max-width:700px){.acv-page .art-hero-img{margin:10px -20px 20px}.acv-page .art-hero-img img{aspect-ratio:4/3;border-radius:0}.acv-page .art-hero-img figcaption{padding:0 20px}}
.acv-page .art-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:44px;align-items:center}
.acv-page .art-intro p{margin:0 0 12px;font-size:17.5px;line-height:1.65;max-width:62ch}
.acv-page .art-by{display:flex;gap:10px;align-items:center}
.acv-page img.avatar.sm{width:40px;height:40px}
.acv-page .art-qa{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--olive);border-radius:10px;padding:22px 24px;display:grid;gap:10px}
.acv-page .art-qa p{margin:0;font-size:17px;line-height:1.6}
.acv-page .art-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.acv-page .art-body{max-width:72ch;display:grid;gap:0}
.acv-page .art-body h2{font-size:clamp(26px,2.6vw,32px);margin:34px 0 12px;scroll-margin-top:90px}
.acv-page .art-body h2:first-of-type{margin-top:6px}
.acv-page .art-body h3{font-size:22px;margin:22px 0 8px}
.acv-page .art-body p,.acv-page .art-body li{font-size:17px;line-height:1.7}
.acv-page .art-body p{margin:0 0 14px;max-width:none}
.acv-page .art-body ul,.acv-page .art-body ol{margin:0 0 16px;padding-left:22px;display:grid;gap:6px}
.acv-page .art-tw{overflow-x:auto;margin:6px 0 18px;-webkit-overflow-scrolling:touch}
.acv-page .art-table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;background:var(--surface);border-radius:8px}
.acv-page .art-table th,.acv-page .art-table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.acv-page .art-table thead th{font:500 11.5px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--ground)}
.acv-page .art-table tbody th{font-weight:500;color:var(--brown-deep)}
.acv-page .art-mz{margin:8px 0 22px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;max-width:560px}
.acv-page .art-mz svg{width:100%;height:auto;display:block}
.acv-page .art-mz figcaption{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.5}
.acv-page .art-mz .p{fill:var(--brown)} .acv-page .art-mz .l{stroke:var(--olive);stroke-width:2.5;stroke-dasharray:6 6;fill:none}
.acv-page .art-mz .n{font:500 17px var(--body);fill:var(--ink)} .acv-page .art-mz .s{font:400 13px var(--body);fill:var(--muted)} .acv-page .art-mz .d{font:500 14px var(--body);fill:var(--olive)}
.acv-page .art-mz .road{stroke:#D9CABD;stroke-width:14;fill:none;stroke-linecap:round}
.acv-page .art-copy{margin:8px 0 22px;padding:18px 20px;background:#fff;border:1px dashed var(--brown);border-radius:10px;font-size:15.5px}
.acv-page .art-copy p{margin:0 0 10px}.acv-page .art-copy p:last-child{margin:0}
@media (max-width:640px){.acv-page .art-tw:has(.art-table.cards){overflow:visible}
.acv-page .art-table.cards{min-width:0;background:none}
.acv-page .art-table.cards thead{display:none}
.acv-page .art-table.cards,.acv-page .art-table.cards tbody,.acv-page .art-table.cards tr,.acv-page .art-table.cards th,.acv-page .art-table.cards td{display:block;width:auto}
.acv-page .art-table.cards tr{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 10px}
.acv-page .art-table.cards th,.acv-page .art-table.cards td{border:0;padding:3px 0}
.acv-page .art-table.cards tbody th{font-size:16px;padding-bottom:6px}
.acv-page .art-table.cards td[data-label]::before{content:attr(data-label);display:block;font:500 11px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}}
.acv-page .art-argyris{display:flex;gap:18px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px 22px;margin:26px 0 8px}
.acv-page .art-argyris p{margin:6px 0 0}
.acv-page .art-side{position:sticky;top:90px;display:grid;gap:18px}
.acv-page .art-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;display:grid;gap:12px;justify-items:start}
.acv-page .art-card h3{font-size:22px}
.acv-page .art-toc ol{margin:8px 0 0;padding-left:18px;display:grid;gap:6px;font-size:14.5px}
.acv-page .art-toc a{color:var(--brown);text-decoration:none}
.acv-page .art-toc a:hover{text-decoration:underline}
.acv-page .art-more{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px}
.acv-page .art-list{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.acv-page .art-list li{border-bottom:1px solid var(--line);padding:12px 0;display:grid;gap:2px}
.acv-page .art-list a{font:italic 500 21px/1.3 var(--acv-display);color:var(--brown-deep);text-decoration:none}
.acv-page .art-list a:hover{text-decoration:underline}
.acv-page .art-list span{font-size:14px;color:var(--muted)}
@media (max-width:980px){.acv-page .art-head,.acv-page .art-grid,.acv-page .art-more{grid-template-columns:minmax(0,1fr);gap:26px}.acv-page .art-side{position:static}.acv-page .art-toc{display:none}}
.acv-page .cmp-hero .qa{font:400 17.5px/1.65 var(--body);max-width:60ch}
.acv-page .cmp-hero .lede{font-size:clamp(20px,2vw,24px)}
.acv-page .cmp-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center}
.acv-page .cmp-hero .cmp-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.acv-page .groups{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:center}
.acv-page .groups .head{margin-bottom:0}
@media (max-width:980px){.acv-page .cmp-hero,.acv-page .groups{grid-template-columns:minmax(0,1fr);gap:24px}}
.acv-page .cmp-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:26px}
.acv-page .cmp-strip .tile{aspect-ratio:4/3;height:auto}
.acv-page .cmp-strip .tile .cap{opacity:1}
.acv-page .picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.acv-page .picks>div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px;display:grid;gap:6px;align-content:start}
.acv-page .picks h3{font-size:21px}
.acv-page .picks p{margin:0;font-size:15px}
.acv-page .cmp-table tr.grp th{background:var(--tint,var(--ground));font:500 11px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--brown);padding-top:16px}
.acv-page h3 small.muted{font:400 14px var(--body);color:var(--muted);margin-left:8px}
@media (max-width:980px){.acv-page .picks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.acv-page .picks,.acv-page .cmp-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.acv-page .picks{grid-template-columns:minmax(0,1fr)}}
.acv-page .cmp-wrap{overflow-x:auto;margin-top:8px;-webkit-overflow-scrolling:touch}
.acv-page .cmp-table{width:100%;min-width:720px;border-collapse:collapse;font-size:14.5px;background:var(--surface);border-radius:8px}
.acv-page .cmp-table th,.acv-page .cmp-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.acv-page .cmp-table thead th{font:italic 500 20px/1.2 var(--acv-display);color:var(--brown);background:var(--ground);position:sticky;top:0}
.acv-page .cmp-table thead th a{color:inherit}
.acv-page .cmp-table tbody th{font:500 11.5px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.acv-page .cmp-table th[scope=row],.acv-page .cmp-table thead th:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--line)}
.acv-page .cmp-table thead th:first-child{z-index:2;background:var(--ground)}
@media (max-width:640px){.acv-page .cmp-table{min-width:600px;font-size:13.5px}.acv-page .cmp-table th[scope=row]{white-space:normal;min-width:88px;max-width:96px}}
.acv-page .cmp-table .y{color:#4F5638}
.acv-page .cmp-table .n{color:var(--muted)}
.acv-page .finder{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:24px}
.acv-page .finder-in{display:grid;gap:12px;align-content:start}
.acv-page .finder-in label{display:grid;gap:4px;font:500 11px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.acv-page .finder-in select{font:400 15px var(--body);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px}
.acv-page .finder-in .chk{display:flex;gap:8px;align-items:center;font:400 15px var(--body);letter-spacing:0;text-transform:none;color:var(--ink)}
.acv-page .finder-out{background:var(--surface);border-radius:8px;padding:18px;display:grid;gap:12px;align-content:start}
.acv-page .finder-out h3{font-size:24px}
.acv-page .finder-out ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:15px}
.acv-page .finder-out .pick{border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:grid;gap:4px;background:var(--ground)}
.acv-page .finder-out .pick.top{border-color:var(--olive)}
.acv-page .finder-out .pick b{font:italic 500 21px/1.2 var(--acv-display);color:var(--brown-deep)}
.acv-page .finder-out .pick span{font-size:14px;color:var(--muted)}
.acv-page .locs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.acv-page .locs>*{min-width:0}
.acv-page .vcards>*,.acv-page .finder>*{min-width:0}
.acv-page .locs .map{aspect-ratio:16/10}
@media (max-width:980px){.acv-page .vcards,.acv-page .finder,.acv-page .locs{grid-template-columns:minmax(0,1fr)}}
/* Lightbox */
.acv-page .lb{position:fixed;inset:0;z-index:100;background:var(--lb-ground);color:var(--lb-ink);display:grid;grid-template-rows:auto 1fr;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.acv-page .lb-head{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.acv-page .lb-title{font:italic 500 22px/1 var(--acv-display);white-space:nowrap}
.acv-page .tabs{display:flex;gap:6px;overflow-x:auto;flex:1;scrollbar-width:none;padding-block:2px}
.acv-page .tabs::-webkit-scrollbar{display:none}
.acv-page .tab{flex:none;background:transparent;border:1px solid rgba(255,255,255,.18);color:var(--lb-muted);border-radius:999px;padding:7px 14px;font-size:13px}
.acv-page .tab[aria-selected="true"]{background:var(--lb-ink);color:var(--lb-ground);border-color:var(--lb-ink)}
.acv-page .tab span{opacity:.6;margin-left:4px}
.acv-page .icon-btn{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:transparent;color:var(--lb-ink);display:grid;place-items:center;font-size:20px;line-height:1}
.acv-page .lb-grid{overflow-y:auto;padding:20px 16px 40px}
.acv-page .lb-grid .group{max-width:var(--maxw);margin:0 auto 34px}
.acv-page .lb-h{margin:0 0 12px;font:italic 500 24px/1.1 var(--acv-display);color:var(--lb-ink)}
.acv-page .lb-h small{font:400 12px var(--body);color:var(--lb-muted);letter-spacing:.1em;margin-left:8px;text-transform:uppercase}
.acv-page .lb-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 6px}
.acv-page .lb-room{margin:18px 0 10px;font:500 12.5px/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--lb-muted)}
.acv-page .lb-room:first-of-type{margin-top:4px}
.acv-page .lb-thumbs figure{margin:0;display:grid;gap:6px}
.acv-page .lb-thumbs .tile{aspect-ratio:3/2;height:auto;background:#2a211e}
.acv-page .lb-thumbs figcaption{font-size:12.5px;color:var(--lb-muted)}
.acv-page .viewer{position:relative;display:grid;grid-template-rows:1fr auto;min-height:0;touch-action:pan-y}
.acv-page .stage{position:relative;min-height:0;display:grid;place-items:center;padding:12px 64px}
.acv-page .stage img{position:absolute;top:12px;bottom:12px;left:64px;right:64px;width:calc(100% - 128px);height:calc(100% - 24px);max-width:none;max-height:none;object-fit:contain;user-select:none;-webkit-user-drag:none}
.acv-page .lb,.acv-page .viewer{grid-template-columns:minmax(0,1fr)}.acv-page .stage{min-width:0;overflow:hidden}
.acv-page .nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);border:0;color:#fff;font-size:26px}
.acv-page .prev{left:10px}.acv-page .next{right:10px}
.acv-page .v-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 16px;font-size:14px}
.acv-page .v-cap small{display:block;color:var(--lb-muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.acv-page .v-count{font-variant-numeric:tabular-nums;color:var(--lb-muted);white-space:nowrap}
@media (max-width:640px){.acv-page .stage{padding:8px 0}.acv-page .stage img{top:8px;bottom:8px;left:0;right:0;width:100%;height:calc(100% - 16px)}.acv-page .nav{display:none}.acv-page .lb-title{display:none}.acv-page .lb-thumbs{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.acv-page, .acv-page *{transition:none!important;scroll-behavior:auto!important}}

/* Kitron-style content blocks (shared) */
.acv-page .lede{font:italic 500 26px/1.3 var(--acv-display);color:var(--brown-deep)}
.acv-page .small{font-size:14px;color:var(--muted)}
.acv-page .amen-list{margin:4px 0 14px;padding-left:18px;display:grid;gap:4px;font-size:15px}
.acv-page details.amen[open] summary::after{content:"–"}
.acv-page .access-note{margin-top:28px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--olive);border-radius:8px;padding:20px 22px;display:grid;gap:10px}
.acv-page .access-note h3{font-size:22px}
.acv-page .loc-side{display:grid;gap:18px;align-content:start}
.acv-page .living{align-items:center}
.acv-page .dist-h{font-size:20px;margin:6px 0 -8px}
.acv-page .living>.amen{grid-column:1/-1;margin-top:-8px}
.acv-page .living>.amen .amen-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.acv-page .living>.amen .amen-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.acv-page .living>.amen .amen-grid{grid-template-columns:1fr}}
.acv-page .gtk-box .fitlist b{font-weight:500}
.acv-page .gtk-box .fitlist>li.fm-hide{display:none}
.acv-page .fitmore{justify-self:start;background:none;border:0;border-bottom:1px solid currentColor;padding:4px 0;margin-top:2px;font:500 12.5px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--brown-deep);cursor:pointer}
.acv-page .fitmore:hover,.acv-page .fitmore:focus-visible{opacity:.75}
.acv-page .fit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}
.acv-page .fitlist{margin:10px 0 0;padding-left:18px;display:grid;gap:6px}
.acv-page .gtk-box{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px 22px;display:grid;gap:10px}
.acv-page .vs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
.acv-page .vs>div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.acv-page .vs h4{font:500 13px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--brown);margin:0 0 8px}
.acv-page .vs ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:15px}
.acv-page .host-lg{align-items:flex-start}
.acv-page .host-lg .stack{gap:10px}
@media (max-width:820px){.acv-page .fit-grid,.acv-page .vs{grid-template-columns:1fr}}
.acv-page .skip-link{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.acv-page .skip-link:focus{left:12px}
.acv-page .bedsetup{margin:-6px 0 22px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--brown);border-radius:10px;max-width:860px}.acv-page .bedsetup p{margin:0;font-size:16px}

/* --- mobile first: touch targets and tables (23 Sept 2026 mobile audit) --- */
@media (max-width:700px){
 .acv-page .btn{min-height:44px}
 .acv-page a.ask{display:inline-flex;align-items:center;min-height:44px}
 .acv-page a.brand{display:inline-flex;align-items:center;min-height:44px}
 .acv-page .crumbs a,.acv-page .crumbs li{display:inline-flex;align-items:center;min-height:40px}
 .acv-page .site-foot a,.acv-page footer a{display:inline-flex;align-items:center;min-height:40px}
 .acv-page .ckb{width:28px;height:28px;left:-5px;top:calc(.3em - 5px)}
 .acv-page li>a:only-child{display:inline-flex;align-items:center;min-height:40px}
 /* 2.12.5: a link inside a sentence stays inline (the 40 px box opened a gap under its line in 164 paragraphs
    on 58 pages); the padding still gives it a taller tap area without moving the text. */
 .acv-page p>a:only-child,.acv-page li>a.acv-inl{display:inline;min-height:0;padding-block:9px}
}

/* Explore more villas */
.acv-page #more-villas{background:#fff}
.acv-page .ovg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.acv-page .ovc{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line,#E4D8CE);border-radius:20px;overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}
.acv-page .ovc:hover{box-shadow:0 22px 44px -26px rgba(40,24,16,.45);transform:translateY(-2px)}
.acv-page .ovc figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#EFE6DD}
.acv-page .ovc figure img{width:100%;height:100%;object-fit:cover;display:block}
.acv-page .ovlink{position:absolute;inset:0;z-index:2}
.acv-page .ovb{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1;gap:2px}
.acv-page .ovlogo{height:34px;margin-bottom:8px}.acv-page .ovlogo svg{height:100%;width:auto;display:block}
/* #96806F on white is 3.74:1 at 12px -- under the 4.5 a small label needs, and these
   are the village names above each 'other villas' card, read by someone deciding where
   to stay. #846F5F is the same brown one step down, at 4.75:1. */
.acv-page .ovey{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#846F5F}
.acv-page .ovb h3{margin:4px 0 0;font-size:clamp(19px,1.5vw,22px)}
.acv-page .ovtag{margin:2px 0 10px;font-style:italic;color:#7A6455}
.acv-page .ovb ul{list-style:none;margin:0;padding:0;font-size:14.5px;color:var(--ink,#4A3B31)}
.acv-page .ovb ul li{padding:3px 0}
.acv-page .ovgo{margin-top:auto;padding-top:14px;font-size:14px;font-weight:500;color:var(--brown,#8A5A3B)}
.acv-page .ovc:hover .ovgo{text-decoration:underline;text-underline-offset:4px}
@media (max-width:900px){.acv-page .ovg{grid-template-columns:1fr 1fr;gap:16px}}
@media (max-width:640px){.acv-page .ovg{grid-template-columns:1fr}.acv-page .ovc figure{aspect-ratio:16/10}}

.acv-page :target,.acv-page [id]{scroll-margin-top:88px}

/* WordPress additions */
.acv-page .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.acv-page .qf-err{color:#FFD9C7}
.acv-page:not(.acv-edit) .plan-ph{display:none}
.acv-page .acv-main{display:block}
.acv-page{max-width:none!important}
.acv-page .acv-gap{margin:4px 0 10px}.acv-page .acv-gap a{display:inline-block;padding:6px 12px;border-radius:999px;background:#2F5D62;color:#fff;font-size:14px;font-weight:500;text-decoration:none}
.acv-page .acv-gap a::before{content:"● ";color:#A8E0C8}.acv-page .acv-gap a:hover{background:#244a4e}
.acv-page .vcard .acv-gap{margin:2px 0 6px}

/* MAZI */

/* MAZI page (T07) */
.acv-page .mz-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start;margin-top:8px}
.acv-page .mz-steps{list-style:none;counter-reset:s;padding:0;margin:8px 0 0;display:grid;gap:12px}
.acv-page .mz-steps li{counter-increment:s;position:relative;padding:14px 16px 14px 56px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.acv-page .mz-steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--brown);color:#fff;display:grid;place-items:center;font:500 14px var(--body)}
.acv-page .mz-steps b{display:block;font-weight:500}
.acv-page .mz-map{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}
.acv-page .mz-map svg{width:100%;height:auto;display:block}
.acv-page .mz-map figcaption{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.5}
.acv-page .mz-map .p{fill:var(--brown)} .acv-page .mz-map .l{stroke:var(--olive);stroke-width:2.5;stroke-dasharray:6 6;fill:none}
.acv-page .mz-map .n{font:500 17px var(--body);fill:var(--ink)} .acv-page .mz-map .s{font:400 13px var(--body);fill:var(--muted)} .acv-page .mz-map .d{font:500 14px var(--body);fill:var(--olive)}
.acv-page .mz-map .road{stroke:#D9CABD;stroke-width:14;fill:none;stroke-linecap:round}
.acv-page .mz-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.acv-page .mz-more{margin-top:30px;max-width:820px}
.acv-page .mz-plan{display:grid;gap:10px;max-width:860px}
.acv-page .bw .mz-combos li{padding:8px 0;border-bottom:1px solid var(--line)}
.acv-page .bw .mz-combos b{font-weight:500;color:var(--brown)}
.acv-page .mzf{display:grid;gap:18px;max-width:900px}
.acv-page .mzf fieldset{border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px 18px 20px;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.acv-page .mzf legend{font:500 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--brown);padding:0 6px}
.acv-page .mzf label{display:grid;gap:5px;font:500 14px/1.35 var(--body);color:var(--ink)}
.acv-page .mzf label small,.acv-page .mzf .mz-choice small{font-weight:400;color:var(--muted);font-size:13px}
.acv-page .mzf input:not([type=radio]):not([type=checkbox]),.acv-page .mzf select,.acv-page .mzf textarea{font:400 15px var(--body);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px;width:100%;box-sizing:border-box}
.acv-page .mzf .full{grid-column:1/-1}
.acv-page .mzf .mz-choice{display:grid;gap:6px}
.acv-page .mzf .mz-choice label{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.acv-page .mzf .mz-q{font:500 14px var(--body)}
.acv-page .mzf .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px}
.acv-page .mzf .btn{justify-self:start}
.acv-page .mz-guide{margin:0;padding:10px 14px;border-left:3px solid var(--olive);background:var(--surface);border-radius:6px;font-size:15px}
.acv-page .mz-guide:empty{display:none}
.acv-page .mz-status{margin:0;font-size:15px}
.acv-page .mz-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-top:16px}
.acv-page .mz-card h3{font-size:21px;margin:0 0 8px}
.acv-page .mz-village{grid-template-columns:repeat(3,minmax(0,1fr))}
.acv-page .mz-gcols{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.acv-page .mz-gcol{display:grid;gap:12px}
.acv-page .mz-gcol>h3{font-size:22px;margin:0 0 2px}
.acv-page .mz-planner{display:grid;gap:6px;margin:0 0 22px;padding:20px 22px;background:var(--brown-deep);color:#F5EEE8;border-radius:14px;text-decoration:none}.acv-page .mz-planner b{font-family:var(--acv-display);font-size:26px;font-weight:500;color:#fff}.acv-page .mz-planner .eyebrow{color:#E3D5CA}.acv-page .mz-planner em{font-style:normal;color:#fff;text-decoration:underline;text-underline-offset:3px}.acv-page .mz-planner:hover{background:var(--brown)}
.acv-page .mz-guide-card{display:grid;gap:4px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--olive);border-radius:10px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.acv-page .mz-guide-card:hover{border-color:var(--brown);transform:translateY(-1px)}
.acv-page .mz-guide-card b{font:500 20px/1.25 var(--acv-display);color:var(--brown)}
.acv-page .mz-guide-card span:last-child{font-size:15px;color:var(--muted)}
.acv-page .mz-related{margin-top:30px}
.acv-page .mz-faq{display:grid;gap:30px}
.acv-page .mz-faq-h{font:500 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--olive);margin:0 0 6px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.acv-page .mz-config .mz-plus{grid-column:span 2;border-style:dashed}
@media (max-width:900px){.acv-page .mz-config .mz-plus{grid-column:auto}}
.acv-page .mz-collapsed>.mz-more-q{display:none}
.acv-page .mz-showmore{margin-top:12px;background:none;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font:500 14px var(--body);color:var(--brown);cursor:pointer}
.acv-page .mz-showmore:hover{border-color:var(--brown)}
.acv-page .mz-showmore::after{content:" +";}
.acv-page .mz-showmore[aria-expanded="true"]::after{content:" –"}
@media (max-width:900px){.acv-page .mz-gcols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.acv-page .mz-split{grid-template-columns:minmax(0,1fr)}.acv-page .mz-cards{grid-template-columns:minmax(0,1fr)}.acv-page .mzf fieldset{grid-template-columns:minmax(0,1fr)}}
/* 2.12.2: pause / play on every looping article clip (acv-villa.js) */
.acv-vtog{position:absolute;top:10px;right:10px;z-index:2;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:rgba(24,18,16,.62);color:#fff;font:14px/1 Jost,Arial,sans-serif;display:flex;align-items:center;justify-content:center;cursor:pointer}
.acv-vtog:hover{background:rgba(24,18,16,.8)}.acv-vtog:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px #3A2A24}
/* 2.12.2: the MAZI enquiry answers (acv-villa.js) */
.acv-page .mz-status.ok{background:#F1F6F2;border:1px solid #BFD8C6;border-radius:12px;padding:14px 16px;color:#24452E}
.acv-page .mz-status.err{background:#FFF6F4;border:1px solid #E6C3BC;border-radius:12px;padding:14px 16px;color:#8A3A31}
.acv-page .mz-status a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* 2.12.3: Villas hub — “View photos of all four villas” is a link to /gallery/, placed on the large photo */
.acv-page .hero-grid{position:relative}.acv-page .hero-grid>a.photos-btn{bottom:14px;right:calc(50% + 22px);text-decoration:none;z-index:2}.acv-page .hero-grid>a.photos-btn:hover{text-decoration:underline}
@media (max-width:640px){.acv-page .hero-grid>a.photos-btn{top:12px;right:12px;bottom:auto}}
/* 2.12.3: breadcrumb on the photo (owner decision 29 Oct 2026, option A). Where the page photo follows the
   breadcrumb (villa pages, Villas hub, MAZI, guides and articles), the breadcrumb sits on the photo's top-left
   corner in a dark pill, so there is no empty band between the header and the photo. On phones the current
   page (the H1 right below) is left out of the pill. Pages without a photo there keep it above the content. */
.acv-page .wrap:has(>.crumbs+.hero-grid),.acv-page .wrap:has(>.crumbs+.art-hero-img){position:relative}
.acv-page section:has(>.wrap>.crumbs+.hero-grid),.acv-page section:has(>.wrap>.crumbs+.art-hero-img){padding-top:12px!important}
.acv-page .crumbs:has(+.hero-grid),.acv-page .crumbs:has(+.art-hero-img){position:absolute;z-index:4;top:12px;margin-left:12px;padding:0 12px;border-radius:999px;background:rgba(26,18,15,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;max-width:calc(100% - 64px)}
.acv-page .crumbs:has(+.hero-grid) ol,.acv-page .crumbs:has(+.art-hero-img) ol{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
.acv-page .crumbs:has(+.hero-grid) a,.acv-page .crumbs:has(+.art-hero-img) a,.acv-page .crumbs:has(+.hero-grid) li,.acv-page .crumbs:has(+.art-hero-img) li{color:#fff!important;min-height:32px}
.acv-page .crumbs:has(+.hero-grid) a:hover,.acv-page .crumbs:has(+.art-hero-img) a:hover{text-decoration:underline}
@media (max-width:640px){.acv-page .crumbs:has(+.hero-grid) li[aria-current],.acv-page .crumbs:has(+.art-hero-img) li[aria-current]{display:none}}

/* ---- 2.12.3 readability on phones (owner review, 29 Oct 2026) ------------------------------
   Small and secondary text was 12-15.5px; on phones it now reads at 15-17px. Titles, uppercase
   labels, the calendar, buttons and the menu keep their sizes. Desktop sizes are unchanged. */
@media (max-width:640px){.acv-home2 .dock .seg .val{font-size:14.5px}}
@media (max-width:600px){
:is(.acv-home2) .mn small{font-size:15px!important}
.acv-home2 .vb .evb,.acv-home2 .rc figcaption,.acv-home2 .rsrc,.acv-home2 .mznote,.acv-home2 .mgznote,.acv-home2 .vfm-note,.acv-home2 .cxhint,.acv-home2 .hzb figcaption,.acv-home2 .hostph figcaption,.acv-home2 .hcap a,.acv-page .keychips li,.acv-page .byline,.acv-page .bw-price span,.acv-page .hostq cite,.acv-page figcaption,.acv-page .revcount,.acv-page .bw>small,.acv-page .req small,.acv-page .hint,.acv-page .nap .mhte{font-size:15px}
:is(.acv-home2,.acv-page) .vb > p.evb,
:is(.acv-home2,.acv-page) .acvgl-save.acvgl-save-sm > span.acvgl-st,
:is(.acv-home2,.acv-page) .mn > small,
:is(.acv-home2,.acv-page) .vfmeter > p.vfm-note,
:is(.acv-home2,.acv-page) .vfm-note > a,
:is(.acv-home2,.acv-page) .rc > figcaption,
:is(.acv-home2,.acv-page) .wrap > p.rsrc,
:is(.acv-home2,.acv-page) .mzhow > p.mznote,
:is(.acv-home2,.acv-page) .cxpanel > p.cxhint,
:is(.acv-home2,.acv-page) .hzb > figcaption,
:is(.acv-home2,.acv-page) .hostph.hostv > figcaption,
:is(.acv-home2,.acv-page) .mgztxt > p.mgznote,
:is(.acv-home2,.acv-page) .hostq > cite,
:is(.acv-home2,.acv-page) .rating > span,
:is(.acv-home2,.acv-page) .wrap > p.revcount,
:is(.acv-home2,.acv-page) .nap > span.mhte,
:is(.acv-home2,.acv-page) span.hint,
:is(.acv-home2,.acv-page) .req > small,
:is(.acv-home2,.acv-page) .gallery-proof > span,
:is(.acv-home2,.acv-page) .keychips > li,
:is(.acv-home2,.acv-page) .art-fig > figcaption,
:is(.acv-home2,.acv-page) .art-body > p.art-reviewed,
:is(.acv-home2,.acv-page) .art-reviewed > time,
:is(.acv-home2,.acv-page) .gl-f.on > span.gl-num,
:is(.acv-home2,.acv-page) .gl-f > span.gl-num,
:is(.acv-home2,.acv-page) .wrap > p.gl-note,
:is(.acv-home2,.acv-page) .gl-note > a{font-size:15px!important}
:is(.acv-home2,.acv-page) .dtrust > li,
:is(.acv-home2,.acv-page) .vb > p.sub,
:is(.acv-home2,.acv-page) .vb > p.best,
:is(.acv-home2,.acv-page) .vfoot > span.price,
:is(.acv-home2,.acv-page) .vfoot > span.go,
:is(.acv-home2,.acv-page) .opt > span,
:is(.acv-home2,.acv-page) .rfilter > button.on,
:is(.acv-home2,.acv-page) .rfilter > button,
:is(.acv-home2,.acv-page) .mzc > span.mzcf,
:is(.acv-home2,.acv-page) .mzc > span.mzcgo,
:is(.acv-home2,.acv-page) .mz2cta > a.mz2link,
:is(.acv-home2,.acv-page) p.note,
:is(.acv-home2,.acv-page) .gtabs > button.on,
:is(.acv-home2,.acv-page) .gtabs > button,
:is(.acv-home2,.acv-page) .dist > li,
:is(.acv-home2,.acv-page) .wrap > p.note,
:is(.acv-home2,.acv-page) .e > span,
:is(.acv-home2,.acv-page) .guides > span,
:is(.acv-home2,.acv-page) .guides > a,
:is(.acv-home2,.acv-page) .hzl > li,
:is(.acv-home2,.acv-page) .chips > li,
:is(.acv-home2,.acv-page) .row > span.note,
:is(.acv-home2,.acv-page) .mgztxt > a.mgzask.wa,
:is(.acv-home2,.acv-page) .wrap > button.showall,
:is(.acv-home2,.acv-page) .why3 > li,
:is(.acv-home2,.acv-page) .ev > dd,
:is(.acv-home2,.acv-page) .wrap > p.factline,
:is(.acv-home2,.acv-page) .floorhead > p,
:is(.acv-home2,.acv-page) .room > p.bed,
:is(.acv-home2,.acv-page) .room > p,
:is(.acv-home2,.acv-page) .chips > li.hl,
:is(.acv-home2,.acv-page) .wrap > p.rev-src,
:is(.acv-home2,.acv-page) .rev-src > a,
:is(.acv-home2,.acv-page) .gtk-box > p.small,
:is(.acv-home2,.acv-page) .plan-in > label.chk,
:is(.acv-home2,.acv-page) .ovb > span.ovgo,
:is(.acv-home2,.acv-page) .stack > address.nap,
:is(.acv-home2,.acv-page) .nap > a,
:is(.acv-home2,.acv-page) .loc-side > p,
:is(.acv-home2,.acv-page) .host > p,
:is(.acv-home2,.acv-page) .wrap > p.host-proof,
:is(.acv-home2,.acv-page) .body > a.ask.learn,
:is(.acv-home2,.acv-page) .me > span,
:is(.acv-home2,.acv-page) .cmp > span,
:is(.acv-home2,.acv-page) .faq-group > button.faq-showmore,
:is(.acv-home2,.acv-page) button.chipbtn,
:is(.acv-home2,.acv-page) span.term,
:is(.acv-home2,.acv-page) .hl > button.chipbtn,
:is(.acv-home2,.acv-page) .amen > p.small,
:is(.acv-home2,.acv-page) .stack > p.host-proof,
:is(.acv-home2,.acv-page) .host-proof > b,
:is(.acv-home2,.acv-page) .wrap > p.inroom,
:is(.acv-home2,.acv-page) .vcard-body > p.best,
:is(.acv-home2,.acv-page) .best > b,
:is(.acv-home2,.acv-page) .vcard-body > p.price,
:is(.acv-home2,.acv-page) .finder-in > label.chk,
:is(.acv-home2,.acv-page) .pick.top > span,
:is(.acv-home2,.acv-page) .pick > span,
:is(.acv-home2,.acv-page) .stack > p.small,
:is(.acv-home2,.acv-page) .small > a,
:is(.acv-home2,.acv-page) .wrap > address.nap,
:is(.acv-home2,.acv-page) .wrap > button.faq-showmore,
:is(.acv-home2,.acv-page) span.cyv-d,
:is(.acv-home2,.acv-page) .wrap > p.small,
:is(.acv-home2,.acv-page) .cyv-tool > span,
:is(.acv-home2,.acv-page) .art-map.am-map.av-map.av-sat > figcaption,
:is(.acv-home2,.acv-page) .bd-by > span{font-size:16px!important}
:is(.acv-home2,.acv-page) .opt > b,
:is(.acv-home2,.acv-page) .center > a.ask,
:is(.acv-home2,.acv-page) .head > p,
:is(.acv-home2,.acv-page) .bedsetup > p,
:is(.acv-home2,.acv-page) .fitlist > li,
:is(.acv-home2,.acv-page) .ctas > a.ask,
:is(.acv-home2,.acv-page) .ovb > p.ovtag,
:is(.acv-home2,.acv-page) a.ask,
:is(.acv-home2,.acv-page) .body > p,
:is(.acv-home2,.acv-page) .cmp > a.ask,
:is(.acv-home2,.acv-page) .qf > p.full,
:is(.acv-home2,.acv-page) .access-note > p,
:is(.acv-home2,.acv-page) .gtk-box > p,
:is(.acv-home2,.acv-page) .inc > a.ask,
:is(.acv-home2,.acv-page) .final.final-box > p,
:is(.acv-home2,.acv-page) .cyv-group > p.lead,
:is(.acv-home2,.acv-page) .art-card > a.ask,
:is(.acv-home2,.acv-page) .bd-ul > li,
:is(.acv-home2,.acv-page) p.bd-links,
:is(.acv-home2,.acv-page) .bd-host > p,
:is(.acv-home2,.acv-page) .bd-q > summary,
:is(.acv-home2,.acv-page) .bd-q > p,
:is(.acv-home2,.acv-page) .gl-fs > button.gl-f.on,
:is(.acv-home2,.acv-page) .gl-fs > button.gl-f,
:is(.acv-home2,.acv-page) .gl-more-w > button.gl-more{font-size:17px!important}
}
/* 2.12.5: on the four villa pages the header sits over the hero photos, as on the homepage: a soft
   dark fade at the top, solid again once the page scrolls (home-header.js toggles .stuck). The photos
   run edge to edge and start at the top of the screen. body.acv-ph comes from acv_vp_body_class(). */
body.acv-ph header.elementor-location-header{position:fixed;top:0;left:0;right:0;z-index:60}
body.acv-ph.admin-bar header.elementor-location-header{top:32px}
@media (max-width:782px){body.acv-ph.admin-bar header.elementor-location-header{top:46px}}
body.acv-ph .acv-home2.acv-hf-head{background:transparent!important}
body.acv-ph .acv-home2.acv-hf-head .hd{background:linear-gradient(180deg,rgba(18,12,10,.62) 0%,rgba(18,12,10,.28) 60%,rgba(18,12,10,0) 100%)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;transition:background .3s,box-shadow .3s}
body.acv-ph .acv-home2.acv-hf-head .hd.stuck{background:rgba(26,18,15,.9)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;box-shadow:0 6px 24px -14px rgba(0,0,0,.7)!important}
body.acv-ph .acv-home2 .hd .nav a,body.acv-ph .acv-home2 .hd .hdcall{text-shadow:0 1px 8px rgba(0,0,0,.45)}
body.acv-ph .acv-page section:has(>.wrap>.crumbs+.hero-grid){padding-top:0!important;border-top:0!important}
body.acv-ph .acv-page .hero-grid{margin:0 calc(50% - 50vw) 28px!important;width:100vw;max-width:none;gap:4px}
body.acv-ph .acv-page .hero-grid .tile{border-radius:0}
/* tablets: the logo sits in the middle of the header, so the main photo is a little narrower and the logo falls on a photo, not on the gap between two */
@media (min-width:641px) and (max-width:1180px){body.acv-ph .acv-page .hero-grid{grid-template-columns:3fr 2fr 2fr}}
/* about as tall as before 2.12.5 (and never taller than 64% of the screen), so the booking box stays in view on a laptop */
@media (min-width:901px){body.acv-ph .acv-page .hero-grid{height:clamp(380px,min(46vw,64vh),600px)}}
/* the breadcrumb leaves the photos: plain text under them, above the villa name (the BreadcrumbList schema is unchanged) */
body.acv-ph .acv-page .wrap:has(>.crumbs+.hero-grid){display:flex;flex-direction:column}
body.acv-ph .acv-page .wrap:has(>.crumbs+.hero-grid)>.hero-grid{order:1}
body.acv-ph .acv-page .wrap:has(>.crumbs+.hero-grid)>.crumbs{order:2;position:static!important;top:auto;margin:-16px 0 0!important;padding:0!important;background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0}
body.acv-ph .acv-page .wrap:has(>.crumbs+.hero-grid)>.crumbs ol{flex-wrap:wrap;white-space:normal}
body.acv-ph .acv-page .wrap:has(>.crumbs+.hero-grid)>.crumbs a,body.acv-ph .acv-page .wrap:has(>.crumbs+.hero-grid)>.crumbs li{color:var(--muted,#7a6a60)!important;min-height:0}
body.acv-ph .acv-page .wrap:has(>.crumbs+.hero-grid)>.crumbs a:hover{color:var(--ink,#2b211d)!important}
body.acv-ph .acv-page .wrap:has(>.crumbs+.hero-grid)>.crumbs li[aria-current]{display:flex!important}
body.acv-ph .acv-page .wrap:has(>.crumbs+.hero-grid)>*:not(.hero-grid):not(.crumbs){order:3}
@media (max-width:640px){body.acv-ph .acv-page .hero-grid .photos-btn,body.acv-ph .acv-page .hero-grid>a.photos-btn{top:calc(var(--acvhh,72px) + 12px)}}
@media print{body.acv-ph header.elementor-location-header{position:static}}
/* 2.12.5 (screen check, 30 Oct 2026): no text below 12 px. These labels were 10.5–11.5 px: calendar
   “Check-in/Check-out”, the calendar key, guest fields, the facts list, the compare table row names,
   form labels and the villa card location line. */
.acv-page .bw-f span,.acv-page .bw-key,.acv-page .bw-key i,.acv-page .bw-row label,.acv-page .plan-in label:not(.chk),
.acv-page fieldset.kids legend,.acv-page fieldset.kids legend span,.acv-page fieldset.kids label,
.acv-page .facts dt,.acv-page .cmp-table tbody th,.acv-page .finder-in label:not(.chk),.acv-page form.qf label,
.acv-page .cf-l small,.acv-page .vcard-body .loc{font-size:12px!important}
/* checkboxes and radio buttons: 20 px instead of the browser's 13 px, easier to tap on a phone */
.acv-page input[type=checkbox]:not(.cf-chk input),.acv-page input[type=radio]{width:20px;height:20px;flex:none;accent-color:var(--brown,#7B5A50)}

/* ===== 2.12.7: tighter spacing between sections, compact key facts ===== */
/* Sections: 72+72 = 144px between two of them on desktop, 52+52 = 104px on phones.
   Now 112px and 72px, the same as the homepage already uses on phones. */
.acv-page section{padding-block:56px}
@media (max-width:640px){.acv-page section{padding-block:36px}}

/* Key facts: borders drawn on the top and left of each cell and clipped by the box,
   so the lines stay right whatever the number of items or their order. */
.acv-page .facts{overflow:hidden;border-top:0!important}
.acv-page .facts>div{border:0!important;border-left:1px solid var(--line)!important;border-top:1px solid var(--line)!important;margin:0 0 0 -1px}
.acv-page .facts>.ev{order:9}  /* the EV charger reads last, after the numbers */

/* Desktop, nine items (Villa Kitron): five on the first row and four on the second,
   instead of "Location" alone on a third row. */
@media (min-width:981px){
  .acv-page .facts:has(>div:nth-child(9):last-child){grid-template-columns:repeat(20,minmax(0,1fr))!important}
  .acv-page .facts:has(>div:nth-child(9):last-child)>div{grid-column:span 5}
  .acv-page .facts:has(>div:nth-child(9):last-child)>div:nth-child(-n+5){grid-column:span 4}
}

/* Phones: guests, bedrooms, bathrooms three across; the rest two across in equal columns;
   with eight items the one left over (the EV charger, or the last item) takes the whole row. */
@media (max-width:640px){
  .acv-page .facts{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .acv-page .facts>div{grid-column:span 3;padding:11px 12px!important}
  .acv-page .facts>div:nth-child(-n+3){grid-column:span 2}
  .acv-page .facts dd{font-size:14px;line-height:1.4}
  .acv-page .facts>div:nth-child(-n+3) dd{font-size:13px;line-height:1.35}
  .acv-page .facts dd b{font-size:21px!important}
  .acv-page .facts:has(>div:nth-child(8):last-child)>.ev,
  .acv-page .facts:has(>div:nth-child(8):last-child):not(:has(>.ev))>div:last-child{grid-column:1/-1}
  .acv-page .facts>.ev dd b{display:inline!important;margin-right:8px;font-size:19px!important}
  .acv-page .facts>.ev .chipbtn{display:inline!important;margin-left:6px;font-size:13.5px}
}
/* 2.12.23: "At a glance" under the villa introduction; the introduction stays beside the tall booking box */
.vglance{margin:22px 0 6px;padding:16px 18px;border:1px solid #E7DCD2;border-radius:16px;background:#FBF8F5;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.vglance div{display:flex;flex-direction:column;gap:2px}
.vglance dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7B5A50}
.vglance dd{margin:0;font-size:16px;color:#3A2A24}
@media (min-width:901px){.hero-body{align-items:start}.hero-body .stack{position:sticky;top:110px}}
@media (max-width:640px){.vglance{gap:10px 14px;padding:14px}.vglance dd{font-size:15px}}
/* 2.12.23: combination cards with photos of their villas */
.mazi a.me.mec{display:flex;flex-direction:column;text-decoration:none;color:inherit;overflow:hidden}
.mazi a.me.mec .mph{display:flex;gap:2px;height:140px;margin:-4px -4px 10px;border-radius:12px;overflow:hidden}
.mazi a.me.mec .mph img{flex:1;min-width:0;width:100%;height:100%;object-fit:cover;display:block}
.mazi a.me.mec .mtx{display:flex;flex-direction:column;gap:4px}
.mazi a.me.mec .mtx b small{font-size:14px;margin-left:6px;opacity:.75;font-family:inherit}
.mazi a.me.mec:hover .mtx > span{text-decoration:underline;text-underline-offset:3px}

/* 2.12.23: quote form with first and last name; the closing title no longer runs into its buttons */
@media (min-width:901px){.acv-page .qf{grid-template-columns:repeat(6,1fr)}.acv-page .qf>label{grid-column:span 2}.acv-page .qf>label:nth-of-type(4),.acv-page .qf>label:nth-of-type(5){grid-column:span 3}}
.acv-page .final h2{line-height:1.12;margin-bottom:22px}
.acv-page .qf-ok[hidden],.acv-page .qf-err[hidden]{display:none}
/* 2.12.23: the other villas come after MAZI, just before the questions, so the page first sells its own villa */
.e-con>.elementor-element:has(> .acv-page #mazi){order:1}
.e-con>.elementor-element:has(> .acv-page #more-villas){order:2}
.e-con>.elementor-element:has(> .acv-page #faq){order:3}
/* 2.12.25: the owner's quote under the story photos (Asteri, Kitron, Argiris) */
.acv-page .story-side .hostq{margin:28px 0 0}

/* 2.15.6 compare-table styles moved to assets/tables.css in 2.15.9 (printed inline so the page cache always has them) */
