@font-face{font-family:'Work Sans';src:url(/res/fonts/work-sans.woff2) format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:'Work Sans Fallback';src:local('Arial');font-weight:400 600;size-adjust:110.10%;ascent-override:84.47%;descent-override:22.07%;line-gap-override:0%}
@font-face{font-family:'Work Sans Fallback';src:local('Arial Bold');font-weight:700 800;size-adjust:103.91%;ascent-override:89.50%;descent-override:23.39%;line-gap-override:0%}

:root{--indigo:#2b2d6e;--indigo-dark:#1d1f4f;--indigo-soft:#eeeff8;--orange:#ff8a1f;--orange-dark:#d96a00;--ink:#1c1d2b;--grey:#5b5d70;--line:#e3e4ee;--font:'Work Sans','Work Sans Fallback',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:400 1.06rem/1.75 var(--font);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--indigo)}
.shell{width:min(1100px,100% - 32px);margin-inline:auto}
.read{width:min(760px,100% - 32px);margin-inline:auto}
section[id]{scroll-margin-top:72px}

.masthead{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 1px 0 var(--line)}
.masthead-in{display:flex;align-items:center;justify-content:space-between;gap:18px;height:60px}
.mark{display:flex;align-items:center;gap:9px;color:var(--indigo-dark);text-decoration:none;font-weight:800;font-size:1.15rem;white-space:nowrap}
.menu{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.menu::-webkit-scrollbar{display:none}
.menu a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.94rem;padding:7px 11px;border-bottom:2px solid transparent;white-space:nowrap}
.menu a:hover{color:var(--indigo);border-bottom-color:var(--orange)}

.top{background:var(--indigo);padding:18px 0 0}
.path{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 16px;padding:0;font-size:.86rem;color:#b9bbe4}
.path li+li::before{content:'/';margin-right:6px;opacity:.7}
.path a{color:#b9bbe4;text-decoration:none}
.path a:hover{color:#fff}
.screen{position:relative;aspect-ratio:16/9;border-radius:12px 12px 0 0;overflow:hidden;background:var(--indigo-dark)}
.screen-cover{position:absolute;inset:0;cursor:pointer}
.screen-cover img{width:100%;height:100%;object-fit:cover}
.screen-play{position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;display:grid;place-items:center;padding-left:6px;border-radius:50%;background:var(--orange);color:#fff;box-shadow:0 0 0 8px rgba(255,138,31,.3),0 12px 30px rgba(0,0,0,.35);transition:transform .2s ease}
.screen-cover:hover .screen-play,.screen-cover:focus-visible .screen-play{transform:scale(1.07)}
.screen-cover:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;padding:30px 0 26px;border-bottom:1px solid var(--line)}
.intro h1{margin:0;font-size:clamp(2.2rem,4.6vw,3.3rem);line-height:1.05;font-weight:800;letter-spacing:-.02em;color:var(--indigo-dark)}
.intro p{margin:0 0 12px}
.intro p:first-child{font-size:1.12rem}
.intro .by{font-size:.9rem;color:var(--grey);margin:14px 0 0}
.by a{color:var(--ink);font-weight:700;text-decoration:none}

.body{padding:14px 0 6px}
.body section{display:flow-root;padding-top:14px}
.body h2{margin:24px 0 12px;font-size:clamp(1.48rem,2.8vw,1.88rem);line-height:1.22;font-weight:800;letter-spacing:-.015em;color:var(--indigo-dark)}
.body h2::before{content:'';display:inline-block;width:12px;height:12px;margin-right:10px;border-radius:3px;background:var(--orange);vertical-align:.12em}
.body h3{margin:20px 0 6px;font-size:1.12rem;line-height:1.35;font-weight:700}
.body p{margin:0 0 16px}
.body ul{margin:0 0 18px;padding-left:20px}
.body li{margin-bottom:7px}
.body li::marker{color:var(--orange-dark)}

.photo{margin:6px 0 18px}
.photo img{border-radius:10px}
.photo-side{float:right;width:250px;margin:6px 0 12px 24px}

.ask{margin:0 0 12px;padding:14px 18px;border-left:3px solid var(--indigo);background:var(--indigo-soft);border-radius:0 8px 8px 0}
.ask h3{margin:0 0 5px}
.ask p{margin:0;color:#3d3f52}

.author{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin-top:34px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.author-name{margin:0!important;font-weight:800;font-size:1.14rem}
.author-role{margin:0!important;font-size:.92rem;color:var(--orange-dark);font-weight:700;align-self:center}
.author p{grid-column:1/-1}
.author-mail{margin:0!important;font-size:.92rem;color:var(--grey)}
.author-mail a{overflow-wrap:anywhere}

.foot{margin-top:46px;background:var(--indigo-dark);color:#c9cbea;font-size:.94rem;padding:34px 0 24px}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-about{max-width:520px}
.foot-about p{margin:0 0 10px}
.foot a{color:#fff}
.foot-name{color:#fff;font-weight:800;font-size:1.12rem}
.foot-nav{list-style:none;margin:0;padding:0;columns:2;column-gap:28px}
.foot-nav li{margin-bottom:8px}
.foot-nav a{text-decoration:none;color:#e6e7f7}
.foot-nav a:hover{text-decoration:underline}
.foot-end{margin:16px 0 0;font-size:.86rem;color:#a2a5d4}
.age18{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:4px;background:var(--orange);color:#1d1f4f;font-weight:800;font-size:.78rem}

@media (max-width:820px){
  .intro{grid-template-columns:minmax(0,1fr);gap:14px}
}
@media (max-width:700px){
  body{font-size:1.02rem}
  .mark span{display:none}
  .masthead-in{height:56px}
  .screen{border-radius:10px 10px 0 0}
  .screen-play{width:68px;height:68px;margin:-34px 0 0 -34px}
  .photo-side{float:none;width:100%;max-width:340px;margin:6px auto 18px}
  .foot-nav{columns:1}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
