
    :root{
      --ink:#273238;
      --ink-soft:#4a5659;
      --muted:#768084;
      --paper:#f5efe5;
      --paper-2:#fbf7ef;
      --shell:#eee5d6;
      --white:#fff;
      --sea:#15384a;
      --sea-dark:#102c3a;
      --sea-deep:#0d2632;
      --clay:#8f5a4b;
      --rose:#c9938e;
      --gold:#b89d69;
      --line:rgba(39,50,56,.16);
      --line-light:rgba(255,255,255,.24);
      --max:1180px;
      --wide:1480px;
      --serif:'Lora', Georgia, serif;
      --sans:'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
    img{display:block;max-width:100%;height:auto}
    a{color:inherit;text-decoration:none}
    button{font:inherit;color:inherit}
    :focus-visible{outline:2px solid var(--gold);outline-offset:4px}
    .skip-link{position:absolute;left:16px;top:-90px;background:var(--sea);color:#fff;padding:11px 14px;z-index:100}
    .skip-link:focus{top:16px}
    .wrap{width:min(var(--max),calc(100% - 44px));margin-inline:auto}
    .wide{width:min(var(--wide),calc(100% - 28px));margin-inline:auto}

    .site-header{position:sticky;top:0;z-index:70;background:rgba(245,239,229,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding-top:env(safe-area-inset-top)}
    .header-inner{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}
    .brand{display:flex;align-items:center;gap:14px;min-width:max-content}
    .brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 1px 0 rgba(255,255,255,.7)}
    .brand strong{display:block;font-family:var(--serif);font-weight:600;font-size:1.26rem;letter-spacing:.18em;text-transform:uppercase;color:#5a6568;line-height:1.05}
    .brand small{display:block;margin-top:4px;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:#858f91;font-weight:700;line-height:1}
    .desktop-nav{display:flex;align-items:center;justify-content:center;gap:30px;white-space:nowrap}
    .desktop-nav a{font-size:.86rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:#475256;line-height:1;padding:33px 0 29px;border-bottom:2px solid transparent}
    .desktop-nav a:hover{color:var(--sea);border-bottom-color:var(--sea)}
    .header-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end}
    .book-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 21px;border:1px solid var(--sea);background:var(--sea);color:#fff;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.8rem;transition:background .18s ease,border-color .18s ease,transform .18s ease}
    .book-btn:hover{background:var(--sea-dark);border-color:var(--sea-dark);transform:translateY(-1px)}
    .line-btn{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;border-bottom:1px solid currentColor;padding:0 0 4px;color:var(--sea);font-weight:800;letter-spacing:.01em}
    .line-btn:hover{color:var(--sea-deep)}
    .menu-btn{display:none;width:36px;height:30px;border:0;background:transparent;cursor:pointer;position:relative;color:transparent}
    .menu-btn:before,.menu-btn:after{content:'';position:absolute;left:3px;right:3px;height:1px;background:var(--ink);transition:transform .18s ease,top .18s ease}
    .menu-btn:before{top:9px}.menu-btn:after{top:20px}
    body.menu-open .menu-btn:before{top:15px;transform:rotate(42deg)}
    body.menu-open .menu-btn:after{top:15px;transform:rotate(-42deg)}

    .language{position:relative}
    .lang-trigger{height:46px;display:flex;align-items:center;gap:9px;border:1px solid rgba(21,56,74,.22);background:rgba(255,255,255,.54);padding:0 13px;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.55)}
    .lang-trigger:after{content:'⌄';font-size:1rem;line-height:1;color:var(--muted);transform:translateY(-2px)}
    .lang-flag{font-size:1.12rem;line-height:1}.lang-code{font-weight:800;letter-spacing:.08em;font-size:.85rem}
    .lang-list{position:absolute;right:0;top:calc(100% + 9px);min-width:205px;padding:7px;background:var(--paper-2);border:1px solid var(--line);box-shadow:0 18px 45px rgba(16,44,58,.18);display:none;z-index:100}
    .language.open .lang-list{display:block}
    .lang-list button{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:11px;padding:10px 10px;cursor:pointer;text-align:left;font-weight:650;color:var(--ink)}
    .lang-list button:hover,.lang-list button.is-active{background:rgba(21,56,74,.075)}
    .lang-list .flag{font-size:1.14rem}

    .mobile-nav{display:none;border-top:1px solid var(--line);padding:10px 0 18px;background:rgba(245,239,229,.98)}
    .mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid rgba(39,50,56,.11);font-size:.9rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#3f4c50}
    body.menu-open .mobile-nav{display:block}

    .hero{position:relative;min-height:calc(86svh - 82px);display:grid;align-items:end;overflow:hidden;background:var(--sea-deep);--hero-scroll:0px;--hero-load-y:20px;--hero-scale:1.055}
    @supports not (height:100svh){.hero{min-height:calc(86vh - 82px)}}
    .hero-media{position:absolute;inset:-34px 0;display:block;overflow:hidden;opacity:0;transform:translate3d(0,calc(var(--hero-scroll) + var(--hero-load-y)),0) scale(var(--hero-scale));transform-origin:center;transition:opacity .72s ease,transform 1.15s cubic-bezier(.22,1,.36,1);will-change:opacity,transform;backface-visibility:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 52%;opacity:1;transform:none;transition:none;will-change:auto}
    body.is-loaded .hero{--hero-load-y:0px;--hero-scale:1.025}
    body.is-loaded .hero-media{opacity:1}
    body.is-parallax-ready .hero-media{transition:opacity .72s ease}
    .hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,28,.72) 0%,rgba(5,24,36,.50) 30%,rgba(6,28,42,.22) 60%,rgba(6,28,42,.06) 100%),linear-gradient(180deg,rgba(4,16,23,.04) 0%,rgba(4,16,23,.08) 44%,rgba(4,16,23,.32) 100%)}
    .hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(0deg,rgba(5,21,31,.62),rgba(5,21,31,0));pointer-events:none}
    .hero-content{position:relative;z-index:2;color:#fff;padding:88px 0 62px;max-width:640px;text-shadow:0 2px 10px rgba(0,0,0,.52),0 14px 36px rgba(0,0,0,.34);opacity:0;transform:translate3d(0,14px,0);transition:opacity .62s ease .16s,transform .72s cubic-bezier(.22,1,.36,1) .16s}
    body.is-loaded .hero-content{opacity:1;transform:translate3d(0,0,0)}
    .kicker{font-size:.83rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.9);font-weight:800;text-shadow:0 2px 14px rgba(0,0,0,.42)}
    h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--ink)}
    .hero h1{margin:15px 0 18px;color:#fff;font-size:clamp(3.8rem,8.4vw,7.4rem);line-height:.92;letter-spacing:-.055em;max-width:8.5ch;text-shadow:0 3px 20px rgba(0,0,0,.52),0 18px 48px rgba(0,0,0,.24)}
    .hero-lead{font-size:clamp(1.08rem,1.55vw,1.28rem);max-width:620px;margin:0;color:rgba(255,255,255,.94);text-shadow:0 2px 16px rgba(0,0,0,.46)}
    .hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px}
    .hero .book-btn{background:#fff;border-color:#fff;color:var(--sea)}
    .hero .book-btn:hover{background:var(--paper-2);border-color:var(--paper-2)}
    .hero .line-btn{color:#fff;border-color:rgba(255,255,255,.72)}
    .hero-facts{display:flex;gap:26px;flex-wrap:wrap;margin-top:48px;border-top:1px solid rgba(255,255,255,.28);padding-top:16px;color:rgba(255,255,255,.84);font-size:.86rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.45)}

    .section{padding:92px 0;border-top:1px solid var(--line)}
    .section:first-of-type{border-top:0}.section.light{background:var(--paper-2)}
    .section-head{max-width:800px;margin-bottom:42px}.section-head.center{text-align:center;margin-inline:auto}.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sea);font-weight:850;margin-bottom:14px}
    h2{font-size:clamp(2.35rem,5.4vw,4.9rem);line-height:1.02;letter-spacing:-.047em;margin:0}
    h3{font-size:clamp(1.32rem,2.2vw,2rem);line-height:1.14;letter-spacing:-.022em;margin:0}
    .lead{font-size:1.16rem;color:var(--ink-soft);max-width:760px;margin:18px 0 0}
    p{margin:0}.muted{color:var(--muted)}

    details.more{margin-top:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    details.more summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;font-weight:800;color:var(--sea)}
    details.more summary::-webkit-details-marker{display:none}details.more summary:after{content:'+';font-size:1.25rem;font-weight:400;line-height:1}details.more[open] summary:after{content:'–'}details.more p{padding:0 0 18px;color:var(--ink-soft)}

    .stay-intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:68px;align-items:end;margin-bottom:48px}
    .stay-copy{padding-bottom:8px}.stay-photo{height:540px;overflow:hidden;background:#ddd2c4}.stay-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
    .rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
    .room-card{border-top:1px solid var(--line);padding-top:18px}
    .room-img{height:315px;overflow:hidden;margin-bottom:20px;background:#e5dccc}.room-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.room-card:hover .room-img img{transform:scale(1.03)}
    .room-card h3{margin-bottom:8px}.room-card p{color:var(--ink-soft)}.room-card .line-btn{margin-top:16px}
    .room-card details.more{font-size:.96rem}

    .info-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:68px;align-items:start}
    .info-list{border-top:1px solid var(--line)}
    .info-item{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}
    .info-item h3{font-family:var(--sans);font-size:1.1rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase;color:var(--sea);margin-top:3px}
    .info-item p{color:var(--ink-soft)}.info-item details.more{border:0;margin-top:11px}.info-item details.more summary{padding:0 0 6px;font-size:.96rem}.info-item details.more p{padding:0;color:var(--muted)}

    .risor-section{position:relative;overflow:hidden;background:var(--sea);color:#fff;border-top:0}
    .risor-section:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(201,147,142,.25),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.08),transparent 55%);pointer-events:none}
    .risor-section .wrap{position:relative;z-index:1}.risor-section h2,.risor-section h3{color:#fff}.risor-section .eyebrow{color:#e8d1aa}.risor-section .lead,.risor-section p{color:rgba(255,255,255,.78)}
    .risor-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
    .risor-notes{border-top:1px solid var(--line-light);margin-top:30px}
    .risor-note{display:grid;grid-template-columns:135px 1fr;gap:24px;padding:17px 0;border-bottom:1px solid var(--line-light)}
    .risor-note strong{font-family:var(--sans);font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-size:.84rem}.risor-note p{font-size:1rem}
    .risor-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:stretch}
    .risor-gallery figure{margin:0;overflow:hidden;background:#0f2c3a}.risor-gallery img{width:100%;height:100%;object-fit:cover}.risor-gallery .tall{height:560px}.risor-gallery .stack{display:grid;gap:16px}.risor-gallery .small{height:272px}.caption{display:block;margin-top:10px;font-size:.92rem;color:rgba(255,255,255,.58)}
    .risor-activity{position:relative;z-index:1;margin-top:34px;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:stretch;overflow:hidden;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.055);transition:transform .28s var(--ease),border-color .28s var(--ease),background .28s var(--ease)}
    .risor-activity:hover{transform:translateY(-3px);border-color:rgba(232,209,170,.58);background:rgba(255,255,255,.085)}
    .risor-activity img{width:100%;height:100%;min-height:205px;object-fit:cover;filter:saturate(.96) contrast(.98)}
    .risor-activity-copy{padding:26px 30px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}
    .risor-activity-copy h3{font-size:clamp(1.55rem,2.7vw,2.35rem);margin-bottom:8px}
    .risor-activity-copy p{max-width:620px;margin-bottom:18px}
    .risor-activity-copy .line-btn{color:#fff;border-color:rgba(255,255,255,.62)}
    .risor-activity:hover .line-btn{border-color:#e8d1aa;color:#e8d1aa}

    .wedding-intro{display:flex;justify-content:space-between;align-items:end;gap:42px;margin-bottom:34px;padding-bottom:26px;border-bottom:1px solid var(--line)}
    .wedding-intro h2{max-width:760px}.wedding-links{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;margin-top:0}
    .event-gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:315px 315px;gap:18px}
    .event-tile{position:relative;overflow:hidden;background:#e5dccc}.event-tile.large{grid-row:span 2}.event-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.event-tile:hover img{transform:scale(1.025)}
    .event-tile span{position:absolute;left:18px;bottom:16px;background:rgba(16,44,58,.78);color:#fff;padding:7px 11px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:850;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
    .event-info{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--line);padding-top:22px}.event-info h3{font-family:var(--sans);font-size:1.04rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sea);font-weight:850;margin-bottom:6px}.event-info p{color:var(--ink-soft)}

    .final{padding:84px 0;text-align:center;background:var(--paper-2);border-top:1px solid var(--line)}.final h2{margin:0}.final .lead{margin-inline:auto}.final-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:28px}
    footer{background:var(--sea-dark);color:#fff;padding:58px 0 30px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:34px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:35px}footer h3{font-family:var(--serif);font-size:1.4rem;color:#fff;margin:0 0 8px}footer p,footer a{display:block;color:rgba(255,255,255,.72);margin:.18rem 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.55);font-size:.95rem;padding-top:24px}


    #info,#risor,#weddings,.final,footer{content-visibility:auto;contain-intrinsic-size:720px}
    @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media,.hero-media img,.hero-content,.room-img img,.event-tile img{transition:none!important;transform:none!important;opacity:1!important;will-change:auto!important}.hero{--hero-scroll:0px!important;--hero-load-y:0px!important;--hero-scale:1!important}}

    @media(max-width:1080px){
      .desktop-nav{display:none}.menu-btn{display:block}.header-inner{grid-template-columns:auto 1fr auto}.brand{justify-self:start}.header-actions .book-btn{display:none}
      .stay-intro,.info-layout,.risor-grid,.wedding-intro{grid-template-columns:1fr;gap:42px}.rooms-grid{grid-template-columns:1fr 1fr}.event-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 300px 300px}.event-tile.large{grid-row:span 1}.event-info{grid-template-columns:1fr}.stay-photo{height:460px}.risor-gallery .tall{height:480px}
    }
    @media(max-width:720px){
      body{font-size:16px}.wrap,.wide{width:calc(100% - 28px)}.header-inner{min-height:70px;gap:12px}.brand img{width:40px;height:40px}.brand strong{font-size:.9rem;letter-spacing:.13em}.brand small{font-size:.55rem;letter-spacing:.24em}.lang-trigger{height:40px;padding:0 10px}.lang-code{display:none}.site-header{top:0}.hero{min-height:calc(84svh - 70px)}.hero:before{background:linear-gradient(180deg,rgba(5,21,31,.12) 0%,rgba(5,21,31,.38) 42%,rgba(5,21,31,.84) 100%)}.hero-media img{object-position:center}.hero-content{padding:74px 0 38px}.hero h1{font-size:clamp(3.25rem,17vw,5.35rem)}.hero-facts{display:block;margin-top:36px}.hero-facts span{display:block;padding:10px 0;border-top:1px solid rgba(255,255,255,.2)}.hero-facts span:first-child{border-top:0}.section{padding:68px 0}h2{font-size:clamp(2.2rem,12vw,3.55rem)}.stay-photo,.risor-gallery .tall{height:350px}.rooms-grid,.footer-grid,.risor-gallery,.event-gallery{grid-template-columns:1fr}.room-img{height:270px}.info-item,.risor-note{grid-template-columns:1fr;gap:8px}.risor-gallery .small{height:240px}.risor-activity{grid-template-columns:1fr}.risor-activity img{height:230px}.event-gallery{grid-template-rows:repeat(5,260px)}.footer-bottom{display:block}.footer-bottom span:last-child{display:block;margin-top:8px}
    }
  

    /* v10 refinements */
    .header-actions > .book-btn{height:46px;min-height:46px;width:132px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;line-height:1}
    .hero{margin-bottom:-1px;align-items:center;min-height:calc(82svh - 82px)}
    .hero:after{height:62%;background:linear-gradient(0deg,rgba(7,27,39,.92) 0%,rgba(7,27,39,.52) 34%,rgba(7,27,39,0) 100%)}
    .hero-content{max-width:780px;padding:92px 0 86px}.hero h1{max-width:760px}.hero .book-btn{height:46px;min-height:46px;width:auto;padding-inline:22px}

    .stay-section{position:relative;overflow:hidden;border-top:0;padding:0 0 96px;background:var(--paper);color:var(--ink);isolation:isolate}
    .stay-section h2,.stay-section h3{color:#fff}.stay-section .eyebrow{color:#d9c391}.stay-section .lead,.stay-section p{color:rgba(255,255,255,.75)}.stay-section .line-btn{color:#fff;border-color:rgba(255,255,255,.58)}.stay-section details.more{border-color:rgba(255,255,255,.18)}.stay-section details.more summary{color:#f1ddb2}.stay-section details.more p{color:rgba(255,255,255,.68)}
    .hero-bridge-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:46px;align-items:end;padding:62px 0 58px;border-bottom:1px solid rgba(255,255,255,.16)}
    .hero-bridge-inner .kicker{display:block;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:#e8d1aa;font-weight:850;text-shadow:none;margin-bottom:16px}
    .hero-bridge-lead{font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,2.3vw,2.45rem);line-height:1.35;letter-spacing:-.025em;max-width:830px;color:rgba(255,255,255,.92)!important;text-shadow:0 16px 42px rgba(0,0,0,.18)}
    .hero-bridge-inner .hero-facts{margin:0;padding:0;border-top:0;display:grid;gap:10px;text-shadow:none;justify-items:end;color:rgba(255,255,255,.78);font-size:.8rem;letter-spacing:.16em}.hero-bridge-inner .hero-facts span{display:block;border-bottom:1px solid rgba(255,255,255,.18);padding:0 0 10px;min-width:210px;text-align:right}
    .stay-content{position:relative;z-index:1;padding-top:76px}.stay-intro{align-items:center;margin-bottom:56px}.stay-photo{box-shadow:0 28px 80px rgba(2,13,21,.22)}
    .rooms-grid{width:min(var(--wide),calc(100vw - 28px));margin:58px 0 0 50%;transform:translateX(-50%);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.room-card{border-top:1px solid rgba(255,255,255,.18);padding-top:14px;text-align:center}.room-img{height:430px;margin-bottom:22px;background:#0c2a38}.room-card h3{margin-top:0}.room-card p{max-width:310px;margin:0 auto;color:rgba(255,255,255,.72)}.room-card .line-btn{margin-top:18px}
    .image-slider{position:relative;overflow:hidden}.image-slider > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .52s ease,transform .72s ease}.image-slider > img.is-active{opacity:1;position:absolute}.image-slider:hover > img.is-active{transform:scale(1.018)}
    .slider-btn{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(9,31,43,.38);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:1.55rem;line-height:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .18s ease,transform .18s ease}.slider-btn:hover{background:rgba(9,31,43,.62);transform:translateY(-50%) scale(1.03)}.slider-btn.prev{left:13px}.slider-btn.next{right:13px}
    .slider-dots{position:absolute;left:16px;bottom:14px;z-index:3;display:flex;gap:6px}.slider-dots button{width:7px;height:7px;border-radius:999px;border:0;background:rgba(255,255,255,.54);padding:0;cursor:pointer}.slider-dots button.is-active{width:22px;background:#fff}

    .info-shell{display:grid;grid-template-columns:.78fr 1.22fr;gap:54px;align-items:start}.info-intro{position:sticky;top:112px}.info-photo{margin:28px 0 0;height:320px;overflow:hidden;background:#e1d6c8}.info-photo img{width:100%;height:100%;object-fit:cover}.info-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.info-card{position:relative;background:rgba(255,255,255,.62);border:1px solid rgba(39,50,56,.13);padding:24px;min-height:238px;display:flex;flex-direction:column;justify-content:flex-start;box-shadow:0 18px 54px rgba(39,50,56,.05)}.info-mark{font-size:.78rem;letter-spacing:.16em;color:var(--gold);font-weight:850;margin-bottom:18px}.info-card h3{font-family:var(--serif);font-size:1.8rem;text-transform:none;letter-spacing:-.02em;font-weight:500;color:var(--sea);margin-bottom:10px}.info-card p{color:var(--ink-soft)}.info-card details.more{margin-top:auto;border-color:rgba(39,50,56,.13)}.info-card details.more summary{padding:14px 0 0}.info-card details.more p{padding-top:10px}.info-card.image-note{grid-column:span 2;display:grid;grid-template-columns:.82fr 1fr;gap:22px;min-height:0;padding:16px}.info-card.image-note img{width:100%;height:260px;object-fit:cover}.info-card.image-note > div{padding:8px 10px 8px 0;display:flex;flex-direction:column}

    .event-gallery{grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:335px 335px;gap:16px}.event-tile .image-slider{width:100%;height:100%}.event-tile .image-slider > img{position:absolute}.event-tile:hover .image-slider > img.is-active{transform:scale(1.025)}.event-tile span{z-index:5}.event-tile .slider-btn{width:32px;height:32px;font-size:1.25rem}.event-tile .slider-dots{bottom:13px;right:16px;left:auto}.event-tile .slider-dots button{background:rgba(255,255,255,.55)}.event-tile .slider-dots button.is-active{background:#fff}


    @media(max-width:720px){.wedding-intro{align-items:flex-start;margin-bottom:28px}.wedding-links{width:100%;justify-content:flex-start}.wedding-links .book-btn,.wedding-links .line-btn{flex:1 1 160px;justify-content:center}}
    @media(max-width:1080px){.rooms-grid{grid-template-columns:1fr 1fr;width:min(980px,calc(100vw - 28px))}.room-img{height:360px}.hero-bridge-inner{grid-template-columns:1fr}.hero-bridge-inner .hero-facts{justify-items:start;display:flex;flex-wrap:wrap}.hero-bridge-inner .hero-facts span{min-width:0;text-align:left}.info-shell{grid-template-columns:1fr}.info-intro{position:static}.info-photo{height:360px}.event-gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 320px 320px}.event-tile.large{grid-row:span 1}}
    @media(max-width:720px){.header-actions > .book-btn{display:none}.hero{min-height:calc(76svh - 70px)}.hero-content{padding:74px 0 58px}.hero-bridge-inner{padding:42px 0 42px;gap:26px}.hero-bridge-inner .hero-facts{display:block}.hero-bridge-inner .hero-facts span{text-align:left;border-top:1px solid rgba(255,255,255,.16);border-bottom:0;padding:10px 0}.stay-section{padding-bottom:70px}.stay-content{padding-top:52px}.stay-photo{height:330px}.rooms-grid{width:calc(100vw - 18px);grid-template-columns:1fr;gap:34px}.room-img{height:330px}.room-card{text-align:left}.room-card p{margin:0;max-width:none}.info-cards{grid-template-columns:1fr}.info-card.image-note{grid-column:auto;grid-template-columns:1fr}.info-card.image-note img{height:220px}.risor-activity{grid-template-columns:1fr;margin-top:26px}.risor-activity img{height:220px}.risor-activity-copy{padding:24px}.event-gallery{grid-template-columns:1fr;grid-template-rows:repeat(5,300px)}.slider-btn{width:34px;height:34px}.slider-dots{bottom:12px}}
    @media(prefers-reduced-motion:reduce){.image-slider > img{transition:none!important;transform:none!important}.slider-btn{transition:none!important}}



    /* v11 refinements: simpler background, no water animation, cleaner UX */
    .header-actions > .book-btn{height:46px;min-height:46px;width:112px;max-width:112px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1}
    .hero{min-height:calc(88svh - 82px);align-items:center;margin-bottom:0}
    .hero-content{padding:86px 0 214px;max-width:660px}
    .hero:after{height:48%;background:linear-gradient(0deg,rgba(7,27,39,.90) 0%,rgba(7,27,39,.62) 32%,rgba(7,27,39,.22) 68%,rgba(7,27,39,0) 100%)}
    .hero .hero-bridge-inner{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:min(var(--max),calc(100% - 44px));z-index:4;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.55fr);gap:40px;align-items:end;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.24);border-bottom:0;text-shadow:none}
    .hero .hero-bridge-inner .kicker{font-size:.76rem;letter-spacing:.22em;color:#f0dfbf;margin-bottom:10px;text-shadow:none}
    .hero .hero-bridge-lead{font-family:var(--serif);font-size:clamp(1.15rem,1.9vw,1.95rem);line-height:1.34;max-width:700px;color:rgba(255,255,255,.98)!important;text-shadow:none}
    .hero .hero-bridge-inner .hero-facts{display:grid;gap:9px;justify-items:end;margin:0;padding:0;border:0;color:rgba(255,255,255,.92);font-size:.78rem;letter-spacing:.16em;text-shadow:none}
    .hero .hero-bridge-inner .hero-facts span{display:block;min-width:190px;text-align:right;padding:0 0 8px;border-bottom:1px solid rgba(255,255,255,.18)}

    .stay-section{background:var(--paper)!important;color:var(--ink)!important;padding:92px 0 96px;border-top:1px solid var(--line);isolation:auto}
    .stay-section:before,.stay-section:after{content:none!important;display:none!important;animation:none!important}
    .stay-content{padding-top:0}
    .stay-section h2,.stay-section h3{color:var(--ink)!important}.stay-section .eyebrow{color:var(--sea)!important}.stay-section .lead,.stay-section p{color:var(--ink-soft)!important}.stay-section .line-btn{color:var(--sea)!important;border-color:currentColor}.stay-section details.more{border-color:var(--line)}.stay-section details.more summary{color:var(--sea)}.stay-section details.more p{color:var(--ink-soft)!important}
    .stay-photo{box-shadow:0 22px 60px rgba(39,50,56,.08)}
    .rooms-grid{width:min(var(--wide),calc(100vw - 28px));gap:14px}.room-card{border-top:1px solid var(--line);text-align:center}.room-card p{color:var(--ink-soft)!important}.room-img{background:#e5dccc;box-shadow:none}

    .image-slider > img{transition:opacity .26s ease,transform .38s ease;will-change:auto}.image-slider > img:not(.is-active){visibility:hidden}.image-slider > img.is-active{visibility:visible}.image-slider:hover > img.is-active{transform:scale(1.01)}
    .slider-btn{background:rgba(21,56,74,.62);border:1px solid rgba(255,255,255,.44);backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .16s ease,transform .16s ease,opacity .16s ease}.slider-btn:hover{background:rgba(21,56,74,.82)}.slider-dots button{transition:width .16s ease,background .16s ease}

    #info{background:var(--paper-2)}
    .info-shell{grid-template-columns:.72fr 1.28fr;gap:58px;align-items:start}.info-photo{height:410px;border:1px solid rgba(39,50,56,.10);box-shadow:0 20px 60px rgba(39,50,56,.07)}.info-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.info-card{background:rgba(255,255,255,.76);min-height:230px;padding:28px;border:1px solid rgba(39,50,56,.12);box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.info-card h3{font-size:1.75rem}.info-card details.more{margin-top:auto}.info-card.image-note{grid-column:auto;display:flex;padding:28px;min-height:230px}.info-card.image-note img{display:none}
    .info-card:hover{transform:translateY(-3px);border-color:rgba(21,56,74,.24);box-shadow:0 22px 50px rgba(39,50,56,.07);background:#fff}
    details.more summary{transition:color .16s ease}details.more summary:hover{color:var(--clay)}
    .book-btn,.line-btn{transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,opacity .18s ease}.book-btn:hover,.line-btn:hover{transform:translateY(-1px)}
    .event-tile{transition:transform .18s ease,box-shadow .18s ease}.event-tile:hover{transform:translateY(-2px);box-shadow:0 22px 58px rgba(39,50,56,.10)}
    .event-tile:hover .image-slider > img.is-active{transform:scale(1.012)}
    footer a span{display:block}

    @media(max-width:1080px){.hero .hero-bridge-inner{grid-template-columns:1fr;gap:18px}.hero .hero-bridge-inner .hero-facts{display:flex;flex-wrap:wrap;justify-items:start}.hero .hero-bridge-inner .hero-facts span{min-width:0;text-align:left;margin-right:18px}.info-shell{grid-template-columns:1fr}.info-photo{height:360px}.info-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:720px){.hero{min-height:calc(88svh - 70px)}.hero-content{padding:58px 0 250px;max-width:92vw}.hero h1{max-width:7.5ch}.hero .hero-bridge-inner{bottom:18px;width:calc(100% - 28px);padding-top:16px;gap:14px}.hero .hero-bridge-lead{font-size:1.02rem;line-height:1.42;max-width:none}.hero .hero-bridge-inner .kicker{font-size:.68rem;margin-bottom:7px}.hero .hero-bridge-inner .hero-facts{display:flex;gap:8px}.hero .hero-bridge-inner .hero-facts span{font-size:.66rem;border-bottom:0;border-top:1px solid rgba(255,255,255,.18);padding-top:7px;margin:0 10px 0 0}.stay-section{padding:68px 0}.info-cards{grid-template-columns:1fr}.info-card{min-height:0}.info-photo{height:260px}.rooms-grid{gap:34px}}
    @media(prefers-reduced-motion:reduce){.image-slider > img,.info-card,.event-tile,.book-btn,.line-btn,.slider-btn{transition:none!important;transform:none!important}}

  

    /* v14 refinements: larger hero CTAs + softer nav hover */
    .desktop-nav{gap:22px}
    .desktop-nav a{
      position:relative;
      border-bottom:0!important;
      padding:13px 13px;
      border-radius:999px;
      transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
    }
    .desktop-nav a:hover,
    .desktop-nav a:focus-visible{
      color:var(--sea);
      background:rgba(21,56,74,.075);
      box-shadow:inset 0 0 0 1px rgba(184,157,105,.20),0 8px 18px rgba(39,50,56,.035);
      transform:translateY(-1px);
    }
    .mobile-nav a{
      transition:background .18s ease,color .18s ease,padding-left .18s ease;
    }
    .mobile-nav a:hover,
    .mobile-nav a:focus-visible{
      color:var(--sea);
      background:rgba(21,56,74,.055);
      padding-left:10px;
    }
    .hero-actions{
      gap:14px;
      margin-top:36px;
      align-items:center;
    }
    .hero-actions .book-btn,
    .hero-actions .line-btn{
      min-height:60px;
      padding:0 28px;
      min-width:166px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      border-radius:0;
      font-size:.92rem;
      font-weight:900;
      letter-spacing:.115em;
      line-height:1;
      text-transform:uppercase;
      border:1px solid rgba(255,255,255,.68);
      box-shadow:0 16px 38px rgba(0,0,0,.16);
      backdrop-filter:blur(6px);
      -webkit-backdrop-filter:blur(6px);
    }
    .hero-actions .book-btn{
      background:rgba(255,255,255,.96);
      color:var(--sea-deep);
      border-color:rgba(255,255,255,.98);
    }
    .hero-actions .book-btn:hover,
    .hero-actions .book-btn:focus-visible{
      background:var(--paper-2);
      border-color:var(--paper-2);
      transform:translateY(-2px);
      box-shadow:0 18px 42px rgba(0,0,0,.20);
    }
    .hero-actions .line-btn{
      background:rgba(8,31,43,.30);
      color:#fff;
      border-bottom:1px solid rgba(255,255,255,.68);
    }
    .hero-actions .line-btn:hover,
    .hero-actions .line-btn:focus-visible{
      background:rgba(255,255,255,.16);
      color:#fff;
      border-color:rgba(255,255,255,.86);
      transform:translateY(-2px);
      box-shadow:0 18px 42px rgba(0,0,0,.20);
    }
    @media(max-width:900px){
      .hero-actions .book-btn,
      .hero-actions .line-btn{min-height:56px;min-width:150px;padding:0 22px;font-size:.86rem}
    }
    @media(max-width:560px){
      .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:30px;max-width:360px}
      .hero-actions .book-btn,
      .hero-actions .line-btn{width:100%;min-width:0;min-height:54px}
    }


    /* v19: full-image hero with translucent header overlay */
    [id]{scroll-margin-top:104px}
    .site-header{
      position:fixed;
      left:0;
      right:0;
      top:0;
      width:100%;
      background:rgba(245,239,229,.72);
      border-bottom:1px solid rgba(39,50,56,.10);
      box-shadow:0 8px 30px rgba(13,36,49,.08);
    }
    .site-header:hover,
    body.menu-open .site-header{
      background:rgba(245,239,229,.88);
    }
    .mobile-nav{
      background:rgba(245,239,229,.91);
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
    }
    .hero{
      height:clamp(720px,56.25vw,980px);
      min-height:0;
      align-items:center;
      margin-top:0;
      background:var(--sea-deep);
      --hero-load-y:14px;
      --hero-scale:1;
    }
    @supports not (height:100svh){.hero{min-height:0}}
    .hero-media{
      inset:0;
      transform:translate3d(0,var(--hero-load-y),0)!important;
      transition:opacity .72s ease,transform .95s cubic-bezier(.22,1,.36,1);
      background:var(--sea-deep);
    }
    body.is-loaded .hero{--hero-load-y:0px;--hero-scale:1}
    .hero-media img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center top;
      background:transparent;
    }
    .hero:before{
      background:
        linear-gradient(90deg,rgba(4,18,28,.66) 0%,rgba(5,24,36,.48) 30%,rgba(6,28,42,.18) 60%,rgba(6,28,42,.04) 100%),
        linear-gradient(180deg,rgba(4,16,23,.04) 0%,rgba(4,16,23,.08) 44%,rgba(4,16,23,.34) 100%);
    }
    .hero:after{
      height:46%;
      background:linear-gradient(0deg,rgba(7,27,39,.86) 0%,rgba(7,27,39,.48) 36%,rgba(7,27,39,0) 100%);
    }
    .hero-content{
      padding:clamp(118px,10vw,150px) 0 210px;
      max-width:650px;
    }
    .hero .hero-bridge-inner{
      bottom:30px;
    }
    @media(max-width:1080px){
      .hero{height:auto;min-height:100svh;display:block;padding-top:calc(70px + env(safe-area-inset-top));}
      .hero-media{position:relative;inset:auto;height:auto;opacity:1;transform:none!important;background:var(--sea-deep)}
      .hero-media img{width:100%;height:auto;object-fit:contain;object-position:center center;background:var(--sea-deep)}
      .hero:before{background:linear-gradient(180deg,rgba(5,21,31,.06) 0%,rgba(5,21,31,.20) 45%,rgba(5,21,31,.78) 100%)}
      .hero:after{height:55%;background:linear-gradient(0deg,rgba(7,27,39,.95),rgba(7,27,39,0))}
      .hero-content{position:relative;padding:30px 0 24px;max-width:min(660px,calc(100% - 28px));}
      .hero .hero-bridge-inner{position:relative;left:auto;bottom:auto;transform:none;width:min(var(--max),calc(100% - 28px));padding:0 0 42px;grid-template-columns:1fr;gap:20px;}
    }
    @media(max-width:720px){
      .site-header{background:rgba(245,239,229,.82)}
      .hero{min-height:0;padding-top:calc(70px + env(safe-area-inset-top));}
      .hero-content{padding:24px 0 22px;max-width:calc(100% - 28px);}
      .hero h1{max-width:8ch;font-size:clamp(3.2rem,16vw,5.1rem)}
      .hero-actions{max-width:100%}
      .hero .hero-bridge-inner{bottom:auto;width:calc(100% - 28px);padding:0 0 36px;gap:14px;}
    }


    /* v20: transparent hero header, no whole-header hover light-up */
    .site-header,
    .site-header:hover{
      background:rgba(245,239,229,.20)!important;
      border-bottom-color:rgba(245,239,229,.18)!important;
      box-shadow:none!important;
      backdrop-filter:blur(18px) saturate(1.04);
      -webkit-backdrop-filter:blur(18px) saturate(1.04);
    }
    body.menu-open .site-header{
      background:rgba(245,239,229,.78)!important;
      border-bottom-color:rgba(39,50,56,.10)!important;
    }
    .desktop-nav{
      gap:12px;
    }
    .desktop-nav a{
      padding:15px 17px;
      border-radius:999px;
      background:rgba(245,239,229,.56);
      border:1px solid rgba(209,196,171,.46)!important;
      color:var(--sea-deep);
      box-shadow:0 8px 22px rgba(13,36,49,.035);
      backdrop-filter:blur(12px) saturate(1.02);
      -webkit-backdrop-filter:blur(12px) saturate(1.02);
      transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
    }
    .desktop-nav a:hover,
    .desktop-nav a:focus-visible{
      color:var(--sea-deep);
      background:rgba(245,239,229,.78);
      border-color:rgba(184,157,105,.58)!important;
      box-shadow:0 10px 26px rgba(13,36,49,.06), inset 0 0 0 1px rgba(255,255,255,.38);
      transform:translateY(-1px);
    }
    .brand strong,
    .brand small{
      text-shadow:0 1px 10px rgba(245,239,229,.36);
    }
    .lang-trigger{
      background:rgba(245,239,229,.52);
      border-color:rgba(209,196,171,.50);
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
    }
    .header-actions > .book-btn{
      box-shadow:0 10px 24px rgba(13,36,49,.10);
    }
    @media(max-width:1080px){
      .site-header,
      .site-header:hover{
        background:rgba(245,239,229,.32)!important;
      }
      body.menu-open .site-header{background:rgba(245,239,229,.86)!important}
      .mobile-nav{background:rgba(245,239,229,.92)!important}
    }
    @media(max-width:720px){
      .site-header,
      .site-header:hover{background:rgba(245,239,229,.38)!important}
      body.menu-open .site-header{background:rgba(245,239,229,.88)!important}
    }


    /* v21: remove side gutters in hero by covering width and cropping from the bottom */
    @media(min-width:1081px){
      .hero-media{background:transparent!important;}
      .hero-media img{
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
        object-position:center top!important;
        background:transparent!important;
      }
    }


    /* v22: auto-hide header, clearer white logo, improved mobile layout */
    .site-header{
      transform:translate3d(0,0,0);
      transition:transform .32s cubic-bezier(.22,1,.36,1), background .22s ease, border-color .22s ease, box-shadow .22s ease;
      will-change:transform;
    }
    body.header-hidden:not(.menu-open) .site-header{
      transform:translate3d(0,calc(-100% - env(safe-area-inset-top) - 6px),0);
    }
    .site-header .brand strong{
      color:#fff!important;
      text-shadow:0 2px 14px rgba(0,0,0,.38),0 1px 1px rgba(0,0,0,.20)!important;
    }
    .site-header .brand small{
      color:rgba(255,255,255,.88)!important;
      text-shadow:0 2px 12px rgba(0,0,0,.38)!important;
    }
    .site-header .brand img{
      box-shadow:0 10px 26px rgba(4,18,28,.20),0 1px 0 rgba(255,255,255,.24);
    }
    .site-header:focus-within{
      transform:translate3d(0,0,0)!important;
    }
    @media(max-width:1080px){
      .site-header,
      .site-header:hover{
        background:rgba(7,27,39,.18)!important;
        border-bottom-color:rgba(255,255,255,.12)!important;
      }
      body.menu-open .site-header{
        background:rgba(7,27,39,.64)!important;
        border-bottom-color:rgba(255,255,255,.16)!important;
      }
      .header-inner{
        width:calc(100% - 24px)!important;
        min-height:68px;
        display:grid;
        grid-template-columns:minmax(0,1fr) auto auto;
        align-items:center;
        gap:9px;
      }
      .brand{
        grid-column:1;
        grid-row:1;
        min-width:0;
        max-width:100%;
        gap:10px;
      }
      .brand img{width:38px;height:38px;flex:0 0 auto}
      .brand span{min-width:0;display:block;line-height:1}
      .brand strong{
        font-size:clamp(.82rem,2.45vw,1rem)!important;
        letter-spacing:.12em!important;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
      }
      .brand small{
        margin-top:3px;
        font-size:.52rem!important;
        letter-spacing:.22em!important;
        white-space:nowrap;
      }
      .header-actions{
        grid-column:2;
        grid-row:1;
        justify-self:end;
        min-width:0;
        gap:8px;
      }
      .header-actions > .book-btn{display:none!important}
      .lang-trigger{
        height:42px!important;
        min-width:48px;
        padding:0 11px!important;
        border-radius:999px;
        background:rgba(245,239,229,.38)!important;
        border-color:rgba(255,255,255,.24)!important;
        box-shadow:0 10px 24px rgba(4,18,28,.10), inset 0 0 0 1px rgba(255,255,255,.14);
      }
      .lang-trigger:after{display:none}
      .lang-code{display:none!important}
      .lang-flag{font-size:1rem}
      .menu-btn{
        grid-column:3;
        grid-row:1;
        justify-self:end;
        display:block;
        width:42px;
        height:42px;
        border-radius:999px;
        border:1px solid rgba(255,255,255,.24);
        background:rgba(245,239,229,.32);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
      }
      .menu-btn:before,.menu-btn:after{
        left:12px;
        right:12px;
        height:1.5px;
        background:#fff;
        box-shadow:0 1px 8px rgba(0,0,0,.28);
      }
      .mobile-nav{
        position:fixed;
        z-index:69;
        top:calc(68px + env(safe-area-inset-top));
        left:12px;
        right:12px;
        width:auto!important;
        margin:0;
        display:block!important;
        padding:8px 17px 14px;
        background:rgba(245,239,229,.94)!important;
        border:1px solid rgba(209,196,171,.52);
        border-top:0;
        border-radius:0 0 22px 22px;
        box-shadow:0 22px 44px rgba(4,18,28,.18);
        backdrop-filter:blur(18px) saturate(1.04);
        -webkit-backdrop-filter:blur(18px) saturate(1.04);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translate3d(0,-8px,0);
        transition:opacity .2s ease, transform .24s cubic-bezier(.22,1,.36,1), visibility .2s ease;
      }
      body.menu-open .mobile-nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translate3d(0,0,0);
      }
      .mobile-nav a{
        color:var(--sea-deep);
        padding:13px 0;
        font-size:.82rem;
        line-height:1.15;
      }
      .mobile-nav a:hover,
      .mobile-nav a:focus-visible{
        color:var(--sea);
      }
      body.header-hidden:not(.menu-open) .mobile-nav{
        opacity:0;
        visibility:hidden;
        pointer-events:none;
      }
      .hero{padding-top:calc(68px + env(safe-area-inset-top))!important;}
    }
    @media(max-width:720px){
      .header-inner{
        width:calc(100% - 20px)!important;
        min-height:64px;
        gap:7px;
      }
      .brand{gap:8px}
      .brand img{width:34px;height:34px}
      .brand strong{
        font-size:clamp(.74rem,3.15vw,.88rem)!important;
        letter-spacing:.10em!important;
      }
      .brand small{
        font-size:.48rem!important;
        letter-spacing:.18em!important;
      }
      .lang-trigger{height:38px!important;min-width:42px;padding:0 9px!important}
      .menu-btn{width:38px;height:38px}
      .menu-btn:before,.menu-btn:after{left:10px;right:10px}
      .mobile-nav{top:calc(64px + env(safe-area-inset-top));left:10px;right:10px;padding-inline:15px}
      .hero{padding-top:calc(64px + env(safe-area-inset-top))!important;}
      .hero-content{
        width:calc(100% - 28px)!important;
        margin-inline:auto;
        padding:28px 0 22px!important;
      }
      .hero h1{
        font-size:clamp(3rem,15vw,4.8rem)!important;
        max-width:7.6ch!important;
      }
      .hero-actions{
        display:grid!important;
        grid-template-columns:1fr;
        max-width:320px!important;
        gap:10px!important;
      }
      .hero-actions .book-btn,
      .hero-actions .line-btn{
        width:100%;
        min-height:52px;
        justify-content:center;
      }
      .hero .hero-bridge-inner{
        width:calc(100% - 28px)!important;
        padding-bottom:34px!important;
      }
      .hero .hero-bridge-inner .hero-facts{
        display:grid!important;
        grid-template-columns:1fr;
        gap:4px!important;
      }
      .hero .hero-bridge-inner .hero-facts span{
        width:100%;
        margin:0!important;
      }
    }
    @media(max-width:420px){
      .brand img{width:32px;height:32px}
      .brand strong{font-size:.72rem!important;letter-spacing:.09em!important}
      .brand small{display:none}
      .lang-trigger{min-width:40px;padding-inline:8px!important}
      .lang-flag{font-size:.95rem}
      .mobile-nav a{font-size:.78rem}
    }



    /* v24: amenities cards + Norwegian copy refinement */
    #info.info-amenities{
      position:relative;
      overflow:hidden;
      background:#f7f3ec;
      padding:110px 0 112px;
      isolation:isolate;
    }
    #info.info-amenities:before{
      content:'';
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg,rgba(247,243,236,.96),rgba(247,243,236,.91)),
        url("assets/info-risor-harbor.webp") center/cover no-repeat;
      opacity:.82;
      z-index:-2;
    }
    #info.info-amenities:after{
      content:'';
      position:absolute;
      inset:0;
      background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.72),rgba(255,255,255,0) 42%);
      z-index:-1;
      pointer-events:none;
    }
    #info.info-amenities .info-shell{
      display:block!important;
      width:min(1280px,calc(100% - 44px));
    }
    #info.info-amenities .info-intro{
      position:relative;
      max-width:760px;
      margin:0 auto 54px;
      text-align:center;
    }
    #info.info-amenities .info-intro .eyebrow{
      color:var(--gold);
      letter-spacing:.28em;
    }
    #info.info-amenities .info-intro h2{
      margin-top:14px;
      margin-bottom:18px;
      font-size:clamp(3rem,5vw,5.6rem);
      letter-spacing:-.055em;
    }
    #info.info-amenities .info-intro h2:after{
      content:'';
      display:block;
      width:44px;
      height:1px;
      background:var(--gold);
      margin:22px auto 0;
      opacity:.9;
    }
    #info.info-amenities .info-intro .lead{
      margin-inline:auto;
      max-width:560px;
      color:#667276;
      font-size:1.08rem;
    }
    #info.info-amenities .info-photo{display:none!important}
    #info.info-amenities .info-cards.amenities-grid{
      display:grid!important;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:22px;
      align-items:stretch;
    }
    #info.info-amenities .amenity-card{
      min-height:230px;
      padding:34px 32px 30px;
      background:rgba(255,255,255,.84);
      border:1px solid rgba(39,50,56,.12);
      box-shadow:0 18px 46px rgba(31,45,49,.045);
      display:flex;
      flex-direction:column;
      justify-content:flex-start;
      transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
    }
    #info.info-amenities .amenity-card:hover{
      transform:translateY(-4px);
      background:rgba(255,255,255,.94);
      border-color:rgba(184,157,105,.34);
      box-shadow:0 24px 58px rgba(31,45,49,.08);
    }
    .amenity-icon{
      width:54px;
      height:54px;
      border-radius:8px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:#f4eee7;
      color:#bd944a;
      margin-bottom:24px;
      flex:0 0 auto;
    }
    .amenity-icon svg{width:29px;height:29px;display:block}
    #info.info-amenities .amenity-card h3{
      font-size:1.28rem;
      line-height:1.25;
      margin:0 0 12px;
      letter-spacing:-.02em;
      color:#273238;
    }
    #info.info-amenities .amenity-card p{
      margin:0;
      color:#667276;
      font-size:1rem;
      line-height:1.55;
      max-width:24ch;
    }
    .final .final-title span{display:block}
    .final .final-title{line-height:.92;letter-spacing:-.06em}
    .final .lead{max-width:620px}
    @media(max-width:1080px){
      #info.info-amenities{padding:86px 0 90px}
      #info.info-amenities .info-cards.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media(max-width:620px){
      #info.info-amenities .info-shell{width:calc(100% - 28px)}
      #info.info-amenities .info-cards.amenities-grid{grid-template-columns:1fr;gap:14px}
      #info.info-amenities .amenity-card{min-height:0;padding:26px 24px}
      #info.info-amenities .amenity-card p{max-width:none}
      #info.info-amenities .info-intro{text-align:left;margin-bottom:34px}
      #info.info-amenities .info-intro h2:after{margin-left:0;margin-right:0}
      #info.info-amenities .info-intro .lead{margin-left:0}
    }


    /* v25: Kampen-inspired forest header + refined language switcher */
    :root{--forest:#22443b;--forest-dark:#1b382f;--forest-line:rgba(238,230,212,.24)}
    [id]{scroll-margin-top:96px}
    .site-header,
    .site-header:hover,
    .site-header:focus-within{
      background:rgba(34,68,59,.96)!important;
      border-bottom:1px solid rgba(255,255,255,.10)!important;
      box-shadow:0 14px 40px rgba(4,18,28,.18)!important;
      backdrop-filter:blur(14px) saturate(1.08)!important;
      -webkit-backdrop-filter:blur(14px) saturate(1.08)!important;
    }
    body.menu-open .site-header{background:rgba(34,68,59,.98)!important;border-bottom-color:rgba(255,255,255,.12)!important}
    .site-header .header-inner.wrap{
      width:min(1580px,calc(100% - 64px))!important;
      min-height:86px;
      gap:28px;
    }
    .brand{gap:16px}
    .site-header .brand img{
      width:58px;height:58px;background:#fff;border:1px solid rgba(255,255,255,.38);
      box-shadow:0 10px 26px rgba(4,18,28,.24),0 0 0 1px rgba(255,255,255,.10) inset!important;
    }
    .site-header .brand strong{
      color:#fff!important;
      font-size:1.22rem;
      letter-spacing:.11em;
      text-shadow:none!important;
    }
    .site-header .brand small{
      color:rgba(255,255,255,.64)!important;
      font-size:.68rem;
      letter-spacing:.30em;
      text-shadow:none!important;
    }
    .desktop-nav{gap:30px!important;justify-content:center}
    .desktop-nav a{
      position:relative;
      padding:31px 0 29px!important;
      border:0!important;
      border-radius:0!important;
      background:transparent!important;
      box-shadow:none!important;
      color:rgba(255,255,255,.76)!important;
      font-size:.82rem;
      letter-spacing:.25em;
      font-weight:800;
      transition:color .18s ease,opacity .18s ease,transform .18s ease!important;
    }
    .desktop-nav a:after{
      content:'';
      position:absolute;
      left:50%;bottom:20px;
      width:0;height:1px;
      background:rgba(232,211,171,.86);
      transform:translateX(-50%);
      transition:width .22s cubic-bezier(.22,1,.36,1),opacity .18s ease;
      opacity:0;
    }
    .desktop-nav a:hover,
    .desktop-nav a:focus-visible{
      color:#fff!important;
      transform:translateY(-1px);
    }
    .desktop-nav a:hover:after,
    .desktop-nav a:focus-visible:after{width:28px;opacity:1}
    .header-actions{gap:24px}
    .header-actions > .book-btn{
      min-height:56px;
      padding:0 33px;
      border:1px solid rgba(255,255,255,.42)!important;
      background:transparent!important;
      color:#fff!important;
      box-shadow:none!important;
      letter-spacing:.18em;
      transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
    }
    .header-actions > .book-btn:hover,
    .header-actions > .book-btn:focus-visible{
      background:rgba(255,255,255,.075)!important;
      border-color:rgba(232,211,171,.74)!important;
      transform:translateY(-1px);
    }
    .language{isolation:isolate}
    .lang-trigger{
      height:56px!important;
      padding:0!important;
      border:0!important;
      background:transparent!important;
      box-shadow:none!important;
      color:#fff!important;
      display:inline-flex;
      align-items:center;
      gap:10px;
      letter-spacing:.22em;
      transition:opacity .18s ease,transform .18s ease,color .18s ease!important;
    }
    .lang-trigger:after{display:none!important;content:none!important}
    .lang-trigger:hover,
    .lang-trigger:focus-visible{opacity:.92;transform:translateY(-1px)}
    .lang-trigger .lang-flag{display:none}
    .lang-code,.lang-alt{font-size:.84rem;font-weight:800;line-height:1;color:rgba(255,255,255,.92)}
    .lang-divider{font-size:.92rem;font-weight:500;color:rgba(255,255,255,.36);letter-spacing:0;margin:0 -2px}
    .lang-list{
      display:block!important;
      right:50%;
      top:calc(100% + 12px)!important;
      min-width:220px!important;
      padding:8px!important;
      background:rgba(34,68,59,.98)!important;
      border:1px solid rgba(255,255,255,.14)!important;
      box-shadow:0 22px 50px rgba(4,18,28,.30)!important;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transform:translate3d(50%,8px,0);
      transition:opacity .18s ease,transform .24s cubic-bezier(.22,1,.36,1),visibility .18s ease;
    }
    .language.open .lang-list{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translate3d(50%,0,0);
    }
    .lang-list button{
      color:rgba(255,255,255,.82)!important;
      border-radius:2px;
      padding:11px 12px!important;
      letter-spacing:.04em;
      transition:background .16s ease,color .16s ease,transform .16s ease;
    }
    .lang-list button:hover,
    .lang-list button:focus-visible,
    .lang-list button.is-active{
      background:rgba(232,211,171,.13)!important;
      color:#fff!important;
      transform:translateX(2px);
    }
    .lang-list .flag{filter:saturate(.95);font-size:1.03rem!important}
    .menu-btn:before,.menu-btn:after{background:#fff!important}
    @media(max-width:1250px){
      .site-header .header-inner.wrap{width:calc(100% - 36px)!important;gap:18px}
      .desktop-nav{gap:18px!important}.desktop-nav a{font-size:.76rem;letter-spacing:.18em}
      .header-actions{gap:16px}.header-actions > .book-btn{padding:0 24px;letter-spacing:.15em}
      .site-header .brand strong{font-size:1.05rem;letter-spacing:.10em}.site-header .brand small{font-size:.58rem}
    }
    @media(max-width:1080px){
      .site-header,
      .site-header:hover,
      .site-header:focus-within,
      body.menu-open .site-header{background:rgba(34,68,59,.96)!important;border-bottom-color:rgba(255,255,255,.12)!important;box-shadow:0 12px 34px rgba(4,18,28,.18)!important}
      .site-header .header-inner.wrap{width:calc(100% - 24px)!important;min-height:70px;gap:10px}
      .site-header .brand img{width:40px!important;height:40px!important}
      .site-header .brand strong{font-size:clamp(.82rem,2.45vw,1rem)!important;color:#fff!important;letter-spacing:.11em!important}
      .site-header .brand small{color:rgba(255,255,255,.62)!important}
      .header-actions{gap:10px!important}
      .lang-trigger{height:42px!important;min-width:auto!important;padding:0 3px!important;background:transparent!important;border:0!important;box-shadow:none!important;gap:7px!important;letter-spacing:.14em!important}
      .lang-trigger .lang-flag{display:inline-block!important;font-size:1rem!important}
      .lang-code,.lang-alt{display:inline-block!important;font-size:.78rem!important;color:rgba(255,255,255,.92)!important}
      .lang-divider{display:inline-block!important;color:rgba(255,255,255,.34)!important}
      .menu-btn{background:transparent!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:none!important}
      .mobile-nav{
        background:rgba(34,68,59,.98)!important;
        border-color:rgba(255,255,255,.12)!important;
        box-shadow:0 22px 44px rgba(4,18,28,.28)!important;
      }
      .mobile-nav a{color:rgba(255,255,255,.80)!important;border-bottom-color:rgba(255,255,255,.10)!important}
      .mobile-nav a:hover,.mobile-nav a:focus-visible{color:#fff!important}
      .lang-list{right:0!important;transform:translate3d(0,8px,0)!important;background:rgba(34,68,59,.99)!important}
      .language.open .lang-list{transform:translate3d(0,0,0)!important}
    }
    @media(max-width:720px){
      .site-header .header-inner.wrap{width:calc(100% - 18px)!important;min-height:66px!important;gap:8px!important}
      .brand{gap:9px!important}.site-header .brand img{width:36px!important;height:36px!important}
      .site-header .brand strong{font-size:.78rem!important;letter-spacing:.08em!important;max-width:135px}
      .site-header .brand small{font-size:.47rem!important;letter-spacing:.18em!important}
      .lang-trigger{gap:5px!important}.lang-alt,.lang-divider{display:none!important}.lang-code{font-size:.74rem!important}
      .lang-list{min-width:190px!important;right:-44px!important}
      .menu-btn{width:38px!important;height:38px!important}
      .mobile-nav{top:calc(66px + env(safe-area-inset-top))!important;left:9px!important;right:9px!important;border-radius:0 0 18px 18px!important}
      .hero{padding-top:calc(66px + env(safe-area-inset-top))!important}
    }
    @media(max-width:390px){
      .site-header .brand strong{max-width:105px;font-size:.70rem!important}.site-header .brand small{display:none!important}
      .site-header .brand img{width:33px!important;height:33px!important}.brand{gap:7px!important}
      .lang-trigger .lang-flag{display:none!important}.lang-code{font-size:.72rem!important}
    }


    /* v26: restore translucent glass header, remove nav boxes, keep Kampen-style typography */
    :root{--header-glass:rgba(245,239,229,.22);--header-glass-open:rgba(245,239,229,.82);--header-gold:#e8d3ab}
    .site-header,
    .site-header:hover,
    .site-header:focus-within{
      background:var(--header-glass)!important;
      border-bottom:1px solid rgba(245,239,229,.18)!important;
      box-shadow:none!important;
      backdrop-filter:blur(18px) saturate(1.05)!important;
      -webkit-backdrop-filter:blur(18px) saturate(1.05)!important;
    }
    body.menu-open .site-header{
      background:var(--header-glass-open)!important;
      border-bottom-color:rgba(39,50,56,.10)!important;
      box-shadow:0 12px 34px rgba(4,18,28,.10)!important;
    }
    .site-header .header-inner.wrap{
      width:min(1580px,calc(100% - 64px))!important;
      min-height:84px!important;
      align-items:center!important;
      gap:28px!important;
    }
    .site-header .brand strong,
    .site-header .brand small,
    .desktop-nav a,
    .lang-code,
    .lang-alt{
      color:#fff!important;
      opacity:1!important;
      text-shadow:0 1px 12px rgba(4,18,28,.42),0 2px 22px rgba(4,18,28,.22)!important;
    }
    .site-header .brand strong{font-size:1.24rem!important;letter-spacing:.12em!important}
    .site-header .brand small{font-size:.69rem!important;letter-spacing:.31em!important}
    .desktop-nav{
      gap:34px!important;
      justify-content:center!important;
      align-items:center!important;
    }
    .desktop-nav a,
    .desktop-nav a:hover,
    .desktop-nav a:focus-visible{
      background:transparent!important;
      box-shadow:none!important;
      border:0!important;
      border-radius:0!important;
      outline-offset:7px;
    }
    .desktop-nav a{
      position:relative!important;
      padding:31px 0 28px!important;
      font-size:.89rem!important;
      letter-spacing:.255em!important;
      font-weight:850!important;
      line-height:1!important;
      transform:none!important;
      transition:color .18s ease,opacity .18s ease!important;
    }
    .desktop-nav a:before{content:none!important;display:none!important}
    .desktop-nav a:after{
      content:''!important;
      position:absolute!important;
      left:50%!important;
      bottom:19px!important;
      width:0!important;
      height:1px!important;
      background:rgba(232,211,171,.96)!important;
      opacity:0!important;
      transform:translateX(-50%)!important;
      transition:width .22s cubic-bezier(.22,1,.36,1),opacity .18s ease!important;
    }
    .desktop-nav a:hover,
    .desktop-nav a:focus-visible{color:#fff!important}
    .desktop-nav a:hover:after,
    .desktop-nav a:focus-visible:after{width:30px!important;opacity:1!important}
    .header-actions{gap:24px!important;align-items:center!important}
    .header-actions > .book-btn{
      min-height:54px!important;
      width:132px!important;
      max-width:132px!important;
      padding:0 12px!important;
      background:rgba(21,56,74,.92)!important;
      border:1px solid rgba(255,255,255,.42)!important;
      color:#fff!important;
      box-shadow:0 12px 28px rgba(4,18,28,.12)!important;
      text-shadow:none!important;
      letter-spacing:.16em!important;
    }
    .header-actions > .book-btn:hover,
    .header-actions > .book-btn:focus-visible{
      background:rgba(17,45,60,.98)!important;
      border-color:rgba(232,211,171,.76)!important;
      transform:translateY(-1px)!important;
    }
    .lang-trigger{
      height:54px!important;
      padding:0!important;
      background:transparent!important;
      border:0!important;
      box-shadow:none!important;
      color:#fff!important;
      gap:10px!important;
      letter-spacing:.20em!important;
      text-shadow:0 1px 12px rgba(4,18,28,.38)!important;
    }
    .lang-trigger:hover,
    .lang-trigger:focus-visible{opacity:1!important;transform:translateY(-1px)!important}
    .lang-trigger .lang-flag{display:none!important}
    .lang-divider{display:inline-block!important;color:rgba(255,255,255,.44)!important;text-shadow:0 1px 12px rgba(4,18,28,.38)!important}
    .lang-code,.lang-alt{display:inline-block!important;font-size:.88rem!important;font-weight:850!important;letter-spacing:.18em!important}
    .lang-trigger:after{display:none!important;content:none!important}
    .lang-list{
      background:rgba(245,239,229,.96)!important;
      border:1px solid rgba(209,196,171,.55)!important;
      box-shadow:0 22px 50px rgba(4,18,28,.20)!important;
      backdrop-filter:blur(16px)!important;
      -webkit-backdrop-filter:blur(16px)!important;
    }
    .lang-list button{
      color:var(--sea-deep)!important;
      text-shadow:none!important;
    }
    .lang-list button:hover,
    .lang-list button:focus-visible,
    .lang-list button.is-active{
      background:rgba(21,56,74,.085)!important;
      color:var(--sea)!important;
      transform:translateX(2px)!important;
    }
    @media(max-width:1250px){
      .site-header .header-inner.wrap{width:calc(100% - 36px)!important;gap:18px!important}
      .desktop-nav{gap:22px!important}
      .desktop-nav a{font-size:.82rem!important;letter-spacing:.205em!important}
      .site-header .brand strong{font-size:1.08rem!important}.site-header .brand small{font-size:.60rem!important}
      .header-actions{gap:16px!important}.header-actions > .book-btn{width:124px!important;max-width:124px!important;letter-spacing:.13em!important}
    }
    @media(max-width:1080px){
      .site-header,
      .site-header:hover,
      .site-header:focus-within{
        background:rgba(245,239,229,.32)!important;
        border-bottom-color:rgba(245,239,229,.20)!important;
      }
      body.menu-open .site-header{background:rgba(245,239,229,.88)!important}
      body.menu-open .site-header .brand strong,
      body.menu-open .site-header .brand small{color:var(--sea-deep)!important;text-shadow:none!important}
      .menu-btn{background:rgba(245,239,229,.26)!important;border:1px solid rgba(255,255,255,.34)!important;box-shadow:none!important}
      body.menu-open .menu-btn{background:rgba(21,56,74,.10)!important;border-color:rgba(21,56,74,.20)!important}
      .menu-btn:before,.menu-btn:after{background:#fff!important}
      body.menu-open .menu-btn:before,body.menu-open .menu-btn:after{background:var(--sea-deep)!important}
      .site-header .header-inner.wrap{width:calc(100% - 24px)!important;min-height:70px!important;gap:10px!important}
      .site-header .brand img{width:40px!important;height:40px!important}
      .site-header .brand strong{font-size:clamp(.86rem,2.55vw,1.03rem)!important;color:#fff!important;letter-spacing:.11em!important}
      .site-header .brand small{color:#fff!important;opacity:.78!important}
      .header-actions{gap:10px!important}
      .lang-trigger{height:42px!important;gap:7px!important;letter-spacing:.13em!important}
      .lang-trigger .lang-flag{display:inline-block!important;font-size:1rem!important}
      .lang-code,.lang-alt{font-size:.78rem!important;letter-spacing:.12em!important;color:#fff!important}
      .lang-divider{display:inline-block!important;color:rgba(255,255,255,.44)!important}
      body.menu-open .lang-code,body.menu-open .lang-alt{color:var(--sea-deep)!important;text-shadow:none!important}
      body.menu-open .lang-divider{color:rgba(21,56,74,.35)!important;text-shadow:none!important}
      .mobile-nav{background:rgba(245,239,229,.94)!important;border-color:rgba(39,50,56,.12)!important;box-shadow:0 22px 44px rgba(4,18,28,.14)!important}
      .mobile-nav a{color:var(--sea-deep)!important;border-bottom-color:rgba(39,50,56,.10)!important;text-shadow:none!important;background:transparent!important}
      .mobile-nav a:hover,.mobile-nav a:focus-visible{color:var(--sea)!important;background:rgba(21,56,74,.055)!important}
      .lang-list{background:rgba(245,239,229,.98)!important;right:0!important;transform:translate3d(0,8px,0)!important}
      .language.open .lang-list{transform:translate3d(0,0,0)!important}
    }
    @media(max-width:720px){
      .site-header,
      .site-header:hover{background:rgba(245,239,229,.36)!important}
      body.menu-open .site-header{background:rgba(245,239,229,.90)!important}
      .site-header .header-inner.wrap{width:calc(100% - 18px)!important;min-height:66px!important;gap:8px!important}
      .brand{gap:9px!important}.site-header .brand img{width:36px!important;height:36px!important}
      .site-header .brand strong{font-size:.82rem!important;letter-spacing:.085em!important;max-width:135px;color:#fff!important}
      .site-header .brand small{font-size:.47rem!important;letter-spacing:.18em!important;color:#fff!important;opacity:.78!important}
      .lang-trigger{gap:5px!important}.lang-alt,.lang-divider{display:none!important}.lang-code{font-size:.75rem!important;letter-spacing:.10em!important;color:#fff!important}
      body.menu-open .lang-code{color:var(--sea-deep)!important}
      .lang-list{min-width:190px!important;right:-44px!important}
      .mobile-nav{top:calc(66px + env(safe-area-inset-top))!important;left:9px!important;right:9px!important;border-radius:0 0 18px 18px!important}
    }
    @media(max-width:390px){
      .site-header .brand strong{max-width:105px;font-size:.72rem!important}.site-header .brand small{display:none!important}
      .site-header .brand img{width:33px!important;height:33px!important}.brand{gap:7px!important}
      .lang-trigger .lang-flag{display:none!important}.lang-code{font-size:.72rem!important}
    }


    /* v27: remove nav rectangles, shift logo inward, refine macOS/iOS spacing */
    @media (min-width:1081px){
      .site-header .header-inner.wrap{
        width:min(1560px,calc(100% - 96px))!important;
      }
      .site-header .brand{
        margin-left:34px!important;
      }
    }
    .desktop-nav,
    .desktop-nav a,
    .desktop-nav a:hover,
    .desktop-nav a:focus-visible{
      background:transparent!important;
      background-color:transparent!important;
      background-image:none!important;
      box-shadow:none!important;
      border:0!important;
      outline-offset:8px!important;
      backdrop-filter:none!important;
      -webkit-backdrop-filter:none!important;
      filter:none!important;
      mix-blend-mode:normal!important;
    }
    .desktop-nav a{
      padding:32px 0 28px!important;
      border-radius:0!important;
      display:inline-flex!important;
      align-items:center!important;
      justify-content:center!important;
      min-width:0!important;
      isolation:auto!important;
      opacity:1!important;
      will-change:auto!important;
      font-size:.94rem!important;
      letter-spacing:.26em!important;
      color:#fff!important;
      text-shadow:0 1px 12px rgba(4,18,28,.48),0 2px 22px rgba(4,18,28,.26)!important;
      transform:none!important;
    }
    .desktop-nav a:before{
      content:none!important;
      display:none!important;
      background:transparent!important;
      box-shadow:none!important;
    }
    .desktop-nav a:after{
      bottom:18px!important;
      height:1px!important;
      background:rgba(232,211,171,.94)!important;
      box-shadow:none!important;
    }
    .desktop-nav a:hover,
    .desktop-nav a:focus-visible{
      color:#fff!important;
      transform:none!important;
    }
    .site-header .brand strong,
    .site-header .brand small{
      color:#fff!important;
      opacity:1!important;
      text-shadow:0 1px 12px rgba(4,18,28,.50),0 2px 22px rgba(4,18,28,.24)!important;
    }
    .site-header .brand img{
      flex:0 0 auto!important;
      transform:translateZ(0);
    }
    @media(max-width:1250px) and (min-width:1081px){
      .site-header .header-inner.wrap{width:calc(100% - 56px)!important;gap:16px!important}
      .site-header .brand{margin-left:10px!important}
      .desktop-nav{gap:18px!important}
      .desktop-nav a{font-size:.84rem!important;letter-spacing:.21em!important}
    }
    @media(max-width:1080px){
      .site-header .brand{margin-left:0!important}
      .desktop-nav a{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:transparent!important;box-shadow:none!important}
      .site-header .header-inner.wrap{
        grid-template-columns:auto minmax(0,1fr) auto!important;
        width:calc(100% - 24px)!important;
        padding-left:max(0px,env(safe-area-inset-left))!important;
        padding-right:max(0px,env(safe-area-inset-right))!important;
      }
      .brand{min-width:0!important;overflow:hidden!important}
      .brand span{min-width:0!important;overflow:hidden!important}
      .site-header .brand strong{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
      .header-actions{min-width:auto!important;justify-self:end!important}
      .lang-list{max-width:min(260px,calc(100vw - 28px))!important}
    }
    @media(max-width:720px){
      .site-header .header-inner.wrap{
        width:calc(100% - 18px)!important;
        min-height:66px!important;
        gap:9px!important;
      }
      .menu-btn{flex:0 0 auto!important;width:38px!important;height:38px!important}
      .header-actions{gap:8px!important}
      .lang-trigger{height:38px!important;min-width:48px!important;padding:0 6px!important}
      .brand{gap:8px!important}
      .site-header .brand img{width:35px!important;height:35px!important}
      .site-header .brand strong{max-width:136px!important;font-size:.80rem!important;letter-spacing:.08em!important}
      .site-header .brand small{font-size:.46rem!important;letter-spacing:.17em!important}
      .hero-media{inset:0!important}
      .hero-media img{object-position:center top!important}
      .hero-content{padding-left:max(0px,env(safe-area-inset-left))!important;padding-right:max(0px,env(safe-area-inset-right))!important}
    }
    @media(max-width:430px){
      .site-header .header-inner.wrap{gap:7px!important;width:calc(100% - 14px)!important}
      .site-header .brand strong{max-width:112px!important;font-size:.74rem!important;letter-spacing:.065em!important}
      .site-header .brand small{display:none!important}
      .site-header .brand img{width:33px!important;height:33px!important}
      .lang-trigger{min-width:42px!important;padding:0 4px!important}
      .lang-code{font-size:.70rem!important}
    }
    @media(max-width:360px){
      .site-header .brand strong{max-width:92px!important;font-size:.68rem!important}
      .site-header .brand img{width:31px!important;height:31px!important}
      .menu-btn{width:35px!important;height:35px!important}
      .lang-trigger{height:35px!important;min-width:38px!important}
    }
    @supports (-webkit-touch-callout:none){
      .site-header{
        -webkit-backdrop-filter:blur(14px) saturate(1.02)!important;
        transform:translateZ(0);
      }
      .hero-media,
      .hero-media img{
        transform:translateZ(0);
        backface-visibility:hidden;
      }
      input,button,select,textarea{font-size:16px}
    }



    /* v28: calmer hero title layout + refined amenities section */
    .hero-content{
      text-align:center!important;
      align-items:center!important;
      max-width:min(860px,calc(100% - 40px))!important;
    }
    .hero h1{
      white-space:pre-line!important;
      max-width:9ch!important;
      margin-left:auto!important;
      margin-right:auto!important;
      text-align:center!important;
      line-height:.86!important;
      letter-spacing:-.07em!important;
      font-size:clamp(4.4rem,8.6vw,8.7rem)!important;
      color:#fff!important;
      text-shadow:0 3px 20px rgba(0,0,0,.50),0 18px 52px rgba(0,0,0,.24)!important;
    }
    .hero-actions{justify-content:center!important}
    #info.info-amenities{
      padding:126px 0 124px!important;
      background:#f8f4ed!important;
    }
    #info.info-amenities .info-intro{
      margin-bottom:84px!important;
      z-index:2;
    }
    #info.info-amenities .info-intro h2{
      font-size:clamp(3.2rem,5.2vw,5.8rem)!important;
      line-height:.95!important;
      color:#273238!important;
    }
    #info.info-amenities .info-intro .lead{
      font-size:1.08rem!important;
      line-height:1.7!important;
      color:#667276!important;
    }
    #info.info-amenities .info-cards.amenities-grid{
      margin-top:0!important;
      grid-template-columns:repeat(4,minmax(0,1fr))!important;
      gap:24px!important;
      position:relative;
      z-index:1;
    }
    #info.info-amenities .amenity-card{
      min-height:238px!important;
      padding:36px 34px 32px!important;
      border-radius:16px!important;
      background:rgba(255,255,255,.88)!important;
      border:1px solid rgba(39,50,56,.11)!important;
      box-shadow:0 18px 52px rgba(28,41,46,.055)!important;
    }
    #info.info-amenities .amenity-card:hover{
      transform:translateY(-5px)!important;
      border-color:rgba(184,157,105,.36)!important;
      box-shadow:0 26px 64px rgba(28,41,46,.09)!important;
    }
    .amenity-icon{
      width:56px!important;
      height:56px!important;
      border-radius:10px!important;
      background:#f4eee7!important;
      color:#bd944a!important;
      margin-bottom:26px!important;
    }
    #info.info-amenities .amenity-card h3{
      font-size:1.34rem!important;
      color:#273238!important;
      margin-bottom:12px!important;
    }
    #info.info-amenities .amenity-card p{
      font-size:1rem!important;
      line-height:1.62!important;
      color:#667276!important;
      max-width:25ch!important;
    }
    @media(max-width:1180px){
      #info.info-amenities .info-cards.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    }
    @media(max-width:720px){
      .hero-content{max-width:calc(100% - 28px)!important}
      .hero h1{font-size:clamp(4rem,18vw,5.8rem)!important;max-width:8.5ch!important;line-height:.88!important}
      #info.info-amenities{padding:86px 0 88px!important}
      #info.info-amenities .info-intro{text-align:left!important;margin-bottom:44px!important}
      #info.info-amenities .info-cards.amenities-grid{grid-template-columns:1fr!important;gap:16px!important}
      #info.info-amenities .amenity-card{min-height:0!important;padding:28px 24px!important;border-radius:14px!important}
      #info.info-amenities .amenity-card p{max-width:none!important}
    }

  
    /* v29: cleaner language switcher, no visible box, with subtle dropdown cue */
    .lang-trigger,
    .site-header .lang-trigger,
    .header-actions .lang-trigger{
      background:transparent!important;
      border:0!important;
      box-shadow:none!important;
      backdrop-filter:none!important;
      -webkit-backdrop-filter:none!important;
      border-radius:0!important;
      padding:0 4px!important;
      min-width:auto!important;
      height:54px!important;
      color:#fff!important;
      gap:10px!important;
      opacity:1!important;
      text-shadow:0 1px 12px rgba(4,18,28,.36)!important;
    }
    .lang-trigger:before{
      content:none!important;
      display:none!important;
    }
    .lang-trigger:after,
    .site-header .lang-trigger:after{
      content:''!important;
      display:inline-block!important;
      width:7px!important;
      height:7px!important;
      margin-left:2px!important;
      border-right:1.5px solid rgba(255,255,255,.88)!important;
      border-bottom:1.5px solid rgba(255,255,255,.88)!important;
      transform:translateY(-2px) rotate(45deg)!important;
      transition:transform .18s ease,border-color .18s ease,opacity .18s ease!important;
      opacity:.82!important;
      flex:0 0 auto!important;
    }
    .language.open .lang-trigger:after{
      transform:translateY(1px) rotate(225deg)!important;
      border-color:#e8d3ab!important;
      opacity:1!important;
    }
    .lang-trigger:hover,
    .lang-trigger:focus-visible{
      background:transparent!important;
      border:0!important;
      box-shadow:none!important;
      opacity:.92!important;
      transform:translateY(-1px)!important;
    }
    .lang-trigger:hover:after,
    .lang-trigger:focus-visible:after{
      border-color:#e8d3ab!important;
      opacity:1!important;
    }
    .lang-code,
    .lang-alt,
    .lang-divider{
      text-shadow:0 1px 12px rgba(4,18,28,.36)!important;
    }
    .lang-divider{
      margin:0 -1px!important;
    }
    @media(max-width:720px){
      .lang-trigger,
      .site-header .lang-trigger,
      .header-actions .lang-trigger{
        height:38px!important;
        padding:0 2px!important;
        gap:5px!important;
      }
      .lang-trigger:after,
      .site-header .lang-trigger:after{
        width:6px!important;
        height:6px!important;
        margin-left:1px!important;
      }
    }
    @media(max-width:430px){
      .lang-trigger,
      .site-header .lang-trigger,
      .header-actions .lang-trigger{
        min-width:auto!important;
        padding:0 1px!important;
      }
      .lang-trigger:after,
      .site-header .lang-trigger:after{
        width:5px!important;
        height:5px!important;
      }
    }

  

    /* v30: Praktisk info spacing + lighter amenities cards */
    #info.info-amenities{
      padding:132px 0 126px!important;
    }
    #info.info-amenities .info-intro{
      margin-bottom:128px!important;
      position:relative!important;
      z-index:4!important;
    }
    #info.info-amenities .info-intro .lead{
      position:relative!important;
      z-index:5!important;
      margin-bottom:0!important;
    }
    #info.info-amenities .info-cards.amenities-grid{
      margin-top:0!important;
      transform:translateY(0)!important;
      gap:20px!important;
      position:relative!important;
      z-index:1!important;
    }
    #info.info-amenities .amenity-card{
      min-height:204px!important;
      padding:28px 28px 25px!important;
      border-radius:14px!important;
      background:rgba(255,255,255,.86)!important;
      border:1px solid rgba(39,50,56,.105)!important;
      box-shadow:0 14px 38px rgba(28,41,46,.045)!important;
    }
    #info.info-amenities .amenity-card:hover{
      transform:translateY(-3px)!important;
      box-shadow:0 22px 54px rgba(28,41,46,.075)!important;
      border-color:rgba(184,157,105,.32)!important;
    }
    #info.info-amenities .amenity-icon{
      width:48px!important;
      height:48px!important;
      border-radius:9px!important;
      margin-bottom:20px!important;
    }
    #info.info-amenities .amenity-icon svg{
      width:25px!important;
      height:25px!important;
    }
    #info.info-amenities .amenity-card h3{
      font-size:1.18rem!important;
      line-height:1.25!important;
      margin-bottom:9px!important;
    }
    #info.info-amenities .amenity-card p{
      font-size:.94rem!important;
      line-height:1.55!important;
      max-width:24ch!important;
    }
    @media(max-width:1180px){
      #info.info-amenities .info-intro{margin-bottom:78px!important}
      #info.info-amenities .info-cards.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
      #info.info-amenities .amenity-card{min-height:190px!important}
    }
    @media(max-width:720px){
      #info.info-amenities{padding:88px 0 88px!important}
      #info.info-amenities .info-intro{margin-bottom:56px!important;text-align:left!important}
      #info.info-amenities .info-cards.amenities-grid{grid-template-columns:1fr!important;gap:14px!important}
      #info.info-amenities .amenity-card{min-height:0!important;padding:24px 22px!important;border-radius:13px!important}
      #info.info-amenities .amenity-icon{width:44px!important;height:44px!important;margin-bottom:16px!important}
      #info.info-amenities .amenity-card p{max-width:none!important}
    }



    /* v31: international copy and layout tuning for German, Spanish, French */
    html[lang="de"] .desktop-nav a,
    html[lang="es"] .desktop-nav a,
    html[lang="fr"] .desktop-nav a{
      letter-spacing:.20em!important;
      font-size:.88rem!important;
      white-space:nowrap!important;
    }
    html[lang="de"] .header-actions > .book-btn,
    html[lang="es"] .header-actions > .book-btn,
    html[lang="fr"] .header-actions > .book-btn{
      letter-spacing:.15em!important;
      font-size:.84rem!important;
      min-width:112px!important;
    }
    html[lang="de"] .hero-actions .book-btn,
    html[lang="de"] .hero-actions .line-btn,
    html[lang="es"] .hero-actions .book-btn,
    html[lang="es"] .hero-actions .line-btn,
    html[lang="fr"] .hero-actions .book-btn,
    html[lang="fr"] .hero-actions .line-btn{
      white-space:normal!important;
      text-align:center!important;
      line-height:1.15!important;
      padding-inline:24px!important;
    }
    html[lang="de"] .room-card h3,
    html[lang="es"] .room-card h3,
    html[lang="fr"] .room-card h3,
    html[lang="de"] .amenity-card h3,
    html[lang="es"] .amenity-card h3,
    html[lang="fr"] .amenity-card h3{
      line-height:1.08!important;
      overflow-wrap:normal!important;
    }
    html[lang="de"] .lead,
    html[lang="es"] .lead,
    html[lang="fr"] .lead,
    html[lang="de"] .amenity-card p,
    html[lang="es"] .amenity-card p,
    html[lang="fr"] .amenity-card p{
      overflow-wrap:anywhere!important;
      hyphens:auto!important;
      -webkit-hyphens:auto!important;
    }
    @media(max-width:1250px){
      html[lang="de"] .desktop-nav a,
      html[lang="es"] .desktop-nav a,
      html[lang="fr"] .desktop-nav a{font-size:.78rem!important;letter-spacing:.165em!important}
    }
    @media(max-width:720px){
      html[lang="de"] .hero-actions .book-btn,
      html[lang="de"] .hero-actions .line-btn,
      html[lang="es"] .hero-actions .book-btn,
      html[lang="es"] .hero-actions .line-btn,
      html[lang="fr"] .hero-actions .book-btn,
      html[lang="fr"] .hero-actions .line-btn{font-size:.82rem!important;min-height:52px!important;padding-inline:18px!important}
      html[lang="de"] .final-title,
      html[lang="es"] .final-title,
      html[lang="fr"] .final-title{font-size:clamp(3.6rem,17vw,5.4rem)!important}
    }

  

    /* v32: reordered Risør/info, compact amenities and subtle sea-word highlight */
    .hero .sea-word,
    .final-title .sea-word{
      color:#cfe4ee!important;
      text-shadow:0 3px 16px rgba(5,21,31,.24);
    }
    .hero h1 span{display:inline}
    .hero h1 br{display:block}

    /* Make Rett utenfor døren feel like part of the warm hotel site instead of a separate dark block. */
    #risor.risor-section{
      position:relative!important;
      overflow:hidden!important;
      background:#f7f3ec!important;
      color:#273238!important;
      padding:96px 0 104px!important;
      isolation:isolate!important;
    }
    #risor.risor-section:before{
      content:''!important;
      position:absolute!important;
      inset:0!important;
      background:
        linear-gradient(180deg,rgba(247,243,236,.96),rgba(247,243,236,.91)),
        url("assets/info-risor-harbor.webp") center/cover no-repeat!important;
      opacity:.88!important;
      z-index:-2!important;
      pointer-events:none!important;
    }
    #risor.risor-section:after{
      content:''!important;
      position:absolute!important;
      inset:0!important;
      background:
        radial-gradient(circle at 50% 4%,rgba(255,255,255,.70),rgba(255,255,255,0) 42%),
        linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 50%)!important;
      z-index:-1!important;
      pointer-events:none!important;
    }
    #risor.risor-section .wrap{position:relative!important;z-index:1!important}
    #risor.risor-section h2,
    #risor.risor-section h3{color:#273238!important}
    #risor.risor-section .eyebrow{color:var(--gold)!important}
    #risor.risor-section .lead,
    #risor.risor-section p{color:#5f6c70!important}
    #risor .risor-note{border-color:rgba(39,50,56,.14)!important}
    #risor .risor-note strong{color:#273238!important}
    #risor .caption{color:#6b7679!important}
    #risor .risor-gallery figure{
      background:#f0e7db!important;
      box-shadow:0 18px 54px rgba(31,45,49,.075)!important;
    }
    #risor .risor-activity{
      color:#273238!important;
      border:1px solid rgba(39,50,56,.14)!important;
      background:rgba(255,255,255,.72)!important;
      box-shadow:0 18px 54px rgba(31,45,49,.07)!important;
    }
    #risor .risor-activity:hover{
      transform:translateY(-3px)!important;
      border-color:rgba(184,157,105,.38)!important;
      background:rgba(255,255,255,.90)!important;
      box-shadow:0 24px 66px rgba(31,45,49,.10)!important;
    }
    #risor .risor-activity-copy .line-btn{
      color:var(--sea)!important;
      border-color:rgba(39,50,56,.22)!important;
      background:rgba(255,255,255,.24)!important;
    }
    #risor .risor-activity:hover .line-btn{
      border-color:var(--gold)!important;
      color:var(--sea)!important;
    }

    /* Compact half-section for Praktisk info. */
    #info.info-amenities{
      padding:58px 0 64px!important;
      min-height:0!important;
      background:#fbf8f1!important;
    }
    #info.info-amenities:before{
      opacity:.36!important;
      background:
        linear-gradient(180deg,rgba(251,248,241,.98),rgba(251,248,241,.94)),
        url("assets/info-risor-harbor.webp") center/cover no-repeat!important;
    }
    #info.info-amenities:after{opacity:.55!important}
    #info.info-amenities .info-shell{
      width:min(1160px,calc(100% - 44px))!important;
    }
    #info.info-amenities .info-intro{
      max-width:640px!important;
      margin:0 auto 38px!important;
      text-align:center!important;
    }
    #info.info-amenities .info-intro h2{
      font-size:clamp(2.5rem,4.3vw,4.15rem)!important;
      margin-bottom:12px!important;
    }
    #info.info-amenities .info-intro h2:after{
      margin-top:16px!important;
      width:34px!important;
    }
    #info.info-amenities .info-intro .lead{
      font-size:1.02rem!important;
      max-width:460px!important;
    }
    #info.info-amenities .info-cards.amenities-grid{
      display:grid!important;
      grid-template-columns:repeat(4,minmax(0,1fr))!important;
      gap:14px!important;
      max-width:1060px!important;
      margin:0 auto!important;
      align-items:stretch!important;
    }
    #info.info-amenities .amenity-card{
      min-height:154px!important;
      padding:20px 16px 18px!important;
      border-radius:12px!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      text-align:center!important;
      background:rgba(255,255,255,.78)!important;
      border:1px solid rgba(39,50,56,.10)!important;
      box-shadow:0 12px 34px rgba(28,41,46,.04)!important;
    }
    #info.info-amenities .amenity-card:hover{
      transform:translateY(-2px)!important;
      background:rgba(255,255,255,.90)!important;
      border-color:rgba(184,157,105,.28)!important;
      box-shadow:0 18px 44px rgba(28,41,46,.065)!important;
    }
    #info.info-amenities .amenity-icon{
      width:38px!important;
      height:38px!important;
      border-radius:9px!important;
      margin:0 auto 12px!important;
    }
    #info.info-amenities .amenity-icon svg{
      width:21px!important;
      height:21px!important;
    }
    #info.info-amenities .amenity-card h3{
      font-size:1.18rem!important;
      line-height:1.2!important;
      margin:0 0 6px!important;
    }
    #info.info-amenities .amenity-card p{
      font-size:.94rem!important;
      line-height:1.42!important;
      max-width:22ch!important;
      margin:0 auto!important;
    }
    @media(max-width:980px){
      #risor.risor-section{padding:78px 0 84px!important}
      #info.info-amenities .info-cards.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:680px!important}
      #info.info-amenities .amenity-card{min-height:144px!important}
    }
    @media(max-width:720px){
      #risor.risor-section{padding:66px 0 72px!important}
      #info.info-amenities{padding:54px 0 60px!important}
      #info.info-amenities .info-shell{width:calc(100% - 28px)!important}
      #info.info-amenities .info-intro{text-align:left!important;margin-bottom:30px!important}
      #info.info-amenities .info-intro h2:after{margin-left:0!important;margin-right:0!important}
      #info.info-amenities .info-intro .lead{margin-left:0!important}
      #info.info-amenities .info-cards.amenities-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;max-width:none!important}
      #info.info-amenities .amenity-card{min-height:136px!important;padding:17px 12px 15px!important;border-radius:11px!important}
      #info.info-amenities .amenity-card h3{font-size:1.06rem!important}
      #info.info-amenities .amenity-card p{font-size:.86rem!important;line-height:1.36!important;max-width:18ch!important}
    }
    @media(max-width:420px){
      #info.info-amenities .info-cards.amenities-grid{grid-template-columns:1fr!important;gap:10px!important}
      #info.info-amenities .amenity-card{min-height:0!important;padding:18px 16px!important}
      #info.info-amenities .amenity-card p{max-width:28ch!important}
    }


    /* v33: unbunched amenities with a controlled expandable second row, plus slightly calmer hero scale */
    .hero h1{
      font-size:clamp(4.05rem,8.05vw,8.05rem)!important;
      line-height:.90!important;
      max-width:9.2ch!important;
    }
    #info.info-amenities{
      padding:84px 0 88px!important;
    }
    #info.info-amenities .info-shell{
      display:block!important;
      width:min(1180px,calc(100% - 44px))!important;
    }
    #info.info-amenities .info-intro{
      position:relative!important;
      top:auto!important;
      max-width:680px!important;
      margin:0 auto 64px!important;
      text-align:center!important;
      z-index:3!important;
    }
    #info.info-amenities .info-intro h2{
      font-size:clamp(2.8rem,4.8vw,4.75rem)!important;
      line-height:.98!important;
      margin:0 0 12px!important;
    }
    #info.info-amenities .info-intro h2:after{
      margin-top:18px!important;
    }
    #info.info-amenities .info-intro .lead{
      position:relative!important;
      z-index:3!important;
      margin:18px auto 0!important;
      max-width:500px!important;
    }
    #info.info-amenities .info-cards.amenities-grid{
      display:block!important;
      max-width:1120px!important;
      margin:0 auto!important;
      position:relative!important;
      z-index:2!important;
    }
    #info.info-amenities .amenities-row{
      display:grid!important;
      grid-template-columns:repeat(4,minmax(0,1fr))!important;
      gap:16px!important;
      align-items:stretch!important;
    }
    #info.info-amenities .amenities-row-more-wrap{
      position:relative!important;
      max-height:76px!important;
      overflow:hidden!important;
      margin-top:16px!important;
      transition:max-height .42s cubic-bezier(.22,1,.36,1)!important;
      will-change:max-height;
    }
    #info.info-amenities .amenities-row-more-wrap:after{
      content:''!important;
      position:absolute!important;
      left:0!important;
      right:0!important;
      bottom:0!important;
      height:76px!important;
      pointer-events:none!important;
      background:linear-gradient(180deg,rgba(251,248,241,0),rgba(251,248,241,.92) 72%,rgba(251,248,241,.98))!important;
      opacity:1!important;
      transition:opacity .22s ease!important;
    }
    #info.info-amenities.is-expanded .amenities-row-more-wrap{
      max-height:260px!important;
    }
    #info.info-amenities.is-expanded .amenities-row-more-wrap:after{
      opacity:0!important;
    }
    #info.info-amenities .amenity-card{
      min-height:148px!important;
      padding:18px 16px 16px!important;
      display:flex!important;
      flex-direction:column!important;
      justify-content:center!important;
      align-items:center!important;
      text-align:center!important;
      border-radius:13px!important;
    }
    #info.info-amenities .amenity-icon{
      width:38px!important;
      height:38px!important;
      margin:0 auto 12px!important;
      flex:0 0 auto!important;
    }
    #info.info-amenities .amenity-card h3{
      font-size:1.18rem!important;
      margin:0 0 6px!important;
      line-height:1.18!important;
    }
    #info.info-amenities .amenity-card p{
      font-size:.94rem!important;
      line-height:1.42!important;
      max-width:22ch!important;
      margin:0 auto!important;
    }
    #info.info-amenities .amenities-toggle{
      appearance:none!important;
      border:1px solid rgba(39,50,56,.16)!important;
      background:rgba(255,255,255,.72)!important;
      color:var(--sea)!important;
      min-height:44px!important;
      padding:0 20px!important;
      margin:24px auto 0!important;
      display:inline-flex!important;
      align-items:center!important;
      justify-content:center!important;
      gap:9px!important;
      border-radius:999px!important;
      font-family:var(--sans)!important;
      font-size:.78rem!important;
      font-weight:850!important;
      letter-spacing:.16em!important;
      text-transform:uppercase!important;
      cursor:pointer!important;
      transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease!important;
    }
    #info.info-amenities .amenities-toggle:hover,
    #info.info-amenities .amenities-toggle:focus-visible{
      background:#fff!important;
      border-color:rgba(184,157,105,.42)!important;
      transform:translateY(-1px)!important;
      outline:none!important;
    }
    #info.info-amenities .toggle-icon{
      display:inline-block!important;
      font-size:1rem!important;
      line-height:1!important;
      transform:translateY(-1px)!important;
      transition:transform .2s ease!important;
    }
    #info.info-amenities.is-expanded .toggle-icon{
      transform:rotate(180deg) translateY(1px)!important;
    }
    @media(max-width:1080px){
      #info.info-amenities .amenities-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:720px!important;margin:0 auto!important}
      #info.info-amenities .amenities-row-more-wrap{max-height:150px!important}
      #info.info-amenities.is-expanded .amenities-row-more-wrap{max-height:430px!important}
    }
    @media(max-width:720px){
      .hero h1{font-size:clamp(3.25rem,15.5vw,5.15rem)!important;line-height:.92!important;max-width:8.7ch!important}
      #info.info-amenities{padding:68px 0 72px!important}
      #info.info-amenities .info-shell{width:calc(100% - 28px)!important}
      #info.info-amenities .info-intro{text-align:left!important;margin:0 0 36px!important;max-width:none!important}
      #info.info-amenities .info-intro h2{font-size:clamp(2.55rem,12vw,3.65rem)!important}
      #info.info-amenities .info-intro h2:after{margin-left:0!important;margin-right:0!important}
      #info.info-amenities .info-intro .lead{margin-left:0!important;max-width:34ch!important}
      #info.info-amenities .amenities-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;max-width:none!important}
      #info.info-amenities .amenity-card{min-height:132px!important;padding:16px 12px 14px!important;border-radius:12px!important}
      #info.info-amenities .amenity-card h3{font-size:1.04rem!important}
      #info.info-amenities .amenity-card p{font-size:.84rem!important;line-height:1.34!important;max-width:18ch!important}
      #info.info-amenities .amenity-icon{width:35px!important;height:35px!important;margin-bottom:10px!important}
      #info.info-amenities .amenities-row-more-wrap{max-height:138px!important;margin-top:10px!important}
      #info.info-amenities.is-expanded .amenities-row-more-wrap{max-height:380px!important}
      #info.info-amenities .amenities-toggle{width:100%;margin-top:18px!important}
    }
    @media(max-width:390px){
      #info.info-amenities .amenities-row{grid-template-columns:1fr!important}
      #info.info-amenities .amenity-card{min-height:0!important;padding:18px 16px!important}
      #info.info-amenities .amenity-card p{max-width:28ch!important}
      #info.info-amenities .amenities-row-more-wrap{max-height:88px!important}
      #info.info-amenities.is-expanded .amenities-row-more-wrap{max-height:640px!important}
    }


    /* v58: v56 base with v46-style clean hero title color */
    .hero h1{
      font-size:clamp(3.55rem,6.45vw,6.35rem)!important;
      line-height:1.02!important;
      letter-spacing:-.055em!important;
      max-width:9.25ch!important;
      margin-top:.08em!important;
      margin-bottom:10px!important;
      padding-bottom:.18em!important;
      color:#ffffff!important;
      -webkit-text-fill-color:#ffffff!important;
      background:none!important;
      background-image:none!important;
      -webkit-background-clip:border-box!important;
      background-clip:border-box!important;
      text-shadow:
        0 3px 18px rgba(0,0,0,.20),
        0 14px 42px rgba(0,0,0,.16)!important;
      filter:none!important;
      animation:none!important;
      overflow:visible!important;
    }
    .hero h1 > span,
    .hero h1 .hero-gradient-line{
      display:inline-block!important;
      line-height:1.10!important;
      padding-bottom:.18em!important;
      transform:none!important;
      color:#ffffff!important;
      -webkit-text-fill-color:#ffffff!important;
      background:none!important;
      background-image:none!important;
      -webkit-background-clip:border-box!important;
      background-clip:border-box!important;
      text-shadow:inherit!important;
      opacity:1!important;
      filter:none!important;
      animation:none!important;
      mix-blend-mode:normal!important;
      overflow:visible!important;
    }
    .hero h1 .sea-word,
    .hero h1:hover .sea-word,
    .hero h1:focus-within .sea-word,
    .hero-content:hover .sea-word,
    .hero-content:focus-within .sea-word{
      display:inline!important;
      color:#eef9ff!important;
      -webkit-text-fill-color:#eef9ff!important;
      background:none!important;
      background-image:none!important;
      -webkit-background-clip:border-box!important;
      background-clip:border-box!important;
      text-shadow:inherit!important;
      opacity:1!important;
      filter:none!important;
      animation:none!important;
      transform:none!important;
      mix-blend-mode:normal!important;
      will-change:auto!important;
    }
    .hero h1 .sea-word:before,
    .hero h1 .sea-word:after,
    .hero h1:hover .sea-word:before,
    .hero h1:hover .sea-word:after{
      content:none!important;
      display:none!important;
    }
    @media(max-width:720px){
      .hero h1{
        font-size:clamp(2.95rem,12.2vw,4.35rem)!important;
        line-height:1.04!important;
        max-width:8.95ch!important;
      }
      .hero h1 > span,
      .hero h1 .hero-gradient-line{
        line-height:1.12!important;
        padding-bottom:.20em!important;
      }
    }


    /* v59: shorter “Info” nav label and cleaner header spacing */
    .desktop-nav{
      gap:clamp(22px,2.35vw,38px)!important;
      align-items:center!important;
      justify-content:center!important;
    }
    .desktop-nav a{
      white-space:nowrap!important;
      padding:.52rem 0!important;
      letter-spacing:.18em!important;
    }
    .desktop-nav a[data-i18n="navInfo"]{
      min-width:auto!important;
      padding-left:0!important;
      padding-right:0!important;
    }
    .header-inner{
      column-gap:clamp(18px,2vw,34px)!important;
    }
    .header-actions{
      gap:clamp(12px,1.2vw,18px)!important;
      margin-left:clamp(8px,1.2vw,18px)!important;
      flex-shrink:0!important;
    }
    .brand{
      margin-left:clamp(8px,1.4vw,24px)!important;
      flex-shrink:0!important;
    }
    @media(max-width:1160px){
      .desktop-nav{
        gap:18px!important;
      }
      .desktop-nav a{
        font-size:.82rem!important;
        letter-spacing:.16em!important;
      }
    }


    /* v60: final CTA title in solid site dark blue */
    .final .final-title,
    .final .final-title span,
    .final .final-title .sea-word{
      color:var(--sea)!important;
      -webkit-text-fill-color:var(--sea)!important;
      background:none!important;
      background-image:none!important;
      -webkit-background-clip:border-box!important;
      background-clip:border-box!important;
      text-shadow:none!important;
      filter:none!important;
      animation:none!important;
      opacity:1!important;
    }


    /* v61: elegant booking-button hover for header and hero */
    .site-header .book-btn,
    .hero-actions .book-btn{
      position:relative!important;
      isolation:isolate!important;
      overflow:hidden!important;
      transition:
        transform .32s cubic-bezier(.22,1,.36,1),
        border-color .32s ease,
        box-shadow .32s ease,
        background-color .32s ease,
        color .32s ease!important;
      will-change:transform!important;
    }

    .site-header .book-btn::before,
    .hero-actions .book-btn::before{
      content:""!important;
      position:absolute!important;
      inset:-2px!important;
      z-index:-2!important;
      background:
        linear-gradient(135deg,
          rgba(255,255,255,.16) 0%,
          rgba(255,255,255,.04) 35%,
          rgba(194,224,238,.18) 62%,
          rgba(255,255,255,.09) 100%)!important;
      opacity:.40!important;
      transition:opacity .32s ease!important;
      pointer-events:none!important;
    }

    .site-header .book-btn::after,
    .hero-actions .book-btn::after{
      content:""!important;
      position:absolute!important;
      top:-42%!important;
      bottom:-42%!important;
      left:-70%!important;
      width:48%!important;
      z-index:-1!important;
      background:
        linear-gradient(105deg,
          rgba(255,255,255,0) 0%,
          rgba(255,255,255,.26) 44%,
          rgba(255,255,255,.10) 57%,
          rgba(255,255,255,0) 100%)!important;
      transform:skewX(-18deg)!important;
      opacity:0!important;
      transition:
        left .72s cubic-bezier(.22,1,.36,1),
        opacity .22s ease!important;
      pointer-events:none!important;
    }

    .site-header .book-btn{
      border:1px solid rgba(255,255,255,.36)!important;
      box-shadow:
        0 10px 28px rgba(5,21,31,.18),
        inset 0 0 0 1px rgba(255,255,255,.05)!important;
    }

    .site-header .book-btn:hover,
    .site-header .book-btn:focus-visible{
      transform:translateY(-2px)!important;
      border-color:rgba(255,255,255,.62)!important;
      box-shadow:
        0 15px 34px rgba(5,21,31,.24),
        0 0 0 1px rgba(255,255,255,.06),
        inset 0 1px 0 rgba(255,255,255,.18)!important;
      outline:none!important;
    }

    .site-header .book-btn:hover::before,
    .site-header .book-btn:focus-visible::before{
      opacity:.78!important;
    }

    .site-header .book-btn:hover::after,
    .site-header .book-btn:focus-visible::after{
      left:124%!important;
      opacity:1!important;
    }

    .hero-actions .book-btn{
      border:1px solid rgba(255,255,255,.64)!important;
      box-shadow:
        0 16px 38px rgba(5,21,31,.20),
        inset 0 0 0 1px rgba(255,255,255,.18)!important;
    }

    .hero-actions .book-btn:hover,
    .hero-actions .book-btn:focus-visible{
      transform:translateY(-3px)!important;
      border-color:rgba(255,255,255,.88)!important;
      background:rgba(255,255,255,.98)!important;
      color:var(--sea)!important;
      box-shadow:
        0 22px 52px rgba(5,21,31,.26),
        0 0 0 1px rgba(255,255,255,.18),
        inset 0 1px 0 rgba(255,255,255,.65)!important;
      outline:none!important;
    }

    .hero-actions .book-btn:hover::before,
    .hero-actions .book-btn:focus-visible::before{
      opacity:.92!important;
    }

    .hero-actions .book-btn:hover::after,
    .hero-actions .book-btn:focus-visible::after{
      left:122%!important;
      opacity:1!important;
    }

    @media (prefers-reduced-motion:reduce){
      .site-header .book-btn,
      .hero-actions .book-btn,
      .site-header .book-btn::before,
      .site-header .book-btn::after,
      .hero-actions .book-btn::before,
      .hero-actions .book-btn::after{
        transition:none!important;
        transform:none!important;
        will-change:auto!important;
      }
      .site-header .book-btn:hover::after,
      .site-header .book-btn:focus-visible::after,
      .hero-actions .book-btn:hover::after,
      .hero-actions .book-btn:focus-visible::after{
        opacity:0!important;
      }
    }
