/* ---------- Brand settings (change colors here, they update everywhere) ---------- */
:root{
  --navy:#1B2A4A; --red:#B8232F; --light:#F3F4F7; --line:#DDE1E8;
  --text:#1B2A4A; --body:#3E4A63; --quiet:#555E70; --white:#FFFFFF;
  --serif:'Newsreader',Georgia,serif; --sans:'IBM Plex Sans',system-ui,sans-serif; --mono:'IBM Plex Mono',monospace;
  --pad:96px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--text);font-family:var(--sans);font-size:18px;line-height:1.6}
a{color:var(--navy)} a:hover{color:var(--red)}
img{max-width:100%}
.wrap{max-width:1440px;margin:0 auto}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--navy);margin:0;letter-spacing:-.5px}
p{margin:0}

/* Section label: red rule + red caps */
.label{display:flex;align-items:center;gap:16px;font-size:16px;font-weight:600;letter-spacing:2.5px;color:var(--red);text-transform:uppercase}
.label::before,.rule{content:"";display:block;width:56px;height:3px;background:var(--red);flex-shrink:0}
.tag{font-family:var(--mono);font-size:13px;color:var(--navy);border:1px solid var(--navy);padding:4px 10px;display:inline-block}
.tags{display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;background:var(--navy);color:var(--white);font-weight:600;font-size:17px;padding:18px 28px;border-radius:2px}
.btn:hover{color:var(--white);background:#26395f}
.btn.red{background:var(--red)} .btn.red:hover{background:#9c1d27}
.link{font-weight:600;font-size:17px;text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:4px}
.more{font-weight:600;font-size:17px;text-decoration:none}

/* ---------- Header / menu ---------- */
header{border-bottom:1px solid var(--line);background:var(--white);position:sticky;top:0;z-index:10}
.bar{height:88px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between}
.logo{text-decoration:none;display:flex;flex-direction:column;gap:2px}
.logo .word{display:flex;align-items:flex-start;gap:2px;font-family:var(--serif);font-size:30px;font-weight:600;color:var(--navy);line-height:1;letter-spacing:-.5px}
.logo .sub{font-size:10px;letter-spacing:3px;color:var(--red);font-weight:600}
nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:36px;font-size:15px;font-weight:500}
nav a{text-decoration:none}
nav .btn{font-size:15px;padding:12px 20px}
.menu-toggle{display:none}

/* ---------- Hero ---------- */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px}
.hero-left{background:var(--light);padding:112px 72px 112px var(--pad);display:flex;flex-direction:column;justify-content:center;gap:32px}
.hero h1{font-size:80px;line-height:1.02;letter-spacing:-2px}
.hero-left p{font-size:21px;color:var(--body);max-width:540px}
.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:8px}
.hero-right{background:var(--navy);padding:80px var(--pad) 80px 72px;display:flex;align-items:center}
.download{background:var(--white);padding:48px;display:flex;flex-direction:column;gap:24px;width:100%}
.download .top{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:600;letter-spacing:2px;color:var(--red)}
.download .top span:last-child{font-family:var(--mono);font-weight:500;letter-spacing:0;color:var(--quiet);font-size:13px}
.download h2{font-size:40px;line-height:1.12}
.download p{color:var(--body)}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.checks li{display:flex;gap:14px;align-items:flex-start}
.checks li::before{content:"";width:20px;height:20px;border:2px solid var(--navy);flex-shrink:0;margin-top:4px}

/* ---------- Trust bar ---------- */
.trust{margin:0 var(--pad);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
.trust div{padding:44px 40px;display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--line)}
.trust div:first-child{padding-left:0} .trust div:last-child{border-right:none;padding-right:0}
.trust strong{font-size:16px;font-weight:600;letter-spacing:2px;color:var(--red)}
.trust span{font-size:20px;line-height:1.5}

