:root{--wine:#722f45;--ink:#382b2e;--muted:#77696c;--line:#e5dcd7;--cream:#fcf9f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cream);color:var(--ink);font:14px Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation} :focus-visible{outline:3px solid #ad697e;outline-offset:4px}.wrap{max-width:1200px;padding-inline:40px;margin:auto}.announcement{background:var(--wine);color:white;text-align:center;padding:11px;font-size:11px;letter-spacing:1px}.nav{height:104px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font:43px/.85 Georgia,serif;letter-spacing:-3px;color:var(--wine)}.brand small{display:block;font:8px/1.5 Arial;letter-spacing:3px;margin-top:10px}.nav nav{display:flex;gap:34px;font-size:12px}button,.button{border:1px solid var(--line);border-radius:6px;background:transparent;padding:13px 18px;font-size:12px}.primary{background:var(--wine);color:#fff;border-color:var(--wine);padding:17px 22px}.primary:hover{background:#572235}#count{background:#f2e5e3;padding:4px 7px;border-radius:50%;margin-left:8px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding-top:30px;padding-bottom:68px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:var(--wine)}h1,h2{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(44px,5.1vw,68px);line-height:1.09;letter-spacing:-2.8px;margin:25px 0}h1 em{color:var(--wine)}p{line-height:1.8;color:var(--muted)}.hero p{max-width:375px}.actions{display:flex;gap:23px;align-items:center;margin-top:30px;flex-wrap:wrap}.text-link{font-size:11px;border-bottom:1px solid #b8a5a7;padding-bottom:5px}.hero-note{border-top:1px solid var(--line);margin-top:35px;padding-top:22px;font-size:11px;color:var(--muted)}.hero-art{height:460px;position:relative;border-radius:160px 160px 8px 8px;overflow:hidden;background:radial-gradient(ellipse at 30% 20%,#f4e8e1,#dcc1bb)}.art-label{position:absolute;top:36px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:3px;color:#805f61}.art-circle{position:absolute;inset:70px 35px;border:1px solid #fff7;border-radius:50%}.nail{position:absolute;width:93px;height:207px;border-radius:50% 50% 39% 39%;box-shadow:14px 24px 22px #6f3d3d30,inset 4px 2px 8px #fff7,inset -5px -3px 9px #50132125}.nail:after{content:'';position:absolute;left:18%;top:16%;height:46%;width:10%;background:#ffffff85;border-radius:50%;filter:blur(3px)}.one{left:15%;top:143px;transform:rotate(-26deg);background:linear-gradient(110deg,#d992a4,#edbec4 47%,#d391a5)}.two{left:40%;top:100px;transform:rotate(-9deg);background:radial-gradient(ellipse at 50% -10%,#fff7ec 0 29%,transparent 30%),linear-gradient(100deg,#c48e83,#edc9bc 50%,#c88e85)}.three{left:65%;top:155px;transform:rotate(17deg);background:linear-gradient(105deg,#57172f,#963b51 45%,#56172f)}.spark{position:absolute;right:40px;top:100px;color:white;font-size:42px}.caption{position:absolute;bottom:28px;left:28px;font:23px/1.15 Georgia;color:#603741}.seal{position:absolute;right:20px;bottom:22px;width:82px;height:82px;border-radius:50%;border:1px solid #916974;display:grid;place-content:center;text-align:center;font-size:8px;line-height:1.8;letter-spacing:1px;transform:rotate(12deg)}.values{display:flex;justify-content:center;gap:60px;border-block:1px solid var(--line);padding:22px;color:#796065;font-size:11px;letter-spacing:1px}.values i{color:#b38086}.section{padding-top:74px;padding-bottom:76px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}h2{font-size:42px;line-height:1.15;letter-spacing:-1.5px;margin:13px 0 0}.heading p{font-size:12px;margin:0}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.filters button{border-radius:30px;padding:10px 19px;color:var(--muted);font-size:11px}.filters [aria-pressed=true]{background:var(--wine);color:white;border-color:var(--wine)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fffdfa;border:1px solid var(--line);padding:25px;border-radius:9px;display:flex;flex-direction:column}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.service-top span{font:30px Georgia;color:var(--wine)}.service-top small{font-size:10px;color:var(--muted);background:#f2ece6;padding:6px 9px;border-radius:20px}.service-card h3{font:23px Georgia;margin:0 0 12px}.service-card p{font-size:12px;flex:1}.service-bottom{border-top:1px solid var(--line);padding-top:17px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.service-bottom span{font-size:10px;color:var(--muted)}.service-bottom button{border:0;color:var(--wine);padding:8px}.inspiration{background:#f3ece7}.design-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.design-art{height:220px;position:relative;overflow:hidden;background:var(--bg);border-radius:110px 110px 8px 8px}.design-art .nail{width:51px;height:126px;top:49px;left:calc(50% - 26px);transform:rotate(-10deg);background:var(--polish)}.design-art .nail:first-child{left:calc(50% - 80px);top:70px;transform:rotate(-23deg)}.design-art .nail:last-child{left:calc(50% + 27px);top:68px;transform:rotate(9deg)}.design-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:10px}.design-bottom h3{font:18px Georgia;margin:0 0 5px}.design-bottom small{color:var(--muted);font-size:10px}.favorite{padding:0;border:1px solid #c9b4b4;width:38px;height:38px;border-radius:50%;color:var(--wine);font-size:20px;flex-shrink:0}.favorite[aria-pressed=true]{color:#fff;background:var(--wine)}.booking{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.booking>div>p{margin-top:25px;max-width:340px}.booking ol{padding-left:20px;margin:30px 0}.booking li{padding:15px 0;font-size:12px;border-bottom:1px solid var(--line)}.booking li::marker{color:#a57981}.notice{background:#f0e7e3;padding:18px;border-radius:6px;font-size:11px;line-height:1.8;color:#6e555c}form{padding:30px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px #643a4610}form h3{font:25px Georgia;margin:0 0 25px;display:flex;justify-content:space-between}form h3 span{color:var(--wine)}label{display:block;font-size:11px;margin:0 0 8px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;background:#fdfbf9;color:var(--ink);margin-bottom:19px;min-width:0;font-size:12px}textarea{resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.row>div{min-width:0}form>.primary{width:100%}form>small{display:block;text-align:center;font-size:10px;line-height:1.7;color:var(--muted);margin-top:13px}#status{font-size:12px;margin:10px 0 0;color:var(--wine)}.care{border-top:1px solid var(--line);padding-top:50px;padding-bottom:60px;display:grid;grid-template-columns:1fr 1.3fr;gap:45px}.care h2{font-size:32px}.tips{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tips article>span{font-size:9px;letter-spacing:1px;color:var(--wine)}.tips h3{font:18px/1.3 Georgia;margin:16px 0 8px}.tips p{font-size:11px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:32px}footer p,footer>a:last-child{font-size:11px}dialog{border:1px solid var(--line);border-radius:16px;padding:30px;width:min(600px,calc(100% - 24px));max-height:85dvh;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#30202580;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-heading h2{font-size:32px}.dialog-heading button{font-size:24px;padding:4px 13px}dialog>p{font-size:11px}.request{padding:20px 0;border-top:1px solid var(--line)}.request h3{font:22px Georgia;margin:0 0 8px}.request p{font-size:12px;white-space:pre-line;overflow-wrap:anywhere}.request button{font-size:11px;margin:0 8px 8px 0}body:has(dialog[open]){overflow:hidden}@media(max-width:900px){.wrap{padding-inline:25px}.hero{gap:25px}.hero-art{height:410px}.nail{width:75px;height:180px}.nav nav{gap:18px}.values{gap:25px}.booking{gap:35px}.care{grid-template-columns:1fr}.service-card{padding:20px}.design-art .nail{width:42px;height:110px}}@media(max-width:650px){.announcement{font-size:9px;letter-spacing:.3px}.nav{height:88px}.nav nav{display:none}.wrap{padding-inline:20px}.brand{font-size:37px}.outline{font-size:10px;padding:10px}.hero{grid-template-columns:1fr;padding-top:25px;padding-bottom:35px;gap:35px}h1{font-size:51px}.hero-art{height:370px;max-width:430px;width:100%;margin:auto}.nail{width:82px;height:180px}.one{top:120px}.two{top:80px}.three{top:123px}.caption{font-size:20px}.values{gap:13px;padding:17px 15px;font-size:9px;letter-spacing:0}.values span:last-child,.values i:last-of-type{display:none}.section{padding-top:48px;padding-bottom:48px}.heading{display:block}h2{font-size:35px}.heading p{margin-top:17px}.service-grid{grid-template-columns:1fr}.service-top{margin-bottom:16px}.design-grid{grid-template-columns:1fr 1fr;gap:25px 14px}.design-art{height:200px}.design-bottom h3{font-size:16px}.booking{grid-template-columns:1fr;gap:30px}form{padding:22px}.care{padding-block:35px}.tips{grid-template-columns:1fr;gap:15px}.tips h3{margin-top:8px}footer{flex-wrap:wrap}footer p{max-width:120px}dialog{padding:22px}.dialog-heading h2{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand{font-size:34px;letter-spacing:-1.5px;line-height:1}.request>.button{display:inline-block;margin:0 8px 8px 0;font-size:11px}@media(max-width:650px){.nav{gap:12px}.brand{font-size:26px;letter-spacing:-1px}.brand small{font-size:7px;letter-spacing:2px}.nav .outline{padding:10px 8px;white-space:nowrap}}

/* Fluid layout: content determines the number of columns. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-wrap:break-word}
.wrap{width:100%;padding-inline:clamp(16px,4vw,40px)}
main,section,form,.hero>*,.booking>*,.care>*,.heading>*,.design-bottom>div{min-width:0}
h1{font-size:clamp(2.25rem,5.1vw,4.25rem);letter-spacing:-.04em;overflow-wrap:anywhere}
h2{font-size:clamp(1.8rem,3.5vw,2.625rem);letter-spacing:-.035em}
.nav{height:auto;min-height:104px;padding-block:20px;flex-wrap:wrap}
.nav .brand{font-size:clamp(1.6rem,3vw,2.125rem);max-width:100%}
.nav nav{flex-wrap:wrap;justify-content:center;gap:clamp(12px,2vw,34px)}
.nav nav a{display:inline-flex;align-items:center;min-height:44px}
button,.button{min-height:44px;max-width:100%;white-space:normal}
.button{text-align:center}
.favorite{width:44px;height:44px}
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.hero-art{width:100%;height:auto;aspect-ratio:1.08;min-height:0;max-width:520px;border-radius:40% 40% 8px 8px}
.hero-art .nail{width:19%;height:45%}
.hero-art .one{top:31%}.hero-art .two{top:22%}.hero-art .three{top:34%}
.art-label{top:8%;font-size:clamp(7px,1vw,9px)}
.art-circle{inset:15% 8%}.spark{top:22%;right:8%;font-size:clamp(24px,4vw,42px)}
.caption{left:6%;bottom:6%;font-size:clamp(16px,2vw,23px)}
.seal{right:5%;bottom:5%;width:18%;height:auto;aspect-ratio:1;font-size:clamp(6px,.8vw,8px)}
.values{flex-wrap:wrap;gap:clamp(12px,4vw,60px);text-align:center}
.heading{flex-wrap:wrap}
.service-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.service-top,.service-bottom{flex-wrap:wrap}
.design-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.design-art{height:auto;aspect-ratio:1.1}
.design-art .nail{width:20%;height:57%;left:40%;top:22%}
.design-art .nail:first-child{left:19%;top:32%}
.design-art .nail:last-child{left:61%;top:31%}
.design-bottom{align-items:flex-start}
.booking{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,90px)}
form{padding:clamp(16px,3vw,30px)}
form h3{gap:12px;font-size:clamp(21px,2.5vw,25px)}
.row{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:0 15px}
input,select,textarea{font-size:16px;max-width:100%;min-height:46px}
input[type=date],input[type=time]{display:block;min-width:0;appearance:none;-webkit-appearance:none}
input::-webkit-date-and-time-value{text-align:left}
label{font-size:12px;line-height:1.5}
.care{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.tips{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
footer{flex-wrap:wrap}footer>a:last-child{display:inline-flex;align-items:center;min-height:44px}
dialog{max-width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;padding:clamp(16px,4vw,30px)}
.dialog-heading{align-items:flex-start;gap:10px}.dialog-heading h2{font-size:clamp(24px,5vw,32px)}
.dialog-heading button{flex-shrink:0;min-width:44px}
.request>.button,.request button{white-space:normal;overflow-wrap:anywhere}
@media(max-width:850px){
 .hero,.booking,.care{grid-template-columns:minmax(0,1fr)}
 .hero-art{margin-inline:auto;max-width:480px}
 .hero p,.booking>div>p{max-width:560px}
 .nav{gap:12px 20px}.nav nav{order:3;flex-basis:100%}
}
@media(max-width:650px){
 .nav{min-height:88px;justify-content:space-between}
 .nav nav{display:flex;gap:24px}
 .nav .outline{white-space:normal}
 .hero{gap:28px}
 .design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .design-bottom{gap:8px}.design-bottom h3{font-size:17px}
 .section{padding-block:clamp(32px,8vw,48px)}
 .tips{grid-template-columns:1fr}
 .actions{gap:12px}.text-link{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:360px){
 .nav .brand{flex-basis:100%;text-align:center}
 .nav .outline{margin-inline:auto}
 .nav nav{gap:16px}
 .design-grid{grid-template-columns:minmax(0,1fr)}
 .actions{align-items:stretch;flex-direction:column}
 .actions a{justify-content:center;text-align:center}
 .values i{display:none}
 .values{flex-direction:column}
 .caption{font-size:16px}
}
@media(max-height:500px) and (orientation:landscape){dialog{max-height:calc(100dvh - 16px);margin-block:8px}}