/* v62: audit cleanup support rules */
    .slider-dots[role="group"]{
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .slider-dots button:focus-visible{
      outline:2px solid var(--gold);
      outline-offset:3px;
    }

/* v63: subtle hospitality motion layer
   Morning-light hero reveal, gentle text/CTA entrance, one-time booking glint,
   and quiet section reveal on scroll. */
.hero-media{
  position:absolute;
}
.hero-media::after{
  content:"";
  position:absolute;
  inset:-12% -30%;
  z-index:2;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(105deg,
      rgba(255,255,255,0) 0%,
      rgba(255,248,230,.06) 28%,
      rgba(255,255,255,.20) 48%,
      rgba(202,231,242,.08) 62%,
      rgba(255,255,255,0) 100%);
  transform:translate3d(-30%,0,0) skewX(-10deg);
  mix-blend-mode:screen;
  will-change:transform,opacity;
}
body.is-loaded .hero-media::after{
  animation:morningLightSweep 2.15s cubic-bezier(.22,1,.36,1) .34s both;
}
body.is-loaded .hero h1{
  animation:heroTitleSettle .86s cubic-bezier(.22,1,.36,1) .18s both;
}
body.is-loaded .hero-actions > *{
  animation:heroCtaSettle .78s cubic-bezier(.22,1,.36,1) both;
}
body.is-loaded .hero-actions > *:nth-child(1){animation-delay:.34s}
body.is-loaded .hero-actions > *:nth-child(2){animation-delay:.42s}
body.is-loaded .hero-actions > *:nth-child(3){animation-delay:.50s}
body.is-loaded .hero-actions .book-btn::after{
  animation:bookingLoadGlint 1.08s cubic-bezier(.22,1,.36,1) 1.02s both;
}
.js .reveal-section{
  opacity:0;
  transform:translate3d(0,16px,0);
  transition:
    opacity .82s ease,
    transform .92s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}
.js .reveal-section.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}
@keyframes morningLightSweep{
  0%{opacity:0;transform:translate3d(-32%,0,0) skewX(-10deg)}
  22%{opacity:.42}
  58%{opacity:.22}
  100%{opacity:0;transform:translate3d(34%,0,0) skewX(-10deg)}
}
@keyframes heroTitleSettle{
  0%{opacity:0;transform:translate3d(0,10px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes heroCtaSettle{
  0%{opacity:0;transform:translate3d(0,9px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes bookingLoadGlint{
  0%{left:-70%;opacity:0}
  18%{opacity:.66}
  100%{left:124%;opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .hero-media::after,
  body.is-loaded .hero-media::after,
  body.is-loaded .hero h1,
  body.is-loaded .hero-actions > *,
  body.is-loaded .hero-actions .book-btn::after{
    animation:none!important;
    transform:none!important;
    opacity:1!important;
    will-change:auto!important;
  }
  .hero-media::after{
    opacity:0!important;
    display:none!important;
  }
  .js .reveal-section{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
  }
}

/* v64: stronger-but-still-elegant load animations, fixed final CTA line break, and nav underline positioning */

/* Make the initial morning-light sweep more visible without becoming flashy. */
.hero-media::after{
  inset:-16% -34%!important;
  background:
    linear-gradient(105deg,
      rgba(255,255,255,0) 0%,
      rgba(255,245,218,.10) 24%,
      rgba(255,255,255,.38) 48%,
      rgba(197,229,243,.14) 62%,
      rgba(255,255,255,0) 100%)!important;
  mix-blend-mode:screen!important;
}
body.is-loaded .hero-media::after{
  animation:morningLightSweepV64 2.55s cubic-bezier(.22,1,.36,1) .24s both!important;
}

/* Make title and CTA entrance clearer but still calm. */
body.is-loaded .hero h1{
  animation:heroTitleSettleV64 1.06s cubic-bezier(.22,1,.36,1) .12s both!important;
}
body.is-loaded .hero-actions > *{
  animation:heroCtaSettleV64 .96s cubic-bezier(.22,1,.36,1) both!important;
}
body.is-loaded .hero-actions > *:nth-child(1){animation-delay:.34s!important}
body.is-loaded .hero-actions > *:nth-child(2){animation-delay:.48s!important}
body.is-loaded .hero-actions > *:nth-child(3){animation-delay:.60s!important}

/* Make the one-time booking glint visible on both booking buttons. */
body.is-loaded .hero-actions .book-btn::after,
body.is-loaded .site-header .book-btn::after{
  animation:bookingLoadGlintV64 1.22s cubic-bezier(.22,1,.36,1) 1.10s both!important;
}

/* Final title: force two lines only. */
.final .final-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:calc(100vw - 36px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  line-height:.92!important;
}
.final .final-title span{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  white-space:nowrap!important;
  text-align:center!important;
}
.final .final-title .sea-word{
  display:inline!important;
  width:auto!important;
  white-space:nowrap!important;
}

/* Header nav hover: use a real underline under each label, not a line through the text. */
.desktop-nav a{
  position:relative!important;
  border-bottom:0!important;
  padding-top:33px!important;
  padding-bottom:29px!important;
}
.desktop-nav a::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:18px!important;
  width:0!important;
  height:1px!important;
  background:rgba(255,255,255,.72)!important;
  transform:translateX(-50%)!important;
  transition:width .24s cubic-bezier(.22,1,.36,1), opacity .24s ease!important;
  opacity:0!important;
  pointer-events:none!important;
}
.desktop-nav a:hover,
.desktop-nav a:focus-visible{
  border-bottom:0!important;
}
.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after{
  width:100%!important;
  opacity:1!important;
}

@keyframes morningLightSweepV64{
  0%{opacity:0;transform:translate3d(-38%,0,0) skewX(-10deg)}
  20%{opacity:.78}
  56%{opacity:.36}
  100%{opacity:0;transform:translate3d(42%,0,0) skewX(-10deg)}
}
@keyframes heroTitleSettleV64{
  0%{opacity:0;transform:translate3d(0,18px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes heroCtaSettleV64{
  0%{opacity:0;transform:translate3d(0,14px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes bookingLoadGlintV64{
  0%{left:-76%;opacity:0}
  18%{opacity:.90}
  72%{opacity:.55}
  100%{left:128%;opacity:0}
}

@media(max-width:720px){
  .final .final-title{
    width:max-content!important;
    max-width:calc(100vw - 28px)!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .hero-media::after,
  body.is-loaded .hero-media::after,
  body.is-loaded .hero h1,
  body.is-loaded .hero-actions > *,
  body.is-loaded .hero-actions .book-btn::after,
  body.is-loaded .site-header .book-btn::after{
    animation:none!important;
    transform:none!important;
    will-change:auto!important;
  }
}

/* v65: subtler golden header nav underline */
.desktop-nav a::after{
  bottom:18px!important;
  height:1px!important;
  max-width:42px!important;
  background:rgba(216,191,130,.72)!important;
  opacity:0!important;
  box-shadow:none!important;
  transition:
    width .24s cubic-bezier(.22,1,.36,1),
    opacity .22s ease!important;
}
.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after{
  width:58%!important;
  opacity:.82!important;
}
@media(max-width:1160px){
  .desktop-nav a:hover::after,
  .desktop-nav a:focus-visible::after{
    width:46%!important;
  }
}

/* v66: slightly stronger golden header nav underline, same restrained width */
.desktop-nav a::after{
  height:2px!important;
  background:rgba(216,191,130,.88)!important;
}
.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after{
  opacity:.96!important;
}

/* v67: slower, more graceful header nav underline animation */
.desktop-nav a::after{
  transition:
    width .46s cubic-bezier(.22,1,.36,1),
    opacity .34s ease!important;
}

/* v68: header nav underline expands outward from the center */
.desktop-nav a::after{
  left:50%!important;
  width:42px!important;
  max-width:58%!important;
  transform:translateX(-50%) scaleX(0)!important;
  transform-origin:center center!important;
  opacity:0!important;
  transition:
    transform .52s cubic-bezier(.22,1,.36,1),
    opacity .34s ease!important;
}
.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after{
  width:42px!important;
  max-width:58%!important;
  transform:translateX(-50%) scaleX(1)!important;
  opacity:.96!important;
}
@media(max-width:1160px){
  .desktop-nav a::after,
  .desktop-nav a:hover::after,
  .desktop-nav a:focus-visible::after{
    width:34px!important;
    max-width:46%!important;
  }
}

/* v72: exact v62 booking-button hover animation applied to all booking buttons */
.site-header .book-btn,
.hero-actions .book-btn,
.stay-actions .book-btn,
.final .book-btn{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    border-color .32s ease,
    box-shadow .32s ease,
    background-color .32s ease,
    color .32s ease!important;
  will-change:transform!important;
  animation:none!important;
}

.site-header .book-btn::before,
.hero-actions .book-btn::before,
.stay-actions .book-btn::before,
.final .book-btn::before{
  content:""!important;
  position:absolute!important;
  inset:-2px!important;
  z-index:-2!important;
  background:
    linear-gradient(135deg,
      rgba(255,255,255,.16) 0%,
      rgba(255,255,255,.04) 35%,
      rgba(194,224,238,.18) 62%,
      rgba(255,255,255,.09) 100%)!important;
  opacity:.40!important;
  transition:opacity .32s ease!important;
  pointer-events:none!important;
  transform:none!important;
  animation:none!important;
}

.site-header .book-btn::after,
.hero-actions .book-btn::after,
.stay-actions .book-btn::after,
.final .book-btn::after{
  content:""!important;
  position:absolute!important;
  top:-42%!important;
  bottom:-42%!important;
  left:-70%!important;
  width:48%!important;
  z-index:-1!important;
  background:
    linear-gradient(105deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.26) 44%,
      rgba(255,255,255,.10) 57%,
      rgba(255,255,255,0) 100%)!important;
  transform:skewX(-18deg)!important;
  opacity:0!important;
  transition:
    left .72s cubic-bezier(.22,1,.36,1),
    opacity .22s ease!important;
  pointer-events:none!important;
  animation:none!important;
}

/* Header booking button, copied from v62 behavior */
.site-header .book-btn{
  border:1px solid rgba(255,255,255,.36)!important;
  box-shadow:
    0 10px 28px rgba(5,21,31,.18),
    inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
.site-header .book-btn:hover,
.site-header .book-btn:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:
    0 15px 34px rgba(5,21,31,.24),
    0 0 0 1px rgba(255,255,255,.06),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
  outline:none!important;
  animation:none!important;
}
.site-header .book-btn:hover::before,
.site-header .book-btn:focus-visible::before{
  opacity:.78!important;
}
.site-header .book-btn:hover::after,
.site-header .book-btn:focus-visible::after{
  left:124%!important;
  opacity:1!important;
  animation:none!important;
}

/* Hero booking button, copied from v62 behavior */
.hero-actions .book-btn{
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:
    0 16px 38px rgba(5,21,31,.20),
    inset 0 0 0 1px rgba(255,255,255,.18)!important;
}
.hero-actions .book-btn:hover,
.hero-actions .book-btn:focus-visible{
  transform:translateY(-3px)!important;
  border-color:rgba(255,255,255,.88)!important;
  background:rgba(255,255,255,.98)!important;
  color:var(--sea)!important;
  box-shadow:
    0 22px 52px rgba(5,21,31,.26),
    0 0 0 1px rgba(255,255,255,.18),
    inset 0 1px 0 rgba(255,255,255,.65)!important;
  outline:none!important;
  animation:none!important;
}
.hero-actions .book-btn:hover::before,
.hero-actions .book-btn:focus-visible::before{
  opacity:.92!important;
}
.hero-actions .book-btn:hover::after,
.hero-actions .book-btn:focus-visible::after{
  left:122%!important;
  opacity:1!important;
  animation:none!important;
}

/* Final booking button uses the same v62 header-style animation, adapted only to its dark CTA surface */
.final .book-btn{
  background:var(--sea)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.36)!important;
  box-shadow:
    0 10px 28px rgba(5,21,31,.18),
    inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
.final .book-btn:hover,
.final .book-btn:focus-visible{
  transform:translateY(-2px)!important;
  background:var(--sea-dark)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:
    0 15px 34px rgba(5,21,31,.24),
    0 0 0 1px rgba(255,255,255,.06),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
  outline:none!important;
  animation:none!important;
}
.final .book-btn:hover::before,
.final .book-btn:focus-visible::before{
  opacity:.78!important;
}
.final .book-btn:hover::after,
.final .book-btn:focus-visible::after{
  left:124%!important;
  opacity:1!important;
  animation:none!important;
}

@media (prefers-reduced-motion:reduce){
  .site-header .book-btn,
  .hero-actions .book-btn,
  .stay-actions .book-btn,
  .final .book-btn,
  .site-header .book-btn::before,
  .site-header .book-btn::after,
  .hero-actions .book-btn::before,
  .hero-actions .book-btn::after,
  .stay-actions .book-btn::before,
  .stay-actions .book-btn::after,
  .final .book-btn::before,
  .final .book-btn::after{
    transition:none!important;
    transform:none!important;
    animation:none!important;
    will-change:auto!important;
  }
  .site-header .book-btn:hover::after,
  .site-header .book-btn:focus-visible::after,
  .hero-actions .book-btn:hover::after,
  .hero-actions .book-btn:focus-visible::after,
  .stay-actions .book-btn:hover::after,
  .stay-actions .book-btn:focus-visible::after,
  .final .book-btn:hover::after,
  .final .book-btn:focus-visible::after{
    opacity:0!important;
  }
}

/* v73: restore visible v62-style polish/shine on all booking buttons.
   The shine now sits above the button surface so it is visible, while remaining subtle. */
.site-header .book-btn,
.hero-actions .book-btn,
.stay-actions .book-btn,
.final .book-btn{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    border-color .32s ease,
    box-shadow .32s ease,
    background-color .32s ease,
    color .32s ease!important;
  will-change:transform!important;
  animation:none!important;
}

.site-header .book-btn::before,
.hero-actions .book-btn::before,
.stay-actions .book-btn::before,
.final .book-btn::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(135deg,
      rgba(255,255,255,.16) 0%,
      rgba(255,255,255,.04) 35%,
      rgba(194,224,238,.18) 62%,
      rgba(255,255,255,.09) 100%)!important;
  opacity:.40!important;
  transform:none!important;
  transition:opacity .32s ease!important;
  animation:none!important;
}

.site-header .book-btn::after,
.hero-actions .book-btn::after,
.stay-actions .book-btn::after,
.final .book-btn::after{
  content:""!important;
  position:absolute!important;
  top:-46%!important;
  bottom:-46%!important;
  left:-76%!important;
  width:54%!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(105deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.08) 26%,
      rgba(255,255,255,.42) 46%,
      rgba(255,255,255,.16) 58%,
      rgba(255,255,255,0) 100%)!important;
  transform:skewX(-18deg)!important;
  opacity:0!important;
  transition:
    left .72s cubic-bezier(.22,1,.36,1),
    opacity .22s ease!important;
  animation:none!important;
  mix-blend-mode:screen!important;
}

/* Header button: v62-style refined hover with visible polish */
.site-header .book-btn{
  border:1px solid rgba(255,255,255,.36)!important;
  box-shadow:
    0 10px 28px rgba(5,21,31,.18),
    inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
.site-header .book-btn:hover,
.site-header .book-btn:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:
    0 15px 34px rgba(5,21,31,.24),
    0 0 0 1px rgba(255,255,255,.06),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
  outline:none!important;
  animation:none!important;
}
.site-header .book-btn:hover::before,
.site-header .book-btn:focus-visible::before{
  opacity:.78!important;
}
.site-header .book-btn:hover::after,
.site-header .book-btn:focus-visible::after{
  left:126%!important;
  opacity:1!important;
}

/* Hero white booking button: cleaner, prettier, no inherited text shadow */
.hero-actions .book-btn{
  background:
    linear-gradient(180deg,
      rgba(255,255,255,1) 0%,
      rgba(251,248,241,.98) 100%)!important;
  color:var(--sea-deep)!important;
  border:1px solid rgba(255,255,255,.96)!important;
  text-shadow:none!important;
  box-shadow:
    0 16px 38px rgba(5,21,31,.20),
    0 0 0 1px rgba(255,255,255,.14),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.hero-actions .book-btn::before{
  background:
    linear-gradient(135deg,
      rgba(255,255,255,.20) 0%,
      rgba(255,255,255,.07) 35%,
      rgba(194,224,238,.22) 62%,
      rgba(255,255,255,.12) 100%)!important;
}
.hero-actions .book-btn:hover,
.hero-actions .book-btn:focus-visible{
  transform:translateY(-3px)!important;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,1) 0%,
      rgba(250,247,239,1) 100%)!important;
  color:var(--sea)!important;
  border-color:rgba(255,255,255,1)!important;
  text-shadow:none!important;
  box-shadow:
    0 22px 52px rgba(5,21,31,.26),
    0 0 0 1px rgba(255,255,255,.22),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
  outline:none!important;
  animation:none!important;
}
.hero-actions .book-btn:hover::before,
.hero-actions .book-btn:focus-visible::before{
  opacity:.92!important;
}
.hero-actions .book-btn:hover::after,
.hero-actions .book-btn:focus-visible::after{
  left:126%!important;
  opacity:1!important;
}

/* Bottom booking button: same visible polish treatment, adapted to dark button */
.final .book-btn{
  background:var(--sea)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.36)!important;
  text-shadow:none!important;
  box-shadow:
    0 10px 28px rgba(5,21,31,.18),
    inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
.final .book-btn:hover,
.final .book-btn:focus-visible{
  transform:translateY(-2px)!important;
  background:var(--sea-dark)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.62)!important;
  text-shadow:none!important;
  box-shadow:
    0 15px 34px rgba(5,21,31,.24),
    0 0 0 1px rgba(255,255,255,.06),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
  outline:none!important;
  animation:none!important;
}
.final .book-btn:hover::before,
.final .book-btn:focus-visible::before{
  opacity:.78!important;
}
.final .book-btn:hover::after,
.final .book-btn:focus-visible::after{
  left:126%!important;
  opacity:1!important;
}

@media (prefers-reduced-motion:reduce){
  .site-header .book-btn,
  .hero-actions .book-btn,
  .stay-actions .book-btn,
  .final .book-btn,
  .site-header .book-btn::before,
  .site-header .book-btn::after,
  .hero-actions .book-btn::before,
  .hero-actions .book-btn::after,
  .stay-actions .book-btn::before,
  .stay-actions .book-btn::after,
  .final .book-btn::before,
  .final .book-btn::after{
    transition:none!important;
    transform:none!important;
    animation:none!important;
    will-change:auto!important;
  }
  .site-header .book-btn:hover::after,
  .site-header .book-btn:focus-visible::after,
  .hero-actions .book-btn:hover::after,
  .hero-actions .book-btn:focus-visible::after,
  .stay-actions .book-btn:hover::after,
  .stay-actions .book-btn:focus-visible::after,
  .final .book-btn:hover::after,
  .final .book-btn:focus-visible::after{
    opacity:0!important;
  }
}

/* v74: stabilize the white hero booking button hover.
   The moving shine layer is removed from the white hero button only to prevent hover-out glitching. */
.hero-actions .book-btn{
  position:relative!important;
  isolation:auto!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,1) 0%,
      rgba(252,249,242,.99) 100%)!important;
  color:var(--sea-deep)!important;
  border:1px solid rgba(255,255,255,.96)!important;
  text-shadow:none!important;
  box-shadow:
    0 16px 38px rgba(5,21,31,.20),
    0 0 0 1px rgba(255,255,255,.14),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    border-color .32s ease,
    box-shadow .32s ease,
    background .32s ease,
    color .32s ease!important;
  will-change:transform!important;
}

/* Remove moving pseudo layers on hero button only. */
.hero-actions .book-btn::before,
.hero-actions .book-btn::after,
.hero-actions .book-btn:hover::before,
.hero-actions .book-btn:hover::after,
.hero-actions .book-btn:focus-visible::before,
.hero-actions .book-btn:focus-visible::after{
  content:none!important;
  display:none!important;
  animation:none!important;
  transition:none!important;
  opacity:0!important;
}

.hero-actions .book-btn:hover,
.hero-actions .book-btn:focus-visible{
  transform:translateY(-2px)!important;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,1) 0%,
      rgba(248,244,235,1) 100%)!important;
  color:var(--sea)!important;
  border-color:rgba(255,255,255,1)!important;
  text-shadow:none!important;
  box-shadow:
    0 19px 44px rgba(5,21,31,.24),
    0 0 0 1px rgba(255,255,255,.24),
    inset 0 1px 0 rgba(255,255,255,.94)!important;
  outline:none!important;
  animation:none!important;
}

@media (prefers-reduced-motion:reduce){
  .hero-actions .book-btn{
    transition:none!important;
    transform:none!important;
    will-change:auto!important;
  }
}

/* v75: hard-stabilize the white hero booking button.
   This removes all load, shine, pseudo-element and hover-out animation conflicts from this button only. */
body.is-loaded .hero-actions .book-btn,
.hero-actions .book-btn,
.hero-actions .book-btn:hover,
.hero-actions .book-btn:focus,
.hero-actions .book-btn:focus-visible,
.hero-actions .book-btn:active{
  opacity:1!important;
  visibility:visible!important;
  animation:none!important;
  filter:none!important;
  will-change:auto!important;
  isolation:isolate!important;
  overflow:hidden!important;
  text-shadow:none!important;
  color:var(--sea-deep)!important;
  -webkit-text-fill-color:var(--sea-deep)!important;
  background:
    linear-gradient(180deg,
      #ffffff 0%,
      #fbf8f1 100%)!important;
  border:1px solid rgba(255,255,255,.98)!important;
  box-shadow:
    0 16px 38px rgba(5,21,31,.20),
    0 0 0 1px rgba(255,255,255,.14),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s ease,
    border-color .24s ease,
    background-color .24s ease,
    color .24s ease!important;
}

.hero-actions .book-btn:hover,
.hero-actions .book-btn:focus-visible{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(-2px)!important;
  color:var(--sea)!important;
  -webkit-text-fill-color:var(--sea)!important;
  background:
    linear-gradient(180deg,
      #ffffff 0%,
      #f7f2e8 100%)!important;
  border-color:#ffffff!important;
  box-shadow:
    0 19px 44px rgba(5,21,31,.24),
    0 0 0 1px rgba(255,255,255,.22),
    inset 0 1px 0 rgba(255,255,255,.96)!important;
}

.hero-actions .book-btn:not(:hover):not(:focus-visible){
  transform:translateY(0)!important;
}

.hero-actions .book-btn::before,
.hero-actions .book-btn::after,
.hero-actions .book-btn:hover::before,
.hero-actions .book-btn:hover::after,
.hero-actions .book-btn:focus::before,
.hero-actions .book-btn:focus::after,
.hero-actions .book-btn:focus-visible::before,
.hero-actions .book-btn:focus-visible::after,
.hero-actions .book-btn:active::before,
.hero-actions .book-btn:active::after{
  content:""!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  animation:none!important;
  transition:none!important;
  transform:none!important;
  background:none!important;
  box-shadow:none!important;
}

@media (prefers-reduced-motion:reduce){
  body.is-loaded .hero-actions .book-btn,
  .hero-actions .book-btn,
  .hero-actions .book-btn:hover,
  .hero-actions .book-btn:focus-visible{
    transition:none!important;
    transform:none!important;
  }
}

/* v76: restore visible v62-style left-to-right shine on the blue booking buttons only.
   Applies to header and final CTA. The white hero button remains stabilized from v75. */
.site-header .book-btn,
.final .book-btn{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    border-color .32s ease,
    box-shadow .32s ease,
    background-color .32s ease,
    color .32s ease!important;
  will-change:transform!important;
}

.site-header .book-btn::before,
.final .book-btn::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(135deg,
      rgba(255,255,255,.16) 0%,
      rgba(255,255,255,.04) 35%,
      rgba(194,224,238,.18) 62%,
      rgba(255,255,255,.09) 100%)!important;
  opacity:.40!important;
  transform:none!important;
  transition:opacity .32s ease!important;
  animation:none!important;
}

.site-header .book-btn::after,
.final .book-btn::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:-46%!important;
  bottom:-46%!important;
  left:-76%!important;
  width:54%!important;
  z-index:2!important;
  pointer-events:none!important;
  background:
    linear-gradient(105deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.08) 26%,
      rgba(255,255,255,.44) 46%,
      rgba(255,255,255,.18) 58%,
      rgba(255,255,255,0) 100%)!important;
  transform:skewX(-18deg)!important;
  opacity:0!important;
  mix-blend-mode:screen!important;
  transition:
    left .72s cubic-bezier(.22,1,.36,1),
    opacity .22s ease!important;
  animation:none!important;
}

/* Header blue booking button */
.site-header .book-btn{
  background:var(--sea)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid rgba(255,255,255,.36)!important;
  box-shadow:
    0 10px 28px rgba(5,21,31,.18),
    inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
.site-header .book-btn:hover,
.site-header .book-btn:focus-visible{
  transform:translateY(-2px)!important;
  background:var(--sea-dark)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:
    0 15px 34px rgba(5,21,31,.24),
    0 0 0 1px rgba(255,255,255,.06),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
  outline:none!important;
}
.site-header .book-btn:hover::before,
.site-header .book-btn:focus-visible::before{
  opacity:.78!important;
}
.site-header .book-btn:hover::after,
.site-header .book-btn:focus-visible::after{
  left:126%!important;
  opacity:1!important;
}

/* Bottom blue booking button */
.final .book-btn{
  background:var(--sea)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid rgba(255,255,255,.36)!important;
  text-shadow:none!important;
  box-shadow:
    0 10px 28px rgba(5,21,31,.18),
    inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
.final .book-btn:hover,
.final .book-btn:focus-visible{
  transform:translateY(-2px)!important;
  background:var(--sea-dark)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:
    0 15px 34px rgba(5,21,31,.24),
    0 0 0 1px rgba(255,255,255,.06),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
  outline:none!important;
}
.final .book-btn:hover::before,
.final .book-btn:focus-visible::before{
  opacity:.78!important;
}
.final .book-btn:hover::after,
.final .book-btn:focus-visible::after{
  left:126%!important;
  opacity:1!important;
}

@media (prefers-reduced-motion:reduce){
  .site-header .book-btn,
  .final .book-btn,
  .site-header .book-btn::before,
  .site-header .book-btn::after,
  .final .book-btn::before,
  .final .book-btn::after{
    transition:none!important;
    transform:none!important;
    animation:none!important;
    will-change:auto!important;
  }
  .site-header .book-btn:hover::after,
  .site-header .book-btn:focus-visible::after,
  .final .book-btn:hover::after,
  .final .book-btn:focus-visible::after{
    opacity:0!important;
  }
}

/* v77: fix blue button shine conflict.
   The old page-load glint on the header button was holding the pseudo-element at the end position,
   so the hover sweep could not visibly travel left-to-right. This final override resets it. */

.site-header .book-btn,
.final .book-btn{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}

/* Keep the soft v62 polish layer. */
.site-header .book-btn::before,
.final .book-btn::before,
body.is-loaded .site-header .book-btn::before,
body.is-loaded .final .book-btn::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:-2px!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(135deg,
      rgba(255,255,255,.16) 0%,
      rgba(255,255,255,.04) 35%,
      rgba(194,224,238,.18) 62%,
      rgba(255,255,255,.09) 100%)!important;
  opacity:.40!important;
  transform:none!important;
  animation:none!important;
  transition:opacity .32s ease!important;
}

/* Reset shine to the left side in every non-hover state, including after page-load animation. */
.site-header .book-btn::after,
.final .book-btn::after,
body.is-loaded .site-header .book-btn::after,
body.is-loaded .final .book-btn::after,
.site-header .book-btn:not(:hover):not(:focus-visible)::after,
.final .book-btn:not(:hover):not(:focus-visible)::after{
  content:""!important;
  display:block!important;
  visibility:visible!important;
  position:absolute!important;
  top:-42%!important;
  bottom:-42%!important;
  left:-70%!important;
  width:48%!important;
  z-index:2!important;
  pointer-events:none!important;
  background:
    linear-gradient(105deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.00) 24%,
      rgba(255,255,255,.26) 44%,
      rgba(255,255,255,.10) 57%,
      rgba(255,255,255,0) 100%)!important;
  transform:skewX(-18deg)!important;
  opacity:0!important;
  mix-blend-mode:screen!important;
  animation:none!important;
  transition:
    left .72s cubic-bezier(.22,1,.36,1),
    opacity .22s ease!important;
}

/* The actual v62-style left-to-right sweep on hover/focus. */
.site-header .book-btn:hover::after,
.site-header .book-btn:focus-visible::after,
.final .book-btn:hover::after,
.final .book-btn:focus-visible::after,
body.is-loaded .site-header .book-btn:hover::after,
body.is-loaded .site-header .book-btn:focus-visible::after,
body.is-loaded .final .book-btn:hover::after,
body.is-loaded .final .book-btn:focus-visible::after{
  left:124%!important;
  opacity:1!important;
  animation:none!important;
}

.site-header .book-btn:hover::before,
.site-header .book-btn:focus-visible::before,
.final .book-btn:hover::before,
.final .book-btn:focus-visible::before,
body.is-loaded .site-header .book-btn:hover::before,
body.is-loaded .site-header .book-btn:focus-visible::before,
body.is-loaded .final .book-btn:hover::before,
body.is-loaded .final .book-btn:focus-visible::before{
  opacity:.78!important;
  animation:none!important;
}

/* Keep the blue button hover states aligned with v62. */
.site-header .book-btn:hover,
.site-header .book-btn:focus-visible,
.final .book-btn:hover,
.final .book-btn:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:
    0 15px 34px rgba(5,21,31,.24),
    0 0 0 1px rgba(255,255,255,.06),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
  outline:none!important;
  animation:none!important;
}

@media (prefers-reduced-motion:reduce){
  .site-header .book-btn::after,
  .final .book-btn::after,
  body.is-loaded .site-header .book-btn::after,
  body.is-loaded .final .book-btn::after{
    transition:none!important;
    opacity:0!important;
    left:-70%!important;
  }
}

/* v78: phone-only hero cleanup + hide intro room image in “Rom ved havet”.
   Desktop/tablet layout remains unchanged. */
@media(max-width:720px){

  /* 1) Remove the large intro image from Rom ved havet on phone only. */
  #stay .stay-intro{
    display:block!important;
    margin-bottom:34px!important;
  }
  #stay .stay-photo{
    display:none!important;
  }
  #stay .stay-copy{
    padding-bottom:0!important;
  }
  #stay .rooms-grid{
    margin-top:28px!important;
  }

  /* 2) Cleaner, more composed mobile hero structure. */
  .hero{
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:0!important;
    padding-top:calc(66px + env(safe-area-inset-top))!important;
    margin-bottom:0!important;
    background:var(--sea-deep)!important;
    overflow:hidden!important;
  }

  .hero:before,
  .hero:after{
    content:none!important;
    display:none!important;
  }

  .hero-media{
    position:relative!important;
    display:block!important;
    order:1!important;
    inset:auto!important;
    width:100%!important;
    height:clamp(310px,45svh,405px)!important;
    min-height:310px!important;
    overflow:hidden!important;
    opacity:1!important;
    transform:none!important;
    background:var(--sea-deep)!important;
  }

  .hero-media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 48%!important;
    transform:none!important;
  }

  .hero-media::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
    background:
      linear-gradient(180deg,
        rgba(5,21,31,.06) 0%,
        rgba(5,21,31,.08) 38%,
        rgba(5,21,31,.42) 100%),
      linear-gradient(90deg,
        rgba(5,21,31,.12) 0%,
        rgba(5,21,31,0) 34%,
        rgba(5,21,31,.08) 100%)!important;
  }

  .hero-content{
    display:contents!important;
    width:auto!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
    opacity:1!important;
    transform:none!important;
    text-shadow:none!important;
  }

  .hero h1{
    position:absolute!important;
    z-index:4!important;
    top:calc(66px + env(safe-area-inset-top) + clamp(118px,20svh,174px))!important;
    left:50%!important;
    width:min(86vw,520px)!important;
    max-width:7.9ch!important;
    margin:0!important;
    transform:translateX(-50%)!important;
    text-align:center!important;
    font-size:clamp(3.05rem,15.6vw,4.7rem)!important;
    line-height:.90!important;
    letter-spacing:-.055em!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-shadow:
      0 3px 16px rgba(0,0,0,.24),
      0 12px 34px rgba(0,0,0,.18)!important;
  }

  .hero h1 > span,
  .hero h1 .sea-word{
    line-height:1.02!important;
    padding-bottom:.12em!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  .hero-actions{
    order:2!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:calc(100% - 56px)!important;
    max-width:460px!important;
    margin:0 auto!important;
    padding:30px 0 0!important;
    justify-content:stretch!important;
    align-items:stretch!important;
  }

  .hero-actions .book-btn,
  .hero-actions .line-btn{
    width:100%!important;
    min-width:0!important;
    min-height:56px!important;
    padding:0 22px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:.88rem!important;
    letter-spacing:.16em!important;
    line-height:1.1!important;
  }

  .hero-actions .book-btn{
    background:#fff!important;
    border-color:rgba(255,255,255,.96)!important;
    color:var(--sea-deep)!important;
    -webkit-text-fill-color:var(--sea-deep)!important;
    text-shadow:none!important;
    box-shadow:0 12px 26px rgba(2,13,21,.18)!important;
  }

  .hero-actions .line-btn{
    background:rgba(255,255,255,.035)!important;
    border-color:rgba(255,255,255,.72)!important;
    color:#fff!important;
    text-shadow:0 1px 10px rgba(0,0,0,.20)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .hero .hero-bridge-inner{
    order:3!important;
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    display:block!important;
    width:calc(100% - 56px)!important;
    max-width:460px!important;
    margin:30px auto 0!important;
    padding:22px 0 48px!important;
    border-top:1px solid rgba(255,255,255,.20)!important;
    border-bottom:0!important;
    text-align:left!important;
  }

  .hero .hero-bridge-inner .kicker{
    margin-bottom:18px!important;
    font-size:.72rem!important;
    line-height:1.4!important;
    letter-spacing:.24em!important;
    color:#f0dfbf!important;
    text-shadow:none!important;
  }

  .hero .hero-bridge-lead{
    margin:0!important;
    max-width:none!important;
    font-size:clamp(1.33rem,6.1vw,1.72rem)!important;
    line-height:1.42!important;
    letter-spacing:-.025em!important;
    color:rgba(255,255,255,.94)!important;
    text-shadow:none!important;
  }

  .hero .hero-bridge-inner .hero-facts{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    margin:26px 0 0!important;
    padding:0!important;
    border:0!important;
    color:rgba(255,255,255,.88)!important;
    text-shadow:none!important;
    justify-items:stretch!important;
  }

  .hero .hero-bridge-inner .hero-facts span{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:13px 0!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    border-bottom:0!important;
    text-align:left!important;
    font-size:.74rem!important;
    letter-spacing:.20em!important;
  }

  .hero .hero-bridge-inner .hero-facts span:first-child{
    border-top:0!important;
    padding-top:0!important;
  }
}

@media(max-width:390px){
  .hero h1{
    top:calc(66px + env(safe-area-inset-top) + 120px)!important;
    font-size:clamp(2.8rem,15.2vw,4.1rem)!important;
  }
  .hero-actions,
  .hero .hero-bridge-inner{
    width:calc(100% - 44px)!important;
  }
  .hero-actions .book-btn,
  .hero-actions .line-btn{
    letter-spacing:.14em!important;
    font-size:.84rem!important;
  }
}

/* v79: redesign “Rom ved havet” room grid with six compact room types */
.stay-intro-compact{
  display:block!important;
  max-width:860px!important;
  margin:0 auto 42px!important;
  text-align:center!important;
}
.stay-intro-compact .stay-copy{
  max-width:820px!important;
  margin:0 auto!important;
}
.stay-intro-compact .lead{
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.stay-intro-compact details.more{
  max-width:520px!important;
  margin:20px auto 0!important;
  text-align:left!important;
}
.rooms-grid-six{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  margin-top:34px!important;
  align-items:stretch!important;
}
.room-card--compact{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:0 18px 50px rgba(13,36,49,.07)!important;
  text-align:left!important;
  overflow:hidden!important;
  transition:transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, border-color .28s ease!important;
}
.room-card--compact:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(180,151,91,.34)!important;
  box-shadow:0 24px 64px rgba(13,36,49,.11)!important;
}
.room-card--compact .room-img{
  height:255px!important;
  margin:0!important;
  background:#e5dccc!important;
  box-shadow:none!important;
}
.room-card--compact .room-img img{
  transform:none!important;
}
.room-card--compact:hover .room-img img.is-active{
  transform:scale(1.025)!important;
}
.room-card--compact .room-body{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  flex:1!important;
  padding:20px 20px 22px!important;
}
.room-card--compact h3{
  margin:0!important;
  font-size:clamp(1.28rem,1.8vw,1.65rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  color:var(--ink)!important;
}
.room-card--compact .room-teaser{
  margin:0!important;
  max-width:none!important;
  color:var(--ink-soft)!important;
  font-size:.98rem!important;
  line-height:1.45!important;
}
.room-more{
  margin:4px 0 0!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
}
.room-more summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:44px!important;
  cursor:pointer!important;
  list-style:none!important;
  color:var(--sea)!important;
  font-weight:900!important;
  font-size:.78rem!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.room-more summary::-webkit-details-marker{display:none!important}
.room-more summary::after{
  content:'+'!important;
  font-size:1.05rem!important;
  line-height:1!important;
  color:var(--gold)!important;
  transition:transform .22s ease!important;
}
.room-more[open] summary::after{
  transform:rotate(45deg)!important;
}
.room-more p{
  margin:0!important;
  padding:0 0 16px!important;
  max-width:none!important;
  color:var(--ink-soft)!important;
  font-size:.95rem!important;
  line-height:1.54!important;
}
.room-card--compact .line-btn{
  margin-top:auto!important;
  align-self:flex-start!important;
  color:var(--sea)!important;
  border-color:currentColor!important;
}
@media(max-width:1080px){
  .rooms-grid-six{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    width:min(900px,calc(100vw - 32px))!important;
  }
  .room-card--compact .room-img{height:235px!important}
}
@media(max-width:720px){
  #stay .stay-intro,
  #stay .stay-intro-compact{
    display:block!important;
    margin-bottom:26px!important;
  }
  #stay .stay-photo{display:none!important}
  .stay-section{padding-top:58px!important;padding-bottom:64px!important}
  .stay-content{padding-top:0!important}
  .stay-intro-compact{text-align:left!important;width:calc(100% - 30px)!important}
  .stay-intro-compact .lead{font-size:1.05rem!important;line-height:1.56!important}
  .stay-intro-compact details.more{margin-left:0!important;margin-right:0!important;max-width:none!important}
  .rooms-grid-six{
    width:calc(100vw - 24px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:24px!important;
  }
  .room-card--compact .room-img{height:168px!important}
  .room-card--compact .room-body{padding:14px 12px 16px!important;gap:8px!important}
  .room-card--compact h3{font-size:1.05rem!important;line-height:1.1!important}
  .room-card--compact .room-teaser{font-size:.83rem!important;line-height:1.38!important}
  .room-more summary{min-height:38px!important;font-size:.68rem!important;letter-spacing:.13em!important}
  .room-more p{font-size:.82rem!important;line-height:1.48!important;padding-bottom:12px!important}
  .room-card--compact .line-btn{font-size:.72rem!important;letter-spacing:.12em!important;margin-top:4px!important}
  .room-card--compact .slider-btn{width:30px!important;height:30px!important;font-size:1.05rem!important}
  .room-card--compact .slider-dots{bottom:8px!important}
  .room-card--compact .slider-dots button{width:5px!important;height:5px!important}
}
@media(max-width:390px){
  .rooms-grid-six{width:calc(100vw - 18px)!important;gap:10px!important}
  .room-card--compact .room-img{height:150px!important}
  .room-card--compact .room-body{padding:12px 10px 14px!important}
  .room-card--compact h3{font-size:.98rem!important}
  .room-card--compact .room-teaser{font-size:.78rem!important}
}


/* v80: room intro action buttons */
.stay-actions{
  justify-content:center!important;
  gap:14px!important;
  margin-top:24px!important;
}
.stay-actions .book-btn,
.stay-actions .line-btn{
  min-width:180px;
  justify-content:center;
}
@media(max-width:720px){
  .stay-actions{
    justify-content:flex-start!important;
    gap:12px!important;
    margin-top:20px!important;
  }
  .stay-actions .book-btn,
  .stay-actions .line-btn{
    min-width:0!important;
    flex:1 1 calc(50% - 6px);
    text-align:center!important;
  }
}


/* v81: room section CTA uses the same shine hover as the header booking button */
.stay-actions .book-btn{
  background:var(--sea)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.36)!important;
  box-shadow:
    0 10px 28px rgba(5,21,31,.18),
    inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
.stay-actions .book-btn:hover,
.stay-actions .book-btn:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:
    0 15px 34px rgba(5,21,31,.24),
    0 0 0 1px rgba(255,255,255,.06),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
  outline:none!important;
}
.stay-actions .book-btn:hover::before,
.stay-actions .book-btn:focus-visible::before{
  opacity:.78!important;
}
.stay-actions .book-btn:hover::after,
.stay-actions .book-btn:focus-visible::after{
  left:124%!important;
  opacity:1!important;
  animation:none!important;
}

/* v83: room grid cleanup */
.room-card--compact .room-body{
  padding-bottom:20px!important;
}
.room-card--compact .room-more{
  margin-top:auto!important;
}
.room-card--compact .room-more p{
  padding-bottom:14px!important;
}

/* v84: use the terrace harbour asset as the hero image, shown cleanly without heavy zooming */
.hero-media{
  background:
    linear-gradient(90deg,rgba(5,21,31,.34),rgba(5,21,31,.10),rgba(5,21,31,.30)),
    url('risorhead.webp') center 42% / cover no-repeat!important;
}
.hero-media img{
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
  filter:saturate(1.03) contrast(1.02)!important;
}
.hero::before{
  background:
    linear-gradient(90deg,rgba(5,21,31,.42) 0%,rgba(5,21,31,.14) 44%,rgba(5,21,31,.34) 100%),
    linear-gradient(180deg,rgba(5,21,31,.22) 0%,rgba(5,21,31,.18) 36%,rgba(5,21,31,.78) 100%)!important;
}
@media(min-width:721px){
  .hero-media img{
    width:100%!important;
    height:100%!important;
    padding:0!important;
  }
}
@media(max-width:720px){
  .hero-media{
    background:
      linear-gradient(180deg,rgba(5,21,31,.12),rgba(5,21,31,.34)),
      url('risorhead.webp') center 42% / cover no-repeat!important;
  }
  .hero-media img{
    object-fit:cover!important;
    object-position:center center!important;
  }
}


/* v85: seven-room layout, Suite first and Skipperstua last */
.rooms-grid-seven{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
.rooms-grid-seven .room-card--compact:nth-child(7){
  grid-column:2 / span 1!important;
}
.rooms-grid-seven .room-card--compact .room-body{
  min-height:210px!important;
  justify-content:flex-start!important;
}
.rooms-grid-seven .room-card--compact .room-more{
  margin-top:auto!important;
}
.rooms-grid-seven .room-card--compact .line-btn{
  display:none!important;
}
@media(max-width:1080px){
  .rooms-grid-seven{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:min(900px,calc(100vw - 32px))!important;
    gap:18px!important;
  }
  .rooms-grid-seven .room-card--compact:nth-child(7){
    grid-column:1 / -1!important;
    width:min(430px,100%)!important;
    justify-self:center!important;
  }
}
@media(max-width:720px){
  .rooms-grid-seven{
    width:calc(100vw - 24px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .rooms-grid-seven .room-card--compact .room-body{
    min-height:180px!important;
  }
  .rooms-grid-seven .room-card--compact:nth-child(7){
    grid-column:1 / -1!important;
    width:calc(50% - 6px)!important;
    min-width:0!important;
    justify-self:center!important;
  }
}
@media(max-width:390px){
  .rooms-grid-seven{width:calc(100vw - 18px)!important;gap:10px!important}
  .rooms-grid-seven .room-card--compact:nth-child(7){width:calc(50% - 5px)!important}
}

/* v87: elegant expandable rooms layout */
.rooms-grid{
  align-items:start!important;
}

.rooms-extra-shell{
  grid-column:1 / -1!important;
  overflow:hidden!important;
  max-height:232px!important;
  position:relative!important;
  transition:max-height .72s cubic-bezier(.22,1,.36,1)!important;
  margin-top:2px!important;
}

.rooms-extra-shell::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:82px!important;
  pointer-events:none!important;
  background:linear-gradient(180deg, rgba(247,242,233,0), var(--paper) 88%)!important;
  opacity:1!important;
  transition:opacity .32s ease!important;
}

.rooms-extra-shell.is-expanded{
  max-height:2600px!important;
}

.rooms-extra-shell.is-expanded::after{
  opacity:0!important;
}

.rooms-extra-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:start!important;
}

.rooms-extra-grid .room-card:last-child{
  grid-column:2 / 3!important;
}

.rooms-expand-control{
  grid-column:1 / -1!important;
  display:flex!important;
  justify-content:center!important;
  margin-top:10px!important;
}

.rooms-expand-btn{
  background:rgba(255,255,255,.54)!important;
  border-color:rgba(7,39,54,.18)!important;
  min-width:176px!important;
  box-shadow:0 10px 28px rgba(5,21,31,.06)!important;
}

.rooms-expand-btn:hover,
.rooms-expand-btn:focus-visible{
  background:#fff!important;
  border-color:rgba(7,39,54,.34)!important;
}

@media(max-width:900px){
  .rooms-extra-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
  }
  .rooms-extra-grid .room-card:last-child{
    grid-column:auto!important;
  }
  .rooms-extra-shell{
    max-height:218px!important;
  }
}

@media(max-width:720px){
  .rooms-extra-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .rooms-extra-shell{
    max-height:238px!important;
  }
  .rooms-expand-control{
    margin-top:8px!important;
  }
  .rooms-expand-btn{
    width:100%!important;
    max-width:340px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .rooms-extra-shell{
    transition:none!important;
  }
}

/* v88: refined expandable controls + only Skipperstua hidden in rooms section */

/* First six room cards remain fully visible. Only the final Skipperstua card is in this shell. */
.rooms-extra-shell.rooms-extra-shell-single{
  grid-column:1 / -1!important;
  overflow:hidden!important;
  max-height:0!important;
  opacity:0!important;
  transform:translateY(-6px)!important;
  position:relative!important;
  margin-top:0!important;
  pointer-events:none!important;
  transition:
    max-height .72s cubic-bezier(.22,1,.36,1),
    opacity .36s ease,
    transform .46s cubic-bezier(.22,1,.36,1)!important;
}

.rooms-extra-shell.rooms-extra-shell-single::after{
  content:none!important;
  display:none!important;
}

.rooms-extra-shell.rooms-extra-shell-single.is-expanded{
  max-height:680px!important;
  opacity:1!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
  margin-top:2px!important;
}

.rooms-extra-shell-single .rooms-extra-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:start!important;
}

.rooms-extra-shell-single .room-card{
  grid-column:2 / 3!important;
}

/* Shared elegant expansion button style for rooms and Praktisk info. */
.expand-pill,
.rooms-expand-btn,
.info-expand-btn,
[data-info-toggle]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:190px!important;
  min-height:48px!important;
  padding:0 30px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border:1px solid rgba(193,151,83,.34)!important;
  border-radius:999px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(249,244,234,.72))!important;
  color:var(--sea)!important;
  font-family:var(--sans)!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  text-align:center!important;
  line-height:1!important;
  box-shadow:
    0 16px 34px rgba(5,21,31,.08),
    inset 0 1px 0 rgba(255,255,255,.72)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    border-color .32s ease,
    box-shadow .32s ease,
    background-color .32s ease,
    color .32s ease!important;
}

