@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Montserrat:wght@400;500;600;700&display=swap');
:root{--cream:#fbf6ee;--paper:#fffdf9;--ink:#263f3e;--muted:#657876;--mint:#9ebfba;--mint-soft:#dceae7;--rose:#d88f88;--rose-soft:#f2dcd7;--gold:#bd9254;--line:#dbc7a8;--shadow:0 22px 60px rgba(51,72,69,.12);--serif:"Cormorant Garamond",Georgia,serif;--sans:Montserrat,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.7;font-size:16px}img{display:block;max-width:100%}a{color:inherit}.topbar{position:sticky;top:0;z-index:50;height:76px;padding:9px clamp(18px,4vw,60px);display:flex;align-items:center;gap:28px;background:rgba(251,246,238,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(189,146,84,.35)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--serif);font-size:1.35rem;font-weight:600;white-space:nowrap}.brand img{width:54px;height:54px;object-fit:cover;border-radius:50%;border:1px solid var(--mint)}nav{display:flex;gap:23px;margin-left:auto}nav a{text-decoration:none;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}nav a:hover{color:var(--rose)}.download{background:var(--rose);color:white;text-decoration:none;border-radius:999px;font-weight:700}.download.mini{padding:10px 16px;font-size:.75rem;white-space:nowrap}.hero{position:relative;min-height:calc(100vh - 76px);display:flex;align-items:flex-end;overflow:hidden;background:#203b3a;color:white}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(19,47,46,.89) 0%,rgba(19,47,46,.55) 48%,rgba(19,47,46,.08) 82%),linear-gradient(0deg,rgba(17,38,37,.55),transparent 55%)}.hero-copy{position:relative;z-index:2;width:min(740px,90%);padding:clamp(72px,10vw,130px) clamp(24px,7vw,100px)}.overline,.kicker,.eyebrow{margin:0 0 15px;text-transform:uppercase;letter-spacing:.22em;font-size:.73rem;font-weight:700;color:var(--rose)}.hero h1{font:600 clamp(4rem,11vw,9.2rem)/.72 var(--serif);letter-spacing:-.055em;margin:0;text-wrap:balance}.hero h1 em{font-weight:500;color:#f3d9d4}.intro{font-size:clamp(1rem,1.5vw,1.25rem);max-width:630px;margin:35px 0;color:#f5efea}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;text-decoration:none;border-radius:999px;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;transition:.2s}.button.primary{background:var(--rose);color:white;box-shadow:0 14px 34px rgba(117,53,48,.25)}.button.glass{border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.08);color:white}.button:hover{transform:translateY(-2px)}.hero-note{position:absolute;right:clamp(20px,5vw,70px);bottom:44px;z-index:3;padding:18px 24px;background:rgba(251,246,238,.93);color:var(--ink);border:1px solid var(--gold);box-shadow:var(--shadow)}.hero-note strong,.hero-note span{display:block}.hero-note strong{font:600 1.45rem var(--serif)}.hero-note span{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.section{padding:clamp(72px,8vw,120px) clamp(22px,6vw,90px)}.section-head{max-width:820px;margin:0 auto 52px;text-align:center}.section-head h2,.brand-copy h2,.download-panel h2,.contact h2{font:600 clamp(2.7rem,5vw,5.2rem)/.95 var(--serif);letter-spacing:-.035em;margin:0 0 20px;text-wrap:balance}.section-head p:last-child{color:var(--muted);max-width:760px;margin:0 auto}.brand-story{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,90px);align-items:center}.brand-art{padding:10px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);transform:rotate(-1deg)}.brand-copy p:not(.kicker){color:var(--muted)}.signature{font:italic 500 1.75rem var(--serif);color:var(--rose);margin-top:30px}.route{background:var(--paper);border-block:1px solid rgba(189,146,84,.35)}.route-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.route-grid article{position:relative;background:var(--cream);border:1px solid var(--line);padding:28px 24px;min-height:220px;transition:.25s}.route-grid article:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.route-grid b{font:600 2.8rem var(--serif);color:var(--rose-soft)}.route-grid h3{font:600 1.6rem var(--serif);margin:4px 0 8px}.route-grid p{font-size:.89rem;color:var(--muted)}.route-grid span{display:block;margin-top:17px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--rose);font-weight:700}.hotels{max-width:1300px;margin:auto}.hotel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.hotel{padding:34px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 36px rgba(51,72,69,.06)}.hotel.featured{background:var(--ink);color:white}.badge,.level{display:inline-block;color:var(--rose);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;margin-bottom:15px}.badge{background:var(--rose);color:white;padding:7px 11px}.hotel h3{font:600 2rem/1.05 var(--serif);margin:0 0 15px}.hotel p,.hotel li{font-size:.9rem}.hotel ul{padding-left:18px}.hotel li+li{margin-top:9px}.hotel small{color:var(--mint);text-transform:uppercase;letter-spacing:.1em}.tip{max-width:980px;margin:28px auto 0;padding:18px 22px;background:var(--mint-soft);border-left:4px solid var(--mint)}.days{background:linear-gradient(180deg,#f8f0e5,#fffdf9)}.days>.section-head{margin-bottom:70px}.day{max-width:1260px;margin:0 auto 75px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);background:var(--paper);box-shadow:var(--shadow);border:1px solid var(--line);overflow:hidden}.day.reverse{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}.day.reverse .day-image{order:2}.day-image{position:relative;min-height:680px;background:var(--mint-soft)}.day-image>img,.day-image>div img{width:100%;height:100%;object-fit:cover}.day-image span{position:absolute;top:24px;left:24px;background:var(--rose);color:white;padding:9px 15px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700}.day-content{padding:clamp(32px,5vw,64px)}.day-content>h2{font:600 clamp(2.7rem,4vw,4.6rem)/.92 var(--serif);letter-spacing:-.035em;margin:0 0 28px}.timeline{border-block:1px solid var(--line);padding:13px 0}.timeline p{display:grid;grid-template-columns:78px 1fr;gap:12px;margin:0;padding:8px 4px;border-bottom:1px dotted rgba(189,146,84,.4);font-size:.88rem}.timeline p:last-child{border:0}.timeline time{color:var(--rose);font-weight:700}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.two-cols h3{font:600 1.4rem var(--serif);margin:0 0 8px}.two-cols ul{padding-left:18px;margin:0}.two-cols li{font-size:.86rem}.recommend{background:var(--ink);color:white;padding:20px 22px;margin-top:24px}.recommend b{display:block;color:var(--mint);text-transform:uppercase;letter-spacing:.13em;font-size:.7rem}.recommend p{font-size:.85rem;margin:6px 0 0}.recommend a{color:#f2c1bb;font-weight:700}.accent-day .day-image:after{content:"";position:absolute;inset:0;border:12px solid rgba(255,255,255,.6);pointer-events:none}.split-image .day-image{display:grid;grid-template-rows:1fr 1fr;gap:4px}.transport{max-width:1300px;margin:auto}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:760px}th{background:var(--ink);color:white;text-align:left;padding:17px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}td{padding:15px 17px;border-bottom:1px solid var(--line);font-size:.88rem}tr:nth-child(even){background:#f7efe7}tr.highlight{background:var(--mint-soft)}.transport-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.transport-cards article{padding:28px;border:1px solid var(--line);background:var(--paper)}.transport-cards h3{font:600 1.8rem var(--serif);margin:0 0 10px}.transport-cards p{font-size:.88rem;color:var(--muted);margin:0}.civitatis{background:var(--ink);color:white}.civitatis .section-head p:last-child{color:#c2d1cf}.activity-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.activity-grid a{padding:28px;min-height:260px;text-decoration:none;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.05);transition:.25s}.activity-grid a:hover{background:var(--rose);transform:translateY(-3px)}.activity-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:var(--mint);font-weight:700}.activity-grid h3{font:600 1.75rem/1.05 var(--serif);margin:25px 0 12px}.activity-grid p{font-size:.85rem;color:#d5dfdd}.download-panel{max-width:1200px;margin:auto;display:grid;grid-template-columns:150px 1fr auto;gap:34px;align-items:center}.download-panel img{width:150px;height:150px;object-fit:cover;border-radius:50%;border:2px solid var(--mint)}.download-panel p{color:var(--muted);margin:0}.download-panel h2{font-size:clamp(2.5rem,4vw,4rem)}.contact{background:var(--rose-soft);display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;border-block:1px solid var(--gold)}.contact h2{font-size:clamp(2.7rem,5vw,5rem)}.contact>div{max-width:800px}.contact>a{padding:28px;background:var(--paper);border:1px solid var(--gold);text-decoration:none;box-shadow:var(--shadow);word-break:break-word}.contact>a span,.contact>a strong{display:block}.contact>a span{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--rose)}.contact>a strong{font:600 clamp(1.25rem,2.2vw,2rem) var(--serif);margin-top:8px}footer{text-align:center;padding:52px 22px;background:var(--ink);color:white}footer img{width:105px;height:105px;object-fit:cover;border-radius:50%;margin:0 auto 18px}footer p{margin:4px;font-size:.76rem;letter-spacing:.1em;color:#d2dfdd}footer p:first-of-type{font-weight:700;text-transform:uppercase}
@media(max-width:1050px){nav{display:none}.route-grid,.activity-grid{grid-template-columns:repeat(2,1fr)}.day,.day.reverse{grid-template-columns:1fr}.day.reverse .day-image{order:0}.day-image{min-height:480px}.brand-story{grid-template-columns:1fr}.download-panel{grid-template-columns:120px 1fr}.download-panel .button{grid-column:2}.contact{grid-template-columns:1fr}}
@media(max-width:680px){body{font-size:16px}.topbar{height:68px;padding:7px 14px}.brand span{display:none}.brand img{width:48px;height:48px}.download.mini{padding:9px 12px}.hero{min-height:760px}.hero-copy{padding:90px 24px 180px}.hero h1{font-size:4.2rem}.hero-note{left:24px;right:auto;bottom:28px}.section{padding:65px 20px}.route-grid,.hotel-grid,.activity-grid,.transport-cards{grid-template-columns:1fr}.day{margin-bottom:45px}.day-image{min-height:330px}.day-content{padding:30px 22px}.two-cols{grid-template-columns:1fr}.timeline p{grid-template-columns:66px 1fr}.download-panel{grid-template-columns:1fr;text-align:center}.download-panel img{margin:auto}.download-panel .button{grid-column:1}.contact{gap:28px}.brand-art{padding:5px}}
@media print{.topbar,.hero-actions{display:none}.hero{min-height:700px}.day{break-inside:avoid;box-shadow:none}.section{padding:45px 30px}}
.travel-essentials{background:linear-gradient(145deg,var(--cream),#f4e4df);border-bottom:1px solid var(--gold)}.essential-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px}.essential-card{position:relative;padding:38px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.essential-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:var(--mint)}.iati-card:before{background:var(--rose)}.essential-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--rose);font-weight:700}.essential-card h3{font:600 2.5rem/1 var(--serif);margin:14px 0}.essential-card p,.essential-card li{font-size:.88rem;color:var(--muted)}.essential-card ul{padding-left:18px;margin:20px 0 28px}.essential-card li+li{margin-top:7px}.essential-button{display:inline-flex;padding:12px 18px;border-radius:999px;background:var(--ink);color:white;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.essential-button:hover{background:var(--rose)}.affiliate-note{max-width:900px;margin:24px auto 0;text-align:center;font-size:.76rem;color:var(--muted)}
@media(max-width:680px){.essential-grid{grid-template-columns:1fr}.essential-card{padding:30px 24px}.essential-card h3{font-size:2.15rem}}
