/* Shared stylesheet for the photography-tour and guide pages.
   Versioned filename: /assets/ is cached as immutable, so bump the version on any change. */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/cormorantgaramond-i.woff2') format('woff2-variations');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 600;font-display:swap;src:url('fonts/cormorantgaramond-var.woff2') format('woff2-variations');}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 500;font-display:swap;src:url('fonts/jost-var.woff2') format('woff2-variations');}
@font-face{font-family:'Cormorant Fallback';src:local('Times New Roman'),local('Times'),local('Liberation Serif');size-adjust:94.78%;ascent-override:97.49%;descent-override:30.28%;line-gap-override:0%;}
@font-face{font-family:'Jost Fallback';src:local('Helvetica Neue'),local('Helvetica'),local('Arial'),local('Liberation Sans');size-adjust:92.67%;ascent-override:115.46%;descent-override:40.47%;line-gap-override:0%;}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--gold:#c8a96e;--gold-light:#e8d5a3;--dark:#080808;--dark2:#0f0f0f;--panel:#121110;--cream:#f5f0e8;--body:#d9d4c9;--muted:#9a9488;--border:#262422;--serif:'Cormorant Garamond','Cormorant Fallback',serif}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--dark);color:var(--cream);font-family:'Jost','Jost Fallback',sans-serif;font-weight:300;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--gold);text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
::selection{background:rgba(200,169,110,.28)}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#111;padding:.6rem 1rem;z-index:99}
.skip:focus{left:0}

/* top bar */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.5rem;background:rgba(8,8,8,.84);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.topbar .brand img{height:40px;width:auto}
.tb-right{display:flex;align-items:center;gap:1rem}
.tb-nav{display:flex;align-items:center;gap:1.3rem}
.tb-nav a{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#d3cec2;white-space:nowrap;transition:color .25s}
.tb-nav a:hover,.tb-nav a[aria-current]{color:var(--gold)}
.tb-nav .tb-cta{padding:.5rem 1.15rem;border:1px solid var(--gold);border-radius:999px;color:var(--gold)}
.tb-nav .tb-cta:hover{background:var(--gold);color:#111}
.tb-burger{display:none;background:none;border:none;color:var(--cream);font-size:1.5rem;line-height:1;cursor:pointer;padding:.2rem .5rem}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--gold);cursor:pointer;transition:.25s}
.theme-toggle:hover{border-color:var(--gold)}
.theme-toggle svg{width:16px;height:16px}
.theme-toggle .icon-sun{display:none}
html[data-theme="light"] .theme-toggle .icon-sun{display:block}
html[data-theme="light"] .theme-toggle .icon-moon{display:none}
@media(max-width:1100px){
  .tb-burger{display:block}
  .tb-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(8,8,8,.98);border-bottom:1px solid var(--border);padding:.4rem 0;display:none}
  .tb-nav.open{display:flex}
  .tb-nav a{padding:.95rem 1.5rem;border-top:1px solid rgba(255,255,255,.05)}
  .tb-nav .tb-cta{margin:.7rem 1.5rem;text-align:center}
}

/* hero */
.hero{position:relative;min-height:78vh;min-height:78svh;display:flex;align-items:flex-end;overflow:hidden}
.hero .bg{position:absolute;inset:0}
.hero .bg picture{display:block;position:absolute;inset:0}
.hero .bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .scrim{position:absolute;inset:0;background:
  linear-gradient(93deg, rgba(3,4,6,.9) 0%, rgba(3,4,6,.66) 32%, rgba(3,4,6,.28) 58%, rgba(3,4,6,0) 100%),
  linear-gradient(180deg, rgba(3,4,6,.45) 0%, rgba(3,4,6,0) 24%, rgba(3,4,6,.15) 52%, rgba(3,4,6,.92) 100%)}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1100px;margin:0 auto;padding:0 1.6rem 3.6rem}