.expand-pill::before,
.rooms-expand-btn::before,
.info-expand-btn::before,
[data-info-toggle]::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:
    radial-gradient(circle at 50% 0%, rgba(216,191,130,.20), transparent 58%),
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(194,224,238,.12))!important;
  opacity:.62!important;
  transition:opacity .32s ease!important;
}

.expand-pill::after,
.rooms-expand-btn::after,
.info-expand-btn::after,
[data-info-toggle]::after{
  content:"+"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  margin-left:12px!important;
  border-radius:999px!important;
  color:rgba(193,151,83,.94)!important;
  font-size:1rem!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
  transition:transform .32s cubic-bezier(.22,1,.36,1), color .32s ease!important;
}

.expand-pill[aria-expanded="true"]::after,
.rooms-expand-btn[aria-expanded="true"]::after,
.info-expand-btn[aria-expanded="true"]::after,
[data-info-toggle][aria-expanded="true"]::after{
  content:"–"!important;
  transform:translateY(-2px)!important;
}

.expand-pill:hover,
.expand-pill:focus-visible,
.rooms-expand-btn:hover,
.rooms-expand-btn:focus-visible,
.info-expand-btn:hover,
.info-expand-btn:focus-visible,
[data-info-toggle]:hover,
[data-info-toggle]:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(193,151,83,.58)!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,246,238,.86))!important;
  color:var(--sea-deep)!important;
  box-shadow:
    0 20px 42px rgba(5,21,31,.11),
    0 0 0 1px rgba(216,191,130,.08),
    inset 0 1px 0 rgba(255,255,255,.86)!important;
  outline:none!important;
}

