@font-face{font-family:Pretendard;src:url(/pretendard-variable/PretendardVariable.woff2) format("woff2");font-weight:45 920;font-style:normal;font-display:swap}@font-face{font-family:Pretendard JP;src:url(/pretendard-jp-variable/PretendardJPVariable.woff2) format("woff2");font-weight:45 920;font-style:normal;font-display:swap}:root{color:#1f2933;background:#f4efe7;font-family:Pretendard,Pretendard JP,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--slate-950: #111827;--slate-900: #17202b;--slate-800: #233041;--slate-700: #334155;--beige-50: #fbf8f1;--beige-100: #f4efe7;--beige-200: #e9ddcc;--beige-300: #d9c6ab;--gold: #c99a5b;--ink-soft: #5d6673;--white: #fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,a,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{max-width:820px;margin-bottom:22px;color:#fffdf8;font-size:clamp(3.8rem,7vw,7.2rem);font-weight:880;line-height:.98;letter-spacing:0}h2{margin-bottom:0;color:var(--slate-950);font-size:clamp(2rem,4vw,4rem);font-weight:820;line-height:1.08;letter-spacing:0}h3{margin-bottom:10px;color:var(--slate-900);font-size:1.2rem}.hero{position:relative;min-height:92vh;overflow:hidden;color:var(--white)}.heroImage,.heroOverlay{position:absolute;inset:0;width:100%;height:100%}.heroImage{object-fit:cover}.heroOverlay{background:linear-gradient(90deg,#111827eb,#233041c7 48%,#11182738),linear-gradient(180deg,#1118271f,#1118278f)}.topNav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:22px 0}.brand,.navBookingButton,.primaryButton,.secondaryButton,.trustRow span,.contactActions a{display:inline-flex;align-items:center;justify-content:center;gap:9px}.brand{font-weight:850}.navLinks{display:flex;align-items:center;gap:28px;color:#fffdf8c7;font-size:.94rem}.navBookingButton,.secondaryButton{min-height:44px;border:1px solid rgb(255 253 248 / .28);border-radius:8px;color:var(--white);background:#fffdf81a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.navBookingButton{padding:0 16px}.heroContent{position:relative;z-index:1;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:14vh 0 17vh}.eyebrow{margin:0 0 13px;color:var(--gold);font-size:.78rem;font-weight:860;letter-spacing:.08em;text-transform:uppercase}.heroCopy{max-width:680px;color:#fffdf8d6;font-size:1.16rem;line-height:1.8}.heroActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.primaryButton,.secondaryButton{min-height:52px;padding:0 20px;border-radius:8px;border:0;font-weight:840}.primaryButton{background:linear-gradient(135deg,#d5aa6c,#b88445);color:#121820;box-shadow:0 18px 46px #11182747}.secondaryButton{min-width:136px}.trustRow{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.trustRow span{min-height:38px;padding:0 13px;border:1px solid rgb(255 253 248 / .22);border-radius:8px;color:#fffdf8d6;background:#fffdf814}.contentBand{padding:88px max(20px,calc((100% - 1180px)/2))}.sectionHeader{max-width:800px}.problemBand{background:var(--beige-50)}.problemLayout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:18px;margin-top:34px}.darkPanel{min-height:290px;padding:30px;border-radius:8px;background:linear-gradient(145deg,var(--slate-900),var(--slate-700));color:var(--white)}.darkPanel h3{margin-top:46px;color:var(--white);font-size:1.8rem}.darkPanel p{color:#fffdf8c2;line-height:1.7}.miniDashboard,.valueGrid,.flowStrip,.faqLayout{display:grid;gap:16px}.miniDashboard{grid-template-columns:repeat(3,minmax(0,1fr))}.miniDashboard div,.valueCard,.flowStrip article,.faqList article,.chatMock{border:1px solid rgb(35 48 65 / .12);border-radius:8px;background:var(--white);box-shadow:0 16px 45px #23304112}.miniDashboard div{display:flex;min-height:290px;flex-direction:column;justify-content:flex-end;padding:26px}.miniDashboard strong{color:var(--slate-900);font-size:3rem;line-height:1}.miniDashboard span,.valueCard p,.faqList p,.chatMock p,.flowStrip span{color:var(--ink-soft);line-height:1.65}.valueBand,.faqBand{background:var(--beige-100)}.valueGrid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px}.valueCard{min-height:232px;padding:26px}.valueCard svg,.flowStrip span,.chatHeader,.portfolioStrip svg{color:var(--gold)}.servicesBand{background:#e7dccb}.flowStrip{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:34px}.flowStrip article{min-height:140px;padding:22px}.flowStrip span,.flowStrip strong{display:block}.flowStrip strong{margin-top:28px;color:var(--slate-900)}.faqLayout{grid-template-columns:minmax(0,1fr) 360px;margin-top:34px}.faqList{display:grid;gap:14px}.faqList article,.chatMock{padding:24px}.chatMock{align-self:start;background:var(--slate-900);color:var(--white)}.chatMock strong{display:block;margin:14px 0 20px;line-height:1.65}.chatHeader{display:flex;gap:9px;align-items:center;margin-bottom:24px;font-weight:850}.contactBand{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--slate-950);color:var(--white)}.contactBand h2{color:var(--white);font-size:clamp(1.8rem,3vw,3rem)}.modalBackdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:#111827b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bookingModal{width:min(1180px,100%);max-height:min(860px,calc(100vh - 40px));overflow:auto;border:1px solid rgb(255 253 248 / .24);border-radius:8px;background:var(--beige-50);box-shadow:0 32px 100px #0006}.modalHeader,.bookingSummary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid var(--beige-200)}.modalHeader h2{font-size:clamp(1.7rem,3vw,2.5rem)}.iconButton{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--beige-200);border-radius:8px;color:var(--slate-900);background:var(--white)}.iconButton.compact{width:36px;height:36px}.bookingFlow{display:grid;grid-template-columns:.95fr 1.05fr 1.1fr;gap:16px;padding:24px}.bookingPane{min-width:0}.stepPane{padding:18px;border:1px solid var(--beige-200);border-radius:8px;background:var(--white)}.calendarPane{grid-row:span 2}.customerPane,.paymentPane{grid-column:span 1}.paneTitle,.calendarTop,.monthControls{display:flex;align-items:center}.paneTitle{gap:9px;margin-bottom:14px;color:var(--slate-900);font-weight:900}.calendarTop{justify-content:space-between;gap:12px}.monthControls{gap:8px}.monthControls strong{min-width:92px;text-align:center;font-size:.9rem}.serviceList,.stylistCards,.paymentOptions{display:grid;gap:10px}.serviceOption,.stylistCard,.paymentOption,.timeOption,.dayCell{border:1px solid var(--beige-200);border-radius:8px;color:var(--slate-900);background:#fffaf2}.serviceOption,.stylistCard{width:100%;padding:15px;text-align:left}.serviceOption{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:88px}.serviceOption strong,.serviceOption small,.stylistCard strong,.stylistCard span,.stylistCard small{display:block}.serviceOption small,.stylistCard small{margin-top:7px;color:var(--ink-soft);line-height:1.45}.stylistCard span{margin-top:5px;color:var(--gold);font-size:.86rem;font-weight:840}.serviceOption em{color:#9a6b35;font-style:normal;font-weight:900;white-space:nowrap}.serviceOption.selected,.stylistCard.selected,.paymentOption.selected,.timeOption.selected,.dayCell.selected{border-color:var(--gold);background:#f6ead7;box-shadow:inset 0 0 0 1px var(--gold)}.weekRow,.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:8px}.weekRow{margin:16px 0 8px;color:var(--ink-soft);font-size:.78rem;font-weight:900;text-align:center}.dayCell{aspect-ratio:1;min-width:0;font-weight:900}.dayCell.blank{border:0;background:transparent}.dayCell:disabled{cursor:not-allowed;color:#a9a39b;background:#ece5da}.timeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.timeOption,.paymentOption{min-height:44px;padding:0 12px;font-weight:840}.availabilityNote,.notificationPreview{margin:14px 0 0;color:var(--ink-soft);font-size:.92rem;line-height:1.55}.customerPane label{display:grid;gap:7px;margin-bottom:12px;color:var(--slate-700);font-size:.88rem;font-weight:840}.customerPane input,.customerPane textarea{width:100%;border:1px solid var(--beige-200);border-radius:8px;padding:12px 13px;color:var(--slate-900);background:#fffaf2;outline:none}.customerPane textarea{resize:vertical}.notificationPreview{display:flex;gap:9px;align-items:flex-start;padding:14px;border-radius:8px;background:#eef1f4}.bookingSummary{border-top:1px solid var(--beige-200);border-bottom:0;background:#ede3d4}.bookingSummary span,.bookingSummary strong,.bookingSummary small{display:block}.bookingSummary span{margin-bottom:6px;color:var(--ink-soft);font-size:.82rem;font-weight:900}.bookingSummary strong,.bookingSummary small{line-height:1.5}.bookingSummary small{color:#8b6a42}.confirmationModal{position:fixed;z-index:25;inset:50% auto auto 50%;width:min(520px,calc(100% - 32px));transform:translate(-50%,-50%);padding:30px;border-radius:8px;background:var(--white);box-shadow:0 32px 100px #0000006b}.confirmationModal h2{margin-bottom:12px;font-size:2rem}.confirmationModal>p{color:var(--ink-soft);line-height:1.7}.confirmClose{position:absolute;top:16px;right:16px}.ownerMessage{margin:20px 0;padding:18px;border-radius:8px;background:var(--slate-900);color:var(--white)}.ownerMessage div{display:flex;gap:9px;align-items:center}.ownerMessage p{margin:14px 0 0;color:#fffdf8c7;line-height:1.7}@media(max-width:1040px){.bookingFlow,.valueGrid,.flowStrip{grid-template-columns:repeat(2,minmax(0,1fr))}.calendarPane{grid-row:auto}}@media(max-width:920px){.navLinks{display:none}.heroContent{padding-top:10vh}.problemLayout,.faqLayout,.contactBand{grid-template-columns:1fr}.contactBand{display:grid}}@media(max-width:640px){.topNav,.heroContent{width:min(100% - 28px,1180px)}.hero{min-height:88vh}h1{font-size:clamp(3.05rem,15vw,5rem)}.heroCopy{font-size:1rem}.contentBand{padding:64px 16px}.miniDashboard,.valueGrid,.flowStrip,.bookingFlow{grid-template-columns:1fr}.miniDashboard div{min-height:150px}.modalBackdrop{padding:0;align-items:stretch}.bookingModal{max-height:100vh;border-radius:0}.modalHeader,.bookingSummary{align-items:flex-start;flex-direction:column}.modalHeader{position:sticky;top:0;z-index:1;background:var(--beige-50)}.modalHeader .iconButton{position:absolute;top:18px;right:18px}.bookingFlow,.modalHeader,.bookingSummary{padding:18px}.bookingSummary .primaryButton,.confirmationModal .primaryButton{width:100%}}
