/* Schriften lokal eingebettet, keine Verbindung zu Google */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('cormorant-500.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('cormorant-600.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('cormorant-500-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url('cormorant-600-italic.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('manrope-400.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('manrope-500.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('manrope-600.woff2') format('woff2')}


/* Layout: Prussian blue and Sanssouci gilt; generous whitespace, hairline gold rules, a quiet ledger-style to-do card in the hero */
:root{
  --bg:#f6f6f4; --surface:#ffffff; --ink:#18233b; --muted:#5d6475; --line:#e2e0da;
  --gold:#a8834a; --gold-soft:#efe6d6; --deep:#18233b; --on-deep:#f3efe6; --tick:#3d7a5c;
  --display:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --body:"Manrope",ui-sans-serif,system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0f1524; --surface:#161e31; --ink:#ece8df; --muted:#a3a8b6; --line:#2a3249;
  --gold:#cfa968; --gold-soft:#2a2a2a; --deep:#0a0f1b; --on-deep:#ece8df; --tick:#6cbf94; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0f1524; --surface:#161e31; --ink:#ece8df; --muted:#a3a8b6; --line:#2a3249;
  --gold:#cfa968; --gold-soft:#2a2a2a; --deep:#0a0f1b; --on-deep:#ece8df; --tick:#6cbf94; color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16.5px;line-height:1.7;font-weight:400}
.wrap{max-width:1140px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.08;text-wrap:balance;margin:0;letter-spacing:-.005em}
p{margin:0}
a{color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.eyebrow{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600}

/* nav */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.logo svg{width:40px;height:40px;flex:none}
.logo .wm{display:grid;line-height:1}
.logo .wm b{font-family:var(--body);font-weight:600;font-size:.78rem;letter-spacing:.32em;text-transform:uppercase}
.logo .wm em{font-family:var(--display);font-style:italic;font-weight:500;font-size:1.35rem;color:var(--gold);margin-top:2px}
.nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}
.nav ul a{color:var(--ink);text-decoration:none}
.nav ul a:hover{color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 .8rem var(--body);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);border-radius:2px;padding:14px 24px;cursor:pointer;text-decoration:none;background:var(--ink);color:var(--bg)}
.btn.signal{background:transparent;color:var(--ink);border-color:var(--gold)}
.btn:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.menu-btn{display:none;width:42px;height:42px;border:1px solid var(--line);background:transparent;border-radius:2px;cursor:pointer;color:var(--ink);place-items:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:18px;height:1.5px;background:currentColor;position:relative;transition:transform .25s ease,background .25s ease}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:860px){
  .menu-btn{display:grid}
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px));box-shadow:0 20px 30px -24px rgba(24,35,59,.4)}
  .nav ul.open{display:flex}
  .nav ul li a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  .nav ul li:last-child a{border-bottom:0}
}

/* hero */
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;padding-block:96px 88px}
.hero h1{font-size:clamp(2.8rem,6.4vw,5.2rem)}
.hero h1 mark{background:none;color:var(--gold);font-style:italic}
.hero .lead{margin-top:26px;font-size:1.08rem;color:var(--muted);max-width:33em}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}

.todo{background:var(--surface);border:1px solid var(--line);padding:28px 30px;box-shadow:0 30px 60px -40px rgba(24,35,59,.35);min-width:0;position:relative}
.todo::before{content:"";position:absolute;inset:8px;border:1px solid var(--gold-soft);pointer-events:none}
.todo .head{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding-bottom:14px;border-bottom:1px solid var(--gold)}
.todo .head span:first-child{color:var(--ink);font-weight:600}
.todo ol{list-style:none;margin:6px 0 0;padding:0}
.todo li{display:grid;grid-template-columns:20px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.todo li:last-child{border-bottom:0}
.box{width:18px;height:18px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center}
.box svg{width:11px;height:11px;stroke:#fff;stroke-width:3;fill:none;opacity:0}
.todo li span{min-width:0}
.todo li time{color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.todo li.done .box{background:var(--gold);border-color:var(--gold)}
.todo li.done .box svg{opacity:1}
.todo li.done span{text-decoration:line-through;text-decoration-color:var(--gold);color:var(--muted)}
.todo .foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--display);font-style:italic;font-size:1.2rem;color:var(--gold)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:48px;padding-block:56px}}

/* band */
.band{background:var(--deep);color:var(--on-deep)}
.band .wrap{display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:space-between;padding-block:22px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase}
.band span::before{content:"◆";color:var(--gold);margin-right:12px;font-size:.6rem;vertical-align:2px}

