/* ==========================================================
   Southern Luxe Escapes — base, layout and page sections.
   Section-specific pieces (trip, collection, FAQ, forms…) are
   in components.css.
   ========================================================== */

:root{
  --sle-green:#173329;
  --sle-ink:#282526;
  --sle-text:#655F59;
  --sle-body:#272523D9;
  --sle-label:#345548;
  --sle-gold:#C5A672;
  --sle-cream:#F8F0E2;
  --sle-cream-btn:#FBF6EC;
  --sle-border:#E6DCCB;
  --sle-lavender:#EEE8F9;
  --sle-blush:#FAF5F6;
  --sle-sand:#DDCEB659;
  --sle-serif:'Cormorant Garamond',serif;
  --sle-sans:'Montserrat',sans-serif;
  --sle-wrap:1150px;
}

/* ---------- Base (on top of reset.css) ---------- */
body{font-family:var(--sle-sans);overflow-x:hidden;}
a{color:inherit;}
a:hover,a:active{color:inherit;}
figure,blockquote{margin:0;}

/* Site-wide heading style */
.sle-site h1,
.sle-site h2{
  font-family:var(--sle-serif);
  font-weight:300;
  letter-spacing:.005em;
}
.sle-site h1{font-size:60px;line-height:1.08;}
.sle-site h2{font-size:44px;line-height:1.25;}

/* Default buttons / fields in the site palette */
[type=button],[type=submit],button{border-color:var(--sle-green);color:var(--sle-green);}
[type=button]:hover,[type=submit]:hover,button:hover,
[type=button]:focus,[type=submit]:focus,button:focus{background-color:var(--sle-green);color:#fff;}
.sle-site a:focus-visible,.sle-site button:focus-visible{outline:2px solid var(--sle-gold);outline-offset:3px;box-shadow:none;}

/* Our own text elements carry no default margins */
.sle-eyebrow,.sle-site .sle-h1,.sle-site .sle-h2,.sle-lead,.sle-text p,.sle-hero-text p,
.sle-card-title,.sle-card-text,.sle-about-sub,.sle-sign p,.sle-list-title,.sle-tagline,
.sle-faq-note,.sle-footer-tagline,.sle-footer-subline,.sle-footer-title{margin:0;}
.sle-nav-list,.sle-footer-list,.sle-list{margin:0;padding:0;list-style:none;}

.sle-skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  padding:10px 16px;background:var(--sle-green);color:#fff;font-size:13px;
}
.sle-skip:focus{left:10px;top:10px;}

/* ---------- Layout ---------- */
.sle-container{width:100%;max-width:var(--sle-wrap);margin:0 auto;}
.sle-section{padding:110px 20px;}
.sle-stack{display:flex;flex-direction:column;gap:48px;}
.sle-stack--center{align-items:center;}

.sle-bg-cream{background:var(--sle-cream);}
.sle-bg-lavender{background:var(--sle-lavender);}
.sle-bg-blush{background:var(--sle-blush);}
.sle-bg-sand{background:var(--sle-sand);}

/* ---------- Type ---------- */
.sle-eyebrow{
  font-family:var(--sle-sans);
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--sle-label);
}
.sle-eyebrow--hero{font-size:12px;}
.sle-site .sle-h1,.sle-site .sle-h2{
  font-family:var(--sle-serif);
  font-weight:300;
  line-height:1.08;
  letter-spacing:.005em;
  color:var(--sle-green);
}
.sle-site .sle-h1{font-size:60px;}
.sle-site .sle-h1--about{font-size:54px;}
.sle-site .sle-h2{font-size:44px;}
.sle-site .sle-h2 a:hover{color:var(--sle-gold);}
.sle-lead{
  font-family:var(--sle-serif);
  font-size:24px;
  font-weight:600;
  line-height:1.3;
  color:var(--sle-green);
}
.sle-text{
  font-family:var(--sle-sans);
  font-size:14px;
  font-weight:400;
  line-height:1.65;
  color:var(--sle-body);
}
.sle-text--md{font-size:16px;}
.sle-text--lg{font-size:18px;}
.sle-text p + p{margin-top:15px;}
.sle-site .sle-text a{text-decoration:underline;}

