/*
Theme Name: Funky Projects Studio
Theme URI: https://funkyprojectstv.com/
Author: Funky Projects
Description: Custom cinematic workshop theme for Funky Projects. Project showcase and video library; staging v14.
Version: 45.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: funky-projects
*/
:root{--bg:#070b0e;--panel:#10171c;--line:#344047;--yellow:#ffdc00;--white:#f5f6f7;--muted:#aeb8bd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--yellow)}img{max-width:100%;height:auto;display:block}.wrap{width:min(1220px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(5,9,12,.95);border-bottom:1px solid #273137;backdrop-filter:blur(12px)}.header-inner{min-height:82px;display:flex;align-items:center;gap:26px;justify-content:space-between}.logo{display:inline-flex;flex-direction:column;line-height:.78;transform:rotate(-5deg);font-weight:1000;font-size:29px;letter-spacing:-1.7px;font-style:italic;text-shadow:2px 3px #000}.logo span:last-child{color:var(--yellow)}.main-nav{display:flex;align-items:center;gap:25px;text-transform:uppercase;font-size:12px;font-weight:850;letter-spacing:.6px}.main-nav ul{display:flex;gap:24px;list-style:none;padding:0;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 19px;border-radius:5px;background:var(--yellow);color:#0a0c0e!important;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;border:1px solid var(--yellow);cursor:pointer}.btn:hover{background:#ffe94c}.btn.outline{color:#fff!important;border-color:#71808a;background:rgba(0,0,0,.48)}.btn.outline:hover{border-color:var(--yellow)}.hero{position:relative;min-height:540px;display:flex;align-items:center;overflow:hidden;background:#0c141a}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,10,.96) 0%,rgba(3,7,10,.77) 39%,rgba(3,7,10,.13) 100%),url('assets/images/hero.jpg') center 48%/cover}.hero-inner{position:relative;padding:75px 0}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:900;color:var(--yellow);text-transform:uppercase}.hero h1,.display{font-weight:1000;font-style:italic;letter-spacing:-2.5px;line-height:.98;text-transform:uppercase;text-shadow:3px 4px 0 #050608}.hero h1{font-size:clamp(42px,6.4vw,83px);max-width:770px;margin:18px 0}.yellow{color:var(--yellow)}.hero p{max-width:470px;font-size:18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.section{padding:52px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px}.section h2{font-size:clamp(24px,3vw,33px);font-weight:1000;line-height:1.1;text-transform:uppercase;margin:0}.small-link{font-size:12px;font-weight:900;color:var(--yellow);text-transform:uppercase}.feature{display:grid;grid-template-columns:1.12fr 1fr;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:linear-gradient(110deg,#141d23,#080c0f)}.feature img{width:100%;height:340px;object-fit:cover}.feature-copy{padding:35px;display:flex;flex-direction:column;justify-content:center}.feature-copy h3{font-size:clamp(32px,4vw,54px);margin:5px 0 12px}.feature-copy p{color:#d1d7d9}.progress{height:11px;background:#30373b;border-radius:20px;overflow:hidden;margin:15px 0 20px}.progress span{display:block;width:45%;height:100%;background:var(--yellow)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tile{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);transition:transform .2s}.tile:hover{transform:translateY(-3px)}.tile img{width:100%;height:190px;object-fit:cover}.tile-content{padding:14px}.tile h3{font-size:17px;line-height:1.1;text-transform:uppercase;margin:0 0 7px;font-weight:950}.tile p{color:var(--muted);font-size:13px;margin:0}.videos{grid-template-columns:repeat(3,1fr)}.videos .tile img{height:205px}.newsletter{background:linear-gradient(90deg,rgba(5,9,12,.94),rgba(5,9,12,.76)),url('assets/images/workshop.jpg') center/cover;border-block:1px solid var(--line)}.newsletter-inner{padding:45px 0;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.newsletter h2{font-size:30px;margin:0 0 6px;text-transform:uppercase}.newsletter p{margin:0;color:#d5dbdd}.footer{padding:32px 0;color:#9eaaaf;border-top:1px solid var(--line);font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:18px}.page-content{padding:65px 0;min-height:50vh}.page-content h1{font-size:clamp(36px,5vw,62px);text-transform:uppercase}.article{max-width:820px}.article img{border-radius:8px}.article p{line-height:1.8}.wp-block-embed iframe,.video-frame iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:white;padding:8px 12px;border-radius:4px}.notice{padding:15px 20px;background:#172129;border:1px solid var(--line);border-radius:6px;color:#cbd5d8;font-size:14px}.tag{color:var(--yellow);font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase}@media(max-width:850px){.main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#090e12;padding:24px;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.main-nav ul{flex-direction:column}.menu-toggle{display:block}.grid{grid-template-columns:repeat(2,1fr)}.feature{grid-template-columns:1fr}.feature img{height:280px}.hero{min-height:490px}.hero:before{background:linear-gradient(90deg,rgba(3,7,10,.92),rgba(3,7,10,.4)),url('assets/images/hero.jpg') center/cover}}@media(max-width:550px){.wrap{width:min(100% - 26px,1220px)}.hero h1{letter-spacing:-1px}.hero-inner{padding:55px 0}.grid,.videos{grid-template-columns:1fr}.tile img{height:210px}.newsletter-inner{grid-template-columns:1fr}.footer-inner{flex-direction:column}.feature-copy{padding:22px}.section{padding:36px 0}}


/* v2 visual refinement, matching the approved cinematic reference */
:root{--bg:#070b0f;--panel:#10171d;--line:#3a4349;--yellow:#ffdc00}
body{background:radial-gradient(ellipse at 80% 10%,#0d1c26 0%,#070b0f 46%);font-family:Arial,Helvetica,sans-serif}
.wrap{width:min(1280px,calc(100% - 56px))}
.site-header{background:#070b0f}
.header-inner{min-height:76px}
.logo{font-size:31px;letter-spacing:-1.8px}
.hero{min-height:590px;background:#080d12}
.hero-inner{padding:90px 0 95px}
.hero h1{max-width:700px;font-size:clamp(50px,6vw,88px);letter-spacing:-3px;line-height:.98}
.hero p{font-size:18px;max-width:455px;color:#e2e5e7}
.hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.hero-inner{z-index:1}
.section{padding:56px 0}
.section h2{font-size:clamp(26px,3vw,35px)}
.feature{grid-template-columns:1.08fr .92fr;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.feature img{height:350px}
.feature-copy{padding:36px}
.feature-copy h3{font-size:clamp(42px,4.6vw,64px)}
.tile img{height:205px}
.tile-content{padding:16px}
.tile h3{font-size:19px}
.tile{box-shadow:0 7px 18px rgba(0,0,0,.2)}
.newsletter{background-image:linear-gradient(90deg,rgba(5,9,12,.94),rgba(5,9,12,.79)),url('assets/images/hero-cinematic.jpg')}
@media(max-width:850px){.hero{min-height:500px}.hero-inner{padding:70px 0}.feature{grid-template-columns:1fr}.wrap{width:min(100% - 36px,1280px)}}
@media(max-width:550px){.hero{min-height:520px}.hero h1{font-size:clamp(41px,12vw,60px);letter-spacing:-1.7px}.hero-inner{padding:58px 0}.grid{grid-template-columns:1fr}.feature-copy{padding:25px}.wrap{width:min(100% - 28px,1280px)}}

/* v3: approved concept's punchier typographic hierarchy and workshop framing */

body{font-family:'Barlow',Arial,sans-serif;background:#070c10}
.logo,.hero h1,.display,.section h2,.tile h3,.newsletter h2{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-stretch:condensed}
.logo{font-size:42px;letter-spacing:-1.6px;line-height:.76;filter:drop-shadow(2px 2px 0 #000)}
.site-header .wrap{width:min(1390px,calc(100% - 48px))}
.site-header{border-bottom:1px solid #3b434b}
.header-inner{min-height:92px}
.main-nav{font-size:13px;gap:30px}
.hero{min-height:620px}
.hero-inner{padding:80px 0 100px}
.hero h1{font-size:clamp(64px,7.5vw,116px);line-height:.84;letter-spacing:-1.5px;max-width:720px;font-style:italic;margin:23px 0 28px;text-shadow:4px 5px 0 rgba(0,0,0,.9)}
.hero .yellow{color:#ffdb00}
.hero p{font-size:20px;line-height:1.35;max-width:500px}
.hero .eyebrow{font-size:13px}
.btn{padding:15px 22px;font-size:13px}
.section{padding:62px 0}
.section h2{font-size:40px;letter-spacing:.15px}
.feature{border-radius:7px}
.feature img{height:385px;object-position:center}
.feature-copy h3{font-size:75px;letter-spacing:-.8px}
.feature-copy .progress{margin-top:20px}
.feature-copy .btn{margin-top:5px}
.tile h3{font-size:24px}
.tile img{height:230px}
.tile-content{padding:17px}
.videos .tile img{height:230px}
.newsletter h2{font-size:42px}
@media(max-width:850px){.header-inner{min-height:78px}.logo{font-size:35px}.hero{min-height:530px}.hero h1{font-size:clamp(58px,9vw,90px)}.feature-copy h3{font-size:58px}.section h2{font-size:34px}.tile img{height:200px}}
@media(max-width:550px){.hero{min-height:570px}.hero h1{font-size:clamp(54px,12vw,76px)}.hero p{font-size:17px}.feature img{height:235px}.feature-copy h3{font-size:50px}.section h2{font-size:30px}.tile img{height:225px}}


/* v4: faithful desktop layout inspired by the approved concept */
body{background:#080d11}
.site-header{position:relative;background:#080c10}
.site-header .wrap,.wrap{width:min(1280px,calc(100% - 64px))}
.header-inner{min-height:80px}
.logo{font-size:44px;letter-spacing:-1.3px}
.main-nav{gap:22px}
.main-nav ul{gap:26px}
.hero{min-height:540px;isolation:isolate;background:#080d11}
.hero:before{background-image:linear-gradient(90deg,#060a0e 0%,rgba(6,10,14,.98) 15%,rgba(6,10,14,.83) 37%,rgba(6,10,14,.13) 73%,rgba(6,10,14,.05) 100%),url('assets/images/hero-v4.jpg')!important;background-position:center!important;background-size:cover!important}
.hero-inner{padding:66px 0 75px}
.hero h1{max-width:750px;font-size:clamp(53px,5.8vw,84px);line-height:.91;letter-spacing:-.9px;margin:22px 0 17px}
.hero p{font-size:18px;line-height:1.45;max-width:480px}
.hero .eyebrow{font-size:12px}
.section{padding:42px 0}
.section-heading{margin-bottom:19px}
.section h2{font-size:36px}
.feature{grid-template-columns:1.08fr .92fr}
.feature img{height:345px}
.feature-copy{padding:30px 36px}
.feature-copy h3{font-size:64px;line-height:.94}
.tile img{height:180px}
.tile h3{font-size:23px}
.tile-content{padding:14px}
.videos .tile img{height:215px}
.newsletter-inner{padding:45px 0}
@media(max-width:850px){
 .site-header .wrap,.wrap{width:min(100% - 36px,1280px)}
 .hero:before{background-image:linear-gradient(90deg,rgba(6,10,14,.95),rgba(6,10,14,.55)),url('assets/images/hero-v4.jpg')!important}
 .hero h1{font-size:clamp(52px,8.5vw,74px)}
 .feature{grid-template-columns:1fr}
}
@media(max-width:550px){
 .site-header .wrap,.wrap{width:calc(100% - 28px)}
 .hero h1{font-size:clamp(42px,11vw,58px)}
 .hero{min-height:490px}
 .hero-inner{padding:55px 0}
 .section h2{font-size:30px}
}

/* Version 5: painted display lettering and intentional cinematic composition */
.logo{font-family:'Permanent Marker','Barlow Condensed',cursive!important;font-style:normal!important;font-size:42px!important;letter-spacing:-2.2px!important;line-height:.76!important;transform:rotate(-7deg);text-shadow:2px 3px 0 #000}
.hero h1{font-family:'Permanent Marker','Barlow Condensed',cursive!important;font-weight:400!important;font-style:normal!important;letter-spacing:-2.8px!important;line-height:.99!important;font-size:clamp(42px,5.2vw,74px)!important;max-width:860px!important;text-shadow:3px 4px 1px rgba(0,0,0,.85)!important}
.feature-copy h3.display{font-family:'Permanent Marker','Barlow Condensed',cursive!important;font-style:normal!important;font-weight:400!important;letter-spacing:-1px!important;line-height:1.02!important;font-size:clamp(42px,4vw,61px)!important}
.section h2,.tile h3,.newsletter h2{font-family:'Roboto Condensed','Barlow Condensed',Impact,sans-serif!important;font-style:normal!important;letter-spacing:-.35px!important}
.section h2{font-size:34px!important}
.hero{min-height:565px!important}
.hero:before{background-image:linear-gradient(90deg,rgba(4,9,13,.98) 0%,rgba(4,9,13,.91) 27%,rgba(4,9,13,.58) 47%,rgba(4,9,13,.05) 76%),url('assets/images/hero-v5.jpg')!important;background-position:center!important;background-size:cover!important}
.hero-inner{padding:75px 0 86px!important}
.hero p{max-width:450px}
.feature img{object-position:center 45%}
@media(max-width:850px){.hero h1{font-size:clamp(42px,7vw,65px)!important}.hero:before{background-image:linear-gradient(90deg,rgba(4,9,13,.97),rgba(4,9,13,.55)),url('assets/images/hero-v5.jpg')!important}}
@media(max-width:550px){.logo{font-size:31px!important}.hero h1{font-size:clamp(34px,9.5vw,52px)!important;letter-spacing:-1.6px!important}.hero{min-height:510px!important}.hero-inner{padding:62px 0!important}.section h2{font-size:28px!important}}

/* Version 6: contained page composition, genuine logo artwork, restrained hero. */
body{background:#05090c}
.fp-page-frame{width:min(1440px,calc(100% - 40px));margin:0 auto;background:#080e12;border-left:1px solid #26323a;border-right:1px solid #26323a;overflow:hidden}
.fp-page-frame .wrap,.site-header .wrap,.footer .wrap{width:min(1250px,calc(100% - 68px))}
.site-header{background:#070c10}
.logo.logo-art{display:block;transform:none!important;filter:none!important;text-shadow:none!important;width:184px;flex:0 0 184px;height:74px;overflow:visible}
.logo.logo-art img{display:block;width:184px;height:74px;object-fit:contain;object-position:left center;max-width:none}
.hero{width:100%;min-height:565px!important;overflow:hidden}
.hero:before{background-image:linear-gradient(90deg,rgba(4,9,13,.98) 0%,rgba(4,9,13,.94) 21%,rgba(4,9,13,.74) 43%,rgba(4,9,13,.06) 79%),var(--fp-hero)!important;background-position:center!important;background-size:cover!important}
.hero-inner{padding:76px 0 82px!important}
.hero h1{font-size:clamp(45px,4.55vw,66px)!important;line-height:1.03!important;max-width:680px!important;letter-spacing:-1.7px!important;margin:22px 0 16px!important}
.hero p{max-width:455px;font-size:18px}
.section{padding:48px 0}
.section-heading{margin-bottom:20px}
.feature img{height:340px}
.grid{gap:17px}
.newsletter{background-size:cover}
@media(min-width:1500px){.hero{min-height:590px!important}.hero h1{font-size:69px!important}}
@media(max-width:850px){.fp-page-frame{width:100%;border:0}.fp-page-frame .wrap,.site-header .wrap,.footer .wrap{width:calc(100% - 36px)}.hero:before{background-image:linear-gradient(90deg,rgba(4,9,13,.96),rgba(4,9,13,.62)),var(--fp-hero)!important}.hero h1{font-size:clamp(42px,7.5vw,62px)!important}.logo.logo-art,.logo.logo-art img{width:160px;height:64px}.logo.logo-art{flex-basis:160px}}
@media(max-width:550px){.fp-page-frame .wrap,.site-header .wrap,.footer .wrap{width:calc(100% - 28px)}.hero{min-height:490px!important}.hero-inner{padding:54px 0!important}.hero h1{font-size:clamp(34px,9vw,46px)!important;letter-spacing:-1px!important}.logo.logo-art,.logo.logo-art img{width:137px;height:60px}.logo.logo-art{flex-basis:137px}}

/* v7.1: approved hero photograph replaces obsolete v5 source */
.hero:before{background-image:linear-gradient(90deg,rgba(4,9,13,.93) 0%,rgba(4,9,13,.80) 23%,rgba(4,9,13,.16) 56%,rgba(4,9,13,0) 100%),var(--fp-hero)!important;background-position:center center!important;background-size:cover!important}
@media(max-width:850px){.hero:before{background-image:linear-gradient(90deg,rgba(4,9,13,.92),rgba(4,9,13,.54)),var(--fp-hero)!important;background-position:center!important}}

/* 7.2: original approved hand-painted hero lettering, no hero image changes. */
.hero h1.fp-headline-art{width:min(100%,610px)!important;max-width:610px!important;margin:18px 0 13px!important;line-height:0!important;letter-spacing:normal!important;text-shadow:none!important}
.hero h1.fp-headline-art img{display:block;width:100%;height:auto;object-fit:contain;filter:none}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:850px){.hero h1.fp-headline-art{width:min(100%,550px)!important}}
@media(max-width:550px){.hero h1.fp-headline-art{width:100%!important}}

/* v7.3: literal original mock-up headline lettering; photograph and KITT untouched. */
.hero h1.fp-headline-art{width:min(100%,620px)!important;max-width:620px!important;overflow:visible!important;margin:18px 0 14px!important}
.hero h1.fp-headline-art img{width:100%;height:auto;display:block;object-fit:contain;transform:rotate(-1.5deg);transform-origin:left center}
@media(max-width:650px){.hero h1.fp-headline-art{width:100%!important}.hero h1.fp-headline-art img{transform:rotate(-.7deg)}}


/* Version 7.4: clean, unwarped lettering lifted from the approved visual.
   This overrides the previous rotated/over-enlarged graphic rules. */
.hero h1.fp-headline-art{
  width:min(100%,565px)!important;
  max-width:565px!important;
  margin:18px 0 14px!important;
  padding:0!important;
  overflow:visible!important;
  line-height:0!important;
  transform:none!important;
}
.hero h1.fp-headline-art img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  transform:none!important;
  filter:none!important;
}
@media(max-width:650px){
 .hero h1.fp-headline-art{width:min(100%,565px)!important}
 .hero h1.fp-headline-art img{transform:none!important}
}

/* Version 8: project templates, topic galleries and timeline */
.project-detail,.project-listing{padding-top:48px;padding-bottom:70px}
.project-detail-hero{display:grid;grid-template-columns:42% 58%;border:1px solid #354049;border-radius:8px;overflow:hidden;background:#0c1318}
.project-detail-copy{padding:clamp(20px,4vw,54px);align-self:center}
.project-detail-copy h1,.project-listing h1{font-family:'Permanent Marker',sans-serif;font-size:clamp(42px,5vw,78px);line-height:1.04;margin:15px 0 20px;color:#fff}
.project-detail-copy p{font-size:17px;line-height:1.6}
.project-detail-cover img{width:100%;height:100%;max-height:560px;object-fit:cover;display:block}
.project-meta{margin:8px 0;font-size:15px!important}
.project-section{padding-top:54px}
.project-section h2{font-family:'Barlow Condensed',sans-serif;font-size:32px;text-transform:uppercase;margin:0 0 22px}
.project-story{max-width:920px}
.project-story p{line-height:1.75}
.project-video{position:relative;width:100%;max-width:960px;aspect-ratio:16/9}
.project-video iframe{width:100%;height:100%;border:0}
.gallery-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.gallery-tab{background:#101a21;color:#fff;border:1px solid #34404a;border-radius:5px;padding:11px 17px;font:700 15px 'Barlow Condensed',sans-serif;cursor:pointer}
.gallery-tab.is-active,.gallery-tab:hover{background:#ffdb00;color:#090d11;border-color:#ffdb00}
.project-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.project-photo{display:block;aspect-ratio:4/3;overflow:hidden;background:#111b21;border-radius:5px}
.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.project-photo:hover img{transform:scale(1.04)}
.project-gallery-panel[hidden]{display:none}
.funky-lightbox{background:#070b0f;color:#fff;border:1px solid #414c56;border-radius:8px;max-width:95vw;max-height:95vh;padding:20px 55px}
.funky-lightbox::backdrop{background:rgba(0,0,0,.9)}
.funky-lightbox img{display:block;max-width:80vw;max-height:76vh;object-fit:contain}
.funky-lightbox button{position:absolute;background:transparent;color:#fff;border:0;font-size:42px;cursor:pointer}
.lightbox-close{right:12px;top:2px}.lightbox-prev{left:7px;top:45%}.lightbox-next{right:7px;top:45%}
.lightbox-count{text-align:center;margin-top:8px}
.project-updates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.project-update{border:1px solid #34404a;background:#0e171d;border-radius:6px;overflow:hidden;color:#fff;text-decoration:none}
.project-update img{width:100%;height:170px;object-fit:cover}
.project-update>div{padding:16px}
.project-update time{color:#ffdb00;font-size:12px}
.project-update h3{margin:8px 0}
.project-update p{color:#b5c0c9}
.project-listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:35px 0}
@media(max-width:850px){.project-detail-hero{grid-template-columns:1fr}.project-detail-cover{order:-1}.project-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-updates,.project-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.project-gallery-grid,.project-updates,.project-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-updates{grid-template-columns:1fr}.funky-lightbox{padding:18px 28px}.funky-lightbox img{max-width:78vw}}

/* V10 Video library and dual-provider player */
.funky-video-library,.funky-watch-page{padding-top:48px;padding-bottom:80px}
.funky-video-library h1,.funky-watch-page h1{font-family:'Permanent Marker',sans-serif;font-size:clamp(40px,5vw,66px);margin:10px 0 18px}
.funky-video-library>p,.funky-watch-page>p{max-width:760px}
.funky-video-filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}
.funky-video-filters a{display:inline-block;padding:10px 17px;border:1px solid #38444b;border-radius:5px;color:#fff;text-decoration:none;font-weight:700}
.funky-video-filters a.active,.funky-video-filters a:hover{background:#ffdb00;border-color:#ffdb00;color:#070c10}
.funky-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.funky-video-card{display:block;overflow:hidden;border:1px solid #34414a;border-radius:7px;background:#101920;color:#fff;text-decoration:none;transition:border-color .2s}
.funky-video-card:hover{border-color:#ffdb00}
.funky-video-card>img,.funky-video-placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.funky-video-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#182832,#080d10);color:#ffdb00;font-size:52px}
.funky-video-card-info{padding:15px}
.funky-video-card-info h3{font-family:'Barlow Condensed',sans-serif;font-size:23px;text-transform:uppercase;margin:6px 0}
.funky-video-card-info p{color:#aab8c1;margin:5px 0;font-size:14px}
.funky-video-play{color:#ffdb00;font-size:11px;font-weight:800;letter-spacing:.08em}
.funky-watch-player{width:100%;max-width:1050px;aspect-ratio:16/9;background:#000;margin:22px 0 28px}
.funky-watch-player iframe{width:100%;height:100%;border:0}
.funky-no-video{padding:35px;border:1px solid #39454c;border-radius:6px;margin:25px 0}
.funky-watch-description{max-width:850px;line-height:1.75;margin:24px 0}
.funky-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.funky-section-head a{color:#ffdb00}
@media(max-width:800px){.funky-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.funky-video-grid{grid-template-columns:1fr}}

/* v12: Embedded AWeber signup area */
.fp-aweber-form{width:min(100%,430px);min-width:0}.fp-aweber-form iframe{max-width:100%}.newsletter-inner{grid-template-columns:minmax(0,1fr) minmax(280px,430px)}@media(max-width:700px){.newsletter-inner{grid-template-columns:1fr}.fp-aweber-form{width:100%}}


/* Version 13: original-mockup inspired Crew banner. AWeber owns its actual form in the dialog. */
.fp-crew-banner{position:relative;isolation:isolate;background:linear-gradient(90deg,rgba(4,8,11,.34),rgba(4,8,11,.91) 45%,rgba(4,8,11,.88)),url('assets/images/hero-approved-v7.jpg') 30% 55%/cover;border-top:1px solid #39454c}
.fp-crew-banner .fp-crew-inner{grid-template-columns:76px minmax(0,1fr) auto;gap:23px;min-height:190px;padding:29px 0}
.fp-crew-symbol{font-size:64px;line-height:1;filter:drop-shadow(0 0 8px rgba(255,220,0,.4))}
.fp-crew-copy h2{font-size:clamp(26px,3vw,38px);line-height:1.05;margin:0 0 8px}
.fp-crew-copy p{max-width:590px;font-size:15px;line-height:1.45}
.fp-crew-copy small{display:block;color:#b8c4ca;margin-top:9px;font-size:12px}
.fp-crew-open{font-size:14px;padding:17px 23px;white-space:nowrap;box-shadow:0 3px 22px rgba(0,0,0,.25)}
.fp-crew-overlay[hidden]{display:none!important}
.fp-crew-overlay{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.86);display:grid;place-items:center;padding:18px;overflow-y:auto}
.fp-crew-dialog{position:relative;width:min(100%,580px);max-height:calc(100vh - 36px);overflow:auto;background:#101920;border:1px solid #56616a;border-radius:10px;padding:32px;color:#fff;box-shadow:0 24px 80px #000}
.fp-crew-dialog h2{font-size:clamp(25px,4vw,38px);line-height:1.08;text-transform:uppercase;margin:8px 30px 10px 0}
.fp-crew-dialog p{color:#d3dce0;margin:0 0 18px}
.fp-crew-dialog .fp-aweber-form{width:100%;max-width:100%;min-height:190px;overflow:hidden}
.fp-crew-dialog .fp-aweber-form iframe{max-width:100%!important}
.fp-crew-close{position:absolute;right:12px;top:8px;background:transparent;border:0;color:white;font-size:32px;cursor:pointer;line-height:1;padding:5px 9px}
body.fp-crew-modal-open{overflow:hidden}
@media(max-width:740px){.fp-crew-banner .fp-crew-inner{grid-template-columns:55px 1fr;gap:14px;padding:28px 0}.fp-crew-symbol{font-size:46px}.fp-crew-open{grid-column:2;justify-self:start}.fp-crew-dialog{padding:24px 18px}}
@media(max-width:410px){.fp-crew-banner .fp-crew-inner{grid-template-columns:1fr}.fp-crew-symbol{display:none}.fp-crew-open{grid-column:1}}

/* Version 14: direct AWeber form, original mock-up inspired wide banner */
.fp-crew-v14{background:linear-gradient(90deg,rgba(3,7,10,.12) 0%,rgba(3,7,10,.68) 34%,rgba(3,7,10,.94) 68%),url('assets/images/hero-approved-v7.jpg') 27% 55%/cover;border-block:1px solid #46515a}
.fp-crew-v14 .fp-crew-v14-inner{display:grid;grid-template-columns:minmax(160px,.48fr) minmax(0,1fr);align-items:center;gap:24px;min-height:225px;padding:27px 0}
.fp-crew-v14 .fp-crew-visual{display:flex;justify-content:flex-end;align-items:center;min-height:150px}
.fp-crew-v14 .fp-crew-bulb{font-size:82px;line-height:1;filter:drop-shadow(0 0 14px rgba(255,218,0,.5))}
.fp-crew-v14 .fp-crew-v14-content{max-width:850px}
.fp-crew-v14 h2{font-size:clamp(25px,2.6vw,35px);font-weight:950;line-height:1.06;margin:0 0 8px}
.fp-crew-v14 p{font-size:14px;line-height:1.45;max-width:640px;margin:0 0 13px}
.fp-crew-v14 .fp-crew-v14-form{display:grid;grid-template-columns:minmax(110px,.72fr) minmax(190px,1.5fr) auto;gap:8px;align-items:stretch}
.fp-crew-v14 .fp-crew-v14-form input{width:100%;min-width:0;height:45px;background:#fff;color:#151515;border:1px solid #d4dce1;border-radius:4px;padding:0 13px;font-size:14px}
.fp-crew-v14 .fp-crew-v14-form input:focus{outline:3px solid #ffdc00;outline-offset:1px}
.fp-crew-v14 .fp-crew-v14-submit{min-height:45px;white-space:nowrap;padding:10px 19px;font-size:12px}
.fp-crew-v14 small{display:block;color:#d0d8dc;font-size:11px;margin-top:7px}
@media(max-width:850px){.fp-crew-v14 .fp-crew-v14-inner{grid-template-columns:100px 1fr}.fp-crew-v14 .fp-crew-bulb{font-size:65px}.fp-crew-v14 .fp-crew-v14-form{grid-template-columns:1fr 1fr}.fp-crew-v14 .fp-crew-v14-submit{grid-column:1/-1}}
@media(max-width:550px){.fp-crew-v14 .fp-crew-v14-inner{grid-template-columns:1fr;gap:8px;padding:30px 0}.fp-crew-v14 .fp-crew-visual{justify-content:flex-start;min-height:0}.fp-crew-v14 .fp-crew-bulb{font-size:44px}.fp-crew-v14 .fp-crew-v14-form{grid-template-columns:1fr}.fp-crew-v14 .fp-crew-v14-submit{grid-column:auto}}

/* V15: restore the welder photograph from the original signup concept. */
.fp-crew-v14{position:relative;isolation:isolate;overflow:hidden;background:#080e12 !important}
.fp-crew-v14::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:42%;background-image:linear-gradient(90deg,transparent 58%,#080e12 100%),url('assets/images/crew-welder-v15.jpg');background-size:cover;background-position:center center;opacity:1}
.fp-crew-v14 .fp-crew-v14-inner{min-height:240px}
.fp-crew-v14 .fp-crew-visual{position:relative}
@media(max-width:850px){.fp-crew-v14::before{width:34%;opacity:.72}.fp-crew-v14 .fp-crew-v14-inner{min-height:225px}}
@media(max-width:550px){.fp-crew-v14::before{width:100%;opacity:.23;background-image:linear-gradient(90deg,transparent 15%,#080e12 95%),url('assets/images/crew-welder-v15.jpg')}.fp-crew-v14 .fp-crew-v14-inner{min-height:0}}

/* V16 fix: keep welder photo above banner background, below all content. */
.fp-crew-v14{position:relative;isolation:isolate;background:#080e12 !important}
.fp-crew-v14::before{z-index:0 !important;pointer-events:none;background-image:linear-gradient(90deg,rgba(8,14,18,0) 35%,#080e12 100%),url('assets/images/crew-welder-v15.jpg') !important}
.fp-crew-v14 > .fp-crew-v14-inner{position:relative;z-index:1}

/* v17: Use a real HTML image, not a CSS pseudo-element. This ensures the welder renders reliably. */
.fp-crew-v14{position:relative!important;isolation:isolate;overflow:hidden;background:#080e12!important}
.fp-crew-v14::before{content:none!important;display:none!important}
.fp-crew-v14 .fp-crew-welder-photo{display:block!important;position:absolute!important;left:0!important;top:0!important;width:38%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:50% 44%!important;opacity:1!important;z-index:0!important;pointer-events:none!important}
.fp-crew-v14::after{content:"";display:block;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,14,18,0) 0%,rgba(8,14,18,.1) 22%,#080e12 43%,#080e12 100%)}
.fp-crew-v14>.fp-crew-v14-inner{position:relative!important;z-index:2!important}
@media(max-width:850px){.fp-crew-v14 .fp-crew-welder-photo{width:43%!important}.fp-crew-v14::after{background:linear-gradient(90deg,rgba(8,14,18,.35),#080e12 45%)}}
@media(max-width:550px){.fp-crew-v14 .fp-crew-welder-photo{width:100%!important;opacity:.32!important}.fp-crew-v14::after{background:rgba(8,14,18,.6)}}

/* Version 18: show the top of the welder helmet, not the vertically cropped middle.
   No changes to the image file, form markup, or any other website sections. */
@media(min-width:851px){
  .fp-crew-v14 .fp-crew-welder-photo{object-position:50% 0%!important;width:40%!important}
}
@media(min-width:551px) and (max-width:850px){
  .fp-crew-v14 .fp-crew-welder-photo{object-position:50% 0%!important}
}

/* V19: full-height welder photo, extended canvas avoids cropping helmet and sparks. */
@media (min-width:851px){
  .fp-crew-v14 .fp-crew-v14-inner{min-height:305px!important;padding-top:36px!important;padding-bottom:36px!important}
  .fp-crew-v14 .fp-crew-welder-photo{width:44%!important;height:100%!important;object-fit:cover!important;object-position:left center!important}
  .fp-crew-v14::after{background:linear-gradient(90deg,transparent 0%,rgba(8,14,18,.08) 27%,#080e12 46%,#080e12 100%)!important}
}
@media (min-width:551px) and (max-width:850px){
  .fp-crew-v14 .fp-crew-v14-inner{min-height:290px!important}
  .fp-crew-v14 .fp-crew-welder-photo{object-position:left center!important}
}

/* Version 20: widen welder by about 23%, blend its right edge into the banner.
   Form and all other sections remain unchanged. */
@media (min-width:851px){
  .fp-crew-v14 .fp-crew-welder-photo{width:54%!important;height:100%!important;object-fit:cover!important;object-position:left center!important}
  .fp-crew-v14::after{background:linear-gradient(90deg,rgba(8,14,18,0) 0%,rgba(8,14,18,0) 23%,rgba(8,14,18,.18) 30%,rgba(8,14,18,.72) 39%,#080e12 49%,#080e12 100%)!important}
}
@media (min-width:551px) and (max-width:850px){
  .fp-crew-v14 .fp-crew-welder-photo{width:52%!important}
  .fp-crew-v14::after{background:linear-gradient(90deg,rgba(8,14,18,.05) 0%,rgba(8,14,18,.4) 26%,#080e12 48%)!important}
}

/* V21: one continuous photographic background across the entire signup banner. */
.fp-crew-v14{position:relative;isolation:isolate;overflow:hidden;background:#071016 url('assets/images/crew-background-v21.jpg') center center / cover no-repeat !important;border-block:1px solid #36434a}
.fp-crew-v14::before,.fp-crew-v14::after{content:none!important;display:none!important}
.fp-crew-v14>.fp-crew-v14-inner{position:relative;z-index:1;min-height:315px;display:grid;grid-template-columns:minmax(190px,.47fr) minmax(0,1fr);gap:24px;align-items:center;padding:34px 0}
.fp-crew-v14 .fp-crew-visual{display:flex;justify-content:flex-end;align-items:center;min-height:100px}
.fp-crew-v14 .fp-crew-bulb-art{width:84px;height:100px;filter:drop-shadow(0 0 12px rgba(255,218,0,.38));flex-shrink:0}
.fp-crew-v14 .fp-crew-v14-content{max-width:860px;text-shadow:0 1px 5px rgba(0,0,0,.5)}
.fp-crew-v14 h2{font-size:clamp(25px,2.45vw,35px)}
.fp-crew-v14 .fp-crew-v14-form input,.fp-crew-v14 .fp-crew-v14-submit{text-shadow:none}
@media(max-width:850px){.fp-crew-v14{background-position:28% center!important}.fp-crew-v14>.fp-crew-v14-inner{grid-template-columns:95px 1fr;min-height:290px}.fp-crew-v14 .fp-crew-bulb-art{width:65px;height:80px}}
@media(max-width:550px){.fp-crew-v14{background-position:24% center!important}.fp-crew-v14>.fp-crew-v14-inner{grid-template-columns:1fr;gap:8px;min-height:0;padding:34px 0}.fp-crew-v14 .fp-crew-visual{justify-content:flex-start;min-height:0}.fp-crew-v14 .fp-crew-bulb-art{width:46px;height:55px}.fp-crew-v14 .fp-crew-v14-content{background:rgba(4,10,14,.64);padding:14px;border-radius:7px}.fp-crew-v14 .fp-crew-v14-form{grid-template-columns:1fr}.fp-crew-v14 .fp-crew-v14-submit{grid-column:auto}}

/* V22: reliable full-width image background, retaining approved signup layout. */
.fp-crew-v14{background-color:#071016!important;background-image:url("assets/images/crew-background-v21.jpg")!important;background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important}


/* Version 24: About page only. */
.fp-about-page{background:#071016;color:#eaf0f2;padding-bottom:85px}.fp-about-hero{padding:95px 0 78px;background:linear-gradient(125deg,#101f2b,#070d13);border-bottom:1px solid #25343c}.fp-about-eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:800;letter-spacing:.2em;color:#ffcc2d;margin:0 0 18px}.fp-about-page h1,.fp-about-page h2,.fp-about-page h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:1.04;letter-spacing:.012em}.fp-about-page h1{font-size:clamp(52px,7vw,100px);margin:0 0 24px}.fp-about-page h1 span,.fp-about-page h2 em{color:#ffcc2d;font-style:normal}.fp-about-lead{font-size:clamp(22px,2.5vw,31px);max-width:780px;line-height:1.35;font-weight:600}.fp-about-body{max-width:1130px}.fp-about-page h2{font-size:clamp(34px,4vw,53px);margin:0 0 26px}.fp-about-page p{line-height:1.75;font-size:18px;color:#d2dde2;margin:0 0 19px}.fp-about-page p strong{color:#fff}.fp-about-split{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center;padding:90px 0;border-bottom:1px solid #25343c}.fp-about-split-reverse{grid-template-columns:1.1fr .9fr}.fp-about-text{max-width:880px;padding:75px 0 55px;border-bottom:1px solid #25343c}.fp-about-feature{padding:85px 0;border-bottom:1px solid #25343c}.fp-about-feature>p:not(.fp-about-eyebrow){max-width:890px}.fp-about-photo{background:#14222b;border:2px dashed #51616b;min-height:320px;overflow:hidden;display:flex;align-items:stretch}.fp-about-photo img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}.fp-about-placeholder{min-height:320px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:#ffcc2d;gap:12px}.fp-about-placeholder strong{font-family:'Barlow Condensed',sans-serif;font-size:25px;text-transform:uppercase}.fp-about-placeholder small{font-size:14px;max-width:240px;color:#afc0ca;line-height:1.5}.fp-about-camera{font-size:60px;color:#ffcc2d;line-height:1}.fp-about-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:38px 0 30px}.fp-about-photo-caption{font-family:'Barlow Condensed',sans-serif;font-size:15px!important;font-weight:800;letter-spacing:.1em;color:#ffcc2d!important;margin-top:12px!important}.fp-about-link{display:inline-block;color:#ffcc2d;font-weight:800;text-decoration:none;border-bottom:2px solid #ffcc2d}.fp-about-ending{padding:85px 0 20px;max-width:900px}.fp-about-ending h3{font-size:34px;margin:35px 0 14px}.fp-about-tagline{font-family:'Permanent Marker',cursive;color:#ffcc2d!important;font-size:23px!important}.fp-about-cta{display:inline-block;background:#ffcc2d;color:#101820!important;font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:900;padding:16px 28px;text-decoration:none;margin-top:15px}.fp-about-cta:hover{background:#fff}@media(max-width:800px){.fp-about-hero{padding:65px 0 55px}.fp-about-split,.fp-about-split-reverse{grid-template-columns:1fr;gap:30px;padding:60px 0}.fp-about-text,.fp-about-feature,.fp-about-ending{padding:55px 0}.fp-about-gallery{grid-template-columns:1fr}.fp-about-page p{font-size:17px}}

/* Version 25 — About page photo rhythm only. */
.fp-about-side-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:center}
.fp-about-side-gallery>div:first-child{grid-column:1/-1}
.fp-about-side-gallery .fp-about-photo{min-height:190px}
.fp-about-side-gallery .fp-about-photo img,.fp-about-side-gallery .fp-about-placeholder{min-height:190px}
.fp-about-side-gallery>div:first-child .fp-about-photo,.fp-about-side-gallery>div:first-child .fp-about-photo img,.fp-about-side-gallery>div:first-child .fp-about-placeholder{min-height:245px}
.fp-about-side-gallery .fp-about-photo-caption{font-size:13px!important;margin:8px 0 0!important}
@media(max-width:800px){.fp-about-side-gallery{gap:14px}}
@media(max-width:480px){.fp-about-side-gallery{grid-template-columns:1fr}.fp-about-side-gallery>div:first-child{grid-column:auto}}

/* V26 project episode embeds */
.fp-project-episode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.fp-project-episode h3{margin:0 0 12px}.fp-project-episode .project-video{aspect-ratio:16/9;overflow:hidden}.fp-project-episode iframe{width:100%;height:100%;display:block}@media(max-width:760px){.fp-project-episode-grid{grid-template-columns:1fr}}

/* V29: optional stage-specific video within each existing build gallery tab. */
.funky-gallery-stage-video{margin:26px 0 8px;max-width:960px}
.funky-gallery-stage-video h3{margin:0 0 14px}
.funky-gallery-stage-video .project-video{max-width:960px}

/* V31: sharp, click-to-load YouTube preview on individual build gallery stages. */
.fp-stage-youtube{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#0a1118}
.fp-stage-play{display:block;position:relative;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:#0a1118;color:#fff}
.fp-stage-thumbnail{display:block;width:100%;height:100%;object-fit:cover}
.fp-stage-play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:74px;height:52px;border-radius:15px;background:#ff0033;color:#fff;font-size:27px;box-shadow:0 3px 15px #0009}
.fp-stage-play:hover .fp-stage-play-icon,.fp-stage-play:focus-visible .fp-stage-play-icon{background:#d90029}
.fp-stage-play:focus-visible{outline:3px solid #ffcc2d;outline-offset:-3px}
.fp-stage-youtube iframe{width:100%;height:100%;border:0;display:block}

/* V32: targeted small-screen refinements. Desktop styling is unchanged. */
@media (max-width: 600px) {
  /* Keep build-stage tabs on a single swipeable line as more milestones are added. */
  .gallery-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    max-width: 100%;
    gap: 9px;
    padding: 2px 2px 11px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: #58636b transparent;
  }
  .gallery-tabs .gallery-tab {
    flex: 0 0 auto;
    white-space: nowrap;
    min-height: 44px;
    touch-action: manipulation;
  }
  /* Reduce excess space without changing the approved cards and hero artwork. */
  .fp-page-frame .section { padding-top: 48px; padding-bottom: 48px; }
  .fp-about-hero { padding-top: 52px; padding-bottom: 48px; }
  .fp-about-split, .fp-about-split-reverse { padding-top: 46px; padding-bottom: 46px; gap: 24px; }
  .fp-about-text, .fp-about-feature, .fp-about-ending { padding-top: 46px; padding-bottom: 46px; }
}
@media (max-width: 380px) {
  .fp-about-page h1 { font-size: clamp(42px, 12vw, 52px); }
  .fp-about-page h2 { font-size: clamp(29px, 8.5vw, 34px); overflow-wrap: break-word; }
  .fp-about-page h3 { overflow-wrap: break-word; }
}

/* V34: reliable horizontal milestone navigation, especially in Chrome device emulation. */
@media (max-width: 600px) {
 .gallery-tabs { display:flex; flex-wrap:nowrap; overflow-x:scroll; overflow-y:hidden; width:100%; min-width:0; touch-action:pan-x pan-y; scroll-behavior:auto; cursor:grab; }
 .gallery-tabs.is-dragging { cursor:grabbing; user-select:none; }
 .gallery-tabs .gallery-tab { flex-shrink:0; touch-action:auto; }
}

/* Version 35: homepage hero lettering ONLY. Preserve hero background and all other site layouts.
   The approved brush lettering rises gently towards the right, matching the logo's energy. */
@media (min-width:651px){
  .hero h1.fp-headline-art img{transform:rotate(-3deg)!important;transform-origin:12% 52%!important}
}
@media (max-width:650px){
  .hero h1.fp-headline-art img{transform:rotate(-1.5deg)!important;transform-origin:12% 52%!important}
}

/* V38: keep multiple milestone video players separated above the photos. */
.funky-gallery-stage-video .project-video + .project-video{margin-top:20px}

/* V39: milestone video presentation only. Two tidy cards on desktop, one on phones. */
.funky-gallery-stage-video{max-width:100%;margin:26px 0 28px}
.fp-milestone-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.fp-milestone-video-grid .project-video{width:100%;max-width:none;min-width:0;aspect-ratio:16/9;margin:0!important;overflow:hidden;border:1px solid #34424d;border-radius:10px;background:#0a1118;box-shadow:0 8px 24px rgba(0,0,0,.24)}
.fp-milestone-video-grid .fp-stage-play,.fp-milestone-video-grid iframe{width:100%;height:100%;display:block}
@media(max-width:700px){.fp-milestone-video-grid{grid-template-columns:1fr;gap:18px}}

/* V40: compact social links in navigation and footer only. */
.fp-social-links{display:inline-flex;align-items:center;justify-content:center;gap:11px;flex-shrink:0}
.fp-social-link{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:#dce4e8;opacity:.88;border-radius:6px;transition:color .15s,opacity .15s,background .15s}
.fp-social-link svg{display:block;width:19px;height:19px}
.fp-social-link:hover,.fp-social-link:focus-visible{color:#ffdc00;opacity:1;background:rgba(255,220,0,.08)}
.main-nav>.fp-social-links{margin-left:0;gap:7px}
.footer-inner>.fp-social-links{margin:auto 0}
@media(max-width:1050px) and (min-width:851px){.main-nav{gap:13px}.main-nav ul{gap:13px}.main-nav>.fp-social-links{gap:3px}}
@media(max-width:850px){.main-nav>.fp-social-links{margin-top:4px;justify-content:flex-start;gap:15px}.main-nav>.fp-social-links .fp-social-link{width:38px;height:38px}}
@media(max-width:550px){.footer-inner>.fp-social-links{margin:0;justify-content:flex-start}}

/* V41: Option B — larger crisp white social icons, yellow on hover. */
.fp-social-link{width:38px;height:38px;color:#fff;opacity:1;border-radius:7px}
.fp-social-link svg{width:25px;height:25px}
.main-nav>.fp-social-links{gap:9px}
.footer-inner>.fp-social-links{gap:13px}
.footer-inner>.fp-social-links .fp-social-link{width:42px;height:42px}
.footer-inner>.fp-social-links .fp-social-link svg{width:28px;height:28px}
.fp-social-link:hover,.fp-social-link:focus-visible{color:#ffdc00;opacity:1}
@media(max-width:1050px) and (min-width:851px){.main-nav>.fp-social-links{gap:3px}.main-nav>.fp-social-links .fp-social-link{width:33px;height:35px}.main-nav>.fp-social-links .fp-social-link svg{width:23px;height:23px}}
@media(max-width:850px){.main-nav>.fp-social-links{gap:15px}.main-nav>.fp-social-links .fp-social-link{width:42px;height:42px}.main-nav>.fp-social-links .fp-social-link svg{width:28px;height:28px}}

/* V43: compact legal footer and readable policy pages */
.fp-footer-legal{display:flex;align-items:center;justify-content:center;gap:12px 20px;flex-wrap:wrap;width:100%;font-size:12px;color:#c7cdd0}
.fp-footer-legal a{text-decoration:underline;text-decoration-color:#58646c;text-underline-offset:3px}
.fp-footer-legal a:hover,.fp-footer-legal a:focus-visible{color:var(--yellow)}
.fp-legal-page{max-width:880px;margin:0 auto;padding:60px 0 90px}
.fp-legal-page h1{line-height:1.15}
.fp-legal-page h2{font-size:23px;margin-top:36px}
.fp-legal-page p,.fp-legal-page li{line-height:1.8}
.fp-legal-page a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.fp-legal-page{padding:35px 0 65px}.fp-footer-legal{gap:10px 15px}}
