/* Ghost Theme Studio — DevFlow Pro */
:root {
  --color-bg:           #0D0D12;
  --color-surface:      color-mix(in srgb, #0D0D12 94%, #000);
  --color-text:         #EEEEF0;
  --color-text-muted:   color-mix(in srgb, #EEEEF0 60%, transparent);
  --color-border:       #2A2A35;
  --color-accent:       var(--ghost-accent-color, #7B6EF6);
  --color-accent-hover: color-mix(in srgb, var(--ghost-accent-color, #7B6EF6) 85%, #000);
  --gh-font-heading: 'IBM Plex Mono', Georgia, serif;
  --gh-font-body:    'IBM Plex Sans', system-ui, sans-serif;
  --font-display: var(--gh-font-heading);
  --font-body:    var(--gh-font-body);
  --radius:    8px;
  --radius-sm: calc(8px * 0.5);
  --radius-lg: calc(8px * 2);
  --width-content: 1080px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;
  --space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
}
[data-color-scheme="dark"] {
  --color-bg:      color-mix(in srgb, #0D0D12 5%, #000);
  --color-surface: color-mix(in srgb, #0D0D12 12%, #000);
  --color-text:    color-mix(in srgb, #EEEEF0 10%, #fff);
  --color-border:  color-mix(in srgb, #2A2A35 30%, #fff);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.2;color:var(--color-text)}
a{color:var(--color-accent);text-decoration:none}
a:hover{color:var(--color-accent-hover)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
.gh-container{max-width:var(--width-content);margin:0 auto;padding:0 var(--space-6)}
.gh-section{padding:var(--space-16) 0}
.gh-head{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 90%,transparent);backdrop-filter:blur(12px);padding:var(--space-4) 0}
.gh-head-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.gh-head-logo{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-text)}
.gh-head-logo img{max-height:40px}
.gh-head-nav{display:flex;align-items:center;gap:var(--space-6)}
.gh-head-nav a{font-size:.9rem;font-weight:500;color:var(--color-text-muted)}
.gh-head-nav a:hover{color:var(--color-text)}
.gh-head-actions{display:flex;gap:var(--space-3);align-items:center}
@media(max-width:768px){.gh-head-nav,.gh-head-actions{display:none}}
.gh-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-weight:600;font-size:.9rem;cursor:pointer;border:none;font-family:var(--font-body);text-decoration:none;transition:all .15s;white-space:nowrap}
.gh-btn-primary{background:var(--color-accent);color:#fff}
.gh-btn-primary:hover{background:var(--color-accent-hover);color:#fff;transform:translateY(-1px)}
.gh-btn-outline{background:transparent;border:1.5px solid var(--color-border);color:var(--color-text)}
.gh-btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent)}
.gh-feed{display:grid;gap:var(--space-8)}
.gh-feed-3col{grid-template-columns:repeat(3,1fr)}
.gh-feed-2col{grid-template-columns:repeat(2,1fr)}
@media(max-width:1024px){.gh-feed-3col{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.gh-feed-3col,.gh-feed-2col{grid-template-columns:1fr}}
.gh-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s}
.gh-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.gh-card-image{aspect-ratio:16/9;overflow:hidden}
.gh-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gh-card:hover .gh-card-image img{transform:scale(1.04)}
.gh-card-content{padding:var(--space-6)}
.gh-card-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:var(--space-2)}
.gh-card-tag a{color:inherit}
.gh-card-title{font-size:1.1rem;font-family:var(--font-display);margin-bottom:var(--space-2);line-height:1.3}
.gh-card-title a{color:var(--color-text)}
.gh-card-title a:hover{color:var(--color-accent)}
.gh-card-excerpt{font-size:.875rem;color:var(--color-text-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gh-card-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);font-size:.8rem;color:var(--color-text-muted)}
.gh-article{max-width:720px;margin:0 auto;padding:var(--space-16) var(--space-6) var(--space-24)}
.gh-article-header{text-align:center;margin-bottom:var(--space-8)}
.gh-article-title{font-size:clamp(2rem,4vw,3rem);font-family:var(--font-display);margin:var(--space-4) 0}
.gh-article-excerpt{font-size:1.1rem;color:var(--color-text-muted);max-width:560px;margin:0 auto}
.gh-article-image{width:100%;border-radius:var(--radius);aspect-ratio:16/9;object-fit:cover;margin:var(--space-8) 0}
.gh-content{font-size:1.0625rem;line-height:1.8}
.gh-content p{margin-bottom:var(--space-6)}
.gh-content h2{font-family:var(--font-display);margin:var(--space-12) 0 var(--space-4);font-size:clamp(1.5rem,2.5vw,2rem)}
.gh-content h3{font-family:var(--font-display);margin:var(--space-8) 0 var(--space-3)}
.gh-content img{border-radius:var(--radius);margin:var(--space-8) 0}
.gh-content a{border-bottom:1px solid var(--color-accent)}
.gh-content blockquote{border-left:3px solid var(--color-accent);padding:var(--space-4) var(--space-6);font-style:italic;color:var(--color-text-muted);background:var(--color-surface);border-radius:0 var(--radius) var(--radius) 0;margin:var(--space-8) 0}
.gh-content pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);overflow-x:auto;font-size:.9rem;margin:var(--space-6) 0}
.gh-content code{font-family:'IBM Plex Mono',monospace;font-size:.875em;background:var(--color-surface);padding:2px 6px;border-radius:4px}
.gh-content pre code{background:transparent;padding:0}
.gh-content ul,.gh-content ol{padding-left:var(--space-8);margin-bottom:var(--space-6)}
.gh-content li{margin-bottom:var(--space-2)}
/* Koenig — REQUIRED by gscan */
.kg-width-wide{position:relative;width:85vw;min-width:100%;margin:var(--space-8) calc(50% - 42.5vw)}
.kg-width-full{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.kg-image-card img{width:100%;border-radius:var(--radius)}
.kg-gallery-container{display:flex;flex-direction:column;gap:4px}
.kg-gallery-row{display:flex;gap:4px}
.kg-gallery-image{flex:1;min-width:0;overflow:hidden;border-radius:var(--radius-sm)}
.kg-gallery-image img{width:100%;height:100%;object-fit:cover}
.kg-video-card{border-radius:var(--radius);overflow:hidden}
.kg-callout-card{display:flex;gap:var(--space-4);padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);margin:var(--space-6) 0}
.kg-toggle-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4) var(--space-6);margin:var(--space-4) 0}
.kg-button-card{text-align:center;margin:var(--space-6) 0}
.gh-author-box{display:flex;gap:var(--space-6);align-items:flex-start;padding:var(--space-8);margin-top:var(--space-12);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}
.gh-author-box-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}
.gh-author-box-name{font-weight:700;font-family:var(--font-display);margin-bottom:var(--space-1)}
.gh-author-box-bio{font-size:.875rem;color:var(--color-text-muted)}
.gh-related-posts{margin-top:var(--space-16);border-top:1px solid var(--color-border);padding-top:var(--space-12)}
.gh-related-posts h3{font-family:var(--font-display);font-size:1.25rem;margin-bottom:var(--space-8)}
.gh-subscribe-form{display:flex;gap:var(--space-2);max-width:420px}
.gh-subscribe-input{flex:1;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:.9rem;font-family:inherit;outline:none}
.gh-subscribe-input:focus{border-color:var(--color-accent)}
.gh-tag-header{padding:var(--space-16) 0 var(--space-8);text-align:center;border-bottom:1px solid var(--color-border)}
.gh-tag-header h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem)}
.gh-tag-header p{color:var(--color-text-muted);margin-top:var(--space-4)}
.gh-tag-pill{display:inline-flex;padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;font-size:.85rem;color:var(--color-text-muted);transition:all .15s}
.gh-tag-pill:hover{border-color:var(--color-accent);color:var(--color-accent)}
.gh-foot{border-top:1px solid var(--color-border);padding:var(--space-12) 0;margin-top:var(--space-24)}
.gh-foot-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.gh-foot-copy{font-size:.85rem;color:var(--color-text-muted)}
.gh-section-hero{padding:var(--space-24) 0}
.gh-section-hero .gh-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
@media(max-width:768px){.gh-section-hero .gh-container{grid-template-columns:1fr}}
.gh-hero-content{display:flex;flex-direction:column;gap:var(--space-6)}
.gh-hero-content h1{font-size:clamp(2.25rem,5vw,3.5rem);font-family:var(--font-display);line-height:1.1}
.gh-hero-content p{font-size:1.1rem;color:var(--color-text-muted);max-width:480px}
.gh-hero-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}
.gh-hero-image{border-radius:var(--radius);overflow:hidden;aspect-ratio:1}
.gh-hero-image img{width:100%;height:100%;object-fit:cover}
.gh-newsletter-cta{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-16);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}
.gh-newsletter-cta h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.25rem)}
.gh-newsletter-cta p{color:var(--color-text-muted);max-width:480px}
.gh-section-title{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:var(--space-8)}
.gh-section-title--center{text-align:center}
.gh-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-8)}
.gh-team-member{text-align:center}
.gh-team-member img{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto var(--space-3)}
.gh-team-member h3{font-family:var(--font-display);font-size:1rem;margin-bottom:var(--space-1)}
.gh-team-member p{font-size:.875rem;color:var(--color-text-muted)}
.gh-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6)}
.gh-pricing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}
.gh-pricing-card--featured{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}
.gh-pricing-price{font-size:2.5rem;font-weight:700;font-family:var(--font-display);line-height:1}
.gh-pricing-price span{font-size:1rem;font-weight:400}
.gh-pricing-benefits{display:flex;flex-direction:column;gap:var(--space-2);flex:1}
.gh-pricing-benefits li{font-size:.875rem;color:var(--color-text-muted);padding:var(--space-2) 0;border-top:1px solid var(--color-border)}
.gh-contact{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-12)}
@media(max-width:768px){.gh-contact{grid-template-columns:1fr}}
.gh-contact-form input,.gh-contact-form textarea{display:block;width:100%;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s}
.gh-contact-form input:focus,.gh-contact-form textarea:focus{border-color:var(--color-accent)}
.gh-contact-form label{font-size:.8rem;font-weight:600;margin-bottom:var(--space-1);display:block}
.gh-video-wrap{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9}
.gh-video-wrap iframe{width:100%;height:100%;border:0}
.gh-map-wrap{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border)}
.gh-map-wrap iframe{display:block}
.gh-booking-wrap{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);min-height:500px}
.gh-booking-wrap iframe{width:100%;min-height:500px;border:0;display:block}
.gh-podcast-list{display:flex;flex-direction:column;gap:var(--space-4)}
.gh-podcast-item{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}
.gh-podcast-item img{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}
.gh-podcast-item>div{flex:1;min-width:0}
.gh-podcast-item h3{font-family:var(--font-display);font-size:.95rem;margin-bottom:var(--space-1)}
.gh-podcast-item p{font-size:.8rem;color:var(--color-text-muted)}
.gh-card-list{display:flex;gap:var(--space-6);padding:var(--space-6) 0;border-bottom:1px solid var(--color-border)}
.gh-card-list-image{width:80px;height:64px;flex-shrink:0;border-radius:var(--radius);overflow:hidden}
.gh-card-list-image img{width:100%;height:100%;object-fit:cover}
.gh-card-list-content{flex:1;min-width:0}
.gh-featured-card{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center}
@media(max-width:768px){.gh-featured-card{grid-template-columns:1fr}}
.gh-featured-image{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3}
.gh-featured-image img{width:100%;height:100%;object-fit:cover}
.gh-logos-section{padding:var(--space-10) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.gh-logos-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);text-align:center;margin-bottom:var(--space-6)}
.gh-logos-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-8) var(--space-10)}
.gh-logos-row img{height:1.75rem;width:auto;object-fit:contain;opacity:.5;filter:grayscale(1)}
.gh-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-8) 0}
.gh-pagination{display:flex;justify-content:center;gap:var(--space-4);padding:var(--space-8) 0}
.gh-pagination a{color:var(--color-accent);font-weight:600}
/* ── Hero variants ─── */
.gh-hero{overflow:hidden}
.gh-hero-container{max-width:1200px;margin:0 auto;padding:80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
@media(max-width:900px){.gh-hero-container{grid-template-columns:1fr;padding:60px 24px}}
.gh-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;margin-bottom:16px}
.gh-hero-badge-tag{font-size:.7rem;font-weight:700;background:var(--color-accent);color:#fff;padding:2px 8px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}
.gh-hero-badge-text{font-size:.8rem;color:var(--color-text-muted)}
.gh-hero-headline{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,3.75rem);line-height:1.05;font-weight:700;color:var(--color-text);margin:0 0 16px}
.gh-hero-subtext{font-size:1.0625rem;color:var(--color-text-muted);line-height:1.7;max-width:460px;margin:0 0 16px}
.gh-hero-actions{display:flex;gap:12px;align-items:center;padding-top:8px;flex-wrap:wrap}
.gh-hero-actions--center{justify-content:center}
.gh-hero-image-wrap{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:1;box-shadow:0 32px 80px rgba(0,0,0,.12)}
.gh-hero-image{width:100%;height:100%;object-fit:cover}
.gh-hero--centered .gh-hero-centered-inner{max-width:1200px;margin:0 auto;padding:80px 80px 40px;display:flex;flex-direction:column;align-items:center;text-align:center}
@media(max-width:900px){.gh-hero--centered .gh-hero-centered-inner{padding:60px 24px 32px}}
.gh-hero--centered .gh-hero-subtext{max-width:540px;margin:0 auto 16px}
.gh-hero-logos{max-width:1200px;margin:0 auto;padding:32px 80px 48px;text-align:center}
@media(max-width:900px){.gh-hero-logos{padding:24px}}
.gh-hero--vertical .gh-hero-vertical-inner{max-width:1200px;margin:0 auto;padding:80px 80px 40px;display:flex;flex-direction:column;align-items:center;text-align:center}
@media(max-width:900px){.gh-hero--vertical .gh-hero-vertical-inner{padding:60px 24px 32px}}
.gh-hero-image-full{max-width:1200px;margin:0 auto;padding:0 80px}
.gh-hero-image-full img{width:100%;border-radius:20px;aspect-ratio:1.78;object-fit:cover;box-shadow:0 32px 80px rgba(0,0,0,.14);display:block}
@media(max-width:900px){.gh-hero-image-full{padding:0 24px}}
.gh-hero-bento-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;padding:80px 0}
@media(max-width:900px){.gh-hero-bento-grid{grid-template-columns:1fr;padding:40px 0}}
.gh-hero-bento-main{background:var(--color-surface);border-radius:20px;padding:40px 40px 0;overflow:hidden;grid-row:span 2;display:flex;flex-direction:column;gap:24px}
.gh-hero-bento-main-image{flex:1;min-height:160px;border-radius:12px 12px 0 0;overflow:hidden;margin-top:auto}
.gh-hero-bento-main-image img{width:100%;height:100%;object-fit:cover;display:block;min-height:180px}
.gh-hero-bento-stat{background:var(--color-accent);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:8px}
.gh-hero-bento-stat-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.65)}
.gh-hero-bento-stat-number{font-family:var(--font-display);font-size:3rem;font-weight:700;color:#fff;line-height:1}
.gh-hero-bento-stat-sub{font-size:.875rem;color:rgba(255,255,255,.75)}
.gh-hero-bento-image{border-radius:20px;overflow:hidden}
.gh-hero-bento-image img{width:100%;height:100%;object-fit:cover;min-height:200px;display:block}
