@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--forest:#1f3c33;--sage:#457366;--muted:#627c70;--gold:#b18b5e;--line:#d8e4dd;--paper:#fcfdfa;--bg:#e9f1eb;--sans:'DM Sans',system-ui,sans-serif;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(125deg,#dfece6,#edf2eb 48%,#e4eff0);color:var(--forest);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body:before{content:'';position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 4% 5%,#9ed1bd38,transparent 46%),radial-gradient(ellipse at 95% 85%,#badbcf65,transparent 48%);filter:blur(28px)}
a{color:#2f6a59;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:#194835}.wrap{max-width:1090px;margin:auto;padding:15px 18px 60px}.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 5px 20px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.nav strong{color:#225947}.nav a{text-transform:none;letter-spacing:0}
.paper{background:#fcfdfbf2;border:1px solid #fff;border-radius:26px;box-shadow:0 24px 80px #3b645019;overflow:hidden}.head{text-align:center;padding:58px 8% 28px}.kicker{font-size:.72rem;letter-spacing:.25em;font-weight:700;color:var(--sage);margin-bottom:17px}.ornament{color:var(--gold);font-size:1.55rem;margin-bottom:9px}.head h1{font:500 clamp(2.3rem,5.8vw,4.55rem)/1.14 var(--serif);letter-spacing:-.035em;max-width:790px;margin:0 auto 17px}.deck{max-width:700px;font:italic 400 clamp(1.07rem,2vw,1.38rem)/1.58 var(--serif);color:#537265;margin:0 auto}.meta{font-size:.7rem;letter-spacing:.14em;color:#789083;text-transform:uppercase;margin-top:20px}.rule{display:block;background:var(--gold);width:55px;height:2px;margin:22px auto 0}
.preview{margin:0;padding:12px 8%;color:#637b6f;background:#edf3ed;border-top:1px solid #e0e8e1;border-bottom:1px solid #e0e8e1;font-size:.74rem;line-height:1.6}
figure{margin:0}.hero img{width:100%;max-height:560px;aspect-ratio:1.94;object-fit:cover;display:block;background:linear-gradient(145deg,#aecabc,#e0e9e0,#85b1a7)}.credit{padding:9px 12px 0;font-size:.71rem;line-height:1.5;color:var(--muted)}.hero .credit{padding:9px 8% 0}
.prose{max-width:800px;margin:auto;padding:0 38px}.intro{padding-top:31px}.intro p{font-size:1.12rem;line-height:1.84}.drop:first-letter{float:left;font:500 4.45rem/.86 var(--serif);color:#2c715a;margin:.08em .12em 0 0}.intro p,.body p{margin:0 0 17px}.body p{font-size:1.025rem;line-height:1.86}.quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:27px 0 34px;padding:20px 17px;background:#edf3eb;border:1px solid var(--line);border-radius:17px}.quick div{text-align:center;border-right:1px solid #c9dbd2;padding:0 10px}.quick div:last-child{border:0}.quick strong{display:block;color:#265746;letter-spacing:.1em;font-size:.77rem}.quick span{display:block;font-size:.75rem;color:#526e62;margin-top:8px;line-height:1.5}
.section{padding-top:31px}.section h2{font:500 clamp(1.8rem,3vw,2.32rem)/1.25 var(--serif);letter-spacing:-.025em;margin:0 0 15px}.section h2:before{content:'✦';display:block;font-size:.54em;color:var(--gold);margin-bottom:9px}.image-box{margin:28px 0 34px}.image-box img,.duo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:linear-gradient(145deg,#aac5b9,#eaf0e6,#bdd4c4);border-radius:13px}.image-box .credit,.duo .credit{padding:8px 0 0}.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:27px 0 33px}.duo figure:nth-child(2) img{aspect-ratio:4/5}.duo figure:first-child img{aspect-ratio:4/5}.wide{margin:30px auto 35px;max-width:800px}.wide img{width:100%;max-height:485px;object-fit:cover;aspect-ratio:16/9;display:block;background:linear-gradient(120deg,#b4cdc1,#ebf1eb);border-radius:14px}
.insight{margin:23px 0 25px;padding:20px 24px;border-left:3px solid var(--gold);background:#f2f2e9;border-radius:0 14px 14px 0}.eyebrow{color:#846a4e;letter-spacing:.14em;font-weight:700;text-transform:uppercase;font-size:.72rem}.insight p{font:italic 400 1.04rem/1.7 var(--serif);margin:10px 0 0}.itinerary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.day{padding:19px 22px;background:#eaf3ed;border:1px solid var(--line);border-radius:15px}.day .eyebrow{color:#2a6a58}.day h3{font:500 1.38rem/1.2 var(--serif);margin:8px 0 10px}.day p{font-size:.88rem;line-height:1.64;margin:0}.prices{margin:22px 0 10px;border-collapse:collapse;width:100%;font-size:.88rem;line-height:1.6}.prices th{text-align:left;background:#dcebe1;color:#254c3e;padding:12px;border:1px solid #cdded4}.prices td{padding:12px;border:1px solid #d5e1d9;vertical-align:top}.prices tr:nth-child(odd) td{background:#f4f7f3}.note{font-size:.77rem!important;color:#688075;line-height:1.55!important}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.choice{background:#f1f5ef;padding:16px 17px;border-radius:12px;border:1px solid #d8e6dc}.choice strong{font-size:.84rem;color:#285b4b}.choice span{display:block;font-size:.78rem;line-height:1.55;margin-top:6px;color:#597466}.closing{margin:37px auto;text-align:center;font:italic 500 clamp(1.3rem,2.5vw,1.75rem)/1.5 var(--serif);color:#346657;max-width:620px}.map{padding:16px 8% 38px}.map h2{font:500 2rem/1.25 var(--serif)}.map iframe{width:100%;height:310px;border:1px solid var(--line);border-radius:15px}.map p{font-size:.82rem;line-height:1.7}.footer{padding:21px 8% 35px;background:#f2f6f1;border-top:1px solid #d7e4da;color:#5d7466;font-size:.74rem;line-height:1.7}.footer details{margin-top:14px}.footer li{margin-bottom:7px}.last-photo{padding:10px 8% 0}.last-photo img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:14px;display:block;background:#bfd1c4}
@media(max-width:700px){.wrap{padding:0 0 38px}.paper{border-radius:0}.nav{padding:14px 16px}.head{padding:40px 22px 27px}.head h1{font-size:clamp(2.25rem,10.5vw,3rem)}.hero img{aspect-ratio:5/4}.prose{padding:0 21px}.intro{padding-top:25px}.intro p{font-size:1.015rem;line-height:1.78}.body p{font-size:.98rem;line-height:1.78}.quick{padding:15px 9px;gap:3px}.quick div{padding:0 4px}.quick strong{font-size:.67rem}.quick span{font-size:.67rem}.section{padding-top:20px}.section h2{font-size:1.8rem}.duo{gap:9px}.credit{font-size:.64rem;line-height:1.6}.duo .credit{font-size:.6rem}.itinerary{grid-template-columns:1fr}.choices{grid-template-columns:1fr 1fr;gap:8px}.choice{padding:11px}.prices{font-size:.75rem}.prices th,.prices td{padding:8px}.map{padding:14px 21px 32px}.map iframe{height:245px}.last-photo{padding:10px 21px 0}.footer{padding:20px 21px 30px}.drop:first-letter{font-size:3.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* BA BE BUDGET V6 — the comparison is readable at 390px and doesn't overrun the page. */
.budget-section{margin:5px 0 7px}
.budget-scroll{width:100%;overflow-x:auto;margin:20px 0 12px}
.budget-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.88rem;line-height:1.5;border:1px solid #c9dbd0;border-radius:13px;overflow:hidden}
.budget-table th,.budget-table td{padding:14px 12px;text-align:left;border-bottom:1px solid #d5e5db;vertical-align:middle}
.budget-table thead th{background:#e3eee6;color:#244c3b;font-size:.79rem;letter-spacing:.02em}
.budget-table tbody th{font-weight:700;background:#f1f6f0;color:#315746}
.budget-table tbody td{background:#fff}
.budget-table tr:last-child td,.budget-table tr:last-child th{border-bottom:0}
.budget-table small{display:block;font-weight:400;margin-top:2px;color:#5b7367;font-size:.74rem}
.budget-table strong{white-space:nowrap;color:#254d3f}
.budget-subnote{font-size:.88rem!important;line-height:1.67!important}
.budget-breakdown{border:1px solid #d4e2d7;border-radius:12px;padding:13px 16px;margin:14px 0;background:#f8faf7}
.budget-breakdown summary{cursor:pointer;font-weight:700;color:#285747;font-size:.85rem;line-height:1.5}
.budget-breakdown-content{padding-top:12px}
.budget-breakdown-content p{font-size:.84rem!important;line-height:1.65!important;margin-bottom:8px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.budget-table{font-size:.74rem}.budget-table thead th{font-size:.68rem}.budget-table th,.budget-table td{padding:10px 7px}.budget-table small{font-size:.66rem}.budget-breakdown{padding:12px}.budget-subnote{font-size:.82rem!important}}

/* V7 editorial legibility polish */
.meta{color:#4a6458}.credit{color:#4d6659}.footer{color:#4e695a}.preview{color:#435f51}.budget-section > p:first-of-type{margin-bottom:16px}
@media(max-width:700px){.choices{grid-template-columns:1fr 1fr}.choice span{font-size:.79rem;line-height:1.6}.footer{font-size:.8rem}.meta{font-size:.75rem;letter-spacing:.05em}.preview{font-size:.79rem}}


/* V9 FULL-FRAME PHOTO FIX — native aspect ratio, no cropping, no squeezing. */
.paper .hero img,
.paper .image-box img,
.paper .duo figure img,
.paper .duo figure:first-child img,
.paper .duo figure:nth-child(2) img,
.paper .wide img,
.paper .last-photo img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  background: #e4eee7;
}
.paper .hero,
.paper .image-box,
.paper .duo figure,
.paper .last-photo {overflow: visible;}
.paper .hero img {border-radius: 0;}
.paper .duo {align-items: start;gap:20px;}
.paper .duo figure {min-width:0;}
.paper .duo figure img {border-radius:14px;}
.paper .image-box.portrait-photo {max-width: 490px; margin-left:auto; margin-right:auto;}
.paper .image-box.portrait-photo img {max-width:490px;}
.paper .last-photo {margin-top:20px;}
@media (max-width: 700px) {
  .paper .duo {grid-template-columns: minmax(0,1fr);gap:26px;}
  .paper .duo figure img {width:100%;}
  .paper .hero img {height:auto;}
  .paper .image-box.portrait-photo {max-width: 100%;}
}