.expand-pill:hover::before,
.expand-pill:focus-visible::before,
.rooms-expand-btn:hover::before,
.rooms-expand-btn:focus-visible::before,
.info-expand-btn:hover::before,
.info-expand-btn:focus-visible::before,
[data-info-toggle]:hover::before,
[data-info-toggle]:focus-visible::before{
  opacity:.92!important;
}

.rooms-expand-control,
.info-expand-control{
  grid-column:1 / -1!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin-top:26px!important;
  text-align:center!important;
}

.info-expand-control{
  margin-top:24px!important;
}

/* If the existing practical-info toggle is not inside a perfect centering wrapper, force it centered. */
.info-section [data-info-toggle],
.practical-info [data-info-toggle],
#info [data-info-toggle]{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:900px){
  .rooms-extra-shell-single .rooms-extra-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
  }
  .rooms-extra-shell-single .room-card{
    grid-column:auto!important;
  }
  .rooms-extra-shell.rooms-extra-shell-single.is-expanded{
    max-height:720px!important;
  }
}

@media(max-width:720px){
  .rooms-extra-shell-single .rooms-extra-grid{
    grid-template-columns:1fr!important;
  }
  .rooms-extra-shell.rooms-extra-shell-single.is-expanded{
    max-height:660px!important;
  }
  .rooms-expand-control,
  .info-expand-control{
    margin-top:20px!important;
  }
  .expand-pill,
  .rooms-expand-btn,
  .info-expand-btn,
  [data-info-toggle]{
    min-width:0!important;
    width:min(100%, 330px)!important;
    min-height:46px!important;
    padding:0 24px!important;
    font-size:.72rem!important;
    letter-spacing:.16em!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .rooms-extra-shell.rooms-extra-shell-single,
  .expand-pill,
  .rooms-expand-btn,
  .info-expand-btn,
  [data-info-toggle]{
    transition:none!important;
  }
}

/* v89: Praktisk info 'Vis mer' button matches the refined Rooms expand button */
#info .info-expand-control{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin:26px auto 0!important;
  text-align:center!important;
  grid-column:1 / -1!important;
}

