:root{--ivory:#f6f1ea;--paper:#fbf8f3;--ink:#111;--rouge:#9e1b32;--rouge-d:#7a1426;--muted:#6b645c;--line:rgba(17,17,17,.14);--serif:'Bodoni Moda',Didot,serif;--sans:'Jost',system-ui,sans-serif;--pad:clamp(20px,5vw,90px)}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;font-weight:300;overflow-x:clip;-webkit-font-smoothing:antialiased}
body.is-loading{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
em{font-style:italic;color:var(--rouge)}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,84px);line-height:1;letter-spacing:-.02em}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:500;color:var(--rouge);margin-bottom:22px}
.eyebrow.light{color:#e9b9c1}
.btn{display:inline-flex;align-items:center;gap:12px;padding:17px 30px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;text-decoration:none;transition:background-color .3s,color .3s,border-color .3s}
.btn .arr{transition:transform .3s}.btn:hover .arr{transform:translateX(6px)}
.btn-ink{background:var(--ink);color:var(--ivory)}.btn-ink:hover{background:var(--rouge)}
.btn-line{border:1px solid var(--ink)}.btn-line:hover{background:var(--ink);color:var(--ivory)}
.btn-light{background:var(--ivory);color:var(--ink);margin-top:24px}.btn-light:hover{background:#fff;color:var(--rouge)}
.btn-sm{padding:12px 20px;font-size:12px}
/* intro */
.intro{position:fixed;inset:0;z-index:100;background:var(--ivory);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.in-mast{display:flex;font-family:var(--serif);font-size:clamp(80px,16vw,260px);line-height:.9;letter-spacing:-.03em;font-weight:500;overflow:hidden;position:relative;z-index:2}
.in-mast span{display:inline-block}
.in-line{display:flex;gap:40px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;margin-top:22px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:10px 0;position:relative;z-index:2}
.in-frame{position:absolute;width:180px;height:240px;overflow:hidden;z-index:1}
.in-frame img{width:100%;height:100%;object-fit:cover}
/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:20px var(--pad);transition:background-color .4s,padding .4s,box-shadow .4s}
.nav.scrolled{background:rgba(246,241,234,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line);padding-top:12px;padding-bottom:12px}
.brand{font-family:var(--serif);font-size:24px;letter-spacing:.04em;text-decoration:none;font-weight:500;display:flex;align-items:baseline;gap:10px}
.brand small{font-family:var(--sans);font-size:10px;letter-spacing:.35em;text-transform:uppercase;font-weight:400}
.nav-links{display:flex;gap:34px}
.nav-links a{text-decoration:none;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;position:relative}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--rouge);transform:scaleX(0);transition:transform .35s;transform-origin:right}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
/* cover */
.cover{padding:96px var(--pad) 50px;min-height:100vh}
.cv-top{border-bottom:2px solid var(--ink)}
.cv-issue{display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
.cv-mast{font-family:var(--serif);font-weight:500;font-size:clamp(40px,17.6vw,330px);line-height:.82;letter-spacing:-.035em;text-align:center;padding:12px 0 4px;margin:0 -.03em;white-space:nowrap}
.cv-grid{display:grid;grid-template-columns:1fr 1.05fr .5fr;gap:46px;padding-top:40px;align-items:start}
.cv-title{font-family:var(--serif);font-weight:400;font-size:clamp(48px,4.6vw,84px);line-height:1;letter-spacing:-.02em;margin-bottom:26px}
.cv-lead{font-size:17.5px;color:var(--muted);margin-bottom:34px;max-width:520px}
.cv-cta{display:flex;flex-wrap:wrap;gap:12px}
.cv-photo{position:relative;aspect-ratio:4/5;overflow:hidden;margin-top:-170px;z-index:2;box-shadow:0 40px 80px -40px rgba(0,0,0,.45)}
.cv-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.cv-photo figcaption{position:absolute;left:16px;bottom:14px;color:#fff;font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.cv-index{list-style:none;border-top:2px solid var(--ink)}
.cv-index li{border-bottom:1px solid var(--line)}
.cv-index a{display:block;padding:13px 0;text-decoration:none;font-family:var(--serif);font-size:18px;line-height:1.2;transition:color .3s,padding .3s}
.cv-index a:hover{color:var(--rouge);padding-left:6px}
.cv-index span{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.24em;color:var(--rouge);margin-bottom:3px}
.trust{display:grid;grid-template-columns:repeat(4,1fr);margin:0 var(--pad);border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.trust div{padding:28px 24px 28px 0;display:flex;flex-direction:column;gap:4px}
.trust div+div{padding-left:24px;border-left:1px solid var(--line)}
.trust b{font-family:var(--serif);font-size:34px;font-weight:400;line-height:1.1}
.trust span{font-size:14px;color:var(--muted)}
/* nails */
.nails{overflow:hidden}
.nl-pin{height:100vh;display:flex;flex-direction:column;justify-content:center;padding:90px 0 40px}
.nl-head{padding:0 var(--pad);display:grid;grid-template-columns:1.3fr 1fr;gap:30px 60px;align-items:end;margin-bottom:44px}
.nl-head .eyebrow{grid-column:1/-1;margin-bottom:0}
.nl-sub{color:var(--muted)}
.nl-track{display:flex;gap:28px;padding:0 var(--pad);width:max-content;align-items:flex-end}
.lk{width:300px;flex:none}
.lk:nth-child(even){width:250px}
.lk-img{overflow:hidden;aspect-ratio:3/4}
.lk-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.lk:hover img{transform:scale(1.06)}
.lk figcaption{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;border-bottom:1px solid var(--line);padding-bottom:8px}
.lk b{font-family:var(--serif);font-weight:400;font-size:21px;font-style:italic}
.lk span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.lk-end{width:300px;flex:none;align-self:stretch;background:var(--ink);color:var(--ivory);display:flex;flex-direction:column;justify-content:flex-end;padding:34px;gap:8px}
.lk-end p{font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.lk-end b{font-family:var(--serif);font-weight:400;font-size:64px;line-height:1;margin-bottom:16px}
.lk-end .btn{background:var(--rouge)}
/* rate */
.rate{padding:140px var(--pad);position:relative;background:var(--paper)}
.rate-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:30px;margin-bottom:50px}
.rate-head .eyebrow{grid-column:1/-1;margin-bottom:0}
.rate-head>p:last-child{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rc{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.rc-col{padding:0 26px}
.rc-col:first-child{padding-left:0}.rc-col+.rc-col{border-left:1px solid var(--line)}
.rc h3{font-family:var(--serif);font-weight:400;font-style:italic;font-size:30px;margin-bottom:18px}
.rc ul{list-style:none}
.rc li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:13px 0;border-top:1px solid var(--line)}
.rn{font-weight:500;font-size:15.5px}
.rd{grid-row:2;font-size:13px;color:var(--muted)}
.rp{grid-row:1/3;grid-column:2;font-family:var(--serif);font-size:22px;align-self:center;white-space:nowrap}
.rate-img{position:absolute;right:var(--pad);top:70px;width:170px;aspect-ratio:1;border-radius:50%;overflow:hidden;border:6px solid var(--paper);box-shadow:0 20px 40px -20px rgba(0,0,0,.4)}
.rate-img img{width:100%;height:100%;object-fit:cover}
/* bridal */
.bridal{background:var(--ink);color:var(--ivory);padding:140px var(--pad) 120px}
.bridal em{color:#e9b9c1}
.br-intro{display:grid;grid-template-columns:1fr 1fr;gap:20px 80px;align-items:end;margin-bottom:90px}
.br-intro .eyebrow{grid-column:1/-1;margin-bottom:0}
.br-intro>p:last-child{color:#c9c2b9;font-size:17px}
.br-story{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.br-imgs{position:sticky;top:12vh;height:76vh}
.bi{position:absolute;inset:0;overflow:hidden;clip-path:inset(100% 0 0 0)}
.bi.on{clip-path:inset(0 0 0 0)}
.bi img{width:100%;height:100%;object-fit:cover}
.br-steps{list-style:none}
.br-steps li{min-height:76vh;display:flex;flex-direction:column;justify-content:center;border-top:1px solid rgba(246,241,234,.16)}
.br-steps span{font-family:var(--serif);font-style:italic;font-size:90px;line-height:1;color:var(--rouge)}
.br-steps h3{font-family:var(--serif);font-weight:400;font-size:48px;line-height:1.05;margin:16px 0}
.br-steps p{color:#c9c2b9;max-width:460px;font-size:17.5px}
.br-extras{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:80px}
.bx{border:1px solid rgba(246,241,234,.18);padding:40px}
.bx h3{font-family:var(--serif);font-weight:400;font-size:32px;margin-bottom:20px}
.bx ul{list-style:none}
.bx li{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid rgba(246,241,234,.12)}
.bx li b{font-family:var(--serif);font-weight:400;white-space:nowrap}
.bx details{border-top:1px solid rgba(246,241,234,.12)}
.bx summary{cursor:pointer;padding:15px 0;font-weight:500;list-style:none;display:flex;justify-content:space-between}
.bx summary::after{content:'+';font-family:var(--serif);font-size:22px;line-height:1;transition:transform .3s}
.bx details[open] summary::after{transform:rotate(45deg)}
.bx details p{padding-bottom:16px;color:#c9c2b9;font-size:15.5px}
/* mayya */
.mayya{padding:150px var(--pad);display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.my-l{position:sticky;top:110px}
.my-img{overflow:hidden;aspect-ratio:2/3}
.my-img img{width:100%;height:115%;object-fit:cover}
.my-cap{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:14px}
.my-quote{font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.4vw,38px);line-height:1.25;margin:34px 0 50px;padding-left:28px;border-left:2px solid var(--rouge)}
.tl{list-style:none}
.tl li{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:22px 0;border-top:1px solid var(--line)}
.tl b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.2;color:var(--rouge)}
.tl p{color:#3e3a35}
/* credits */
.credits{padding:120px 0;background:var(--paper);text-align:center;overflow:hidden}
.credits .h2{margin-bottom:46px}
.cr-marquee{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:22px 0;overflow:hidden}
.cr-row{display:flex;gap:56px;width:max-content}
.cr-row span{font-family:var(--serif);font-size:clamp(30px,3.6vw,56px);white-space:nowrap;line-height:1}
.cr-row span:nth-child(3n+2){font-style:italic;color:var(--rouge)}
.cr-note{max-width:640px;margin:30px auto 60px;color:var(--muted);font-size:15px;padding:0 24px}
.cr-note a{color:var(--rouge)}
.cr-imgs{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:24px;padding:0 var(--pad);align-items:center}
.cr-imgs figure{overflow:hidden;aspect-ratio:3/4}
.cr-imgs figure:nth-child(2){aspect-ratio:4/5}
.cr-imgs img{width:100%;height:115%;object-fit:cover}
/* faq */
.faq{padding:140px var(--pad);display:grid;grid-template-columns:1fr 1.6fr;gap:80px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:2px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;padding:26px 56px 26px 0;font-family:var(--serif);font-size:25px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{position:absolute;right:0;top:50%;width:30px;height:30px;margin-top:-15px}
.faq summary span::before,.faq summary span::after{content:'';position:absolute;left:50%;top:50%;width:16px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}
.faq summary span::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s}
.faq details[open] summary span::after{transform:translate(-50%,-50%)}
.faq details p{padding:0 56px 26px 0;color:var(--muted)}
.faq a{color:var(--rouge)}
/* contact */
.contact{display:grid;grid-template-columns:1.1fr 1fr;min-height:90vh;background:var(--ink);color:var(--ivory)}
.ct-img{overflow:hidden}.ct-img img{width:100%;height:100%;object-fit:cover}
.ct-box{padding:100px var(--pad) 100px 80px;display:flex;flex-direction:column;justify-content:center}
.contact em{color:#e9b9c1}
.ct-title{font-family:var(--serif);font-weight:400;font-size:clamp(46px,4.6vw,76px);line-height:1;margin-bottom:32px}
.ct-addr{font-size:19px;margin-bottom:16px}
.ct-links{display:flex;flex-wrap:wrap;gap:6px 26px;margin-bottom:10px}
.ct-links a{font-family:var(--serif);font-size:24px;text-decoration:none;border-bottom:1px solid rgba(246,241,234,.3)}
.ct-hours{color:#c9c2b9;margin-bottom:30px}
.ct-cta{display:flex;flex-wrap:wrap;gap:12px}
.contact .btn-ink{background:var(--rouge)}.contact .btn-ink:hover{background:var(--ivory);color:var(--ink)}
.contact .btn-line{border-color:var(--ivory)}.contact .btn-line:hover{background:var(--ivory);color:var(--ink)}
.ct-social{display:flex;gap:24px;margin-top:30px;font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.ct-social a{text-decoration:none;color:#e9b9c1}
.foot{padding:30px var(--pad);display:flex;flex-wrap:wrap;gap:16px 30px;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}
.ft-brand{font-family:var(--serif);font-size:24px;color:var(--ink);letter-spacing:.04em}
.foot nav{display:flex;gap:24px}.foot a{text-decoration:none}.foot a:hover{color:var(--rouge)}
/* legal */
.legal-head{display:flex;justify-content:space-between;align-items:center;padding:24px var(--pad);border-bottom:2px solid var(--ink)}
.legal-brand{font-family:var(--serif);font-size:26px;text-decoration:none;font-weight:500;letter-spacing:.04em}
.legal-back{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--rouge)}
.legal{max-width:820px;margin:0 auto;padding:90px 24px 120px}
.legal-kicker{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--rouge);margin-bottom:14px}
.legal h1{font-family:var(--serif);font-weight:400;font-size:62px;line-height:1;margin-bottom:24px}
.legal h2{font-family:var(--serif);font-weight:400;font-size:28px;margin:40px 0 12px}
.legal p,.legal li{color:#3e3a35;margin-bottom:12px}.legal-lead{font-size:19px}.legal-list{padding-left:20px}.legal a{color:var(--rouge)}
.legal-foot{padding:30px var(--pad);border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.split-lines > div,.split-hero > div{padding:.08em 0 .16em;margin:-.08em 0 -.16em}
@media (max-width:1100px){.cv-grid{grid-template-columns:1fr 1fr}.cv-index{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px}.cv-photo{margin-top:0}}
@media (max-width:900px){.cv-grid,.br-intro,.br-story,.br-extras,.mayya,.faq,.contact,.nl-head{grid-template-columns:1fr}.rc{grid-template-columns:1fr 1fr;gap:30px 0}.rc-col:nth-child(3){padding-left:0;border-left:0}.nav-links{display:none}.trust{grid-template-columns:1fr 1fr}.br-imgs{position:relative;top:0;height:60vh}.br-steps li{min-height:auto;padding:40px 0}.my-l{position:relative;top:0}.rate-img{display:none}.ct-box{padding:60px var(--pad)}.tl li{grid-template-columns:1fr}}

@media (max-width:900px){main *{min-width:0}h1,h2,h3{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}}
@media (max-width:560px){.rc,.tm-cards,.kgrid,.men,.trust{grid-template-columns:1fr!important}.rc-col{padding-left:0!important;border-left:0!important}.trust div{border-left:0!important;padding-left:0!important}.hair{padding:28px!important}}
@media (max-width:600px){.brand small{display:none}.cv-issue span:nth-child(3){display:none}.in-mast{font-size:17vw}}
