/* ————————————————————————————————
   Fischzucht Kehlbach — Design-Entwurf
   Konzept „Der Tauchgang“: über Wasser → Wasserlinie → Tiefe → Auftauchen
   Palette: Tiefwasser-Petrol / Gletschermilch / Eisweiß / Kiesel / Rogen-Orange
   Type: Zodiak (Display) · Archivo (Body) · Spline Sans Mono (Messwerte)
———————————————————————————————— */

:root{
  --tiefe:   #06181F;
  --wasser:  #0E3A46;
  --gletscher:#A7CDC9;
  --eis:     #EFF5F3;
  --kiesel:  #5C6B67;
  --rogen:   #E05A18;
  --rogen-dk:#C24A10;
  --hairline: color-mix(in srgb, var(--kiesel) 28%, transparent);
  --disp: "Zodiak", Georgia, serif;
  --body: "Archivo", system-ui, sans-serif;
  --mono: "Spline Sans Mono", ui-monospace, monospace;
  --wrap: 1180px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--body); font-weight:380; font-size:17px; line-height:1.65;
  color:var(--tiefe); background:var(--eis);
  -webkit-font-smoothing:antialiased; overflow-x:clip;
}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em}
.small{font-size:12.5px;color:var(--kiesel)}

h1,h2{font-family:var(--disp);font-weight:400;line-height:1.04;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic;color:var(--wasser)}
h1{font-size:clamp(44px,7.2vw,96px)}
h2{font-size:clamp(32px,4.6vw,58px)}
h3{font-family:var(--disp);font-weight:700;font-size:clamp(20px,2.2vw,26px);line-height:1.15}

.eyebrow{
  font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.22em;
  color:var(--rogen);margin-bottom:18px;
}
.eyebrow::before{content:"~ ";color:var(--gletscher)}

/* ——— Tiefenmesser (Signature) ——— */
.gauge{
  position:fixed;right:22px;top:50%;translate:0 -50%;z-index:60;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  pointer-events:none; mix-blend-mode:difference; color:#9fc6c0;
}
.gauge-line{width:1px;height:52px;background:currentColor;opacity:.55}
.gauge-val{
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;white-space:nowrap;
  writing-mode:vertical-rl;
}
@media(max-width:900px){.gauge{display:none}}

/* ——— Nav ——— */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:50;
  display:flex;align-items:center;gap:28px;
  padding:14px clamp(20px,4vw,44px);
  color:var(--eis);
  transition:background .35s,color .35s,box-shadow .35s;
}
.nav.scrolled{background:color-mix(in srgb,var(--eis) 92%,transparent);color:var(--tiefe);
  backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--hairline)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;
  font-family:var(--disp);font-size:19px;letter-spacing:.01em}
.brand em{font-style:italic}
.brand-fish{color:var(--rogen)}
.nav-links{display:flex;gap:22px;margin-left:auto}
.nav-links a{font-size:13.5px;font-weight:500;text-decoration:none;opacity:.85}
.nav-links a:hover{opacity:1;color:var(--rogen)}
.nav-tel{font-family:var(--mono);font-size:12.5px;text-decoration:none;
  border:1px solid currentColor;border-radius:999px;padding:7px 14px;opacity:.9}
.nav-tel:hover{background:var(--rogen);border-color:var(--rogen);color:#fff;opacity:1}
.nav-burger{display:none}
@media(max-width:900px){
  .nav-links{position:fixed;inset:56px 0 auto 0;flex-direction:column;gap:0;
    background:var(--eis);color:var(--tiefe);padding:10px 24px 20px;
    box-shadow:0 20px 40px rgb(0 0 0/.15);display:none}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 0;border-bottom:1px solid var(--hairline);font-size:16px}
  .nav-tel{margin-left:auto}
  .nav-burger{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:6px;cursor:pointer}
  .nav-burger span{width:22px;height:2px;background:currentColor;transition:.25s}
  .nav-burger[aria-expanded="true"] span:first-child{rotate:45deg;translate:0 3.5px}
  .nav-burger[aria-expanded="true"] span:last-child{rotate:-45deg;translate:0 -3.5px}
}

