:root{--bg:#0b0c0f;--panel:#17191f;--panel2:#202127;--fg:#f5f5f4;--muted:#a5a7ae;--line:#34353d;--accent:#e12b39;--accent2:#a11225;--ivory:#eae8e0;--max:1220px;--font:Arial,Helvetica,sans-serif;--display:'Arial Narrow',Impact,'Arial Black',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:#fff}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:var(--accent);color:white}.container{width:min(var(--max),calc(100% - 44px));margin:auto}.skip{position:absolute;top:-60px;z-index:999;background:white;color:black;padding:12px}.skip:focus{top:0}
header{position:sticky;top:0;z-index:40;background:rgba(11,12,15,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.09)}.nav{min-height:82px;display:flex;align-items:center;gap:36px;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;min-width:222px}.brand-emblem{width:48px;height:48px;position:relative;flex:none}.brand-emblem img{width:100%;height:100%;object-fit:contain}.brand-emblem:has(img[src="assets/guardian-gym-original.png"]){border:0}.brand-type{font:800 29px/.85 var(--display);letter-spacing:1.2px;text-transform:uppercase}.brand-type small{font:600 9px/1.1 var(--font);display:block;letter-spacing:2.5px;margin-top:8px;color:var(--muted)}.emblem-fallback{border:2px solid #bbb;color:#eee;border-radius:50%;width:100%;height:100%;display:grid;place-items:center;font:800 14px var(--display)}.navlinks{display:flex;align-items:center;gap:29px}.navlinks a{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d4d4d7}.navlinks a:hover,.navlinks a[aria-current="page"]{color:white}.nav-actions{display:flex;gap:12px;align-items:center}.btn{border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:52px;padding:0 22px;text-align:center;font-size:12px;letter-spacing:.09em;font-weight:800;text-transform:uppercase;transition:background .2s,color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{color:white;background:var(--accent)}.btn-primary:hover{color:white;background:#f43b49}.btn-outline{color:white;border-color:#78787f;background:transparent}.btn-outline:hover{color:#111;background:white}.btn-plain{color:#fff;padding-left:0;padding-right:0}.menu-button{display:none;background:none;border:1px solid #45464c;color:#fff;width:48px;height:48px;font-size:23px}.floating-cta{position:fixed;right:18px;bottom:20px;z-index:30;box-shadow:0 12px 35px #0008}
.eyebrow{font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.24em;color:#ea6670}.eyebrow:before{content:'';display:inline-block;vertical-align:middle;background:var(--accent);width:22px;height:2px;margin-right:12px}.hero{padding:100px 0 82px;position:relative;overflow:hidden;min-height:690px;display:flex;align-items:center;background:radial-gradient(ellipse at 77% 27%,rgba(211,37,53,.16),transparent 38%),linear-gradient(125deg,#0b0c0f 35%,#181b21)}.hero:before{content:'GUARDIAN';position:absolute;bottom:-70px;right:-36px;font:900 clamp(130px,23vw,390px)/.7 var(--display);letter-spacing:-.03em;color:rgba(255,255,255,.028);pointer-events:none}.hero .container{position:relative;z-index:1}.hero-copy{max-width:850px}.hero h1,.page-hero h1{font:900 clamp(76px,12vw,160px)/.82 var(--display);letter-spacing:-.024em;text-transform:uppercase;margin:28px 0}.hero h1 em,.page-hero h1 em{color:var(--accent);font-style:normal}.lead{font-size:clamp(17px,2vw,21px);line-height:1.68;color:#cdced3;max-width:670px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.hero-meta{display:flex;gap:35px;flex-wrap:wrap;margin-top:84px;color:#9da0a8;text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:700}.hero-meta b{color:white}.hero-side{position:absolute;right:0;top:30%;font:700 12px var(--font);text-transform:uppercase;letter-spacing:.2em;color:#a3a3a6;writing-mode:vertical-rl}
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#15171c}.band-inner{display:grid;grid-template-columns:repeat(4,1fr)}.band-inner div{padding:24px 18px;border-right:1px solid var(--line)}.band-inner div:first-child{padding-left:0}.band-inner div:last-child{border-right:0}.band strong{display:block;font:800 24px var(--display);text-transform:uppercase;line-height:1.2}.band span{display:block;font-size:11px;color:#aeb0b6;margin-top:6px}
.section{padding:100px 0}.section.mini{padding:70px 0}.section-heading{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:34px}.section-heading p{max-width:480px;margin:0;color:#aeb0b6}.section h2,.section-heading h2,.page-hero h2{font:800 clamp(46px,6vw,78px)/.9 var(--display);margin:12px 0;text-transform:uppercase;letter-spacing:-.01em}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.offer{min-height:425px;background:#1a1c21;border:1px solid #32343a;padding:30px;display:flex;flex-direction:column;position:relative;overflow:hidden}.offer:before{content:attr(data-number);font:900 220px/.8 var(--display);color:#ffffff06;position:absolute;bottom:14px;right:-10px}.offer>*{position:relative}.offer small{font-size:11px;letter-spacing:.22em;color:#e45c68;font-weight:800}.offer h3{font:800 clamp(42px,5vw,65px)/.9 var(--display);margin:30px 0 16px}.offer p{max-width:340px;color:#c1c2c7;font-size:14px}.offer .bottom{margin-top:auto;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:700}.offer .bottom a{color:white;text-decoration:underline;text-decoration-color:#e12b39;text-underline-offset:6px}.offer:hover{border-color:#bf3542;background:#212228}.redline{width:100%;height:3px;background:linear-gradient(90deg,var(--accent),transparent)}
.pitch{background:var(--ivory);color:#101115;padding:86px 0}.pitch .eyebrow{color:#b12232}.pitch h2{font:900 clamp(50px,7.5vw,100px)/.91 var(--display);text-transform:uppercase;max-width:980px;margin:22px 0}.pitch-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.pitch-body{padding-top:28px;font-size:18px;color:#414247}.pitch-body strong{color:#16171a}.pitch-list{list-style:none;margin:28px 0 0;padding:0}.pitch-list li{border-top:1px solid #c3c1b9;padding:12px 0;font-size:14px}.pitch-list li:before{content:'↗';color:#b71d2c;font-weight:bold;margin-right:10px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.step{padding:25px;border-left:1px solid #44454c}.step .num{font:800 54px/1 var(--display);color:#e12b39}.step h3{font:700 29px var(--display);text-transform:uppercase}.step p{color:#c0c1c5;font-size:14px}
.highlight{background:#b91e2c;padding:70px 0;position:relative;overflow:hidden}.highlight:before{content:'JETZT';font:900 270px/.9 var(--display);color:#fff1;right:-10px;top:-64px;position:absolute}.highlight-content{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px}.highlight h2{font:900 clamp(50px,8vw,105px)/.83 var(--display);text-transform:uppercase;max-width:780px;margin:8px 0 18px}.highlight p{max-width:700px}.highlight .btn{background:#101114;color:white;min-width:240px}
.page-hero{padding:95px 0 74px;position:relative;overflow:hidden;background:linear-gradient(125deg,#17191e,#08090b);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(65px,11vw,126px);max-width:1000px}.page-hero p{color:#bfc1c7;font-size:19px;max-width:770px}.subnav{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 0}.subnav a{border:1px solid #4a4a53;padding:9px 15px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.subnav a:hover{border-color:var(--accent)}
.program{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;border-bottom:1px solid var(--line);padding:55px 0}.program h2{margin:8px 0;font:800 54px/.96 var(--display);text-transform:uppercase}.program ul{color:#b7b9bd;padding-left:20px}.program .schedule{background:#1b1d23;padding:20px 24px;margin-top:25px}.program .schedule strong{display:block;color:#fff}.program .schedule span{color:#b7b9bf;font-size:14px}
.price-switch{display:flex;gap:8px;margin:20px 0 32px}.price-switch button{background:#18191e;color:#aaa;border:1px solid #464750;padding:12px 22px;font-size:13px;font-weight:bold}.price-switch button.active{background:var(--accent);border-color:var(--accent);color:#fff}.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.price{border:1px solid #474851;background:#191b20;padding:26px 21px;min-height:310px;display:flex;flex-direction:column}.price.featured{border:1px solid var(--accent)}.price h3{font:800 28px var(--display);text-transform:uppercase;margin:10px 0}.price .amount{font:800 49px/.95 var(--display);margin:20px 0 6px}.price small{color:#aaa}.price p{font-size:13px;color:#b9b9bf}.price .btn{margin-top:auto;min-height:44px}.price-notes{max-width:990px;margin-top:22px;color:#b4b5ba;font-size:13px}.price-notes strong{color:#fff}
.schedule-table{width:100%;border-collapse:collapse;margin-top:25px}.schedule-table th{text-align:left;color:#dc5c66;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.schedule-table td,.schedule-table th{border-bottom:1px solid #383a42;padding:17px 13px}.schedule-table td{font-size:14px}.schedule-table td:first-child{font-weight:800;color:#fff}.schedule-table tr:nth-child(even){background:#15171b}.muted{color:var(--muted)}
.form-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:75px;align-items:start}.form-panel{background:#1b1d22;border:1px solid #3a3a43;padding:40px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:bold;color:#eee}.field input,.field textarea,.field select{width:100%;border:1px solid #4e505b;background:#101115;color:#f5f5f5;padding:15px 16px;min-height:50px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:110px}.helper{color:#a7a8ad;font-size:12px}.callout{border-left:4px solid var(--accent);padding:20px 25px;background:#1b1d22;margin-top:30px}.callout p{margin:8px 0;color:#b5b7bc;font-size:14px}.status{padding:13px 15px;background:#24262c;margin-top:12px;font-size:13px;color:#e0e0e1;display:none}.status.visible{display:block}.faq details{border-top:1px solid #42434b;padding:15px 0}.faq summary{font-weight:700;cursor:pointer;list-style:none;position:relative;padding-right:26px}.faq summary:after{content:'+';position:absolute;right:4px;font-size:24px}.faq details[open] summary:after{content:'−'}.faq details p{color:#b9bbc1;font-size:14px}
.people{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.person{border:1px solid #35353d;background:#181a20;padding:31px;min-height:260px;display:flex;flex-direction:column;justify-content:end}.person .initials{font:800 100px/.8 var(--display);color:#ffffff12;align-self:flex-end}.person h3{font:800 35px/1 var(--display);margin:15px 0 0;text-transform:uppercase}.person p{color:#babdc2;font-size:13px}
footer{border-top:1px solid var(--line);background:#08090a;padding:65px 0 27px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:55px}.footer-grid h3{font:800 28px/1 var(--display);text-transform:uppercase;margin:0 0 17px}.footer-grid a,.footer-grid p{color:#aeb0b7;font-size:13px}.footer-grid a{display:block;padding:4px 0}.footer-grid a:hover{color:white}.footline{border-top:1px solid #25272e;margin-top:60px;padding-top:24px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#888a92}.footline a{color:#ccc}.preview-bar{font-size:11px;text-align:center;padding:8px;background:#4b1720;color:#fff;border-bottom:1px solid #ff6a73;letter-spacing:.05em}
@media(max-width:1020px){.navlinks{display:none;position:absolute;top:82px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:14px 22px;background:#111216;border-bottom:1px solid #494949}.navlinks.open{display:flex}.navlinks a{padding:15px 8px}.menu-button{display:block}.nav-actions>.btn{display:none}.grid3{grid-template-columns:1fr 1fr}.grid3 .offer:last-child{grid-column:span 2;min-height:300px}.prices{grid-template-columns:repeat(2,1fr)}.hero-side{display:none}.pitch-grid{gap:36px}}
@media(max-width:690px){.container{width:calc(100% - 34px)}.nav{min-height:70px}.navlinks{top:70px}.brand{min-width:0}.brand-emblem{width:37px;height:37px}.brand-type{font-size:23px}.brand-type small{font-size:7px}.hero{min-height:auto;padding:90px 0 57px}.hero h1{font-size:clamp(65px,16.8vw,110px);margin:20px 0}.hero-meta{margin-top:58px;gap:14px}.hero-meta span{flex-basis:46%}.band-inner{grid-template-columns:repeat(2,1fr)}.band-inner div{padding:17px;border-bottom:1px solid #35353b}.band-inner div:first-child{padding-left:17px}.band-inner div:nth-child(2){border-right:none}.band strong{font-size:20px}.section{padding:65px 0}.section-heading,.highlight-content{display:block}.section-heading p{margin-top:16px}.grid3,.grid2,.pitch-grid,.form-layout,.people{grid-template-columns:1fr}.grid3 .offer:last-child{grid-column:span 1}.offer{min-height:320px}.pitch{padding:60px 0}.pitch h2{font-size:clamp(47px,12vw,73px)}.steps{grid-template-columns:1fr}.step{padding:14px 20px}.highlight{padding:55px 0}.highlight .btn{margin-top:16px}.page-hero{padding:75px 0 57px}.page-hero h1{font-size:clamp(60px,16vw,95px)}.program{grid-template-columns:1fr;gap:6px;padding:37px 0}.prices{grid-template-columns:1fr 1fr}.price{padding:17px 14px;min-height:280px}.price .amount{font-size:40px}.price h3{font-size:24px}.price .btn{font-size:10px;padding:0 9px}.schedule-table td,.schedule-table th{padding:12px 6px;font-size:12px}.form-panel{padding:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:27px}.footer-grid>div:first-child{grid-column:span 2}.footline{flex-direction:column;margin-top:30px}.floating-cta{bottom:10px;right:10px;padding:0 12px;min-height:42px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Guardian Gym: Original-Emblem vom Inhaber am 10.08.2026 bereitgestellt, unverändert verwendet. */
.brand{min-width:265px;gap:14px}
.brand-emblem{width:64px;height:64px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.20);background:white}
.brand-emblem img{width:100%;height:100%;object-fit:contain;display:block;border-radius:50%}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(280px,.82fr);align-items:center;gap:28px}
.hero-copy{min-width:0;max-width:780px}
.hero-layout h1{font-size:clamp(66px,8.3vw,122px);overflow-wrap:normal}
.hero-logo-wrap{display:flex;flex-direction:column;align-items:center;gap:26px;position:relative;isolation:isolate}
.hero-logo-wrap:before{content:'';position:absolute;width:112%;aspect-ratio:1;top:-6%;border-radius:50%;background:radial-gradient(circle,#e42e4338 0%,#e42e430c 40%,transparent 71%);filter:blur(16px);z-index:-1}
.hero-gorilla{display:block;width:100%;max-width:468px;aspect-ratio:1;object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 22px 80px #0009,0 0 0 2px #a9262c;}
.logo-tagline{font-size:11px;font-weight:800;color:#b9bbc0;letter-spacing:.27em;text-align:center}
.footer-brand{display:flex;align-items:center;gap:20px;}
.footer-brand img{width:88px;height:88px;border-radius:50%;object-fit:contain;background:white;}
.footer-brand h3{margin:0 0 0!important;}
@media(max-width:1150px){.nav{gap:18px}.brand{min-width:205px}.brand-type{font-size:23px}.navlinks{gap:17px}.hero-layout h1{font-size:clamp(65px,8vw,100px)}}
@media(max-width:1020px){.hero-layout{grid-template-columns:1.1fr .85fr;gap:22px}.hero-layout h1{font-size:clamp(58px,7vw,90px)}.brand{min-width:0}}
@media(max-width:690px){.brand-emblem{width:52px;height:52px}.brand-type{font-size:22px}.hero{padding-top:60px}.hero-layout{grid-template-columns:1fr;gap:44px}.hero-layout h1{font-size:clamp(63px,16vw,108px)}.hero-logo-wrap{grid-row:1;max-width:270px;width:68%;margin:0 auto 2px;gap:10px}.hero-logo-wrap .logo-tagline{font-size:9px;letter-spacing:.16em}.hero-meta{margin-top:37px}.footer-brand img{width:72px;height:72px}}
@media(max-width:360px){.brand-type{font-size:19px}.brand-emblem{width:43px;height:43px}.hero-layout h1{font-size:59px}}


/* Qualitätskorrektur 19.10.2026: Bildgröße, Reihenfolge und lesbare CTAs. */
.hero-gorilla{width:100%;height:auto!important;aspect-ratio:1/1;object-fit:cover}
.hero-logo-wrap{min-width:0}
.floating-cta{display:none!important}
@media(max-width:690px){
 .hero{padding:50px 0 66px}
 .hero-layout{grid-template-columns:1fr;gap:28px}
 .hero-copy{grid-row:1}
 .hero-logo-wrap{grid-row:2;width:min(58%,210px);max-width:210px;margin:0 auto}
 .hero-layout h1{font-size:clamp(55px,14vw,68px);line-height:.88;margin:19px 0 24px}
 .hero-meta{margin-top:32px}
 .prices{grid-template-columns:1fr}
 .price{min-height:238px;padding:24px}
 .price .amount{font-size:52px}
 .price .btn{font-size:13px;padding:0 16px}
 .brand-type small{font-size:9px;letter-spacing:1.5px}
}


/* GUARDIAN GYM / Editorial Relaunch v3 / Original-Gorilla-Logo, no generated imagery. */
:root{--accent:#d52d38;--accent2:#a72430;--ivory:#efeee9;--bg:#0a0b0d;--panel:#17191e;--max:1280px}
html{scroll-padding-top:95px}
body{background:#0b0c0f;letter-spacing:.003em}
.container{width:min(var(--max),calc(100% - 58px))}
.preview-bar{font-size:10px;letter-spacing:.12em;background:#402028;border-bottom:0;padding:7px 16px}
header{background:rgba(10,11,13,.97);border-bottom:1px solid #38383c}
.nav{min-height:80px}
.brand{min-width:0}.brand-emblem{width:61px;height:61px;border-radius:50%;box-shadow:none;border:1px solid #a73944;background:transparent}
.brand-emblem img{object-fit:cover;border-radius:50%}
.brand-type{font:900 25px/.9 Arial,Helvetica,sans-serif;letter-spacing:-.06em}
.brand-type small{font:700 9px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.16em;margin-top:7px}
.navlinks{gap:25px}.navlinks a{letter-spacing:.045em}.nav-actions>.btn{min-height:45px;padding:0 19px;font-size:11px}
.btn{border-radius:1px;min-height:56px;font-size:12px;letter-spacing:.035em;transition:background .16s ease,transform .16s ease}
.btn-primary{background:#cc2732}.btn-primary:hover{background:#eb3440}
.gg-hero{background:radial-gradient(ellipse at 78% 27%,#721a2026,transparent 46%),linear-gradient(115deg,#101114 0%,#090a0c 55%,#171113 100%);position:relative;overflow:hidden;border-bottom:1px solid #363338}
.gg-hero:before{content:"";position:absolute;width:47%;height:105%;left:53%;top:-5%;opacity:.33;pointer-events:none;background-image:linear-gradient(90deg,#fff0 93%,#ffffff16 93%),linear-gradient(0deg,#fff0 93%,#ffffff12 93%);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent,#000)}
.gg-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);min-height:715px;align-items:center;gap:50px;padding-top:70px;padding-bottom:65px;position:relative;z-index:1}
.gg-hero-copy{min-width:0}
.gg-overline{display:block;color:#f07d83;font-size:10px;font-weight:900;letter-spacing:.21em;line-height:1.6}
.gg-overline.dark{color:#9f232e}
.gg-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:10px;background:#d62e39}
.gg-hero h1{font:900 clamp(80px,8vw,128px)/.87 Arial,Helvetica,sans-serif;letter-spacing:-.09em;margin:28px 0 25px;color:#f6f4f0}
.gg-hero h1 em{font-style:normal;color:#e33541}
.gg-hero-intro{font-size:clamp(19px,2vw,27px);letter-spacing:-.04em;font-weight:750;line-height:1.2;margin:0 0 16px;color:#fff}
.gg-hero-text{max-width:505px;font-size:16px;color:#adb0b6;line-height:1.75}
.gg-hero-buttons{display:flex;gap:28px;align-items:center;margin:32px 0 47px;flex-wrap:wrap}
.gg-text-link{display:inline-flex;align-items:center;gap:14px;color:#fff;text-decoration:none;font-size:13px;font-weight:800;border-bottom:1px solid #db414d;padding-bottom:9px}
.gg-text-link:hover{color:#f8757f}
.gg-hero-facts{display:flex;flex-wrap:wrap;gap:24px;border-top:1px solid #38383f;padding-top:20px}
.gg-hero-facts span{font-size:10px;letter-spacing:.1em;font-weight:800;color:#b9bbc1}
.gg-hero-facts b{color:#ed404b;margin-right:8px}
.gg-hero-visual{min-width:0;display:flex;justify-content:center;align-items:center}
.gg-visual-frame{width:min(100%,480px);aspect-ratio:1/1.14;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;border:1px solid #484047;background:linear-gradient(140deg,#1a1618,#0b0b0c);padding:40px 32px;box-shadow:19px 19px 0 #9f242a22}
.gg-visual-frame:before,.gg-visual-frame:after{content:"";position:absolute;border:2px solid #ce2835;width:37px;height:37px;pointer-events:none}
.gg-visual-frame:before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.gg-visual-frame:after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.gg-visual-frame img{width:100%;max-width:390px;height:auto!important;aspect-ratio:1;object-fit:cover;border-radius:50%;background:white;box-shadow:0 25px 50px #0008}
.gg-frame-kicker,.gg-frame-bottom{font-size:10px;font-weight:800;letter-spacing:.16em;color:#9fa0a4;text-align:center}
.gg-frame-kicker{margin-bottom:25px}.gg-frame-bottom{margin-top:26px}.gg-frame-bottom b{color:#d72d38;margin:0 4px}
.gg-loc{position:relative;z-index:2;border-top:1px solid #38383f;padding-top:16px;padding-bottom:18px;display:flex;justify-content:space-between;gap:16px;color:#8f9198;letter-spacing:.18em;font-size:10px;font-weight:700}
.gg-course-section{background:var(--ivory);color:#15161a;padding:110px 0 115px}
.gg-section-top{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:36px}
.gg-section-top h2,.gg-two-col-intro h2{font:900 clamp(56px,6.6vw,105px)/.91 Arial,Helvetica,sans-serif;letter-spacing:-.078em;margin:18px 0 0}
.gg-section-top p{color:#57585e;max-width:365px;font-size:16px;line-height:1.65;margin:0 0 5px}
.gg-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#a6a6a0;border:1px solid #a6a6a0}
.gg-course-card{min-width:0;display:flex;flex-direction:column;background:#f8f7f2;min-height:495px;position:relative;transition:background .18s ease}
.gg-course-card:hover{background:#fff}
.gg-card-top{display:flex;justify-content:space-between;gap:14px;padding:24px 23px;border-bottom:1px solid #c6c5c1;color:#74747a;font-size:10px;letter-spacing:.065em;font-weight:800}
.gg-card-top span:last-child{color:#ae2230}
.gg-card-main{padding:35px 26px 46px;flex:1}
.gg-card-main h3{font:900 clamp(65px,6.5vw,100px)/.84 Arial,Helvetica,sans-serif;letter-spacing:-.088em;margin:0 0 25px;min-height:164px;position:relative}
.gg-card-arrow{font:400 32px Arial,sans-serif;position:absolute;right:0;bottom:10px;color:#b72e37}
.gg-card-main p{font-size:15px;line-height:1.62;color:#4e5054;max-width:315px}
.gg-card-cta{padding:22px 24px;border-top:1px solid #c6c5c1;display:flex;justify-content:space-between;align-items:center;gap:13px;font-size:11px;letter-spacing:.09em;font-weight:900;color:#18181b}
.gg-card-cta span{color:#b31d2a;font-size:23px}.gg-card-cta:hover{color:#aa1424}
.gg-values{background:#151517;color:#f2f1eb;padding:110px 0 115px}
.gg-values-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.gg-values h2{font:900 clamp(85px,10vw,152px)/.81 Arial,Helvetica,sans-serif;letter-spacing:-.095em;margin:24px 0}
.gg-values h2 em{font-style:normal;color:#d92d39}
.gg-values-copy{padding-top:25px}
.gg-values-copy>p{font-size:clamp(18px,2vw,24px);line-height:1.55;color:#d6d6d7;margin:0 0 38px}
.gg-values-row{border-top:1px solid #414146;display:grid;grid-template-columns:46px 1fr;gap:12px;padding:19px 0}
.gg-values-row>b{color:#e3434d;font-size:11px}
.gg-values-row strong,.gg-values-row span{display:block}
.gg-values-row strong{font-size:14px;letter-spacing:.04em;margin-bottom:8px}
.gg-values-row span{color:#a2a4ab;font-size:13px}
.gg-values-copy .gg-text-link{margin-top:27px}
.gg-steps-section{background:#f3f1eb;color:#17181a;padding:105px 0 110px}
.gg-two-col-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end;margin-bottom:68px}
.gg-two-col-intro p{font-size:17px;color:#54555a;line-height:1.65;max-width:420px;margin:0 0 25px}
.gg-step-line{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid #25252a}
.gg-step-line>div{padding:30px 26px 0;border-right:1px solid #c9c8c2;display:flex;flex-direction:column;gap:12px}
.gg-step-line>div:first-child{padding-left:0}.gg-step-line>div:last-child{border:0}
.gg-step-line b{color:#be2532;font:900 45px/1 Arial,sans-serif;letter-spacing:-.09em}
.gg-step-line strong{font-size:13px;letter-spacing:.08em}.gg-step-line span{font-size:14px;color:#66676d}
.gg-cost-section{background:#ba2c37;color:#fff;padding:88px 0}
.gg-cost-grid{display:flex;align-items:center;justify-content:space-between;gap:50px}
.gg-cost-grid>div{max-width:790px}
.gg-cost-grid .gg-overline{color:#ffddde}
.gg-cost-grid h2{font:900 clamp(57px,7vw,96px)/.88 Arial,sans-serif;letter-spacing:-.08em;margin:15px 0}
.gg-cost-grid p{font-size:17px;line-height:1.6}
.gg-cost-grid .gg-fee{color:#f4b8bc;font-size:12px}
.gg-cost-link{border:2px solid #fff;min-width:260px;padding:28px 24px;font:900 24px/1.12 Arial,sans-serif;letter-spacing:-.04em;display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.gg-cost-link span{align-self:flex-end;font-size:42px}.gg-cost-link:hover{background:#fff;color:#b72a36}
.gg-final{background:#0e0f11;padding:105px 0}
.gg-final-grid{display:flex;align-items:end;justify-content:space-between;gap:35px}
.gg-final h2{font:900 clamp(77px,10vw,138px)/.83 Arial,sans-serif;letter-spacing:-.09em;margin:20px 0}
.gg-final p{font-size:18px;color:#b1b2b8}.gg-final .btn{min-width:260px}
.page-hero{background:#eceae4;color:#1b1b1f;padding:77px 0 72px}
.page-hero .eyebrow{color:#af2631}
.page-hero h1{font:900 clamp(65px,8.6vw,112px)/.92 Arial,sans-serif;letter-spacing:-.085em;margin:21px 0}
.page-hero h1 em{color:#bd2733}
.page-hero p{color:#56575b;font-size:18px;line-height:1.6}
.subnav a{color:#202024;border-color:#bbb}
.section h2,.section-heading h2,.page-hero h2{font:900 clamp(42px,5.3vw,70px)/.96 Arial,sans-serif;letter-spacing:-.06em}
.program h2{font:900 45px/.98 Arial,sans-serif;letter-spacing:-.055em}
.program{padding:65px 0;gap:70px}
.person{background:#1a1b1d;border-color:#45464c}
.person h3{font:900 36px Arial,sans-serif;letter-spacing:-.055em}
.person .initials{font:900 95px Arial,sans-serif;letter-spacing:-.1em}
.price{background:#191b20}.price h3{font:900 23px/1.05 Arial,sans-serif;letter-spacing:-.05em}
.price .amount{font:900 57px Arial,sans-serif;letter-spacing:-.08em}
.form-panel{background:#18191c}
.gg-form-heading{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #484951;padding-bottom:18px;margin-bottom:25px;font-size:12px;letter-spacing:.13em}
.gg-form-heading strong{color:#f05963}
.gg-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gg-confirm{display:flex;align-items:flex-start;gap:10px;margin:21px 0;color:#d7d7da;font-size:12px;line-height:1.6}
.gg-confirm input{accent-color:#cd2b37;width:17px;height:17px;flex:0 0 auto;margin-top:2px}
.gg-privacy-copy a{color:#fff;text-decoration:underline}
.gg-submit{width:100%}
.gg-trial-notes{border-block:1px solid #44464e;margin:30px 0;padding:16px 0;display:flex;flex-direction:column;gap:12px}
.gg-trial-notes span{color:#b9babf;font-size:13px}
.gg-trial-notes b{display:inline-block;min-width:110px;color:#fff}
.gg-privacy-section{border-top:1px solid #40424a}
.gg-privacy-section p{max-width:900px;color:#bfc0c4}
.status{border-left:3px solid #e34250}
.status.good{background:#16362c;border-color:#3bd099;color:#d8fbed}
.status.error{background:#411c25;border-color:#ea4252;color:#ffe4e7}
.footer-grid a:hover{text-decoration:underline}
@media(max-width:1110px){
 .gg-hero-grid{grid-template-columns:1fr .82fr;gap:25px;min-height:635px}
 .gg-hero h1{font-size:clamp(69px,8.5vw,92px)}
 .gg-course-card{min-height:480px}.gg-card-main h3{font-size:clamp(58px,7vw,82px)}
 .gg-visual-frame{padding:34px 25px}
}
@media(max-width:1020px){
 .navlinks{top:80px}.gg-hero-grid{grid-template-columns:1fr 310px}
 .gg-hero h1{font-size:clamp(62px,8vw,80px)}
 .gg-section-top h2{font-size:70px}
 .gg-course-grid{grid-template-columns:1fr}
 .gg-course-card{min-height:unset}
 .gg-card-main h3{font-size:76px;min-height:90px}
 .gg-card-main{padding:32px 25px}
 .gg-card-main p{max-width:700px}
 .gg-values-grid{gap:40px}
}
@media(max-width:760px){
 .container{width:calc(100% - 38px)}
 .nav{min-height:69px}.navlinks{top:69px}
 .brand-emblem{width:47px;height:47px}
 .brand-type{font-size:22px}
 .gg-hero-grid{display:flex;flex-direction:column;gap:33px;align-items:stretch;min-height:0;padding-top:69px;padding-bottom:45px}
 .gg-hero h1{font-size:clamp(60px,13.2vw,95px);letter-spacing:-.085em;margin:21px 0 18px}
 .gg-hero-intro{font-size:20px}.gg-hero-text{font-size:15px}
 .gg-hero-buttons{margin:24px 0 26px;gap:21px}
 .gg-hero-visual{display:none}
 .gg-hero-facts{margin-top:22px;gap:13px}
 .gg-loc{padding-top:14px;font-size:9px;letter-spacing:.06em}
 .gg-loc span:last-child{display:none}
 .gg-course-section,.gg-values,.gg-steps-section{padding:69px 0}
 .gg-section-top{display:block;margin-bottom:24px}
 .gg-section-top h2,.gg-two-col-intro h2{font-size:clamp(60px,12vw,76px)}
 .gg-section-top p{margin-top:20px;font-size:15px}
 .gg-course-card{min-height:0}
 .gg-card-top{padding:18px 20px;font-size:9px}
 .gg-card-main{padding:29px 21px 31px}
 .gg-card-main h3{font-size:clamp(65px,16vw,90px);min-height:0;margin-bottom:19px}
 .gg-card-main p{font-size:14px}
 .gg-card-cta{padding:18px 21px}
 .gg-values-grid,.gg-two-col-intro{display:block}
 .gg-values h2{font-size:clamp(84px,20vw,130px)}
 .gg-values-copy{padding-top:8px}
 .gg-values-copy>p{font-size:18px}
 .gg-two-col-intro p{margin-top:29px}
 .gg-step-line{grid-template-columns:1fr}
 .gg-step-line>div,.gg-step-line>div:first-child{padding:23px 0;border-right:0;border-bottom:1px solid #c8c7c0;gap:8px}
 .gg-cost-grid,.gg-final-grid{display:block}
 .gg-cost-section{padding:63px 0}.gg-cost-grid h2{font-size:clamp(61px,12vw,85px)}
 .gg-cost-grid p{font-size:16px}
 .gg-cost-link{display:flex;min-width:0;width:100%;margin-top:30px}
 .gg-final{padding:74px 0}
 .gg-final h2{font-size:clamp(83px,20vw,125px)}
 .gg-final .btn{margin-top:22px;width:100%}
 .page-hero{padding:55px 0 51px}
 .page-hero h1{font-size:clamp(52px,12vw,80px);overflow-wrap:anywhere}
 .page-hero p{font-size:16px}
 .gg-form-row{grid-template-columns:1fr;gap:0}
 .form-panel{padding:24px 20px}
 .gg-trial-section{padding:65px 0}
 .gg-hero .gg-overline{font-size:9px}
}
@media(max-width:380px){
 .gg-hero h1{font-size:55px}
 .gg-hero-buttons .btn{width:100%}
 .gg-hero-facts{gap:9px}
 .gg-hero-facts span{font-size:9px}
}


/* Finale Typografie-/Mobile-Korrektur: lange Überschrift niemals anschneiden. */
.gg-hero h1{font-size:clamp(58px,7vw,91px);line-height:.98;letter-spacing:-.083em;overflow-wrap:normal}
@media(max-width:1020px){.gg-hero h1{font-size:clamp(49px,7vw,71px)}}
@media(max-width:760px){
 .gg-hero h1{font-size:clamp(37px,10.7vw,66px);letter-spacing:-.08em;line-height:.98}
 .gg-hero-visual{display:flex;margin-top:5px}
 .gg-visual-frame{width:min(245px,72vw);aspect-ratio:1/1.09;padding:18px 20px;box-shadow:9px 9px 0 #9f242a22}
 .gg-visual-frame img{max-width:184px}
 .gg-frame-kicker,.gg-frame-bottom{font-size:7px;letter-spacing:.13em}
 .gg-frame-kicker{margin-bottom:13px}
 .gg-frame-bottom{margin-top:13px}
 .gg-hero-grid{gap:22px}
}
@media(max-width:380px){.gg-hero h1{font-size:clamp(35px,10.4vw,41px)}}


/* Guardian Gym – membership, operator details and first-name team */
.gg-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gg-team-grid article{display:flex;flex-direction:column;justify-content:flex-end;min-height:310px;padding:30px;border:1px solid #44464d;background:#1b1d21}
.gg-team-grid article span{color:#ef6771;font-size:12px;font-weight:800;letter-spacing:.13em}
.gg-team-grid h2{font:900 clamp(46px,6vw,84px)/.9 Arial,sans-serif;letter-spacing:-.08em;margin:20px 0 15px}
.gg-team-grid p{color:#c0c2c6}
.gg-tariff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gg-tariff-grid article{background:#1a1b20;border:1px solid #44454e;padding:25px;display:flex;flex-direction:column;min-height:290px}
.gg-tariff-grid small{font-size:10px;color:#f17f87;font-weight:800;letter-spacing:.11em}
.gg-tariff-grid h3{font:900 clamp(37px,4vw,58px)/1 Arial,sans-serif;letter-spacing:-.06em;margin:23px 0}
.gg-tariff-grid h3 span{font:500 14px Arial,sans-serif;color:#bfc1c6;letter-spacing:0}
.gg-tariff-grid p{font-size:13px;line-height:1.6;color:#c0c1c7}
.gg-tariff-grid article>a{margin-top:auto;border-top:1px solid #54555d;padding-top:16px;font-weight:800;font-size:13px}
.gg-tariff-grid article>a:hover{color:#f17f87}
.gg-start-option{background:#edeae3;color:#15151b;margin-top:26px;padding:22px 25px;font-size:14px;line-height:1.7}
.gg-contract-downloads{background:#ebe9e4;color:#121316;padding:90px 0}
.gg-contract-downloads .eyebrow{color:#ac2731}
.gg-contract-downloads h2{font:900 clamp(45px,6.5vw,82px)/.94 Arial,sans-serif;letter-spacing:-.075em;margin:18px 0}
.gg-contract-downloads>div>p{max-width:790px;color:#57585d;line-height:1.7}
.gg-contract-list{margin:36px 0}
.gg-contract-list>a{display:flex;justify-content:space-between;align-items:center;gap:24px;color:#151619;border-top:1px solid #aeb0b0;padding:24px 12px}
.gg-contract-list>a:last-child{border-bottom:1px solid #aeb0b0}
.gg-contract-list>a:hover{background:#dedbd4}
.gg-contract-list>a span{font-size:18px;font-weight:800}
.gg-contract-list>a b{color:#a12d38;margin-right:15px}
.gg-contract-list>a small{display:block;color:#61656b;font-size:12px;margin:6px 0 0 40px;font-weight:400}
.gg-contract-list>a strong{font-size:13px;white-space:nowrap;color:#9f202b}
.gg-contract-warning{font-size:12px}
.gg-imprint{display:grid;grid-template-columns:.88fr 1.12fr;gap:65px}
.gg-imprint-details{border:1px solid #41434a;padding:30px 35px;background:#191b21}
.gg-imprint-details h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#f57a80;margin:25px 0 7px}
.gg-imprint-details h3:first-child{margin-top:0}
.gg-imprint-details p{margin:0 0 10px;line-height:1.6}
.gg-imprint-details a{text-decoration:underline}
.gg-imprint-notice{margin-top:28px;padding:20px 24px;background:#1b1d21;font-size:13px;line-height:1.7;color:#c1c2c7}
.gg-imprint-notice a{text-decoration:underline}
.gg-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.gg-confirm{display:flex;gap:12px;align-items:start;font-size:12px;color:#c7c8cc;margin:16px 0}
.gg-confirm a{text-decoration:underline}
.gg-confirm input{margin-top:3px}
.gg-submit{width:100%}
@media(max-width:980px){.gg-team-grid,.gg-tariff-grid{grid-template-columns:repeat(2,1fr)}.gg-imprint{gap:30px}}
@media(max-width:700px){.gg-team-grid,.gg-tariff-grid,.gg-imprint,.gg-form-row{grid-template-columns:1fr}
.gg-team-grid article{min-height:230px}
.gg-contract-downloads{padding:66px 0}
.gg-contract-list>a{align-items:start;flex-direction:column}
.gg-contract-list>a span{font-size:16px}
.gg-contract-list>a small{margin-left:25px}
.gg-imprint-details{padding:25px 20px}
}


/* Guardian Gym Smartphone- und Local-SEO-Layout – 20.10.2026 */
html{scroll-padding-top:110px}
*,*::before,*::after{box-sizing:border-box}
button,a,summary,input,select{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #f36a75;outline-offset:3px}
.gg-mobile-action{display:none}
.gg-local-faq{background:#efeee8;color:#17181b;padding:86px 0 98px}
.gg-local-faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:start}
.gg-local-faq h2{font:900 clamp(45px,5.5vw,74px)/.96 Arial,sans-serif;letter-spacing:-.068em;margin:15px 0 24px}
.gg-local-faq-grid>div>p{font-size:15px;line-height:1.65;color:#575a60;max-width:340px}
.gg-local-faq .faq details{border-top:1px solid #b8b8b3}
.gg-local-faq .faq details:last-child{border-bottom:1px solid #b8b8b3}
.gg-local-faq .faq summary{color:#202124;font-size:17px;line-height:1.45;padding:18px 28px 18px 0}
.gg-local-faq .faq details p{color:#55575e;font-size:15px;line-height:1.6;margin:0 0 19px}
.gg-local-faq .faq a{color:#a41f2c;text-decoration:underline;text-underline-offset:3px}
:where(.gg-hero-grid,.gg-hero-copy,.gg-hero-visual,.gg-course-card,.gg-member-card,.form-panel,.program,.gg-team-grid article){min-width:0}
:where(.gg-hero,.page-hero,.gg-section-top,.section-heading) h1,:where(.gg-hero,.page-hero,.gg-section-top,.section-heading) h2{max-width:100%}
.gg-visual-frame img,.brand-emblem img,.footer-brand img{object-fit:cover;aspect-ratio:1}
@media(max-width:1020px){
 .gg-local-faq-grid{gap:30px}
 .nav-actions>.btn{display:none}
}
@media(max-width:760px){
 body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
 .container{width:calc(100% - 36px)}
 .nav{gap:9px}
 .brand{min-width:0;gap:9px}
 .brand-emblem{width:44px;height:44px}
 .brand-type{font-size:21px;letter-spacing:-.05em}
 .brand-type small{font-size:8px;letter-spacing:.11em}
 .menu-button{min-width:45px;min-height:45px}
 .navlinks a{min-height:49px;display:flex;align-items:center}
 .navlinks{max-height:min(78dvh,640px);overflow-y:auto}
 .gg-mobile-action{display:flex;align-items:center;justify-content:center;position:fixed;bottom:0;left:0;right:0;z-index:70;min-height:calc(64px + env(safe-area-inset-bottom,0px));padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));background:#d32b38;color:#fff;text-transform:uppercase;letter-spacing:.045em;font-weight:850;font-size:13px;text-align:center;box-shadow:0 -8px 30px #09090bad;border-top:1px solid #ec4b57}
 .gg-mobile-action:hover{background:#b51e2a;color:#fff}
 .gg-hero-grid{padding-top:44px}
 .gg-hero h1{font-size:clamp(38px,10.45vw,64px);line-height:.98;letter-spacing:-.076em;overflow-wrap:normal}
 .gg-hero-intro{font-size:19px;line-height:1.35}
 .gg-hero-visual{margin-top:2px}
 .gg-hero-buttons>.btn{width:100%;padding:0 13px;min-height:55px}
 .gg-hero-buttons{gap:18px}
 .gg-hero-facts{gap:12px}
 .gg-hero-facts span{flex-basis:auto;font-size:10px}
 .gg-course-section,.gg-values,.gg-steps-section{padding-top:62px;padding-bottom:66px}
 .gg-section-top h2{font-size:clamp(50px,11.9vw,74px);overflow-wrap:normal}
 .gg-card-main h3{font-size:clamp(57px,16vw,85px);overflow-wrap:anywhere}
 .gg-course-card{min-height:0}
 .gg-cost-section{padding:60px 0}
 .gg-final{padding:68px 0}
 .gg-local-faq{padding:64px 0}
 .gg-local-faq-grid{display:block}
 .gg-local-faq h2{font-size:clamp(44px,12vw,68px)}
 .gg-local-faq .faq{margin-top:27px}
 .gg-local-faq .faq summary{font-size:16px}
 .page-hero h1{font-size:clamp(45px,11vw,71px);overflow-wrap:anywhere}
 .price-switch{display:flex;flex-wrap:wrap}
 .price-switch button{flex:1 1 44%;min-height:48px;padding:10px 9px}
 .prices{grid-template-columns:1fr}
 .price{min-height:0}
 .schedule-table{display:block;margin:18px 0 22px}
 .schedule-table thead{display:none}
 .schedule-table tbody{display:block}
 .schedule-table tr{display:block;background:#191a20!important;border:1px solid #41434a;margin:0 0 12px;padding:12px 15px}
 .schedule-table td{display:block;border:0;padding:9px 0;font-size:14px;line-height:1.45}
 .schedule-table td:first-child{font-size:17px;color:#fff;font-weight:900;border-bottom:1px solid #45464c;padding-bottom:11px}
 .schedule-table td:not(:first-child):before{content:attr(data-label);display:block;color:#ea6672;font-size:11px;font-weight:850;letter-spacing:.1em;margin-bottom:3px}
 .schedule-table td:last-child{padding-bottom:6px}
 .form-layout{gap:26px}
 .field input,.field select,.field textarea{font-size:16px;min-height:50px}
 .form-panel{padding:23px 18px}
 .gg-team-grid article{min-height:215px}
 .gg-team-grid h2{font-size:clamp(47px,14vw,67px)}
 .gg-contract-list>a{min-height:68px}
 .footer-grid a{min-height:37px;display:inline-flex;align-items:center}
 .footer-brand{gap:12px}
 .footer-brand img{width:62px;height:62px}
 .footer-brand h3{font-size:22px}
 footer{padding-bottom:32px}
}
@media(max-width:375px){
 .brand-type{font-size:19px}
 .brand-emblem{width:41px;height:41px}
 .gg-hero h1{font-size:clamp(36px,10.2vw,42px)}
 .gg-section-top h2{font-size:50px}
 .gg-card-main h3{font-size:clamp(52px,16vw,64px)}
 .gg-hero-facts span{font-size:9px}
}
@media(min-width:761px){.gg-mobile-action{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.gg-course-detail-link{display:inline-flex;color:#ad2531;font-size:12px;font-weight:850;letter-spacing:.015em;margin-top:20px;text-decoration:underline;text-underline-offset:4px}.gg-program-detail{display:inline-flex;color:#ff717a;font-weight:850;font-size:14px;text-decoration:underline;text-underline-offset:4px}.gg-course-detail-link:hover{color:#65131b}.gg-program-detail:hover{color:#fff}
/* GUARDIAN GYM – Mobile Layout Repair, 20 Oct 2026.
   Deliberately last in cascade; preserves desktop design and original logo. */
html { width: 100%; max-width: 100%; overflow-x: clip; }
body { width: 100%; max-width: 100%; overflow-x: clip; }
main, header, footer { max-width: 100%; }
img, video, picture, iframe, svg { max-width: 100%; }

/* Prevent flex/grid items and long German copy from creating a wider layout. */
:where(.nav, .brand, .brand-type, .nav-actions, .hero-copy,
  .gg-hero-grid, .gg-hero-copy, .gg-hero-visual,
  .gg-section-top, .gg-course-grid, .gg-course-card, .gg-card-main,
  .gg-values-grid, .gg-values-copy, .gg-two-col-intro, .gg-step-line,
  .gg-cost-grid, .gg-final-grid, .gg-team-grid,
  .gg-tariff-grid, .gg-member-grid, .gg-imprint,
  .form-layout, .form-panel, .gg-form-row,
  .prices, .price, .program, .footer-grid, .footer-brand,
  .gg-local-faq-grid, .gg-contract-list) { min-width: 0; }
:where(.section, .page-hero, .gg-hero, .gg-course-section, .gg-values,
  .gg-steps-section, .gg-cost-section, .gg-final, .gg-local-faq,
  .gg-contract-downloads, footer) { overflow-x: clip; }
:where(h1,h2,h3,p,li,small,summary,.brand-type,.gg-overline,
  .gg-member-card,.gg-contract-list,.gg-contract-list a,
  .gg-contract-downloads,.gg-imprint-details,.footline) {
  max-width: 100%;
  overflow-wrap: break-word;
}

@media (max-width: 1020px) {
  .nav { gap: 12px; }
  .brand { min-width: 0; flex-shrink: 1; }
  .nav-actions { flex: 0 0 auto; }
  .nav-actions > .btn { display: none; }
  .menu-button { display: block; }
  .navlinks { display: none; }
  .navlinks.open { display: flex; }
}

@media (max-width: 760px) {
  :root { --mobile-gutter: 18px; }
  .container { width: calc(100% - 2 * var(--mobile-gutter)); max-width: calc(100% - 2 * var(--mobile-gutter)); margin-inline: auto; }
  .preview-bar { font-size: 9px; line-height: 1.35; letter-spacing: 0.025em; padding: 6px 13px; }

  /* One-line, non-overlapping logo and menu. */
  .nav { min-height: 68px; gap: 10px; padding-block: 8px; flex-wrap: nowrap; }
  .brand { gap: 9px; flex: 1 1 auto; min-width: 0; }
  .brand-emblem { width: 43px; height: 43px; flex: 0 0 43px; }
  .brand-emblem img { width: 100%; height: 100%; object-fit: cover; }
  .brand-type { font-family: Arial, Helvetica, sans-serif; font-weight: 900;
    font-size: clamp(17px, 5vw, 21px); line-height: 1; letter-spacing: -.045em;
    white-space: nowrap; }
  .brand-type small { font-size: 8px; line-height: 1.1; margin-top: 4px;
    letter-spacing: .08em; white-space: nowrap; }
  .nav-actions { flex: 0 0 auto; margin-left: auto; }
  .menu-button { width: 45px; min-width: 45px; height: 45px; min-height: 45px;
    line-height: 1; padding: 0; flex-shrink: 0; }
  .navlinks { top: 100%; left: 0; right: 0; width: 100%; z-index: 50;
    max-height: calc(100dvh - 110px); overflow-y: auto; overscroll-behavior: contain;
    padding: 10px 18px 18px; }
  .navlinks a { min-height: 48px; white-space: normal; }
  .navlinks.open { display: flex; }

  /* Start screen: readable hero, no massive images or overflowing headlines. */
  .gg-hero { min-height: 0; }
  .gg-hero-grid { display: flex; flex-direction: column; align-items: stretch;
    gap: 25px; min-height: 0; padding-block: 37px 32px; }
  .gg-hero-copy { width: 100%; max-width: 100%; }
  .gg-hero .gg-overline { font-size: 9px; letter-spacing: .10em; }
  .gg-hero h1 { font-size: clamp(33px, 9.5vw, 60px);
    line-height: 1.02; letter-spacing: -.073em; margin: 18px 0;
    overflow-wrap: anywhere; word-break: normal; }
  .gg-hero-intro { font-size: clamp(17px, 4.5vw, 21px); line-height: 1.35; margin-bottom: 12px; }
  .gg-hero-text { font-size: 14px; line-height: 1.65; max-width: 100%; }
  .gg-hero-buttons { display: flex; flex-direction: column; align-items: stretch;
    gap: 17px; margin: 25px 0 25px; }
  .gg-hero-buttons > .btn { width: 100%; max-width: 100%; min-height: 53px; padding: 10px 12px;
    white-space: normal; font-size: 12px; }
  .gg-hero-buttons > .gg-text-link { align-self: flex-start; }
  .gg-hero-facts { gap: 11px 15px; margin-top: 10px; padding-top: 15px; }
  .gg-hero-facts span { flex-basis: auto; font-size: 9px; }
  .gg-hero-visual { display: flex; width: 100%; margin: 0; }
  .gg-visual-frame { width: min(64vw, 206px); height: auto; aspect-ratio: 1 / 1.1;
    margin-inline: auto; padding: 15px 17px; box-shadow: 7px 7px 0 #9f242a22; }
  .gg-visual-frame img { max-width: 154px; width: 100%; height: auto !important; }
  .gg-frame-kicker, .gg-frame-bottom { font-size: 7px; letter-spacing: .08em; }
  .gg-frame-kicker { margin-bottom: 10px; } .gg-frame-bottom { margin-top: 10px; }
  .gg-loc { padding: 12px 0; }

  /* Text sections: remove unnecessarily large letters and 2-column overflows. */
  .section, .section.mini { padding-block: 49px; }
  .page-hero { padding-block: 47px 43px; }
  .page-hero h1 { font-size: clamp(34px, 8.8vw, 60px); line-height: 1.04;
    letter-spacing: -.065em; overflow-wrap: anywhere; margin: 17px 0; }
  .page-hero p { font-size: 15px; line-height: 1.55; }
  .section h2, .section-heading h2, .page-hero h2, .program h2 {
    font-size: clamp(30px, 8vw, 54px); line-height: 1.05; letter-spacing: -.058em;
    overflow-wrap: anywhere; }
  .gg-course-section, .gg-values, .gg-steps-section, .gg-cost-section,
  .gg-final, .gg-local-faq, .gg-contract-downloads { padding-block: 54px 58px; }
  .gg-section-top, .section-heading, .gg-two-col-intro { display: block; }
  .gg-section-top h2, .gg-two-col-intro h2 { font-size: clamp(39px, 10.1vw, 67px);
    line-height: 1.04; overflow-wrap: anywhere; }
  .gg-section-top p, .section-heading p { font-size: 14px; line-height: 1.55;
    margin-top: 16px; max-width: 100%; }
  .gg-course-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
  .gg-course-card { min-height: 0; width: 100%; }
  .gg-card-top { flex-wrap: wrap; gap: 8px; font-size: 9px; padding: 16px 17px; }
  .gg-card-main { padding: 24px 18px 25px; }
  .gg-card-main h3 { font-size: clamp(46px, 12vw, 72px); line-height: .95;
    min-height: 0; letter-spacing: -.07em; overflow-wrap: anywhere; }
  .gg-card-main p { font-size: 14px; line-height: 1.55; }
  .gg-card-cta { display: flex; align-items: center; justify-content: space-between;
    gap: 8px; font-size: 11px; line-height: 1.4; padding: 16px 18px; }
  .gg-card-cta span { flex: 0 0 auto; }
  .gg-values-grid { display: block; }
  .gg-values h2 { font-size: clamp(58px, 18vw, 90px); line-height: .94;
    letter-spacing: -.07em; overflow-wrap: anywhere; }
  .gg-values-copy { padding: 0; }
  .gg-values-copy > p { font-size: 16px; line-height: 1.6; }
  .gg-values-row { grid-template-columns: 31px minmax(0, 1fr); gap: 9px; }
  .gg-steps-section .gg-two-col-intro { margin-bottom: 37px; }
  .gg-step-line { display: grid; grid-template-columns: minmax(0,1fr); }
  .gg-step-line > div { border-right: 0; min-width: 0; }
  .gg-cost-grid { display: block; }
  .gg-cost-grid h2 { font-size: clamp(40px, 9.7vw, 66px); line-height: 1; }
  .gg-cost-link { display: flex; width: 100%; min-width: 0; margin-top: 27px; }
  .gg-final-grid { display: block; }
  .gg-final h2 { font-size: clamp(35px, 10.7vw, 60px); line-height: 1.01;
    letter-spacing: -.065em; overflow-wrap: anywhere; }
  .gg-final .btn { display: flex; width: 100%; max-width: 100%; margin-top: 21px; }
  .gg-local-faq-grid { display: block; }
  .gg-local-faq h2 { font-size: clamp(36px, 9.4vw, 60px); }

  /* Trainer, tariffs, PDFs and sign-up forms also fully one-column. */
  .grid2, .grid3, .people, .gg-team-grid, .gg-tariff-grid,
  .gg-member-grid, .prices, .footer-grid, .form-layout, .gg-form-row,
  .gg-imprint, .program, .pitch-grid { grid-template-columns: minmax(0, 1fr); }
  .gg-team-grid article { min-height: 185px; padding: 24px; }
  .gg-team-grid h2 { font-size: clamp(41px, 12vw, 63px); }
  .gg-tariff-grid article, .gg-member-card { min-height: 0; padding: 21px; }
  .gg-tariff-grid h3, .gg-member-card h3 { font-size: clamp(29px, 9vw, 48px); }
  .gg-member-amount { font-size: clamp(38px, 11vw, 52px); }
  .gg-contract-downloads h2 { font-size: clamp(29px, 7.7vw, 48px);
    line-height: 1.08; overflow-wrap: anywhere; }
  .gg-contract-list > a { flex-direction: column; align-items: flex-start;
    gap: 12px; padding: 21px 4px; }
  .gg-contract-list > a span { font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
  .gg-contract-list > a small { margin-left: 0; }
  .gg-contract-list > a strong { font-size: 12px; }
  .form-panel { padding: 21px 17px; }
  .field input, .field textarea, .field select { min-width: 0; max-width: 100%; font-size: 16px; }
  .gg-form-row { display: grid; gap: 0; }
  .gg-submit { display: flex; width: 100%; white-space: normal; min-height: 56px;
    padding: 10px 13px; font-size: 12px; line-height: 1.4; }
  .program { display: grid; gap: 10px; padding-block: 30px; }
  .program h2 { font-size: clamp(31px, 8.4vw, 51px); }
  .schedule-table { max-width: 100%; }
  .schedule-table tr { width: 100%; }
  .footer-grid { display: grid; gap: 25px; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-brand img { width: 58px; height: 58px; }
  .footer-brand h3 { font-size: 22px; }
  .footline { display: flex; flex-direction: column; gap: 9px; margin-top: 25px; }
  .gg-imprint-details, .gg-imprint-notice { overflow-wrap: anywhere; }
  .gg-privacy-section p { overflow-wrap: anywhere; }

  /* One clear CTA above iPhone safe area; no giant empty bottom on form. */
  body { padding-bottom: calc(66px + env(safe-area-inset-bottom,0px)); }
  body:has(#trial-request) { padding-bottom: 0; }
  .gg-mobile-action { min-height: calc(59px + env(safe-area-inset-bottom,0px));
    padding: 10px 15px calc(10px + env(safe-area-inset-bottom,0px));
    font-size: 13px; line-height: 1.3; white-space: normal; }
}

@media (max-width: 380px) {
  :root { --mobile-gutter: 15px; }
  .brand-emblem { width: 39px; height: 39px; flex-basis: 39px; }
  .brand-type { font-size: 17px; }
  .brand-type small { font-size: 7px; }
  .menu-button { width: 42px; height: 42px; min-width: 42px; min-height: 42px; }
  .gg-hero h1 { font-size: clamp(31px, 9.45vw, 36px); }
  .page-hero h1 { font-size: clamp(31px, 8.8vw, 39px); }
  .gg-section-top h2, .gg-two-col-intro h2 { font-size: clamp(36px, 10vw, 43px); }
  .gg-card-main h3 { font-size: clamp(44px, 12.4vw, 51px); }
  .gg-final h2 { font-size: clamp(33px, 10.5vw, 40px); }
}


/* Guardian Gym: hide bottom CTA while mobile nav is open */
@media (max-width: 1020px) { body:has(.navlinks.open) .gg-mobile-action { display:none !important; } }

/* Guardian Gym: mobile precision and accessible conversion controls, 2026-10 */
@media (max-width: 760px) {
  .schedule-table td { overflow-wrap: anywhere; }
  .gg-form-row .field, .form-panel, .field, .gg-confirm { min-width: 0; }
  .gg-confirm { line-height: 1.55; }
  .field input, .field select, .field textarea { font-size: 16px; }
  .gg-mobile-action { min-height: calc(60px + env(safe-area-inset-bottom,0px)); font-size: 14px; }
  .form-panel button[type="submit"], .gg-submit { min-height: 52px; }
}
@media (pointer: coarse) {
  .navlinks a, .menu-button, .faq summary { min-height: 44px; }
  a, button, summary { touch-action: manipulation; }
}


/* GUARDIAN GYM — FOOTER TYPOGRAPHY & MOBILE LINK LAYOUT
   Keep training and contact links individually readable and tappable on phones.
   Applied to every page through the shared stylesheet. */
footer .footer-grid > div:nth-child(2),
footer .footer-grid > div:nth-child(3) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .55rem;
  min-width: 0;
}
footer .footer-grid > div:nth-child(2) > h3,
footer .footer-grid > div:nth-child(3) > h3 {
  margin-bottom: .45rem;
}
footer .footer-grid > div:nth-child(2) > a,
footer .footer-grid > div:nth-child(3) > a {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 2.3rem;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
@media (max-width: 767px) {
  footer .footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.9rem;
  }
  footer .footer-grid > div {
    min-width: 0;
  }
  footer .footer-grid h3 {
    font-size: clamp(1.45rem, 6vw, 1.85rem);
    line-height: 1.15;
    letter-spacing: -.018em;
  }
  footer .footer-grid > div:nth-child(2),
  footer .footer-grid > div:nth-child(3) {
    gap: .4rem;
  }
  footer .footer-grid > div:nth-child(2) > a,
  footer .footer-grid > div:nth-child(3) > a {
    min-height: 2.65rem;
    font-size: clamp(.97rem, 3.7vw, 1.05rem);
    line-height: 1.45;
  }
  footer .footer-grid p {
    font-size: .97rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
  }
  footer .footline {
    font-size: .85rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
  }
  footer .footline a {
    display: inline-block;
    margin-block: .15rem;
  }
}
