:root{
  --ink:#15120F;
  --ink-2:#1D1812;
  --parchment:#F3ECDD;
  --gold:#B98C4A;
  --gold-bright:#D7AD6C;
  --wine:#4A1620;
  --smoke:#9C9284;
  --hairline: rgba(243,236,221,0.14);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink);
  color:var(--parchment);
  font-family:'Inter', sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.display{ font-family:'Fraunces', serif; }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
.wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }
.wrap-narrow{ max-width:740px; margin:0 auto; padding:0 32px; }
a:focus-visible, button:focus-visible{ outline:2px solid var(--gold-bright); outline-offset:3px; }

/* ---------- MASTHEAD ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:60;
  padding:22px 0 0;
  background:linear-gradient(to bottom, rgba(21,18,15,0.8), rgba(21,18,15,0));
  transition:background .4s ease, padding .3s ease;
}
header.scrolled{
  background:rgba(21,18,15,0.94);
  backdrop-filter:blur(10px);
  padding-top:14px;
  border-bottom:1px solid var(--hairline);
}
.masthead-inner{ display:flex; flex-direction:column; gap:16px; }
.masthead-top{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.masthead-logo{ font-family:'Fraunces', serif; font-weight:500; font-size:1.15rem; letter-spacing:0.14em; text-transform:uppercase; }
.masthead-logo span{ color:var(--gold-bright); }
.masthead-vol, .masthead-inquire{ font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; white-space:nowrap; }
.masthead-vol{ color:var(--smoke); }
.masthead-inquire{ color:var(--parchment); border-bottom:1px solid rgba(243,236,221,0.3); padding-bottom:3px; transition:color .3s ease, border-color .3s ease; }
.masthead-inquire:hover{ color:var(--gold-bright); border-color:var(--gold-bright); }
.masthead-tagline{ text-align:center; font-family:'Fraunces', serif; font-style:italic; font-size:0.8rem; color:var(--smoke); letter-spacing:0.01em; }
.masthead-nav{ display:flex; justify-content:center; gap:16px; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; padding:12px 0; border-top:1px solid var(--hairline); }
.masthead-nav a{ opacity:0.7; transition:opacity .25s ease, color .25s ease; }
.masthead-nav a:hover{ opacity:1; color:var(--gold-bright); }
.masthead-nav .dot{ opacity:0.3; }
@media (max-width:760px){ .masthead-nav{ display:none; } }

/* ---------- BUTTONS + TEXT LINKS ---------- */
.btn-primary{
  background:var(--gold-bright); color:var(--ink);
  padding:16px 32px; font-size:0.82rem; letter-spacing:0.07em; text-transform:uppercase; font-weight:500;
  border-radius:2px; display:inline-block; transition:transform .25s ease, background .25s ease;
}
.btn-primary:hover{ background:#E8C182; transform:translateY(-2px); }
.btn-outline{
  border:1px solid rgba(243,236,221,0.4); color:var(--parchment);
  padding:15px 31px; font-size:0.82rem; letter-spacing:0.07em; text-transform:uppercase;
  border-radius:2px; display:inline-block; transition:border-color .25s ease, background .25s ease;
}
.btn-outline:hover{ border-color:var(--gold-bright); background:rgba(215,173,108,0.08); }
.read-link{
  display:inline-flex; align-items:center; gap:10px;
  font-size:0.84rem; letter-spacing:0.09em; text-transform:uppercase;
  color:var(--parchment); border-bottom:1px solid rgba(243,236,221,0.35);
  padding-bottom:6px; transition:border-color .3s ease, color .3s ease, gap .3s ease;
}
.read-link:hover{ border-color:var(--gold-bright); color:var(--gold-bright); gap:15px; }
.read-link .arrow{ display:inline-block; transition:transform .3s ease; }

/* ---------- HERO ---------- */
.hero{ position:relative; height:100vh; min-height:680px; display:flex; align-items:flex-end; overflow:hidden; background:var(--ink); }
.hero-media{ position:absolute; inset:0; width:100%; height:100%; }
.hero-media video, .hero-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-media img.fallback{ display:none; }
.hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(to top, rgba(21,18,15,0.96) 4%, rgba(21,18,15,0.5) 40%, rgba(21,18,15,0.18) 62%, rgba(21,18,15,0.55) 100%),
    linear-gradient(to right, rgba(21,18,15,0.35) 0%, rgba(21,18,15,0) 40%);
}
.hour-sweep{
  position:absolute; inset:0;
  background:linear-gradient(115deg, transparent 30%, rgba(215,173,108,0.14) 48%, transparent 66%);
  background-size:220% 220%;
  animation:sweep 16s ease-in-out infinite;
  mix-blend-mode:overlay; pointer-events:none;
}
@keyframes sweep{ 0%{background-position:0% 0%;} 50%{background-position:100% 100%;} 100%{background-position:0% 0%;} }
.hero-content{ position:relative; z-index:2; width:100%; padding-bottom:11vh; }
.hero-kicker{ font-family:'Fraunces', serif; font-style:italic; font-size:1rem; color:var(--gold-bright); margin-bottom:22px; }
.hero h1{ font-family:'Fraunces', serif; font-weight:400; font-size:clamp(2.4rem, 5.6vw, 4.6rem); line-height:1.08; max-width:18ch; letter-spacing:-0.01em; }
.hero h1 em{ font-style:italic; font-weight:400; color:var(--gold-bright); }
.hero-deck{ max-width:46ch; margin-top:24px; font-family:'Fraunces', serif; font-weight:300; font-size:1.14rem; line-height:1.6; opacity:0.85; }
.hero-actions{ display:flex; gap:20px; align-items:center; margin-top:42px; flex-wrap:wrap; }