/* Catch both the new wrapper/class and previous button variants. */
#info .expand-pill,
#info .info-expand-btn,
#info button[aria-expanded],
#info button[class*="expand"],
#info button[class*="toggle"],
#info .info-toggle,
#info .info-expand{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:190px!important;
  min-height:48px!important;
  padding:0 30px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  float:none!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  border:1px solid rgba(193,151,83,.34)!important;
  border-radius:999px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(249,244,234,.72))!important;
  color:var(--sea)!important;
  font-family:var(--sans)!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  text-align:center!important;
  line-height:1!important;
  box-shadow:
    0 16px 34px rgba(5,21,31,.08),
    inset 0 1px 0 rgba(255,255,255,.72)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    border-color .32s ease,
    box-shadow .32s ease,
    background-color .32s ease,
    color .32s ease!important;
}

#info .expand-pill:hover,
#info .expand-pill:focus-visible,
#info .info-expand-btn:hover,
#info .info-expand-btn:focus-visible,
#info button[aria-expanded]:hover,
#info button[aria-expanded]:focus-visible,
#info button[class*="expand"]:hover,
#info button[class*="expand"]:focus-visible,
#info button[class*="toggle"]:hover,
#info button[class*="toggle"]:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(193,151,83,.58)!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,246,238,.86))!important;
  color:var(--sea-deep)!important;
  box-shadow:
    0 20px 42px rgba(5,21,31,.11),
    0 0 0 1px rgba(216,191,130,.08),
    inset 0 1px 0 rgba(255,255,255,.86)!important;
  outline:none!important;
}