.crumbs{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#cfc8ba;margin-bottom:1.3rem;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem .6rem}
.crumbs li+li::before{content:'/';margin-right:.6rem;color:var(--gold)}
.crumbs a{color:#e8d5a3}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,6.4vw,4.8rem);line-height:1.04;letter-spacing:-.01em;margin-bottom:1.1rem;color:#f5f0e8;text-shadow:0 2px 30px rgba(0,0,0,.85),0 1px 8px rgba(0,0,0,.6);max-width:17ch}
.hero h1 em{font-style:italic;color:#e8d5a3}
.hero .sub{font-size:clamp(1rem,2.1vw,1.22rem);color:#efeae0;max-width:46ch;line-height:1.6;margin-bottom:1.7rem;text-shadow:0 1px 14px rgba(0,0,0,.8)}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem}
.btn{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.9rem 1.6rem;border-radius:999px;transition:.25s;font-weight:400}
.btn-gold{background:var(--gold);color:#111;font-weight:500}
.btn-gold:hover{background:var(--gold-light)}
.btn-ghost{border:1px solid rgba(245,240,232,.4);color:#f5f0e8}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-wa{background:#25D366;color:#062e16;font-weight:500}
.btn-wa:hover{filter:brightness(1.07)}

/* layout */
.wrap{max-width:1100px;margin:0 auto;padding:0 1.6rem}
.narrow{max-width:780px}
section.block{padding:4rem 0 0}
.kicker{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
h2{font-family:var(--serif);font-weight:400;color:var(--cream);font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.12;margin-bottom:1.2rem}
h2 em{font-style:italic;color:var(--gold-light)}
h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;line-height:1.25;color:var(--cream)}
p{margin-bottom:1.35rem;font-size:1.06rem;color:var(--body)}
.lede{font-family:var(--serif);font-size:clamp(1.35rem,3.1vw,1.8rem);line-height:1.5;color:#ece7dc}
p a,li a{border-bottom:1px solid rgba(200,169,110,.4)}
p a:hover,li a:hover{border-bottom-color:var(--gold)}

/* quick facts */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-top:2.6rem}
.facts div{background:var(--panel);padding:1.3rem 1.4rem}
.facts dt{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.facts dd{font-size:.98rem;color:var(--cream);line-height:1.5}

/* locations */
.spots{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:1.6rem;list-style:none;counter-reset:spot}
.spots li{counter-increment:spot;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1.5rem 1.5rem 1.4rem;position:relative}
.spots li::before{content:counter(spot,decimal-leading-zero);font-family:var(--serif);font-size:1rem;color:var(--gold);letter-spacing:.08em;display:block;margin-bottom:.35rem}
.spots h3{margin-bottom:.45rem}
.spots p{font-size:.97rem;margin:0;line-height:1.7}

/* photographs */
.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:1.6rem}
.shots figure{margin:0}
.shots figure.wide{grid-column:1/-1}
.shots img{width:100%;height:auto;border-radius:10px;border:1px solid var(--border)}
figcaption{font-size:.8rem;color:var(--muted);margin-top:.7rem;line-height:1.6;padding-left:.9rem;border-left:2px solid rgba(200,169,110,.4)}

/* lists */
.ticks{list-style:none;margin:1rem 0 0}
.ticks li{position:relative;padding-left:1.6rem;margin-bottom:.85rem;font-size:1.02rem;color:var(--body)}
.ticks li::before{content:'';position:absolute;left:0;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* season table */
.tablewrap{overflow-x:auto;margin-top:1.4rem;border:1px solid var(--border);border-radius:14px}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.96rem}
th,td{text-align:left;padding:.85rem 1.1rem;border-bottom:1px solid var(--border);color:var(--body);vertical-align:top}
th{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500;background:var(--panel)}
tr:last-child td{border-bottom:none}
td:first-child{color:var(--cream);white-space:nowrap}

/* FAQ */
.faq details{border-bottom:1px solid var(--border)}
.faq summary{cursor:pointer;list-style:none;padding:1.15rem 2rem 1.15rem 0;position:relative;font-family:var(--serif);font-size:1.3rem;color:var(--cream);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:.2rem;top:50%;transform:translateY(-50%);color:var(--gold);font-family:'Jost',sans-serif;font-size:1.4rem;font-weight:300}
.faq details[open] summary::after{content:'\2212'}
.faq details p{font-size:1rem;margin-bottom:1.3rem}

/* booking box */
.book{margin-top:4rem;background:linear-gradient(160deg,rgba(24,22,18,.95),rgba(12,12,12,.95));border:1px solid var(--gold);border-radius:18px;padding:2.6rem;text-align:center}
.book h2{margin-bottom:.7rem}
.book p{max-width:60ch;margin:0 auto 1.6rem;color:var(--body)}
.book .cta-row{justify-content:center}
.book .btn-ghost{border-color:var(--border);color:var(--cream)}
.book .fine{font-size:.82rem;color:var(--muted);margin:1.4rem auto 0}

/* destination / related cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.6rem}
.card{display:block;position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--panel);transition:border-color .25s,transform .25s}
.card:hover{border-color:var(--gold);transform:translateY(-3px)}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card .t{padding:1.05rem 1.2rem 1.2rem}
.card strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.3rem;color:var(--cream);line-height:1.2}
.card span{display:block;font-size:.84rem;color:var(--muted);margin-top:.3rem;line-height:1.5}

.author{margin-top:4rem;padding:2rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;gap:1.5rem;align-items:center}
.author img{width:92px;height:92px;border-radius:50%;object-fit:cover;object-position:center top;border:1px solid var(--border);flex-shrink:0}
.author p{font-size:.96rem;margin:0}
.author b{color:var(--gold-light);font-family:var(--serif);font-size:1.2rem;font-weight:500}

.foot{text-align:center;padding:3.5rem 1.6rem 3rem;font-size:.8rem;color:var(--muted)}
.foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.4rem;margin-bottom:1.2rem}
.foot nav a{letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}

@media(max-width:900px){
  .facts{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .hero{min-height:70vh;min-height:70svh}
  .hero .bg img{object-position:68% center}
  .hero .scrim{background:linear-gradient(180deg, rgba(3,4,6,.45) 0%, rgba(3,4,6,.3) 24%, rgba(3,4,6,.8) 56%, rgba(3,4,6,.97) 100%)}
  .spots,.shots{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  .book{padding:1.8rem 1.3rem}
  .author{flex-direction:column;text-align:center}
  section.block{padding-top:3rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.btn{transition:none}}

/* light theme */
html[data-theme="light"]{--gold:#7a5c25;--gold-light:#5f4819;--dark:#fbf9f5;--dark2:#ffffff;--panel:#ffffff;--cream:#171511;--body:#2c2822;--muted:#5d5750;--border:rgba(120,95,45,.26);color-scheme:light}
html[data-theme="light"] .topbar{background:rgba(255,255,255,.92)}
html[data-theme="light"] .topbar .brand img{filter:invert(1) brightness(.28)}
html[data-theme="light"] .tb-nav a,html[data-theme="light"] .tb-burger{color:#241f18}
html[data-theme="light"] .tb-nav .tb-cta{color:var(--gold)}
html[data-theme="light"] .tb-nav .tb-cta:hover{color:#fff}
@media(max-width:1100px){html[data-theme="light"] .tb-nav{background:rgba(255,255,255,.98)}html[data-theme="light"] .tb-nav a{border-top-color:rgba(0,0,0,.07)}}
html[data-theme="light"] .lede{color:#2c2822}
html[data-theme="light"] .btn-gold{color:#fff}
html[data-theme="light"] .hero .btn-gold{background:#c8a96e;color:#111}
html[data-theme="light"] .book{background:linear-gradient(160deg,#fff,#f7f4ee)}
html[data-theme="light"] .shots img{border-color:rgba(0,0,0,.12)}

/* print pages */
.print-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2.6rem;align-items:start;padding-top:2.4rem}
.print-top figure{margin:0}
.print-top img{width:100%;height:auto;border-radius:10px;border:1px solid var(--border)}
.print-top .crumbs{color:var(--muted);text-shadow:none;margin-bottom:1rem}
.print-top .crumbs a{color:var(--gold)}
.print-top h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.08;color:var(--cream);margin-bottom:.5rem}
.print-top .where{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem}
.print-top .btn-ghost{border-color:var(--border);color:var(--cream)}
.spec{margin:1.4rem 0 1.6rem;border-top:1px solid var(--border)}
.spec div{display:flex;gap:1rem;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--border);font-size:.95rem}
.spec dt{color:var(--muted)}
.spec dd{color:var(--cream);text-align:right}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.6rem}
.pgrid .card img{aspect-ratio:3/2}
@media(max-width:900px){.print-top{grid-template-columns:1fr;gap:1.6rem}.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pgrid{grid-template-columns:1fr}}