.section-band{ padding:56px 0; border-bottom:1px solid var(--hairline); text-align:center; }
.band-text{ font-family:'Fraunces', serif; font-style:italic; font-size:1rem; color:var(--smoke); letter-spacing:0.01em; }

.pillars-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:56px; }
.pillar-num{ font-family:'Fraunces', serif; font-style:italic; color:var(--gold-bright); font-size:1.05rem; opacity:0.7; margin-bottom:16px; }
.pillar-title{ font-size:1.28rem; line-height:1.28; margin-bottom:14px; }
.pillar-desc{ font-size:0.92rem; color:var(--smoke); line-height:1.6; margin-bottom:22px; max-width:32ch; }

/* ---------- GENERIC SECTION ---------- */
section{ position:relative; }
.section-pad{ padding:180px 0; }
.kicker{ font-size:0.74rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; display:block; }
h2.display{ font-size:clamp(2rem, 3.8vw, 3.3rem); font-weight:400; line-height:1.12; letter-spacing:-0.01em; }
h2.display em{ font-style:italic; color:var(--gold-bright); }
.editorial-body{
  font-family:'Fraunces', serif; font-weight:300; font-size:1.14rem; line-height:1.8;
  color:var(--parchment); opacity:0.82; max-width:60ch; margin-top:22px;
}
.dropcap::first-letter{
  font-family:'Fraunces', serif; font-style:italic; font-size:4.2rem; line-height:0.75;
  float:left; padding-right:14px; padding-top:8px; color:var(--gold-bright);
}
.pull-quote{
  font-family:'Fraunces', serif; font-style:italic; font-weight:300;
  font-size:clamp(1.5rem, 3vw, 2.2rem); line-height:1.45; color:var(--gold-bright);
  text-align:center; max-width:26ch; margin:110px auto 0; padding-top:46px;
  border-top:1px solid var(--hairline);
}
.reveal{ opacity:0; transform:translateY(26px); transition:opacity 1s ease, transform 1s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal-img{ opacity:0; transform:scale(1.04); transition:opacity 1.1s ease, transform 1.4s cubic-bezier(.2,.7,.2,1); }
.reveal-img.in{ opacity:1; transform:scale(1); }

/* ---------- FEATURED COLLECTIONS ---------- */
.collections{ background:var(--ink); }
.collections-head{ max-width:660px; margin-bottom:90px; }
.collection-row{ display:flex; gap:64px; align-items:flex-end; margin-bottom:150px; }
.collection-row:last-child{ margin-bottom:0; }
.collection-row.reverse{ flex-direction:row-reverse; }
.collection-img{ flex:1.3; overflow:hidden; border-radius:2px; }
.collection-img img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.collection-side{ flex:1; padding-bottom:6px; }
.collection-kicker{ font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:16px; display:block; }
.collection-title{ font-family:'Fraunces', serif; font-size:clamp(1.7rem,2.8vw,2.2rem); line-height:1.15; }
.collection-stats{ margin-top:18px; font-size:0.86rem; color:var(--smoke); letter-spacing:0.01em; }
.collection-stats strong{ color:var(--parchment); font-weight:500; }
.collection-desc{ margin-top:16px; font-size:0.96rem; color:var(--smoke); line-height:1.65; max-width:42ch; }
.collection-included{ margin-top:26px; }
.inc-label{ font-size:0.7rem; letter-spacing:0.13em; text-transform:uppercase; color:var(--gold-bright); }
.collection-included ul{ list-style:none; margin-top:12px; display:flex; flex-direction:column; gap:7px; }
.collection-included li{ font-size:0.87rem; color:var(--parchment); opacity:0.78; padding-left:16px; position:relative; }
.collection-included li::before{ content:'—'; position:absolute; left:0; color:var(--gold); opacity:0.7; }
.collection-license-tag{ margin-top:22px; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--smoke); }
.collection-side .read-link{ margin-top:28px; }

