:root{--bg-color: #f1ebd9;--ink-color: #1a1a1a;--font-script: "Pinyon Script", cursive;--font-display: "Playfair Display", serif;--font-body: "EB Garamond", serif;--border-fine: 1px solid var(--ink-color);--border-thick: 2px solid var(--ink-color)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg-color);color:var(--ink-color);font-family:var(--font-body);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E");min-height:100vh;overflow-x:hidden;position:relative}.app-container{display:flex;flex-direction:column;min-height:100vh}.edge-marks{position:fixed;top:0;bottom:0;width:24px;display:flex;flex-direction:column;align-items:center;justify-content:space-around;padding:20vh 0;pointer-events:none;z-index:10}.edge-marks.left{left:0;border-right:var(--border-fine)}.edge-marks.right{right:0;border-left:var(--border-fine)}.mark-group{display:flex;flex-direction:column;align-items:center;gap:4px}.tick{width:8px;height:1px;background-color:var(--ink-color)}.tick.short{width:4px}.rotated-text{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-family:var(--font-display);font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin:1rem 0}.edge-marks.right .rotated-text{transform:rotate(0)}@media (max-width: 560px){.edge-marks{display:none}}main{flex:1;padding:1.5rem 2.5rem 9rem;max-width:620px;margin:0 auto;width:100%}main.wide{max-width:900px}@media (max-width: 560px){main{padding:1.25rem 1.25rem 9rem}}header.brand{text-align:center;margin-bottom:2.5rem;position:relative}.script-title{font-family:var(--font-script);font-size:3.5rem;line-height:1;margin-bottom:.5rem;font-weight:400}@media (max-width: 400px){.script-title{font-size:2.75rem}}.seal-container{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.25rem}.seal-rule{flex:1;height:1px;background-color:var(--ink-color)}.seal{width:64px;height:64px;border-radius:50%;border:3px double var(--ink-color);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;flex-shrink:0}.seal-text-top{font-size:6px;text-transform:uppercase;font-weight:700;letter-spacing:.5px;position:absolute;top:8px;font-family:var(--font-display)}.seal-letter{font-family:var(--font-display);font-size:2rem;font-weight:900;line-height:1}.logo-lockup{display:flex;flex-direction:column;align-items:center;gap:.25rem}.logo-img{mix-blend-mode:multiply;display:block}.logo-atkm{width:150px;height:auto}.logo-aesop{width:128px;height:auto}.cobrand-sub{font-size:.75rem;text-transform:uppercase;letter-spacing:2px;font-weight:600;margin:.25rem 0}.popup-note{font-size:1rem;font-style:italic;margin-top:.75rem}.section-header{display:flex;align-items:center;justify-content:center;margin:2rem 0 1rem;gap:1rem}.section-rule{flex:1;height:1px;background:repeating-linear-gradient(to right,var(--ink-color),var(--ink-color) 2px,transparent 2px,transparent 4px)}.section-title{font-family:var(--font-display);font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;white-space:nowrap}.radio-group{display:flex;flex-direction:column;gap:.5rem}.radio-input{display:none}.radio-label{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:var(--border-fine);cursor:pointer;transition:all .2s ease;background-color:transparent}.service-info{display:flex;flex-direction:column}.service-name{font-family:var(--font-display);font-weight:700;font-size:1.1rem;margin-bottom:.25rem}.service-desc{font-size:.85rem;font-style:italic}.service-price{font-family:var(--font-display);font-weight:900;font-size:1.25rem}.radio-input:checked+.radio-label{background-color:var(--ink-color);color:var(--bg-color)}.date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.date-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem .25rem;border:var(--border-fine);cursor:pointer;transition:all .2s ease;text-align:center}.date-weekday{font-family:var(--font-display);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:1px}.date-daymonth{font-size:.95rem;margin-top:.15rem}.radio-input:checked+.date-label{background-color:var(--ink-color);color:var(--bg-color)}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}@media (min-width: 700px){.time-grid{grid-template-columns:repeat(4,1fr)}}.time-label{display:flex;justify-content:center;align-items:center;padding:.75rem 0;border:var(--border-fine);font-family:var(--font-display);font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .2s ease}.radio-input:checked+.time-label{background-color:var(--ink-color);color:var(--bg-color)}.time-label.taken{opacity:.35;cursor:not-allowed;text-decoration:line-through;border-style:dashed}.field-group{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column}.field-label{font-family:var(--font-display);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:.4rem}.field-input{border:var(--border-fine);background-color:transparent;font-family:var(--font-body);font-size:1.1rem;color:var(--ink-color);padding:.85rem 1rem;border-radius:0;outline:none;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field-input::placeholder{color:var(--ink-color);opacity:.45;font-style:italic}.field-input:focus{border:var(--border-thick);padding:calc(.85rem - 1px) calc(1rem - 1px)}@media (min-width: 700px){.field-group.contact{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field-group.contact .field.full{grid-column:1 / -1}}.location-select{cursor:pointer;padding-right:2.75rem;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23000' stroke-width='1.5'><path d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;background-size:.7rem}.location-address{font-size:.85rem;font-style:italic;margin-top:.5rem;opacity:.75}.form-error{border:var(--border-fine);padding:.75rem 1rem;margin-top:1.25rem;font-size:.9rem;font-style:italic;text-align:center;background-color:#1a1a1a0f}.fine-print{margin-top:3rem;text-align:center;font-size:.75rem;line-height:1.4;padding:0 1rem}.fine-print strong{font-family:var(--font-display);text-transform:uppercase;font-size:.7rem;letter-spacing:.5px;display:block;margin-bottom:.25rem}.action-bar{position:fixed;bottom:0;left:0;right:0;background-color:var(--bg-color);padding:1rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom)) 1.5rem;border-top:var(--border-thick);z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E")}.action-bar-inner{max-width:560px;margin:0 auto}.book-button{width:100%;background-color:var(--ink-color);color:var(--bg-color);border:none;padding:1.25rem;font-family:var(--font-display);font-weight:900;font-size:1rem;text-transform:uppercase;letter-spacing:2px;cursor:pointer;outline:none;border-radius:0}.book-button:active{opacity:.9;transform:translateY(1px)}.book-button:disabled{opacity:.6;cursor:wait}.admin-login{max-width:360px;margin:2rem auto 0;display:flex;flex-direction:column;gap:1rem}.admin-toolbar{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.admin-count{font-style:italic;font-size:.9rem}.text-button{background:none;border:var(--border-fine);color:var(--ink-color);font-family:var(--font-display);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;padding:.5rem .9rem;cursor:pointer;border-radius:0;transition:all .2s ease}.text-button:hover{background-color:var(--ink-color);color:var(--bg-color)}.booking-card{border:var(--border-fine);padding:1rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.booking-card.cancelled{opacity:.4}.booking-card.cancelled .booking-name{text-decoration:line-through}.booking-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.booking-time{font-family:var(--font-display);font-weight:900;font-size:1.15rem}.booking-name{font-family:var(--font-display);font-weight:700;font-size:1.05rem}.booking-contact{font-size:.9rem;font-style:italic;word-break:break-word}.booking-contact a{color:inherit}.booking-side{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0;text-align:right}.booking-service{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;font-weight:600;font-family:var(--font-display)}.cancelled-stamp{font-family:var(--font-display);font-size:.7rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;border:var(--border-fine);padding:.25rem .5rem;transform:rotate(-4deg)}.empty-day{text-align:center;font-style:italic;font-size:.9rem;padding:1rem;border:1px dashed var(--ink-color)}@media (min-width: 700px){.admin-day-list{display:grid;grid-template-columns:1fr;gap:.5rem}}
