
    :root { --ink:#1d2828; --pine:#202d2b; --night:#182126; --cream:#f0eee8; --chalk:#f9f7f1; --beige:#dfdcd3; --muted:#807e77; --gold:#cdb895; --line:rgba(29,40,40,.2); --display:'Cormorant Garamond',Georgia,serif; --sans:'Manrope',Arial,sans-serif; }
    *,*::before,*::after { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; font-family:var(--sans); color:var(--ink); background:var(--cream); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
    img { display:block; max-width:100%; }
    a { color:inherit; text-decoration:none; }
    button,input { font:inherit; }
    button { cursor:pointer; }
    button:focus-visible,a:focus-visible { outline:2px solid var(--gold);outline-offset:5px; }
    ::selection { background:#adae9f; color:#fff; }
    .sr-only { position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap; }
    .page-wrap { width:min(100% - 116px,1420px);margin-inline:auto; }
    .eyebrow { font-size:10px; font-weight:700; line-height:1.6;letter-spacing:.26em;text-transform:uppercase; }
    .eyebrow.light { color:rgba(255,255,255,.77); }
    .rule { height:1px; background:var(--line); }
    .display { font-family:var(--display);font-weight:300;letter-spacing:-.038em;line-height:.92; }
    .text-link { display:inline-flex;gap:23px;align-items:center;padding-block:11px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid currentColor;transition:gap .25s ease; }
    .text-link:hover { gap:36px; }
    .text-link span { font-size:19px;font-weight:300;line-height:0; }
    .button { display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:56px;padding:0 24px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:#fff;transition:background .25s,color .25s,border-color .25s,transform .25s; }
    .button:hover { background:transparent;color:var(--ink);transform:translateY(-2px); }
    .button.outline { border-color:rgba(255,255,255,.7);background:transparent;color:#fff; }
    .button.outline:hover { background:#fff;color:var(--ink); }
    .button svg { width:17px;height:17px; }
    .site-header { position:fixed;z-index:100;top:0;left:0;width:100%;height:92px;color:#fff;transition:background .35s,height .35s,box-shadow .35s; }
    .site-header.scrolled,.site-header.menu-open { background:rgba(24,33,38,.97);height:79px;box-shadow:0 4px 25px rgba(0,0,0,.1); }
    .header-inner { width:min(100% - 96px,1530px);margin:auto;height:100%;display:flex;justify-content:space-between;align-items:center;gap:25px; }
    .brand { display:inline-flex;align-items:center;gap:15px;flex-shrink:0; }
    .brand-star { width:40px;height:40px;flex-shrink:0; }
    .brand-type { line-height:1.1;display:flex;flex-direction:column;gap:6px;white-space:nowrap; }
    .brand-type strong { font-size:16px;font-weight:500;letter-spacing:.2em; }
    .brand-type small { font-size:8px;font-weight:600;letter-spacing:.42em; }
    .nav { display:flex;align-items:center;gap:clamp(12px,1.65vw,28px); }
    .nav>a:not(.book-top) { font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;position:relative; }
    .nav>a:not(.book-top)::after { content:'';position:absolute;bottom:-8px;left:0;right:100%;height:1px;background:#fff;transition:right .2s; }
    .nav>a:not(.book-top):hover::after { right:0; }
    .nav .book-top { background:#f4f0e8;color:#1b2427;min-height:45px;padding:0 14px;display:flex;align-items:center;gap:16px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;white-space:nowrap;transition:background .2s; }
    .nav .book-top:hover { background:var(--gold); }
    .language { position:relative; }
    .language button { border:0;padding:10px 0;background:transparent;color:inherit;font-size:11px;letter-spacing:.08em;display:flex;align-items:center;gap:7px; }
    .lang-menu { display:none;position:absolute;top:38px;right:-15px;min-width:110px;padding:8px;background:#f2f0e9;color:var(--ink);box-shadow:0 12px 35px rgba(0,0,0,.2); }
    .language.active .lang-menu { display:block; }
    .lang-menu button { width:100%;color:var(--ink);justify-content:flex-start;padding:9px 10px; }
    .lang-menu button:hover { background:#dedbcf; }
    .hamburger { display:none;align-items:center;gap:12px;justify-content:center;min-height:44px;padding:5px;border:0;background:transparent;color:#fff;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase; }
    .hamburger-lines { display:grid;gap:6px; }
    .hamburger-lines i { display:block;width:25px;height:1px;background:#fff;transition:transform .25s; }
    .mobile-drawer { position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--night);color:#f8f7f1;padding:120px 9vw 60px;display:flex;flex-direction:column;justify-content:center;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .3s,transform .3s; }
    .mobile-drawer.open { opacity:1;pointer-events:auto;transform:translateY(0); }
    .mobile-drawer a { font:300 clamp(44px,8vw,85px)/1.08 var(--display);padding:8px 0;width:max-content;max-width:100%; }
    .drawer-bottom { display:flex;justify-content:space-between;align-items:center;margin-top:35px;border-top:1px solid #ffffff40;padding-top:30px;gap:20px; }
    .drawer-bottom a { font:700 10px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase; }
    .drawer-lang { border:1px solid #ffffff65;background:transparent;color:white;padding:10px 15px;font-size:11px;letter-spacing:.13em; }
    .hero { position:relative;height:min(900px,100svh);min-height:670px;color:white;background:#283438;isolation:isolate;overflow:hidden; }
    .hero-image { position:absolute;inset:0;z-index:-2;background-image:var(--photo-p0);background-size:cover;background-position:center 46%;transform:scale(1.03);animation:heroenter 1.8s cubic-bezier(.2,.5,.3,1) forwards; }
    .hero::before { content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,18,21,.42),rgba(8,18,21,.05) 80%),linear-gradient(180deg,rgba(13,21,25,.36),transparent 28%,rgba(7,14,16,.06) 48%,rgba(8,17,19,.72)); }
    @keyframes heroenter { from { opacity:.55;transform:scale(1.1); } to { opacity:1;transform:scale(1.03); } }
    .hero-content { position:absolute;left:max(58px,calc((100vw - 1420px)/2));right:60px;bottom:138px;max-width:1050px; }
    .hero h1 { margin:28px 0 27px;font:300 clamp(66.4px,8vw,132px)/.82 var(--display);letter-spacing:-.048em;text-transform:none; }
    .hero h1 em { font-weight:300; }
    .hero-desc { font-size:12px;line-height:1.9;max-width:470px;color:rgba(255,255,255,.91); }
    .hero .hero-label { display:flex;gap:16px;align-items:center; }
    .hero .hero-label::before { content:'';width:34px;height:1px;background:var(--gold); }
    .hero-bottom { position:absolute;bottom:36px;left:max(58px,calc((100vw - 1420px)/2));right:max(58px,calc((100vw - 1420px)/2));border-top:1px solid #ffffff70;padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:25px; }
    .hero-bottom .scroll { display:flex;align-items:center;gap:18px;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase; }
    .hero-bottom .scroll b { font-size:19px;font-weight:300; }
    .hero-book { display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.18em;font-weight:700;text-transform:uppercase; }
    .hero-book span:last-child { border:1px solid #ffffff90;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s; }
    .hero-book:hover span:last-child { background:#fff;color:var(--ink); }
    .section-intro { padding:78px 0 84px; }
    .intro-grid { display:grid;grid-template-columns:1fr 2.15fr;column-gap:12%; }
    .intro-aside { padding-top:17px; }
    .intro-aside .mini-icon { margin-top:36px;width:82px;height:82px;stroke:#9ca298; }
    .intro-title { font:300 clamp(52px,6.05vw,96px)/1.04 var(--display);letter-spacing:-.045em;margin:0 0 31px;max-width:920px; }
    .intro-title em { color:#898e83;font-weight:300; }
    .intro-bottom { display:grid;grid-template-columns:1fr 1fr;gap:42px;max-width:800px; }
    .intro-bottom p,.story-content p,.place-content p,.location-copy p { font-size:13px;line-height:2.05;color:#575e59;font-weight:400;margin:0 0 23px; }
    .intro-bottom .text-link { align-self:end;justify-self:start; }
    .story { background:var(--chalk);display:grid;grid-template-columns:51% 49%;min-height:730px; }
    .story-visual { position:relative;min-height:650px;overflow:hidden; }
    .story-visual img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s; }
    .story-visual:hover img,.editorial-photo:hover img,.photo-tile:hover img { transform:scale(1.045); }
    .photo-caption { position:absolute;bottom:30px;left:35px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 8px #000; }
    .story-content { padding:12% clamp(45px,7vw,140px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start; }
    .story-content h2,.place-content h2 { font:300 clamp(65px,6.5vw,110px)/.92 var(--display);letter-spacing:-.052em;margin:28px 0 35px; }
    .story-content h2 em,.place-content h2 em { color:#7c897e;font-weight:300; }
    .features-row { display:flex;justify-content:space-between;gap:20px;max-width:450px;width:100%;padding-top:30px;border-top:1px solid var(--line);margin-top:20px; }
    .features-row div { display:flex;flex-direction:column;gap:10px; }
    .features-row strong { font:400 41px/.9 var(--display); }
    .features-row span { font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#6a6d67;line-height:1.5; }
    .wide-photo { position:relative;height:clamp(650px,80vh,890px);overflow:hidden;color:#fff; }
    .wide-photo img { width:100%;height:100%;object-fit:cover;object-position:center 47%; }
    .wide-photo::after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),transparent 65%),linear-gradient(0deg,rgba(0,0,0,.24),transparent 60%);pointer-events:none; }
    .wide-photo-overlay { position:absolute;z-index:1;left:max(58px,calc((100vw - 1420px)/2));bottom:75px;max-width:800px; }
    .wide-photo h2 { font:300 clamp(80px,10.5vw,165px)/.85 var(--display);letter-spacing:-.048em;margin:22px 0 34px; }
    .wide-photo p { font-size:13px;line-height:2;max-width:390px;margin:0 0 20px;color:#ffffffd9; }
    .amenities { padding:88px 0 94px; }
    .section-head { display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:64px; }
    .section-head h2 { font:300 clamp(65px,7.5vw,118px)/.93 var(--display);letter-spacing:-.045em;margin:16px 0 0; }
    .section-head .head-note { max-width:230px;font-size:12px;line-height:1.9;color:#696e68; }
    .amenities-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
    .amenity { padding:41px 25px 45px 0;min-height:215px;border-right:1px solid var(--line); }
    .amenity + .amenity { padding-left:32px; }
    .amenity:last-child { border-right:0; }
    .amenity-icon { width:35px;height:35px;stroke:var(--ink);stroke-width:1.2;fill:none;margin-bottom:31px; }
    .amenity h3 { font-size:11px;letter-spacing:.04em;font-weight:600;margin:0 0 10px; }
    .amenity p { margin:0;font-size:11px;line-height:1.8;color:#777a73;max-width:240px; }
    .night-section { position:relative;height:760px;background:var(--night);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;isolation:isolate;overflow:hidden; }
    .night-section::before { content:'';position:absolute;inset:0;background:var(--photo-p1) center 40%/cover no-repeat;z-index:-2;filter:brightness(.57); }
    .night-section::after { content:'';position:absolute;inset:0;background:rgba(8,17,22,.2);z-index:-1; }
    .night-content { padding:30px;width:min(940px,96%); }
    .night-section h2 { font:300 clamp(76px,10vw,150px)/.86 var(--display);letter-spacing:-.048em;margin:33px auto; }
    .night-section p { font-size:12px;line-height:1.9;color:#ffffffd9;max-width:510px;margin:0 auto 32px; }
    .gallery-section { padding:130px 0 145px;background:var(--chalk); }
    .gallery-grid { display:grid;grid-template-columns:1.05fr .75fr .85fr;grid-template-rows:365px 230px;gap:17px; }
    .photo-tile { position:relative;overflow:hidden;cursor:pointer;border:0;background:var(--beige);padding:0;display:block;width:100%;text-align:left; }
    .photo-tile img { width:100%;height:100%;object-fit:cover;transition:transform 1s; }
    .photo-tile:nth-child(1) { grid-row:1/3; }
    .photo-tile:nth-child(2) { grid-column:2/4; }
    .photo-tile:nth-child(2) img { object-position:center 65%; }
    .photo-tile:nth-child(3) { grid-column:2; }
    .photo-tile:nth-child(4) { grid-column:3; }
    .photo-tile::after { content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.44),transparent 45%);pointer-events:none; }
    .photo-tile small { position:absolute;z-index:2;bottom:25px;left:25px;color:#fff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.14em; }
    .photo-tile .zoom { position:absolute;right:18px;top:17px;z-index:3;background:#ffffffdb;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;color:#27302c;font-size:21px;font-weight:300;opacity:0;transform:translateY(6px);transition:.2s; }
    .photo-tile:hover .zoom { opacity:1;transform:translateY(0); }
    .gallery-footer { display:flex;justify-content:flex-end;margin-top:34px; }
    .quote-band { background:#d8ddd4; padding:110px 0 105px; }
    .quote-layout { display:grid;grid-template-columns:1fr 2fr;gap:10%; }
    .quote-copy { position:relative; }
    .quote-copy blockquote { font:300 clamp(44px,5vw,73px)/1.12 var(--display);letter-spacing:-.028em;margin:0 0 24px;max-width:880px; }
    .quote-copy blockquote::before { content:'“';font:300 110px/.7 var(--display);display:block;color:#70877a;margin-bottom:24px; }
    .quote-by { font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700; }
    .quote-controls { display:flex;gap:9px;margin-top:43px; }
    .quote-controls button { width:43px;height:43px;border:1px solid #86958a;background:transparent;color:#26372f;font-size:21px;transition:background .2s; }
    .quote-controls button:hover { background:#becbc0; }
    .location-section { display:grid;grid-template-columns:49% 51%;min-height:690px;background:var(--cream); }
    .location-visual { min-height:600px;position:relative;overflow:hidden; }
    .location-visual img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center; }
    .location-copy { display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:110px clamp(50px,9vw,145px); }
    .location-copy h2 { font:300 clamp(70px,8vw,112px)/.93 var(--display);letter-spacing:-.05em;margin:24px 0 30px; }
    .distance-list { width:100%;max-width:460px;margin:25px 0 34px;padding:0;list-style:none; }
    .distance-list li { padding:15px 0;display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);font-size:11px; }
    .distance-list li strong { font-weight:500; }
    .distance-list li span { color:#6f726c; }
    .final-cta { padding:125px 0 135px;background:var(--night);text-align:center;color:#fff; }
    .final-cta .star { width:66px;height:66px;margin:0 auto 31px;stroke:var(--gold); }
    .final-cta h2 { font:300 clamp(72px,10vw,145px)/.88 var(--display);letter-spacing:-.048em;margin:20px auto 35px;max-width:1100px; }
    .final-cta h2 em { color:#b9c5b8; }
    .final-cta p { font-size:12px;line-height:2;max-width:450px;color:#d2d6d1;margin:0 auto 32px; }
    .final-cta .button { background:#f2eee6;color:var(--ink);border-color:#f2eee6; }
    .final-cta .button:hover { background:transparent;color:#fff; }
    .site-footer { background:#151d21;color:#fff;border-top:1px solid #ffffff2c;padding:70px 0 28px; }
    .footer-grid { display:grid;grid-template-columns:1.65fr .8fr 1fr;gap:70px;padding-bottom:100px; }
    .site-footer .brand { margin-bottom:28px; }
    .footer-blurb { color:#a4afae;max-width:360px;font-size:12px;line-height:2; }
    .footer-col h4 { color:#abb7b0;font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin:8px 0 24px; }
    .footer-col a,.footer-col p { display:block;color:#eef1ed;font-size:12px;line-height:2.5;margin:0; }
    .footer-col a:hover { color:var(--gold); }
    .footer-bottom { display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff2c;padding-top:26px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#a4aead; }
    .lightbox { position:fixed;z-index:9999;inset:0;background:rgba(8,13,15,.96);display:none;place-items:center;padding:66px 5vw 55px; }
    .lightbox.open { display:grid; }
    .lightbox figure { margin:0;max-height:100%;max-width:1100px;display:flex;flex-direction:column;align-items:center; }
    .lightbox img { max-width:100%;max-height:calc(100vh - 155px);object-fit:contain; }
    .lightbox figcaption { color:#fff;font-size:10px;letter-spacing:.17em;text-transform:uppercase;margin-top:19px;text-align:center; }
    .lightbox button { position:absolute;background:transparent;color:white;border:1px solid #ffffff90;width:43px;height:43px;font-size:23px; }
    .lightbox-close { right:27px;top:27px; }
    .lightbox-prev { left:18px;top:50%; }
    .lightbox-next { right:18px;top:50%; }
    .reveal { opacity:1;transform:none;transition:opacity .8s ease,transform .9s cubic-bezier(.2,.6,.2,1); }
    .reveal.visible { opacity:1;transform:translateY(0); }
    @media (max-width:1150px) { .nav { gap:15px; }.nav>a:not(.book-top) { font-size:9px; }.header-inner { width:calc(100% - 60px); }.story-content { padding:65px 45px; }.location-copy { padding:75px 65px; } }
    @media (max-width:1080px) { .nav { display:none; }.hamburger { display:flex; } }
    @media (max-width:930px) { .nav { display:none; }.hamburger { display:flex; }.page-wrap { width:calc(100% - 72px); }.hero-content { left:36px;right:36px; }.hero-bottom { left:36px;right:36px; }.intro-grid { grid-template-columns:1fr; }.intro-aside { display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding:0; }.intro-aside .mini-icon { width:55px;height:55px;margin:0; }.story { grid-template-columns:1fr 1fr; }.story-content h2 { font-size:68px; }.story-content { padding:62px 37px; }.story-visual { min-height:620px; }.location-copy { padding:68px 40px; }.location-copy h2 { font-size:68px; }.amenity { padding:30px 14px 30px 0; }.amenity+.amenity { padding-left:17px; } }
    @media (max-width:690px) {
      .page-wrap { width:calc(100% - 42px); }.site-header { height:75px; }.site-header.scrolled,.site-header.menu-open { height:70px; }.header-inner { width:calc(100% - 42px); }.brand { gap:10px; }.brand-star { width:30px;height:30px; }.brand-type strong { font-size:12px;letter-spacing:.17em; }.brand-type small { font-size:7px;letter-spacing:.33em; }.hamburger { font-size:9px; }.hero { height:92svh;min-height:620px; }.hero-image { background-position:58% center; }.hero-content { bottom:143px;left:25px;right:25px; }.hero h1 { font-size:clamp(51.2px,12vw,77.6px);margin:23px 0 25px; }.hero-desc { font-size:11px;line-height:1.8;max-width:315px; }.hero-bottom { left:25px;right:25px;bottom:23px; }.hero-bottom .scroll { font-size:8px; }.hero-book { font-size:9px; }.hero-book span:last-child { width:32px;height:32px; }.eyebrow { font-size:9px; }.section-intro { padding:49px 0 60px; }.intro-title { font-size:clamp(48px,11.5vw,76px); }.intro-bottom { display:block; }.intro-bottom .text-link { margin-top:8px; }.intro-bottom p { font-size:12px; }.story { display:flex;flex-direction:column; }.story-visual { min-height:440px;height:60vh;order:0; }.story-content { padding:80px 26px 85px; }.story-content h2 { font-size:clamp(65px,15vw,90px); }.story-content p { font-size:12px; }.features-row { max-width:none; }.features-row strong { font-size:33px; }.wide-photo { height:690px; }.wide-photo img { object-position:55% center; }.wide-photo-overlay { left:25px;bottom:50px;right:25px; }.wide-photo h2 { font-size:clamp(68px,16vw,100px); }.wide-photo p { font-size:12px; }.amenities { padding:60px 0 70px; }.section-head { margin-bottom:40px;display:block; }.section-head h2 { font-size:clamp(60px,14vw,88px); }.section-head .head-note { margin-top:22px; }.amenities-grid { grid-template-columns:repeat(2,1fr); }.amenity { min-height:205px;padding:30px 13px 30px 0; }.amenity:nth-child(2) { border-right:0; }.amenity:nth-child(n+3) { border-top:1px solid var(--line); }.amenity:nth-child(3) { padding-left:0; }.amenity:nth-child(4) { padding-left:17px; }.night-section { height:690px; }.night-section h2 { font-size:clamp(72px,16vw,120px); }.gallery-section { padding:90px 0; }.gallery-grid { grid-template-columns:1fr 1fr;grid-template-rows:360px 185px 185px;gap:9px; }.photo-tile:nth-child(1) { grid-column:1/3;grid-row:1; }.photo-tile:nth-child(2) { grid-column:1/3;grid-row:2; }.photo-tile:nth-child(3) { grid-column:1;grid-row:3; }.photo-tile:nth-child(4) { grid-column:2;grid-row:3; }.photo-tile small { bottom:14px;left:14px;font-size:8px; }.quote-band { padding:75px 0; }.quote-layout { grid-template-columns:1fr;gap:20px; }.quote-copy blockquote { font-size:clamp(43px,9.4vw,68px); }.location-section { display:flex;flex-direction:column; }.location-visual { min-height:400px; }.location-copy { padding:80px 25px; }.location-copy h2 { font-size:clamp(65px,14vw,93px); }.final-cta { padding:90px 0 105px; }.final-cta h2 { font-size:clamp(66px,15vw,104px); }.footer-grid { display:grid;grid-template-columns:1fr 1fr;gap:34px;padding-bottom:70px; }.footer-brand { grid-column:1/3; }.footer-col a,.footer-col p { font-size:11px; }.footer-bottom { flex-direction:column;gap:10px; }.mobile-drawer { padding:106px 26px 24px;overflow-y:auto;justify-content:safe center; }.mobile-drawer a { font-size:clamp(42px,6.1vh,58px);padding:5px 0; }
    }
    @media (max-width:370px) { .hero h1 { font-size:48.8px; }.features-row span { font-size:8px; }.footer-grid { grid-template-columns:1fr; }.footer-brand { grid-column:1; }.mobile-drawer a { font-size:48px; } }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important;transition-duration:.01ms !important; } .reveal { opacity:1;transform:none; } }

    /* Version 2 / interior routing and booking UI */
    [hidden] { display:none !important; }
    .nav>a[data-route].active { color:var(--gold); }
    .nav>a[data-route].active::after { right:0; }
    .mobile-drawer a.active { color:var(--gold); }
    .hero-content { max-width:1120px; }
    .hero-reservation { display:flex;align-items:stretch;width:min(920px,100%);min-height:87px;background:#f9f7f1;box-shadow:0 20px 54px rgba(0,0,0,.2);color:var(--ink);padding:8px;gap:0;margin-top:36px; }
    .res-field { flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:12px 17px;border-right:1px solid #d6d7cf;gap:8px; }
    .res-field label { font-size:9px;text-transform:uppercase;font-weight:700;letter-spacing:.19em;color:#6e7772; }
    .res-field input,.res-field select { color:var(--ink);background:transparent;min-width:0;width:100%;border:0;outline:0;font:500 13px var(--sans);padding:0;line-height:24px; }
    .res-field input:focus-visible,.res-field select:focus-visible { outline:2px solid #809185;outline-offset:3px; }
    .res-guests { max-width:124px; }
    .res-submit { min-width:214px;display:flex;justify-content:space-between;align-items:center;gap:17px;padding:18px 18px;background:var(--pine);color:white;border:1px solid var(--pine);font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.12em;transition:background .25s; }
    .res-submit:hover { background:#536357; }
    .res-submit span:last-child { font-size:20px;font-weight:300; }
    .story-photo-button { display:block;position:absolute;inset:0;overflow:hidden; }
    .story-photo-button img { transition:transform 1s; }
    .story-photo-button:hover img { transform:scale(1.045); }
    .story-photo-cta { position:absolute;top:30px;right:30px;z-index:2;background:#f6f3ea;color:#22312d;padding:16px 22px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700;transition:background .2s; }
    .story-photo-button:hover .story-photo-cta { background:#d6c4a7; }
    .quote-band { padding:68px 0 65px; }
    .quote-layout { grid-template-columns:1fr 2fr;gap:8%; }
    .quote-copy blockquote { font-size:clamp(29px,3.5vw,49px);line-height:1.14;max-width:750px; }
    .quote-copy blockquote::before { font-size:65px;margin-bottom:10px; }
    .quote-controls { margin-top:22px; }
    .subhero { position:relative;min-height:clamp(520px,78vh,760px);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;color:#fff;background:#263338; }
    .subhero::before { content:'';position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center; }
    .subhero::after { content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,20,23,.6),rgba(9,20,23,.12)),linear-gradient(0deg,rgba(9,20,23,.45),transparent 65%); }
    .subhero-igloos::before { background-image:var(--photo-p2);background-position:center; }
    .subhero-location::before { background-image:var(--photo-p3); }
    .subhero-services::before { background-image:var(--photo-p4); }
    .subhero-gallery::before { background-image:var(--photo-p5); }
    .subhero-contact::before { background-image:var(--photo-p6); }
    .subhero-content { padding-top:170px;padding-bottom:85px; }
    .subhero h1 { font-size:clamp(75px,10vw,153px);margin:24px 0 26px;max-width:1120px; }
    .subhero h1 em,.detail-intro h2 em,.detail-amenities h2 em,.inner-section-grid h2 em,.inner-distances h2 em,.full-gallery-heading h2 em,.page-bottom-promo h2 em { font-weight:300;color:#c1cbbe; }
    .subhero p { font-size:13px;line-height:1.9;max-width:515px;color:#f5f5f1; }
    .detail-intro,.inner-section-grid { display:grid;grid-template-columns:1fr 2fr;gap:8%;padding-top:120px;padding-bottom:100px; }
    .detail-kicker,.inner-section-grid>.eyebrow,.inner-section-grid>div>.eyebrow { padding-top:13px; }
    .detail-aside { min-width:0; }
    .detail-aside-photo { display:block;width:min(100%,246px);aspect-ratio:4/3;object-fit:cover;object-position:center;margin-top:26px;filter:saturate(.9); }
    .detail-intro h2,.inner-section-grid h2,.detail-amenities h2,.inner-distances h2,.full-gallery-heading h2 { font-size:clamp(62px,7.5vw,112px);margin:0 0 31px; }
    .detail-intro h2 em,.inner-section-grid h2 em,.detail-amenities h2 em,.inner-distances h2 em,.full-gallery-heading h2 em { color:#7c8d80; }
    .detail-intro p,.inner-copy p { font-size:13px;line-height:2;max-width:690px;color:#525e58;margin:0 0 32px; }
    .detail-stats { display:flex;gap:38px;justify-content:flex-start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:33px 0 36px;padding:25px 0; }
    .detail-stats div { min-width:115px;display:flex;flex-direction:column;gap:9px; }
    .detail-stats strong { font:400 43px var(--display); }
    .detail-stats span { font-size:9px;line-height:1.7;letter-spacing:.12em;font-weight:700;color:#68736a; }
    .detail-gallery { display:grid;grid-template-columns:1.35fr 1fr;gap:17px; }
    .detail-gallery img { width:100%;height:470px;object-fit:cover; }
    .detail-amenities { padding-top:65px;padding-bottom:72px; }
    .detail-amenities h2 { margin-top:16px; }
    .detail-list { display:grid;grid-template-columns:1fr 1fr;gap:0 55px;border-top:1px solid var(--line);margin-top:26px; }
    .detail-list span { border-bottom:1px solid var(--line);padding:19px 5px 19px 22px;font-size:12px;position:relative;color:#49554e; }
    .detail-list span:before { content:'✧';position:absolute;left:0;color:#849381; }
    .page-bottom-promo { background:var(--night);color:#fff;text-align:center;padding:120px 15px 130px; }
    .page-bottom-promo h2 { font-size:clamp(74px,10vw,146px);margin:25px auto 40px; }
    .page-bottom-promo .button { background:#efece4;color:var(--ink);border-color:#efece4; }
    .page-bottom-promo .button:hover { background:transparent;color:white; }
    .inner-copy .contact-line { margin:17px 0 28px; }
    .contact-line { padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:22px;font-size:13px;line-height:1.8; }
    .contact-line b { font-size:10px;text-transform:uppercase;letter-spacing:.15em; }
    .contact-line span,.contact-line a { text-align:right;color:#47584c; }
    .contact-line a:hover { text-decoration:underline; }
    .location-full-image { height:620px;overflow:hidden; }
    .location-full-image img { width:100%;height:100%;object-fit:cover; }
    .inner-distances { padding-block:110px 135px; }
    .inner-distances h2 { margin:25px 0 35px; }
    .inner-distances .distance-list { max-width:850px; }
    .service-cards { display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:120px; }
    .service-card { background:var(--chalk); }
    .service-img { height:350px;overflow:hidden; }
    .service-img img { width:100%;height:100%;object-fit:cover;transition:transform .8s; }
    .service-card:hover .service-img img { transform:scale(1.04); }
    .service-info { padding:35px 40px 47px; }
    .service-card:first-child .service-img img { object-position:center 52%; }
    .service-info h3 { font:300 clamp(42px,4vw,64px)/1 var(--display);letter-spacing:-.03em;margin:18px 0; }
    .service-info p { max-width:520px;min-height:100px;font-size:12px;line-height:1.95;color:#647069;margin-bottom:23px; }
    .full-gallery-wrap { padding-block:115px 150px; }
    .full-gallery-heading h2 { margin-top:21px;margin-bottom:55px; }
    .full-gallery-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:335px;gap:15px; }
    .full-gallery-grid .photo-tile,.full-gallery-grid .photo-tile:nth-child(n) { grid-column:auto;grid-row:auto; }
    .full-gallery-grid .photo-tile:nth-child(1) { grid-column:span 2; }
    .full-gallery-grid .photo-tile:nth-child(4) { grid-column:span 2; }
    .contact-main { padding-bottom:130px; }
    .contact-actions { display:flex;align-items:center;gap:35px;flex-wrap:wrap;margin-top:36px; }
    .contact-photo { height:540px;overflow:hidden; }
    .contact-photo img { width:100%;height:100%;object-fit:cover;object-position:center 60%; }
    @media (max-width:930px) { .detail-intro,.inner-section-grid { grid-template-columns:1fr 2.3fr;gap:5%; }.full-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.subhero-content { padding-bottom:72px; } }
    @media (max-width:690px) {
      .hero-content { bottom:130px; }
      .hero h1 { font-size:clamp(47.2px,11.28vw,71.2px);line-height:.86;margin:23px 0 15px; }
      .hero-reservation { width:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;margin-top:23px;padding:6px; }
      .res-field { padding:12px 10px;min-height:66px; }
      .res-field:nth-child(2) { border-right:0; }
      .res-guests { max-width:unset;min-height:55px;border-top:1px solid #d6d7cf; }
      .res-submit { min-width:0;min-height:55px;grid-column:2;grid-row:2;padding:9px 12px;font-size:9px;letter-spacing:.06em; }
      .res-field label { font-size:8px;letter-spacing:.12em; }.res-field input,.res-field select { font-size:11px; }
      .story-photo-cta { top:17px;right:17px;padding:13px 14px;font-size:9px; }
      .quote-band { padding:55px 0; }.quote-copy blockquote { font-size:clamp(31px,8vw,45px); }.quote-copy blockquote::before { font-size:60px; }
      .subhero { min-height:590px; }.subhero-content { padding-top:185px;padding-bottom:58px; }
      .subhero h1 { font-size:clamp(66px,15vw,92px); }.subhero p { font-size:12px; }
      .detail-intro,.inner-section-grid { display:block;padding-top:75px;padding-bottom:75px; }
      .detail-kicker,.inner-section-grid>div>.eyebrow { display:block;margin-bottom:18px; }
      .detail-aside-photo { width:180px;aspect-ratio:4/3;margin:0 0 27px; }
      .detail-intro h2,.inner-section-grid h2,.detail-amenities h2,.inner-distances h2,.full-gallery-heading h2 { font-size:clamp(61px,13.5vw,87px); }
      .detail-stats { gap:8px;justify-content:space-between; }.detail-stats div { min-width:0; }.detail-stats strong { font-size:30px; }.detail-stats span { font-size:8px; }
      .detail-gallery { grid-template-columns:1fr;gap:10px; }.detail-gallery img { height:310px; }
      .detail-amenities { padding-block:50px 56px; }.detail-list { grid-template-columns:1fr; }
      .page-bottom-promo { padding-block:90px; }.page-bottom-promo h2 { font-size:clamp(68px,14vw,103px); }
      .location-full-image { height:340px; }.inner-distances { padding-block:90px; }
      .service-cards { grid-template-columns:1fr;margin-bottom:90px; }.service-img { height:275px; }.service-info { padding:30px 25px 40px; }.service-info p { min-height:0; }
      .full-gallery-wrap { padding-block:80px 90px; }.full-gallery-grid { grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:9px; }.full-gallery-grid .photo-tile:nth-child(1),.full-gallery-grid .photo-tile:nth-child(4) { grid-column:span 2; }.full-gallery-grid .photo-tile:nth-child(1),.full-gallery-grid .photo-tile:nth-child(4) { height:290px; }
      .contact-main { padding-bottom:90px; }.contact-actions { display:grid;gap:20px;justify-items:start; }.contact-line { font-size:12px; }.contact-photo { height:360px; }
    }
    @media (max-width:380px) { .hero h1 { font-size:43.2px; } .hero h1 em { font-size:.94em; }.hero-reservation { margin-top:18px; }.hero-content { bottom:122px; } .res-field input { font-size:10px; } .res-submit { font-size:8px; } }


    /* Season switch and photographic crossfades — both seasons remain mounted.
       Toggling only updates data-season; no navigation, src replacement or reload. */
    .season-control { display:inline-flex;align-items:center;gap:9px;flex-shrink:0;white-space:nowrap; }
    .season-label { font-size:9px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;color:rgba(255,255,255,.62);transition:color .35s ease; }
    body[data-season="winter"] .season-winter-label,body[data-season="summer"] .season-summer-label { color:#fff; }
    .season-toggle { appearance:none;background:transparent;border:0;padding:8px 0;min-width:47px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;color:inherit; }
    .season-track { display:block;width:46px;height:25px;border:1px solid rgba(255,255,255,.7);border-radius:24px;background:rgba(237,245,241,.17);padding:3px;box-shadow:inset 0 2px 7px rgba(0,0,0,.16);transition:background .55s,border-color .55s; }
    .season-knob { display:block;width:17px;height:17px;border-radius:50%;background:#f9f7ee;box-shadow:0 2px 5px rgba(0,0,0,.3);transition:transform .65s cubic-bezier(.2,.8,.2,1),background .5s; }
    body[data-season="summer"] .season-track { background:#b6c7a0;border-color:#c8d5b6; }
    body[data-season="summer"] .season-knob { transform:translateX(21px);background:#fffdf0; }
    .season-toggle:focus-visible { outline:2px solid #fff;border-radius:20px;outline-offset:2px; }
    .mobile-season,.season-now { display:none; }
    .hero-image { background:none !important;transform:none !important;animation:none !important; }
    .hero-image .season-photo { display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.035);transition:opacity 1.35s cubic-bezier(.23,.54,.25,1),transform 2.2s ease;will-change:opacity; }
    .hero-image .season-photo-summer { opacity:0; }
    body[data-season="summer"] .hero-image .season-photo-summer { opacity:1;transform:scale(1); }
    body[data-season="summer"] .hero-image .season-photo-winter { opacity:0; }
    .hero::before { transition:opacity 1.15s ease; }
    .hero::after { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,37,32,.46),rgba(12,32,28,.06) 75%),linear-gradient(180deg,rgba(13,30,25,.28),transparent 32%,rgba(9,27,19,.46));opacity:0;pointer-events:none;transition:opacity 1.2s ease; }
    body[data-season="summer"] .hero::before { opacity:0; }
    body[data-season="summer"] .hero::after { opacity:1; }
    .story-photo-button .season-photo { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.15s ease,transform 1.2s ease; }
    .story-photo-button .season-photo-summer { opacity:0; }
    body[data-season="summer"] .story-photo-button .season-photo-summer { opacity:1; }
    body[data-season="summer"] .story-photo-button .season-photo-winter { opacity:0; }
    .seasonal-photo-tile .season-photo { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.1s ease,transform 1.2s ease; }
    .seasonal-photo-tile .season-photo-summer { opacity:0; }
    body[data-season="summer"] .seasonal-photo-tile .season-photo-summer { opacity:1; }
    body[data-season="summer"] .seasonal-photo-tile .season-photo-winter { opacity:0; }
    .location-visual .season-photo { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.15s ease; }
    .location-visual .season-photo-summer { opacity:0; }
    body[data-season="summer"] .location-visual .season-photo-summer { opacity:1; }
    body[data-season="summer"] .location-visual .season-photo-winter { opacity:0; }
    .night-section::before { transition:opacity 1.15s ease; }
    .night-summer-media { display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.61);z-index:-2;opacity:0;transition:opacity 1.15s ease; }
    body[data-season="summer"] .night-section::before { opacity:0; }
    body[data-season="summer"] .night-summer-media { opacity:1; }
    body,.section-intro,.story,.amenities,.gallery-section,.quote-band,.location-section,.final-cta,.site-footer,.res-submit { transition:background-color .85s ease,color .7s ease,border-color .65s ease; }
    body[data-season="summer"] { --ink:#253b34;--pine:#3f5b4d;--night:#264038;--cream:#f5f1e5;--chalk:#faf8ed;--beige:#e6e4d5;--gold:#e1c9a0;--line:rgba(37,59,52,.21); }
    body[data-season="summer"] .quote-band { background:#e1e6d7; }
    body[data-season="summer"] .story { background:#faf8ed; }
    body[data-season="summer"] .final-cta { background:#315347; }
    body[data-season="summer"] .site-footer { background:#203c35; }
    body[data-season="summer"] .res-submit { background:#476d53;border-color:#476d53; }
    body[data-season="summer"] .res-submit:hover { background:#315b45; }
    body[data-season="summer"] .site-header.scrolled,body[data-season="summer"] .site-header.menu-open { background:rgba(32,57,48,.97); }
    @media (max-width:1190px) { .nav { display:none !important; }.hamburger { display:flex !important; }.mobile-season { display:block;margin-left:auto; } }
    @media (max-width:690px) { .season-control { gap:5px; }.mobile-season .season-label { display:none; }.mobile-season .season-now { display:inline;color:white;font-size:9px;font-weight:700;letter-spacing:.06em;min-width:39px;text-transform:uppercase; }.mobile-season .season-track { width:38px;height:23px;padding:3px; }.mobile-season .season-knob { width:15px;height:15px; }.mobile-season .season-toggle { min-width:39px; }.mobile-season [aria-checked="true"] .season-knob { transform:translateX(15px); }.header-inner { gap:9px; }.hamburger { gap:7px; }.mobile-season { margin-left:auto; } }
    @media (max-width:390px) { .brand-type strong { font-size:10px;letter-spacing:.1em; }.brand-type small { font-size:6px; }.brand-star { width:25px;height:25px; }.hamburger { font-size:8px; }.mobile-season .season-now { font-size:8px;min-width:35px; } }
    @media (prefers-reduced-motion:reduce) { .hero-image .season-photo,.season-photo,.night-summer-media,.season-knob { transition:none !important; } }


    @media (max-width:690px) { .hero-image .season-photo { object-position:58% center; } }
  

    /* Compact booking CTA, with the original booking banner restored. */
    .hero-reservation .res-submit {
      min-width:174px;
      min-height:52px;
      align-self:center;
      justify-content:center;
      gap:0;
      margin:0 8px;
      padding:13px 14px;
      font-size:9px;
      font-weight:800;
      line-height:1.3;
      letter-spacing:.095em;
      white-space:nowrap;
    }
    .hero-reservation .res-submit span:last-child {
      font-size:inherit;
      font-weight:800;
      line-height:inherit;
    }
    .lang-menu { min-width:150px; }
    .lang-menu button { gap:9px; white-space:nowrap; }
    .lang-flag { font-size:15px; line-height:1; letter-spacing:normal; }
    @media (max-width:690px) {
      .hero-reservation .res-submit {
        min-width:0;
        min-height:46px;
        width:calc(100% - 10px);
        margin:0 5px;
        padding:10px 6px;
        font-size:8px;
        letter-spacing:.035em;
      }
      .drawer-lang { letter-spacing:.02em; font-size:11px; }
    }
    @media (max-width:380px) {
      .hero-reservation .res-submit { font-size:7.6px; }
      .drawer-lang { font-size:10px; padding:10px 11px; }
    }

  
    /* Official Levi Nordic Star logo, embedded so the HTML remains self-contained. */
    .brand-logo { width:224px; height:auto; display:block; object-fit:contain; }
    .site-footer .brand-logo { width:236px; }
    @media (max-width:690px) {
      .header-inner { gap:10px; }
      .brand-logo { width:179px; }
      .site-footer .brand-logo { width:215px; }
    }
    @media (max-width:390px) {
      .brand-logo { width:151px; }
      .header-inner { gap:8px; }
    }
    @media (max-width:350px) {
      .brand-logo { width:139px; }
      .mobile-season .season-now, .hamburger [data-i18n="menu"] { display:none; }
    }

    /* Location page: original igloo site map on a dark background */
    .unit-map-section { background:#151d21; color:#fff; padding:90px 0 94px; overflow:hidden; }
    .unit-map-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:22px; }
    .unit-map-heading .eyebrow { color:#b0bcbc; }
    .unit-map-heading h2 { color:#fff; font-size:clamp(45px,5.3vw,76px); line-height:1.08; margin:20px 0 0; }
    .unit-map-heading h2 em { color:#d6dfd9; }
    .unit-map-heading > p { max-width:320px; color:#b9c1be; font-size:12px; line-height:1.9; margin:0 0 9px; }
    .unit-map-scroll { width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; scrollbar-color:#4a5b5d transparent; -webkit-overflow-scrolling:touch; }
    .unit-map-scroll:focus-visible { outline:2px solid #b9c7bf; outline-offset:3px; }
    .unit-map-graphic { min-width:0; width:100%; line-height:0; }
    .unit-map-graphic svg { display:block; height:auto; width:100%; max-width:100%; }
    .unit-map-mobile-hint { display:none; }
    body[data-season="summer"] .unit-map-section { background:#162923; }
    @media(max-width:800px) {
      .unit-map-section { padding:61px 0 65px; }
      .unit-map-heading { align-items:start; flex-direction:column; gap:12px; margin-bottom:30px; }
      .unit-map-heading h2 { font-size:clamp(46px,10vw,68px); }
      .unit-map-heading > p { max-width:440px; }
      .unit-map-graphic { width:860px; }
      .unit-map-mobile-hint { display:block; margin:12px 0 0; color:#b0bcbc; font-size:10px; letter-spacing:.04em; }
    }
  
    /* Location page: illustrated regional map and nearby points of interest */
    .regional-map-section { background:#1e1e24; color:#f5f5f7; padding:75px 0 74px; }
    .regional-map-layout { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(310px,.86fr); gap:clamp(30px,5.2vw,78px); align-items:start; }
    .regional-map-left, .regional-map-right { min-width:0; }
    .regional-map-link { display:inline-flex; flex-direction:column; align-items:flex-start; gap:4px; margin:0 0 14px; color:#dedee2; text-decoration:none; font-size:15px; line-height:1.3; font-weight:400; letter-spacing:.02em; transition:color .25s ease; }
    .regional-map-link:hover { color:#fff; }
    .regional-map-link > span { border-bottom:1px solid transparent; transition:border-color .25s ease; }
    .regional-map-link:hover > span { border-color:currentColor; }
    .regional-map-link small { font-size:12px; font-weight:400; color:#a0a0a8; letter-spacing:0; }
    .regional-map-scroll { width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; scrollbar-color:#5a5a65 transparent; -webkit-overflow-scrolling:touch; }
    .regional-map-scroll:focus-visible { outline:2px solid #c5c9c5; outline-offset:4px; }
    .regional-map-image { display:block; width:100%; height:auto; object-fit:contain; }
    .nearby-places { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr; gap:22px; }
    .nearby-place { display:flex; align-items:center; gap:19px; min-height:47px; }
    .nearby-icon { flex:0 0 45px; width:45px; height:47px; display:flex; justify-content:center; align-items:center; color:#f1f1f3; }
    .nearby-icon img, .nearby-reindeer { display:block; width:45px; height:45px; object-fit:contain; }
    .nearby-details { display:flex; flex-direction:column; gap:5px; min-width:0; }
    .nearby-details strong { color:#f7f7f8; font-size:14px; line-height:1.2; font-weight:400; }
    .nearby-details small { color:#a0a0a9; font-size:12px; font-weight:400; letter-spacing:.02em; }
    .visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
    @media (min-width:1550px) {
      .regional-map-section { padding-top:85px; padding-bottom:85px; }
      .nearby-places { gap:27px; }
      .nearby-details strong { font-size:16px; }
      .nearby-details small { font-size:13px; }
      .regional-map-link { font-size:16px; }
    }
    @media (max-width:1050px) {
      .regional-map-layout { grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr); gap:26px; }
      .nearby-places { gap:12px; }
      .nearby-place { gap:10px; }
      .nearby-icon { flex-basis:37px; width:37px; height:40px; }
      .nearby-icon img,.nearby-reindeer { width:37px; height:37px; }
      .nearby-details strong { font-size:13px; }
    }
    @media (max-width:700px) {
      .regional-map-section { padding:47px 0 55px; }
      .regional-map-layout { display:flex; flex-direction:column; gap:35px; }
      .regional-map-left,.regional-map-right { width:100%; }
      .regional-map-link { font-size:13px; }
      .regional-map-link small { font-size:11px; }
      .regional-map-image { width:625px; max-width:none; }
      .nearby-places { grid-template-columns:1fr 1fr; column-gap:12px; row-gap:23px; }
      .nearby-place { align-items:flex-start; min-width:0; gap:9px; }
      .nearby-icon { width:32px; flex-basis:32px; height:34px; }
      .nearby-icon img,.nearby-reindeer { width:32px; height:32px; }
      .nearby-details strong { font-size:12px; line-height:1.35; }
      .nearby-details small { font-size:11px; }
    }
    @media (max-width:390px) {
      .nearby-places { grid-template-columns:1fr; gap:17px; }
      .nearby-place { align-items:center; }
      .nearby-details strong { font-size:13px; }
      .nearby-icon,.nearby-icon img,.nearby-reindeer { width:38px; height:38px; }
      .nearby-icon { flex-basis:38px; }
    }


    /* V14 — illustrated, season-aware homepage introduction */
    .section-intro .intro-grid { grid-template-columns:minmax(0,0.98fr) minmax(0,1.8fr); column-gap:clamp(28px,5.2vw,90px); align-items:center; }
    .section-intro .intro-aside { display:block; padding:0; margin:0; min-width:0; align-self:center; }
    .season-illustration { position:relative; width:100%; max-width:520px; aspect-ratio:1/1; isolation:isolate; }
    .season-illustration img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:contain; transition:opacity 1.35s cubic-bezier(.23,.54,.25,1); will-change:opacity; }
    .season-illustration-winter { opacity:1; }
    .season-illustration-summer { opacity:0; }
    body[data-season="summer"] .season-illustration-winter { opacity:0; }
    body[data-season="summer"] .season-illustration-summer { opacity:1; }
    .floating-whatsapp { position:fixed; right:26px; bottom:26px; z-index:80; display:grid; place-items:center; width:62px; height:62px; border-radius:50%; box-shadow:0 10px 25px rgba(0,0,0,.22); transition:transform .25s ease, box-shadow .25s ease; background:#32BA46; }
    .floating-whatsapp img { display:block; width:62px; height:62px; }
    .floating-whatsapp:hover { transform:translateY(-4px) scale(1.04); box-shadow:0 14px 35px rgba(0,0,0,.26); }
    .floating-whatsapp:focus-visible { outline:3px solid #fff; outline-offset:4px; }
    @media (max-width:990px) {
      .section-intro .intro-grid { grid-template-columns:minmax(0,1fr); row-gap:12px; }
      .section-intro .intro-aside { width:min(440px,85%); margin:0 auto 4px; }
      .season-illustration { margin:0 auto; }
    }
    @media (max-width:690px) {
      .section-intro .intro-aside { width:min(340px,88%); margin-bottom:5px; }
      .floating-whatsapp { width:54px; height:54px; right:16px; bottom:17px; }
      .floating-whatsapp img { width:54px; height:54px; }
    }
  
    /* Live Levi weather and supplied amenities icon set */
    .levi-weather { display:flex;align-items:center;gap:13px;color:#fff;white-space:nowrap;font-family:var(--sans); }
    .levi-weather-place { font-size:9px;font-weight:700;letter-spacing:.16em;opacity:.78; }
    .levi-weather-temps { display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;letter-spacing:.01em; }
    .levi-weather-slash { opacity:.5;font-weight:300; }
    .amenity-custom-icon { display:block;width:57px;height:57px;object-fit:contain;margin-bottom:24px;stroke:none; }
    .amenity h3 { font-size:15px;line-height:1.4;letter-spacing:.01em; }
    .amenity p { font-size:13px;line-height:1.8; }
    @media (max-width:690px) {
      .levi-weather { gap:6px;flex-direction:column;align-items:flex-end; }
      .levi-weather-place { font-size:8px;letter-spacing:.08em; }
      .levi-weather-temps { font-size:12px;gap:6px; }
      .hero-bottom { gap:10px; }
      .hero-bottom .scroll { gap:7px;font-size:8px;letter-spacing:.07em; }
      .amenity-custom-icon { width:50px;height:50px;margin-bottom:18px; }
      .amenity h3 { font-size:14px; }
      .amenity p { font-size:12px; }
    }

  
    /* Guest review carousel: keep longer excerpts readable */
    .quote-copy blockquote { font-size:clamp(30px,3.15vw,48px); line-height:1.24; max-width:880px; }
    @media(max-width:690px) { .quote-copy blockquote { font-size:clamp(29px,7vw,38px); line-height:1.25; } }
  
/* v19 refined editorial proportions and streamlined contact */
.location-copy h2 {font-size:clamp(54px,6.1vw,86px);line-height:.98;margin:18px 0 25px;}
.location-copy p {font-size:15px;line-height:1.85;max-width:540px;}
.location-copy .distance-list li {font-size:13px;}
.location-copy .text-link {font-size:12px;}
.contact-main {padding-top:67px;padding-bottom:58px;gap:5%;}
.contact-main .inner-copy>p {margin:0 0 12px;font-size:14px;line-height:1.7;}
.contact-main .contact-enquiry-form {margin-top:18px;margin-bottom:8px;}
.contact-main .contact-field textarea {min-height:115px;}
.contact-details-compact {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);}
.contact-details-compact .contact-line {display:flex;flex-direction:column;align-items:flex-start;gap:7px;border:0;margin:0;padding:8px 0;font-size:12px;}
.contact-details-compact .contact-line a,.contact-details-compact .contact-line span {text-align:left;overflow-wrap:anywhere;}
.contact-main .contact-actions {margin-top:20px;}
#page-services .inner-section-grid:has(>div:only-child) {padding-bottom:35px;}
.night-section .night-content h2 {margin-bottom:32px;}
@media(max-width:900px) {
.location-copy h2 {font-size:clamp(50px,7.5vw,74px);}
.contact-details-compact {grid-template-columns:1fr;gap:0;}
.contact-details-compact .contact-line {padding:8px 0;}
}
@media(max-width:690px) {
.location-copy h2 {font-size:clamp(49px,12vw,69px);}
.location-copy p {font-size:14px;}
.contact-main {padding-top:45px;padding-bottom:48px;}
.contact-main .contact-enquiry-form {margin-top:12px;}
}

/* v21 — mobile-only alignment, sizing and viewport repairs */
@media(max-width:690px){
  html,body {max-width:100%;overflow-x:clip;}
  *,*:before,*:after {box-sizing:border-box;}
  .page-wrap {width:calc(100% - 36px);}
  .site-header,.site-header.scrolled,.site-header.menu-open {height:72px;}
  .header-inner {width:calc(100% - 30px);gap:7px;}
  .brand {min-width:0;flex-shrink:1;}
  .brand img {max-width:min(42vw,180px);height:auto;}
  .hamburger,.mobile-season {flex-shrink:0;}
  .mobile-drawer {
    height:100dvh;bottom:0;justify-content:flex-start;
    padding:calc(96px + env(safe-area-inset-top)) 24px calc(22px + env(safe-area-inset-bottom));
    overflow-y:auto;overscroll-behavior:contain;gap:clamp(4px,.7vh,10px);
  }
  .mobile-drawer>a {font-size:clamp(36px,5.7vh,55px);line-height:1.06;padding:clamp(3px,.5vh,8px) 0;flex-shrink:0;width:auto;}
  .mobile-drawer .drawer-bottom {margin-top:auto;flex-shrink:0;padding-top:19px;gap:12px;}
  .mobile-drawer .drawer-bottom a {font-size:clamp(11px,2.8vw,14px);letter-spacing:.08em;}
  .mobile-drawer .drawer-lang {padding:11px;font-size:11px;flex-shrink:0;}
  .intro-title {font-size:clamp(40px,10vw,60px);line-height:1.06;}
  .intro-bottom p {font-size:14px;line-height:1.75;}
  .story-content {padding:58px 24px 67px;}
  .story-content h2 {font-size:clamp(49px,12.5vw,73px);line-height:1.04;}
  .section-head h2 {font-size:clamp(45px,10.5vw,68px);line-height:1.05;}
  .gallery-section {padding:60px 0;}
  .gallery-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:170px;gap:9px;}
  .gallery-grid .photo-tile {min-width:0;overflow:hidden;grid-row:auto!important;grid-column:auto!important;}
  .gallery-grid .photo-tile:nth-child(1) {grid-column:1/-1!important;height:260px;}
  .gallery-grid .photo-tile:nth-child(2) {grid-column:1/-1!important;height:215px;}
  .gallery-grid .photo-tile img {display:block;width:100%;height:100%;object-fit:cover;}
  .gallery-grid .photo-tile small {font-size:8px;line-height:1.35;letter-spacing:.08em;max-width:calc(100% - 25px);white-space:normal;}
  .gallery-grid .photo-tile .zoom {display:none;}
  .night-section h2 {font-size:clamp(48px,11vw,75px);line-height:1.04;}
  .location-copy {padding:55px 23px 64px;}
  .location-copy h2 {font-size:clamp(48px,11vw,70px);line-height:1.05;}
  .final-cta h2 {font-size:clamp(48px,12vw,75px);line-height:1.05;}
  .subhero h1 {font-size:clamp(52px,11vw,75px);line-height:1.04;}
  .detail-intro,.inner-section-grid {padding-top:53px;padding-bottom:58px;}
  .detail-aside-photo {max-width:min(55vw,210px);}
  .detail-intro h2,.detail-amenities h2,.inner-section-grid h2 {
    font-size:clamp(45px,10.5vw,66px);line-height:1.07;letter-spacing:-.025em;
  }
  .detail-intro p,.inner-section-grid p {font-size:14px;line-height:1.75;}
  .detail-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .detail-stats>div {min-width:0;}
  .detail-stats strong {font-size:clamp(23px,6vw,33px);white-space:nowrap;}
  .detail-stats span {font-size:8px;line-height:1.35;overflow-wrap:anywhere;}
  .unit-map-heading h2 {font-size:clamp(42px,9.6vw,61px);}
  .unit-map-scroll {overflow-x:visible;overflow-y:visible;}
  .unit-map-graphic {width:100%;min-width:0;}
  .unit-map-graphic svg {width:100%;height:auto;max-width:100%;}
  .unit-map-mobile-hint {display:none;}
  .regional-map-layout {grid-template-columns:minmax(0,1fr);}
  .floating-whatsapp {right:14px;bottom:17px;}
  .quote-copy blockquote {font-size:clamp(29px,7.5vw,42px);line-height:1.25;}
}
@media(max-width:370px){
  .mobile-drawer>a {font-size:clamp(33px,5.4vh,46px);}
  .gallery-grid {grid-auto-rows:145px;}
  .hero h1 {font-size:clamp(44px,11vw,56px);}
}


/* V22: cleaner Igloos introduction and more legible amenities */
.igloo-intro-clean {display:block;max-width:1100px;padding-top:76px;padding-bottom:75px;}
.igloo-intro-clean > div {max-width:930px;margin-inline:auto;}
.detail-amenities .detail-list span {font-size:16px;line-height:1.5;padding-top:22px;padding-bottom:22px;}
@media (max-width:690px) {
  .igloo-intro-clean {display:block;padding-top:45px;padding-bottom:55px;}
  .igloo-intro-clean > div {max-width:100%;}
  .detail-amenities .detail-list span {font-size:16px;line-height:1.55;padding-block:18px;padding-left:25px;}
}

	.st0{opacity:0.1;fill:#FFFFFF;enable-background:new    ;}	.st1{fill:#FFFFFF;}	.st2{fill:#727277;}	.st3{opacity:0.5;}	.st4{fill:#9C9CA0;}	.st5{opacity:4.000000e-02;fill:#FFFFFF;enable-background:new    ;}	.st6{fill:none;}	.st7{font-family:'FuturaBQ-Medium';}	.st8{font-size:14px;}	.st9{letter-spacing:2;}	.st10{font-size:13px;}	.st11{opacity:8.000000e-02;fill:#FFFFFF;enable-background:new    ;}	.st12{fill:#5A5A60;}
    /* Contact form — subtle Nordic styling, with accessible focus and feedback. */
    .contact-enquiry-form { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;margin:46px 0 16px;max-width:720px; }
    .contact-field { display:flex;flex-direction:column;gap:10px;min-width:0; }
    .contact-field-wide,.contact-form-footer,.contact-privacy { grid-column:1/-1; }
    .contact-field label { color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase; }
    .contact-field input,.contact-field textarea { width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:3px;padding:15px 16px;background:rgba(255,255,255,.45);color:var(--ink);font:inherit;font-size:13px;line-height:1.5;outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease; }
    .contact-field input::placeholder,.contact-field textarea::placeholder { color:#737f7a; }
    .contact-field textarea { min-height:136px;resize:vertical; }
    .contact-field input:focus-visible,.contact-field textarea:focus-visible { border-color:#687f72;background:#fff;box-shadow:0 0 0 3px rgba(80,121,95,.14); }
    .contact-form-footer { display:flex;gap:20px;align-items:center;flex-wrap:wrap; }
    .contact-send-button { border:0;cursor:pointer;font-family:inherit; }
    .contact-send-button:disabled { cursor:wait;opacity:.65; }
    .contact-status { margin:0;flex:1;min-width:220px;font-size:12px;line-height:1.6; }
    .contact-status[data-state="error"] { color:#a03e34; }
    .contact-status[data-state="success"] { color:#34694b; }
    .contact-privacy { margin:0;font-size:11px;line-height:1.65;opacity:.72; }
    .contact-honey { position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important; }
    @media(max-width:690px) { .contact-enquiry-form { grid-template-columns:1fr;gap:18px;margin-top:32px; }.contact-field-wide,.contact-form-footer,.contact-privacy { grid-column:auto; } .contact-form-footer { align-items:flex-start;flex-direction:column;gap:12px; } }

  
:root{
  --photo-p0: url("../images/photo-p0-752e2b10.webp");
  --photo-p1: url("../images/photo-p1-726a2fc0.webp");
  --photo-p2: url("../images/photo-p2-98cbed0a.webp");
  --photo-p3: url("../images/photo-p3-83337de2.webp");
  --photo-p4: url("../images/photo-p4-28735c22.webp");
  --photo-p5: url("../images/photo-p5-13e53042.webp");
  --photo-p6: url("../images/photo-p6-5408373c.webp");
}

.story-photo-cta{display:none!important}
/* WordPress page rendering and real language links */
.lang-menu a {display:block;width:100%;padding:9px 10px;font-size:11px;letter-spacing:.05em;color:var(--ink)}
.lang-menu a:hover {background:#dedbcf}
.nav [aria-current="page"]::after {right:0!important}
.drawer-lang {text-decoration:none;display:inline-block;font-size:11px!important;line-height:1.7!important;font-family:var(--sans)!important;padding:10px 15px!important}
/* Uploaded gallery photo tiles have their own natural image position */
.full-gallery-grid .photo-tile img{display:block;width:100%;height:100%;object-fit:cover}

.weather-attribution{font-size:8px;letter-spacing:.03em;opacity:.74;text-decoration:underline;text-underline-offset:2px;margin-left:3px}


/* v1.1 theme-isolation safety rules. Enqueued theme/global CSS is removed from
   Nordic Star pages; these explicit link/button colors protect against inline
   theme styles injected by other WordPress extensions. */
body.lns-website {
  margin:0 !important;
  font-family:var(--sans) !important;
  color:var(--ink);
  background:var(--cream);
}
body.lns-website a, body.lns-website a:visited {text-decoration:none !important;}
body.lns-website .site-header, body.lns-website .site-header .brand,
body.lns-website .site-header .nav>a:not(.book-top),
body.lns-website .site-header .language>button,
body.lns-website .site-header .hamburger {
  color:#fff !important;
}
body.lns-website .site-header .brand,
body.lns-website .site-header .nav>a:not(.book-top),
body.lns-website .site-header .hamburger,
body.lns-website .site-header .language>button {background:transparent !important;}
body.lns-website .site-header .nav .book-top,
body.lns-website .site-header .nav .book-top:visited {
  color:#1b2427 !important;background:#f4f0e8 !important;
}
body.lns-website .site-header .nav .book-top {
  font-family:var(--sans) !important;font-size:10px !important;
}
body.lns-website .site-header .nav .book-top:hover {background:var(--gold) !important;}
body.lns-website .site-header .lang-menu button {color:var(--ink) !important;}
body.lns-website .mobile-drawer a:not(.drawer-lang):not(.button),
body.lns-website .mobile-drawer .hamburger {color:#f8f7f1 !important;}
body.lns-website a.button,body.lns-website a.button:link,
body.lns-website a.button:visited,body.lns-website button.button {
  display:inline-flex;
  background:var(--ink) !important;
  border:1px solid var(--ink) !important;
  color:#fff !important;
  font-family:var(--sans);
  font-size:10px !important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none !important;
  border-radius:0;
  box-shadow:none;
}
body.lns-website a.button *,body.lns-website button.button * {color:inherit !important;}
body.lns-website a.button:hover,body.lns-website button.button:hover {
  background:transparent !important;color:var(--ink) !important;
}
body.lns-website a.button.outline,body.lns-website a.button.outline:visited {
  background:transparent !important;color:#fff !important;
  border-color:rgba(255,255,255,.7) !important;
}
body.lns-website a.button.outline:hover {background:#fff !important;color:var(--ink) !important;}
body.lns-website .final-cta a.button,body.lns-website .final-cta a.button:visited,
body.lns-website .page-bottom-promo a.button,body.lns-website .page-bottom-promo a.button:visited {
  background:#f2eee6 !important;color:var(--ink) !important;border-color:#f2eee6 !important;
}
body.lns-website .final-cta a.button:hover,
body.lns-website .page-bottom-promo a.button:hover {
  background:transparent !important;color:#fff !important;
}
body.lns-website button.res-submit,body.lns-website button.res-submit:focus-visible {
  background:var(--pine) !important;
  border-color:var(--pine) !important;
  color:#fff !important;
  font-family:var(--sans) !important;font-weight:800;border-radius:0;
  font-size:9px !important;text-decoration:none !important;
}
body.lns-website button.res-submit:hover {background:#536357 !important;}
body.lns-website[data-season="summer"] button.res-submit {background:#476d53 !important;border-color:#476d53 !important;}
body.lns-website[data-season="summer"] button.res-submit:hover {background:#315b45 !important;}
body.lns-website .text-link,body.lns-website .text-link:visited {color:inherit !important;}
body.lns-website .res-field input,body.lns-website .res-field select,
body.lns-website .contact-field input,body.lns-website .contact-field textarea {
  color:var(--ink) !important;font-family:var(--sans) !important;
  border-radius:0;
}

/* Keep the independent fixed header visible beneath the logged-in WP toolbar. */
@media(min-width:783px){ body.admin-bar.lns-website .site-header {top:32px;} }
@media(max-width:782px){ body.admin-bar.lns-website .site-header {top:46px;} }
@media(max-width:600px){ body.admin-bar.lns-website .site-header {top:0;} }

@media(max-width:690px){ body.lns-website .hero-reservation button.res-submit {font-size:8px !important;} }
@media(max-width:380px){ body.lns-website .hero-reservation button.res-submit {font-size:7.6px !important;} }

/* v1.2 performance and resilient navigation */
#lns-navigation-progress { position:fixed;top:0;left:0;z-index:10001;width:0;height:3px;pointer-events:none;opacity:0;background:#d4b78c;transition:width .6s ease,opacity .15s ease; }
body.lns-navigating #lns-navigation-progress { width:75%;opacity:1; }
@media(prefers-reduced-motion:reduce) { #lns-navigation-progress {transition:none} }

/* 1.3 layout / cookie controls */
body.lns-website:not(.lns-page-home) .season-control,body.lns-website:not(.lns-page-home) .mobile-season {display:none!important}
body.lns-website .lang-menu a, body.lns-website #language-switch .current-lang {font-size:11px!important;letter-spacing:0!important;line-height:1.5!important}
body.lns-website .lang-menu a {padding:9px 12px!important;white-space:nowrap!important}
body.lns-website .lang-menu {min-width:142px!important}
body.lns-website .floating-whatsapp {width:45px!important;height:45px!important;right:16px!important;bottom:16px!important}
body.lns-website .floating-whatsapp img {width:45px!important;height:45px!important}
@media(max-width:690px){body.lns-website .floating-whatsapp {width:40px!important;height:40px!important;right:12px!important;bottom:13px!important}body.lns-website .floating-whatsapp img{width:40px!important;height:40px!important}}
.lns-cookie-banner[hidden],.lns-cookie-options[hidden],.lns-cookie-actions button[hidden] {display:none!important}
.lns-cookie-banner{box-sizing:border-box;position:fixed;left:16px;bottom:14px;width:min(690px,calc(100% - 32px));z-index:99999;background:#fcfbf7;color:#1c2628;padding:22px 25px;border-radius:5px;box-shadow:0 7px 50px #0005;display:flex;gap:18px;align-items:flex-end;justify-content:space-between;font-family:var(--sans),Arial,sans-serif}
.lns-cookie-copy{flex:1;min-width:0}.lns-cookie-copy strong{font-size:16px;letter-spacing:.01em}.lns-cookie-copy p{font-size:12px;line-height:1.65;margin:8px 0 0}.lns-cookie-copy a{color:#16493d;text-decoration:underline}.lns-cookie-options{display:flex;gap:12px;flex-wrap:wrap;padding-top:13px}.lns-cookie-options label{display:flex;align-items:center;gap:5px;font-size:12px}.lns-cookie-actions{display:flex;flex-direction:column;gap:7px;min-width:142px}.lns-cookie-actions button{border:1px solid #253b35!important;padding:11px!important;font:600 11px/1.3 var(--sans),Arial,sans-serif!important;background:transparent!important;color:#243e37!important;cursor:pointer!important;border-radius:2px!important;min-height:37px!important}.lns-cookie-actions .lns-cookie-accept{background:#243e37!important;color:#fff!important}.lns-legal-footer{padding:8px 0 22px;display:flex;flex-wrap:wrap;gap:9px;justify-content:center;align-items:center;font:11px/1.5 var(--sans),sans-serif;color:inherit}.lns-legal-footer a{color:inherit;text-decoration:underline}.lns-legal-footer button,.legal-cookie-open{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-decoration:underline;padding:0}.legal-page{padding-top:clamp(125px,15vw,180px);padding-bottom:90px;max-width:820px}.legal-page h1{font-family:var(--serif),Georgia,serif;font-size:clamp(56px,10vw,95px);font-weight:400;line-height:1.05;margin:22px 0 38px}.legal-page h2{font-family:var(--serif),Georgia,serif;font-size:clamp(28px,4vw,39px);font-weight:400;margin:34px 0 10px}.legal-page p{font:14px/1.85 var(--sans),sans-serif;letter-spacing:0;max-width:730px}.legal-page a{text-decoration:underline}.legal-page .legal-intro{font-size:16px;line-height:1.7}
@media(max-width:690px){.lns-cookie-banner{left:10px;bottom:10px;width:calc(100% - 20px);padding:17px;display:block}.lns-cookie-actions{flex-direction:row;flex-wrap:wrap;margin-top:15px;min-width:0}.lns-cookie-actions button{flex:1 1 42%;padding:9px 4px!important}.legal-page{padding-top:115px;padding-bottom:65px}.legal-page h1{overflow-wrap:anywhere}}

/* v1.4: mobile image containment, including WP theme/layout edge cases. */
@media (max-width: 767px) {
  body.lns-website .story, body.lns-website .detail-gallery,
  body.lns-website .gallery-grid, body.lns-website .full-gallery-grid {
    min-width:0; max-width:100%;
  }
  body.lns-website .detail-gallery {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;align-items:stretch;}
  body.lns-website .detail-gallery>img {position:relative!important;inset:auto!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;margin:0!important;transform:none!important;}
  body.lns-website .gallery-grid {grid-auto-flow:row!important;grid-auto-rows:auto!important;grid-template-rows:none!important;align-items:stretch;}
  body.lns-website .gallery-grid .photo-tile {position:relative!important;isolation:isolate;min-height:170px;height:auto!important;aspect-ratio:4/3;overflow:hidden;}
  body.lns-website .gallery-grid .photo-tile:nth-child(1),body.lns-website .gallery-grid .photo-tile:nth-child(2) {aspect-ratio:1.7;min-height:190px;}
  body.lns-website .gallery-grid .photo-tile img {position:absolute!important;inset:0!important;max-width:100%!important;width:100%!important;height:100%!important;object-fit:cover;}
  body.lns-website .story-visual {position:relative!important;min-height:0!important;height:auto!important;aspect-ratio:4/5;overflow:hidden!important;isolation:isolate;flex:none;}
  body.lns-website .story-photo-button {position:absolute!important;inset:0!important;display:block;width:100%;height:100%;overflow:hidden;}
  body.lns-website .story-visual img {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover;}
  body.lns-website .story-content {position:relative;z-index:1;}
  body.lns-website .full-gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  body.lns-website .full-gallery-grid .photo-tile {position:relative;min-width:0;overflow:hidden;aspect-ratio:3/4;}
  body.lns-website .full-gallery-grid .photo-tile img {width:100%;height:100%;object-fit:cover;}
  body.lns-website .location-visual {position:relative;min-height:350px;overflow:hidden;}
}

/* v1.5 — reliable narrow-screen flow and typography. These rules intentionally
   replace previous auto-row/aspect-ratio experiments. */
@media (max-width:767px) {
  body.lns-website .gallery-section {padding:56px 0 64px!important;overflow:hidden;}
  body.lns-website .gallery-section .page-wrap {max-width:100%;min-width:0;}
  body.lns-website .gallery-section .section-head {margin-bottom:24px!important;}
  body.lns-website .gallery-section .section-head h2 {font-size:clamp(43px,11vw,64px)!important;line-height:1.04!important;overflow-wrap:normal;}
  body.lns-website .gallery-grid {
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,220px) 200px!important;
    grid-auto-rows:200px!important;grid-auto-flow:row!important;
    gap:12px!important;align-items:stretch!important;
    width:100%;margin:0;min-height:0;
  }
  body.lns-website .gallery-grid>.photo-tile {
    display:block!important;position:relative!important;box-sizing:border-box!important;
    width:100%!important;min-width:0!important;min-height:0!important;
    max-width:100%!important;height:100%!important;aspect-ratio:auto!important;
    margin:0!important;padding:0!important;overflow:hidden!important;transform:none!important;
    grid-column:auto!important;grid-row:auto!important;contain:layout paint;
  }
  body.lns-website .gallery-grid>.photo-tile:nth-child(1),
  body.lns-website .gallery-grid>.photo-tile:nth-child(2) {grid-column:1 / -1!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;}
  body.lns-website .gallery-grid>.photo-tile:nth-child(1) {grid-row:1!important;}
  body.lns-website .gallery-grid>.photo-tile:nth-child(2) {grid-row:2!important;}
  body.lns-website .gallery-grid>.photo-tile:nth-child(3) {grid-column:1!important;grid-row:3!important;}
  body.lns-website .gallery-grid>.photo-tile:nth-child(4) {grid-column:2!important;grid-row:3!important;}
  body.lns-website .gallery-grid>.photo-tile img,
  body.lns-website .gallery-grid>.photo-tile .season-photo {
    position:absolute!important;inset:0!important;display:block!important;
    width:100%!important;height:100%!important;max-height:100%!important;
    min-height:0!important;object-fit:cover!important;transform:none!important;
  }
  body.lns-website .gallery-grid>.photo-tile small {
    bottom:13px!important;left:12px!important;right:10px!important;
    z-index:3!important;max-width:calc(100% - 22px)!important;
    font:700 9px/1.4 var(--sans),Arial,sans-serif!important;
    letter-spacing:.09em!important;overflow-wrap:break-word!important;
  }
  body.lns-website .gallery-footer {margin-top:22px!important;justify-content:flex-start!important;min-height:0;}
  body.lns-website .gallery-footer .text-link {
    display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;
    gap:12px!important;max-width:100%!important;
    font:700 10px/1.55 var(--sans),Arial,sans-serif!important;
    letter-spacing:.11em!important;text-decoration:none!important;
    border-bottom:1px solid currentColor!important;padding:7px 0 10px!important;
    overflow-wrap:anywhere!important;white-space:normal!important;
  }
  body.lns-website .gallery-footer .text-link span:first-child {
    font:inherit!important;letter-spacing:inherit!important;line-height:1.55!important;
    min-width:0!important;display:inline!important;
  }
  body.lns-website .gallery-footer .text-link span:last-child {
    flex:none!important;font-size:20px!important;line-height:1!important;
  }
  body.lns-website .quote-band {padding:54px 0 60px!important;overflow:hidden!important;}
  body.lns-website .quote-layout {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important;}
  body.lns-website .quote-layout>* {min-width:0!important;width:100%!important;}
  body.lns-website .quote-copy {min-width:0!important;max-width:100%!important;}
  body.lns-website .quote-copy blockquote {
    font:300 clamp(29px,7.4vw,37px)/1.24 var(--display),Georgia,serif!important;
    letter-spacing:-.025em!important;max-width:100%!important;
    margin:0 0 22px!important;overflow-wrap:break-word!important;
    word-break:normal!important;white-space:normal!important;
  }
  body.lns-website .quote-copy blockquote::before {
    font-size:68px!important;line-height:.75!important;margin-bottom:15px!important;
  }
  body.lns-website .quote-controls {margin-top:25px!important;}
}
@media(max-width:390px) {
  body.lns-website .gallery-grid {grid-template-rows:195px 195px 175px!important;gap:9px!important;}
  body.lns-website .quote-copy blockquote {font-size:clamp(27px,7.1vw,31px)!important;}
}

/* v1.6: dedicated Gallery page. On phones, EVERY gallery tile is an
   independent square in a strict two-column grid. Overrides older nth-child
   span/row/height rules, which caused image collisions on iOS Safari. */
@media (max-width:767px) {
  body.lns-page-gallery .full-gallery-wrap {padding-top:44px!important;padding-bottom:70px!important;}
  body.lns-page-gallery .full-gallery-grid {
    display:grid!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-rows:auto!important;
    grid-auto-flow:row!important;
    column-gap:10px!important;row-gap:10px!important;
    align-items:start!important;justify-items:stretch!important;
  }
  body.lns-page-gallery .full-gallery-grid > .photo-tile,
  body.lns-page-gallery .full-gallery-grid > .photo-tile:nth-child(n) {
    display:block!important;position:relative!important;
    box-sizing:border-box!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    height:auto!important;max-height:none!important;min-height:0!important;
    aspect-ratio:1 / 1!important;
    grid-column:auto!important;grid-row:auto!important;
    margin:0!important;padding:0!important;
    overflow:hidden!important;isolation:isolate;
    transform:none!important;
  }
  body.lns-page-gallery .full-gallery-grid > .photo-tile > img,
  body.lns-page-gallery .full-gallery-grid > .photo-tile:nth-child(n) > img {
    position:absolute!important;top:0!important;left:0!important;
    right:auto!important;bottom:auto!important;
    display:block!important;width:100%!important;height:100%!important;
    max-width:none!important;max-height:none!important;min-height:0!important;
    aspect-ratio:auto!important;object-fit:cover!important;
    object-position:center center!important;margin:0!important;
    transform:none!important;
  }
  body.lns-page-gallery .full-gallery-grid .photo-tile small {
    position:absolute!important;left:10px!important;right:10px!important;
    bottom:10px!important;z-index:2!important;
    max-width:calc(100% - 20px)!important;
    font-size:9px!important;line-height:1.4!important;
    letter-spacing:.06em!important;white-space:normal!important;
    overflow-wrap:break-word!important;
  }
}
/* Legal policy pages have light backgrounds: the navigation must not be
   transparent because that makes the white logo and controls unreadable. */
body.lns-page-privacy .site-header,
body.lns-page-cookies .site-header,
body.lns-page-privacy .site-header.scrolled,
body.lns-page-cookies .site-header.scrolled,
body.lns-page-privacy .site-header.menu-open,
body.lns-page-cookies .site-header.menu-open {
  background:#202d2b!important;color:#fff!important;
  box-shadow:0 4px 22px rgba(0,0,0,.12)!important;
}

/* v1.7 — Compact language selector. WordPress often renders flag emoji as
   img.emoji; the theme's global img rules must not enlarge them. */
body.lns-website #language-switch { position:relative; flex:0 0 auto; }
body.lns-website #language-switch #lang-trigger {
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  gap:5px!important; width:auto!important; min-width:0!important; max-width:none!important;
  padding:8px 3px!important; margin:0!important; background:transparent!important;
  border:0!important; box-shadow:none!important; color:#fff!important;
  font:600 11px/1.3 var(--sans),Arial,sans-serif!important;
}
body.lns-website #language-switch .current-lang { display:inline-flex!important; align-items:center!important; gap:5px!important; white-space:nowrap!important; }
body.lns-website #language-switch .lang-menu {
  display:none!important; position:absolute!important; top:calc(100% + 8px)!important;
  right:0!important; left:auto!important; bottom:auto!important;
  width:150px!important; min-width:150px!important; max-width:150px!important;
  height:auto!important; max-height:130px!important; padding:5px!important;
  margin:0!important; overflow:hidden!important; border-radius:3px!important;
  background:#f2f0e9!important; box-shadow:0 10px 26px rgba(0,0,0,.24)!important;
  z-index:105!important; box-sizing:border-box!important;
}
body.lns-website #language-switch.active .lang-menu { display:block!important; }
body.lns-website #language-switch .lang-menu a {
  display:flex!important; align-items:center!important; flex-direction:row!important;
  gap:9px!important; width:100%!important; min-width:0!important;
  height:38px!important; min-height:38px!important; max-height:38px!important;
  padding:7px 9px!important; margin:0!important; border:0!important;
  font:500 12px/1.25 var(--sans),Arial,sans-serif!important;
  letter-spacing:0!important; color:#202b2c!important; text-decoration:none!important;
  text-transform:none!important; white-space:nowrap!important;
  box-sizing:border-box!important;
}
body.lns-website #language-switch .lang-menu a:hover,
body.lns-website #language-switch .lang-menu a:focus-visible {background:#e4e1d9!important;}
body.lns-website #language-switch img.emoji,
body.lns-website #language-switch .emoji,
body.lns-website #lang-trigger img.emoji {
  display:inline-block!important; flex:0 0 18px!important;
  width:18px!important; height:18px!important; min-width:18px!important;
  min-height:18px!important; max-width:18px!important; max-height:18px!important;
  margin:0!important; padding:0!important; border:0!important;
  object-fit:contain!important; vertical-align:middle!important;
  position:static!important; transform:none!important;
}
@media(max-width:980px){body.lns-website #language-switch .lang-menu{right:0!important;}}