/* Centered section heading */
.sle-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  width:100%;
  text-align:center;
}
.sle-head .hairline{width:23%;}
.sle-head .sle-lead{max-width:65%;}
.sle-head .sle-text{max-width:63%;}
.sle-head--narrow .sle-text{max-width:53%;}
.sle-head--tight-title .sle-h2{max-width:50%;}

/* ---------- Buttons ---------- */
.sle-btn{
  display:inline-block;
  padding:12px 24px;
  background:var(--sle-green);
  border:1px solid var(--sle-green);
  border-radius:50px;
  box-shadow:0 12px 30px -16px rgba(24,59,53,.8);
  color:var(--sle-cream-btn);
  font-family:var(--sle-sans);
  font-size:12px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:center;
  cursor:pointer;
  transition:all .3s;
}
.sle-btn:hover,.sle-btn:focus{
  background:var(--sle-gold);
  border-color:var(--sle-gold);
  color:var(--sle-green);
}
.sle-btn--outline{
  background:transparent;
  border-color:var(--sle-gold);
  color:var(--sle-green);
}
.sle-btn--outline:hover,.sle-btn--outline:focus{
  background:var(--sle-green);
  border-color:var(--sle-green);
  color:var(--sle-cream-btn);
}
.sle-btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:20px;}

/* ---------- Entrance animations ---------- */
@keyframes sleFadeInUp{
  from{opacity:0;transform:translate3d(0,60px,0);}
  to{opacity:1;transform:none;}
}
@keyframes sleFadeInDown{
  from{opacity:0;transform:translate3d(0,-100%,0);}
  to{opacity:1;transform:none;}
}
.sle-js .sle-anim{opacity:0;}
.sle-js .sle-anim.is-in{opacity:1;animation:sleFadeInUp 1.25s both;}
.sle-js .sle-header{animation:sleFadeInDown 1.25s both;}

/* ==========================================================
   Header
   ========================================================== */
.sle-header{
  position:relative;
  z-index:20;
  padding:10px 20px;
  background:#FFFFFFF2;
  border-bottom:1px solid var(--sle-gold);
}
.sle-header-inner{display:flex;align-items:center;gap:10px;}
.sle-header-logo{flex:0 1 20%;display:flex;}
.sle-header-cta{flex:0 1 20%;display:flex;justify-content:flex-end;}
.sle-nav{flex:1 1 60%;display:flex;justify-content:center;}
.sle-nav-cta{display:none;}

.sle-logo{display:block;width:100%;}
.sle-site .sle-logo img{display:block;width:100%;height:70px;object-fit:contain;object-position:center;}
.sle-logo-text{font-family:var(--sle-serif);font-size:26px;font-weight:600;color:var(--sle-green);line-height:70px;}

.sle-nav-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 32px;}
.sle-nav-list a{
  position:relative;
  display:block;
  font-family:var(--sle-sans);
  font-size:12px;
  font-weight:500;
  line-height:20px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sle-ink);
  white-space:nowrap;
  transition:color .4s;
}
.sle-nav-list a::after{
  content:"";
  position:absolute;left:0;right:0;bottom:-3px;
  height:1px;
  background:var(--sle-green);
  opacity:0;
  transition:opacity .3s;
}
.sle-nav-list a:hover,
.sle-nav-list .current-menu-item > a,
.sle-nav-list .current_page_item > a{color:var(--sle-green);}
.sle-nav-list a:hover::after,
.sle-nav-list .current-menu-item > a::after,
.sle-nav-list .current_page_item > a::after{opacity:1;}

