
:root {
  --cream: #f3f0e6;
  --sand: #ddd7c8;
  --deep: #193b37;
  --deep-2: #274943;
  --gold: #c9a96a;
  --text: #21413b;
  --white: #ffffff;
  --shadow: rgba(0, 0, 0, 0.28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', Arial, sans-serif;
  color: var(--text);
  background: var(--cream);
  line-height: 1.65;
}

h1, h2, h3, .brand-mini, .contact-name, blockquote {
  font-family: 'Cormorant Garamond', Georgia, serif;
}

a { color: inherit; }

.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #0d2d35;
}

.slideshow, .slide, .overlay {
  position: absolute;
  inset: 0;
}

.slide {
  background-size: cover;
  background-position: center center;
  opacity: 0;
  transition: opacity 1.6s ease-in-out;
  transform: scale(1.05);
}

.slide.active { opacity: 1; }

.overlay {
  background:
    linear-gradient(to bottom, rgba(7, 22, 27, 0.42), rgba(7, 22, 27, 0.50)),
    linear-gradient(to top, rgba(7, 22, 27, 0.32), rgba(7, 22, 27, 0.12));
}

.nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 1.2rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 3;
}

.brand-mini {
  color: var(--white);
  letter-spacing: 0.18em;
  font-size: 1.4rem;
  font-weight: 600;
}

.nav-links {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
}

.nav-links a {
  text-decoration: none;
  color: rgba(255,255,255,0.95);
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 1px solid transparent;
  padding-bottom: 0.2rem;
}

.nav-links a:hover { border-color: rgba(255,255,255,0.85); }

.hero-content {
  position: relative;
  z-index: 3;
  text-align: center;
  color: var(--white);
  padding: 2rem;
  max-width: 1100px;
  text-shadow: 0 2px 18px var(--shadow);
}

.eyebrow {
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.35em;
  margin-bottom: 1rem;
}

.hero h1 {
  font-size: clamp(3rem, 8vw, 6.8rem);
  line-height: 0.98;
  margin: 0 0 1rem;
  font-weight: 600;
}

.tagline {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.5rem, 2.8vw, 2.4rem);
  font-style: italic;
  margin: 0 0 2rem;
}

.hero-button {
  display: inline-block;
  text-decoration: none;
  color: var(--white);
  border: 1px solid rgba(255,255,255,0.9);
  padding: 0.95rem 1.5rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.85rem;
  transition: background 0.2s ease, color 0.2s ease;
}

.hero-button:hover {
  background: rgba(255,255,255,0.95);
  color: var(--deep);
}

.section {
  padding: 5.5rem 1.5rem;
}

