:root{--bg:#f7f3ed;--ink:#241c17;--soft:#4a3e36;--mute:#6f5d4f;--line:#ddd2c4;--accent:#8a5a2e;--dark:#1d1410;--dark-ink:#f3e9dc;--dark-soft:#c9b8a4;--gold:#c9a57c}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'EB Garamond',Georgia,serif;font-size:20px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
.label,.nav a,.link,.btn,.lang{font-family:Jost,sans-serif;font-weight:300;letter-spacing:.18em;text-transform:uppercase}
h1,h2{font-family:Cinzel,serif;font-weight:400;margin:0}
h2{font-size:28px;letter-spacing:.18em;margin-bottom:28px}
p{margin:0 0 20px}
.wrap{max-width:1216px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px;margin:0 auto;padding:0 24px}

/* Header */
.top{position:sticky;top:0;z-index:10;background:rgba(247,243,237,.94);backdrop-filter:blur(6px);border-bottom:1px solid transparent}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{font-family:Cinzel,serif;font-size:15px;letter-spacing:.24em}
.nav{display:flex;gap:30px;align-items:center}
.nav a{font-size:12px;color:#5e5047}
.lang{font-size:11px;color:var(--mute)}
.lang a{padding:4px}
.lang .on{color:var(--ink);border-bottom:1px solid var(--ink)}
.menu-btn{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;padding:0;justify-content:flex-end;align-items:center}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,800px);height:calc(100vh - 72px);min-height:620px;max-height:900px;overflow:hidden}
.hero-text{display:flex;flex-direction:column;justify-content:center;gap:26px;padding:48px 48px 72px max(24px,calc((100vw - 1216px)/2 + 24px))}
.hero h1{font-size:clamp(40px,5vw,64px);line-height:1.1;letter-spacing:.08em}
.hero .label{font-size:12px;letter-spacing:.4em;color:#7a6a5d}
.hero .claim{font-style:italic;font-size:22px;line-height:1.45;color:var(--soft);max-width:420px}
.hero img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:55% 22%}
.cta-row{display:flex;gap:16px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border:1px solid var(--ink);font-size:12px;letter-spacing:.2em;color:var(--ink)}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.solid{background:var(--ink);color:var(--bg)}
.btn.solid:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.light{border-color:var(--dark-ink);color:var(--dark-ink)}
.btn.light:hover{background:var(--dark-ink);color:var(--dark)}

/* Doors */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:120px 24px}
.door{display:flex;flex-direction:column;gap:18px}
.door img{width:100%;aspect-ratio:3/4;object-fit:cover}
.door .t{font-family:Cinzel,serif;font-size:22px;letter-spacing:.2em}
.door .d{font-size:19px;color:#5e5047;line-height:1.55}

/* Sections */
section.block{padding:120px 0}
.quote{font-style:italic;font-size:30px;line-height:1.4;margin-bottom:28px}
.body{color:var(--soft)}
.links{display:flex;gap:36px;flex-wrap:wrap;margin-top:12px}
.link{font-size:12px;color:var(--accent);padding:10px 0}
.dark{background:var(--dark);color:var(--dark-ink)}
.dark .body{color:var(--dark-soft)}
.dark .label{color:#9c8a78}
.clients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px;margin:36px 0 40px}
.clients .label{font-size:11px;letter-spacing:.24em;border-bottom:1px solid #3a2e27;padding-bottom:8px;margin-bottom:10px}
.clients div div{font-size:18px;line-height:1.7;color:var(--dark-ink)}
.formats{columns:2;column-gap:48px;margin:0 0 36px;padding:0;list-style:none;color:var(--dark-soft)}
.formats li{padding:4px 0;break-inside:avoid}

/* Bio */
.bio{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:96px;align-items:start}
.bio figure{margin:0}
.bio img{width:100%;aspect-ratio:520/700;object-fit:cover;object-position:50% 25%}
.bio figcaption{font-family:Jost,sans-serif;font-weight:300;font-size:12px;letter-spacing:.1em;color:var(--mute);margin-top:14px}
.bio p{font-size:19px;line-height:1.75;color:#3a302a}

/* Testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.quotes blockquote{margin:0;border-top:1px solid var(--line);padding-top:24px}
.quotes p{font-style:italic;font-size:24px;line-height:1.4;margin-bottom:16px}
.quotes cite{font-style:normal;font-family:Jost,sans-serif;font-weight:300;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}

/* Media */
.video{position:relative;display:block;background:var(--dark)}
.video img{width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.8}
.play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;border:1px solid #fbf6ee;display:flex;align-items:center;justify-content:center}
.video:hover .play{background:rgba(251,246,238,.15)}
.video-cap{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-top:20px}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:64px}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover}

/* Contact */
.contact{border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:96px;align-items:start}
.contact .lines{display:flex;flex-direction:column;gap:10px;font-size:22px}
.contact .hint{color:var(--mute);font-size:18px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;padding-bottom:40px;font-family:Jost,sans-serif;font-weight:300;font-size:11px;letter-spacing:.18em;color:var(--mute);text-transform:uppercase}

/* Mobile */
@media (max-width:900px){
  body{font-size:18px}
  .menu-btn{display:flex}
  .nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 24px 20px}
  .nav.open{display:flex}
  .nav a{padding:12px 0;font-size:13px}
  .hero{grid-template-columns:1fr;height:auto;min-height:0;max-height:none}
  .hero img{order:-1;height:62vh;min-height:380px}
  .hero-text{padding:32px 24px 56px}
  .doors{grid-template-columns:1fr;gap:0;padding:56px 24px}
  .door{flex-direction:row;align-items:center;gap:18px;padding:16px 0;border-top:1px solid var(--line)}
  .door:last-child{border-bottom:1px solid var(--line)}
  .door img{width:92px;height:92px;aspect-ratio:auto;flex-shrink:0}
  .door .t{font-size:17px}
  .door .d{font-size:16px}
  section.block{padding:72px 0}
  h2{font-size:21px}
  .quote{font-size:23px}
  .clients{grid-template-columns:1fr}
  .formats{columns:1}
  .bio,.contact-grid{grid-template-columns:1fr;gap:40px}
  .quotes{grid-template-columns:1fr;gap:32px}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery img:last-child{display:none}
  .contact .lines{font-size:19px}
}

/* Form */
.cform{display:flex;flex-direction:column;gap:24px}
.cform .row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.cform label{display:flex;flex-direction:column;gap:8px;font-family:Jost,sans-serif;font-weight:300;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#7a6a5d}
.cform input,.cform select,.cform textarea{border:0;border-bottom:1px solid #bfae9b;background:transparent;font-family:'EB Garamond',Georgia,serif;font-size:20px;padding:8px 0;color:var(--ink);border-radius:0;text-transform:none;letter-spacing:0}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-bottom-color:var(--ink)}
.cform textarea{resize:vertical}
.cform .btn{align-self:flex-start;cursor:pointer}
.cform .hp{display:none}
.fmsg{min-height:1.5em;color:var(--accent);font-size:18px;margin:0}
@media (max-width:900px){.cform .row2{grid-template-columns:1fr;gap:24px}}

.social{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:24px}
.social a{font-family:Jost,sans-serif;font-weight:300;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);padding:12px 0}

.music{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.music iframe{border:0;border-radius:12px;display:block}
@media (max-width:900px){.music{grid-template-columns:1fr}}
