/* Customer-journey refinements. Original supplied design remains underneath. */
html,body{max-width:100%;overflow-x:clip;}
body{position:relative;}
.hero{justify-content:flex-start;min-height:auto!important;}
.hero-top{padding-top:clamp(110px,10vw,150px)!important;}
.hero-mark{margin-top:24px!important;margin-bottom:24px!important;gap:16px!important;}
.hero-mark .script{font-size:clamp(2.2rem,5vw,4.5rem)!important;line-height:1.15!important;white-space:normal!important;min-width:0;}
.hero-mark img{width:clamp(40px,5vw,64px)!important;flex-shrink:0;}
.hero h1{font-size:clamp(4.6rem,13.2vw,10.8rem)!important;line-height:1.06!important;letter-spacing:.005em!important;}
.hero h1 span{transform:none;animation:none;}
.hero h1 span+span{margin-top:.08em;font-size:.83em!important;}
.hero-marquee{overflow:hidden;}
.hero-foot{margin-top:0!important;}
.navlinks a{min-height:44px;display:flex;align-items:center;font-size:.9rem;}
.navlinks{gap:clamp(16px,2vw,28px);}
.brand{flex-shrink:0;}
.nav-cta{min-height:44px;display:flex;align-items:center;justify-content:center;}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #cf3553;outline-offset:4px;}
.section-kicker{color:var(--red-deep);font-size:.875rem;}
.section-dark .section-kicker,.packages-section .section-kicker{color:#ffccd7;}
.packages-head .section-kicker{color:#ffccd7!important;opacity:1!important;}
.packages-head h2,.services-head h2,.skills-head h2,.video-head h2,.work-head h2{line-height:1.08!important;letter-spacing:0!important;}
.package-card.featured .package-condition{background:#f7eff1;}
.package-card.featured .package-comparison>div{border-color:#e1ccd1;}
.work-head p{font-size:1.05rem;line-height:1.6;max-width:640px;}
#work .work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.selected-work-image{display:block;width:100%;height:220px;object-fit:cover;border-radius:12px;margin-bottom:24px;}
.work-item{padding:24px!important;}
.work-item p{margin-bottom:0;}
.portfolio-more{background:var(--cream);padding-bottom:28px;}
.portfolio-more>summary{max-width:680px;margin:0 auto;padding:18px 24px;min-height:48px;font-size:1rem;font-weight:600;cursor:pointer;color:var(--red-deep);border:1px solid var(--red-deep);border-radius:12px;list-style-position:inside;}
.portfolio-more[open]>summary{margin-bottom:40px;}
.additional-work{padding-top:24px;padding-bottom:40px;}
.video-thumb,.video-card{cursor:default!important;}
.video-row{animation:none!important;transform:none!important;}
.package-comparison{margin:20px 0;}
.package-comparison>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.25);font-size:1rem;line-height:1.5;}
.package-comparison dt{font-weight:500;}
.package-comparison dd{margin:0;font-weight:700;text-align:right;}
.package-condition{padding:16px;background:rgba(255,255,255,.1);border-radius:12px;font-size:.95rem;line-height:1.55;margin:0 0 24px;}
.package-condition strong{display:block;margin-bottom:6px;}
.packages-note{font-size:1rem;line-height:1.65;opacity:1;max-width:100%;}
.package-card.featured{transform:none;}
.package-choose{min-height:48px;display:flex;justify-content:center;align-items:center;}
.interest-reassurance{margin-top:22px!important;font-size:1rem!important;}
#skills{padding-top:40px;}
.bottom-contact-cta a{min-height:44px;}
@media(max-width:1000px){
  nav{padding:14px 20px!important;min-height:68px;}
  .brand span{font-size:.85rem;}
  .nav-cta{display:none!important;}
  .navtoggle{display:grid;place-items:center;position:fixed;right:16px;top:calc(10px + env(safe-area-inset-top));width:44px;height:44px;padding:0;border:1px solid currentColor;border-radius:50%;font-size:1.25rem;z-index:999;}
  body.menu-open{overflow:hidden;}
  .navlinks{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);height:100dvh;background:#3d000d;padding:88px 28px 32px;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;transform:translateX(110%);visibility:hidden;pointer-events:none;overflow-y:auto;z-index:901;transition:transform .25s,visibility .25s;}
  .navlinks.open{transform:none;visibility:visible;pointer-events:auto;}
  .navlinks li{width:100%;border-bottom:1px solid rgba(255,255,255,.22);}
  nav .navlinks a,nav.scrolled .navlinks a{color:#fff!important;font-size:1rem;opacity:1;padding:16px 0;min-height:52px;display:flex;align-items:center;}
  nav.menu-active .navtoggle{color:#fff!important;}
  .navbackdrop{backdrop-filter:blur(3px);}
  #work .work-grid{grid-template-columns:1fr;}
  .selected-work-image{height:260px;}
  .packages-grid{grid-template-columns:1fr;}
  .hero-top{padding-top:110px!important;}
}
@media(max-width:600px){
  .hero{min-height:auto!important;}
  .hero h1{font-size:clamp(4rem,20.2vw,6.45rem)!important;line-height:1.1!important;}
  .hero h1 span+span{font-size:.83em!important;white-space:normal!important;}
  .hero-mark{margin-bottom:20px!important;gap:12px!important;}
  .hero-mark img{width:40px!important;}
  .hero-mark .script{font-size:clamp(1.9rem,8vw,2.9rem)!important;line-height:1.2!important;}
  .hero-eyebrow{font-size:.75rem!important;letter-spacing:.08em!important;white-space:normal;}
  .hero-location{font-size:.8rem!important;letter-spacing:.06em!important;}
  .portfolio-more>summary{margin-inline:20px;}
  .package-card{padding:24px!important;}
  .package-comparison>div{grid-template-columns:1fr 1fr;}
  .selected-work-image{height:200px;}
  #work .work-head h2{font-size:clamp(2.4rem,11vw,4rem);line-height:1.12;letter-spacing:0;}
}
@media(prefers-reduced-motion:reduce){.navlinks{transition:none;}}

/* Click-to-play introduction; source order places it after the mobile CTAs. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,30vw,360px);grid-template-areas:"eyebrow eyebrow" "headline introduction" "actions introduction" "marquee marquee";column-gap:24px;}
.hero-top{grid-area:eyebrow;}
.hero-main{grid-area:headline;min-width:0;}
.hero-marquee{grid-area:marquee;}
.hero-foot{grid-area:actions;min-width:0;flex-direction:column!important;align-items:flex-start!important;gap:20px!important;padding-top:24px;}
.hero-foot .hero-location{max-width:100%!important;margin-left:0!important;text-align:left!important;font-size:.8rem!important;letter-spacing:.06em!important;line-height:1.6;}
.hero-introduction{grid-area:introduction;position:relative;z-index:3;align-self:start;margin:24px clamp(20px,5vw,64px) 20px 0;min-width:0;}
.hero-introduction video{display:block;width:100%;height:auto;aspect-ratio:337/600;object-fit:contain;background:#18070b;border:1px solid rgba(255,255,255,.25);border-radius:20px;box-shadow:0 16px 40px rgba(0,0,0,.2);}
.hero-introduction figcaption{text-align:center;font-size:.9rem;line-height:1.5;margin-top:12px;color:#fff;}
@media(max-width:900px){
  .hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"eyebrow" "headline" "actions" "introduction" "marquee";}
  .hero-introduction{width:min(calc(100% - 40px),300px);margin:32px auto 0;}
}
