:root{
  --navy:#061827; --navy2:#0b263b; --ink:#102132; --gold:#c9a15a;
  --gold2:#e0bd78; --white:#f7f5ef; --muted:#aeb9c4; --line:rgba(255,255,255,.14);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:var(--white);font-family:Inter,Arial,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}
nav{position:absolute;top:0;left:0;right:0;z-index:10;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{display:flex;align-items:center;gap:12px}.mark{width:50px;height:50px;display:grid;place-items:center;overflow:hidden}.mark img{width:100%;height:100%;object-fit:contain;display:block}
.brand{font-family:Georgia,serif;font-size:21px;letter-spacing:1.4px;line-height:1.05}.brand small{display:block;font:10px Inter,Arial;letter-spacing:3px;color:var(--gold);margin-top:6px}
.links{display:flex;gap:30px;font-size:12px;letter-spacing:1.3px;text-transform:uppercase}.links a{opacity:.9}.links a:hover{color:var(--gold2)}
.cta{border:1px solid var(--gold);padding:12px 18px;font-size:11px;letter-spacing:1.3px;text-transform:uppercase}
.hero{min-height:760px;display:flex;align-items:center;position:relative;overflow:hidden;background:
linear-gradient(90deg,rgba(4,18,29,.98) 0%,rgba(4,18,29,.82) 42%,rgba(4,18,29,.35) 100%),
radial-gradient(circle at 78% 48%,rgba(31,83,113,.55),transparent 35%),
linear-gradient(145deg,#071a2a,#0b344c 60%,#061522)}

.hero-content{position:relative;z-index:2;max-width:700px;padding-top:70px}
.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold2);text-transform:uppercase;margin-bottom:20px}
h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08}
h1{font-size:clamp(54px,7vw,92px);margin:0 0 24px}.italic{font-style:italic;color:var(--gold2)}
.hero p{max-width:620px;font-size:18px;color:#d8e0e6;margin:0 0 34px}
.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{padding:15px 23px;text-transform:uppercase;letter-spacing:1.3px;font-size:11px;border:1px solid var(--gold)}
.btn.primary{background:var(--gold);color:#071725}.btn.secondary{border-color:rgba(255,255,255,.5)}
.hero-meta{display:flex;gap:28px;margin-top:70px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#d7dfe5}
.hero-meta span:before{content:"◆";color:var(--gold);margin-right:8px;font-size:7px}
.section{padding:100px 0}.dark{background:var(--navy)}.lighter{background:#0b2234}
.section-head{text-align:center;max-width:760px;margin:0 auto 52px}.section-head h2{font-size:44px;margin:8px 0 15px}.section-head p{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.combined-grid{grid-template-columns:repeat(3,1fr)}
.card{border:1px solid var(--line);padding:32px 27px;min-height:285px;background:rgba(255,255,255,.015);transition:.25s}
.card:hover{transform:translateY(-5px);border-color:rgba(201,161,90,.6);background:rgba(255,255,255,.035)}
.icon{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);margin-bottom:28px}
.card h3{font-size:24px;margin:0 0 14px}.card p{color:#b8c3cc;font-size:14px}.arrow{color:var(--gold);font-size:20px;margin-top:18px}
.stats{background:#f5f2ea;color:var(--ink);padding:60px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.stat{padding:0 24px;border-right:1px solid #d7d2c8}.stat:last-child{border:0}.number{font:48px Georgia,serif}.label{font-size:10px;letter-spacing:2px;text-transform:uppercase;margin-top:7px}.stat p{font-size:13px;color:#5d6871}
.about{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.about-copy{padding:90px 8vw 80px 0;align-self:center}.about-copy h2{font-size:52px;margin:5px 0 22px}.about-copy p{color:#bac6ce;max-width:560px}.about-visual{min-height:560px;background:
linear-gradient(145deg,rgba(7,30,45,.35),rgba(3,14,23,.2)),
radial-gradient(ellipse at 50% 40%,#2c5d73 0%,#0b2a3d 45%,#051420 75%);position:relative;overflow:hidden}
.about-visual:before{content:"";position:absolute;width:70%;height:135%;left:15%;top:-12%;background:linear-gradient(150deg,rgba(255,255,255,.11),transparent 45%);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%)}
.about-visual:after{content:"SOUTHPORT";position:absolute;bottom:28px;left:30px;font:11px Inter;letter-spacing:5px;color:rgba(255,255,255,.45)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.list{border-top:1px solid var(--line)}.list-item{padding:22px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.list-item strong{font-family:Georgia,serif;font-size:22px;font-weight:400}.list-item span{color:var(--gold)}
.banner{padding:90px 0;background:linear-gradient(100deg,#071b2c,#102f43)}.banner-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.banner h2{font-size:48px;margin:0}.banner p{color:#bac6ce;max-width:650px}
footer{padding:60px 0 28px;background:#04121e;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:45px}.footer-brand p{color:#82909b;max-width:380px}.footer-links{display:flex;gap:55px}.footer-links div{display:flex;flex-direction:column;gap:10px;font-size:12px;color:#9daab4}.footer-links strong{color:white;text-transform:uppercase;letter-spacing:1.5px;font-size:10px;margin-bottom:7px}.copyright{border-top:1px solid var(--line);padding-top:22px;color:#667581;font-size:11px;display:flex;justify-content:space-between}
@media(max-width:900px){.links{display:none}.grid,.combined-grid{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:1fr 1fr;gap:30px}.stat:nth-child(2){border:0}.about{grid-template-columns:1fr}.about-copy{padding:70px 0}.two-col{grid-template-columns:1fr}.banner-inner{flex-direction:column;align-items:flex-start}.footer-top{flex-direction:column}.hero{min-height:720px}}
@media(max-width:560px){.grid,.stats-grid{grid-template-columns:1fr}.stat{border:0;border-bottom:1px solid #d7d2c8;padding-bottom:25px}.hero-meta{flex-direction:column;gap:10px}.hero{min-height:800px}h1{font-size:52px}.section-head h2,.banner h2{font-size:38px}}

.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.12) brightness(.72);z-index:0}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,18,29,.88),rgba(4,18,29,.62) 45%,rgba(4,18,29,.25)),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.2));pointer-events:none}
.hero-content{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

#about .about-copy{max-width:none;width:100%}
#about .about-copy p{max-width:none;width:100%}
#about .about-copy h2{max-width:none}


#about .about-copy{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);column-gap:64px;align-items:start}
#about .about-copy .about-right{grid-column:2;grid-row:1 / span 3;margin-top:42px}
#about .about-copy .about-right p{max-width:520px;margin-left:auto;font-size:1.08rem;line-height:1.75}
@media(max-width:900px){
  #about .about-copy{display:block}
  #about .about-copy .about-right{margin-top:28px}
  #about .about-copy .about-right p{max-width:none;margin-left:0}
}

#about .about-copy{display:block!important;width:100%;max-width:1100px!important;margin:auto;text-align:center}
#about .about-copy h2,#about .about-copy p,#about .about-copy .eyebrow,#about .about-copy .about-right,#about .about-copy .about-right p{text-align:center!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
#about .about-copy .about-right{margin-top:28px!important}

#about .about{grid-template-columns:1fr!important;min-height:auto!important}
#about .about-copy{display:block!important;max-width:1100px!important;margin:0 auto!important;padding:90px 0!important;text-align:center!important}
#about .about-copy h2{font-size:48px;margin:10px auto 22px!important;text-align:center!important}
#about .about-copy p{max-width:980px!important;margin:0 auto 22px!important;text-align:center!important;color:#bac6ce}


#about{min-height:0!important;padding:0!important}
#about .about{min-height:0!important;padding:0!important;margin:0 auto!important}
#about .about-copy{padding:56px 0!important;margin:0 auto!important}
#about .about-copy h2:first-of-type{margin-top:6px!important}
#about .about-copy p:last-child{margin-bottom:0!important}


#about .about-principle{max-width:980px!important;margin:0 auto 42px!important;font-size:inherit!important;line-height:inherit!important;text-align:center!important}


.phased{background:#0a2131}
.phase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.phase-card{border-top:1px solid rgba(201,161,90,.65);padding:24px 8px 12px}
.phase-card>span{display:block;color:var(--gold);font-size:.8rem;letter-spacing:.18em;margin-bottom:22px}
.phase-card h3{font-size:1.45rem;margin:0 0 14px}
.phase-card p{margin:0;line-height:1.7;color:#bac6ce}
@media(max-width:900px){.phase-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.phase-grid{grid-template-columns:1fr}}


.phase-card .warm-divider{color:#f3eee4;font-weight:400}


/* Slightly stronger Phased Approach presence */
.phased{padding-top:86px!important;padding-bottom:86px!important}
.phased .section-head .eyebrow{font-size:.82rem;letter-spacing:.22em}
.phase-grid{gap:24px!important;margin-top:46px!important}
.phase-card{padding:30px 12px 18px!important;border-top-width:2px!important}
.phase-card>span{font-size:.88rem!important;margin-bottom:24px!important}
.phase-card h3{font-size:1.62rem!important;letter-spacing:.01em;margin-bottom:16px!important}
.phase-card p{font-size:1.02rem;line-height:1.72}


/* Equalize Client Focused Risk Management capability cards */
.combined-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch}
.combined-grid .card{height:100%;min-height:260px;display:flex;flex-direction:column}
.combined-grid .card .arrow{margin-top:auto}
@media(max-width:900px){.combined-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.combined-grid{grid-template-columns:1fr!important}.combined-grid .card{min-height:0}}


/* Uniform Client Focused Risk Management cards */
.combined-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  align-items:stretch!important;
}
.combined-grid > .card{
  width:100%!important;
  height:100%!important;
  min-height:280px!important;
  display:flex!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
}
.combined-grid > .card .arrow{margin-top:auto!important}
@media(max-width:900px){
  .combined-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .combined-grid{grid-template-columns:1fr!important}
  .combined-grid > .card{min-height:280px!important}
}


#global-offerings .list-item,
.list .list-item{display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box}
.list .list-item strong{display:block;margin:0}


.client-focus-support{max-width:760px;margin:14px auto 0;color:#aeb9c4;font-size:15px;line-height:1.7;text-align:center}
.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:1fr!important}
.capability-grid .capability-card{min-height:280px!important;height:100%!important;display:flex!important;flex-direction:column!important}
.capability-arrow{margin-top:auto!important;border:0;background:transparent;color:var(--gold);font-size:21px;padding:8px 0 0;cursor:pointer;text-align:left;transition:transform .22s ease,color .22s ease}
.capability-arrow:hover{transform:translateX(6px);color:#e0bd78}
.capability-overlay{position:fixed;inset:0;background:rgba(2,10,17,.54);backdrop-filter:blur(2px);z-index:9998;opacity:0;transition:opacity .28s ease}
.capability-overlay.show{opacity:1}
.capability-panel{position:fixed;top:0;right:0;height:100vh;width:min(500px,94vw);z-index:9999;background:linear-gradient(180deg,#0a2030 0%,#071824 100%);color:#f3eee4;border-left:1px solid rgba(201,161,90,.38);box-shadow:-28px 0 70px rgba(0,0,0,.36);padding:72px 46px 42px;overflow-y:auto;transform:translateX(102%);transition:transform .34s cubic-bezier(.22,.75,.3,1)}
.capability-panel.open{transform:translateX(0)}
.capability-close{position:absolute;top:20px;right:24px;border:0;background:transparent;color:#f3eee4;font-size:34px;cursor:pointer}
.panel-brand{font-size:9px;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.panel-card-shell{border-top:1px solid rgba(201,161,90,.75);border-bottom:1px solid rgba(255,255,255,.12);padding:26px 0 28px;margin-bottom:26px}
.panel-card-shell h3{font-size:31px;margin:0 0 14px;color:#f3eee4}
.panel-card-shell p{font-size:15px;line-height:1.75;color:#c9d1d6;margin:0}
.panel-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:26px 0 10px}
.panel-list{border-top:1px solid rgba(255,255,255,.12)}
.panel-list div{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:14px;color:#e6eaec}
.panel-contact{display:inline-block;margin-top:32px;border:1px solid rgba(201,161,90,.82);padding:13px 17px;color:#f3eee4;text-transform:uppercase;letter-spacing:1.25px;font-size:10px}
.logo .mark{background:transparent!important;border:0!important;box-shadow:none!important}
.logo .mark img{background:transparent!important;mix-blend-mode:screen;filter:brightness(1.04) contrast(.96)}
body.capability-panel-open{overflow:hidden}
@media(max-width:900px){.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.capability-grid{grid-template-columns:1fr!important}.capability-panel{padding:64px 28px 36px}}


.section-role{margin:8px 0 22px;font-size:11px;line-height:1.5;letter-spacing:1.5px;text-transform:uppercase;color:#aeb9c4}
.section-head .section-role{text-align:center}
#about .section-role{text-align:center}


/* Refined heading hierarchy — warm institutional + subdued bronze */
:root{
  --heading-ivory:#C9C6BD;
  --heading-bronze:#A99A7D;
}

/* Primary conceptual / section headings */
#services h2,
#global-offerings h2,
#contact h2{
  color:var(--heading-ivory)!important;
  font-family:Inter, Arial, Helvetica, sans-serif!important;
  font-weight:300!important;
  letter-spacing:.035em!important;
}

/* About Southport concept headings */
#about h3{
  color:var(--heading-bronze)!important;
  font-family:Inter, Arial, Helvetica, sans-serif!important;
  font-weight:400!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}

/* Observe / Anticipate / Decide / Act */
#approach h3{
  color:var(--heading-bronze)!important;
  font-family:Inter, Arial, Helvetica, sans-serif!important;
  font-weight:500!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

/* Clarity Matters may be rendered as a large heading in the contact section */
#contact .big,
#contact h1,
#contact h2,
#contact h3{
  color:var(--heading-ivory)!important;
  font-family:Inter, Arial, Helvetica, sans-serif!important;
  font-weight:300!important;
  letter-spacing:.035em!important;
}


.concept-heading{
  color:var(--heading-bronze)!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-weight:400!important;
  letter-spacing:.11em!important;
}
