:root{--ab-black:#221f1f;--ab-red:#901a1c;--ab-gold:#daaa5f;--ab-teal:#38a8bc;--ab-bamboo:#f9f1d0;--ab-aulait:#dcd7c9;--ab-inkwell:#2c3639;--ab-bg:#ffffff;--ab-bg-soft:#f7f5f2;--ab-surface:#ffffff;--ab-border:rgba(34,31,31,0.1);--ab-text:#221f1f;--ab-text-soft:#5c5552;--ab-muted:#8a8178;--font-header:"Avenir Next",Avenir,"Nunito Sans",sans-serif;--font-body:"Playfair Display",Georgia,"Times New Roman",serif;--font-accent:"Great Vibes","Apple Chancery",cursive;--nav-h:4.25rem;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--nav-total:calc(var(--nav-h) + var(--safe-top));--page-x:max(clamp(1.25rem,4vw,2.5rem),var(--safe-left),var(--safe-right));--edge-left:max(clamp(0.9rem,3vw,2.25rem),var(--safe-left));--edge-right:max(clamp(0.9rem,3vw,2.25rem),var(--safe-right));--rail-inline:max(var(--page-x),calc((100vw - 1240px) / 2));--section-y:clamp(1.75rem,3.5vw,2.75rem);--ease-out:cubic-bezier(0.22,1,0.36,1);--shadow-soft:0 12px 32px rgba(34,31,31,0.08)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;height:100%}body,html{overflow-x:hidden;overscroll-behavior-x:none}body{margin:0;min-height:100vh;min-height:100dvh;max-width:100%;background:var(--ab-bg);color:var(--ab-text);font-family:var(--font-body);font-size:1.05rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh}img{max-width:100%;display:block}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer;border:none;background:none}a:focus-visible,button:focus-visible{outline:2px solid var(--ab-gold);outline-offset:3px}h1,h2,h3,h4{font-family:var(--font-header);font-weight:600;letter-spacing:.04em;line-height:1.15;margin:0}p{margin:0}::selection{background:var(--ab-red);color:#fff}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--ab-bg)}.app-shell,.main{max-width:100%;overflow-x:clip}.main{flex:1 1;min-width:0;padding-bottom:4rem}body.is-offline-playing .main{padding-bottom:0}body.is-offline-playing .footer,body.is-offline-playing .offline-banner{display:none}.container{width:min(1240px,calc(100% - (var(--page-x) * 2)));max-width:100%;margin-inline:auto;min-width:0}.eyebrow{font-family:var(--font-accent);font-size:clamp(1.35rem,2vw,1.75rem);color:var(--ab-red);letter-spacing:.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.75rem;padding:.65rem 1.25rem;border-radius:2px;font-family:var(--font-header);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:transform .3s var(--ease-out),background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--ab-red);color:#fff}.btn-primary:hover{background:#7a1517}.btn-ghost{background:transparent;color:var(--ab-text);border:1px solid var(--ab-border)}.btn-ghost:hover{border-color:var(--ab-gold);background:rgba(218,170,95,.08)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.logo{display:inline-flex;align-items:center;flex-shrink:0;line-height:0}.logo__img{width:clamp(148px,18vw,200px);height:auto;display:block}.footer{--footer-sans:"Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;margin-top:auto;border-top:1px solid #d8cfc0;padding:2.75rem 0 calc(2.65rem + var(--safe-bottom));background-color:#f4efe6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23c9bdae' stroke-opacity='0.28' stroke-width='1'%3E%3Cpath d='M90 18c14 18 28 34 42 42-14 8-28 24-42 42-14-18-28-34-42-42 14-8 28-24 42-42z'/%3E%3Cpath d='M90 42c9 12 18 22 28 28-10 6-19 16-28 28-9-12-18-22-28-28 10-6 19-16 28-28z'/%3E%3Ccircle cx='90' cy='90' r='3.2' fill='%23c9bdae' fill-opacity='0.22' stroke='none'/%3E%3C/g%3E%3C/svg%3E");background-size:160px 160px}.footer__inner{display:grid;grid-gap:1.75rem;gap:1.75rem;align-items:end}.footer__left{display:grid;grid-gap:1.15rem;gap:1.15rem;justify-items:start}.footer__logo .logo__img{width:clamp(150px,16vw,188px)}.footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 0;font-family:var(--footer-sans)}.footer__legal-link{font-family:var(--footer-sans);font-size:.82rem;font-weight:500;letter-spacing:.04em;line-height:1.4;color:#5c5552;text-decoration:none;text-transform:none;padding:.55rem 0;transition:color .2s ease}.footer__legal-link:not(:last-child):after{content:"·";display:inline-block;margin:0 .7rem;color:#c4b8a6;font-weight:400;pointer-events:none}.footer__legal-link:focus-visible,.footer__legal-link:hover{color:var(--ab-red)}.footer__right{display:grid;justify-items:start}.footer__copy{margin:0;font-family:var(--footer-sans);font-size:.78rem;font-weight:400;line-height:1.55;color:#6a645c;text-transform:none;letter-spacing:.01em;max-width:28rem}@media (min-width:860px){.footer__inner{grid-template-columns:1fr 1fr;column-gap:2rem}.footer__right{justify-items:end;text-align:right}.footer__copy{max-width:22rem}}.lang-menu{position:relative;flex-shrink:0}.lang-menu__trigger{display:inline-grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid rgba(218,170,95,.45);border-radius:2px;background:var(--ab-bg-soft,#f7f5f2);color:var(--ab-text,#221f1f);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.lang-menu__trigger svg{width:1.15rem;height:1.15rem;display:block}.lang-menu--open .lang-menu__trigger,.lang-menu__trigger:hover{background:rgba(218,170,95,.12);border-color:rgba(218,170,95,.7);color:var(--ab-black,#221f1f)}.lang-menu__trigger:focus-visible{outline:2px solid var(--ab-gold,#daaa5f);outline-offset:2px}.lang-menu__dropdown{position:absolute;top:calc(100% + .4rem);right:0;z-index:50;min-width:11.5rem;padding:.35rem;border:1px solid rgba(218,170,95,.35);border-radius:4px;background:#fff;box-shadow:0 12px 28px rgba(34,31,31,.12)}.lang-menu__option{display:flex;align-items:center;gap:.65rem;width:100%;min-height:2.4rem;padding:.45rem .65rem;border:0;border-radius:3px;background:transparent;color:var(--ab-text,#221f1f);text-align:left;cursor:pointer;transition:background .15s ease}.lang-menu__option:hover{background:rgba(218,170,95,.12)}.lang-menu__option--active{background:rgba(144,26,28,.08)}.lang-menu__option--active .lang-menu__option-code{color:var(--ab-red,#901a1c)}.lang-menu__option-code{flex-shrink:0;min-width:1.6rem;font-size:.68rem;font-weight:800;letter-spacing:.06em;color:var(--ab-muted,#8a8178)}.lang-menu__option-code,.lang-menu__option-name{font-family:var(--font-header,"Avenir Next",sans-serif)}.lang-menu__option-name{font-size:.78rem;font-weight:600;letter-spacing:.02em}@media (max-width:860px){.lang-menu__trigger{width:2.75rem;height:2.75rem}.lang-menu__dropdown{min-width:12rem}.lang-menu__option{min-height:2.75rem}}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;box-sizing:border-box;height:auto;min-height:var(--nav-total);display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right);background:#fff;border-bottom:1px solid rgba(218,170,95,.28)}.nav--solid{background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(34,31,31,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav__inner{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;grid-gap:1rem;gap:1rem;width:min(1240px,calc(100% - (var(--page-x) * 2)));min-height:var(--nav-h)}.nav__tools{gap:.55rem}.nav__links,.nav__tools{display:flex;align-items:center}.nav__links{gap:.15rem;justify-content:center}.nav__link{font-family:var(--font-header);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.5rem .8rem;color:rgba(34,31,31,.62);transition:color .2s ease;background:none;border:0;cursor:pointer}.nav__link--active,.nav__link:hover{color:var(--ab-black)}.nav__link--active{box-shadow:inset 0 -2px 0 var(--ab-gold)}.nav__search input{width:min(200px,24vw);height:2.35rem;border-radius:2px;border:1px solid rgba(218,170,95,.45);background:var(--ab-bg-soft);color:var(--ab-text);font-family:var(--font-body);font-size:.9rem;padding:0 .85rem;outline:none}.nav__search input::placeholder{color:var(--ab-muted)}.nav__search input:focus{border-color:var(--ab-gold);background:#fff;box-shadow:0 0 0 2px rgba(218,170,95,.18)}.nav__search-icon{display:none;width:2.75rem;height:2.75rem;place-items:center;border-radius:2px;border:1px solid rgba(218,170,95,.45);background:var(--ab-bg-soft);color:var(--ab-black)}.nav__search-icon svg{width:1.1rem;height:1.1rem}.nav__menu{display:none;width:2.75rem;height:2.75rem;place-items:center;gap:6px;flex-direction:column}.nav__menu span{display:block;width:1.2rem;height:2px;background:var(--ab-gold)}@media (max-width:860px){.nav__inner{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.nav__tools{margin-left:auto;margin-right:.15rem}.nav__search{display:none}.nav__search-icon{display:inline-grid}.nav__menu{display:inline-flex}.nav__links{display:none;position:fixed;top:var(--nav-total);left:0;right:0;z-index:39;flex-direction:column;align-items:stretch;padding:.75rem var(--page-x) calc(1.1rem + var(--safe-bottom));padding-left:max(var(--page-x),var(--safe-left));padding-right:max(var(--page-x),var(--safe-right));background:#fff;border-bottom:1px solid rgba(218,170,95,.28)}.nav__link,.nav__links--open{display:flex}.nav__link{min-height:2.75rem;align-items:center;padding:.75rem .35rem}}.brand-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;width:100%;width:100dvw;height:100%;height:100dvh;min-height:100vh;min-height:-webkit-fill-available;overflow:hidden;background:#ffffff;color:var(--ab-black,#221f1f);cursor:default;isolation:isolate;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;overscroll-behavior:none}.brand-intro__audio{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.brand-intro__veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 75% 55% at 50% 45%,rgba(218,170,95,.12),transparent 65%),radial-gradient(ellipse 90% 70% at 50% 100%,rgba(144,26,28,.06),transparent 55%),linear-gradient(180deg,#ffffff,#faf8f5 55%,#f7f5f2)}.brand-intro__glow{position:absolute;width:min(72vw,520px);height:min(72vw,520px);border-radius:50%;background:radial-gradient(circle,rgba(218,170,95,.22),transparent 68%);filter:blur(28px);opacity:0;transform:scale(.7);transition:opacity 1.1s ease,transform 1.4s var(--ease-out,cubic-bezier(.22,1,.36,1));pointer-events:none;will-change:opacity,transform}.brand-intro--exiting .brand-intro__glow,.brand-intro--playing .brand-intro__glow{opacity:1;transform:scale(1)}.brand-intro__stage{position:relative;z-index:1;display:grid;place-items:center;width:min(82vw,420px);max-width:calc(100vw - 2.5rem);opacity:0;transform:scale(.88);will-change:transform,opacity;pointer-events:none}.brand-intro__stage.is-armed{opacity:.92;transform:scale(1);animation:brand-intro-breathe 2.4s ease-in-out infinite}.brand-intro__stage.is-live{opacity:1;animation:brand-intro-logo 6s cubic-bezier(.22,1,.36,1) forwards}.brand-intro__sound-hint{z-index:2;margin:0;text-align:center;pointer-events:none}.brand-intro__cta,.brand-intro__sound-hint{position:absolute;left:0;right:0;bottom:max(10vh,calc(2rem + env(safe-area-inset-bottom, 0px)))}.brand-intro__cta{z-index:5;display:flex;justify-content:center;padding:0 1.25rem;pointer-events:auto}.brand-intro__enter{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;z-index:5;min-height:48px;min-width:12rem;padding:.85rem 1.6rem;border:1px solid rgba(218,170,95,.55);border-radius:999px;background:rgba(255,255,255,.95);color:var(--ab-black,#221f1f);font-family:var(--font-header,"Avenir Next",sans-serif);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px rgba(34,31,31,.08);animation:brand-intro-pulse 2s ease-in-out infinite;touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto}.brand-intro__enter:hover{background:#fff;border-color:var(--ab-gold,#daaa5f)}.brand-intro__enter:focus-visible{outline:2px solid var(--ab-gold,#daaa5f);outline-offset:3px}.brand-intro__sound-hint span{display:inline-block;font-family:var(--font-header,"Avenir Next",sans-serif);font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(34,31,31,.5);padding:.65rem 1.1rem;border:1px solid rgba(34,31,31,.12);border-radius:999px;background:rgba(255,255,255,.75);animation:brand-intro-pulse 2s ease-in-out infinite}@keyframes brand-intro-breathe{0%,to{transform:scale(1);opacity:.88}50%{transform:scale(1.03);opacity:1}}@keyframes brand-intro-pulse{0%,to{opacity:.55}50%{opacity:1}}.brand-intro__logo{width:100%;height:auto;max-height:min(28vh,160px);object-fit:contain;display:block;pointer-events:none;filter:drop-shadow(0 12px 28px rgba(34,31,31,.12))}.brand-intro__shine{position:absolute;inset:-20% -40%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.55) 46%,rgba(218,170,95,.4) 50%,rgba(255,255,255,.45) 54%,transparent 62%);transform:translateX(-120%) skewX(-12deg);pointer-events:none;opacity:0}.brand-intro__stage.is-live .brand-intro__shine{animation:brand-intro-shine 6s ease-in-out forwards}.brand-intro__skip{position:absolute;top:max(.75rem,env(safe-area-inset-top,0px));right:max(.75rem,env(safe-area-inset-right,0px));z-index:6;min-height:44px;min-width:44px;padding:.55rem .9rem;font-family:var(--font-header,"Avenir Next",sans-serif);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(34,31,31,.45);border:0;background:transparent;border-radius:999px;touch-action:manipulation;pointer-events:auto;-webkit-tap-highlight-color:transparent;cursor:pointer;transition:color .2s ease,background .2s ease}.brand-intro__skip:focus-visible,.brand-intro__skip:hover{color:var(--ab-black,#221f1f);background:rgba(34,31,31,.06);outline:none}.brand-intro--exiting{pointer-events:none;animation:brand-intro-exit .78s cubic-bezier(.4,0,.2,1) forwards}.brand-intro--exiting .brand-intro__stage{animation:brand-intro-logo-exit .78s cubic-bezier(.4,0,.2,1) forwards}body.brand-intro-active,html.brand-intro-active{overflow:hidden;height:100%;height:100dvh;overscroll-behavior:none}body.brand-intro-active .app-shell,html.brand-intro-active .app-shell{opacity:0;transform:scale(1.02);pointer-events:none;transition:none}@media (min-width:768px){body.brand-intro-active .app-shell,html.brand-intro-active .app-shell{filter:blur(6px)}}html:not(.brand-intro-active) .app-shell{opacity:1;transform:none;filter:none;transition:opacity .85s var(--ease-out,cubic-bezier(.22,1,.36,1)),transform .85s var(--ease-out,cubic-bezier(.22,1,.36,1)),filter .85s ease}@keyframes brand-intro-logo{0%{opacity:0;transform:scale(.78)}18%{opacity:1}42%{transform:scale(1.05)}70%{transform:scale(1)}to{opacity:1;transform:scale(1.03)}}@keyframes brand-intro-logo-exit{to{opacity:0;transform:scale(1.14)}}@keyframes brand-intro-shine{0%,22%{opacity:0;transform:translateX(-120%) skewX(-12deg)}38%{opacity:1}55%{opacity:0;transform:translateX(120%) skewX(-12deg)}to{opacity:0;transform:translateX(120%) skewX(-12deg)}}@keyframes brand-intro-exit{to{opacity:0}}@media (max-width:640px){.brand-intro__glow{filter:blur(16px)}.brand-intro__stage{width:min(88vw,360px)}.brand-intro__logo{max-height:min(24vh,120px)}.brand-intro__shine{display:none}}@media (prefers-reduced-motion:reduce){.brand-intro,.brand-intro__shine,.brand-intro__stage,html:not(.brand-intro-active) .app-shell{animation:none!important;transition:none!important}}.offline-banner{position:-webkit-sticky;position:sticky;top:var(--nav-total);z-index:35;padding:.55rem var(--page-x);text-align:center;font-family:var(--font-header);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ab-black);background:rgba(218,170,95,.92);border-bottom:1px solid rgba(34,31,31,.08)}.offline-banner__link{color:inherit;text-decoration:underline;text-underline-offset:.18em}