@import url('https://fonts.googleapis.com/css2?family=Hind:wght@400;500;600;700&family=Tiro+Devanagari+Hindi&display=swap');
:root{--ink:#211b18;--brown:#39251c;--ivory:#fff9ed;--cream:#f8f1e5;--gold:#c9a24a;--saffron:#d97706;--red:#a93225;--muted:#82766b;--serif:'Tiro Devanagari Hindi',serif;--sans:'Hind',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}.splash{position:fixed;inset:0;z-index:1000;background:#211b18;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold);transition:opacity .7s,visibility .7s}.splash.done{opacity:0;visibility:hidden}.splash-mark{font-size:74px;line-height:1.2}.splash-text{font:30px var(--serif);background:linear-gradient(110deg,#8e6b27,#f5d987,#b48b35);color:transparent;background-clip:text}.splash-rule{width:90px;height:1px;background:var(--gold);margin-top:20px;animation:expand 1.2s ease both}@keyframes expand{from{width:0}to{width:90px}}
.site-header{height:86px;position:fixed;z-index:50;top:0;left:0;right:0;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;color:white;transition:background .3s,color .3s,box-shadow .3s}.site-header.scrolled{background:rgba(255,249,237,.96);color:var(--ink);box-shadow:0 5px 30px #211b1812;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid #c9a24a99;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:25px}.brand strong,.brand small{display:block;line-height:1.3}.brand strong{font-size:15px;font-weight:600}.brand small{font-size:11px;opacity:.7;margin-top:4px;letter-spacing:.04em}.site-nav{display:flex;align-items:center;gap:clamp(12px,1.6vw,27px)}.site-nav>a{font-size:13px;white-space:nowrap;position:relative}.site-nav>a:not(.nav-cta):after{content:"";position:absolute;bottom:-6px;right:0;width:0;height:1px;background:var(--gold);transition:width .25s}.site-nav>a:hover:after{width:100%}.nav-cta{border:1px solid #c9a24a;padding:8px 15px;color:var(--gold)}.scrolled .nav-cta{color:var(--brown)}.menu-toggle{display:none}
.hero{min-height:740px;height:min(850px,100vh);background:radial-gradient(ellipse at 72% 40%,#67452b 0,#32241d 34%,#211b18 75%);color:var(--ivory);padding:145px 8% 80px;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:4%;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid #c9a24a20;border-radius:50%;right:-100px;top:100px;box-shadow:0 0 0 45px #c9a24a08,0 0 0 90px #c9a24a05}.hero-copy{position:relative;z-index:2;max-width:540px}.eyebrow{font-size:12px;letter-spacing:.13em;color:var(--saffron);font-weight:600;margin:0 0 18px;display:flex;align-items:center;gap:10px}.eyebrow-line{display:inline-block;width:30px;height:1px;background:currentColor}.hero .eyebrow{color:#e3bd66}.hero-kicker{font-size:15px;color:#d7c8b4;margin:0 0 8px}.hero h1{font:clamp(42px,5.4vw,76px)/1.22 var(--serif);margin:0;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:#e5c16b}.hero-description{font-size:16px;max-width:410px;color:#d3c7b9;margin:20px 0 26px}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;gap:24px;padding:12px 20px;font-size:14px;font-weight:600;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button-gold{background:var(--gold);color:#211b18}.button-gold:hover{background:#e2bf69}.text-link{font-size:14px;color:#f5e7cf}.text-link span{margin-left:8px;color:var(--gold)}.hero-date{display:flex;align-items:center;gap:12px;margin-top:44px}.date-icon{width:45px;height:45px;border:1px solid #c9a24a88;color:#e8c46d;display:grid;place-items:center;font:22px var(--serif)}.hero-date small,.hero-date strong{display:block;line-height:1.3}.hero-date small{font-size:11px;color:#b8a998}.hero-date strong{font-size:14px;font-weight:600;margin-top:3px}.hero-visual{height:510px;position:relative;max-width:650px;width:100%;justify-self:end}.hero-image-frame{position:absolute;inset:0 0 24px 8%;overflow:hidden;border-radius:180px 180px 8px 8px;border:1px solid #c9a24a66;background:#59412c}.hero-temple{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78);}.image-shade{position:absolute;inset:0;background:linear-gradient(0deg,#211b18a6,transparent 55%),linear-gradient(90deg,#211b1826,transparent)}.image-caption{position:absolute;bottom:22px;left:28px;right:28px;display:flex;align-items:center;gap:14px;color:#fff1d2;font-size:11px;letter-spacing:.15em}.caption-line{height:1px;width:40px;background:var(--gold)}.portrait-frame{position:absolute;bottom:0;right:0;width:38%;height:73%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.portrait-frame img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 14px 20px #0008)}.visual-seal{position:absolute;top:48px;left:0;width:68px;height:90px;border:1px solid #c9a24a99;border-radius:50%;display:grid;place-content:center;text-align:center;color:#e5c16b;font-size:10px;line-height:1.1;background:#211b1870}.visual-seal b{font-size:28px;font-weight:400}.hero-bottom{position:absolute;bottom:26px;left:8%;right:8%;display:flex;justify-content:space-between;color:#b9aa99;font-size:11px;letter-spacing:.08em}.scroll-cue b{color:var(--gold);font-size:17px;margin-left:8px}
.section-pad{padding:110px 10%}.section-index{font-size:10px;letter-spacing:.17em;color:#9d8c78;border-bottom:1px solid #d8cbb8;padding-bottom:13px;margin-bottom:58px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.intro h2,.history h2,.candidate h2,.gallery-heading h2,.service h2,.contact h2{font:clamp(34px,4.2vw,55px)/1.35 var(--serif);letter-spacing:-.025em;margin:0}.gold-text{color:#b48b35}.intro-copy{padding-top:10px}.intro-copy p,.history-content p,.candidate-copy>p,.service-copy>p{margin:0 0 16px}.muted{color:var(--muted);font-size:14px}.inline-link{display:inline-block;margin-top:12px;color:#9b6c1f;border-bottom:1px solid #c9a24a;padding-bottom:3px;font-size:14px}.inline-link span{margin-left:12px}.temple-feature{margin-top:65px;height:380px;position:relative;overflow:hidden}.temple-feature>img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.feature-note{position:absolute;bottom:24px;left:24px;background:var(--ivory);display:flex;align-items:center;gap:14px;padding:13px 20px}.note-symbol{font-size:31px;color:#b48b35}.feature-note small,.feature-note strong{display:block;line-height:1.3}.feature-note small{font-size:10px;color:var(--muted)}.feature-note strong{font-size:14px;margin-top:4px}
.dark-section{background:var(--ink);color:var(--ivory)}.light-index{color:#a99b8b;border-color:#ffffff24}.history{position:relative;overflow:hidden}.history-heading{margin-bottom:40px}.history-heading h2{font-size:clamp(35px,4.5vw,58px)}.history-content{display:grid;grid-template-columns:180px minmax(0,650px);gap:30px;position:relative;z-index:1}.history-content p{color:#d3c7b9}.history-ornament{font-size:90px;color:#c9a24a55;line-height:1}.history-tag{display:inline-block;color:#e1bd69;border:1px solid #c9a24a66;padding:5px 12px;font-size:11px;margin-top:12px}.history-image{height:240px;width:42%;position:absolute;right:10%;bottom:90px;opacity:.22;overflow:hidden}.history-image img{width:100%;height:100%;object-fit:cover}.history-image span{position:absolute;bottom:10px;right:14px;font-size:10px}
.candidate{background:#f5eddf}.candidate-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center}.candidate-photo{height:470px;background:#e7d8c2;position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.candidate-photo img{width:100%;height:100%;object-fit:contain;object-position:bottom}.photo-label{position:absolute;bottom:15px;left:15px;background:#211b18;color:#f8f1e5;padding:5px 12px;font-size:11px}.candidate-copy h2{font-size:clamp(35px,4vw,52px)}.candidate-role{font-size:14px;color:#9b6c1f;margin:5px 0 20px!important}.fine-rule{width:55px;height:2px;background:var(--gold);margin:20px 0}.candidate-facts{display:flex;gap:50px;margin-top:28px;border-top:1px solid #d8cbb8;padding-top:20px}.candidate-facts small,.candidate-facts strong{display:block}.candidate-facts small{font-size:10px;color:var(--muted)}.candidate-facts strong{font-size:13px;margin-top:4px}
.gallery-section{padding-bottom:120px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:52px}.gallery-heading>p{max-width:310px;color:#bdb1a3;font-size:13px;margin:0}.gallery-label{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff28;padding-bottom:10px;margin-bottom:18px;color:#e6d5b9;font-size:13px}.gallery-label span{color:#9e9183;font-size:10px;letter-spacing:.1em}.gallery-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px}.gallery-item{position:relative;padding:0;border:0;background:#3a3029;height:240px;overflow:hidden;text-align:left;cursor:pointer;color:white}.gallery-item.gallery-large{height:310px;grid-row:span 1}.gallery-item img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:transform .6s,opacity .3s}.gallery-item:hover img{transform:scale(1.06);opacity:1}.gallery-item:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#171310b8)}.gallery-item span{position:absolute;z-index:1;bottom:13px;left:15px;right:15px;font-size:12px;display:flex;justify-content:space-between}.gallery-item span b{color:#e4c36f}.candidate-gallery{grid-template-columns:1fr 1fr;margin-bottom:0}.candidate-gallery .gallery-item{height:220px}.candidate-gallery-label{margin-top:45px}.gallery-disclaimer{color:#a99b8b;font-size:11px;margin:18px 0 0}
.election{text-align:center;background:radial-gradient(ellipse at 50% 0,#f5e5c4,var(--ivory) 60%);position:relative;overflow:hidden}.election-mark{font-size:42px;color:#c9a24a;margin-bottom:6px}.election .eyebrow{justify-content:center}.election h2{font:clamp(58px,8vw,100px)/1.2 var(--serif);margin:0;color:var(--brown)}.election-subtitle{font-size:14px;color:#8b6b37;margin:12px 0}.election-rule{width:55px;height:1px;background:var(--gold);margin:25px auto}.election-copy{max-width:650px;margin:0 auto 28px;font-size:15px}.button-dark{background:var(--ink);color:var(--ivory)}.button-dark:hover{background:#453127}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.service-copy{padding-top:5px}.service-points{margin-top:30px;border-top:1px solid #d8cbb8}.service-points div{display:flex;align-items:center;gap:22px;border-bottom:1px solid #d8cbb8;padding:12px 0}.service-points span{font-size:10px;color:#b48b35}.service-points strong{font-size:13px;font-weight:500}
.contact{padding-bottom:100px}.contact-heading{max-width:650px}.contact-heading>p:last-child{color:#bdb1a3;font-size:14px}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:45px}.contact-card{border:1px solid #ffffff28;padding:25px;min-height:230px}.contact-icon{display:block;color:var(--gold);font-size:25px;margin-bottom:15px}.contact-card small{color:#bdb1a3;font-size:10px}.contact-card h3{font:20px var(--serif);margin:7px 0}.contact-card p{font-size:12px;color:#d2c5b6}.contact-card a{display:inline-block;color:#e4c36f;font-size:12px;border-bottom:1px solid #c9a24a66;margin-top:10px}.contact-placeholder{font-size:10px;color:#9f9386;border-bottom:1px dashed #9f9386}
.footer{background:#171311;color:#e9dfd0;padding:28px 10% 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #ffffff20}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand>span{font-size:35px;color:var(--gold)}.footer-brand strong,.footer-brand small{display:block;line-height:1.3}.footer-brand strong{font-size:13px}.footer-brand small{font-size:10px;color:#a99b8b}.footer-top>p{font-size:11px;color:#c3b7a9}.back-top{width:34px;height:34px;border:1px solid #c9a24a66;display:grid;place-items:center;color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;padding-top:15px;color:#a99b8b;font-size:10px}.footer-bottom span:first-child{color:var(--gold);letter-spacing:.08em}
.lightbox{position:fixed;inset:0;background:#100d0cf2;z-index:100;display:flex;align-items:center;justify-content:center;padding:30px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.lightbox.open{opacity:1;visibility:visible}.lightbox figure{margin:0;max-width:min(900px,80vw);max-height:80vh;text-align:center}.lightbox figure img{max-width:100%;max-height:72vh;object-fit:contain}.lightbox figcaption{color:#e9dfd0;font-size:13px;margin-top:10px}.lightbox button{position:absolute;border:1px solid #c9a24a66;background:#211b18;color:#f5e7cf;cursor:pointer}.lightbox-close{right:30px;top:25px;font-size:28px;width:42px;height:42px}.lightbox-prev,.lightbox-next{top:50%;font-size:38px;width:46px;height:56px;transform:translateY(-50%)}.lightbox-prev{left:25px}.lightbox-next{right:25px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.site-header{padding:0 4%}.site-nav{gap:12px}.site-nav>a{font-size:11px}.hero{padding-left:6%;padding-right:6%}.section-pad{padding-left:7%;padding-right:7%}.hero-visual{height:450px}}
@media(max-width:800px){.site-header{height:72px;padding:0 6%}.brand strong{font-size:13px}.menu-toggle{display:flex;width:40px;height:40px;border:1px solid #c9a24a77;background:transparent;flex-direction:column;justify-content:center;align-items:center;gap:6px;color:inherit;z-index:2}.menu-toggle span{width:17px;height:1px;background:currentColor;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-nav{position:absolute;top:72px;left:0;right:0;background:var(--ivory);color:var(--ink);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 6% 20px;box-shadow:0 15px 20px #0002;transform:translateY(-10px);opacity:0;visibility:hidden;transition:.25s}.site-nav.open{transform:none;opacity:1;visibility:visible}.site-nav>a{font-size:14px;padding:10px 0;border-bottom:1px solid #d8cbb855}.site-nav .nav-cta{text-align:center;margin-top:12px;padding:8px}.hero{height:auto;min-height:0;padding:120px 7% 72px;display:flex;flex-direction:column;align-items:stretch;gap:35px}.hero-copy{max-width:none}.hero h1{font-size:clamp(42px,10vw,68px)}.hero-description{max-width:600px}.hero-date{margin-top:25px}.hero-visual{height:clamp(340px,78vw,500px);width:100%;max-width:none}.hero-image-frame{left:7%;right:3%;border-radius:150px 150px 6px 6px}.portrait-frame{right:0;width:40%;height:76%}.visual-seal{left:0;top:30px}.hero-bottom{bottom:18px;left:7%;right:7%}.section-pad{padding:75px 7%}.section-index{margin-bottom:38px}.intro-grid,.candidate-grid,.service-grid{grid-template-columns:1fr;gap:28px}.intro-copy{padding:0}.temple-feature{height:280px;margin-top:38px}.history-content{grid-template-columns:70px 1fr;gap:18px}.history-ornament{font-size:60px}.history-image{position:relative;right:auto;bottom:auto;width:100%;height:180px;margin-top:35px;opacity:.45}.candidate-photo{height:390px;max-width:420px}.gallery-heading{align-items:start;flex-direction:column;gap:15px;margin-bottom:35px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item.gallery-large{height:260px}.gallery-item{height:220px}.gallery-large{grid-column:span 2}.contact-cards{grid-template-columns:1fr;gap:10px}.contact-card{min-height:0}.footer{padding-left:7%;padding-right:7%}}
@media(max-width:480px){body{font-size:16px}.hero{padding-top:105px}.hero-actions{gap:16px;flex-wrap:wrap}.button{padding:11px 14px;gap:14px}.hero-visual{height:350px}.hero-image-frame{left:4%;right:0}.portrait-frame{width:43%;height:72%}.visual-seal{width:55px;height:72px;font-size:9px}.visual-seal b{font-size:22px}.section-pad{padding-top:62px;padding-bottom:62px}.intro h2,.history h2,.candidate h2,.gallery-heading h2,.service h2,.contact h2{font-size:34px}.temple-feature{height:220px}.feature-note{left:10px;bottom:10px;padding:8px 12px}.note-symbol{font-size:25px}.feature-note strong{font-size:12px}.history-content{grid-template-columns:1fr}.history-ornament{display:none}.candidate-photo{height:330px}.candidate-facts{gap:22px}.gallery-grid{gap:9px}.gallery-item,.gallery-item.gallery-large,.candidate-gallery .gallery-item{height:175px}.gallery-item span{left:9px;right:9px;font-size:10px;bottom:8px}.gallery-label{font-size:12px}.election h2{font-size:65px}.election-copy{font-size:13px}.footer-top{gap:12px}.footer-top>p{text-align:right}.footer-bottom{gap:10px;flex-direction:column}.lightbox{padding:15px}.lightbox figure{max-width:90vw}.lightbox-prev{left:8px}.lightbox-next{right:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.splash{display:none}.reveal{opacity:1;transform:none}}


/* ===== Hero composition update: full-bleed temple background ===== */
.hero {
  isolation: isolate;
  display: block;
  min-height: 740px;
  height: min(850px, 100vh);
  padding: 145px 8% 80px;
  background: #211b18;
}
.hero::before { z-index: -1; right: -100px; }
.hero-copy { max-width: 540px; padding-top: 35px; z-index: 3; }
.hero-visual {
  position: absolute; inset: 0; width: 100%; max-width: none;
  height: 100%; z-index: 1; pointer-events: none;
}
.hero-image-frame {
  position: absolute; inset: 0; border: 0; border-radius: 0; overflow: hidden;
}
.hero-temple {
  width: 100%; height: 100%; object-fit: cover; object-position: center;
  filter: saturate(.78);
}
.image-shade {
  background:
    linear-gradient(90deg, rgba(24,18,15,.94) 0%, rgba(24,18,15,.76) 36%, rgba(24,18,15,.22) 72%, rgba(24,18,15,.28) 100%),
    linear-gradient(0deg, rgba(24,18,15,.58), transparent 42%);
}
.image-caption { display: none; }
.portrait-frame {
  right: 3.5%; bottom: 0; width: min(34%, 430px); height: 82%; z-index: 2;
}
.visual-seal { top: 145px; left: auto; right: 38%; z-index: 2; }
.hero-bottom { z-index: 4; }

/* Mobile: separate portrait treatment without the full-bleed temple layer. */
@media (max-width: 800px) {
  .hero {
    display: flex; min-height: 0; height: auto; padding: 115px 7% 65px;
    background: radial-gradient(ellipse at 75% 30%, #4b3829 0, #211b18 65%);
    gap: 20px;
  }
  .hero-copy { padding-top: 0; }
  .hero-visual {
    position: relative; inset: auto; height: clamp(280px, 70vw, 390px);
    width: 100%; max-width: none; margin-top: 2px;
  }
  .hero-image-frame { display: none; }
  .portrait-frame {
    position: absolute; right: 50%; transform: translateX(50%); bottom: 0;
    width: min(78%, 310px); height: 100%;
    background: linear-gradient(180deg, #392a20 0%, #2b211b 100%);
    border: 1px solid #c9a24a55; border-radius: 160px 160px 4px 4px;
    overflow: hidden;
  }
  .portrait-frame img { width: 100%; height: 100%; object-fit: contain; object-position: bottom; }
  .visual-seal { display: none; }
  .hero-bottom { position: absolute; bottom: 16px; }
}
@media (max-width: 480px) {
  .hero { padding-top: 105px; }
  .hero-visual { height: 300px; }
  .portrait-frame { width: min(82%, 270px); }
}


/* Video: constrain every dimension to the content viewport. Do not use viewport-width sizing. */
.video-section { overflow: hidden; }
.video-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }
.video-heading h2,.nivedak-heading h2 { font:clamp(34px,4.5vw,58px)/1.25 var(--serif); margin:0; }
.video-heading>p { max-width:320px; margin:0; color:var(--muted); font-size:13px; }
.video-shell { width:100%; max-width:960px; margin-inline:auto; overflow:hidden; background:#171311; border:1px solid #c9a24a66; }
.intro-video { display:block; width:100%; max-width:100%; height:auto; max-height:70vh; aspect-ratio:16/9; object-fit:contain; }
.video-help { max-width:960px; margin:10px auto 0; font-size:12px; color:var(--muted); }
.video-help code { overflow-wrap:anywhere; }
.nivedak-section { background:#fffaf1; overflow:hidden; }
.nivedak-heading { margin-bottom:28px; }
.nivedak-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; max-width:900px; }
.nivedak-card { min-width:0; display:flex; align-items:center; gap:18px; padding:18px; background:#f5eddf; border:1px solid #d8cbb8; }
.nivedak-photo { width:112px; height:132px; flex:0 0 112px; overflow:hidden; background:#e7d8c2; }
.nivedak-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.nivedak-card h3 { margin:0 0 6px; font:600 20px/1.4 var(--sans); }
.nivedak-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
@media(max-width:700px) {
 .video-heading { display:block; }
 .video-heading>p { margin-top:10px; }
 .intro-video { max-height:none; }
 .nivedak-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:420px) {
 .video-section,.nivedak-section { padding-left:6%; padding-right:6%; }
 .nivedak-card { gap:12px; padding:12px; }
 .nivedak-photo { width:88px; height:108px; flex-basis:88px; }
 .nivedak-card h3 { font-size:18px; }
}


/* Final narrow-screen containment: prevent media or long content widening the page. */
html { width:100%; max-width:100%; overflow-x:clip; }
body { width:100%; max-width:100%; overflow-x:clip; }
*, *::before, *::after { box-sizing:border-box; }
main, section, header, footer { min-width:0; max-width:100%; }
img, video, iframe, canvas, svg { max-width:100%; }
.video-section, .video-shell { width:100%; min-width:0; max-width:100%; }
.video-shell { position:relative; }
.intro-video { width:100%; min-width:0; max-width:100%; height:auto; aspect-ratio:16/9; }
@media (max-width:800px) {
  .video-section { padding-left:7%; padding-right:7%; }
  .video-shell { margin-left:0; margin-right:0; }
  .intro-video { display:block; width:100%; height:auto; max-height:none; }
}
@media (max-width:480px) {
  .video-section { padding-left:6%; padding-right:6%; }
  .video-heading, .video-heading > div, .video-heading > p { min-width:0; max-width:100%; }
}
