@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Jost:wght@300;400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root {
  --deep: #1A2A3A;
  --deep-mid: #253D52;
  --deep-light: #3A5A72;
  --turquoise: #1A8A88;
  --turquoise-mid: #2AACAA;
  --turquoise-light: #4ACAC8;
  --turquoise-pale: #A0DEDD;
  --granite: #8A7878;
  --granite-warm: #B09A9A;
  --granite-pale: #D8CECE;
  --maquis: #4A6030;
  --maquis-light: #7A9050;
  --sand: #F5EDD0;
  --sand-dark: #E8DDB8;
  --warm-white: #FDFAF5;
  --text-dark: #1A1E22;
  --text-mid: #3A3E42;
  --text-muted: #6A7075;
  --text-light: #9AA0A8;
  --rule: rgba(26,42,58,0.12);
}

html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:var(--warm-white);color:var(--text-dark);font-size:16px;line-height:1.7;font-weight:300;}

.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:60px;background:rgba(253,250,245,0.96);backdrop-filter:blur(8px);border-bottom:0.5px solid var(--rule);}
.site-logo{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:500;letter-spacing:0.04em;color:var(--deep);text-decoration:none;}
.site-logo span{color:var(--turquoise);}
.site-nav{display:flex;gap:2rem;list-style:none;}
.site-nav a{font-size:12px;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.2s;}
.site-nav a:hover{color:var(--deep);}

.dest-nav{position:sticky;top:60px;z-index:90;background:var(--deep);border-bottom:0.5px solid rgba(255,255,255,0.08);}
.dest-nav-inner{max-width:1200px;margin:0 auto;padding:0 3rem;display:flex;overflow-x:auto;scrollbar-width:none;}
.dest-nav-inner::-webkit-scrollbar{display:none;}
.dest-nav a{padding:14px 20px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,237,208,0.55);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:all 0.2s;}
.dest-nav a:hover,.dest-nav a.active{color:var(--sand);border-bottom-color:var(--turquoise-mid);}

.dest-hero{padding-top:60px;background:var(--deep);min-height:420px;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;}
.dest-hero-art{position:relative;background:var(--deep-mid);overflow:hidden;min-height:380px;}
.dest-hero-art-text{position:absolute;bottom:2.5rem;left:2.5rem;right:2.5rem;}
.dest-hero-art-text .location-tag{display:inline-block;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--turquoise-pale);border:0.5px solid rgba(42,172,170,0.4);padding:4px 12px;margin-bottom:1rem;}
.dest-hero-art-text h1{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.5vw,60px);font-weight:300;line-height:1.05;color:var(--sand);letter-spacing:-0.01em;}
.dest-hero-art-text h1 em{font-style:italic;color:var(--turquoise-pale);}

.dest-hero-content{display:flex;flex-direction:column;justify-content:center;padding:6rem 3.5rem 3rem 3.5rem;}
.dest-hero-eyebrow{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--deep-light);margin-bottom:1.5rem;}
.dest-hero-intro{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2vw,24px);font-weight:300;line-height:1.5;color:var(--sand);margin-bottom:2rem;}
.dest-hero-intro strong{font-weight:500;color:var(--turquoise-pale);}
.dest-hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding-top:1.5rem;border-top:0.5px solid rgba(245,237,208,0.1);}
.meta-item{display:flex;flex-direction:column;gap:3px;}
.meta-label{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--deep-light);}
.meta-value{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--sand);}

.page-body{max-width:1200px;margin:0 auto;padding:0 3rem;}
.section{padding:5rem 0;border-bottom:0.5px solid var(--rule);}
.section:last-child{border-bottom:none;}
.section-header{display:grid;grid-template-columns:180px 1fr;gap:3rem;margin-bottom:3rem;align-items:baseline;}
.section-number{font-family:'Cormorant Garamond',serif;font-size:64px;font-weight:300;color:var(--sand-dark);line-height:1;letter-spacing:-0.02em;user-select:none;}
.section-label{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--turquoise);margin-bottom:0.5rem;display:block;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,2.8vw,38px);font-weight:400;line-height:1.15;color:var(--deep);letter-spacing:-0.01em;}
.section-body{margin-left:calc(180px + 3rem);}

