:root{
  --ink:#14372f;
  --ice:#dfeae4;
  --sand:#f5f6f1;
  --orange:#f26322;
  --line:#bdcec5;
}

body,.legal-body{
  color:var(--ink);
  background:var(--sand);
  font-family:"Aptos","Segoe UI Variable Text","Segoe UI",Arial,sans-serif;
  line-height:1.62;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,.legal-hero h1,.error-copy h1{
  font-family:"Aptos Display","Segoe UI Variable Display","Segoe UI",Arial,sans-serif;
  font-weight:650;
  letter-spacing:-.045em;
}

h1 em,h2 em,h3 em,.hero h1 em,.subpage-hero em,.about-heading h2 em,.error-copy h1 em{
  color:inherit;
  font:inherit;
  font-style:normal;
}

p{max-width:68ch}

.label,.legal-kicker{
  font-family:inherit;
  font-size:13px;
  font-weight:650;
  letter-spacing:.015em;
  text-transform:none;
}

.tag{gap:10px}
.tag:before{
  width:18px;
  height:2px;
  border-radius:0;
  background:#79a98e;
}

.topline{background:#14372f}
.topline .wrap{
  font-family:inherit;
  font-size:11px;
  letter-spacing:.045em;
  text-transform:none;
}

.nav,.legal-body .nav{
  background:#f5f6f1f7;
  border-color:#d4dfd8;
}
.logo,.legal-body .logo,.footer-logo,.legal-body .footer-logo{border-radius:2px}
.links a,.legal-body .links a{font-size:14px;font-weight:570}

.btn,.legal-body .btn{
  min-height:50px;
  padding:13px 21px;
  border-radius:3px;
  font-size:14px;
  font-weight:650;
  letter-spacing:0;
  text-transform:none;
  transition:background-color .16s,color .16s,border-color .16s;
}
.btn span{display:none}
.btn:hover,.sd-consent__actions button:hover{transform:none;box-shadow:none}

.hero{
  background-color:#0d292c;
  background-image:linear-gradient(90deg,#082628ed 0%,#0826289c 48%,#0826282e 100%),url('aurora-optimized.jpg');
}
.hero:before{background:linear-gradient(0deg,#092d30a8,transparent 54%)}
.hero h1{font-size:clamp(58px,6vw,90px);font-weight:620;line-height:1.01}
.hero-copy>p{max-width:47ch}
.hero-photo{
  border-radius:5px;
  border-color:#ffffff2b;
  box-shadow:none;
}
.hero-photo>img,.card img,.about-photo img,.portrait img{filter:none}
.photo-bottom strong{font-weight:600}
.cross{border-radius:2px;background:#ffffff10}

.location-strip{background:#e7eee9}
.location-strip .btn{border-radius:3px}

.benefits{background:#edf1ec}
.benefits .wrap>div{border-right:1px solid #cbd8d1}
.benefits .wrap>div:last-child{border-right:0}
.benefits small{
  font-family:inherit;
  font-size:12px;
  font-weight:650;
  letter-spacing:.015em;
  text-transform:none;
}

.section{padding:104px 0}
.section-head{align-items:start}
.section-head>p{max-width:42ch}
.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
.card{display:flex;min-width:0;flex-direction:column}
.card:first-child{grid-column:auto}
.card .pic{width:100%;height:330px;aspect-ratio:auto;border-radius:4px}
.card img{transition:none}
.card:hover img{transform:none}
.card-copy{display:flex;flex:1;flex-direction:column;padding:22px 0 0}
.card-copy p{flex:1;min-height:0;max-width:42ch}
.card-copy>a{margin-top:auto}
.card a{font-size:14px;font-weight:600}

.check{background:#163b32}
.sheet{border-radius:3px;background:#eef3ee}
.options button{border-radius:3px;font-size:14px}
.process{background:#e1ebe4}
.step b{font-family:inherit;letter-spacing:.02em}

.about-photo,.portrait{border-radius:4px}
.about-photo figcaption,.portrait-caption{border-radius:0}
.booking{
  background:#d8e7dc;
  border-top:1px solid #bdcec5;
  border-bottom:1px solid #bdcec5;
}
.booking .btn{background:var(--orange);color:var(--ink)}

.subpage-hero{
  background-image:linear-gradient(90deg,#0a2c2cf0,#0a2c2c68),url('aurora-optimized.jpg');
}
.contact-hero{
  background-image:linear-gradient(90deg,#0a2c2cf0,#0a2c2c59),url('aurora-optimized.jpg')!important;
}
.contact-details{border-radius:4px!important}

.footer,.legal-body .footer{background:#14372f}
.footer-legal{gap:12px 24px}
.fineprint,.legal-body .fineprint{font-family:inherit;letter-spacing:.025em}

.sd-consent{
  bottom:16px;
  border-color:#8ca69a;
  box-shadow:0 10px 32px #0e2d2430;
}
.sd-consent__actions button{border-radius:3px}

.route-card{box-shadow:7px 7px 0 var(--orange)}
.error-hero:before{background-image:linear-gradient(115deg,#dfeae4 18%,#dfeae4df 54%,#14372f26),url('aurora-optimized.jpg')}

main > .section,main > .booking{
  content-visibility:auto;
  contain-intrinsic-size:auto 720px;
}

.progress{display:none}

@media(max-width:1000px){
  .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .card,.card:first-child{grid-column:auto}
  .card:last-child{grid-column:auto;width:auto;justify-self:stretch}
  .card .pic{height:auto;aspect-ratio:4/3}
}

@media(max-width:720px){
  .topline{display:none}
  .nav .wrap,.legal-body .nav .wrap{height:70px}
  .nav .logo,.legal-body .logo{width:52px;height:52px}
  .nav .btn,.legal-body .nav .btn{min-height:42px;padding:10px 12px;font-size:12px}
  .hero h1{font-size:clamp(43px,12.2vw,62px)}
  .hero-copy{padding-top:38px}
  .hero-photo{border-radius:3px}
  .section{padding:72px 0}
  .cards{grid-template-columns:1fr;gap:42px}
  .card:first-child .pic,.card .pic{height:auto;aspect-ratio:4/3}
  .benefits .wrap>div{border-right:0;border-bottom:1px solid #cbd8d1}
  .benefits .wrap>div:nth-last-child(-n+2){border-bottom:0}
  .sd-consent{bottom:8px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