/* sections */
section.block .wrap{padding-block:104px}
.sec-head{display:grid;gap:16px;max-width:40em;margin-bottom:56px}
.sec-head h2{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.sec-head p{color:var(--muted);font-size:1.05rem}

.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.svc{padding:44px 44px 48px 0;display:grid;gap:14px;align-content:start;border-bottom:1px solid var(--line)}
.svc:nth-child(even){padding:44px 0 48px 44px;border-left:1px solid var(--line)}
.svc .tag{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600}
.svc h3{font-size:2rem}
.svc p{color:var(--muted)}
.svc ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:.94rem}
.svc li{display:grid;grid-template-columns:22px 1fr;gap:6px}
.svc li::before{content:"";width:12px;height:1px;margin-top:.85em;background:var(--gold)}
@media (max-width:820px){.services{grid-template-columns:1fr}.svc,.svc:nth-child(even){padding:36px 0;border-left:0}}

.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.step{border-top:1px solid var(--gold);padding-top:22px;display:grid;gap:10px}
.step b{font-family:var(--display);font-style:italic;font-weight:500;color:var(--gold);font-size:1.2rem}
.step h3{font-size:1.6rem}
.step p{color:var(--muted)}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.alt{background:var(--surface);border-block:1px solid var(--line)}

.guarantee{display:grid;grid-template-columns:auto 1fr;gap:64px;align-items:center}
.seal{width:190px;height:190px;border-radius:50%;border:1px solid var(--gold);color:var(--ink);display:grid;place-items:center;text-align:center;line-height:1;box-shadow:0 0 0 7px var(--bg),0 0 0 8px var(--gold)}
.seal strong{display:block;font-family:var(--display);font-weight:500;font-size:3.6rem;color:var(--gold)}
.seal small{display:block;margin-top:8px;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;max-width:10em}
.guarantee .txt{display:grid;gap:16px;max-width:40em}
.guarantee h2{font-size:clamp(2rem,3.8vw,2.9rem)}
.guarantee p{color:var(--muted)}
.guarantee .extra{border-left:1px solid var(--gold);padding:4px 0 4px 22px;color:var(--ink)}
.guarantee .extra strong{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.25rem;color:var(--gold);display:block;margin-bottom:4px}
@media (max-width:700px){.guarantee{grid-template-columns:1fr;gap:32px}.seal{width:150px;height:150px}.seal strong{font-size:2.8rem}}

.pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.plan{border:1px solid var(--line);padding:34px 30px;display:grid;gap:12px;background:var(--bg)}
.plan.pop{border-color:var(--gold);background:var(--surface);box-shadow:inset 0 0 0 6px var(--surface),inset 0 0 0 7px var(--gold-soft)}
.plan h3{font-size:1.55rem}
.plan .hrs{font-family:var(--display);font-size:3rem;font-weight:500;color:var(--gold);font-variant-numeric:tabular-nums;line-height:1}
.plan .hrs small{font-family:var(--body);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.plan p{color:var(--muted);font-size:.94rem}
.note{margin-top:22px;color:var(--muted);font-size:.9rem}
@media (max-width:820px){.pricing{grid-template-columns:1fr}}

.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px}
.contact .info{display:grid;gap:20px;align-content:start}
.contact h2{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.contact .info p{color:var(--muted)}
.copyline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:.95rem;border-block:1px solid var(--line);padding:14px 0;user-select:all}
.copyline button{font:600 .7rem var(--body);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:2px;padding:7px 12px;cursor:pointer;user-select:none}
form{display:grid;gap:20px;background:var(--surface);border:1px solid var(--line);padding:36px;min-width:0}
.row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
label{display:grid;gap:8px;font-weight:600;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;width:100%}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--gold);outline:none}
textarea{min-height:120px;resize:vertical}
.consent{display:grid;grid-template-columns:20px 1fr;gap:12px;font-weight:400;font-size:.82rem;letter-spacing:0;text-transform:none;align-items:start;line-height:1.55}
.consent input{width:16px;height:16px;margin-top:3px;accent-color:var(--gold)}
#status{font-size:.92rem}
.ok{color:var(--tick);font-weight:600}
@media (max-width:860px){.contact{grid-template-columns:1fr;gap:40px}.row{grid-template-columns:1fr}form{padding:26px}}

footer{background:var(--deep);color:var(--on-deep)}