.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:3rem;}
.why-card{background:var(--sand);padding:1.75rem 2rem;border-left:2px solid var(--turquoise-mid);}
.why-card h3{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:500;color:var(--deep);margin-bottom:0.6rem;}
.why-card p{font-size:14px;color:var(--text-mid);line-height:1.7;}

.pull-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2vw,26px);font-weight:300;font-style:italic;color:var(--deep);line-height:1.5;padding:2.5rem 3rem;border-top:0.5px solid var(--rule);border-bottom:0.5px solid var(--rule);position:relative;}
.pull-quote::before{content:'\201C';position:absolute;top:0.75rem;left:1.25rem;font-size:72px;color:var(--turquoise-mid);line-height:1;opacity:0.3;}

/* Accommodation — different structure for Cavallo */
.accom-intro{font-family:'Cormorant Garamond',serif;font-size:clamp(17px,1.8vw,22px);font-weight:300;line-height:1.55;color:var(--text-dark);margin-bottom:3rem;}

.accom-hotel{background:var(--deep);padding:2.5rem 3rem;margin-bottom:1.5px;}
.accom-hotel-eyebrow{font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--turquoise-pale);margin-bottom:0.75rem;display:block;}
.accom-hotel-name{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:400;color:var(--sand);line-height:1.15;margin-bottom:0.75rem;}
.accom-hotel-desc{font-size:14px;color:rgba(245,237,208,0.7);line-height:1.8;margin-bottom:1.5rem;}
.accom-hotel-meta{display:flex;gap:3rem;flex-wrap:wrap;padding-top:1.5rem;border-top:0.5px solid rgba(245,237,208,0.12);}
.accom-hotel-meta-item{display:flex;flex-direction:column;gap:3px;}
.accom-hotel-meta-label{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--deep-light);}
.accom-hotel-meta-value{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--sand);}
.accom-book-link{display:inline-block;margin-top:1.5rem;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--sand);border:0.5px solid rgba(245,237,208,0.4);padding:8px 20px;text-decoration:none;transition:all 0.2s;}
.accom-book-link:hover{background:var(--turquoise);border-color:var(--turquoise);color:var(--sand);}

.villa-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5px;background:var(--rule);}
.villa-card{background:var(--sand);padding:2rem;}
.villa-card h3{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--deep);margin-bottom:0.5rem;}
.villa-tag{display:inline-block;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--turquoise);border:0.5px solid var(--turquoise);padding:3px 10px;margin-bottom:0.75rem;}
.villa-card p{font-size:14px;color:var(--text-mid);line-height:1.7;}
.villa-link{display:inline-block;margin-top:1rem;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--deep);border:0.5px solid var(--deep);padding:6px 16px;text-decoration:none;transition:all 0.2s;}
.villa-link:hover{background:var(--deep);color:var(--sand);}

.access-note{margin-top:2rem;padding:1.75rem 2rem;background:var(--sand);border-left:2px solid var(--turquoise-mid);}
.access-note p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--text-muted);line-height:1.7;}

.food-intro{font-family:'Cormorant Garamond',serif;font-size:clamp(17px,1.8vw,22px);font-weight:300;line-height:1.55;color:var(--text-dark);margin-bottom:3rem;}
.restaurant-list{display:flex;flex-direction:column;}
.restaurant-item{display:flex;gap:1.75rem;padding:1.75rem 0;border-bottom:0.5px solid var(--rule);align-items:flex-start;}
.restaurant-item:first-child{padding-top:0;}
.restaurant-item:last-child{border-bottom:none;}
.restaurant-badge{flex-shrink:0;width:48px;height:48px;background:var(--deep);display:flex;align-items:center;justify-content:center;}
.restaurant-badge span{font-family:'Cormorant Garamond',serif;font-size:9px;color:var(--turquoise-pale);text-align:center;letter-spacing:0.04em;line-height:1.3;text-transform:uppercase;}
.restaurant-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--deep);margin-bottom:0.35rem;}
.restaurant-meta{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--turquoise);margin-bottom:0.5rem;}
.restaurant-desc{font-size:14px;color:var(--text-mid);line-height:1.7;}
.restaurant-external-link{color:#1a6bb5;text-decoration:none;border-bottom:0.5px solid #1a6bb5;padding-bottom:1px;}

.wine-note{margin-top:3rem;background:var(--deep);padding:2.5rem 3rem;display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center;}
.wine-note-label{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--turquoise-pale);writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);}
.wine-note-content h3{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--sand);margin-bottom:0.75rem;}
.wine-note-content p{font-size:14px;color:rgba(245,237,208,0.7);line-height:1.7;}

