/* KoonSystems (koonsystems.com): the stylesheet of the business site, design "A" of 03-11-2026
   (PLAN-ontwerp.md). The game site (koonsultancy.com, hosts/game/) keeps css/style.css.
   Colours only through the variables; light is the default, dark through html[data-theme=dark].
   The block "header, shared" and "footer, shared" is copied as-is into hosts/help/assets/help.css,
   hosts/portal/css/portal.css and KoonLearn-game public/css/base.css, so all hosts feel the same. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 600;font-display:swap;src:url(../assets/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 600;font-display:swap;src:url(../assets/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500 700;font-display:swap;src:url(../assets/fonts/montserrat-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500 700;font-display:swap;src:url(../assets/fonts/montserrat-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 600;font-display:swap;src:url(../assets/fonts/playfairdisplay-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 600;font-display:swap;src:url(../assets/fonts/playfairdisplay-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ── variables (PLAN-ontwerp.md §2) ── */
:root{--casing:#111;--bg:#FFFFFF;--panel:#F7F4EF;--card:#FFFFFF;--text:#2F3A44;--muted:#6B7078;--gold:#7D5F37;--line:#E6E1D8;--btn-bg:#7D5F37;--btn-text:#FFFFFF;--hdr:rgba(255,255,255,.92);--shadow:rgba(47,58,68,.35);--frame:#FFFFFF;--radius:12px;--max:1180px;--serif:"Playfair Display",Georgia,serif;--sans:"Inter",Arial,sans-serif;--ui:"Montserrat",Arial,sans-serif}
html[data-theme=dark]{--bg:#2F3A44;--panel:#29323B;--card:#36424D;--text:#EDE8E1;--muted:#A7A08F;--gold:#C79B63;--line:rgba(237,232,225,.14);--btn-bg:#C79B63;--btn-text:#2F3A44;--hdr:rgba(47,58,68,.92);--shadow:rgba(0,0,0,.55);--frame:#1F262D}

/* ── base ── */
*{box-sizing:border-box}[hidden]{display:none!important}
html{background:var(--bg);overflow-x:clip;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--sans);min-width:320px;overflow-x:clip;-webkit-font-smoothing:antialiased}
html.theming,html.theming body,html.theming .site-header,html.theming .site-footer,html.theming .card,html.theming .section{transition:background-color .2s,color .2s,border-color .2s}
a{color:inherit}
img,video{display:block;max-width:100%;height:auto}
.container{width:min(calc(100% - 48px),var(--max));margin:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.02em;color:var(--text)}
h1{font-size:clamp(38px,5.2vw,64px);line-height:1.06}
h1 em{font-style:italic;color:var(--gold)}
h2{font-size:clamp(28px,3.2vw,38px);line-height:1.15}
h2 em{font-style:italic;color:var(--gold)}
h3{font-size:24px;line-height:1.25}
p{margin:0}
.lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:36em}
.eyebrow{margin:0 0 14px;color:var(--gold);font:600 11px/1.3 var(--ui);letter-spacing:.2em;text-transform:uppercase}
.prose p+p{margin-top:16px}
.prose{color:var(--text)}
.prose a,.lead a,.article-text a{color:var(--gold);text-decoration-thickness:1px;text-underline-offset:3px}
.prose strong{font-weight:600}

