:root{--pink:#fb56a7;--light:#ffe5f0;--dark:#3d172c;--wine:#821c4c;--cream:#fff8f3;--ink:#332330;--line:#eacbd6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 'Segoe UI',Arial,sans-serif}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ab2163;outline-offset:2px}.top{display:flex;justify-content:space-between;align-items:center;padding:16px 5%;background:#fff8f3;gap:20px}.logo{text-decoration:none;font-weight:900;font-size:25px;letter-spacing:-1.4px}.logo span{color:var(--wine)}.logo i{font-size:14px;color:var(--pink)}nav{display:flex;gap:20px;align-items:center}nav a{text-decoration:none;font-size:14px;font-weight:700}.nav-pill{background:var(--dark);color:#fff;border:0;border-radius:30px;padding:12px 20px;font-weight:700}.hero{position:relative;min-height:560px;overflow:hidden;display:flex;align-items:center;padding:80px 8%;background:radial-gradient(circle at 77% 28%,#ffb5d4 0 13%,transparent 39%),linear-gradient(115deg,#f850a4,#ef87b6 58%,#ffd2e5)}.heroInner{position:relative;z-index:2;max-width:740px}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:900}.pretitle{margin:28px 0 0;font-weight:600}.hero h1{font-size:clamp(80px,10vw,154px);line-height:.88;letter-spacing:-8px;color:#fff;margin:25px 0;text-shadow:5px 7px 0 #8f2858;font-weight:900}.hero h1 em,.editorial h2 em,.booking h2 em{font-family:Georgia,serif;font-weight:400}.star{font-size:55px;color:#ffea80}.intro{max-width:430px;font-size:19px;font-weight:600}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{border:2px solid var(--dark);border-radius:40px;background:var(--dark);color:white;text-decoration:none;font-weight:800;padding:13px 22px;display:inline-block}.btn.secondary{background:transparent;color:var(--dark)}.graphic{position:absolute;right:1%;top:8%;color:#a91c62;font-size:350px;font-weight:900;transform:rotate(-17deg);opacity:.3}.graphic span{font-size:90px;color:white}.spark{position:absolute;font-size:90px;color:#fff}.s1{right:18%;top:10%}.s2{right:6%;bottom:5%}.editorial{padding:90px 8%;display:grid;grid-template-columns:1fr 1fr;gap:40px}.editorial h2,.booking h2{font-size:clamp(55px,7vw,90px);line-height:.98;letter-spacing:-4px;margin:20px 0}.editorial>div:nth-child(2){align-self:center;font-size:22px;max-width:470px}.muted{color:#735a6a;font-size:14px}.tiles{display:grid;grid-template-columns:repeat(3,1fr)}.tile{padding:55px 9%;min-height:400px}.tile span{letter-spacing:2px;font-weight:800;font-size:12px}.tile h3{font-size:clamp(44px,5vw,75px);line-height:1;letter-spacing:-3px;margin:45px 0 20px}.tile p{max-width:280px}.tile a{font-weight:800}.plum{background:#681d43;color:white}.candy{background:#ff90c1;color:#48192e}.cream{background:#ffe8b9;color:#48192e}.booking{background:#ffd7e7;padding:90px 8%;display:grid;grid-template-columns:1fr 1.1fr;gap:60px}.booking p{max-width:340px}.panel{background:#fff;border:1px solid #f3dbe5;padding:28px;border-radius:24px;box-shadow:0 8px 30px #5d234016}.panel h3{font-size:25px;margin:0 0 20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;font-weight:800;margin-bottom:15px}input:not([type=checkbox]):not([type=file]),textarea,select{display:block;width:100%;padding:13px;border:1px solid #d7bdc8;border-radius:10px;background:#fff;color:var(--dark);margin-top:6px;min-width:0}textarea{resize:vertical}.honeypot{position:absolute;left:-10000px}.status{font-size:14px}.studio-header{padding:42px 7% 25px;display:flex;justify-content:space-between;gap:15px;align-items:center;background:var(--light)}.studio-header h2{font-size:clamp(38px,5vw,65px);letter-spacing:-2px;margin:6px 0}.studio-header h2 span,footer span{color:var(--pink)}#studio{min-height:80vh;background:#fff8fb;padding-bottom:60px}.login{max-width:470px;margin:55px auto}.dashnav{padding:25px 7%;display:flex;gap:9px;flex-wrap:wrap}.dashnav button,.quick button{border:1px solid var(--line);border-radius:30px;background:white;padding:11px 18px;font-weight:800}.dashnav button.chosen,.quick button:hover{background:var(--wine);color:white}.tab{margin:0 7%;max-width:1100px}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{border-radius:20px;background:#ffe2ef;padding:23px}.stat span{display:block;font-size:13px;font-weight:700}.stat b{font-size:40px;color:var(--wine)}.quick{display:flex;gap:10px;flex-wrap:wrap}.sectiontitle{margin-bottom:20px}.sectiontitle h3,.tab>h3{font-size:31px;margin:0}.sectiontitle p{margin-top:0}#performanceForm,#perfumeForm{margin-bottom:24px}fieldset{border:1px solid var(--line);border-radius:14px;margin:6px 0 16px;padding:18px}legend{font-size:13px;font-weight:800}.checks{display:flex;flex-wrap:wrap;gap:8px 18px}.checks label,.checkline{display:flex;align-items:center;gap:9px}.checkline{margin-top:28px}.records{display:grid;gap:12px;margin:22px 0}.record{padding:20px;background:white;border:1px solid var(--line);border-radius:16px}.record h4{font-size:20px;margin:0}.record p{margin:5px 0}.record button,.textbutton{color:var(--wine);background:none;border:0;text-decoration:underline;font-weight:700;padding:6px}.record .mini{font-size:13px;color:#6f586a}.perfumegrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.perfumeImg{width:100%;height:165px;object-fit:contain;background:#fff0f7;border-radius:12px;margin-bottom:10px}.record select{max-width:200px}.tab .panel{margin-bottom:20px}footer{text-align:center;background:var(--dark);color:white;padding:28px;font-size:12px;font-weight:900;letter-spacing:2px}@media(max-width:850px){.editorial,.booking{grid-template-columns:1fr}.tiles{grid-template-columns:1fr 1fr}.statgrid{grid-template-columns:1fr 1fr}.graphic{font-size:210px}.hero h1{letter-spacing:-5px}nav a{display:none}}@media(max-width:560px){.top{padding:14px 5%}.logo{font-size:21px}.hero{min-height:490px;padding:65px 7%}.hero h1{font-size:75px}.graphic{right:-18%;top:30%;font-size:190px}.editorial,.booking{padding:65px 7%}.tiles{grid-template-columns:1fr}.tile{min-height:310px}.two{grid-template-columns:1fr;gap:0}.studio-header{flex-direction:column;align-items:flex-start}.login{margin:30px 5%}.tab{margin:0 5%}.panel{padding:20px}.dashnav{padding:18px 5%}.dashnav button{font-size:13px;padding:9px 12px}.stat{padding:16px}.stat b{font-size:30px}}

/* Mobile usability pass v0.2: navigation, readable type, touch targets, forms. */
[hidden]{display:none!important}
html{scroll-padding-top:20px}body{overflow-x:hidden}img,svg{max-width:100%}
.top,.heroInner,.editorial>div,.booking>div,.panel,.record{min-width:0}
:where(.btn,.nav-pill,.dashnav button,.quick button,.record button,.textbutton){min-height:44px}
:where(input,select,textarea){font-size:16px}
#studio input[type=file]{max-width:100%;font-size:14px}
.record{overflow-wrap:anywhere}
@media(max-width:850px){
 .top{flex-wrap:wrap;gap:10px 14px;align-items:center}
 .top nav{display:flex;width:100%;gap:8px;justify-content:space-between;flex-wrap:wrap}
 .top nav a{display:inline-flex;align-items:center;justify-content:center;font-size:13px;min-height:44px;padding:8px 4px}
 .top .nav-pill{padding:10px 13px;font-size:13px}
 .graphic{pointer-events:none}
}
@media(max-width:560px){
 .top{padding:12px 5% 8px}
 .logo{font-size:23px}
 .top nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .top nav a{font-size:12px;padding:8px 3px;text-align:center;background:#ffe5f0;border-radius:12px}
 .top .nav-pill{grid-column:1/-1;width:100%;padding:10px 14px;min-height:44px}
 .hero{min-height:0;padding:66px 6% 72px}
 .heroInner{width:100%}
 .hero h1{font-size:clamp(51px,12.7vw,75px);letter-spacing:-.055em;line-height:.97;margin:20px 0;overflow-wrap:normal}
 .hero .star{font-size:clamp(20px,6vw,40px)}
 .hero .eyebrow{font-size:10px;letter-spacing:1.4px}
 .pretitle{margin-top:18px}
 .intro{font-size:17px;max-width:31ch}
 .graphic{right:-12%;top:23%;font-size:clamp(150px,41vw,210px);opacity:.16}
 .graphic span{font-size:65px}
 .spark{font-size:40px;pointer-events:none}
 .s1{right:8%;top:6%}.s2{right:4%;bottom:2%}
 .hero .actions{display:grid;grid-template-columns:1fr;max-width:340px}
 .hero .actions .btn{text-align:center}
 .editorial,.booking{padding:52px 6%;gap:20px}
 .editorial h2,.booking h2{font-size:clamp(46px,12vw,68px);letter-spacing:-.04em}
 .editorial>div:nth-child(2){font-size:17px}
 .tile{padding:36px 7%;min-height:265px}
 .tile h3{margin:25px 0 12px;font-size:55px}
 .panel{padding:18px;border-radius:18px}
 .panel h3{font-size:22px}
 .booking .btn{width:100%;text-align:center}
 .studio-header{padding:30px 5% 18px}
 .studio-header h2{font-size:clamp(35px,10vw,52px)}
 .studio-header .btn{width:100%;text-align:center}
 .dashnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .dashnav button{font-size:13px;min-height:44px;padding:10px 6px}
 .tab{margin:0 5%;max-width:none}
 .statgrid{gap:9px}
 .stat{padding:14px;border-radius:14px}
 .stat span{font-size:12px;line-height:1.25}
 .stat b{font-size:29px}
 .quick{display:grid;grid-template-columns:1fr}
 .quick button{text-align:left}
 .checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .checks label{display:flex;min-height:44px;margin:0;align-items:center;font-size:12px}
 .checks input,.checkline input{width:19px;height:19px;flex-shrink:0}
 fieldset{padding:12px}
 .record{padding:16px}
 .perfumegrid{grid-template-columns:minmax(0,1fr)}
 footer{letter-spacing:1px;padding:22px 15px}
}
@media(max-width:360px){.hero h1{font-size:clamp(46px,12vw,54px)}.checks{grid-template-columns:1fr}.top nav a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
