
:root{
  --bg:#08070b;--panel:#0e0c12;--panel2:#15121b;--text:#f7f0f8;--muted:#b8acbb;
  --purple:#b346ff;--purple2:#7421a6;--soft:#dca8ff;--line:#3a2044;--danger:#ff3d7f;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:
  radial-gradient(circle at 65% 0%,rgba(146,38,210,.12),transparent 35%),
  radial-gradient(circle at 20% 60%,rgba(130,20,180,.08),transparent 30%),var(--bg);
  color:var(--text);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.site-header{height:74px;display:grid;grid-template-columns:270px 1fr 240px;align-items:center;gap:24px;padding:0 4vw;
  position:sticky;top:0;z-index:30;background:rgba(8,7,11,.93);backdrop-filter:blur(14px);border-bottom:1px solid #27182e}
.brand img{width:255px;height:62px;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;justify-content:center;gap:34px;font-family:"Cormorant Garamond",serif;font-size:17px}
.desktop-nav a{padding:10px 0;border-bottom:1px solid transparent}.desktop-nav a:hover,.desktop-nav .active{color:var(--soft);border-color:var(--purple)}
.header-cta,.btn{border:1px solid var(--purple);border-radius:10px;padding:13px 24px;font-family:"Cormorant Garamond",serif;font-weight:700;font-size:17px;text-align:center;cursor:pointer}
.header-cta,.btn.primary{background:linear-gradient(180deg,#8b22c7,#42135f);box-shadow:0 0 18px rgba(179,70,255,.45)}
.btn.secondary{background:#0b0910;border-color:#7d368e}.menu-btn{display:none;background:none;color:#fff;border:0;font-size:28px}

.hero{display:grid;grid-template-columns:42% 58%;min-height:520px;border-bottom:1px solid #33203b;overflow:hidden}
.hero-copy{padding:58px 5vw 36px;z-index:2}
.eyebrow{font-size:12px;letter-spacing:.35em;color:var(--soft);font-weight:600}
h1,h2,h3,.steps-title{font-family:"Cormorant Garamond",serif}
.hero h1{font-size:64px;line-height:.89;margin:18px 0;color:#eadcf0;font-weight:700}
.hero h1 span{background:linear-gradient(90deg,#efe1f6,#b34cff);-webkit-background-clip:text;color:transparent}
.hero-text{font-family:"Cormorant Garamond",serif;font-size:20px;line-height:1.25;max-width:660px;color:#ddd0df}
.hero-actions{display:flex;gap:15px;margin:24px 0}.hero-actions .btn{min-width:210px}
.trust-row{display:flex;gap:35px;margin-top:26px;color:#d5c6d8;font-family:"Cormorant Garamond",serif;font-size:17px}
.trust-row span{color:#df83ff;font-size:24px;margin-right:7px}
.hero-visual{position:relative;min-height:520px}.hero-visual>img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05)}
.hero-gradient{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(8,7,11,.25) 25%,transparent 55%,rgba(8,7,11,.2))}
.floating-note{position:absolute;right:7%;top:25%;font-family:"Cormorant Garamond",serif;color:#e889ff;font-size:29px;font-style:italic;transform:rotate(-4deg);text-shadow:0 0 10px #a923ff}

.steps{display:grid;grid-template-columns:220px repeat(3,1fr) 180px;gap:10px;padding:10px 3vw;border-bottom:1px solid #382043;align-items:stretch}
.steps-title,.steps-cat{display:flex;align-items:center;justify-content:center;text-align:center;letter-spacing:.17em;color:#d8b9e8;font-size:18px}
.steps-cat{font-size:14px;line-height:1.6}.step-card{display:flex;gap:16px;align-items:center;padding:18px;border:1px solid #452154;border-radius:8px;background:linear-gradient(145deg,#111018,#0d0b11)}
.step-icon{width:68px;height:68px;border:1px solid #7f339d;border-radius:50%;display:grid;place-items:center;color:#e4a2ff;font-size:28px;position:relative;flex:none}
.step-icon span{position:absolute;bottom:-8px;left:-6px;background:#3c104f;border:1px solid #a542d2;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:14px}
.step-card h3{margin:0 0 4px;font-size:19px}.step-card p{margin:0;color:#bcaec0;font-size:13px;line-height:1.4}

.content-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:12px;padding:12px 3vw 8px}
.panel{border:1px solid #563061;border-radius:10px;background:linear-gradient(145deg,rgba(19,17,24,.95),rgba(10,9,13,.98));overflow:hidden}
.booking{padding:22px}.section-heading{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #33203b;padding-bottom:10px;margin-bottom:16px}
.section-heading h2,.care-card h2,.faq h2{margin:0;font-size:29px;color:#edd8f6}.section-heading p,.care-card p,.faq p{font-family:"Cormorant Garamond",serif;letter-spacing:.16em;color:#c9aacd;font-size:13px;margin:2px 0}
.progress{width:130px;height:4px;background:#27202d;border-radius:10px;overflow:hidden}.progress span{display:block;width:33%;height:100%;background:var(--purple);transition:.3s}
.form-grid{display:grid;gap:12px;margin-bottom:12px}.form-grid.three{grid-template-columns:1.3fr 1fr .65fr}.form-grid.two{grid-template-columns:1fr 1fr}
label{display:block;font-family:"Cormorant Garamond",serif;font-size:16px;color:#f1e6f2;position:relative}label b{color:var(--danger)}
input,select,textarea{width:100%;margin-top:6px;background:#1c1e27;color:#eee;border:1px solid #303441;border-radius:6px;padding:12px;font:14px Inter,sans-serif;outline:none}
input:focus,select:focus,textarea:focus{border-color:#9b43c1;box-shadow:0 0 0 2px rgba(166,55,216,.13)}textarea{resize:vertical;min-height:80px}
label small{position:absolute;right:10px;bottom:8px;color:#887b8e}.upload-box{background:#121017;border:1px dashed #76418a;border-radius:6px;padding:0 0 12px;text-align:center;min-height:110px}
.upload-box input{position:absolute;opacity:0;inset:0;height:100%;cursor:pointer}.upload-box>span{display:block;padding:30px 10px 8px;color:#cbb8ce}.upload-box em{color:#d75dff;font-style:normal}
#fileNames{font:12px Inter,sans-serif;color:#9d8ca2;padding:0 10px}.privacy{font-size:11px;color:#94899b;margin:10px 0 0}.next-btn{margin-top:5px;min-width:230px}
.form-step{display:none}.form-step.active{display:block}.mini-title{font-size:28px;color:#eecdf7}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.choice input{display:none}.choice span{display:block;border:1px solid #4a2a55;border-radius:8px;padding:18px;text-align:center;cursor:pointer}
.choice input:checked+span{border-color:#b447ed;background:#351445;box-shadow:0 0 14px #6b2788}.notice{padding:14px;border-left:3px solid #a43adb;background:#151019;color:#c9bccd;line-height:1.5;margin:15px 0}
.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0}.consent input{width:auto;margin-top:3px}.summary{display:grid;gap:8px}.summary-row{display:grid;grid-template-columns:170px 1fr;padding:10px;border-bottom:1px solid #2b2030}.summary-row strong{color:#d87aff}

.side-column{display:grid;gap:10px}.care-card{min-height:170px;display:grid;grid-template-columns:1.2fr .8fr}.care-copy{display:flex;gap:18px;padding:25px}.care-copy .icon{font-size:36px;color:#e086ff}.care-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.7)}
.small-btn{background:#261032;color:#f0dafa;border:1px solid #7b3398;border-radius:8px;padding:10px 18px;cursor:pointer}.faq{padding:18px 22px}.faq-title{display:flex;gap:15px;align-items:center;margin-bottom:10px}.faq-title>span{border:2px solid #dc79ff;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font:32px "Cormorant Garamond";color:#e7a0ff}
.accordion details{border-top:1px solid #302036;padding:10px 3px}.accordion summary{cursor:pointer;font-family:"Cormorant Garamond",serif;font-size:16px}.accordion p{font-family:Inter,sans-serif;letter-spacing:0;line-height:1.5;color:#9f94a4}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-card{border:1px solid #50275c;border-radius:8px;overflow:hidden;background:#0d0b0f}.mini-card img{width:100%;height:120px;object-fit:cover;filter:saturate(.8) brightness(.7)}
.mini-card span{display:block;text-align:center;padding:9px;font-family:"Cormorant Garamond",serif;color:#efc8fb}

footer{display:grid;grid-template-columns:260px 1.1fr .7fr .7fr 1fr;gap:25px;align-items:center;border-top:1px solid #351c3d;padding:12px 3vw 20px;background:#08070a}
footer img{width:240px;height:65px;object-fit:contain;object-position:left center}footer blockquote{font-family:"Cormorant Garamond",serif;color:#cbb2cf;font-size:17px;text-align:center}
footer h4{font-family:"Cormorant Garamond",serif;letter-spacing:.15em;color:#d8b5e0;margin:0 0 5px}footer p{font-size:12px;color:#b4a9b7;margin:0;line-height:1.5}

dialog{border:1px solid #72318a;background:#0f0d13;color:#eee;border-radius:12px;max-width:680px;width:92%;padding:30px;box-shadow:0 0 60px #4c1c61}
dialog::backdrop{background:rgba(0,0,0,.82)}dialog h2,dialog h3{font-family:"Cormorant Garamond",serif;color:#e4a4fb}.close-modal{position:absolute;right:14px;top:10px;background:none;border:0;color:#fff;font-size:28px;cursor:pointer}
.modal-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.modal-columns li{margin:10px 0;color:#c7bbc9}.success-icon{font-size:45px;color:#dc7bff;text-align:center}#successModal{text-align:center}

@media(max-width:1050px){
  .site-header{grid-template-columns:220px 1fr auto}.desktop-nav{display:none}.menu-btn{display:block}.header-cta{display:none}
  .hero{grid-template-columns:1fr}.hero-copy{padding-bottom:20px}.hero-visual{height:420px}.hero h1{font-size:54px}
  .steps{grid-template-columns:1fr}.steps-title,.steps-cat{padding:16px}.content-grid{grid-template-columns:1fr}
  footer{grid-template-columns:1fr 1fr}.brand img{width:210px}
}
@media(max-width:650px){
  .site-header{grid-template-columns:1fr auto;padding:0 18px}.brand img{width:220px}
  .hero-copy{padding:40px 22px 20px}.hero h1{font-size:44px}.hero-text{font-size:18px}.hero-actions,.trust-row{flex-direction:column}.trust-row{gap:12px}
  .form-grid.three,.form-grid.two,.choice-grid{grid-template-columns:1fr}.content-grid{padding:8px}.booking{padding:17px}.care-card{grid-template-columns:1fr}.care-card img{height:170px}
  .cards{grid-template-columns:1fr}.mini-card img{height:180px}.modal-columns{grid-template-columns:1fr}.summary-row{grid-template-columns:1fr}
  footer{grid-template-columns:1fr;text-align:center}footer img{margin:auto;object-position:center}
}

.editor-link{position:fixed;right:16px;bottom:16px;z-index:40;background:#24102f;border:1px solid #a443d9;color:#f4d9ff;padding:10px 14px;border-radius:999px;font:13px Inter,Arial,sans-serif;box-shadow:0 0 18px rgba(160,60,220,.25)}
.editor-link:hover{background:#351545}

button:disabled{opacity:.65;cursor:not-allowed}

.schedule-box{margin:16px 0;padding:18px;border:1px solid #623170;border-radius:10px;background:linear-gradient(145deg,#15101a,#0e0c11)}
.schedule-title{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.schedule-title>span{color:#df8bff;font-size:28px}
.schedule-title h3{margin:0;color:#efd8f8;font-size:23px}
.schedule-title p{margin:3px 0 0;color:#aa99af;font-size:12px}
.schedule-note{margin:4px 0 0;color:#918495;font-size:11px}

.flatpickr-calendar{background:#131017!important;border:1px solid #6b337b!important;box-shadow:0 12px 40px rgba(0,0,0,.55)!important}
.flatpickr-months .flatpickr-month,.flatpickr-current-month,.flatpickr-weekday{color:#edd9f5!important;fill:#edd9f5!important}
.flatpickr-day{color:#d8cadc!important}
.flatpickr-day:hover,.flatpickr-day:focus{background:#331541!important;border-color:#7f3998!important}
.flatpickr-day.selected{background:#8a28ba!important;border-color:#b653de!important}
.flatpickr-day.flatpickr-disabled{color:#514655!important;text-decoration:line-through}

#fileNames{
  display:flex;
  flex-direction:column;
  gap:3px;
  position:relative;
  z-index:2;
}
.selected-ref-file{
  display:block;
  font-size:11px;
  color:#d79bed;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


html{scroll-behavior:smooth}
#portfolio,#estudio,#valores{scroll-margin-top:90px}

.showcase-section,
.studio-section,
.values-section{
  width:min(1180px,calc(100% - 36px));
  margin:34px auto;
}

.showcase-section,
.values-section{
  padding:34px;
  border:1px solid rgba(142,70,161,.32);
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 0%,rgba(113,46,135,.12),transparent 34%),
    #0c0a0f;
}

.section-heading{
  max-width:760px;
  margin-bottom:24px;
}
.section-heading.centered{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.section-kicker{
  margin:0 0 6px;
  color:#c66ee0;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
}
.section-heading h2,
.studio-copy h2{
  margin:.1em 0 .35em;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(34px,5vw,54px);
  line-height:.96;
  color:#ead0f2;
}
.section-heading>p:last-child,
.studio-copy>p{
  color:#bcaec1;
  line-height:1.7;
}

.portfolio-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.portfolio-piece{
  margin:0;
  overflow:hidden;
  border:1px solid #3f2948;
  border-radius:14px;
  background:#100d13;
}
.portfolio-piece img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  transition:transform .35s ease,filter .35s ease;
}
.portfolio-piece:hover img{
  transform:scale(1.025);
  filter:contrast(1.04);
}
.portfolio-piece figcaption{
  padding:12px 14px;
  color:#d5c5da;
  font:600 14px "Cormorant Garamond",Georgia,serif;
  letter-spacing:.02em;
}
.portfolio-cta{
  display:inline-flex;
  margin-top:22px;
}

.studio-section{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:30px;
  align-items:center;
  padding:30px;
  border-top:1px solid rgba(142,70,161,.28);
  border-bottom:1px solid rgba(142,70,161,.28);
}
.studio-photo-wrap{
  overflow:hidden;
  min-height:390px;
  border-radius:18px;
  border:1px solid #452b50;
}
.studio-photo-wrap img{
  display:block;
  width:100%;
  height:100%;
  min-height:390px;
  object-fit:cover;
}
.studio-copy{
  padding:12px 8px;
}
.studio-note{
  padding-left:14px;
  border-left:2px solid #8f43aa;
  color:#d3bedb!important;
}

.values-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.value-card{
  padding:22px;
  border:1px solid #3d2945;
  border-radius:14px;
  background:linear-gradient(145deg,#151019,#0d0a10);
}
.value-icon{
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  margin-bottom:14px;
  border:1px solid #724087;
  border-radius:50%;
  color:#d77af0;
  background:#201326;
}
.value-card h3{
  margin:0 0 8px;
  color:#ead4f0;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:23px;
}
.value-card p{
  margin:0;
  color:#aa9caf;
  font-size:13px;
  line-height:1.65;
}

@media(max-width:780px){
  .portfolio-gallery,
  .values-grid,
  .studio-section{
    grid-template-columns:1fr;
  }
  .showcase-section,
  .values-section{
    padding:24px 18px;
  }
  .studio-section{
    padding:22px 0;
  }
  .studio-photo-wrap,
  .studio-photo-wrap img{
    min-height:300px;
  }
}
