
:root{
  --raspberry:#C2185B;
  --raspberry-dark:#C2185B;
  --black:#090909;
  --white:#ffffff;
  --cream:#fbfaf8;
  --line:#e9e5e2;
  --muted:#666;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--black);font-family:var(--sans);line-height:1.62}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--raspberry);outline-offset:4px}
.skip-link{position:absolute;left:-9999px;top:0;background:#111;color:#fff;padding:.8rem 1rem;z-index:100}
.skip-link:focus{left:1rem;top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{
  height:126px;padding:10px clamp(24px,5vw,80px);
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);
  position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)
}
.brand img{display:block;width:116px;height:auto}
.primary-nav{display:flex;align-items:center;gap:clamp(18px,2vw,34px);font-family:"Helvetica Neue","Avenir Next",Arial,sans-serif;font-size:.79rem;font-weight:500;text-transform:uppercase;letter-spacing:.075em}
.primary-nav span,.primary-nav a{padding:.45rem 0}
.primary-nav a:hover{color:var(--raspberry)}
.primary-nav .nav-cta{padding:.78rem 1.15rem;background:var(--raspberry);color:#fff}
.menu-toggle{display:none;background:none;border:0;padding:.5rem}
.menu-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:#111;margin:5px}

.hero{
  min-height:610px;display:grid;grid-template-columns:52% 48%;
  border-bottom:1px solid var(--line);overflow:hidden
}
.hero-copy{padding:clamp(66px,8vw,118px) clamp(28px,6vw,100px);align-self:center}
.issue,.eyebrow,.category{
  color:var(--raspberry);font-size:.75rem;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase
}
.hero h1{
  font-family:var(--serif);font-size:clamp(3.5rem,6.4vw,6.8rem);
  line-height:.93;letter-spacing:-.05em;margin:.26em 0 .25em
}
.hero .standfirst{font-family:var(--serif);font-size:clamp(1.3rem,2vw,2rem);line-height:1.28;max-width:710px;margin:0 0 1.1rem}
.hero .intro{max-width:720px;color:#444;font-size:1.05rem}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.65rem;
  padding:1rem 1.35rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.055em;font-size:.78rem;border:1px solid transparent;transition:.2s ease
}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--raspberry);color:#fff}
.button-primary:hover{background:var(--raspberry-dark)}
.button-secondary{border-color:#111;background:#fff}
.button-dark{background:#111;color:#fff}
.button-light{background:#fff;color:#111}

.hero-art{
  min-height:610px;position:relative;background:linear-gradient(145deg,#fff 0%,#fae7ee 36%,#C2185B 100%);
  display:flex;align-items:flex-end;justify-content:center;overflow:hidden
}
.hero-art:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 49%,rgba(255,255,255,.55) 50%,transparent 51%),
  repeating-linear-gradient(0deg,transparent 0 86px,rgba(255,255,255,.28) 87px);
}
.portrait-frame{
  width:68%;height:78%;background:linear-gradient(145deg,#161616,#535353);
  border:12px solid #fff;box-shadow:0 30px 70px rgba(0,0,0,.22);
  position:relative;display:grid;place-items:center;margin-bottom:-4%;
}
.portrait-frame span{
  color:#fff;font-family:var(--serif);font-size:clamp(2rem,4.4vw,4.8rem);
  font-weight:800;line-height:.85;letter-spacing:-.06em;text-align:center;z-index:2
}
.portrait-frame .dot{color:var(--raspberry)}
.portrait-frame:after{
  content:"";position:absolute;width:150px;height:150px;border:32px solid var(--raspberry);
  border-radius:50%;right:-60px;top:-45px
}

.section{padding:clamp(72px,8vw,125px) clamp(28px,6vw,96px)}
.section-heading{max-width:950px;margin-bottom:44px}
.section-heading h2,.editorial-copy h2,.cta-panel h2,.faq h2{
  font-family:var(--serif);font-size:clamp(2.3rem,4.2vw,4.7rem);
  line-height:1.02;letter-spacing:-.04em;margin:.22em 0
}
.section-heading p:not(.eyebrow){color:var(--muted);max-width:780px}

.featured{
  background:var(--cream);display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:start
}
.founder-placeholder{
  min-height:520px;background:linear-gradient(135deg,#e8e4e1,#bdb6b3);
  display:grid;place-items:center;position:relative;overflow:hidden
}
.founder-placeholder span{
  font-family:var(--serif);font-size:clamp(2.7rem,5vw,5.8rem);font-weight:800;
  line-height:.85;letter-spacing:-.07em;text-align:center
}
.founder-placeholder:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 0 58%,rgba(213,0,79,.22) 59% 100%)
}
.founder-details{padding:18px 0}
.founder-details h2{font-family:var(--serif);font-size:clamp(2.3rem,3.6vw,4.2rem);line-height:1.05;margin:.2em 0}
.meta{display:flex;gap:12px;flex-wrap:wrap;color:#555;font-size:.9rem}
.meta span{padding-right:12px;border-right:1px solid #bbb}
.meta span:last-child{border:0}
.founder-details p{color:#555}
.placeholder-note{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:.92rem;color:#777}

.editorial-copy{max-width:980px;margin:0 auto}
.editorial-copy p{font-size:1.06rem;color:#333}
.editorial-copy .lead{
  font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.4rem);
  line-height:1.35;color:#111
}
.editorial-copy blockquote{
  margin:50px 0;padding:28px 36px;border-left:6px solid var(--raspberry);
  background:var(--cream);font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.4rem);line-height:1.25
}

.latest{background:#fff}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.story-card{border-top:4px solid var(--black);padding-top:18px}
.story-image{aspect-ratio:4/3;background:linear-gradient(145deg,#efefef,#d2cdca);display:grid;place-items:center;margin-bottom:20px}
.story-image span{font-weight:700;color:#777;text-transform:uppercase;letter-spacing:.1em}
.story-card h3{font-family:var(--serif);font-size:1.65rem;line-height:1.16;margin:.3em 0}
.story-card p:last-child{color:var(--muted)}

.sector-strip{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;background:#0b0b0b;color:#fff
}
.sector-strip h2{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;margin:.2em 0}
.sector-strip p{color:#c8c8c8;max-width:780px}
.sector-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.sector-list span{border:1px solid #444;padding:.62rem .85rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}

.cta-panel{
  display:grid;grid-template-columns:1fr auto;gap:45px;align-items:end;
  background:linear-gradient(100deg,#fff 0 67%,#fae3ec)
}
.cta-panel .launch{display:inline-block;background:var(--raspberry);color:#fff;padding:.48rem .7rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.cta-panel p{max-width:780px;color:#555;font-size:1.05rem}
.cta-actions{display:flex;flex-direction:column;gap:12px;min-width:245px}

.superfan-teaser{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:0;background:#111;color:#fff
}
.superfan-visual{min-height:390px;background:var(--raspberry);display:grid;place-items:center}
.superfan-visual span{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5rem);font-weight:800;line-height:.8;letter-spacing:-.07em;text-align:center}
.superfan-copy{padding:clamp(48px,6vw,85px)}
.superfan-copy h2{font-family:var(--serif);font-size:clamp(2.3rem,4vw,4.3rem);line-height:1.03;margin:.2em 0}
.superfan-copy p{color:#c7c7c7;max-width:700px}

.faq{background:var(--cream)}
.faq-list{max-width:980px}
.faq details{border-top:1px solid #d8d4d1;padding:22px 0}
.faq details:last-child{border-bottom:1px solid #d8d4d1}
.faq summary{cursor:pointer;font-weight:700;font-size:1.05rem}
.faq details p{color:#555;max-width:850px}

.site-footer{
  padding:65px clamp(28px,6vw,96px);display:grid;grid-template-columns:1.1fr 1fr 1fr;
  gap:50px;background:#090909;color:#fff
}
.footer-brand img{filter:invert(1) grayscale(1) brightness(10);width:105px}
.footer-brand p{max-width:350px;color:#bbb}
.site-footer nav{display:grid;gap:12px;align-content:start}
.site-footer nav span{color:#aaa}
.site-footer a:hover{color:#C2185B}
.footer-contact{display:grid;gap:10px;align-content:start}
.footer-contact p{color:#999;margin:.25rem 0}
.licence-credit a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:1050px){
  .primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:25px 6vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  .primary-nav.open{display:flex}
  .menu-toggle{display:block}
  .hero{grid-template-columns:1fr}
  .hero-art{min-height:440px}
  .featured{grid-template-columns:1fr}
  .cta-panel{grid-template-columns:1fr}
  .cta-actions{align-items:flex-start}
}
@media(max-width:760px){
  .site-header{height:100px}
  .brand img{width:88px}
  .hero-copy{padding-top:58px;padding-bottom:58px}
  .hero-art{min-height:330px}
  .portrait-frame{height:88%;width:76%}
  .story-grid,.sector-strip,.superfan-teaser,.site-footer{grid-template-columns:1fr}
  .sector-strip{align-items:start}
  .superfan-visual{min-height:300px}
  .site-footer{gap:34px}
}

/* Reader-first Meet the Brand Founder page */
.primary-nav a[aria-current="page"]{color:var(--raspberry)}
.reader-hero .intro{max-width:760px}
.editorial-intro{background:var(--white)}
.compact-copy{max-width:900px}
.compact-copy p{font-size:1.12rem}
.tomorrow-founder{
  display:grid;grid-template-columns:1fr .8fr;gap:clamp(40px,7vw,110px);
  align-items:center;background:var(--black);color:var(--white)
}
.tomorrow-founder h2,.founder-invite h2{
  font-family:var(--serif);font-size:clamp(2.6rem,5vw,5.2rem);
  line-height:1;letter-spacing:-.045em;margin:.2em 0
}
.tomorrow-copy p:not(.eyebrow){font-size:1.15rem;color:#cfcfcf;max-width:600px}
.tomorrow-card{background:#171717;border:1px solid #3b3b3b;padding:clamp(30px,4vw,52px)}
.tomorrow-card h3{font-family:var(--serif);font-size:clamp(2rem,3.3vw,3.8rem);line-height:1.05;margin:.1em 0}
.tomorrow-card .brand-line{font-weight:700;font-size:1.05rem}
.tomorrow-card .preview{border-top:1px solid #3b3b3b;padding-top:20px;margin-top:26px;color:#aaa}
.latest-founder-card{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center;background:var(--cream);padding:clamp(24px,4vw,50px)}
.latest-founder-card .founder-placeholder{min-height:470px}
.founder-invite{
  display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;
  background:linear-gradient(105deg,#fff 0 65%,#fae4ed)
}
.founder-invite p:not(.eyebrow){font-size:1.1rem;color:#555;max-width:760px}
@media(max-width:900px){
  .tomorrow-founder,.latest-founder-card,.founder-invite{grid-template-columns:1fr}
  .founder-invite .cta-actions{align-items:flex-start}
}

/* Founder page photography */
.reader-hero .hero-art{margin:0;overflow:hidden;background:#f5f5f5;}
.reader-hero .hero-art:before,.reader-hero .portrait-frame{display:none;}
.reader-hero .hero-art img{width:100%;height:100%;min-height:100%;display:block;object-fit:cover;object-position:center;}

.founder-feature-image{min-height:470px;background:url("/assets/page-images/meet-the-brand-founder-polaroids.webp") center/cover no-repeat;}
@media(max-width:760px){.founder-feature-image{min-height:320px;}}

/* Publication text alignment rule */
body,main,section,.hero-copy,.heading,.section-heading{text-align:left}


/* Unapproved Visuals Removed */
.hero,.latest-founder-card{grid-template-columns:1fr !important}


/* Meet The Brand Founder featured listing and category slots */
.founder-directory{background:#fff}
.featured-founder-card{
  display:grid;grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);gap:clamp(32px,5vw,72px);
  align-items:center;background:var(--cream);padding:clamp(30px,4vw,52px);margin-bottom:clamp(56px,7vw,90px)
}
.featured-founder-logo-wrap{display:flex;align-items:center;justify-content:flex-start;min-height:190px}
.featured-founder-logo{display:block;width:min(100%,360px);height:auto;max-height:180px;object-fit:contain;object-position:left center}
.featured-brand-name{font-family:var(--serif);font-size:clamp(1.65rem,2.3vw,2.35rem);line-height:1.08;margin:.28em 0 .45em;letter-spacing:-.025em}
.featured-brand-name sup{font-family:var(--sans);font-size:.4em;line-height:0;vertical-align:super;margin-left:.06em}
.featured-founder-card .founder-details p:not(.eyebrow){max-width:650px}
.founder-category-heading{max-width:900px;margin-bottom:30px}
.founder-category-heading h2{font-family:var(--serif);font-size:clamp(2rem,3.6vw,3.8rem);line-height:1.05;letter-spacing:-.04em;margin:.2em 0}
.founder-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.founder-category-slot{min-height:118px;border:1px solid var(--line);border-top:4px solid var(--raspberry);padding:24px;background:#fff;display:flex;align-items:flex-end}
.founder-category-slot span{font-family:var(--serif);font-size:1.25rem;font-weight:700;line-height:1.18}
@media(max-width:900px){
  .featured-founder-card{grid-template-columns:1fr}
  .featured-founder-logo-wrap{min-height:auto}
  .founder-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .founder-category-grid{grid-template-columns:1fr}
  .featured-founder-logo{width:min(100%,290px)}
}
