/* Grenna Hotell 0.7 — imagery, readable type and editorial rhythm. */
:root{--max:1280px;--paper:#f7f1e7;--green:#253329}
body{font-size:17px}p{max-width:70ch}.eyebrow,.meta,.btn,.text-link,.facts,.room-nav,.package-filter{font-size:.875rem}.eyebrow{letter-spacing:.13em}.btn{min-height:48px;letter-spacing:.035em;white-space:normal;text-align:center}.nav{gap:22px}.nav>a{font-size:.875rem}.nav .btn{padding:12px 17px}h1,h2,h3{letter-spacing:-.035em}h2{line-height:1.08;font-size:clamp(2.35rem,4.2vw,4.4rem)}h3{line-height:1.15}.lead{font-size:1.15rem;line-height:1.7}.actions{flex-wrap:wrap;gap:12px}.actions .btn{width:auto}.section{padding:100px 0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd8540;outline-offset:5px}section[id],article[id]{scroll-margin-top:110px}img{height:auto}
.editorial-hero{position:relative;isolation:isolate;min-height:740px;min-height:min(850px,92svh);display:flex;align-items:flex-end;background:#17231d;color:white}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.editorial-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,16,.75),rgba(10,20,16,.14)),linear-gradient(0deg,rgba(10,20,16,.5),transparent 70%);z-index:-1}.hero-content{padding-top:170px;padding-bottom:80px}.hero-content h1{font-size:clamp(3rem,6.5vw,6.7rem);line-height:1;max-width:1000px;margin:24px 0}.hero-content h1 em{display:block;color:#dfc69e;font-weight:400}.hero-content p{max-width:580px;font-size:1.15rem;line-height:1.65}.journey-nav{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 0;border-bottom:1px solid var(--line)}.journey-nav a{padding:10px 35px;border-right:1px solid var(--line)}.journey-nav a:first-child{padding-left:0}.journey-nav a:last-child{border:0}.journey-nav span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:6px}.journey-nav strong{font:1.7rem Georgia}
.story-split{display:grid;grid-template-columns:1fr 1fr;min-height:640px}.story-image{min-width:0;overflow:hidden}.story-image img{width:100%;height:100%;max-height:800px;object-fit:cover}.story-copy{padding:90px clamp(28px,6vw,105px);display:flex;flex-direction:column;justify-content:center}.story-copy h2{margin:22px 0}.story-copy .actions{margin-top:24px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.experience{display:block}.experience img{aspect-ratio:4/5;object-fit:cover}.experience>div{padding:24px 0}.experience h3{font-size:2rem;margin:0 0 12px}.experience p{color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid;padding:6px 0}.story-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1320px;margin:0 auto;padding:30px 22px 70px}.story-gallery figure{margin:0}.story-gallery img{aspect-ratio:4/5;object-fit:cover}.story-gallery figcaption{font-size:.875rem;line-height:1.45;color:var(--muted);padding-top:12px}.room-card{background:transparent;border:0;border-top:1px solid var(--line);padding:36px 0;display:grid;grid-template-columns:1.15fr 1fr;gap:36px}.room-card>img{height:100%;max-height:590px;object-fit:cover}.room-copy{padding:24px 0}.room-copy h3{font-size:2.3rem}.room-copy .facts{display:flex;flex-wrap:wrap;gap:8px}.room-copy .facts span{padding:6px 12px;background:var(--cream)}.room-nav,.package-filter{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.room-nav a,.package-filter a{padding:10px 16px;border:1px solid var(--line)}.room-nav a:hover,.package-filter a:hover{background:var(--green);color:#fff}.room-detail-facts{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.room-detail-facts span{padding:10px 16px;background:var(--cream)}.room-list .room-card:nth-child(even)>img{order:0}.room-detail-gallery img{aspect-ratio:4/3}.room-detail-gallery{grid-template-columns:repeat(2,1fr)}.conf-grid{gap:28px}.conf-card img{aspect-ratio:4/3;object-fit:cover}.conf-card .copy{padding:28px;display:block}.conf-card h3{font-size:2rem}.locales{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.locale{padding:0;border:0;background:transparent}.locale img{aspect-ratio:4/3;object-fit:cover}.locale>div{padding:24px 0}.locale h3{font-size:2.1rem}.locale .capacity{padding:0;font-size:.875rem}.package-gallery{gap:16px;padding:0 22px}.package-gallery img{height:420px;object-fit:cover}.package-includes{height:fit-content}.package-hero,.conf-hero{min-height:640px}.package-hero>img,.conf-hero>img{object-fit:cover}.package-hero .wrap,.conf-hero .wrap{padding-top:160px}.package-hero h1,.conf-hero h1{font-size:clamp(3rem,6vw,6rem);line-height:1.08}.package-filter .active{background:var(--green);color:#fff}.package-card[hidden]{display:none}.contact-panel{border-top:1px solid var(--line);padding-top:24px}.conf-form label{font-size:1rem}.form-note{font-size:.875rem;color:var(--muted)}.footer p{max-width:320px}.footer-bottom{font-size:.875rem}.mobilebook{display:none}.footer-bottom a{display:inline}.menu{font-size:1.6rem;min-width:48px;min-height:48px}.skip-link{position:fixed;top:0;left:16px;transform:translateY(-150%);z-index:200;background:white;color:#17231d;padding:14px}.skip-link:focus{transform:none}
@media(max-width:1100px){.logo-img{width:170px}.brand-lockup{min-width:170px}.nav{gap:13px}.nav>a{font-size:.8rem}}
@media(max-width:960px){.story-copy{padding:55px 28px}.nav.open{max-height:calc(100svh - 86px);overflow:auto}.nav>a{font-size:1rem}.editorial-hero{min-height:690px}.hero-content{padding-bottom:60px}.mobilebook{display:block}.room-card{gap:24px}.story-split{min-height:530px}}
@media(max-width:760px){.section{padding:60px 0}.editorial-hero{min-height:670px;min-height:88svh}.hero-content{padding-top:145px;padding-bottom:45px}.hero-content h1{font-size:clamp(2.75rem,10.6vw,4.5rem);overflow-wrap:break-word}.hero-content p{font-size:1rem;max-width:95%}.editorial-hero:after{background:linear-gradient(0deg,rgba(10,20,16,.88),rgba(10,20,16,.22))}.story-split{grid-template-columns:1fr}.story-image img{height:450px}.story-copy{padding:45px 22px 55px}.journey-nav{gap:10px;padding:20px 0}.journey-nav a,.journey-nav a:first-child{padding:8px}.journey-nav strong{font-size:1.15rem}.journey-nav span{font-size:.875rem}.experience-grid{grid-template-columns:1fr;gap:25px}.experience img{aspect-ratio:4/3}.experience>div{padding:20px 0}.story-gallery{grid-template-columns:1fr;padding:20px 14px 50px}.story-gallery img{aspect-ratio:4/3}.room-card{grid-template-columns:1fr;gap:0;padding:28px 0}.room-card>img{aspect-ratio:4/3;height:auto}.room-copy{padding:24px 0}.room-nav{gap:7px}.room-nav a{padding:9px 12px}.locales{grid-template-columns:1fr}.package-gallery{display:grid;grid-template-columns:1fr}.package-gallery img{width:100%;height:340px}.page-intro{gap:20px}.package-detail{gap:30px}.conf-grid{grid-template-columns:1fr}.directgrid{gap:20px}.room-detail-gallery{grid-template-columns:1fr}.bookingbar{position:static}.conf-hero .wrap,.package-hero .wrap{padding-top:140px;padding-bottom:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.875rem;margin-bottom:28px;color:#eee5d7}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.breadcrumbs span[aria-current]{opacity:.85}.related-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.related-rooms img{aspect-ratio:4/3;object-fit:cover}.room-copy .actions{margin-top:24px}.conf-form input,.conf-form textarea{max-width:100%;min-width:0}.conf-form button{cursor:pointer}.hero-content{position:relative;z-index:1}
@media(max-width:760px){.related-rooms{grid-template-columns:1fr}.breadcrumbs{font-size:.8rem;margin-bottom:20px}.hero-content{padding-top:125px}.hero-content h1{font-size:clamp(2.6rem,9vw,4.5rem)}}
/* One room per row keeps photos generous and facts easy to compare. */
.room-list{display:block}.room-list .room-card{width:100%}.room-list .room-card>img{width:100%;min-height:0}
[data-season-package][hidden],[data-season-group][hidden],[data-season-filter][hidden]{display:none!important}

/* 0.7.8 — package overview with a clear path from inspiration to booking. */
.package-overview-hero .hero-content p{max-width:620px}
.package-guide{padding:72px 0;border-bottom:1px solid var(--line);background:var(--paper);scroll-margin-top:96px}
.package-guide-grid,.package-section-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(38px,8vw,120px);align-items:end}
.package-guide h2,.package-section-intro h2{margin:.18em 0 0}
.package-guide .lead,.package-section-intro .lead{margin:0}
.package-guide .package-filter{margin:26px 0 0}
.package-guide .package-filter a{background:transparent;border-color:#b9aa96;padding:12px 16px;transition:background .2s,color .2s,border-color .2s}
.package-guide .package-filter a:hover,.package-guide .package-filter a:focus-visible{background:var(--green);border-color:var(--green);color:#fff}
.package-section{position:relative}
.package-section-featured{background:#ece2d4}
.package-section-intro{margin-bottom:48px}
.package-showcase{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(370px,.86fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:20px}
.package-offer{min-width:0;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.package-offer>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.package-offer-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.package-offer h3{font-size:clamp(1.8rem,2.6vw,2.7rem);margin:.18em 0 .35em}
.package-offer p{color:var(--muted);margin:0 0 22px}
.package-offer .meta{color:#765d38;text-transform:uppercase;letter-spacing:.11em}
.package-offer .actions{margin-top:auto;align-items:center}
.package-offer .text-link{font-weight:600}
.package-offer-lead{grid-row:1 / span 2;background:var(--green);color:#fff;border:0}
.package-offer-lead>img{height:520px;aspect-ratio:auto}
.package-offer-lead .package-offer-copy{padding:42px}
.package-offer-lead h3{font-size:clamp(2.5rem,4vw,4.5rem)}
.package-offer-lead p{color:#ddd7ce;font-size:1.08rem}
.package-offer-lead .meta{color:#dfc69e}
.package-offer-lead .text-link{color:#fff}
.package-showcase>.package-offer:not(.package-offer-lead){display:grid;grid-template-columns:minmax(150px,.44fr) minmax(220px,.56fr)}
.package-showcase>.package-offer:not(.package-offer-lead)>img{height:100%;aspect-ratio:auto}
.package-showcase>.package-offer:not(.package-offer-lead) .package-offer-copy{padding:28px}
.package-showcase>.package-offer:not(.package-offer-lead) h3{font-size:clamp(1.7rem,2.4vw,2.35rem)}
.package-showcase>.package-offer:not(.package-offer-lead) .btn{width:100%}
.package-perks{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 26px}
.package-perks span{padding:8px 11px;border:1px solid currentColor;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}
.package-calm{display:grid;grid-template-columns:1fr 1fr;min-height:670px;background:var(--green);color:#fff;scroll-margin-top:96px}
.package-calm-image{min-width:0;overflow:hidden}
.package-calm-image img{display:block;width:100%;height:100%;object-fit:cover}
.package-calm-copy{padding:clamp(55px,8vw,120px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.package-calm-copy h2{font-size:clamp(3rem,5vw,5.6rem);margin:.2em 0}
.package-calm-copy .lead{color:#ddd7ce}
.package-calm-copy .package-perks{color:#dfc69e;margin-top:12px}
.package-destination{background:var(--paper)}
.package-destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.package-destination-grid .package-offer>img{aspect-ratio:4/3}
.package-destination-grid .package-offer-copy{padding:30px}
.package-destination-grid .btn{width:100%}
.package-season{background:#ece2d4}
.package-final .directgrid{align-items:end}
.package-final h2{font-size:clamp(3rem,5.5vw,5.8rem);margin:.15em 0}
@media(max-width:1050px){
 .package-showcase{grid-template-columns:1fr 1fr;grid-template-rows:auto}.package-offer-lead{grid-column:1 / -1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr}.package-offer-lead>img{height:100%;min-height:480px}
 .package-showcase>.package-offer:not(.package-offer-lead){display:flex}.package-showcase>.package-offer:not(.package-offer-lead)>img{height:auto;aspect-ratio:4/3}
 .package-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .package-overview-hero .hero-content h1{font-size:clamp(3rem,13vw,4.5rem)}
 .package-guide{padding:52px 0}.package-guide-grid,.package-section-intro{grid-template-columns:1fr;gap:22px;align-items:start}.package-section-intro{margin-bottom:32px}
 .package-showcase{grid-template-columns:1fr}.package-offer-lead{grid-column:auto;display:flex}.package-offer-lead>img{height:auto;min-height:0;aspect-ratio:4/3}.package-offer-lead .package-offer-copy{padding:30px 24px}
 .package-showcase>.package-offer:not(.package-offer-lead){display:flex}.package-offer-copy,.package-showcase>.package-offer:not(.package-offer-lead) .package-offer-copy,.package-destination-grid .package-offer-copy{padding:26px 22px}
 .package-offer .actions{width:100%;align-items:stretch}.package-offer .actions .btn{width:100%}
 .package-calm{grid-template-columns:1fr;min-height:0}.package-calm-image img{height:390px}.package-calm-copy{padding:52px 22px 62px}.package-calm-copy h2{font-size:3.3rem}
 .package-destination-grid{grid-template-columns:1fr}.package-final h2{font-size:3.4rem}
}

/* Readable calls to action in both light and dark sections. */
.direct .lead{color:#ddd7ce}.btn.gold{color:var(--ink)}

/* The current restaurant menu remains readable as text on every screen. */
.menu-hero{min-height:610px}.menu-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:clamp(36px,6vw,90px);align-items:start}.menu-sheet{min-width:0}.menu-sheet h2{font-size:clamp(2.2rem,3.7vw,3.6rem);overflow-wrap:anywhere}.menu-courses{list-style:none;margin:38px 0 0;padding:0;border-top:1px solid var(--line)}.menu-courses li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:baseline;gap:18px;padding:23px 0;border-bottom:1px solid var(--line)}.menu-course-number{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.menu-courses p{font:400 clamp(1.2rem,1.7vw,1.5rem)/1.5 Georgia,'Times New Roman',serif;margin:0}.menu-booking{background:var(--green);color:#fff;padding:34px;position:sticky;top:112px}.menu-booking h2{font-size:2.4rem}.menu-booking p{color:#ddd7ce}.menu-booking>.btn{width:100%;margin-top:8px}.menu-contact{border-top:1px solid #ffffff35;margin-top:30px;padding-top:24px}.menu-contact h3{font-size:1.35rem;margin:0 0 12px}.menu-contact a{display:block;text-decoration:underline;text-underline-offset:4px;margin-top:10px;overflow-wrap:anywhere}
@media(max-width:760px){.menu-hero{min-height:610px}.menu-layout{grid-template-columns:1fr;gap:36px}.menu-courses li{gap:12px;padding:20px 0;grid-template-columns:24px minmax(0,1fr)}.menu-courses p{font-size:1.25rem}.menu-booking{position:static;padding:28px 24px}}