footer .flinks{display:flex;gap:22px;flex-wrap:wrap}
.faq,.agb{display:grid;border-top:1px solid var(--line);max-width:860px}
.faq details,.agb details{border-bottom:1px solid var(--line)}
.faq summary,.agb summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 24px;gap:16px;align-items:center;padding:22px 0;font-family:var(--display);font-size:1.45rem;font-weight:500;line-height:1.25}
.agb summary{font-size:1.2rem;padding:16px 0}
.faq summary::-webkit-details-marker,.agb summary::-webkit-details-marker{display:none}
.faq summary::after,.agb summary::after{content:"+";font-family:var(--body);font-weight:400;font-size:1.3rem;color:var(--gold);text-align:right}
.faq details[open] summary::after,.agb details[open] summary::after{content:"\2212"}
.faq summary:hover,.agb summary:hover{color:var(--gold)}
.faq p,.agb p{color:var(--muted);padding:0 40px 24px 0;max-width:46em}
.agb p{font-size:.94rem}
footer .flink{color:var(--on-deep);text-decoration:none;border-bottom:1px solid var(--gold)}
.imp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px}
.imp div{border-top:1px solid var(--gold);padding-top:16px;display:grid;gap:8px;min-width:0}
.imp h3{font-size:1.3rem}
.imp p{color:var(--muted);font-size:.94rem;overflow-wrap:anywhere}
@media (max-width:820px){.imp{grid-template-columns:1fr}}
footer .wrap{padding-block:34px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85}

@media (prefers-reduced-motion:no-preference){
  .todo li .box,.todo li span{transition:all .5s ease}
  .btn{transition:background .25s ease,color .25s ease,border-color .25s ease}
}


.navr{display:flex;align-items:center;gap:16px}
.lang{display:inline-flex;gap:2px;font-size:.72rem;letter-spacing:.14em}
.lang button{border:0;background:transparent;color:var(--muted);padding:6px 6px;cursor:pointer;font:600 .72rem var(--body);letter-spacing:.14em;border-bottom:1px solid transparent}
.lang button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--gold)}
@media (max-width:520px){.navr .btn{display:none}}