/* ── buttons, links, badges ── */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 22px;border-radius:8px;border:1px solid transparent;background:var(--btn-bg);color:var(--btn-text);font:600 12px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s,transform .15s}
.button:hover{transform:translateY(-1px)}
.button.secondary{background:transparent;color:var(--text);border-color:var(--line)}
.button.secondary:hover{border-color:var(--gold);color:var(--gold)}
.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--gold);font:600 12px/1.3 var(--ui);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;appearance:none;border:0;background:none;padding:0;cursor:pointer}
.text-link span{transition:transform .15s}
.text-link:hover span{transform:translateX(3px)}
.button-row{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;margin-top:26px}
.status{display:inline-block;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font:600 10px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.status.available,.status.playable{background:var(--gold);border-color:var(--gold);color:var(--btn-text)}
html[data-theme=dark] .status.available,html[data-theme=dark] .status.playable{color:var(--btn-text)}

/* ── sections ── */
.section{padding:88px 0}
.section.tint{background:var(--panel)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}
.section-head h2{max-width:16em}
.section-note{max-width:30em;color:var(--muted)}
.section-note a{color:var(--gold)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.top{align-items:start}
.split.rev>:first-child{order:2}
.split .lead{margin-top:16px}
.split .prose{max-width:40em}

/* ── screens in frames ── */
.frame{background:var(--frame);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 20px 50px -24px var(--shadow)}
.frame .bar{height:28px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:0 12px}
.frame .bar i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.frame .bar span{margin-left:auto;font:500 10px var(--ui);letter-spacing:.08em;color:var(--muted)}
.frame img{width:100%}
.frame figcaption,.phone figcaption{padding:12px 14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.frame figcaption strong,.phone figcaption strong{display:block;color:var(--text);font-weight:600;margin-bottom:2px}
figure{margin:0}
.phone{width:200px;max-width:100%;border-radius:26px;border:1px solid var(--line);background:var(--casing);padding:8px;box-shadow:0 20px 50px -24px var(--shadow)}
.phone img{border-radius:19px;width:100%}
.phone figcaption{margin:8px -8px -8px;padding:12px 14px;border-top:0;border-radius:0 0 25px 25px;background:var(--card);color:var(--muted)}
.phone figcaption:first-child{margin:-8px -8px 8px;border-radius:25px 25px 0 0}
.frame figcaption:first-child{border-top:0;border-bottom:1px solid var(--line)}
.split .phones .phone{width:170px}
.phone figcaption strong{color:var(--text)}
.phones{display:flex;gap:18px;justify-content:center;align-items:end;flex-wrap:wrap}
.phones .phone:nth-child(2){margin-bottom:36px}
.phones.three .phone:nth-child(2){margin-bottom:0}
.phones.three .phone:nth-child(3){margin-bottom:36px}
.screens{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.screens.phones-grid{display:flex;gap:28px;justify-content:center;align-items:start;flex-wrap:wrap}
.screens.phones-grid .phone{width:220px}

/* ── homepage hero ── */
.hero{padding:80px 0 56px;display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero .lead{margin-top:22px}
.hero .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero .proof{margin-top:36px;display:flex;flex-wrap:wrap;gap:16px 32px;color:var(--muted);font:500 12px/1.4 var(--sans)}
.hero .proof b{display:block;color:var(--text);font:400 24px/1.1 var(--serif);margin-bottom:3px}
.hero .visual{position:relative}
.hero .visual .phone{position:absolute;right:-16px;bottom:-30px;width:150px}

/* ── product grid (homepage) ── */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px 30px 0;display:flex;flex-direction:column;gap:14px;overflow:hidden;transition:border-color .15s,transform .15s,box-shadow .15s}
.card:hover{border-color:var(--gold);transform:translateY(-2px)}
.card.wide{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr;gap:40px;padding:36px 0 0 36px}
.card .top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card .name{font:400 26px/1.2 var(--serif);text-decoration:none}
.card .name b{font-weight:400;color:var(--gold)}
.card .what{color:var(--muted);font-size:15px;max-width:34em}
.card .facts{font:500 13px/1.5 var(--sans);color:var(--text)}
.card .facts span{color:var(--muted)}
.card .links{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px 22px;padding-bottom:30px}
.card .shot{margin:14px -30px 0;border-top:1px solid var(--line);background:var(--panel);padding:24px 30px 0;display:flex;align-items:start;justify-content:center;height:260px;overflow:hidden}
.card .shot .frame{width:100%;border-bottom:0;border-radius:10px 10px 0 0;box-shadow:none}
.card .shot.phones{gap:24px;padding-top:28px}
.card .shot.phones .phone{width:170px;margin:0}
.card.wide .txt{display:flex;flex-direction:column;gap:14px;padding:0 20px 36px 0}
.card.wide .links{padding:0;margin-top:auto}
.card.wide .shot{margin:0;border:0;padding:0;background:none;height:auto;align-items:end;justify-content:end}
.card.wide .shot .frame{border-right:0;border-bottom:0;border-radius:10px 0 0 0}

/* ── reasons (three cards), who it's for, behind ── */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.why>div{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.why h3{font-size:22px;margin-bottom:10px}
.why p{color:var(--muted);font-size:15px}
.why .n{display:block;font:600 11px var(--ui);color:var(--gold);letter-spacing:.2em;margin-bottom:18px}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.checks{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.checks li{display:flex;gap:14px;align-items:start;color:var(--muted);font-size:15px}
.checks li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;background:var(--gold);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' d='M4 12.5l5 5 11-11'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' d='M4 12.5l5 5 11-11'/%3E%3C/svg%3E") center/contain no-repeat}
.band{border:1px solid var(--line);border-radius:var(--radius);padding:48px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;background:var(--card)}
.band h2{font-size:30px}
.band .lead{font-size:16px;margin-top:10px}

/* ── product page ── */
.phero{padding:72px 0 56px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.phero .status{margin-bottom:18px}
.phero .lead{margin-top:20px}
.phero .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.phero .visual .frame{width:100%}
.phero .phones .phone{width:170px}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feat>div{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.feat.four{grid-template-columns:repeat(2,1fr)}
.feat h3{font-size:20px;margin-bottom:8px}
.feat p{color:var(--muted);font-size:15px}
.pricing{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pricing>div{padding:36px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.pricing .amount{font:400 52px/1 var(--serif);margin:14px 0 8px}
.pricing .amount small{font:400 15px/1.4 var(--sans);color:var(--muted);display:inline-block;margin-left:6px}
.pricing p{color:var(--muted);font-size:15px}
.pricing .button,.pricing .text-link{margin-top:24px}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.faq details{border-top:1px solid var(--line);padding:16px 0}
.faq summary{cursor:pointer;font:500 16px/1.45 var(--sans);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:18px;flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:10px;color:var(--muted);font-size:15px}
.faq details p+p{margin-top:8px}
.faq details[open] p{animation:unfold .18s ease-out}
.points{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.points li{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.points li strong{color:var(--text);font-weight:600}
.points.two-col{grid-template-columns:1fr 1fr;gap:0 40px}
.comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.comparison>div{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.comparison h3{font-size:20px;margin-bottom:12px}
.comparison ul{margin:0;padding-left:18px;color:var(--muted);font-size:15px}
.comparison li+li{margin-top:6px}
.table-scroll{overflow-x:auto;margin-top:24px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font:600 11px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ── text pages (about, privacy, terms, 404, guides) ── */
.page-hero{padding:72px 0 48px;text-align:center}
.page-hero .container{max-width:860px}
.page-hero .lead{margin:22px auto 0}
.page-hero .status{margin-bottom:18px}
.page-hero .hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.article-head{text-align:left}
.article-head .container{max-width:760px}
.article-head .eyebrow a{color:var(--gold);text-decoration:none}
.article-head .lead{margin-left:0}
.article-meta{margin-top:18px;font:600 11px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.article-text{max-width:720px;margin:0 auto;font-size:17px;line-height:1.7}
.article-text h2{font-size:28px;margin:48px 0 14px}
.article-text h2:first-child{margin-top:0}
.article-text p+p{margin-top:16px}
.article-text ul,.article-text ol{margin:14px 0 0;padding-left:22px}
.article-text li+li{margin-top:8px}
.article-text code{font:14px ui-monospace,Menlo,Consolas,monospace;background:var(--panel);padding:2px 6px;border-radius:4px}
.article-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.article-item{display:block;height:100%;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-decoration:none;transition:border-color .15s,transform .15s}
.article-item:hover{border-color:var(--gold);transform:translateY(-2px)}
.article-item .article-date{display:block;margin-bottom:10px;color:var(--gold);font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase}
.article-item h3{font-size:21px;margin-bottom:10px}
.article-item p{color:var(--muted);font-size:15px}
.article-list.short{grid-template-columns:repeat(3,1fr)}
.article-item.short h3{font-size:18px;margin:0}
.to-top{position:fixed;right:20px;bottom:20px;z-index:50;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--gold);font:600 18px/1 var(--ui);cursor:pointer;box-shadow:0 4px 14px var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}
.to-top.visible{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{border-color:var(--gold)}
.closing{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;padding:48px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.meta{display:grid;gap:0}
.meta div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font:600 10px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase}
.meta span{color:var(--muted)}
.meta strong{color:var(--gold);font-weight:600;text-align:right}
.aside{padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.aside .button{margin-top:22px}
.aside .lead{font-size:15px;margin-bottom:8px}
.closing .button{margin-top:24px}

/* ── older class names on privacy, terms and the guides ── */
.mark{display:none}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.principle{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.principle h3{font-size:22px;margin-bottom:10px}
.principle p{color:var(--muted);font-size:15px}
.principle-no{display:block;font:600 11px var(--ui);color:var(--gold);letter-spacing:.2em;margin-bottom:18px}
.game-panel{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;padding:48px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.game-panel h2{font-size:30px}
.game-copy p:not(.eyebrow){margin-top:12px;color:var(--muted)}
.game-copy .button,.game-copy .button-row{margin-top:24px}
.game-meta{display:grid;gap:0}
.meta-line{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font:600 10px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase}
.meta-line span{color:var(--muted)}
.meta-line strong{color:var(--gold);font-weight:600;text-align:right}
.article-source{padding:16px 20px;border-left:2px solid var(--gold);background:var(--panel);font-size:15px;color:var(--muted)}
.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* ── contact form ── */
.form{display:grid;gap:16px;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:grid;gap:6px;font:600 11px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.form input,.form select,.form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:400 15px/1.5 var(--sans)}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.form .note{font-size:14px;color:var(--muted);min-height:1.4em}
.form .note.ok{color:var(--gold)}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── header, shared across hosts (PLAN-ontwerp.md §3) ── */
.site-header{position:sticky;top:0;z-index:20;background:var(--hdr);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:72px;display:flex;align-items:center;gap:32px}
.brand{display:inline-flex;flex-direction:column;align-items:flex-start;flex:none;text-decoration:none;color:var(--text);font:400 27px/1 var(--serif);letter-spacing:-.01em;padding:6px 0}
.brand b{font-weight:400;color:var(--gold)}
.brand i{display:block;width:24px;height:1px;background:var(--gold);margin-top:5px}
.main-nav{display:flex;align-items:center;gap:26px}
.main-nav>a,.nav-group>summary{font:500 13px/1 var(--sans);text-decoration:none;color:var(--muted);cursor:pointer;list-style:none;display:flex;align-items:center;gap:5px;white-space:nowrap;transition:color .15s}
.main-nav>a:hover,.nav-group>summary:hover,.main-nav>a[aria-current],.nav-group[open]>summary{color:var(--text)}
.main-nav a small,.nav-group>summary small{display:none}
.nav-group{position:relative}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7;transition:transform .2s}
.nav-group[open]>summary::after{transform:translateY(1px) rotate(225deg)}
.nav-sub{position:absolute;top:calc(100% + 14px);left:-12px;min-width:420px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:8px;box-shadow:0 20px 40px -20px var(--shadow);z-index:30;animation:unfold .16s ease-out}
.nav-addon{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:12px;border-radius:8px;text-decoration:none;color:var(--text);transition:background-color .15s}
.nav-addon:hover{background:var(--panel)}
.nav-addon .nav-name{grid-column:1;grid-row:1;font:400 17px/1.2 var(--serif)}
.nav-addon .nav-status{grid-column:2;grid-row:1;align-self:center;padding:4px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font:600 9px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.nav-addon .nav-status.available{background:var(--gold);border-color:var(--gold);color:var(--btn-text)}
.nav-addon .nav-line{grid-column:1/-1;grid-row:2;color:var(--muted);font:400 13px/1.4 var(--sans)}
.nav-addon .nav-what{display:none}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px;white-space:nowrap}
.header-actions>details{position:relative}
.header-actions summary{list-style:none}
.header-actions summary::-webkit-details-marker{display:none}
.pill,.round{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;border:1px solid var(--line);border-radius:18px;background:transparent;color:var(--text);font:600 11px/1 var(--ui);letter-spacing:.08em;cursor:pointer;appearance:none;padding:0 12px;transition:border-color .15s,color .15s,background-color .15s}
.round{width:36px;padding:0;border-radius:50%}
.pill:hover,.round:hover,details[open]>.pill,details[open]>.round{border-color:var(--gold);color:var(--gold)}
.pill::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-1px) rotate(45deg);opacity:.7;transition:transform .2s}
details[open]>.pill::after{transform:translateY(1px) rotate(225deg)}
.pill .short{display:none}
.theme-toggle .theme-icon{display:inline-flex;color:var(--gold);line-height:1}
.theme-icon svg{display:block;width:16px;height:16px}
.theme-icon .moon,html[data-theme=dark] .theme-icon .sun{display:none}
html[data-theme=dark] .theme-icon .moon{display:block}
.menu-toggle{display:none;font-size:18px;font-weight:400}
.header-actions .button{min-height:36px;padding:0 16px;margin-left:6px}
.dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:8px;box-shadow:0 20px 40px -20px var(--shadow);z-index:30;animation:unfold .16s ease-out}
.dropdown a{display:grid;grid-template-columns:1fr;gap:2px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--text);font:400 13px/1.4 var(--sans);transition:background-color .15s}
.dropdown a:hover,.dropdown a:focus-visible{background:var(--panel)}
.dropdown a b{font:600 11px/1.4 var(--ui);letter-spacing:.08em}
.dropdown a span{color:var(--muted)}
.dropdown a[aria-current]{color:var(--gold)}
.dropdown.lang{min-width:0;display:flex;padding:6px}
.dropdown.lang a{padding:8px 10px;font:600 11px/1 var(--ui);letter-spacing:.06em}
@keyframes unfold{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ── footer, shared across hosts (PLAN-ontwerp.md §4) ── */
.site-footer{margin-top:40px;background:var(--panel);border-top:1px solid var(--line);padding:64px 0 40px;color:var(--muted);font-size:14px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.footer-grid h4{margin:0 0 14px;font:600 10px/1.4 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.footer-grid div>a{display:block;text-decoration:none;padding:5px 0;color:var(--muted);transition:color .15s}
.footer-grid div>a:hover{color:var(--gold)}
.footer-brand p{margin:16px 0 8px;max-width:22em}
.footer-brand .brand{font-size:24px}
.footer-brand>a:not(.brand){color:var(--text)}
.footer-bottom{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;font:500 12px/1.4 var(--sans)}
.footer-lang a{text-decoration:none;margin-left:14px;font:600 11px var(--ui);letter-spacing:.08em;color:var(--muted)}
.footer-lang a[aria-current]{color:var(--gold)}

/* ── responsive ── */
@media(max-width:1100px){.nav-wrap{gap:22px}.main-nav{gap:18px}.header-actions .button{display:none}}
@media(max-width:900px){
  .container{width:calc(100% - 32px)}
  .section{padding:56px 0}
  .section-head{flex-direction:column;align-items:start;gap:14px;margin-bottom:28px}
  .hero,.phero{grid-template-columns:minmax(0,1fr);gap:36px;padding:48px 0 40px}
  .hero .visual .phone{display:none}
  .grid,.card.wide,.why,.fit,.band,.feat,.feat.four,.split,.pricing,.faq,.comparison,.article-list,.article-list.short,.closing,.points.two-col,.form .row{grid-template-columns:1fr}
  .split.rev>:first-child{order:0}
  .card.wide{padding:30px 30px 0}
  .card.wide .txt{padding:0}
  .card.wide .shot{margin:14px -30px 0;border-top:1px solid var(--line);background:var(--panel);padding:24px 30px 0;height:260px;align-items:start;justify-content:center}
  .card.wide .shot .frame{border-right:1px solid var(--line);border-radius:10px 10px 0 0}
  .card .shot.phones .phone{width:40%}
  .phone{width:min(200px,38vw)}
  .phones,.screens.phones-grid{gap:10px}
  .phones.three .phone:nth-child(3){display:none}
  .screens{grid-template-columns:1fr}
  .band,.closing,.game-panel{padding:28px}
  .principle-grid,.game-panel{grid-template-columns:1fr}
  .page-hero{padding:48px 0 32px}
  /* header on a phone: menu in a panel under the header, actions as round buttons */
  .nav-wrap{gap:12px;min-height:64px}
  .brand{font-size:24px}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 20px 40px -20px var(--shadow);animation:unfold .16s ease-out}
  .main-nav.open{display:flex}
  .main-nav>a,.nav-group>summary{font-size:16px;font-weight:500;color:var(--text);padding:14px 0;border-bottom:1px solid var(--line)}
  .nav-group>summary::after{margin-left:auto}
  .nav-sub{position:static;min-width:0;border:0;box-shadow:none;padding:0 0 8px;background:transparent;animation:none}
  .nav-addon{padding:12px 0 12px 16px}
  .main-nav>a.button{margin:16px 0 0;justify-content:center;padding:0 22px;border-bottom:0;color:var(--btn-text);font:600 12px/1 var(--ui)}
  .header-actions{gap:6px}
  .pill{padding:0 10px}
  .pill .long{display:none}.pill .short{display:inline}
  .menu-toggle{display:inline-flex}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}
  .footer-lang a{margin:0 14px 0 0}
}
@media(min-width:901px){.main-nav .button{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
