:root{
  --navy:#1F2A44;
  --navy-2:#2E4A7D;
  --mint:#7FE6C0;
  --bg:#F7F9FC;
  --grey:#5B6B85;
  --dkgrey:#333333;
  --border:#E3E8F0;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Helvetica Neue', Arial, sans-serif;
  color:var(--dkgrey);
  background:#fff;
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--navy);
  margin:0 0 16px 0;
  line-height:1.25;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}

/* NAV */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.96);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(6px);
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;position:relative;}
.nav .logo img{height:46px;}
.nav ul{list-style:none;display:flex;gap:36px;margin:0;padding:0;}
.nav ul li a{
  font-size:14px;font-weight:600;letter-spacing:0.4px;color:var(--navy);
  padding:8px 0;border-bottom:2px solid transparent;transition:border-color .15s;
}
.nav ul li a:hover, .nav ul li a.active{border-bottom-color:var(--mint);}
.nav .cta{
  background:var(--navy);color:#fff;padding:10px 20px;border-radius:4px;
  font-size:13px;font-weight:700;letter-spacing:0.5px;
}
.nav .cta:hover{background:var(--navy-2);}

/* MOBILE NAV TOGGLE */
.navtoggle{
  display:none;background:none;border:none;cursor:pointer;padding:8px;
  flex-direction:column;justify-content:center;gap:5px;
}
.navtoggle span{display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
.nav.open .navtoggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav.open .navtoggle span:nth-child(2){opacity:0;}
.nav.open .navtoggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav ul .mobile-cta{display:none;}

/* HERO */
.hero{
  position:relative;overflow:hidden;
  background:
    linear-gradient(115deg, rgba(15,22,40,0.93) 0%, rgba(31,42,68,0.87) 45%, rgba(34,51,87,0.80) 100%),
    url('gulfoak-hero-bg.jpg?v=2') center 38%/cover no-repeat;
  color:#fff;padding:64px 0 56px;
}
.hero .wrap{position:relative;z-index:1;}
.hero .eyebrow{
  text-transform:uppercase;letter-spacing:3px;font-size:13px;color:var(--mint);
  font-weight:700;margin-bottom:18px;
}
.hero h1{color:#fff;font-size:44px;max-width:920px;margin-bottom:20px;}
.hero p{font-size:18px;max-width:560px;color:#D7E2F5;margin-bottom:36px;}
.btn{
  display:inline-block;background:var(--mint);color:var(--navy);
  padding:14px 30px;border-radius:4px;font-weight:700;font-size:14px;
  letter-spacing:0.4px;
}
.btn:hover{background:#66d1ac;}
.btn.outline{
  background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,0.6);
  margin-left:14px;
}
.btn.outline:hover{border-color:#fff;}
.btn.navybtn{background:var(--navy);color:#fff;}
.btn.navybtn:hover{background:var(--navy-2);}

/* PAGE HEADER (non-home) */
.pagehead{
  background:var(--navy);color:#fff;padding:70px 0 56px;
}
.pagehead .eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:13px;color:var(--mint);font-weight:700;margin-bottom:14px;}
.pagehead h1{color:#fff;font-size:36px;margin-bottom:14px;}
.pagehead p{color:#B9C6E3;max-width:640px;font-size:16px;margin:0;}

/* SECTIONS */
section{padding:76px 0;}
section.alt{background:var(--bg);}
.section-title{text-align:center;max-width:640px;margin:0 auto 48px;}
.section-title .eyebrow{
  text-transform:uppercase;letter-spacing:3px;font-size:12px;color:var(--navy-2);
  font-weight:700;margin-bottom:12px;
}
.section-title h2{font-size:30px;}
.section-title p{color:var(--grey);font-size:16px;margin:0;}

/* GRID / CARDS */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.card{
  background:#fff;border:1px solid var(--border);border-radius:8px;padding:32px 28px;
}
.card .num{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;background:var(--navy);color:var(--mint);
  font-weight:800;font-size:15px;margin-bottom:18px;
}
.card h3{font-size:19px;margin-bottom:10px;}
.card p{color:var(--grey);font-size:15px;margin:0;}

/* PHOTO GRID */
.photogrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.photogrid img{border-radius:6px;height:150px;width:100%;object-fit:cover;}

/* ASSET CLASS ICON CARDS */
.assetgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.iconcard{
  background:#fff;border:1px solid var(--border);border-radius:8px;padding:30px 24px;
  text-align:left;
}
.iconcard .icon{
  width:56px;height:56px;border-radius:12px;background:var(--navy);color:var(--mint);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.iconcard .icon svg{width:30px;height:30px;}
.iconcard h3{font-size:17px;margin-bottom:8px;}
.iconcard p{color:var(--grey);font-size:14px;margin:0;}

/* STAT STRIP */
.statstrip{
  background:var(--navy);color:#fff;padding:44px 0;
}
.statstrip .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.statstrip .v{font-size:26px;font-weight:800;color:var(--mint);margin-bottom:6px;}
.statstrip .l{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#B9C6E3;}

/* STRATEGY STEPS */
.steps{counter-reset:step;}
.step{
  display:flex;gap:24px;padding:28px 0;border-bottom:1px solid var(--border);
}
.step:last-child{border-bottom:none;}
.step .stepnum{
  flex:0 0 auto;width:44px;height:44px;border-radius:50%;
  background:var(--bg);border:1.5px solid var(--mint);color:var(--navy);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;
}
.step h3{font-size:18px;margin-bottom:6px;}
.step p{color:var(--grey);font-size:15px;margin:0;}

/* STRUCTURE TABLE */
table.structure{width:100%;border-collapse:collapse;margin-top:8px;}
table.structure th{
  background:var(--navy-2);color:#fff;text-align:left;padding:12px 16px;font-size:13px;
  text-transform:uppercase;letter-spacing:0.5px;
}
table.structure td{padding:16px;border-bottom:1px solid var(--border);font-size:15px;vertical-align:top;}
table.structure td:first-child{font-weight:700;color:var(--navy);width:22%;}
table.structure tr:nth-child(even){background:var(--bg);}

/* QUOTE / PROOF BOX */
.box{
  border-radius:8px;padding:28px 32px;font-size:15px;
}
.box.mint{background:#EAF9F2;border:1px solid #A8E8CB;color:#1A3D2E;}
.box.navy{background:var(--navy);color:#D7E2F5;}

/* TEAM */
.teamcard{display:flex;gap:36px;align-items:flex-start;}
.teamcard .avatar{
  flex:0 0 auto;width:140px;height:140px;border-radius:50%;
  background:var(--navy);color:var(--mint);display:flex;align-items:center;justify-content:center;
  font-family:Georgia,serif;font-size:42px;font-weight:700;
}
.teamcard h2{margin-bottom:4px;}
.teamcard .role{color:var(--navy-2);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:18px;}
.teamcard p{color:var(--grey);font-size:15px;}

/* FORM */
.formcard{
  background:#fff;border:1px solid var(--border);border-radius:8px;padding:40px;
  max-width:640px;margin:0 auto;
}
.formrow{margin-bottom:20px;}
.formrow label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:8px;text-transform:uppercase;letter-spacing:0.4px;}
.formrow input, .formrow select, .formrow textarea{
  width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:5px;
  font-size:15px;font-family:inherit;color:var(--dkgrey);background:#fbfcfe;
}
.formrow textarea{resize:vertical;min-height:110px;}
.formrow input:focus, .formrow select:focus, .formrow textarea:focus{outline:2px solid var(--mint);border-color:var(--mint);}
.formnote{font-size:13px;color:var(--grey);margin-top:18px;}

/* FOOTER */
footer{background:var(--navy);color:#B9C6E3;padding:50px 0 30px;}
footer .foot-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;margin-bottom:34px;}
footer .foot-top img{height:40px;margin-bottom:10px;}
footer .foot-top p{font-size:13px;color:#8FA1C4;max-width:340px;margin:0;}
footer nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 26px;margin:0;padding:0;}
footer nav ul a{font-size:13px;color:#D7E2F5;}
footer nav ul a:hover{color:var(--mint);}
footer .legal{
  border-top:1px solid rgba(255,255,255,0.12);padding-top:22px;font-size:12px;color:#7488AD;line-height:1.7;
}

/* RESPONSIVE */
@media (max-width:860px){
  .nav .wrap{height:64px;}
  .nav .logo img{height:34px;}
  .navtoggle{display:flex;}
  .nav > .wrap > .cta{display:none;}
  .nav ul{
    display:none;
    position:absolute;top:64px;left:0;right:0;
    flex-direction:column;gap:0;margin:0;padding:8px 24px 18px;
    background:#fff;border-bottom:1px solid var(--border);
    box-shadow:0 12px 24px rgba(15,23,42,0.10);
    max-height:calc(100vh - 64px);overflow-y:auto;
  }
  .nav.open ul{display:flex;}
  .nav ul li{width:100%;}
  .nav ul li a{display:block;padding:14px 2px;border-bottom:1px solid var(--border);}
  .nav ul li:last-of-type a{border-bottom:none;}
  .nav ul .mobile-cta{display:block;margin-top:10px;}
  .nav ul .mobile-cta a{
    display:block;text-align:center;background:var(--navy);color:#fff;
    padding:13px;border-radius:4px;font-weight:700;font-size:14px;border-bottom:none;
  }

  .hero{padding:48px 0 40px;}
  .hero h1{font-size:30px;}
  .hero p{font-size:16px;}
  .pagehead{padding:52px 0 40px;}
  .pagehead h1{font-size:30px;}
  section{padding:52px 0;}
  .section-title h2{font-size:26px;}

  .grid3{grid-template-columns:1fr;}
  .grid2{grid-template-columns:1fr;}
  .photogrid{grid-template-columns:repeat(2,1fr);}
  .assetgrid{grid-template-columns:repeat(2,1fr);}
  .statstrip .grid4{grid-template-columns:repeat(2,1fr);}
  .teamcard{flex-direction:column;align-items:center;text-align:center;}
  .teamcard > div:last-child{text-align:left;width:100%;}
  footer .foot-top{flex-direction:column;}

  table.structure, table.structure tr, table.structure th, table.structure td{display:block;}
  table.structure tr:first-child{display:none;}
  table.structure tr{margin-bottom:16px;border:1px solid var(--border);border-radius:8px;overflow:hidden;}
  table.structure tr:nth-child(even){background:none;}
  table.structure td{border-bottom:1px solid var(--border);padding:12px 16px;}
  table.structure td:last-child{border-bottom:none;}
  table.structure td:first-child{background:var(--bg);}
  table.structure td:nth-child(2):before{content:"Profile";display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.5px;color:var(--grey);font-weight:700;margin-bottom:4px;}
  table.structure td:nth-child(3):before{content:"How It Typically Works";display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.5px;color:var(--grey);font-weight:700;margin-bottom:4px;}
}

@media (max-width:480px){
  .wrap{padding:0 20px;}
  .hero h1{font-size:26px;}
  .hero .btn{display:block;width:100%;text-align:center;margin:0 0 12px 0;}
  .hero .btn.outline{margin-left:0;}
  .assetgrid{grid-template-columns:1fr;}
  .photogrid{grid-template-columns:1fr;}
  .formcard{padding:24px;}
  .teamcard .avatar{width:110px;height:110px;font-size:34px;}
}
