/*
Theme Name: JLRMC
Theme URI: https://jlrmc.com
Description: A focused, editorial child theme for JLR Maritime Consultants.
Author: JLRMC
Template: blankslate
Version: 1.0.0
Text Domain: jlrmc
*/

:root { --ink:#0a1b3a; --navy:#071634; --ocean:#087ff0; --aqua:#bce2ff; --mist:#edf6fc; --sand:#f7f5ef; --white:#fff; --line:rgba(10,27,58,.14); --display:"Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif; --body:"Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font:16px/1.6 var(--body); }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
.screen-reader-text { position:absolute!important; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.site-shell { overflow:hidden; }
.wrap { width:min(1200px, calc(100% - 48px)); margin:0 auto; }
.eyebrow { display:flex; align-items:center; gap:11px; margin:0 0 18px; color:var(--ocean); font-size:11px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow:before { content:""; display:block; width:28px; height:1px; background:currentColor; }
.button { display:inline-flex; align-items:center; gap:16px; padding:14px 20px; border:1px solid var(--navy); border-radius:100px; background:var(--navy); color:#fff; font-size:12px; font-weight:750; letter-spacing:.06em; text-transform:uppercase; transition:transform .2s,background .2s; }
.button:after { content:"↗"; font-size:16px; line-height:0; }
.button:hover { transform:translateY(-2px); background:var(--ocean); }
.button--light { background:#fff; border-color:#fff; color:var(--navy); }
.button--line { background:transparent; color:var(--navy); }
.site-header { position:absolute; z-index:10; inset:0 0 auto; padding:24px 0; color:#fff; }
.site-header.is-solid { position:relative; background:var(--navy); }
.nav { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:800; letter-spacing:.05em; }
.brand img { width:32px; height:32px; object-fit:contain; }
.brand-text { display:grid; line-height:1.05; }
.brand-text small { font-size:8px; font-weight:600; letter-spacing:.17em; opacity:.72; }
.menu { display:flex; align-items:center; gap:29px; margin:0; padding:0; list-style:none; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.menu a:hover { color:var(--aqua); }
.nav-cta { padding:10px 16px; background:#fff; color:var(--navy); border-radius:100px; font-size:11px; font-weight:800; }
.menu-toggle { display:none; border:0; background:transparent; color:#fff; font:700 12px var(--body); text-transform:uppercase; letter-spacing:.1em; }
.hero { position:relative; min-height:760px; display:flex; align-items:end; padding:150px 0 94px; color:#fff; background:var(--navy); }
.hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,17,27,.88) 0%,rgba(4,17,27,.48) 48%,rgba(4,17,27,.18) 100%); z-index:1; }
.hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.76; }
.hero-content { position:relative; z-index:2; max-width:720px; }
.hero h1,.display { margin:0; font:800 clamp(45px,6.1vw,84px)/.94 var(--display); letter-spacing:-.058em; text-wrap:balance; }
.hero-copy { width:min(485px,100%); margin:27px 0 32px; font-size:18px; line-height:1.5; }
.signal-bar { position:absolute; z-index:3; right:0; bottom:0; left:0; padding:17px 0; background:#d6b33c; color:var(--navy); }
.signal-bar .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:12px; font-weight:750; }
.signal-bar .button { padding:9px 15px; color:var(--navy); }
.section { padding:120px 0; }
.split { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(330px,1fr); gap:clamp(48px,9vw,140px); align-items:center; }
.image-frame { position:relative; }
.image-frame:after { content:""; position:absolute; z-index:-1; inset:30px -30px -30px 30px; border:1px solid var(--aqua); }
.image-frame img { aspect-ratio:4/5; width:100%; object-fit:cover; }
.section h2 { margin:0; font:800 clamp(34px,4.1vw,58px)/.99 var(--display); letter-spacing:-.05em; text-wrap:balance; }
.section .lead { max-width:590px; margin:23px 0 29px; color:#4c5d66; font-size:16px; }
.capabilities { background:var(--mist); }
.section-heading { max-width:760px; margin:0 auto 56px; text-align:center; }
.section-heading .eyebrow { justify-content:center; }
.section-heading .eyebrow:after { content:""; display:block; width:28px; height:1px; background:currentColor; }
.capability-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.capability { min-height:160px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; background:#fff; border-radius:3px; }
.capability b { color:#80939a; font-size:11px; letter-spacing:.08em; }
.capability h3 { max-width:170px; margin:25px 0 0; font:750 20px/1.05 var(--display); letter-spacing:-.03em; }
.statement { background:var(--navy); color:#fff; }
.statement-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:65px; align-items:end; }
.statement p { margin:0 0 27px; color:#c9d8db; }
.statement-media { grid-column:1/-1; margin-top:8px; }
.statement-media img { width:100%; height:min(37vw,500px); object-fit:cover; }
.connect { padding:110px 0; background:var(--sand); }
.connect-box { max-width:1040px; padding:clamp(34px,5vw,64px); margin:auto; background:#fff; }
.connect-top { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:42px; }
.connect-top h2 { max-width:430px; }
.connect-cards { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.connect-card { padding:30px; border:1px solid var(--line); min-height:220px; }
.connect-card--dark { background:var(--navy); color:#fff; border-color:var(--navy); }
.connect-card small { display:block; margin-bottom:31px; color:#78929c; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.connect-card--dark small { color:var(--aqua); }
.connect-card h3 { margin:0 0 13px; font:700 31px/1 var(--display); letter-spacing:-.04em; }
.connect-card p { margin:0 0 20px; font-size:14px; color:#53656e; }
.connect-card--dark p { color:#d6e0e1; }
.connect-card .button { padding:10px 15px; font-size:10px; }
.founder { background:var(--mist); }
.founder-card { display:grid; grid-template-columns:255px 1fr; max-width:970px; margin:auto; background:#fff; }
.founder-card img { width:100%; height:100%; min-height:330px; object-fit:cover; }
.founder-copy { padding:50px; }
.founder-copy h2 { color:var(--ocean); font-size:48px; }
.founder-copy .role { margin:11px 0 24px; font-size:13px; font-weight:700; }
.founder-copy p { color:#53656e; }
.journal-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:44px; }
.journal-heading p { max-width:500px; margin:0; color:#53656e; }
.post-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:25px; }
.post-card img { width:100%; aspect-ratio:1.65; object-fit:cover; margin-bottom:18px; }
.post-card .post-meta { color:#6b7d84; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.post-card h3 { max-width:500px; margin:7px 0 0; font:700 29px/1.05 var(--display); letter-spacing:-.04em; }
.site-footer { padding:54px 0 28px; background:#071721; color:#fff; }
.footer-main { display:flex; justify-content:space-between; gap:40px; align-items:start; padding-bottom:58px; }
.footer-main p { max-width:285px; margin:18px 0 0; color:#9eafb5; font-size:13px; }
.footer-links { display:flex; gap:30px; color:#dce4e5; font-size:12px; font-weight:700; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:20px; border-top:1px solid rgba(255,255,255,.15); color:#8fa0a6; font-size:11px; }
.page-content { padding:150px 0 100px; }
.page-content h1 { font:800 clamp(42px,5vw,68px)/1 var(--display); letter-spacing:-.05em; }
.page-content .entry-content { max-width:780px; font-size:18px; }
.article-page { background:#fff; }
.article-header { padding:94px 0 68px; background:#f2f7fb; border-bottom:1px solid #dbe6ee; }
.article-header__inner { max-width:1040px; }
.article-back { display:inline-flex; margin-bottom:55px; color:var(--ocean); font-size:12px; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.article-header .eyebrow { margin-bottom:19px; }
.article-header h1 { max-width:1010px; margin:0; color:var(--ink); font:700 clamp(44px,5.8vw,80px)/1 var(--display); letter-spacing:-.065em; text-wrap:balance; }
.article-byline { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:30px; color:#526a7f; font-size:14px; }
.article-feature { max-width:1340px; margin-top:55px; margin-bottom:84px; }
.article-feature img { width:100%; max-height:690px; object-fit:cover; }
.article-layout { display:grid; grid-template-columns:120px minmax(0,760px); gap:48px; max-width:1040px; padding-bottom:105px; }
.article-rail { padding-top:8px; color:var(--ocean); font-size:10px; font-weight:800; letter-spacing:.13em; line-height:1.6; text-transform:uppercase; }
.article-rail:before { content:""; display:block; width:30px; height:2px; margin-bottom:14px; background:var(--ocean); }
.article-content { color:#273c50; font-size:19px; line-height:1.75; }
.article-content > *:first-child { margin-top:0; font-size:22px; line-height:1.58; color:var(--ink); }
.article-content p { margin:0 0 1.55em; }
.article-content h2,.article-content h3 { margin:2em 0 .6em; color:var(--ink); font-family:var(--display); font-weight:700; letter-spacing:-.045em; line-height:1.08; }
.article-content h2 { font-size:38px; }
.article-content h3 { font-size:28px; }
.article-content strong { color:var(--ink); }
.article-content a { color:var(--ocean); text-decoration:underline; text-underline-offset:3px; }
.article-content ul,.article-content ol { margin:0 0 1.7em; padding-left:1.25em; }
.article-content li { margin:.45em 0; padding-left:.3em; }
.article-content blockquote { margin:2em 0; padding:8px 0 8px 28px; border-left:3px solid var(--ocean); color:var(--ink); font:600 27px/1.3 var(--display); letter-spacing:-.03em; }
.article-content figure { margin:2.5em 0; }
.article-content figcaption { margin-top:10px; color:#6b7c8c; font-size:12px; }
.article-footer { display:flex; align-items:end; justify-content:space-between; gap:45px; padding:52px 0 70px; border-top:1px solid #dbe6ee; }
.article-footer h2 { max-width:410px; margin:0; font:700 34px/1.02 var(--display); letter-spacing:-.05em; }
.article-nav { display:flex; flex-direction:column; align-items:end; gap:14px; font-size:13px; font-weight:750; }
.article-nav a { color:var(--ocean); }
@media (max-width:780px) { .wrap { width:min(100% - 36px,1200px); } .site-header { padding:18px 0; } .menu-toggle { display:block; } .menu { display:none; position:absolute; top:75px; right:18px; left:18px; padding:22px; align-items:start; flex-direction:column; background:var(--navy); } .menu.is-open { display:flex; } .hero { min-height:680px; padding-bottom:106px; } .hero h1 { font-size:50px; } .hero-copy { font-size:16px; } .signal-bar .wrap { font-size:10px; } .signal-bar .button { font-size:9px; } .section,.connect { padding:76px 0; } .split,.statement-grid { grid-template-columns:1fr; gap:40px; } .image-frame { width:min(100%,470px); } .capability-grid { grid-template-columns:repeat(2,1fr); } .capability { min-height:135px; padding:17px; } .capability h3 { font-size:17px; } .connect-top,.journal-heading { align-items:start; flex-direction:column; gap:18px; } .connect-cards,.post-grid,.founder-card { grid-template-columns:1fr; } .founder-card img { max-height:330px; } .founder-copy { padding:32px; } .footer-main,.footer-bottom { flex-direction:column; gap:25px; } }
@media (max-width:430px) { .capability-grid { grid-template-columns:1fr; } .hero h1 { font-size:43px; } }

/* Brand-led visual refresh */
body { background:#fbfcfe; letter-spacing:-.01em; }
.wrap { width:min(1240px, calc(100% - 64px)); }
.eyebrow { color:var(--ocean); font-size:10px; letter-spacing:.16em; }
.button { border-color:var(--ocean); background:var(--ocean); box-shadow:0 7px 18px rgba(8,127,240,.17); }
.button:hover { background:#0568c8; box-shadow:0 10px 25px rgba(8,127,240,.28); }
.button--line { border-color:var(--ink); box-shadow:none; }
.site-header { min-height:100px; padding:30px 0; color:#fff; background:rgba(7,22,52,.98); }
.site-header.is-solid { background:var(--navy); }
.nav { min-height:40px; }
.brand { color:#fff; gap:13px; }
.brand img { width:39px; height:39px; filter:none; }
.brand-text { font-size:16px; letter-spacing:.08em; }
.brand-text small { color:#d9e8ff; }
.menu { gap:37px; font-size:11px; }
.menu a:hover { color:var(--aqua); }
.nav-cta { padding:13px 21px; color:var(--navy); background:#fff; box-shadow:none; }
.hero { min-height:790px; padding:210px 0 110px; align-items:center; overflow:hidden; color:#fff; background:linear-gradient(120deg,#0a86f7 0%,#087ff0 54%,#075fbe 100%); }
.hero:before { z-index:0; right:auto; width:66%; background:radial-gradient(circle at 14% 80%,rgba(188,226,255,.42),transparent 31%),linear-gradient(135deg,rgba(7,22,52,.15),transparent 62%); }
.hero:after { content:""; position:absolute; z-index:1; left:0; bottom:0; width:100%; height:10px; background:var(--navy); }
.hero-media { left:auto; width:47%; opacity:.66; object-position:center; clip-path:polygon(17% 0,100% 0,100% 100%,0 100%); filter:grayscale(.48) saturate(.7) contrast(1.16) brightness(.72); }
.hero-content { width:min(100%, 535px); max-width:535px; margin:0 0 0 max(32px, calc((100vw - 1240px) / 2)); }
.hero .eyebrow { margin-bottom:26px; color:var(--aqua); }
.hero h1,.display { font-weight:700; font-size:clamp(49px,5.3vw,76px); line-height:.99; letter-spacing:-.065em; }
.hero-copy { max-width:448px; color:#fff; font-size:18px; }
.hero .button--light { color:var(--navy); border-color:#fff; box-shadow:0 9px 24px rgba(5,30,70,.22); }
.signal-bar { padding:21px 0; background:var(--navy); color:#fff; }
.signal-bar .wrap { font-size:14px; font-weight:650; letter-spacing:.01em; }
.signal-bar .button { padding:12px 19px; border-color:var(--ocean); background:var(--ocean); color:#fff; font-size:11px; box-shadow:none; }
.signal-bar .button:hover { background:#0c91ff; }
.section { padding:138px 0; }
#advisory { background:#fff; }
#advisory .split { grid-template-columns:1fr .92fr; gap:clamp(60px,10vw,150px); }
#advisory .image-frame { order:2; }
.image-frame:after { inset:22px 22px -22px -22px; border-color:var(--ocean); }
.image-frame img { aspect-ratio:5/6; border-radius:1px; }
.section h2 { font-weight:700; letter-spacing:-.06em; }
.section .lead { color:#50677c; }
.capabilities { position:relative; background:var(--navy); color:#fff; overflow:hidden; }
.capabilities:before { content:""; position:absolute; width:43vw; height:43vw; right:-18vw; top:-26vw; border:1px solid rgba(188,226,255,.24); border-radius:50%; }
.section-heading { position:relative; max-width:680px; text-align:left; margin:0 0 54px; }
.section-heading .eyebrow { justify-content:start; color:var(--aqua); }
.section-heading .eyebrow:after { display:none; }
.capability-intro { position:relative; max-width:810px; margin:0 0 52px; padding:26px 0 0 31px; border-left:2px solid var(--ocean); color:#e8f3ff; }
.capability-intro p { max-width:760px; margin:0; font-size:17px; line-height:1.58; }
.capability-intro .capability-disclaimer { margin-top:14px; color:#aecded; font-size:12px; line-height:1.55; }
.capability-disclaimer a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.capability-grid { position:relative; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(188,226,255,.26); border:1px solid rgba(188,226,255,.26); }
.capability { min-height:180px; padding:25px; background:var(--navy); border-radius:0; transition:background .2s; }
.capability:hover { background:#0d2d4a; }
.capability b { color:var(--aqua); }
.capability h3 { color:#fff; font-size:19px; }
.capabilities + .section { background:#fff; }
.capabilities + .section .split { grid-template-columns:.82fr 1fr; }
.statement { background:var(--ocean); color:#fff; }
.statement-grid { grid-template-columns:1.15fr .85fr; gap:80px; }
.statement p { color:#e9f5ff; font-size:17px; }
.statement .button { color:var(--ocean); }
.statement-media { margin-top:22px; }
.statement-media img { height:min(34vw,440px); border:9px solid rgba(255,255,255,.18); }
.connect { background:#f5f6f5; }
.connect-box { max-width:none; padding:0; background:transparent; }
.connect-top { align-items:end; margin-bottom:34px; }
.connect-top h2 { max-width:540px; }
.connect-cards { gap:0; max-width:100%; }
.connect-card { min-height:236px; padding:34px; border-color:#d6e0e8; background:#fff; }
.connect-card--dark { background:var(--navy); border-color:var(--navy); }
.connect-card h3 { font-family:var(--display); font-weight:700; }
.founder { background:var(--mist); }
.founder-card { grid-template-columns:345px 1fr; max-width:none; box-shadow:0 20px 45px rgba(7,29,51,.08); }
.founder-card img { min-height:365px; }
.founder-copy { padding:58px 65px; }
.founder-copy h2 { color:var(--ink); }
.journal-heading { border-bottom:1px solid var(--line); padding-bottom:35px; }
.post-grid { grid-template-columns:1.2fr .8fr; gap:48px; }
.post-card img { border-radius:2px; }
.post-card h3 { font-weight:700; }
.site-footer { background:var(--navy); }
.footer-main { padding-bottom:44px; }
@media (max-width:780px) {
  .wrap { width:min(100% - 36px,1240px); }
  .site-header { position:relative; min-height:74px; background:var(--navy); padding:17px 0; }
  .menu-toggle { color:#fff; }
  .menu { background:var(--navy); }
  .hero { min-height:665px; padding:88px 0 92px; align-items:end; }
  .hero:before { width:100%; background:linear-gradient(90deg,rgba(8,127,240,.93),rgba(7,22,52,.52)); }
  .hero:after { width:100%; }
  .hero-media { width:100%; clip-path:none; }
  .hero-content { width:calc(100% - 36px); margin-left:18px; }
  .hero h1 { font-size:49px; }
  .section { padding:82px 0; }
  #advisory .split,.capabilities + .section .split { grid-template-columns:1fr; }
  #advisory .image-frame { order:0; }
  .statement-grid { gap:38px; }
  .founder-card { grid-template-columns:1fr; }
  .founder-copy { padding:36px; }
  .post-grid { grid-template-columns:1fr; gap:34px; }
  .article-header { padding:62px 0 48px; }
  .article-back { margin-bottom:38px; }
  .article-header h1 { font-size:45px; }
  .article-feature { margin-top:30px; margin-bottom:46px; }
  .article-layout { grid-template-columns:1fr; gap:18px; padding-bottom:64px; }
  .article-rail { display:flex; align-items:center; gap:10px; padding:0; }
  .article-rail:before { margin:0; }
  .article-content { font-size:17px; }
  .article-content > *:first-child { font-size:19px; }
  .article-content h2 { font-size:32px; }
  .article-footer { align-items:start; flex-direction:column; gap:28px; padding:42px 0 55px; }
  .article-nav { align-items:start; }
}
