/* Philo Hero — Daylight
   Namespaced with .phw- to avoid clashing with theme/Elementor styles. */

.phw-hero--daylight{
  --phw-gold: #f5b522;
  --phw-orange: #f48124;
  --phw-green: #126d38;
  --phw-cream: #fffaf0;
  --phw-sand: #fdf1d9;
  --phw-ink: #16210f;
  --phw-ink-soft: #46502f;
  --phw-wash: .55;
}

.phw-hero{
  position:relative; overflow:hidden; display:flex; flex-direction:column;
  font-family:'Manrope', sans-serif; color: var(--phw-ink); -webkit-font-smoothing:antialiased;
}
.phw-hero *{ box-sizing:border-box; }
.phw-hero a{ text-decoration:none; color:inherit; }
.phw-hero button{ font-family:inherit; border:none; background:none; cursor:pointer; color:inherit; }
.phw-hero :focus-visible{ outline:2px solid var(--phw-green); outline-offset:4px; }

.phw-hero--daylight{
  min-height:100vh;
  background:
    radial-gradient(60% 50% at 85% 8%, rgba(245,181,34,.35), transparent 60%),
    radial-gradient(50% 40% at 8% 90%, rgba(18,109,56,.14), transparent 65%),
    linear-gradient(160deg, var(--phw-cream) 0%, var(--phw-sand) 60%, #faead0 100%);
}

/* background photo + color wash (this is the actual selling photography) */
.phw-bg{ position:absolute; inset:0; z-index:0; }
.phw-bg__image{ position:absolute; inset:0; background-size:cover; background-position:center; }
.phw-bg__wash{
  position:absolute; inset:0;
  background:
    radial-gradient(60% 50% at 85% 8%, rgba(245,181,34, calc(var(--phw-wash) * .8)), transparent 60%),
    radial-gradient(60% 55% at 10% 100%, rgba(18,109,56, calc(var(--phw-wash) * .55)), transparent 65%),
    linear-gradient(170deg, rgba(255,250,240, calc(var(--phw-wash) * 1)) 0%, rgba(253,241,217, calc(var(--phw-wash) * .55)) 55%, rgba(250,234,208, calc(var(--phw-wash) * .3)) 100%);
}

.phw-glow{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.phw-glow-orb{ position:absolute; border-radius:50%; filter: blur(70px); opacity:.55; mix-blend-mode:multiply; }

.phw-grain{
  position:absolute; inset:0; z-index:1; opacity:.035; mix-blend-mode:multiply; pointer-events:none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.phw-leaf{ position:absolute; z-index:1; opacity:.5; pointer-events:none; }
.phw-leaf svg{ width:100%; height:100%; display:block; }
.phw-leaf--one{ width:120px; height:120px; top:14%; left:4%; }
.phw-leaf--two{ width:70px; height:70px; top:70%; left:8%; }

/* nav */
.phw-nav{ position:relative; z-index:10; display:flex; align-items:center; justify-content:space-between; padding: clamp(18px,3vw,34px) clamp(20px,6vw,64px); }
.phw-nav__mark{ font-family:'Fraunces', serif; font-weight:500; font-size:1.15rem; color: var(--phw-green); }
.phw-nav__mark span{ display:block; font-family:'Manrope', sans-serif; font-weight:700; font-size:.56rem; letter-spacing:.24em; text-transform:uppercase; color: var(--phw-orange); margin-top:2px; }
.phw-nav__cta{
  font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:.7em 1.4em; border-radius:999px; color:var(--phw-cream);
  background: linear-gradient(120deg, var(--phw-green), #1c8a4a);
  transition: transform .25s ease, box-shadow .25s ease;
}
.phw-nav__cta:hover{ transform: translateY(-1px); box-shadow: 0 10px 24px -10px rgba(18,109,56,.6); }

/* split body */
.phw-body{
  position:relative; z-index:10; flex:1;
  display:grid; grid-template-columns: 1.05fr .95fr; align-items:center;
  gap: clamp(24px,4vw,60px);
  padding: clamp(20px,4vw,40px) clamp(20px,6vw,64px) clamp(40px,6vw,60px);
}
@media (max-width: 940px){ .phw-body{ grid-template-columns:1fr; padding-top:10px; } }

.phw-text{ max-width:620px; }
.phw-eyebrow{ display:inline-flex; align-items:center; gap:.6em; font-size:.72rem; font-weight:800; letter-spacing:.3em; text-transform:uppercase; color: var(--phw-green); margin:0 0 20px; }
.phw-eyebrow::before{ content:''; width:34px; height:1px; background: var(--phw-orange); }

.phw-headline{
  font-family:'Fraunces', serif; font-weight:440; font-size: clamp(2.3rem, 5vw, 4.2rem);
  line-height:1.06; letter-spacing:-.01em; color: var(--phw-ink); margin:0 0 24px; max-width:14ch;
}
.phw-headline em{
  font-style:italic; font-weight:500;
  background: linear-gradient(100deg, var(--phw-orange), var(--phw-green));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.phw-lede{ font-size: clamp(1rem, 1.4vw, 1.15rem); line-height:1.7; color: var(--phw-ink-soft); max-width:48ch; margin:0 0 34px; }

.phw-actions{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.phw-btn-primary{
  display:inline-flex; align-items:center; gap:.6em; font-weight:700; font-size:.92rem;
  color: var(--phw-cream); background: linear-gradient(120deg, var(--phw-green), #1c8a4a);
  padding: 1.05em 1.9em; border-radius:999px; box-shadow: 0 14px 30px -10px rgba(18,109,56,.45);
  transition: transform .3s ease, box-shadow .3s ease;
}
.phw-btn-primary:hover{ transform: translateY(-2px); box-shadow: 0 18px 34px -8px rgba(18,109,56,.6); }
.phw-btn-ghost{
  display:inline-flex; align-items:center; gap:.5em; font-weight:700; font-size:.92rem;
  color: var(--phw-ink); padding: 1.05em 1.6em; border-radius:999px; border:1.5px solid rgba(18,33,15,.2);
  transition: border-color .25s ease, background .25s ease;
}
.phw-btn-ghost:hover{ border-color: var(--phw-orange); background: rgba(244,129,36,.08); }

/* visual card */
.phw-visual{ position:relative; aspect-ratio:4/5; max-width:480px; margin-inline:auto; }
.phw-visual-card{
  position:absolute; inset:0; border-radius:28px; overflow:hidden;
  background-size:cover; background-position:center;
  background-color: transparent;
  box-shadow: 0 40px 80px -30px rgba(18,33,15,.4);
}
.phw-visual-card:not([style*="background-image"]){
  background:
    radial-gradient(120% 100% at 30% 15%, rgba(245,181,34,.65), transparent 55%),
    radial-gradient(100% 90% at 80% 90%, rgba(18,109,56,.55), transparent 60%),
    linear-gradient(150deg, #1c8a4a, #126d38 55%, #0a3016);
}
.phw-visual-card__contour{ position:absolute; inset:0; opacity:.35; }
.phw-visual-card__contour svg{ width:100%; height:100%; }
.phw-visual-card__scrim{ position:absolute; inset:0; background: linear-gradient(0deg, rgba(10,20,10,.65) 0%, rgba(10,20,10,.05) 45%, transparent 70%); }
.phw-visual-card__label{ position:absolute; left:22px; bottom:22px; z-index:3; color:#fffaf0; }
.phw-visual-card__label b{ display:block; font-family:'Fraunces', serif; font-size:1.1rem; font-weight:500; }
.phw-visual-card__label span{ display:block; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color: rgba(255,250,240,.75); margin-top:2px; }

.phw-float-tag{
  position:absolute; top:22px; right:22px; z-index:3;
  background: rgba(255,250,240,.92); color: var(--phw-ink); backdrop-filter: blur(6px);
  padding:.5em .9em; border-radius:999px; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  box-shadow: 0 8px 20px -8px rgba(0,0,0,.25);
}

/* drone popup card */
.phw-drone-card{
  position:absolute; left:50%; bottom:-34px; transform:translateX(-50%);
  z-index:4; width:min(340px, 88%); display:flex; align-items:center; gap:14px;
  background: rgba(255,250,240,.96); border-radius:18px; padding:14px 16px;
  box-shadow: 0 30px 60px -20px rgba(18,33,15,.35);
}
.phw-drone-card__badge{ position:relative; width:56px; height:56px; flex-shrink:0; }
.phw-drone-card__pulse{ position:absolute; inset:0; border-radius:50%; border:1px solid rgba(244,129,36,.6); animation: phw-pulse-b 3s ease-out infinite; }
@keyframes phw-pulse-b{ 0%{ transform:scale(.75); opacity:.9; } 100%{ transform:scale(1.6); opacity:0; } }
.phw-drone-card__ring{ position:absolute; inset:0; }
.phw-drone-card__play{
  position:absolute; inset:8px; border-radius:50%;
  background: linear-gradient(135deg, var(--phw-orange), var(--phw-gold));
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 8px 18px -6px rgba(244,129,36,.6);
  transition: transform .3s ease;
}
.phw-drone-card:hover .phw-drone-card__play{ transform: scale(1.08); }
.phw-drone-card__copy{ text-align:left; }
.phw-drone-card__copy b{ display:block; font-size:.86rem; font-weight:800; color: var(--phw-ink); }
.phw-drone-card__copy span{ display:block; font-size:.74rem; color: var(--phw-ink-soft); margin-top:2px; }

/* marquee */
.phw-marquee{ position:relative; z-index:10; border-top:1px solid rgba(18,33,15,.12); background: rgba(255,250,240,.6); overflow:hidden; padding:16px 0; }
.phw-marquee__track{ display:flex; width:max-content; gap:48px; white-space:nowrap; }
.phw-marquee__track span{ font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:1rem; color: var(--phw-ink-soft); display:flex; align-items:center; gap:16px; }
.phw-marquee__track span::after{ content:'•'; color: var(--phw-orange); font-style:normal; }

/* modal (shared pattern) */
.phw-video-modal{ position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; pointer-events:none; }
.phw-video-modal.is-open{ pointer-events:auto; }
.phw-video-modal__backdrop{ position:absolute; inset:0; background: rgba(10,20,10,.7); backdrop-filter: blur(6px); }
.phw-video-modal__frame{ position:relative; z-index:2; width:min(920px,100%); background:#0a3016; border-radius:20px; overflow:hidden; box-shadow: 0 40px 90px -20px rgba(0,0,0,.5); }
.phw-video-modal__close{ position:absolute; top:14px; right:14px; z-index:3; width:40px; height:40px; border-radius:50%; background: rgba(6,15,8,.55); color:#fdf3e2; display:flex; align-items:center; justify-content:center; font-size:20px; border:1px solid rgba(253,243,226,.25); }
.phw-video-modal__player{ position:relative; width:100%; aspect-ratio:16/9; background:#04150c; }
.phw-video-modal__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:0; }
.phw-video-modal__posterart{ position:absolute; inset:0; }
.phw-video-modal__posterart svg{ width:100%; height:100%; display:block; }
.phw-video-modal__caption{ margin:0; padding:16px 22px 20px; font-size:.85rem; color:rgba(253,243,226,.65); border-top:1px solid rgba(253,243,226,.12); }

@media (max-width: 760px){ .phw-nav__links{ display:none; } }
@media (prefers-reduced-motion: reduce){ .phw-drone-card__pulse{ animation:none; } }
