:root{--white:#fff;--paper:#fbfbfa;--ink:#2d2a28;--muted:#746f6b;--line:#e9e4e1;--blush:#d9909e;--blush-soft:#f7e4e8;--sage:#74826d;--sage-dark:#596551;--shadow:0 22px 70px #2d2a281a;--serif:"Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", serif;--sans:"Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);font-family:var(--sans);letter-spacing:0;margin:0;line-height:1.8}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border-bottom:1px solid #e9e4e1bf;grid-template-columns:minmax(160px,1fr) auto minmax(130px,auto);align-items:center;gap:28px;width:100%;padding:18px clamp(20px,4vw,56px);display:grid;position:fixed;top:0}.brand{flex-direction:column;line-height:1.1;display:flex}.brand__name{font-family:var(--serif);font-size:clamp(25px,2vw,35px);font-weight:400}.brand__area{color:var(--muted);margin-top:5px;font-size:11px}.site-nav{color:#514c48;gap:clamp(16px,2.2vw,34px);font-size:13px;display:flex}.site-nav a{padding:4px 0;position:relative}.site-nav a:after{background:var(--blush);content:"";transform-origin:50%;height:1px;transition:transform .18s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after{transform:scaleX(1)}.header-cta{border:1px solid var(--sage);background:var(--sage);min-width:126px;color:var(--white);text-align:center;border-radius:8px;justify-self:end;padding:11px 18px;font-size:13px}.hero{background-image:url(/assets/hero-hands.png);background-position:100%;background-size:cover;align-items:center;min-height:82vh;padding:116px clamp(22px,7vw,112px) 44px;display:flex;position:relative;overflow:hidden}.hero:after{background:linear-gradient(to bottom, #fff0, var(--white));content:"";height:80px;position:absolute;bottom:-1px;left:0;right:0}.hero__shade{background:linear-gradient(90deg,#fffffffa 0%,#ffffffe0 38%,#ffffff1a 78%),linear-gradient(#fff6,#ffffff0d);position:absolute;inset:0}.hero__content{z-index:1;width:min(650px,100%);position:relative}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.35}h1{margin-bottom:24px;font-size:clamp(38px,5vw,66px)}.keep{white-space:nowrap}h2{margin-bottom:16px;font-size:clamp(31px,3.2vw,48px)}h3{margin-bottom:9px;font-size:17px;font-weight:600}.hero__lead{color:#4f4944;max-width:650px;margin-bottom:26px;font-size:clamp(15px,1.25vw,18px)}.hero__lead-line{display:block}.lead-keep{white-space:nowrap}.hero__facts{flex-wrap:wrap;gap:10px;margin-bottom:34px;display:flex}.hero__facts span,.design-tags span{border:1px solid var(--line);color:#504b47;background:#ffffffbd;border-radius:999px;font-size:13px}.hero__facts span{padding:7px 13px}.booking-actions{flex-wrap:wrap;gap:13px;display:flex}.booking-actions--center{justify-content:center}.booking-button{border:1px solid var(--line);background:var(--white);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;min-width:178px;min-height:52px;padding:13px 17px;font-size:14px;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex;box-shadow:0 10px 30px #2d2a280f}.booking-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.booking-button:hover{transform:translateY(-2px);box-shadow:0 14px 34px #2d2a281c}.booking-button--hp{border-color:var(--ink);background:var(--ink);color:var(--white)}.booking-button--nailbook{border-color:var(--blush);background:var(--blush);color:var(--white)}.booking-button--instagram{border-color:var(--sage);background:var(--sage);color:var(--white)}.booking-link.is-disabled{cursor:not-allowed;opacity:.58}.section{padding:clamp(72px,9vw,128px) clamp(22px,6vw,96px)}.section__head{max-width:780px;margin-bottom:44px}.section__head--center{text-align:center;margin-left:auto;margin-right:auto}.section__head p{color:var(--muted);margin-bottom:0;font-size:15px}.concept{background:linear-gradient(180deg, var(--white), var(--paper))}.feature-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.feature-grid article{background:var(--white);min-height:238px;padding:34px 28px}.feature-icon{width:45px;height:45px;color:var(--blush);place-items:center;margin-bottom:24px;display:grid}.feature-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45px;width:36px;height:36px}.feature-grid p{color:var(--muted);margin-bottom:0;font-size:14px}.design{background:var(--white)}.gallery-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:36px;display:grid}.gallery-main{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin:0;overflow:hidden}.gallery-main img{aspect-ratio:4/3;object-fit:cover;width:100%}.design-tags{flex-wrap:wrap;gap:10px;display:flex}.design-tags span{background:var(--paper);padding:8px 13px}.menu{background:var(--paper)}.menu-table-wrap{border:1px solid var(--line);background:var(--white);border-radius:8px;overflow-x:auto;box-shadow:0 14px 48px #2d2a280f}.menu-table{border-collapse:collapse;width:100%;min-width:760px;font-size:14px}.menu-table th{background:var(--sage);color:var(--white);text-align:left;font-weight:500}.menu-table th,.menu-table td{border-bottom:1px solid var(--line);padding:17px 20px}.menu-table tr:last-child td{border-bottom:0}.menu-table td:nth-child(3),.menu-table td:nth-child(4){white-space:nowrap}.menu-note{max-width:920px;color:var(--muted);margin:22px 0 0;font-size:13px}.first-visit{background:linear-gradient(180deg, #f7e4e899, #fff0 260px), var(--white)}.steps{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin:0;padding:0;list-style:none;display:grid}.steps li{background:var(--white);min-height:220px;padding:32px 26px}.steps span{background:var(--blush-soft);color:#a75e6b;width:36px;height:36px;font-family:var(--serif);border-radius:50%;place-items:center;margin-bottom:26px;display:inline-grid}.steps p{color:var(--muted);margin-bottom:0;font-size:14px}.access{background:var(--paper)}.access-grid{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:stretch;gap:28px;display:grid}.access-card,.map-panel{border:1px solid var(--line);background:var(--white);border-radius:8px;box-shadow:0 12px 42px #2d2a280d}.access-card{padding:30px}.access-card dl{margin:0}.access-card div{border-bottom:1px solid var(--line);grid-template-columns:94px 1fr;gap:22px;padding:18px 0;display:grid}.access-card div:first-child{padding-top:0}.access-card div:last-child{border-bottom:0;padding-bottom:0}.access-card dt{color:var(--muted);font-size:13px}.access-card dd{margin:0;font-size:15px}.map-panel{background-color:#f8f8f7;background-image:linear-gradient(90deg,#e9e4e1b8 1px,#0000 1px),linear-gradient(0deg,#e9e4e1b8 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:52px 52px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:360px;position:relative;overflow:hidden}.map-panel__pin{z-index:2;background:var(--blush);color:var(--white);font-family:var(--serif);border-radius:999px;padding:10px 14px;font-size:18px;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.map-panel__pin:before{background:var(--blush);content:"";width:15px;height:15px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.map-panel__road{background:#ffffffb3;border:1px solid #ded8d3;border-radius:999px;height:18px;position:absolute}.map-panel__road--one{width:130%;top:28%;left:-12%;transform:rotate(-8deg)}.map-panel__road--two{width:140%;top:64%;left:-20%;transform:rotate(14deg)}.map-panel__road--three{width:20px;height:120%;top:8%;left:58%;transform:rotate(22deg)}.final-cta{background:linear-gradient(180deg, var(--blush-soft), #fff7f8);text-align:center;padding:clamp(58px,7vw,90px) 22px}.final-cta h2{margin-bottom:10px}.final-cta p{color:var(--muted)}.link-note{min-height:22px;margin-top:18px;margin-bottom:0;font-size:13px}.site-footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:34px 22px 48px}.site-footer .brand__name{color:var(--ink);margin-bottom:6px}.site-footer p{margin-bottom:0;font-size:13px}.reserve-page,.admin-page{background:linear-gradient(180deg, #f7e4e86b, #fff0 360px), var(--paper);min-height:100vh}.reserve-shell{width:min(1040px,100%);margin:0 auto;padding:44px clamp(18px,4vw,44px) 72px}.reserve-hero{margin-bottom:32px}.reserve-hero h1,.complete-panel h1,.admin-header h1,.admin-login-panel h1{margin-bottom:12px;font-size:clamp(32px,4vw,54px)}.complete-panel h1{font-size:clamp(30px,3.4vw,44px)}.reserve-hero p,.complete-panel p,.admin-header p,.admin-section-head p{color:var(--muted);margin-bottom:0}.text-link{color:var(--sage-dark);text-underline-offset:5px;margin-bottom:18px;font-size:14px;text-decoration:underline;display:inline-flex}.reserve-form{gap:18px;display:grid}.reserve-step,.admin-login-panel,.complete-panel,.admin-bookings{border:1px solid var(--line);background:var(--white);border-radius:8px;box-shadow:0 14px 48px #2d2a280f}.reserve-step{padding:clamp(22px,4vw,34px)}.reserve-step__head,.admin-section-head{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:22px;display:flex}.reserve-step__head span{background:var(--blush-soft);color:#a75e6b;width:36px;height:36px;font-family:var(--serif);border-radius:50%;flex:none;place-items:center;display:inline-grid}.reserve-step__head h2,.admin-section-head h2{flex:1;margin-bottom:0;font-size:clamp(24px,2.6vw,34px)}.service-choice-grid,.slot-grid,.admin-stats{gap:12px;display:grid}.service-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-choice,.slot-choice,.selected-service,.admin-stats div{border:1px solid var(--line);background:var(--paper);border-radius:8px}.service-choice{cursor:pointer;gap:7px;min-height:132px;padding:18px;display:grid}.service-choice input,.slot-choice input{opacity:0;position:absolute}:is(.service-choice:has(input:checked),.slot-choice:has(input:checked)){border-color:var(--sage);box-shadow:inset 0 0 0 1px var(--sage);background:#f4f6f1}.service-choice__name{font-weight:700}.service-choice__meta,.service-choice__description{color:var(--muted);font-size:13px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.form-grid--compact{grid-template-columns:minmax(220px,.7fr) minmax(220px,1fr)}.form-field{color:var(--muted);gap:7px;margin-bottom:16px;font-size:13px;display:grid}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);background:var(--white);width:100%;min-height:48px;color:var(--ink);font:inherit;border-radius:8px;padding:10px 12px;font-size:15px}.form-field textarea{resize:vertical}.selected-service{gap:3px;padding:13px 16px;display:grid}.selected-service span{color:var(--muted);font-size:12px}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:8px}.slot-choice{cursor:pointer;place-items:center;min-height:50px;padding:10px;font-weight:700;display:grid}.slot-message{color:var(--muted);grid-column:1/-1;margin:0;font-size:14px}.slot-message--error,.form-alert{color:#9f3f4d}.check-field{color:var(--muted);align-items:flex-start;gap:10px;margin:12px 0;font-size:14px;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--sage);margin-top:5px}.form-alert{margin:4px 0 0;font-size:14px}.form-success{color:var(--sage-dark);margin:4px 0 0;font-size:14px}.form-alert--success{color:var(--sage-dark)}.submit-button,.ghost-button{min-height:52px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.submit-button{border:1px solid var(--sage);background:var(--sage);width:min(320px,100%);color:var(--white);padding:13px 18px}.submit-button:disabled{cursor:not-allowed;opacity:.55}.submit-button--link{margin-top:10px}.submit-button--small{width:100%;min-height:46px}.admin-header-actions{justify-content:flex-end;align-items:flex-start;gap:10px;display:flex}.ghost-button{border:1px solid var(--line);background:var(--white);color:var(--ink);padding:10px 16px;text-decoration:none}.complete-panel,.admin-login-panel{width:min(640px,100% - 36px);margin:0 auto;padding:clamp(26px,5vw,42px)}.complete-panel{transform:translateY(12vh)}.complete-kicker,.admin-kicker{color:var(--sage-dark);font-family:var(--serif)}.booking-code{background:var(--paper);border-radius:8px;gap:12px;margin:18px 0;padding:10px 14px;display:inline-flex}.admin-page{padding:34px clamp(18px,4vw,44px) 72px}.admin-page--login{place-items:start center;padding-top:10vh;display:grid}.admin-header{justify-content:space-between;gap:24px;width:min(1180px,100%);margin:0 auto 24px;display:flex}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));width:min(1180px,100%);margin:0 auto 18px}.admin-stats div{padding:18px}.admin-stats span{color:var(--muted);font-size:13px;display:block}.admin-stats strong{margin-top:4px;font-size:26px;display:block}.admin-bookings{width:min(1180px,100%);margin:0 auto;padding:clamp(18px,3vw,28px)}.admin-panel{border:1px solid var(--line);background:var(--white);border-radius:8px;width:min(720px,100%);margin:0 auto;padding:clamp(22px,4vw,34px);box-shadow:0 14px 48px #2d2a280f}.admin-login-form--compact{margin-top:14px}.password-reset{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.password-reset summary{color:var(--sage-dark);cursor:pointer;text-underline-offset:5px;font-size:14px;text-decoration:underline}.account-form{gap:12px;display:grid}.inline-action-link{width:fit-content;color:var(--sage-dark);text-underline-offset:5px;margin-top:10px;font-size:14px;font-weight:700;text-decoration:underline;display:inline-flex}.booking-admin-list{gap:14px;display:grid}.booking-admin-item{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(270px,340px);gap:18px;padding:18px;display:grid}.booking-admin-main h3{margin:10px 0 6px;font-size:18px}.booking-admin-main p{color:var(--muted);font-size:14px}.status-pill{background:var(--line);color:var(--ink);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-pill--requested{background:var(--blush-soft);color:#9f3f4d}.status-pill--approved{color:var(--sage-dark);background:#e4eddc}.status-pill--declined,.status-pill--cancelled,.status-pill--no_show{color:#6e5a51;background:#eee8e4}.booking-admin-detail{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.booking-admin-detail div{background:var(--white);border-radius:8px;padding:10px}.booking-admin-detail dt{color:var(--muted);font-size:12px}.booking-admin-detail dd{margin:0;font-size:14px}.admin-note-block,.empty-message{background:var(--white);color:var(--muted);border-radius:8px;margin:10px 0 0;padding:10px 12px;font-size:13px}.booking-admin-form .form-field{margin-bottom:10px}.admin-bookings--detail{margin-bottom:18px}.booking-detail-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:22px;display:grid}.booking-admin-detail--detail{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-detail-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.booking-detail-notes section{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:12px}.booking-detail-notes h3{color:var(--ink);margin-bottom:6px;font-size:14px}.booking-detail-notes p{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:14px}.booking-admin-form--detail{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:16px}.event-timeline{gap:10px;margin:0;padding:0;list-style:none;display:grid}.event-timeline li{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:4px;padding:12px;display:grid}.event-timeline time,.event-timeline span,.event-timeline p{color:var(--muted);font-size:13px}.event-timeline strong{font-size:15px}.event-timeline p{overflow-wrap:anywhere;margin:0}@media (max-width:980px){.site-header{grid-template-columns:1fr auto}.site-nav{display:none}.hero{background-position:58%;min-height:84vh;padding-top:112px}.hero__shade{background:linear-gradient(90deg,#fffffffa 0%,#ffffffd1 52%,#ffffff1a 100%),linear-gradient(#ffffff59,#ffffff0d)}.feature-grid,.steps{grid-template-columns:repeat(2,1fr)}.gallery-layout,.access-grid,.service-choice-grid,.booking-admin-item,.booking-detail-layout{grid-template-columns:1fr}.admin-header{display:grid}.admin-header-actions{justify-content:flex-start}.design-tags{justify-content:center}}@media (max-width:640px){.site-header{padding:13px 16px}.brand__name{font-size:25px}.brand__area{display:none}.header-cta{min-width:auto;padding:9px 12px;font-size:12px}.hero{background-position:64%;min-height:88vh;padding:104px 18px 46px}.hero__shade{background:linear-gradient(#fffffffa 0%,#ffffffeb 48%,#ffffff47 100%),linear-gradient(90deg,#ffffffed,#ffffff40)}h1{font-size:39px}.booking-button{width:100%}.form-grid,.form-grid--compact,.admin-stats,.booking-admin-detail,.booking-detail-notes{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-header,.reserve-step__head,.admin-section-head{flex-direction:column;align-items:flex-start}.admin-header-actions{flex-direction:column;width:100%}.admin-header-actions .ghost-button,.admin-header-actions form{width:100%}.admin-header-actions .ghost-button{justify-content:center}.section{padding:66px 18px}.feature-grid,.steps{grid-template-columns:1fr}.feature-grid article,.steps li{min-height:auto}.access-card div{grid-template-columns:1fr;gap:4px}.map-panel{min-height:280px}}
