@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/author-tours/andalusia-2027/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/author-tours/andalusia-2027/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/author-tours/andalusia-2027/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/author-tours/andalusia-2027/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/author-tours/andalusia-2027/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/author-tours/andalusia-2027/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/author-tours/andalusia-2027/font-7.ttf) format('truetype');
}

/* The tour keeps its palette and serif headings; scale and controls use site tokens. */
.author-program{--ink:#292f2b;--muted:#555e55;--paper:#f8f7f2;--cream:#eee9dd;--line:#d8d8ce;--olive:#56634d;--rust:#ae6b46;margin-top:var(--s5);background:var(--paper);color:var(--ink);font:var(--text-base)/1.5 'DM Sans',var(--font)}
.author-program .wrap{width:calc(100% - var(--s6) * 2);max-width:var(--max);margin-inline:auto;min-width:0}
.author-program img{display:block;width:100%;height:100%;object-fit:cover}
.author-program p{margin:0 0 var(--s3);color:var(--muted)}
.author-program p:last-child{margin-bottom:0}
.author-program h1,.author-program h2,.author-program h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.25;margin:0}
.author-program h2{font-size:var(--text-h2)}
.author-program h3{font-size:var(--text-lg)}
.author-program .eyebrow{font-size:var(--text-xs);letter-spacing:.12em;color:var(--olive);margin:0 0 var(--s2)}
.author-program .program-nav{margin-block:var(--s3) var(--s4)}
.author-program .wrap>.text-link{display:inline-block;margin-top:var(--s3);font-size:var(--text-sm)}
.author-program .button{background:var(--olive);border-color:var(--olive);color:#fff}
.author-program .button:hover{background:var(--ink)}
.author-program .button.outline{background:transparent;color:var(--olive);border-color:var(--line)}
.author-program .button.outline:hover{background:var(--cream);border-color:var(--olive)}
.author-program .hero{position:relative;display:grid;grid-template-columns:1fr;gap:0;padding:0;min-height:320px;overflow:hidden;color:#fff}
.author-program .hero>img{position:absolute;inset:0}
.author-program .hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111a14b3,#111a140a),linear-gradient(0deg,#111a1499,transparent 55%)}
.author-program .hero-content{position:relative;z-index:1;padding-block:var(--s6)}
.author-program .hero .eyebrow{color:#e7dfc6}
.author-program .hero h1{font-size:var(--text-hotel-title);max-width:700px;line-height:1.12;letter-spacing:-.035em;margin:var(--s2) 0 var(--s4)}
.author-program .hero p{font-size:var(--text-base);line-height:1.5;max-width:520px;color:#f0efe8}
.author-program .hero-meta{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);margin-block:var(--s4);font-size:var(--text-sm)}
.author-program .hero-meta span{border-left:1px solid #dedbc7;padding-left:var(--s3)}
.author-program .hero-offer{display:flex;align-items:center;gap:var(--s4);margin-block:var(--s4)}
.author-program .hero-offer strong{font:var(--text-h2)/1.25 Georgia,serif;white-space:nowrap}
.author-program .hero-offer span{font-size:var(--text-sm)}
.author-program .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s4)}
.author-program .hero .button{background:#f5f1e8;border-color:#f5f1e8;color:var(--ink)}
.author-program .hero-contact{font-size:var(--text-sm);text-decoration:underline;text-underline-offset:var(--s1)}
.author-program .intro,.author-program .section{padding-block:var(--s6)}
.author-program .intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6);align-items:center}
.author-program .intro h2{margin-bottom:var(--s4)}
.author-program .intro-img{aspect-ratio:2.1;max-height:320px;overflow:hidden}
.author-program .stats{display:flex;gap:var(--s5);margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}
.author-program .stats strong{display:block;font:var(--text-xl)/1.4 Georgia,serif}
.author-program .stats small{font-size:var(--text-xs);color:var(--muted)}
.author-program .section.alt{background:var(--cream)}
.author-program .sectionhead{display:flex;align-items:end;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s5)}
.author-program .sectionhead p{max-width:420px}
.author-program .features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.author-program .feature{padding:var(--s4);background:var(--paper)}
.author-program .feature .number{color:var(--rust);font-size:var(--text-xs);letter-spacing:.12em}
.author-program .feature h3{margin:var(--s3) 0 var(--s2)}
.author-program .timeline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s5);align-items:start}
.author-program .timeline-visual{position:sticky;top:var(--s5);height:calc(var(--s8) * 4)}
.author-program .days{border-top:1px solid var(--line)}
.author-program details{border-bottom:1px solid var(--line)}
.author-program summary{display:grid;grid-template-columns:var(--s8) minmax(0,1fr) var(--s4);align-items:center;gap:var(--s3);padding-block:var(--s3);list-style:none;cursor:pointer}
.author-program summary::-webkit-details-marker{display:none}
.author-program summary strong{font:400 var(--text-base)/1.4 'Playfair Display',Georgia,serif}
.author-program summary i{font-style:normal;font-size:var(--text-lg);color:var(--olive);transition:transform .15s}
.author-program details[open]>summary i{transform:rotate(45deg)}
.author-program .daynum{font-size:var(--text-xs);color:var(--rust)}
.author-program .daybody{padding-bottom:var(--s4);color:var(--muted)}
.author-program .daybody ul{margin:var(--s2) 0 var(--s3);padding-left:var(--s5)}
.author-program .daybody li{margin-block:var(--s1)}
.author-program .optional-tag{display:block;margin-top:var(--s1);font:600 var(--text-xs)/1.4 var(--font);color:var(--rust)}
.author-program .hotel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--s5)}
.author-program .hotel{background:#fff;min-width:0}
.author-program .hotel .photo{aspect-ratio:2.3;max-height:230px;overflow:hidden}
.author-program .hotel .copy{padding:var(--s4)}
.author-program .hotel h3{margin:var(--s2) 0 var(--s3)}
.author-program .hotel-more{margin-top:var(--s3);border-top:1px solid var(--line);border-bottom:0}
.author-program .hotel-more summary{display:flex;justify-content:space-between;font-size:var(--text-sm);font-weight:600;color:var(--olive)}
.author-program .hotel-info h4{font-size:var(--text-base);margin:var(--s4) 0 var(--s2)}
.author-program .hotel-info .hotel-nuance{font-size:var(--text-sm)}
.author-program .hotel-info iframe{display:block;width:100%;height:230px;border:0;border-radius:var(--radius-sm);margin-top:var(--s3);background:var(--cream)}
.author-program .hotel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3) var(--s4);margin-top:var(--s3);font-size:var(--text-sm)}
.author-program .included{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}
.author-program .included h3{margin-bottom:var(--s3)}
.author-program .included ul{padding:0;margin:0;list-style:none}
.author-program .included li{padding-block:var(--s2);border-bottom:1px solid var(--line)}
.author-program .included li:before{content:'+';color:var(--olive);margin-right:var(--s3);font-weight:700}
.author-program .included .not li:before{content:'−';color:var(--rust)}
.author-program .section-price{font:var(--text-xl)/1.4 Georgia,serif;margin:var(--s3) 0 0}
.author-program .section-price span{display:block;font:var(--text-sm)/1.5 var(--font);margin-top:var(--s1)}
.author-program .faq{max-width:720px}
.author-program .faq summary{grid-template-columns:minmax(0,1fr) var(--s4)}
.author-program .faq-body{padding:0 var(--s5) var(--s4) 0;color:var(--muted)}
.author-program .cta{background:#39483c;color:#f7f5eb;padding-block:var(--s6)}
.author-program .cta-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--s6);align-items:center}
.author-program .cta h2{margin-bottom:var(--s3)}
.author-program .cta p{color:#cdd5ca}
.author-program .request-eyebrow{color:#c9d2b8}
.author-program .price{font:var(--text-h2)/1.25 Georgia,serif}
.author-program .cta .button{background:#f2ebdb;border-color:#f2ebdb;color:#293329}
.author-program .request-options{display:grid;gap:var(--s3);margin-block:var(--s4)}
.author-program .request-options label{color:#f7f5eb}
.author-program .request-options select{color:var(--ink);background:var(--paper)}
.author-program .contact-options{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s4);margin-top:var(--s4);font-size:var(--text-sm)}
.author-program .contact-options a{text-decoration:underline;text-underline-offset:var(--s1)}
.author-program .foot{padding-block:var(--s4);font-size:var(--text-sm)}
.author-program .floating{display:none}
.author-program .note{font-size:var(--text-sm);color:var(--muted);margin-top:var(--s2)}
.author-program .photo-caption{padding:var(--s2) var(--s4) 0;font-size:var(--text-xs)}
.author-program section{scroll-margin-top:var(--s5)}
@media(max-width:900px){
 .author-program .intro-grid,.author-program .timeline,.author-program .cta-grid{grid-template-columns:1fr;gap:var(--s5)}
 .author-program .intro-img{order:-1;max-height:230px}
 .author-program .timeline-visual{display:none}
 .author-program .sectionhead{display:block}
 .author-program .sectionhead p{margin-top:var(--s3)}
}
@media(max-width:600px){
 .author-program{margin-top:var(--s4)}
 .author-program .wrap{width:calc(100% - var(--s4) * 2)}
 .author-program .hero{min-height:0}
 .author-program .hero-content,.author-program .intro,.author-program .section,.author-program .cta{padding-block:var(--s5)}
 .author-program .hero h1{font-size:var(--text-h2)}
 .author-program .hero-offer{align-items:start;gap:var(--s3)}
 .author-program .hero-meta{gap:var(--s2) var(--s3)}
 .author-program .features,.author-program .hotel-grid,.author-program .included{grid-template-columns:1fr}
 .author-program .stats{gap:var(--s4)}
 .author-program .hotel-actions{align-items:stretch}
}
@media(prefers-reduced-motion:reduce){.author-program summary i{transition:none}}
