
:root{
  --ink:#121212;
  --navy:#111a67;
  --yellow:#ffe500;
  --cyan:#2ab1e8;
  --paper:#f7f4ea;
  --white:#fffdf7;
  --gray:#e9e5da;
  --muted:#686868;
  --line:#171717;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--white);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","YuGothic",Meiryo,sans-serif;
  line-height:1.8;
  letter-spacing:.01em;
}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1180px,calc(100% - 72px));margin:auto}

/* header */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,253,247,.94);
  backdrop-filter:blur(12px);
  border-bottom:2px solid var(--ink);
}
.nav{
  min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{
  color:var(--ink);text-decoration:none;font-weight:1000;font-size:15px;letter-spacing:.025em;
}
.navlinks{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.navlinks a{
  text-decoration:none;font-weight:900;font-size:10px;letter-spacing:.04em;
  padding:8px 10px;border-bottom:2px solid transparent;
}
.navlinks a:hover,.navlinks a.active{border-color:var(--yellow)}
.navlinks a.primary{
  margin-left:8px;background:var(--ink);color:#fff;padding:10px 16px;border:0;
}

/* hero */
.hero{
  position:relative;
  min-height:620px;
  padding:86px 0 70px;
  background:var(--paper);
  overflow:hidden;
  border-bottom:2px solid var(--ink);
}
.hero:before{
  content:"";
  position:absolute;
  inset:auto -40px 28px auto;
  width:260px;height:260px;
  border:3px solid var(--ink);
  border-radius:50%;
  opacity:.08;
}
.hero-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
}
.eyebrow,.kicker{
  font-size:10px;font-weight:1000;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);
}
h1{
  margin:11px 0 22px;
  color:var(--ink);
  font-size:clamp(46px,6.4vw,82px);
  line-height:1.02;
  letter-spacing:-.065em;
}
.hero p{max-width:680px;font-size:14px;font-weight:700;color:#333}
.hero-panel{
  position:relative;
  min-height:430px;
  border:3px solid var(--ink);
  background:#fff;
  padding:26px;
  box-shadow:12px 12px 0 var(--yellow);
  overflow:hidden;
}
.hero-panel:before{
  content:"CURRICULUM VITAE";
  display:block;
  color:var(--ink);
  font-size:10px;font-weight:1000;letter-spacing:.18em;
  border-bottom:2px solid var(--ink);
  padding-bottom:10px;margin-bottom:18px;
}
.hero-panel small{font-size:9px;font-weight:1000;letter-spacing:.15em;color:var(--navy)}
.hero-panel strong{
  display:block;margin:7px 0 12px;
  color:var(--ink);font-size:clamp(23px,3vw,32px);line-height:1.28;letter-spacing:-.03em;
}
.hero-panel p{margin:0;color:#555;font-size:12px;font-weight:600}
.hero-panel:after{
  content:"";
  position:absolute;right:-4px;bottom:-4px;width:58%;height:47%;
  background:url('./assets/images/parts.jpeg') center/cover no-repeat;
  opacity:.18;mix-blend-mode:multiply;
}
body.page-culture .hero-panel:after,
body.page-workstyle .hero-panel:after{
  background-image:url('./assets/images/city.jpeg');opacity:.16;
}
body.page-stores .hero-panel:after{
  background-image:url('./assets/images/people.jpeg');opacity:.2;
}

/* breadcrumb */
.breadcrumb{
  padding:15px 0;background:#fff;border-bottom:1px solid #cfcac0;
  font-size:10px;color:#777;
}
.breadcrumb a{text-decoration:none;color:var(--ink);font-weight:900}

/* sections */
.section{
  position:relative;padding:84px 0;
  border-bottom:1px solid #d5d0c4;
}
.section.soft{background:var(--paper)}
.section-head{
  position:relative;max-width:800px;margin-bottom:38px;padding-top:18px;
}
.section-head:before{
  content:"";
  position:absolute;top:0;left:0;width:82px;height:6px;background:var(--yellow);
}
.section-head h2{
  margin:7px 0 12px;
  color:var(--ink);
  font-size:clamp(34px,4.8vw,58px);
  line-height:1.08;letter-spacing:-.05em;
}
.section-head p{font-size:13px;color:#666;max-width:720px}

/* editorial cards */
.cards{
  counter-reset:minadein-card;
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:2px solid var(--ink);border-left:2px solid var(--ink);
}
.card{
  counter-increment:minadein-card;
  position:relative;
  min-height:290px;padding:26px 24px 28px;
  background:#fff;
  border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);
}
.card:before{
  content:"0" counter(minadein-card);
  display:block;
  color:var(--navy);font-size:38px;font-weight:1000;line-height:1;margin-bottom:30px;
}
.card small{font-size:9px;font-weight:1000;letter-spacing:.15em;color:#888}
.card h3{font-size:20px;line-height:1.35;margin:7px 0 11px;color:var(--ink);letter-spacing:-.025em}
.card p{font-size:12px;color:#666;margin:0}
.card a.more{
  position:absolute;left:24px;bottom:24px;
  color:var(--ink);text-decoration:none;font-size:10px;font-weight:1000;
  border-bottom:4px solid var(--yellow);
}

/* two col features */
.two-col{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);border-left:2px solid var(--ink)}
.feature{
  min-height:190px;padding:26px;
  background:#fff;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);
}
.feature b{
  position:relative;display:inline-block;
  font-size:17px;color:var(--ink);margin-bottom:12px;letter-spacing:-.02em;
}
.feature b:after{
  content:"";position:absolute;left:0;right:-8px;bottom:-2px;height:5px;background:var(--yellow);z-index:-1;
}
.feature p{font-size:12px;color:#686868;margin:0}
.quote{
  margin-top:26px;padding:24px 28px;background:var(--navy);color:#fff;
  border:0;border-left:12px solid var(--yellow);border-radius:0;
}
.quote b{font-size:16px;color:#fff}
.quote p{font-size:12px;color:#dfe2ff;margin:6px 0 0}

/* journey */
.flow{
  display:grid;grid-template-columns:repeat(5,1fr);
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
}
.flow-step{
  position:relative;min-height:190px;padding:25px 20px;background:#fff;
  border-right:1px solid var(--ink);
}
.flow-step:last-child{border-right:0}
.flow-step span{display:block;font-size:38px;font-weight:1000;line-height:1;color:var(--navy)}
.flow-step b{display:block;font-size:14px;line-height:1.4;margin-top:24px}
.flow-step p{font-size:10px;color:#777}
.flow-step:after{
  content:"";position:absolute;right:-6px;top:48%;width:11px;height:11px;background:var(--yellow);border:2px solid var(--ink);transform:rotate(45deg);z-index:2;
}
.flow-step:last-child:after{display:none}

/* interviews */
.interviews{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.interview{
  position:relative;min-height:310px;padding:30px 28px;background:var(--ink);color:#fff;overflow:hidden;
}
.interview:before{
  content:"MEMBER";
  position:absolute;right:-8px;top:-18px;
  color:rgba(255,255,255,.07);font-size:96px;font-weight:1000;letter-spacing:-.08em;
}
.interview small{position:relative;z-index:2;font-size:9px;font-weight:1000;letter-spacing:.15em;color:var(--yellow)}
.interview h3{position:relative;z-index:2;font-size:22px;line-height:1.35;margin:9px 0 15px;color:#fff;max-width:480px}
.interview p{position:relative;z-index:2;font-size:12px;color:#d2d2d2;max-width:520px}
.interview a{position:relative;z-index:2;color:#fff;font-size:10px;font-weight:1000;text-decoration:none;border-bottom:4px solid var(--yellow)}

/* stores */
.store-grid{
  counter-reset:store;
  display:grid;grid-template-columns:1fr 1fr;
  border-top:2px solid var(--ink);border-left:2px solid var(--ink);
}
.store-card{
  counter-increment:store;
  position:relative;min-height:330px;padding:28px;
  background:#fff;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);
}
.store-card:before{
  content:"0" counter(store);
  position:absolute;right:22px;top:18px;
  color:#e6e1d4;font-size:60px;font-weight:1000;line-height:1;
}
.store-tag{
  display:inline-block;padding:4px 8px;
  background:var(--yellow);color:var(--ink);border:0;border-radius:0;
  font-size:9px;font-weight:1000;letter-spacing:.05em;
}
.store-card h3{position:relative;z-index:2;font-size:24px;line-height:1.25;margin:16px 0 12px;max-width:80%}
.store-card p{font-size:12px;color:#666;max-width:88%}
.fit{
  margin-top:17px;padding:12px 0 0;
  background:transparent;border-top:1px solid #ccc;border-radius:0;
  font-size:10px;color:#666;
}
.fit b{color:var(--ink)}
.store-card a{
  position:absolute;left:28px;bottom:25px;
  margin:0;padding:0;background:transparent;color:var(--ink);
  border-radius:0;text-decoration:none;font-size:10px;font-weight:1000;border-bottom:4px solid var(--yellow);
}

/* type match */
.type-message{
  display:none;position:relative;margin-bottom:34px;padding:28px;
  border:3px solid var(--ink);background:var(--yellow);
}
.type-message.is-visible{display:block}
.type-message small{font-size:9px;color:var(--navy);font-weight:1000;letter-spacing:.15em}
.type-message h2{font-size:32px;color:var(--ink);margin:6px 0 7px}
.type-message p{font-size:12px;color:#444}
.type-recos{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink);border-left:2px solid var(--ink);margin-top:18px}
.type-reco{padding:15px;background:#fff;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.type-reco b{display:block;font-size:12px}
.type-reco span{font-size:9px;color:#777}
.type-reco a{font-size:9px;font-weight:1000;color:var(--ink)}

/* CTA */
.cta-band{
  padding:34px;border:3px solid var(--ink);border-radius:0;
  background:var(--yellow);display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;
  box-shadow:10px 10px 0 var(--ink);
}
.cta-band small{font-size:9px;color:var(--navy);font-weight:1000;letter-spacing:.15em}
.cta-band strong{display:block;font-size:clamp(25px,3.4vw,38px);line-height:1.2;margin:6px 0 8px;letter-spacing:-.04em}
.cta-band p{font-size:11px;color:#4e4e4e}
.cta-band .actions{display:flex;gap:8px;flex-wrap:wrap}
.cta-band a{
  text-decoration:none;border:2px solid var(--ink);border-radius:0;
  padding:12px 16px;font-size:10px;font-weight:1000;
}
.cta-band a.dark{background:var(--ink);color:#fff}
.cta-band a.light{background:#fff;color:var(--ink)}

/* misc */
.source-note{font-size:9px;color:#8a8a8a;margin-top:18px}
.lower-visual{
  overflow:hidden;border-bottom:2px solid var(--ink);background:var(--paper);
}
.lower-visual img{width:100%;height:330px;object-fit:cover;object-position:center}
.lower-visual.people img{object-position:center 55%}

/* footer */
footer{background:var(--ink);color:#cfcfcf;padding:34px 0;font-size:10px}
footer b{display:block;color:#fff;font-size:14px;margin-bottom:4px}

/* playful paper details */
.section:nth-of-type(even):after{
  content:"";
  position:absolute;right:5%;bottom:28px;width:15px;height:15px;
  background:var(--cyan);transform:rotate(18deg);opacity:.85;
}
.section:nth-of-type(odd):after{
  content:"";
  position:absolute;right:7%;bottom:34px;width:24px;height:4px;background:var(--yellow);transform:rotate(-8deg);
}

@media(max-width:900px){
  .wrap{width:min(100% - 36px,1180px)}
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero{min-height:auto}
  .cards{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr 1fr}
  .store-grid,.interviews{grid-template-columns:1fr}
  .cta-band{grid-template-columns:1fr}
  .type-recos{grid-template-columns:1fr}
  .nav{align-items:flex-start;padding:13px 0}
  .navlinks{justify-content:flex-start}
}
@media(max-width:560px){
  .wrap{width:min(100% - 24px,1180px)}
  header{position:relative}
  .nav{display:block}
  .brand{display:block;margin-bottom:8px}
  .navlinks{gap:2px}
  .navlinks a{font-size:9px;padding:6px 7px}
  .navlinks a.primary{margin-left:2px}
  .hero{padding:58px 0 48px}
  h1{font-size:43px}
  .hero-panel{min-height:360px;padding:20px}
  .section{padding:62px 0}
  .section-head h2{font-size:36px}
  .flow{grid-template-columns:1fr}
  .flow-step{border-right:0;border-bottom:1px solid var(--ink)}
  .flow-step:after{display:none}
  .store-card{min-height:355px}
  .lower-visual img{height:230px}
}

/* v22 official MINADEIN store imagery */
.store-photo{margin:-28px -28px 20px;background:#e9e5da;border-bottom:2px solid var(--ink);overflow:hidden}
.store-photo img{display:block;width:100%;height:240px;object-fit:cover;object-position:center;transition:transform .35s ease}
.store-card:hover .store-photo img{transform:scale(1.018)}
.store-photo figcaption{margin:0;padding:7px 10px 8px;background:#fff;border-top:1px solid #d9d4c8;font-size:8px;line-height:1.4;color:#777}
.store-photo figcaption a{position:static!important;display:inline!important;margin:0!important;padding:0!important;background:transparent!important;color:#777!important;border:0!important;border-bottom:1px solid #aaa!important;border-radius:0!important;font-size:8px!important;font-weight:700!important}
@media(max-width:560px){.store-photo img{height:205px}}



/* v26 stable mobile header for lower pages */
html,body{
  max-width:100%;
  overflow-x:hidden;
}

@media(max-width:700px){
  header{
    position:sticky !important;
    top:0;
    z-index:1000;
  }

  header .nav{
    width:min(100% - 24px,1180px) !important;
    min-height:0 !important;
    padding:11px 0 10px !important;
    display:block !important;
  }

  header .brand{
    display:block !important;
    width:100% !important;
    margin:0 0 9px !important;
    padding:0 !important;
    font-size:13px !important;
    line-height:1.25 !important;
    white-space:normal !important;
  }

  header .navlinks{
    width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:6px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:0 0 2px !important;
    margin:0 !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }

  header .navlinks::-webkit-scrollbar{
    display:none;
  }

  header .navlinks a,
  header .navlinks a.primary{
    display:inline-flex !important;
    flex:0 0 auto !important;
    min-height:38px !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:8px 11px !important;
    white-space:nowrap !important;
    font-size:10px !important;
    line-height:1.15 !important;
    border:1.5px solid var(--ink) !important;
    background:#fff !important;
    color:var(--ink) !important;
  }

  header .navlinks a.active{
    background:var(--yellow) !important;
  }

  header .navlinks a.primary{
    background:var(--ink) !important;
    color:#fff !important;
  }
}

@media(max-width:380px){
  header .nav{
    width:min(100% - 18px,1180px) !important;
  }
  header .brand{
    font-size:12.5px !important;
  }
  header .navlinks a,
  header .navlinks a.primary{
    padding:7px 9px !important;
    font-size:9.5px !important;
  }
}


/* v27 unified MINADEIN design system */
:root{
  --md-navy:#111a67;
  --md-yellow:#ffe500;
  --md-blue:#29afe4;
  --md-paper:#f7f3e8;
  --md-white:#fffdf8;
  --md-ink:#171717;
  --md-muted:#666b78;
  --md-line:#d7d1c4;
}

body{
  background:var(--md-white);
  color:var(--md-ink);
}

.site-section{
  position:relative;
  overflow:hidden;
}

.section-ornament{
  position:absolute;
  pointer-events:none;
  user-select:none;
  z-index:0;
  opacity:.96;
}
.section-ornament img{
  display:block;
  width:100%;
  height:auto;
}
.section-ornament.tower{
  width:min(180px,16vw);
  right:3vw;
  bottom:-10px;
}
.section-ornament.counter{
  width:min(220px,20vw);
  left:2vw;
  bottom:-18px;
}
.section-ornament.city{
  width:min(430px,34vw);
  right:1vw;
  bottom:-45px;
  opacity:.16;
}

.content-layer{
  position:relative;
  z-index:2;
}

/* Shared editorial section rhythm */
.md-section{
  position:relative;
  padding:82px 0;
  border-bottom:1px solid var(--md-line);
}
.md-section:nth-of-type(even){
  background:var(--md-paper);
}
.md-section-head{
  max-width:780px;
  margin-bottom:32px;
}
.md-section-head small{
  display:block;
  color:var(--md-navy);
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
}
.md-section-head h2{
  margin:7px 0 12px;
  font-size:clamp(34px,4.6vw,56px);
  line-height:1.1;
  letter-spacing:-.045em;
  font-weight:820;
}
.md-section-head p{
  margin:0;
  color:var(--md-muted);
  font-size:13px;
  line-height:1.8;
}

/* Footer */
.site-footer{
  background:var(--md-navy);
  color:#fff;
  padding:42px 0 28px;
  border-top:6px solid var(--md-yellow);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:36px;
  align-items:end;
}
.footer-brand{
  font-size:18px;
  font-weight:900;
  letter-spacing:.02em;
}
.footer-copy{
  margin-top:8px;
  color:#cfd4f3;
  font-size:11px;
  line-height:1.75;
}
.footer-links{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.footer-links a{
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.35);
  padding:9px 12px;
  font-size:10px;
  font-weight:800;
}
.footer-links a:hover{
  background:#fff;
  color:var(--md-navy);
}
.footer-bottom{
  margin-top:28px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.16);
  color:#9fa7d8;
  font-size:9px;
}

/* legal pages */
.legal-hero{
  padding:74px 0 46px;
  background:var(--md-yellow);
  border-bottom:3px solid var(--md-navy);
}
.legal-hero small{
  display:block;
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
  color:var(--md-navy);
}
.legal-hero h1{
  margin:8px 0 0;
  font-size:clamp(40px,6vw,68px);
  line-height:1.08;
  letter-spacing:-.05em;
  color:var(--md-navy);
}
.legal-wrap{
  max-width:860px;
  margin:auto;
}
.legal-section{
  padding:58px 0;
}
.legal-section h2{
  font-size:22px;
  color:var(--md-navy);
  margin:34px 0 8px;
}
.legal-section p,
.legal-section li{
  font-size:13px;
  line-height:1.9;
  color:#4d5260;
}
.legal-section ul{
  padding-left:20px;
}
.legal-note{
  margin-top:30px;
  padding:18px;
  background:var(--md-paper);
  border-left:5px solid var(--md-yellow);
  font-size:11px;
  color:#5f6372;
}

@media(max-width:760px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .footer-links{
    justify-content:flex-start;
  }
  .section-ornament.tower{
    width:110px;
    right:-12px;
    opacity:.72;
  }
  .section-ornament.counter{
    width:140px;
    left:-18px;
    opacity:.6;
  }
  .section-ornament.city{
    width:240px;
    right:-60px;
    opacity:.1;
  }
}


/* v28 mobile simplified navigation + hero */
.mobile-menu-toggle,
.mobile-menu-panel{
  display:none;
}

@media(max-width:700px){
  body.menu-open{
    overflow:hidden;
  }

  .site-header{
    position:sticky!important;
    top:0;
    z-index:2000;
    height:auto!important;
    min-height:0!important;
    background:rgba(255,253,248,.97)!important;
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(17,26,103,.15)!important;
  }

  .site-header .wrap.nav{
    width:min(100% - 28px,1180px)!important;
    min-height:58px!important;
    padding:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }

  .site-header .brand{
    width:auto!important;
    margin:0!important;
    padding:0!important;
    font-size:14px!important;
    line-height:1.2!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .desktop-nav,
  .index-subnav,
  .navlinks{
    display:none!important;
  }

  .mobile-menu-toggle{
    appearance:none;
    display:flex!important;
    flex:0 0 42px;
    width:42px;
    height:42px;
    padding:0;
    border:0;
    background:transparent;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
  }

  .mobile-menu-toggle span{
    display:block;
    width:23px;
    height:2px;
    background:var(--navy, #111a67);
    transition:transform .22s ease, opacity .22s ease;
    transform-origin:center;
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  .mobile-menu-panel{
    display:block!important;
    position:fixed;
    inset:58px 0 0 0;
    z-index:1999;
    background:rgba(255,253,248,.985);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
    overflow-y:auto;
    border-top:1px solid rgba(17,26,103,.08);
  }

  .mobile-menu-panel.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .mobile-menu-links{
    width:min(100% - 32px,540px);
    margin:0 auto;
    padding:22px 0 34px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .mobile-menu-links a{
    min-height:54px;
    padding:14px 13px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    text-decoration:none;
    color:var(--navy, #111a67);
    background:#fff;
    border:1.5px solid rgba(17,26,103,.18);
    font-size:13px;
    font-weight:800;
    line-height:1.35;
  }

  .mobile-menu-links a:last-child{
    grid-column:1 / -1;
    justify-content:center;
    background:var(--navy, #111a67);
    color:#fff;
    border-color:var(--navy, #111a67);
    font-size:14px;
  }

  /* TOP HERO: intentionally simplified on mobile */
  .playful-hero,
  .hero{
    min-height:0!important;
    padding:42px 0 48px!important;
    background:var(--yellow, #ffe500)!important;
  }

  .playful-hero:before,
  .playful-hero:after,
  .hero:before,
  .section-ornament,
  .hero-playground,
  .hero-type-strip,
  .hero-subgame,
  .hero-stats,
  .hero-message,
  .hero-mini-copy,
  .share-loop-note,
  .hero-badge,
  .hero-counter,
  .mystery-card{
    display:none!important;
  }

  .hero-grid{
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  .hero-copy-block,
  .hero-grid > div:first-child{
    max-width:100%!important;
    padding:0!important;
  }

  .hero-copy-block .eyebrow,
  .hero-grid > div:first-child .eyebrow{
    margin-bottom:10px!important;
    font-size:9px!important;
    letter-spacing:.14em!important;
    line-height:1.4!important;
  }

  .hero-copy-block h1,
  .hero-grid > div:first-child h1{
    margin:0 0 18px!important;
    max-width:9em;
    font-size:clamp(38px,11vw,52px)!important;
    font-weight:800!important;
    line-height:1.08!important;
    letter-spacing:-.045em!important;
  }

  .hero-copy-block > p,
  .hero-grid > div:first-child > p{
    max-width:34em!important;
    margin:0 0 20px!important;
    color:#33394a!important;
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.8!important;
  }

  .hero .meta{
    display:flex!important;
    gap:0!important;
    flex-wrap:wrap!important;
    margin:0 0 20px!important;
    color:var(--navy,#111a67)!important;
    font-size:10px!important;
  }

  .hero .meta span{
    display:inline!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
  }

  .hero .meta span + span:before{
    content:" / ";
    padding:0 6px;
    opacity:.55;
  }

  .hero-start,
  .hero .start{
    width:100%!important;
    max-width:360px!important;
    min-height:54px!important;
    margin:0!important;
    padding:14px 18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    font-size:14px!important;
  }

  .hero-start .start-line{
    display:none!important;
  }

  /* lower page hero: hide resume-style side panel on phone */
  body:not(:has(.playful-hero)) .hero-panel{
    display:none!important;
  }

  .lower-visual{
    display:none!important;
  }
}

@media(max-width:370px){
  .site-header .wrap.nav{
    width:min(100% - 20px,1180px)!important;
  }
  .site-header .brand{
    font-size:13px!important;
  }
  .mobile-menu-links{
    grid-template-columns:1fr;
  }
  .mobile-menu-links a:last-child{
    grid-column:auto;
  }
}


/* v30 lower page mobile typography balance */
@media(max-width:700px){
  .hero{
    padding:38px 0 40px!important;
  }
  .hero h1{
    font-size:34px!important;
    line-height:1.15!important;
    margin:0 0 14px!important;
    letter-spacing:-.035em!important;
  }
  .hero p{
    font-size:11.5px!important;
    line-height:1.75!important;
    margin:0!important;
  }
  .section{
    padding:54px 0!important;
  }
  .section-head{
    margin-bottom:26px!important;
  }
  .section-head h2{
    font-size:30px!important;
    line-height:1.2!important;
    margin:0 0 12px!important;
  }
  .section-head p{
    font-size:11.5px!important;
    line-height:1.75!important;
  }
}


/* ===== v53 interview cards with official portrait photos ===== */
.interviews{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}

.interview-with-photo{
  position:relative;
  min-height:560px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#111;
  border:1px solid rgba(16,24,107,.12);
}

.interview-photo{
  position:relative;
  flex:1 1 auto;
  min-height:320px;
  overflow:hidden;
  background:#222;
}

.interview-photo::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:55%;
  background:linear-gradient(180deg,rgba(17,17,17,0),rgba(17,17,17,.9));
  pointer-events:none;
}

.interview-photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:cover;
  object-position:center 30%;
}

.interview-copy{
  position:relative;
  z-index:2;
  margin-top:-110px;
  padding:28px 30px 30px;
  color:#fff;
  background:linear-gradient(180deg,rgba(17,17,17,0),#111 26%);
}

.interview-copy small{
  display:block;
  margin-bottom:14px;
  color:#ffe400;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}

.interview-copy h3{
  margin:0 0 16px;
  color:#fff;
  font-size:clamp(24px,3vw,34px);
  line-height:1.35;
  letter-spacing:-.025em;
}

.interview-copy p{
  margin:0 0 20px;
  color:#d0d0d0;
  font-size:15px;
  line-height:1.85;
}

.interview-copy a{
  display:inline-block;
  color:#fff;
  font-weight:900;
  text-decoration:none;
  border-bottom:6px solid #ffe400;
}

@media(max-width:760px){
  .interviews{
    grid-template-columns:1fr;
    gap:28px;
  }

  .interview-with-photo{
    min-height:0;
  }

  .interview-photo{
    min-height:360px;
  }

  .interview-photo img{
    min-height:360px;
    object-position:center 24%;
  }

  .interview-copy{
    margin-top:-92px;
    padding:26px 24px 28px;
  }

  .interview-copy small{
    font-size:10px;
    margin-bottom:12px;
  }

  .interview-copy h3{
    font-size:clamp(23px,7vw,31px);
    line-height:1.4;
  }

  .interview-copy p{
    font-size:14px;
    line-height:1.82;
  }
}
