/* Gesundheitshaus Marktoberdorf — „SIGNAL" · Rechtsseiten-Stil */
@font-face{font-family:'Sofia';src:url(fonts/sofia-condensed.woff2) format('woff2');font-weight:100 900;font-display:swap;}
@font-face{font-family:'Hanken';src:url(fonts/hanken-latin.woff2) format('woff2');font-weight:300 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken';src:url(fonts/hanken-latinext.woff2) format('woff2');font-weight:300 800;font-display:swap;unicode-range:U+0100-02BA,U+1E00-1E9F,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'SplineMono';src:url(fonts/spline-mono.woff2) format('woff2');font-weight:100 900;font-display:swap;}

:root{--paper:#F6F2EC;--white:#FFFFFF;--ink:#141210;--ink-soft:#46413B;--muted:#8A8278;--line:#E4DDD2;--signal:#E30613;--signal-deep:#BE0511;
  --maxw:1280px;--gutter:clamp(20px,5vw,64px);
  --disp:'Sofia','Hanken',system-ui,sans-serif;--sans:'Hanken',system-ui,-apple-system,Segoe UI,sans-serif;--mono:'SplineMono',ui-monospace,Menlo,monospace;}
*{box-sizing:border-box;}
html,body{margin:0;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;}
a{color:var(--signal);text-decoration:none;}
a:hover{text-decoration:underline;text-underline-offset:3px;}
::selection{background:var(--signal);color:#fff;}
:focus-visible{outline:2.5px solid var(--signal);outline-offset:3px;}

.ghsl-head{border-bottom:1.5px solid var(--line);}
.ghsl-bar{max-width:var(--maxw);margin-inline:auto;padding:20px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:1.2rem;}
.ghsl-bar img{height:38px;width:auto;}
.ghsl-back{font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);}
.ghsl-back:hover{color:var(--signal);text-decoration:none;}

.ghsl-main{max-width:var(--maxw);margin-inline:auto;padding:clamp(48px,7vw,96px) var(--gutter) clamp(56px,8vw,104px);}
.ghsl-main > *{max-width:700px;}
.ghsl-main h1{max-width:none;}
.ghsl-eyebrow{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--signal);margin:0 0 1rem;}
.ghsl-main h1{font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:.9;font-size:clamp(2.8rem,1.8rem + 5vw,5.5rem);margin:0 0 1.6em;}
.ghsl-main h2{font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:1;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.1rem);margin:2.4em 0 .5em;padding-top:.8em;border-top:2.5px solid var(--ink);}
.ghsl-main h3{font-family:var(--mono);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.84rem;color:var(--ink);margin:1.8em 0 .35em;}
.ghsl-main p,.ghsl-main ul{margin:0 0 1em;color:var(--ink-soft);}
.ghsl-main address{font-style:normal;color:var(--ink);margin:.2em 0;}
.ghsl-main strong{color:var(--ink);}
.ghsl-main ul{padding-left:1.2em;}
.ghsl-main li{margin:.2em 0;}
.ghsl-ph{display:inline;background:rgba(227,6,19,.1);color:var(--signal-deep);font-family:var(--mono);font-size:.86em;padding:.05em .4em;border-radius:2px;}

.ghsl-foot{background:var(--ink);color:#fff;padding-block:clamp(48px,6vw,80px);margin-top:clamp(40px,6vw,72px);}
.ghsl-foot .ghsl-wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}
.ghsl-foot__top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start;}
.ghsl-foot__logo{height:42px;width:auto;margin-bottom:1.2rem;filter:brightness(0) invert(1);opacity:.92;}
.ghsl-foot__claim{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:rgba(255,255,255,.6);max-width:30ch;line-height:1.6;margin:0;}
.ghsl-foot h4{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 1.1rem;}
.ghsl-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;}
.ghsl-foot li,.ghsl-foot li a{font-size:.96rem;color:rgba(255,255,255,.85);}
.ghsl-foot li a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.ghsl-foot__bottom{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:clamp(34px,5vw,56px);padding-top:1.6rem;border-top:1.5px solid rgba(255,255,255,.16);font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:rgba(255,255,255,.5);}
.ghsl-foot__bottom a{color:rgba(255,255,255,.7);}
.ghsl-foot__bottom a:hover{color:#fff;}
@media (max-width:760px){.ghsl-foot__top{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.ghsl-foot__top{grid-template-columns:1fr;}}
