@import url('./fonts.css');

/* 真似元: corporate.wowow.co.jp/recruit/
   観察:
   - 黒背景ヒーロー、鮮烈なブルー(#1452FF系)アクセント
   - 巨大な日本語タイポ（"選ばれるための独自性" "熱狂をカタチにしよう"）
   - W.O.W.O.W ロゴ（小文字英字＋ドット）、左上に常設
   - ENTRY ピル型ボタン（右上）
   - ハンバーガーメニュー（右上）
   - ヒーロー中央に円リング上に小さなコピー
   - 下層: 写真ストリップ背景、大型カタカナ／漢字混ぜ
   - 番号付きナビアンカー（WOWOWの強みと独自性 / これまでの取り組み / WOWOWのこれから）
   - フッター: 青背景 / 三角ボタン / 縦リンク／SNSアイコン
   主色: ブルー #1452FF / 黒 #000 / 白 #fff */
:root{
  --p38-bg:#fff;
  --p38-ink:#000;
  --p38-ink-soft:#333;
  --p38-mute:#888;
  --p38-line:#222;
  --p38-line-soft:#e5e5e5;
  --p38-blue:#1452FF;
  --p38-blue-dark:#0F3FCC;
  --p38-blue-light:#3D74FF;
  --p38-paper:#f3f4f6;
  --p38-black:#000;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{background:var(--p38-bg);color:var(--p38-ink);font-family:var(--p38-font-body);font-weight:400;font-size:14px;line-height:1.85;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

/* ===== HEADER ===== */
.p38-skip{position:absolute;left:-9999px;top:0;background:var(--p38-blue);color:#fff;padding:8px 14px}
.p38-skip:focus{left:14px;top:14px;z-index:100}

.p38-header{position:fixed;top:0;left:0;right:0;z-index:30;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);padding:18px 28px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:22px;color:#fff}
.p38-header__brand{display:flex;flex-direction:column;line-height:1;text-decoration:none;color:#fff}
.p38-header__brand strong{font-family:var(--p38-font-en);font-weight:700;font-size:20px;letter-spacing:.06em;color:#fff}
.p38-header__brand strong em{font-style:normal;letter-spacing:0}
.p38-header__brand small{font-family:var(--p38-font-en);font-weight:500;font-size:9.5px;letter-spacing:.32em;color:#fff;margin-top:6px;opacity:.9}
.p38-header__spacer{flex:1}
.p38-header__entry{background:#fff;color:#000;padding:11px 30px;border-radius:999px;font-family:var(--p38-font-en);font-weight:700;font-size:11.5px;letter-spacing:.18em;border:1px solid #fff}
.p38-header__career{color:#fff;padding:11px 4px;font-size:12px;letter-spacing:.14em;border-bottom:1px solid transparent;display:inline-flex;align-items:center;gap:8px}
.p38-header__career::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid #fff;border-top:1.5px solid #fff;transform:rotate(45deg)}
.p38-header__hb{width:32px;height:24px;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;padding:0}
.p38-header__hb span{display:block;width:100%;height:2px;background:#fff}

/* ===== HERO ===== */
.p38-hero{position:relative;min-height:100vh;background:#000;color:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.p38-hero__bg{position:absolute;inset:0;z-index:0}
.p38-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.55;filter:saturate(1.2) contrast(1.1)}
.p38-hero__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(20,82,255,.0) 0%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.85) 100%)}
.p38-hero__ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(70vmin,720px);height:min(70vmin,720px);border-radius:50%;border:1px solid rgba(255,255,255,.6);box-shadow:0 0 0 1px rgba(255,255,255,.15) inset,0 0 80px rgba(20,82,255,.45);z-index:1;pointer-events:none}
.p38-hero__ring::before{content:"";position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(255,255,255,.3)}
.p38-hero__body{position:relative;z-index:2;text-align:center;padding:0 20px}
.p38-hero__eyebrow{display:inline-block;font-family:var(--p38-font-en);font-size:10.5px;letter-spacing:.32em;color:#fff;opacity:.8;margin-bottom:24px;padding:6px 14px;border:1px solid rgba(255,255,255,.4)}
.p38-hero__copy{font-family:var(--p38-font-body);font-weight:700;font-size:clamp(28px,5.5vw,68px);line-height:1.25;margin:0 0 18px;letter-spacing:.04em;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.p38-hero__copy em{font-style:normal;color:var(--p38-blue-light);font-weight:900}
.p38-hero__sub{font-size:14px;line-height:1.9;opacity:.92;max-width:540px;margin:0 auto}
.p38-hero__news{position:absolute;left:0;right:0;bottom:0;z-index:3;background:var(--p38-blue);color:#fff;padding:14px 28px;display:flex;align-items:center;gap:20px;font-size:12.5px}
.p38-hero__news b{font-family:var(--p38-font-en);font-weight:700;letter-spacing:.2em;font-size:11px;padding-right:18px;border-right:1px solid rgba(255,255,255,.3)}
.p38-hero__news time{font-family:var(--p38-font-en);font-weight:500;color:#fff;opacity:.85}
.p38-hero__news a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:10px;flex:1}
.p38-hero__news a::after{content:"›";font-size:18px;opacity:.7}
.p38-hero__scroll{position:absolute;left:50%;bottom:80px;transform:translateX(-50%);font-family:var(--p38-font-en);font-size:9.5px;letter-spacing:.32em;color:#fff;z-index:3;writing-mode:vertical-rl;display:flex;align-items:center;gap:14px}
.p38-hero__scroll::after{content:"";display:block;width:1px;height:48px;background:#fff;animation:p38-scroll 1.8s ease-in-out infinite}
@keyframes p38-scroll{0%,100%{transform:scaleY(.2);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

/* ===== STRENGTHS BIG TYPO (uniqueness風) ===== */
.p38-bigtypo{position:relative;background:#000;color:#fff;padding:140px 28px 120px;overflow:hidden;text-align:center}
.p38-bigtypo__bg{position:absolute;inset:0;z-index:0;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:120px;opacity:.18}
.p38-bigtypo__bg img{width:100%;height:100%;object-fit:cover}
.p38-bigtypo__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.85) 100%)}
.p38-bigtypo__eyebrow{position:relative;z-index:1;display:inline-block;background:var(--p38-blue);color:#fff;padding:5px 16px;font-size:11px;font-family:var(--p38-font-en);letter-spacing:.22em;font-weight:700;margin-bottom:30px}
.p38-bigtypo__h{position:relative;z-index:1;font-weight:900;font-size:clamp(40px,9vw,116px);line-height:1.05;letter-spacing:.04em;margin:0}
.p38-bigtypo__h .accent{color:var(--p38-blue-light);font-size:1.05em;display:inline-block;transform:translateY(.02em)}
.p38-bigtypo__h .ko{display:inline-block;margin:0 .04em}
.p38-bigtypo__nav{position:relative;z-index:1;display:flex;justify-content:center;gap:48px;margin-top:60px;flex-wrap:wrap}
.p38-bigtypo__nav a{font-size:14px;color:#fff;display:inline-flex;align-items:center;gap:10px;padding-bottom:4px}
.p38-bigtypo__nav a::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--p38-blue-light)}

/* ===== BANNER ===== */
.p38-banner{background:#000;color:#fff;padding:18px 28px;display:flex;align-items:center;justify-content:center;gap:24px;border-bottom:1px solid #1a1a1a}
.p38-banner strong{font-family:var(--p38-font-en);font-weight:700;font-size:13px;letter-spacing:.22em}
.p38-banner a{color:#fff;font-size:12px;display:inline-flex;align-items:center;gap:10px;border:1px solid #fff;padding:9px 22px;border-radius:999px}

/* ===== SECTION TYPO ===== */
.p38-sec{padding:120px 28px;background:#fff;color:#000}
.p38-sec--dark{background:#000;color:#fff}
.p38-sec__inner{max-width:1080px;margin:0 auto}
.p38-sec__head{text-align:center;margin-bottom:64px}
.p38-sec__eyebrow{font-family:var(--p38-font-en);font-size:11px;letter-spacing:.32em;color:var(--p38-blue);font-weight:700;display:inline-block;margin-bottom:14px}
.p38-sec--dark .p38-sec__eyebrow{color:var(--p38-blue-light)}
.p38-sec__h{font-weight:900;font-size:clamp(32px,5vw,52px);line-height:1.25;letter-spacing:.05em;margin:0}
.p38-sec__lead{margin:30px auto 0;max-width:720px;font-size:14.5px;line-height:2;text-align:left}

/* ===== NUMBERS ===== */
.p38-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--p38-line-soft);border-left:1px solid var(--p38-line-soft);margin-top:40px}
.p38-numbers__cell{border-right:1px solid var(--p38-line-soft);border-bottom:1px solid var(--p38-line-soft);padding:36px 24px;text-align:center}
.p38-numbers__val{font-family:var(--p38-font-en);font-weight:700;font-size:54px;line-height:1;color:var(--p38-blue);letter-spacing:.02em}
.p38-numbers__val small{font-size:18px;font-weight:500;margin-left:4px;color:var(--p38-ink)}
.p38-numbers__label{font-size:12.5px;font-weight:700;margin-top:14px;letter-spacing:.06em}
.p38-numbers__note{font-size:10.5px;color:var(--p38-mute);margin-top:6px}

/* ===== JOB CARDS GRID (TOP) ===== */
.p38-pickup{padding:120px 28px;background:#fff}
.p38-pickup__inner{max-width:1180px;margin:0 auto}
.p38-pickup__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.p38-pcard{background:#000;color:#fff;padding:0;position:relative;overflow:hidden;min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none}
.p38-pcard__img{position:absolute;inset:0;z-index:0}
.p38-pcard__img img{width:100%;height:100%;object-fit:cover;opacity:.55}
.p38-pcard__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.85) 100%)}
.p38-pcard__body{position:relative;z-index:1;padding:28px}
.p38-pcard__code{font-family:var(--p38-font-en);font-weight:700;font-size:11px;letter-spacing:.22em;color:var(--p38-blue-light)}
.p38-pcard__title{font-size:24px;font-weight:900;margin:12px 0 6px;letter-spacing:.04em}
.p38-pcard__sub{font-size:12.5px;opacity:.85}
.p38-pcard__more{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-family:var(--p38-font-en);font-size:11px;letter-spacing:.2em}
.p38-pcard__more::after{content:"›";font-size:18px}

/* ===== VOICES ===== */
.p38-voices{padding:120px 28px;background:var(--p38-paper)}
.p38-voices__inner{max-width:1080px;margin:0 auto}
.p38-voices__list{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:48px}
.p38-voice{background:#fff;display:grid;grid-template-columns:200px 1fr;gap:0}
.p38-voice__photo{background:#000}
.p38-voice__photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.p38-voice__body{padding:28px}
.p38-voice__num{font-family:var(--p38-font-en);font-weight:700;font-size:11px;color:var(--p38-blue);letter-spacing:.22em}
.p38-voice__name{font-size:18px;font-weight:900;margin:8px 0 4px}
.p38-voice__name small{font-weight:400;font-size:11px;color:var(--p38-mute);margin-left:8px}
.p38-voice__attr{font-size:11.5px;color:var(--p38-mute);margin-bottom:14px}
.p38-voice__quote{font-size:14px;line-height:1.85;border-left:3px solid var(--p38-blue);padding-left:14px}

/* ===== MESSAGE STRIP ===== */
.p38-msgstrip{background:#000;color:#fff;padding:120px 28px;position:relative;overflow:hidden}
.p38-msgstrip__inner{max-width:980px;margin:0 auto;position:relative;z-index:1}
.p38-msgstrip__h{font-size:clamp(28px,4vw,44px);font-weight:900;letter-spacing:.05em;line-height:1.35;margin:0 0 28px}
.p38-msgstrip__h em{font-style:normal;color:var(--p38-blue-light)}
.p38-msgstrip__body{font-size:14.5px;line-height:2;opacity:.92}
.p38-msgstrip__sign{margin-top:36px;font-size:14px;display:flex;align-items:center;gap:14px}
.p38-msgstrip__sign b{font-weight:900;font-size:18px}
.p38-msgstrip__more{display:inline-block;margin-top:36px;padding:12px 28px;border:1px solid #fff;border-radius:999px;font-family:var(--p38-font-en);font-size:11px;letter-spacing:.22em}

/* ===== FOOTER ===== */
.p38-foot{background:var(--p38-blue);color:#fff;padding:80px 28px 40px}
.p38-foot__cta{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3);max-width:1080px;margin:0 auto 64px}
.p38-foot__cta a{display:block;padding:32px 24px;text-align:center;border-right:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);font-size:14px;font-weight:700;letter-spacing:.04em;position:relative}
.p38-foot__cta a small{display:block;font-family:var(--p38-font-en);font-size:10px;letter-spacing:.32em;opacity:.85;margin-top:8px;font-weight:500}
.p38-foot__cta a::after{content:"›";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:18px;opacity:.7}
.p38-foot__links{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;font-size:12px;padding:24px 0;border-top:1px solid rgba(255,255,255,.3)}
.p38-foot__links a{opacity:.92}
.p38-foot__brand{text-align:center;padding-top:32px;border-top:1px solid rgba(255,255,255,.3);margin-top:24px}
.p38-foot__brand strong{font-family:var(--p38-font-en);font-weight:700;font-size:24px;letter-spacing:.06em;display:block}
.p38-foot__brand small{display:block;font-size:10.5px;letter-spacing:.3em;opacity:.85;margin-top:6px}
.p38-foot__brand span{display:block;font-size:10.5px;margin-top:14px;opacity:.85}

/* ===== 下層共通: PAGE ===== */
.p38-page{padding-top:80px;background:#fff;color:#000}
.p38-page__hero{position:relative;background:#000;color:#fff;padding:140px 28px 80px;overflow:hidden;text-align:center}
.p38-page__hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,82,255,.15) 0%,rgba(0,0,0,.6) 100%);z-index:0}
.p38-page__hero__eyebrow{position:relative;z-index:1;font-family:var(--p38-font-en);font-size:11px;letter-spacing:.32em;color:var(--p38-blue-light);font-weight:700;display:block;margin-bottom:18px}
.p38-page__hero__title{position:relative;z-index:1;font-weight:900;font-size:clamp(36px,6vw,80px);line-height:1.2;margin:0;letter-spacing:.05em}
.p38-page__hero__title em{font-style:normal;color:var(--p38-blue-light)}
.p38-page__hero__sub{position:relative;z-index:1;font-size:14px;margin:20px auto 0;max-width:680px;opacity:.92}
.p38-page__crumb{max-width:1080px;margin:0 auto;padding:20px 28px;font-size:11.5px;color:var(--p38-mute);font-family:var(--p38-font-en);letter-spacing:.12em}
.p38-page__crumb a{color:var(--p38-blue)}
.p38-page__inner{max-width:980px;margin:0 auto;padding:0 28px 120px}
.p38-page__lead{font-size:15px;line-height:2;margin:40px 0}

/* JOBS LIST */
.p38-jobs__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;padding:60px 28px 120px;max-width:1180px;margin:0 auto}
.p38-jobcard{background:#000;color:#fff;text-decoration:none;display:block;position:relative;overflow:hidden;min-height:340px}
.p38-jobcard__img{position:absolute;inset:0;z-index:0}
.p38-jobcard__img img{width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity .4s,transform .6s}
.p38-jobcard:hover .p38-jobcard__img img{opacity:.7;transform:scale(1.04)}
.p38-jobcard__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.9))}
.p38-jobcard__body{position:relative;z-index:1;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;min-height:340px}
.p38-jobcard__code{font-family:var(--p38-font-en);font-weight:700;font-size:11.5px;letter-spacing:.24em;color:var(--p38-blue-light);margin-bottom:14px}
.p38-jobcard__title{font-size:26px;font-weight:900;margin:0 0 6px;letter-spacing:.04em}
.p38-jobcard__sub{font-size:13px;opacity:.88;margin:0 0 18px}
.p38-jobcard__meta{display:flex;gap:18px;font-size:11.5px;opacity:.85}
.p38-jobcard__meta b{display:block;font-family:var(--p38-font-en);font-size:9.5px;letter-spacing:.22em;color:var(--p38-blue-light);margin-bottom:4px;font-weight:700}

/* JOB DETAIL */
.p38-job__hero{position:relative;background:#000;color:#fff;padding:140px 28px 80px;overflow:hidden}
.p38-job__hero__img{position:absolute;inset:0;z-index:0}
.p38-job__hero__img img{width:100%;height:100%;object-fit:cover;opacity:.4}
.p38-job__hero__img::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(20,82,255,.3) 0%,rgba(0,0,0,.85) 70%)}
.p38-job__hero__inner{position:relative;z-index:1;max-width:1080px;margin:0 auto}
.p38-job__hero__code{font-family:var(--p38-font-en);font-weight:700;font-size:13px;letter-spacing:.3em;color:var(--p38-blue-light);margin-bottom:18px;display:inline-block;padding:5px 14px;border:1px solid var(--p38-blue-light)}
.p38-job__hero__title{font-weight:900;font-size:clamp(36px,5.5vw,72px);line-height:1.2;margin:0 0 24px;letter-spacing:.04em}
.p38-job__hero__sub{font-size:15px;line-height:1.9;max-width:680px;opacity:.95}
.p38-job__hero__meta{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;border-left:1px solid rgba(255,255,255,.3)}
.p38-job__hero__meta div{padding:18px 20px;border-right:1px solid rgba(255,255,255,.3);border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3)}
.p38-job__hero__meta dt{font-family:var(--p38-font-en);font-size:9.5px;letter-spacing:.24em;color:var(--p38-blue-light);font-weight:700;margin-bottom:6px}
.p38-job__hero__meta dd{margin:0;font-size:13px;font-weight:700}

.p38-job__sec{max-width:980px;margin:0 auto;padding:60px 28px;border-bottom:1px solid var(--p38-line-soft)}
.p38-job__sec__bar{display:flex;align-items:baseline;gap:18px;margin-bottom:28px;border-bottom:2px solid #000;padding-bottom:12px}
.p38-job__sec__bar__tag{font-size:18px;font-weight:900;letter-spacing:.04em}
.p38-job__sec__bar__title{font-family:var(--p38-font-en);font-size:11px;letter-spacing:.3em;color:var(--p38-blue);font-weight:700}
.p38-job__sec p{font-size:14.5px;line-height:2;margin:0 0 1em}
.p38-job__sec ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.p38-job__sec ul li{padding-left:24px;position:relative;font-size:14px;line-height:1.85}
.p38-job__sec ul li::before{content:"";position:absolute;left:0;top:.7em;width:14px;height:2px;background:var(--p38-blue)}

/* DAY SCHEDULE */
.p38-day{display:grid;gap:0;border-left:2px solid var(--p38-blue)}
.p38-day__row{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:18px 24px;border-bottom:1px solid var(--p38-line-soft);position:relative}
.p38-day__row::before{content:"";position:absolute;left:-7px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--p38-blue);border:2px solid #fff}
.p38-day__time{font-family:var(--p38-font-en);font-weight:700;font-size:22px;color:var(--p38-blue);letter-spacing:.04em}
.p38-day__body h4{margin:0 0 4px;font-size:15px;font-weight:900}
.p38-day__body p{margin:0;font-size:13px;line-height:1.85;color:var(--p38-ink-soft)}

/* REQ TABLE */
.p38-reqtable{width:100%;border-collapse:collapse;margin:30px 0}
.p38-reqtable th,.p38-reqtable td{padding:18px 22px;text-align:left;vertical-align:top;font-size:13.5px;line-height:1.85;border-bottom:1px solid var(--p38-line-soft)}
.p38-reqtable th{background:#000;color:#fff;width:180px;font-weight:700;font-family:var(--p38-font-body);letter-spacing:.04em}

/* FAQ */
.p38-faqlist{display:grid;gap:0;border-top:1px solid var(--p38-line-soft)}
.p38-faqitem{border-bottom:1px solid var(--p38-line-soft);background:#fff}
.p38-faqitem summary{padding:24px 28px 24px 56px;cursor:pointer;font-size:15px;font-weight:700;list-style:none;position:relative}
.p38-faqitem summary::-webkit-details-marker{display:none}
.p38-faqitem summary::before{content:"Q";position:absolute;left:20px;top:50%;transform:translateY(-50%);width:26px;height:26px;background:var(--p38-blue);color:#fff;font-family:var(--p38-font-en);font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:13px}
.p38-faqitem summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--p38-blue);transition:transform .25s}
.p38-faqitem[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.p38-faqitem > div{padding:0 28px 24px 56px;font-size:14px;line-height:2;color:var(--p38-ink-soft)}

/* FORM */
.p38-form{display:grid;gap:18px;margin:40px 0}
.p38-form > div{display:flex;flex-direction:column;gap:6px}
.p38-form label{font-size:12.5px;font-weight:700;letter-spacing:.04em}
.p38-form label small{display:inline-block;background:var(--p38-blue);color:#fff;font-size:9.5px;padding:2px 8px;margin-left:8px;font-weight:700;letter-spacing:.1em}
.p38-form input,.p38-form select,.p38-form textarea{padding:13px 16px;border:1px solid var(--p38-line-soft);background:#fff;color:#000;font-family:inherit;font-size:14px;border-radius:0}
.p38-form input:focus,.p38-form select:focus,.p38-form textarea:focus{outline:0;border-color:var(--p38-blue);box-shadow:0 0 0 3px rgba(20,82,255,.12)}
.p38-form__note{font-size:12px;color:var(--p38-mute);line-height:1.85;margin:24px 0;padding:18px 22px;background:var(--p38-paper);border-left:3px solid var(--p38-blue)}
.p38-form button{margin-top:18px;background:#000;color:#fff;border:0;padding:18px 36px;font-family:var(--p38-font-en);font-size:13px;letter-spacing:.24em;font-weight:700;cursor:pointer;justify-self:start;border-radius:999px;padding-left:48px;padding-right:48px}
.p38-form button:hover{background:var(--p38-blue)}

/* HISTORY */
.p38-history{display:grid;gap:0;margin:30px 0;border-left:2px solid var(--p38-blue);padding-left:0}
.p38-history__row{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:18px 24px;border-bottom:1px solid var(--p38-line-soft);position:relative}
.p38-history__row::before{content:"";position:absolute;left:-7px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--p38-blue);border:2px solid #fff}
.p38-history__year{font-family:var(--p38-font-en);font-weight:700;font-size:22px;color:var(--p38-blue);letter-spacing:.04em}
.p38-history__event{font-size:14px;line-height:1.85}

/* MESSAGE */
.p38-message{background:#000;color:#fff;padding:100px 28px;margin:60px 0;position:relative;overflow:hidden}
.p38-message::before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:var(--p38-blue);opacity:.15;filter:blur(40px)}
.p38-message__inner{max-width:880px;margin:0 auto;position:relative;z-index:1}
.p38-message__title{font-family:var(--p38-font-en);font-size:13px;letter-spacing:.32em;color:var(--p38-blue-light);font-weight:700;margin:0 0 18px}
.p38-message__lead{font-size:clamp(24px,3.2vw,36px);font-weight:900;line-height:1.45;margin:0 0 28px;letter-spacing:.04em}
.p38-message__body{font-size:14.5px;line-height:2;white-space:pre-line;opacity:.95}
.p38-message__sign{margin-top:36px;font-size:13px;line-height:1.6}
.p38-message__sign b{font-weight:900;font-size:18px;display:block;margin-top:6px}

/* ===== RESPONSIVE ===== */
@media (max-width:880px){
  .p38-header{grid-template-columns:auto 1fr auto;padding:14px 18px;gap:14px}
  .p38-header__career{display:none}
  .p38-header__entry{padding:9px 18px;font-size:10.5px}
  .p38-hero{min-height:90vh}
  .p38-hero__ring{width:90vmin;height:90vmin}
  .p38-hero__news{flex-wrap:wrap;gap:10px;font-size:11px}
  .p38-sec{padding:80px 20px}
  .p38-pickup{padding:80px 20px}
  .p38-pickup__grid{grid-template-columns:1fr}
  .p38-voices{padding:80px 20px}
  .p38-voices__list{grid-template-columns:1fr}
  .p38-voice{grid-template-columns:120px 1fr}
  .p38-numbers{grid-template-columns:repeat(2,1fr)}
  .p38-bigtypo{padding:90px 20px 80px}
  .p38-bigtypo__nav{gap:24px;margin-top:36px}
  .p38-foot__cta{grid-template-columns:1fr}
  .p38-jobs__grid{grid-template-columns:1fr;padding:36px 20px 80px;gap:20px}
  .p38-job__hero{padding:120px 20px 60px}
  .p38-job__hero__meta{grid-template-columns:repeat(2,1fr)}
  .p38-job__sec{padding:40px 20px}
  .p38-day__row,.p38-history__row{grid-template-columns:90px 1fr;gap:12px;padding:14px 16px}
  .p38-reqtable th{width:110px;padding:14px 12px;font-size:12.5px}
  .p38-reqtable td{padding:14px 12px}
  .p38-page__inner{padding:0 20px 80px}
  .p38-page__hero{padding:120px 20px 60px}
  .p38-message{padding:60px 20px}
  .p38-faqitem summary{padding:18px 50px 18px 50px;font-size:14px}
  .p38-faqitem > div{padding:0 20px 18px 50px}
}