.hero .phone{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;color:var(--muted);font-size:.92rem}
.hero .phone b{color:var(--ink);font-weight:600;letter-spacing:.04em;user-select:all}
.trust{background:var(--deep);color:var(--on-deep)}
.trust .wrap{display:grid;grid-template-columns:auto 1fr;gap:16px 40px;align-items:center;padding-block:26px}
.trust .trustline{display:block;text-align:center}
.trust .trustline p{font-family:var(--display);font-style:italic;font-size:clamp(1.2rem,2.4vw,1.6rem);text-wrap:balance;margin:0 auto;max-width:40em}
.trust .trustline p::before,.trust .trustline p::after{content:"◆";font-style:normal;color:var(--gold);font-size:.55rem;vertical-align:.35em;margin:0 16px}
.trust .lbl{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600}
.trust ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 40px;font-family:var(--display);font-size:1.15rem;font-style:italic}
.trust li{display:flex;align-items:center;gap:12px}
.trust li+li::before{content:"◆";font-style:normal;color:var(--gold);font-size:.55rem}
@media (max-width:760px){.trust .wrap{grid-template-columns:1fr}.trust ul{flex-direction:column;gap:8px}.trust li+li::before{display:none}}
.services{grid-template-columns:repeat(3,minmax(0,1fr))}
.svc,.svc:nth-child(even){padding:40px 32px 44px;border-left:1px solid var(--line)}
.svc:nth-child(3n+1){border-left:0;padding-left:0}
.svc:nth-child(3n){padding-right:0}
.svc h3{font-size:1.75rem}
@media (max-width:980px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}.svc,.svc:nth-child(even),.svc:nth-child(3n+1),.svc:nth-child(3n){padding:36px 28px 40px;border-left:1px solid var(--line)}.svc:nth-child(odd){border-left:0;padding-left:0}.svc:nth-child(even){padding-right:0}}
@media (max-width:640px){.services{grid-template-columns:1fr}.svc,.svc:nth-child(n){padding:32px 0;border-left:0}}
.about .facts{margin-top:0}
.avatar{width:112px;height:112px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 0 0 1px var(--gold),0 0 0 6px var(--surface),0 0 0 7px var(--gold-soft);margin:0 0 6px 7px}
.about{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.portrait{margin:0;width:200px;max-width:100%;padding:8px;border:1px solid var(--gold-soft);background:var(--surface)}
.portrait img{display:block;width:100%;height:auto;object-fit:contain}
.about figure.portrait::after{display:none}
.about figure{margin:0;position:relative;max-width:420px}
.about figure::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--gold);z-index:0}
.about img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%}
.about .txt{display:grid;gap:18px;max-width:38em}
.about h2{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.about .txt>p{color:var(--muted)}
.facts{display:grid;gap:0;border-top:1px solid var(--line);margin-top:8px}
.facts div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.facts dt{font-family:var(--display);font-style:italic;font-size:1.2rem;color:var(--gold)}
.facts dd{margin:0;color:var(--muted);font-size:.95rem}
.sign{font-family:var(--display);font-style:italic;font-size:1.8rem;color:var(--ink)}
@media (max-width:1000px){.about{grid-template-columns:200px minmax(0,1fr);gap:40px}.about>.txt:last-child{grid-column:1/-1}}
@media (max-width:860px){.about{grid-template-columns:1fr;gap:40px}.portrait{width:170px}.about figure{max-width:340px}.facts div{grid-template-columns:1fr;gap:2px}}
.refs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.ref{background:var(--surface);border:1px solid var(--line);padding:38px 36px;display:grid;gap:18px;align-content:start;position:relative}
.ref::before{content:"\201C";position:absolute;top:6px;right:26px;font-family:var(--display);font-size:5.5rem;line-height:1;color:var(--gold-soft)}
.ref .kind{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600}
.ref blockquote{margin:0;font-family:var(--display);font-size:1.45rem;line-height:1.35}
.ref .who{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.ref .who b{color:var(--ink);font-weight:600;display:block}
.refs-note{margin-top:18px;color:var(--muted);font-size:.85rem}
@media (max-width:820px){.refs{grid-template-columns:1fr}}
.plan .price{font-family:var(--display);font-size:2.9rem;font-weight:500;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.plan .price small{font-family:var(--body);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-left:6px}
.plan .scope{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:600}
.plan .tag2{justify-self:start;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;background:var(--gold);color:#fff;padding:4px 10px}
.pnotes{margin:26px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 40px;color:var(--muted);font-size:.9rem;max-width:900px}
.pnotes li{display:grid;grid-template-columns:18px 1fr;gap:6px}
.pnotes li::before{content:"";width:10px;height:1px;background:var(--gold);margin-top:.8em}
@media (max-width:700px){.pnotes{grid-template-columns:1fr}}
.ok{color:var(--tick)}
.err{color:#b4483c}
button[disabled]{opacity:.6;cursor:wait}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.scene{scroll-margin-top:80px;position:relative;overflow:hidden;min-height:clamp(340px,52vw,620px);display:flex;align-items:flex-end;background:var(--deep)}
.scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% 40%}
.scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,21,36,.15) 0%,rgba(15,21,36,.05) 40%,rgba(15,21,36,.88) 100%)}
.scene-txt{position:relative;z-index:1;width:100%;padding-block:0 56px;display:grid;gap:10px}
.scene-line{font-family:var(--display);font-size:clamp(2.2rem,5.2vw,4.2rem);line-height:1.05;color:#f3efe6;margin:0;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.scene-line em{color:var(--gold)}
.scene .eyebrow{color:#e3c88f}
/* single dark look, same for every visitor */
:root,:root[data-theme]{--bg:#0f1524;--surface:#161e31;--ink:#ece8df;--muted:#a3a8b6;--line:#2a3249;--gold:#cfa968;--gold-soft:#2b3247;--deep:#0a0f1b;--on-deep:#ece8df;--tick:#6cbf94;color-scheme:dark}
.err{color:#e58a7c}
.partners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.partner{display:grid;gap:8px;align-content:start;padding:26px 28px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink);transition:border-color .25s ease}
.partner:hover{border-color:var(--gold)}
.pname{font-family:var(--display);font-size:1.6rem;line-height:1.15}
.pdesc{color:var(--muted);font-size:.95rem}
.purl{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:4px}
@media (max-width:700px){.partners{grid-template-columns:1fr}}
.usp .sec-head{max-width:46em}
.steps.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.steps.three{grid-template-columns:1fr}}
.sos-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.usp .steps{counter-reset:none;gap:0;border-top:1px solid var(--line)}
.usp .step{position:relative;border-top:0;padding:26px 26px 4px 0;gap:8px}
.usp .step+.step{padding-left:26px;border-left:1px solid var(--line)}
.usp .step .num{font-family:var(--display);font-style:italic;font-weight:500;font-size:3.2rem;line-height:1;color:var(--gold)}
.usp .step h3{font-size:1.55rem}
@media (max-width:980px){.usp .step,.usp .step+.step{padding:22px 20px 18px 0;border-left:0}.usp .step:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}.usp .step:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.usp .step,.usp .step+.step,.usp .step:nth-child(even){padding:18px 0;border-left:0;border-top:1px solid var(--line)}.usp .step:first-child{border-top:0}.usp .step .num{font-size:2.6rem}}
.ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,auto);column-gap:24px}
.way{grid-row:span 6;display:grid;grid-template-rows:subgrid;row-gap:0;padding:30px 30px 28px;border:1px solid var(--line);background:var(--bg);scroll-margin-top:90px}
.way-top{display:grid;gap:8px;align-content:start;padding-bottom:20px}
.way-tag{justify-self:start;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;padding:5px 12px;border:1px solid var(--gold);color:var(--gold)}
.way h3{font-size:1.9rem;line-height:1.1}
.way-top p{color:var(--muted);font-size:.95rem}
.way-steps{display:contents;list-style:none;counter-reset:w}
.way-steps li{counter-increment:w;display:grid;grid-template-columns:46px 1fr;column-gap:10px;align-content:start;padding:14px 0;border-top:1px solid var(--line)}
.way-steps li::before{content:counter(w,decimal-leading-zero);grid-row:1/3;font-family:var(--display);font-style:italic;font-size:1.65rem;line-height:1;color:var(--gold)}
.way-steps b{font-weight:600;font-size:1rem}
.way-steps span{color:var(--muted);font-size:.92rem;line-height:1.5}
.way-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding-top:22px;border-top:1px solid var(--line)}
.way.xpress{--bg:#ece8df;--ink:#18233b;--muted:#5d6475;--line:#d6cfbf;--gold:#9a7640;background:#ece8df;color:#18233b;border-color:#cfa968;box-shadow:0 30px 60px -40px rgba(0,0,0,.8)}
.way.xpress .way-tag{background:#cfa968;border-color:#cfa968;color:#18233b}
.way.xpress .btn{background:#18233b;border-color:#18233b;color:#ece8df}
.way.xpress .btn.ghost{background:transparent;color:#18233b;border-color:#18233b}
.way.xpress .btn:hover{background:#9a7640;border-color:#9a7640;color:#fff}
@media (max-width:720px){.ways{grid-template-columns:1fr;grid-template-rows:none;row-gap:20px}.way{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column;padding:24px 20px}}
@supports not (grid-template-rows:subgrid){.ways{grid-template-rows:none}.way{display:flex;flex-direction:column}.way-steps{display:block}.way-cta{margin-top:auto}}
.hero{position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:1}
.skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(110px,15vw,240px);color:var(--gold);opacity:.14;pointer-events:none;z-index:0}
.nav-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.nav-sky .skyline{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:100%;min-height:0;color:#9a7640;opacity:.2}
header.nav .wrap{position:relative;z-index:1}
/* contact card */
.cbox{--bg:#ece8df;--surface:#ece8df;--ink:#18233b;--muted:#5d6475;--line:#d3cbbb;--gold:#9a7640;max-width:1040px;margin:0 auto;background:#ece8df;color:#18233b;border-top:3px solid #cfa968;padding:24px 30px 20px;display:grid;gap:16px;box-shadow:0 40px 80px -50px rgba(0,0,0,.9);color-scheme:light}
.cbox-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px}
.cbox-head .eyebrow{width:100%}
.cbox-head h2{font-size:clamp(1.5rem,2.6vw,1.9rem);color:#18233b}
.cbox-head p:last-child{color:#5d6475;font-size:.88rem}
.qc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.qc-i{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #d3cbbb;background:#f6f3ec;color:#18233b;text-decoration:none;font:inherit;text-align:left;cursor:pointer;min-width:0;transition:border-color .2s ease,background .2s ease}
.qc-i:hover{border-color:#9a7640;background:#fff}
.qc-i svg{width:20px;height:20px;flex:none;color:#9a7640}
.qc-i span{display:grid;min-width:0;line-height:1.25}
.qc-i b{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.qc-i small{font-size:.76rem;color:#5d6475;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cbox form#form{padding:0;border:0;background:transparent;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px;align-items:end}
.cbox form#form .row{display:contents}
.cbox form#form label{font-size:.6rem;gap:4px}
.cbox form#form input,.cbox form#form select{padding:5px 0;font-size:.92rem}
.cbox form#form label[for="list"]{grid-column:1/-1}
.cbox form#form textarea{min-height:52px;height:52px;padding:5px 0;font-size:.92rem}
.cbox form#form .consent{grid-column:1/-1;font-size:.72rem;line-height:1.45}
.cbox form#form .privnote{grid-column:1/4;font-size:.72rem;align-self:center}
.cbox form#form .btn{grid-column:4;justify-self:end;padding:11px 22px;font-size:.72rem}
.cbox form#form #status{grid-column:1/-1;margin:0}
.cbox form#form #status:empty{display:none}
@media (max-width:860px){.cbox form#form{grid-template-columns:repeat(2,minmax(0,1fr))}.cbox form#form .privnote{grid-column:1/-1}.cbox form#form .btn{grid-column:1/-1;justify-self:start}}
@media (max-width:600px){.cbox{padding:22px 18px 18px}.qc{grid-template-columns:1fr}.cbox form#form{grid-template-columns:1fr}}
footer{position:relative;overflow:hidden;padding-top:clamp(58px,6vw,80px)}
footer .wrap{position:relative;z-index:1;flex-direction:column;align-items:center;justify-content:center!important;text-align:center;gap:12px!important;padding-block:22px 30px!important}footer .flinks{order:-1;justify-content:center}@media (max-width:640px){footer .wrap{padding-bottom:86px!important}}
footer .skyline *{vector-effect:non-scaling-stroke;stroke-width:1.1px}footer .skyline{position:absolute;left:0;right:0;top:14px;bottom:auto;width:100%;height:clamp(44px,5vw,64px);color:var(--gold);opacity:.4;z-index:0;pointer-events:none}
/* tighter vertical rhythm */
body{line-height:1.6}
section.block .wrap{padding-block:64px}
#about .wrap{padding-block:56px}
.hero .wrap{padding-block:72px 64px}
.hero .lead{margin-top:18px}.hero .actions{margin-top:26px}.hero .phone{margin-top:16px}
.sec-head{gap:10px;margin-bottom:36px}
.svc,.svc:nth-child(even){padding-top:28px;padding-bottom:30px}
.svc{gap:10px}.svc ul{gap:5px;margin-top:4px}
.about .txt{gap:12px}.facts div{padding:10px 0}
.steps{gap:28px;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}.step{gap:6px;padding-top:16px}
.refs{gap:20px}.ref{padding:28px 28px;gap:12px}
.nw{white-space:nowrap}.price .ast{font-size:.45em;vertical-align:top;position:relative;top:.15em;margin-left:2px;color:var(--gold)}.pricing{gap:18px}.plan{padding:26px 24px;gap:8px}.pnotes{margin-top:18px;grid-template-columns:repeat(4,auto);justify-content:start;gap:8px 36px;max-width:none}@media (max-width:900px){.pnotes{grid-template-columns:repeat(2,auto)}}
.guarantee .txt{gap:12px}
.faq summary{padding:13px 0;font-size:1.12rem;line-height:1.3}.faq summary::after{font-size:1.1rem}.faq p{padding-bottom:16px}
.contact .info{gap:14px}form{gap:14px}
.scene-txt{padding-block:0 40px}
@media (max-width:860px){section.block .wrap{padding-block:44px}#about .wrap{padding-block:40px}.hero .wrap{padding-block:44px 40px}.sec-head{margin-bottom:24px}.about{gap:24px}}
@media (max-width:640px){.svc,.svc:nth-child(n){padding:22px 0}}
/* cream request form, same tone as the header */
form#form{--bg:#ece8df;--surface:#ece8df;--ink:#18233b;--muted:#5d6475;--line:#c9c1b0;--gold:#9a7640;--tick:#2f6b4f;background:var(--surface);border-color:#ece8df;color:var(--ink);color-scheme:light}
form#form label{color:var(--muted)}
form#form input,form#form select,form#form textarea{color:var(--ink);border-bottom-color:var(--line)}
form#form ::placeholder{color:#8a8f9c}
form#form .consent a{color:var(--gold)}
form#form .err{color:#a33a2c}
form#form .btn:hover{background:var(--gold);border-color:var(--gold);color:#fff}
/* cream header bar */
header.nav{--hb:#ece8df;--hink:#18233b;--hmuted:#5d6475;--hgold:#9a7640;--hline:#d9d3c6;--gold:#9a7640;background:var(--hb);border-bottom:1px solid var(--hline);backdrop-filter:none;color:var(--hink)}
body::before{background:#ece8df}
header.nav .logo{color:var(--hink)}
header.nav .logo .wm em{color:var(--hgold)}
header.nav ul a{color:var(--hink)}
header.nav ul a:hover{color:var(--hgold)}
header.nav .lang button{color:var(--hmuted)}
header.nav .lang button[aria-pressed="true"]{color:var(--hink);border-bottom-color:var(--hgold)}
header.nav .btn.signal{background:var(--hink);border-color:var(--hink);color:#ece8df}
header.nav .btn.signal:hover{background:var(--hgold);border-color:var(--hgold);color:#fff}
header.nav .menu-btn{color:var(--hink);border-color:var(--hline)}
header.nav :focus-visible{outline-color:var(--hink)}
@media (max-width:860px){header.nav ul{background:var(--hb);border-bottom-color:var(--hline)}header.nav ul li a{border-bottom-color:var(--hline)}}

form#form .privnote{font-size:.82rem;color:var(--muted);line-height:1.5;margin:0}
form#form .privnote a{color:var(--gold)}
.copyline .wa{font:600 .7rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);text-decoration:none;border:1px solid var(--gold);padding:7px 12px;border-radius:2px}
.copyline .wa:hover{background:var(--gold);color:#18233b}
.dsgvo{display:grid;gap:26px;max-width:46em}
.dsgvo section{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:18px}
.dsgvo h2{font-size:1.5rem}
.dsgvo p,.dsgvo li{color:var(--muted);font-size:.95rem}
.dsgvo ul{margin:0;padding-left:18px;display:grid;gap:4px}
.dsgvo a{color:var(--gold)}
/* subpages */
.legal .wrap{padding-block:72px 96px}
.legal h1{font-size:clamp(2.6rem,5vw,3.8rem);margin-bottom:12px}
.legal .lead{color:var(--muted);margin-bottom:40px}
.back{display:inline-flex;gap:8px;align-items:center;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);text-decoration:none;font-weight:600;margin-bottom:28px}
.agb details:first-child{border-top:0}

/* ---------------------------------------------------------------- Buchung */
.bk .wrap{padding-block:56px 90px;max-width:1040px}
.bk h1{font-size:clamp(2.3rem,4.6vw,3.4rem);margin:8px 0 10px}
.bk .lead{color:var(--muted);max-width:640px;margin:0 0 30px}
.bk-steps{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 26px;padding:0;list-style:none;counter-reset:st}
.bk-steps li{counter-increment:st;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:8px 12px;border:1px solid var(--line)}
.bk-steps li::before{content:counter(st) " · ";color:var(--gold)}
.bk-steps li.on{color:var(--ink);border-color:var(--gold)}
.bk-steps li.ok{color:var(--ink)}
.bk-sec{scroll-margin-top:100px;border:1px solid var(--line);background:var(--surface);padding:26px;margin-bottom:16px}
.bk-sec[hidden]{display:none!important}
.bk-sec h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin:0 0 16px}
.bk-sec .hint{color:var(--muted);font-size:.86rem;margin:0 0 16px}
.bk-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bk-opt{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:6px;padding:18px 20px;border:1px solid var(--line);background:var(--bg);color:var(--ink);transition:border-color .2s,transform .2s}
.bk-opt:hover{border-color:var(--gold)}
.bk-opt:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.bk-opt[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.bk-opt .n{font-family:var(--display);font-size:1.35rem;line-height:1.2}
.bk-opt .p{font-family:var(--display);color:var(--gold);font-size:1.5rem}
.bk-opt .k{color:var(--muted);font-size:.84rem;line-height:1.45}
.bk-opt.x .n::before{content:"⚡ ";color:var(--gold)}
.bk-cal{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:26px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-head b{font-family:var(--display);font-weight:500;font-size:1.25rem}
.cal-head button{all:unset;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink)}
.cal-head button:disabled{opacity:.3;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.cal-grid .wd{font-size:.66rem;letter-spacing:.12em;color:var(--muted);padding:4px 0}
.cal-grid button{all:unset;box-sizing:border-box;cursor:pointer;height:44px;display:grid;place-items:center;font-size:.92rem;border:1px solid transparent;color:var(--muted)}
.cal-grid button.av{color:var(--ink);border-color:var(--line);background:var(--bg)}
.cal-grid button.av:hover{border-color:var(--gold)}
.cal-grid button.sel{background:var(--gold);color:#141a28;border-color:var(--gold)}
.cal-grid button:disabled{cursor:default;opacity:.35}
.times h3{font-family:var(--body);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:6px 0 12px;font-weight:600}
.times .tl{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}
.times button{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;padding:10px 0;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:.92rem}
.times button:hover{border-color:var(--gold)}
.times button[aria-pressed="true"]{background:var(--gold);color:#141a28;border-color:var(--gold)}
.times .empty{color:var(--muted);font-size:.88rem}
.bk-f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.bk-f label{display:grid;gap:6px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.bk-f label.full{grid-column:1/-1}
.bk-f input,.bk-f textarea{font:inherit;font-size:.98rem;letter-spacing:0;text-transform:none;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:8px 0;border-radius:0;width:100%}
.bk-f textarea{min-height:84px;resize:vertical}
.bk-f input:focus,.bk-f textarea:focus{outline:none;border-bottom-color:var(--gold)}
.bk-f .chk{grid-column:1/-1;display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:.84rem;letter-spacing:0;text-transform:none;color:var(--ink);line-height:1.5}
.bk-f .chk input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--gold)}
.bk-f .chk small{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}
.bk-nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}
.bk-sum{display:grid;gap:8px;margin:0 0 20px;padding:0}
.bk-sum div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.bk-sum dt{color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.bk-sum dd{margin:0}
.bk-sum .tot dd{font-family:var(--display);font-size:1.6rem;color:var(--gold)}
.bk-pay{max-width:420px}
.bk-pay .note{color:var(--muted);font-size:.78rem;line-height:1.5;margin:12px 0 0}
#bkErr{border-left:3px solid #e07a6c;background:rgba(224,122,108,.1);padding:12px 16px;margin:0 0 16px}
#bkErr[hidden]{display:none}
.bk-done{text-align:center;padding:40px 26px}
.bk-done .ok{width:64px;height:64px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;margin:0 auto 18px;color:var(--gold)}
.bk-done .ok svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:2}
.bk-done .bk-sum{max-width:520px;margin:20px auto;text-align:left}
.bk-demo{font-size:.78rem;color:var(--gold);border:1px dashed var(--gold);padding:8px 12px;margin:0 0 18px}
.bk-busy{opacity:.55;pointer-events:none}
@media (max-width:760px){.bk-opts,.bk-cal,.bk-f{grid-template-columns:1fr}.bk-sec{padding:20px 16px}.bk-sum div{grid-template-columns:100px 1fr}}

@media (min-width:821px){.qc{grid-template-columns:repeat(4,minmax(0,1fr))}}
footer .fig{display:inline-flex;align-items:center;gap:6px}footer .fig svg{width:14px;height:14px}
.call-link{display:inline-block;margin-top:12px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
.plan-book{margin-top:auto;padding-top:6px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid transparent;justify-self:start;align-self:start}
.plan-book:hover{border-bottom-color:var(--gold)}
.way-cta{flex-wrap:wrap}.way-online{flex-basis:100%;margin-top:6px;justify-self:start;width:max-content;display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink,#9a7640);text-decoration:none}.way-online span{border-bottom:1px solid currentColor;padding-bottom:2px}


.cb-btn{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:10px;
  background:#fff;color:#18233b;border:1px solid #e4ddcf;border-radius:999px;padding:11px 18px 11px 12px;cursor:pointer;
  font:600 .74rem var(--body);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 14px 34px -12px rgba(0,0,0,.55)}
.cb-btn svg{width:26px;height:26px;flex:none}
.cb-btn:hover{background:#f7f3ea}
.cb-btn[aria-expanded="true"]{display:none}
.cb-panel{--cb-bg:#ffffff;--cb-soft:#f6f2ea;--cb-line:#e8e1d3;--cb-ink:#18233b;--cb-muted:#6b7080;--cb-gold:#9a7640;
  position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:41;width:min(380px,calc(100vw - 36px));
  height:min(560px,calc(100dvh - 120px));display:flex;flex-direction:column;background:var(--cb-bg);color:var(--cb-ink);border:1px solid var(--cb-line);border-radius:22px;
  box-shadow:0 30px 70px -18px rgba(0,0,0,.6);overflow:hidden;color-scheme:light}
.cb-panel[hidden]{display:none!important}
.cb-head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:var(--cb-soft);border-bottom:1px solid var(--cb-line)}
.cb-head svg{width:38px;height:38px;flex:none}
.cb-head .t{display:grid;line-height:1.15;flex:1;min-width:0}
.cb-head b{font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--cb-ink)}
.cb-head small{font-size:.72rem;color:var(--cb-muted)}
.cb-x{border:1px solid var(--cb-line);background:#fff;color:var(--cb-ink);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:1.15rem;line-height:1}
.cb-x:hover{background:var(--cb-soft)}
.cb-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain;background:var(--cb-bg)}
.cb-msg{max-width:86%;padding:10px 14px;font-size:.92rem;line-height:1.5;white-space:pre-line;border-radius:18px}
.cb-bot{align-self:flex-start;background:var(--cb-soft);color:var(--cb-ink);border-bottom-left-radius:6px}
.cb-user{align-self:flex-end;background:#18233b;color:#f3efe6;border-bottom-right-radius:6px}
.cb-chips{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start;max-width:100%}
.cb-chip{border:1px solid var(--cb-line);background:#fff;color:var(--cb-ink);padding:7px 13px;font:500 .8rem var(--body);cursor:pointer;border-radius:999px}
.cb-chip:hover{border-color:var(--cb-gold);color:var(--cb-gold)}
.cb-chip.cta{background:var(--cb-ink);border-color:var(--cb-ink);color:#f3efe6}
.cb-chip.xp{background:#cfa968;border-color:#cfa968;color:#18233b;font-weight:600}
.cb-chip.xp::before{content:"⚡ "}
.cb-chip.xp:hover{background:#9a7640;border-color:#9a7640;color:#fff}
.cb-chip.cta:hover{background:var(--cb-gold);border-color:var(--cb-gold);color:#fff}
.cb-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--cb-line);background:#fff}
.cb-form input{flex:1;min-width:0;border:1px solid var(--cb-line);background:var(--cb-soft);color:var(--cb-ink);padding:11px 14px;font:inherit;font-size:.92rem;border-radius:999px}
.cb-form input::placeholder{color:#9a9eaa}
.cb-form input:focus{outline:none;border-color:var(--cb-gold);background:#fff}
.cb-form button{border:0;background:var(--cb-ink);color:#f3efe6;padding:0 16px;font:600 .72rem var(--body);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:999px}
.cb-form button:hover{background:var(--cb-gold)}
.cb-note{font-size:.68rem;color:var(--cb-muted);padding:0 14px 12px;background:#fff;margin:0}
@media (max-width:480px){.cb-btn span{display:none}.cb-btn{padding:12px}.cb-panel{right:8px;left:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;height:min(78dvh,620px)}}
@media (prefers-reduced-motion:no-preference){.cb-panel:not([hidden]){animation:cbIn .22s ease-out}@keyframes cbIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
