/* Angelguide: focused visual polish, retaining the existing identity. */
.btn { border-radius:10px; min-height:44px; }
.btn--primary { box-shadow:0 3px 10px rgba(18,42,29,.12); }
.btn--primary::after { display:none; }
.site-header .bar { gap:20px; }
.site-header .nav { gap:0; }
.site-header .nav a { padding-inline:9px; }
.header-actions { gap:8px; }
.header-actions > .btn--ghost { display:none; }
.mobile-nav { visibility:hidden; }
.site-header.open .mobile-nav { visibility:visible; }
.skip-link { position:fixed;left:20px;top:-80px;z-index:1000;padding:12px 20px;background:#fff;color:var(--sea-900);border-radius:8px; }
.skip-link:focus { top:12px; }
.home-page .hero-inner { padding-block:clamp(48px,6vw,80px) 86px;max-width:920px; }
.home-page .hero h1 { font-size:clamp(40px,5.5vw,70px);line-height:1.07;max-width:15ch; }
.home-page .hero .sub { max-width:49ch;color:#e0e9df;font-size:clamp(18px,1.7vw,21px);margin-top:22px; }
.home-page .hero .ph-bg::after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,42,29,.65),transparent 90%); }
.home-page .hero .fx-sonar { display:none; }
.home-page .hero-stats { gap:0;margin-top:32px; }
.home-page .hero-stats .stat { padding-right:30px;margin-right:30px;border-right:1px solid rgba(255,255,255,.2); }
.home-page .hero-stats .stat:last-child { border:0;margin:0;padding:0; }
.home-page .hero-stats .stat b { font-size:28px;font-variant-numeric:tabular-nums; }
.home-page .hero-stats .stat span { color:#c6d6c6;font-size:13px; }
.home-page .search-panel { border-radius:16px;padding:16px;gap:12px;margin-top:-48px;box-shadow:0 12px 32px rgba(18,42,29,.12);grid-template-columns:minmax(0,1.35fr) minmax(0,1.15fr) minmax(0,1fr) minmax(0,.9fr) auto; }
.home-page .search-field { border:1px solid var(--line);background:#fafaf6;border-radius:9px;padding:9px 12px;gap:3px; }
.home-page .search-field label { color:var(--ink-soft);font-size:11px; }
.home-page .search-field:focus-within { border-color:var(--brand);outline:2px solid var(--brand);outline-offset:2px; }
.home-page .search-field input:focus-visible,.home-page .search-field select:focus-visible { outline:none; }
.home-page .search-field select { appearance:auto; }
.home-page .search-panel .btn { height:70px; }
.home-page .hero-spacer { height:20px; }
.home-page .section { padding-block:clamp(48px,5vw,72px); }
.home-page .section-tight { padding-block:clamp(36px,4vw,56px); }
.home-page .sec-head { gap:18px;margin-bottom:26px; }
.home-page .sec-head .lead { margin-bottom:0;color:var(--ink-soft);max-width:58ch; }
.home-page .sec-head .eyebrow { color:var(--brand-700) !important; }
.home-page .sec-head h2 { font-size:clamp(28px,3vw,38px);line-height:1.15; }
.home-page .journey-grid { gap:12px; }
.home-page .journey-card { display:grid;grid-template-columns:42px 1fr;column-gap:14px;padding:20px;border-radius:12px; }
.home-page .journey-card .jc-ic { grid-row:span 2;margin:0; }
.home-page .journey-card b { line-height:1.3;align-self:end; }
.home-page .journey-card > span:last-child { grid-column:2; }
.home-page .guide-card,.home-page .post-card { border-radius:14px;box-shadow:none; }
.home-page .guide-card:hover,.home-page .post-card:hover { box-shadow:var(--shadow-md);transform:translateY(-2px); }
.home-page .guide-card:hover .photo { transform:none; }
.home-page .guide-card .body,.home-page .post-body { padding:22px; }
.home-page .guide-card h3 { line-height:1.2; }
.home-page .browse-tile { padding:20px;border-radius:12px; }
.home-page .land-chip { min-height:44px;border-radius:8px; }
.home-page .land-chip .n { color:var(--muted); }
.home-page .map-cta,.home-page .tools-cta,.home-page .cta-band { border-radius:16px;box-shadow:none; }
.home-page .cta-pair,.home-page .tc-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.home-page .cta-pair .btn,.home-page .tc-actions .btn { width:100%;justify-content:center;text-align:center;white-space:normal; }
.home-page .map-cta .cta-pair { margin-top:6px; }
.home-page .cta-band .cta-pair { min-width:360px; }
.home-page .map-cta .copy { min-width:0; }
.home-page :focus-visible { outline:3px solid var(--brand);outline-offset:4px; }
.home-page .hero :focus-visible,.home-page .tools-cta :focus-visible,.home-page .cta-band :focus-visible { outline-color:var(--aqua); }
@media(min-width:921px) and (max-width:1100px) {
.site-header .nav a[href="/angellegenden"],.site-header .nav a[href="/regelwerk"] { display:none; }
}
@media(max-width:1100px) {
.home-page .search-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-page .search-panel .btn { grid-column:1 / -1;height:52px; }
}
@media(max-width:640px) {
.home-page .hero-inner { padding-block:42px 76px; }
.home-page .hero h1 { max-width:12ch; }
.home-page .hero .sub { line-height:1.5;margin-top:18px; }
.home-page .hero-stats { display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;margin-top:28px; }
.home-page .hero-stats .stat { padding:0;margin:0;border:0; }
.home-page .hero-stats .stat b { font-size:26px; }
.home-page .search-panel { padding:14px;gap:10px;margin-top:-40px; }
.home-page .search-field:first-child,.home-page .search-field:nth-child(2) { grid-column:1 / -1; }
.home-page .search-field { padding:8px 10px; }
.home-page .hero-spacer { height:4px; }
.home-page .journey-card { padding:17px; }
.home-page .journey-card > span:last-child { font-size:14px; }
.home-page .browse-tile { padding:16px;min-width:0; }
.home-page .browse-tile b { overflow-wrap:anywhere; }
.home-page .browse-tile .ti-flag { font-size:28px;height:34px; }
.home-page .map-cta .copy,.home-page .tools-cta .tc-copy,.home-page .cta-band { padding:26px; }
.home-page .cta-pair,.home-page .tc-actions { grid-template-columns:1fr;width:100%;min-width:0; }
.home-page .cta-band .cta-pair { min-width:0; }
.home-page .sec-head > .link-arrow { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
.home-page *, .home-page *::before,.home-page *::after { animation:none !important;transition:none !important; }
}

/* Keep editorial content readable without waiting for scroll animations. */
.home-page .reveal { opacity:1;transform:none;transition-delay:0s !important; }
.home-page.fx-on .hero-inner > *, .home-page .search-panel { opacity:1 !important;transform:none !important;animation:none !important; }

@media(max-width:640px) {
.home-page .hero-inner { padding-block:32px 64px; }
.home-page .hero .sub { margin-top:16px; }
.home-page .hero-stats { margin-top:20px;row-gap:14px; }
}
@media(max-width:920px) {
.mobile-nav { top:100%; }
body:has(.site-header.open) .fb-fab { visibility:hidden; }
}
@media(max-width:600px) {
.home-page .fb-fab { position:static;display:flex;justify-content:center;min-height:44px;margin:20px auto;width:calc(100% - 40px);border-radius:10px;box-shadow:none; }
.home-page .fb-fab span { display:inline; }
}

/* One spacing rule for every blog sidebar module, including wrapped cards. */
.blog-sidebar { display:grid;gap:22px;min-width:0; }
.blog-sidebar > *, .blog-sidebar > .widget { margin:0; }

@media (max-width: 360px) {
  .daily-bar .db-brand { display: none; }
  .daily-bar .db-inner { gap: 8px; font-size: 12px; }
}

/* Shared finishing pass: readable text, consistent controls and resilient widths. */
:root { --faint:#68786b; }
.visually-hidden { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
:focus-visible { outline:3px solid var(--brand);outline-offset:4px; }
.page-head p { color:var(--ink-soft);max-width:62ch;line-height:1.6; }
.page-head h1,.art-head h1,.profile-hero h1 { text-wrap:balance;overflow-wrap:break-word; }
.crumbs a,.crumbs span { white-space:normal;overflow-wrap:anywhere; }
.guide-card,.post-card { border-radius:14px; }
.post-body { display:flex;flex-direction:column; }
.post-body h3 { line-height:1.25; }
.post-meta { margin-top:auto;padding-top:18px; }
.verz-split { grid-template-columns:minmax(0,1fr) 480px; }
.verz-split > *,.profile-layout > *,.form-layout > *, .form-grid > * { min-width:0; }
.verz-toolbar .search-box { min-width:220px;flex:2 1 260px; }
.verz-toolbar .fsel { min-width:140px;max-width:310px;flex:1 1 160px; }
.fsel select { min-width:0;max-width:100%;width:100%;text-overflow:ellipsis; }
.search-box,.fsel select,.wb-search { border-radius:10px; }
.linklike,.seg-btn { min-height:44px; }
.form-hint { font-size:14px;color:var(--muted);margin:0 0 24px; }
.field input,.field select,.field textarea { min-width:0;max-width:100%; }
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible { border-color:var(--brand); }
.blog-pagination { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line); }
.blog-pagination p { margin:0;color:var(--muted);font-size:14px; }
.blog-pagination .actions { display:flex;gap:10px; }
@media(max-width:980px) {
  .verz-split { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
  .verz-toolbar { position:relative;top:auto; }
  .verz-toolbar .row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .verz-toolbar .search-box { grid-column:1/-1;min-width:0;width:100%; }
  .verz-toolbar .fsel { min-width:0;max-width:none; }
  .verz-toolbar .seg { justify-content:center; }
  .verz-toolbar .seg-btn { padding-inline:9px; }
  .verz-toolbar .linklike { justify-self:end; }
  .fsel select { padding-left:12px; }
  .field input,.field select,.field textarea { font-size:16px; }
  .form-grid { grid-template-columns:minmax(0,1fr); }
  .form-card > .btn { width:100%;justify-content:center;white-space:normal; }
  .author-box { flex-wrap:wrap;gap:14px; }
  .author-box > div { flex:1;min-width:160px; }
  .author-box > .btn { margin-left:0 !important;width:100%;justify-content:center; }
  .profile-hero { display:flex;align-items:flex-end;height:auto;min-height:340px; }
  .profile-hero .ph-head { position:relative;width:100%;padding-top:72px; }
  .profile-hero h1 { font-size:clamp(28px,8vw,38px);line-height:1.12; }
  .profile-hero .badges { flex-wrap:wrap; }
  .blog-pagination .actions { width:100%; }
  .blog-pagination .btn { flex:1;justify-content:center; }
  .fb-fab { position:static;display:flex;justify-content:center;min-height:44px;margin:20px auto;width:calc(100% - 40px);border-radius:10px;box-shadow:none; }
  .fb-fab span { display:inline; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important;transition:none !important;scroll-behavior:auto !important; }
  .reveal { opacity:1;transform:none; }
}

.reveal { opacity:1;transform:none;transition-delay:0s !important; }
.art-hero__cover { margin:0;min-width:0; }
.sb-layout > *,.sb-aside > * { min-width:0; }
.sb-box .btn { white-space:normal;text-align:center;overflow-wrap:anywhere; }
.art-hero__cover figcaption { font:12px var(--font-ui);color:var(--muted);margin-top:8px; }

.prose { overflow-wrap:anywhere; }
.seo-hero .inner { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
.seo-hero .inner > *,.seo-body > *,.legend-body > * { min-width:0; }
.seo-body { grid-template-columns:minmax(0,1fr) 300px; }
.seo-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px; }
.seo-actions .btn { justify-content:center;white-space:normal;text-align:center; }
.legend-main { overflow-wrap:anywhere; }
.legend-grid { grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr)); }
.cite-box { min-width:0;max-width:100%; }
.fx-on .seo-hero .inner > div > *, .fx-on .profile-hero .ph-head > div > * { opacity:1;transform:none;animation:none; }
.seo-hero > .fx-sonar { display:none; }
@media(max-width:760px) { .post-card--big .post-photo { aspect-ratio:16/10;flex:none;width:100%; } }
@media(max-width:960px) { .seo-body { grid-template-columns:minmax(0,1fr); } }
@media(max-width:860px) { .seo-hero .inner { grid-template-columns:minmax(0,1fr);gap:28px; } }
@media(max-width:820px) { .legend-body { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) {
  .seo-actions { grid-template-columns:minmax(0,1fr); }
  .seo-hero h1 { font-size:clamp(30px,8vw,40px);overflow-wrap:anywhere; }
  .legend-hero__info { min-width:0;flex-basis:100%; }
  #gw-reset,#tk-reset { grid-column:1/-1; }
}

/* Image audit: readable attribution and complete fish silhouettes. */
.hero-image-credit{margin:12px 0 0;font-size:12px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.image-credit a,.hero-image-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fish-image-credit{margin-top:10px;font-size:12px;line-height:1.6;color:#d4e2d5;overflow-wrap:anywhere}
.fish-image-credit a{color:inherit}
.hero-image-credit + .profile-layout{padding-top:28px}
@media(max-width:600px){.hero-image-credit{font-size:11px}.fish-image-credit{font-size:11px}}

.directory-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
/* Catalog images stay visible at the viewport edge; only their files load lazily. */
.fx-on .guide-card.reveal{opacity:1;transform:none;transition-delay:0s!important}
@media(max-width:600px){
  .profile-hero.technique-hero{display:block;height:auto;min-height:0}
  .technique-hero .gw-hero-bg{position:relative!important;inset:auto!important;height:auto!important;aspect-ratio:3/2;object-fit:cover!important;object-position:center!important}
  .technique-hero .grad{display:none}
  .technique-hero .ph-head{position:relative;padding-top:22px;padding-bottom:24px}
}

/* Badge download page: existing embed formats, quieter selection and usable code fields. */
.seal-wrap{max-width:1000px}
.seal-page .crumbs{padding-top:0}
.seal-header{display:grid;grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:48px}
.seal-header h1{margin:12px 0 18px;font-size:clamp(32px,4vw,48px);line-height:1.1;max-width:620px}
.seal-header .lead{max-width:610px;margin:0;font-size:18px;line-height:1.65}
.seal-header-mark{width:170px;height:170px}
.seal-languages{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:26px 0;border-bottom:1px solid var(--line)}
.seal-languages>span{font-size:13px;color:var(--muted);margin-right:10px}
.seal-languages a{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;font-size:14px;border:1px solid transparent;border-radius:8px;text-decoration:none}
.seal-languages a:hover{background:var(--paper-2)}
.seal-languages a[aria-current]{color:var(--ink);background:var(--surface);border-color:var(--line);font-weight:600}
.seal-panel{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}
.seal-gate{max-width:560px;margin-top:28px}
.seal-panel label{display:block;font-size:15px;font-weight:600}
.seal-panel p{font-size:14px;line-height:1.65;color:var(--muted);margin:8px 0 16px}
.seal-code-row{display:flex;gap:10px}
.seal-code-row input{flex:1;min-width:0}
.seal-page input,.seal-page textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);padding:12px 14px;font:inherit}
.seal-page .seal-error{color:#a02e24;margin-bottom:0}
.seal-page input[aria-invalid=true]{border-color:#a02e24}
.seal-profile{font-size:14px;line-height:1.6;color:var(--muted);padding:16px 0;margin:0}
.seal-profile a{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.seal-intro{margin:12px 0 24px}
.seal-intro h2{font-size:28px;margin:0 0 10px}
.seal-intro p{max-width:720px;margin:0;color:var(--ink-soft);line-height:1.65}
.seal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.seal-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .15s}
.seal-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.seal-stage{display:flex;align-items:center;justify-content:center;min-height:220px;padding:24px;background:#efede4;border-bottom:1px solid var(--line)}
.seal-stage--dark{background:#293a31}
.seal-stage img{display:block;max-width:100%;height:auto}
.seal-card-body{padding:20px 22px}
.seal-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.seal-card-title h3{font-size:18px;margin:0;line-height:1.3}
.seal-card-title>span{font-size:12px;color:var(--muted)}
.seal-card-body p{margin:8px 0 18px;font-size:14px;color:var(--muted)}
.seal-page .seal-copy{background:transparent;color:var(--ink);border:1px solid var(--line);width:100%;min-height:44px;justify-content:space-between;font-size:14px;box-shadow:none}
.seal-page .seal-copy[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.seal-output{margin-top:26px;scroll-margin-top:132px}
.seal-output textarea,.seal-builder input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6;margin-top:10px}
.seal-output #seal-copy-status{font-weight:600;color:var(--ink)}
.seal-builder{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}
.seal-page summary{cursor:pointer;font-weight:600;line-height:1.5;padding:8px 0}
.seal-builder label{font-size:13px;margin-top:14px}
.seal-builder input{margin-top:6px}
.seal-existing{font-size:14px;line-height:1.6;color:var(--muted);margin:24px 0 16px}
.seal-notes{border-top:1px solid var(--line);padding-top:10px;font-size:14px}
.seal-notes ul{padding-left:20px;line-height:1.8}
.seal-page [hidden]{display:none!important}
@media(max-width:650px){
 .seal-header{grid-template-columns:minmax(0,1fr);gap:0}
 .seal-header-mark{display:none}
 .seal-header .lead{font-size:17px}
 .seal-languages>span{width:100%;margin-bottom:4px}
 .seal-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .seal-panel{padding:20px}
 .seal-code-row{flex-direction:column}
 .seal-stage{padding:20px;min-height:200px}
 .seal-card-body{padding:18px}
 .seal-output{scroll-margin-top:125px}
 .seal-page textarea,.seal-page input{font-size:16px}
}

.seal-page .seal-copy:hover{background:var(--paper-2);color:var(--ink)}
.seal-page .seal-copy svg{flex:none}

/* Detailbilder: natürliche Proportionen, klar getrennte Überschrift und stabile Bildansicht. */
html{scrollbar-gutter:stable}
.profile-hero.technique-hero--split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);height:auto;min-height:0;align-items:center}
.technique-hero--split .technique-hero-media{position:relative;display:block;min-width:0;cursor:zoom-in;background:var(--sea-900)}
.technique-hero--split .technique-hero-media img{display:block;width:100%;height:auto}
.technique-hero--split .grad{display:none}
.technique-hero--split .ph-head{position:relative;inset:auto;min-width:0;padding:clamp(28px,4vw,64px) 0}
.technique-hero--split h1{font-size:clamp(32px,3.8vw,56px);line-height:1.1}
.technique-hero--split .badges{flex-wrap:wrap}
.technique-hero--split .ph-meta{gap:12px;font-size:14px;line-height:1.6}
.technique-hero--split .ph-meta .it{align-items:flex-start}
.technique-hero--split .ph-meta svg{flex:none;margin-top:3px}
.image-zoom-label{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;background:rgba(15,39,27,.9);color:#fff;font-size:12px;line-height:1.4;box-shadow:0 2px 12px #0002}
.image-zoom-label svg{width:16px;height:16px;flex:none}
.technique-hero-media .image-zoom-label{position:absolute;right:16px;bottom:16px}
.hero-image-zoom{position:absolute;top:20px;right:var(--gut);z-index:3}
.article-image-zoom{display:block;cursor:zoom-in}
[data-image-zoom]:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
.image-viewer{position:fixed;inset:0;box-sizing:border-box;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;border:0;padding:72px 24px 24px;background:rgba(8,20,14,.97);color:#fff;overflow:hidden}
.image-viewer[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.image-viewer::backdrop{background:#08140e}
.image-viewer>img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 144px);object-fit:contain;min-height:0}
.image-viewer>p{margin:0;max-width:70ch;font-size:14px;line-height:1.5;text-align:center;flex-shrink:0;max-height:3em;overflow:auto}
.image-viewer-close{position:absolute;right:20px;top:16px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff15;color:#fff;cursor:pointer}
.image-viewer-close svg{width:22px;height:22px}
.image-viewer-close:hover{background:#ffffff30}
.image-viewer-close:focus-visible{outline:3px solid #fff;outline-offset:4px}
.site-footer{margin-top:0}
@media(max-width:800px){
 .profile-hero.technique-hero--split{display:block}
 .technique-hero--split .ph-head{padding:26px 0 30px}
 .technique-hero--split h1{font-size:clamp(30px,7vw,42px)}
 .technique-hero--split .technique-hero-media img{aspect-ratio:auto}
 .image-viewer{padding:76px 16px 20px}
 .image-viewer>img{max-height:calc(100dvh - 156px)}
}
@media(max-width:600px){
 .site-footer .fb-fab{margin-top:28px;margin-bottom:0;background:#ffffff0d;border-color:#ffffff30;color:#fff}
}

@media(max-width:600px){
 .profile-hero.water-hero{display:block;min-height:0;height:auto}
 .water-hero .gw-hero-bg{position:relative!important;inset:auto!important;width:100%;height:auto!important;aspect-ratio:3/2;object-fit:cover;object-position:center}
 .water-hero .grad{display:none}
 .water-hero .ph-head{position:relative;padding:26px 0 30px}
 .water-hero .ph-region{color:#d3e2d2;line-height:1.6}
}
