@import url('/base.css');
:root{--paper:#fcf7f4;--ink:#3e293a;--violet:#633954;--pink:#d898b6;--muted:#7b6875;--line:#e5d6df;--soft:#f1e6ec;--white:#fffdfb;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a3508d;outline-offset:4px}button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}h1{font-size:clamp(46px,5.4vw,82px);letter-spacing:-3px}h2{font-size:clamp(30px,3vw,43px);letter-spacing:-1.3px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#925775}p{margin-top:20px}button{border:0}label{display:block;font-size:13px;font-weight:600}input,select,textarea{display:block;width:100%;padding:12px 14px;background:var(--white);border:1px solid var(--line);border-radius:9px;color:var(--ink);margin:7px 0 17px;min-width:0}textarea{resize:vertical}[hidden]{display:none!important}.wrap{width:min(1200px,88%);margin-inline:auto}.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:600;line-height:1.6}.ambient{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none}.ambient i{position:absolute;width:650px;height:650px;border-radius:50%;background:radial-gradient(ellipse,#efc9df55,transparent 68%);right:-180px;top:10%;animation:float 18s ease-in-out infinite alternate}.ambient i:nth-child(2){background:radial-gradient(ellipse,#d1b7e343,transparent 68%);top:60%;left:-200px;animation-delay:-8s}.ambient i:nth-child(3){width:350px;height:350px;top:0;left:25%;animation-delay:-12s}@keyframes float{to{transform:translate(80px,-90px) scale(1.25)}}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);gap:20px;background:#fcf7f4d9}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand>span{font-family:Georgia,serif;font-size:24px;line-height:1.2}.brand small{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:2.6px;margin-top:7px}nav{display:flex;align-items:center;gap:29px;font-size:12px}nav a{position:relative;padding:10px 0;white-space:nowrap}nav a.active:after{content:'';position:absolute;bottom:0;height:2px;left:0;right:0;background:var(--violet)}nav .private{border:1px solid var(--line);border-radius:30px;padding:9px 17px;font-size:11px}.dot{display:inline-block;background:var(--pink);height:4px;width:4px;border-radius:50%;vertical-align:middle;margin-left:3px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;padding-top:60px;padding-bottom:66px}.hero-copy .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:24px}.eyebrow>span:empty{width:6px;height:6px;background:#9f6d88;border-radius:50%}.hero-copy h1{line-height:1.04}.hero-copy>p{max-width:390px;color:var(--muted);line-height:1.85;margin-top:25px;font-size:14px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--violet);color:#fff8f5;border:1px solid var(--violet);padding:15px 22px;border-radius:6px;font-size:12px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#7d4c6b;transform:translateY(-2px)}.button:disabled{opacity:.4;transform:none}.button span{font-size:17px}.button.outline{background:transparent;color:var(--violet);border-color:#c8abbc}.button.outline:hover{background:var(--soft)}.text-link{font-size:12px;background:none;padding:5px 0;border-bottom:1px solid #cdb4c4}.hero-note{display:flex;gap:15px;align-items:center;font-size:10px;color:var(--muted);line-height:1.8;margin-top:34px}.hero-note strong{font-weight:400;color:var(--ink)}.spark{font-size:40px;color:#a46b8b}.hero-visual{position:relative;padding:16px 16px 0;border:1px solid #d8becd;border-radius:220px 220px 8px 8px;background:#efdee766;max-width:490px;width:100%;justify-self:end}.hero-photo{width:100%;height:480px;object-fit:cover;border-radius:210px 210px 4px 4px;object-position:53% center}.photo-label{position:absolute;top:65px;left:-55px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:2.8px}.photo-caption{display:flex;justify-content:space-between;align-items:center;padding:18px 13px;font-family:Georgia,serif;font-size:24px;line-height:1.2}.photo-caption>span:last-child{font-size:50px;color:#a46b8b}.orbit{position:absolute;right:-29px;top:33px;width:103px;height:103px;display:grid;place-content:center;background:#f3e5ec;border:1px solid #d8becd;border-radius:50%;font-size:8px;letter-spacing:1px;transform:rotate(15deg)}.ribbon{background:#eeddE6;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 2%;display:flex;justify-content:space-evenly;gap:22px;font-size:10px;letter-spacing:2.4px;white-space:nowrap;overflow:hidden}.ribbon span{color:#a16d8c}.about{display:grid;grid-template-columns:.8fr 1fr;gap:10%;padding-block:105px;align-items:center}.portrait{position:relative;margin-right:25px}.portrait img{width:100%;aspect-ratio:1/1.13;object-fit:cover;border-radius:170px 170px 6px 6px}.portrait>span{position:absolute;right:-28px;bottom:27px;background:var(--paper);padding:14px 25px;font:italic 25px Georgia;border:1px solid var(--line);transform:rotate(-6deg)}.about h2{margin-top:20px}.about p:not(.eyebrow){color:var(--muted);font-size:14px}.about .text-link{display:inline-block;margin-top:24px}.education{border-top:1px solid var(--line);padding-block:65px}.education h2{margin-top:15px}.review-note{font-size:12px;color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;margin-top:28px}.course-grid>span{border-bottom:1px solid var(--line);padding:22px 0;font-size:13px}.course-grid b{font:italic 20px Georgia;color:#b07e9b;padding-right:15px}.location{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding-block:65px 90px}.location h2{margin-top:20px}.location p{font-size:13px}.location .button{margin-top:25px}.location-art{background:repeating-linear-gradient(30deg,transparent 0 56px,#d5bfce70 57px 59px,transparent 60px 100px),repeating-linear-gradient(120deg,#eee4ed 0 90px,#d5bfce70 91px 93px,#eee4ed 94px 150px);border-radius:140px 140px 6px 6px;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:330px;gap:8px;border:10px solid var(--white);outline:1px solid var(--line)}.location-art .pin{font-size:65px;line-height:1}.location-art strong{font:italic 31px Georgia;background:#eee4ed}.location-art>span:not(.pin){letter-spacing:2px;font-size:10px;background:#eee4ed}.location-art small{background:#eee4ed}.page-heading{padding:65px 0 38px}.page-heading h1{margin-top:17px;font-size:clamp(44px,4.3vw,66px)}.page-heading>p:not(.eyebrow){color:var(--muted);max-width:580px;font-size:14px}.booking-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;padding-bottom:80px}.panel{background:#fffdfbcc;border:1px solid var(--line);border-radius:12px;padding:32px}.step-label{font-family:Georgia,serif;font-style:italic;color:#a56f8e;font-size:22px;display:flex;align-items:center;gap:12px;margin-bottom:27px}.step-label span{font-family:Arial,sans-serif;font-style:normal;color:var(--ink);font-size:14px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-header h2{font:20px Georgia;text-transform:capitalize;letter-spacing:0}.icon-button{width:36px;height:36px;border-radius:50%;background:var(--soft)}.icon-button:disabled{opacity:.3}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.weekdays{font-size:10px;color:var(--muted);padding:10px 0}.calendar button{border-radius:50%;aspect-ratio:1;background:transparent;border:1px solid transparent;max-height:50px;justify-self:center;width:100%;max-width:50px;font-size:13px}.calendar button:hover:not(:disabled){background:var(--soft)}.calendar button.today{border-color:#b08aa1}.calendar button.selected{background:var(--violet)!important;color:white}.calendar button:disabled{color:#c7bac2}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px;min-height:117px}.slots button{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:14px 9px;font-size:16px}.slots button.selected{background:var(--violet);color:white}.slots button:disabled{background:#eee9ec;color:#aaa0a7;text-decoration:line-through}.slots .error{grid-column:1/-1}.full{width:100%;margin-top:20px}.booking-help{display:flex;gap:14px;align-items:center;font-size:12px;color:var(--muted);margin-top:23px;border-top:1px solid var(--line);padding-top:20px}.booking-help>span{font-size:11px}.shop{text-align:center;padding-block:70px 100px}.shop .eyebrow{margin-top:25px}.shop h1{margin-top:20px;font-size:65px}.shop>p:not(.eyebrow){max-width:430px;margin-inline:auto;color:var(--muted);font-size:14px}.shop-symbol{width:110px;height:110px;border:1px solid #d7b9ca;border-radius:50%;display:grid;place-content:center;margin:auto;font:70px Georgia;color:#a16d8c;position:relative;background:var(--soft)}.shop-symbol span{position:absolute;font-size:35px;right:1px;top:-7px}.pill{display:inline-block;margin-top:26px;font-size:11px;background:var(--soft);border:1px solid var(--line);padding:6px 16px;border-radius:30px}.shop .button{margin-top:30px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.filter{background:transparent;border:1px solid var(--line);border-radius:30px;padding:8px 18px;font-size:11px}.filter.active{background:var(--violet);color:white;border-color:var(--violet)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 22px}.gallery-card{background:none;text-align:left;padding:0}.gallery-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:100px 100px 4px 4px;transition:filter .2s}.gallery-card:nth-child(3n+2) img{border-radius:4px}.gallery-card:hover img{filter:brightness(1.08)}.gallery-card .caption{display:flex;justify-content:space-between;align-items:center;padding-top:13px;font-family:Georgia,serif;font-size:20px}.gallery-card small{display:block;font-family:Arial,sans-serif;font-size:9px;color:var(--muted);letter-spacing:1.4px;margin-top:5px}.portfolio-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:80px}.login{max-width:430px;margin:0 auto 80px}.login h2{font-size:28px;margin-bottom:28px}.admin-toolbar{display:flex;align-items:center;gap:20px;margin-bottom:25px}.admin-toolbar h2{margin-right:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat{padding:20px;background:var(--soft);border-radius:8px;display:flex;gap:18px;align-items:center;font-size:12px}.stat b{font:32px Georgia}.admin-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:15px;align-items:center;margin-top:25px}.admin-list{display:grid;gap:12px;margin:20px 0 70px}.appointment{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:20px;display:flex;gap:20px;align-items:center}.appointment .when{min-width:100px;border-right:1px solid var(--line);font-size:12px;padding-right:20px}.when strong{display:block;font:27px Georgia}.appointment .info{flex:1;min-width:0}.info h3{font-size:22px;overflow-wrap:anywhere}.info p{margin-top:5px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.status{display:inline-block;background:var(--soft);font-size:10px;padding:3px 9px;border-radius:20px;margin-top:7px}.status.confirmed{background:#e7eee7;color:#416446}.status.cancelled{background:#ece9ea;color:#7b7478}.empty{padding:35px;text-align:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}footer{border-top:1px solid var(--line);padding-block:28px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px;color:var(--muted)}footer .brand>span{font-size:19px;color:var(--ink)}footer .brand small{font-size:7px}dialog{width:min(480px,92vw);border:1px solid var(--line);border-radius:15px;background:var(--paper);color:var(--ink);padding:40px;max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #30202e44}dialog::backdrop{background:#26132599;backdrop-filter:blur(5px)}dialog h2{font-size:38px;margin-top:13px}dialog p{font-size:13px}dialog label{margin-top:20px}.close{position:absolute;right:13px;top:9px;background:none;font-size:29px;color:var(--muted);padding:0 8px}.error{color:#ad304d;font-size:12px;margin-top:12px;min-height:0}.error:empty{display:none}.trap{position:absolute;left:-10000px}.success-icon{width:55px;height:55px;background:var(--soft);border-radius:50%;font-size:28px;display:grid;place-content:center}.lightbox{width:auto;max-width:92vw;padding:35px 20px 15px;background:var(--paper)}.lightbox img{max-height:72dvh;object-fit:contain;margin:auto}.lightbox p{text-align:center;margin-top:10px;font-family:Georgia;font-size:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-row label{min-width:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--violet);color:white;padding:14px 25px;border-radius:9px;z-index:10;font-size:13px;max-width:90vw}.skip{position:fixed;top:-100px;left:15px;padding:10px;background:white;z-index:30}.skip:focus{top:10px}
@media(min-width:1500px){.hero{padding-block:80px}.hero-photo{height:540px}}@media(max-width:1000px){header{padding-inline:4%;gap:10px}nav{gap:18px}.brand>span{font-size:21px}.hero{gap:7%}.hero-photo{height:420px}.orbit{right:-14px;width:80px;height:80px;font-size:6px}.photo-label{left:-30px}.hero-copy h1{font-size:64px}.actions{gap:16px}.hero-visual{padding:10px 10px 0}.photo-caption{font-size:21px}.admin-filters{grid-template-columns:1fr 1fr}.course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){header{height:auto;display:block;padding:19px 6% 12px}.brand>span{font-size:23px}.brand img{width:42px;height:42px}nav{margin-top:19px;gap:0;justify-content:space-between;font-size:11px}nav .private{border:0;padding:10px 0;font-size:10px}nav .private>span{font-size:10px}.wrap{width:88%}.hero{grid-template-columns:1fr;gap:42px;padding-top:37px;padding-bottom:38px}.hero-copy h1{font-size:64px;letter-spacing:-2.8px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.6px}.hero-copy>p{font-size:13px;max-width:340px}.hero-note{margin-top:25px}.hero-visual{width:88%;justify-self:center;max-width:410px}.hero-photo{height:390px}.photo-label{left:-26px;top:85px;font-size:7px}.photo-caption{font-size:22px;padding:14px 10px}.ribbon{font-size:8px;justify-content:flex-start;padding:13px 6%}.about{grid-template-columns:1fr;gap:45px;padding-block:60px}.portrait{width:80%;margin-left:3%}.portrait img{aspect-ratio:1}.about h2{font-size:36px}.about p:not(.eyebrow){font-size:13px}.education{padding-block:40px}.course-grid{gap:0 18px}.course-grid>span{font-size:11px;display:flex;align-items:center}.course-grid b{font-size:18px;padding-right:10px}.location{grid-template-columns:1fr;gap:40px;padding-block:40px 65px}.location-art{min-height:300px}.page-heading{padding-top:38px}.page-heading h1{font-size:46px;letter-spacing:-2px}.page-heading>p:not(.eyebrow){font-size:13px}.booking-layout{grid-template-columns:1fr;gap:18px;padding-bottom:50px}.panel{padding:24px}.calendar button{max-height:45px}.shop{padding-top:50px}.shop h1{font-size:51px;letter-spacing:-2px}.gallery{grid-template-columns:repeat(2,1fr);gap:22px 15px}.gallery-card img{border-radius:65px 65px 3px 3px}.gallery-card .caption{font-size:17px}.gallery-card small{font-size:7px;letter-spacing:.8px}.filters{gap:8px}.filter{padding:7px 11px;font-size:10px}.portfolio-cta{display:block;padding-block:50px}.portfolio-cta .button{margin-top:25px}footer{flex-direction:column;text-align:center;gap:18px;padding-block:25px}.login{width:88%}.admin-toolbar{flex-wrap:wrap;gap:12px}.admin-toolbar h2{font-size:31px}.admin-toolbar .button{padding:10px;font-size:10px}.stats{gap:8px}.stat{display:block;padding:15px 10px;font-size:10px}.stat b{display:block;font-size:27px}.admin-filters{gap:8px}.appointment{gap:12px;flex-wrap:wrap;padding:16px}.appointment .when{min-width:85px;padding-right:12px}.appointment .button{padding:8px 15px}.appointment .info{min-width:150px}.form-row{gap:10px}dialog{padding:32px 24px}dialog h2{font-size:34px}.lightbox{padding:35px 12px 15px}.full{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Unha esmaltada como cursor, mantendo o cursor de texto nos formulários. */
@media (pointer:fine){body,a,button,.gallery-card{cursor:url('/assets/nail-cursor.svg') 3 2,auto}a,button{cursor:url('/assets/nail-cursor.svg') 3 2,pointer}input,textarea{cursor:text}button:disabled{cursor:not-allowed}}
body{isolation:isolate}.ambient{z-index:-1;background:linear-gradient(125deg,#fcf7f4,#faedf5 45%,#eee2f4 75%,#fcf7f4);background-size:300% 300%;animation:rose-violet 20s ease-in-out infinite}.ambient:before,.ambient:after{content:'✧';position:absolute;color:#a776b333;font:70px Georgia;left:8%;top:40%;animation:sparkle-drift 14s ease-in-out infinite alternate}.ambient:after{left:auto;right:8%;top:70%;font-size:100px;animation-delay:-7s}@keyframes rose-violet{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes sparkle-drift{from{transform:translateY(45px) rotate(-10deg);opacity:.3}to{transform:translateY(-65px) rotate(25deg);opacity:.8}}
.gallery-bottom{text-align:center;padding-top:35px}.gallery-count{color:var(--muted);font-size:12px}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:10px}.lightbox-controls p{margin:0;font:12px Arial}.lightbox-controls button{padding:7px 14px;border-radius:30px;background:var(--soft)}.lightbox img{min-width:220px}.slot-note{font-size:11px;color:var(--muted);margin-top:0}.gallery-card img{background:var(--soft)}
@media(min-width:721px) and (max-width:1000px){.hero-copy h1{font-size:54px}}
@media(prefers-reduced-motion:reduce){.ambient,.ambient:before,.ambient:after{animation:none!important}}
.gallery-card img{height:auto}
