@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Nanum+Pen+Script&display=swap');
:root{--sage:#65756a;--sage-dark:#46594c;--sage-light:#eef1ec;--ink:#272c28;--muted:#81817c;--line:#e9e8e3;--paper:#fdfdfb;--cream:#f5f4ef;--serif:'Gowun Batang',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;font-size:14px;background:#efeee8;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.42}button{background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--sage);outline-offset:4px}input,textarea{border:1px solid #ddded7;border-radius:9px;background:white;padding:13px 14px;width:100%;min-width:0;color:var(--ink)}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--sage);outline:1px solid var(--sage)}p,h1,h2,h3{margin:0}h1{font-size:26px;line-height:1.5;font-weight:600;letter-spacing:-1px}h2{font-size:19px;font-weight:600;letter-spacing:-.65px}h3{font-size:14px;line-height:1.5;font-weight:600}small{font-size:11px}svg{flex-shrink:0}a,button{touch-action:manipulation}.site-wrap{max-width:1450px;margin:auto;display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,620px) minmax(180px,1fr);gap:46px;align-items:start;padding:30px 50px 0;background:radial-gradient(ellipse at 0 15%,#fff 0,transparent 50%),radial-gradient(ellipse at 98% 67%,#d1cfbf65 0,transparent 40%)}.app-shell{background:var(--paper);box-shadow:0 20px 90px #514f3a13;min-height:100vh;position:relative;border-radius:24px 24px 0 0;overflow:clip;padding-bottom:130px}.app-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 23px}.wordmark{font-family:Georgia,'Times New Roman',serif;letter-spacing:.22em;font-size:30px;color:#20221f;line-height:1.2;font-weight:400}.app-header .wordmark{font-size:28px;margin-left:7px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;padding:0}.icon-button:hover{background:#6475670a}.brand-aside{position:sticky;top:90px;padding:85px 0 0 0}.brand-aside>.wordmark{font-size:39px;letter-spacing:.18em}.brand-aside>h2{font-family:var(--serif);font-size:25px;line-height:1.7;margin:26px 0 28px;font-weight:400;letter-spacing:-.8px}.short-line{display:block;width:29px;height:1px;background:#72766c;margin-bottom:22px}.brand-aside>p{color:#82847c;font-size:14px;line-height:1.9}.brand-aside strong{font-weight:500;color:#62665d;font-size:13px}.brand-values{margin-top:50px}.brand-values p{display:flex;align-items:center;gap:15px;color:#83867e;font-size:12px;line-height:1.8;margin:21px 0}.brand-values svg{border:1px solid #94988e;border-radius:50%;width:42px;height:42px;padding:9px;color:#666f62}.brand-aside>small{display:block;font-size:8px;letter-spacing:.15em;color:#9a9b8f;margin-top:66px}.mood-aside{text-align:right;padding-top:152px;position:sticky;top:40px}.handwriting{font-family:'Nanum Pen Script',var(--serif);font-size:23px;line-height:1.1;white-space:pre-line;transform:rotate(-5deg);color:#6f746b}.mood-aside .handwriting{font-size:31px;line-height:1.5;transform:rotate(-9deg)}.mood-aside .short-line{margin:50px 0 24px auto}.mood-categories{font-size:10px;letter-spacing:.24em;line-height:2.9;color:#666d62}.mood-leaf{margin-top:80px;display:flex;justify-content:center;color:#8c958562;transform:rotate(-25deg)}.mood-caption{font-family:var(--serif);font-size:14px;line-height:1.7;color:#96998d;margin-top:20px;font-style:italic}.photo{background-repeat:no-repeat;background-color:#e7e3da;border-radius:8px;overflow:hidden}.hero{display:grid;grid-template-columns:52% 48%;margin:0 16px 0;background:linear-gradient(110deg,#f3f1eb,#fff);border-radius:15px;overflow:hidden;min-height:276px}.hero>.photo{border-radius:0;min-height:276px}.hero-copy{padding:24px 20px 20px;position:relative}.hero-copy .handwriting{font-size:25px;margin:4px 0 29px 2px}.hero-copy h1{font-size:27px;display:flex;align-items:center;gap:9px;font-weight:600}.verified{background:#6a96c4;color:#fff;width:17px;height:17px;display:flex;align-items:center;justify-content:center;clip-path:polygon(50% 0%,63% 11%,80% 9%,88% 27%,100% 40%,94% 57%,96% 74%,77% 83%,66% 98%,48% 94%,30% 100%,20% 84%,3% 76%,6% 55%,0 37%,17% 23%,25% 6%)}.hero-copy>p:not(.handwriting){font-size:12px;line-height:1.7;color:#82847c;margin-top:6px;word-break:keep-all}.tags{display:flex;gap:6px;margin-top:18px;position:relative;white-space:nowrap;margin-left:-55px;background:#ffffffdb;border-radius:30px;padding:6px;justify-content:center}.tags a{padding:3px 15px;background:#e1e7dc;border-radius:22px;font-size:11px;color:#60685e}.tags a:nth-child(3){background:#e7eaeb}.tags a:nth-child(4){background:#dfebef}.top-nav{display:flex;justify-content:space-around;position:sticky;top:0;z-index:10;background:#fdfdfbf5;backdrop-filter:blur(12px);padding:0 19px;box-shadow:0 7px 15px #47493404}.top-nav a{font-size:14px;padding:20px 4px 15px;color:#81837b;position:relative;white-space:nowrap}.top-nav a.active{color:#30382f;font-weight:600}.top-nav a.active:after{content:'';height:2px;background:var(--sage);position:absolute;bottom:8px;left:0;right:0}.home-content{padding:3px 22px}.home-content section{border-bottom:1px solid var(--line);padding:17px 0}.home-content section:last-child{border:0}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.section-title a{display:flex;align-items:center;font-size:10px;color:#92958b;gap:3px}.intro-preview{display:flex;justify-content:space-between;gap:16px}.intro-preview p{white-space:pre-line;font-size:12px;color:#84877e;line-height:1.85;word-break:keep-all;flex:1}.intro-preview .photo{width:112px;flex-shrink:0;height:80px;align-self:center}.portfolio-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.portfolio-strip .photo{aspect-ratio:1.12;transition:filter .2s}.portfolio-strip a:hover .photo{filter:brightness(1.07)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.service-card{padding:6px 6px 10px;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 4px #555e4f04;background:#fff}.service-card>.photo{aspect-ratio:1.48;border-radius:5px}.service-card>div:not(.photo){padding:7px 2px 0}.service-card h3{font-size:12px;letter-spacing:-.5px;white-space:nowrap}.service-card p{font-size:10px;line-height:1.6;color:#94968d;margin-top:5px;word-break:keep-all}.round-arrow{display:flex;border:1px solid #a0a499;color:#80877d;border-radius:50%;width:20px;height:20px;align-items:center;justify-content:center;margin:9px 0 0 auto}.service-card:hover{border-color:#9ca895}.service-card .eyebrow:empty{display:none}.week-preview{display:grid;grid-template-columns:1.6fr 1fr;gap:10px}.week-card{padding:9px 12px;border:1px solid var(--line);border-radius:10px}.calendar-top{display:flex;justify-content:space-between;align-items:center}.calendar-top strong{font-weight:600;font-size:13px}.calendar-top>span{display:flex}.calendar-top .icon-button{width:27px;height:25px}.week-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:3px;margin-top:5px}.week-days a{display:flex;align-items:center;flex-direction:column;gap:6px}.week-days small{font-size:9px;color:#a2a39b}.week-days a>span{width:27px;height:27px;display:grid;place-items:center;font-size:11px;color:#a2a398}.week-days a.available>span{background:#e8ede5;border-radius:50%;color:#566551}.week-days a.available:first-of-type>span{background:var(--sage);color:white}.schedule-contact{border:1px solid var(--line);border-radius:10px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 5px;color:#96998f}.schedule-contact p{font-size:10px;margin-top:8px}.schedule-contact small{font-size:9px}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:9px}.review{padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:white}.review-top{display:flex;gap:8px;align-items:center}.review-top>.photo,.avatar-initial{width:32px;height:32px;border-radius:50%;flex-shrink:0}.avatar-initial{display:grid;place-items:center;background:#dddcd3;color:#807f70;font-family:var(--serif)}.review h3{font-size:11px;display:flex;gap:7px;align-items:center}.review h3 small{font-size:8px;color:#acaea5;font-weight:400}.stars{font-size:10px;color:#e9a85a;letter-spacing:1px;display:block}.stars small{color:#9b9d92;font-size:8px;margin-left:5px;letter-spacing:0}.review>p{font-size:10px;line-height:1.7;color:#8c8f84;margin-top:7px}.sample-note{font-size:9px;color:#aaa99e;text-align:right;margin-top:7px}.bottom-dock{position:fixed;z-index:15;bottom:0;left:50%;transform:translateX(-50%);width:620px;background:#fcfcf9ef;backdrop-filter:blur(16px);padding:0 19px env(safe-area-inset-bottom,0px);border-top:1px solid #e4e5dc}.sticky-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:9px}.button{background:var(--sage);color:#fff;border:1px solid var(--sage);border-radius:9px;display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 19px;font-weight:500;font-size:14px;line-height:1.4;transition:background .15s;width:100%}.button:hover{background:var(--sage-dark)}.button.secondary{background:transparent;color:#5e685d;border:1px solid #a6afa2}.button.secondary:hover{background:#f0f2eb}.sticky-actions .button{min-height:41px;font-size:13px}.bottom-nav{display:flex;align-items:center;justify-content:space-between;height:69px;padding:5px 14px 2px}.bottom-nav>a{width:53px;display:flex;align-items:center;flex-direction:column;gap:3px;color:#7c8176}.bottom-nav>a.active{color:#485c49}.bottom-nav a.active svg{fill:#ccd6c6}.bottom-nav a>span{font-size:9px}.bottom-nav .add-booking{border-radius:50%;background:var(--sage);color:#fff;width:47px;height:47px;justify-content:center;box-shadow:0 2px 8px #334b2310}.app-footer{padding:28px 20px 10px;text-align:center;border-top:1px solid var(--line);margin:16px 22px 0;color:#9a9f91}.app-footer .wordmark{font-size:16px;color:#78816f}.app-footer p{font-family:var(--serif);font-size:11px;margin:8px 0}.app-footer small{font-size:9px}.app-footer>a{display:flex;align-items:center;gap:4px;justify-content:center;font-size:9px;margin-top:12px;color:#9da393}.page-inner{padding:28px 27px 24px;min-height:500px}.page-heading{margin:8px 0 30px}.eyebrow{font-size:9px;letter-spacing:.18em;color:#8d9684}.page-heading h1{margin:11px 0;font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-1px}.page-heading p{font-size:12px;line-height:1.8;color:#929589;word-break:keep-all}.page-inner>.button{margin-top:22px}.wide-photo{width:100%;aspect-ratio:1.65}.detail-photo{width:100%;aspect-ratio:1.12}.about-text{white-space:pre-line;line-height:2.15;font-family:var(--serif);font-size:14px;color:#707967;margin:28px 0 32px}.filter-tabs{display:flex;gap:8px;margin-bottom:25px;flex-wrap:wrap}.filter-tabs button{padding:7px 17px;border-radius:22px;border:1px solid #e4e7dd;font-size:11px;color:#8a9380}.filter-tabs button.active{background:var(--sage);color:white;border-color:var(--sage)}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px 17px}.portfolio-grid .photo{aspect-ratio:1.07;margin-bottom:13px}.portfolio-grid h3{font-size:14px;font-weight:500;margin:5px 0 7px}.portfolio-grid p{font-size:11px;color:#8c9582;line-height:1.8}.back-link{display:flex;align-items:center;gap:6px;color:#929985;font-size:11px;margin-bottom:24px}.service-list{display:flex;flex-direction:column;gap:17px}.service-list .service-card{padding:12px;display:flex;gap:18px;align-items:center}.service-list .service-card>.photo{width:135px;height:140px;flex-shrink:0}.service-list .service-card>div:not(.photo){flex:1;padding:0}.service-list h3{font-size:17px;margin:5px 0 7px}.service-list p{font-size:11px;line-height:1.8}.service-meta{font-size:9px;color:#a1a691;display:block;margin-top:9px}.service-facts{display:flex;align-items:center;justify-content:space-between;margin:20px 0 35px;color:#7c8870;gap:8px}.service-facts>span{display:flex;align-items:center;gap:6px;font-size:10px}.service-facts svg{width:17px;height:17px}.minor-heading{font-size:17px;font-weight:500;margin:20px 0 18px}.process-list{padding:0;list-style:none}.process-list li{display:flex;gap:19px;margin:22px 0}.process-list b{font-family:var(--serif);font-size:24px;color:#a6af9d;font-weight:400;line-height:1.3}.process-list h3{font-size:13px;font-weight:500}.process-list p{font-size:11px;color:#8e9983;margin-top:6px}.reviews.full{grid-template-columns:1fr;gap:16px}.reviews.full .review{padding:20px}.reviews.full .review h3{font-size:13px}.reviews.full .review p{font-size:12px;margin-top:13px}.calendar{border:1px solid var(--line);border-radius:14px;padding:20px}.calendar .calendar-top strong{font-size:17px;font-weight:500}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:8px 5px;margin-top:20px}.calendar-grid>span{font-size:11px;color:#a3aa98;height:24px}.calendar-grid .sunday{color:#bc9b8e}.calendar-grid .saturday{color:#92a6b6}.calendar-grid button{height:39px;width:39px;margin:auto;border-radius:50%;position:relative;font-size:13px}.calendar-grid button:not(:disabled):hover{background:#ecf0e6}.calendar-grid button.today{border:1px solid #c0c9b8}.calendar-grid button.selected{background:var(--sage);color:white}.calendar-grid button.selected:hover{background:var(--sage-dark)}.calendar-grid button i{width:3px;height:3px;position:absolute;bottom:3px;background:var(--sage);border-radius:50%;left:50%;transform:translateX(-50%)}.calendar-legend{font-size:10px;color:#929d85;display:flex;gap:7px;align-items:center;justify-content:flex-end;margin:15px 3px 0}.calendar-legend i{background:#8b9e7d;width:5px;height:5px;border-radius:50%}.slot-title{display:flex;align-items:center;justify-content:space-between;margin:27px 0 17px}.slot-title h2,.slot-title h3{font-size:16px;font-weight:500}.slot-title span,.slot-title small{font-size:11px;color:#9ba58d}.schedule-slot-list>div{display:flex;align-items:center;padding:16px 8px;border-bottom:1px solid var(--line);gap:22px}.schedule-slot-list small{color:#8b977e;font-size:11px}.schedule-slot-list a{display:flex;align-items:center;gap:9px;font-size:11px;margin-left:auto;color:var(--sage-dark)}.schedule-slot-list div>span:last-child{margin-left:auto}.notice{display:flex;gap:13px;background:#f2f4ed;border-radius:10px;padding:16px;font-size:11px;line-height:1.8;color:#8a977d;margin:23px 0}.notice a{text-decoration:underline}.muted{color:#98a08e;font-size:12px}.steps{list-style:none;padding:0;display:flex;justify-content:space-between;margin:0 0 30px;gap:4px}.steps li{display:flex;gap:8px;align-items:center;color:#a1aa95;font-size:11px}.steps li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eeefe8;font-size:11px}.steps li.active{color:#586c4b}.steps li.active>span{background:var(--sage);color:white}.booking-services{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}.booking-service{width:100%;display:flex;align-items:center;text-align:left;padding:13px;border:1px solid var(--line);border-radius:12px;gap:15px;background:#fff}.booking-service.selected{border-color:var(--sage);background:#f4f6f0}.booking-service>.photo{width:70px;height:71px;flex-shrink:0}.booking-service h3{font-size:14px}.booking-service p{font-size:11px;color:#8d9783;margin:4px 0}.booking-service small{font-size:9px;color:#a0a992}.radio-dot{width:17px;height:17px;border-radius:50%;border:1px solid #c7cebd;margin-left:auto;flex-shrink:0}.selected .radio-dot{border:5px solid var(--sage)}.selected-service{display:flex;align-items:center;gap:14px;padding:15px;background:#f4f5ef;border-radius:12px;margin-bottom:20px}.selected-service>.photo{width:47px;height:47px}.selected-service strong{display:block;font-weight:500;font-size:14px}.selected-service small{font-size:10px;color:#919d83}.text-button{font-size:11px;color:var(--sage);text-decoration:underline;text-underline-offset:3px;padding:4px 0}.selected-service .text-button,.booking-summary .text-button{margin-left:auto;flex-shrink:0}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.time-slots button{border:1px solid #dde3d5;border-radius:9px;padding:12px;font-size:14px}.time-slots button small{display:block;font-size:9px;color:#9aa58d;margin-top:4px}.time-slots button.selected{background:var(--sage);color:white;border-color:var(--sage)}.time-slots button.selected small{color:#d6dfce}.time-slots button:disabled{background:#f0f1eb;color:#959f89}.hint{font-size:11px;line-height:1.9;color:#98a18e;margin:15px 0}.booking-page>.button{margin-top:23px}.booking-summary{display:flex;gap:13px;background:#f1f4eb;border-radius:12px;padding:19px 16px;margin-bottom:24px;color:#647655;align-items:center}.booking-summary p{font-size:12px;margin:4px 0}.booking-summary small{font-size:10px;color:#929e84}.form{display:flex;flex-direction:column;gap:20px;margin:20px 0}.form>label{font-size:12px;font-weight:500;display:flex;flex-direction:column;gap:8px}.form input,.form textarea{font-size:12px;font-weight:400}.form label small{font-size:10px;font-weight:400;color:#9ca68e}.optional{font-size:9px;color:#a5ae97;font-weight:400}.check-label{display:flex;gap:8px;align-items:center;font-size:11px;color:#737e66}.check-label input{width:16px;height:16px;accent-color:var(--sage)}.consent details{font-size:10px;color:#9fa68f;padding-left:25px;margin-top:7px}.consent details p{margin-top:8px;line-height:1.8}.consent summary{cursor:pointer}.form .notice{margin:0}.alert{background:#fff1eb;color:#a66b56;border-radius:9px;padding:12px 15px;font-size:12px;margin:10px 0 20px}.receipt-icon{display:grid;place-items:center;background:#edf2e7;color:#688255;width:61px;height:61px;border-radius:50%;margin:0 auto 25px}.receipt{border:1px solid #dde5d4;border-radius:13px;padding:23px;background:#fff}.receipt-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:20px;padding:3px 9px;background:#eaf0e3;color:#6a8257;font-size:10px;font-weight:400;white-space:nowrap}.badge.grey{background:#f0f0e9;color:#9b9f8e}.receipt dl{margin:22px 0}.receipt dl>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.receipt dt{color:#9ca38f;flex-shrink:0}.receipt dd{margin:0;text-align:right;overflow-wrap:anywhere}.mono{font-family:monospace;font-size:11px}.receipt-note{font-size:11px;white-space:pre-wrap;color:#919a82;background:#f6f7f1;padding:13px;border-radius:8px}.receipt-actions{display:flex;gap:12px;margin-top:20px}.receipt-actions .secondary{width:120px;flex-shrink:0}.back-home{display:flex;gap:8px;justify-content:center;align-items:center;font-size:12px;color:#879676;margin-top:24px}.empty-state{display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;padding:40px 10px;color:#8d9a7c;gap:17px}.empty-state p{font-size:12px;line-height:1.9;max-width:340px}.empty-state .button{max-width:260px}.modal{border:1px solid #e3e8d9;border-radius:17px;padding:25px;width:440px;max-width:calc(100% - 28px);max-height:85vh;color:var(--ink);box-shadow:0 20px 100px #26361520;background:var(--paper)}.modal::backdrop{background:#29302252;backdrop-filter:blur(5px)}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-top h2{font-size:20px}.modal>p{color:#929c84;font-size:12px}.two-buttons{display:flex;gap:10px;margin-top:24px}.menu-list{display:flex;flex-direction:column}.menu-list a{padding:14px 4px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:13px}.menu-list .admin-menu{margin-top:17px;color:#9ca68d;font-size:11px}.search-field{display:flex;align-items:center;gap:12px;background:white;border:1px solid #dce4d1;border-radius:11px;padding:0 14px;color:#97a388;margin-bottom:22px}.search-field input{border:0;background:transparent;font-size:12px;padding-left:0}.search-field input:focus{outline:0}.explore-results>a{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:16px 0}.explore-results .photo{width:75px;height:70px;flex-shrink:0}.explore-results h3{font-size:13px;font-weight:500}.explore-results p{font-size:11px;color:#959e88;line-height:1.8;margin-top:5px}.explore-results svg{margin-left:auto;color:#a3ae94}.admin-login{min-height:100vh;display:flex;align-items:center;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 20% 10%,white,#f0f1e9);padding:30px 20px}.admin-login>.wordmark{font-size:30px;margin-bottom:29px}.login-card{background:#fff;border:1px solid #e4e8db;border-radius:22px;box-shadow:0 12px 50px #4b5c2910;padding:38px;width:425px;max-width:100%;text-align:center}.login-icon{width:60px;height:60px;background:#f0f4e9;color:#879a74;display:grid;place-items:center;border-radius:50%;margin:0 auto 19px}.login-card h1{font-family:var(--serif);font-size:24px;font-weight:400;margin:9px 0}.login-card>p{font-size:11px;color:#a0a78f}.login-card .form{text-align:left;margin:28px 0 24px}.login-card .back-link{justify-content:center;margin:0}.admin-login>small{font-size:8px;letter-spacing:.16em;color:#a3ac94;margin-top:24px}.admin-shell{display:flex;min-height:100vh;background:#f6f7f2}.admin-sidebar{width:230px;background:#fcfdf9;border-right:1px solid #e6eadf;position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;padding:34px 22px;z-index:20}.admin-sidebar .wordmark{font-size:25px;align-self:center}.studio-label{font-size:8px;letter-spacing:.22em;color:#a0ab90;text-align:center;margin-top:9px}.admin-sidebar nav{display:flex;flex-direction:column;gap:6px;margin-top:47px}.admin-sidebar nav button{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:9px;text-align:left;font-size:12px;color:#9aa68b}.admin-sidebar nav button.active{background:#e9efdf;color:#596e47}.admin-sidebar nav i{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#b19769}.admin-sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:17px;padding:22px 11px 0;border-top:1px solid #e4e9da}.admin-sidebar-bottom a{display:flex;justify-content:space-between;font-size:11px;color:#94a17f}.admin-sidebar-bottom button{text-align:left;padding:0;font-size:11px;color:#a4ae92}.admin-main{margin-left:230px;flex:1;min-width:0}.admin-header{height:72px;border-bottom:1px solid #e6eadf;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#ffffff70;font-size:11px;color:#a2ac93}.admin-header>div{display:flex;gap:9px;align-items:center}.status-dot{width:6px;height:6px;border-radius:50%;background:#94a581}.admin-main>main{padding:39px 42px;max-width:1280px;margin:auto}.admin-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:12px}.admin-title h1{font-family:var(--serif);font-size:28px;font-weight:400;margin:8px 0}.admin-title p{color:#a1ac90;font-size:12px}.today-chip{font-size:11px;color:#8d9a7a;border:1px solid #e1e8d5;border-radius:20px;padding:8px 14px;white-space:nowrap}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px}.stat{padding:22px;background:#fff;border:1px solid #e4eadb;border-radius:14px;position:relative}.stat>svg{position:absolute;right:18px;top:22px;color:#a6b498;width:19px;height:19px}.stat>small{display:block;color:#a3ae91;font-size:11px}.stat>strong{font-weight:400;font-size:32px;display:block;color:#647851;margin-top:12px;line-height:1}.stat em{font-size:10px;font-style:normal;margin-left:9px;color:#a8b197}.admin-panel{background:#fff;border:1px solid #e4eadd;border-radius:14px;padding:26px;margin-bottom:24px}.admin-panel>h2,.panel-heading h2{font-size:17px;font-weight:500}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.admin-booking{display:flex;align-items:center;gap:19px;padding:22px 0;border-bottom:1px solid #edf0e7}.admin-booking:last-child{border:0}.booking-date{width:68px;min-height:70px;border:1px solid #e1e8d7;background:#f6f8f1;border-radius:10px;text-align:center;display:flex;justify-content:center;flex-direction:column;color:#82956c;flex-shrink:0}.booking-date strong{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.5}.booking-date small{font-size:9px;color:#a2af8f}.booking-info{flex:1;min-width:0}.booking-info h3{font-size:13px;display:flex;gap:12px;align-items:center}.booking-info p{font-size:11px;color:#97a384;margin-top:6px}.booking-info>small{font-size:9px;color:#b3bba6}.booking-note{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f8f3;padding:9px;border-radius:7px}.danger{color:#bc947d}.admin-notice{border:1px solid #e3e8d6;background:#edf2e4;border-radius:14px;padding:24px;display:flex;gap:19px;color:#83946e}.admin-notice h3{font-size:13px;font-weight:500}.admin-notice p{font-size:11px;line-height:1.9;margin:8px 0;color:#9dab86}.admin-footer{font-size:9px;color:#adb79c;padding:12px 42px 28px}.admin-filters{display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-filters .filter-tabs{margin:0}.search-input{font-size:11px;max-width:250px;padding:10px 13px}.admin-schedule{display:grid;grid-template-columns:1fr 1fr;gap:24px}.admin-schedule .calendar{border:0;padding:0}.manage-slots{margin-top:23px}.manage-slots>div{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);gap:10px}.manage-slots strong{font-size:13px;font-weight:500}.toggle{width:35px;height:20px;background:#dfe6d4;border-radius:15px;padding:3px;transition:background .2s}.toggle i{width:14px;height:14px;background:white;border-radius:50%;display:block;box-shadow:0 1px 3px #17250915;transition:transform .2s}.toggle.on{background:#7e9569}.toggle.on i{transform:translateX(15px)}.admin-panel>.form{max-width:620px}.admin-panel .form input,.admin-panel .form textarea{font-size:13px}.success-message{background:#eaf2e1;border-radius:8px;padding:12px 16px;font-size:12px;color:#78955e;display:flex;align-items:center;gap:8px;margin-bottom:25px}.inquiry-item{padding:22px 0;border-bottom:1px solid var(--line)}.inquiry-item h3{display:flex;align-items:center;gap:14px}.inquiry-item>small{color:#a4ae94;font-size:10px;display:block;margin:8px 0}.inquiry-item>p{white-space:pre-wrap;font-size:13px;line-height:1.9;margin:15px 0;color:#889873;overflow-wrap:anywhere}.inquiry-item .button{width:auto;min-height:34px;font-size:11px}.integration-checks{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:14px 0}.integration-checks>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px;color:#92a17f;gap:10px}.notification-item{padding:19px 0;border-bottom:1px solid var(--line)}.notification-item summary{display:flex;justify-content:space-between;cursor:pointer;font-size:12px;color:#869873;gap:10px}.notification-item pre{white-space:pre-wrap;padding:18px;border-radius:10px;background:#f4f7ee;font-size:11px;line-height:1.8;font-family:inherit;color:#809468}.notification-item .button{max-width:210px;font-size:11px;min-height:37px;margin-top:12px}.notification-item>small{font-size:10px;color:#99aa87;overflow-wrap:anywhere}
@media(min-width:1450px){.bottom-dock{width:620px}}
@media(max-width:1250px) and (min-width:951px){.site-wrap{grid-template-columns:minmax(150px,1fr) minmax(0,580px) minmax(140px,1fr);gap:30px;padding:25px 30px 0}.bottom-dock{width:580px}.brand-aside>.wordmark{font-size:29px}.brand-aside>h2{font-size:21px}.brand-aside>p{font-size:12px}.brand-aside strong{font-size:10px}.brand-values p{font-size:11px}.mood-aside .handwriting{font-size:26px}}
@media(max-width:950px){.site-wrap{display:block;max-width:650px;padding:0;background:none}.app-shell{border-radius:0;box-shadow:0 0 100px #6a71582a}.brand-aside,.mood-aside{display:none}.bottom-dock{width:min(650px,100%)}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-sidebar{width:190px;padding:28px 15px}.admin-main{margin-left:190px}.admin-main>main{padding:27px 24px}.admin-header{padding:0 24px}.admin-schedule{grid-template-columns:1fr}.admin-title h1{font-size:23px}.integration-checks{grid-template-columns:1fr}}
@media(max-width:600px){body{background:var(--paper)}.app-shell{padding-bottom:117px}.app-header{height:64px;padding:0 16px}.app-header .wordmark{font-size:25px}.hero{margin:0 12px;min-height:218px;grid-template-columns:52% 48%;border-radius:12px}.hero>.photo{min-height:218px}.hero-copy{padding:16px 13px}.hero-copy .handwriting{font-size:22px;margin:0 0 18px}.hero-copy h1{font-size:23px}.hero-copy>p:not(.handwriting){font-size:10px;line-height:1.8}.tags{gap:4px;padding:5px;margin:13px 0 0 -40px}.tags a{font-size:10px;padding:3px 12px}.top-nav{padding:0 12px}.top-nav a{font-size:12px;padding:16px 3px 14px}.home-content{padding:0 17px}.home-content section{padding:14px 0}.section-title{margin-bottom:8px}.section-title h2{font-size:17px}.intro-preview p{font-size:10px;line-height:1.9}.intro-preview .photo{width:86px;height:66px}.intro-preview{gap:10px}.service-grid{gap:6px}.service-card{padding:5px 5px 9px;border-radius:8px}.service-card h3{font-size:10px;letter-spacing:-.65px}.service-card p{font-size:9px;letter-spacing:-.3px}.service-card>div:not(.photo){padding:6px 0 0}.round-arrow{width:18px;height:18px;margin-top:8px}.portfolio-strip{gap:6px}.portfolio-strip .photo{border-radius:6px}.week-preview{gap:7px;grid-template-columns:1.6fr 1fr}.week-card{padding:7px 9px}.calendar-top strong{font-size:11px}.calendar-top .icon-button{width:22px;height:22px}.week-days a>span{font-size:10px;width:24px;height:24px}.week-days small{font-size:8px}.schedule-contact p{font-size:9px}.schedule-contact small{font-size:8px}.review{padding:8px 10px}.review-top{gap:6px}.review h3{font-size:10px;gap:4px;flex-wrap:wrap;line-height:1.3}.review h3 small{font-size:7px}.review>p{font-size:9px;line-height:1.7}.review-top>.photo,.avatar-initial{width:27px;height:27px}.reviews{gap:6px}.stars{font-size:9px}.stars small{font-size:7px}.sample-note{font-size:8px}.bottom-dock{padding:0 13px env(safe-area-inset-bottom,0px)}.bottom-nav{height:61px;padding:5px 8px 2px}.sticky-actions .button{min-height:38px}.bottom-nav>a svg{width:22px;height:22px}.bottom-nav .add-booking{width:44px;height:44px}.bottom-nav .add-booking svg{width:26px;height:26px}.bottom-nav a>span{font-size:8px}.page-inner{padding:23px 22px 20px}.page-heading h1{font-size:23px}.page-heading p{font-size:11px}.steps li{font-size:10px;gap:6px}.booking-service{padding:12px;gap:12px}.booking-service>.photo{width:60px;height:64px}.booking-service h3{font-size:13px}.booking-service p{font-size:10px}.booking-service small{font-size:8px}.calendar{padding:16px}.calendar-grid{gap:8px 3px}.calendar-grid button{width:34px;height:34px;font-size:12px}.calendar-grid>span{font-size:10px}.receipt{padding:19px}.receipt dl>div{font-size:11px}.receipt .mono{font-size:10px}.service-list .service-card{gap:15px}.service-list .service-card>.photo{width:109px;height:120px}.service-list h3{font-size:15px;letter-spacing:-.4px}.service-list .eyebrow{font-size:7px}.service-list p{font-size:10px}.service-list .service-meta{font-size:8px}.portfolio-grid{gap:22px 13px}.portfolio-grid h3{font-size:12px}.portfolio-grid p{font-size:10px}.filter-tabs button{padding:6px 13px;font-size:10px}.filter-tabs{gap:6px}.service-facts>span{font-size:9px;gap:4px}.service-facts svg{width:15px;height:15px}.admin-shell{display:block}.admin-sidebar{position:relative;width:100%;height:auto;padding:20px 14px 0;border:0;border-bottom:1px solid #e3e9d9}.admin-sidebar .wordmark{align-self:flex-start;font-size:24px;margin-left:8px}.studio-label{text-align:left;margin-left:8px;font-size:7px}.admin-sidebar nav{margin-top:18px;flex-direction:row;overflow:auto;gap:1px}.admin-sidebar nav button{white-space:nowrap;font-size:10px;padding:11px 10px;gap:6px;border-radius:8px 8px 0 0}.admin-sidebar nav svg{width:15px;height:15px}.admin-sidebar-bottom{position:absolute;right:22px;top:26px;padding:0;margin:0;border:0;gap:7px}.admin-sidebar-bottom a{font-size:9px;gap:10px}.admin-sidebar-bottom button{font-size:9px;text-align:right}.admin-main{margin-left:0}.admin-header{height:45px;padding:0 20px;font-size:9px}.admin-main>main{padding:25px 18px}.admin-title{align-items:flex-start;margin-bottom:24px}.admin-title h1{font-size:22px}.admin-title p{font-size:10px}.admin-title .eyebrow{font-size:7px}.today-chip{font-size:8px;padding:5px 9px;margin-top:5px}.stat-grid{gap:10px;margin-bottom:20px}.stat{padding:18px}.stat>small{font-size:10px}.stat>strong{font-size:29px}.stat>svg{right:14px;top:18px;width:17px;height:17px}.admin-panel{padding:19px;margin-bottom:18px}.admin-panel>h2,.panel-heading h2{font-size:15px}.admin-booking{gap:12px;padding:18px 0;align-items:flex-start}.booking-date{width:56px;min-height:60px}.booking-date strong{font-size:23px}.booking-date small{font-size:8px}.booking-info h3{font-size:12px;gap:7px}.booking-info p{font-size:10px}.booking-info>small{font-size:8px}.badge{font-size:8px;padding:3px 7px}.admin-notice{padding:18px;gap:12px}.admin-notice h3{font-size:12px}.admin-notice p{font-size:10px}.admin-filters{flex-wrap:wrap}.search-input{max-width:100%;margin-top:0}.admin-footer{padding:0 20px 20px;font-size:8px}.login-card{padding:29px 25px}.admin-panel .form input,.admin-panel .form textarea{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.admin-header,.admin-title p,.admin-sidebar nav button,.stat>small,.admin-panel .hint,.admin-notice p,.integration-checks>div{color:#738166}.admin-sidebar nav button{font-size:13px}.admin-header{font-size:12px}.stat>small{font-size:12px}.admin-sidebar nav button.active{color:#415b31}.admin-notice h3{color:#587343}.booking-info p,.notification-item summary{color:#6a8058}.form small,.hint,.page-heading p{color:#818a77}

/* Standalone high-resolution photos; retain the existing card layouts. */
.photo{position:relative}.photo>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.photo[data-photo="hero"]>img,.photo[data-photo="portrait"]>img{object-position:50% 30%}

/* Administrator app push setup */
.push-panel .panel-heading{flex-wrap:wrap;gap:12px}.push-panel h2{display:flex;align-items:center;gap:9px}.push-panel>p{font-size:14px;line-height:1.8;color:#626b64}.push-instructions{padding-left:22px;display:grid;gap:15px;margin:24px 0}.push-instructions li{padding-left:5px;color:#65756a}.push-instructions strong{display:block;font-size:14px;color:#29372e}.push-instructions span{display:block;font-size:13px;line-height:1.8;color:#636c65;margin-top:3px}.push-buttons{display:flex;gap:12px;flex-wrap:wrap}.push-devices{margin-top:24px}.push-devices>div{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #e7ebe6;gap:16px}.push-devices small{display:block;color:#717a73;margin-top:5px}.push-panel .form{max-width:520px}.push-panel .notice{display:block;padding:14px}
@media(max-width:600px){.push-buttons{display:grid}.push-buttons .button{width:100%}.push-panel .panel-heading h2{font-size:19px}}
