:root{
  --ink:#1d1d1b;--ink-soft:#2b2b27;--gold:#ccb931;--gold-text:#8f7c1c;
  --paper:#f6f4ee;--paper-2:#efebe1;--line:#e2ddd0;--muted:#5d5b53;--muted-2:#7a7870;--white:#fff;
  --maxw:1200px;--r:14px;--shadow:0 24px 60px -28px rgba(29,29,27,.45);--shadow-sm:0 12px 30px -18px rgba(29,29,27,.4);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Raleway',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.12;letter-spacing:-.01em}
.eyebrow{display: none;}
.eyebrow.light{display: none; color:var(--gold)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding:15px 26px;border-radius:100px;transition:transform .25s,background .25s,color .25s,box-shadow .25s;cursor:pointer;border:1.5px solid transparent;white-space:nowrap}
.btn .arr{transition:transform .25s}
.btn:hover .arr{transform:translateX(4px)}
.btn-gold{background:var(--gold);color:var(--ink);box-shadow:0 14px 30px -12px rgba(204,185,49,.7)}
.btn-gold:hover{transform:translateY(-2px);background:#dcc83f}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{transform:translateY(-2px);background:#000}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-ghost-dark{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost-dark:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.qs-link{font-size:14.5px;font-weight:500;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(204,185,49,.7);transition:color .2s}
.qs-link.light{color:rgba(255,255,255,.85)}.qs-link.light:hover{color:var(--gold)}
.qs-link.dark{color:var(--gold-text)}.qs-link.dark:hover{color:var(--ink)}

/* Header + dropdown nav */
header{position:sticky;top:0;z-index:50;background:rgba(246,244,238,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:84px}
.nav-logo img{height:46px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none}
.nav-links>li{position:relative}
.nav-links>li>a{font-size:14.5px;font-weight:500;color:var(--ink-soft);display:inline-flex;align-items:center;gap:5px;padding:30px 0;transition:color .2s}
.nav-links>li>a:hover{color:var(--ink)}
.nav-links .has-sub>a::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.6}
.sub{position:absolute;top:74px;left:-18px;min-width:268px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:10px;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .22s ease;z-index:60}
.nav-links .has-sub:hover .sub{opacity:1;visibility:visible;transform:translateY(0)}
.sub li a{display:block;padding:11px 14px;border-radius:8px;font-size:14.5px;font-weight:500;color:var(--ink-soft);transition:background .15s,color .15s}
.sub li a:hover{background:var(--paper-2);color:var(--gold-text)}
.nav-cta{display:flex;align-items:center;gap:16px}
.menu-toggle{display:none}
.burger{display:none}

/* Section base */
section{padding:92px 0}
.sec-head{max-width:720px;margin-bottom:50px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{font-size:clamp(29px,3.4vw,44px);margin:18px 0 0}
.sec-head p{color:var(--muted);font-size:17px;margin-top:18px}

/* Page hero (inner pages) */
.page-hero{position:relative;min-height:480px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:var(--ink);overflow:hidden}
.page-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(20,20,18,.92) 0%,rgba(20,20,18,.72) 42%,rgba(20,20,18,.35) 100%)}
.page-hero .wrap{position:relative;z-index:2;width:100%;padding-top:40px;padding-bottom:40px}
.crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:rgba(255,255,255,.6);margin-bottom:22px;font-weight:500}
.crumb a:hover{color:var(--gold)}
.crumb span{opacity:.5}
.page-hero h1{color:#fff;font-size:clamp(32px,4vw,46px);font-weight:800;max-width:760px;margin-bottom:20px}
.page-hero p{color:rgba(255,255,255,.82);font-size:18px;max-width:560px;margin-bottom:30px;line-height:1.6}
.page-hero .actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* Prose intro */
.intro{background:var(--paper)}
.intro .wrap{max-width:820px}
.intro p{font-size:18.5px;line-height:1.7;color:var(--ink);font-weight:500}
.intro p.sub{color:var(--muted);font-size:16.5px;font-weight:400;margin-top:16px}

/* Pain / recognition checklist */
.pain{background:var(--paper-2)}
.pain-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.pain-img{aspect-ratio:4/3;border-radius:var(--r);background-size:cover;background-position:center;box-shadow:var(--shadow);background-color:#33312b}
.pain h2{font-size:clamp(26px,3vw,38px);margin-bottom:14px}
.pain>.wrap>.pain-grid p.lead-s{color:var(--muted);font-size:16.5px;margin-bottom:22px}
.pain-list{list-style:none}
.pain-list li{position:relative;padding-left:34px;margin-bottom:14px;color:var(--ink);font-size:16px}
.pain-list li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--gold);opacity:.18}
.pain-list li::after{content:"";position:absolute;left:7px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--gold-text)}