/* Add the same refined plus/minus marker as the rooms button. */
#info .expand-pill::after,
#info .info-expand-btn::after,
#info button[aria-expanded]::after,
#info button[class*="expand"]::after,
#info button[class*="toggle"]::after{
  content:"+"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  margin-left:12px!important;
  border-radius:999px!important;
  color:rgba(193,151,83,.94)!important;
  font-size:1rem!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
  transition:transform .32s cubic-bezier(.22,1,.36,1), color .32s ease!important;
}

#info .expand-pill[aria-expanded="true"]::after,
#info .info-expand-btn[aria-expanded="true"]::after,
#info button[aria-expanded="true"]::after,
#info button[class*="expand"][aria-expanded="true"]::after,
#info button[class*="toggle"][aria-expanded="true"]::after{
  content:"–"!important;
  transform:translateY(-2px)!important;
}

@media(max-width:720px){
  #info .info-expand-control{
    margin-top:20px!important;
  }
  #info .expand-pill,
  #info .info-expand-btn,
  #info button[aria-expanded],
  #info button[class*="expand"],
  #info button[class*="toggle"]{
    width:min(100%, 330px)!important;
    min-width:0!important;
    min-height:46px!important;
    padding:0 24px!important;
    font-size:.72rem!important;
    letter-spacing:.16em!important;
  }
}