/* ——— Hero ——— */
.hero{position:relative;min-height:100svh;display:grid;align-content:end;color:var(--eis);isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-1;overflow:clip}
.hero-media img{animation:heroZoom 26s ease-out both}
@keyframes heroZoom{from{scale:1.12}to{scale:1}}
.hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgb(6 24 31/.42),rgb(6 24 31/.06) 38%,rgb(6 24 31/.62) 82%,var(--tiefe))}
.hero-inner{position:relative;max-width:var(--wrap);margin-inline:auto;width:100%;
  padding:0 clamp(20px,4vw,48px) clamp(48px,7vh,90px)}
.hero .eyebrow{color:var(--gletscher)}
.hero .eyebrow::before{color:var(--rogen)}
.hero h1 em{color:var(--gletscher)}
.hero-sub{max-width:520px;margin-top:22px;font-size:clamp(16px,1.6vw,19px);color:color-mix(in srgb,var(--eis) 88%,transparent)}
.hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.hero-data{
  position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;
  max-width:var(--wrap);margin-inline:auto;width:100%;
  padding:18px clamp(20px,4vw,48px) 26px;color:var(--gletscher);
}
.hero-data i{width:34px;height:1px;background:currentColor;opacity:.4}
.hd-press{color:color-mix(in srgb,var(--eis) 72%,transparent)}
@media(max-width:700px){.hero-data i{display:none}.hero-data{gap:8px 16px}}

/* ——— Buttons ——— */
.btn{display:inline-block;font-family:var(--body);font-weight:600;font-size:14.5px;
  text-decoration:none;border-radius:999px;padding:14px 28px;letter-spacing:.01em;
  transition:transform .18s,background .18s,color .18s,border-color .18s;border:1px solid transparent;cursor:pointer}
.btn:active{transform:scale(.97)}
.btn-solid{background:var(--rogen);color:#fff}
.btn-solid:hover{background:var(--rogen-dk)}
.btn-ghost{border-color:color-mix(in srgb,var(--eis) 55%,transparent);color:var(--eis)}
.btn-ghost:hover{background:var(--eis);color:var(--tiefe)}
.btn-line{border-color:var(--tiefe);color:var(--tiefe)}
.btn-line:hover{background:var(--tiefe);color:var(--eis)}

/* ——— Sections ——— */
.section{padding:clamp(72px,10vw,130px) 0}
.section.light{background:var(--eis)}
.section.dim{background:color-mix(in srgb,var(--gletscher) 26%,var(--eis))}
.section.deep{background:var(--tiefe);color:var(--eis);position:relative;overflow:clip}
.section.deep h2 em{color:var(--gletscher)}
.section.deep .eyebrow::before{color:var(--gletscher)}

.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,84px);align-items:center}
.split.flip{grid-template-columns:.95fr 1.05fr}
.split.flip .split-copy{order:2}
@media(max-width:900px){.split,.split.flip{grid-template-columns:1fr}.split.flip .split-copy{order:0}}
.split-copy>p{margin-top:18px;max-width:54ch;color:color-mix(in srgb,currentColor 82%,transparent)}
.split-media{display:grid;gap:18px;grid-template-columns:1fr 1fr;align-items:start}
.split-media.single{grid-template-columns:1fr}
.split-media figure{border-radius:14px;overflow:clip;aspect-ratio:3/4;box-shadow:0 24px 60px rgb(6 24 31/.16)}
.split-media.single figure{aspect-ratio:4/3.4}
.split-media figure.offset{margin-top:56px}
@media(max-width:900px){.split-media figure.offset{margin-top:0}}

.project-card{
  margin-top:34px;padding:24px 26px;border-radius:14px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--gletscher) 32%,var(--eis)),var(--eis));
  border:1px solid color-mix(in srgb,var(--gletscher) 60%,transparent);
}
.pc-label{color:var(--rogen);text-transform:uppercase;letter-spacing:.18em;margin-bottom:10px}
.textlink{color:var(--rogen);font-weight:600;text-decoration:none}
.textlink:hover{text-decoration:underline}

