/* Full Northern Night homepage and original Rousay coastline footer. */
body.northern-night.night-home .hero {
  display:block;
  position:relative;
  width:100%;
  margin:0;
  min-height:660px;
  height:680px;
  max-height:none;
  isolation:isolate;
  overflow:hidden;
  background:#0b1822;
  color:#f4eddb;
}
body.northern-night.night-home .hero>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 18%;
  opacity:.9;
  z-index:-3;
}
body.northern-night.night-home .hero-shade {
  display:block;
  background:linear-gradient(90deg,rgba(7,19,30,.65),rgba(7,19,30,.03)),linear-gradient(0deg,#101f2d 0,rgba(16,31,45,0) 78%);
}
body.northern-night.night-home .hero-copy {
  position:absolute;
  left:max(56px,calc((100% - 1320px) / 2));
  right:6%;
  top:50%;
  transform:translateY(-47%);
  max-width:1000px;
  padding:0;
}
body.northern-night.night-home .hero .eyebrow { color:#d8bd84; letter-spacing:.18em; font-size:12px; }
body.northern-night.night-home .hero h1 {
  font-family:var(--serif);
  font-size:clamp(66px,7.2vw,108px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.025em;
  margin:27px 0 30px;
  color:#f4eddb;
}
body.northern-night.night-home .hero h1 em { font-style:normal; }
body.northern-night.night-home .hero-copy>p:not(.eyebrow) { font-size:18px; line-height:1.7; max-width:560px; color:#f4eddb; }
body.northern-night.night-home .hero .button { margin-top:30px; background:#d8bd84; color:#102332; border-color:#d8bd84; }
body.northern-night.night-home .hero .button:hover { background:#e6ce9a; color:#102332; border-color:#e6ce9a; }
body.northern-night.night-home .hero-caption { display:block; position:absolute; left:max(56px,calc((100% - 1320px) / 2)); bottom:25px; right:auto; color:#d6dce0; font-size:11px; letter-spacing:.04em; }
body.northern-night.night-home .quick-facts { max-width:1432px; margin:auto; border-color:#425263; padding:24px 56px; color:#d8bd84; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
body.northern-night.night-home .intro { padding-top:76px; padding-bottom:76px; column-gap:8%; }
body.northern-night.night-home .intro h2 { font-size:clamp(44px,4.8vw,66px); }
body.northern-night.night-home .intro-gallery { gap:18px 16px; }
body.northern-night.night-home .intro-gallery img { aspect-ratio:8/5; }
body.northern-night.night-home .cottages { background:#172b3b; width:100%; max-width:none; padding:72px max(56px,calc((100% - 1320px) / 2)) 80px; }
body.northern-night.night-home .cottage-grid { gap:34px; }
body.northern-night.night-home .cottage-grid article { background:#101f2d; padding-bottom:28px; min-width:0; }
body.northern-night.night-home .cottage-grid article>:not(.image-link) { margin-left:28px; margin-right:28px; }
body.northern-night.night-home .cottage-grid .image-link img { height:auto; aspect-ratio:4/3; }
body.northern-night.night-home .cottage-grid article>.text-link { padding:11px 19px; background:#d8bd84; color:#102332; border:1px solid #d8bd84; text-decoration:none; }
body.northern-night.night-home .island { background:#101f2d; padding:78px 0 46px; color:#f4eddb; }
body.northern-night.night-home .island-layout { grid-template-columns:1fr 1.1fr; gap:7%; align-items:center; }
body.northern-night.night-home .island .eyebrow,body.northern-night.night-home .island h2 em { color:#d8bd84; }
body.northern-night.night-home .island-layout figure { margin:0; min-width:0; }
body.northern-night.night-home .island-layout figure img { height:auto; aspect-ratio:5/4; }
body.northern-night.night-home .island-layout figcaption { color:#c5cdd1; font-size:13px; margin-top:10px; }
body.northern-night.night-home .home-questions { border-top:1px solid #425263; padding:65px 0 75px; }
body.northern-night.night-home .home-questions>div:first-child { text-align:center; }
body.northern-night.night-home .home-questions h2 { font-size:clamp(40px,4.6vw,62px); margin-bottom:40px; }
body.northern-night.night-home .home-planning { padding-top:40px; padding-bottom:65px; }

.northern-night .night-footer {
  position:relative;
  isolation:isolate;
  min-height:550px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:46px max(56px,calc((100% - 1320px) / 2)) 28px;
  background:#101f2d;
  color:#f4eddb;
  overflow:hidden;
}
.northern-night .night-footer-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 46%; z-index:-2; }
.northern-night .night-footer::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(to bottom,#101f2d 0%,#101f2d 14%,rgba(16,31,45,.95) 27%,rgba(16,31,45,.52) 45%,rgba(16,31,45,.2) 59%,rgba(13,36,51,.85) 85%,#0d2433 100%); }
.northern-night .night-footer-top { display:flex; justify-content:space-between; align-items:flex-start; gap:35px; }
.northern-night .night-footer .eyebrow { color:#d8bd84; font-size:11px; letter-spacing:.16em; margin:0 0 22px; }
.northern-night .night-footer .brand { font-family:var(--sans); font-size:30px; font-weight:500; line-height:1.2; letter-spacing:.1em; text-transform:uppercase; color:#f4eddb; }
.northern-night .night-footer .brand span { text-transform:none; font-size:11px; letter-spacing:.035em; margin-top:14px; line-height:1.6; }
.northern-night .night-footer nav { display:flex; flex-wrap:wrap; gap:14px 27px; justify-content:flex-end; max-width:540px; padding-top:45px; font-size:14px; }
.northern-night .night-footer nav a { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; color:#f4eddb; }
.northern-night .night-footer nav a:hover { color:#d8bd84; }
.northern-night .night-footer-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; margin-top:215px; color:#f4eddb; font-size:12px; line-height:1.7; }
.northern-night .night-footer-bottom p { margin:0; }

@media(max-width:1100px) {
  body.northern-night.night-home .hero-copy,body.northern-night.night-home .hero-caption { left:32px; }
  body.northern-night.night-home .cottages { padding-left:32px; padding-right:32px; }
  body.northern-night.night-home .quick-facts { padding-left:32px; padding-right:32px; }
  .northern-night .night-footer { padding-left:32px; padding-right:32px; }
}
@media(max-width:760px) {
  body.northern-night.night-home .hero { min-height:650px; height:650px; }
  body.northern-night.night-home .hero-copy { left:24px; right:24px; top:48%; max-width:none; }
  body.northern-night.night-home .hero h1 { font-size:clamp(53px,10.8vw,76px); line-height:1.06; margin:25px 0; }
  body.northern-night.night-home .hero-copy>p:not(.eyebrow) { font-size:16px; max-width:490px; }
  body.northern-night.night-home .hero .eyebrow { font-size:10px; }
  body.northern-night.night-home .hero-caption { left:24px; right:24px; bottom:23px; font-size:10px; }
  body.northern-night.night-home .intro { padding:48px 0 58px; }
  body.northern-night.night-home .cottages { padding:48px 22px 58px; }
  body.northern-night.night-home .cottage-grid { gap:30px; }
  body.northern-night.night-home .cottage-grid article>:not(.image-link) { margin-left:22px; margin-right:22px; }
  body.northern-night.night-home .island-layout { grid-template-columns:1fr; gap:30px; }
  body.northern-night.night-home .island { padding:54px 0 30px; }
  body.northern-night.night-home .home-questions { padding:44px 0 56px; }
  body.northern-night.night-home .quick-facts { padding:23px 20px; font-size:11px; letter-spacing:.04em; }
  .northern-night .night-footer { min-height:640px; padding:36px 24px 25px; }
  .northern-night .night-footer-photo { object-position:26% 46%; }
  .northern-night .night-footer::after { background:linear-gradient(to bottom,#101f2d 0%,#101f2d 26%,rgba(16,31,45,.95) 38%,rgba(16,31,45,.42) 57%,rgba(13,36,51,.25) 67%,rgba(13,36,51,.88) 86%,#0d2433 100%); }
  .northern-night .night-footer-top { display:block; }
  .northern-night .night-footer .brand { font-size:27px; }
  .northern-night .night-footer nav { justify-content:flex-start; padding-top:27px; gap:12px 22px; font-size:13px; max-width:460px; }
  .northern-night .night-footer-bottom { display:block; margin-top:230px; font-size:11px; }
  .northern-night .night-footer-bottom p+p { margin-top:10px; }
}