/* v90: remove chevron from Praktisk info toggle and switch hero to risorhead.webp */
#info.info-amenities .toggle-icon,
#info .toggle-icon{
  display:none!important;
}

.hero-media{
  background:
    linear-gradient(90deg,rgba(5,21,31,.34),rgba(5,21,31,.10),rgba(5,21,31,.30)),
    url('risorhead.webp') center 42% / cover no-repeat!important;
}
.hero-media img{
  object-fit:cover!important;
  object-position:center 42%!important;
  background:transparent!important;
  filter:saturate(1.02) contrast(1.02)!important;
}
@media(max-width:720px){
  .hero-media{
    background:
      linear-gradient(180deg,rgba(5,21,31,.14),rgba(5,21,31,.38)),
      url('risorhead.webp') center 56% / cover no-repeat!important;
  }
  .hero-media img{
    object-fit:cover!important;
    object-position:center 56%!important;
  }
}

/* v93: restore previous translucent header design and make iOS/mobile match desktop.
   The hero image now begins behind the fixed header on phone, so the header no longer reads as a flat grey strip. */

/* Desktop/tablet: previous glass/linen header look */
.site-header,
.site-header:hover,
.site-header:focus-within{
  background:var(--header-glass, rgba(245,239,229,.22))!important;
  border-bottom:1px solid rgba(245,239,229,.18)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.05)!important;
}