/* ——— Wasserlinie ——— */
.waterline{background:var(--eis);position:relative;line-height:0}
.waterline svg{width:100%;height:clamp(48px,7vw,90px);display:block}
.waterline.up{background:var(--eis)}
.wl-label{position:absolute;left:50%;top:-4px;translate:-50% -100%;
  color:var(--kiesel);letter-spacing:.28em;text-transform:uppercase;font-size:10.5px;line-height:1.4}

/* ——— Unterwasser ——— */
.caustics{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:
    radial-gradient(42% 30% at 18% 12%, rgb(167 205 201/.10), transparent 70%),
    radial-gradient(36% 26% at 78% 30%, rgb(167 205 201/.08), transparent 70%),
    radial-gradient(52% 34% at 45% 78%, rgb(14 58 70/.5), transparent 72%);
  animation:caustic 14s ease-in-out infinite alternate}
@keyframes caustic{from{transform:translateY(-1.5%) scale(1.02)}to{transform:translateY(1.5%) scale(1)}}
.deep-intro{max-width:56ch;margin-top:20px;color:color-mix(in srgb,var(--eis) 78%,transparent)}

.species{list-style:none;margin-top:clamp(40px,6vw,70px);display:grid;gap:0}
.species li{
  display:grid;grid-template-columns:132px 220px 1fr auto;gap:26px;align-items:center;
  padding:26px 0;border-top:1px solid color-mix(in srgb,var(--gletscher) 22%,transparent);
}
.species li:last-child{border-bottom:1px solid color-mix(in srgb,var(--gletscher) 22%,transparent)}
.species figure{width:132px;height:88px;border-radius:10px;overflow:clip;filter:saturate(.92)}
.species li:hover figure{filter:none}
.sp-latin{color:var(--gletscher);font-style:normal;margin-top:4px}
.sp-desc{color:color-mix(in srgb,var(--eis) 80%,transparent);max-width:44ch}
.sp-tags{display:flex;gap:8px;flex-wrap:wrap}
.sp-tags span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid color-mix(in srgb,var(--gletscher) 45%,transparent);color:var(--gletscher);
  border-radius:999px;padding:4px 11px;white-space:nowrap}
@media(max-width:1000px){
  .species li{grid-template-columns:110px 1fr;grid-template-areas:"img head" "img desc" "tags tags"}
  .species figure{grid-area:img;width:110px;height:110px}
  .sp-head{grid-area:head}.sp-desc{grid-area:desc}.sp-tags{grid-area:tags}
}

.roe{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(26px,5vw,64px);
  align-items:center;margin-top:clamp(52px,7vw,86px)}
.roe figure{border-radius:14px;overflow:clip;aspect-ratio:1;box-shadow:0 0 90px rgb(224 90 24/.28)}
.roe h3{margin-bottom:12px;color:var(--eis)}
.roe p:not(.pc-label){color:color-mix(in srgb,var(--eis) 80%,transparent);max-width:52ch}
@media(max-width:800px){.roe{grid-template-columns:1fr}}

/* ——— Ticks / CTA rows ——— */
.ticks{list-style:none;margin-top:22px;display:grid;gap:10px}
.ticks li{padding-left:26px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:9px;width:14px;height:8px;
  border-left:2px solid var(--rogen);border-bottom:2px solid var(--rogen);rotate:-45deg}
.cta-row{display:flex;align-items:center;gap:16px;margin-top:30px;flex-wrap:wrap}

/* ——— Panorama ——— */
.panorama{position:relative;height:clamp(300px,52vh,560px);overflow:clip}
.panorama img{height:100%}
.panorama figcaption{position:absolute;left:50%;bottom:18px;translate:-50%;
  color:var(--eis);background:rgb(6 24 31/.55);backdrop-filter:blur(6px);
  padding:7px 16px;border-radius:999px;white-space:nowrap}

/* ——— Apartments ——— */
.apt-intro{max-width:58ch;margin-top:18px;color:color-mix(in srgb,var(--tiefe) 80%,transparent)}
.apt-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:22px;margin-top:clamp(36px,5vw,56px)}
@media(max-width:1000px){.apt-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.apt-grid{grid-template-columns:1fr}}
.apt-card{border-radius:16px;overflow:clip;background:#fff;
  box-shadow:0 18px 44px rgb(6 24 31/.10);display:flex;flex-direction:column}
