:root{--font-heading: "amandine", serif;--font-body: "rubik", sans-serif;--font-weight-regular: 400;--font-weight-bold: 700;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-size-4xl: 3.25rem;--font-size-5xl: 4rem;--font-size-display: clamp(var(--font-size-3xl), 5.2vw, var(--font-size-5xl));--font-size-page-title: clamp(2.25rem, 4.8vw, var(--font-size-4xl));--font-size-section-title: clamp(var(--font-size-2xl), 3.6vw, var(--font-size-3xl));--line-height-heading: 1.12;--line-height-tight: 1.35;--line-height-body: 1.6;--line-height-reading: 1.75;--letter-spacing-heading: -.035em;--letter-spacing-body: 0;--letter-spacing-eyebrow: .08em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-control: .5rem;--radius-card: .75rem;--radius-pill: 999px;--shadow-none: none;--shadow-raised: 0 4px 16px rgb(30 20 25 / 8%);--shadow-overlay: 0 12px 40px rgb(30 20 25 / 14%);--logo-wordmark-width: 17.5rem;--logo-wordmark-height: 4.375rem;--layout-content-max: 74rem;--layout-reading-max: 48rem;--layout-form-max: 42rem;--layout-gutter: var(--space-10);--control-height: 3rem;--touch-target-min: 2.75rem;--focus-width: 3px;--focus-offset: 4px;--border-width: 1px;--border-width-strong: 2px;--duration-fast: .15s;--duration-normal: .22s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--color-success-bg: #E7F1EB;--color-success-text: #28513E;--color-warning-bg: #FFF1D6;--color-warning-text: #72500C;--color-error-bg: #F8E6E6;--color-error-text: #852D2D;--color-info-bg: #EAF2FA;--color-info-text: #254C70;--color-disabled-bg: #E7E3E5;--color-disabled-text: #70646B}:root,[data-brand]{--color-primary: var(--brand-action);--color-on-primary: var(--brand-on-action);--color-primary-hover: var(--brand-action-hover);--color-primary-active: var(--brand-action-active);--color-secondary: var(--brand-secondary);--color-accent: var(--brand-accent);--color-background: var(--brand-background);--color-surface: var(--brand-surface);--color-surface-soft: var(--brand-surface-soft);--color-surface-tint: var(--brand-surface-tint);--color-surface-accent: var(--brand-surface-accent);--color-text: var(--brand-text);--color-text-secondary: var(--brand-text-secondary);--color-text-on-accent-secondary: var(--brand-text-on-accent-secondary);--color-border-subtle: var(--brand-border-subtle);--color-control-border: var(--brand-control-border);--color-focus: var(--brand-focus);--color-selection-bg: var(--brand-selection-bg);--color-selection-text: var(--brand-selection-text);--color-selection-border: var(--brand-selection-border);--color-hover-surface: var(--brand-surface-soft);--color-active-surface: var(--brand-selection-bg)}:root,[data-brand=natmedica]{--brand-primary: #4A4948;--brand-secondary: #706F6F;--brand-accent: #FBE8F3;--brand-action: #4A4948;--brand-action-hover: #343332;--brand-action-active: #262525;--brand-on-action: #FFFFFF;--brand-background: #FFFFFF;--brand-surface: #F4F4F4;--brand-surface-soft: #F9F7F8;--brand-surface-tint: #FFF9FC;--brand-surface-accent: #FBE8F3;--brand-text: #4A4948;--brand-text-secondary: #706F6F;--brand-text-on-accent-secondary: #63545D;--brand-border-subtle: #E4DCE0;--brand-control-border: #8E7B85;--brand-focus: #8A3F65;--brand-selection-bg: #FBE8F3;--brand-selection-text: #4A4948;--brand-selection-border: #8A3F65}[data-brand=dranatzu]{--brand-primary: #7775B4;--brand-secondary: #B9BCDF;--brand-accent: #B9BCDF;--brand-action: #4C477A;--brand-action-hover: #38335D;--brand-action-active: #292641;--brand-on-action: #FFFFFF;--brand-background: #FFFFFF;--brand-surface: #F5F4FB;--brand-surface-soft: #F5F4FB;--brand-surface-tint: #F5F4FB;--brand-surface-accent: #B9BCDF;--brand-text: #4C477A;--brand-text-secondary: #4C477A;--brand-text-on-accent-secondary: #4C477A;--brand-border-subtle: #C9C6DE;--brand-control-border: #7775B4;--brand-focus: #4C477A;--brand-selection-bg: #B9BCDF;--brand-selection-text: #4C477A;--brand-selection-border: #4C477A}[data-brand=mainichi]{--brand-primary: #432875;--brand-secondary: #E882B3;--brand-accent: #FFE239;--brand-action: #432875;--brand-action-hover: #301C55;--brand-action-active: #24153F;--brand-on-action: #FFFFFF;--brand-background: #FFFFFF;--brand-surface: #FFF9FC;--brand-surface-soft: #FFF9FC;--brand-surface-tint: #FFF9FC;--brand-surface-accent: #FFE239;--brand-text: #432875;--brand-text-secondary: #432875;--brand-text-on-accent-secondary: #432875;--brand-border-subtle: #E6D7F0;--brand-control-border: #A284CE;--brand-focus: #432875;--brand-selection-bg: #B2ADEF;--brand-selection-text: #432875;--brand-selection-border: #432875}*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;color:var(--color-text);background:var(--color-background);font:var(--font-weight-regular) var(--font-size-base)/var(--line-height-body) var(--font-body);font-synthesis:none}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:var(--space-4);z-index:20}.skip:focus{top:var(--space-2);padding:var(--space-4);color:var(--color-text);background:var(--color-background)}main{min-height:50vh}h1,h2,h3{margin:0;font-family:var(--font-heading);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-heading);line-height:var(--line-height-heading)}h1{margin:var(--space-5) 0;font-size:var(--font-size-display)}h2{margin-bottom:var(--space-6);font-size:var(--font-size-section-title)}h3{margin:var(--space-3) 0;font-size:var(--font-size-xl)}h1 em,h2 em{font-style:normal}p{margin:var(--space-4) 0;line-height:var(--line-height-reading);color:var(--color-text-secondary)}strong,b,th{font-weight:var(--font-weight-bold)}.container{max-width:calc(var(--layout-content-max) + 2 * var(--layout-gutter));padding:var(--space-12) var(--space-10);margin-inline:auto}.narrow{max-width:calc(var(--layout-reading-max) + 2 * var(--layout-gutter))}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);min-height:var(--control-height);padding:var(--space-3) var(--space-6);border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-card);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}button:hover:not(:disabled),.button:hover{color:var(--color-on-primary);background:var(--color-primary-hover);text-decoration:none}button:disabled{cursor:not-allowed;color:var(--color-disabled-text);background:var(--color-disabled-bg);border-color:var(--color-disabled-bg)}.button.light,.button-secondary{color:var(--color-text);background:var(--color-background);border-color:var(--color-control-border)}.button.light:hover,.button-secondary:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-soft)}.small{padding:10px var(--space-4);font-size:var(--font-size-sm)}.site-header{max-width:calc(var(--layout-content-max) + 2 * var(--layout-gutter));min-height:100px;margin:auto;padding:var(--space-4) var(--space-10);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);border-bottom:var(--border-width) solid var(--color-border-subtle)}.brand{display:block;flex-shrink:0}.brand-logo{display:inline-flex;align-items:center;justify-content:center;width:108px;height:108px;vertical-align:middle}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}.brand-logo--wordmark{display:block;width:var(--logo-wordmark-width);height:var(--logo-wordmark-height);max-width:100%}.brand-logo--wordmark img{position:static;width:100%;height:100%;object-fit:contain}nav{display:flex;align-items:center;gap:var(--space-8);font-size:var(--font-size-sm)}.eyebrow{display:block;margin-bottom:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-eyebrow);text-transform:uppercase}.hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:var(--space-16);padding-block:var(--space-16)}.hero>div:first-child>p{max-width:410px;margin:var(--space-6) 0 var(--space-8)}.highlight{box-shadow:inset 0 -.3em 0 var(--color-surface-accent)}.hero-note{margin-top:var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.hero-signature{min-height:360px;padding:var(--space-8);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--color-surface-accent);border-radius:50% 50% var(--radius-card) var(--radius-card)}.hero-signature .brand-logo{width:210px;height:210px}.hero-signature .brand-logo img{border-radius:50%}.hero-signature p{margin:var(--space-5) 0 0;color:var(--color-text);font:var(--font-weight-regular) var(--font-size-xl)/var(--line-height-tight) var(--font-heading);letter-spacing:var(--letter-spacing-heading)}.trust{border-block:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-soft)}.trust .container{padding-block:var(--space-5);display:flex;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.grid,.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-top:var(--space-6)}.card{padding:var(--space-8);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-card);background:var(--color-background)}.card p{max-width:440px}.service-card .eyebrow{margin-bottom:var(--space-6)}.text-link{display:inline-flex;align-items:center;gap:var(--space-6);min-height:var(--touch-target-min);margin-top:var(--space-4);padding-bottom:var(--space-1);border-bottom:var(--border-width) solid var(--color-text);font-size:var(--font-size-sm)}.training{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);margin-top:var(--space-8);padding:var(--space-8);background:var(--color-surface-accent);border-radius:var(--radius-card)}.training h2{margin-bottom:0}.training h3{font:var(--font-weight-regular) var(--font-size-lg)/var(--line-height-body) var(--font-body);letter-spacing:0}.training p{font-size:var(--font-size-sm)}.pill{display:inline-block;max-width:100%;padding:5px var(--space-3);border:var(--border-width) solid var(--color-control-border);border-radius:var(--radius-pill);font-size:var(--font-size-xs);line-height:1.6}.status{font-size:var(--font-size-xs)}.brands-section{padding-top:0}.brand-card{display:flex;align-items:center;gap:var(--space-6);min-width:0;padding:var(--space-6);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text)}.brand-card:hover{text-decoration:none;border-color:var(--color-focus)}.brand-card>div{min-width:0;flex:1}.brand-card h3{font:var(--font-weight-regular) var(--font-size-lg)/var(--line-height-tight) var(--font-body);letter-spacing:0}.brand-card p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.brand-card .brand-logo{flex-shrink:0}.site-footer{padding:var(--space-8) max(var(--space-6),calc((100vw - var(--layout-content-max))/2));display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-4);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-soft)}.site-footer p{font-size:var(--font-size-sm)}.site-footer>div{display:flex;flex-wrap:wrap;gap:var(--space-6);font-size:var(--font-size-xs)}.site-footer small{color:var(--color-text-secondary);text-align:right;font-size:var(--font-size-xs)}.intro{max-width:var(--layout-form-max);margin-bottom:var(--space-8)}.intro h1{font-size:var(--font-size-page-title)}.booking-intro{padding-block:var(--space-8) var(--space-8);border-bottom:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-tint)}.booking-intro .container{padding-block:0}.booking-intro .intro{max-width:none;margin:0}.booking-steps{display:flex;flex-wrap:wrap;gap:var(--space-6);padding:0;margin:var(--space-6) 0 0;list-style:none;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.booking-steps [aria-current=step]{color:var(--color-text);font-weight:var(--font-weight-bold)}.form-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:var(--space-8)}.form-grid>*{min-width:0}label,legend{display:block;font-size:var(--font-size-sm);margin:var(--space-5) 0 var(--space-2)}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0;margin-top:0}input,select{display:block;width:100%;min-height:var(--control-height);padding:var(--space-3);border:var(--border-width) solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-background);color:var(--color-text);font-size:var(--font-size-base)}input[type=checkbox]{display:inline-block;width:var(--space-5);height:var(--space-5);min-height:0;margin:0 var(--space-2) 0 0;vertical-align:middle;accent-color:var(--color-focus)}label a,.legal a{text-decoration:underline;text-underline-offset:3px}input[aria-invalid=true]{border-color:var(--color-error-text)}.notice{padding:var(--space-5) var(--space-6);margin:var(--space-6) 0;background:var(--color-surface-soft);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-card);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-reading)}.error,[role=alert]{color:var(--color-error-text)}[role=alert]:not(:empty){padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--color-error-bg)}#availability{margin:var(--space-6) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.mode-options button{padding:14px 10px;color:var(--color-text);background:var(--color-background);border-color:var(--color-control-border)}.mode-options button[aria-pressed=true],.mode-options button:hover{background:var(--color-surface-accent);border-color:var(--color-focus);color:var(--color-text)}.calendar{padding:var(--space-6);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-card)}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.calendar-header h2{margin:0;font:var(--font-weight-bold) var(--font-size-base)/var(--line-height-tight) var(--font-body);letter-spacing:0}.calendar-nav{display:flex;gap:var(--space-2)}.calendar-nav button{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:6px;border-radius:var(--radius-control)}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-1);text-align:center}.calendar-week abbr{padding:var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-size-xs);text-decoration:none}.calendar-days button{padding:6px 0;min-width:0;min-height:var(--touch-target-min);border-radius:var(--radius-control);border-color:var(--color-control-border);background:var(--color-surface-tint);color:var(--color-text);font-size:var(--font-size-sm)}.calendar-days button:hover:not(:disabled){background:var(--color-surface-accent);color:var(--color-text);border-color:var(--color-focus)}.calendar-days button:disabled{background:var(--color-background);border-color:transparent;color:var(--color-disabled-text)}.calendar-days button[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.calendar-zone{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:var(--space-3) 0 0}#day-label{margin:var(--space-6) 0 var(--space-3);font:var(--font-weight-bold) var(--font-size-base)/var(--line-height-body) var(--font-body);letter-spacing:0}.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:var(--space-3) 0 var(--space-6)}.slot{color:var(--color-text);background:var(--color-background);border-color:var(--color-control-border);border-radius:var(--radius-control);padding:10px;gap:var(--space-1);font-size:var(--font-size-sm)}.slot[aria-pressed=true],.slot:hover{background:var(--color-surface-accent);border-color:var(--color-focus);color:var(--color-text)}.booking-summary{background:var(--color-surface-soft)}.booking-summary dl{margin:var(--space-6) 0}.booking-summary dt{margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.booking-summary dd{margin:3px 0 0;font-size:var(--font-size-base);overflow-wrap:anywhere}.booking-summary .summary-price{font-size:var(--font-size-xl)}.summary-note{margin-top:var(--space-6);padding-top:var(--space-4);border-top:var(--border-width) solid var(--color-border-subtle);font-size:var(--font-size-sm)}.step{padding-bottom:var(--space-4);margin:var(--space-8) 0 var(--space-6);border-bottom:var(--border-width) solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-eyebrow);text-transform:uppercase}form button[type=submit]{margin-top:var(--space-5)}.checkout-note{font-size:var(--font-size-xs)}.adminbar{margin-bottom:var(--space-6);display:flex;justify-content:space-between;align-items:center;gap:var(--space-6)}.adminbar h2{margin-bottom:0}.table-wrap{overflow-x:auto;border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-card);margin:var(--space-6) 0 var(--space-8)}table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}th,td{text-align:left;padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border-subtle);vertical-align:top}th{background:var(--color-surface-soft);font-size:var(--font-size-sm)}tbody tr:last-child td{border-bottom:0}td small{display:block;font-size:var(--font-size-xs);overflow-wrap:anywhere}.status-badge{display:inline-block;padding:5px 10px;border-radius:var(--radius-pill);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-surface)}.status-badge[data-state=confirmed]{color:var(--color-success-text);background:var(--color-success-bg)}.status-badge[data-state=held]{color:var(--color-warning-text);background:var(--color-warning-bg)}.status-badge[data-state=review]{color:var(--color-error-text);background:var(--color-error-bg)}.settings{margin-block:var(--space-6)}.stack{display:flex;flex-wrap:wrap;gap:var(--space-4)}.stack>*{flex:1;min-width:min(220px,100%)}.legal h2{margin-top:var(--space-8);font-size:var(--font-size-2xl)}.legal p{overflow-wrap:anywhere}.mobile-break{display:none}.button-tertiary{color:var(--color-primary);background:transparent;border-color:transparent}.button-tertiary:hover{color:var(--color-primary);background:var(--color-surface-soft)}button:active:not(:disabled),.button:active{background:var(--color-primary-active);color:var(--color-on-primary)}.button[aria-disabled=true],button:disabled{pointer-events:none;color:var(--color-disabled-text);background:var(--color-disabled-bg);border-color:var(--color-disabled-bg)}.training{--color-text-secondary: var(--color-text-on-accent-secondary)}.mode-options button[aria-pressed=true],.mode-options button:hover,.slot[aria-pressed=true],.slot:hover{background:var(--color-selection-bg);color:var(--color-selection-text);border-color:var(--color-selection-border)}.field-hint{font-size:var(--font-size-sm);margin-block:var(--space-2)}.alert{padding:var(--space-4);border-radius:var(--radius-control);font-size:var(--font-size-sm)}.alert:empty{display:none}.alert--info{background:var(--color-info-bg);color:var(--color-info-text)}.alert--success{background:var(--color-success-bg);color:var(--color-success-text)}.alert--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.alert--error{background:var(--color-error-bg);color:var(--color-error-text)}.card--raised{box-shadow:var(--shadow-raised)}.product-card{display:grid;gap:var(--space-4)}.product-card img{max-width:100%;height:auto;object-fit:contain}@media(max-width:900px){.container{padding:var(--space-10) var(--space-6)}.site-header{padding-inline:var(--space-6)}nav{gap:var(--space-4)}nav>a:not(.button){display:none}.hero{gap:var(--space-8)}.hero-signature{min-height:310px;padding:var(--space-6)}.hero-signature .brand-logo{width:165px;height:165px}.hero-signature p{font-size:var(--font-size-xl)}.training{gap:var(--space-6);padding:var(--space-6)}.brand-card{padding:var(--space-5);gap:var(--space-4)}.brand-card .brand-logo{width:80px;height:80px}.form-grid{gap:var(--space-6)}.calendar{padding:var(--space-4)}.slots{grid-template-columns:1fr 1fr}}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.booking-summary{margin-top:0}.brand-grid,.site-footer{grid-template-columns:1fr}.site-footer small{text-align:left}}@media(max-width:600px){.site-header{flex-wrap:wrap;justify-content:center;padding-block:var(--space-4);gap:var(--space-3)}nav{width:100%;justify-content:center}.hero,.grid,.training{grid-template-columns:1fr}.hero{padding-top:var(--space-8)}.hero-signature{min-height:260px;border-radius:var(--radius-card)}.hero-signature .brand-logo{width:155px;height:155px}h1{font-size:var(--font-size-3xl)}.container{padding-inline:var(--space-5)}.card{padding:var(--space-6)}.booking-steps{gap:var(--space-4);font-size:var(--font-size-xs)}.booking-intro{padding-block:var(--space-8)}.calendar-header{gap:var(--space-2)}.calendar-header h2{font-size:var(--font-size-sm)}.calendar{padding:var(--space-3)}.calendar-days button{min-height:var(--touch-target-min)}.adminbar{flex-wrap:wrap}.mobile-break{display:block}}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms}html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