.activities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--rule);}
.activity-card{background:var(--warm-white);padding:2rem;}
.activity-cat{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--turquoise);margin-bottom:0.75rem;display:block;}
.activity-card h3{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:500;color:var(--deep);margin-bottom:0.5rem;}
.activity-card p{font-size:14px;color:var(--text-mid);line-height:1.65;}
.activity-seasonal{margin-top:0.75rem;font-size:11px;color:var(--text-light);font-style:italic;}
.activity-link{display:inline-block;margin-top:0.75rem;font-size:12px;letter-spacing:0.08em;color:var(--deep);text-decoration:none;border-bottom:0.5px solid var(--deep-light);padding-bottom:1px;}

.season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5px;background:var(--rule);margin-bottom:2rem;}
.season-card{background:var(--warm-white);padding:1.5rem;text-align:center;}
.season-card.best{background:var(--deep);}
.season-name{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-light);margin-bottom:0.4rem;display:block;}
.season-card.best .season-name{color:var(--turquoise-pale);}
.season-rating{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--deep);margin-bottom:0.4rem;display:block;}
.season-card.best .season-rating{color:var(--sand);}
.season-notes{font-size:12px;color:var(--text-muted);line-height:1.5;}
.season-card.best .season-notes{color:rgba(245,237,208,0.65);}

.transport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.transport-card{padding:1.75rem 2rem;background:var(--sand);}
.transport-card h3{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:500;color:var(--deep);margin-bottom:0.4rem;}
.transport-duration{font-size:11px;letter-spacing:0.08em;color:var(--turquoise);margin-bottom:0.75rem;display:block;}
.transport-card p{font-size:14px;color:var(--text-mid);line-height:1.65;}

.nearby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.nearby-card{padding:1.75rem;border:0.5px solid var(--rule);transition:border-color 0.2s;text-decoration:none;display:block;}
.nearby-card:hover{border-color:var(--turquoise-mid);}
.nearby-country{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-light);margin-bottom:0.4rem;display:block;}
.nearby-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--deep);margin-bottom:0.5rem;display:block;}
.nearby-desc{font-size:13px;color:var(--text-muted);line-height:1.6;}
.nearby-rating{display:inline-block;margin-top:1rem;font-size:11px;letter-spacing:0.08em;color:var(--turquoise);}

.site-footer{background:var(--deep);padding:3.5rem 3rem;}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:end;}
.footer-brand{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:var(--sand);letter-spacing:0.02em;margin-bottom:0.5rem;}
.footer-tagline{font-size:13px;color:rgba(245,237,208,0.45);letter-spacing:0.06em;}
.footer-legal{font-size:11px;color:rgba(245,237,208,0.25);text-align:right;line-height:1.8;}

@media(max-width:900px){
  .dest-hero{grid-template-columns:1fr;}
  .dest-hero-art{min-height:45vh;}
  .section-header{grid-template-columns:1fr;gap:0.75rem;}
  .section-number{font-size:40px;}
  .section-body{margin-left:0;}
  .why-grid,.activities-grid,.transport-grid,.nearby-grid,.villa-grid{grid-template-columns:1fr;}
  .season-grid{grid-template-columns:repeat(2,1fr);}
  .page-body{padding:0 1.5rem;}
  .site-header,.site-footer{padding:0 1.5rem;}
  .accom-hotel{padding:2rem 1.5rem;}
  .accom-hotel-meta{gap:1.5rem;}
  .site-nav{display:none;}
}
