
:root{
  --bg:#000;
  --fg:#fff;
  --gold:#dfb04b;
  --muted:#d8d8d8;
  --panel:#0d0d0d;
  --panel-2:#131313;
  --soft-gold:rgba(223,176,75,.10);
  --max:1240px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg)}
body{
  font-family:"Open Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
iframe{border:0}
.page-shell{min-height:100vh;background:linear-gradient(180deg,#000 0%,#080808 34%,#101010 100%)}
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:20;
  padding:28px 24px;
  transition:background .25s ease, backdrop-filter .25s ease;
}
.site-header.scrolled{background:rgba(0,0,0,.52);backdrop-filter:blur(10px)}
.nav{
  max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
}
.brand-small{justify-self:start}
.brand-small img{height:44px; width:auto}
.nav-links{
  justify-self:center; display:flex; gap:28px; letter-spacing:.18em; text-transform:uppercase;
  font-size:12px; font-weight:600;
}
.nav-links a{position:relative; padding-bottom:4px}
.nav-links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gold);
  transform:scaleX(0); transform-origin:center; transition:transform .25s ease;
}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-spacer{justify-self:end}
.hero{
  position:relative; min-height:100vh; overflow:hidden; background:#000;
}
.hero .video-poster,
.hero .video-wrap,
.hero .video-overlay,
.hero .hero-content{
  position:absolute; inset:0;
}
.video-poster{
  background: none;
}
.video-wrap iframe{
  width:100vw; height:56.25vw; min-height:100vh; min-width:177.78vh;
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  pointer-events:none; filter:contrast(1.04) brightness(.62) saturate(.95);
}
.video-overlay{
  background:
    linear-gradient(to bottom, rgba(7,7,7,.18), rgba(7,7,7,.24) 20%, rgba(8,8,8,.42) 56%, rgba(9,9,9,.84)),
    radial-gradient(circle at center, rgba(223,176,75,.08), rgba(0,0,0,.36) 58%);
}
.hero-content{
  z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:160px 24px 70px;
}
.hero-logo{
  width:min(600px,76vw); margin-bottom:26px; filter:drop-shadow(0 6px 26px rgba(0,0,0,.45));
}
.eyebrow{
  font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin-bottom:14px;
}
.display{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(2.4rem,5vw,5.5rem);
  line-height:.95; margin:0 0 18px; font-weight:700; max-width:980px;
}
.hero-copy{
  max-width:790px; font-size:clamp(1rem,1.5vw,1.2rem); color:#ece8e1; margin:0 auto 34px;
}
.hero-links{
  display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:center; margin-top:20px;
}
.pill{
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  padding:14px 20px; border-radius:999px; font-size:.82rem; letter-spacing:.18em;
  text-transform:uppercase; backdrop-filter:blur(10px); transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.pill:hover{transform:translateY(-2px); border-color:var(--gold); background:rgba(223,176,75,.10)}
.section{
  padding:92px 24px;
}
.section:nth-of-type(even):not(.hero):not(.page-hero){
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(223,176,75,.03));
}
.container{max-width:var(--max); margin:0 auto}
.split{
  display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:center;
}
.kicker{
  letter-spacing:.28em; text-transform:uppercase; color:var(--gold); font-size:.74rem; margin-bottom:16px;
}
.h2{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(2.25rem,4vw,4rem); line-height:.95; margin:0 0 18px;
}
.body-lg{font-size:1.08rem; color:#efefef}
.body-muted{color:#d2d2d2}
.frame{
  background:linear-gradient(180deg,var(--panel-2),#0b0b0b); border:1px solid rgba(255,255,255,.12); border-radius:22px; overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.frame img{width:100%; height:100%; object-fit:cover}
.info-row{
  display:flex; gap:22px; flex-wrap:wrap; margin-top:26px; color:#f0f0f0; font-size:.95rem;
}
.info-row a{color:#fff}
.button{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 22px; border-radius:999px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  font-size:.78rem; border:1px solid var(--gold); color:#000; background:var(--gold);
  transition:transform .2s ease, box-shadow .2s ease;
}
.button:hover{transform:translateY(-2px); box-shadow:0 10px 30px rgba(223,176,75,.25)}
.button.outline{background:transparent; color:#fff}
.button.outline:hover{box-shadow:none}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.feature-card,.package-card{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(223,176,75,.04));
  border:1px solid rgba(255,255,255,.10); border-radius:24px; overflow:hidden;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.feature-card:hover,.package-card:hover{
  transform:translateY(-4px); border-color:rgba(223,176,75,.48); box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.feature-card img,.package-card img{width:100%; aspect-ratio:4/5; object-fit:cover}
.card-pad{padding:24px}
.feature-card h3,.package-card h3{
  margin:0 0 10px; font-family:"Cormorant Garamond", Georgia, serif; font-size:2rem;
}
.card-meta{
  letter-spacing:.22em; text-transform:uppercase; color:var(--gold); font-size:.68rem; margin-bottom:10px
}
.package-price{font-size:1.1rem; font-weight:700; margin-bottom:14px}
.package-list{list-style:none; padding:0; margin:0; display:grid; gap:10px; color:#e5e5e5}
.package-list li{padding-left:18px; position:relative}
.package-list li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--gold); position:absolute; left:0; top:.58em}
.center{text-align:center}
.contact-card{
  max-width:850px; margin:0 auto; padding:38px; text-align:center;
  background:linear-gradient(180deg, rgba(223,176,75,.16), rgba(255,255,255,.05));
  border:1px solid rgba(223,176,75,.34); border-radius:28px;
}
.footer{
  padding:52px 24px 72px; border-top:1px solid rgba(255,255,255,.08);
}
.footer-inner{
  max-width:var(--max); margin:0 auto; display:grid; gap:24px; justify-items:center; text-align:center;
}
.footer-logo{width:min(360px,70vw)}
.footer-title{
  font-family:"Cormorant Garamond", Georgia, serif; font-size:2rem; margin:0;
}
.footer-links{display:flex; gap:18px; flex-wrap:wrap; justify-content:center; color:#d5d5d5}
.page-hero{
  position:relative; min-height:72vh; display:grid; place-items:end center; padding:160px 24px 80px;
  overflow:hidden;
}
.page-hero img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter:brightness(.56) contrast(1.03);
}
.page-hero::after{
  content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.20), rgba(0,0,0,.76));
}
.page-hero .container{position:relative; z-index:1}
.stacked-copy{max-width:820px}
.about-section{padding-top:64px}
.about-hero,.compact-page-hero{min-height:42vh;padding:124px 24px 32px}
.copy-col p{margin:0 0 16px}
.form-shell{
  display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:stretch;
}
.inquiry-box,.contact-box{
  border:1px solid rgba(255,255,255,.10); border-radius:24px; background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(223,176,75,.03));
  padding:28px;
}
label{display:block; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:#d7d7d7; margin-bottom:10px}
input,textarea,select{
  width:100%; background:#090909; color:#fff; border:1px solid rgba(255,255,255,.10); border-radius:14px;
  padding:14px 16px; font:inherit; margin-bottom:16px;
}
select{appearance:none}
textarea{min-height:150px; resize:vertical}
.note{font-size:.88rem; color:#cfcfcf}
.home-strip{padding-top:28px}
.home-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; justify-content:center; align-items:stretch}
.tall-card{display:flex; flex-direction:column; height:100%}
.tall-card img{aspect-ratio:4/4.2; flex:1 1 auto}
.stack{display:grid; align-self:stretch; height:100%}
.qualifications-panel{
  width:100%; min-width:0; height:100%;
  border:1px solid rgba(255,255,255,.10); border-radius:24px;
  padding:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(223,176,75,.05));
  display:grid; grid-template-rows:auto 1fr; gap:22px;
}
.qualifications-top h3,
.reviews-head h4{
  margin:0;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:2rem;
}
.qualification-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.qualification-item{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:16px 14px;
  background:rgba(255,255,255,.03);
  display:grid;
  gap:6px;
  align-content:start;
}
.qualification-number{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:2rem;
  line-height:1;
  color:var(--gold);
}
.qualification-label{
  color:#ebebeb;
  font-size:.96rem;
}
.reviews-panel{
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:18px;
  background:rgba(0,0,0,.22);
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:18px;
}
.reviews-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.review-controls{display:flex; gap:10px}
.review-arrow,
.review-dot{
  border:1px solid rgba(223,176,75,.35);
  background:rgba(255,255,255,.04);
  color:#fff;
  cursor:pointer;
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.review-arrow{
  width:44px; height:44px; border-radius:999px; font-size:1.1rem;
}
.review-arrow:hover,
.review-dot:hover{
  transform:translateY(-1px);
  border-color:rgba(223,176,75,.7);
  background:rgba(223,176,75,.10);
}
.review-slider{position:relative; min-height:220px}
.review-card{
  min-height:220px;
  display:grid;
  align-content:space-between;
  gap:20px;
  padding:22px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}
.review-copy::before{
  content:"\201C";
  display:block;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:3rem;
  line-height:.7;
  color:var(--gold);
  margin-bottom:12px;
}
.review-card p{
  margin:0;
  color:#f2f2f2;
  font-size:1rem;
  line-height:1.7;
}
.review-author{
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  font-size:.74rem;
}
.review-dots{display:flex; gap:10px; justify-content:flex-start}
.review-dot{
  width:12px; height:12px; border-radius:999px; padding:0;
}
.review-dot.is-active{
  background:var(--gold);
  border-color:var(--gold);
}

@media (max-width: 980px){
  .qualification-list{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .qualifications-panel{padding:20px}
  .qualification-list{grid-template-columns:1fr}
  .reviews-head{flex-direction:column; align-items:flex-start}
}
@media (max-width: 980px){
  .split,.grid-3,.form-shell,.home-grid,.embed-grid{grid-template-columns:1fr}
  .site-header{padding:20px 16px}
  .nav{grid-template-columns:auto 1fr}
  .brand-small{display:none}
  .nav-links{justify-self:start; gap:18px}
  .nav-spacer{display:none}
}
@media (max-width: 640px){
  .footer-logo{width:min(280px,74vw)}
  .display{font-size:2.35rem}
  .hero-content{padding-top:150px}
  .card-pad,.contact-card,.inquiry-box,.contact-box{padding:22px}
  .nav-links{font-size:11px; gap:14px}
  .page-hero{min-height:62vh}
}

.center-hero-copy{margin:0 auto;text-align:center}
.featured-work-section{padding-top:36px}
.featured-work-section .container{max-width:1380px}
.featured-copy{max-width:760px;margin:0 auto}
.embed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.embed-card{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(223,176,75,.04));
  border:1px solid rgba(255,255,255,.10); border-radius:24px; padding:18px;
}
.responsive-embed{position:relative;width:100%;overflow:hidden;border-radius:18px;background:#050505;border:1px solid rgba(255,255,255,.08)}
.video-16x9{aspect-ratio:16/10}
.responsive-embed iframe{position:absolute;inset:0;width:100%;height:100%}
.right-stack{display:grid;grid-template-rows:auto 1fr;gap:28px;height:100%}
.video-showcase-box{display:flex;flex-direction:column;min-height:100%}
.video-scroll-list{display:grid;gap:18px;max-height:640px;overflow:auto;padding-right:6px;margin-top:18px}
.video-scroll-item{display:grid;gap:10px}
.video-scroll-list::-webkit-scrollbar{width:10px}
.video-scroll-list::-webkit-scrollbar-thumb{background:rgba(223,176,75,.45);border-radius:999px}
.video-scroll-list::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}


.inline-form-panel{
  margin-top:24px;
  padding:28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(223,176,75,.05));
  text-align:left;
}
.inline-form-title{
  margin-bottom:12px;
  font-size:2.2rem;
}
.form-grid-two{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.form-status{
  margin:0 0 16px;
  padding:14px 16px;
  border-radius:14px;
  font-size:.95rem;
  border:1px solid rgba(255,255,255,.1);
}
.form-status.loading{
  color:#f0f0f0;
  background:rgba(255,255,255,.06);
}
.form-status.success{
  color:#fff;
  background:rgba(43, 125, 72, .28);
  border-color:rgba(86, 201, 127, .45);
}
.form-status.error{
  color:#fff;
  background:rgba(133, 38, 38, .30);
  border-color:rgba(255, 109, 109, .40);
}
.button:disabled{
  opacity:.7;
  cursor:wait;
  transform:none;
  box-shadow:none;
}
@media (max-width: 980px){
  .form-grid-two{grid-template-columns:1fr}
}


@media (max-width: 980px){
  .embed-grid{grid-template-columns:1fr;gap:22px}
  .embed-card{padding:16px}
  .video-16x9{aspect-ratio:16/11}
  .right-stack{gap:22px}
}

@media (max-width: 640px){
  .featured-work-section .container{padding-left:16px;padding-right:16px}
  .embed-grid{grid-template-columns:1fr;gap:18px}
  .embed-card{padding:14px;border-radius:20px}
  .video-16x9{aspect-ratio:16/12}
  .video-scroll-list{max-height:none;overflow:visible;padding-right:0;gap:16px}
  .video-scroll-item{gap:8px}
  .video-showcase-box .h2{font-size:2rem !important}
}