.section-light { background: var(--cream); }
.section-accent { background: #e7e2d5; }
.section-quote { background: linear-gradient(180deg, #efe9dc, #e9e1d2); }

.container {
  max-width: 1180px;
  margin: 0 auto;
}

.narrow { max-width: 900px; }

.section-label {
  color: var(--deep-2);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.85rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.centered { text-align: center; }

h2 {
  margin: 0 0 1.1rem;
  color: var(--deep);
  font-size: clamp(2.1rem, 4.2vw, 3.6rem);
  line-height: 1.1;
  font-weight: 600;
}

.section p {
  margin: 0 0 1.35rem;
  font-size: 1.05rem;
}

.cards {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

.card {
  background: rgba(255,255,255,0.65);
  border: 1px solid rgba(25,59,55,0.12);
  padding: 1.4rem 1.25rem;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(25,59,55,0.06);
}

.card h3 {
  margin: 0 0 0.6rem;
  color: var(--deep);
  font-size: 1.9rem;
}

.card p {
  margin: 0;
  font-size: 1rem;
}

blockquote {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.3rem);
  color: var(--deep);
  font-style: italic;
}

.contact-block {
  text-align: center;
}

.contact-name {
  font-size: clamp(2rem, 4vw, 3.1rem);
  margin-bottom: 0.8rem;
  color: var(--deep);
}

.contact-block a {
  color: var(--deep);
  text-decoration: none;
  border-bottom: 1px solid rgba(25,59,55,0.25);
}

.contact-block a:hover {
  border-color: var(--deep);
}

.footer {
  padding: 1.5rem;
  text-align: center;
  font-size: 0.95rem;
  color: #49625d;
  background: #ebe5d8;
}

@media (max-width: 980px) {
  .cards { grid-template-columns: repeat(2, 1fr); }
  .nav { padding: 1rem 1.2rem; }
  .nav-links { gap: 0.8rem; }
}

@media (max-width: 640px) {
  .nav {
    flex-direction: column;
    gap: 0.8rem;
  }
  .nav-links {
    justify-content: center;
    text-align: center;
  }
  .section { padding: 4rem 1.1rem; }
  .cards { grid-template-columns: 1fr; }
  .eyebrow { letter-spacing: 0.24em; }
  .hero h1 { font-size: clamp(2.4rem, 11vw, 4rem); }
  .tagline { font-size: 1.5rem; }
}

/* 2026 cinematic panorama controls */
.slide-controls {position:absolute; bottom:23px; right:27px; z-index:5; display:flex; gap:9px;}
.slide-controls button {cursor:pointer;background:rgba(8,32,41,.68); color:#fff; border:1px solid rgba(255,255,255,.75); padding:10px 14px; font:500 12px 'Inter',Arial,sans-serif; letter-spacing:.06em; border-radius:6px; backdrop-filter:blur(7px);}
.slide-controls button:hover,.slide-controls button:focus-visible {background:#153c44; outline:2px solid #f6e7bf;outline-offset:2px;}
.slide {transition:opacity 2.2s ease-in-out;transform:none;}
.overlay {background:linear-gradient(180deg,rgba(2,14,34,.48),rgba(2,17,29,.12) 41%,rgba(1,17,26,.53));}
@media(max-width:640px){.slide-controls{right:12px;bottom:12px}.slide-controls button{padding:8px 10px}}
@media(prefers-reduced-motion: reduce){.slide{transition:none}html{scroll-behavior:auto}}

/* WKFFT family legacy cinematic refinements */
.hero h1{font-size:clamp(2.85rem,6.6vw,6.2rem);line-height:1.02;max-width:1170px;margin:0 auto 1.25rem;letter-spacing:-.015em}
.hero h1 span{display:block}
.hero h1 span:last-child{font-size:.77em;letter-spacing:.01em;margin-top:.12em}
.hero-content{max-width:1200px;padding:3rem 2rem;background:radial-gradient(ellipse at center,rgba(10,29,35,.30),rgba(10,29,35,0) 72%)}
.overlay{background:linear-gradient(90deg,rgba(9,27,37,.32),rgba(8,25,36,.18) 55%,rgba(9,27,37,.28)),linear-gradient(180deg,rgba(6,19,27,.38),rgba(6,19,27,.08) 45%,rgba(6,19,27,.43))}
.slide{background-position:center;transform:scale(1.02);transition:opacity 2.3s ease}
.slide-counter{position:absolute;bottom:1.6rem;left:2.2rem;color:rgba(255,255,255,.95);font-size:.78rem;letter-spacing:.2em;z-index:5;text-shadow:0 2px 5px #182b34}
@media(max-width:640px){.hero h1{font-size:clamp(2.2rem,9vw,3.4rem)}.hero h1 span:last-child{font-size:.78em}.hero-content{padding:2.2rem 1.15rem}.slide-counter{left:1rem;bottom:1rem}}
@media(prefers-reduced-motion:reduce){.slide{transition:none}.hero{scroll-behavior:auto}}

/* EN/DE language selector */
.nav { gap: 1.25rem; }
.nav-links { margin-left: auto; }
.language-switch { display:flex; align-items:center; gap:5px; color:white; border:1px solid rgba(255,255,255,.55); padding:4px 6px; border-radius:3px; position:relative; z-index:8; }
.lang-button { border:0; background:transparent; color:rgba(255,255,255,.72); font:600 12px Inter,Arial,sans-serif; letter-spacing:.12em; padding:6px 8px; cursor:pointer; border-radius:2px; }
.lang-button.active,.lang-button:hover,.lang-button:focus-visible { color:#102e37; background:#f3ead8; }
@media(max-width:640px) {.nav { flex-wrap:wrap; justify-content:space-between; } .nav-links { order:3; width:100%; justify-content:center; margin:0; } .language-switch { margin-left:auto; } }

/* Tree of Life — family crest rising symbolically from the tropical sea */
.crest-home{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:54px;height:54px;border-radius:50%;background:rgba(4,18,28,.28);box-shadow:0 0 18px rgba(211,167,75,.12);}
.crest-home img{display:block;width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.75)) drop-shadow(0 0 3px rgba(239,192,93,.54));}
.rising-tree{width:clamp(115px,15vw,190px);height:clamp(115px,15vw,190px);margin:0 auto .65rem;position:relative;animation:tree-emerge 2.5s cubic-bezier(.2,.85,.25,1) both;}
.rising-tree::before{content:"";position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle,rgba(20,33,36,.42),rgba(13,34,46,.15) 60%,transparent 72%);filter:blur(12px);}
.rising-tree img{width:100%;height:100%;object-fit:contain;position:relative;filter:drop-shadow(0 3px 2px rgba(0,0,0,.76)) drop-shadow(0 0 11px rgba(232,184,97,.44));}
@keyframes tree-emerge{from{opacity:0;transform:translateY(42px) scale(.82);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
.hero-content{padding-top:6.5rem;padding-bottom:4.75rem;}
.hero h1{font-size:clamp(2.5rem,5.4vw,5.35rem);line-height:1.02;}
.hero .eyebrow{letter-spacing:.28em}
@media(max-width:640px){.crest-home{width:42px;height:42px}.crest-home img{width:37px;height:37px}.rising-tree{width:110px;height:110px;margin-bottom:.4rem}.hero-content{padding-top:8.4rem;padding-bottom:5.3rem}.hero h1{font-size:clamp(2rem,8vw,3.1rem)}.tagline{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.rising-tree{animation:none}}

/* 2026 crest-led cinema edition */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-content{padding:5.7rem 1.25rem 4.2rem;max-width:1100px;background:radial-gradient(ellipse at center,rgba(1,16,24,.55),rgba(1,16,24,.12) 54%,transparent 76%)}
.hero .orbital-crest{width:min(61vh,570px,82vw);height:auto;aspect-ratio:1;max-width:100%;margin:0 auto .3rem;animation:tree-emerge 2.5s cubic-bezier(.2,.85,.25,1) both}
.hero .orbital-crest::before{inset:11%;background:radial-gradient(circle,rgba(2,15,20,.36),transparent 74%);filter:blur(19px)}
.hero .orbital-crest img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(0,0,0,.82)) drop-shadow(0 0 7px rgba(222,178,95,.18))}
.hero .eyebrow{font-size:.75rem;letter-spacing:.24em;margin-top:-.15rem;margin-bottom:.4rem}
.hero .tagline{font-size:clamp(1.45rem,2.7vw,2.25rem);margin-bottom:1rem}
.hero-button{padding:.75rem 1.25rem}
.crest-home{width:60px;height:60px;background:rgba(7,21,25,.4)}
.crest-home img{width:58px;height:58px}
.footer-crest{display:block;width:142px;height:142px;object-fit:contain;margin:0 auto 1rem;filter:drop-shadow(0 2px 2px #1115)}
@media(max-height:720px) and (min-width:701px){.hero .orbital-crest{width:min(50vh,420px)}.hero-content{padding-top:4.7rem;padding-bottom:3.2rem}}
@media(max-width:640px){.hero .orbital-crest{width:min(79vw,390px)}.hero-content{padding-top:8.2rem;padding-bottom:4rem}.hero .eyebrow{font-size:.66rem}.hero .tagline{font-size:1.38rem}.footer-crest{width:115px;height:115px}}

/* Final refinement: remove the corner insignia and allow the scenery to breathe. */
.nav { justify-content:flex-end; }
.hero-content { background:none !important; }
.hero .orbital-crest::before { display:none !important; }
.hero .orbital-crest { opacity:.64; width:min(51vh,480px,76vw); margin-bottom:.4rem; }
.hero .orbital-crest img { filter: drop-shadow(0 3px 7px rgba(0,0,0,.3)); }
@media(max-width:640px) { .hero .orbital-crest { width:min(73vw,320px); } }
@media(max-height:720px) and (min-width:701px){.hero .orbital-crest{width:min(45vh,360px)}}

/* Family portraits remain completely visible: tree belongs to ocean scenes only. */
.hero.family-scene .orbital-crest {display:none !important;}
.hero.family-scene .hero-content {position:absolute;bottom:5.2rem;left:2.5rem;right:auto;width:min(460px,calc(100% - 5rem));text-align:left;padding:1rem 1.3rem;background:linear-gradient(90deg,rgba(7,24,29,.61),rgba(7,24,29,.16)) !important;border-radius:6px;}
.hero.family-scene .eyebrow {font-size:.68rem;letter-spacing:.14em;margin:0 0 .3rem;}
.hero.family-scene .tagline {font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.1;margin:0 0 .6rem;}
.hero.family-scene .hero-button {padding:.45rem .8rem;font-size:.65rem;}
@media(max-width:640px){.hero.family-scene .hero-content{left:1rem;bottom:5.1rem;width:min(315px,calc(100% - 2rem));padding:.65rem .8rem}.hero.family-scene .eyebrow{font-size:.56rem}.hero.family-scene .tagline{font-size:1.1rem}}

/* WKFFT music control — additive; original layout and family scene treatment preserved */
.music-toggle{position:relative;z-index:9;white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem;color:#f1dfad;background:rgba(12,35,40,.38);border:1px solid rgba(224,191,113,.76);border-radius:22px;padding:9px 13px;font:600 12px Inter,Arial,sans-serif;letter-spacing:.04em;cursor:pointer;transition:background .2s,color .2s}
.music-toggle:hover,.music-toggle:focus-visible{background:rgba(12,35,40,.85);outline-offset:3px}
.music-toggle[aria-pressed="true"]{background:rgba(224,191,113,.92);color:#132e32}
.music-toggle span:first-child{font-size:1.2rem;line-height:1}
@media(max-width:640px){.music-toggle{margin-left:auto;padding:7px 9px;font-size:11px}.language-switch{margin-left:0}}

/* 2026 WKFFT bilingual entry: low, compact, two side-by-side choices on the actual slideshow. */
.welcome-layer{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:1rem 1rem clamp(4.25rem,8vh,7rem);background:linear-gradient(to bottom,rgba(3,13,18,.1),rgba(3,13,18,.02) 44%,rgba(3,13,18,.10));transition:opacity .42s ease,visibility .42s ease}
.welcome-layer.dismissed{opacity:0;visibility:hidden;pointer-events:none}
.welcome-panel{width:min(550px,calc(100vw - 28px));padding:15px 20px 12px;text-align:center;color:#faedcf;background:rgba(10,25,29,.76);border:1px solid rgba(239,204,136,.86);border-radius:19px;box-shadow:0 10px 38px rgba(0,0,0,.32);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.welcome-panel h2{font:500 clamp(1.55rem,3vw,2.2rem)/1.05 'Cormorant Garamond',Georgia,serif;margin:0 0 5px;color:#f0cf87}
.welcome-panel h2 span{opacity:.6}
.welcome-panel>p{margin:0}
#welcome-description{font:500 10px/1.3 Inter,Arial,sans-serif;letter-spacing:.20em;text-transform:uppercase;color:#f5ecde;margin:3px 0 12px}
.welcome-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.welcome-choice{display:flex;gap:9px;align-items:center;justify-content:center;min-height:46px;border-radius:9px;cursor:pointer;padding:7px 9px;font:600 clamp(11px,1.1vw,13px)/1.3 Inter,Arial,sans-serif;transition:transform .18s ease,filter .18s ease}
.welcome-choice span:first-child{font-size:21px;line-height:1}
.welcome-with{color:#192825;background:linear-gradient(135deg,#f8df9b,#d9a84b);border:1px solid #f8e8bd}
.welcome-without{color:#193034;background:linear-gradient(135deg,#fff9ed,#e7e1d7);border:1px solid #fff8e8}
.welcome-choice:hover{transform:translateY(-2px);filter:brightness(1.05)}
.welcome-choice:focus-visible{outline:3px solid white;outline-offset:3px}
.welcome-foot{font:400 10px/1.3 Inter,Arial,sans-serif;letter-spacing:.08em;color:#e5d7bc;margin-top:10px!important}
@media(max-width:540px){.welcome-layer{padding:0 10px 75px}.welcome-panel{padding:11px 11px 9px;border-radius:13px}.welcome-actions{gap:7px}.welcome-choice{padding:6px 4px;min-height:44px;gap:5px;font-size:10px}.welcome-choice span:first-child{font-size:16px}#welcome-description{letter-spacing:.08em;margin-bottom:8px}.welcome-foot{margin-top:7px!important}}
@media(prefers-reduced-motion:reduce){.welcome-layer,.welcome-choice{transition:none}}