.sle-nav-toggle{
  display:none;
  margin-left:auto;
  width:44px;height:44px;
  padding:0;
  background:transparent;
  border:1px solid var(--sle-gold);
  border-radius:50%;
  cursor:pointer;
}
.sle-nav-toggle span{
  display:block;
  width:18px;height:1.5px;
  margin:4px auto;
  background:var(--sle-green);
  transition:transform .3s,opacity .3s;
}
.sle-nav-open .sle-nav-toggle span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.sle-nav-open .sle-nav-toggle span:nth-child(2){opacity:0;}
.sle-nav-open .sle-nav-toggle span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}

/* ==========================================================
   Hero (photo + cream card)
   ========================================================== */
.sle-hero{
  padding:120px 20px;
  background-color:var(--sle-green);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}
.sle-hero-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:20px;
  width:672px;
  max-width:100%;
  padding:44px;
  background:#F8F0E2EB;
  border:1px solid var(--sle-border);
  border-radius:20px;
  box-shadow:0 24px 70px -30px rgba(24,59,53,.55);
}
.sle-hero-card .hairline{width:23%;}
.sle-hero-logo{
  max-width:100%;
  padding:28px;
  background:#fff;
  border:1px solid var(--sle-border);
  border-radius:20px;
  box-shadow:0 18px 50px -24px rgba(24,59,53,.35);
}
.sle-site .sle-hero-logo img{display:block;width:auto;max-width:100%;height:80px;object-fit:contain;}
.sle-hero-text{
  font-family:var(--sle-sans);
  font-weight:400;
  line-height:1.65;
  color:var(--sle-body);
}
.sle-hero-text--md{font-size:16px;}
.sle-hero-text--lg{font-size:18px;}
.sle-hero-text p + p{margin-top:15px;}

/* ==========================================================
   Image cards (Home services, Destinations)
   ========================================================== */
.sle-cards{display:grid;gap:28px;}
.sle-cards--3{grid-template-columns:repeat(3,1fr);}
.sle-cards--4{grid-template-columns:repeat(4,1fr);gap:24px;}
.sle-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--sle-border);
  border-radius:20px;
  transition:border-color .3s,box-shadow .3s;
}
.sle-card:hover{border-color:var(--sle-gold);box-shadow:0 0 10px 0 rgba(0,0,0,.5);}
.sle-card-media{overflow:hidden;border-radius:19px 19px 0 0;}
.sle-site .sle-card-media img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  transition:transform 1s;
}
.sle-site .sle-card:hover .sle-card-media img{transform:scale(1.1);}
.sle-card-body{display:flex;flex-direction:column;gap:10px;padding:24px;flex:1;}
.sle-card-body .hairline{width:23%;}
.sle-card-title{
  font-family:var(--sle-serif);
  font-size:20px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.005em;
  color:var(--sle-green);
}
.sle-card-text{
  font-family:var(--sle-sans);
  font-size:14px;
  line-height:1.65;
  color:var(--sle-body);
}
.sle-card-foot{padding:0 24px 24px;}
.sle-card-foot .sle-btn{padding:12px;border-color:var(--sle-green);}

/* ==========================================================
   Photo + text rows (Home founder, About intro)
   ========================================================== */
.sle-split{display:flex;gap:64px;}
.sle-split-media{flex:0 1 40%;min-width:0;}
.sle-split-body{
  flex:0 1 60%;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:20px;
}
.sle-split-body .hairline{width:23%;}
.sle-site .sle-photo{display:block;width:100%;border-radius:20px;box-shadow:0 0 10px 0 rgba(0,0,0,.5);}

/* ==========================================================
   FAQ block
   ========================================================== */
.sle-faq-wrap{display:flex;flex-direction:column;align-items:center;gap:25px;}
.sle-faq-wrap .sle-faq{max-width:768px;}
.sle-faq-note{
  font-family:var(--sle-sans);
  font-size:12px;
  line-height:1.65;
  color:var(--sle-body);
  text-align:center;
}
.sle-site .sle-faq-note a{font-weight:700;text-decoration:underline;}

/* ==========================================================
   Call-to-action band
   ========================================================== */