/* ---------- COMMERCIAL LICENSING ---------- */
.license{ background:var(--ink-2); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }
.license-grid{ display:grid; grid-template-columns:repeat(3, 1fr); margin-top:64px; border-top:1px solid var(--hairline); border-left:1px solid var(--hairline); }
.license-item{
  font-family:'Fraunces', serif; font-style:italic; font-size:1.15rem;
  padding:32px 30px; border-right:1px solid var(--hairline); border-bottom:1px solid var(--hairline);
}
.license-cta{ margin-top:56px; }

/* ---------- BESPOKE CAMPAIGNS ---------- */
.bespoke{ text-align:center; }
.bespoke .editorial-body{ margin:22px auto 0; text-align:center; }
.bespoke .hero-actions{ justify-content:center; margin-top:44px; }

/* ---------- CREATIVE PARTNERSHIPS (pricing) ---------- */
.partnerships{ background:var(--ink-2); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }
.trust-line{ margin-top:30px; font-family:'Fraunces', serif; font-style:italic; font-size:1rem; color:var(--smoke); line-height:1.6; }
.price-grid{ display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); margin-top:76px; }
.price-col{ padding:52px 42px; border-left:1px solid var(--hairline); display:flex; flex-direction:column; transition:background .5s ease; }
.price-col:first-child{ border-left:none; }
.price-col.featured{ border-top:2px solid var(--gold-bright); margin-top:-2px; }
.price-tag{ font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:16px; }
.price-name{ font-size:1.55rem; }
.price-amount{ margin-top:24px; }
.price-from{ display:block; font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--smoke); margin-bottom:8px; }
.price-num{ font-family:'Fraunces', serif; font-style:italic; font-size:1.85rem; color:var(--gold-bright); }
.price-unit{ font-size:0.78rem; color:var(--smoke); margin-left:5px; }
.price-desc{ margin-top:22px; font-size:0.92rem; color:var(--smoke); line-height:1.65; }
.price-list{ list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:10px; }
.price-list li{ font-size:0.87rem; color:var(--parchment); opacity:0.8; padding-left:16px; position:relative; line-height:1.5; }
.price-list li::before{ content:'—'; position:absolute; left:0; color:var(--gold); opacity:0.75; }
.price-col .btn-outline{ margin-top:36px; align-self:flex-start; }

/* ---------- ABOUT ---------- */
.about{ text-align:center; }
.about h2.display{ font-size:clamp(2.1rem, 4.4vw, 3.5rem); }
.about .editorial-body{ margin-left:auto; margin-right:auto; text-align:left; }
.about .principle{ margin-top:36px; font-family:'Fraunces', serif; font-style:italic; font-size:1.3rem; color:var(--gold-bright); }

/* ---------- CONTACT ---------- */
.contact{ text-align:center; padding:190px 0; }
.contact h2.display{ font-size:clamp(2.2rem, 5vw, 4rem); max-width:16ch; margin:0 auto; }
.contact .editorial-body{ margin:24px auto 0; text-align:center; }
.contact-links{ display:flex; flex-wrap:wrap; gap:18px; justify-content:center; margin-top:48px; }

footer{ border-top:1px solid var(--hairline); padding:56px 0; }

