:root{
  --navy:#052235;
  --deep-teal:#0A4A5E;
  --teal:#0F9CB3;
  --aqua:#5FE0D0;
  --sand:#F7F3EA;
  --gold:#FFD27A;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Poppins',sans-serif;color:var(--navy);background:#fff;}
a{text-decoration:none;color:inherit;}

/* Nav */
nav{position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:26px 60px;background:transparent;z-index:20;}
nav.nav-light{color:#fff;}
nav.nav-dark{color:var(--navy);}
nav .logo{display:flex;align-items:center;gap:14px;font-weight:700;font-size:27px;color:inherit;}
nav .logo .logo-wordmark{height:50px;width:auto;display:block;}
nav .logo .home-hero-logo{height:150px;max-width:100%;}
nav{flex-wrap:wrap;row-gap:8px;}
nav .nav-quicklinks{position:absolute;top:200px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:18px;width:100%;text-align:center;}
nav .nav-quicklinks a{font-size:22px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold);opacity:0.95;white-space:nowrap;}
nav .nav-quicklinks a:hover{opacity:1;text-decoration:underline;}
nav .nav-quicklinks .nq-dot{color:var(--gold);opacity:0.7;font-size:22px;}
body.page-home .photo-hero{align-items:flex-end;}
body.page-home .photo-hero .hero-inner{padding:60px 60px 160px;}
body.page-home .photo-hero h1 span{display:block;}
footer .logo .logo-wordmark{height:36px;width:auto;display:block;}
footer .logo .logo-icon-img{height:34px;width:auto;display:block;}
.closing-copy .logo-icon-img{height:26px;width:auto;display:block;}
nav .logo .icon{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
nav .logo .icon svg{width:58px;height:58px;}
nav .logo .logo-text{display:flex;flex-direction:column;line-height:1;gap:3px;}
nav .logo .logo-text .script{font-family:'Pacifico',cursive;font-weight:400;font-size:0.98em;color:var(--gold);}
nav .logo .logo-text .sub{font-size:0.36em;letter-spacing:3px;font-weight:600;color:inherit;}
footer .logo .logo-text{display:flex;flex-direction:column;line-height:1;gap:2px;}
footer .logo .logo-text .script{font-family:'Pacifico',cursive;font-weight:400;font-size:20px;color:var(--gold);}
footer .logo .logo-text .sub{font-size:9px;letter-spacing:2px;font-weight:600;color:inherit;}
nav .menu-toggle{background:none;border:0;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:5px;position:absolute;top:16px;right:50px;z-index:25;}
nav .menu-toggle span{display:block;width:26px;height:2px;background:currentColor;border-radius:2px;}
nav .nav-dropdown{list-style:none;margin:0;padding:10px 0;position:absolute;top:calc(100% + 8px);right:60px;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(5,34,53,0.2);min-width:220px;display:none;flex-direction:column;z-index:30;}
nav .nav-dropdown.open{display:flex;}
nav .nav-dropdown li a{display:block;padding:11px 22px;font-size:14px;color:var(--navy);font-weight:400;}
nav .nav-dropdown li a:hover{background:var(--sand);color:var(--teal);}
nav .nav-dropdown li a.crosslink{color:var(--deep-teal);font-weight:600;}
nav .nav-dropdown li a.dropdown-cta{color:var(--gold);font-weight:700;border-top:1px solid #eee;margin-top:6px;padding-top:14px;}

/* Hero (sub-pages) */
header.hero{text-align:center;padding:150px 20px 120px;background:linear-gradient(180deg,var(--sand) 0%, #eef6f4 100%);position:relative;overflow:hidden;}
header.hero h1{font-size:52px;font-weight:700;margin:0 0 8px;}
header.hero h1 span{font-weight:300;color:var(--teal);}
header.hero p.tagline{font-style:italic;color:var(--deep-teal);font-size:20px;margin:0 0 34px;}
header.hero .buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-primary{background:var(--navy);color:var(--sand);padding:14px 32px;border-radius:30px;font-weight:600;font-size:15px;}
.btn-primary:hover{background:var(--teal);}
.btn-secondary{border:2px solid var(--navy);color:var(--navy);padding:12px 30px;border-radius:30px;font-weight:600;font-size:15px;}
.btn-secondary:hover{background:var(--navy);color:var(--sand);}

/* Services */
section.services{padding:80px 60px;background:#fff;}
.section-heading{text-align:center;margin-bottom:50px;}
.section-heading h2{font-size:34px;font-weight:700;margin:0 0 8px;}
.section-heading p{color:var(--deep-teal);font-size:16px;margin:0;}
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;max-width:1000px;margin:0 auto;}
.service-card{background:var(--sand);border-radius:16px;padding:36px;transition:transform .2s;}
.service-card:hover{transform:translateY(-4px);}
.service-card .badge{width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--teal));display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.service-card h3{font-size:22px;margin:0 0 10px;}
.service-card p{font-size:15px;line-height:1.6;color:#3d5a63;margin:0 0 16px;}
.service-card ul{margin:0;padding-left:18px;font-size:14px;color:#3d5a63;line-height:1.8;}

/* Portfolio / Galleries */
section.portfolio, section.corporate{padding:80px 60px;background:var(--sand);}
section.corporate{background:#fff;}
.gallery-subhead{max-width:1100px;margin:0 auto 18px;font-size:19px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:16px;}
.gallery-subhead::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--gold),rgba(255,210,122,0));}
.gallery + .gallery-subhead{margin-top:50px;}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:26px;max-width:1100px;margin:0 auto;}
.gallery figure{margin:0;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(10,61,92,0.15);background:#fff;}
body.page-corporate .gallery figure{border:2px solid var(--gold);}
.gallery img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.gallery figcaption{padding:14px 18px;font-size:14px;color:var(--deep-teal);}
.gallery figcaption .tag{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:4px;}
.gallery .coming-soon{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;border:2px dashed var(--aqua);border-radius:14px;color:var(--deep-teal);font-size:15px;font-style:italic;background:#fff;}

/* Featured video */
.featured-video{max-width:800px;margin:0 auto 50px;}
.featured-video .video-wrap{position:relative;width:100%;padding-bottom:56.25%;height:0;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(10,61,92,0.18);border:2px solid var(--gold);}
.featured-video .video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.featured-video .caption{text-align:center;margin-top:14px;font-size:14px;color:var(--deep-teal);}
.featured-video .caption .tag{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:4px;}

/* About */
section.about{padding:80px 60px;background:linear-gradient(135deg,var(--navy),var(--deep-teal));color:var(--sand);display:flex;gap:60px;flex-wrap:wrap;align-items:center;justify-content:center;}
section.about .about-text{max-width:520px;}
section.about h2{font-size:30px;margin:0 0 16px;}
section.about p{font-size:16px;line-height:1.7;color:#dfeef0;}
.about-media{flex:0 0 380px;max-width:380px;}
.about-media img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 20px 45px rgba(0,0,0,0.35);}
.about-stats{display:flex;gap:40px;flex-wrap:wrap;margin-top:28px;}
.about-stats div{text-align:center;}
.about-stats .num{font-size:30px;font-weight:700;color:var(--gold);}
.about-stats .label{font-size:13px;color:#cfe6e8;}

/* Contact */
section.contact{padding:90px 60px;text-align:center;background:#fff;}
section.contact h2{font-size:32px;margin:0 0 10px;}
section.contact p{color:var(--deep-teal);margin:0 0 30px;}
.contact-info{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;font-size:15px;margin-top:10px;}
.contact-info div{background:var(--sand);padding:18px 28px;border-radius:12px;}
.contact-info strong{display:block;color:var(--navy);margin-bottom:4px;}
.contact-info a{color:inherit;text-decoration:none;}
.contact-info a:hover{text-decoration:underline;}

/* Footer */
footer{background:var(--navy);color:var(--aqua);padding:36px 60px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:13px;}
footer .logo{display:flex;align-items:baseline;gap:10px;color:var(--sand);font-weight:600;}
footer .logo .icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
footer .logo .icon svg{width:30px;height:30px;}
footer .footer-links{display:flex;gap:24px;}
footer .footer-links a:hover{color:var(--sand);}

/* ===== Landing Page ===== */
.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:linear-gradient(160deg,var(--sand) 0%, #dff2ee 55%, #cdeae4 100%);text-align:center;}
.landing .landing-logo{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:56px;}
.landing .landing-logo .mark{width:130px;height:130px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(5,34,53,0.3);}
.landing .landing-logo .mark svg{width:130px;height:130px;}
.landing .landing-logo .wordmark{font-size:56px;font-weight:700;color:var(--navy);letter-spacing:1px;}
.landing .landing-logo .wordmark span{font-weight:300;color:var(--teal);}
.landing .landing-logo .tagline{font-style:italic;color:var(--deep-teal);font-size:19px;}

.landing-buttons{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;max-width:920px;width:100%;}
.landing-btn{flex:1 1 380px;max-width:440px;background:#fff;border-radius:20px;padding:44px 36px;box-shadow:0 8px 26px rgba(10,61,92,0.12);transition:transform .2s, box-shadow .2s;text-align:left;display:flex;flex-direction:column;gap:14px;}
.landing-btn:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(10,61,92,0.2);}
.landing-btn .lb-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--teal));}
.landing-btn .lb-icon svg{width:28px;height:28px;}
.landing-btn h2{font-size:26px;margin:0;color:var(--navy);}
.landing-btn p{margin:0;font-size:15px;color:#3d5a63;line-height:1.6;}
.landing-btn .lb-arrow{margin-top:6px;font-weight:600;color:var(--teal);font-size:14px;display:flex;align-items:center;gap:6px;}
.landing-btn.corporate-btn .lb-icon{background:linear-gradient(135deg,var(--navy),var(--deep-teal));}
.landing-btn.realestate-btn .lb-icon{background:linear-gradient(135deg,var(--teal),var(--aqua));}

.landing-footer{margin-top:56px;font-size:13px;color:var(--deep-teal);}

/* ===== Photo Hero (new homepage style) ===== */
.photo-hero{position:relative;min-height:calc(100vh + 120px);display:flex;align-items:flex-start;background-size:cover;background-position:60% 50%;}
.photo-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(5,34,53,0.90) 0%, rgba(5,34,53,0.68) 30%, rgba(5,34,53,0.05) 52%);}
.photo-hero .hero-inner{position:relative;z-index:1;padding:200px 60px 70px;max-width:520px;}
.photo-hero .eyebrow{color:var(--gold);letter-spacing:2px;font-size:13px;font-weight:600;text-transform:uppercase;margin-bottom:14px;}
.photo-hero h1{font-size:46px;line-height:1.15;font-weight:700;color:#fff;margin:0 0 18px;}
.photo-hero h1 span{color:var(--gold);}
.photo-hero p.tagline{color:#dfeef0;font-size:18px;margin:0 0 30px;max-width:460px;}
.photo-hero p.network-line{color:var(--gold);font-size:16px;font-weight:600;line-height:1.5;margin:-14px 0 26px;max-width:460px;}
.photo-hero .buttons{display:flex;gap:16px;flex-wrap:wrap;}
.photo-hero .btn-primary{background:var(--gold);color:var(--navy);}
.photo-hero .btn-primary:hover{background:#fff;}
.photo-hero .btn-secondary{border-color:#fff;color:#fff;}
.photo-hero .btn-secondary:hover{background:#fff;color:var(--navy);}

/* Corporate page — match the light-blue / gold "second page" treatment */
body.page-corporate section.services,
body.page-corporate section.corporate,
body.page-corporate section.contact{background:#E4EEFA;}
body.page-corporate .service-card{background:#fff;border:2px solid var(--gold);}
body.page-corporate .service-card .badge{background:linear-gradient(135deg,#FFC94D,#FFE1A8);}
body.page-corporate footer{background:var(--gold);color:var(--navy);}
body.page-corporate footer .logo{color:var(--navy);}
body.page-corporate footer .logo .logo-text .script{color:var(--navy);}
body.page-corporate nav{padding-left:24px;}
body.page-corporate nav .logo{flex-direction:column;align-items:center;font-size:40px;gap:10px;}
body.page-corporate nav .logo .icon{width:104px;height:104px;}
body.page-corporate nav .logo .icon svg{width:104px;height:104px;}
body.page-corporate nav .logo .logo-text{text-align:center;letter-spacing:1px;}
body.page-corporate nav .logo .logo-wordmark{height:90px;}
body.page-corporate footer .footer-links a:hover{color:var(--deep-teal);}
body.page-realestate footer{background:var(--gold);color:var(--navy);}
body.page-realestate footer .logo{color:var(--navy);}
body.page-realestate footer .footer-links a:hover{color:var(--deep-teal);}
body.page-realestate section.services,
body.page-realestate section.portfolio,
body.page-realestate section.contact{background:#E4EEFA;}
body.page-realestate .service-card{background:#fff;border:2px solid var(--gold);}
body.page-realestate .service-card .badge{background:linear-gradient(135deg,#FFC94D,#FFE1A8);}
body.page-realestate .gallery figure{border:2px solid var(--gold);}
body.page-realestate .gallery figcaption .tag{color:#B8860B;}
body.page-documentary .photo-hero .hero-inner{padding-top:460px;}
body.page-corporate .section-heading h2,
body.page-corporate section.about h2,
body.page-corporate section.contact h2,
body.page-realestate .section-heading h2,
body.page-realestate section.about h2,
body.page-realestate section.contact h2{display:inline-block;background:var(--gold);color:var(--navy) !important;border-radius:10px;padding:8px 26px;}
body.page-corporate .gallery-subhead .subhead-label{background:var(--gold);color:var(--navy);border-radius:8px;padding:5px 18px;}
body.page-corporate .gallery figcaption .tag,
body.page-corporate .featured-video .caption .tag{color:#B8860B;}

.wave-divider{display:block;width:100%;height:70px;margin-top:-6px;margin-bottom:-2px;}

/* Category cards (photo thumbnail + link) */
section.categories{padding:180px 60px 40px;background:#E4EEFA;margin-top:-1px;}
.categories-eyebrow{text-align:center;color:#B8860B;letter-spacing:3px;font-size:32px;font-weight:700;text-transform:uppercase;margin-bottom:36px;}
.eyebrow-rule{display:block;width:60px;height:4px;background:var(--gold);border-radius:2px;margin:14px auto 0;}
.closing-band{background:var(--gold);padding:0 0 26px;text-align:center;}
.closing-wave{display:block;width:100%;height:70px;}
.closing-copy{display:flex;align-items:baseline;justify-content:center;gap:10px;color:var(--navy);font-size:13px;padding-top:18px;}
.closing-copy .icon{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.closing-copy .logo-icon-img{margin-right:-30px;transform:translate(-3px, 7px);}
.closing-copy span{position:relative;z-index:1;}
.closing-tagline{font-size:19px;font-weight:700;letter-spacing:0.3px;color:var(--navy);margin:0 0 4px;}
.footer-cursive{font-family:'Pacifico',cursive;font-weight:400;font-size:1.35em;position:relative;z-index:1;margin-right:-8px;}
footer .logo .logo-icon-img{margin-right:-34px;transform:translate(-4px, 9px);}
.closing-copy .icon svg{width:26px;height:26px;}
.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;max-width:960px;margin:0 auto;}
.category-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 22px rgba(5,34,53,0.15);border:2px solid var(--gold);display:flex;flex-direction:column;transition:transform .2s;}
.category-card:hover{transform:translateY(-6px);}
.category-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.category-card .cc-body{padding:18px 18px 20px;}
.category-card .cc-icon{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#FFC94D,#FFE1A8);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.category-card .cc-icon svg{width:17px;height:17px;}
.category-card h3{font-size:17px;margin:0 0 6px;color:var(--navy);}
.category-card p{font-size:13px;color:#3d5a63;line-height:1.55;margin:0 0 11px;}
.category-card .cc-link{font-size:12px;font-weight:600;color:var(--teal);}

/* Featured Work (play-button thumbnails) */
.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1100px;margin:0 auto;}
.work-card{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(5,34,53,0.15);background:#000;cursor:pointer;}
.work-card img, .work-card iframe{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border:0;}
.work-card .play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:rgba(5,34,53,0.55);display:flex;align-items:center;justify-content:center;transition:background .2s, transform .2s;}
.work-card:hover .play-btn{background:var(--gold);transform:translate(-50%,-50%) scale(1.08);}
.work-card .play-btn svg{width:22px;height:22px;margin-left:3px;}
.work-card .wc-label{padding:12px 16px;font-size:13px;color:var(--deep-teal);background:#fff;}
.work-card .wc-label .tag{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:2px;}

@media (max-width:600px){
  nav{padding:16px 16px;}
  nav .menu-toggle{top:12px;right:8px;}
  nav .nav-quicklinks{top:190px;gap:8px;flex-wrap:wrap;padding:0 10px;}
  nav .nav-quicklinks a{font-size:12px;letter-spacing:1px;}
  nav .nav-quicklinks .nq-dot{font-size:12px;}
  body.page-home .photo-hero .hero-inner{padding:24px 24px 120px;}
  body.page-home .photo-hero h1{font-size:40px;}
  .photo-hero .hero-corner-logo{left:16px;bottom:20px;}
  .landing .landing-logo .wordmark{font-size:38px;}
  .landing .landing-logo .mark{width:90px;height:90px;}
  .landing .landing-logo .mark svg{width:52px;height:52px;}
  .photo-hero .hero-inner{padding:195px 16px 50px;max-width:100%;}
  .photo-hero p.tagline{display:none;}
  .photo-hero p.network-line{font-size:14px;margin:-6px 0 20px;}
  body.page-corporate:not(.page-documentary):not(.page-bts) .photo-hero{align-items:stretch;min-height:100vh;}
  body.page-corporate:not(.page-documentary):not(.page-bts) .photo-hero .hero-inner{display:flex;flex-direction:column;}
  body.page-corporate:not(.page-documentary):not(.page-bts) .photo-hero .buttons{order:1;margin-bottom:0;}
  body.page-corporate:not(.page-documentary):not(.page-bts) .photo-hero p.network-line{order:2;margin:auto 0 0;padding:14px 16px;background:rgba(5,34,53,0.55);border:1px solid rgba(255,210,122,0.5);border-radius:8px;font-size:15px;}
  body.page-corporate .photo-hero{background-image:url('images/corporate-hero-monitors-v7.jpg') !important;background-position:65% 30% !important;}
  body.page-corporate nav{padding:16px 16px 16px 4px;}
  body.page-corporate nav .logo{flex-direction:column;align-items:flex-start;font-size:34px;gap:6px;}
  body.page-corporate nav .logo .icon{width:92px;height:92px;flex-shrink:0;}
  body.page-corporate nav .logo .icon svg{width:92px;height:92px;}
  body.page-corporate nav .logo .logo-text{text-align:left;}
  body.page-corporate nav .logo .logo-wordmark{height:76px;}
  body.page-corporate nav .menu-toggle{flex-shrink:0;background:rgba(5,34,53,0.4);border-radius:8px;margin-left:10px;}
  body.page-bts .photo-hero{background-image:url('images/corporate-19-bts-elephant-filming.jpg') !important;background-position:50% 45% !important;}
  body.page-documentary .photo-hero{background-image:url('images/documentary-legacy-interview.jpg') !important;background-position:10% 10% !important;}
  body.page-documentary .photo-hero .hero-inner{padding-top:480px;}
}