/* Split (image + text) */
.split{background:var(--white)}
.split.alt{background:var(--paper)}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-grid.rev .split-text{order:2}
.split-img{aspect-ratio:4/3;border-radius:var(--r);background-size:cover;background-position:center;box-shadow:var(--shadow);background-color:#33312b}
.split-text h2{font-size:clamp(26px,3vw,38px);margin:14px 0 18px}
.split-text p{color:var(--muted);font-size:16.5px;margin-bottom:16px}
.split-text p b{color:var(--ink)}
.checklist{list-style:none;margin:22px 0 26px}
.checklist li{display:flex;gap:12px;align-items:flex-start;margin-bottom:13px;font-size:16px;color:var(--muted)}
.checklist li svg{width:22px;height:22px;color:var(--gold-text);flex-shrink:0;margin-top:2px}

/* Subpage cards (pillar) */
.subpages{background:var(--paper)}
.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sp-grid.two{grid-template-columns:repeat(2,1fr);max-width:840px;margin:0 auto}
.sp-grid.cols2{grid-template-columns:repeat(2,1fr);max-width:920px;margin:0 auto}
@media(max-width:560px){.sp-grid.cols2{grid-template-columns:1fr}}
.sp-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.sp-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.sp-photo{height:170px;background-size:cover;background-position:center;position:relative}
.sp-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,29,27,.02),rgba(29,29,27,.4))}
.sp-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.sp-body h3{font-size:20px;margin-bottom:9px}
.sp-body p{color:var(--muted);font-size:14.5px;margin-bottom:18px}
.sp-link{margin-top:auto;font-weight:600;font-size:14.5px;color:var(--gold-text);display:inline-flex;gap:8px;align-items:center}
.sp-card:hover .sp-link{color:var(--ink)}

/* Info / steps cards */
.infosec{background:var(--white)}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.info-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:30px}
.info-card .n{width:46px;height:46px;border-radius:12px;background:var(--ink);color:var(--gold);display:grid;place-items:center;font-weight:800;font-size:19px;margin-bottom:18px}
.info-card h3{font-size:18px;margin-bottom:8px;font-family:'DM Sans',sans-serif}
.info-card p{color:var(--muted);font-size:14.5px}

/* No cure no pay band */
.ncnp-band{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.ncnp-band::before{content:"";position:absolute;bottom:-160px;right:-120px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(204,185,49,.12),transparent 70%)}
.ncnp-band .wrap{position:relative;z-index:2}
.ncnp-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.ncnp-band h2{color:#fff;font-size:clamp(27px,3.2vw,40px);margin:16px 0 18px}
.ncnp-badge{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--ink);font-weight:700;padding:9px 18px;border-radius:100px;font-size:14px;margin-bottom:20px}
.ncnp-badge svg{width:17px;height:17px}
.ncnp-band p{color:rgba(255,255,255,.8);font-size:16px;margin-bottom:14px;max-width:540px}
.ncnp-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:34px}
.ncnp-card h3{color:#fff;font-size:17px;margin-bottom:20px;font-family:'DM Sans',sans-serif;font-weight:700}
.ncnp-list{list-style:none}
.ncnp-list li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;color:rgba(255,255,255,.9);font-size:15.5px}
.ncnp-list li:last-child{margin-bottom:0}
.ncnp-list li svg{width:22px;height:22px;color:var(--gold);flex-shrink:0;margin-top:1px}

