/* Piedmont: the approved FITZ typography and palette, with full photographs. */
.tour-page{--tour-gap:clamp(28px,5.5vw,88px)}
.tour-page figure{margin:0;min-width:0}
.tour-page figure img{display:block;width:100%;height:auto;object-fit:contain}
.tour-page h1,.tour-page h2,.tour-page h3{overflow-wrap:break-word}
.tour-page p{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.tour-page .tour-lead{font-family:var(--display);font-size:clamp(24px,2.35vw,34px);line-height:1.35;letter-spacing:-.012em}
.tour-page .eyebrow{font-family:var(--ui);font-size:12px;line-height:1.6;letter-spacing:.16em}
.tour-section{padding-block:clamp(70px,7.5vw,116px)}
.tour-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--tour-gap);align-items:center;padding-block:32px 90px}
.tour-hero-copy{min-width:0;padding-bottom:16px}
.tour-hero h1{font-size:clamp(64px,7.5vw,114px);line-height:.98;letter-spacing:-.035em;margin:0 0 34px}
.tour-hero .tour-lead{max-width:610px;font-size:clamp(23px,2.25vw,32px);margin-bottom:0}
.tour-hero .actions{margin-top:36px}
.tour-hero-photo{align-self:center}
.tour-region{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr);gap:var(--tour-gap);align-items:center;border-top:1px solid var(--line)}
.tour-region-copy{grid-column:2;grid-row:1}
.tour-region h2{margin-bottom:34px}
.tour-region-copy>p:last-child{margin-bottom:0}
.tour-region figure{grid-column:1;grid-row:1;align-self:center}
.tour-section-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--tour-gap);align-items:start;margin-bottom:44px}
.tour-section-intro>p{margin:0;max-width:650px}
.tour-why{background:var(--deep)}
.tour-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--tour-gap);list-style:none;padding:0;margin:8px 0 0}
.tour-services li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:24px;border-top:1px solid var(--line);padding-block:26px}
.tour-services li>span{font:400 15px/1.85 var(--ui);color:var(--muted);letter-spacing:.08em}
.tour-services li>p{margin:0}
.tour-villas{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--tour-gap);align-items:center}
.tour-villas .tour-section-intro{display:block;margin-bottom:0;min-width:0}
.tour-villas h2{font-size:clamp(39px,4.1vw,62px);margin-bottom:34px}
.tour-tastings{padding-top:30px}
.tour-tastings>h2{max-width:980px;margin-bottom:44px}
.tour-tasting-photos{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:28px;align-items:center}
.tour-restaurants{background:var(--deep)}
.tour-restaurants h2{margin-bottom:44px;max-width:850px}
.tour-restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.tour-restaurant-grid figcaption{font:400 clamp(26px,2.7vw,40px)/1.15 var(--display);padding-top:24px;overflow-wrap:anywhere}
.tour-place-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.tour-activities{padding-top:22px}
.tour-activity-photos{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
.tour-contact-section{background:var(--deep)}
.tour-contact-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px var(--tour-gap);align-items:start;margin-bottom:60px}
.tour-contact-intro>p{margin:0;max-width:520px}
.tour-contact-intro>.button{grid-column:2;justify-self:start}
.tour-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tour-gap)}
.tour-contact{border-top:1px solid var(--line);padding-top:28px;display:flex;flex-direction:column;gap:24px;min-width:0}
.tour-contact h3{font-size:clamp(32px,3vw,46px);line-height:1.1}
.tour-contact .eyebrow{margin-bottom:16px;min-height:38px}
.tour-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:auto}
.tour-contact-links a{padding-block:8px;min-height:44px;font-size:16px;line-height:1.6;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;overflow-wrap:anywhere;max-width:100%}
.tour-contact-links a:hover{color:#fff}
@media(max-width:1100px){
 .tour-page{--tour-gap:40px}
 .tour-hero{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);padding-block:30px 70px}
 .tour-hero h1{font-size:clamp(58px,7.4vw,80px);margin-bottom:28px}
 .tour-hero .tour-lead{font-size:25px}
 .tour-page .tour-section-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .tour-restaurant-grid{gap:24px}
 .tour-activity-photos{gap:18px}
 .tour-contact-intro{margin-bottom:46px}
}
@media(max-width:767px){
 .tour-page{--tour-gap:32px}
 .tour-page p{font-size:15px;line-height:1.8}
 .tour-page .tour-lead{font-size:25px;line-height:1.35}
 .tour-section{padding-block:64px}
 .tour-hero{grid-template-columns:minmax(0,1fr);gap:36px;padding-block:36px 58px}
 .tour-hero-copy{padding:0}
 .tour-hero h1{font-size:clamp(58px,15.2vw,86px);margin-bottom:26px}
 .tour-hero .eyebrow{margin-bottom:24px}
 .tour-hero .tour-lead{font-size:25px}
 .tour-hero .actions{margin-top:28px}
 .tour-hero .button{width:100%}
 .tour-region{grid-template-columns:minmax(0,1fr);gap:34px}
 .tour-region-copy,.tour-region figure{grid-column:auto;grid-row:auto}
 .tour-region h2{margin-bottom:26px}
 .tour-page .tour-section-intro{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:34px}
 .tour-services{grid-template-columns:minmax(0,1fr);margin-top:0}
 .tour-services li{grid-template-columns:28px minmax(0,1fr);gap:18px;padding-block:22px}
 .tour-villas{grid-template-columns:minmax(0,1fr);gap:34px}
 .tour-villas .tour-section-intro{margin-bottom:0}
 .tour-villas h2{font-size:clamp(38px,10.4vw,54px);margin-bottom:26px}
 .tour-tastings{padding-top:0}
 .tour-tastings>h2,.tour-restaurants h2{margin-bottom:32px}
 .tour-tasting-photos{grid-template-columns:minmax(0,1fr);gap:24px}
 .tour-restaurant-grid{grid-template-columns:minmax(0,1fr);gap:38px}
 .tour-restaurant-grid figcaption{font-size:32px;padding-top:18px}
 .tour-place-photos{grid-template-columns:minmax(0,1fr);gap:24px}
 .tour-activities{padding-top:0}
 .tour-activity-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .tour-activity-photos>figure:first-child{grid-column:1/-1}
 .tour-contact-intro{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:40px}
 .tour-contact-intro>.button{grid-column:auto;justify-self:stretch;margin-top:4px}
 .tour-contact-grid{grid-template-columns:minmax(0,1fr);gap:36px}
 .tour-contact{padding-top:24px;gap:20px}
 .tour-contact .eyebrow{min-height:0}
 .tour-contact h3{font-size:36px}
}
@media(min-width:768px) and(max-width:900px){
 .tour-hero{padding-top:40px}
}
