/* Fonts */
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/poppins-400.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/poppins-500.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/poppins-600.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/poppins-700.woff2') format('woff2')}

/* Design Tokens */
:root{
  --navy:#162741;
  --orange:#d95712;
  --orange-strong:#c44a08;
  --gold:#f2a900;
  --text:#24262b;
  --muted:#626b79;
  --light:#f3f4f6;
  --rule:#d8dce2;
  --white:#fff;
  --radius:0.5rem;
  --space-1:0.5rem;
  --space-2:0.75rem;
  --space-3:1rem;
  --space-4:1.125rem;
  --space-5:1.5rem;
  --space-6:1.75rem;
  --space-7:2rem;
  --space-8:2.75rem;
  --content-max:67.5rem;
  --content-pad:1.75rem;
}

/* Base */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--text);line-height:1.6;background:var(--white)}
a{color:var(--orange-strong)}
img{display:block;max-width:100%}
[hidden]{display:none!important}

/* Layout */
.wrap{max-width:var(--content-max);margin:0 auto;padding:0 var(--content-pad)}
section{padding:3.375rem 0}
.section-tight{padding-top:0}
h2{color:var(--navy);font-size:1.5rem;font-weight:700;margin-bottom:var(--space-4)}
.sub{color:var(--muted);font-size:0.875rem;margin-top:-0.75rem;margin-bottom:var(--space-5)}