body.menu-open .site-header{
  background:var(--header-glass-open, rgba(245,239,229,.82))!important;
  border-bottom-color:rgba(39,50,56,.10)!important;
  box-shadow:0 12px 34px rgba(4,18,28,.10)!important;
}

/* Keep text/logo visibility from the preferred earlier version */
.site-header .brand strong,
.site-header .brand small,
.desktop-nav a,
.lang-code,
.lang-alt{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:
    0 1px 12px rgba(4,18,28,.50),
    0 2px 22px rgba(4,18,28,.24)!important;
}

/* iOS/mobile: same visual treatment as desktop, but with the hero image underneath */
@media(max-width:1080px){
  .site-header,
  .site-header:hover,
  .site-header:focus-within{
    background:var(--header-glass, rgba(245,239,229,.22))!important;
    border-bottom-color:rgba(245,239,229,.18)!important;
    box-shadow:none!important;
    backdrop-filter:blur(18px) saturate(1.05)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.05)!important;
  }

  body.menu-open .site-header{
    background:var(--header-glass-open, rgba(245,239,229,.86))!important;
    border-bottom-color:rgba(39,50,56,.10)!important;
    box-shadow:0 12px 34px rgba(4,18,28,.10)!important;
  }

  body.menu-open .site-header .brand strong,
  body.menu-open .site-header .brand small,
  body.menu-open .lang-code,
  body.menu-open .lang-alt{
    color:var(--sea-deep)!important;
    -webkit-text-fill-color:var(--sea-deep)!important;
    text-shadow:none!important;
  }

  .menu-btn{
    background:rgba(245,239,229,.24)!important;
    border:1px solid rgba(255,255,255,.36)!important;
    box-shadow:0 8px 22px rgba(4,18,28,.10), inset 0 1px 0 rgba(255,255,255,.18)!important;
  }

  .menu-btn:before,
  .menu-btn:after{
    background:#fff!important;
  }

  body.menu-open .menu-btn{
    background:rgba(21,56,74,.10)!important;
    border-color:rgba(21,56,74,.20)!important;
    box-shadow:none!important;
  }

  body.menu-open .menu-btn:before,
  body.menu-open .menu-btn:after{
    background:var(--sea-deep)!important;
  }

  .lang-trigger{
    background:rgba(245,239,229,.10)!important;
    border-color:rgba(255,255,255,.24)!important;
    box-shadow:none!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }

  .lang-trigger:after{
    color:rgba(255,255,255,.80)!important;
  }
}

@media(max-width:720px){
  /* This is the key iOS fix: do not push the hero image below the header. */
  .hero{
    padding-top:0!important;
  }

  .hero-media{
    margin-top:0!important;
  }

  .hero-media img{
    object-position:center 52%!important;
  }

  .site-header,
  .site-header:hover,
  .site-header:focus-within{
    background:rgba(245,239,229,.22)!important;
    border-bottom-color:rgba(245,239,229,.18)!important;
  }

  body.menu-open .site-header{
    background:rgba(245,239,229,.88)!important;
  }

  .site-header .brand strong,
  .site-header .brand small,
  .lang-code,
  .lang-alt{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-shadow:
      0 1px 12px rgba(4,18,28,.50),
      0 2px 22px rgba(4,18,28,.24)!important;
  }
}

@supports (-webkit-touch-callout:none){
  @media(max-width:720px){
    .site-header,
    .site-header:hover,
    .site-header:focus-within{
      background:rgba(245,239,229,.18)!important;
      -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
      backdrop-filter:blur(18px) saturate(1.08)!important;
    }
  }
}

/* v97: Enkeltrom added; expandable bottom row contains Familierom + Skipperstua centered */
.rooms-extra-shell.rooms-extra-shell-bottom-pair{
  grid-column:1 / -1!important;
  overflow:hidden!important;
  max-height:0!important;
  opacity:0!important;
  transform:translateY(-6px)!important;
  position:relative!important;
  margin-top:0!important;
  pointer-events:none!important;
  transition:
    max-height .72s cubic-bezier(.22,1,.36,1),
    opacity .36s ease,
    transform .46s cubic-bezier(.22,1,.36,1)!important;
}

.rooms-extra-shell.rooms-extra-shell-bottom-pair::after{
  content:none!important;
  display:none!important;
}

.rooms-extra-shell.rooms-extra-shell-bottom-pair.is-expanded{
  max-height:760px!important;
  opacity:1!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
  margin-top:4px!important;
}

.rooms-extra-shell-bottom-pair .rooms-extra-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:28px!important;
  max-width:760px!important;
  margin:0 auto!important;
  align-items:start!important;
}

.rooms-extra-shell-bottom-pair .room-card{
  grid-column:auto!important;
}

@media(max-width:900px){
  .rooms-extra-shell-bottom-pair .rooms-extra-grid{
    max-width:720px!important;
    gap:22px!important;
  }
  .rooms-extra-shell.rooms-extra-shell-bottom-pair.is-expanded{
    max-height:760px!important;
  }
}

@media(max-width:720px){
  .rooms-extra-shell-bottom-pair .rooms-extra-grid{
    grid-template-columns:1fr!important;
    max-width:100%!important;
  }
  .rooms-extra-shell.rooms-extra-shell-bottom-pair.is-expanded{
    max-height:1320px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .rooms-extra-shell.rooms-extra-shell-bottom-pair{
    transition:none!important;
  }
}

/* v98: bottom expandable room cards match the size of the main room cards */
.rooms-extra-shell-bottom-pair .rooms-extra-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:28px!important;
  max-width:none!important;
  width:100%!important;
  margin:0 auto!important;
  align-items:start!important;
}

/* Two cards centered, each equal to one normal 3-column room card */
.rooms-extra-shell-bottom-pair .room-card{
  grid-column:span 2!important;
}

.rooms-extra-shell-bottom-pair .room-card:first-child{
  grid-column:2 / span 2!important;
}

.rooms-extra-shell-bottom-pair .room-card:nth-child(2){
  grid-column:4 / span 2!important;
}

.rooms-extra-shell.rooms-extra-shell-bottom-pair.is-expanded{
  max-height:760px!important;
}

@media(max-width:900px){
  .rooms-extra-shell-bottom-pair .rooms-extra-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
    max-width:none!important;
  }
  .rooms-extra-shell-bottom-pair .room-card,
  .rooms-extra-shell-bottom-pair .room-card:first-child,
  .rooms-extra-shell-bottom-pair .room-card:nth-child(2){
    grid-column:auto!important;
  }
}

@media(max-width:720px){
  .rooms-extra-shell-bottom-pair .rooms-extra-grid{
    grid-template-columns:1fr!important;
    max-width:100%!important;
  }
  .rooms-extra-shell.rooms-extra-shell-bottom-pair.is-expanded{
    max-height:1320px!important;
  }
}

/* v108: refined footer credit */
.footer-legal{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
.footer-copy{
  display:inline-flex!important;
  align-items:center!important;
  margin:0!important;
  color:inherit!important;
}
.saga-credit{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  color:inherit!important;
  text-decoration:none!important;
  line-height:1!important;
  transition:color .28s ease, opacity .28s ease, transform .28s ease!important;
}
.saga-credit:hover,
.saga-credit:focus-visible{
  color:rgba(255,255,255,.78)!important;
  text-decoration:none!important;
  transform:translateY(-1px)!important;
}
.saga-credit img{
  width:18px!important;
  height:18px!important;
  display:inline-block!important;
  object-fit:contain!important;
  opacity:.78!important;
  filter:grayscale(1) brightness(1.85) contrast(.9)!important;
}
.saga-credit:hover img,
.saga-credit:focus-visible img{
  opacity:.92!important;
}
@media(max-width:720px){
  .footer-bottom{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:9px!important;
  }
  .footer-legal{
    gap:10px 16px!important;
  }
  .footer-bottom span:last-child{
    margin-top:0!important;
  }
}

/* v110: split footer copyright into separate text boxes to force reliable spacing on iOS/Safari */
.footer-copy{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.42em!important;
  white-space:nowrap!important;
}

.footer-copy-yearbox,
.footer-copy-namebox{
  display:inline-block!important;
  color:inherit!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  line-height:inherit!important;
  opacity:inherit!important;
}

.footer-copy-yearbox{
  margin-right:.02em!important;
}

@media(max-width:720px){
  .footer-copy{
    gap:.46em!important;
  }
}
