:root{--color-bg: #faf8f5;--color-surface: #f0ebe2;--color-border: #ddd5c8;--color-text: #1a1814;--color-text-muted: #6b6155;--color-accent: #636b2f;--color-accent-hover: #777b5c;--color-accent-2: #3a5c3a;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif: "Playfair Display", Georgia, serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem;--nav-height: 4rem;--transition-base: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--spacing-md)}.skip-link{position:absolute;top:-100%;left:var(--spacing-sm);background:var(--color-accent);color:var(--color-bg);padding:.5rem 1rem;z-index:9999;font-size:.875rem}.skip-link:focus{top:var(--spacing-sm)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);display:flex;align-items:center;background-color:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.nav__inner{display:flex;align-items:center;justify-content:space-between;width:100%}.nav__logo{font-family:var(--font-serif);font-size:1.25rem;letter-spacing:.04em;white-space:nowrap}.nav__links{display:flex;align-items:center;gap:var(--spacing-md);list-style:none}.nav__link{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--transition-base)}.nav__link:hover,.nav__link[aria-current=page]{color:var(--color-text)}.nav__cta{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;background-color:var(--color-accent);color:var(--color-bg);padding:.5rem 1.25rem;border-radius:2px;transition:background-color var(--transition-base);white-space:nowrap}.nav__cta:hover{background-color:var(--color-accent-hover)}.nav__toggle{display:none;background:none;border:none;cursor:pointer;color:var(--color-text);padding:var(--spacing-xs)}@media(max-width:768px){.nav__toggle{display:flex}.nav__links{display:none;position:fixed;height:calc(100svh - var(--nav-height));left:0;right:0;top:var(--nav-height);bottom:0;background-color:var(--color-bg);flex-direction:column;justify-content:flex-start;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg);overflow-y:auto;z-index:99}.nav__links.is-open{display:flex}.nav__link{font-size:1.25rem;color:var(--color-text)}.nav__cta{font-size:1rem;padding:.75rem 2rem}}.hero{position:relative;height:100svh;overflow:hidden}.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,color-mix(in srgb,black 20%,transparent) 0%,transparent 30%,transparent 50%,color-mix(in srgb,black 55%,transparent) 100%)}.hero__content{position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);text-align:center;width:90%;max-width:64ch;color:#fff}.hero__headline{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.15;letter-spacing:-.01em;text-shadow:0 2px 16px rgba(0,0,0,.4);margin-bottom:var(--spacing-sm)}.hero__subheadline{font-size:clamp(1rem,2vw,1.125rem);opacity:.9;margin-bottom:var(--spacing-md);text-shadow:0 1px 8px rgba(0,0,0,.4)}.hero__cta{display:inline-block;background-color:var(--color-accent);color:#fff;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;padding:.875rem 2rem;border-radius:2px;transition:background-color var(--transition-base),transform var(--transition-base)}.hero__cta:hover{background-color:var(--color-accent-hover);transform:translateY(-1px)}.page-header{position:relative;height:40svh;min-height:280px;overflow:hidden;margin-top:var(--nav-height)}.page-header__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-header__overlay{position:absolute;inset:0;background:color-mix(in srgb,black 45%,transparent)}.page-header__content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-md);color:#fff}.page-header__title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.1;letter-spacing:-.01em}.page-header__intro{margin-top:var(--spacing-sm);opacity:.85;max-width:60ch;font-size:1rem}.stats-strip{background-color:var(--color-accent);color:#fff;padding-block:var(--spacing-md)}.stats-strip__inner{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);text-align:center}@media(min-width:640px){.stats-strip__inner{grid-template-columns:repeat(4,1fr)}}.stat__value{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400;line-height:1}.stat__label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-top:.375rem}.section{padding-block:var(--spacing-xl)}.section--surface{background-color:var(--color-surface)}.section__header{text-align:center;margin-bottom:var(--spacing-lg)}.section__eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--spacing-xs)}.section__title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:400;letter-spacing:-.01em}.section__text{color:var(--color-text-muted);font-size:1.0625rem;line-height:1.8;max-width:60ch;margin-inline:auto;margin-top:var(--spacing-sm);white-space:pre-line}.tour-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}@media(min-width:640px){.tour-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.tour-grid{grid-template-columns:repeat(3,1fr)}}.tour-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-base),box-shadow var(--transition-base)}.tour-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.tour-card__img-wrap{position:relative;aspect-ratio:16 / 9;overflow:hidden}.tour-card__img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;opacity:0}.tour-card__img.is-loaded{opacity:1}.tour-card:hover .tour-card__img{transform:scale(1.04)}.tour-card__badge{position:absolute;top:var(--spacing-xs);left:var(--spacing-xs);background-color:var(--color-accent);color:#fff;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .625rem;border-radius:2px}.tour-card__body{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;flex:1}.tour-card__title{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;line-height:1.3;margin-bottom:var(--spacing-xs)}.tour-card__tagline{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;flex:1}.tour-card__meta{display:flex;flex-wrap:wrap;gap:.5rem var(--spacing-sm);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-size:.8125rem;color:var(--color-text-muted)}.tour-card__meta-item{display:flex;align-items:center;gap:.3rem}.tour-card__meta-item svg{flex-shrink:0;opacity:.6}.tour-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-sm)}.tour-card__price{font-size:.875rem;font-weight:500;color:var(--color-accent)}.tour-card__link{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid currentColor;transition:color var(--transition-base)}.tour-card__link:hover{color:var(--color-text)}.about-split{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);align-items:center}@media(min-width:768px){.about-split{grid-template-columns:1fr 1fr}}.about-split__img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:2px}.about-split__text{display:flex;flex-direction:column;gap:var(--spacing-sm)}.about-split__cta{display:inline-block;margin-top:var(--spacing-xs);font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);border-bottom:1px solid currentColor;transition:color var(--transition-base)}.about-split__cta:hover{color:var(--color-accent-hover)}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}@media(min-width:640px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}.testimonial-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.testimonial-card__stars{display:flex;gap:2px;color:var(--color-accent)}.testimonial-card__quote{font-size:.9375rem;line-height:1.7;color:var(--color-text-muted);flex:1}.testimonial-card__quote:before{content:"“";font-family:var(--font-serif);font-size:1.5rem;color:var(--color-accent);line-height:0;vertical-align:-.4em;margin-right:.1em}.testimonial-card__author{font-size:.875rem;font-weight:500}.testimonial-card__meta{font-size:.8125rem;color:var(--color-text-muted)}.cta-banner{padding-block:var(--spacing-xl);background-color:var(--color-surface);text-align:center}.cta-banner__title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400;letter-spacing:-.01em;margin-bottom:var(--spacing-sm)}.cta-banner__text{color:var(--color-text-muted);max-width:52ch;margin-inline:auto;margin-bottom:var(--spacing-md);font-size:1.0625rem;line-height:1.7}.btn{display:inline-block;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;padding:.875rem 2.25rem;border-radius:2px;transition:background-color var(--transition-base),transform var(--transition-base)}.btn--primary{background-color:var(--color-accent);color:#fff}.btn--primary:hover{background-color:var(--color-accent-hover);transform:translateY(-1px)}.btn--outline{border:1px solid var(--color-text);color:var(--color-text)}.btn--outline:hover{background-color:var(--color-text);color:var(--color-bg)}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem;padding:.25rem}@media(min-width:640px){.photo-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.photo-grid{grid-template-columns:repeat(4,1fr)}}.photo-card{position:relative;aspect-ratio:3 / 2;overflow:hidden;cursor:zoom-in;background-color:var(--color-surface);border:none}.photo-card__img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,opacity .3s ease;opacity:0}.photo-card__img.is-loaded{opacity:1}.photo-card:hover .photo-card__img{transform:scale(1.04)}.tour-overview{display:flex;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-md);padding-block:var(--spacing-md);border-bottom:1px solid var(--color-border)}.tour-overview__item{display:flex;align-items:center;gap:.5rem;font-size:.9375rem}.tour-overview__item svg{color:var(--color-accent);flex-shrink:0}.tour-overview__label{color:var(--color-text-muted);font-size:.8125rem}.tour-detail-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:1024px){.tour-detail-grid{grid-template-columns:1fr 340px}}.tour-content h2{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}.tour-content p{color:var(--color-text-muted);line-height:1.8;white-space:pre-line;margin-bottom:var(--spacing-sm)}.tour-includes{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}@media(max-width:480px){.tour-includes{grid-template-columns:1fr}}.includes-list,.excludes-list{list-style:none}.includes-list li,.excludes-list li{display:flex;align-items:flex-start;gap:.5rem;font-size:.9375rem;color:var(--color-text-muted);padding-block:.25rem}.includes-list li:before{content:"✓";color:var(--color-accent-2);font-weight:600;flex-shrink:0;margin-top:.1em}.excludes-list li:before{content:"✕";color:var(--color-text-muted);flex-shrink:0;margin-top:.1em}.tour-sidebar{position:sticky;top:calc(var(--nav-height) + var(--spacing-md));align-self:start;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.tour-sidebar__price{font-family:var(--font-serif);font-size:1.75rem;color:var(--color-accent)}.tour-sidebar__detail{display:flex;gap:.5rem;font-size:.9375rem;align-items:center}.tour-sidebar__detail svg{color:var(--color-accent);flex-shrink:0}.tour-sidebar__book{width:100%;text-align:center;padding:1rem;background-color:var(--color-accent);color:#fff;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;transition:background-color var(--transition-base);margin-top:var(--spacing-xs)}.tour-sidebar__book:hover{background-color:var(--color-accent-hover)}.about-page{padding-block:var(--spacing-xl)}.about-page__grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);align-items:start}@media(min-width:768px){.about-page__grid{grid-template-columns:360px 1fr}}.about-page__photo{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:2px;position:sticky;top:calc(var(--nav-height) + var(--spacing-md))}.about-page__content{display:flex;flex-direction:column;gap:var(--spacing-md)}.about-page__name{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;letter-spacing:-.01em}.about-page__bio{color:var(--color-text-muted);font-size:1.0625rem;line-height:1.8;white-space:pre-line}.about-page__meta{display:flex;flex-direction:column;gap:var(--spacing-xs);border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.about-page__meta-item{display:flex;gap:var(--spacing-sm);font-size:.9375rem}.about-page__meta-label{color:var(--color-text-muted);min-width:120px}.about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);background-color:var(--color-surface);padding:var(--spacing-md);border-radius:4px}@media(min-width:480px){.about-stats{grid-template-columns:repeat(4,1fr)}}.about-stat{text-align:center}.about-stat__value{font-family:var(--font-serif);font-size:1.75rem;color:var(--color-accent)}.about-stat__label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-top:.25rem}.contact-layout{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);padding-block:var(--spacing-xl)}@media(min-width:768px){.contact-layout{grid-template-columns:1fr 1fr;align-items:start}}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-info__title{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2rem);font-weight:400}.contact-info__text{color:var(--color-text-muted);font-size:1.0625rem;line-height:1.7}.contact-info__links{display:flex;flex-direction:column;gap:var(--spacing-xs)}.contact-info__link{display:flex;align-items:center;gap:.75rem;font-size:1rem;color:var(--color-text-muted);transition:color var(--transition-base)}.contact-info__link svg{color:var(--color-accent);flex-shrink:0}.contact-info__link:hover{color:var(--color-text)}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-sm);background-color:var(--color-surface);padding:var(--spacing-md);border-radius:4px;border:1px solid var(--color-border)}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.form-input,.form-select,.form-textarea{font-family:var(--font-sans);font-size:1rem;color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:2px;padding:.75rem 1rem;width:100%;transition:border-color var(--transition-base)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent)}.form-textarea{resize:vertical;min-height:120px}.form-submit{align-self:flex-start;background-color:var(--color-accent);color:#fff;font-family:var(--font-sans);font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;padding:.875rem 2.25rem;border:none;border-radius:2px;cursor:pointer;transition:background-color var(--transition-base)}.form-submit:hover{background-color:var(--color-accent-hover)}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--spacing-md)}.filter-btn{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;padding:.4rem 1rem;border:1px solid var(--color-border);border-radius:2px;background:none;cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-base)}.filter-btn:hover,.filter-btn.is-active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.footer{border-top:1px solid var(--color-border);padding-block:var(--spacing-md);background-color:var(--color-surface)}.footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.footer__copy{font-size:.8125rem;color:var(--color-text-muted)}.footer__social{display:flex;gap:var(--spacing-sm)}.footer__social a{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--transition-base)}.footer__social a:hover{color:var(--color-text)}.tip-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-base),box-shadow var(--transition-base)}.tip-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.tip-card__img-wrap{position:relative;aspect-ratio:16 / 9;overflow:hidden}.tip-card__img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;opacity:0}.tip-card__img.is-loaded{opacity:1}.tip-card:hover .tip-card__img{transform:scale(1.04)}.tip-card__badge{position:absolute;top:var(--spacing-xs);left:var(--spacing-xs);background-color:var(--color-accent-2);color:#fff;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .625rem;border-radius:2px}.tip-card__body{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;flex:1}.tip-card__title{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;line-height:1.3;margin-bottom:var(--spacing-xs)}.tip-card__tagline{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;flex:1}.tip-card__meta{display:flex;flex-wrap:wrap;gap:.5rem var(--spacing-sm);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-size:.8125rem;color:var(--color-text-muted)}.tip-card__meta-item{display:flex;align-items:center;gap:.3rem}.tip-card__meta-item svg{flex-shrink:0;opacity:.6}.tip-card__footer{display:flex;align-items:center;justify-content:flex-end;margin-top:var(--spacing-sm)}.tip-card__link{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid currentColor;transition:color var(--transition-base)}.tip-card__link:hover{color:var(--color-text)}.page-header__eyebrow{font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffbf;margin-bottom:.5rem}.tip-detail-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:1024px){.tip-detail-grid{grid-template-columns:1fr 300px}}.tip-content p{color:var(--color-text-muted);font-size:1.0625rem;line-height:1.8;white-space:pre-line}.tip-info-box{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);align-self:start;position:sticky;top:calc(var(--nav-height) + var(--spacing-md))}.tip-info-box__row{display:flex;gap:.75rem;align-items:flex-start}.tip-info-box__row svg{color:var(--color-accent);flex-shrink:0;margin-top:.2em}.tip-info-box__label{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.125rem}.tip-info-box__value{display:block;font-size:.9375rem}.tip-info-box__website{display:block;text-align:center;margin-top:var(--spacing-xs)}.related-tours{padding-block:var(--spacing-xl);background-color:var(--color-surface)}
