:root{--color-bg:#fff;--color-bg-soft:#f1f0f3;--color-surface:#fff;--color-border:#8d8991;--color-silver:#8d8991;--color-text:#241f26;--color-text-muted:#565061;--color-primary:#5d4d5d;--color-primary-dark:#453845;--color-primary-light:#5d4d5d;--color-primary-soft:#eceaee;--color-on-primary:#fff;--color-secondary:#3e353f;--color-secondary-dark:#2b252c;--color-secondary-light:#6b586b;--color-danger:#b3261e;--color-invert-hover:#eceaee;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--sidebar-width:240px;--shadow-soft:0 12px 32px #241f261a;--shadow-lift:0 18px 45px #241f2629}*{box-sizing:border-box}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;margin:0;line-height:1.6}h1,h2,h3{font-family:var(--font-display);color:var(--color-text);margin:0 0 .5em;font-weight:600;line-height:1.15}h1{font-size:clamp(2.2rem,4vw,3.2rem)}h2{font-size:clamp(1.5rem,2.5vw,2rem)}h3{font-size:1.15rem}p{color:var(--color-text-muted);margin:0 0 1em}a{color:inherit}.page h1{margin-top:0}.section{margin-top:4rem}.eyebrow{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-light);margin-bottom:.75rem;font-size:.78rem;font-weight:600;display:inline-block}.pull-quote{font-family:var(--font-display);color:var(--color-primary-light);border-left:3px solid var(--color-primary);margin:2rem 0;padding:.25rem 0 .25rem 1.25rem;font-size:clamp(1.2rem,2vw,1.5rem);font-style:italic}.btn{font-weight:600;font-family:var(--font-body);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.4rem;padding:.85rem 1.7rem;font-size:.95rem;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-soft)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:var(--shadow-lift);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);color:var(--color-primary-light);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary-light)}.btn:disabled{opacity:.5;cursor:not-allowed}.card-surface{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:20px}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem;padding:2rem 0 1rem;display:grid}.hero__copy p{max-width:46ch;font-size:1.05rem}.hero__actions{flex-wrap:wrap;gap:1rem;margin-top:1.75rem;display:flex}.hero__title{color:var(--color-silver)}.hero__accent{color:var(--color-secondary)}.hero__visual{aspect-ratio:1;max-width:380px;margin:0 auto;position:relative}.hero__visual:before{content:"";background:var(--color-primary-soft);z-index:0;border-radius:50% 50% 46% 46%/55% 55% 45% 45%;position:absolute;inset:6%}.hero__visual-photo{object-fit:cover;z-index:2;border-radius:50% 50% 46% 46%/55% 55% 45% 45%;width:88%;height:88%;position:absolute;inset:6%}.hero__visual-placeholder{color:var(--color-primary-light);font-family:var(--font-display);text-align:center;border:1px dashed var(--color-primary-light);z-index:1;border-radius:50% 50% 46% 46%/55% 55% 45% 45%;justify-content:center;align-items:center;padding:1rem;font-size:1rem;display:flex;position:absolute;inset:6%}.value-list{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (width<=900px){.value-list{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.value-list{grid-template-columns:1fr}}.value-list__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;height:100%;padding:1.25rem 1.5rem}.value-list strong{color:var(--color-primary-light);font-family:var(--font-display);margin-bottom:.25rem;font-weight:600;display:block}.section-cta{text-align:center;background:var(--color-primary);color:var(--color-on-primary);border-radius:24px;padding:3rem 2rem}.section-cta h2{color:var(--color-on-primary);max-width:32ch;margin-left:auto;margin-right:auto}.section-cta .btn-primary{background:var(--color-on-primary);color:var(--color-primary-dark)}.section-cta .btn-primary:hover{background:var(--color-invert-hover)}.about-hero{grid-template-columns:1fr auto;align-items:center;gap:2.5rem;margin-bottom:2rem;display:grid}.about-hero h1{margin:0}.about-hero__photo{object-fit:cover;width:280px;height:280px;box-shadow:var(--shadow-soft);border-radius:20px}@media (width<=700px){.about-hero{text-align:center;grid-template-columns:1fr;justify-items:center;gap:1.5rem}.about-hero__photo{order:-1;width:200px;height:200px}}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:1.5rem;display:grid}@media (width<=900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.gallery-grid{grid-template-columns:1fr}}.strength-grid{flex-direction:column;gap:1.5rem;margin-top:1.5rem;display:flex}.faq-grid{grid-template-columns:repeat(auto-fill,minmax(280px,340px));justify-content:center;gap:2rem;margin-top:1.5rem;display:grid}.strength-card,.gallery-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;padding:1.75rem;transition:box-shadow .15s,transform .15s}.gallery-card{flex-direction:column;height:100%;display:flex}.strength-card p{max-width:68ch}.strength-card:hover,.gallery-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.service-accordion{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.service-accordion-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;transition:box-shadow .15s;overflow:hidden}.service-accordion-item.is-open{box-shadow:var(--shadow-soft)}.service-accordion-item__heading{margin:0}.service-accordion-item__trigger{width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--color-text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.service-accordion-item__trigger:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:-2px}.service-accordion-item__trigger span:first-child{font-family:var(--font-display);font-size:1.25rem;font-weight:600}.service-accordion-item__icon{flex:none;width:20px;height:20px;position:relative}.service-accordion-item__icon:before,.service-accordion-item__icon:after{content:"";background:var(--color-primary);transition:transform .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.service-accordion-item__icon:before{width:14px;height:2px}.service-accordion-item__icon:after{width:2px;height:14px}.service-accordion-item.is-open .service-accordion-item__icon:after{transform:translate(-50%,-50%)rotate(90deg)scale(0)}.service-accordion-item__panel{padding:0 1.5rem 1.5rem}.service-accordion-item__panel p{max-width:68ch}.faq-card{aspect-ratio:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;flex-direction:column;width:100%;min-height:0;padding:2.25rem;transition:box-shadow .15s,transform .15s,border-radius .2s,padding .15s;display:flex;position:relative;overflow:hidden}.faq-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.faq-card__trigger{text-align:center;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:0;display:flex}.faq-card__trigger:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:3px}.faq-card__title{font-family:var(--font-display);color:var(--color-text);font-size:1.05rem;font-weight:700}.faq-card__answer{color:var(--color-text-muted);margin-top:.75rem;font-size:.85rem;font-weight:400;line-height:1.45;display:block}.faq-card__read-more{color:var(--color-primary-light);text-underline-offset:2px;margin-top:.75rem;font-size:.85rem;font-weight:600;text-decoration:underline;display:inline-block}.faq-card.is-expanded{aspect-ratio:auto;text-align:left;box-shadow:var(--shadow-soft);border-radius:22px 22px 22px 4px;grid-row:span 1;align-items:flex-start;padding:1.75rem}.faq-card.is-expanded .faq-card__trigger{text-align:left;flex:none;align-items:flex-start}.faq-card.is-expanded:after{content:"";background:var(--color-surface);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);clip-path:polygon(0 0,100% 0,0 100%);width:20px;height:20px;position:absolute;bottom:-10px;left:28px}.video-grid{grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:1.5rem;display:grid}@media (width<=700px){.video-grid{grid-template-columns:1fr}}.video-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.video-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.video-card h2,.video-card p{padding:0 1.5rem}.video-card h2{margin-top:1.25rem}.video-card p{padding-bottom:1.5rem}.video-card__frame{aspect-ratio:16/9;background:var(--color-bg-soft);width:100%;position:relative}.video-card__frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-card__placeholder{color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}.phase-list{gap:1.25rem;margin-top:2rem;display:grid}.phase-card{height:100%;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;flex-direction:column;padding:1.75rem;text-decoration:none;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;position:relative}.phase-card:hover{box-shadow:var(--shadow-soft);border-color:var(--color-primary-light);transform:translateY(-2px)}.phase-card p{flex:1}.phase-card__step{text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary-light);font-size:.78rem;font-weight:700}.phase-card__badge{background:var(--color-secondary);color:var(--color-on-primary);letter-spacing:.02em;box-shadow:var(--shadow-soft);border-radius:999px;padding:.35rem .9rem;font-size:.75rem;font-weight:700;position:absolute;top:-14px;right:20px;transform:rotate(3deg)}.phase-card__price{font-weight:700;font-family:var(--font-display);color:var(--color-primary-light);margin-top:.75rem;display:inline-block}.price-strikethrough{color:var(--color-text-muted);margin-right:.4em;font-weight:400;text-decoration:line-through}.photo-examples{border:1px solid var(--color-border);width:100%;max-width:420px;height:auto;box-shadow:var(--shadow-soft);border-radius:14px;display:block}.simulation-hero-photo{border:1px solid var(--color-border);width:100%;max-width:480px;height:auto;box-shadow:var(--shadow-soft);border-radius:16px;margin:1.5rem 0;display:block}.video-consult-example{border:1px solid var(--color-border);max-width:480px;box-shadow:var(--shadow-soft);border-radius:16px;margin:1.5rem 0;overflow:hidden}.intake-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;flex-direction:column;gap:1.5rem;max-width:640px;margin-top:1.5rem;padding:2rem;display:flex}.intake-form fieldset{border:none;flex-direction:column;gap:1rem;min-width:0;margin:0;padding:0;display:flex}.intake-form legend{font-family:var(--font-display);color:var(--color-primary-light);margin-bottom:.5rem;padding:0;font-size:1.1rem;font-weight:600}.form-field{flex-direction:column;gap:.4rem;min-width:0;font-size:.92rem;font-weight:600;display:flex}.form-field textarea,.form-field select,.form-field input{width:100%;min-width:0;max-width:100%;font:inherit;color:var(--color-text);border:1px solid var(--color-border);background:var(--color-bg-soft);border-radius:10px;padding:.65rem .75rem}.form-field input[type=file]{cursor:pointer;padding:.5rem}.form-field select{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.form-field input.form-field-invalid,.form-field select.form-field-invalid,.form-field textarea.form-field-invalid{border-color:var(--color-danger)}.form-field__error{color:var(--color-danger);font-size:.8rem;font-weight:400}.form-field textarea::placeholder,.form-field input::placeholder{color:var(--color-text-muted);opacity:1}.form-field textarea:focus,.form-field select:focus,.form-field input:focus{outline:2px solid var(--color-primary-light);outline-offset:1px}.customer-info-fields{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:1rem;max-width:420px;margin:1.75rem 0;padding:1.5rem;display:flex}.customer-info-fields legend{font-family:var(--font-display);color:var(--color-primary-light);margin-bottom:.25rem;padding:0;font-size:1.05rem;font-weight:600}.form-hint{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.payment-disclaimer{font-weight:600}.form-error{color:var(--color-danger)}.link-list{flex-direction:column;gap:1rem;padding:0;list-style:none;display:flex}.link-list li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:1.25rem 1.5rem}.link-list a{color:var(--color-primary-light);font-size:1.05rem;font-weight:700;text-decoration:none}@media (width<=800px){.hero{grid-template-columns:1fr}.hero__visual{order:-1;max-width:260px}}.page-intro-split{grid-template-columns:1.15fr .85fr;align-items:center;gap:2rem;display:grid}.page-intro-split__copy h1{margin-top:0}.page-intro-split__image{justify-self:center;width:100%;max-width:320px;height:auto}.page-contact__layout{align-items:flex-start;gap:2rem;margin-top:1.5rem;display:flex}.page-contact__layout .intake-form{flex:1;min-width:0;margin-top:0}@media (width<=800px){.page-intro-split{display:block}.page-intro-split__image{display:none}}.page-home{position:relative;overflow:hidden}.home-bg-image{z-index:0;pointer-events:none;width:55%;max-width:680px;height:auto;position:absolute;top:-2%;right:-12%}.page-home__content{z-index:1;position:relative}@media (width<=800px){.home-bg-image{display:none}}@media (forced-colors:active){.btn,.btn-primary,.btn-secondary,.site-cta,.tooth-chart__preset-btn,.mobile-bar__toggle{border:1px solid buttonborder}a{color:linktext}.tooth-chart__tooth.is-selected{color:highlighttext;background:highlight;border-color:highlight}.tooth-chart__tooth{border:1px solid buttonborder}.site-nav__link.is-active{color:highlighttext;background:highlight}.mobile-bar,.card-surface,.service-accordion-item,.strength-card,.value-list__item,.ba-slider__frame{border:1px solid canvastext}.service-accordion-item__icon:before,.service-accordion-item__icon:after{background:buttontext}:focus-visible{outline-offset:2px;outline:3px solid highlight}.home-bg-image,.page-intro-split__image{display:none}}.page-accessibility .page-lede{max-width:62ch;font-size:1.08rem}.page-accessibility .section{margin-top:2.5rem}.page-accessibility h2{font-size:1.35rem}.page-accessibility p{max-width:68ch}.a11y-statement__list{max-width:68ch;color:var(--color-text-muted);padding-left:1.25rem}.a11y-statement__list li{margin-bottom:.6rem}.a11y-statement__contact{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;max-width:68ch;margin:1rem 0;padding:1rem 1.25rem;list-style:none}.a11y-statement__contact li{color:var(--color-text-muted);margin-bottom:.4rem}.a11y-statement__contact li:last-child{margin-bottom:0}.a11y-statement__contact a{color:var(--color-primary-light);text-underline-offset:2px;font-weight:600;text-decoration:underline}.a11y-statement__meta{color:var(--color-text-muted);margin-top:1.5rem;font-size:.9rem}.page-confirmation{justify-content:center;padding-top:3rem;display:flex}.confirmation-card{text-align:center;width:100%;max-width:480px;padding:2.5rem 2rem}.confirmation-card__check{background:var(--color-primary);width:56px;height:56px;color:var(--color-on-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.25rem;font-size:1.6rem;font-weight:700;display:inline-flex}.confirmation-card h1{margin-bottom:.75rem}.confirmation-card p{max-width:none}.confirmation-card .btn{margin-top:1rem}:root[data-a11y-text="115"]{font-size:115%}:root[data-a11y-text="130"]{font-size:130%}:root[data-a11y-text="150"]{font-size:150%}:root[data-a11y-contrast=on]{--color-bg:#fff;--color-bg-soft:#fff;--color-surface:#fff;--color-border:#000;--color-text:#000;--color-text-muted:#1a1a1a;--color-primary:#2e2630;--color-primary-dark:#1c171e;--color-primary-light:#2e2630;--color-primary-soft:#e9e6ea;--color-on-primary:#fff;--color-secondary:#241e26;--color-secondary-dark:#141014;--color-secondary-light:#241e26;--color-invert-hover:#e9e6ea;--shadow-soft:0 0 0 2px #000;--shadow-lift:0 0 0 3px #000}:root[data-a11y-contrast=on] .card-surface,:root[data-a11y-contrast=on] .service-accordion-item,:root[data-a11y-contrast=on] .strength-card,:root[data-a11y-contrast=on] .value-list__item{border:2px solid #000}:root[data-a11y-contrast=on] .home-bg-image,:root[data-a11y-contrast=on] .page-intro-split__image{display:none}:root[data-a11y-links=on] a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}:root[data-a11y-links=on] a:hover,:root[data-a11y-links=on] a:focus-visible{background:var(--color-primary-soft)}:root[data-a11y-motion=reduced] *,:root[data-a11y-motion=reduced] :before,:root[data-a11y-motion=reduced] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}:root[data-a11y-motion=reduced] .reveal{opacity:1!important;transform:none!important}:root[data-a11y-font=readable]{--font-display:"Segoe UI", Tahoma, Verdana, Geneva, sans-serif;--font-body:"Segoe UI", Tahoma, Verdana, Geneva, sans-serif}:root[data-a11y-font=readable] body{letter-spacing:.012em;word-spacing:.06em;line-height:1.8}:root[data-a11y-font=readable] p,:root[data-a11y-font=readable] li{max-width:66ch}.a11y-widget{z-index:300;font-family:var(--font-body);flex-direction:column;align-items:flex-start;gap:.75rem;display:flex;position:fixed;bottom:20px;left:20px}.a11y-widget--hidden{display:none}.a11y-launcher{border:2px solid var(--color-primary-dark);background:var(--color-primary);width:52px;height:52px;color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-lift);border-radius:50%;place-items:center;transition:transform .15s,background .15s;display:grid;position:relative}.a11y-launcher svg{fill:currentColor;width:30px;height:30px}.a11y-launcher:hover{background:var(--color-primary-dark);transform:scale(1.06)}.a11y-launcher:focus-visible,.a11y-panel__close:focus-visible,.a11y-reset:focus-visible,.a11y-widget input:focus-visible+*{outline:3px solid var(--color-text);outline-offset:3px}.a11y-launcher__dot{background:var(--color-surface);border:2px solid var(--color-primary-dark);border-radius:50%;width:13px;height:13px;position:absolute;top:1px;right:1px}.a11y-panel{background:var(--color-surface);border:1px solid var(--color-border);width:300px;max-width:calc(100vw - 40px);max-height:calc(100vh - 120px);box-shadow:var(--shadow-lift);border-radius:16px;padding:1.1rem;overflow-y:auto}.a11y-panel__head{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.a11y-panel__title{font-family:var(--font-display);color:var(--color-text);margin:0;font-size:1.15rem;font-weight:600}.a11y-panel__close{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text);cursor:pointer;border-radius:8px;place-items:center;display:grid}.a11y-panel__close svg{width:17px;height:17px}.a11y-panel__close:hover{background:var(--color-bg-soft)}.a11y-group{border:none;margin:0 0 1.1rem;padding:0}.a11y-group__legend{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5rem;padding:0;font-size:.78rem;font-weight:700}.a11y-sizes{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.a11y-size{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .2rem;display:flex}.a11y-size input,.a11y-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.a11y-size__glyph{color:var(--color-text);font-weight:700;line-height:1}.a11y-size:first-child .a11y-size__glyph{font-size:.8rem}.a11y-size:nth-child(2) .a11y-size__glyph{font-size:.95rem}.a11y-size:nth-child(3) .a11y-size__glyph{font-size:1.15rem}.a11y-size:nth-child(4) .a11y-size__glyph{font-size:1.35rem}.a11y-size__label{color:var(--color-text-muted);text-align:center;font-size:.62rem}.a11y-size:hover{border-color:var(--color-primary-light)}.a11y-size.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);border-width:2px}.a11y-size.is-selected .a11y-size__label{color:var(--color-text);font-weight:600}.a11y-toggle{cursor:pointer;align-items:flex-start;gap:.65rem;padding:.5rem 0;display:flex}.a11y-toggle__switch{background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:999px;flex:none;width:40px;height:23px;margin-top:2px;transition:background .15s,border-color .15s;position:relative}.a11y-toggle__switch:after{content:"";background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;width:17px;height:17px;transition:transform .15s;position:absolute;top:2px;left:2px}.a11y-toggle input:checked+.a11y-toggle__switch{background:var(--color-primary);border-color:var(--color-primary-dark)}.a11y-toggle input:checked+.a11y-toggle__switch:after{border-color:var(--color-primary-dark);transform:translate(17px)}.a11y-toggle__text{flex-direction:column;display:flex}.a11y-toggle__label{color:var(--color-text);font-size:.9rem;font-weight:600}.a11y-toggle__hint{color:var(--color-text-muted);font-size:.75rem}.a11y-reset{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);cursor:pointer;border-radius:10px;padding:.55rem;font-family:inherit;font-size:.85rem;font-weight:600}.a11y-reset:hover:not(:disabled){background:var(--color-bg-soft);border-color:var(--color-primary-light)}.a11y-reset:disabled{opacity:.45;cursor:default}.a11y-panel__note{color:var(--color-text-muted);text-align:center;margin:.7rem 0 0;font-size:.72rem}@media (width<=900px){.a11y-widget{bottom:14px;left:14px}}@media (prefers-reduced-motion:reduce){.a11y-launcher,.a11y-toggle__switch,.a11y-toggle__switch:after{transition:none}}@media (forced-colors:active){.a11y-launcher{border:2px solid buttonborder}.a11y-launcher svg{fill:buttontext}.a11y-launcher__dot{background:highlight;border-color:buttonborder}.a11y-size{border:1px solid buttonborder}.a11y-size.is-selected{outline-offset:-3px;outline:3px solid highlight}.a11y-toggle__switch{border:1px solid buttonborder}.a11y-toggle input:checked+.a11y-toggle__switch{background:highlight;border-color:highlight}.a11y-toggle__switch:after{background:buttonface;border:1px solid buttonborder}.a11y-panel,.a11y-panel__close,.a11y-reset{border:1px solid buttonborder}.a11y-reset:disabled{color:graytext;opacity:1}}.site{min-height:100vh;display:flex}.skip-link{z-index:100;background:var(--color-primary);color:var(--color-on-primary);border-radius:10px;padding:.75rem 1.25rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100px;left:12px}.skip-link:focus{top:12px}.edit-mode-bar{z-index:200;align-items:center;gap:.75rem;display:flex;position:fixed;bottom:20px;right:20px}.edit-mode-bar.is-active{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lift);border-radius:999px;padding:.5rem .5rem .5rem 1rem}.edit-mode-bar__hint{color:var(--color-text-muted);white-space:nowrap;font-size:.85rem}.edit-mode-bar__hint a{color:var(--color-primary-light);font-weight:600;text-decoration:none}.edit-mode-bar__toggle{background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-soft);border:none;border-radius:999px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600}.edit-mode-bar__toggle:hover{background:var(--color-primary-dark)}.sidebar{width:var(--sidebar-width);background:var(--color-surface);box-shadow:var(--shadow-lift);z-index:30;clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px);flex-direction:column;padding:1.75rem 1.5rem;display:flex;position:fixed;top:20px;bottom:20px;left:20px;overflow-y:auto}.site-logo{font-family:var(--font-display);color:var(--color-text);margin-bottom:2.25rem;font-size:1.2rem;font-weight:600;text-decoration:none;display:block}.site-logo span{color:var(--color-primary-light)}.brand-logo-image{object-fit:contain;width:auto;max-width:100%;height:clamp(80px,9vw,160px);display:block}.mobile-bar .brand-logo-image{height:clamp(44px,10vw,60px)}.site-nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.site-nav__link{color:var(--color-text-muted);border-radius:10px;padding:.6rem .85rem;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.site-nav__link:hover{background:var(--color-bg-soft);color:var(--color-text)}.site-nav__link.is-active{background:var(--color-primary-soft);color:var(--color-primary-light);font-weight:700}.site-cta{text-align:center;background:var(--color-primary);color:var(--color-on-primary);border-radius:999px;margin-top:1.5rem;padding:.8rem 1rem;font-size:.88rem;font-weight:600;text-decoration:none}.site-cta:hover{background:var(--color-primary-dark)}.sidebar-social{border-top:1px solid var(--color-border);gap:.9rem;margin-top:1.5rem;padding-top:1.25rem;font-size:.8rem;display:flex}.sidebar-social a{color:var(--color-text-muted);text-decoration:none}.sidebar-social a:hover{color:var(--color-primary-light)}.site-content{min-width:0;margin-left:calc(var(--sidebar-width) + 40px);flex-direction:column;flex:1;min-height:100vh;display:flex}.site-main{flex:1;width:100%;max-width:1080px;padding:2.5rem 2rem 4rem}.site-footer{color:var(--color-text-muted);padding:1.5rem 2rem;font-size:.85rem}.site-footer p{margin:0 0 .35rem}.site-footer__links a{color:var(--color-primary-light);text-underline-offset:2px;font-weight:600;text-decoration:underline}.mobile-bar,.sidebar-scrim{display:none}@media (width<=900px){.site{display:block}.mobile-bar{background:var(--color-surface);box-shadow:var(--shadow-soft);z-index:40;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;position:sticky;top:0}.mobile-bar .site-logo{margin:0}.mobile-bar__toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:4px;padding:.4rem;display:flex}.mobile-bar__toggle span{background:var(--color-text);border-radius:2px;width:22px;height:2px}.sidebar{clip-path:none;border-radius:0 20px 20px 0;width:78%;max-width:300px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-scrim{z-index:20;background:#0009;display:block;position:fixed;inset:0}.site-content{margin-left:0}.site-main{padding:1.75rem 1.25rem 3rem}}.reveal{opacity:0;height:100%;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(28px)scale(.98)}.reveal--visible{opacity:1;transform:translateY(0)scale(1)}@media (prefers-reduced-motion:reduce){.reveal{transition:none}}.formatting-toolbar{gap:.35rem;margin-bottom:.35rem;display:flex}.formatting-toolbar__btn{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary-light);cursor:pointer;border-radius:6px;padding:.25rem .55rem;font-size:.75rem;font-weight:700}.formatting-toolbar__btn:hover{border-color:var(--color-primary-light)}.editable-region{outline-offset:3px;border-radius:4px;position:relative}.editable-region:hover{outline:2px dashed var(--color-primary)}.editable-region__pencil{background:var(--color-primary);width:26px;height:26px;color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-soft);z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;line-height:1;display:none;position:absolute;top:-12px;right:-12px}.editable-region:hover .editable-region__pencil,.editable-region__pencil:focus-visible{display:flex}.editable-region__pencil:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.editable-overlay-backdrop{z-index:998;position:fixed;inset:0}.editable-popover{z-index:999;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lift);border-radius:14px;flex-direction:column;gap:.75rem;padding:1rem;display:flex;position:fixed}.editable-popover input,.editable-popover textarea{width:100%;font:inherit;color:var(--color-text);border:1px solid var(--color-border);background:var(--color-bg-soft);border-radius:8px;padding:.6rem .75rem}.editable-popover__actions{justify-content:flex-end;gap:.5rem;display:flex}.formatted-text>:first-child{margin-top:0}.formatted-text>:last-child{margin-bottom:0}.formatted-text__heading{font-family:var(--font-display);color:var(--color-primary-light);margin:1.5rem 0 .5rem;font-size:1.05rem;font-weight:600}.formatted-text__list{color:var(--color-text-muted);margin:0 0 1em;padding-left:1.25rem}.formatted-text__list li{margin-bottom:.35rem}.ba-slider{flex-direction:column;gap:.6rem;display:flex}.ba-slider__frame{aspect-ratio:4/3;border:1px solid var(--color-border);background:var(--color-bg-soft);border-radius:18px;width:100%;position:relative;overflow:hidden}.ba-slider__frame--vertical{cursor:ns-resize;touch-action:none}.ba-slider__frame:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:2px}.ba-slider__image{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.ba-slider__after-wrap{position:absolute;inset:0}.ba-slider__handle--vertical{pointer-events:none;height:0;position:absolute;left:0;right:0;transform:translateY(-50%)}.ba-slider__handle--vertical:before{content:"";background:#fff;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);box-shadow:0 0 0 1px #00000014}.ba-slider__handle-grip{width:40px;height:40px;box-shadow:var(--shadow-soft);color:var(--color-primary-dark);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ba-slider__tag{color:#fff;letter-spacing:.03em;text-transform:uppercase;pointer-events:none;background:#1e182899;border-radius:999px;padding:.3rem .7rem;font-size:.72rem;font-weight:600;position:absolute;left:10px}.ba-slider__tag--after-top{top:10px}.ba-slider__tag--before-bottom{bottom:10px}.ba-slider__caption{color:var(--color-text-muted);white-space:pre-line;margin:0;font-size:.9rem}.ba-slider--missing{aspect-ratio:4/3;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;display:flex}.ba-slider--missing code{background:var(--color-bg-soft);border-radius:6px;padding:.1rem .4rem;font-size:.85rem}.tooth-chart{background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:14px;min-width:0;padding:1.25rem}.tooth-chart__molar-toggle{color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;margin-bottom:.9rem;font-size:.8rem;font-weight:600;display:flex}.tooth-chart__molar-toggle input[type=checkbox]{border:1px solid var(--color-border);background:var(--color-surface);width:16px;max-width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;border-radius:4px;flex:none;margin:0;padding:0}.tooth-chart__arch{-webkit-overflow-scrolling:touch;justify-content:center;min-height:56px;padding-left:4px;padding-right:4px;display:flex;overflow:auto hidden}.tooth-chart__arch--upper{border-bottom:2px solid var(--color-border);align-items:flex-start;padding-bottom:.6rem}.tooth-chart__arch--lower{border-top:2px solid var(--color-border);align-items:flex-end;padding-top:.6rem}.tooth-chart__midline{height:.6rem}.tooth-chart__tooth{appearance:none;z-index:0;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;flex:none;justify-content:center;align-items:center;margin-left:-1px;padding:0;font-size:.68rem;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:flex;position:relative}.tooth-chart__tooth:first-child{margin-left:0}.tooth-chart__tooth:hover,.tooth-chart__tooth.is-selected{z-index:1}.tooth-chart__tooth:hover{border-color:var(--color-primary-light)}.tooth-chart__tooth:focus-visible{z-index:2;outline:2px solid var(--color-primary-light);outline-offset:2px}.tooth-chart__tooth.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.tooth-chart__tooth-number{z-index:1;position:relative}.tooth-chart__tooth--incisor.tooth-chart__tooth--upper{border-radius:8px 8px 3px 3px}.tooth-chart__tooth--incisor.tooth-chart__tooth--lower{border-radius:3px 3px 8px 8px}.tooth-chart__tooth--premolar.tooth-chart__tooth--upper{border-radius:45% 45% 20% 20%}.tooth-chart__tooth--premolar.tooth-chart__tooth--lower{border-radius:20% 20% 45% 45%}.tooth-chart__tooth--molar.tooth-chart__tooth--upper{border-radius:25% 25% 10% 10%}.tooth-chart__tooth--molar.tooth-chart__tooth--lower{border-radius:10% 10% 25% 25%}.tooth-chart__tooth--canine.tooth-chart__tooth--upper{border-radius:50%/70% 70% 15% 15%}.tooth-chart__tooth--canine.tooth-chart__tooth--lower{border-radius:50%/15% 15% 70% 70%}.tooth-chart__presets{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}.tooth-chart__preset-btn{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary-light);cursor:pointer;border-radius:999px;padding:.4rem .85rem;font-size:.8rem;font-weight:600;transition:border-color .15s}.tooth-chart__preset-btn:hover{border-color:var(--color-primary-light)}.tooth-chart__preset-btn--clear{color:var(--color-text-muted)}.tooth-chart__summary{text-align:center;color:var(--color-text);margin:.9rem 0 0;font-size:.85rem;font-weight:600}.admin-shell{background:var(--color-bg-soft);min-height:100vh;color:var(--color-text);font-family:var(--font-body);display:flex}.admin-shell--loading{color:var(--color-text-muted);justify-content:center;align-items:center}.admin-login{background:var(--color-bg-soft);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login__form{background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:360px;box-shadow:var(--shadow-soft);border-radius:20px;flex-direction:column;gap:1.25rem;padding:2.5rem;display:flex}.admin-login__form h1{margin:0;font-size:1.5rem}.admin-back-link{color:var(--color-text-muted);font-size:.9rem;font-weight:600;text-decoration:none;position:fixed;bottom:20px;left:20px}.admin-back-link:hover{color:var(--color-primary)}.admin-nav{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:.25rem;width:260px;padding:1.75rem 1.25rem;display:flex}.admin-nav__brand{font-family:var(--font-display);margin-bottom:1.5rem;font-size:1.1rem;font-weight:600}.admin-nav nav{flex-direction:column;flex:1;gap:.2rem;display:flex}.admin-nav__link{text-align:left;font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.6rem .75rem;font-size:.92rem}.admin-nav__link:hover{background:var(--color-bg-soft);color:var(--color-text)}.admin-nav__link.is-active{background:var(--color-primary-soft);color:var(--color-primary-light);font-weight:700}.admin-nav__view-site{color:var(--color-text-muted);margin-top:1.5rem;font-size:.85rem;text-decoration:none}.admin-nav__view-site:hover{color:var(--color-text)}.admin-nav__logout{border:1px solid var(--color-border);font:inherit;cursor:pointer;color:var(--color-text-muted);background:0 0;border-radius:10px;margin-top:.75rem;padding:.6rem .75rem;font-size:.85rem}.admin-nav__logout:hover{border-color:var(--color-danger);color:var(--color-danger)}.admin-main{flex:1;max-width:760px;padding:2.5rem 3rem}.admin-section{flex-direction:column;gap:1.25rem;display:flex}.admin-section__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-section__header h2{margin:0}.admin-section__actions{align-items:center;gap:.75rem;display:flex}.admin-save-status{font-size:.85rem;font-weight:600}.admin-save-status--ok{color:var(--color-primary-light)}.admin-save-status--error{color:var(--color-danger)}.admin-subheading{border-top:1px solid var(--color-border);margin:1rem 0 0;padding-top:1rem}.form-field--checkbox{flex-direction:row;align-items:center;gap:.6rem}.form-field--checkbox input{width:auto}.admin-list{flex-direction:column;gap:1rem;display:flex}.admin-list__row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.admin-list__fields{flex-direction:column;flex:1;gap:.75rem;display:flex}.admin-list__remove{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:.4rem .7rem;font-size:.8rem}.admin-list__remove:hover{border-color:var(--color-danger);color:var(--color-danger)}.admin-list__add{align-self:flex-start}.admin-order__row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-order__date{color:var(--color-text-muted);font-size:.85rem}.admin-order__status{text-transform:uppercase;letter-spacing:.03em;background:var(--color-bg-soft);color:var(--color-text-muted);border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.admin-order__status--paid{background:var(--color-primary-soft);color:var(--color-primary-light)}.admin-order__status--done{color:#1a6b34;background:#dff3e3}.admin-order__customer{color:var(--color-text-muted);flex-wrap:wrap;gap:.5rem 1rem;font-size:.9rem;display:flex}.admin-order__new{text-transform:uppercase;letter-spacing:.03em;background:var(--color-danger);color:#fff;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.admin-order__actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-order__toggle--danger:hover{border-color:var(--color-danger);color:var(--color-danger)}.admin-order__toggle{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);background:0 0;border-radius:8px;align-self:flex-start;padding:.35rem .7rem;font-size:.82rem}.admin-order__toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.admin-order__details{border-top:1px solid var(--color-border);flex-direction:column;gap:1rem;padding-top:.5rem;display:flex}.admin-order__answers{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:0;display:grid}.admin-order__answers dt{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.admin-order__answers dd{margin:.15rem 0 0;font-weight:600}.admin-order__photos{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.6rem;display:grid}.admin-order__photos img{aspect-ratio:1;object-fit:cover;border:1px solid var(--color-border);border-radius:8px;width:100%}.admin-gallery-item__images{flex-wrap:wrap;gap:1rem;display:flex}.admin-image-field{flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.admin-image-field__preview{object-fit:cover;border:1px solid var(--color-border);border-radius:8px;width:140px;height:100px}.admin-image-field__placeholder{border:1px dashed var(--color-border);width:140px;height:100px;color:var(--color-text-muted);border-radius:8px;justify-content:center;align-items:center;font-size:.8rem;font-weight:400;display:flex}.admin-image-field input[type=file]{max-width:140px;font-size:.78rem}.admin-gallery-item__actions{gap:.5rem;display:flex}.admin-theme-grid{gap:1.25rem;display:grid}.admin-color-field{flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.admin-color-field__row{align-items:center;gap:.75rem;display:flex}.admin-contrast{font-size:.78rem;font-weight:500;line-height:1.4}.admin-contrast--pass{color:#1a6b34}.admin-contrast--fail{color:#a3121f;font-weight:600}.admin-contrast-alert{color:#7d0e18;background:#fdeaec;border:2px solid #a3121f;border-radius:10px;margin:0 0 1rem;padding:.7rem .9rem;font-size:.88rem;font-weight:600}.admin-color-field__row input[type=color]{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;width:44px;height:36px;padding:0}.admin-color-field__row input[type=text]{font:inherit;color:var(--color-text);border:1px solid var(--color-border);background:var(--color-bg-soft);border-radius:8px;width:140px;padding:.5rem .75rem}@media (width<=800px){.admin-shell{flex-direction:column}.admin-nav{border-right:none;border-bottom:1px solid var(--color-border);width:auto}.admin-main{padding:1.75rem 1.25rem}}
