@charset "UTF-8";:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.list-unstyled{padding-left:0;list-style:none}.container,.container-fluid{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1400px){.container{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.col-6{flex:0 0 auto;width:50%}.col-12{flex:0 0 auto;width:100%}.g-2{--bs-gutter-x:0.5rem}.g-2{--bs-gutter-y:0.5rem}.g-3{--bs-gutter-x:1rem}.g-3{--bs-gutter-y:1rem}.gy-4{--bs-gutter-y:1.5rem}@media (min-width:768px){.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn.active,.btn.show,.btn:first-child:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}}@media (min-width:992px){.modal-lg{--bs-modal-width:800px}}@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.offcanvas{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.d-block{display:block!important}.d-grid{display:grid!important}.d-flex{display:flex!important}.d-none{display:none!important}.position-fixed{position:fixed!important}.bottom-0{bottom:0!important}.end-0{right:0!important}.border-0{border:0!important}.w-100{width:100%!important}.h-100{height:100%!important}.flex-column{flex-direction:column!important}.flex-grow-1{flex-grow:1!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.align-items-start{align-items:flex-start!important}.align-items-center{align-items:center!important}.m-0{margin:0!important}.m-auto{margin:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-auto{margin-top:auto!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ms-4{margin-left:1.5rem!important}.ms-auto{margin-left:auto!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.pt-0{padding-top:0!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pb-2{padding-bottom:.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-3{padding-left:1rem!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fw-bold{font-weight:700!important}.text-center{text-align:center!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}@media (min-width:576px){.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}}@media (min-width:992px){.d-lg-flex{display:flex!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}}@media (min-width:1200px){.fs-4{font-size:1.5rem!important}}/* Reserve icon geometry before the non-blocking SVG icon sheet arrives. */
.bi{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex:0 0 auto}.bi::before{display:block;width:100%;height:100%}
/* ================== Thème ================== */
:root{
  --bg1:#f8fbff; --bg2:#ecf3ff;
  --text:#0f172a; --muted:#667085;
  --accent1:#5a42ff; --accent2:#7c67ff;
  --ring:#9aa8ff;
  --glass: rgba(255,255,255,.82);
  --glass-border: rgba(15,23,42,.08);
  --glow: rgba(122,102,255,.35);
}
html,body{height:100%}
body{
  min-height:100vh; overflow-x:hidden; color:var(--text);
  background:
    radial-gradient(1200px 720px at 12% 10%, #e6f0ff 0%, transparent 60%),
    radial-gradient(1000px 640px at 86% 18%, #e6fffe 0%, transparent 55%),
    linear-gradient(120deg, var(--bg1), var(--bg2));
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}

/* Décor animé léger (sans blur animé) */
.bg-anim{
  position:fixed; inset:0; z-index:-3; pointer-events:none;
  background:
    radial-gradient(62vmax 62vmax at 110% -10%, rgba(90,66,255,.10), transparent 60%),
    radial-gradient(62vmax 62vmax at -10% 120%, rgba(0,194,216,.10), transparent 60%);
  animation: hue 18s linear infinite;
}
@keyframes hue{
  0%{ filter:hue-rotate(0deg) }
  50%{ filter:hue-rotate(180deg) }
  100%{ filter:hue-rotate(360deg) }
}
.particles{
  position:fixed; inset:0; z-index:-2; pointer-events:none;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(90,66,255,.06) 0 2px, transparent 3px),
    radial-gradient(circle at 70% 60%, rgba(0,194,216,.06) 0 2px, transparent 3px),
    radial-gradient(circle at 40% 80%, rgba(124,103,255,.06) 0 2px, transparent 3px);
  background-size: 260px 260px, 320px 320px, 280px 280px;
  animation: drift 22s ease-in-out infinite;
}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(8px,-10px)}}

/* ===== Navbar ===== */
.navbar{
  --bs-navbar-padding-y:.4rem;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  background: rgba(255,255,255,.7);
  border-bottom: 1px solid var(--glass-border);
  transition: box-shadow .2s ease, background-color .2s ease;
}
.navbar.scrolled{ box-shadow: 0 8px 22px rgba(2,8,23,.08); background: rgba(255,255,255,.9); }
.navbar .navbar-toggler:focus{ box-shadow: none; }

.brand{
  font-weight:800; letter-spacing:.4px;
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.brand-logo{ border-radius:8px; box-shadow: 0 0 0 0 rgba(124,103,255,0); transition: transform .2s ease, box-shadow .2s ease; }
.navbar-brand:hover .brand-logo{ transform: translateY(-1px) scale(1.02); box-shadow: 0 8px 24px rgba(124,103,255,.25); }

/* Lien nav */
.nav-link{ position:relative; font-weight:600; overflow:hidden; }
.nav-link.nav-ink::after{
  content:""; position:absolute; left:12px; right:12px; bottom:2px; height:2px;
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  transform:scaleX(0); transform-origin:right; transition:transform .28s ease;
  border-radius:2px; opacity:.9;
}
.nav-link.nav-ink.nav-ink-active::after{ transform:scaleX(1); transform-origin:left; }

/* ===== Hamburger animé ===== */
.hamburger{ padding:.25rem .35rem; border-radius:10px; background:transparent; position:relative; }
.hamburger:active{ transform: translateY(1px); }
.hamburger-box{ width:28px; height:20px; display:inline-block; position:relative; }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{
  width:28px; height:2px; background:#333; position:absolute; left:0; border-radius:2px;
  transition: transform .25s ease, top .25s ease, opacity .2s ease, background .2s ease;
}
.hamburger-inner{ top:9px }
.hamburger-inner::before{ content:""; top:-8px }
.hamburger-inner::after{ content:""; top:8px }
.hamburger.is-open .hamburger-inner{ transform: rotate(45deg) }
.hamburger.is-open .hamburger-inner::before{ top:0; opacity:0 }
.hamburger.is-open .hamburger-inner::after{ top:0; transform: rotate(-90deg) }
/* ripple léger (sans blur) */
.hamburger::after{
  content:""; position:absolute; inset:0; border-radius:10px; pointer-events:none;
  background: radial-gradient(120px 60px at var(--mx,50%) var(--my,50%), rgba(124,103,255,.18), transparent 60%);
  opacity:0; transition: opacity .25s ease;
}
.hamburger.rippling::after{ opacity:1 }

/* ================== Offcanvas ================== */
.offcanvas-glass{
  background: var(--glass); border-left:1px solid var(--glass-border);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.offcanvas-narrow{ --bs-offcanvas-width: 300px; }
@media (min-width: 420px){ .offcanvas-narrow{ --bs-offcanvas-width: 320px; } }

.offcanvas-header{ padding: 1rem 1rem .5rem 1rem; }
.offcanvas-logo{ border-radius:8px; box-shadow: 0 2px 12px rgba(2,8,23,.08); animation: logoFloat 6s ease-in-out infinite; }
@keyframes logoFloat{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2px)} }
.offcanvas-close{ filter: saturate(.3); }

/* cacher scrollbar */
.offcanvas-no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }
.offcanvas-no-scrollbar::-webkit-scrollbar{ width:0; height:0 }

/* Stagger à l'ouverture (sans blur) */
.offcanvas.show .anim-item,
.offcanvas.showing .anim-item{
  animation: itemIn .5s cubic-bezier(.2,.7,.2,1) both;
  animation-delay: calc(var(--i,1) * 45ms);
  transform-origin: left center;
}
@keyframes itemIn{ from{ opacity:0; transform: translateX(8px) } to{ opacity:1; transform: none } }

/* Sections & items */
.menu-section{ padding: .2rem 1rem; }
.menu-section-title{
  font-size:.92rem; color:#6b7280; font-weight:800; margin:.6rem 0 .35rem 0;
  letter-spacing:.02em;
}
.menu-sep{
  margin: .55rem 0 .75rem; border:0; height:1px;
  background: linear-gradient(90deg, rgba(15,23,42,.06), rgba(15,23,42,.02));
}

.menu-row{
  display:flex; align-items:center; gap:.9rem; padding:.72rem .35rem .72rem 0;
  text-decoration:none; color:#111827; border-radius:14px;
  transition: background .18s ease, transform .06s ease, box-shadow .18s ease;
  position:relative;
}
.menu-row:hover{
  background: linear-gradient(90deg, rgba(90,66,255,.06), rgba(0,194,216,.06));
  box-shadow: 0 1px 0 rgba(15,23,42,.04) inset;
}
.menu-row:active{ transform: translateY(1px) }
.menu-row .arrow{ color:#9ca3af; transition: transform .18s ease, color .18s ease }
.menu-row:hover .arrow{ transform: translateX(4px); color:#6b7280 }

.menu-ico{
  width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
  background: radial-gradient(70% 70% at 30% 30%, #fff, #f3f4ff);
  border:1px solid rgba(15,23,42,.06);
  box-shadow: 0 2px 12px rgba(124,103,255,.10), inset 0 1px 0 rgba(255,255,255,.8);
  color:#4f46e5; font-size:1.12rem;
}

/* Soulignement fin au survol */
.menu-row-ink::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px;
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  transform: scaleX(0); transform-origin:right; transition: transform .28s ease; opacity:.9;
}
.menu-row-ink:hover::before{ transform: scaleX(1); transform-origin:left }

/* ================== Boutons du bas ================== */
.btn-3d{
  box-shadow:
    0 8px 24px rgba(2,8,23,.10),
    0 2px 0 rgba(255,255,255,.65) inset;
  transform: translateZ(0);
  transition: transform .14s ease, box-shadow .2s ease, filter .2s ease;
}
.btn-3d:active{ transform: translateY(1px); box-shadow: 0 5px 18px rgba(2,8,23,.12) }

.btn-shine{ position:relative; overflow:hidden; }
.btn-shine::after{
  content:""; position:absolute; inset:auto -60% 0 -60%; height:140%;
  background: linear-gradient(120deg, rgba(255,255,255,.0) 0%, rgba(255,255,255,.45) 48%, rgba(255,255,255,.0) 60%);
  transform: translateX(-120%) skewX(-18deg);
  transition: transform .6s ease;
  pointer-events:none; mix-blend-mode: screen;
}
.btn-shine:hover::after{ transform: translateX(30%) skewX(-18deg) }

.icon-slide i{ transition: transform .18s ease }
.icon-slide:hover i{ transform: translateX(3px) }

/* bouton “soft” */
.btn-soft{
  --g: linear-gradient(135deg, rgba(124,103,255,.22), rgba(90,66,255,.16));
  background: var(--g);
  color:#3f36c7;
  border:1px solid rgba(124,103,255,.28);
  border-radius:14px; font-weight:800; padding:.95rem 1.1rem;
  backdrop-filter: blur(6px);
}
.btn-soft:hover{ filter:saturate(1.05); box-shadow: 0 14px 28px rgba(124,103,255,.20) }

/* bouton outline dégradé */
.btn-outline-gradient{
  --grad: linear-gradient(135deg, var(--accent1), var(--accent2));
  position:relative; background: rgba(255,255,255,.65); color:#4b3ff0;
  border-radius:14px; font-weight:800; padding:.95rem 1.1rem;
  border:2px solid transparent;
}
.btn-outline-gradient::before{
  content:""; position:absolute; inset:0; border-radius:14px; padding:2px;
  background: var(--grad); background-size: 200% 200%;
  animation: borderSweep 6s linear infinite;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.btn-outline-gradient:hover{ box-shadow: 0 14px 38px rgba(124,103,255,.25) }
@keyframes borderSweep{ 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }

/* CTA conteneur Offcanvas */
.offcanvas-cta{ padding: .9rem 1rem 1.2rem }
.offcanvas-cta-inner{
  border:1px solid var(--glass-border);
  border-radius:14px; padding:1rem;
  background: rgba(255,255,255,.72);
  box-shadow: 0 10px 30px rgba(2,8,23,.10);
}

/* ===== Cartes / boutons “fat” ===== */
.card{border:none;border-radius:22px}
.glass{
  background: var(--glass); border:1px solid var(--glass-border); border-radius:22px;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 18px 50px rgba(2,8,23,.08);
  position:relative; overflow:hidden;
}
.btn-fat{
  padding:.95rem 1.2rem; border-radius:14px; font-weight:800; letter-spacing:.2px;
  color:#fff; border:0; position:relative; overflow:hidden;
  background: linear-gradient(135deg, var(--accent1), var(--accent2));
  box-shadow: 0 10px 28px rgba(90,66,255,.28);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn-fat:hover{ transform: translateY(-2px) scale(1.02); box-shadow: 0 18px 36px rgba(90,66,255,.38); filter: saturate(1.1); }
.btn-outline-fat{
  border-radius:14px; font-weight:800; padding:.8rem 1rem;
  border:2px solid rgba(90,66,255,.35); color:var(--accent1); background: transparent;
}
.btn-fat::before{
  content:""; position:absolute; inset:-60% -20% auto -20%; height:160%;
  background: radial-gradient(50% 50% at 50% 20%, rgba(255,255,255,.38), transparent 60%);
  transform: translateY(30px); opacity:.8; transition: transform .3s ease, opacity .3s ease; pointer-events:none;
}
.btn-fat:hover::before{ transform: translateY(0); opacity:1 }

/* Accessibilité & motion */
:focus-visible{ outline:none; box-shadow: 0 0 0 .24rem var(--ring) !important; border-radius:10px }
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important } }

/* ===== Footer ===== */
.site-footer, .container > .site-footer { background: transparent; }
footer.container{
  position:relative;
  background: rgba(255,255,255,.72);
  border-top:1px solid var(--glass-border);
  border-radius: 18px 18px 0 0;
  backdrop-filter: blur(10px);
}
.footer-logo{ border-radius:8px; box-shadow: 0 8px 24px rgba(124,103,255,.18); }
.footer-title{
  font-weight:900; letter-spacing:.2px;
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.footer-desc{ color:var(--muted); margin-top:.2rem }
.footer-group-title{
  font-size:.92rem; font-weight:800; color:#6b7280; margin-bottom:.4rem; letter-spacing:.02em;
}
.footer-link{
  display:inline-block; padding:.25rem 0; text-decoration:none;
  color:#374151; position:relative; transition: color .18s ease;
}
.footer-link:hover{ color:#2b2f77 }
.footer-link.muted{ color:var(--muted); cursor:default; }
.footer-contact i{ color:#4f46e5; }

.footer-social{ display:flex; gap:.5rem }
.social-btn{
  width:36px; height:36px; display:grid; place-items:center;
  border-radius:10px; background:#f4f5ff; color:#333;
  border:1px solid rgba(15,23,42,.06);
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease;
}
.social-btn:hover{ transform: translateY(-1px); box-shadow: 0 10px 24px rgba(124,103,255,.22); filter:saturate(1.05) }

.badge-app{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.45rem .7rem; border-radius:12px;
  background: linear-gradient(135deg, rgba(124,103,255,.10), rgba(90,66,255,.06));
  border:1px solid rgba(124,103,255,.25);
  color:#4037b5; font-weight:800; text-decoration:none;
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease;
}
.badge-app i{ font-size:1rem }
.badge-app:hover{ transform: translateY(-1px); box-shadow: 0 12px 24px rgba(124,103,255,.18); filter:saturate(1.05) }

.footer-sep{
  height:1px; border:0;
  background: linear-gradient(90deg, rgba(15,23,42,.06), rgba(15,23,42,.02));
}
.chip{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.35rem .6rem; border-radius:999px;
  background: rgba(124,103,255,.08);
  border:1px dashed rgba(124,103,255,.35);
  color:#4b3ff0; font-weight:700;
}

/* Bouton “Haut” */
.to-top{
  position:fixed; right:16px; bottom:16px; z-index:999;
  width:42px; height:42px; border-radius:12px; border:0;
  display:grid; place-items:center; color:#fff;
  background: linear-gradient(135deg, var(--accent1), var(--accent2));
  box-shadow: 0 12px 28px rgba(90,66,255,.30);
  opacity:0; visibility:hidden; transform: translateY(8px) scale(.98);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.to-top.show{ opacity:1; visibility:visible; transform: translateY(0) scale(1) }
.to-top:hover{ filter:saturate(1.05); transform: translateY(-2px) scale(1.02) }

/* ================== INDEX — HERO, STATS, FEATURES, FAQ, PRICING ================== */
header .brand { animation: fadeUp .6s ease both; }
header .lead-muted { font-size:1.05rem; }
.section-title{
  font-weight:900; letter-spacing:.2px; position:relative; display:inline-block;
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.section-title::after{
  content:""; position:absolute; left:10%; right:10%; bottom:-6px; height:3px; border-radius:3px;
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  transform: scaleX(.25); transform-origin:left;
  animation: sectionBar .9s .12s cubic-bezier(.2,.7,.2,1) forwards;
}
@keyframes sectionBar { to{ transform: scaleX(1) } }

/* Cartes CTA */
.card-cta .glass{ transition: transform .18s ease, box-shadow .18s ease; will-change: transform; }
.card-cta:hover .glass{ transform: translateY(-2px); box-shadow: 0 22px 58px rgba(2,8,23,.10); }
.card-cta .card-body h5{ font-weight:800 }

/* Ruban stats (pro, sans blur animé) */
.stats-ribbon{
  position: relative;
  padding: .85rem .95rem;
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--glass-border);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 6px 14px rgba(2,8,23,.06);
}
.stats-ribbon::before{
  content:""; position:absolute; left:0; top:10px; bottom:10px; width:3px;
  border-radius: 3px;
  background: linear-gradient(180deg, var(--accent1), var(--accent2));
  opacity:.85;
}
.stat-chip{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.48rem .8rem; border-radius: 999px; font-weight: 800; line-height:1;
  color:#243056; background:#fff; border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 1px 0 rgba(255,255,255,.7) inset;
  transition: background .15s ease, transform .1s ease, border-color .15s ease;
}
.stat-chip i{
  display:grid; place-items:center; width:22px; height:22px; border-radius:7px;
  font-size:.95rem; color: var(--accent1); background: #f4f6ff; border:1px solid rgba(15,23,42,.06);
}
.stat-chip:hover{ background:#f9f9ff; border-color: rgba(15,23,42,.12); transform: translateY(-1px); }
.stats-ribbon .row > [class*="col-"] > .stat-chip{ width:100%; justify-content:center; }
@media (max-width: 575.98px){
  .stats-ribbon{ padding:.7rem .75rem; }
  .stat-chip{ padding:.45rem .72rem; }
}

/* Features */
#features .glass{ transition: transform .18s ease, box-shadow .18s ease; will-change: transform; }
#features .glass:hover{ transform: translateY(-3px); box-shadow: 0 22px 58px rgba(2,8,23,.10); }
#features .fs-3{ width:46px; height:46px; border-radius:12px; display:grid; place-items:center;
  background: radial-gradient(70% 70% at 30% 30%, #fff, #f3f4ff);
  border:1px solid rgba(15,23,42,.06);
  color:#4f46e5;
}

/* ================== GALERIE SÉRIES ================== */
.series-gallery{
  display:grid; grid-template-columns: repeat(2, 1fr); gap: .9rem;
}
@media (min-width: 576px){ .series-gallery{ grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px){ .series-gallery{ grid-template-columns: repeat(5, 1fr); } }

.poster-card{
  position:relative; display:block; border-radius:16px; overflow:hidden;
  background: rgba(255,255,255,.6);
  border:1px solid var(--glass-border);
  box-shadow: 0 10px 28px rgba(2,8,23,.08);
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .22s ease, filter .18s ease;
}
.poster-card:hover{ transform: translateY(-3px); box-shadow: 0 20px 48px rgba(2,8,23,.12); filter: saturate(1.03); }
.poster-card:active{ transform: translateY(-1px) }
.poster-img{ width:100%; height:auto; aspect-ratio: 16/9; object-fit: cover; display:block; background:#eef1ff; }

.poster-badge{
  position:absolute; left:8px; top:8px; padding:.28rem .5rem; font-size:.75rem; font-weight:800;
  border-radius:999px;
  background: linear-gradient(135deg, rgba(124,103,255,.18), rgba(90,66,255,.18));
  color:#2b2f77; border:1px solid rgba(124,103,255,.35);
  backdrop-filter: blur(6px);
}
.poster-overlay{
  position:absolute; left:0; right:0; bottom:0;
  padding:.6rem .7rem .65rem;
  background: linear-gradient(180deg, rgba(0,0,0,0) 10%, rgba(5,8,20,.65) 85%);
  color:#fff;
}
.po-title{ font-weight:900; letter-spacing:.2px; font-size:.95rem; line-height:1.1; text-shadow: 0 2px 10px rgba(0,0,0,.22); display:block; }
.po-meta{ display:flex; align-items:center; gap:.35rem; font-size:.78rem; opacity:.92; }

.poster-play{
  position:absolute; right:10px; top:10px; width:36px; height:36px; border-radius:12px;
  display:grid; place-items:center; color:#fff;
  background: linear-gradient(135deg, var(--accent1), var(--accent2));
  box-shadow: 0 10px 22px rgba(90,66,255,.25);
  transform: translateY(-6px); opacity:0; transition: all .18s ease;
}
.poster-card:hover .poster-play{ transform: translateY(0); opacity:1 }

.poster-card::after{
  content:""; position:absolute; inset:auto -50% 0 -50%; height:120%;
  background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 48%, rgba(255,255,255,0) 60%);
  transform: translateX(-120%) skewX(-18deg);
  opacity:0; transition: transform .6s ease, opacity .3s ease;
  pointer-events:none; mix-blend-mode: screen;
}
.poster-card:hover::after{ transform: translateX(20%) skewX(-18deg); opacity:1 }
.poster-card:focus-visible{ outline:none; box-shadow: 0 0 0 .2rem var(--ring), 0 10px 28px rgba(2,8,23,.12); }

/* Titre de section Séries — centré */
#series .text-center{ text-align:center; }
#series .section-title{
  position:relative; display:inline-block; font-weight:900; letter-spacing:.2px;
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  -webkit-background-clip:text; background-clip:text; color:transparent; font-size:1.65rem;
}
#series .section-title::after{
  content:""; position:absolute; left:10%; right:10%; bottom:-6px; height:3px; border-radius:3px;
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  transform:scaleX(.25); transform-origin:left; animation: sectionBarSeries .9s .12s cubic-bezier(.2,.7,.2,1) forwards;
}
@keyframes sectionBarSeries{ to{ transform:scaleX(1) } }
#series p.muted{ font-size:.96rem; color:var(--muted); font-weight:500; margin-top:.35rem; letter-spacing:.1px; text-shadow: 0 1px 0 rgba(255,255,255,.4); }

/* ===== FAQ dynamique ===== */
#faqMount .faq-item{
  border-radius:22px; background:var(--glass); border:1px solid var(--glass-border);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  box-shadow:0 18px 50px rgba(2,8,23,.08); overflow:hidden;
}
#faqMount .faq-item + .faq-item{ margin-top:.75rem; }
#faqMount .faq-head{
  width:100%; text-align:left; background:transparent; border:0; padding:1rem 1.25rem;
  font-weight:800; display:flex; align-items:center; gap:.75rem; cursor:pointer;
}
#faqMount .faq-head:focus-visible{ outline:none; box-shadow: 0 0 0 .24rem var(--ring); border-radius:14px; }
#faqMount .ico{
  width:38px; height:38px; border-radius:12px; display:grid; place-items:center;
  background: radial-gradient(70% 70% at 30% 30%, #fff, #f3f4ff);
  border:1px solid rgba(15,23,42,.06); color:#4f46e5;
}
#faqMount .chev{ margin-left:auto; transition: transform .2s ease; color:#6b7280; }
#faqMount .faq-item[open] .chev{ transform: rotate(180deg); }
#faqMount .faq-panel{ height:0; overflow:hidden; transition: height .26s ease; }
#faqMount .faq-inner{ padding:.25rem 1.25rem 1rem 1.25rem; color:var(--muted); }

/* ===== Aucune animation de blur globale ===== */
.reveal, .reveal.reveal-in,
#faqMount .faq-item.reveal, #faqMount .faq-item.reveal.reveal-in{
  opacity: 1 !important; transform: none !important; animation: none !important;
}

/* Performances */
.public-section, .public-content-section, .public-info-stats, footer.container { content-visibility: auto; contain-intrinsic-size: auto 600px; }

/* Petites keyframes restantes (sans blur) */
@keyframes fadeUp { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }





/* ===== Back to top — global, toujours visible ===== */
.to-top{
  position:fixed; right:16px; bottom:16px; z-index:1100;
  width:48px; height:48px; border:0; border-radius:50%;
  display:grid; place-items:center; cursor:pointer;
  color:#fff; background: linear-gradient(135deg, var(--accent1), var(--accent2));
  box-shadow: 0 14px 28px rgba(90,66,255,.28);
  transition: filter .18s ease, transform .18s ease;
}
.to-top:hover{ filter:saturate(1.06); transform: translateY(-2px) }
.to-top i{ font-size:1.2rem; pointer-events:none }

/* Anneau de progression autour du bouton (optionnel, ne cache JAMAIS) */
.to-top::before{
  content:""; position:absolute; inset:-2px; border-radius:50%;
  background:
    radial-gradient(closest-side, rgba(255,255,255,0) 72%, rgba(255,255,255,.85) 73%, rgba(255,255,255,.85) 76%, transparent 0),
    conic-gradient(var(--accent2) calc(var(--scroll,0) * 1%), rgba(0,0,0,0) 0);
  z-index:-1; filter: drop-shadow(0 2px 10px rgba(2,8,23,.12));
}

@media (max-width: 380px){
  .to-top{ width:44px; height:44px; right:12px; bottom:12px }
}
/* ============================================================
   PUBLIC WEBSITE V21 — LIGHT/DARK + LANDING / CATALOG / PRICING
   ============================================================ */
:root{
  --surface:#ffffff;
  --surface-2:#f6f7fb;
  --surface-3:#eef0f8;
  --text-strong:#111322;
  --public-border:rgba(17,19,34,.09);
  --public-shadow:0 22px 60px rgba(35,31,72,.10);
  --public-soft-shadow:0 10px 34px rgba(35,31,72,.08);
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg1:#070a13; --bg2:#0d1220;
  --text:#f4f5fb; --text-strong:#ffffff; --muted:#9ba3b7;
  --glass:rgba(18,23,38,.86); --glass-border:rgba(255,255,255,.09);
  --surface:#111626; --surface-2:#171d2f; --surface-3:#20273a;
  --public-border:rgba(255,255,255,.09);
  --public-shadow:0 22px 65px rgba(0,0,0,.32);
  --public-soft-shadow:0 10px 34px rgba(0,0,0,.25);
}
html[data-theme="dark"] body{
  background:
    radial-gradient(1100px 700px at 12% 8%, rgba(90,66,255,.18), transparent 60%),
    radial-gradient(900px 620px at 88% 18%, rgba(0,194,216,.10), transparent 55%),
    linear-gradient(120deg,var(--bg1),var(--bg2));
}
html[data-theme="dark"] .navbar{background:rgba(8,11,19,.76)}
html[data-theme="dark"] .navbar.scrolled{background:rgba(8,11,19,.94);box-shadow:0 10px 30px rgba(0,0,0,.28)}
html[data-theme="dark"] .nav-link, html[data-theme="dark"] .navbar-brand, html[data-theme="dark"] .menu-row,
html[data-theme="dark"] .footer-link, html[data-theme="dark"] .offcanvas-title{color:var(--text)}
html[data-theme="dark"] .menu-section-title, html[data-theme="dark"] .footer-group-title{color:#9ba3b7}
html[data-theme="dark"] .menu-ico{background:#171d2f;border-color:rgba(255,255,255,.08);color:#a99fff;box-shadow:none}
html[data-theme="dark"] .offcanvas-glass{background:rgba(11,15,26,.97)}
html[data-theme="dark"] .offcanvas-close, html[data-theme="dark"] .btn-close{filter:invert(1) grayscale(1)}
html[data-theme="dark"] footer.container{background:rgba(15,20,33,.82)}
html[data-theme="dark"] .social-btn{background:#171d2f;border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .btn-outline-gradient{background:rgba(17,22,38,.82);color:#b8b2ff}
html[data-theme="dark"] .btn-soft{background:rgba(124,103,255,.16);color:#c4c0ff}
html[data-theme="dark"] .offcanvas-cta-inner{background:rgba(17,22,38,.82)}
html[data-theme="dark"] .footer-link:hover{color:#c6c1ff}
html[data-theme="dark"] .footer-link.muted{color:var(--muted)}
html[data-theme="dark"] .text-muted, html[data-theme="dark"] .text-secondary{color:#9ba3b7!important}

.public-navbar{min-height:72px}
.public-nav-inner{gap:.5rem}
.public-brand-mark{width:48px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(124,103,255,.13),rgba(90,66,255,.06));border:1px solid rgba(124,103,255,.18)}
.public-brand-mark img{max-width:42px;max-height:26px;object-fit:contain;box-shadow:none}
.public-brand-copy{display:flex;flex-direction:column;line-height:1.05}
.public-brand-copy strong{font-size:1.08rem;color:var(--text-strong)}
.public-brand-copy small{font-size:.69rem;color:var(--muted);font-weight:700;margin-top:4px}
.public-nav-links{gap:.15rem}
.public-nav-links .nav-link{color:var(--text);padding:.7rem .75rem;border-radius:12px}
.public-nav-links .nav-link:hover{background:rgba(124,103,255,.07)}
.public-login-mini,.public-admin-mini{display:inline-flex;align-items:center;gap:.5rem;border-radius:13px;font-weight:800;padding:.65rem .9rem;border:1px solid var(--public-border);color:var(--text);background:var(--surface);box-shadow:0 5px 18px rgba(27,25,57,.05)}
.public-login-mini:hover,.public-admin-mini:hover{color:var(--accent1);border-color:rgba(90,66,255,.28);transform:translateY(-1px)}
.public-admin-mini{margin-left:.45rem;background:linear-gradient(135deg,rgba(90,66,255,.10),rgba(124,103,255,.07));color:#5345df}
html[data-theme="dark"] .public-admin-mini{color:#bbb5ff}
.public-theme-toggle{width:43px;height:43px;border:1px solid var(--public-border);border-radius:14px;background:var(--surface);color:var(--text);display:inline-grid;place-items:center;box-shadow:0 6px 22px rgba(27,25,57,.06);transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.public-theme-toggle:hover{transform:translateY(-1px) rotate(4deg);box-shadow:0 12px 30px rgba(90,66,255,.14)}
.theme-orbit{position:relative;width:21px;height:21px;display:block}
.theme-orbit i{position:absolute;inset:0;display:grid;place-items:center;transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .25s ease}
html:not([data-theme="dark"]) .theme-moon{opacity:1;transform:rotate(0) scale(1)}
html:not([data-theme="dark"]) .theme-sun{opacity:0;transform:rotate(-90deg) scale(.4)}
html[data-theme="dark"] .theme-sun{opacity:1;transform:rotate(0) scale(1);color:#ffd45d}
html[data-theme="dark"] .theme-moon{opacity:0;transform:rotate(90deg) scale(.4)}
.public-theme-toggle.theme-changing .theme-orbit{animation:themeSpin .45s ease}
@keyframes themeSpin{50%{transform:rotate(160deg) scale(.72)}100%{transform:rotate(360deg) scale(1)}}
.public-offcanvas-theme{margin:.8rem 1rem;padding:.68rem;border:1px solid var(--public-border);border-radius:19px;background:linear-gradient(145deg,var(--surface),var(--surface-2));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;box-shadow:0 10px 28px rgba(27,25,57,.055);overflow:hidden}
.public-appearance-meta{min-width:0;display:flex;align-items:center;gap:.65rem}
.public-appearance-icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(90,66,255,.14),rgba(124,103,255,.07));border:1px solid rgba(90,66,255,.14);color:#5a42ff;font-size:1.05rem}
.public-appearance-copy{min-width:0;display:flex;flex-direction:column;line-height:1.1}
.public-appearance-copy strong{font-size:.9rem;font-weight:900;color:var(--text-strong);white-space:nowrap}
.public-appearance-copy small{margin-top:4px;color:var(--muted);font-size:.67rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-theme-choice{min-width:108px;height:48px;padding:5px 9px 5px 6px;border:1px solid rgba(90,66,255,.18);border-radius:15px;background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:flex-start;gap:.48rem;box-shadow:0 6px 18px rgba(27,25,57,.07);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;overflow:hidden}
.public-theme-choice:hover,.public-theme-choice:focus-visible{transform:translateY(-1px);border-color:rgba(90,66,255,.34);box-shadow:0 10px 24px rgba(90,66,255,.13);outline:none}
.public-theme-choice .theme-orbit{width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:linear-gradient(145deg,rgba(90,66,255,.12),rgba(124,103,255,.05));border:1px solid rgba(90,66,255,.12)}
.public-theme-choice .theme-orbit i{font-size:.96rem}
.public-theme-choice-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1.02}
.public-theme-choice-copy small{font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:850}
.public-theme-choice-copy strong{margin-top:3px;font-size:.78rem;line-height:1;color:var(--text-strong);font-weight:950;white-space:nowrap}
.public-theme-choice.theme-changing .theme-orbit{animation:themeSpin .45s ease}
html[data-theme="dark"] .public-appearance-icon{color:#b8b0ff;background:rgba(124,103,255,.14);border-color:rgba(255,255,255,.07)}
html[data-theme="dark"] .public-theme-choice{background:#171d2f;border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .public-theme-choice .theme-orbit{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.07)}

.public-hero{padding-top:34px;padding-bottom:28px}
.public-hero-shell{min-height:520px;border:1px solid var(--public-border);border-radius:32px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(400px,.97fr);background:linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:var(--public-shadow);position:relative}
.public-hero-shell::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 90% 20%,rgba(90,66,255,.14),transparent 65%);pointer-events:none}
.public-hero-copy{position:relative;z-index:2;padding:clamp(38px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.public-eyebrow,.public-kicker{display:inline-flex;align-items:center;gap:.45rem;color:#6251eb;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:900}
html[data-theme="dark"] .public-eyebrow,html[data-theme="dark"] .public-kicker{color:#aaa1ff}
.public-hero h1{font-size:clamp(2.45rem,5vw,5rem);line-height:.98;letter-spacing:-.052em;font-weight:950;margin:18px 0;color:var(--text-strong);max-width:760px}
.public-hero h1 span{background:linear-gradient(100deg,var(--accent1),#8c6cff);-webkit-background-clip:text;background-clip:text;color:transparent}
.public-hero-copy>p{font-size:clamp(1rem,1.4vw,1.16rem);color:var(--muted);line-height:1.75;max-width:650px}
.public-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:15px}
.public-primary-cta,.public-secondary-cta{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px}
.public-secondary-cta{border:1px solid var(--public-border);border-radius:14px;background:var(--surface);color:var(--text);font-weight:850;padding:.8rem 1rem;text-decoration:none;box-shadow:0 7px 22px rgba(23,24,52,.06);transition:.2s ease}
.public-secondary-cta:hover{color:var(--accent1);transform:translateY(-2px);border-color:rgba(90,66,255,.3);box-shadow:0 14px 30px rgba(90,66,255,.12)}
.public-hero-pills{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:24px}.public-hero-pills span{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:800;color:var(--muted);padding:.48rem .7rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--public-border)}
.public-hero-visual{position:relative;min-height:520px;overflow:hidden}
.public-hero-glow{position:absolute;width:370px;height:370px;border-radius:50%;background:radial-gradient(circle,rgba(90,66,255,.34),rgba(90,66,255,.05) 50%,transparent 70%);left:50%;top:48%;transform:translate(-50%,-50%)}
.hero-poster{position:absolute;width:190px;aspect-ratio:2/3;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.35);box-shadow:0 28px 65px rgba(25,20,70,.26);background:var(--surface-3);transition:transform .35s ease}.hero-poster img{width:100%;height:100%;object-fit:cover}
.hero-poster-1{left:11%;top:15%;transform:rotate(-8deg)}.hero-poster-2{left:36%;top:8%;z-index:2;transform:scale(1.08)}.hero-poster-3{right:7%;top:18%;transform:rotate(8deg)}
.public-hero-shell:hover .hero-poster-1{transform:rotate(-10deg) translateY(-5px)}.public-hero-shell:hover .hero-poster-2{transform:scale(1.1) translateY(-7px)}.public-hero-shell:hover .hero-poster-3{transform:rotate(10deg) translateY(-5px)}
.hero-floating-card{position:absolute;left:50%;bottom:45px;transform:translateX(-50%);z-index:5;width:min(310px,78%);background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.45);border-radius:18px;padding:.78rem .95rem;display:flex;align-items:center;gap:.7rem;box-shadow:0 18px 42px rgba(33,29,79,.18)}
html[data-theme="dark"] .hero-floating-card{background:rgba(15,20,33,.9);border-color:rgba(255,255,255,.1)}
.hero-floating-card div{display:flex;flex-direction:column}.hero-floating-card strong{font-size:.88rem}.hero-floating-card small{font-size:.72rem;color:var(--muted)}.pulse-dot{width:11px;height:11px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.45);animation:pulseDot 1.7s infinite}@keyframes pulseDot{70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.hero-empty-mark{position:absolute;inset:0;display:grid;place-items:center;color:rgba(90,66,255,.35);font-size:8rem}

.public-section{padding-top:46px;padding-bottom:24px}.public-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:22px}.public-section-head.compact{margin-bottom:18px}.public-section-head h2{font-size:clamp(1.65rem,2.8vw,2.6rem);letter-spacing:-.035em;font-weight:930;margin:.32rem 0;color:var(--text-strong)}.public-section-head p{color:var(--muted);margin:0;max-width:720px}.public-see-all,.public-link{display:inline-flex;align-items:center;gap:.4rem;color:#5a42ff;font-weight:850;text-decoration:none;white-space:nowrap}.public-see-all:hover,.public-link:hover{color:#7c67ff}.public-see-all i{transition:transform .2s ease}.public-see-all:hover i{transform:translate(2px,-2px)}

.public-series-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.public-series-grid-full{grid-template-columns:repeat(5,minmax(0,1fr))}
.public-series-card{min-width:0;animation:publicCardIn .48s ease both;animation-delay:var(--delay,0ms)}@keyframes publicCardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.public-series-poster{position:relative;display:block;aspect-ratio:2/3;border-radius:20px;overflow:hidden;background:var(--surface-3);border:1px solid var(--public-border);box-shadow:var(--public-soft-shadow);text-decoration:none}.public-series-poster::after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(5,7,14,.78));opacity:.65;transition:.2s ease}.public-series-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease,filter .35s ease}.public-series-card:hover .public-series-poster img{transform:scale(1.045);filter:saturate(1.06)}
.public-series-type,.public-series-count{position:absolute;z-index:3;top:10px;font-size:.68rem;font-weight:900;padding:.34rem .52rem;border-radius:999px;backdrop-filter:blur(8px)}.public-series-type{left:10px;color:#fff;background:linear-gradient(135deg,#5a42ff,#7c67ff)}.public-series-count{right:10px;color:#fff;background:rgba(8,10,18,.7);border:1px solid rgba(255,255,255,.15)}
.public-series-play{position:absolute;z-index:4;left:12px;bottom:12px;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(9px);transform:translateY(4px);opacity:.86;transition:.2s ease}.public-series-play i{font-size:1.2rem;margin-left:2px}.public-series-card:hover .public-series-play{transform:none;background:#5a42ff;opacity:1}
.public-series-info{padding:12px 3px 0}.public-series-info h3{font-size:1rem;line-height:1.25;font-weight:900;color:var(--text-strong);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.public-series-info p{font-size:.78rem;color:var(--muted);margin:.35rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-series-desc{font-size:.78rem;color:var(--muted);line-height:1.5;margin-top:.45rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.public-empty-state{padding:1.2rem;display:flex;align-items:center;gap:1rem;color:var(--text)}.public-empty-state>i{font-size:2rem;color:#7c67ff}.public-empty-state p{color:var(--muted)}

.public-feature-panel{border:1px solid var(--public-border);background:linear-gradient(145deg,var(--surface),var(--surface-2));border-radius:28px;padding:clamp(22px,4vw,40px);box-shadow:var(--public-soft-shadow)}.public-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.public-feature-grid article{padding:20px;border-radius:20px;background:var(--surface);border:1px solid var(--public-border);min-height:205px}.feature-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent1),var(--accent2));box-shadow:0 12px 25px rgba(90,66,255,.22);font-size:1.1rem}.public-feature-grid h3{font-size:1rem;font-weight:900;margin:1rem 0 .45rem;color:var(--text-strong)}.public-feature-grid p{font-size:.87rem;line-height:1.6;color:var(--muted);margin:0}

.public-price-card{border:1px solid rgba(90,66,255,.18);border-radius:26px;padding:clamp(22px,4vw,38px);background:radial-gradient(700px 280px at 88% 0,rgba(90,66,255,.14),transparent 62%),linear-gradient(135deg,var(--surface),var(--surface-2));display:flex;align-items:center;justify-content:space-between;gap:2rem;box-shadow:var(--public-soft-shadow)}.public-price-card h2{font-size:clamp(1.8rem,3.8vw,3.2rem);font-weight:950;letter-spacing:-.04em;margin:.3rem 0;color:var(--text-strong)}.public-price-card h2 strong{color:#5a42ff}.public-price-card h2 small{font-size:.46em;color:var(--muted);font-weight:800}.public-price-card p{color:var(--muted);max-width:760px;margin:0}.public-price-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.compact-price{padding:24px 28px}
.public-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.public-access-card{padding:20px;border:1px solid var(--public-border);border-radius:22px;background:var(--surface);color:var(--text);text-decoration:none;display:flex;align-items:center;gap:14px;box-shadow:var(--public-soft-shadow);transition:.22s ease}.public-access-card:hover{transform:translateY(-3px);color:var(--text);border-color:rgba(90,66,255,.28);box-shadow:0 18px 40px rgba(90,66,255,.12)}.access-icon{width:52px;height:52px;flex:0 0 auto;border-radius:16px;display:grid;place-items:center;background:rgba(90,66,255,.1);color:#5a42ff;font-size:1.2rem}.public-access-card.admin .access-icon{background:rgba(245,158,11,.12);color:#d97706}.public-access-card div{min-width:0;flex:1}.public-access-card strong{font-size:1rem}.public-access-card p{color:var(--muted);font-size:.8rem;margin:.25rem 0 0}.access-arrow{color:var(--muted)}

.public-page-hero{padding-top:30px}.public-page-hero-inner{border:1px solid var(--public-border);border-radius:27px;background:linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:var(--public-soft-shadow);padding:clamp(24px,4vw,42px);display:flex;align-items:center;justify-content:space-between;gap:2rem}.public-page-hero h1{font-size:clamp(2rem,4vw,3.6rem);font-weight:950;letter-spacing:-.045em;color:var(--text-strong);margin:.5rem 0}.public-page-hero p{color:var(--muted);max-width:800px;margin:0;line-height:1.65}.public-refresh-btn{width:56px;height:56px;flex:0 0 auto;border-radius:18px;border:1px solid var(--public-border);display:grid;place-items:center;color:var(--text);background:var(--surface);font-size:1.25rem;box-shadow:0 8px 22px rgba(35,31,72,.07);transition:.2s ease}.public-refresh-btn:hover{color:#5a42ff;transform:rotate(35deg)}
.public-catalog-tools{padding-top:20px;display:flex;align-items:center;gap:12px}.public-search-pro{height:58px;flex:1;display:flex;align-items:center;gap:.75rem;border:1px solid var(--public-border);border-radius:18px;background:var(--surface);padding:0 14px;box-shadow:0 8px 24px rgba(35,31,72,.06);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.public-search-pro:focus-within{border-color:rgba(90,66,255,.4);box-shadow:0 0 0 4px rgba(90,66,255,.08),0 12px 30px rgba(35,31,72,.08);transform:translateY(-1px)}.public-search-pro>i{color:#6d5cf3;font-size:1.05rem}.public-search-pro input{flex:1;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--text)!important;font-weight:750;font-size:.96rem;-webkit-appearance:none;appearance:none}.public-search-pro input:focus,.public-search-pro input:focus-visible{outline:0!important;box-shadow:none!important}.public-search-pro button{width:32px;height:32px;border:0;border-radius:10px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;opacity:0;pointer-events:none;transition:.2s ease}.public-search-pro button.is-visible{opacity:1;pointer-events:auto}.public-catalog-count{height:58px;display:flex;align-items:center;padding:0 18px;border:1px solid var(--public-border);border-radius:18px;background:var(--surface-2);font-size:.82rem;font-weight:850;color:var(--muted);white-space:nowrap}.public-empty-search{text-align:center;padding:70px 20px}.public-empty-search i{font-size:2.4rem;color:#7c67ff}.public-empty-search h3{font-weight:900;margin-top:.8rem}.public-empty-search p{color:var(--muted)}

.pricing-hero-new .public-page-hero-inner{background:radial-gradient(620px 350px at 90% 20%,rgba(90,66,255,.17),transparent 65%),linear-gradient(135deg,var(--surface),var(--surface-2))}.pricing-big-number{min-width:210px;display:grid;grid-template-columns:auto auto;align-items:end;justify-content:center;padding:20px;border-radius:22px;background:linear-gradient(135deg,#5a42ff,#7c67ff);color:#fff;box-shadow:0 18px 42px rgba(90,66,255,.25)}.pricing-big-number strong{font-size:3.2rem;line-height:.85;letter-spacing:-.06em}.pricing-big-number span{font-size:1.1rem;font-weight:900;margin-left:6px}.pricing-big-number small{grid-column:1/-1;text-align:center;margin-top:9px;font-weight:800;opacity:.82}
.pricing-main-card{border:1px solid var(--public-border);border-radius:28px;background:var(--surface);box-shadow:var(--public-shadow);padding:clamp(24px,4vw,42px)}.pricing-plan-head{display:flex;align-items:flex-start;gap:18px}.pricing-plan-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(90,66,255,.11);color:#5a42ff;font-size:1.35rem}.pricing-plan-head h2{font-size:clamp(2rem,4vw,3.3rem);font-weight:950;letter-spacing:-.045em;margin:.3rem 0}.pricing-plan-head p{color:var(--muted);margin:0}.pricing-benefits{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.pricing-benefits>div{display:flex;gap:.8rem;padding:16px;border-radius:18px;background:var(--surface-2);border:1px solid var(--public-border)}.pricing-benefits i{color:#22c55e;font-size:1.1rem}.pricing-benefits span{display:flex;flex-direction:column}.pricing-benefits strong{font-size:.9rem}.pricing-benefits small{color:var(--muted);font-size:.78rem;margin-top:3px}.pricing-main-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:25px}.pricing-examples{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pricing-examples article{border:1px solid var(--public-border);border-radius:20px;background:var(--surface);padding:20px;display:flex;flex-direction:column;box-shadow:var(--public-soft-shadow)}.pricing-examples article.featured{border-color:rgba(90,66,255,.35);background:linear-gradient(145deg,rgba(90,66,255,.08),var(--surface))}.pricing-examples span,.pricing-examples small{color:var(--muted);font-weight:750}.pricing-examples strong{font-size:1.55rem;color:var(--text-strong);margin:.25rem 0}.no-free-card{display:flex;align-items:center;gap:16px;border:1px solid var(--public-border);border-radius:22px;padding:20px;background:var(--surface-2)}.no-free-icon{width:50px;height:50px;border-radius:16px;background:rgba(34,197,94,.1);color:#16a34a;display:grid;place-items:center;font-size:1.2rem}.no-free-card div{flex:1}.no-free-card h3{font-size:1rem;font-weight:900;margin:0}.no-free-card p{font-size:.82rem;color:var(--muted);margin:.3rem 0 0}

@media(max-width:1199.98px){.public-hero-shell{grid-template-columns:1fr .8fr}.hero-poster{width:155px}.public-series-grid-full{grid-template-columns:repeat(4,1fr)}.public-feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991.98px){.public-navbar{min-height:64px}.public-brand-mark{width:43px;height:40px}.public-hero{padding-top:18px}.public-hero-shell{grid-template-columns:1fr;min-height:auto}.public-hero-copy{padding:34px 26px 20px}.public-hero h1{font-size:clamp(2.3rem,9vw,4.2rem)}.public-hero-visual{min-height:360px}.hero-poster{width:145px}.hero-poster-1{left:14%;top:10%}.hero-poster-2{left:39%;top:5%}.hero-poster-3{right:9%;top:12%}.hero-floating-card{bottom:25px}.public-series-grid{grid-template-columns:repeat(3,1fr)}.public-series-grid-full{grid-template-columns:repeat(3,1fr)}.pricing-examples{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.public-section{padding-top:32px}.public-section-head{align-items:flex-start}.public-section-head p{font-size:.86rem}.public-see-all{font-size:.82rem}.public-hero-copy{padding:30px 20px 14px}.public-hero-copy>p{font-size:.94rem}.public-hero-pills{gap:.4rem}.public-hero-pills span{font-size:.68rem;padding:.4rem .55rem}.public-hero-visual{min-height:315px}.hero-poster{width:125px;border-radius:18px}.hero-poster-1{left:8%}.hero-poster-2{left:35%}.hero-poster-3{right:6%}.public-series-grid,.public-series-grid-full{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-series-poster{border-radius:17px}.public-series-info h3{font-size:.9rem}.public-series-info p{font-size:.7rem}.public-series-count{font-size:.6rem}.public-feature-grid{grid-template-columns:1fr 1fr;gap:10px}.public-feature-grid article{padding:15px;min-height:180px}.public-price-card{align-items:flex-start;flex-direction:column;gap:1.2rem}.public-price-actions{width:100%;justify-content:space-between}.public-access-grid{grid-template-columns:1fr}.public-page-hero-inner{align-items:flex-start}.public-page-hero h1{font-size:2.15rem}.public-refresh-btn{width:48px;height:48px;border-radius:15px}.public-catalog-tools{align-items:stretch}.public-catalog-count{display:none}.pricing-big-number{min-width:150px}.pricing-big-number strong{font-size:2.3rem}.pricing-benefits{grid-template-columns:1fr}.no-free-card{align-items:flex-start;flex-wrap:wrap}.no-free-card .public-link{margin-left:66px}}
@media(max-width:520px){.public-brand-copy small{display:none}.public-brand-copy strong{font-size:1rem}.public-login-mini{display:none!important}.public-hero-shell{border-radius:24px}.public-hero h1{font-size:2.25rem}.public-hero-visual{min-height:280px}.hero-poster{width:108px}.hero-floating-card{width:86%}.public-feature-grid{grid-template-columns:1fr}.public-section-head{gap:.8rem}.public-section-head h2{font-size:1.55rem}.public-page-hero-inner{padding:22px 18px;gap:1rem}.public-page-hero h1{font-size:1.85rem}.public-page-hero p{font-size:.86rem}.pricing-big-number{min-width:118px;padding:16px 12px}.pricing-big-number strong{font-size:1.9rem}.pricing-big-number span{font-size:.85rem}.pricing-examples{grid-template-columns:1fr 1fr;gap:10px}.pricing-examples article{padding:15px}.pricing-examples strong{font-size:1.2rem}}

/* ============================================================
   PUBLIC WEBSITE V23 — INFO PAGES + MOBILE POLISH
   ============================================================ */
.public-info-page{min-height:100vh;color:var(--text)}
.public-info-page main{display:block;padding-bottom:8px}
.public-info-hero{padding-top:28px}
.public-info-hero-card{position:relative;overflow:hidden;min-height:300px;padding:clamp(28px,5vw,54px);border:1px solid var(--public-border);border-radius:32px;background:
  radial-gradient(620px 320px at 94% 0,rgba(90,66,255,.18),transparent 68%),
  radial-gradient(460px 260px at 0 100%,rgba(0,194,216,.10),transparent 65%),
  linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:var(--public-shadow);display:flex;align-items:center;justify-content:space-between;gap:34px}
.public-info-hero-card>div:first-child{position:relative;z-index:2;max-width:840px}
.public-info-hero-card h1{font-size:clamp(2.15rem,5vw,4.3rem);line-height:.98;letter-spacing:-.055em;font-weight:950;color:var(--text-strong);margin:.7rem 0 1rem;max-width:900px}
.public-info-hero-card p{font-size:clamp(.95rem,1.45vw,1.08rem);line-height:1.72;color:var(--muted);margin:0;max-width:770px}
.public-info-hero-icon{width:154px;height:154px;flex:0 0 auto;border-radius:40px;display:grid;place-items:center;font-size:4rem;color:#fff;background:linear-gradient(145deg,#5a42ff,#846fff);box-shadow:0 28px 60px rgba(90,66,255,.28);transform:rotate(4deg);animation:publicHeroFloat 6s ease-in-out infinite}
.public-info-hero-icon.contact{background:linear-gradient(145deg,#7c67ff,#00aeca)}
.public-info-hero-icon.privacy{background:linear-gradient(145deg,#3528ba,#6e62ff)}
@keyframes publicHeroFloat{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(1deg) translateY(-7px)}}
.public-info-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:24px}
.public-content-section{padding-top:42px}
.public-section-heading{max-width:740px;margin-bottom:24px}
.public-section-heading>span{font-size:.73rem;text-transform:uppercase;letter-spacing:.14em;color:#6d5cf3;font-weight:950}
.public-section-heading h2{font-size:clamp(1.65rem,3.5vw,2.55rem);font-weight:950;letter-spacing:-.035em;color:var(--text-strong);margin:.45rem 0 .55rem}
.public-section-heading p{color:var(--muted);margin:0;line-height:1.65}
.reveal-up{animation:publicReveal .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--delay,0ms)}
@keyframes publicReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.public-info-stats{padding-top:16px}
.public-stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px;border:1px solid var(--public-border);border-radius:22px;background:var(--surface);box-shadow:var(--public-soft-shadow)}
.public-stat-strip>div{min-width:0;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;gap:0 10px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--surface-2)}
.public-stat-strip i{grid-row:1/3;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#6554ef;background:rgba(90,66,255,.10);font-size:1.05rem}
.public-stat-strip strong{font-size:.86rem;color:var(--text-strong)}
.public-stat-strip small{font-size:.71rem;color:var(--muted)}

.public-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.public-benefit-card{min-height:265px;padding:22px;border:1px solid var(--public-border);border-radius:24px;background:var(--surface);box-shadow:var(--public-soft-shadow);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.public-benefit-card:hover{transform:translateY(-4px);border-color:rgba(90,66,255,.24);box-shadow:0 18px 44px rgba(90,66,255,.10)}
.public-benefit-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(90,66,255,.13),rgba(124,103,255,.06));color:#5a42ff;font-size:1.15rem}
.public-benefit-card h3{font-size:1.02rem;font-weight:900;color:var(--text-strong);margin:16px 0 8px}
.public-benefit-card p{font-size:.84rem;line-height:1.62;color:var(--muted);margin:0 0 14px}
.public-benefit-card ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.public-benefit-card li{display:flex;align-items:center;gap:.5rem;font-size:.76rem;font-weight:750;color:var(--text)}.public-benefit-card li i{color:#22c55e}
.public-how-card,.public-support-guide{padding:clamp(22px,4vw,36px);border:1px solid var(--public-border);border-radius:28px;background:linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:var(--public-soft-shadow)}
.public-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}.public-step-grid article{position:relative;padding:22px;border-radius:21px;background:var(--surface);border:1px solid var(--public-border);overflow:hidden}.public-step-grid article>b{position:absolute;right:12px;top:7px;font-size:2.7rem;line-height:1;color:rgba(90,66,255,.08);font-weight:950}.public-step-grid article>i{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(90,66,255,.1);color:#5a42ff}.public-step-grid h3{font-size:.92rem;font-weight:900;margin:14px 0 7px}.public-step-grid p{font-size:.8rem;line-height:1.55;color:var(--muted);margin:0}

.public-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.public-contact-card{position:relative;min-height:190px;padding:20px;border:1px solid var(--public-border);border-radius:24px;background:var(--surface);box-shadow:var(--public-soft-shadow);display:grid;grid-template-columns:54px 1fr;gap:14px}.public-contact-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;font-size:1.25rem;background:rgba(90,66,255,.1);color:#5a42ff}.public-contact-icon.wa{background:rgba(37,211,102,.12);color:#19a94f}.public-contact-icon.ms,.public-contact-icon.fb{background:rgba(24,119,242,.11);color:#1877f2}.public-contact-icon.tel{background:rgba(245,158,11,.12);color:#d97706}.public-contact-icon.mail{background:rgba(124,103,255,.12);color:#6d5cf3}.public-contact-copy span{display:block;font-size:.72rem;color:var(--muted);font-weight:800}.public-contact-copy h3{font-size:1rem;font-weight:900;margin:.15rem 0 .4rem;color:var(--text-strong)}.public-contact-copy p{font-size:.8rem;line-height:1.55;color:var(--muted);margin:0}.public-contact-action{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding:12px 14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--public-border);text-decoration:none;font-size:.8rem;font-weight:900;color:var(--text);transition:.18s ease}.public-contact-action:hover{color:#5a42ff;border-color:rgba(90,66,255,.25);transform:translateY(-1px)}
.public-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.public-guide-grid>div{padding:17px;border-radius:18px;background:var(--surface);border:1px solid var(--public-border)}.public-guide-grid i{color:#6d5cf3}.public-guide-grid strong{display:block;font-size:.86rem;margin:.55rem 0 .3rem}.public-guide-grid p{font-size:.76rem;line-height:1.55;color:var(--muted);margin:0}.public-support-note{display:flex;align-items:flex-start;gap:.65rem;margin-top:14px;padding:14px 16px;border-radius:16px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.16);font-size:.8rem}.public-support-note i{color:#16a34a}.public-faq-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:22px 26px;border-radius:24px;border:1px solid var(--public-border);background:var(--surface);box-shadow:var(--public-soft-shadow)}.public-faq-cta h2{font-size:1.25rem;font-weight:900;margin:.45rem 0 0;color:var(--text-strong)}

.public-info-hero-card.faq{min-height:340px}.public-faq-search{height:58px;display:flex;align-items:center;gap:.7rem;margin-top:24px;max-width:760px;padding:0 14px;border-radius:18px;border:1px solid var(--public-border);background:var(--surface);box-shadow:0 10px 28px rgba(35,31,72,.07);transition:.2s ease}.public-faq-search:focus-within{border-color:rgba(90,66,255,.36);box-shadow:0 0 0 4px rgba(90,66,255,.08),0 12px 30px rgba(35,31,72,.08)}.public-faq-search>i{color:#6d5cf3}.public-faq-search input{flex:1;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--text)!important;font-weight:750;-webkit-appearance:none;appearance:none}.public-faq-search input:focus,.public-faq-search input:focus-visible{outline:0!important;box-shadow:none!important}.public-faq-search button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--surface-2);color:var(--muted);opacity:0;pointer-events:none;transition:.18s ease}.public-faq-search button.visible{opacity:1;pointer-events:auto}.public-faq-tags{display:flex;gap:7px;overflow:auto;padding:12px 1px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.public-faq-tags::-webkit-scrollbar{display:none}.public-faq-tags button{flex:0 0 auto;border:1px solid var(--public-border);border-radius:999px;padding:.46rem .68rem;background:var(--surface);color:var(--muted);font-size:.72rem;font-weight:850;display:inline-flex;align-items:center;gap:.4rem}.public-faq-tags button.active{background:rgba(90,66,255,.12);border-color:rgba(90,66,255,.28);color:#6554ef}.public-faq-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:14px}.public-faq-toolbar h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:950;margin:.35rem 0 0}.public-count-pill{min-width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--public-border);font-weight:900;color:#6554ef}.public-faq-list{display:grid;gap:9px}.public-faq-item{border:1px solid var(--public-border);border-radius:19px;background:var(--surface);overflow:hidden;box-shadow:0 7px 22px rgba(35,31,72,.04)}.public-faq-question{width:100%;border:0;background:transparent;color:var(--text);padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;font-weight:850}.public-faq-question>span{display:flex;align-items:center;gap:.75rem}.public-faq-question>span i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(90,66,255,.09);color:#6554ef;flex:0 0 auto}.faq-plus{transition:transform .22s ease;color:var(--muted)}.public-faq-item.open .faq-plus{transform:rotate(45deg);color:#6554ef}.public-faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.public-faq-answer>div{overflow:hidden;color:var(--muted);font-size:.84rem;line-height:1.66;padding:0 18px 0 72px}.public-faq-item.open .public-faq-answer{grid-template-rows:1fr}.public-faq-item.open .public-faq-answer>div{padding-bottom:17px}

.public-doc-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.public-doc-aside{position:sticky;top:92px}.public-doc-aside-card{padding:20px;border-radius:22px;border:1px solid var(--public-border);background:linear-gradient(145deg,rgba(90,66,255,.09),var(--surface));box-shadow:var(--public-soft-shadow)}.public-doc-aside-card>i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#5a42ff;color:#fff;margin-bottom:14px}.public-doc-aside-card strong{display:block;color:var(--text-strong);font-size:.95rem}.public-doc-aside-card p{font-size:.78rem;line-height:1.58;color:var(--muted);margin:.55rem 0 1rem}.public-doc-aside-card a{font-size:.78rem;font-weight:900;color:#6554ef;text-decoration:none}.public-doc-card{border:1px solid var(--public-border);border-radius:26px;background:var(--surface);box-shadow:var(--public-soft-shadow);overflow:hidden}.public-doc-section{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:22px;border-bottom:1px solid var(--public-border)}.public-doc-section:last-child{border-bottom:0}.public-doc-number{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);color:#6554ef;font-size:.74rem;font-weight:950}.public-doc-section h2{font-size:1rem;font-weight:900;color:var(--text-strong);margin:.1rem 0 .45rem}.public-doc-section p{font-size:.82rem;line-height:1.7;color:var(--muted);margin:0}.public-doc-section a{color:#6554ef;font-weight:850}

/* Footer dark/theme coherence after its inline styles */
html[data-theme="dark"] footer.container{background:rgba(15,20,33,.86)!important;border-color:var(--public-border)!important}
html[data-theme="dark"] .badge-app{background:rgba(124,103,255,.12)!important;color:#c5c0ff!important}
html[data-theme="dark"] .footer-group-title{color:#aab1c2!important}
html[data-theme="dark"] .footer-link{color:#d6dae5!important}
html[data-theme="dark"] .social-btn{background:var(--surface-2)!important}
html[data-theme="dark"] .foot-modal .modal-content{background:rgba(17,22,38,.97)!important;color:var(--text)!important}
html[data-theme="dark"] .foot-modal .glass{background:var(--surface-2)!important;color:var(--text)!important}

/* Mobile-first refinements shared by every public page */
@media(max-width:991.98px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  .public-nav-inner{padding-left:14px;padding-right:14px}
  .public-navbar{min-height:60px}
  .public-theme-toggle{width:40px;height:40px;border-radius:13px}
  .navbar-toggler{width:40px;height:40px;display:grid;place-items:center}
  .offcanvas-narrow{--bs-offcanvas-width:min(88vw,340px)}
  .public-info-hero{padding-top:16px}
  .public-info-hero-card{min-height:0;border-radius:25px;padding:30px 24px}
  .public-info-hero-card h1{font-size:clamp(2.05rem,8.8vw,3.25rem)}
  .public-info-hero-icon{width:112px;height:112px;border-radius:30px;font-size:2.9rem}
  .public-stat-strip{grid-template-columns:repeat(2,1fr)}
  .public-benefit-grid{grid-template-columns:repeat(2,1fr)}
  .public-step-grid{grid-template-columns:1fr}
  .public-doc-layout{grid-template-columns:1fr}.public-doc-aside{position:static}
  footer.container{max-width:calc(100% - 24px);margin-left:auto;margin-right:auto;border-radius:22px 22px 0 0}
}
@media(max-width:767.98px){
  .container{--bs-gutter-x:1.4rem}
  .public-content-section{padding-top:30px}
  .public-info-hero-card{padding:25px 19px;display:block}
  .public-info-hero-icon{display:none}
  .public-info-hero-card p{font-size:.9rem;line-height:1.62}
  .public-info-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.public-info-actions .btn{min-width:0;padding:.74rem .72rem;font-size:.78rem}
  .public-stat-strip{gap:7px;padding:7px;border-radius:19px}.public-stat-strip>div{grid-template-columns:34px 1fr;padding:10px;border-radius:14px;gap:0 8px}.public-stat-strip i{width:34px;height:34px;border-radius:11px}.public-stat-strip strong{font-size:.76rem}.public-stat-strip small{font-size:.64rem}
  .public-benefit-grid{grid-template-columns:1fr;gap:10px}.public-benefit-card{min-height:0;padding:18px;border-radius:20px}.public-benefit-card h3{margin-top:12px}.public-benefit-card p{font-size:.8rem}
  .public-how-card,.public-support-guide{padding:18px;border-radius:22px}.public-step-grid{margin-top:18px;gap:9px}.public-step-grid article{padding:17px;border-radius:17px}
  .public-contact-grid{grid-template-columns:1fr;gap:9px}.public-contact-card{min-height:0;padding:15px;border-radius:19px;grid-template-columns:46px 1fr;gap:11px}.public-contact-icon{width:46px;height:46px;border-radius:14px}.public-contact-copy p{font-size:.75rem}.public-contact-action{padding:10px 12px}
  .public-guide-grid{grid-template-columns:1fr;gap:8px}.public-guide-grid>div{padding:14px}.public-faq-cta{padding:18px;display:block}.public-faq-cta .btn{width:100%;margin-top:14px}.public-faq-cta h2{font-size:1.05rem}
  .public-info-hero-card.faq{min-height:0}.public-faq-search{height:52px;margin-top:18px;border-radius:15px}.public-faq-tags{margin-right:-19px;padding-right:19px}.public-faq-toolbar{align-items:center}.public-faq-toolbar h2{font-size:1.25rem}.public-faq-question{padding:14px 13px;font-size:.82rem}.public-faq-question>span{gap:.6rem}.public-faq-question>span i{width:32px;height:32px;border-radius:10px}.public-faq-answer>div{padding-left:57px;padding-right:13px;font-size:.78rem}.public-faq-item.open .public-faq-answer>div{padding-bottom:14px}
  .public-doc-card{border-radius:21px}.public-doc-section{grid-template-columns:42px 1fr;padding:17px 14px;gap:10px}.public-doc-number{width:38px;height:38px;border-radius:12px}.public-doc-section h2{font-size:.9rem}.public-doc-section p{font-size:.77rem;line-height:1.64}
  footer.container{padding-left:16px!important;padding-right:16px!important}.footer-desc{font-size:.8rem}.footer-social{margin-bottom:4px}.footer-sep{margin-top:1.2rem!important;margin-bottom:1.2rem!important}.badge-app{font-size:.72rem;padding:.45rem .62rem}.chip{font-size:.66rem}.footer-contact{font-size:.78rem}
}
@media(max-width:420px){
  .container{--bs-gutter-x:1.15rem}
  .public-brand-mark{width:39px;height:38px;border-radius:13px}.public-brand-mark img{max-width:35px}.public-theme-toggle,.navbar-toggler{width:38px;height:38px}
  .public-info-hero-card{border-radius:22px;padding:22px 16px}.public-info-hero-card h1{font-size:1.95rem;margin:.55rem 0 .75rem}.public-kicker{font-size:.65rem}.public-info-actions{grid-template-columns:1fr}.public-info-actions .btn{width:100%}
  .public-stat-strip>div{grid-template-columns:30px 1fr;padding:9px 8px}.public-stat-strip i{width:30px;height:30px}.public-stat-strip strong{font-size:.7rem}.public-stat-strip small{font-size:.59rem}
  .public-faq-search{padding:0 11px}.public-faq-tags{margin-right:-16px;padding-right:16px}
  footer.container{max-width:calc(100% - 14px)}
}
@media(max-width:420px){
  .public-offcanvas-theme{margin:.72rem .75rem;padding:.58rem;gap:.48rem;border-radius:17px}
  .public-appearance-icon{width:38px;height:38px;flex-basis:38px;border-radius:12px}
  .public-appearance-meta{gap:.5rem}
  .public-appearance-copy strong{font-size:.83rem}
  .public-appearance-copy small{font-size:.61rem}
  .public-theme-choice{min-width:99px;height:44px;padding:4px 7px 4px 5px;border-radius:13px;gap:.4rem}
  .public-theme-choice .theme-orbit{width:33px;height:33px;flex-basis:33px;border-radius:10px}
  .public-theme-choice-copy strong{font-size:.73rem}
  .public-theme-choice-copy small{font-size:.51rem}
}
@media(prefers-reduced-motion:reduce){.reveal-up,.public-info-hero-icon{animation:none!important}.public-benefit-card,.public-contact-action{transition:none!important}}
.public-404-wrap{min-height:65vh;display:grid;place-items:center;padding-top:32px;padding-bottom:48px}.public-404-card{position:relative;width:min(760px,100%);padding:clamp(28px,6vw,58px);text-align:center;border:1px solid var(--public-border);border-radius:30px;background:linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:var(--public-shadow);overflow:hidden}.public-404-code{position:absolute;inset:auto -15px -40px auto;font-size:12rem;line-height:1;font-weight:950;color:rgba(90,66,255,.045);letter-spacing:-.09em}.public-404-icon{width:78px;height:78px;margin:0 auto 18px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#5a42ff,#7c67ff);color:white;font-size:2rem;box-shadow:0 18px 42px rgba(90,66,255,.24)}.public-404-card h1{position:relative;font-size:clamp(1.8rem,5vw,3.1rem);font-weight:950;letter-spacing:-.045em;color:var(--text-strong);margin:.65rem 0 .8rem}.public-404-card p{position:relative;color:var(--muted);max-width:560px;margin:0 auto}.public-404-card .public-info-actions{position:relative}@media(max-width:520px){.public-404-wrap{padding-top:18px;min-height:58vh}.public-404-card{border-radius:23px;padding:30px 18px}.public-404-code{font-size:8rem}.public-404-icon{width:64px;height:64px;border-radius:20px}.public-404-card .public-info-actions{display:grid;grid-template-columns:1fr 1fr}.public-404-card .public-info-actions .btn{width:100%}}


/* ============================================================
   PUBLIC WEBSITE PERFORMANCE V25 — MOBILE / CORE WEB VITALS
   ============================================================ */
/* Les images gardent leur ratio sans provoquer de recalcul coûteux. */
.hero-poster picture,.hero-poster picture img,.public-series-poster picture,.public-series-poster picture img{display:block;width:100%;height:100%}
.hero-poster img,.public-series-poster img{object-fit:cover}

/* Réduit les repaints continus sur téléphone : les grands filtres fixes et
   backdrop-filter sont jolis sur desktop mais coûteux sur GPU mobile. */
@media (max-width: 767.98px){
  .bg-anim,.particles{
    animation:none!important;
    filter:none!important;
    transform:none!important;
  }
  .navbar,.public-navbar,footer.container,
  .public-series-type,.public-series-count,.public-series-play,
  #dlToast{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .navbar,.public-navbar{background:rgba(255,255,255,.96)}
  html[data-theme="dark"] .navbar,
  html[data-theme="dark"] .public-navbar{background:rgba(11,16,32,.96)}
  footer.container{background:rgba(255,255,255,.96)}
  html[data-theme="dark"] footer.container{background:rgba(15,20,34,.97)}

  /* Mobile : un seul poster au-dessus de la ligne de flottaison. Les deux
     sources secondaires ne sont même pas téléchargées grâce à <picture>. */
  .public-home .hero-poster-secondary{display:none!important}
  .public-home .hero-poster-1{
    left:50%!important;
    right:auto!important;
    top:8%!important;
    width:150px;
    transform:translateX(-50%) rotate(-2deg)!important;
  }
  .public-home .public-hero-shell:hover .hero-poster-1{
    transform:translateX(-50%) rotate(-2deg)!important;
  }
  .public-home .public-hero-glow{width:300px;height:300px}
  .public-series-card{animation:none!important}
  .badge-app::before,.foot-modal .modal-content::before,
  .foot-modal .modal-header .bi,.public-info-hero-icon{
    animation:none!important;
  }
}

@media (prefers-reduced-motion: reduce){
  .bg-anim,.particles,.public-series-card,.badge-app::before,
  .foot-modal .modal-content::before,.foot-modal .modal-header .bi,
  .public-info-hero-icon{animation:none!important}
}


/* ============================================================
   PUBLIC WEBSITE PERFORMANCE V26 — MOBILE 90+ TARGET
   ============================================================ */
@media (max-width: 767.98px){
  /* Sur téléphone le hero garde tout son contenu/CTA mais ne télécharge plus
     les grandes affiches décoratives R2 au-dessus de la ligne de flottaison. */
  .public-home .public-hero-visual{display:none!important}
  .public-home .public-hero-shell{display:flex;align-items:center;min-height:clamp(520px,calc(100svh - 92px),680px)!important;box-shadow:0 14px 34px rgba(33,29,79,.10)}
  .public-home .public-hero-copy{width:100%;padding:32px 20px 30px!important}
  .public-home .public-hero h1{font-size:clamp(2.05rem,10vw,2.75rem);line-height:1.02;margin:14px 0}
  .public-home .public-hero-copy>p{line-height:1.6}

  /* 4 cartes suffisent pour l'aperçu mobile. Le catalogue complet reste
     accessible via Voir plus, et les images 5–8 ne sont pas décodées/rendues. */
  .public-home .public-series-grid .public-series-card:nth-child(n+5){display:none!important}

  /* Réduit le coût peinture/raster sur GPU mobiles modestes. */
  .public-home .public-feature-panel,
  .public-home .public-price-card,
  .public-home .public-access-card,
  .public-home .public-series-poster{box-shadow:none!important}
  .public-home .public-hero-shell::before{background:linear-gradient(135deg,rgba(90,66,255,.06),transparent 55%)}

  /* Le contenu très bas dans la page est rendu à l'approche du viewport. */
  .public-home .public-feature-panel,
  .public-home .public-price-preview,
  .public-home .public-access-grid,
  .public-home footer.container{
    content-visibility:auto;
    contain-intrinsic-size:1px 520px;
  }
}

/* ============================================================
   PUBLIC HOME HERO V27 — PREMIUM, MOBILE-FIRST, PERFORMANCE SAFE
   Scope strict : page d'accueil uniquement.
   Aucun poster distant n'est ajouté sur mobile. Les animations utilisent
   transform/opacity et sont limitées afin de préserver les Core Web Vitals.
   ============================================================ */
.public-home .public-hero-shell{
  isolation:isolate;
}
.public-home .public-hero-shell::after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:-140px;
  bottom:-210px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(124,103,255,.16),rgba(124,103,255,0) 68%);
  pointer-events:none;
  z-index:0;
}
.public-home .public-hero-copy::before{
  content:"";
  position:absolute;
  width:96px;
  height:96px;
  left:8%;
  top:9%;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(90,66,255,.09),rgba(90,66,255,0));
  transform:rotate(19deg);
  pointer-events:none;
  z-index:-1;
}
.public-home .public-eyebrow{
  width:max-content;
  padding:.5rem .72rem;
  border:1px solid rgba(90,66,255,.16);
  border-radius:999px;
  background:rgba(90,66,255,.065);
}
.public-home .public-primary-cta{
  position:relative;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(90,66,255,.22);
}
.public-home .public-primary-cta::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.2) 49%,transparent 70%);
  transform:translateX(-125%);
  transition:transform .6s cubic-bezier(.2,.75,.2,1);
  pointer-events:none;
}
.public-home .public-primary-cta:hover::after{transform:translateX(125%)}

/* Cartes décoratives desktop : aucun média supplémentaire. */
.public-home .hero-desktop-chip{
  position:absolute;
  z-index:6;
  display:flex;
  align-items:center;
  gap:.48rem;
  padding:.58rem .72rem;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.52);
  background:rgba(255,255,255,.9);
  color:#24213f;
  box-shadow:0 13px 32px rgba(28,23,71,.14);
  animation:heroPremiumEnter .62s cubic-bezier(.2,.8,.2,1) both;
}
html[data-theme="dark"] .public-home .hero-desktop-chip{
  background:rgba(18,23,38,.94);
  color:#f5f3ff;
  border-color:rgba(255,255,255,.09);
}
.public-home .hero-desktop-chip span{font-size:.65rem;font-weight:850;color:var(--muted)}
.public-home .hero-desktop-chip strong{font-size:.76rem;font-weight:950}
.public-home .hero-desktop-chip-new{right:9%;top:10%;animation-delay:.18s}
.public-home .hero-desktop-chip-new span{color:#fff;background:#5a42ff;padding:.22rem .4rem;border-radius:999px}
.public-home .hero-desktop-chip-hd{left:7%;bottom:17%;animation-delay:.28s}
.public-home .hero-desktop-chip-hd strong{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:rgba(90,66,255,.11);color:#5a42ff}
.public-home .hero-poster{animation:heroPosterEnter .68s cubic-bezier(.2,.8,.2,1) both}
.public-home .hero-poster-1{animation-delay:.05s}
.public-home .hero-poster-2{animation-delay:.12s}
.public-home .hero-poster-3{animation-delay:.19s}
@keyframes heroPosterEnter{
  from{opacity:0;translate:0 14px}
  to{opacity:1;translate:0 0}
}
@keyframes heroPremiumEnter{
  from{opacity:0;transform:translateY(10px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* Mobile : mini-dashboard dessiné uniquement en CSS. */
.public-home .hero-mobile-showcase{display:none}
@media (max-width:767.98px){
  .public-home .public-hero{padding-top:18px;padding-bottom:12px}
  .public-home .public-hero-shell{
    min-height:0!important;
    display:block!important;
    border-radius:27px;
    overflow:hidden;
    background:
      radial-gradient(420px 220px at 100% 100%,rgba(90,66,255,.13),transparent 64%),
      linear-gradient(145deg,var(--surface),var(--surface-2));
    box-shadow:0 15px 36px rgba(33,29,79,.11)!important;
  }
  .public-home .public-hero-shell::before{
    background:radial-gradient(260px 180px at 16% 5%,rgba(124,103,255,.11),transparent 72%)!important;
  }
  .public-home .public-hero-shell::after{
    width:240px;height:240px;right:-125px;bottom:-145px;
    background:radial-gradient(circle,rgba(90,66,255,.12),transparent 68%);
  }
  .public-home .public-hero-copy{
    padding:26px 18px 20px!important;
  }
  .public-home .public-hero-copy::before{
    width:70px;height:70px;left:auto;right:7%;top:4%;border-radius:22px;opacity:.8;
  }
  .public-home .public-eyebrow{
    font-size:.64rem;
    letter-spacing:.11em;
    padding:.43rem .6rem;
  }
  .public-home .public-hero h1{
    font-size:clamp(2rem,9.6vw,2.7rem)!important;
    line-height:1.01!important;
    margin:14px 0 12px!important;
  }
  .public-home .public-hero-copy>p{
    font-size:.91rem;
    line-height:1.55!important;
    margin-bottom:4px;
  }
  .public-home .public-hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.62rem;
    margin-top:16px;
  }
  .public-home .public-hero-actions .btn{
    min-width:0;
    min-height:46px;
    padding:.72rem .72rem;
    font-size:.78rem;
  }
  .public-home .public-primary-cta{box-shadow:0 10px 24px rgba(90,66,255,.18)}
  .public-home .public-hero-pills{
    flex-wrap:nowrap;
    gap:.42rem;
    overflow:hidden;
    margin-top:15px;
  }
  .public-home .public-hero-pills span{
    flex:1 1 0;
    justify-content:center;
    min-width:0;
    padding:.42rem .38rem;
    font-size:.62rem;
    white-space:nowrap;
  }
  .public-home .public-hero-pills span:nth-child(3){display:none}

  .public-home .hero-mobile-showcase{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(86px,.65fr);
    grid-template-rows:74px 64px;
    gap:8px;
    height:146px;
    margin-top:18px;
    contain:layout paint;
  }
  .public-home .hero-mobile-showcase::before{
    content:"";
    position:absolute;
    width:160px;
    height:160px;
    border-radius:50%;
    right:0;
    bottom:-78px;
    background:radial-gradient(circle,rgba(90,66,255,.15),transparent 68%);
    pointer-events:none;
  }
  .public-home .hero-mobile-card{
    position:relative;
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(90,66,255,.13);
    background:rgba(255,255,255,.72);
    border-radius:18px;
    box-shadow:0 8px 20px rgba(31,27,78,.065);
    animation:heroMobileCardIn .52s cubic-bezier(.2,.8,.2,1) both;
  }
  html[data-theme="dark"] .public-home .hero-mobile-card{
    background:rgba(23,29,47,.86);
    border-color:rgba(255,255,255,.07);
    box-shadow:none;
  }
  .public-home .hero-mobile-player{
    grid-row:1 / 3;
    padding:9px;
    animation-delay:.05s;
  }
  .public-home .hero-mobile-preview{
    position:relative;
    height:79px;
    border-radius:13px;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:
      radial-gradient(circle at 72% 25%,rgba(255,255,255,.23),transparent 24%),
      linear-gradient(135deg,#4d35dc,#856fff 58%,#3d2bc1);
  }
  .public-home .hero-mobile-preview::before,
  .public-home .hero-mobile-preview::after{
    content:"";
    position:absolute;
    border-radius:999px;
    background:rgba(255,255,255,.09);
    transform:rotate(-17deg);
  }
  .public-home .hero-mobile-preview::before{width:120px;height:34px;left:-24px;bottom:8px}
  .public-home .hero-mobile-preview::after{width:86px;height:25px;right:-14px;top:10px}
  .public-home .hero-mobile-play{
    position:relative;
    z-index:2;
    width:37px;height:37px;
    display:grid;place-items:center;
    border-radius:50%;
    color:#5a42ff;
    background:#fff;
    font-size:.78rem;
    padding-left:2px;
    box-shadow:0 7px 18px rgba(21,14,87,.22);
  }
  .public-home .hero-mobile-quality{
    position:absolute;
    right:8px;top:8px;
    z-index:2;
    padding:.18rem .34rem;
    border-radius:7px;
    background:rgba(15,12,49,.42);
    color:#fff;
    border:1px solid rgba(255,255,255,.18);
    font-size:.54rem;
    font-weight:950;
  }
  .public-home .hero-mobile-player-copy{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    padding:8px 3px 0;
  }
  .public-home .hero-mobile-player-copy strong{font-size:.72rem;line-height:1.1;color:var(--text-strong)}
  .public-home .hero-mobile-player-copy span{display:inline-flex;align-items:center;gap:.3rem;font-size:.55rem;color:var(--muted);white-space:nowrap}
  .public-home .hero-mobile-player-copy b{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.10)}
  .public-home .hero-mobile-offline,
  .public-home .hero-mobile-library{
    display:grid;
    align-content:center;
    padding:10px 11px;
  }
  .public-home .hero-mobile-offline{animation-delay:.13s}
  .public-home .hero-mobile-library{animation-delay:.21s}
  .public-home .hero-mobile-symbol,
  .public-home .hero-mobile-number{
    display:block;
    width:max-content;
    margin-bottom:3px;
    font-weight:950;
    color:#6554ef;
  }
  .public-home .hero-mobile-symbol{font-size:1.1rem;line-height:.9}
  .public-home .hero-mobile-number{font-size:1.05rem;line-height:1}
  .public-home .hero-mobile-offline strong,
  .public-home .hero-mobile-library strong{font-size:.68rem;line-height:1.05;color:var(--text-strong)}
  .public-home .hero-mobile-offline small,
  .public-home .hero-mobile-library small{font-size:.52rem;color:var(--muted);margin-top:2px}
  @keyframes heroMobileCardIn{
    from{opacity:0;transform:translateY(9px) scale(.985)}
    to{opacity:1;transform:none}
  }
}

@media (min-width:768px){
  .public-home .hero-desktop-chip-new{animation-name:heroPremiumEnter,heroDesktopFloatNew;animation-duration:.62s,7s;animation-delay:.18s,.9s;animation-timing-function:cubic-bezier(.2,.8,.2,1),ease-in-out;animation-iteration-count:1,infinite;animation-fill-mode:both}
  .public-home .hero-desktop-chip-hd{animation-name:heroPremiumEnter,heroDesktopFloatHd;animation-duration:.62s,8s;animation-delay:.28s,1.1s;animation-timing-function:cubic-bezier(.2,.8,.2,1),ease-in-out;animation-iteration-count:1,infinite;animation-fill-mode:both}
  @keyframes heroDesktopFloatNew{0%,100%{translate:0 0}50%{translate:0 -5px}}
  @keyframes heroDesktopFloatHd{0%,100%{translate:0 0}50%{translate:0 5px}}
}

@media (prefers-reduced-motion:reduce){
  .public-home .hero-poster,
  .public-home .hero-desktop-chip,
  .public-home .hero-mobile-card,
  .public-home .pulse-dot{animation:none!important}
  .public-home .public-primary-cta::after{display:none}
}

/* ============================================================
   PUBLIC HOME HERO V28 — 3 REAL CATALOGUES ON MOBILE
   Les posters sont servis en miniatures WebP locales et chargés après load.
   Animation uniquement transform/opacity pour préserver Lighthouse mobile.
   ============================================================ */
.public-home .hero-mobile-catalog-deck{display:none}
@media (max-width:767.98px){
  .public-home .hero-mobile-showcase{display:none!important}
  .public-home .hero-mobile-catalog-deck{
    position:relative;
    display:block;
    height:218px;
    margin:18px -2px -2px;
    contain:layout paint;
    perspective:850px;
    isolation:isolate;
  }
  .public-home .hero-mobile-catalog-orbit{
    position:absolute;
    left:50%;
    top:49%;
    width:245px;
    height:112px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    border:1px solid rgba(90,66,255,.10);
    background:radial-gradient(ellipse,rgba(90,66,255,.09),transparent 67%);
    pointer-events:none;
  }
  .public-home .hero-mobile-catalog-orbit::before,
  .public-home .hero-mobile-catalog-orbit::after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
  }
  .public-home .hero-mobile-catalog-orbit::before{
    width:7px;height:7px;left:19px;top:33px;
    background:#7c67ff;
    box-shadow:0 0 0 5px rgba(124,103,255,.08);
  }
  .public-home .hero-mobile-catalog-orbit::after{
    width:5px;height:5px;right:25px;bottom:25px;
    background:#a99cff;
    box-shadow:0 0 0 4px rgba(124,103,255,.07);
  }
  .public-home .hero-mobile-catalog-card{
    --card-x:-50%;
    --card-y:5px;
    --card-r:0deg;
    position:absolute;
    left:50%;
    top:3px;
    width:116px;
    color:inherit;
    text-decoration:none;
    transform:translateX(var(--card-x)) translateY(var(--card-y)) rotate(var(--card-r));
    transform-origin:50% 90%;
    opacity:0;
    animation:heroCatalogCardEnter .58s cubic-bezier(.2,.8,.2,1) forwards;
    -webkit-tap-highlight-color:transparent;
  }
  .public-home .hero-mobile-catalog-card-1{
    --card-x:-50%;--card-y:0px;--card-r:-1deg;
    z-index:4;
    animation-delay:.06s;
  }
  .public-home .hero-mobile-catalog-card-2{
    --card-x:-124%;--card-y:18px;--card-r:-10deg;
    z-index:2;
    animation-delay:.14s;
  }
  .public-home .hero-mobile-catalog-card-3{
    --card-x:24%;--card-y:18px;--card-r:10deg;
    z-index:2;
    animation-delay:.22s;
  }
  .public-home .hero-mobile-catalog-float{
    display:block;
    width:100%;
    transform:translateZ(0);
    animation:heroCatalogFloat 6.8s ease-in-out infinite;
  }
  .public-home .hero-mobile-catalog-card-2 .hero-mobile-catalog-float{animation-delay:-2.1s;animation-duration:7.5s}
  .public-home .hero-mobile-catalog-card-3 .hero-mobile-catalog-float{animation-delay:-4.2s;animation-duration:8.1s}
  .public-home .hero-mobile-catalog-poster{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:2/3;
    overflow:hidden;
    border-radius:17px;
    border:1px solid rgba(255,255,255,.70);
    background:linear-gradient(145deg,#ddd8ff,#f7f5ff 52%,#d9d3ff);
    box-shadow:0 13px 28px rgba(29,24,72,.16);
  }
  html[data-theme="dark"] .public-home .hero-mobile-catalog-poster{
    border-color:rgba(255,255,255,.10);
    background:linear-gradient(145deg,#282441,#171a2a 58%,#312c50);
    box-shadow:0 13px 27px rgba(0,0,0,.26);
  }
  .public-home .hero-mobile-catalog-poster::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    background:linear-gradient(180deg,transparent 56%,rgba(12,9,35,.18));
  }
  .public-home .hero-mobile-catalog-skeleton{
    position:absolute;
    inset:-18% -60%;
    z-index:1;
    background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.46) 48%,transparent 61%);
    transform:translateX(-36%);
    animation:heroCatalogShimmer 1.6s ease-in-out infinite;
  }
  .public-home .hero-mobile-catalog-card img{
    position:absolute;
    inset:0;
    z-index:2;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transform:scale(1.025);
    transition:opacity .38s ease,transform .65s cubic-bezier(.2,.8,.2,1);
  }
  .public-home .hero-mobile-catalog-card.is-loaded img{opacity:1;transform:scale(1)}
  .public-home .hero-mobile-catalog-card.is-loaded .hero-mobile-catalog-skeleton{opacity:0;animation:none}
  .public-home .hero-mobile-catalog-badge{
    position:absolute;
    z-index:4;
    top:7px;
    left:7px;
    padding:.2rem .36rem;
    border-radius:7px;
    background:rgba(18,13,46,.70);
    color:#fff;
    border:1px solid rgba(255,255,255,.16);
    font-size:.47rem;
    line-height:1;
    font-weight:950;
    letter-spacing:.045em;
  }
  .public-home .hero-mobile-catalog-card-1 .hero-mobile-catalog-badge{
    background:#5a42ff;
    box-shadow:0 5px 12px rgba(90,66,255,.22);
  }
  .public-home .hero-mobile-catalog-copy{
    display:block;
    min-width:0;
    padding:7px 3px 0;
    text-align:center;
  }
  .public-home .hero-mobile-catalog-copy strong{
    display:block;
    overflow:hidden;
    color:var(--text-strong);
    font-size:.64rem;
    line-height:1.15;
    font-weight:900;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .public-home .hero-mobile-catalog-copy small{
    display:block;
    overflow:hidden;
    margin-top:2px;
    color:var(--muted);
    font-size:.48rem;
    line-height:1.1;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .public-home .hero-mobile-catalog-card-2 .hero-mobile-catalog-copy,
  .public-home .hero-mobile-catalog-card-3 .hero-mobile-catalog-copy{opacity:.84}
  .public-home .hero-mobile-catalog-live{
    position:absolute;
    z-index:6;
    left:50%;
    bottom:1px;
    transform:translateX(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.36rem;
    width:max-content;
    max-width:92%;
    padding:.39rem .62rem;
    border:1px solid rgba(90,66,255,.11);
    border-radius:999px;
    background:rgba(255,255,255,.86);
    color:var(--muted);
    box-shadow:0 7px 18px rgba(31,27,78,.07);
    font-size:.57rem;
    font-weight:800;
    white-space:nowrap;
  }
  html[data-theme="dark"] .public-home .hero-mobile-catalog-live{
    background:rgba(23,29,47,.91);
    border-color:rgba(255,255,255,.07);
    box-shadow:none;
  }
  .public-home .hero-mobile-catalog-live b{
    width:6px;height:6px;border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 3px rgba(34,197,94,.10);
  }
  .public-home .hero-mobile-catalog-card:active .hero-mobile-catalog-float{transform:scale(.97)}
  @keyframes heroCatalogCardEnter{
    from{opacity:0;transform:translateX(var(--card-x)) translateY(calc(var(--card-y) + 13px)) rotate(var(--card-r)) scale(.92)}
    to{opacity:1;transform:translateX(var(--card-x)) translateY(var(--card-y)) rotate(var(--card-r)) scale(1)}
  }
  @keyframes heroCatalogFloat{
    0%,100%{translate:0 0}
    50%{translate:0 -4px}
  }
  @keyframes heroCatalogShimmer{
    0%{transform:translateX(-42%)}
    65%,100%{transform:translateX(42%)}
  }
}
@media (max-width:370px){
  .public-home .hero-mobile-catalog-deck{height:205px}
  .public-home .hero-mobile-catalog-card{width:106px}
  .public-home .hero-mobile-catalog-card-2{--card-x:-120%}
  .public-home .hero-mobile-catalog-card-3{--card-x:20%}
}
@media (prefers-reduced-motion:reduce){
  .public-home .hero-mobile-catalog-card,
  .public-home .hero-mobile-catalog-float,
  .public-home .hero-mobile-catalog-skeleton{animation:none!important}
  .public-home .hero-mobile-catalog-card{opacity:1!important}
}

/* ============================================================
   PUBLIC UI V29 — PREMIUM HERO + APP-LIKE NAV / OFFCANVAS
   Performance rules:
   - no new remote asset
   - animations limited to transform / opacity
   - no animated blur/filter on mobile
   ============================================================ */

/* ---------- Navbar: floating application shell ---------- */
.public-navbar-v29{
  background:transparent!important;
  border:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:10px 0 5px;
  min-height:76px;
  transition:none;
}
.public-navbar-v29.scrolled{background:transparent!important;box-shadow:none!important}
.public-nav-shell{
  position:relative;
  min-height:64px;
  padding:7px 10px 7px 11px;
  border:1px solid rgba(90,66,255,.11);
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 28px rgba(34,29,82,.08),inset 0 1px 0 rgba(255,255,255,.88);
  transition:box-shadow .2s ease,border-color .2s ease,background-color .2s ease;
  isolation:isolate;
}
.public-nav-shell::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:18px;right:18px;top:-1px;height:2px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent,rgba(90,66,255,.55),rgba(124,103,255,.22),transparent);
  opacity:.7;
}
.public-navbar-v29.scrolled .public-nav-shell{
  border-color:rgba(90,66,255,.16);
  background:rgba(255,255,255,.98);
  box-shadow:0 13px 34px rgba(31,27,76,.13),inset 0 1px 0 #fff;
}
html[data-theme="dark"] .public-nav-shell{
  background:rgba(15,20,34,.96);
  border-color:rgba(255,255,255,.08);
  box-shadow:0 12px 32px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .public-navbar-v29.scrolled .public-nav-shell{
  background:rgba(13,18,31,.985);
  border-color:rgba(151,137,255,.18);
}
.public-brand-link{text-decoration:none!important;min-width:0}
.public-brand-mark-v29{
  position:relative;
  width:48px;height:48px;border-radius:16px;
  background:linear-gradient(145deg,#f0edff,#fff 54%,#e9e5ff);
  border:1px solid rgba(90,66,255,.13);
  box-shadow:0 7px 18px rgba(82,67,198,.11),inset 0 1px 0 rgba(255,255,255,.95);
  overflow:hidden;
}
.public-brand-mark-v29::after{
  content:"";position:absolute;inset:auto 6px 4px 6px;height:3px;border-radius:99px;
  background:linear-gradient(90deg,#5a42ff,#8a6dff);opacity:.36
}
.public-brand-mark-v29 img{max-width:41px!important;max-height:31px!important}
html[data-theme="dark"] .public-brand-mark-v29{
  background:linear-gradient(145deg,#25213d,#171b2b 58%,#211c38);
  border-color:rgba(255,255,255,.08);box-shadow:none
}
.public-brand-copy-v29 strong{font-size:1.12rem;letter-spacing:-.02em}
.public-brand-copy-v29 small{display:flex;align-items:center;gap:5px;font-size:.64rem;letter-spacing:.015em}
.brand-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.10);flex:0 0 6px}
.public-nav-actions{position:relative;z-index:3}
.public-theme-toggle-v29,.hamburger-v29{
  width:44px!important;height:44px!important;border-radius:15px!important;
  border:1px solid rgba(90,66,255,.10)!important;
  background:linear-gradient(145deg,rgba(250,250,255,.98),rgba(245,244,255,.92))!important;
  box-shadow:0 5px 16px rgba(35,30,84,.07)!important;
}
html[data-theme="dark"] .public-theme-toggle-v29,
html[data-theme="dark"] .hamburger-v29{background:#181e31!important;border-color:rgba(255,255,255,.07)!important;box-shadow:none!important}
.public-theme-toggle-v29:active,.hamburger-v29:active{transform:scale(.96)!important}
.hamburger-v29{display:inline-grid;place-items:center;padding:0!important}
.hamburger-v29 .hamburger-box{width:24px;height:18px}
.hamburger-v29 .hamburger-inner,.hamburger-v29 .hamburger-inner::before,.hamburger-v29 .hamburger-inner::after{width:24px;height:2px;left:0;background:var(--text-strong)}
.hamburger-v29 .hamburger-inner{top:8px}
.hamburger-v29 .hamburger-inner::before{top:-7px}
.hamburger-v29 .hamburger-inner::after{top:7px}
.public-nav-links-v29{padding:4px;border-radius:16px;background:rgba(90,66,255,.035);border:1px solid rgba(90,66,255,.055)}
.public-nav-links-v29 .nav-link{padding:.58rem .78rem;border-radius:11px;font-size:.88rem;font-weight:780;text-decoration:none}
.public-nav-links-v29 .nav-link.nav-ink-active{color:#5745e8;background:rgba(90,66,255,.085)}
.public-nav-links-v29 .nav-link.nav-ink::after{left:24%;right:24%;bottom:4px;height:2px}
html[data-theme="dark"] .public-nav-links-v29{background:rgba(124,103,255,.07);border-color:rgba(255,255,255,.05)}

/* ---------- Offcanvas: practical, structured, premium ---------- */
.public-offcanvas-v29{
  --bs-offcanvas-width:min(92vw,380px);
  background:linear-gradient(165deg,#fbfbff 0%,#f7f7ff 58%,#f1f3ff 100%)!important;
  border-left:1px solid rgba(90,66,255,.12)!important;
  box-shadow:-20px 0 60px rgba(21,18,61,.16);
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
html[data-theme="dark"] .public-offcanvas-v29{
  background:linear-gradient(165deg,#111625 0%,#0d1220 60%,#101528 100%)!important;
  border-left-color:rgba(255,255,255,.08)!important;
  box-shadow:-20px 0 65px rgba(0,0,0,.46)
}
.public-offcanvas-header{padding:18px 16px 14px!important;border-bottom:1px solid rgba(90,66,255,.08)!important;position:relative}
.public-offcanvas-header::after{content:"";position:absolute;left:18px;bottom:-1px;width:54px;height:2px;border-radius:99px;background:linear-gradient(90deg,#5a42ff,#8b73ff)}
.public-offcanvas-brand{display:flex;align-items:center;gap:10px;min-width:0;padding-right:8px}
.public-offcanvas-brand-copy{min-width:0;display:flex;flex-direction:column}
.public-offcanvas-kicker{font-size:.54rem;line-height:1;text-transform:uppercase;letter-spacing:.13em;font-weight:950;color:#6b5bf0;margin-bottom:4px}
.public-offcanvas-brand-copy .offcanvas-title{font-size:.98rem;line-height:1.08;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-offcanvas-brand-copy small{display:flex;align-items:center;gap:5px;margin-top:5px;color:var(--muted);font-size:.61rem;font-weight:750}
.public-offcanvas-close{flex:0 0 38px;width:38px!important;height:38px!important;padding:0!important;border-radius:13px;background-color:var(--surface)!important;border:1px solid var(--public-border);box-shadow:0 5px 15px rgba(32,28,78,.06);background-size:12px!important;background-position:center!important}
.public-offcanvas-body{padding:13px 12px 14px!important;gap:12px}
.public-offcanvas-quick{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 2px}
.public-quick-card{
  position:relative;min-width:0;min-height:112px;padding:12px;border-radius:18px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:8px;
  color:var(--text)!important;text-decoration:none!important;
  border:1px solid rgba(90,66,255,.09);
  background:linear-gradient(145deg,var(--surface),var(--surface-2));
  box-shadow:0 8px 22px rgba(34,29,82,.06);
  overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.public-quick-card::before{content:"";position:absolute;width:78px;height:78px;border-radius:50%;right:-28px;top:-30px;background:rgba(124,103,255,.08)}
.public-quick-card:active{transform:scale(.98)}
.public-quick-primary{color:#fff!important;background:linear-gradient(145deg,#644cff,#7b62ff 58%,#8b76ff);border-color:transparent;box-shadow:0 12px 26px rgba(90,66,255,.20)}
.public-quick-primary::before{background:rgba(255,255,255,.13)}
.public-quick-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(90,66,255,.09);color:#5c4ae4;font-size:1rem;border:1px solid rgba(90,66,255,.08)}
.public-quick-primary .public-quick-icon{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.13);color:#fff}
.public-quick-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0;line-height:1.05}
.public-quick-card small{font-size:.55rem;font-weight:800;color:var(--muted);margin-bottom:4px}
.public-quick-card strong{font-size:.78rem;font-weight:950;color:var(--text-strong);line-height:1.12}
.public-quick-primary small{color:rgba(255,255,255,.70)}.public-quick-primary strong{color:#fff}
.public-quick-arrow{position:absolute;right:11px;top:12px;font-size:.72rem;color:var(--muted)}.public-quick-primary .public-quick-arrow{color:rgba(255,255,255,.72)}
.public-menu-v29{padding:2px 2px 0!important}
.public-menu-v29 .menu-section-title{display:flex;align-items:end;justify-content:space-between;padding:0 7px;margin:4px 0 7px;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#6555e8}
.public-menu-v29 .menu-section-title small{font-size:.52rem;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:700}
.public-menu-v29 .menu-row{
  min-height:58px;padding:7px 8px;margin:3px 0;gap:10px;border:1px solid transparent;border-radius:16px;
  background:transparent;color:var(--text);text-decoration:none!important
}
.public-menu-v29 .menu-row::before{display:none}
.public-menu-v29 .menu-row:hover{background:rgba(90,66,255,.055);box-shadow:none;border-color:rgba(90,66,255,.07)}
.public-menu-v29 .menu-row.is-current{background:linear-gradient(90deg,rgba(90,66,255,.11),rgba(124,103,255,.055));border-color:rgba(90,66,255,.12)}
.public-menu-v29 .menu-row.is-current::after{content:"";position:absolute;left:-2px;top:15px;bottom:15px;width:3px;border-radius:99px;background:linear-gradient(#5a42ff,#8d75ff)}
.public-menu-v29 .menu-ico{width:40px;height:40px;flex:0 0 40px;border-radius:13px;background:var(--surface);box-shadow:0 5px 14px rgba(34,29,82,.05);font-size:.98rem}
.public-menu-v29 .is-current .menu-ico{color:#fff;background:linear-gradient(145deg,#5a42ff,#7d65ff);border-color:transparent;box-shadow:0 7px 18px rgba(90,66,255,.18)}
.public-menu-v29 .menu-text{min-width:0;display:flex;flex-direction:column;line-height:1.08}
.public-menu-v29 .menu-text strong{font-size:.78rem;font-weight:900;color:var(--text-strong)}
.public-menu-v29 .menu-text small{margin-top:4px;font-size:.57rem;font-weight:680;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-menu-v29 .menu-row .arrow{font-size:.72rem}
.public-offcanvas-theme-v29{margin:0 2px!important;padding:8px!important;border-radius:17px!important;box-shadow:none!important}
.public-offcanvas-footer{display:grid;gap:8px;padding:4px 2px 0}
.public-offcanvas-note{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:14px;background:rgba(34,197,94,.055);border:1px solid rgba(34,197,94,.11);color:#15803d}
.public-offcanvas-note>i{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(34,197,94,.09);flex:0 0 30px}
.public-offcanvas-note>span{display:flex;flex-direction:column;line-height:1.05}.public-offcanvas-note strong{font-size:.66rem}.public-offcanvas-note small{margin-top:3px;font-size:.54rem;color:var(--muted)}
.public-offcanvas-footer .btn-fat{min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:15px;font-size:.8rem}
.public-admin-link{display:flex;align-items:center;gap:8px;padding:9px 11px;color:var(--muted)!important;text-decoration:none!important;font-size:.67rem;font-weight:850}.public-admin-link .bi-chevron-right{margin-left:auto;font-size:.62rem}
html[data-theme="dark"] .public-quick-card{background:#171d2f;border-color:rgba(255,255,255,.06);box-shadow:none}
html[data-theme="dark"] .public-quick-primary{background:linear-gradient(145deg,#5e49eb,#715bf2 60%,#7c67f5)}
html[data-theme="dark"] .public-menu-v29 .menu-row:hover,html[data-theme="dark"] .public-menu-v29 .menu-row.is-current{background:rgba(124,103,255,.10);border-color:rgba(255,255,255,.06)}
html[data-theme="dark"] .public-menu-v29 .menu-ico{background:#171d2f}
html[data-theme="dark"] .public-offcanvas-note{color:#72d99b;background:rgba(34,197,94,.07);border-color:rgba(34,197,94,.10)}

/* ---------- Hero: premium visual hierarchy ---------- */
.public-home .public-hero-shell{isolation:isolate;overflow:hidden;border-color:rgba(90,66,255,.11)}
.public-home .hero-premium-mesh{
  position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.72;
  background:
    linear-gradient(rgba(90,66,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(90,66,255,.025) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(130deg,#000,transparent 58%);
  -webkit-mask-image:linear-gradient(130deg,#000,transparent 58%)
}
.public-home .hero-premium-spark{position:absolute;z-index:1;width:9px;height:9px;border-radius:3px;pointer-events:none;background:#8c76ff;opacity:.28;transform:rotate(45deg)}
.public-home .hero-premium-spark-a{right:43%;top:15%;animation:heroV29SparkA 8s ease-in-out infinite}.public-home .hero-premium-spark-b{left:47%;bottom:15%;width:6px;height:6px;animation:heroV29SparkB 9.5s ease-in-out infinite}
@keyframes heroV29SparkA{0%,100%{transform:translate3d(0,0,0) rotate(45deg);opacity:.20}50%{transform:translate3d(0,-8px,0) rotate(75deg);opacity:.42}}
@keyframes heroV29SparkB{0%,100%{transform:translate3d(0,0,0) rotate(45deg);opacity:.18}50%{transform:translate3d(8px,-5px,0) rotate(10deg);opacity:.38}}
.public-hero-topline{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
.public-hero-status{display:inline-flex;align-items:center;gap:6px;padding:.42rem .64rem;border-radius:999px;background:rgba(34,197,94,.055);border:1px solid rgba(34,197,94,.12);color:#178149;font-size:.62rem;font-weight:850}
.public-hero-status b{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.10)}
html[data-theme="dark"] .public-hero-status{color:#80dda4;background:rgba(34,197,94,.07);border-color:rgba(34,197,94,.12)}
.public-home .public-primary-cta{position:relative;box-shadow:0 12px 26px rgba(90,66,255,.24)}
.public-home .public-primary-cta::after{content:"›";display:inline-grid;place-items:center;width:22px;height:22px;margin-left:3px;border-radius:50%;background:rgba(255,255,255,.15);font-size:1rem;line-height:1;transition:transform .18s ease}
.public-home .public-primary-cta:hover::after{transform:translateX(2px)}
.public-home .public-secondary-cta{box-shadow:0 8px 22px rgba(34,29,82,.055)}

/* Desktop hero cards: a little more cinematic without extra resources. */
@media (min-width:768px){
  .public-home .public-hero-shell{animation:heroV29ShellIn .58s cubic-bezier(.2,.8,.2,1) both}
  @keyframes heroV29ShellIn{from{opacity:.01;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}
  .public-home .hero-poster{box-shadow:0 24px 48px rgba(28,23,72,.18)}
  .public-home .hero-poster-2{filter:none}
  .public-home .public-hero-glow{opacity:.92}
}

/* Mobile hero: compact app-like composition and 3 catalogue stage. */
@media (max-width:767.98px){
  .public-navbar-v29{padding:8px 0 3px;min-height:74px}
  .public-nav-shell{width:calc(100% - 22px);min-height:61px;padding:6px 8px 6px 9px;border-radius:20px}
  .public-brand-mark-v29{width:45px;height:45px;border-radius:15px;flex:0 0 45px}.public-brand-mark-v29 img{max-width:38px!important}
  .public-brand-copy-v29 strong{font-size:1.06rem}.public-brand-copy-v29 small{font-size:.58rem;margin-top:3px}
  .public-theme-toggle-v29,.hamburger-v29{width:42px!important;height:42px!important;border-radius:14px!important}

  .public-home .public-hero{padding-top:10px!important}
  .public-home .public-hero-shell{
    min-height:auto!important;
    border-radius:28px!important;
    border-color:rgba(90,66,255,.11)!important;
    background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(250,249,255,.98) 58%,rgba(245,244,255,.96))!important;
    box-shadow:0 16px 38px rgba(36,31,87,.10)!important;
    animation:heroV29MobileIn .48s cubic-bezier(.2,.8,.2,1) both
  }
  html[data-theme="dark"] .public-home .public-hero-shell{background:linear-gradient(155deg,#151a2b,#111625 58%,#17162b)!important;border-color:rgba(255,255,255,.07)!important;box-shadow:0 18px 38px rgba(0,0,0,.28)!important}
  @keyframes heroV29MobileIn{from{opacity:.01;transform:translateY(8px)}to{opacity:1;transform:none}}
  .public-home .public-hero-shell::after{opacity:.7!important}
  .public-home .hero-premium-mesh{background-size:26px 26px;opacity:.55;mask-image:linear-gradient(150deg,#000,transparent 72%);-webkit-mask-image:linear-gradient(150deg,#000,transparent 72%)}
  .public-home .hero-premium-spark-a{right:8%;top:8%}.public-home .hero-premium-spark-b{left:7%;bottom:28%}
  .public-home .public-hero-copy{padding:25px 20px 24px!important}
  .public-hero-topline{justify-content:space-between;gap:7px}
  .public-home .public-eyebrow{font-size:.66rem;padding:.48rem .68rem;letter-spacing:.08em}
  .public-hero-status{padding:.38rem .55rem;font-size:.55rem}
  .public-home .public-hero h1{font-size:clamp(2.2rem,10.8vw,2.86rem)!important;line-height:1.015!important;letter-spacing:-.047em!important;margin:16px 0 13px!important;text-wrap:balance}
  .public-home .public-hero-copy>p{font-size:.91rem!important;line-height:1.58!important;margin-bottom:0;color:var(--muted)}
  .public-home .public-hero-actions{margin-top:19px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
  .public-home .public-hero-actions .btn{min-height:54px!important;padding:.72rem .75rem!important;border-radius:16px!important;font-size:.79rem!important;white-space:nowrap}
  .public-home .public-hero-pills{margin-top:14px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .public-home .public-hero-pills span{min-height:39px;justify-content:center;font-size:.61rem!important;padding:.44rem .55rem!important;border-radius:13px!important;background:rgba(90,66,255,.035)!important}
  .public-home .public-hero-pills span:nth-child(3){display:none!important}

  .public-home .hero-mobile-catalog-deck{
    height:242px!important;
    margin:20px -6px 0!important;
    perspective:950px;
    overflow:visible;
  }
  .public-home .hero-mobile-catalog-deck::before{
    content:"";position:absolute;left:50%;top:9px;width:min(100%,340px);height:205px;transform:translateX(-50%);
    border:1px solid rgba(90,66,255,.075);border-radius:28px;
    background:linear-gradient(180deg,rgba(90,66,255,.035),rgba(90,66,255,.012));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7);pointer-events:none
  }
  html[data-theme="dark"] .public-home .hero-mobile-catalog-deck::before{border-color:rgba(255,255,255,.05);background:rgba(124,103,255,.035);box-shadow:none}
  .public-home .hero-mobile-catalog-orbit{top:44%;width:272px;height:125px;border-color:rgba(90,66,255,.09);background:radial-gradient(ellipse,rgba(90,66,255,.105),transparent 68%)}
  .public-home .hero-mobile-stage-label{
    position:absolute;z-index:7;top:20px;display:inline-flex;align-items:center;padding:.30rem .48rem;border-radius:9px;
    background:rgba(255,255,255,.88);border:1px solid rgba(90,66,255,.09);box-shadow:0 6px 16px rgba(31,27,78,.07);
    color:#6a59e8;font-size:.49rem;font-weight:900;letter-spacing:.025em;pointer-events:none;
    animation:heroV29LabelFloat 7s ease-in-out infinite
  }
  .public-home .hero-mobile-stage-label-left{left:8px;transform:rotate(-5deg)}
  .public-home .hero-mobile-stage-label-right{right:7px;top:31px;transform:rotate(5deg);animation-delay:-3.2s}
  html[data-theme="dark"] .public-home .hero-mobile-stage-label{background:rgba(24,30,49,.94);border-color:rgba(255,255,255,.06);box-shadow:none;color:#b7aeff}
  @keyframes heroV29LabelFloat{0%,100%{translate:0 0}50%{translate:0 -3px}}

  .public-home .hero-mobile-catalog-card{top:18px!important;width:112px!important}
  .public-home .hero-mobile-catalog-card-1{width:128px!important;--card-x:-50%;--card-y:-1px;--card-r:0deg;z-index:5}
  .public-home .hero-mobile-catalog-card-2{--card-x:-132%;--card-y:25px;--card-r:-11deg;z-index:3}
  .public-home .hero-mobile-catalog-card-3{--card-x:32%;--card-y:25px;--card-r:11deg;z-index:3}
  .public-home .hero-mobile-catalog-float{position:relative}
  .public-home .hero-mobile-catalog-poster{border-radius:19px!important;border-color:rgba(255,255,255,.84)!important;box-shadow:0 16px 33px rgba(29,24,72,.18)!important}
  html[data-theme="dark"] .public-home .hero-mobile-catalog-poster{border-color:rgba(255,255,255,.10)!important;box-shadow:0 16px 30px rgba(0,0,0,.32)!important}
  .public-home .hero-mobile-catalog-poster::after{z-index:3;background:linear-gradient(180deg,transparent 46%,rgba(10,8,30,.06) 58%,rgba(9,7,29,.86) 100%)!important}
  .public-home .hero-mobile-catalog-badge{top:8px;left:8px;padding:.24rem .40rem;border-radius:8px;font-size:.47rem}
  .public-home .hero-mobile-catalog-copy{
    position:absolute!important;z-index:5;left:0;right:0;bottom:0;padding:38px 9px 10px!important;text-align:left!important;pointer-events:none;
    border-radius:0 0 19px 19px;background:linear-gradient(180deg,transparent,rgba(10,8,30,.82));opacity:1!important
  }
  .public-home .hero-mobile-catalog-copy strong{color:#fff!important;font-size:.62rem!important;text-shadow:0 1px 5px rgba(0,0,0,.25)}
  .public-home .hero-mobile-catalog-copy small{color:rgba(255,255,255,.72)!important;font-size:.46rem!important;margin-top:3px!important}
  .public-home .hero-mobile-catalog-card-1 .hero-mobile-catalog-copy strong{font-size:.68rem!important}
  .public-home .hero-mobile-catalog-live{bottom:1px!important;padding:.43rem .68rem!important;font-size:.57rem!important;background:rgba(255,255,255,.92)!important;border-color:rgba(90,66,255,.10)!important;box-shadow:0 8px 20px rgba(31,27,78,.08)!important}
  html[data-theme="dark"] .public-home .hero-mobile-catalog-live{background:rgba(23,29,47,.94)!important;border-color:rgba(255,255,255,.06)!important;box-shadow:none!important}
}

@media (max-width:370px){
  .public-offcanvas-v29{--bs-offcanvas-width:94vw}
  .public-offcanvas-quick{grid-template-columns:1fr 1fr}.public-quick-card{min-height:104px;padding:10px}
  .public-home .public-hero-copy{padding-left:17px!important;padding-right:17px!important}
  .public-home .public-hero h1{font-size:2.12rem!important}
  .public-home .public-hero-actions .btn{font-size:.73rem!important}
  .public-home .hero-mobile-catalog-deck{height:226px!important}
  .public-home .hero-mobile-catalog-card{width:104px!important}.public-home .hero-mobile-catalog-card-1{width:119px!important}
  .public-home .hero-mobile-catalog-card-2{--card-x:-128%}.public-home .hero-mobile-catalog-card-3{--card-x:28%}
}

@media (prefers-reduced-motion:reduce){
  .public-home .hero-premium-spark,
  .public-home .hero-mobile-stage-label,
  .public-home .public-hero-shell{animation:none!important}
}


/* ============================================================
   Madaflix Public UI V30 — Theme alignment + compact offcanvas
   ============================================================ */

/* Exact optical centering for Bootstrap icon glyphs inside theme switches. */
.theme-orbit{
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}
.theme-orbit i{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  font-style:normal!important;
}
.theme-orbit i::before{
  display:block!important;
  width:1em!important;
  height:1em!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
}
.public-theme-toggle-v29 .theme-orbit{width:22px!important;height:22px!important}
.public-theme-choice .theme-orbit{display:grid!important;place-items:center!important}

/* Quick actions: same information, substantially less vertical space. */
.public-offcanvas-quick{gap:8px!important}
.public-quick-card{
  min-height:84px!important;
  padding:9px 10px!important;
  gap:6px!important;
  border-radius:16px!important;
  justify-content:center!important;
}
.public-quick-card::before{width:64px!important;height:64px!important;right:-25px!important;top:-27px!important}
.public-quick-icon{
  width:32px!important;height:32px!important;border-radius:10px!important;
  font-size:.9rem!important
}
.public-quick-card small{font-size:.50rem!important;margin-bottom:2px!important}
.public-quick-card strong{font-size:.70rem!important;line-height:1.08!important}
.public-quick-arrow{right:9px!important;top:9px!important;font-size:.64rem!important}

/* Unified premium access cards for user/admin. */
.public-offcanvas-footer{gap:7px!important}
.public-access-link{
  --access-a:#5a42ff;
  --access-b:#8069ff;
  position:relative;
  isolation:isolate;
  min-height:54px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 30px;
  align-items:center;
  gap:9px;
  padding:7px 9px;
  border-radius:16px;
  overflow:hidden;
  text-decoration:none!important;
  border:1px solid rgba(90,66,255,.15);
  background:linear-gradient(135deg,var(--access-a),var(--access-b));
  color:#fff!important;
  box-shadow:0 10px 24px rgba(90,66,255,.16);
  transform:translateZ(0);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.public-access-link::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:86px;height:86px;
  right:-24px;top:-42px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  transition:transform .35s ease;
}
.public-access-link::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:-40% auto -40% -34%;
  width:28%;
  transform:skewX(-18deg) translateX(-220%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.20),transparent);
  animation:publicAccessSheen 5.2s ease-in-out infinite;
  pointer-events:none;
}
.public-access-admin{
  --access-a:#272d41;
  --access-b:#3a4058;
  border-color:rgba(108,99,255,.18);
  box-shadow:0 9px 22px rgba(18,23,42,.11);
  animation-delay:.35s;
}
.public-access-admin::before{background:rgba(125,103,255,.22)}
.public-access-icon{
  position:relative;z-index:1;
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.12);
  font-size:1rem;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),background .2s ease;
}
.public-access-admin .public-access-icon{background:rgba(124,103,255,.17);color:#d4d0ff}
.public-access-copy{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;line-height:1.05}
.public-access-copy small{font-size:.50rem;font-weight:780;color:rgba(255,255,255,.66);letter-spacing:.015em;margin-bottom:3px}
.public-access-copy strong{font-size:.73rem;font-weight:950;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-access-arrow{
  position:relative;z-index:1;
  width:28px;height:28px;border-radius:10px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.12);
  font-size:.76rem;
  transition:transform .22s ease,background .22s ease;
}
.public-access-link:hover,.public-access-link:focus-visible{
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(90,66,255,.21);
  outline:none;
}
.public-access-admin:hover,.public-access-admin:focus-visible{box-shadow:0 13px 28px rgba(20,24,42,.17)}
.public-access-link:hover::before,.public-access-link:focus-visible::before{transform:scale(1.13) translate(-3px,3px)}
.public-access-link:hover .public-access-icon,.public-access-link:focus-visible .public-access-icon{transform:rotate(-5deg) scale(1.06);background:rgba(255,255,255,.21)}
.public-access-link:hover .public-access-arrow,.public-access-link:focus-visible .public-access-arrow{transform:translateX(2px);background:rgba(255,255,255,.18)}
.public-access-link:active{transform:scale(.985)}
@keyframes publicAccessSheen{
  0%,62%{transform:skewX(-18deg) translateX(-220%);opacity:0}
  69%{opacity:1}
  82%,100%{transform:skewX(-18deg) translateX(650%);opacity:0}
}
html[data-theme="dark"] .public-access-user{box-shadow:0 10px 24px rgba(65,47,190,.18)}
html[data-theme="dark"] .public-access-admin{--access-a:#171d2f;--access-b:#232a40;border-color:rgba(255,255,255,.07);box-shadow:none}

@media (max-width:370px){
  .public-quick-card{min-height:78px!important;padding:8px!important}
  .public-quick-icon{width:30px!important;height:30px!important}
  .public-access-link{min-height:51px;grid-template-columns:35px minmax(0,1fr) 27px;padding:6px 8px;gap:8px}
  .public-access-icon{width:35px;height:35px}
  .public-access-arrow{width:26px;height:26px}
}

@media (prefers-reduced-motion:reduce){
  .public-access-link::after{animation:none!important}
  .public-access-link,.public-access-icon,.public-access-arrow{transition:none!important}
}
