:root{--brand:#7c3aed;--brand-2:#06b6d4;--soft:#f6f4ff;--ink:#243042}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}h1,h2,h3,h4,h5,h6,.navbar-brand{font-weight:500;letter-spacing:-.025em}strong,b{font-weight:500}.brand-mark{width:2.4rem;height:2.4rem;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-2))}.btn,.form-control,.form-select,.dropdown-toggle{font-weight:400}.py-lg-6{padding-top:5rem;padding-bottom:5rem}.builder-icon{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;margin-right:.75rem;flex:0 0 auto}.cv-builder-accordion .accordion-button{gap:.25rem;font-weight:500;padding:1.15rem 1.25rem}.cv-builder-accordion .accordion-button:not(.collapsed){background:#fff;color:var(--ink);box-shadow:none}.cv-builder-accordion .accordion-button:focus{box-shadow:none}.designer-section-title{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 .9rem;color:#6b7280;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em}.designer-section-title:after{content:"";height:1px;background:#e5e7eb;flex:1}.drop-zone{position:relative;cursor:pointer;transition:.2s ease}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-zone.is-dragover,.drop-zone:hover{border-color:var(--brand)!important;background:#f5f3ff!important}.smart-status{border-radius:1rem;padding:.85rem 1rem;font-size:.92rem}.smart-status-info{background:#eff6ff;color:#1d4ed8}.smart-status-success{background:#ecfdf5;color:#047857}.smart-status-danger{background:#fff1f2;color:#be123c}.smart-file-grid{display:grid;gap:.75rem}.smart-file-card{display:flex;align-items:center;gap:.75rem;border:1px solid #e5e7eb;border-radius:1rem;background:#fff;padding:.8rem}.file-icon{width:2.3rem;height:2.3rem;border-radius:.8rem;background:#f8fafc;display:flex;align-items:center;justify-content:center}.file-info{min-width:0;flex:1}.file-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-info span,.file-info small,.file-info em{display:block;font-size:.8rem;color:#6b7280;font-style:normal}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.75rem}.image-tile{border:1px solid #e5e7eb;border-radius:1rem;background:#fff;padding:.45rem;text-align:center;cursor:pointer}.image-tile img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:.75rem}.image-tile span{font-size:.75rem;color:#6b7280}.image-tile.selected{outline:3px solid rgba(124,58,237,.25);border-color:var(--brand)}.empty-mini{border:1px dashed #d1d5db;border-radius:1rem;padding:1rem;text-align:center;color:#6b7280}.preview-sticky{position:sticky;top:6rem}.a4-preview-wrap{background:linear-gradient(135deg,#eef2ff,#ecfeff);padding:1.25rem;overflow:auto;max-height:calc(100vh - 7rem);border:1px solid #e5e7eb}.cv-preview{--accent:#7c3aed;--secondary:#06b6d4;--text:#243042;--paper:#fff;--side-bg:var(--accent-soft);--side-text:var(--text);--muted:#657083;--page-pad:18mm;--section-gap:7mm;--radius:8mm;min-width:210mm;width:max-content;margin:auto;color:var(--text);font-family:var(--cv-font),Inter,system-ui,sans-serif}.cv-paper{position:relative;isolation:isolate;width:210mm;min-height:297mm;margin:auto;background:var(--paper);color:var(--text);box-shadow:0 1.4rem 4rem rgba(15,23,42,.18);overflow:hidden;padding:var(--page-pad);font-size:10.5pt;line-height:1.45}.cv-art{position:absolute;inset:0;z-index:-1;pointer-events:none}.cv-paper:after{content:attr(data-watermark);position:absolute;right:9mm;bottom:8mm;font-size:8pt;color:var(--text-faint);letter-spacing:.16em;text-transform:uppercase}.cv-hero{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:8mm;margin-bottom:8mm}.cv-hero h1{font-size:31pt;line-height:1;margin:0 0 2.4mm;font-weight:500;color:var(--text)}.cv-headline{font-size:12.5pt;color:var(--accent);margin:0 0 3mm}.cv-contact{display:flex;gap:2mm 4mm;flex-wrap:wrap;color:var(--muted);font-size:8.7pt}.cv-contact span{display:inline-flex;align-items:center;gap:1mm}.cv-layout{display:grid;grid-template-columns:1fr;gap:8mm}.cv-side{display:grid;gap:5mm}.cv-main{display:grid;gap:var(--section-gap)}.cv-paper section{break-inside:avoid}.cv-paper h2{font-size:9.5pt;text-transform:uppercase;letter-spacing:.13em;font-weight:500;margin:0 0 3.2mm;color:var(--accent)}.cv-paper h3{font-size:11pt;margin:0 0 1mm;font-weight:500;color:var(--text)}.cv-paper p{margin:0;color:var(--text)}.cv-item{margin-bottom:5mm}.cv-item:last-child{margin-bottom:0}.cv-meta{font-size:8.8pt;color:var(--muted);margin-bottom:2mm!important}.cv-paper ul{padding-left:4.5mm;margin:2mm 0 0}.cv-paper li{margin-bottom:1.2mm}.cv-chip-list{display:flex;flex-wrap:wrap;gap:2mm}.cv-chip-list span{display:inline-flex;border:1px solid var(--accent-border);background:var(--accent-soft);padding:1.4mm 2.4mm;border-radius:999px;font-size:8.6pt}.cv-photo{width:28mm;height:28mm;object-fit:cover;flex:0 0 auto;border-radius:8mm}.cv-photo.circle{border-radius:50%}.cv-photo.squircle{border-radius:35%}.cv-photo.diamond{border-radius:20%;transform:rotate(45deg)}.cv-photo.diamond+*,.cv-photo.diamond{overflow:hidden}.cv-photo.arch{border-radius:15mm 15mm 4mm 4mm}.photo-border-accent .cv-photo{outline:1.2mm solid var(--accent-strong);outline-offset:1mm}.photo-border-white .cv-photo{border:1.8mm solid #fff;box-shadow:0 .3rem 1rem rgba(15,23,42,.14)}.photo-border-shadow .cv-photo{box-shadow:0 .5rem 1.3rem rgba(15,23,42,.22)}.photo-top-left .cv-photo{order:-1}.photo-badge .cv-photo{position:absolute;right:0;top:0;width:33mm;height:33mm}.photo-cover .cv-photo{width:100%;height:42mm;border-radius:5mm;order:-1}.header-split .cv-hero{align-items:center;border-bottom:1px solid #e5e7eb;padding-bottom:6mm}.header-banner .cv-hero{background:linear-gradient(135deg,var(--accent-soft),var(--secondary-soft));padding:8mm;border-radius:var(--radius)}.header-profile-card .cv-hero{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);padding:7mm;box-shadow:0 .5rem 1.3rem rgba(15,23,42,.07)}.header-minimal .cv-hero{border-bottom:2px solid var(--accent);padding-bottom:4mm}.pattern-soft-gradient .cv-art{background:radial-gradient(circle at 90% 0,var(--accent-faint),transparent 30%),radial-gradient(circle at 0 100%,var(--secondary-faint),transparent 32%)}.pattern-bubbles .cv-art{background:radial-gradient(circle at 94% 8%,var(--accent-faint) 0 12mm,transparent 13mm),radial-gradient(circle at 5% 92%,var(--secondary-faint) 0 17mm,transparent 18mm)}.pattern-grid .cv-art{background-image:linear-gradient(var(--text-ghost) 1px,transparent 1px),linear-gradient(90deg,var(--text-ghost) 1px,transparent 1px);background-size:8mm 8mm}.pattern-waves .cv-art{background:repeating-radial-gradient(ellipse at top left,var(--accent-ghost) 0 2mm,transparent 2mm 8mm)}.pattern-confetti .cv-art{background:radial-gradient(circle at 10% 16%,var(--accent-border) 0 1.3mm,transparent 1.4mm),radial-gradient(circle at 86% 28%,var(--secondary-faint) 0 1.1mm,transparent 1.2mm),radial-gradient(circle at 18% 82%,var(--accent-faint) 0 1mm,transparent 1.1mm)}.pattern-diagonal .cv-art{background:linear-gradient(135deg,var(--accent-ghost) 0 16%,transparent 16% 84%,var(--secondary-ghost) 84%)}.pattern-dots .cv-art{background-image:radial-gradient(var(--accent-faint) 1px,transparent 1px);background-size:5mm 5mm}.density-roomy{--page-pad:20mm;--section-gap:8mm}.density-compact{--page-pad:14mm;--section-gap:4.5mm}.heading-underline .cv-paper h2{border-bottom:1px solid var(--accent-border-strong);padding-bottom:1.6mm}.heading-tagged .cv-paper h2{display:inline-flex;background:var(--accent-soft);border-radius:999px;padding:1.2mm 2.8mm}.heading-caps .cv-paper h2{letter-spacing:.22em}.heading-numbered .cv-main{counter-reset:cvsec}.heading-numbered .cv-main section h2:before{counter-increment:cvsec;content:counter(cvsec,decimal-leading-zero) "  ";color:var(--secondary)}.heading-side-line .cv-paper h2{display:flex;align-items:center;gap:2mm}.heading-side-line .cv-paper h2:before{content:"";width:5mm;height:1px;background:var(--accent)}.section-cards .cv-main section,.section-cards .cv-side-section{background:#fff;border:1px solid #e5e7eb;border-radius:5mm;padding:4.2mm}.section-soft-cards .cv-main section,.section-soft-cards .cv-side-section{background:var(--accent-softer);border-radius:5mm;padding:4.2mm}.section-lines .cv-main section{border-top:1px solid #e5e7eb;padding-top:4mm}.section-compact-boxes .cv-main section,.section-compact-boxes .cv-side-section{border:1px solid var(--text-ghost);padding:3.2mm}.skill-chips .cv-chip-list span{border-radius:2mm;background:#fff}.skill-tags .cv-chip-list span{border-radius:1mm;border-style:dashed;background:transparent}.skill-lines .cv-chip-list{display:grid;gap:1mm}.skill-lines .cv-chip-list span{border:0;border-bottom:1px solid #e5e7eb;border-radius:0;background:transparent;padding:1mm 0}.skill-bubble-grid .cv-chip-list span{min-width:18mm;justify-content:center;border-radius:5mm}.timeline-timeline .cv-item,.timeline-left-rule .cv-item{position:relative;padding-left:5mm;border-left:1px solid var(--accent-border-strong)}.timeline-timeline .cv-item:before{content:"";position:absolute;left:-1.4mm;top:1mm;width:2.8mm;height:2.8mm;border-radius:50%;background:var(--accent)}.timeline-cards .cv-item{border:1px solid #e5e7eb;border-radius:4mm;padding:3.5mm;background:#fff}.bullet-checks .cv-paper li::marker{content:"✓  ";color:var(--accent)}.bullet-arrows .cv-paper li::marker{content:"→  ";color:var(--accent)}.bullet-stars .cv-paper li::marker{content:"✦  ";color:var(--accent)}.columns-two .cv-main{grid-template-columns:1fr 1fr;align-items:start}.columns-two .cv-main section:first-child,.columns-two .cv-main section:nth-child(2){grid-column:1/-1}.columns-balanced .cv-layout{grid-template-columns:1.65fr .85fr}.columns-balanced .cv-side{order:2}.sidebar-left .cv-layout,.cv-template-sidebar .cv-layout,.cv-template-folio .cv-layout{grid-template-columns:var(--side-w,62mm) 1fr}.sidebar-left .cv-side,.cv-template-sidebar .cv-side,.cv-template-folio .cv-side{order:-1}.sidebar-right .cv-layout{grid-template-columns:1fr var(--side-w,62mm)}.sidebar-right .cv-side{order:2}.sidebar-top .cv-layout{display:block}.sidebar-top .cv-side{display:flex;flex-wrap:wrap;background:var(--side-bg);border-radius:var(--radius);padding:5mm;margin-bottom:6mm}.sidebar-none .cv-side{display:none}.sidebar-width-slim{--side-w:50mm}.sidebar-width-normal{--side-w:62mm}.sidebar-width-wide{--side-w:74mm}.cv-template-sidebar .cv-side,.sidebar-left .cv-side,.sidebar-right .cv-side,.cv-template-folio .cv-side{background:var(--side-bg);color:var(--side-text);border-radius:var(--radius);padding:6mm;align-self:start}.cv-side h2{font-size:8.6pt}.cv-template-prism .cv-hero{border-radius:var(--radius);background:linear-gradient(135deg,var(--accent),var(--secondary));padding:8mm}.cv-template-prism .cv-hero h1,.cv-template-prism .cv-headline,.cv-template-prism .cv-contact{color:#fff}.cv-template-executive{--accent:#374151;--secondary:#9ca3af}.cv-template-executive .cv-hero{border-bottom:1.8px solid var(--accent);padding-bottom:5mm}.cv-template-botanical{--side-bg:#eef8ef}.cv-template-creative .cv-art{background:linear-gradient(90deg,var(--accent-faint) 0 5mm,transparent 5mm),radial-gradient(circle at 100% 0,var(--secondary-border),transparent 30%)}.cv-template-magazine .cv-hero h1{font-size:38pt}.cv-template-magazine .cv-layout{grid-template-columns:1fr .78fr}.cv-template-magazine .cv-side{order:2}.cv-template-mono{font-family:"Courier New",monospace}.cv-template-mono .cv-chip-list span{border-radius:0;background:transparent}.frame-thin .cv-paper{outline:1px solid var(--accent-border-strong);outline-offset:-6mm}.frame-rounded .cv-paper{outline:1.5px solid var(--accent-border-strong);outline-offset:-7mm;border-radius:5mm}.frame-corner .cv-paper:before{content:"";position:absolute;inset:7mm;border-top:2px solid var(--accent);border-left:2px solid var(--accent);width:25mm;height:25mm;pointer-events:none}.frame-shadow .cv-paper{box-shadow:0 1.5rem 4rem rgba(15,23,42,.24),inset 0 0 0 1px #e5e7eb}.overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.55);backdrop-filter:blur(8px);padding:1rem}.overlay.hidden{display:none}.overlay-card{max-width:460px;width:100%}.ad-slot{border:1px dashed #d1d5db;border-radius:1rem;padding:1rem;text-align:center;color:#6b7280;background:#fff}.article-content h2,.article-content h3{font-weight:500;margin-top:2rem}.admin-body{background:#f8f9fa}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.admin-main input,.admin-main textarea,.admin-main select{border:1px solid #dee2e6;border-radius:1rem;padding:.75rem;background:#fff}.admin-main table{width:100%;background:#fff;border-radius:1rem;overflow:hidden}.admin-main th,.admin-main td{padding:.9rem;border-bottom:1px solid #e9ecef}.button,.pill-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid #dee2e6;border-radius:999px;padding:.7rem 1rem;background:#fff;color:#111827;font-weight:400;cursor:pointer}.button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.notice{border-radius:1rem;padding:1rem;margin:1rem 0}.notice.success{background:#ecfdf5;color:#047857}.notice.error{background:#fff0f0;color:#b42318}.ad-editor{border:1px solid #e9ecef;background:#fff;border-radius:1rem;padding:1rem;margin:1rem 0}@media(max-width:1199px){.preview-sticky{position:static}.a4-preview-wrap{max-height:none}.cv-preview{transform-origin:top left}}@media(max-width:767px){.sticky-actions{border-radius:1rem!important}.display-5{font-size:2.5rem}.cv-preview{min-width:210mm}.a4-preview-wrap{padding:.75rem}}@page{size:A4;margin:0}@media print{html,body{width:210mm;background:#fff!important}.navbar,footer,.designer-shell,.preview-sticky>.card,.ad-slot,.container>.my-3,body>main>.container:not(:has(#cvPreview)){display:none!important}main,.container,.row,.col-xl-7{display:block!important;width:210mm!important;max-width:210mm!important;margin:0!important;padding:0!important}.preview-sticky{position:static!important}.a4-preview-wrap{padding:0!important;border:0!important;max-height:none!important;overflow:visible!important;background:#fff!important}.cv-preview{width:210mm!important;min-width:210mm!important;margin:0!important}.cv-paper{width:210mm!important;min-height:297mm!important;box-shadow:none!important;margin:0!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Bootstrap Select containment: keep dropdowns inside the form column instead of stretching across the viewport. */
.designer-shell .bootstrap-select,
.designer-shell .bootstrap-select > .dropdown-toggle {
  width: 100% !important;
  max-width: 100% !important;
}
.designer-shell .bootstrap-select .dropdown-toggle {
  min-height: 2.85rem;
  text-align: left;
}
.designer-shell .bootstrap-select .dropdown-menu {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden;
  border-radius: 1rem;
}
.designer-shell .bootstrap-select .dropdown-menu.inner {
  max-width: 100% !important;
  overflow-x: hidden;
}
.designer-shell .bootstrap-select .dropdown-item,
.designer-shell .bootstrap-select .dropdown-item .text {
  white-space: normal;
}
.designer-shell .bootstrap-select.bs-container {
  width: auto !important;
  max-width: none !important;
}
.ai-field-box .btn-group .btn {
  border-radius: 999px !important;
  padding-inline: .65rem;
}
@media (max-width: 575.98px) {
  .ai-field-box .d-flex {
    align-items: flex-start !important;
    flex-direction: column;
  }
  .ai-field-box .btn-group {
    flex-wrap: wrap;
    gap: .25rem;
  }
}

/* Section designer and live A4 section styles */
.section-builder-list{display:grid;gap:.75rem}.section-builder-row{display:grid;grid-template-columns:minmax(9rem,1.15fr) .55fr .9fr 1fr;gap:.75rem;align-items:end}.section-builder-name{align-self:center}.section-builder-row .form-check-label{font-weight:500}.section-builder-row .bootstrap-select{width:100%!important}.cv-section-style-cards,.cv-section-style-mini-cards,.cv-section-style-boxes{background:#fff;border:1px solid #e5e7eb;border-radius:5mm;padding:4mm}.cv-section-style-open{background:transparent!important;border:0!important;padding:0!important}.cv-section-style-labels .cv-chip-list span,.cv-chip-list-labels span{border-radius:1.5mm;background:var(--secondary-soft);border-color:var(--secondary-border)}.cv-section-style-badges .cv-chip-list span,.cv-chip-list-badges span{border-radius:999px;background:var(--accent);border-color:var(--accent);color:#fff}.cv-section-style-chips .cv-chip-list span,.cv-chip-list-chips span{border-radius:2mm;background:#fff}.cv-section-style-boxes .cv-chip-list,.cv-mini-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(26mm,1fr));gap:2mm}.cv-section-style-boxes .cv-chip-list span,.cv-mini-card-list div{display:block;border:1px solid var(--accent-faint);background:var(--accent-softer);border-radius:3mm;padding:2.4mm;font-size:8.5pt}.cv-section-style-compact .cv-chip-list,.cv-compact-list{display:grid;gap:1mm}.cv-section-style-compact .cv-chip-list span,.cv-compact-list span{display:block;border:0;border-bottom:1px solid #e5e7eb;border-radius:0;background:transparent;padding:1mm 0}.cv-section-style-progress .cv-progress-list{display:grid;gap:2mm}.cv-progress-list div{display:grid;gap:1mm}.cv-progress-list span{font-size:8.6pt}.cv-progress-list em{display:block;height:1.6mm;border-radius:999px;background:linear-gradient(90deg,var(--accent) 70%,var(--accent-soft) 70%);font-style:normal}.cv-section-style-timeline .cv-item{position:relative;padding-left:5mm;border-left:1px solid var(--accent-border-strong)}.cv-section-style-timeline .cv-item:before{content:"";position:absolute;left:-1.4mm;top:1mm;width:2.8mm;height:2.8mm;border-radius:50%;background:var(--accent)}#previewStatus{min-height:1.25rem}.cv-preview .cv-side .cv-section{break-inside:avoid}.cv-preview .cv-main .cv-section{break-inside:avoid}.sidebar-top .cv-side .cv-section{flex:1 1 38mm}.sidebar-none .cv-side{display:none!important}.sidebar-none .cv-main{display:grid}.cv-side .cv-contact-side{display:grid;gap:1.2mm}.cv-side .cv-contact-side span{display:block}.cv-section-contact .cv-contact-side span{border:1px solid var(--accent-faint);border-radius:999px;padding:1.2mm 2mm;background:var(--accent-softer)}@media(max-width:767.98px){.section-builder-row{grid-template-columns:1fr}.section-builder-row .bootstrap-select .dropdown-menu{max-height:16rem!important}}


/* Patch: safer A4 export colors and section builder controls */
.cv-preview{--accent-soft:rgba(124,58,237,.08);--accent-softer:rgba(124,58,237,.05);--accent-faint:rgba(124,58,237,.18);--accent-ghost:rgba(124,58,237,.08);--accent-border:rgba(124,58,237,.22);--accent-border-strong:rgba(124,58,237,.42);--accent-strong:#9f7aea;--secondary-soft:rgba(6,182,212,.10);--secondary-faint:rgba(6,182,212,.18);--secondary-ghost:rgba(6,182,212,.08);--secondary-border:rgba(6,182,212,.22);--text-faint:rgba(36,48,66,.18);--text-ghost:rgba(36,48,66,.08);--side-bg:var(--accent-soft)}
.cv-builder-accordion .accordion-item,.cv-builder-accordion .accordion-collapse,.cv-builder-accordion .accordion-body,.designer-shell,.section-builder-list,.section-builder-item,.section-config-collapse{overflow:visible!important}
.section-builder-list{display:grid;gap:.75rem}.section-builder-item{position:relative}.section-builder-item.is-disabled{opacity:.62}.section-builder-item.is-disabled .section-config-collapse{display:none}.section-builder-grip{width:2.35rem;height:2.35rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f8fafc;color:#64748b;flex:0 0 auto}.section-builder-title{min-width:0}.section-builder-title strong{display:block;font-weight:500}.section-builder-title small{display:block;color:#6b7280}.section-config-panel{background:#f8fafc}.section-builder-actions .btn{white-space:nowrap}.section-builder-list .bootstrap-select{width:100%!important}.section-builder-list .dropdown-menu,.designer-shell .bootstrap-select .dropdown-menu{max-width:min(32rem,calc(100vw - 2rem))!important}.designer-shell .bootstrap-select .dropdown-menu.inner{max-width:100%!important}.pdf-export-root,.pdf-export-root *{print-color-adjust:exact;-webkit-print-color-adjust:exact}.pdf-export-root .cv-paper{box-shadow:none!important;margin:0!important}.print-root,.print-root *{print-color-adjust:exact;-webkit-print-color-adjust:exact}@media print{body{print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-root{width:210mm!important;min-width:210mm!important;margin:0!important}.print-root .cv-paper{box-shadow:none!important;margin:0!important}}@media(max-width:767.98px){.section-builder-head{align-items:flex-start!important}.section-builder-actions{width:100%;justify-content:flex-start}.section-builder-actions .btn{flex:1 1 auto}.section-config-panel .row>[class*=col-]{width:100%}}

/* Final export/preview polish: fixed A4 canvas, no sideways scrolling, print/PDF-safe sizing. */
body{
  background: radial-gradient(circle at 12% 0, rgba(124,58,237,.08), transparent 32rem), radial-gradient(circle at 92% 12%, rgba(6,182,212,.08), transparent 30rem), #f8fafc;
}
.navbar{
  backdrop-filter: blur(14px);
  background: rgba(255,255,255,.92)!important;
}
.navbar .nav-link{
  border-radius: 999px;
  padding-inline: .9rem!important;
}
.navbar .nav-link:hover{
  background: #f1f5f9;
}
.designer-shell .accordion-item,
.preview-sticky .card{
  box-shadow: 0 1rem 3rem rgba(15,23,42,.07);
}
.designer-shell .accordion-button:hover{
  background: #f8fafc;
}
.sticky-actions{
  box-shadow: 0 .8rem 2rem rgba(15,23,42,.08);
}
.a4-preview-wrap{
  overflow-x: hidden!important;
  overflow-y: auto!important;
  display: flex!important;
  justify-content: center!important;
  align-items: flex-start!important;
  padding: clamp(.65rem, 2vw, 1.35rem)!important;
  background: linear-gradient(135deg,#eef2ff,#ecfeff)!important;
}
.a4-preview-wrap .cv-preview{
  width: 210mm!important;
  min-width: 210mm!important;
  max-width: 210mm!important;
  margin: 0 auto!important;
  flex: 0 0 auto!important;
}
@supports not (zoom: .5){
  .a4-preview-wrap.is-scaled{
    min-height: var(--preview-paper-height, 740px);
  }
}
.cv-preview,
.cv-preview *,
.cv-preview *::before,
.cv-preview *::after{
  box-sizing: border-box!important;
}
.cv-paper{
  width: 210mm!important;
  height: 297mm!important;
  min-height: 297mm!important;
  max-height: 297mm!important;
  overflow: hidden!important;
  box-sizing: border-box!important;
}
.cv-layout,
.cv-main,
.cv-side,
.cv-hero,
.cv-hero-copy,
.cv-section,
.cv-item{
  min-width: 0!important;
}
.cv-paper h1,
.cv-paper h2,
.cv-paper h3,
.cv-paper p,
.cv-paper li,
.cv-paper span,
.cv-paper a,
.cv-paper div{
  overflow-wrap: anywhere;
  word-break: normal;
}
.cv-contact,
.cv-contact span,
.cv-chip-list,
.cv-chip-list span,
.cv-mini-card-list,
.cv-mini-card-list div,
.cv-compact-list span{
  max-width: 100%;
}
.cv-chip-list span,
.cv-mini-card-list div,
.cv-contact span{
  min-width: 0;
}
.pdf-export-root,
.print-root{
  width: 210mm!important;
  min-width: 210mm!important;
  max-width: 210mm!important;
  height: 297mm!important;
  min-height: 297mm!important;
  max-height: 297mm!important;
  margin: 0!important;
  overflow: hidden!important;
  zoom: 1!important;
  transform: none!important;
  background: #fff!important;
}
.pdf-export-root .cv-paper,
.print-root .cv-paper{
  width: 210mm!important;
  height: 297mm!important;
  min-height: 297mm!important;
  max-height: 297mm!important;
  margin: 0!important;
  box-shadow: none!important;
  overflow: hidden!important;
}
@media print{
  .print-root,
  .print-root *{
    box-sizing: border-box!important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .print-root{
    width:210mm!important;
    height:297mm!important;
    overflow:hidden!important;
  }
  .print-root .cv-paper{
    width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    max-height:297mm!important;
    margin:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
}
@media(max-width: 991.98px){
  .a4-preview-wrap{
    max-height: none!important;
  }
  .preview-sticky .card-body{
    padding-inline: .75rem!important;
  }
}
body.bg-body-tertiary{
  background: radial-gradient(circle at 12% 0, rgba(124,58,237,.08), transparent 32rem), radial-gradient(circle at 92% 12%, rgba(6,182,212,.08), transparent 30rem), #f8fafc!important;
}

/* Canvas export helpers: keep PDF/print capture at true A4 size without affecting the live scaled preview. */
.cv-export-stage,
.cv-export-stage .cv-preview{
  width:210mm!important;
  min-width:210mm!important;
  max-width:210mm!important;
  height:297mm!important;
  min-height:297mm!important;
  max-height:297mm!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  zoom:1!important;
  overflow:hidden!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.cv-export-stage .cv-paper{
  width:210mm!important;
  min-width:210mm!important;
  max-width:210mm!important;
  height:297mm!important;
  min-height:297mm!important;
  max-height:297mm!important;
  margin:0!important;
  padding:var(--page-pad,18mm)!important;
  transform:none!important;
  zoom:1!important;
  overflow:hidden!important;
  background:var(--paper,#fff)!important;
  box-sizing:border-box!important;
  box-shadow:none!important;
}
.cv-export-stage,
.cv-export-stage *{
  print-color-adjust:exact;
  -webkit-print-color-adjust:exact;
}


/* Patch: keep the live CV paper padding inside the rasterized PDF/print canvas. */
.cv-export-stage .cv-paper{
  padding:var(--page-pad,18mm)!important;
}
.cv-export-stage .cv-paper[style*="padding"]{
  /* inline computed padding from app.js wins over the fallback above */
}

/* Patch: sticky desktop preview + multi-page PDF/print capture. */
@media (min-width: 1200px){
  .preview-sticky{
    position: sticky!important;
    top: 1rem!important;
    align-self: flex-start!important;
    z-index: 20;
  }
  .preview-sticky .card{
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
  }
  .preview-sticky .card-body{
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  .preview-sticky .a4-preview-wrap{
    flex: 1 1 auto;
    min-height: 0;
    max-height: none!important;
  }
}

/* Let the live preview and export source grow when CV content needs more than one A4 page. */
.cv-preview .cv-paper{
  height: auto!important;
  min-height: 297mm!important;
  max-height: none!important;
  overflow: visible!important;
}
.a4-preview-wrap{
  scroll-behavior: smooth;
}
.a4-preview-wrap .cv-paper{
  position: relative;
}
.a4-preview-wrap .cv-paper::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 297mm;
  height: calc(100% - 297mm);
  min-height: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent calc(297mm - 1px), rgba(15,23,42,.15) calc(297mm - 1px), rgba(15,23,42,.15) 297mm);
  z-index: 4;
}

.cv-export-stage,
.cv-export-stage .cv-preview,
.cv-export-stage .cv-paper,
.pdf-export-root,
.pdf-export-root .cv-paper,
.print-export-root,
.print-export-root .cv-paper{
  height: auto!important;
  min-height: 297mm!important;
  max-height: none!important;
  overflow: visible!important;
}
.cv-export-stage{
  max-height: none!important;
}
.cv-export-stage .cv-paper{
  padding: var(--page-pad,18mm)!important;
}

/* Patch: exact A4 page guides in the live preview + stronger sticky desktop preview. */
@media (min-width: 992px){
  .preview-sticky{
    position: sticky!important;
    top: 1rem!important;
    align-self: flex-start!important;
    z-index: 30!important;
    display: flex!important;
    flex-direction: column!important;
    gap: .85rem!important;
  }
  .preview-sticky > .card{
    flex: 0 0 auto!important;
    margin-bottom: 0!important;
  }
  .preview-sticky > .a4-preview-wrap{
    flex: 1 1 auto!important;
    max-height: calc(100vh - 9.5rem)!important;
    min-height: 420px!important;
  }
}

.a4-preview-wrap{
  position: relative;
}
.a4-preview-wrap::after{
  content: attr(data-page-count) " A4 page";
  position: sticky;
  right: .75rem;
  bottom: .75rem;
  align-self: flex-end;
  display: block;
  width: max-content;
  margin-left: auto;
  margin-top: .75rem;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(15,23,42,.72);
  color: #fff;
  font-size: .74rem;
  line-height: 1;
  letter-spacing: .02em;
  backdrop-filter: blur(8px);
  pointer-events: none;
  z-index: 80;
}
.a4-preview-wrap[data-page-count="1"]::after{
  content: "1 A4 page";
}
.a4-preview-wrap:not([data-page-count])::after{
  display:none;
}

.a4-preview-wrap .cv-paper::before{
  display:none!important;
}
.cv-page-guide{
  position:absolute;
  left:0;
  right:0;
  height:0;
  z-index:60;
  pointer-events:none;
  color:#475569;
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
}
.cv-page-guide span{
  position:absolute;
  top:2.5mm;
  right:3mm;
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.28rem .55rem;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#475569;
  box-shadow:0 .35rem 1rem rgba(15,23,42,.08);
  font-size:.68rem;
  line-height:1;
  white-space:nowrap;
  backdrop-filter:blur(8px);
}
.cv-page-guide.is-page-break::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  border-top:2px dashed rgba(124,58,237,.44);
  box-shadow:0 -1px 0 rgba(255,255,255,.9),0 1px 0 rgba(255,255,255,.9);
}
.cv-page-guide.is-page-break::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-4px;
  height:8px;
  background:linear-gradient(to bottom,rgba(248,250,252,0),rgba(124,58,237,.08),rgba(248,250,252,0));
}
.cv-page-guide.is-page-break span{
  top:2.5mm;
  background:rgba(124,58,237,.92);
  border-color:rgba(124,58,237,.92);
  color:#fff;
}
.cv-export-stage .cv-page-guide,
.pdf-export-root .cv-page-guide,
.print-export-root .cv-page-guide{
  display:none!important;
}

/* Patch: real page-break spacing inside the live A4 preview.
   The JS inserts these spacers before blocks that would otherwise be sliced by
   the A4 edge. Because PDF/print capture the same preview DOM, the exported
   pages now keep the same top/bottom whitespace shown here. */
.cv-page-break-spacer{
  display:block!important;
  width:100%!important;
  height:var(--cv-page-break-space, 0px)!important;
  min-height:var(--cv-page-break-space, 0px)!important;
  flex:0 0 var(--cv-page-break-space, 0px)!important;
  grid-column:1 / -1!important;
  break-before:page!important;
  page-break-before:always!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  pointer-events:none!important;
}
.cv-preview .cv-section,
.cv-preview .cv-item,
.cv-preview .cv-section li,
.cv-preview .cv-contact-side span,
.cv-preview .cv-mini-card-list > *,
.cv-preview .cv-compact-list > *,
.cv-preview .cv-progress-list > *{
  break-inside:avoid;
  page-break-inside:avoid;
}
.cv-page-guide.is-page-break::before{
  border-top-color:rgba(124,58,237,.5)!important;
}
.cv-page-guide.is-page-break::after{
  height:14px!important;
  top:-7px!important;
  background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(124,58,237,.11), rgba(255,255,255,0))!important;
}
@media (min-width: 992px){
  .preview-sticky{
    position:sticky!important;
    top:.75rem!important;
    align-self:flex-start!important;
    z-index:50!important;
  }
  .preview-sticky > .a4-preview-wrap{
    max-height:calc(100vh - 8rem)!important;
    overflow:auto!important;
  }
}
.cv-export-stage .cv-page-break-spacer,
.pdf-export-root .cv-page-break-spacer,
.print-export-root .cv-page-break-spacer{
  display:block!important;
}
.cv-preview .cv-section h3,
.cv-preview .cv-section p,
.cv-preview .cv-contact span{
  break-inside:avoid;
  page-break-inside:avoid;
}


/* Patch: JS-backed sticky preview fallback.
   Some page-break spacer updates can make browser-native sticky unreliable in
   long Bootstrap rows, so app.js pins the preview column on desktop while the
   builder scrolls. */
@media (min-width: 992px){
  .preview-sticky.is-js-sticky{
    display:flex!important;
    flex-direction:column!important;
    gap:.85rem!important;
  }
  .preview-sticky.is-js-sticky > .card{
    flex:0 0 auto!important;
    margin-bottom:0!important;
  }
  .preview-sticky.is-js-sticky > .a4-preview-wrap{
    flex:1 1 auto!important;
    max-height:calc(100vh - 8rem)!important;
    overflow:auto!important;
  }
}

/* Patch: reliable desktop sticky preview. The JS pins .preview-sticky when
   Bootstrap/native sticky is blocked by page-builder height/overflow changes. */
@media (min-width: 992px){
  .preview-sticky.is-js-sticky{
    position:fixed!important;
    display:flex!important;
    flex-direction:column!important;
    gap:.85rem!important;
    overflow:visible!important;
  }
  .preview-sticky.is-js-sticky > .card{
    flex:0 0 auto!important;
  }
  .preview-sticky.is-js-sticky .a4-preview-wrap{
    flex:1 1 auto!important;
    max-height:calc(100vh - 9rem)!important;
    overflow:auto!important;
  }
}

/* Section ordering and placement polish */
.cv-flow{display:grid;gap:var(--section-gap);margin:0 0 var(--section-gap)}
.cv-flow-bottom{margin:var(--section-gap) 0 0}
.cv-flow:empty{display:none}
.section-builder-title strong{display:flex;align-items:center;gap:.15rem;line-height:1.25}
.section-builder-item[data-section-order-current] .section-builder-grip{color:var(--brand)}
.section-builder-item.is-disabled{opacity:.62}
.section-builder-item.is-disabled .section-config-panel{background:#f8f9fa}
.section-config-panel .bootstrap-select>.dropdown-toggle{max-width:100%;overflow:hidden;text-overflow:ellipsis}


/* Patch: linear section stack + clearer unique section display styles. */
.cv-layout.cv-layout-linear{
  display:block!important;
  grid-template-columns:1fr!important;
}
.cv-layout.cv-layout-linear .cv-main,
.cv-layout.cv-layout-linear .cv-main-linear{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:var(--section-gap)!important;
  width:100%!important;
}
.cv-layout.cv-layout-linear .cv-side,
.cv-layout.cv-layout-linear + .cv-side{
  display:none!important;
}
.cv-layout.cv-layout-linear .cv-section{
  grid-column:1 / -1!important;
  width:100%!important;
}
.columns-two .cv-layout.cv-layout-linear .cv-main,
.columns-balanced .cv-layout.cv-layout-linear .cv-main,
.sidebar-left .cv-layout.cv-layout-linear,
.sidebar-right .cv-layout.cv-layout-linear,
.sidebar-top .cv-layout.cv-layout-linear,
.cv-template-sidebar .cv-layout.cv-layout-linear,
.cv-template-folio .cv-layout.cv-layout-linear,
.cv-template-magazine .cv-layout.cv-layout-linear{
  display:block!important;
  grid-template-columns:1fr!important;
}
.section-builder-title small{
  display:block;
  color:#6b7280;
}
.section-config-panel .row{
  align-items:end;
}

.cv-section.cv-section-style-open{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.cv-section.cv-section-style-list{
  border-left:1.2mm solid var(--accent-border-strong)!important;
  padding-left:4mm!important;
  background:transparent!important;
}
.cv-section.cv-section-style-list ul{
  list-style-position:outside;
}
.cv-section.cv-section-style-badges{
  background:linear-gradient(135deg,var(--accent-soft),rgba(255,255,255,.72))!important;
  border:1px solid var(--accent-border)!important;
  border-radius:5mm!important;
  padding:4mm!important;
}
.cv-section.cv-section-style-badges .cv-chip-list span{
  border-radius:999px!important;
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#fff!important;
  box-shadow:0 .35mm 1.2mm rgba(15,23,42,.10)!important;
}
.cv-section.cv-section-style-labels{
  background:transparent!important;
  border:1px dashed var(--secondary-border)!important;
  border-radius:4mm!important;
  padding:3.5mm!important;
}
.cv-section.cv-section-style-labels .cv-chip-list span,
.cv-section.cv-section-style-labels .cv-contact-side span{
  border-radius:1.6mm!important;
  background:var(--secondary-soft)!important;
  border-color:var(--secondary-border)!important;
  color:var(--text)!important;
}
.cv-section.cv-section-style-chips{
  background:#fff!important;
  border:1px solid var(--text-ghost)!important;
  border-radius:5mm!important;
  padding:4mm!important;
  box-shadow:0 1.2mm 4mm rgba(15,23,42,.05)!important;
}
.cv-section.cv-section-style-chips .cv-chip-list span{
  border-radius:2mm!important;
  background:#fff!important;
  border-color:var(--accent-border-strong)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)!important;
}
.cv-section.cv-section-style-boxes{
  background:transparent!important;
  border:0!important;
  padding:0!important;
}
.cv-section.cv-section-style-boxes .cv-item,
.cv-section.cv-section-style-boxes .cv-mini-card-list > div,
.cv-section.cv-section-style-boxes li{
  background:var(--accent-softer)!important;
  border:1px solid var(--accent-faint)!important;
  border-radius:3mm!important;
  padding:2.5mm 3mm!important;
  margin-bottom:2mm!important;
}
.cv-section.cv-section-style-mini-cards{
  background:var(--paper)!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
}
.cv-section.cv-section-style-mini-cards .cv-item,
.cv-section.cv-section-style-mini-cards .cv-mini-card-list > div{
  border:1px solid #e5e7eb!important;
  border-radius:4mm!important;
  padding:3mm!important;
  background:#fff!important;
  box-shadow:0 .8mm 3mm rgba(15,23,42,.06)!important;
}
.cv-section.cv-section-style-timeline{
  background:transparent!important;
  border:0!important;
  padding:0!important;
}
.cv-section.cv-section-style-timeline .cv-item{
  position:relative!important;
  padding-left:6mm!important;
  border-left:1px solid var(--accent-border-strong)!important;
}
.cv-section.cv-section-style-timeline .cv-item:before{
  content:""!important;
  position:absolute!important;
  left:-1.5mm!important;
  top:1.2mm!important;
  width:3mm!important;
  height:3mm!important;
  border-radius:50%!important;
  background:var(--accent)!important;
  box-shadow:0 0 0 1.1mm var(--accent-soft)!important;
}
.cv-section.cv-section-style-cards{
  background:transparent!important;
  border:0!important;
  padding:0!important;
}
.cv-section.cv-section-style-cards .cv-item,
.cv-section.cv-section-style-cards .cv-mini-card-list > div{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-top:1.2mm solid var(--accent)!important;
  border-radius:4mm!important;
  padding:3.5mm!important;
  margin-bottom:3mm!important;
}
.cv-section.cv-section-style-compact{
  background:var(--text-ghost)!important;
  border:1px solid var(--text-ghost)!important;
  border-radius:3mm!important;
  padding:3mm!important;
}
.cv-section.cv-section-style-compact h2{
  margin-bottom:2mm!important;
}
.cv-section.cv-section-style-compact .cv-item,
.cv-section.cv-section-style-compact p,
.cv-section.cv-section-style-compact li,
.cv-section.cv-section-style-compact .cv-compact-list span{
  border-bottom:1px solid rgba(15,23,42,.08)!important;
  padding-bottom:1.4mm!important;
  margin-bottom:1.4mm!important;
}
.cv-section.cv-section-style-progress{
  background:linear-gradient(180deg,#fff,var(--accent-softer))!important;
  border:1px solid var(--accent-border)!important;
  border-radius:5mm!important;
  padding:4mm!important;
}
.cv-section.cv-section-style-progress .cv-progress-list em,
.cv-section.cv-section-style-progress .cv-chip-list span::after{
  background:linear-gradient(90deg,var(--accent) 72%,var(--accent-soft) 72%)!important;
}

/* Final patch: keep the clipping viewport separate from the long PDF/print root.
   The long root must overflow so each page can be shifted upward, but the
   viewport itself must always be a hard one-page crop. */
.cv-export-stage.cv-export-page-stage,
.cv-export-stage.cv-export-page-stage .cv-export-page-viewport{
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  zoom:1!important;
  box-sizing:border-box!important;
  background:#fff!important;
  print-color-adjust:exact!important;
  -webkit-print-color-adjust:exact!important;
}
.cv-export-stage.cv-export-page-stage .cv-export-page-viewport{
  position:relative!important;
  display:block!important;
}
.cv-export-stage.cv-export-page-stage .pdf-export-root,
.cv-export-stage.cv-export-page-stage .print-export-root,
.cv-export-stage.cv-export-page-stage [class*="-export-root-inner"]{
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  zoom:1!important;
}

/* Exact preview-page export stage: intentionally separate from the older
   .cv-export-stage rules so PDF/print capture the same paginated preview the
   user sees, without inherited page-slicing overrides. */
.cv-live-export-stage,
.cv-live-export-stage .cv-live-export-viewport{
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#fff!important;
  transform:none!important;
  zoom:1!important;
  box-sizing:border-box!important;
  print-color-adjust:exact!important;
  -webkit-print-color-adjust:exact!important;
}
.cv-live-export-stage .cv-live-export-preview{
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  print-color-adjust:exact!important;
  -webkit-print-color-adjust:exact!important;
}
.cv-live-export-stage .cv-page-guide{
  display:none!important;
}

/* Polished public website layer. CV preview + builder controls remain untouched. */
.site-body{
  background:
    radial-gradient(circle at 8% -10%, rgba(124,58,237,.18), transparent 28rem),
    radial-gradient(circle at 92% 6%, rgba(6,182,212,.16), transparent 30rem),
    linear-gradient(180deg,#fff 0,#f8fafc 28rem,#f7f5ff 100%)!important;
}
.site-navbar{
  background:rgba(255,255,255,.82)!important;
  border-bottom:1px solid rgba(148,163,184,.22);
  backdrop-filter:blur(18px);
  box-shadow:0 .75rem 2rem rgba(15,23,42,.045);
}
.site-navbar .nav-link{
  border-radius:999px;
  padding-inline:.9rem!important;
}
.site-navbar .nav-link:hover{
  background:#f1f5f9;
}
.hero-playground{
  background:
    linear-gradient(135deg,rgba(124,58,237,.08),rgba(6,182,212,.08)),
    radial-gradient(circle at 50% 100%,rgba(255,255,255,.9),transparent 40%);
}
.hero-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(2px);
  opacity:.8;
  pointer-events:none;
}
.hero-orb-one{width:18rem;height:18rem;left:-5rem;top:5rem;background:radial-gradient(circle,#ddd6fe,transparent 70%)}
.hero-orb-two{width:24rem;height:24rem;right:-7rem;bottom:-7rem;background:radial-gradient(circle,#bae6fd,transparent 70%)}
.hero-pill{
  background:rgba(255,255,255,.78);
  color:#5b21b6;
  border:1px solid rgba(124,58,237,.16);
  box-shadow:0 .8rem 2rem rgba(124,58,237,.08);
}
.text-gradient-cool{
  background:linear-gradient(115deg,#1e1b4b 0,#7c3aed 45%,#0891b2 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.mini-proof{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.42rem .72rem;
  border:1px solid rgba(148,163,184,.24);
  border-radius:999px;
  background:rgba(255,255,255,.8);
}
.feature-cloud{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.8)!important;
}
.feature-bubble{
  width:3rem;
  height:3rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:1.25rem;
  color:#fff;
  background:linear-gradient(135deg,#7c3aed,#06b6d4);
  box-shadow:0 1rem 2.5rem rgba(124,58,237,.22);
}
.feature-tile{
  padding:1rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:1.25rem;
  background:linear-gradient(180deg,#fff,#f8fafc);
  transition:transform .18s ease, box-shadow .18s ease;
}
.feature-tile:hover{
  transform:translateY(-2px);
  box-shadow:0 1rem 2rem rgba(15,23,42,.08);
}
.feature-tile small{color:#64748b}
.legal-hero,.simple-hero{
  background:linear-gradient(135deg,rgba(124,58,237,.09),rgba(6,182,212,.08));
  border:1px solid rgba(148,163,184,.18);
}
.content-prose h2{font-size:1.35rem;font-weight:400;margin-top:2rem}.content-prose h2:first-child{margin-top:0}.content-prose p,.content-prose li{color:#64748b}.content-prose a{text-decoration:none}.ad-slot{display:block;width:100%;text-align:center}.ad-live{margin-inline:auto}.site-footer{box-shadow:0 -1rem 3rem rgba(15,23,42,.035)}
.cookie-consent{
  position:fixed;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:1080;
  max-width:680px;
  margin-inline:auto;
  transform:translateY(140%);
  opacity:0;
  transition:transform .25s ease, opacity .25s ease;
}
.cookie-consent.is-visible{transform:translateY(0);opacity:1}.cookie-icon{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.9rem;background:#f5f3ff;color:#7c3aed;flex:0 0 auto}.page-card{border:0;border-radius:1.5rem;box-shadow:0 1rem 2.5rem rgba(15,23,42,.07)}
@media (min-width:992px){.py-lg-6{padding-top:6rem!important;padding-bottom:6rem!important}}

/* Patch: keep the sticky preview from covering the footer. The JS moves the
   fixed preview upward near the footer; this z-index also ensures the footer
   visually wins if the browser is mid-scroll/repaint. */
.site-footer{
  position:relative;
  z-index:120;
}
@media (min-width: 992px){
  .preview-sticky.is-js-sticky{
    z-index:70!important;
  }
  .preview-sticky.is-js-sticky-bottom{
    transition:top .08s linear;
  }
}
.website-logo{
    max-width:300px;
}
@media (max-width: 767px) {
    .website-logo{
        max-width:190px;
    }
}