/* ---------- Generic section ---------- */
.section{padding:112px var(--pad);display:flex;flex-direction:column;gap:48px}
.section.gray{background:var(--light)}
.section h2{font-size:52px;letter-spacing:-1px}
.head{display:flex;flex-direction:column;gap:16px}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}

/* Article cards */
.card{border:1px solid var(--line);display:flex;flex-direction:column}
.cover{height:220px;background:var(--navy);padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.cover .rule{width:48px}
.cover span{font-family:var(--serif);font-size:28px;line-height:1.15;color:var(--white)}
.card-body{padding:24px 28px 28px;display:flex;flex-direction:column;gap:16px}
.card h3{font-size:26px;line-height:1.2} .card h3 a{text-decoration:none}
.card p{font-size:16px;color:var(--body)}
.meta{font-size:14px;color:var(--quiet)}

/* Audience boxes */
.box{background:var(--white);border:1px solid var(--line);padding:44px;display:flex;flex-direction:column;gap:22px}
.box h3{font-size:34px}
.box hr{border:none;border-top:1px solid var(--line);margin:0;width:100%}
.box ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px}

/* Rules band */
.rules{background:var(--navy);color:var(--white);padding:112px var(--pad);display:grid;grid-template-columns:5fr 6fr;gap:96px;align-items:center}
.rules h2{color:var(--white);font-size:60px;line-height:1.05;margin-top:24px}
.rules p{color:#D3D9E4;font-size:19px;margin-top:24px;max-width:460px}
.rule-row{padding:30px 0;border-top:1px solid #3A4A6B;display:flex;gap:28px;align-items:baseline;font-size:20px}
.rule-row:last-of-type{border-bottom:1px solid #3A4A6B}
.rule-row .tag{color:var(--white);border-color:var(--white);font-size:16px;flex-shrink:0}
.note{font-size:14px;color:#AEB8CA;margin-top:18px;display:block}

/* Help boxes */
.help{background:var(--light);border:1px solid var(--line);padding:40px;display:flex;flex-direction:column;gap:18px}
.help .step{font-size:15px;font-weight:600;letter-spacing:2px;color:var(--red)}
.help h3{font-size:34px}
.help p{color:var(--body)}
.help .more{margin-top:auto;padding-top:8px}

/* About */
.about{margin:0 var(--pad);border-top:1px solid var(--line);padding:104px 0;display:grid;grid-template-columns:3fr 8fr;gap:96px;align-items:center}
.photo{aspect-ratio:4/5;background:#E4E7EE;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;color:var(--quiet)}
.about-text{display:flex;flex-direction:column;gap:20px}
.about h2{font-size:48px}
.about p{font-size:20px;color:var(--body);max-width:720px}
.chips{display:flex;gap:12px;flex-wrap:wrap}
.chips span{font-size:15px;border:1px solid var(--line);background:var(--light);padding:7px 14px}

/* Newsletter */
.news{background:var(--light);padding:104px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}
.news h2{font-size:52px;line-height:1.1;margin-top:18px}
.news p{color:var(--body);margin-top:18px}
form{display:flex;flex-direction:column;gap:14px}
label{font-size:15px;font-weight:600}
.field{display:flex}
.field input{flex-grow:1;min-width:0;height:58px;border:1px solid var(--navy);border-right:none;padding:0 18px;font:inherit;font-size:17px;border-radius:0}
.field button{height:58px;padding:0 28px;background:var(--navy);color:var(--white);border:1px solid var(--navy);font:inherit;font-size:17px;font-weight:600;cursor:pointer;border-radius:0}
.small{font-size:14px;color:var(--quiet)}

/* Footer */
footer{background:var(--navy);color:#D3D9E4;padding:72px var(--pad) 48px}
.foot{display:grid;grid-template-columns:5fr 2fr 5fr;gap:24px}
footer .logo .word{color:var(--white)} footer .logo .sub{color:#E7A3A9}
footer p{font-size:16px;margin-top:16px;max-width:400px}
.foot-links{grid-column:3;display:grid;grid-template-columns:1fr 1fr;gap:14px;list-style:none;margin:0;padding:0;font-size:16px}
.foot-links a{color:var(--white);text-decoration:none} .foot-links a:hover{color:#E7A3A9}
.legal{border-top:1px solid #3A4A6B;margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:48px;font-size:14px;color:#AEB8CA}

/* ---------- Tablet ---------- */
@media (max-width:1100px){
  :root{--pad:48px}
  .hero h1{font-size:60px}
  .hero-left{padding:88px 48px}
  .hero-right{padding:64px 48px}
  nav ul{gap:22px}
  .rules,.news,.about{gap:48px}
}

/* ---------- Phone ---------- */
@media (max-width:820px){
  :root{--pad:20px}
  body{font-size:17px}
  .bar{height:72px}
  .logo .word{font-size:26px}
  /* collapse menu into a Menu button */
  .menu-toggle{display:block;background:none;border:1px solid var(--navy);color:var(--navy);font:inherit;font-weight:600;font-size:15px;padding:10px 16px;border-radius:2px;cursor:pointer}
  nav ul{display:none;position:absolute;left:0;right:0;top:72px;background:var(--white);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);padding:8px var(--pad) 20px}
  nav ul.open{display:flex}
  nav li a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
  nav li:last-child a{border-bottom:none;margin-top:12px;text-align:center}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-left{padding:56px var(--pad);gap:24px}
  .hero h1{font-size:44px;letter-spacing:-1px}
  .hero-left p{font-size:18px}
  .hero-right{padding:40px var(--pad)}
  .download{padding:28px}
  .download h2{font-size:30px}
  .trust{grid-template-columns:1fr}
  .trust div{padding:28px 0;border-right:none;border-bottom:1px solid var(--line)}
  .trust div:last-child{border-bottom:none}
  .trust span{font-size:18px}
  .section{padding:64px var(--pad);gap:32px}
  .section h2,.news h2{font-size:36px}
  .grid3,.grid2{grid-template-columns:1fr}
  .box,.help{padding:28px}
  .box h3,.help h3{font-size:28px}
  .rules{grid-template-columns:1fr;padding:64px var(--pad);gap:32px}
  .rules h2{font-size:42px}
  .rule-row{font-size:17px;gap:16px;flex-direction:column}
  .about{grid-template-columns:1fr;padding:64px 0;gap:32px}
  .photo{max-width:260px}
  .about h2{font-size:36px}
  .about p{font-size:18px}
  .news{grid-template-columns:1fr;padding:64px var(--pad);gap:32px}
  .field{flex-direction:column;gap:10px}
  .field input{border-right:1px solid var(--navy)}
  .foot{grid-template-columns:1fr}
  .foot-links{grid-column:auto;margin-top:24px}
  .legal{flex-direction:column;gap:12px}
}

/* ---------- Shared page parts added for inner pages ---------- */
nav a.current{color:var(--red)}
.page-hero{background:var(--light);padding:96px var(--pad) 88px;display:flex;flex-direction:column;gap:24px}
.page-hero h1{font-size:64px;line-height:1.05;letter-spacing:-1.5px;max-width:900px}
.page-hero p{font-size:21px;color:var(--body);max-width:760px}
.prose{max-width:760px;display:flex;flex-direction:column;gap:20px}
.prose p{font-size:19px;color:var(--body)}
.split{display:grid;grid-template-columns:3fr 8fr;gap:96px;align-items:start}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--navy)}
.facts div{padding:24px 24px 24px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.facts dt{font-size:14px;font-weight:600;letter-spacing:2px;color:var(--red)}
.facts dd{margin:0;font-size:18px}
.callout{border-left:3px solid var(--red);background:var(--white);padding:28px 32px;max-width:900px}
.callout strong{display:block;font-family:var(--serif);font-weight:500;font-size:26px;color:var(--navy);margin-bottom:8px}
.callout p{color:var(--body);font-size:17px}
.cta{background:var(--navy);padding:88px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:48px;flex-wrap:wrap}
.cta h2{color:var(--white);font-size:44px}
.cta p{color:#D3D9E4;margin-top:12px;max-width:560px}
.cta .btn{background:var(--white);color:var(--navy)} .cta .btn:hover{background:#E4E7EE;color:var(--navy)}
.cta .link{color:var(--white);border-color:#E7A3A9}
@media (max-width:820px){
  .page-hero{padding:56px var(--pad)} .page-hero h1{font-size:40px;letter-spacing:-1px} .page-hero p{font-size:18px}
  .prose p{font-size:17px}
  .split{grid-template-columns:1fr;gap:32px}
  .facts{grid-template-columns:1fr}
  .callout{padding:24px}
  .cta{padding:56px var(--pad)} .cta h2{font-size:32px}
}
.prose h2{font-size:42px;line-height:1.15;margin-bottom:8px}
@media (max-width:820px){.prose h2{font-size:30px}}

/* ---------- Work with us page ---------- */
.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.stop{font-size:18px;color:var(--body);border-top:1px solid var(--line);padding-top:24px}
.stop strong{color:var(--navy)}
.deliver{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--navy)}
.deliver li{padding:24px 32px 24px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.deliver li strong{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy)}
.deliver li span{color:var(--body);font-size:17px}
.faq{max-width:900px;border-top:2px solid var(--navy)}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:24px;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:24px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-family:var(--sans);font-weight:600}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:12px;color:var(--body);max-width:760px}
@media (max-width:820px){
  .grid4,.deliver{grid-template-columns:1fr}
  .deliver li strong{font-size:21px}
  .faq summary{font-size:20px}
}
.section h2,.news h2,.cta h2,.about h2{line-height:1.15}

/* ---------- CLE & Speaking page ---------- */
.talk{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--red);padding:48px;display:grid;grid-template-columns:3fr 2fr;gap:56px}
.talk h2{font-size:40px;line-height:1.15}
.talk .sub{color:var(--body);margin-top:16px}
.outline{margin:28px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:14px;color:var(--body)}
.outline strong{color:var(--navy)}
.talk-facts{display:flex;flex-direction:column;border-top:2px solid var(--navy);align-self:start}
.talk-facts div{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.talk-facts dt{font-size:14px;font-weight:600;letter-spacing:2px;color:var(--red)}
.talk-facts dd{margin:0;font-size:17px}
.req{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;max-width:900px}
.req .full{grid-column:1/-1}
.req input,.req select,.req textarea{width:100%;border:1px solid var(--navy);padding:14px 16px;font:inherit;font-size:17px;color:var(--navy);background:var(--white);border-radius:0}
.req textarea{min-height:140px;resize:vertical}
.req .field-wrap{display:flex;flex-direction:column;gap:8px}
.req button{justify-self:start;background:var(--navy);color:var(--white);border:none;font:inherit;font-weight:600;font-size:17px;padding:18px 28px;cursor:pointer;border-radius:2px}
@media (max-width:820px){
  .talk{grid-template-columns:1fr;padding:28px;gap:32px}
  .talk h2{font-size:30px}
  .req{grid-template-columns:1fr}
}
.box h3,.help h3,.person h3{line-height:1.2}
.about.no-photo{grid-template-columns:1fr}
.bh-form{display:flex;flex-direction:column;gap:14px;min-height:60px}

/* ---------- Privacy policy ---------- */
.policy{max-width:780px;display:flex;flex-direction:column;gap:18px}
.policy h2{font-size:30px;line-height:1.2;margin-top:24px}
.policy p,.policy li{font-size:18px;color:var(--body)}
.policy ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.policy .effective{font-size:15px;color:var(--quiet)}
@media (max-width:820px){.policy h2{font-size:24px}.policy p,.policy li{font-size:17px}}