.sle-cta{
  display:flex;
  justify-content:center;
  padding:112px 20px;
  background-color:var(--sle-green);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}
.sle-cta-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  width:768px;
  max-width:100%;
  padding:44px;
  background:#F8F0E2EB;
  border-radius:20px;
  box-shadow:0 0 10px 0 rgba(0,0,0,.5);
  text-align:center;
}
.sle-cta-card .hairline{width:23%;}
.sle-cta-card .sle-text{max-width:63%;}

/* ==========================================================
   About
   ========================================================== */
.sle-about-sub{
  font-family:var(--sle-serif);
  font-size:24px;
  font-weight:600;
  line-height:1.625;
  color:var(--sle-green);
}
.sle-about-text{
  font-family:var(--sle-sans);
  font-size:18px;
  line-height:1.65;
  color:var(--sle-body);
}
.sle-about-text p{margin:0 0 15px;}
.sle-sign{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-left:20px;
  border-left:2px solid var(--sle-gold);
  font-family:var(--sle-serif);
  color:var(--sle-green);
}
.sle-sign-greeting{font-size:20px;font-weight:500;line-height:1.4;letter-spacing:.005em;}
.sle-sign-name{font-size:30px;font-weight:300;line-height:1.08;letter-spacing:.005em;}
.sle-sign-role{font-size:20px;font-weight:400;line-height:1.4;letter-spacing:.005em;}

.sle-list-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:672px;
  max-width:100%;
  margin:0 auto;
  padding:50px 32px;
  background:#fff;
  border:1px solid var(--sle-gold);
  border-radius:20px;
  transition:box-shadow .3s;
}
.sle-list-card:hover{box-shadow:0 0 10px 0 rgba(0,0,0,.5);}
.sle-list-title{
  font-family:var(--sle-sans);
  font-size:14px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--sle-label);
  text-align:center;
}
.sle-list{width:100%;}
.sle-list li{
  margin-top:20px;
  padding:14px 0;
  border-bottom:1px solid #C5A67240;
  font-family:var(--sle-serif);
  font-size:20px;
  font-weight:600;
  line-height:1.4;
  color:var(--sle-green);
  text-align:center;
}
.sle-list li:last-child{margin-top:0;padding-bottom:0;border-bottom:0;}
.sle-tagline{
  margin-top:20px;
  font-family:var(--sle-serif);
  font-size:18px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--sle-label);
}

/* ==========================================================
   Private tours + Contact
   ========================================================== */
.sle-form-wrap{width:767px;max-width:100%;}

.sle-section--contact{padding-top:50px;}
.sle-contact{display:flex;gap:56px;}
.sle-contact-form{flex:0 1 60%;min-width:0;}
.sle-contact-side{flex:0 1 40%;min-width:0;}
.sle-form-box{
  padding:36px;
  border:1px solid var(--sle-gold);
  border-radius:20px;
}

/* ==========================================================
   Forms: shared behaviour (looks are per-form in components.css)
   ========================================================== */