/* Hero */
header{background-color:var(--navy);color:var(--white);padding:2.625rem 0 3.25rem}
header .wrap{display:grid;grid-template-columns:minmax(0,40rem) minmax(20rem,26.875rem);align-items:center;gap:var(--space-6) clamp(3.5rem,8vw,7.375rem)}
header .mark{grid-column:1/-1}
.hero-copy{min-width:0}
.hero-media{justify-self:end;width:100%;height:18.75rem;border-radius:var(--radius);overflow:hidden;opacity:.78}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.mark{display:inline-flex;align-items:center;gap:var(--space-3);max-width:100%;margin-bottom:var(--space-6);color:var(--white);text-decoration:none}
.mark-icon{flex:0 0 3.5rem;width:3.5rem;height:3.5rem}
.mark span{font-weight:700;font-size:1.125rem;letter-spacing:.08em;white-space:nowrap}
.kicker{color:var(--gold);font-size:0.6875rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:0.875rem}
h1{font-size:clamp(1.875rem,4.3vw,3rem);font-weight:700;line-height:1.2;max-width:40.625rem}
header p.lede{margin-top:var(--space-4);max-width:40rem;color:#d7dce5;font-size:1rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;background:var(--orange-strong);color:var(--white);text-decoration:none;font-weight:600;font-size:0.9063rem;padding:0.75rem 1.375rem;border-radius:var(--radius)}
.btn:hover,.btn:focus-visible{background:#a93e06}
.btn:focus-visible,a:focus-visible{outline:0.1875rem solid var(--gold);outline-offset:0.1875rem}

/* Cards */
.scores{display:flex;gap:var(--space-4);margin:0.625rem 0 var(--space-4);font-size:0.8125rem;color:var(--muted)}
.scores b{color:var(--text)}

.access-section{background:var(--white);padding:3.375rem 0}
.access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.access-card{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-5);min-height:18rem;border:0.0625rem solid var(--rule);border-radius:var(--radius);background:var(--light);padding:var(--space-5)}
.access-card.featured{background:var(--navy);color:var(--white)}
.access-card.annual{border-color:rgba(217,87,18,.35);background:#fff7f2}
.access-card .tag{color:var(--orange-strong);font-size:0.6875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--space-1)}
.access-card.featured .tag{color:var(--gold)}
.access-card h3{color:var(--navy);font-size:1.125rem;font-weight:700;line-height:1.35}
.access-card.featured h3{color:var(--white)}
.access-card p{color:var(--muted);font-size:0.8438rem;margin-top:var(--space-2)}
.access-card.featured p{color:#d7dce5}
.access-card .btn{width:fit-content}
.access-action{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.access-action .price{color:var(--navy);font-size:1.25rem;font-weight:700;white-space:nowrap}
.access-card.featured .price{color:var(--white)}

.archive-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}
.case-card{display:grid;grid-template-columns:minmax(16.25rem,.8fr) minmax(0,1.2fr);min-height:13.75rem;scroll-margin-top:2rem;border:0.0625rem solid var(--rule);border-radius:var(--radius);overflow:hidden;background:var(--white)}
.case-card:target{outline:0.1875rem solid var(--orange);outline-offset:0.1875rem}
.case-card img{width:100%;height:100%;object-fit:cover;background:var(--light)}
.case-card .copy{display:flex;flex-direction:column;justify-content:flex-start;padding:var(--space-5) var(--space-6)}
.case-card .no{color:var(--muted);font-size:0.7188rem;font-weight:600;letter-spacing:.08em;margin-bottom:0.4375rem}
.case-card h3{min-height:4.125rem;font-size:0.9375rem;font-weight:600;color:var(--navy);line-height:1.45}
.case-card p{min-height:2.625rem;font-size:0.8125rem;color:var(--muted);margin:var(--space-1) 0 var(--space-3)}
.case-purchase{display:flex;align-items:center;gap:var(--space-4);margin-top:auto;padding-top:var(--space-3)}
.case-purchase .price{color:var(--navy);font-size:1rem;font-weight:700}
.case-purchase .btn{padding:0.625rem var(--space-4);font-size:0.8438rem}

.preview-grid,.how{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.how{grid-template-columns:repeat(3,1fr)}
.preview-grid div,.how div{background:var(--light);border-radius:var(--radius);padding:1.25rem}
.preview-grid .t,.how .t{color:var(--orange-strong);font-size:0.6875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--space-1)}
.preview-grid p,.how p{font-size:0.8625rem}

/* Contact */
.contact{padding:var(--space-5) 0;background:var(--navy);color:var(--white)}
.contact .wrap{display:block}
.contact-copy{flex:1 1 auto;min-width:0}
.contact-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.contact-people>div{display:flex;flex-direction:column;align-items:center;text-align:center}
.contact-people>div+div{padding-left:var(--space-5);border-left:0.0625rem solid rgba(255,255,255,.2)}
.contact-people dt{color:#aeb8c8;font-size:0.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.contact-people dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.25rem var(--space-2);margin-top:0.1875rem;font-size:0.8125rem}
.contact-people dd span{color:var(--white);font-weight:600}
.contact-people a{color:#f1b183;text-underline-offset:0.1875rem}
.contact-linkedin{display:inline-flex;align-items:center;gap:0.4375rem;text-decoration:none;transition:color 160ms ease}
.contact-linkedin svg{flex:none;opacity:.85}
.contact-linkedin span{text-decoration:underline;text-underline-offset:0.1875rem}
.contact-linkedin:hover,.contact-linkedin:focus-visible{color:var(--white)}

/* Footer */
footer{border-top:0.0625rem solid var(--rule);padding:1.625rem 0 2.5rem;color:var(--muted);font-size:0.8125rem}
.footer-legal a{color:inherit;font-weight:inherit;text-decoration:none}
.footer-legal a:hover,.footer-legal a:focus-visible{text-decoration:underline}

/* Responsive */
@media (max-width:51.25rem){
  header .wrap{display:block}
  .hero-media{display:none}
  .access-grid,.archive-grid,.preview-grid,.how{grid-template-columns:1fr}
  .access-card{min-height:auto}
  .access-action{width:100%}
  .case-card{display:grid;grid-template-columns:11.25rem 1fr}
  .case-card img{height:100%;aspect-ratio:auto}
  .case-card h3{min-height:5.5rem}
  .contact-people{grid-template-columns:1fr}
  .contact-people>div{align-items:center;text-align:center}
  .contact-people>div+div{margin-top:var(--space-3);padding-top:var(--space-3);padding-left:0;border-top:0.0625rem solid rgba(255,255,255,.2);border-left:0}
  .contact-people dd{width:100%;justify-content:center}
  .contact-people a{max-width:100%;overflow-wrap:anywhere}
}

@media (min-width:51.3125rem) and (max-width:65rem){
  header .wrap{grid-template-columns:minmax(0,40rem)}
  .hero-media{display:none}
}

@media (max-width:35rem){
  .wrap{padding:0 var(--space-5)}
  .mark{gap:var(--space-2)}
  .mark-icon{flex-basis:3rem;width:3rem;height:3rem}
  .mark span{font-size:1rem}
  .hero-media{display:block;width:100%;max-width:18.75rem;height:10.5625rem;margin:var(--space-6) auto 0}
  h1{font-size:1.875rem}
  header p.lede{font-size:0.9375rem}
  section{padding:var(--space-8) 0}
  h2{font-size:1.375rem}
  .scores{flex-wrap:wrap;gap:var(--space-1) var(--space-3)}
  .archive-grid{gap:0.875rem}
  .access-card{padding:1.25rem}
  .access-card .btn{width:100%}
  .access-action{align-items:stretch;flex-direction:column;gap:0.625rem}
  .case-card{display:flex;flex-direction:column}
  .case-card img{height:auto;aspect-ratio:16/9}
  .case-card h3{min-height:4.125rem}
  .case-purchase{justify-content:space-between}
}
