
:root{--black:#000000;--soft:#f5f3ee;--gold:#c2a46a;--grey:#a1a1a1;--line:rgba(255,255,255,0.10);--max:1180px;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:#000;color:var(--soft);font-family:"Cinzel", serif;overflow-x:hidden;}
a{color:inherit}
.intro{position:fixed;inset:0;z-index:9999;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .9s ease, visibility .9s ease;}
.intro.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.intro video{position:absolute;width:100%;height:100%;object-fit:cover;}
.intro-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.58);}
.intro-inner{position:relative;z-index:2;text-align:center;padding:24px;}
.intro-logo{width:340px;max-width:80vw;margin-bottom:24px;opacity:0;transform:translateY(12px) scale(0.985);animation:logoFade 1.8s ease forwards;}
.intro-sub{letter-spacing:0.38em;font-size:14px;opacity:0;transform:translateY(10px);animation:subFade 1.8s ease forwards;animation-delay:.35s;}
.enter-wrap{margin-top:42px;opacity:1;transform:none;position:relative;z-index:3;}
.enter-btn{display:inline-flex;align-items:center;justify-content:center;min-width:170px;min-height:52px;padding:14px 26px;border:1px solid var(--gold);color:var(--soft);text-decoration:none;font-size:12px;letter-spacing:0.30em;text-transform:uppercase;background:rgba(0,0,0,0.22);box-shadow:0 0 0 1px rgba(194,164,106,0.12) inset;transition:all .25s ease;}
.enter-btn:hover,.enter-btn:focus{background:var(--gold);color:#000;outline:none;}
.enter-note{margin-top:14px;color:rgba(245,243,238,0.72);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;}
.site-header{position:sticky;top:0;z-index:50;background:rgba(0,0,0,0.84);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.header-inner{max-width:var(--max);margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;}
.header-inner a{color:var(--soft);text-decoration:none;font-size:12px;letter-spacing:0.24em;text-transform:uppercase;opacity:0.84;transition:opacity .2s ease,color .2s ease;}
.header-inner a:hover,.header-inner a.active{color:var(--gold);opacity:1;}
.hero{min-height:68vh;display:flex;align-items:flex-end;}
.hero-inner{max-width:var(--max);margin:0 auto;padding:120px 20px 90px;width:100%;}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;}
.kicker{letter-spacing:0.25em;font-size:12px;color:var(--gold);margin-bottom:28px;}
.hero h1{font-weight:400;font-size:68px;line-height:1.08;}
.hero-copy{font-size:26px;line-height:1.72;}
.hero-copy p + p{margin-top:26px;color:var(--grey);font-size:18px;line-height:1.95;}
.section{max-width:var(--max);margin:0 auto;padding:120px 20px;border-top:1px solid var(--line);}
.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;}
.section-label{letter-spacing:0.25em;font-size:12px;color:var(--gold);margin-bottom:30px;}
.section h2{font-weight:400;font-size:48px;margin-bottom:28px;line-height:1.12;}
.text{color:var(--grey);line-height:1.95;font-size:18px;max-width:760px;}
.text p + p{margin-top:22px;}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:12px;}
.service{padding-top:12px;}
.service h3{font-weight:400;font-size:24px;margin-bottom:14px;}
.service p{color:var(--grey);line-height:1.9;font-size:17px;}
.price-note{margin-top:36px;padding-top:26px;border-top:1px solid var(--line);color:var(--grey);font-size:16px;line-height:1.9;}
.experience-item,.artist-item,.note-card{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line);}
.experience-item strong,.artist-item strong,.note-card strong{display:block;font-weight:400;font-size:24px;margin-bottom:8px;}
.experience-item span,.artist-item span,.note-card span{color:var(--grey);line-height:1.9;font-size:17px;}
.note-card{display:block;text-decoration:none;}
.note-card:hover strong{color:var(--gold);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
.contact-email{display:inline-block;margin-top:16px;color:var(--gold);text-decoration:none;font-size:20px;line-height:1.8;word-break:break-word;}
.contact-form{border:1px solid var(--line);padding:34px;background:rgba(255,255,255,0.02);}
.contact-form label{display:block;font-size:12px;letter-spacing:0.18em;color:var(--gold);margin-bottom:10px;text-transform:uppercase;}
.field{margin-bottom:20px;}
.contact-form input,.contact-form textarea{width:100%;background:transparent;border:1px solid rgba(255,255,255,0.16);color:var(--soft);padding:14px 16px;font-family:"Cinzel", serif;font-size:16px;}
.contact-form textarea{min-height:170px;resize:vertical;}
.contact-form button{background:transparent;border:1px solid var(--gold);color:var(--soft);padding:14px 22px;font-family:"Cinzel", serif;letter-spacing:0.18em;font-size:12px;text-transform:uppercase;cursor:pointer;transition:all .25s ease;}
.contact-form button:hover{background:var(--gold);color:#000;}
.form-note{margin-top:16px;color:var(--grey);font-size:13px;line-height:1.85;}
.article{max-width:860px;margin:0 auto;padding:110px 20px 90px;}
.article .lead{font-size:24px;line-height:1.8;color:var(--soft);margin-bottom:34px;}
.article .prose p{font-size:18px;line-height:2;color:var(--grey);margin-bottom:24px;}
.back-link{display:inline-block;margin-top:6px;color:var(--gold);text-decoration:none;font-size:12px;letter-spacing:0.20em;text-transform:uppercase;}
footer{padding:34px 20px 46px;text-align:center;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;}
footer a{color:#7d7d7d;text-decoration:none;margin:0 10px;}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease, transform .9s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
@keyframes logoFade{from{opacity:0; transform:translateY(12px) scale(0.985);}to{opacity:1; transform:translateY(0) scale(1);}}
@keyframes subFade{from{opacity:0; transform:translateY(10px);}to{opacity:1; transform:translateY(0);}}
@media(max-width:980px){.hero-grid,.section-grid,.contact-grid,.services{grid-template-columns:1fr;gap:50px;}.hero h1{font-size:52px;}.section h2{font-size:38px;}.hero-copy{font-size:22px;}.intro-logo{width:280px;}}
@media(max-width:640px){.header-inner{gap:18px;}.header-inner a{font-size:11px; letter-spacing:0.18em;}.hero-inner{padding:95px 20px 70px;}.section,.article{padding:90px 20px;}.hero h1{font-size:42px;}.hero-copy,.article .lead{font-size:19px;}}
