@font-face { font-family:"Horseman"; src:url('./brand/horseman-regular.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Horseman"; src:url('./brand/horseman-bold.otf') format('opentype'); font-weight:700; font-style:normal; font-display:swap; }

:root { --black:#030007; --gold:#b49054; --ivory:#e8e2be; --white:#fdfdfd; --muted:#6d675a; --line:rgba(180,144,84,.34); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--black); font-family:Cambria,Georgia,serif; }
a { color:inherit; text-decoration:none; }
.hero { min-height:100vh; min-height:100svh; position:relative; color:var(--white); padding:0 clamp(24px,5vw,76px) 36px; background-color:var(--black); background-image:linear-gradient(0deg,rgba(3,0,7,.94) 0%,rgba(3,0,7,.72) 19%,rgba(3,0,7,.06) 48%),url('./images/scott-anthony-social-card.png'); background-position:center 22%; background-size:cover; background-repeat:no-repeat; display:flex; flex-direction:column; }
.hero-mobile-art { display:none; }
.wedding-concept .stamp { display:none; }
.nav { min-height:118px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(180,144,84,.55); }
.brand { display:flex; align-items:center; }
.brand-logo { display:block; width:78px; height:78px; overflow:hidden; }
.brand-logo img { width:100%; height:100%; object-fit:contain; display:block; }
.brand-logo.compact { width:58px; height:58px; }
.nav-links { display:flex; align-items:center; gap:36px; text-transform:uppercase; font-family:Arial,Helvetica,sans-serif; font-size:10px; letter-spacing:.19em; }
.nav-links>a { transition:color .2s ease,border-color .2s ease; }
.nav-links>a:hover { color:var(--ivory); }
.nav-cta { border:1px solid var(--gold); color:var(--ivory); padding:13px 18px; }
.hero-copy { margin:auto 0 0; max-width:none; padding:24px 0 30px; display:flex; justify-content:space-between; align-items:end; gap:40px; }
.eyebrow,.section-kicker { font-family:Arial,Helvetica,sans-serif; font-size:10px; text-transform:uppercase; letter-spacing:.31em; font-weight:700; }
.eyebrow { color:var(--ivory); }
h1,h2,h3,blockquote { font-family:"Horseman",Cambria,Georgia,serif; font-weight:400; }
h1 { font-size:clamp(58px,7.1vw,110px); line-height:.91; letter-spacing:-.025em; margin:25px 0 30px; text-shadow:0 2px 24px rgba(0,0,0,.25); }
em { color:var(--gold); font-weight:400; font-style:normal; }
.hero h1 em { color:var(--gold); }
.hero-copy .eyebrow,.hero-copy h1 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.lede { max-width:580px; margin:0; font-size:clamp(17px,1.5vw,22px); line-height:1.5; color:rgba(253,253,253,.9); text-shadow:0 2px 14px rgba(0,0,0,.9); }
.hero-actions { display:flex; gap:16px; margin:0; flex-wrap:wrap; justify-content:flex-end; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:26px; padding:0 25px; text-transform:uppercase; font-family:Arial,Helvetica,sans-serif; letter-spacing:.17em; font-size:9px; font-weight:700; border:0; cursor:pointer; transition:background .2s ease,color .2s ease; }
.primary { background:var(--gold); color:var(--black); }
.primary:hover { background:var(--ivory); }
.ghost { border:1px solid rgba(232,226,190,.55); color:var(--white); }
.ghost:hover { background:rgba(232,226,190,.1); }
.hero-foot { display:flex; justify-content:space-between; align-items:end; font-family:Arial,Helvetica,sans-serif; font-size:9px; text-transform:uppercase; letter-spacing:.16em; color:rgba(232,226,190,.76); }
.hero-foot div,footer div:last-child { display:flex; gap:22px; }
.manifesto,.contact { padding:clamp(84px,10vw,150px) clamp(24px,8vw,130px); }
.manifesto { background:var(--white); }
.ornament { display:flex; align-items:center; gap:20px; max-width:320px; margin:0 auto 60px; }
.ornament>span { height:1px; background:var(--gold); flex:1; }
.ornament .brand-logo { opacity:.9; }
.section-kicker { color:var(--gold); margin:0 0 48px; }
.manifesto-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(50px,10vw,150px); }
.manifesto h2,.contact h2 { font-size:clamp(49px,5.7vw,84px); line-height:1.03; letter-spacing:-.02em; margin:0; }
.manifesto-grid>div { padding-top:12px; }
.large-copy { font-size:clamp(23px,2.3vw,34px); line-height:1.35; margin-top:0; }
.manifesto-grid>div p:last-child,.shows-copy>p,.contact-copy>p { line-height:1.75; color:var(--muted); }
.pillars { border-top:1px solid var(--line); margin-top:100px; display:grid; grid-template-columns:repeat(3,1fr); }
.pillars article { padding:35px 42px 0 0; border-right:1px solid var(--line); min-height:230px; }
.pillars article+article { padding-left:42px; }
.pillars article:last-child { border:0; }
.pillars span { color:var(--gold); font:italic 18px Cambria,Georgia,serif; }
.pillars h3 { font-size:26px; margin:28px 0 13px; }
.pillars p { color:var(--muted); line-height:1.6; font-size:14px; }
.shows { background:var(--black); color:var(--white); padding:clamp(80px,9vw,140px) clamp(24px,8vw,130px); display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(50px,8vw,120px); overflow:hidden; border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); }
.section-kicker.light { color:var(--gold); }
.shows h2 { font-size:clamp(52px,6vw,88px); line-height:1; letter-spacing:-.02em; margin:0 0 32px; }
.shows h2 em { color:var(--gold); }
.shows-copy>p { color:rgba(232,226,190,.72); max-width:500px; }
.show-links { margin-top:52px; border-top:1px solid var(--line); }
.show-links a { display:grid; grid-template-columns:1fr 1fr auto; gap:20px; padding:23px 0; border-bottom:1px solid var(--line); align-items:center; }
.show-links span { font:20px Cambria,Georgia,serif; }
.show-links small { color:rgba(232,226,190,.62); }
.show-links b { color:var(--gold); }
.photo-stack { min-height:680px; position:relative; }
.photo-main { width:82%; height:83%; object-fit:cover; position:absolute; right:0; top:0; filter:saturate(.72) contrast(1.04); border:1px solid rgba(180,144,84,.65); }
.photo-small { width:43%; aspect-ratio:4/3; object-fit:cover; position:absolute; left:0; bottom:0; border:10px solid var(--black); outline:1px solid rgba(180,144,84,.65); filter:saturate(.7); }
.stamp { position:absolute; left:11%; top:13%; width:110px; height:110px; background:var(--gold); color:var(--black); border-radius:50%; display:grid; place-content:center; text-align:center; text-transform:uppercase; font-family:Arial,Helvetica,sans-serif; letter-spacing:.15em; line-height:1.45; font-size:9px; transform:rotate(-8deg); box-shadow:0 0 0 4px var(--black),0 0 0 5px var(--gold); }
.stamp span { font-size:16px; }
.testimonial { padding:clamp(90px,10vw,150px) clamp(24px,8vw,130px); display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(55px,8vw,120px); align-items:center; background:var(--ivory); }
.testimonial-copy { position:relative; }
.quote-mark { display:block; font:140px Cambria,Georgia,serif; color:rgba(180,144,84,.32); line-height:.35; margin-top:74px; }
.testimonial blockquote { font-size:clamp(34px,3.35vw,50px); line-height:1.18; letter-spacing:-.01em; margin:18px 0 34px; }
.quote-credit { text-transform:uppercase; font-family:Arial,Helvetica,sans-serif; letter-spacing:.17em; font-size:10px; }
.quote-credit span { color:#85642f; margin-left:18px; letter-spacing:.08em; }
.video-frame { position:relative; aspect-ratio:16/9; background:var(--black); box-shadow:0 30px 70px rgba(3,0,7,.22); border:1px solid var(--gold); }
.video-frame::before { content:"Video testimonial"; position:absolute; left:18px; top:-30px; color:#5f5848; font:9px Arial,Helvetica,sans-serif; text-transform:uppercase; letter-spacing:.2em; }
.video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.contact { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr .85fr; gap:clamp(60px,10vw,160px); background:var(--white); }
.contact-copy>p { max-width:540px; margin-top:30px; }
.contact-copy>a { display:inline-block; color:#85642f; margin-top:18px; font-weight:700; }
.contact-form { display:grid; gap:28px; }
.contact-form label { text-transform:uppercase; font-family:Arial,Helvetica,sans-serif; letter-spacing:.13em; font-size:9px; font-weight:700; }
input,textarea { width:100%; border:0; border-bottom:1px solid rgba(3,0,7,.4); background:transparent; padding:13px 0; font:17px Cambria,Georgia,serif; outline:none; border-radius:0; }
input:focus,textarea:focus { border-color:var(--gold); }
textarea { resize:vertical; }
.opt-in { display:flex; align-items:center; gap:10px; line-height:1.5; color:var(--muted); }
.opt-in input { width:16px; height:16px; accent-color:var(--gold); }
.contact-form .button { width:100%; }
footer { background:var(--black); color:var(--white); padding:30px clamp(24px,5vw,76px); display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--gold); }
footer .brand-logo { width:76px; height:76px; }
footer p,footer a { font-family:Arial,Helvetica,sans-serif; font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:rgba(232,226,190,.65); }

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
}

/* Stacked hero: whenever the window is narrow, not widescreen (tablets, square/portrait windows) or short
   (landscape phones), show the full artwork as an image with the copy below instead of a cropped background.
   Keep this query in sync with the <source media> on .hero-mobile-art in index.html. */
@media (max-width:800px), (max-aspect-ratio:3/2), (max-height:600px) {
  .hero { min-height:0; padding:0 0 24px; background-image:none; }
  .hero .nav { margin:0 clamp(24px,5vw,76px); }
  .hero-mobile-art { display:block; width:100%; }
  .hero-mobile-art img { display:block; width:100%; height:auto; }
  .hero .hero-foot { margin:0 clamp(24px,5vw,76px); }
  .hero .lede { max-width:600px; text-shadow:none; }
  .hero-copy { margin:0; padding:clamp(24px,4vw,44px) clamp(24px,5vw,76px); }
}

@media (max-width:1100px) {
  .pillars article { padding-right:28px; }
  .pillars article+article { padding-left:28px; }
}

@media (max-width:960px) {
  .manifesto-grid,.shows,.testimonial,.contact { grid-template-columns:1fr; }
  .pillars { grid-template-columns:1fr; margin-top:70px; }
  .pillars article,.pillars article+article { border-right:0; border-bottom:1px solid var(--line); padding:30px 0; min-height:0; }
  .photo-stack { min-height:clamp(410px,70vw,640px); }
  .shows-copy { order:2; }
  .photo-stack { order:1; }
  .testimonial-copy { order:2; }
  .video-frame { order:1; }
  .quote-mark { margin-top:40px; }
}

@media (max-width:800px) {
  .nav-links>a:not(.nav-cta),.hero-foot>span { display:none; }
  .hero-foot div { flex-wrap:wrap; justify-content:center; gap:8px 22px; }
  .hero-foot a { display:inline-flex; align-items:center; min-height:44px; }
  .hero-copy { flex-direction:column; align-items:flex-start; gap:22px; }
  .hero-actions { justify-content:flex-start; width:100%; }
  footer { flex-direction:column; gap:22px; text-align:center; }
}

@media (max-width:520px) {
  .nav { min-height:88px; }
  .brand-logo { width:64px; height:64px; }
  h1 { font-size:53px; }
  .manifesto h2,.contact h2 { font-size:clamp(32px,9vw,46px); }
  .shows h2 { font-size:clamp(38px,10vw,52px); }
  .hero-actions .button { width:100%; }
  .hero-foot { justify-content:center; }
  .show-links a { grid-template-columns:1fr auto; }
  .show-links small { display:none; }
  .ornament { margin-bottom:42px; }
}

/* Contact form */
.form-intro { margin:0; color:var(--muted); font-size:14px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.form-row label { min-width:0; }
.form-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.form-status { margin:0; padding:16px 18px; border-left:3px solid var(--gold); background:#f4f0e5; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.form-status[data-state="error"] { border-color:#a13232; background:#fff2ef; color:#742525; }
.form-status[hidden] { display:none; }
.contact-form button:disabled { opacity:.65; cursor:wait; }
.contact-form :focus-visible { outline:2px solid #85642f; outline-offset:4px; }
@media (max-width:520px) { .form-row { grid-template-columns:1fr; gap:28px; } }

/* Privacy notice and policy */
.form-privacy { margin:0; font-size:14px; line-height:1.65; color:var(--muted); }
.form-privacy a,.privacy-content a { color:#765723; text-decoration:underline; text-underline-offset:3px; }
footer div:last-child { flex-wrap:wrap; justify-content:center; }
.privacy-header { background:var(--black); color:var(--ivory); padding:20px clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--gold); }
.privacy-header>a:last-child { font:12px Arial,Helvetica,sans-serif; }
.privacy-content { max-width:880px; margin:0 auto; padding:64px 28px 90px; font-size:18px; line-height:1.75; overflow-wrap:anywhere; }
.privacy-content h1 { font-size:clamp(40px,6vw,72px); line-height:1.15; margin:36px 0 20px; text-shadow:none; }
.privacy-content h2 { font-size:clamp(24px,3vw,32px); line-height:1.3; margin:0 0 18px; }
.privacy-content section { margin-top:42px; }
.privacy-content p { margin:0 0 18px; }
.privacy-content .privacy-subtitle,.privacy-back { font-size:14px; color:var(--muted); }
.privacy-content .privacy-promise { background:#f4f0e5; border-left:3px solid var(--gold); padding:24px; margin:30px 0; font-size:21px; line-height:1.55; }
.privacy-page a:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }

/* Feedback survey (feedback.html, not linked from the main site) */
.feedback-content h1 { margin-top:0; }
.feedback-form { margin-top:44px; }
.feedback-form fieldset { border:0; margin:0; padding:0; min-width:0; }
.feedback-form legend { padding:0; margin-bottom:16px; text-transform:uppercase; font-family:Arial,Helvetica,sans-serif; letter-spacing:.13em; font-size:9px; font-weight:700; line-height:1.6; }
.rating-options { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.rating-options label { position:relative; }
.rating-options input { position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; }
.rating-options span { display:flex; align-items:center; justify-content:center; min-height:56px; border:1px solid rgba(3,0,7,.3); font:22px "Horseman",Cambria,Georgia,serif; letter-spacing:0; transition:background .2s ease,border-color .2s ease; }
.rating-options input:hover+span { border-color:var(--gold); }
.rating-options input:checked+span { background:var(--gold); border-color:var(--gold); }
.rating-options input:focus-visible+span { outline:2px solid #85642f; outline-offset:3px; }
.rating-scale { display:flex; justify-content:space-between; margin:10px 0 0; font:12px Arial,Helvetica,sans-serif; color:var(--muted); }
.feedback-form .choice label { display:flex; align-items:center; gap:12px; min-height:40px; text-transform:none; letter-spacing:0; font:17px Cambria,Georgia,serif; }
.feedback-form .choice input,.feedback-form .opt-in input { width:18px; height:18px; margin:0; padding:0; flex-shrink:0; accent-color:var(--gold); }
.feedback-form textarea { font-size:17px; }

.contact-form,.contact-copy,.manifesto-grid>div,.shows-copy { min-width:0; }
.contact-form input,.contact-form textarea { max-width:100%; min-width:0; }
.opt-in input { flex-shrink:0; }
