:root{--color-rose-bg: #f7edee;--color-pink: #e85acb;--color-orange: #ff7a00;--color-green: #245c45;--color-gold: #d9a441;--color-cream: #fff9f3;--color-ink: #2b2b2b;--color-ink-soft: #4a4a4a;--color-ink-mute: #6c6c6c;--color-line: rgba(43, 43, 43, .12);--color-line-soft: rgba(43, 43, 43, .06);--color-rose-deep: #ecd9dc;--color-rose-tint: #fbf3f4;--color-green-soft: rgba(36, 92, 69, .08);--color-orange-soft: rgba(255, 122, 0, .1);--color-gold-soft: rgba(217, 164, 65, .14);--font-serif: "Cormorant Garamond", "EB Garamond", "Iowan Old Style", "Georgia", serif;--font-script: "Caveat", "Dancing Script", "Brush Script MT", cursive;--font-sans: "Inter", "Helvetica Neue", "Segoe UI", system-ui, sans-serif;--fs-hero: clamp(2.75rem, 1.6rem + 4.5vw, 5.25rem);--fs-display: clamp(2.25rem, 1.4rem + 3vw, 3.5rem);--fs-h1: clamp(2rem, 1.4rem + 2vw, 2.75rem);--fs-h2: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);--fs-h3: clamp(1.2rem, 1.05rem + .6vw, 1.4rem);--fs-body: clamp(1rem, .96rem + .15vw, 1.0625rem);--fs-lead: clamp(1.1rem, 1rem + .5vw, 1.3125rem);--fs-small: .875rem;--fs-eyebrow: .75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--container-narrow: 38rem;--container-text: 46rem;--container: 72rem;--container-wide: 84rem;--radius-sm: 6px;--radius-md: 14px;--radius-lg: 24px;--radius-pill: 999px;--shadow-soft: 0 1px 2px rgba(43, 43, 43, .04), 0 8px 24px rgba(43, 43, 43, .06);--shadow-lift: 0 1px 2px rgba(43, 43, 43, .05), 0 18px 38px rgba(43, 43, 43, .1);--ease-out: cubic-bezier(.22, 1, .36, 1);--t-fast: .16s;--t-med: .28s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{margin:0;background:var(--color-rose-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.65;font-weight:400}img,picture,svg{max-width:100%;display:block;height:auto}a{color:var(--color-green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--t-fast) var(--ease-out)}a:hover{color:var(--color-orange)}button{font:inherit}::selection{background:var(--color-gold-soft);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-orange);outline-offset:3px;border-radius:3px}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;letter-spacing:-.005em;line-height:1.15;color:var(--color-ink);margin:0 0 var(--space-4)}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);font-weight:600}p{margin:0 0 var(--space-4);max-width:64ch}em{font-style:italic}.eyebrow{font-family:var(--font-sans);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-green);display:inline-block;margin-bottom:var(--space-3)}.script{font-family:var(--font-script);font-weight:500;font-style:italic;line-height:1.25;letter-spacing:.005em}.display{font-family:var(--font-serif);font-size:var(--fs-display);font-weight:400;line-height:1.1;letter-spacing:-.01em}.hero-display{font-family:var(--font-serif);font-size:var(--fs-hero);font-weight:400;line-height:1.02;letter-spacing:-.015em}.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--color-ink-soft);max-width:36ch}.muted{color:var(--color-ink-mute)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.25rem,3vw,2.5rem)}.container-wide{max-width:var(--container-wide)}.container-text{max-width:var(--container-text)}.container-narrow{max-width:var(--container-narrow)}.section{padding-block:clamp(3rem,6vw,6rem)}.section-tight{padding-block:clamp(2rem,4vw,3.5rem)}.section--cream{background:var(--color-cream)}.section--rose{background:var(--color-rose-bg)}.section--rose-deep{background:var(--color-rose-deep)}.section--green{background:var(--color-green);color:var(--color-cream)}.section--green h1,.section--green h2,.section--green h3{color:var(--color-cream)}.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.5rem;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out);white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--color-green);color:var(--color-cream)}.btn--primary:hover{background:var(--color-ink);color:var(--color-cream)}.btn--ghost{background:transparent;color:var(--color-ink);border-color:#2b2b2b40}.btn--ghost:hover{border-color:var(--color-ink);color:var(--color-ink)}.btn--accent{background:var(--color-orange);color:var(--color-cream)}.btn--accent:hover{background:#e96d00;color:var(--color-cream)}.btn .arrow{display:inline-block;transition:transform var(--t-fast) var(--ease-out)}.btn:hover .arrow{transform:translate(3px)}.site-header{position:sticky;top:0;z-index:50;background:#f7edeed9;backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--color-line-soft)}.site-header__inner{display:flex;align-items:center;gap:var(--space-5);padding-block:1rem}.brand{display:inline-flex;flex-direction:column;text-decoration:none;color:var(--color-ink);line-height:1}.brand__top{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;letter-spacing:.02em}.brand__sub{margin-top:4px;font-family:var(--font-sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-green)}.primary-nav{display:none;margin-left:auto;align-items:center;gap:1.75rem}.primary-nav a{color:var(--color-ink);text-decoration:none;font-size:.95rem;font-weight:500;position:relative;padding-block:.25rem}.primary-nav a[aria-current=page]{color:var(--color-orange)}.primary-nav a[aria-current=page]:after,.primary-nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor}.nav-cta{margin-left:auto}@media(min-width:1024px){.primary-nav{display:flex}.nav-cta{margin-left:0}}.nav-toggle{margin-left:auto;background:transparent;border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:.5rem .85rem;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--color-ink)}@media(min-width:1024px){.nav-toggle{display:none}}.mobile-nav{display:none;border-top:1px solid var(--color-line-soft);padding-block:var(--space-4) var(--space-6);background:var(--color-rose-bg)}.mobile-nav.is-open{display:block}.mobile-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.mobile-nav a{display:block;padding:.55rem 0;text-decoration:none;color:var(--color-ink);font-size:1rem;border-bottom:1px dashed var(--color-line-soft)}.mobile-nav a[aria-current=page]{color:var(--color-orange);font-weight:600}.mobile-nav .placeholder{color:var(--color-ink-mute);cursor:not-allowed;pointer-events:none}.mobile-nav .placeholder:after{content:" · in Vorbereitung";font-size:.78rem;color:var(--color-ink-mute);font-style:italic}.site-footer{background:var(--color-green);color:var(--color-cream);padding-block:var(--space-8) var(--space-6)}.site-footer h2,.site-footer h3{color:var(--color-cream)}.site-footer a{color:var(--color-cream);text-decoration:none;border-bottom:1px solid rgba(255,249,243,.4);padding-bottom:1px}.site-footer a:hover{color:var(--color-gold);border-bottom-color:var(--color-gold)}.site-footer__grid{display:grid;gap:var(--space-7);grid-template-columns:1fr}@media(min-width:720px){.site-footer__grid{grid-template-columns:1.4fr 1fr 1fr}}.site-footer__title{font-family:var(--font-serif);font-size:1.4rem;margin:0 0 .4rem}.site-footer__sub{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold)}.site-footer__role{margin-top:1rem;font-size:.92rem;color:#fff9f3d9;max-width:30ch}.site-footer__heading{font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-gold);margin:0 0 .85rem}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem;font-size:.95rem}.site-footer__bottom{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid rgba(255,249,243,.18);display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);justify-content:space-between;font-size:.85rem;color:#fff9f3bf}.rule{display:block;width:64px;height:1px;margin:var(--space-4) 0;background:currentColor;opacity:.4}.rule--center{margin-inline:auto}.dot-divider{display:inline-block;margin:0 .55rem;color:var(--color-gold)}.sun-motif{position:absolute;inset:auto;width:380px;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,#d9a4418c,#d9a44100 70%);pointer-events:none;filter:blur(2px)}.frame{border-radius:var(--radius-md);overflow:hidden;background:var(--color-cream);box-shadow:var(--shadow-soft)}.frame img{width:100%;height:100%;object-fit:cover;display:block}.frame--tall{aspect-ratio:4 / 5}.frame--portrait{aspect-ratio:3 / 4}.frame--wide{aspect-ratio:16 / 9}.frame--square{aspect-ratio:1 / 1}.card{background:var(--color-cream);border:1px solid var(--color-line-soft);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-soft)}.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:500;letter-spacing:.06em;background:var(--color-cream);border:1px solid var(--color-line);color:var(--color-ink)}.pill--green{background:var(--color-green-soft);border-color:#245c452e;color:var(--color-green)}.pill--gold{background:var(--color-gold-soft);border-color:#d9a44152;color:#8a6217}.page-hero{position:relative;padding-block:clamp(3.5rem,8vw,7rem) clamp(2.5rem,5vw,4rem)}.page-hero__eyebrow,.page-hero__title{margin-bottom:var(--space-4)}.page-hero__lead{max-width:50ch}.quote{position:relative;padding:var(--space-6) var(--space-5);text-align:center}.quote__mark{font-family:var(--font-serif);font-size:4rem;line-height:1;color:var(--color-gold);display:block;margin:0 auto .25rem}.quote__text{font-family:var(--font-script);font-size:clamp(1.5rem,1.1rem + 1.4vw,2.25rem);line-height:1.3;color:var(--color-green);max-width:24ch;margin:0 auto}.quote__cite{margin-top:var(--space-4);display:inline-block;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-mute)}.gallery-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}@media(min-width:720px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.gallery-grid .frame{aspect-ratio:4 / 5}.split{display:grid;gap:clamp(1.5rem,4vw,4rem);grid-template-columns:1fr;align-items:center}@media(min-width:880px){.split{grid-template-columns:1.05fr 1fr}.split--reverse{grid-template-columns:1fr 1.05fr}.split--reverse .split__media{order:2}}.path-list{counter-reset:pathitem;list-style:none;margin:0;padding:0;display:grid;gap:var(--space-5)}.path-list__item{counter-increment:pathitem;display:grid;grid-template-columns:4rem 1fr;gap:var(--space-5);padding:var(--space-5) 0;border-top:1px solid var(--color-line-soft)}.path-list__item:last-child{border-bottom:1px solid var(--color-line-soft)}.path-list__num{font-family:var(--font-serif);font-size:clamp(1.75rem,1.4rem + .8vw,2.4rem);line-height:1;font-weight:400;color:var(--color-orange);font-variant-numeric:tabular-nums}.path-list__num:before{content:"0" counter(pathitem)}.path-list__num.is-double:before{content:counter(pathitem)}.path-list__heading{font-family:var(--font-serif);font-size:var(--fs-h3);font-weight:600;margin:0 0 .35rem;color:var(--color-ink)}.path-list__body{margin:0;color:var(--color-ink-soft);max-width:60ch}.timeline{display:grid;gap:0;position:relative}.timeline__row{display:grid;gap:var(--space-4);grid-template-columns:5.5rem 1fr;padding:var(--space-5) 0;border-top:1px solid var(--color-line-soft);align-items:baseline}.timeline__row:last-child{border-bottom:1px solid var(--color-line-soft)}.timeline__year{font-family:var(--font-serif);font-weight:500;font-size:1.15rem;color:var(--color-green);letter-spacing:.01em;font-variant-numeric:tabular-nums}.timeline__title{font-weight:600;display:block;margin-bottom:.25rem}.timeline__detail{color:var(--color-ink-soft);font-size:.95rem;margin:0;max-width:60ch}.room-grid{display:grid;gap:var(--space-4);grid-template-columns:1fr}@media(min-width:700px){.room-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(200px,auto)}}.room-grid__cell{position:relative;border-radius:var(--radius-md);overflow:hidden;background:var(--color-rose-deep);display:flex;align-items:flex-end;padding:var(--space-5);min-height:220px;color:var(--color-cream);box-shadow:var(--shadow-soft)}.room-grid__cell .label{position:relative;z-index:2;font-family:var(--font-serif);font-size:1.15rem;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.35)}.room-grid__cell--feature{grid-column:span 1;min-height:320px}@media(min-width:700px){.room-grid__cell--feature{grid-column:span 2;grid-row:span 2}}.room-grid__cell--photo{background-size:cover;background-position:center}.room-grid__cell--photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 40%,#00000073);z-index:1}.room-grid__cell--placeholder{color:var(--color-green);background:var(--color-green-soft);border:1px dashed rgba(36,92,69,.3)}.room-grid__cell--placeholder .label{color:var(--color-green);text-shadow:none;font-style:italic;opacity:.85}.home-hero{position:relative;padding-block:clamp(3rem,6vw,5.5rem) clamp(3rem,6vw,5.5rem);overflow:hidden}.home-hero__grid{display:grid;gap:clamp(2rem,4vw,4rem);grid-template-columns:1fr;align-items:center}@media(min-width:900px){.home-hero__grid{grid-template-columns:1.05fr 1fr}}.home-hero__copy{position:relative;z-index:2}.home-hero__media{position:relative}.home-hero__media .frame{aspect-ratio:4 / 5;max-width:480px;margin-inline:auto}.home-hero__signature{font-family:var(--font-script);font-size:clamp(1.6rem,1.2rem + 1.5vw,2.4rem);color:var(--color-orange);margin-top:var(--space-2)}.home-hero__bg-circle{position:absolute;width:540px;height:540px;border-radius:50%;background:radial-gradient(closest-side,#d9a44173,#d9a44100 70%);top:-150px;right:-120px;pointer-events:none}.home-hero__bg-circle--alt{inset:auto auto -180px -180px;background:radial-gradient(closest-side,#e85acb2e,#e85acb00 70%)}.pillars{display:grid;gap:var(--space-5);grid-template-columns:1fr}@media(min-width:720px){.pillars{grid-template-columns:repeat(3,1fr)}}.pillar{background:var(--color-cream);border-radius:var(--radius-md);padding:var(--space-6);border:1px solid var(--color-line-soft);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-soft);transition:transform var(--t-med) var(--ease-out),box-shadow var(--t-med) var(--ease-out)}.pillar:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.pillar__icon{width:38px;height:38px;border-radius:50%;background:var(--color-orange-soft);color:var(--color-orange);display:grid;place-items:center;font-family:var(--font-serif);font-weight:600}.pillar__title{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;margin:0}.pillar__body{color:var(--color-ink-soft);font-size:.97rem;margin:0}.callout{background:var(--color-cream);border-left:3px solid var(--color-orange);padding:var(--space-5) var(--space-6);border-radius:4px;font-family:var(--font-serif);font-size:1.15rem;font-style:italic;color:var(--color-ink);max-width:50ch}.text-center{text-align:center}.mx-auto{margin-inline:auto}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.flow>*+*{margin-top:var(--space-4)}.todo-flag{display:inline-block;background:#e85acb1f;color:#b13a98;border:1px dashed rgba(232,90,203,.5);padding:.15rem .45rem;border-radius:4px;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.skip-link{position:absolute;left:-9999px}.skip-link:focus{position:fixed;top:1rem;left:1rem;background:var(--color-cream);color:var(--color-ink);padding:.6rem 1rem;border-radius:var(--radius-pill);z-index:100;text-decoration:none;box-shadow:var(--shadow-soft)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
