/* Luxury Tours Canada. Design system derived from the approved artboards (Experience, Blog, Destination).
   Base styles 320px, breakpoints 640px and 1024px. Mobile first. */

:root{
  --spruce:#10281F;
  --spruce-deep:#0A1812;
  --lake:#1F4A5C;
  --maple:#B3202A;
  --amber:#D98A2B;
  --orange:#C4622D;
  --gold:#E3B04B;
  --warm-white:#FAF8F4;
  --glacier:#DCE6E4;
  --slate:#4A5568;
  --near-black:#2D2D2D;
  --rule:#D5D1C8;
}
html{color-scheme:light;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;
  background:var(--warm-white);
  color:var(--near-black);
  font-family:'EB Garamond',Georgia,serif;
  font-size:clamp(17px,2vw,19px);
  line-height:1.8;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;margin:0}
p{margin:0 0 1.1em}
ul{margin:0 0 1.1em;padding-left:1.2em}
.skip{position:absolute;left:-9999px;top:0;background:var(--spruce);color:var(--warm-white);padding:12px 18px;z-index:100}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--spruce);outline-offset:3px}

/* Labels, the Montserrat furniture of the system */
.lab{
  font-family:Montserrat,sans-serif;font-weight:500;font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;line-height:1.6;
}
.lab-lg{font-size:11px}

/* Buttons: Maple Red is the only red on any page, and it belongs to the CTA */
.btn{
  display:inline-block;background:var(--maple);color:var(--warm-white);
  border:0;cursor:pointer;text-decoration:none;text-align:center;
  font-family:Montserrat,sans-serif;font-weight:500;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;padding:15px 22px;min-height:44px;
}
.btn:hover{background:var(--orange)}
.btn-sm{padding:10px 14px;font-size:10px}
.btn-ghost{background:transparent;color:var(--warm-white);border:1px solid var(--warm-white)}
.btn-ghost:hover{background:rgba(250,248,244,.12)}

/* Header */
.site-head{background:var(--spruce);position:sticky;top:0;z-index:40}
.site-head .bar{
  max-width:1120px;margin:0 auto;padding:12px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.wordmark{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:16px;
  letter-spacing:.12em;color:var(--warm-white);text-decoration:none;line-height:1.2}
.wordmark span{display:block;font-family:Montserrat,sans-serif;font-weight:500;font-size:8px;
  letter-spacing:.24em;color:var(--amber);margin-top:4px}
.site-nav{display:none}
.site-nav a{font-family:Montserrat,sans-serif;font-weight:500;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--warm-white);text-decoration:none;padding:12px 10px}
.site-nav a:hover{color:var(--amber)}
.nav-toggle{background:transparent;border:1px solid rgba(250,248,244,.45);color:var(--warm-white);
  min-height:44px;min-width:44px;font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;cursor:pointer}
.drawer{display:none;background:var(--spruce-deep);border-top:1px solid rgba(250,248,244,.15)}
.drawer.open{display:block}
.drawer a{display:block;color:var(--warm-white);text-decoration:none;font-family:Montserrat,sans-serif;
  font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:15px 20px;
  border-bottom:1px solid rgba(250,248,244,.1)}

/* Breadcrumb strip */
.crumbs{background:var(--glacier);color:var(--slate);padding:11px 20px}
.crumbs .inner{max-width:1120px;margin:0 auto}
.crumbs a{color:var(--slate);text-decoration:none}
.crumbs a:hover{text-decoration:underline}

