/* The Deal Girls — site styles */
:root{
  --ink:#111111;
  --coral:#C05054;
  --coral-soft:#E3A1A4;
  --cream:#FFF9F5;
  --blush:#FBEAEC;
  --sand:#F8EEE9;
  --line:#EDDCD6;
  --body:#3A3030;
  --muted:#6A5753;
  --faint:#9C8782;
  --wrap:1280px;
  --gutter:56px;
  --sans:'Geist',system-ui,-apple-system,sans-serif;
  --mono:'Geist Mono',ui-monospace,monospace;
  --serif:'Gloock',Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p,figure,blockquote{margin:0}
::selection{background:var(--coral);color:#fff}
.partners ::selection{background:var(--ink);color:var(--cream)}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.accent{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;color:var(--coral)}
.label{color:var(--coral)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;z-index:100}
.skip:focus{left:16px}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font:500 15px var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn--dark{background:var(--ink);color:#fff}
.btn--coral{background:var(--coral);color:#fff}
.btn--coral:hover{background:#A8454A}
.btn--ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn--lg{min-height:56px;padding:0 32px;font-size:17px}

/* Photo slots: hatched placeholder until an image file exists */
.photo{position:relative;overflow:hidden;background-color:var(--sand);background-image:repeating-linear-gradient(135deg,rgba(192,80,84,.07) 0 1px,transparent 1px 14px)}
.photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo__hint{position:absolute;left:16px;top:16px;font-family:var(--mono);font-size:12px;color:var(--faint)}
.photo.has-img .photo__hint{display:none}

/* Header */
.header{position:sticky;top:0;z-index:50;background:var(--cream);border-bottom:1px solid var(--ink)}
.header__bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.logo{font-family:var(--serif);font-size:22px;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
.logo span{color:var(--coral)}
.nav{display:flex;gap:32px}
.nav a{text-decoration:none}
.nav a:hover{color:var(--coral)}
.header__actions{display:flex;align-items:center;gap:8px}
.header .btn{min-height:44px;padding:0 20px}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);align-items:center;justify-content:center;cursor:pointer}
.mobile-nav{display:none;flex-direction:column;border-top:1px solid var(--line);padding:8px 20px 20px}
.mobile-nav a{padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:18px}
.header.open .mobile-nav{display:flex}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border-bottom:1px solid var(--ink)}
.hero__copy{padding:88px 56px 72px max(var(--gutter),calc((100vw - var(--wrap))/2 + var(--gutter)));display:flex;flex-direction:column;gap:32px;border-right:1px solid var(--ink)}
.hero h1{font-weight:500;font-size:clamp(34px,4.2vw,64px);line-height:1;letter-spacing:-.035em}
.hero h1 .accent{font-size:.9em}
.hero__lead{max-width:540px;font-size:18px;line-height:1.55;color:var(--body)}
.hero__ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero__note{color:var(--muted);margin-left:8px}
.hero__media{min-height:560px}
.hero__card{position:absolute;left:20px;right:20px;bottom:20px;background:var(--cream);border:1px solid var(--ink);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:6px;z-index:1}
.hero__card strong{font-size:18px;font-weight:500}

/* Press strip */
.press{border-bottom:1px solid var(--ink)}
.press__bar{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;min-height:72px;padding-top:12px;padding-bottom:12px}
.press__group{display:flex;align-items:center;gap:12px 28px;flex-wrap:wrap}
.press__support{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:15px}

/* Logo slots: text until a logo file exists */
.logo-slot{display:inline-flex;align-items:center;font-weight:500;font-size:16px;color:var(--ink)}
.logo-slot img{height:26px;width:auto;max-width:180px;object-fit:contain}
.logo-slot.has-img .logo-slot__text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mentors .logo-slot{font-size:34px;letter-spacing:-.02em}
.mentors .logo-slot img{height:36px;max-width:220px}

/* Section basics */
.section{border-bottom:1px solid var(--ink)}
.section__inner{padding-top:112px;padding-bottom:112px}
.section h2{font-weight:500;font-size:clamp(38px,4.4vw,64px);line-height:1;letter-spacing:-.035em}
.section__head{display:flex;flex-wrap:wrap;gap:24px 32px;justify-content:space-between;align-items:flex-end;margin-bottom:56px}
.section__head > div:first-child{display:flex;flex-direction:column;gap:20px}
.section__lead{max-width:420px;font-size:17px;line-height:1.55;color:var(--body)}

/* Founder */
.founder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.founder__media{min-height:640px;border-right:1px solid var(--ink)}
.founder__copy{padding:96px max(var(--gutter),calc((100vw - var(--wrap))/2 + var(--gutter))) 96px 64px;display:flex;flex-direction:column;gap:28px}
.founder__name{display:flex;flex-direction:column;gap:6px}
.founder__name h2{font-size:56px}
.founder__name .accent{font-size:24px}
.creds{border-top:1px solid var(--ink)}
.cred{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.cred .accent{font-size:24px}
.founder__bio{font-size:16px;line-height:1.6;color:var(--body);max-width:560px}
.founder__act{font-size:28px;line-height:1.25;letter-spacing:-.015em;max-width:600px}

/* Story */
.story{background:var(--blush)}
.story .section__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:64px}
.story__side{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.story__side a{font-weight:500;font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.story__side a:hover{color:var(--coral)}
.story__body{display:flex;flex-direction:column;gap:22px;font-size:18px;line-height:1.65;color:var(--body);max-width:680px}
.story__pull{font-size:44px;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
.story__end{color:var(--ink);font-weight:500}

/* What TDG does */
.what{background:var(--ink);color:var(--cream);border-bottom:0}
.what .label,.what .accent{color:var(--coral-soft)}
.what .section__lead{color:var(--line)}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pillar{border:1px solid var(--body);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:20px}
.pillar--main{background:#1B1717}
.pillar__top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.badge{background:var(--coral);color:#fff;padding:5px 10px;border-radius:999px;font-size:11px}
.pillar h3{font-weight:500;font-size:32px;letter-spacing:-.02em}
.pillar p{font-size:16px;line-height:1.55;color:var(--line)}
.pillar a{margin-top:auto;font-weight:500;font-size:15px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--cream)}
.pillar a:hover{color:var(--coral-soft)}

/* Bridge */
.bridge .section__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:56px;align-items:start}
.bridge__intro{display:flex;flex-direction:column;gap:20px;max-width:400px}
.bridge__intro h2{font-size:clamp(36px,3.6vw,52px);line-height:1.02}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.tab{min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:500 15px var(--sans);cursor:pointer}
.tab[aria-selected="true"]{background:var(--ink);color:#fff}
.city{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--ink);border-radius:24px;overflow:hidden}
.city[hidden]{display:none}
.city__media{min-height:380px;border-right:1px solid var(--ink)}
.city__info{padding:36px 32px;display:flex;flex-direction:column;gap:12px}
.pill{align-self:flex-start;background:var(--blush);color:var(--coral);padding:6px 10px;border-radius:999px;font-size:11px}
.city__info h3{margin-top:8px;font-weight:500;font-size:clamp(40px,3.8vw,58px);overflow-wrap:anywhere;line-height:1;letter-spacing:-.035em}
.city__info .accent{font-size:26px}
.city__info p{margin-top:auto;padding-top:32px;font-size:16px;line-height:1.55;color:var(--body)}

/* Traction */
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ink)}
.stat{padding:28px 24px 12px 0;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line)}
.stat .accent{font-size:72px;line-height:1}
.stat span:last-child{font-size:15px}
.support-line{display:flex;align-items:center;gap:12px;color:var(--muted)}

/* Mentors */
.mentors{background:var(--sand)}
.mentors .section__inner{padding-top:72px;padding-bottom:72px;display:flex;flex-direction:column;gap:32px}
.mentors__row{display:flex;flex-wrap:wrap;gap:16px 48px;align-items:center}
.mentors__more{font-size:34px}

/* Testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.quote{border:1px solid var(--line);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:28px;background:#fff}
.quote blockquote{font-size:22px;line-height:1.35;letter-spacing:-.01em}
.quote figcaption{display:flex;align-items:center;gap:12px}
.quote .photo{width:44px;height:44px;border-radius:999px;flex:none}
.quote b{font-weight:500;display:block}
.quote small{font-size:14px;color:var(--muted)}

/* Partners */
.partners{background:var(--coral);color:#fff;border-bottom:0}
.partners .section__inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:end}
.partners .label{color:var(--cream)}
.partners__title{display:flex;flex-direction:column;gap:20px}
.partners .accent{color:#fff}
.partners__form{display:flex;flex-direction:column;gap:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #fff;background:transparent;color:#fff;font:500 15px var(--sans);cursor:pointer}
.chip[aria-pressed="true"]{background:#fff;color:var(--ink)}
.chip[aria-pressed="true"]::before{content:"✓ "}
.partners .btn{align-self:flex-start;margin-top:8px}

/* FAQ */
.faq .section__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:64px}
.faq__head{display:flex;flex-direction:column;gap:20px}
.faq__list{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:24px 0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;font-size:22px;font-weight:500;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--coral)}
.faq .plus{color:var(--coral);font-size:28px;line-height:1;transition:transform .2s ease;flex:none}
.faq details[open] .plus{transform:rotate(45deg)}
.faq details p{margin-top:16px;font-size:16px;line-height:1.6;color:var(--body);max-width:640px}

/* Closing */
.closing{background:var(--blush)}
.closing .section__inner{padding-top:140px;padding-bottom:140px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px}
.closing h2{font-size:clamp(52px,8vw,128px);line-height:.95;letter-spacing:-.04em}
.closing p{max-width:560px;font-size:18px;line-height:1.55;color:var(--body)}
.closing .mono{color:var(--muted)}

/* Footer */
.footer{border-top:1px solid var(--ink)}
.footer__bar{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;padding-top:32px;padding-bottom:32px;font-size:14px;color:var(--muted)}
.footer nav{display:flex;gap:24px;flex-wrap:wrap}
.footer a:hover{color:var(--coral)}

/* ---------- Tablet ---------- */
@media (max-width:1100px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pillars,.quotes{grid-template-columns:minmax(0,1fr)}
  .bridge .section__inner,.partners .section__inner{grid-template-columns:minmax(0,1fr)}
}
/* ---------- Mobile ---------- */
@media (max-width:800px){
  :root{--gutter:20px}
  .header__bar{min-height:64px}
  .hero,.founder,.story .section__inner,.faq .section__inner{grid-template-columns:minmax(0,1fr)}
  .hero__copy{padding:40px 20px 32px;border-right:0;gap:22px}
  .hero__lead{font-size:16px}
  .hero__ctas{flex-direction:column;align-items:stretch}
  .hero__note{margin:0;text-align:center}
  .hero__media{min-height:420px;border-top:1px solid var(--ink)}
  .founder__media{min-height:400px;border-right:0;border-bottom:1px solid var(--ink)}
  .founder__copy{padding:40px 20px 48px;gap:22px}
  .founder__name h2{font-size:40px}
  .cred{grid-template-columns:minmax(0,1fr);gap:2px;padding:14px 0}
  .founder__act{font-size:22px}
  .section__inner{padding-top:64px;padding-bottom:64px}
  .section__head{margin-bottom:32px}
  .story .section__inner{gap:20px}
  .story__body{font-size:16px}
  .story__pull{font-size:30px}
  .pillar{padding:24px}
  .pillar h3{font-size:28px}
  .city{grid-template-columns:minmax(0,1fr)}
  .city__media{min-height:240px;border-right:0;border-bottom:1px solid var(--ink)}
  .city__info{padding:24px 20px 28px}
  .city__info h3{font-size:44px}
  .city__info p{margin-top:0;padding-top:8px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:first-child{grid-column:span 2}
  .stat .accent{font-size:50px}
  .stat:first-child .accent{font-size:72px}
  .mentors .section__inner{padding-top:48px;padding-bottom:48px}
  .mentors__row{gap:12px 24px}
  .mentors .logo-slot,.mentors__more{font-size:24px}
  .mentors .logo-slot img{height:28px}
  .quote{padding:24px}
  .quote blockquote{font-size:19px}
  .partners .btn{align-self:stretch}
  .faq .section__inner{gap:24px}
  .faq summary{font-size:18px}
  .closing .section__inner{padding-top:80px;padding-bottom:80px}
  .closing .btn{width:100%}
  .footer__bar{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.faq .plus{transition:none}}


/* ===== Section 03 — Bento mosaic ===== */
.what .photo{background-color:#241E1E;background-image:repeating-linear-gradient(135deg,rgba(227,161,164,.09) 0 1px,transparent 1px 14px)}
.what .photo__hint{color:var(--faint)}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(4,190px);gap:16px}
.bento > *{border-radius:20px;min-width:0}
.bento__p1{grid-column:1/5;grid-row:1/4}
.bento__intro{grid-column:5/9;grid-row:1/3}
.bento__p2{grid-column:9/13;grid-row:1/2}
.bento__events{grid-column:9/13;grid-row:2/3}
.bento__p3{grid-column:5/7;grid-row:3/5;border-radius:999px 999px 20px 20px}
.bento__p3 .photo__hint{top:auto;bottom:16px}
.bento__p4{grid-column:7/9;grid-row:3/4}
.bento__news{grid-column:9/13;grid-row:3/5}
.bento__p5{grid-column:7/9;grid-row:4/5}
.bento__stat{grid-column:1/5;grid-row:4/5}

.bento__card{padding:28px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--body)}
.bento__card h3{font-weight:500;font-size:30px;letter-spacing:-.02em;line-height:1}
.bento__card p{font-size:15px;line-height:1.55;color:var(--line)}
.bento__card a{margin-top:auto;font-weight:500;font-size:15px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--cream)}
.bento__card a:hover{color:var(--coral-soft)}
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}

.bento__intro{background:var(--coral);border-color:var(--coral);padding:32px;gap:16px}
.bento__intro .mono{color:var(--cream)}
.bento__intro h3{font-size:40px}
.bento__intro p{font-size:16px;color:var(--cream)}
.bento__intro a{color:#fff}
.bento__intro a:hover{color:var(--ink)}
.badge--ink{background:var(--ink);color:#fff}
.bento__intro ::selection{background:var(--ink);color:var(--cream)}

.bento__events{padding:24px 28px;gap:10px}
.bento__news{background:#1B1717}
.bento__list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.bento__list li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--body);padding-top:10px;font-size:14px}
.bento__list .mono{color:var(--faint)}
.bento__news a{margin-top:8px}

.bento__stat{background:var(--cream);color:var(--ink);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.bento__stat > div{display:flex;flex-direction:column;gap:4px}
.bento__stat .serif{font-size:64px;line-height:1;color:var(--coral)}
.bento__stat > div span:last-child{font-size:15px}
.bento__stat .mono{color:var(--muted);text-align:right}

/* Tablet: 6-column mosaic */
@media (max-width:1100px){
  .bento{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(180px,auto)}
  .bento__p1{grid-column:1/4;grid-row:span 2}
  .bento__intro{grid-column:4/7;grid-row:span 2}
  .bento__p2{grid-column:1/4;grid-row:auto}
  .bento__events{grid-column:4/7;grid-row:auto}
  .bento__p3{grid-column:1/3;grid-row:span 2}
  .bento__news{grid-column:3/7;grid-row:span 2}
  .bento__p4{grid-column:1/4;grid-row:auto}
  .bento__p5{grid-column:4/7;grid-row:auto}
  .bento__stat{grid-column:1/7;grid-row:auto}
  .bento__p1{order:1}.bento__intro{order:2}.bento__p2{order:3}.bento__events{order:4}
  .bento__p3{order:5}.bento__news{order:6}.bento__p4{order:7}.bento__p5{order:8}.bento__stat{order:9}
}
/* Mobile: two-column stack, photos in pairs */
@media (max-width:640px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:12px}
  .bento > *{grid-column:auto;grid-row:auto}
  .bento__p1{grid-column:1/3;height:320px}
  .bento__intro,.bento__events,.bento__news,.bento__stat{grid-column:1/3}
  .bento__p2,.bento__p4,.bento__p5{height:180px}
  .bento__p3{height:180px;border-radius:20px}
  .bento__p1{order:1}.bento__intro{order:2}.bento__p2{order:3}.bento__p3{order:4}.bento__events{order:5}
  .bento__p4{order:6}.bento__p5{order:7}.bento__news{order:8}.bento__stat{order:9}
  .bento__intro{padding:24px}
  .bento__intro h3{font-size:32px}
  .bento__card{padding:24px}
  .bento__stat{flex-direction:column;align-items:flex-start}
  .bento__stat .mono{text-align:left}
  .bento__stat .serif{font-size:52px}
}

