.brand{display:flex;align-items:center;max-width:240px;min-width:0}.text-brand{text-transform:uppercase;letter-spacing:.035em}.brand-images{display:flex;align-items:center;max-width:100%;height:52px}.brand img{display:block;max-width:220px;max-height:48px;width:auto;height:auto;object-fit:contain}.brand .compact-logo{display:none}.footer-logo{display:block;max-width:220px;max-height:68px;width:auto;height:auto;object-fit:contain;margin:0 auto 10px}.appearance-form{display:grid;gap:24px}.appearance-form fieldset{margin:0;padding:28px;background:var(--surface);border:1px solid var(--line)}.appearance-form legend{font:1.55rem Georgia,serif;color:var(--emerald);padding:0 10px}.appearance-form label{display:block;font-weight:650;margin-bottom:18px}.appearance-form input{display:block;width:100%;padding:11px 12px;border:1px solid var(--gold);background:var(--surface);color:var(--charcoal);font:inherit;margin-top:6px}.branding-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.branding-preview{min-height:150px;display:grid;place-items:center;gap:10px;padding:18px;background:var(--ivory);border:1px solid var(--line);margin-bottom:18px}.branding-preview img{max-width:260px;max-height:110px;object-fit:contain}.branding-preview span,.branding-fallback{color:var(--muted);font-size:.9rem}.branding-fallback{display:grid;place-items:center;min-height:100px;padding:18px;border:1px dashed var(--gold);margin-bottom:18px}.appearance-form .inline-check{display:flex;align-items:center;gap:8px}.appearance-form .inline-check input{display:inline-block;width:auto;margin:0;accent-color:var(--emerald)}.locked-badge{display:inline-block;padding:7px 12px;background:var(--deep-emerald);color:var(--ivory);letter-spacing:.1em;font-size:.75rem}.color-tokens{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.color-token{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line)}.color-token>span{width:40px;height:40px;border:1px solid rgba(38,41,35,.2)}.color-token code{color:var(--muted)}.type-directions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.type-directions>div{padding:18px;border:1px solid var(--line)}.type-directions strong,.type-directions span{display:block}.type-directions span{color:var(--muted);margin-top:8px}.type-display,.type-reader{font-family:Georgia,serif}.type-display{font-size:1.25rem;color:var(--emerald)}.type-reader{font-size:1.08rem}
@media(max-width:900px){.brand{max-width:180px}.brand img{max-width:160px}.type-directions{grid-template-columns:1fr}.color-tokens{grid-template-columns:1fr}}
@media(max-width:700px){.branding-grid{grid-template-columns:1fr}.brand-images{height:42px}.brand img{max-height:38px}.brand .compact-logo{display:block}.brand .compact-logo~.main-logo{display:none}}
@media(max-width:520px){.appearance-form fieldset{padding:18px}.brand{max-width:150px}.brand img{max-width:120px}.color-token{grid-template-columns:36px 1fr}.color-token code{grid-column:2}.footer-logo{max-width:180px}}
.text-brand{color:var(--emerald)!important;font-style:normal!important}
@media(max-width:700px){.brand-images:has(.compact-logo) .main-logo{display:none}}

/* Shared public brand: compact mark plus readable site name. */
.public-header{height:68px}
.public-header .brand{flex:0 1 auto;max-width:310px;margin:0}
.public-header .brand-default{display:flex;min-width:0;align-items:center;gap:11px;color:var(--emerald);font-style:normal}
.public-header .homepage-header-logo{display:grid;width:56px;height:56px;flex:0 0 56px;place-items:center;overflow:hidden}
.public-header .homepage-header-logo img{width:100%;height:100%;object-fit:contain}
.public-header .public-brand-name{min-width:0;color:var(--deep-emerald)!important;font:700 1.12rem/1.15 Georgia,"Noto Serif Thai",serif!important;letter-spacing:.015em;white-space:nowrap}
@media(max-width:900px){.public-header .brand{max-width:240px}.public-header .public-brand-name{font-size:.96rem!important}.public-header nav{gap:11px}}
@media(max-width:520px){.public-header{height:auto;min-height:52px}.public-header .brand{max-width:100%;margin:0 0 6px}.public-header .homepage-header-logo{width:42px;height:42px;flex-basis:42px}.public-header .public-brand-name{font-size:.9rem!important}.public-header .brand-default{gap:8px}}