/* Hero */
.hero{position:relative;background:var(--lake);overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero .veil{position:absolute;inset:0;background:rgba(16,40,31,.58)}
.hero .inner{position:relative;max-width:1120px;margin:0 auto;padding:96px 20px 40px;
  display:flex;flex-direction:column;justify-content:flex-end;min-height:64svh}
.hero .eyebrow{color:var(--amber);margin-bottom:12px}
.hero h1{font-weight:300;font-size:clamp(30px,7vw,54px);line-height:1.1;color:var(--warm-white);margin-bottom:12px}
.hero .sub{font-style:italic;font-size:clamp(17px,2.4vw,20px);line-height:1.6;color:#EDF2EF;max-width:44ch;margin-bottom:22px}
.hero-short .inner{min-height:38svh;padding-top:70px}

/* Sections */
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
section{padding:34px 0}
.band-white{background:var(--warm-white)}
.band-glacier{background:var(--glacier)}
.band-spruce{background:var(--spruce)}
.band-deep{background:var(--spruce-deep)}
.band-slate{background:var(--slate)}
.section-head{margin-bottom:18px}
.eyebrow{color:var(--amber)}
.on-dark{color:var(--warm-white)}
.on-dark .eyebrow{color:var(--amber)}
h2.section-title{font-weight:600;font-size:clamp(24px,4.6vw,32px);line-height:1.15;color:var(--spruce);margin-bottom:10px}
.band-spruce h2.section-title,.band-deep h2.section-title,.on-dark h2.section-title{color:var(--warm-white)}
.band-slate .section-title{color:var(--warm-white)}
h3.card-title{font-weight:600;font-size:clamp(19px,3vw,23px);color:var(--spruce);line-height:1.25}
.lede{font-size:clamp(17px,2.2vw,20px);line-height:1.75}
.rule{height:1px;background:var(--rule);border:0;margin:26px 0}
.small{font-size:15px;color:var(--slate)}
.band-spruce .small,.band-deep .small{color:#C9D3CE}
blockquote{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;
  font-size:clamp(21px,3.4vw,27px);line-height:1.35;color:var(--warm-white);font-style:italic}

/* Media slots: real asset path, styled ground, no broken icons before the photo lands */
.shot{position:relative;background:var(--glacier);overflow:hidden;margin:0}
.shot img{width:100%;height:100%;object-fit:cover}
.shot figcaption{font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--slate);padding:8px 0}
.shot-hero{min-height:220px}
.shot-wide{min-height:200px}
.shot-card{min-height:150px}
.shot-mosaic{min-height:230px}

/* Cards and grids */
.grid{display:grid;gap:14px}
.g-2,.g-3,.g-4{grid-template-columns:1fr}
.card{background:var(--glacier);color:var(--near-black)}
.card .body{padding:16px 18px 20px}
.card p{margin-bottom:0;font-size:17px;line-height:1.75}
.card a.more{display:inline-block;margin-top:10px;font-family:Montserrat,sans-serif;font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--maple);text-decoration:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{border:1px solid var(--warm-white);color:var(--warm-white);padding:8px 11px}
.chip-dark{border-color:var(--spruce);color:var(--spruce)}

/* Best-for strip */
.bestfor{background:var(--slate);padding:16px 0}
.bestfor .lab{color:var(--warm-white);margin-bottom:10px}

/* Long-form body */
.prose{max-width:760px}
.prose h2{font-weight:600;font-size:clamp(23px,4vw,29px);color:var(--spruce);line-height:1.2;margin:30px 0 12px}
.prose h3{font-weight:600;font-size:clamp(19px,3vw,22px);color:var(--spruce);line-height:1.3;margin:24px 0 10px}
.band-spruce .prose h2,.band-deep .prose h2,.band-spruce .prose h3,.band-deep .prose h3{color:var(--warm-white)}
.prose ul li{margin-bottom:8px}

/* Steps */
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{display:flex;gap:14px;margin:16px 0}
.steps .num{flex:none;width:38px;height:38px;border:1px solid var(--spruce);color:var(--spruce);
  display:flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-size:13px}
.band-spruce .steps .num,.band-deep .steps .num{border-color:var(--warm-white);color:var(--warm-white)}

/* Bullet list with amber ticks */
.ticks{list-style:none;padding:0}
.ticks li{display:flex;gap:12px;margin:12px 0}
.ticks li::before{content:"";flex:none;width:8px;height:8px;background:var(--amber);margin-top:11px}

/* FAQ accordions */
.faq{max-width:760px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:16px 0;cursor:pointer;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
  font-size:clamp(18px,2.8vw,21px);color:var(--spruce);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:Montserrat,sans-serif;font-size:18px;color:var(--amber)}
.faq details[open] summary::after{content:"\2212"}
.faq .ans{padding:0 0 18px;max-width:70ch}

/* CTA band */
.cta{position:relative;background:var(--lake);text-align:center;overflow:hidden}
.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta .veil{position:absolute;inset:0;background:rgba(16,40,31,.62)}
.cta .inner{position:relative;max-width:760px;margin:0 auto;padding:56px 20px}
.cta h2{font-weight:400;font-size:clamp(25px,5vw,32px);color:var(--warm-white);margin-bottom:10px}
.cta p{color:#EDF2EF;font-style:italic;margin-bottom:20px}

/* Form */
.form-wrap{max-width:640px;margin:0 auto}
.form-group{margin-bottom:16px}
.form-row{display:grid;gap:16px;grid-template-columns:1fr}
.f-label{display:block;font-family:Montserrat,sans-serif;font-weight:500;font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--spruce);margin-bottom:7px}
.form-input,.form-select{width:100%;font-family:'EB Garamond',Georgia,serif;font-size:17px;
  padding:13px 14px;border:1px solid #A9B3AE;background:var(--warm-white);color:var(--near-black);
  min-height:48px;border-radius:0}
textarea.form-input{min-height:110px;resize:vertical}
.form-note{font-size:15px;color:var(--slate);margin-top:12px}
.promise-item{display:flex;gap:10px;margin:10px 0;font-size:17px}
.promise-dot{flex:none;width:8px;height:8px;background:var(--amber);margin-top:11px}
.form-ok{background:var(--glacier);padding:18px;margin-top:14px;display:none}
.form-ok.show{display:block}

/* Callout block */
.callout{background:var(--glacier);padding:20px;margin:18px 0}
.callout .lab{color:var(--spruce);margin-bottom:8px}
.callout p:last-child{margin-bottom:0}

/* Footer */
.site-foot{background:var(--spruce-deep);color:#DDE4E0;padding:34px 0 22px;font-size:16px}
.site-foot .cols{display:grid;gap:22px;grid-template-columns:1fr}
.site-foot .lab{color:var(--warm-white);margin-bottom:10px}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:7px 0}
.site-foot a{color:#DDE4E0;text-decoration:none}
.site-foot a:hover{color:var(--amber);text-decoration:underline}
.site-foot .bottom{border-top:1px solid rgba(250,248,244,.15);margin-top:26px;padding-top:16px;
  font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9FB0A9}
.site-foot .brandline{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:20px;
  letter-spacing:.1em;color:var(--warm-white)}

@media(min-width:640px){
  .g-2{grid-template-columns:1fr 1fr}
  .g-3{grid-template-columns:1fr 1fr}
  .g-4{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr 1fr}
  .site-foot .cols{grid-template-columns:1.2fr 1fr 1fr}
  .shot-hero{min-height:320px}
  .hero .inner{min-height:72svh}
}
@media(min-width:1024px){
  .site-nav{display:flex;align-items:center}
  .nav-toggle,.drawer{display:none!important}
  .g-3{grid-template-columns:repeat(3,1fr)}
  .g-4{grid-template-columns:repeat(4,1fr)}
  .site-foot .cols{grid-template-columns:1.4fr 1fr 1fr 1fr}
  .split{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
  .split-wide{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:start}
  .shot-hero{min-height:420px}
  section{padding:46px 0}
}
@media(max-height:640px){
  .hero .inner{min-height:52svh;padding-top:64px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.hero h1 em,.section-title em,.result-title em{font-style:italic;color:var(--gold);font-weight:inherit}
.quote-text em{font-style:italic;color:var(--gold)}
.section-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(26px,4.5vw,40px);line-height:1.15;color:var(--spruce)}
.on-dark .section-title,.band-deep .section-title,.band-spruce .section-title,.quote-band .section-title{color:var(--warm-white)}
.on-dark .lede,.band-deep .lede,.band-spruce .lede{color:#D8E2DC}
