:root { --cv-green:#0b5138; --cv-green-dark:#073e2b; --cv-sun:#ffc53d; --cv-sand:#f7e6be; --cv-cream:#fff9ec; --cv-ink:#14201b; --cv-text:#45443a; --cv-muted:#6b6455; --cv-line:#e4d6b4; --cv-brick:#992c06; --cv-coral:#c6320b; --cv-max:1440px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cv-cream); color:var(--cv-text); font:16px/1.65 "Space Grotesk",sans-serif; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration-color:var(--cv-sun); text-decoration-thickness:1.5px; text-underline-offset:3px; }
a:hover { color:var(--cv-brick); }
h1,h2,h3 { margin:0; color:var(--cv-ink); font-family:Gloock,Georgia,serif; font-weight:400; line-height:1.02; letter-spacing:-.025em; }
h1 { font-size:clamp(2.7rem,5.5vw,5.15rem); }
h2 { font-size:clamp(2rem,3.2vw,2.75rem); }
h3 { font-size:clamp(1.35rem,2vw,1.8rem); }
p { margin:0; }
ul,ol { margin:0; padding:0; }
.cv-skip-link { position:absolute; left:-9999px; z-index:100; padding:10px 16px; background:var(--cv-sun); color:var(--cv-ink); }
.cv-skip-link:focus { left:16px; top:16px; }
.cv-utility { display:flex; justify-content:space-between; gap:20px; width:100%; max-width:none; margin:0; padding:8px max(40px,calc((100% - var(--cv-max))/2 + 40px)); background:var(--cv-green); color:var(--cv-sun); font:500 10px/1.5 "DM Mono",monospace; letter-spacing:.11em; text-transform:uppercase; }
.cv-utility > div :is(ul,ol) { display:flex; gap:14px; list-style:none; }
.cv-header { display:flex; position:relative; align-items:center; justify-content:space-between; gap:30px; width:100%; max-width:none; min-height:104px; margin:0; padding:18px max(40px,calc((100% - var(--cv-max))/2 + 40px)); border-bottom:1.5px solid var(--cv-ink); background:var(--cv-cream); }
.cv-brand { display:flex; align-items:center; gap:12px; color:var(--cv-green); text-decoration:none; }
.cv-brand img { width:58px; height:58px; object-fit:contain; }
.cv-brand strong { display:block; font:400 1.8rem/.9 Gloock,serif; letter-spacing:-.02em; }
.cv-brand small,.cv-kicker,.cv-meta { display:block; color:var(--cv-brick); font:500 10px/1.4 "DM Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }
.cv-brand small { margin-top:5px; font-size:8px; }
.cv-navigation :is(ul,ol) { display:flex; align-items:center; gap:24px; list-style:none; }
.cv-navigation a { color:var(--cv-ink); font-size:14px; font-weight:600; text-decoration:none; }
.cv-navigation a:hover,
.cv-navigation .is-active,
.cv-navigation .menu-item--active-trail > a {
  color:var(--cv-brick);
}
.cv-menu-toggle { display:none; border:0; border-radius:50%; width:44px; height:44px; padding:10px; background:var(--cv-green); cursor:pointer; }
.cv-menu-toggle i { display:block; width:22px; height:2px; margin:4px auto; background:var(--cv-cream); }
.cv-menu-toggle i:last-child { width:12px; margin-right:1px; background:var(--cv-sun); }
.cv-header-toc { display:none; }
.cv-hero,.cv-section,.cv-travel-types,.cv-newsletter,.cv-main,.cv-footer { max-width:var(--cv-max); margin:auto; }
.cv-hero { display:grid; grid-template-columns:minmax(0,1fr) 460px; align-items:center; gap:55px; min-height:550px; padding:70px 8.5%; background:var(--cv-sun); }
.cv-hero h1 { max-width:620px; margin:8px 0 22px; font-size:clamp(3.5rem,6vw,5.1rem); }
.cv-hero h1 em { color:var(--cv-brick); font-family:Caveat,cursive; font-size:1.18em; font-style:normal; letter-spacing:-.06em; }
.cv-lead { max-width:590px; font-size:18px; line-height:1.65; }
.cv-pills { display:flex; flex-wrap:wrap; gap:9px; margin-top:27px; }
.cv-pills span { padding:8px 14px; border-radius:999px; background:var(--cv-cream); color:var(--cv-green); font-size:13px; font-weight:700; }
.cv-pills span:first-child { background:var(--cv-green); color:var(--cv-cream); }
.cv-hero-orb { display:grid; width:min(100%,430px); aspect-ratio:1; place-items:center; justify-self:end; border-radius:50%; background:var(--cv-cream); box-shadow:0 20px 35px -22px rgba(11,81,56,.8); }
.cv-hero-orb img { width:58%; }
.cv-section { padding:76px 40px 0; }
.cv-section-title { display:flex; align-items:end; justify-content:space-between; gap:22px; margin-bottom:29px; padding-bottom:13px; border-bottom:1.5px solid var(--cv-ink); }
.cv-section-title span { color:var(--cv-brick); font:500 10px/1.3 "DM Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }
.cv-article-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.cv-article-card,.cv-stay-card { min-width:0; background:#fff; border:1px solid #efe3c8; }
.cv-card-image { display:block; width:100%; min-width:0; overflow:hidden; aspect-ratio:1.42; background:var(--cv-sand); }
.cv-card-image :is(img,picture) { width:100%; height:100%; object-fit:cover; transition:filter .2s ease; }
.cv-card-image:hover img { filter:brightness(.9); }
.cv-card-body { padding:18px; }
.cv-card-body .cv-kicker { margin-bottom:9px; }
.cv-card-body h3 { margin-bottom:9px; font-size:1.45rem; }
.cv-card-body h3 a { text-decoration:none; }
.cv-card-body p:not(.cv-kicker):not(.cv-meta) { display:-webkit-box; overflow:hidden; margin-bottom:14px; color:var(--cv-text); font-size:14px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.cv-meta { color:var(--cv-muted); font-size:9px; }
.cv-travel-types { display:grid; grid-template-columns:.8fr 2fr; gap:55px; margin-top:76px; padding:64px 40px; background:var(--cv-green); color:var(--cv-cream); }
.cv-travel-types h2 { margin-top:8px; color:var(--cv-cream); }
.cv-travel-types .cv-kicker { color:var(--cv-sun); }
.cv-travel-types ol { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; }
.cv-travel-types li { display:grid; grid-template-columns:auto 1fr; gap:12px; padding:0 18px; border-left:1px solid rgba(255,249,236,.27); }
.cv-travel-types b { color:var(--cv-sun); font:400 1.85rem/1 Gloock,serif; }
.cv-travel-types span { color:var(--cv-cream); font:400 1.4rem/1.1 Gloock,serif; }
.cv-travel-types small { display:block; margin-top:9px; color:rgba(255,249,236,.75); font:13px/1.55 "Space Grotesk",sans-serif; }
.cv-stay-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cv-newsletter { display:grid; grid-template-columns:1fr minmax(260px,.7fr); align-items:center; gap:45px; margin-top:76px; padding:56px 40px; background:var(--cv-sun); }
.cv-newsletter h2 { max-width:600px; margin-top:8px; }
.cv-newsletter .block { background:var(--cv-cream); padding:18px; }
.cv-main { min-height:65vh; padding:54px 40px 82px; }
.cv-layout { display:grid; grid-template-columns:minmax(0,1fr); }
.cv-layout > * { min-width:0; }
.cv-layout.has-left { grid-template-columns:230px minmax(0,1fr); gap:38px; }
.cv-layout.has-right { grid-template-columns:minmax(0,1fr) 300px; gap:38px; }
.cv-layout.has-left.has-right { grid-template-columns:210px minmax(0,1fr) 285px; }
.cv-layout aside { font-size:14px; }
.cv-highlighted { margin-bottom:24px; }
.cv-page-header { margin-bottom:36px; }
.cv-page-header > * + * { margin-top:24px; }
.cv-page-header .geolocation-map-container { min-height:380px; }
.cv-layout > aside .views-exposed-form { padding:22px; border:1px solid var(--cv-line); background:var(--cv-sand); }
.cv-layout > aside .block { min-width:0; max-width:100%; }
.cv-layout > aside .form-item { margin-bottom:14px; }
.cv-layout > aside :is(select,input) { width:100%; max-width:100%; }
.cv-content .page-header { margin:0 0 28px; }
.cv-channel-head,.cv-article-head,.cv-stay > header { max-width:900px; padding:0 0 42px; }
.cv-channel-head h1,.cv-article-head h1,.cv-stay > header h1 { margin:10px 0 20px; }
.cv-article-list { display:grid; gap:22px; }
.cv-article-list .cv-article-card { display:grid; grid-template-columns:230px minmax(0,1fr); }
.cv-article-list .cv-card-image { height:180px; min-height:180px; }
.cv-article-list .cv-card-image img { height:180px; }
.cv-article { max-width:960px; margin:auto; }
.cv-article-head { max-width:780px; margin:auto; text-align:left; }
.cv-article-intro { max-width:720px; font-size:19px; line-height:1.65; }
.cv-article-head .cv-meta { margin-top:18px; }
.cv-article-hero { overflow:hidden; margin-bottom:44px; }
.cv-article-hero img { width:100%; max-height:540px; object-fit:cover; }
.cv-stay-gallery { display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; margin-bottom:42px; }
.cv-stay-gallery img { width:100%; height:230px; object-fit:cover; }
.cv-stay-gallery img:first-child { grid-row:span 2; height:470px; }
.cv-stay-promo { margin:38px 0; padding:28px; border:1px solid var(--cv-brick); background:var(--cv-sand); }
.cv-booking-button { display:block; margin-top:24px; text-align:center; }
.cv-stay-map { margin-top:46px; }
.cv-stay-map h2 { margin-bottom:20px; }
.cv-article-body { max-width:720px; margin:auto; font-size:17px; line-height:1.74; }
.cv-article-body--hero-deduplicated > .field--name-field-paragraphs > .field__item:first-child {
  display:none;
}
.cv-article-body :is(h2,h3) { color:var(--cv-green); margin:52px 0 18px; }
.cv-article-body p { margin-bottom:20px; }
.cv-article-body a { color:var(--cv-ink); }
.cv-article-body .jumbotron {
  min-width:0;
  margin:38px 0;
  padding:34px 38px;
  overflow:hidden;
  border-left:6px solid var(--cv-coral);
  background:#f7d8d3;
  box-shadow:0 18px 38px -34px rgba(20,32,27,.65);
}
.cv-article-body .jumbotron > :first-child { margin-top:0; }
.cv-article-body .jumbotron > :last-child { margin-bottom:0; }
.cv-article-body .jumbotron :is(h2,h3,h4) { margin:0 0 22px; color:var(--cv-green); }
.cv-article-body .jumbotron h2 { font-size:clamp(2rem,4.5vw,2.8rem); }
.cv-article-body .jumbotron p { font-size:18px; line-height:1.65; }
.cv-article-body .jumbotron :is(ul,ol) { margin:18px 0 22px; padding-left:1.45em; }
.cv-article-body .jumbotron li { padding-left:.2em; }
.cv-article-body .jumbotron li + li { margin-top:8px; }
.cv-article-body .jumbotron :is(.btn,.button) {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:10px 20px;
  border-radius:999px;
  background:var(--cv-green);
  color:#fff;
  font-weight:700;
  text-decoration:none;
}
.cv-comments { max-width:720px; margin:68px auto 0; padding-top:32px; border-top:1px solid var(--cv-line); }
.cv-comments h2 { margin-bottom:25px; }
.cv-comments .comment-wrapper > .title:first-child { display:none; }
.cv-comments .comment {
  display:grid;
  grid-template-columns:145px minmax(0,1fr);
  margin-bottom:18px;
  border:1px solid var(--cv-line);
  background:#fff;
}
.cv-comments .comment__meta {
  padding:22px 18px;
  background:var(--cv-sand);
  color:var(--cv-muted);
  font-size:12px;
  line-height:1.45;
}
.cv-comments .comment__meta img {
  width:48px;
  height:48px;
  margin-bottom:12px;
  border-radius:50%;
  object-fit:cover;
}
.cv-comments .comment__submitted a { color:var(--cv-green); font-weight:700; }
.cv-comments .comment > .content { min-width:0; padding:22px 24px; overflow-wrap:anywhere; }
.cv-comments .comment > .content h3 { margin:0 0 12px; color:var(--cv-green); font-size:1.3rem; }
.cv-comments .comment > .content p { margin-bottom:12px; }
.cv-comments .comment > .content > :last-child { margin-bottom:0; }
.cv-comments .comment .links { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:15px; list-style:none; }
.cv-comments .comment .links a {
  color:var(--cv-brick);
  font:600 10px "DM Mono",monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cv-comments .indented { margin-left:34px; }
.cv-comments .comment-form__title { margin:44px 0 20px; font-size:2rem; }
.cv-comments .comment-form {
  padding:28px;
  border-top:5px solid var(--cv-sun);
  background:var(--cv-sand);
}
.cv-comments .comment-form .form-item { margin-bottom:18px; }
.cv-comments .comment-form label { display:block; margin-bottom:6px; color:var(--cv-green); font-weight:700; }
.cv-comments .comment-form :is(input[type=text],input[type=email],textarea) {
  width:100%;
  padding:12px 14px;
  border:1px solid var(--cv-line);
  background:#fff;
  font:inherit;
}
.cv-comments .comment-form textarea { min-height:150px; resize:vertical; }
.cv-comments .comment-form :is(input[type=submit],button[type=submit]) {
  min-height:46px;
  padding:10px 22px;
  border:0;
  border-radius:999px;
  background:var(--cv-green);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.cv-quiz-hero {
  display:grid;
  grid-template-columns:minmax(260px,450px) minmax(0,1fr);
  align-items:center;
  gap:48px;
  margin:-54px -40px 46px;
  padding:46px max(40px,calc((100% - 1100px)/2));
  background:var(--cv-sun);
}
.cv-quiz-hero img { width:100%; max-width:450px; }
.cv-quiz-hero h1 { max-width:680px; margin:10px 0 20px; color:var(--cv-green); font-size:clamp(3rem,5vw,4.5rem); }
.path-webform .cv-content { width:100%; min-width:0; max-width:850px; margin:auto; overflow-wrap:anywhere; }
.path-webform .cv-content :is(.region-content,form,.form-wrapper,.form-item) { min-width:0; max-width:100%; }
.path-webform .cv-content :is(input,select,textarea,canvas,img) { max-width:100%; }
.cv-stay { max-width:1080px; margin:auto; }
.cv-stay-gallery { margin-bottom:38px; }
.cv-stay-gallery img { width:100%; max-height:560px; object-fit:cover; }
.cv-stay-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:58px; }
.cv-stay-description { font-size:17px; line-height:1.75; }
.cv-stay-contact,.cv-stay-details { padding:22px; background:var(--cv-sand); }
.cv-stay-contact .field__item { overflow-wrap:anywhere; word-break:break-word; }
.cv-stay-contact h2,.cv-stay-details h2 { margin-bottom:18px; font-size:1.7rem; color:var(--cv-green); }
.cv-stay-contact .field,.cv-stay-details .field { margin-bottom:12px; }
.cv-stay-details { margin-top:42px; }
.cv-footer { display:grid; grid-template-columns:minmax(260px,1.2fr) 2fr; gap:55px; width:100%; max-width:none; padding:52px max(40px,calc((100% - var(--cv-max))/2 + 40px)); background:var(--cv-green); color:rgba(255,247,232,.8); }
.cv-footer-brand img { margin-bottom:18px; }
.cv-footer :is(h2,h3,h4,a) { color:var(--cv-cream); }
.cv-footer :is(ul,ol) { list-style:none; }
.cv-footer .block { margin-bottom:18px; }
.cv-footer .menu { display:flex; flex-wrap:wrap; gap:12px 25px; }
@media (max-width:899px) { .cv-hero { grid-template-columns:1fr 300px; gap:28px; padding:54px 32px; min-height:430px; } .cv-hero h1 { font-size:4rem; } .cv-hero-orb { width:280px; } .cv-article-grid { grid-template-columns:repeat(2,1fr); } .cv-travel-types { grid-template-columns:1fr; gap:35px; padding:48px 32px; } .cv-layout.has-left,.cv-layout.has-right,.cv-layout.has-left.has-right { grid-template-columns:1fr; } .cv-layout > aside { order:2; } .cv-layout > aside:first-child { order:-1; } }
@media (max-width:599px) { body { font-size:15px; } .cv-utility { min-height:34px; padding:8px 16px; } .cv-utility > :not(:first-child) { display:none; } .cv-header { min-height:78px; padding:10px 16px; } .cv-brand img { width:45px; height:45px; } .cv-brand strong { font-size:1.32rem; } .cv-brand small { font-size:6px; } .cv-menu-toggle { display:block; z-index:2; } .cv-navigation { display:none; position:fixed; z-index:1; inset:0; padding:115px 28px 30px; background:var(--cv-green); } .cv-menu-open { overflow:hidden; } .cv-menu-open .cv-navigation { display:block; } .cv-navigation :is(ul,ol) { display:block; } .cv-navigation li { border-bottom:1px solid rgba(255,249,236,.28); } .cv-navigation a { display:block; padding:17px 0; color:var(--cv-cream); font:400 1.7rem Gloock,serif; } .cv-hero { display:block; min-height:auto; padding:42px 16px 35px; } .cv-hero h1 { font-size:3.25rem; } .cv-lead { font-size:16px; } .cv-pills { flex-wrap:nowrap; overflow:auto; margin-right:-16px; padding-right:16px; } .cv-pills span { white-space:nowrap; } .cv-hero-orb { width:270px; margin:32px auto 0; } .cv-section { padding:42px 16px 0; } .cv-section-title { align-items:start; flex-direction:column; gap:7px; margin-bottom:20px; } .cv-article-grid { display:flex; overflow:auto; gap:14px; margin-right:-16px; padding-right:16px; scroll-snap-type:x mandatory; } .cv-article-grid > * { flex:0 0 255px; scroll-snap-align:start; } .cv-travel-types { display:block; margin-top:43px; padding:42px 16px; } .cv-travel-types ol { display:block; margin-top:30px; } .cv-travel-types li { margin-top:0; padding:15px 0; border-width:1px 0 0; } .cv-stay-grid { display:flex; overflow:auto; gap:14px; margin-right:-16px; padding-right:16px; scroll-snap-type:x mandatory; } .cv-stay-grid > * { flex:0 0 258px; scroll-snap-align:start; } .cv-newsletter { display:block; margin-top:45px; padding:40px 16px; } .cv-newsletter > div:last-child { margin-top:26px; } .cv-main { padding:35px 16px 55px; } .cv-article-list .cv-article-card { grid-template-columns:104px minmax(0,1fr); } .cv-article-list .cv-card-image { min-height:104px; } .cv-article-list .cv-card-body { padding:11px; } .cv-article-list .cv-card-body p:not(.cv-kicker):not(.cv-meta) { display:none; } .cv-article-list h3 { font-size:1.2rem; } .cv-article-head,.cv-channel-head,.cv-stay > header { padding-bottom:28px; } .cv-article-hero { margin:0 -16px 30px; } .cv-article-body { font-size:16px; } .cv-stay-layout { display:block; } .cv-stay-contact { margin-top:30px; } .cv-footer { display:block; padding:38px 16px; } .cv-footer > * + * { margin-top:30px; } }

/* Full handoff integration. */
.cv-utility > div { display:flex; gap:24px; align-items:center; }
.cv-utility a { color:var(--cv-sun); text-decoration:none; }
.cv-guide-button,.cv-button-coral,.cv-button-outline,.cv-pills a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 22px; border-radius:999px; font-weight:700; text-decoration:none; }
.cv-guide-button,.cv-button-coral { background:var(--cv-coral); color:var(--cv-cream); }
.cv-guide-button:hover,.cv-button-coral:hover { background:#a02707; color:#fff; }
.cv-button-outline { border:1.5px solid var(--cv-green); color:var(--cv-green); }
.cv-pills a { background:var(--cv-cream); color:var(--cv-green); }
.cv-pills a:first-child { background:var(--cv-green); color:var(--cv-cream); }
.cv-hero { grid-template-columns:minmax(0,1fr) minmax(420px,560px); padding:64px 40px 68px; }
.cv-hero h1 { color:var(--cv-green); font-size:clamp(4rem,6vw,5.2rem); }
.cv-hero-visual { position:relative; width:100%; max-width:520px; justify-self:end; }
.cv-hero-visual > img { width:100%; aspect-ratio:1; border-radius:50%; object-fit:cover; object-position:center; }
.cv-location-card { position:absolute; left:-38px; bottom:34px; display:flex; align-items:center; gap:12px; padding:10px 16px; background:var(--cv-cream); box-shadow:0 16px 34px -18px rgba(11,81,56,.8); }
.cv-location-card img { width:34px; }
.cv-location-card b,.cv-location-card small { display:block; }
.cv-location-card small { font:9px "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.cv-section-title a { color:var(--cv-brick); font:500 10px "DM Mono",monospace; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; }
.cv-featured-layout { display:grid; grid-template-columns:1.55fr 1fr; gap:40px; }
.cv-featured .cv-article-card { border:0; background:transparent; }
.cv-featured-lead .cv-card-image { aspect-ratio:1.55; }
.cv-featured-lead .cv-card-body { padding:18px 0; }
.cv-featured-lead h3 { font-size:clamp(2rem,3vw,2.65rem); }
.cv-featured-briefs { display:grid; gap:0; }
.cv-featured-briefs .cv-article-card { display:grid; grid-template-columns:130px 1fr; gap:18px; padding:0 0 24px; margin-bottom:24px; border-bottom:1px solid var(--cv-line); }
.cv-featured-briefs .cv-card-image { aspect-ratio:1; }
.cv-featured-briefs .cv-card-body { padding:0; }
.cv-featured-briefs .cv-card-body p:not(.cv-kicker):not(.cv-meta) { display:none; }
.cv-featured-briefs h3 { font-size:1.4rem; }
.cv-travel-types { display:block; }
.cv-travel-types header { display:grid; grid-template-columns:1fr 1.2fr auto; align-items:end; gap:30px; margin-bottom:34px; }
.cv-travel-types header h2 { font-size:2.7rem; }
.cv-travel-types header p { color:rgba(255,247,232,.78); }
.cv-travel-types header a { color:var(--cv-sun); font:10px "DM Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }
.cv-stay-card .cv-card-image { aspect-ratio:1.7; }
.cv-guide { display:grid; grid-template-columns:400px 1fr; gap:60px; align-items:center; max-width:var(--cv-max); margin:78px auto 0; padding:62px 40px; background:var(--cv-sand); }
.cv-guide-cover { position:relative; width:344px; min-height:470px; padding:24px; background:var(--cv-sun); box-shadow:0 18px 35px -24px var(--cv-green); }
.cv-guide-cover > img:first-child { width:44px; }
.cv-guide-cover > p { position:absolute; top:26px; right:24px; font:9px "DM Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }
.cv-guide-cover h2 { margin:24px 0 12px; color:var(--cv-green); font-size:2.15rem; }
.cv-guide-cover h2 em { display:block; color:var(--cv-brick); font-family:Caveat,cursive; }
.cv-guide-cover > b { display:inline-block; padding:6px 11px; background:var(--cv-green); color:#fff; font-size:10px; text-transform:uppercase; }
.cv-guide-cover-photo { width:100%; height:190px; margin-top:20px; object-fit:cover; }
.cv-guide-copy h2 { max-width:760px; margin:10px 0 24px; color:var(--cv-green); font-size:clamp(2.6rem,4vw,3.4rem); }
.cv-guide-copy ul { display:grid; gap:12px; margin:0 0 28px 20px; }
.cv-guide-copy > div { display:flex; align-items:center; gap:18px; }
.cv-guide-copy > div img { width:88px; height:88px; border-radius:50%; object-fit:cover; }
.cv-guide-copy > div span { max-width:170px; font-size:13px; }
.cv-about { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; max-width:var(--cv-max); margin:auto; padding:76px 40px; }
.cv-about-collage { display:grid; grid-template-columns:230px 1fr; grid-template-rows:330px 190px; gap:12px; }
.cv-about-main { grid-column:1/3; width:100%; height:100%; object-fit:cover; }
.cv-about-small { width:100%; height:100%; object-fit:cover; }
.cv-about-collage > div { display:flex; flex-direction:column; justify-content:end; padding:22px; background:var(--cv-sun); color:var(--cv-green); }
.cv-about-collage b { font:3rem Gloock,serif; }
.cv-about-collage small { font:9px "DM Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }
.cv-about-copy h2 { margin:8px 0 22px; color:var(--cv-green); font-size:3.2rem; }
.cv-about-copy p { margin-bottom:16px; }
.cv-about-copy em { display:block; margin:18px 0; color:var(--cv-green); font:2.4rem Caveat,cursive; }
.cv-instagram > div { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.cv-instagram > div a { display:block; overflow:hidden; aspect-ratio:1; }
.cv-instagram > div img { width:100%; aspect-ratio:1; object-fit:cover; }
.cv-newsletter { max-width:var(--cv-max); }
.cv-newsletter-form form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.cv-newsletter-form .form-item { margin:0; }
.cv-newsletter-form label,.cv-newsletter-form .description { display:none; }
.cv-newsletter-form input[type=email],.cv-newsletter-form input[type=text] { width:100%; min-height:52px; padding:12px 20px; border:0; border-radius:999px; background:var(--cv-cream); }
.cv-newsletter-form :is(input[type=submit],button[type=submit]) { min-height:52px; padding:12px 25px; border:0; border-radius:999px; background:var(--cv-green); color:#fff; font-weight:700; }
.cv-newsletter-form .form-item-consent { grid-column:1/-1; }
.cv-newsletter-form .form-item-consent label {
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:var(--cv-text);
  font-size:11px;
  line-height:1.4;
}
.cv-newsletter-form .form-item-consent input { flex:0 0 auto; margin-top:2px; }
.view-taxonomy-term > .view-header:has(.cv-channel--full) ~ .view-content { display:none; }
.cv-comments input,.cv-comments select,.cv-comments textarea { max-width:100%; }
.cv-footer { grid-template-columns:1.4fr repeat(3,1fr); }
.cv-footer-brand > div { display:flex; align-items:center; gap:12px; }
.cv-footer-brand strong { color:var(--cv-cream); font:1.7rem Gloock,serif; }
.cv-footer .cv-kicker { margin-bottom:14px; color:var(--cv-sun); }
.cv-footer .menu { display:block; }
.cv-footer li { margin-bottom:8px; }
.cv-guide-bar { position:fixed; z-index:30; left:50%; bottom:0; display:none; align-items:center; justify-content:center; gap:25px; width:min(100%,1440px); padding:12px 25px; transform:translateX(-50%); background:var(--cv-coral); color:#fff; }
.cv-guide-bar.is-visible { display:flex; }
.cv-guide-bar a { padding:8px 17px; border-radius:999px; background:var(--cv-cream); color:var(--cv-coral); font-weight:700; text-decoration:none; }
.cv-guide-bar button { position:absolute; right:15px; border:0; background:transparent; color:#fff; font-size:22px; }

/* Desktop bands: full-bleed backgrounds with content kept on the 1440px grid. */
@media (min-width:900px) {
  .cv-hero,
  .cv-travel-types,
  .cv-guide,
  .cv-channel-head,
  .cv-quiz-hero,
  .cv-newsletter {
    position:relative;
    isolation:isolate;
    background:transparent;
  }
  .cv-hero::before,
  .cv-travel-types::before,
  .cv-guide::before,
  .cv-channel-head::before,
  .cv-quiz-hero::before,
  .cv-newsletter::before {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    box-shadow:0 0 0 100vmax var(--cv-band-color);
    clip-path:inset(0 -100vmax);
    background:var(--cv-band-color);
  }
  .cv-hero,
  .cv-channel-head,
  .cv-quiz-hero,
  .cv-newsletter { --cv-band-color:var(--cv-sun); }
  .cv-travel-types { --cv-band-color:var(--cv-green); }
  .cv-guide { --cv-band-color:var(--cv-sand); }
  .cv-guide-bar {
    left:0;
    width:100%;
    transform:none;
  }
}

/* Category. */
.cv-channel-head { display:grid; grid-template-columns:1fr 430px; gap:60px; max-width:none; margin:-54px -40px 54px; padding:60px 40px; background:var(--cv-sun); }
.cv-channel-head h1 { color:var(--cv-green); font-size:clamp(3.8rem,6vw,4.8rem); }
.cv-breadcrumb { margin-bottom:20px; font:10px "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.cv-essential { padding:28px; border:1.5px solid var(--cv-ink); background:var(--cv-cream); }
.cv-essential ol { display:grid; gap:14px; margin:18px 0 0 22px; }
.cv-channel-layout { display:grid; grid-template-columns:minmax(0,1fr) 344px; gap:55px; }
.cv-filters { display:flex; gap:8px; overflow:auto; margin-bottom:28px; padding-bottom:16px; border-bottom:1.5px solid var(--cv-ink); }
.cv-filters a { flex:none; padding:8px 14px; border:1px solid var(--cv-green); border-radius:999px; color:var(--cv-green); font-size:12px; text-decoration:none; }
.cv-filters a.is-active { background:var(--cv-green); color:#fff; }
.cv-channel-featured .cv-article-card { display:grid; grid-template-columns:1.2fr 1fr; border:0; background:transparent; }
.cv-channel-featured .cv-card-image { min-height:360px; }
.cv-channel-featured .cv-card-body { padding:28px; background:#fff; }
.cv-channel-featured h3 { font-size:2.2rem; }
.cv-channel-main > .cv-article-list { margin-top:34px; }
.cv-channel-sidebar { display:grid; align-content:start; gap:22px; }
.cv-channel-sidebar section,.cv-article-sidebar section { padding:26px; }
.cv-side-bio { background:var(--cv-green); color:var(--cv-cream); }
.cv-side-bio img { width:42px; margin-bottom:18px; }
.cv-side-bio :is(h2,a) { color:var(--cv-cream); }
.cv-side-bio h2,.cv-side-guide h2,.cv-side-quiz h2 { margin:8px 0 15px; font-size:1.8rem; }
.cv-side-bio .cv-kicker { color:var(--cv-sun); }
.cv-side-guide { background:var(--cv-sun); }
.cv-side-guide img { width:100%; aspect-ratio:1.3; margin:14px 0; object-fit:cover; }
.cv-side-quiz { border:1.5px solid var(--cv-ink); }
.cv-side-sections { background:var(--cv-sand); }
.cv-side-sections ol { list-style:none; }
.cv-side-sections li { display:grid; grid-template-columns:35px 1fr; gap:10px; padding:11px 0; border-bottom:1px solid var(--cv-line); }
.cv-side-sections span { color:var(--cv-green); font:1.3rem Gloock,serif; }
.cv-pagination { display:flex; justify-content:space-between; gap:12px; margin-top:34px; padding-top:20px; border-top:1px solid var(--cv-line); }

/* Article. */
.cv-article { max-width:none; margin:-54px -40px 0; }
@media (min-width:900px) {
  .cv-main--article {
    width:100%;
    max-width:none;
    padding-inline:0;
  }
  .cv-main--article .cv-article {
    width:100%;
    margin:-54px 0 0;
  }
}
.cv-article-head { max-width:none; margin:0; padding:56px max(40px,calc((100% - 1040px)/2)) 48px; background:var(--cv-sun); }
.cv-article-head h1 { max-width:980px; color:var(--cv-green); font-size:clamp(3.4rem,5.5vw,4.3rem); }
.cv-article-intro { margin-top:20px; }
.cv-author-line { display:flex; align-items:center; gap:13px; max-width:780px; margin-top:28px; }
.cv-author-line img { width:52px; height:52px; border-radius:50%; object-fit:cover; }
.cv-author-line div { margin-right:auto; }
.cv-author-line b,.cv-author-line span { display:block; }
.cv-author-line span { color:var(--cv-muted); font:9px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.cv-article-hero { max-width:1200px; margin:0 auto 54px; }
.cv-article-hero img { max-height:520px; }
.cv-article-hero figcaption { padding-top:7px; color:var(--cv-muted); text-align:right; font:9px "DM Mono",monospace; text-transform:uppercase; }
.cv-article-layout { display:grid; grid-template-columns:210px minmax(0,720px) 300px; justify-content:center; gap:38px; padding:0 40px; }
.cv-toc,.cv-article-sidebar { align-self:start; position:sticky; top:24px; }
.cv-toc > button { display:none; }
.cv-toc nav ol { list-style:none; margin-top:14px; }
.cv-toc nav a { display:block; padding:8px 10px; border-left:3px solid var(--cv-line); font-size:12px; text-decoration:none; }
.cv-toc nav a.is-active { border-color:var(--cv-green); color:var(--cv-green); font-weight:700; }
.cv-share { display:flex; align-items:center; gap:8px; margin-top:22px; }
.cv-share span { font-size:11px; }
.cv-share a { display:grid; width:36px; height:36px; place-items:center; border:1px solid var(--cv-green); border-radius:50%; text-decoration:none; }
.cv-article-sidebar { display:grid; gap:20px; }
.cv-article-body { margin:0; }
.cv-article-body .paragraph--type--quote,.cv-article-body blockquote { margin:30px 0; padding:22px 25px; border-left:5px solid var(--cv-sun); background:var(--cv-sand); }
.cv-article-body table { width:100%; border-collapse:collapse; }
.cv-article-body :is(td,th) { padding:12px; border-bottom:1px solid var(--cv-sand); }
.cv-author-box { display:grid; grid-template-columns:190px 1fr; gap:28px; max-width:720px; margin:70px auto 0; padding:28px; background:var(--cv-sand); }
.cv-author-box img { width:100%; height:100%; object-fit:cover; }
.cv-author-box h2 { margin:7px 0 12px; color:var(--cv-green); }
.cv-author-box em { color:var(--cv-green); font:2rem Caveat,cursive; }
.cv-related { max-width:1180px; margin:75px auto 0; }
.cv-related > div { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

@media (max-width:1100px) {
  .cv-guide-button { display:none; }
  .cv-article-layout { grid-template-columns:180px minmax(0,1fr); }
  .cv-article-sidebar { display:none; }
  .cv-channel-layout { grid-template-columns:minmax(0,1fr) 290px; }
}
@media (max-width:899px) {
  .cv-hero { grid-template-columns:1fr 360px; }
  .cv-featured-layout,.cv-guide,.cv-about,.cv-channel-head,.cv-channel-layout { grid-template-columns:1fr; }
  .cv-guide-cover { margin:auto; }
  .cv-channel-sidebar { grid-template-columns:repeat(2,1fr); }
  .cv-article-layout { grid-template-columns:1fr; }
  .cv-toc { position:static; }
  .cv-toc > button { display:block; width:100%; padding:12px; border:0; background:var(--cv-green); color:#fff; }
  .cv-toc nav { display:none; padding:20px; background:var(--cv-green); color:#fff; }
  .cv-toc.is-open nav { display:block; }
  .cv-toc nav a { color:#fff; border-color:rgba(255,255,255,.3); }
}
@media (max-width:599px) {
  .cv-header { position:sticky; top:0; z-index:20; }
  .cv-utility--article { display:none; }
  .cv-header--article { min-height:64px; padding:8px 16px; }
  .cv-header--article .cv-brand { gap:8px; }
  .cv-header--article .cv-brand img { width:34px; height:34px; }
  .cv-header--article .cv-brand strong { font-size:1.12rem; }
  .cv-header--article .cv-brand small { display:none; }
  .cv-header--article .cv-menu-toggle,.cv-header--article .cv-navigation,.cv-header--article .cv-guide-button { display:none; }
  .cv-header--article .cv-header-toc { display:block; padding:9px 14px; border-radius:999px; background:var(--cv-green); color:#fff; font-size:12px; font-weight:700; text-decoration:none; }
  .cv-hero { padding:40px 16px; }
  .cv-hero h1 { font-size:2.9rem; }
  .cv-hero-visual { margin-top:32px; }
  .cv-location-card { left:0; bottom:10px; }
  .cv-pills a { flex:none; }
  .cv-featured-layout { display:block; }
  .cv-featured-lead { margin-bottom:28px; }
  .cv-featured-briefs .cv-article-card { grid-template-columns:104px 1fr; }
  .cv-travel-types header { display:block; }
  .cv-travel-types header p { margin:14px 0; }
  .cv-guide { margin-top:45px; padding:35px 16px; }
  .cv-guide-cover { width:100%; min-height:430px; }
  .cv-guide-copy h2 { font-size:2.35rem; }
  .cv-guide-copy > div { flex-wrap:wrap; }
  .cv-about { padding:45px 16px; }
  .cv-about-collage { grid-template-columns:148px 1fr; grid-template-rows:240px 150px; }
  .cv-about-copy h2 { font-size:2.5rem; }
  .cv-instagram > div { grid-template-columns:repeat(2,1fr); }
  .cv-newsletter-form form { grid-template-columns:1fr; }
  .cv-newsletter-form .form-actions,.cv-newsletter-form .form-item-consent { grid-column:1; }
  .cv-newsletter-form :is(input[type=submit],button[type=submit]) { width:100%; }
  .cv-guide-bar { justify-content:flex-start; padding-right:48px; font-size:12px; }
  .cv-guide-bar span { display:none; }
  .cv-channel-head { margin:-35px -16px 35px; padding:38px 16px; }
  .cv-channel-head h1 { font-size:2.3rem; overflow-wrap:anywhere; }
  .cv-channel-head .cv-lead { font-size:16px; line-height:1.55; }
  .cv-channel-main,.cv-channel-sidebar { min-width:0; }
  .cv-essential { padding:23px 20px; }
  .cv-essential ol { padding-left:22px; }
  .cv-filters { margin-right:-16px; padding-right:16px; scrollbar-width:thin; }
  .cv-channel-sidebar { display:block; }
  .cv-channel-sidebar section { margin-top:18px; }
  .cv-channel-featured .cv-article-card { display:block; }
  .cv-channel-featured .cv-card-image { min-height:230px; }
  .cv-article-list .cv-article-card { display:block; }
  .cv-article-list .cv-card-image {
    width:100%;
    min-width:0;
    height:190px;
    min-height:190px;
    aspect-ratio:auto;
  }
  .cv-article-list .cv-card-image :is(img,picture) { width:100%; height:100%; object-fit:cover; }
  .cv-article-list .cv-card-body { min-width:0; padding:18px; }
  .cv-article-list .cv-card-body p:not(.cv-kicker):not(.cv-meta) {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .cv-article-list h3 { font-size:1.55rem; overflow-wrap:anywhere; }
  .cv-article { margin:-35px -16px 0; }
  .cv-article-head { padding:38px 16px; }
  .cv-article-head h1 { font-size:2.25rem; overflow-wrap:anywhere; }
  .cv-article-intro { font-size:17px; line-height:1.55; }
  .cv-author-line > span { display:none; }
  .cv-author-line { padding:12px; border:1px solid var(--cv-ink); background:var(--cv-cream); }
  .cv-article-layout { padding:0 16px; }
  .cv-article-layout > .cv-toc { order:0; }
  .cv-toc:target nav { display:block; }
  .cv-article-body { min-width:0; overflow-wrap:anywhere; }
  .cv-article-body pre,.cv-article-body table { display:block; max-width:100%; overflow-x:auto; }
  .cv-article-body .jumbotron { margin:28px 0; padding:25px 20px; border-left-width:4px; }
  .cv-article-body .jumbotron h2 { font-size:2rem; line-height:1.08; }
  .cv-article-body .jumbotron p { font-size:16px; }
  .cv-article-body .jumbotron :is(ul,ol) { padding-left:1.25em; }
  .cv-author-box { grid-template-columns:96px 1fr; margin:45px 16px 0; padding:18px; }
  .cv-comments,.cv-related { margin:50px 16px 0; }
  .cv-comments .comment { display:block; }
  .cv-comments .comment__meta { display:flex; align-items:center; gap:12px; padding:14px 16px; }
  .cv-comments .comment__meta img { flex:0 0 42px; width:42px; height:42px; margin:0; }
  .cv-comments .comment > .content { padding:18px 16px; }
  .cv-comments .indented { margin-left:14px; padding-left:10px; border-left:3px solid var(--cv-sun); }
  .cv-comments .comment-form { padding:21px 16px; }
  .cv-quiz-hero { display:block; margin:-35px -16px 35px; padding:30px 16px 34px; }
  .cv-quiz-hero img { max-width:330px; margin:auto; }
  .cv-quiz-hero h1 { margin-top:9px; font-size:2.55rem; }
  .cv-related > div { display:flex; overflow:auto; scroll-snap-type:x mandatory; }
  .cv-related .cv-article-card { flex:0 0 258px; scroll-snap-align:start; }
  .cv-stay-gallery { display:flex; overflow:auto; gap:10px; margin-right:-16px; }
  .cv-stay-gallery img,.cv-stay-gallery img:first-child { flex:0 0 85%; width:85%; height:250px; }
  .view-listehebergements .row { margin-right:0; margin-left:0; }
  .view-listehebergements .row > [class*="col"] {
    width:100%;
    max-width:100%;
    padding-right:0;
    padding-left:0;
  }
}
@media (max-width:340px) {
  .cv-brand { gap:8px; }
  .cv-brand img { width:40px; height:40px; }
  .cv-brand strong { font-size:1.08rem; white-space:nowrap; }
}