/* ---------- COLLECTION DETAIL PAGE ---------- */
.gallery-row{ margin-bottom:70px; }
.gallery-row:last-child{ margin-bottom:0; }
.gallery-row img{ width:100%; border-radius:2px; }
.gallery-cap{ margin-top:16px; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--smoke); }
.video-wrap{ margin-top:50px; border-radius:2px; overflow:hidden; }
.video-wrap video{ width:100%; display:block; }
.format-list{ margin-top:30px; display:flex; flex-direction:column; }
.format-list div{ padding:18px 0; border-top:1px solid var(--hairline); font-size:0.95rem; color:var(--parchment); opacity:0.85; }
.format-list div:last-child{ border-bottom:1px solid var(--hairline); }
.back-link{ display:inline-block; margin-bottom:28px; }
.detail-hero{ height:78vh; min-height:520px; }
.foot-grid{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:24px; }
.foot-links{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; font-size:0.82rem; }
.foot-links a{ opacity:0.7; }
.foot-links a:hover{ opacity:1; }
.foot-note{ font-size:0.76rem; color:var(--smoke); margin-top:8px; max-width:34ch; }
.foot-copy{ margin-top:32px; font-size:0.76rem; color:var(--smoke); }

/* ---------- INQUIRY FORMS ---------- */
.form-hero{ padding:200px 0 60px; }
.form-hero .kicker{ margin-bottom:22px; }
.form-hero .editorial-body{ max-width:56ch; }
.form-section{ padding-bottom:180px; }
.field{ margin-bottom:36px; }
.field label{ display:block; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--smoke); margin-bottom:12px; }
.field .hint{ display:block; font-size:0.76rem; color:var(--smoke); opacity:0.7; margin-top:8px; text-transform:none; letter-spacing:0; font-family:'Inter'; }
.field input[type="text"],
.field input[type="email"],
.field input[type="url"],
.field input[type="number"],
.field textarea,
.field select{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--hairline);
  color:var(--parchment); font-family:'Inter', sans-serif; font-size:1rem; padding:11px 2px;
  outline:none; transition:border-color .3s ease; border-radius:0;
}
.field select{ appearance:none; -webkit-appearance:none; -moz-appearance:none; cursor:pointer; }
.field select option{ background:var(--ink); color:var(--parchment); }
.field input:focus, .field textarea:focus, .field select:focus{ border-color:var(--gold-bright); }
.field textarea{ resize:vertical; min-height:120px; line-height:1.6; }
.check-group{ display:flex; flex-wrap:wrap; gap:16px 32px; padding-top:4px; }
.check-group label{
  display:flex; align-items:center; gap:10px; font-size:0.92rem; color:var(--parchment);
  text-transform:none; letter-spacing:0; font-family:'Inter', sans-serif; cursor:pointer;
}
.field input[type="checkbox"], .field input[type="radio"]{
  width:16px; height:16px; accent-color:var(--gold-bright); cursor:pointer;
}
.radio-row{ display:flex; flex-wrap:wrap; gap:28px; padding-top:4px; }
.radio-row label{ display:flex; align-items:center; gap:10px; font-size:0.92rem; color:var(--parchment); text-transform:none; letter-spacing:0; font-family:'Inter', sans-serif; cursor:pointer; }
.form-submit{ margin-top:52px; }
.form-note{ margin-top:64px; padding-top:44px; border-top:1px solid var(--hairline); font-family:'Fraunces', serif; font-style:italic; color:var(--smoke); font-size:1rem; line-height:1.6; max-width:56ch; }

/* ---------- CONFIRMATION PAGE ---------- */
.confirm{ min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:160px 0; }
.confirm .kicker{ justify-content:center; }
.confirm h1.display{ font-size:clamp(2.4rem, 5.4vw, 4.2rem); }
.confirm .editorial-body{ margin:24px auto 0; text-align:center; }

@media (max-width:860px){
  .form-hero{ padding:170px 0 40px; }
  .form-section{ padding-bottom:110px; }
}

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal, .reveal-img{ opacity:1 !important; transform:none !important; }
}

@media (max-width:860px){
  .section-pad{ padding:100px 0; }
  .pillars-grid{ grid-template-columns:1fr; gap:44px; }
  .collection-row, .collection-row.reverse{ flex-direction:column; gap:32px; margin-bottom:90px; }
  .license-grid{ grid-template-columns:1fr; }
  .license-item{ border-right:none; }
  .price-grid{ grid-template-columns:1fr; }
  .price-col.featured{ margin-top:0; border-top:1px solid var(--hairline); }
  .price-col{ border-left:none; border-top:1px solid var(--hairline); }
  .price-col:first-child{ border-top:none; }
  .contact{ padding:130px 0; }
  .contact-links{ flex-direction:column; align-items:stretch; }
  .foot-grid{ flex-direction:column; }
  .foot-links{ align-items:flex-start; }
}