/* Quote band with photo */
.band{position:relative;min-height:400px;display:flex;align-items:center;background:var(--ink);overflow:hidden}
.band-photo{position:absolute;inset:0;background-size:cover;background-position:center 30%}
.band-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,29,27,.92) 0%,rgba(29,29,27,.6) 48%,rgba(29,29,27,.2) 100%)}
.band .wrap{position:relative;z-index:2}
.band-inner{max-width:560px}
.band-inner h2{color:#fff;font-size:clamp(26px,3vw,38px);line-height:1.16;margin:16px 0}
.band-inner p{color:rgba(255,255,255,.82);font-size:17px;max-width:480px}

/* FAQ */
.faq{background:var(--paper-2)}
.faq-grid{max-width:820px;margin:0 auto}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}
.faq-item summary{cursor:pointer;padding:22px 26px;font-weight:600;font-size:17px;display:flex;justify-content:space-between;align-items:center;list-style:none;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .pl{color:var(--gold-text);font-size:26px;line-height:1;transition:transform .25s;flex-shrink:0}
.faq-item[open] summary .pl{transform:rotate(45deg)}
.faq-item .ans{padding:0 26px 24px;color:var(--muted);font-size:15.5px;line-height:1.7}

/* CTA */
.cta{background:var(--gold);position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;top:-80px;left:-80px;width:300px;height:300px;border-radius:50%;background:rgba(29,29,27,.06)}
.cta-inner{text-align:center;max-width:760px;margin:0 auto;position:relative;z-index:2}
.cta .eyebrow{color:var(--ink);justify-content:center}.cta .eyebrow::before{background:var(--ink)}
.cta h2{font-size:clamp(30px,3.8vw,50px);margin:20px 0 18px;color:var(--ink)}
.cta p{color:var(--ink-soft);font-size:18px;margin-bottom:34px;opacity:.9;max-width:620px;margin-left:auto;margin-right:auto}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Cases */
.cases{background:var(--paper)}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.case-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.case-photo{height:180px;background-size:cover;background-position:center}
.case-body{padding:30px 32px 32px;display:flex;flex-direction:column;flex:1}
.case-tag{align-self:flex-start;background:var(--paper-2);color:var(--gold-text);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 13px;border-radius:100px;margin-bottom:16px}
.case-card h3{font-size:20px;margin-bottom:16px}
.case-row{margin-bottom:13px}
.case-row .lbl{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);font-weight:700;margin-bottom:4px}
.case-row p{color:var(--muted);font-size:14.5px}
.case-result{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.case-result .amt{font-family:'Raleway';font-weight:800;font-size:24px;color:var(--gold-text);line-height:1}
.case-result .amt-lbl{font-size:13.5px;color:var(--muted)}

/* Contact */
.contact{background:var(--white)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact-info h2{font-size:clamp(26px,3vw,38px);margin:14px 0 18px}
.contact-info>p{color:var(--muted);font-size:16.5px;margin-bottom:26px;max-width:460px}
.contact-list{list-style:none;display:grid;gap:18px}
.contact-list li{display:flex;gap:14px;align-items:flex-start}
.contact-list .ic{width:46px;height:46px;border-radius:12px;background:var(--paper-2);display:grid;place-items:center;flex-shrink:0;color:var(--gold-text)}
.contact-list .ic svg{width:22px;height:22px}
.contact-list b{display:block;font-size:15px;margin-bottom:2px}
.contact-list a,.contact-list span{color:var(--muted);font-size:15px}
.form{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:var(--shadow-sm)}
.form h3{font-size:20px;margin-bottom:6px}
.form .fsub{color:var(--muted);font-size:14.5px;margin-bottom:22px}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink)}
.field input,.field textarea,.field select{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:15px;background:#fff;color:var(--ink)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold)}
.field textarea{min-height:120px;resize:vertical}
.form .btn{width:100%;justify-content:center;margin-top:6px}
.form .note{font-size:12.5px;color:var(--muted-2);margin-top:14px;text-align:center}

/* Over Jochen */
.over{background:var(--white)}
.over-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}
.over-photo{position:relative}
.over-photo .img{aspect-ratio:4/5;border-radius:18px;background-size:cover;background-position:center 22%;background-color:#33312b;background-image:linear-gradient(180deg,rgba(29,29,27,0) 60%,rgba(29,29,27,.3) 100%),url('jochen.jpeg');box-shadow:var(--shadow)}
.over-photo .cred{position:absolute;right:-22px;bottom:30px;background:var(--gold);color:var(--ink);border-radius:14px;padding:16px 20px;box-shadow:var(--shadow-sm);max-width:210px}
.over-photo .cred b{font-weight:700;font-size:15px;display:block;line-height:1.2}
.over-photo .cred span{font-size:12px;font-weight:500}
.over-body h2{font-size:clamp(28px,3.2vw,42px);margin:16px 0 20px}
.over-body>p{color:var(--muted);font-size:16.5px;margin-bottom:16px;max-width:560px}
.over-body>p b{color:var(--ink);font-weight:600}
.over-vals{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.over-val{display:flex;gap:14px;align-items:flex-start}
.over-val>div{min-width:0;overflow-wrap:break-word;word-break:break-word}
.over-val .ic{width:42px;height:42px;border-radius:10px;background:var(--paper-2);display:grid;place-items:center;flex-shrink:0;color:var(--gold-text)}
.over-val .ic svg{width:22px;height:22px}
.over-val b{display:block;font-size:15.5px;margin-bottom:3px}
.over-val span{color:var(--muted);font-size:13.5px;line-height:1.5}

/* Footer */
footer{background:var(--ink);color:rgba(255,255,255,.65);padding:72px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:44px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-about img{height:50px;width:auto;margin-bottom:22px}
.foot-about p{font-size:14.5px;max-width:300px;line-height:1.7}
.foot-col h4{color:#fff;font-family:'DM Sans',sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;font-weight:600}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:12px}
.foot-col a{font-size:14.5px;transition:color .2s}
.foot-col a:hover{color:var(--gold)}
.foot-contact li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;margin-bottom:14px;line-height:1.5}
.foot-contact svg{width:17px;height:17px;color:var(--gold);flex-shrink:0;margin-top:3px}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:26px;font-size:13px;color:rgba(255,255,255,.45)}
.foot-bottom .reg{display:flex;gap:20px;flex-wrap:wrap}
.foot-bottom .reg b{color:rgba(255,255,255,.7);font-weight:600}

/* Responsive */
@media(max-width:980px){
  .pain-grid,.split-grid,.ncnp-grid,.case-grid,.over-grid,.contact-grid{grid-template-columns:1fr}
  .split-grid.rev .split-text{order:0}
  .sp-grid,.info-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .over-photo{max-width:360px;margin:0 auto;width:100%}
  .over-photo .cred{right:14px;bottom:14px;max-width:220px}
  .pain-img,.split-img{max-height:360px}
}
@media(max-width:740px){
  .nav-links,.nav-cta .btn{display:none}
  .menu-toggle:checked~.nav-links{display:flex;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);padding:14px 28px;gap:2px;border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}
  .menu-toggle:checked~.nav-links>li{width:100%}
  .menu-toggle:checked~.nav-links>li>a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 0;font-size:16px;text-align:left}
  .menu-toggle:checked~.nav-links .has-sub>a::after{margin:0 0 0 auto;opacity:.5;transition:transform .2s}
  .menu-toggle:checked~.nav-links .has-sub.open>a::after{transform:rotate(-135deg);margin-top:3px}
  .menu-toggle:checked~.nav-links .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:transparent;min-width:0;margin:0;padding:0 0 0 14px;max-height:0;overflow:hidden;transition:max-height .3s ease}
  .menu-toggle:checked~.nav-links .has-sub.open>.sub{max-height:460px;padding-bottom:6px}
  .menu-toggle:checked~.nav-links .sub li a{padding:9px 0;font-size:15px;color:var(--muted)}
  .menu-toggle:checked~.nav-links .sub li a:hover{background:transparent}
  .burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
  .burger span{width:24px;height:2px;background:var(--ink);border-radius:2px}
  section{padding:60px 0}
  .wrap{padding:0 20px}
  .sp-grid,.info-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .page-hero{min-height:420px}
  .page-hero .wrap{padding-top:34px;padding-bottom:34px}
  .cta-actions{flex-direction:column}
  .pain-grid,.split-grid,.ncnp-grid,.contact-grid{gap:34px}
  .ncnp-card{padding:24px}
  .warranty-card{padding:24px}
  .form{padding:26px 22px}
  .case-card{padding:26px}
  .case-body{padding:26px 24px 28px}
  .info-card{padding:24px}
  .faq-item summary{padding:18px 20px;font-size:16px}
  .faq-item .ans{padding:0 20px 20px}
  .over-vals{grid-template-columns:1fr}
  .btn{white-space:normal}
}
