/* live.css: additions for the production integration (tools/corp/build.py), on top of the mock's site.css */

/* ===== hero: the original STUDIO first view (voxel face, white text fading in) ===== */
.hero--orig{background:#1a0d08}
.hero--orig::after{background:linear-gradient(90deg,rgba(18,8,4,.72) 0%,rgba(18,8,4,.45) 38%,rgba(18,8,4,0) 66%)}
.hero--orig .hero__img{object-position:72% 50%}
.hero--orig .hero__label{color:rgba(255,255,255,.78);margin-bottom:22px}
.hero__catch{font-size:22px;font-weight:700;line-height:1.5;letter-spacing:.04em;color:#fff}
.hero--orig .hero__ttl{margin-top:12px;font-size:50px;font-weight:900;line-height:1.42;letter-spacing:.02em;max-width:760px;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero--orig .hero__en{color:#fff;font-weight:500;font-size:17px}
.hero__btns{margin-top:36px}
.hero__cta{display:inline-flex;align-items:center;gap:18px;height:52px;padding:0 26px;background:var(--accent);color:#fff;font-size:15px;font-weight:700;letter-spacing:.06em;transition:background .2s}
.hero__cta:hover{background:var(--accent-dark)}
/* STUDIO "appear": opacity 0 -> 1 with a short slide, cubic-bezier(.76,0,.25,1) ~1s, staggered */
.hero__fade{opacity:0;animation:heroIn 1s cubic-bezier(.76,0,.25,1) var(--fd,.3s) forwards}
@keyframes heroIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hero__fade{animation:none;opacity:1}}
@media (max-width:860px){
  .hero--orig{padding:56px 0 88px}
  .hero--orig .hero__img{object-position:58% 50%}
  .hero--orig::after{background:linear-gradient(180deg,rgba(18,8,4,.2) 0%,rgba(18,8,4,.45) 45%,rgba(18,8,4,.8) 100%)}
  .hero--orig .hero__label{margin-bottom:16px}
  .hero__catch{font-size:15px}
  .hero--orig .hero__ttl{font-size:25px;line-height:1.6;text-shadow:0 2px 12px rgba(0,0,0,.5)}
  .hero--orig .hero__en{font-size:13px}
  .hero__btns{margin-top:28px}
  .hero__cta{height:48px;padding:0 22px;font-size:14px}
}

/* ===== X (Twitter) links ===== */
.xic{display:inline-block;width:16px;height:16px;flex:none}
.xlink{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink);border-bottom:1px solid transparent}
.xlink:hover{color:var(--accent);border-color:var(--accent)}
.pc__sns{margin-top:18px}
.prof .pc__sns{margin-top:14px}
.ft__sns{margin-top:24px}
.ft__sns a{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:13px}
.ft__sns a:hover{color:var(--accent)}
.ft__h{margin:0 0 16px;font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--white)}

/* ===== company map ===== */
.mapframe{width:100%;aspect-ratio:16/10;border:0;background:var(--panel)}

/* ===== TOP: 代表紹介 / 進め方 / 選ばれる理由 / 採用 ===== */
.rep__grid{display:grid;grid-template-columns:4fr 8fr;gap:72px;align-items:start}
.rep__photo{aspect-ratio:1/1;overflow:hidden;background:#DADDE0}
.rep__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.rep__role{font-size:14px;font-weight:700;color:var(--accent)}
.rep__name{margin-top:4px;font-size:26px;font-weight:700;letter-spacing:.06em}
.rep__ttl{margin:28px 0 20px;font-size:24px;font-weight:700;line-height:1.6}
.rep__links{display:flex;flex-wrap:wrap;align-items:center;gap:24px 32px;margin-top:32px}
.steps__list{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.steps__list--3{grid-template-columns:repeat(4,1fr)}
.step{position:relative;padding:32px 28px 36px;border-top:2px solid var(--accent);background:var(--panel)}
.panel .step{background:var(--white)}
.step__no{font-family:var(--en);font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--accent)}
.step__ttl{margin-top:10px;font-size:20px;font-weight:700;line-height:1.5}
.step__txt{margin-top:14px;font-size:14px;line-height:1.85;color:#33363A}
.reasons__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.reason{padding-top:28px;border-top:1px solid var(--ink)}
.reason__no{font-family:var(--en);font-size:40px;font-weight:500;line-height:1;color:var(--accent)}
.reason__ttl{margin-top:20px;font-size:20px;font-weight:700;line-height:1.6}
.reason__txt{margin-top:14px;font-size:15px;line-height:1.9;color:#33363A}
.recruit__in{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:end}
.recruit .sh{margin-bottom:28px}
.recruit__txt{font-size:16px;color:#33363A;max-width:640px}
.recruit__btns{display:flex;flex-direction:column;gap:16px}
.recruit__btns .dlbtn{margin-top:0;width:100%}
@media (max-width:860px){
  .rep__grid,.recruit__in{grid-template-columns:1fr;gap:32px}
  .rep__photo{max-width:280px}
  .rep__ttl{font-size:20px}
  .steps__list,.steps__list--3,.reasons__grid{grid-template-columns:1fr;gap:16px}
  .reasons__grid{gap:40px}
}

/* ===== news / event detail ===== */
.art__meta{margin-top:14px}
.ph .art__meta + .ph__ttl,.ph__en + .art__meta + .ph__ttl{margin-top:8px}
.art .ph__ttl{font-size:36px}
.art__wrap{display:grid;grid-template-columns:8fr 4fr;gap:72px;align-items:start}
.art__body{min-width:0}
.art__eye{aspect-ratio:1200/630;overflow:hidden;border:1px solid var(--line);background:var(--dark);margin-bottom:40px}
.art__eye img{width:100%;height:100%;object-fit:cover}
.art__eye .geo{height:100%}
.art__lead{font-size:17px;line-height:1.9}
.art__txt{margin-top:28px;font-size:15px;line-height:2}
.art__txt a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.art__txt .dl2{margin-top:32px}
.art__h2{margin:48px 0 18px;padding-left:14px;border-left:3px solid var(--accent);font-size:20px;font-weight:700;line-height:1.6;color:var(--ink)}
.art__fig{margin:28px 0}
.art__fig img{width:100%;height:auto;border:1px solid var(--line)}
.art__note{font-size:13px;color:var(--sub)}
.art__links li{position:relative;padding-left:16px}
.art__links li::before{content:"";position:absolute;left:0;top:1em;width:6px;height:1px;background:var(--ink)}
.art__sessions{border-top:1px solid var(--line)}
.art__sessions li{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8}
.art__sessions img{width:120px;height:44px;object-fit:contain;background:#fff}
.art__org{display:flex;gap:20px;align-items:center}
.art__org img{width:96px;height:96px;object-fit:cover;flex:none;background:var(--panel)}
.art__ext{margin-top:40px}
.art__ext .dlbtn{margin-top:0}
.art__exticon{display:inline-block;width:14px;height:14px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5.5 1.5h-4v11h11v-4M8 1.5h4.5V6M12.5 1.5 6 8' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5.5 1.5h-4v11h11v-4M8 1.5h4.5V6M12.5 1.5 6 8' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat center/contain}
.art__extnote{margin-top:10px;font-size:12px;color:var(--mute)}
.art__coachai{margin-top:56px;padding:28px 32px;background:var(--panel);border-left:3px solid var(--accent);font-size:14px;line-height:1.9}
.art__coachai a:not(.more){color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.art__coachai .more{margin-top:16px}
.art__rel{position:sticky;top:calc(var(--header) + 32px)}
.art__relh{font-size:16px;font-weight:700;padding-bottom:16px;border-bottom:1px solid var(--ink)}
.art__rel .nl a{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"d g" "t t";gap:6px 12px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}
.art__rel .nl time{grid-area:d;font-family:var(--en);font-size:12px;color:var(--sub)}
.art__rel .nl .tag{grid-area:g;justify-self:start}
.art__rel .nl .t{grid-area:t;line-height:1.7}
.art__rel .nl .arrow{display:none}
.art__rel .nl a:hover{color:var(--accent)}
@media (max-width:860px){
  .art__wrap{grid-template-columns:1fr;gap:64px}
  .art__rel{position:static}
  .art__lead{font-size:16px}
  .art__sessions li{grid-template-columns:1fr;gap:8px}
  .art__coachai{padding:24px 20px}
}
.ph .job__types{margin-top:14px}

/* ===== conference (/20260610_conference/) ===== */
.cf-narrow{max-width:calc(880px + var(--gutter)*2)}
.sh--c{text-align:center}
.sh--c .sh__jp{justify-content:center}
.cf-hero{position:relative;margin-top:var(--header);min-height:min(760px,calc(100vh - var(--header)));display:flex;align-items:center;background:#1a0d08;color:#fff;overflow:hidden}
.cf-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% 50%}
.cf-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,8,4,.75) 0%,rgba(18,8,4,.4) 45%,rgba(18,8,4,0) 70%)}
.cf-hero__in{position:relative;z-index:1;padding-top:72px;padding-bottom:72px;width:100%}
.cf-hero__catch{font-size:18px;font-weight:700}
.cf-hero__ttl{margin-top:16px;font-family:var(--en);font-size:96px;font-weight:600;line-height:1;letter-spacing:-.01em}
.cf-hero__sub{margin-top:28px;font-size:30px;font-weight:700;line-height:1.55}
.cf-hero__date{margin-top:24px;font-family:var(--en);font-size:22px;font-weight:600}
.cf-hero__org{display:flex;align-items:center;gap:16px;margin-top:28px;font-size:12px}
.cf-hero__mark{height:40px;width:auto}
.cf-hero__end{display:inline-block;margin-top:28px;padding:6px 14px;border:1px solid rgba(255,255,255,.6);font-size:13px}
.cf-nav{position:sticky;top:var(--header);z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.cf-nav__in{display:flex;gap:32px;justify-content:center;height:56px;align-items:center;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.cf-nav__in::-webkit-scrollbar{display:none}
.cf-nav a{font-size:14px;font-weight:500}
.cf-nav a:last-child{color:var(--accent);font-weight:700}
.cf-nav a:hover{color:var(--accent)}
.cf-mk{overflow:hidden;padding:28px 0;border-bottom:1px solid var(--line);background:#fff}
.cf-mk__track{display:flex;gap:56px;width:max-content;animation:cfMk 40s linear infinite;align-items:center}
.cf-mk__i{height:40px;width:auto;max-width:180px;object-fit:contain;flex:none}
@keyframes cfMk{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.cf-mk__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;gap:24px 40px;padding:0 20px}.cf-mk__track img[aria-hidden]{display:none}}
.cf-arch{margin-top:48px;text-align:center;font-weight:700}
.cf-cta{text-align:center}
.cf-cta .dlbtn{margin-top:16px}
.cf-dark{background:#0b0b0b;color:#fff}
.cf-dark .sh__en{color:#fff}
.cf-tt{max-width:1080px;margin:0 auto}
.cf-tt > li + li{margin-top:12px}
.cf-tt__row details{background:#1d1d1d;border:1px solid #2c2c2c;border-left:3px solid #555}
.cf-tt__row--sponsor details{background:var(--accent);border-color:var(--accent)}
.cf-tt__row--host details{border-left-color:#888}
.cf-tt__row summary{display:grid;grid-template-columns:120px 132px 1fr 140px 24px;gap:20px;align-items:center;padding:18px 24px;cursor:pointer;list-style:none}
.cf-tt__row summary::-webkit-details-marker{display:none}
.cf-tt__time{font-family:var(--en);font-size:14px;font-weight:600}
.cf-tt__label{justify-self:start;padding:4px 10px;border:1px solid var(--accent);color:var(--accent);font-family:var(--en);font-size:11px;font-weight:600;letter-spacing:.06em;line-height:1.4;text-align:center}
.cf-tt__row--host .cf-tt__label{border-color:#888;color:#bbb}
.cf-tt__row--sponsor .cf-tt__label{border-color:#fff;color:#fff}
.cf-tt__ttl{font-size:15px;font-weight:700;line-height:1.6}
.cf-tt__co{justify-self:end;background:#fff;padding:4px 8px;display:flex;align-items:center}
.cf-tt__img{height:28px;width:auto;max-width:120px;object-fit:contain}
.cf-tt__pm{position:relative;width:16px;height:16px}
.cf-tt__pm::before,.cf-tt__pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:#fff;transform:translateY(-50%)}
.cf-tt__pm::after{transform:translateY(-50%) rotate(90deg);transition:transform .2s}
details[open] > summary .cf-tt__pm::after{transform:translateY(-50%) rotate(0)}
.cf-tt__more{padding:0 24px 22px 296px;font-size:13px;line-height:1.9;color:rgba(255,255,255,.85)}
.cf-tt__who{margin-bottom:8px;color:#fff}
.cf-tt__break{text-align:center;font-family:var(--en);font-size:14px;font-weight:600;letter-spacing:.1em;padding:10px 0}
.cf-gray{background:#7d7d7d}
.cf-gray .sh__jp{color:#fff}.cf-gray .sh__jp::before{background:#fff}
.cf-gray .sh__en{color:#fff}
.cf-sp__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}
.cf-sp{background:#fff}
.cf-sp__photo{aspect-ratio:600/556;background:#fff;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.cf-sp__photo img{width:72%;height:auto}
.cf-sp__d summary{display:grid;grid-template-columns:1fr 12px;grid-template-areas:"c a" "r a" "n a";gap:2px 8px;padding:18px 20px;cursor:pointer;list-style:none;position:relative}
.cf-sp__d summary::-webkit-details-marker{display:none}
.cf-sp__d summary::after{content:"";grid-area:a;align-self:center;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--ink);transition:transform .2s}
.cf-sp__d[open] summary::after{transform:rotate(180deg)}
.cf-sp__co{grid-area:c;font-size:13px;font-weight:700}
.cf-sp__role{grid-area:r;font-size:12px;color:var(--sub);line-height:1.6}
.cf-sp__name{grid-area:n;margin-top:4px;font-size:16px;font-weight:700}
.cf-sp__bio{padding:0 20px 18px;font-size:12px;line-height:1.85;color:#33363A}
.cf-sp__bio p+p{margin-top:8px}
.cf-sp__slot{padding:14px 20px;border-top:1px solid var(--accent);font-family:var(--en);font-size:13px}
.cf-spn{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:36px 56px;max-width:1000px;margin:0 auto}
.cf-spn__i{height:56px;width:auto;max-width:220px;object-fit:contain}
.cf-reg{position:relative;overflow:hidden;color:#fff;background:#1a0d08}
.cf-reg__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(18px) brightness(.55);transform:scale(1.1)}
.cf-reg__in{position:relative;z-index:1}
.cf-reg .sh__jp{color:#fff}.cf-reg .sh__jp::before{background:#fff}
.cf-reg__msg{text-align:center;font-size:16px;line-height:2}
.cf-reg__btn{color:#fff;border-color:#fff}
.cf-reg__btn:hover{background:#fff;color:var(--ink)}
@media (max-width:1080px){.cf-sp__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){
  .cf-hero{min-height:0}
  .cf-hero__in{padding-top:56px;padding-bottom:64px}
  .cf-hero::after{background:linear-gradient(180deg,rgba(18,8,4,.4) 0%,rgba(18,8,4,.8) 70%)}
  .cf-hero__catch{font-size:14px}
  .cf-hero__ttl{font-size:52px}
  .cf-hero__sub{font-size:20px}
  .cf-hero__date{font-size:17px}
  .cf-nav__in{justify-content:flex-start;gap:24px}
  .cf-mk__i{height:30px}
  .cf-tt__row summary{grid-template-columns:1fr 24px;grid-template-areas:"t p" "l p" "x p" "c p";gap:8px 12px;padding:16px}
  .cf-tt__time{grid-area:t}.cf-tt__label{grid-area:l}.cf-tt__ttl{grid-area:x;font-size:14px}.cf-tt__co{grid-area:c;justify-self:start}.cf-tt__pm{grid-area:p;align-self:center}
  .cf-tt__more{padding:0 16px 18px}
  .cf-sp__grid{grid-template-columns:1fr 1fr;gap:10px}
  .cf-sp__d summary{padding:14px 12px}
  .cf-sp__bio{padding:0 12px 14px}
  .cf-sp__slot{padding:12px;font-size:11px}
  .cf-spn{gap:24px 32px}
  .cf-spn__i{height:40px;max-width:150px}
}

/* ===== privacy policy ===== */
.legal{font-size:15px;line-height:2}
.legal p{margin-top:16px;overflow-wrap:anywhere}
.legal__h{margin-top:48px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:19px;font-weight:700;line-height:1.6;color:var(--ink)}
.legal a{color:var(--accent);text-decoration:underline}

/* ===== careers ===== */
.job__types{display:flex;flex-wrap:wrap;gap:6px}
.job__types li{padding:2px 10px;border:1px solid var(--accent);color:var(--accent);font-size:12px;font-weight:700;line-height:1.7}
.entry__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.entry{display:block;padding:36px 32px 40px;background:var(--panel);border-top:2px solid var(--accent);transition:background .2s}
.entry:hover{background:#ECEEF0}
.entry__en{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--accent)}
.entry__ttl{margin-top:10px;font-size:24px;font-weight:700}
.entry__txt{margin-top:14px;font-size:14px;line-height:1.9;color:#33363A}
.jobs{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.jobs li[hidden]{display:none}
.jobc a{display:block;height:100%;padding:32px 32px 36px;background:var(--white);border:1px solid var(--line);transition:border-color .2s}
.jobc a:hover{border-color:var(--ink)}
.jobc__ttl{margin-top:16px;font-size:21px;font-weight:700;line-height:1.55}
.jobc__lead{margin-top:12px;font-size:14px;line-height:1.9;color:#33363A}
.jobc__more{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:14px;font-weight:700}
.jobc a:hover .jobc__more{color:var(--accent)}
.job__h{margin-top:64px;font-size:22px;font-weight:700;line-height:1.5}
.job__h:first-child{margin-top:0}
.job__dl{margin-top:20px}
.job__dl small{font-size:12px;color:var(--sub)}
.flow{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.flow li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.flow li+li::before{content:"→";color:var(--accent);font-weight:400}
.flow li{padding:0}
.apply{margin-top:20px;padding:28px 32px;background:var(--panel);font-size:15px}
.apply .morewrap{margin-top:8px}
@media (max-width:860px){
  .entry__grid,.jobs{grid-template-columns:1fr;gap:16px}
  .entry{padding:28px 24px 32px}
  .jobc a{padding:26px 22px 30px}
  .apply{padding:24px 20px}
}

/* ===== contact (mail compose) ===== */
.fe{margin-top:20px;padding:12px 16px;border-left:3px solid #D93025;background:#FDECEA;font-size:14px}
.fd{margin-top:20px;padding:12px 16px;border-left:3px solid var(--accent);background:var(--panel);font-size:14px}

/* detail titles and long breadcrumbs */
.ph--art .ph__ttl{font-size:34px;line-height:1.6}
.crumb{flex-wrap:wrap;row-gap:4px}
.crumb li{flex:none;white-space:nowrap}
.crumb li:last-child{flex:0 1 auto;min-width:0;white-space:normal}
@media (max-width:860px){.ph--art .ph__ttl{font-size:23px}.cf-hero__bg{object-position:68% 50%}}