.sle-form-control-wrap{position:relative;}
.sle-form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.sle-form-error{display:block;color:#b3261e;font-size:1em;font-weight:400;}
.sle-form [aria-invalid="true"]{border-color:#b3261e;}
.sle-form .sle-form-response{
  display:none;
  margin:2em .5em 1em;
  padding:.6em 1em;
  border:2px solid var(--sle-gold);
  color:var(--sle-ink);
}
.sle-form .sle-form-response.is-shown{display:block;}
.sle-form .sle-form-response.is-error{border-color:#b3261e;}
@keyframes sleSpin{to{transform:rotate(360deg);}}
.sle-form-spinner{
  visibility:hidden;
  display:inline-block;
  width:22px;height:22px;
  margin:0 0 0 18px;
  border:2px solid #17332933;
  border-top-color:var(--sle-green);
  border-radius:50%;
  vertical-align:middle;
}
.sle-form.is-submitting .sle-form-spinner{visibility:visible;animation:sleSpin .8s linear infinite;}
.sle-form.is-submitting [type=submit]{opacity:.7;pointer-events:none;}

/* ==========================================================
   Trip pages / Collection wrappers
   ========================================================== */
.sle-trip-page{padding-bottom:110px;}

/* Arrow on the email signup button (replaces the icon font) */
.sle-signup-btn i{
  display:block;
  width:16px;height:16px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ==========================================================
   Plain content pages (Privacy Policy, posts)
   ========================================================== */
.sle-prose-wrap{display:flex;flex-direction:column;gap:48px;max-width:820px;}
.sle-post + .sle-post{margin-top:72px;}
.sle-post{display:flex;flex-direction:column;gap:32px;}
.sle-prose{
  font-family:var(--sle-sans);
  font-size:15px;
  line-height:1.75;
  color:var(--sle-body);
}
.sle-prose > * + *{margin-top:16px;}
.sle-prose h2,.sle-prose h3,.sle-prose h4{
  margin-top:40px;
  font-family:var(--sle-serif);
  font-weight:500;
  line-height:1.25;
  color:var(--sle-green);
}
.sle-prose h2{font-size:30px;}
.sle-prose h3{font-size:24px;}
.sle-prose h4{font-size:20px;}
.sle-prose ul,.sle-prose ol{padding-left:22px;}
.sle-prose ul{list-style:disc;}
.sle-prose ol{list-style:decimal;}
.sle-prose li + li{margin-top:6px;}
.sle-site .sle-prose a{color:var(--sle-green);text-decoration:underline;text-decoration-color:var(--sle-gold);}
.sle-prose blockquote{padding-left:20px;border-left:2px solid var(--sle-gold);}
.nav-links{display:flex;justify-content:center;gap:14px;font-size:13px;}

/* ==========================================================
   Footer
   ========================================================== */
.sle-footer{
  padding:56px 20px;
  background:#fff;
  border-top:1px solid var(--sle-gold);
}
.sle-footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;}
.sle-footer-brand{display:flex;flex-direction:column;align-items:flex-start;}
.sle-footer-logo{display:block;}
.sle-site .sle-footer-logo img{display:block;width:auto;max-width:100%;height:80px;object-fit:contain;}
.sle-footer-tagline{
  margin:24px 0 8px;
  font-family:var(--sle-serif);
  font-size:18px;
  font-weight:600;
  line-height:1.5;
  color:var(--sle-green);
}
.sle-footer-subline{
  font-family:var(--sle-sans);
  font-size:14px;
  line-height:1.4;
  color:var(--sle-text);
}
.sle-footer-social{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
.sle-footer-social a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;height:34px;
  background:var(--sle-cream);
  border:1px solid var(--sle-gold);
  border-radius:50%;
  color:var(--sle-green);
  transition:transform .3s,background .3s,border-color .3s;
}
.sle-footer-social svg{width:16px;height:16px;fill:currentColor;}
.sle-footer-social a:hover{transform:scale(1.1);background:var(--sle-gold);border-color:var(--sle-green);}
.sle-footer-col{display:flex;flex-direction:column;gap:20px;}
.sle-footer-title{
  font-family:var(--sle-serif);
  font-size:18px;
  font-weight:700;
  line-height:1;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--sle-gold);
}
.sle-footer-list{display:flex;flex-direction:column;gap:12px;}
.sle-footer-list li,
.sle-footer-list a{
  font-family:var(--sle-sans);
  font-size:14px;
  line-height:1.4;
  color:var(--sle-ink);
  transition:color .3s;
}
.sle-footer-list a:hover{color:var(--sle-green);text-decoration:underline;text-decoration-color:var(--sle-gold);}
.sle-footer-rule{margin:40px 0;}
.sle-footer-bottom{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-items:center;}
.sle-footer-copy{
  display:flex;
  align-items:center;
  gap:15px;
  font-family:var(--sle-sans);
  font-size:14px;
  color:var(--sle-text);
}
.sle-footer-copy--end{justify-content:flex-end;text-align:right;}
.sle-footer-monogram{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:32px;height:32px;
  padding:4px;
  background:var(--sle-cream);
  border:1px solid var(--sle-gold);
  border-radius:99px;
  font-family:var(--sle-serif);
  font-size:14px;
  font-weight:600;
  line-height:1;
  color:var(--sle-green);
}

/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width:1024px){
  .sle-cards--4{grid-template-columns:repeat(2,1fr);}
  .sle-split{gap:40px;}
  .sle-contact{gap:32px;}
}

@media (max-width:900px){
  /* Header: logo left, menu button right, links in a drop-down panel */
  .sle-header-logo{flex:0 1 190px;}
  .sle-site .sle-logo img{height:56px;object-position:left center;}
  .sle-header-cta{display:none;}
  .sle-nav-toggle{display:block;}
  .sle-nav{
    position:absolute;
    left:0;right:0;top:100%;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:8px 20px 24px;
    background:#fff;
    border-bottom:1px solid var(--sle-gold);
    box-shadow:0 24px 40px -24px rgba(24,59,53,.35);
  }
  .sle-nav-open .sle-nav{display:flex;}
  .sle-nav-list{flex-direction:column;align-items:stretch;gap:0;}
  .sle-nav-list a{padding:14px 0;border-bottom:1px solid #C5A67240;font-size:13px;}
  .sle-nav-list a::after{display:none;}
  .sle-nav-cta{display:block;margin-top:20px;}
  .sle-nav-cta .sle-btn{display:block;}

  .sle-cards--3{grid-template-columns:repeat(2,1fr);}
  .sle-footer-grid{grid-template-columns:repeat(2,1fr);gap:40px;}
  .sle-footer-brand{grid-column:1 / -1;}
}

@media (max-width:767px){
  .sle-section{padding:72px 20px;}
  .sle-section--contact{padding-top:0;}
  .sle-stack{gap:36px;}
  .sle-hero{padding:72px 20px;}
  .sle-hero-card{padding:28px 24px;}
  .sle-hero-logo{padding:18px;}
  .sle-site .sle-hero-logo img{height:56px;}
  .sle-cta{padding:72px 20px;}
  .sle-cta-card{padding:32px 24px;}

  .sle-site h1,.sle-site .sle-h1{font-size:40px;}
  .sle-site .sle-h1--about{font-size:38px;}
  .sle-site h2,.sle-site .sle-h2{font-size:34px;}
  .sle-lead{font-size:21px;}
  .sle-about-sub{font-size:21px;line-height:1.4;}
  .sle-about-text,.sle-text--lg,.sle-hero-text--lg{font-size:16px;}

  .sle-head .sle-lead,
  .sle-head .sle-text,
  .sle-head--narrow .sle-text,
  .sle-head--tight-title .sle-h2,
  .sle-cta-card .sle-text{max-width:100%;}
  .sle-head .hairline,.sle-cta-card .hairline{width:40%;}

  .sle-split,.sle-contact{flex-direction:column;gap:36px;}
  .sle-split-media,.sle-split-body,.sle-contact-form,.sle-contact-side{flex:1 1 auto;width:100%;}
  .sle-cards--3,.sle-cards--4{grid-template-columns:1fr;}
  .sle-form-box{padding:24px 20px;}
  .sle-list-card{padding:36px 22px;}
  .sle-list li{font-size:18px;}
  .sle-tagline{font-size:15px;}
  .sle-trip-page{padding-bottom:72px;}

  .sle-footer-grid{grid-template-columns:1fr;}
  .sle-footer-bottom{grid-template-columns:1fr;}
  .sle-footer-copy--end{justify-content:flex-start;text-align:left;}
}

@media (prefers-reduced-motion:reduce){
  .sle-js .sle-anim,.sle-js .sle-anim.is-in,.sle-js .sle-header{opacity:1;animation:none;}
  .sle-card-media img,.sle-btn{transition:none;}
}