.apt-card figure{aspect-ratio:4/3;overflow:clip}
.apt-card img{transition:scale .5s ease}
.apt-card:hover img{scale:1.045}
.apt-body{padding:22px 24px 26px}
.apt-meta{color:var(--kiesel);margin:6px 0 12px}
.apt-body>p:last-child{color:color-mix(in srgb,var(--tiefe) 78%,transparent);font-size:15.5px}

.apt-avail{border-radius:16px;padding:24px;background:var(--wasser);color:var(--eis);
  display:flex;flex-direction:column;gap:14px;justify-content:center}
.avail{list-style:none;display:grid;gap:12px}
.avail li{display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:12px}
.avail span{font-family:var(--mono);font-size:12px;letter-spacing:.06em}
.avail i{height:6px;border-radius:99px;background:color-mix(in srgb,var(--gletscher) 30%,transparent);position:relative;overflow:clip}
.avail i::after{content:"";position:absolute;inset:0;border-radius:99px}
.a-free::after{background:var(--gletscher)}
.a-part::after{background:linear-gradient(to right,var(--gletscher) 45%,transparent 45%)}
.a-full::after{background:var(--rogen);opacity:.85}
.avail em{font-style:normal;font-family:var(--mono);font-size:11px;color:color-mix(in srgb,var(--eis) 75%,transparent)}
.apt-avail .small{color:color-mix(in srgb,var(--eis) 70%,transparent)}

.inquiry{margin-top:26px;background:#fff;border-radius:16px;padding:clamp(24px,3.4vw,40px);
  box-shadow:0 18px 44px rgb(6 24 31/.10)}
.iq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:6px}
@media(max-width:1000px){.iq-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.iq-grid{grid-template-columns:1fr}}
.inquiry label{display:flex;flex-direction:column;gap:7px;font-family:var(--mono);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--kiesel)}
.inquiry input,.inquiry select,.inquiry textarea{
  font-family:var(--body);font-size:15.5px;color:var(--tiefe);
  border:1px solid var(--hairline);border-radius:10px;padding:12px 14px;background:var(--eis);
  transition:border-color .2s}
.inquiry :is(input,select,textarea):focus{outline:2px solid var(--rogen);outline-offset:1px;border-color:transparent}
.iq-msg{margin-top:16px}
.inquiry .cta-row{margin-top:22px}

/* ——— Facebook ——— */
.fb-note{margin-top:14px;color:var(--kiesel)}
.fb-note a{color:var(--rogen)}
.fb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
@media(max-width:900px){.fb-grid{grid-template-columns:1fr}}
.fb-card{background:#fff;border-radius:14px;padding:22px 24px;
  border:1px solid var(--hairline);display:flex;flex-direction:column;gap:12px}
.fb-card>p:nth-child(2){font-size:15.5px}
.fb-date{color:var(--kiesel)}
.fb-foot{color:var(--kiesel);margin-top:auto}

/* ——— Kontakt ——— */
.contact{padding-bottom:0}
.contact address{font-style:normal;margin-top:24px;display:grid;gap:16px}
.big-tel{font-family:var(--disp);font-size:clamp(24px,3vw,34px);text-decoration:none;color:var(--gletscher)}
.big-tel:hover{color:var(--eis)}
.directions{color:color-mix(in srgb,var(--eis) 75%,transparent);max-width:50ch}
.map{height:100%}
.map iframe{width:100%;height:100%;min-height:380px;border:0;border-radius:14px;filter:grayscale(.25) contrast(1.02)}
.footer{margin-top:clamp(56px,8vw,100px);border-top:1px solid color-mix(in srgb,var(--gletscher) 18%,transparent);padding:26px 0 30px}
.footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:color-mix(in srgb,var(--eis) 62%,transparent)}
.footer a{color:inherit}
.demo-note{color:color-mix(in srgb,var(--gletscher) 75%,transparent)}

/* ——— Reveals ——— */
.reveal{opacity:0;translate:0 26px;transition:opacity .7s ease,translate .7s ease}
.reveal.in{opacity:1;translate:0 0}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-media img{animation:none}
  .caustics{animation:none}
  .reveal{opacity:1;translate:none;transition:none}
  .apt-card img{transition:none}
}
