/*
Theme Name: Pension Lorenz – Almanac Fallback
Theme URI: https://fallback.webdevmedia.de/
Description: An editorial travel-almanac alternative for Pension Lorenz, used only on fallback.webdevmedia.de.
Author: WebDevMedia
Version: 1.0.0
Text Domain: pension-lorenz-almanac
*/

:root { --alm-blue:#24419a; --alm-ink:#18203c; --alm-paper:#f6f0e5; --alm-orange:#ee8f57; --alm-pale:#e5ddcf; --alm-line:rgba(24,32,60,.2); --alm-shell:min(1210px, calc(100% - 72px)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.almanac-body { margin:0; background:var(--alm-paper); color:var(--alm-ink); font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.45; }
body.almanac-body a { color:inherit; }
body.almanac-body img { max-width:100%; }
body.almanac-body h1, body.almanac-body h2, body.almanac-body h3, body.almanac-body p { margin-top:0; }
.almanac-shell, .shell { width:var(--alm-shell); margin-left:auto; margin-right:auto; }
.almanac-skip { position:fixed; top:8px; left:8px; z-index:100; padding:10px 14px; background:var(--alm-orange); color:var(--alm-ink); font-weight:700; transform:translateY(-160%); }
.almanac-skip:focus { transform:translateY(0); }

.almanac-header { position:relative; z-index:20; background:var(--alm-paper); border-bottom:1px solid var(--alm-line); }
.almanac-header__utility { display:flex; justify-content:space-between; gap:20px; width:var(--alm-shell); margin:auto; padding:10px 0; border-bottom:1px solid var(--alm-line); font-size:10px; font-weight:800; letter-spacing:.11em; }
.almanac-header__utility p { margin:0; }
.almanac-header__utility a { color:var(--alm-blue); text-decoration:none; }
.almanac-header__main { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; width:var(--alm-shell); margin:auto; min-height:98px; gap:20px; }
.almanac-brand { display:flex; align-items:center; gap:13px; color:var(--alm-ink); text-decoration:none; }
.almanac-brand__seal { display:grid; width:49px; height:49px; place-items:center; border:1px solid var(--alm-ink); border-radius:50%; font-family:Georgia, serif; font-size:18px; font-style:italic; }
.almanac-brand > span:last-child { display:grid; gap:2px; }
.almanac-brand small { color:var(--alm-blue); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.almanac-brand strong { font-family:Georgia, serif; font-size:23px; font-weight:400; letter-spacing:-.045em; }
.almanac-menu-toggle { display:none; }
.almanac-call { justify-self:end; display:inline-flex; gap:10px; align-items:baseline; color:var(--alm-ink); font-size:13px; font-weight:750; text-decoration:none; }
.almanac-call span { color:var(--alm-blue); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.almanac-nav-wrap { border-top:1px solid var(--alm-line); }
.almanac-nav { display:flex; width:var(--alm-shell); margin:auto; overflow-x:auto; scrollbar-width:none; }
.almanac-nav::-webkit-scrollbar { display:none; }
.almanac-nav a { flex:0 0 auto; padding:15px 19px; border-left:1px solid var(--alm-line); font-size:12px; font-weight:730; text-decoration:none; transition:background .2s, color .2s; }
.almanac-nav a:last-child { border-right:1px solid var(--alm-line); }
.almanac-nav a:hover, .almanac-nav a:focus-visible, .almanac-nav a[aria-current="page"] { background:var(--alm-blue); color:white; outline:none; }

.almanac-overline { margin-bottom:18px; color:var(--alm-blue); font-size:10px; font-weight:850; letter-spacing:.14em; line-height:1.3; }
.almanac-overline::before { content:"✦"; display:inline-block; margin-right:7px; color:var(--alm-orange); }
.almanac-hero { position:relative; overflow:hidden; background:var(--alm-paper); }
.almanac-hero::before { content:""; position:absolute; inset:0 0 auto; height:55%; background:linear-gradient(90deg, #e6ded0 0 33%, transparent 33%); }
.almanac-hero__layout { position:relative; display:grid; grid-template-columns:minmax(0, .88fr) minmax(330px, 1.12fr) 76px; gap:clamp(28px,5vw,80px); align-items:center; min-height:605px; padding:75px 0 62px; }
.almanac-hero__copy { position:relative; z-index:1; }
.almanac-hero h1 { margin-bottom:27px; font-family:Georgia, 'Times New Roman', serif; font-size:clamp(60px, 8vw, 115px); font-weight:400; letter-spacing:-.075em; line-height:.77; }
.almanac-hero h1 span, .almanac-hero h1 em { display:block; }
.almanac-hero h1 em { margin-left:clamp(35px, 7vw, 95px); color:var(--alm-blue); font-style:italic; }
.almanac-hero__lead { max-width:400px; margin-bottom:29px; font-size:19px; line-height:1.37; }
.almanac-actions { display:flex; flex-wrap:wrap; align-items:center; gap:23px; }
.almanac-button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:50px; padding:13px 16px; color:var(--alm-ink); font-size:12px; font-weight:800; text-decoration:none; transition:transform .2s, box-shadow .2s; }
.almanac-button:hover, .almanac-button:focus-visible { box-shadow:4px 4px 0 var(--alm-blue); outline:none; transform:translate(-2px,-2px); }
.almanac-button--orange { background:var(--alm-orange); }
.almanac-button--blue { background:var(--alm-blue); color:white; }
.almanac-text-link { display:inline-block; border-bottom:1px solid currentColor; color:var(--alm-blue); font-size:12px; font-weight:800; line-height:1.8; text-decoration:none; }
.almanac-text-link:hover, .almanac-text-link:focus-visible { color:var(--alm-orange); outline:none; }
.almanac-hero__photo { position:relative; z-index:1; margin:0; }
.almanac-hero__photo img { display:block; width:100%; aspect-ratio:1.17; object-fit:cover; filter:saturate(.78) contrast(1.03); }
.almanac-hero__photo::after { content:""; position:absolute; right:-18px; bottom:-19px; width:69%; height:48%; border-right:1px solid var(--alm-blue); border-bottom:1px solid var(--alm-blue); }
.almanac-hero__photo figcaption { position:absolute; bottom:18px; left:-18px; z-index:1; padding:8px 12px; background:var(--alm-paper); color:var(--alm-ink); font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.almanac-hero__chapter { align-self:stretch; display:flex; flex-direction:column; justify-content:flex-end; margin:0; color:var(--alm-blue); font-family:Georgia, serif; font-size:47px; font-style:italic; line-height:.74; }
.almanac-hero__chapter span { padding-top:18px; font-family:Arial, sans-serif; font-size:9px; font-style:normal; font-weight:800; letter-spacing:.11em; line-height:1.2; }

.almanac-facts { background:var(--alm-blue); color:white; }
.almanac-facts__grid { display:grid; grid-template-columns:repeat(4, 1fr); }
.almanac-facts article { min-height:135px; display:flex; align-items:center; gap:16px; padding:24px; border-left:1px solid rgba(255,255,255,.35); }
.almanac-facts article:last-child { border-right:1px solid rgba(255,255,255,.35); }
.almanac-facts strong { color:var(--alm-orange); font-family:Georgia, serif; font-size:56px; font-weight:400; line-height:1; }
.almanac-facts span { font-size:12px; font-weight:700; line-height:1.3; }

.almanac-intro { display:grid; grid-template-columns:140px minmax(0,1.2fr) minmax(280px,.65fr); gap:35px; padding-top:125px; padding-bottom:125px; }
.almanac-intro__label { display:flex; gap:13px; align-items:flex-start; }
.almanac-intro__label span { color:var(--alm-orange); font-family:Georgia, serif; font-size:47px; font-style:italic; line-height:.85; }
.almanac-intro__label p { max-width:70px; margin:3px 0 0; font-size:9px; font-weight:800; letter-spacing:.11em; line-height:1.3; }
.almanac-intro h2, .almanac-section-heading h2, .almanac-postcard h2, .almanac-gallery h2, .almanac-contact h2 { margin-bottom:0; font-family:Georgia, serif; font-size:clamp(43px, 5vw, 73px); font-weight:400; letter-spacing:-.065em; line-height:.86; }
.almanac-intro h2 em, .almanac-postcard h2 em { color:var(--alm-blue); }
.almanac-intro__text { align-self:end; }
.almanac-intro__text p { margin-bottom:23px; font-size:17px; line-height:1.45; }

.almanac-rooms { padding:95px 0 110px; background:var(--alm-pale); }
.almanac-section-heading { display:grid; grid-template-columns:.8fr 1.3fr .55fr; gap:35px; align-items:end; margin-bottom:58px; }
.almanac-section-heading > p:last-child { margin:0 0 4px; font-size:15px; line-height:1.35; }
.almanac-room-grid { display:grid; grid-template-columns:1fr 1fr; gap:34px; }
.almanac-room-card { display:grid; grid-template-columns:1.13fr .87fr; background:var(--alm-paper); }
.almanac-room-card--offset { transform:translateY(44px); }
.almanac-room-card img { width:100%; height:100%; min-height:340px; object-fit:cover; }
.almanac-room-card div { display:flex; flex-direction:column; padding:29px 24px; }
.almanac-room-card p { margin-bottom:auto; color:var(--alm-blue); font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.almanac-room-card h3 { margin-bottom:19px; font-family:Georgia, serif; font-size:35px; font-weight:400; letter-spacing:-.05em; line-height:.88; }
.almanac-room-card span { margin-bottom:28px; color:var(--alm-orange); font-family:Georgia, serif; font-size:19px; font-style:italic; }
.almanac-room-card a { font-size:12px; font-weight:800; }
.almanac-room-card b { color:var(--alm-blue); font-size:17px; }

.almanac-postcard { margin-top:50px; padding:100px 0; background:var(--alm-orange); }
.almanac-postcard__layout { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.1fr); gap:clamp(45px,9vw,145px); align-items:center; }
.almanac-postcard__picture { position:relative; }
.almanac-postcard__picture::before { content:"KW"; position:absolute; top:-35px; left:-20px; color:var(--alm-blue); font-family:Georgia, serif; font-size:90px; font-style:italic; letter-spacing:-.15em; }
.almanac-postcard__picture img { position:relative; display:block; width:100%; aspect-ratio:.88; object-fit:cover; border:13px solid var(--alm-paper); }
.almanac-postcard__copy h2 { margin-bottom:27px; font-size:clamp(48px,5.5vw,80px); }
.almanac-postcard__copy h2 em { color:var(--alm-paper); }
.almanac-postcard__copy > p:not(.almanac-overline) { max-width:460px; margin-bottom:28px; font-size:18px; }
.almanac-postcard .almanac-overline { color:var(--alm-ink); }
.almanac-postcard .almanac-overline::before { color:var(--alm-blue); }

.almanac-gallery { display:grid; grid-template-columns:.65fr 1.35fr; gap:65px; padding-top:130px; padding-bottom:120px; }
.almanac-gallery header { align-self:start; }
.almanac-gallery header .almanac-text-link { margin-top:28px; }
.almanac-gallery__grid { display:grid; grid-template-columns:1.1fr .9fr; grid-template-rows:190px 190px; gap:15px; }
.almanac-gallery__grid a:first-child { grid-row:1 / 3; }
.almanac-gallery__grid a { display:block; overflow:hidden; }
.almanac-gallery__grid img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.almanac-gallery__grid a:hover img, .almanac-gallery__grid a:focus-visible img { transform:scale(1.045); }

.almanac-contact { padding:93px 0 105px; background:var(--alm-ink); color:var(--alm-paper); }
.almanac-contact__layout { display:grid; grid-template-columns:135px minmax(0,1fr) minmax(275px,.65fr); gap:35px; }
.almanac-contact__number { margin:0; color:var(--alm-orange); font-family:Georgia, serif; font-size:69px; font-style:italic; line-height:.75; }
.almanac-contact .almanac-overline { color:var(--alm-orange); }
.almanac-contact .almanac-overline::before { color:var(--alm-paper); }
.almanac-contact h2 { color:var(--alm-paper); }
.almanac-contact__action { align-self:end; }
.almanac-contact__action > p { max-width:340px; margin-bottom:23px; font-size:16px; }
.almanac-contact__phone { display:block; margin-bottom:17px; color:var(--alm-orange); font-family:Georgia, serif; font-size:clamp(33px, 4.6vw, 59px); font-style:italic; letter-spacing:-.07em; line-height:.82; text-decoration:none; }
.almanac-contact__phone span { display:inline-block; margin-left:8px; font-family:Arial,sans-serif; font-size:.45em; font-style:normal; vertical-align:top; }
.almanac-contact .almanac-text-link { color:var(--alm-paper); }

.page-intro { padding:75px 0 67px; background:var(--alm-pale); border-bottom:1px solid var(--alm-line); }
.section-kicker { margin-bottom:15px; color:var(--alm-blue); font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.section-kicker::before { content:"✦"; margin-right:7px; color:var(--alm-orange); }
.page-intro h1 { margin-bottom:15px; font-family:Georgia, serif; font-size:clamp(51px,6vw,88px); font-weight:400; letter-spacing:-.065em; line-height:.85; }
.intro-copy { max-width:620px; margin-bottom:0; font-size:19px; }
.section { padding:95px 0; }
.section--paper { background:var(--alm-pale); }
.section--pine { background:var(--alm-blue); color:white; }
.section--pine .section-kicker, .section--pine .section-kicker::before { color:var(--alm-orange) !important; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px, 9vw, 150px); align-items:center; }
.split h2, .content-heading, .callout h2, .contact-grid h2, .prose h2 { margin-bottom:22px; font-family:Georgia, serif; font-size:clamp(36px,4.5vw,64px); font-weight:400; letter-spacing:-.06em; line-height:.9; }
.split p { max-width:520px; font-size:17px; }
.photo-frame { position:relative; }
.photo-frame::after { content:""; position:absolute; right:-14px; bottom:-14px; width:60%; height:54%; border-right:1px solid var(--alm-orange); border-bottom:1px solid var(--alm-orange); }
.photo-frame img { position:relative; z-index:1; display:block; width:100%; min-height:360px; object-fit:cover; }
.button { display:inline-flex; margin-top:10px; padding:14px 18px; background:var(--alm-orange); color:var(--alm-ink); font-size:12px; font-weight:800; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.button:hover, .button:focus-visible { box-shadow:4px 4px 0 var(--alm-blue); outline:none; transform:translate(-2px,-2px); }
.section--pine .button { background:var(--alm-orange); color:var(--alm-ink); }
.price-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin:35px 0 25px; }
.price-card { display:grid; grid-template-columns:.9fr 1.1fr; background:var(--alm-paper); }
.price-card img { width:100%; height:100%; min-height:240px; object-fit:cover; }
.price-card > div { padding:22px; }
.price-card h3 { margin-bottom:9px; font-family:Georgia,serif; font-size:27px; font-weight:400; }
.price { color:var(--alm-orange); font-family:Georgia,serif; font-size:20px; font-style:italic; }
.note { font-size:13px; }
.route-grid, .contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:start; }
.route-grid > div > img { width:100%; border:10px solid var(--alm-pale); }
.prose { max-width:820px; }
.prose p { max-width:730px; font-size:17px; }
.gallery { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-top:33px; }
.gallery a { display:block; height:180px; overflow:hidden; }
.gallery img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.gallery a:hover img, .gallery a:focus-visible img { transform:scale(1.06); }
.art-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.art-grid a { display:grid; gap:7px; color:var(--alm-ink); font-size:11px; text-decoration:none; transform:rotate(var(--tilt)); }
.art-grid img { width:100%; box-shadow:0 7px 16px rgba(24,32,60,.16); }
.contact-card { padding:42px; background:var(--alm-blue); color:white; }
.contact-card .section-kicker { color:var(--alm-orange) !important; }
.contact-card h2 { color:white; }
.contact-card address { margin-bottom:25px; font-style:normal; }
.contact-card p { margin-bottom:18px; }
.contact-card a { color:var(--alm-orange); }
.contact-side { padding-top:30px; }

.almanac-footer { background:var(--alm-paper); color:var(--alm-ink); border-top:1px solid var(--alm-line); }
.almanac-footer__top { display:grid; grid-template-columns:1.2fr .8fr .85fr .65fr; gap:32px; padding-top:62px; padding-bottom:45px; }
.almanac-footer__brand { display:flex; align-items:flex-start; gap:14px; }
.almanac-footer__brand span { display:grid; width:45px; height:45px; place-items:center; border:1px solid var(--alm-ink); border-radius:50%; font-family:Georgia,serif; font-style:italic; }
.almanac-footer__brand p { margin:0; font-family:Georgia,serif; font-size:25px; letter-spacing:-.05em; line-height:.9; }
.almanac-footer__label { margin-bottom:10px; color:var(--alm-blue); font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.almanac-footer address { font-style:normal; font-size:14px; }
.almanac-footer__top > div:nth-child(3), .almanac-footer nav { display:grid; align-content:start; gap:6px; }
.almanac-footer a { font-size:13px; text-underline-offset:2px; }
.almanac-footer__bottom { display:flex; justify-content:space-between; gap:25px; padding:17px 0; border-top:1px solid var(--alm-line); font-size:11px; }
.lightbox { position:fixed; inset:0; z-index:80; display:none; place-items:center; padding:36px; background:rgba(24,32,60,.91); }
.lightbox.is-open { display:grid; }
.lightbox img { max-width:100%; max-height:90vh; object-fit:contain; }
.lightbox button { position:absolute; top:14px; right:20px; border:0; background:transparent; color:white; font-size:40px; cursor:pointer; }

@media (max-width:900px) { :root { --alm-shell:min(100% - 42px, 1210px); } .almanac-hero__layout { grid-template-columns:1fr 1fr; gap:35px; } .almanac-hero__chapter { display:none; } .almanac-facts__grid { grid-template-columns:repeat(2,1fr); } .almanac-facts article:nth-child(3) { border-top:1px solid rgba(255,255,255,.35); } .almanac-intro { grid-template-columns:90px 1fr; } .almanac-intro__text { grid-column:2; } .almanac-section-heading { grid-template-columns:1fr 1fr; } .almanac-section-heading > p:last-child { grid-column:2; } .almanac-room-grid { gap:20px; } .almanac-room-card { grid-template-columns:1fr; } .almanac-room-card img { min-height:250px; max-height:310px; } .almanac-room-card div { min-height:250px; } .almanac-postcard__layout { gap:55px; } .almanac-gallery { gap:35px; } .almanac-contact__layout { grid-template-columns:70px 1fr; } .almanac-contact__action { grid-column:2; } .almanac-footer__top { grid-template-columns:1fr 1fr; } .route-grid, .contact-grid { gap:40px; } .gallery { grid-template-columns:repeat(3,1fr); } .art-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:620px) { :root { --alm-shell:min(100% - 32px, 1210px); } .almanac-header__utility { padding:9px 0; } .almanac-header__utility p { display:none; } .almanac-header__utility a { margin-left:auto; } .almanac-header__main { grid-template-columns:1fr auto; min-height:77px; } .almanac-brand__seal { width:39px; height:39px; font-size:15px; } .almanac-brand strong { font-size:19px; } .almanac-call { display:none; } .almanac-menu-toggle { display:block; padding:9px 0; border:0; background:transparent; color:var(--alm-ink); font-size:12px; font-weight:800; } .almanac-menu-toggle span { color:var(--alm-blue); font-size:18px; } .almanac-nav-wrap { display:none; border-top:1px solid var(--alm-line); } .almanac-nav-wrap.is-open { display:block; } .almanac-nav { width:100%; display:grid; grid-template-columns:1fr 1fr; padding:8px 16px 18px; } .almanac-nav a { border:0; padding:9px 0; } .almanac-hero__layout { display:block; min-height:auto; padding:58px 0 45px; } .almanac-hero h1 { font-size:clamp(56px,17.5vw,88px); } .almanac-hero__lead { font-size:17px; } .almanac-hero__photo { width:82%; margin:58px 0 0 auto; } .almanac-hero__photo figcaption { left:-16px; } .almanac-facts article { min-height:118px; padding:19px 13px; gap:9px; } .almanac-facts strong { font-size:43px; } .almanac-facts span { font-size:10px; } .almanac-intro { display:block; padding-top:76px; padding-bottom:76px; } .almanac-intro__label { margin-bottom:26px; } .almanac-intro h2, .almanac-section-heading h2, .almanac-postcard h2, .almanac-gallery h2, .almanac-contact h2 { font-size:45px; } .almanac-intro__text { margin-top:28px; } .almanac-rooms { padding:70px 0; } .almanac-section-heading { display:block; margin-bottom:40px; } .almanac-section-heading > p:last-child { margin-top:24px; } .almanac-room-grid { grid-template-columns:1fr; } .almanac-room-card--offset { transform:none; } .almanac-postcard { margin-top:0; padding:65px 0; } .almanac-postcard__layout { display:flex; flex-direction:column; gap:50px; } .almanac-postcard__picture { width:74%; align-self:flex-start; } .almanac-gallery { display:block; padding-top:76px; padding-bottom:73px; } .almanac-gallery header { margin-bottom:37px; } .almanac-gallery__grid { grid-template-rows:135px 135px; } .almanac-contact { padding:70px 0; } .almanac-contact__layout { display:block; } .almanac-contact__number { margin-bottom:35px; } .almanac-contact__action { margin-top:35px; } .section, .page-intro { padding:67px 0; } .split, .route-grid, .contact-grid { display:block; } .split > * + *, .route-grid > * + *, .contact-grid > * + * { margin-top:38px; } .photo-frame img { min-height:250px; } .price-grid { grid-template-columns:1fr; } .price-card { grid-template-columns:1fr; } .price-card img { min-height:210px; max-height:260px; } .gallery { grid-template-columns:repeat(2,1fr); gap:8px; } .gallery a { height:135px; } .art-grid { grid-template-columns:repeat(2,1fr); } .contact-card { padding:29px 24px; } .almanac-footer__top { display:block; padding-top:48px; } .almanac-footer__top > * + * { margin-top:31px; } .almanac-footer__bottom { display:block; } .almanac-footer__bottom span { display:block; margin-top:5px; } }

/* Historic Pension Lorenz postcard palette and framing system. */
:root { --alm-blue:#486030; --alm-ink:#303018; --alm-paper:#f1f0ea; --alm-orange:#f0d800; --alm-pale:#d8d8d8; --alm-line:rgba(48,48,24,.42); }
body.almanac-body { background:var(--alm-paper); color:var(--alm-ink); }
.almanac-header { background:var(--alm-blue); color:var(--alm-paper); border-bottom-color:var(--alm-orange); }
.almanac-header__utility { background:var(--alm-orange); color:var(--alm-ink); width:100%; padding-left:max(36px, calc((100% - 1210px) / 2)); padding-right:max(36px, calc((100% - 1210px) / 2)); border:0; }
.almanac-header__utility a { color:var(--alm-ink); }
.almanac-header__main { min-height:105px; }
.almanac-brand { color:var(--alm-paper); }
.almanac-brand__seal { background:var(--alm-paper); border-color:var(--alm-orange); color:var(--alm-ink); box-shadow:0 0 0 3px var(--alm-blue), 0 0 0 4px var(--alm-orange); }
.almanac-brand small { color:var(--alm-orange); }
.almanac-call { color:var(--alm-paper); }
.almanac-call span { color:var(--alm-orange); }
.almanac-nav-wrap { border-top-color:rgba(241,240,234,.38); }
.almanac-nav a { border-color:rgba(241,240,234,.35); color:var(--alm-paper); }
.almanac-nav a:hover, .almanac-nav a:focus-visible, .almanac-nav a[aria-current="page"] { background:var(--alm-orange); color:var(--alm-ink); }
.almanac-hero { background:var(--alm-blue); color:var(--alm-paper); }
.almanac-hero::before { height:100%; opacity:.42; background-image:linear-gradient(rgba(240,216,0,.25) 1px, transparent 1px),linear-gradient(90deg,rgba(240,216,0,.25) 1px, transparent 1px); background-size:42px 42px; }
.almanac-overline, .almanac-hero h1 em, .almanac-hero__chapter { color:var(--alm-orange); }
.almanac-overline::before { color:var(--alm-paper); }
.almanac-hero h1 span { color:var(--alm-paper); }
.almanac-hero__photo { padding:6px; background:var(--alm-orange); border:2px solid var(--alm-paper); border-radius:24px; box-shadow:0 0 0 4px var(--alm-blue), 0 0 0 5px var(--alm-orange); }
.almanac-hero__photo img { border:2px solid var(--alm-ink); border-radius:17px; filter:saturate(.83) contrast(1.04); }
.almanac-hero__photo::after { display:none; }
.almanac-hero__photo figcaption { left:22px; bottom:-19px; background:var(--alm-orange); border:1px solid var(--alm-ink); color:var(--alm-ink); }
.almanac-button--orange { background:var(--alm-orange); border:1px solid var(--alm-ink); }
.almanac-button:hover, .almanac-button:focus-visible { box-shadow:4px 4px 0 var(--alm-paper); }
.almanac-text-link { color:var(--alm-paper); }
.almanac-facts { background:var(--alm-ink); border-top:5px solid var(--alm-orange); }
.almanac-facts strong { color:var(--alm-orange); }
.almanac-intro h2 em { color:var(--alm-blue); }
.almanac-intro__label span { color:var(--alm-blue); }
.almanac-intro .almanac-text-link, .almanac-gallery .almanac-text-link { color:var(--alm-blue); }
.almanac-rooms { background:#c4c9b1; }
.almanac-room-card { border:2px solid var(--alm-ink); border-radius:22px; overflow:hidden; box-shadow:7px 7px 0 var(--alm-blue); }
.almanac-room-card img { border-right:2px solid var(--alm-ink); }
.almanac-room-card p, .almanac-room-card b { color:var(--alm-blue); }
.almanac-room-card span { color:var(--alm-blue); }
.almanac-postcard { background:var(--alm-orange); border-top:5px solid var(--alm-blue); border-bottom:5px solid var(--alm-blue); }
.almanac-postcard__picture img { border:3px solid var(--alm-ink); border-radius:22px; box-shadow:0 0 0 5px var(--alm-orange), 0 0 0 7px var(--alm-ink); }
.almanac-postcard__picture::before { color:var(--alm-blue); }
.almanac-postcard h2 em { color:var(--alm-blue); }
.almanac-postcard .almanac-overline { color:var(--alm-ink); }
.almanac-postcard .almanac-overline::before { color:var(--alm-blue); }
.almanac-button--blue { background:var(--alm-blue); border:1px solid var(--alm-ink); }
.almanac-gallery__grid a { border:2px solid var(--alm-ink); border-radius:19px; }
.almanac-contact { background:var(--alm-blue); border-top:5px solid var(--alm-orange); }
.almanac-contact__number, .almanac-contact .almanac-overline, .almanac-contact__phone { color:var(--alm-orange); }
.almanac-contact .almanac-overline::before { color:var(--alm-paper); }
.page-intro { background:var(--alm-blue); color:var(--alm-paper); border-bottom:5px solid var(--alm-orange); }
.page-intro .section-kicker { color:var(--alm-orange); }
.page-intro .section-kicker::before { color:var(--alm-paper); }
.section--paper { background:#d8d8d8; }
.section--pine { background:var(--alm-blue); }
.section-kicker { color:var(--alm-blue); }
.section-kicker::before { color:var(--alm-orange); }
.photo-frame { padding:6px; background:var(--alm-orange); border:2px solid var(--alm-ink); border-radius:22px; overflow:hidden; }
.photo-frame img { border:2px solid var(--alm-ink); border-radius:15px; }
.photo-frame::after { display:none; }
.button { background:var(--alm-orange); border:1px solid var(--alm-ink); }
.button:hover, .button:focus-visible { box-shadow:4px 4px 0 var(--alm-blue); }
.price-card, .contact-card { border:2px solid var(--alm-ink); }
.price-card { border-radius:18px; overflow:hidden; }
.price-card h3, .price { color:var(--alm-blue); }
.gallery a, .art-grid a { border:2px solid var(--alm-ink); border-radius:15px; overflow:hidden; }
.contact-card { background:var(--alm-blue); }
.contact-card a { color:var(--alm-orange); }
.almanac-footer { background:var(--alm-ink); color:var(--alm-paper); border-top:5px solid var(--alm-orange); }
.almanac-footer__label, .almanac-footer a { color:var(--alm-orange); }
.almanac-footer__brand span { border-color:var(--alm-orange); color:var(--alm-orange); }
.almanac-footer__bottom { border-top-color:rgba(241,240,234,.38); }
@media (max-width:620px) { .almanac-menu-toggle { color:var(--alm-paper); } .almanac-menu-toggle span { color:var(--alm-orange); } .almanac-nav-wrap { background:var(--alm-blue); } .almanac-header__utility { padding-left:16px; padding-right:16px; } .almanac-hero__photo { border-radius:18px; } }

/* Modern, fast-decision layer: same heritage colors, less visual friction. */
:root {
	--alm-blue:#486030;
	--alm-blue-deep:#27391f;
	--alm-ink:#26301f;
	--alm-paper:#f8f7f1;
	--alm-orange:#f0d800;
	--alm-pale:#e7eadf;
	--alm-line:rgba(38,48,31,.14);
	--alm-radius:28px;
}
body.almanac-body { background:var(--alm-paper); }
.almanac-header { position:sticky; top:0; background:rgba(248,247,241,.96); color:var(--alm-ink); border:0; box-shadow:0 10px 35px rgba(39,57,31,.08); backdrop-filter:blur(18px); }
.almanac-header__utility { min-height:32px; align-items:center; background:var(--alm-blue-deep); color:white; }
.almanac-header__utility a { color:var(--alm-orange); }
.almanac-header__main { min-height:78px; }
.almanac-brand { color:var(--alm-ink); }
.almanac-brand__seal { background:var(--alm-orange); border:0; color:var(--alm-blue-deep); box-shadow:none; }
.almanac-brand small { color:var(--alm-blue); }
.almanac-call { color:var(--alm-ink); }
.almanac-call span { color:var(--alm-blue); }
.almanac-nav-wrap { border-top:1px solid var(--alm-line); }
.almanac-nav { justify-content:center; gap:7px; padding:8px 0; }
.almanac-nav a, .almanac-nav a:last-child { padding:10px 16px; border:0; border-radius:999px; color:var(--alm-ink); }
.almanac-nav a:hover, .almanac-nav a:focus-visible, .almanac-nav a[aria-current="page"] { background:var(--alm-blue); color:white; }
.almanac-hero { margin:24px auto 0; width:var(--alm-shell); background:var(--alm-pale); color:var(--alm-ink); border-radius:36px; }
.almanac-hero::before { display:none; }
.almanac-hero__layout { width:100%; min-height:540px; padding:58px; grid-template-columns:minmax(0,.92fr) minmax(330px,1.08fr); gap:clamp(35px,6vw,80px); }
.almanac-hero__chapter { display:none; }
.almanac-hero h1 { margin-bottom:24px; font-size:clamp(58px,7.4vw,104px); line-height:.82; }
.almanac-hero h1 span { color:var(--alm-ink); }
.almanac-hero h1 em { color:var(--alm-blue); }
.almanac-hero__lead { max-width:460px; font-size:18px; }
.almanac-overline { color:var(--alm-blue); }
.almanac-overline::before { color:var(--alm-orange); }
.almanac-hero__photo { padding:0; border:0; border-radius:var(--alm-radius); background:transparent; box-shadow:0 22px 55px rgba(39,57,31,.18); overflow:hidden; }
.almanac-hero__photo img { border:0; border-radius:0; }
.almanac-hero__photo figcaption { left:18px; bottom:18px; padding:9px 13px; background:rgba(248,247,241,.92); border:0; border-radius:999px; }
.almanac-button { min-height:52px; border:0; border-radius:999px; padding:14px 20px; }
.almanac-button:hover, .almanac-button:focus-visible { box-shadow:0 8px 20px rgba(39,57,31,.18); transform:translateY(-2px); }
.almanac-button--orange { background:var(--alm-orange); border:0; }
.almanac-text-link { color:var(--alm-blue); }
.almanac-facts { width:var(--alm-shell); margin:18px auto 0; background:transparent; border:0; }
.almanac-facts__grid { width:100%; grid-template-columns:repeat(3,1fr); gap:14px; }
.almanac-facts article, .almanac-facts article:last-child, .almanac-facts article:nth-child(3) { min-height:118px; padding:23px; background:white; border:1px solid var(--alm-line); border-radius:22px; color:var(--alm-ink); box-shadow:0 9px 28px rgba(39,57,31,.06); }
.almanac-facts strong { color:var(--alm-blue); font-family:Arial,Helvetica,sans-serif; font-size:clamp(25px,3vw,38px); font-weight:850; letter-spacing:-.055em; }
.almanac-facts span { font-size:12px; }
.almanac-intro { grid-template-columns:110px minmax(0,1.2fr) minmax(280px,.65fr); padding-top:105px; padding-bottom:105px; }
.almanac-intro__label span { color:var(--alm-blue); }
.almanac-intro .almanac-text-link { color:var(--alm-blue); }
.almanac-rooms { width:var(--alm-shell); margin:0 auto 22px; padding:72px; background:var(--alm-pale); border-radius:36px; }
.almanac-rooms > .almanac-shell { width:100%; }
.almanac-room-card { background:white; border:0; border-radius:var(--alm-radius); box-shadow:0 16px 40px rgba(39,57,31,.10); }
.almanac-room-card--offset { transform:none; }
.almanac-room-card img { border:0; }
.almanac-room-card:not(.almanac-room-card--offset) img { object-position:32% center; }
.almanac-room-card--offset img { object-position:88% center; }
.almanac-room-card p, .almanac-room-card span, .almanac-room-card b { color:var(--alm-blue); }
.almanac-room-card a { text-underline-offset:3px; }
.almanac-postcard { width:var(--alm-shell); margin:22px auto; padding:72px; background:var(--alm-blue-deep); border:0; border-radius:36px; color:white; }
.almanac-postcard__layout { width:100%; }
.almanac-postcard__picture::before { display:none; }
.almanac-postcard__picture img { border:0; border-radius:var(--alm-radius); box-shadow:none; }
.almanac-postcard .almanac-overline { color:var(--alm-orange); }
.almanac-postcard .almanac-overline::before { color:white; }
.almanac-postcard h2 em { color:var(--alm-orange); }
.almanac-button--blue { background:var(--alm-orange); border:0; color:var(--alm-blue-deep); }
.almanac-gallery { padding-top:105px; padding-bottom:105px; }
.almanac-gallery__grid { gap:14px; }
.almanac-gallery__grid a, .gallery a, .art-grid a { border:0; border-radius:22px; box-shadow:0 10px 28px rgba(39,57,31,.10); }
.almanac-contact { width:var(--alm-shell); margin:0 auto 22px; padding:72px; background:var(--alm-orange); border:0; border-radius:36px; color:var(--alm-blue-deep); }
.almanac-contact__layout { width:100%; }
.almanac-contact__number, .almanac-contact .almanac-overline, .almanac-contact__phone { color:var(--alm-blue-deep); }
.almanac-contact .almanac-overline::before { color:var(--alm-blue); }
.almanac-contact h2 { color:var(--alm-blue-deep); }
.almanac-contact .almanac-text-link { color:var(--alm-blue-deep); }
.page-intro { width:var(--alm-shell); margin:24px auto 0; padding:65px; background:var(--alm-pale); color:var(--alm-ink); border:0; border-radius:36px; }
.page-intro .shell { width:100%; }
.page-intro .section-kicker { color:var(--alm-blue); }
.page-intro .section-kicker::before { color:var(--alm-orange); }
.section--paper { background:var(--alm-pale); }
.section--pine { background:var(--alm-blue-deep); }
.photo-frame { padding:0; background:transparent; border:0; border-radius:var(--alm-radius); box-shadow:0 18px 42px rgba(39,57,31,.12); }
.photo-frame img { border:0; border-radius:var(--alm-radius); }
.button { border:0; border-radius:999px; }
.price-card, .contact-card { border:0; border-radius:var(--alm-radius); overflow:hidden; box-shadow:0 14px 34px rgba(39,57,31,.10); }
.almanac-footer { margin-top:22px; background:var(--alm-blue-deep); border:0; }
.almanac-footer__label, .almanac-footer a { color:var(--alm-orange); }
.almanac-mobile-actions { display:none; }

@media (max-width:900px) {
	.almanac-header { position:relative; }
	.almanac-hero__layout { padding:42px; }
	.almanac-rooms, .almanac-postcard, .almanac-contact { padding:52px 38px; }
}
@media (max-width:620px) {
	body.almanac-body { padding-bottom:72px; }
	.almanac-header { position:sticky; }
	.almanac-header__main { min-height:72px; }
	.almanac-menu-toggle { color:var(--alm-ink); }
	.almanac-menu-toggle span { color:var(--alm-blue); }
	.almanac-nav-wrap { background:var(--alm-paper); }
	.almanac-nav { grid-template-columns:1fr; padding:10px 16px 18px; }
	.almanac-nav a { padding:11px 15px; }
	.almanac-hero { width:calc(100% - 24px); margin-top:12px; border-radius:26px; }
	.almanac-hero__layout { padding:38px 22px 24px; }
	.almanac-hero h1 { font-size:clamp(52px,16.4vw,76px); }
	.almanac-hero__photo { width:100%; margin-top:42px; border-radius:22px; }
	.almanac-facts { width:calc(100% - 24px); }
	.almanac-facts__grid { grid-template-columns:1fr; gap:9px; }
	.almanac-facts article, .almanac-facts article:last-child, .almanac-facts article:nth-child(3) { min-height:88px; padding:17px 19px; }
	.almanac-facts strong { min-width:110px; }
	.almanac-intro { padding-top:72px; padding-bottom:72px; }
	.almanac-rooms, .almanac-postcard, .almanac-contact { width:calc(100% - 24px); padding:45px 18px; border-radius:26px; }
	.almanac-room-card { border-radius:22px; }
	.almanac-postcard__picture { width:100%; }
	.page-intro { width:calc(100% - 24px); margin-top:12px; padding:42px 22px; border-radius:26px; }
	.almanac-mobile-actions { position:fixed; z-index:90; left:8px; right:8px; bottom:8px; display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:6px; background:rgba(248,247,241,.94); border:1px solid var(--alm-line); border-radius:18px; box-shadow:0 12px 38px rgba(39,57,31,.25); backdrop-filter:blur(16px); }
	.almanac-mobile-actions a { display:grid; min-height:49px; place-items:center; border-radius:13px; background:var(--alm-blue); color:white; font-size:12px; font-weight:800; text-decoration:none; }
	.almanac-mobile-actions a:first-child { background:var(--alm-orange); color:var(--alm-blue-deep); }
}
