/*
Theme Name: Lynn Warner Philippines
Theme URI: https://www.foxdisplays.com/
Author: Lynn Warner Website Design
Description: Premium Philippine-inspired WordPress theme for Lynn Warner Website Design.
Version: 1.5.0
Text Domain: lynn-warner-ph
*/

:root{
  --ph-blue:#0038A8;
  --ph-blue-deep:#001F63;
  --ph-red:#CE1126;
  --ph-red-deep:#9B0D1B;
  --ph-gold:#FCD116;
  --ph-gold-soft:#F2B847;
  --ink:#071426;
  --muted:#5E6877;
  --white:#FFFFFF;
  --soft:#F5F8FC;
  --border:#DCE3EC;
  --shadow:0 18px 50px rgba(5,24,55,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#fff;color:var(--ink);line-height:1.6}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,92vw);margin:0 auto}
.screen-reader-text{position:absolute;left:-9999px}

.site-topbar{background:linear-gradient(90deg,var(--ph-blue-deep),var(--ph-blue));color:#fff;font-size:.88rem}
.site-topbar .inner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:8px 0}
.site-topbar .meta{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.site-topbar .cta-mini{font-weight:800;background:var(--ph-red);padding:8px 14px;border-radius:0 0 8px 8px}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(7,20,38,.08)}
.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;min-height:96px}
.brand-wrap{display:flex;align-items:center;gap:12px}
.brand-logo{width:430px;max-width:40vw}
.brand-logo img,.brand-logo svg{display:block;width:100%;height:auto}
.site-nav ul{display:flex;justify-content:center;align-items:center;gap:24px;list-style:none;margin:0;padding:0}
.site-nav a{font-weight:700;font-size:.95rem;letter-spacing:.02em;position:relative;padding:36px 0 30px}
.site-nav a:after{content:"";position:absolute;left:0;right:0;bottom:24px;height:3px;transform:scaleX(0);background:var(--ph-red);transition:.2s}
.site-nav a:hover:after,.site-nav .current-menu-item>a:after{transform:scaleX(1)}
.header-cta{background:var(--ph-red);color:#fff;padding:14px 18px;border-radius:8px;font-weight:800;box-shadow:0 10px 24px rgba(206,17,38,.2)}
.menu-toggle{display:none;border:0;background:var(--ph-blue);color:#fff;padding:10px 13px;border-radius:8px;font-size:1.2rem}

.hero{position:relative;overflow:hidden;background:
linear-gradient(90deg,rgba(0,31,99,.97) 0%,rgba(0,56,168,.91) 44%,rgba(0,56,168,.22) 72%,rgba(0,56,168,.03) 100%),
url('assets/images/hero-gensan.jpg') center/cover no-repeat;color:#fff}
.hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-72px;height:140px;background:#fff;border-radius:50% 50% 0 0/40% 40% 0 0;transform:rotate(-1deg)}
.hero-inner{position:relative;z-index:2;min-height:620px;display:flex;align-items:center;padding:88px 0 120px}
.hero-copy{max-width:700px}
.eyebrow{font-size:.82rem;font-weight:900;letter-spacing:.26em;text-transform:uppercase;color:var(--ph-gold)}
.hero h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.93;margin:18px 0 24px;text-transform:uppercase;letter-spacing:-.045em}
.hero h1 span{color:var(--ph-gold)}
.hero p{font-size:1.18rem;max-width:620px;color:rgba(255,255,255,.94)}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:8px;font-weight:900;transition:.2s}
.btn-red{background:var(--ph-red);color:#fff}
.btn-red:hover{background:var(--ph-red-deep);transform:translateY(-2px)}
.btn-ghost{border:1px solid rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ph-blue-deep)}

.feature-strip{position:relative;z-index:3;margin-top:-56px}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.feature{padding:30px 26px;border-right:1px solid var(--border);display:flex;gap:16px}
.feature:last-child{border-right:0}
.feature-icon{flex:0 0 50px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--ph-blue);color:#fff;font-weight:900}
.feature:nth-child(2) .feature-icon,.feature:nth-child(4) .feature-icon{background:var(--ph-red)}
.feature h3{margin:0 0 4px;font-size:1rem;text-transform:uppercase;color:var(--ph-blue-deep)}
.feature p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.4}

.section{padding:96px 0}
.section-soft{background:var(--soft)}
.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:46px}
.section-head h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1;margin:10px 0 0;color:var(--ph-blue-deep);letter-spacing:-.04em}
.section-head p{color:var(--muted);font-size:1.08rem;max-width:680px;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(7,20,38,.06);transition:.2s}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.service-visual{height:180px;background:linear-gradient(135deg,var(--ph-blue),var(--ph-blue-deep));display:grid;place-items:center;color:#fff;font-size:3rem;font-weight:900;position:relative}
.service-card:nth-child(even) .service-visual{background:linear-gradient(135deg,var(--ph-red),var(--ph-red-deep))}
.service-card:nth-child(3) .service-visual{background:linear-gradient(135deg,#153b83,var(--ph-blue))}
.service-card:nth-child(4) .service-visual{background:linear-gradient(135deg,var(--ph-gold-soft),var(--ph-red))}
.service-body{padding:24px}
.service-body h3{margin:0 0 10px;color:var(--ph-blue-deep)}
.service-body p{margin:0;color:var(--muted)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.flag-panel{min-height:470px;border-radius:24px;position:relative;overflow:hidden;background:
linear-gradient(160deg,transparent 0 49%,var(--ph-red) 49% 74%,var(--ph-blue) 74%),
linear-gradient(#fff,#fff);box-shadow:var(--shadow)}
.flag-panel:before{content:"☀";position:absolute;left:10%;top:28%;font-size:7rem;color:var(--ph-gold);line-height:1}
.flag-panel:after{content:"★  ★  ★";position:absolute;left:9%;top:56%;font-size:1.8rem;letter-spacing:1.1rem;color:var(--ph-gold)}
.split h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.02;margin:10px 0 20px;color:var(--ph-blue-deep);letter-spacing:-.035em}
.checks{display:grid;gap:13px;margin:28px 0}
.check{display:flex;gap:12px;align-items:flex-start}
.check b{color:var(--ph-blue-deep)}

.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.process-card{padding:28px;border:1px solid var(--border);border-radius:16px;background:#fff}
.process-card:before{counter-increment:step;content:"0"counter(step);display:block;color:var(--ph-red);font-size:.82rem;font-weight:900;letter-spacing:.2em;margin-bottom:30px}
.process-card h3{color:var(--ph-blue-deep);margin:0 0 8px}
.process-card p{color:var(--muted);margin:0}

.cta-band{background:linear-gradient(115deg,var(--ph-blue-deep),var(--ph-blue));color:#fff;padding:70px 0;position:relative;overflow:hidden}
.cta-band:after{content:"";position:absolute;right:-100px;top:-160px;width:440px;height:440px;border:70px solid rgba(252,209,22,.18);border-radius:50%}
.cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta-band h2{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1;margin:0}
.cta-band p{color:rgba(255,255,255,.82);max-width:650px}

.page-hero{padding:84px 0;background:linear-gradient(125deg,var(--ph-blue-deep),var(--ph-blue));color:#fff}
.page-hero h1{font-size:clamp(2.6rem,5vw,5rem);margin:10px 0 16px;line-height:1}
.page-hero p{max-width:720px;color:rgba(255,255,255,.85);font-size:1.08rem}
.content-area{padding:80px 0}
.prose{max-width:860px;font-size:1.08rem}
.prose h2,.prose h3{color:var(--ph-blue-deep)}

.form-card{max-width:900px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:34px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:grid;gap:7px}
.form-field.full{grid-column:1/-1}
.form-field label{font-weight:800;color:var(--ph-blue-deep)}
.form-field input,.form-field textarea,.form-field select{width:100%;padding:13px 14px;border:1px solid #CBD4E0;border-radius:8px;font:inherit;background:#fff}
.form-field textarea{min-height:150px;resize:vertical}
.notice{padding:14px 16px;border-radius:8px;margin-bottom:18px}
.notice.success{background:#ECF8F0;color:#1E6A37}
.notice.error{background:#FCEDEF;color:#8A1826}

.site-footer{background:#061530;color:#fff;padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:50px}
.site-footer h3{color:var(--ph-gold);margin-top:0}
.site-footer p,.site-footer a{color:rgba(255,255,255,.75)}
.footer-menu{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer-bottom{margin-top:42px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.55);font-size:.9rem}

@media(max-width:980px){
  .header-inner{grid-template-columns:1fr auto;min-height:82px}
  .brand-logo{max-width:65vw;width:350px}
  .menu-toggle{display:block}
  .header-cta{display:none}
  .site-nav{display:none;grid-column:1/-1;padding-bottom:18px}
  .site-nav.open{display:block}
  .site-nav ul{display:grid;gap:0}
  .site-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--border)}
  .site-nav a:after{display:none}
  .feature-grid,.service-grid,.process{grid-template-columns:1fr 1fr}
  .feature:nth-child(2){border-right:0}
  .section-head,.split{grid-template-columns:1fr}
}
@media(max-width:640px){
  .site-topbar .inner{justify-content:center}.site-topbar .meta span:nth-child(2){display:none}.cta-mini{display:none}
  .hero-inner{min-height:560px;padding:70px 0 100px}
  .hero h1{font-size:3.1rem}
  .feature-grid,.service-grid,.process,.form-grid{grid-template-columns:1fr}
  .feature{border-right:0;border-bottom:1px solid var(--border)}
  .section{padding:72px 0}
  .cta-inner,.footer-grid,.footer-bottom{display:grid;grid-template-columns:1fr}
  .brand-logo{max-width:72vw}
}


/* About & Team leadership redesign */
.team-intro{
  max-width:820px;
  margin:0 auto 52px;
  text-align:center;
}
.team-intro h2{
  color:var(--ph-blue-deep);
  font-size:clamp(2.4rem,4vw,4rem);
  line-height:1;
  margin:10px 0 18px;
  letter-spacing:-.04em;
}
.team-intro p{
  color:var(--muted);
  font-size:1.08rem;
  margin:0;
}
.leadership-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:start;
}
.leader-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 16px 45px rgba(7,20,38,.08);
}
.leader-photo{
  aspect-ratio:4/3;
  overflow:hidden;
  background:#e8edf4;
}
.leader-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:grayscale(100%);
  transition:.35s ease;
}
.leader-card:hover .leader-photo img{
  filter:grayscale(15%);
  transform:scale(1.015);
}
.leader-content{
  padding:30px;
}
.leader-role{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.77rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ph-red);
  margin-bottom:12px;
}
.leader-content h3{
  margin:0 0 18px;
  color:var(--ph-blue-deep);
  font-size:2rem;
  letter-spacing:-.025em;
}
.leader-content p{
  color:var(--muted);
}
.leader-quote{
  margin:22px 0 0;
  padding:22px 24px;
  border-left:4px solid var(--ph-gold);
  background:var(--soft);
  color:#263449;
  font-size:1rem;
}
.leader-quote p:first-child{margin-top:0}
.leader-quote p:last-child{margin-bottom:0}
.signature-line{
  margin-top:24px;
  font-family:Georgia,serif;
  font-size:1.35rem;
  color:var(--ph-blue-deep);
}
.about-values{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:44px;
}
.about-value{
  border-top:4px solid var(--ph-blue);
  background:#fff;
  padding:26px;
  border-radius:0 0 14px 14px;
  box-shadow:0 8px 26px rgba(7,20,38,.06);
}
.about-value:nth-child(2){border-top-color:var(--ph-red)}
.about-value:nth-child(3){border-top-color:var(--ph-gold)}
.about-value h3{
  color:var(--ph-blue-deep);
  margin:0 0 8px;
}
.about-value p{
  margin:0;
  color:var(--muted);
}
@media(max-width:820px){
  .leadership-grid,.about-values{grid-template-columns:1fr}
}


/* Mission & Philosophy */
.mission-section{
  padding-top:10px;
  padding-bottom:96px;
}
.mission-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--ph-blue-deep),var(--ph-blue));
  color:#fff;
  border-radius:24px;
  padding:54px 58px;
  box-shadow:var(--shadow);
}
.mission-card:after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-140px;
  width:320px;
  height:320px;
  border:52px solid rgba(252,209,22,.18);
  border-radius:50%;
}
.mission-card>*{
  position:relative;
  z-index:2;
}
.mission-card h2{
  margin:10px 0 24px;
  color:#fff;
  font-size:clamp(2.4rem,4vw,4.2rem);
  line-height:1;
  letter-spacing:-.04em;
}
.mission-card p{
  max-width:950px;
  font-size:1.08rem;
  color:rgba(255,255,255,.9);
}
.mission-card p:last-child{margin-bottom:0}

/* Portrait refinement */
.leader-photo{
  aspect-ratio:1/1;
}
.leader-photo img{
  object-fit:cover;
  object-position:center 28%;
  filter:grayscale(100%) contrast(1.02);
}
.leader-card:hover .leader-photo img{
  filter:grayscale(100%) contrast(1.02);
  transform:none;
}
@media(max-width:640px){
  .mission-card{padding:38px 26px}
}


/* Contact + Project Planner redesign — v1.5 */
.lwwd-two-col {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:flex-start !important;
  gap:36px !important;
  width:100% !important;
}
.lwwd-two-col > .info-panel {
  flex:0 0 38% !important;
  width:38% !important;
  max-width:38% !important;
}
.lwwd-two-col > .form-card {
  flex:1 1 0 !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
}
.info-panel{
  background:linear-gradient(150deg,var(--ph-blue-deep),var(--ph-blue));
  color:#fff;
  border-radius:22px;
  padding:38px;
  box-shadow:var(--shadow);
  position:sticky;
  top:130px;
  overflow:hidden;
}
.info-panel:after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-120px;
  width:290px;
  height:290px;
  border:45px solid rgba(252,209,22,.15);
  border-radius:50%;
}
.info-panel > *{position:relative;z-index:2}
.info-panel h2{font-size:clamp(2rem,3vw,2.6rem);line-height:1.05;margin:10px 0 18px;letter-spacing:-.035em}
.info-panel p{color:rgba(255,255,255,.86)}
.info-list{display:flex;flex-direction:column;gap:16px;margin-top:28px}
.info-item{display:flex;gap:14px;align-items:flex-start;padding-top:16px;border-top:1px solid rgba(255,255,255,.16)}
.info-item:first-child{border-top:0;padding-top:0}
.info-item b{display:block;margin-bottom:2px}
.info-item span{color:rgba(255,255,255,.78);font-size:.94rem}

.form-card.pro{max-width:none !important;width:auto;border-radius:22px;padding:38px}
.form-card.pro h2{margin:0 0 8px;color:var(--ph-blue-deep);font-size:2rem;letter-spacing:-.025em}
.form-card.pro .form-intro{margin:0 0 28px;color:var(--muted)}
.lwwd-form-grid{display:flex !important;flex-wrap:wrap !important;gap:20px !important}
.lwwd-form-grid > .form-field{flex:1 1 calc(50% - 10px) !important;min-width:240px !important}
.lwwd-form-grid > .form-field.full{flex:0 0 100% !important;width:100% !important;min-width:100% !important}
.form-field small{color:var(--muted);font-size:.82rem}
.form-field input,.form-field textarea,.form-field select{width:100% !important;max-width:100% !important;box-sizing:border-box !important}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:3px solid rgba(0,56,168,.12);border-color:var(--ph-blue)}
.form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.form-note{color:var(--muted);font-size:.85rem}

.planner-steps{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.planner-step{display:flex;gap:12px;align-items:flex-start}
.planner-step-num{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--ph-gold);color:var(--ph-blue-deep);font-weight:900}
.planner-step h3{margin:0 0 4px;font-size:1rem}
.planner-step p{margin:0;color:rgba(255,255,255,.78);font-size:.92rem}

.contact-options{display:flex;gap:16px;margin-top:34px}
.contact-option{flex:1 1 0;background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px}
.contact-option h3{margin:0 0 6px;color:var(--ph-blue-deep)}
.contact-option p{margin:0;color:var(--muted);font-size:.92rem}

.lwwd-hp{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important}

@media(max-width:900px){
  .lwwd-two-col{flex-direction:column !important}
  .lwwd-two-col > .info-panel{flex:0 0 auto !important;width:100% !important;max-width:100% !important;position:relative;top:auto}
  .contact-options{flex-direction:column}
}
@media(max-width:620px){
  .lwwd-form-grid{display:block !important}
  .lwwd-form-grid > .form-field,.lwwd-form-grid > .form-field.full{width:100% !important;min-width:0 !important;margin-bottom:18px}
  .form-card.pro,.info-panel{padding:28px 22px}
}
