:root{--green:var(--s-green);--gold:var(--s-gold);--ink:var(--s-green);--muted:var(--s-muted);--paper:var(--s-canvas);--line:var(--s-line);--soft:var(--s-soft);--radius:4px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;line-height:1.7}h1,h2,h3,.brand,.button{font-family:Manrope,Arial,sans-serif}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.25;letter-spacing:-.035em;margin-bottom:1.5rem}h3{line-height:1.4}a{color:inherit;text-underline-offset:4px}button{font:inherit}img{max-width:100%;height:auto}svg{width:24px;height:24px}button,a,input{touch-action:manipulation}a,button{transition:background var(--s-duration),color var(--s-duration),transform var(--s-duration)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 3px var(--green)}[hidden]{display:none!important}.container{max-width:1320px;padding:0 40px;margin:0 auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px 20px}.skip-link:focus{top:15px}.site-header{height:80px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{max-width:1400px;padding:0 40px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px}.brand{font-size:1.65rem;font-weight:800;letter-spacing:-.065em;text-decoration:none;line-height:1}.brand span{color:var(--gold)}.desktop-nav{display:flex;gap:28px}.desktop-nav a,.mobile-menu a{font-size:.875rem;font-weight:600;text-decoration:none}.desktop-nav a:hover,.back-link:hover{color:var(--s-gold-ink)}.header-actions{display:flex;align-items:center;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;text-decoration:none;font-size:.85rem;font-weight:800;border:0;border-radius:var(--radius);text-align:center;line-height:1.5}.button-gold{background:var(--gold);color:var(--green)}.button-gold:hover{background:var(--s-gold-hover)}.button-green{background:var(--green);color:white}.button-green:hover{background:var(--s-green-hover)}.button-outline{border:1px solid var(--green);background:transparent;color:var(--green)}.button-outline:hover{background:var(--soft)}.menu-toggle{display:none;align-items:center;justify-content:center;min-width:44px;height:44px;border:0;background:transparent;color:var(--green)}.mobile-menu{background:white;border-bottom:1px solid var(--line);padding:12px 24px;box-shadow:0 12px 20px #00322912}.mobile-menu a{display:block;padding:12px}.project-hero{position:relative;min-height:580px;background:var(--green);isolation:isolate;display:flex;align-items:flex-end;overflow:hidden;color:white}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,34,28,.96),rgba(0,34,28,.3) 70%,rgba(0,34,28,.05));z-index:-1}.hero-without-image{min-height:430px;background:radial-gradient(ellipse at 85% 15%,var(--s-green-hover),transparent 65%),var(--green)}.hero-without-image .hero-shade{background:linear-gradient(0deg,#002a23a8,transparent)}.hero-content{width:100%;padding-top:45px;padding-bottom:48px}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:.75rem;margin-bottom:38px;color:var(--s-on-dark)}.breadcrumb a{opacity:.85}.eyebrow{font-size:.65rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;margin-bottom:14px}.hero-content .eyebrow{color:var(--gold)}h1{font-size:clamp(2.8rem,5.6vw,5rem);font-weight:800;letter-spacing:-.06em;line-height:1.05;margin-bottom:22px;max-width:1000px;overflow-wrap:break-word}.hero-location{font-size:1.1rem;color:var(--s-on-dark);margin-bottom:22px}.hero-badges{display:flex;flex-wrap:wrap;gap:8px}.hero-badges span{border:1px solid #ffffff59;border-radius:2px;padding:5px 13px;font-size:.75rem;background:#00281e40}.section-nav{border-bottom:1px solid var(--line);background:white}.section-nav .container{display:flex;gap:30px;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}.section-nav a{padding:20px 6px;margin:0 -6px;text-decoration:none;font-size:.8rem;font-weight:600}.section-nav a:focus-visible{outline-offset:-6px;box-shadow:inset 0 0 0 3px var(--green)}.section-nav a:hover{color:var(--s-gold-ink)}.project-layout{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(300px,1fr);gap:64px;padding-top:65px;padding-bottom:85px;align-items:start}.project-body{min-width:0}.detail-section{margin-bottom:58px;scroll-margin-top:110px}.detail-section p{color:var(--muted)}.detail-section>p:last-child{margin-bottom:0}.detail-section>.eyebrow{color:var(--green)}.lead{font-size:1.05rem;max-width:800px}.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;background:var(--soft);padding:18px 28px;column-gap:30px}.spec-grid>div{padding:19px 0;border-bottom:1px solid var(--line);min-width:0}.spec-grid dt{font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.spec-grid dd{margin:0;font-family:Manrope,Arial,sans-serif;font-weight:700;line-height:1.55;overflow-wrap:anywhere}.pending{font-size:.84rem;font-weight:400;color:var(--muted);font-family:Inter,Arial,sans-serif}.pending-panel{border:1px solid var(--line);padding:24px;background:#fff;line-height:1.7}.pending-panel p:last-child{margin-bottom:0}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery-grid figure{margin:0;background:white;border:1px solid var(--line);min-width:0}.gallery-grid a{display:block}.gallery-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-grid figcaption{font-size:.75rem;color:var(--muted);padding:10px 14px;line-height:1.5}.image-credit{display:block;font-size:.72rem;color:var(--muted);margin:10px 0}.amenity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;gap:12px}.amenity-list li{border:1px solid var(--line);background:white;padding:16px 18px;font-size:.86rem}.amenity-list li:before{content:'+';color:var(--s-gold-ink);margin-right:10px}.tour-card{margin-bottom:28px}.embed-shell{position:relative;width:100%;aspect-ratio:16/10;background:var(--green);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.embed-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.embed-shell .embed-loader{max-width:85%}.embed-loader{cursor:pointer;gap:10px}.embed-caption{margin:12px 0;display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:.76rem;color:var(--muted)}.map-shell{aspect-ratio:16/10;margin:22px 0}.map-note{font-size:.8rem}.source-section{border-top:1px solid var(--line);padding-top:36px}.source-section p,.source-section li{font-size:.84rem;overflow-wrap:anywhere}.source-section ul{padding-left:20px}.source-section details{margin-top:24px;border:1px solid var(--line);padding:15px 18px}.source-section summary{cursor:pointer;font-size:.85rem;font-weight:600}.source-section details p{margin:12px 0 0}.back-link{font-size:.85rem;font-weight:600;text-decoration:none}.contact-card{position:sticky;top:110px;padding:32px;background:white;border-top:3px solid var(--gold);box-shadow:0 12px 42px #00322910}.contact-card h2{font-size:1.5rem}.contact-card>p{font-size:.83rem;color:var(--muted)}.contact-card .eyebrow{color:var(--green)}.contact-card .button{width:100%;margin-bottom:12px}.price-block{margin:26px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.price-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);display:block;margin-bottom:8px}.price-block strong{font-family:Manrope,Arial,sans-serif;display:block;font-size:1.8rem;line-height:1.35;letter-spacing:-.04em}.price-block strong .pending{font-size:1rem;letter-spacing:0}.price-note{font-size:.72rem;color:var(--muted);margin:12px 0 0}.contact-card .contact-note{font-size:.73rem;line-height:1.6;margin:15px 0}.official-link{font-size:.75rem}.site-footer{background:var(--green);color:var(--s-on-dark);padding:38px 0}.site-footer .container{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.site-footer a:not(.brand){font-size:.75rem;text-decoration:none}.site-footer p{margin:0 0 0 auto;font-size:.7rem;color:var(--s-on-dark)}
@media(min-width:1000px){.project-aside{height:100%;position:relative}}
@media(max-width:1100px){.desktop-nav{gap:16px}.header-inner{gap:20px}.project-layout{gap:36px}.container,.header-inner{padding-left:28px;padding-right:28px}.contact-card{padding:26px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:inline-flex}.project-layout{grid-template-columns:1fr;gap:20px}.project-aside{grid-row:1}.contact-card{position:static;display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.contact-card .eyebrow,.contact-card h2,.contact-card>p,.contact-card .official-link{grid-column:1/-1}.contact-card .price-block{grid-column:1/-1;margin:8px 0 22px;padding:18px 0}.contact-card .button{align-self:start}.project-hero{min-height:490px}.hero-without-image{min-height:370px}}
@media(max-width:600px){.container,.header-inner{padding-left:22px;padding-right:22px}.header-inner{gap:10px}.brand{font-size:1.4rem}.header-booking{padding:11px 12px;font-size:.69rem;min-height:44px}.site-header,.header-inner{height:72px}.hero-content{padding-bottom:32px}.breadcrumb{margin-bottom:32px;font-size:.7rem}.hero-location{font-size:.95rem}.section-nav .container{gap:22px}.project-layout{padding-top:30px;padding-bottom:50px}.contact-card{padding:22px;display:block}.contact-card h2{margin-bottom:12px}.price-block strong{font-size:1.65rem}.spec-grid{padding:10px 20px;column-gap:20px}.spec-grid dd{font-size:.88rem}.detail-section{margin-bottom:42px}.gallery-grid{gap:10px}.gallery-grid figcaption{padding:8px;font-size:.68rem}.amenity-list{grid-template-columns:1fr}.embed-shell,.map-shell{aspect-ratio:4/3}.embed-shell .button{font-size:.78rem;padding:12px}.site-footer .container{gap:18px}.site-footer .brand{width:100%}.site-footer p{margin:0;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:600px){h1{font-size:clamp(2.1rem,8.5vw,2.8rem)}}

.leben-gallery figure:focus-within{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 3px var(--green)}
@media(forced-colors:active){a:focus-visible,button:focus-visible,summary:focus-visible,.section-nav a:focus-visible,.leben-gallery figure:focus-within{outline:3px solid Highlight;box-shadow:none}}

/* Shared detail presentation, 2026-10-21.
   Existing fichas opt in through their established classes. Content, media
   geometry and specialized brochure/hero rules remain owned by each fiche. */
:root{
  --detail-panel-radius:8px;
  --detail-section-gap:40px;
  --detail-rail-offset:164px;
}
.section-nav .container{gap:4px}
.section-nav a{
  display:inline-flex;
  align-items:center;
  min-height:48px;
  margin:6px 0;
  padding:12px 14px;
  border-radius:var(--s-radius);
}
.section-nav a:hover{background:var(--soft);color:var(--green)}
.section-nav a:focus-visible{outline-offset:-3px}
.project-body>.detail-section{margin-bottom:var(--detail-section-gap)}
.project-body>.detail-section+.detail-section{
  padding-top:32px;
  border-top:1px solid var(--line);
}
.detail-section>.eyebrow{font-size:.72rem;letter-spacing:.16em;margin-bottom:10px}
.detail-section h2{margin-bottom:22px;text-wrap:balance}
.detail-section h3{font-size:1.08rem;margin-top:28px;margin-bottom:12px}
.spec-grid{
  padding:0 24px;
  column-gap:28px;
  border:1px solid var(--line);
  border-radius:var(--detail-panel-radius);
  background:#fff;
}
.spec-grid>div{padding:18px 0}
.spec-grid dt{font-size:.72rem;letter-spacing:.08em;line-height:1.5}
.spec-grid dd{font-size:.95rem}
.pending-panel{
  padding:20px 22px;
  border-color:#e4d2ac;
  border-left:3px solid var(--gold);
  border-radius:var(--s-radius);
  background:var(--s-warning-soft);
}
.gallery-grid figure,.amenity-list li,.tour-card{
  border-radius:var(--detail-panel-radius);
}
.gallery-grid figure:focus-within{
  outline:3px solid var(--green);
  outline-offset:3px;
}
.contact-card{
  border:1px solid var(--line);
  border-top:3px solid var(--gold);
  border-radius:var(--detail-panel-radius);
  box-shadow:0 10px 32px #0032290a;
}
.contact-card h2{line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}
.contact-card .price-note,.contact-card .contact-note{font-size:.8rem;line-height:1.6}
.contact-card .button{min-height:48px}
.price-block{padding:20px 0;margin:22px 0}
.price-label{font-size:.72rem;letter-spacing:.08em}
@media(min-width:901px){
  html{scroll-padding-top:calc(var(--detail-rail-offset) + 16px)}
  .section-nav{position:sticky;top:80px;z-index:15}
  .project-layout{grid-template-columns:minmax(0,1fr) 344px;gap:48px;padding-top:48px}
  .project-aside{height:auto;align-self:stretch}
  .contact-card{
    top:var(--detail-rail-offset);
    max-height:calc(100vh - var(--detail-rail-offset) - 24px);
    max-height:calc(100dvh - var(--detail-rail-offset) - 24px);
    overflow-y:auto;
    scrollbar-gutter:stable;
    overscroll-behavior-y:contain;
  }
  .detail-section{scroll-margin-top:0}
}
@media(min-width:901px) and (max-width:1100px){
  .project-layout{grid-template-columns:minmax(0,1fr) 310px;gap:28px}
}
@media(max-width:900px){
  .project-layout{padding-top:32px}
  .contact-card{max-height:none;overflow:visible}
}
@media(max-width:600px){
  :root{--detail-section-gap:32px}
  .section-nav a{padding:12px 10px}
  .project-body>.detail-section+.detail-section{padding-top:24px}
  .spec-grid{padding:0 18px;column-gap:20px}
  .pending-panel{padding:18px}
}
@media(max-width:480px){
  .spec-grid{grid-template-columns:minmax(0,1fr)}
}
@media(forced-colors:active){
  .gallery-grid figure:focus-within{outline-color:Highlight}
  .pending-panel{border-color:CanvasText}
}

/* SOLLAHMS_LEBEN_RAW_HERO_START */
/* Source files retain both publication alternatives. A visible preview hides
   only its adjacent public hero; either exported profile remains independent. */
.leben-project-hero:not([hidden])+.project-hero[aria-labelledby="project-name"]{display:none}
/* SOLLAHMS_LEBEN_RAW_HERO_END */

/* SOLLAHMS_NO_SCRIPT_NAV_START */
@media (scripting: none) and (max-width: 900px) {
  header:has([aria-controls="mobile-menu"]) {
    position: static !important;
    height: auto !important;
  }
  #mobile-menu {
    display: block !important;
    position: static !important;
  }
  header button[aria-controls="mobile-menu"] { display: none !important; }
}
/* SOLLAHMS_NO_SCRIPT_NAV_END */
