@font-face{font-family:"Noto Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/noto-serif-400.ttf)}
@font-face{font-family:"Noto Serif";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/noto-serif-700.ttf)}
:root{--ink:#111;--gray:#555;--red:#E63312;--rule:#e4e4e4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:18px/1.75 "Noto Serif",Georgia,serif}
a{color:var(--red);text-underline-offset:3px}
.wrap{max-width:1040px;margin:auto;padding:0 24px}
.bp{background-color:#f6f6f4;background-image:linear-gradient(rgba(17,17,17,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.07) 1px,transparent 1px),linear-gradient(rgba(230,51,18,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(230,51,18,.05) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;border-bottom:1px solid var(--rule)}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;flex-wrap:wrap}.top a{color:var(--ink);font-weight:700;text-decoration:none;display:flex;align-items:center;gap:10px}.top img{height:28px}
.top .by{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:700}
.hero{padding:10px 0 54px}.hero-grid{display:grid;gap:28px;align-items:center}@media(min-width:760px){.hero-grid{grid-template-columns:200px 1fr;gap:44px}}
.photo{width:170px;height:170px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 12px 32px rgba(0,0,0,.2)}@media(min-width:760px){.photo{width:200px;height:200px}}
.kick{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:700;margin:0 0 12px}
h1{font-size:clamp(2.3rem,6vw,3.9rem);line-height:1.06;margin:0 0 16px;font-weight:700}
.sub{font-size:1.2rem;line-height:1.5;color:#333;margin:0 0 16px;max-width:36em}.byl{font-weight:700;margin:0}.byl span{font-weight:400;color:var(--gray)}
.cover{max-width:1040px;margin:34px auto 0;padding:0 24px}.cover img{width:100%;height:auto;display:block;border-radius:4px}
figcaption{font-size:.82rem;line-height:1.5;color:var(--gray);margin-top:8px}
article{max-width:720px;margin:36px auto 60px;padding:0 24px}
article p{margin:0 0 1.15em}.stand{font-size:1.5rem;line-height:1.35;font-weight:700}
.bluf{background:#f6f6f4;border-left:5px solid var(--red);padding:18px 22px;font-size:1.02rem;line-height:1.65;margin:0 0 1.3em!important}
.qline{font-size:1.2rem;line-height:1.5;font-style:italic;padding-bottom:22px;border-bottom:1px solid var(--rule);margin-bottom:8px!important}
h2{font-size:1.7rem;line-height:1.25;margin:2.2em 0 .6em;padding-top:1.1em;border-top:1px solid var(--rule)}
h2 .num{display:block;font-size:.78rem;letter-spacing:.14em;color:var(--red);font-weight:700;margin-bottom:6px}
article figure{margin:1.8em -60px}@media(max-width:900px){article figure{margin:1.6em 0}}article figure img,article video{width:100%;height:auto;display:block;border-radius:4px;background:#000}
.pq{margin:1.8em 0;padding:4px 0 4px 22px;border-left:5px solid var(--red);font-size:1.45rem;line-height:1.4;font-weight:700}
.author{display:flex;gap:22px;align-items:center;border-top:1px solid var(--rule);margin-top:2.4em;padding-top:26px}.author img{width:116px;height:auto;border-radius:6px}.author p{margin:0 0 6px}.n{font-weight:700;font-size:1.1rem}.r{color:var(--gray);font-size:.95rem;line-height:1.5}
.cta{background:#111;color:#fff;text-align:center;padding:40px 24px}.cta h3{margin:0 0 8px;font-size:1.5rem}.cta p{margin:0 0 18px;color:#ddd}.cta a.b{display:inline-block;background:var(--red);color:#fff;font-weight:700;padding:12px 22px;border-radius:4px;text-decoration:none}
footer{text-align:center;font-size:.85rem;color:var(--gray);padding:22px}
figure.vid{position:relative}
.vidnote{font-size:.9rem;color:var(--gray)}
.playbadge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.22);border:0;cursor:pointer;padding:0}
.playbadge span{width:74px;height:74px;border-radius:50%;background:rgba(230,51,18,.94);color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;padding-left:7px;box-shadow:0 4px 18px rgba(0,0,0,.45)}
.playbadge:focus-visible{outline:3px solid #fff;outline-offset:-3px}

@font-face{font-family:'Noto Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/noto-main-1.ttf) format('truetype')}
@font-face{font-family:'Noto Serif';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/noto-main-3.ttf) format('truetype')}
@font-face{font-family:'Noto Serif';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/noto-main-4.ttf) format('truetype')}

.cb-connect{background:#fff;color:#111;font:16px/1.6 "Noto Serif",Georgia,serif;padding:80px 0}
.cb-connect .wrap{max-width:1080px;margin:0 auto;padding:0 32px}
.cb-connect .label{font-size:.8rem;letter-spacing:.35em;text-transform:uppercase;color:#E63312;font-weight:700;margin-bottom:16px}
.cb-connect h2.hl{font-size:2.1rem;font-weight:900;margin:0 0 32px;line-height:1.15;letter-spacing:-.01em;padding:0;border:none;background:none;color:#111;text-transform:none}
.cb-connect h2.hl .hl-thin{font-weight:400}
.cb-connect h2.hl .hl-red{color:#E63312}
.cb-connect .contact-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:520px;margin:0 0 28px}
.cb-connect .cblock{display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:12px 14px;color:#fff!important;text-decoration:none!important;font:700 16px/1.2 "Noto Serif",Georgia,serif;border-radius:4px}
.cb-connect .cblock.email{background:#E63312}
.cb-connect .cblock.simplex{background:#0A5CD8}
.cb-connect .cblock.linkedin{grid-column:1/-1;background:#0A66C2}
.cb-connect .cblock svg{flex:none}
.cb-connect .cblock .badge{flex:none;width:34px;height:34px;display:grid;place-items:center;background:#fff;border-radius:7px}
.cb-connect .cblock .badge img{width:24px;height:24px;display:block;margin:0}
.cb-connect .sx-more{margin:12px 0 0;font-size:.92rem}
.cb-connect .sx-more details{margin:6px 0}
.cb-connect .sx-more summary{cursor:pointer;color:#0A5CD8;font-weight:700;padding:6px 0}
.cb-connect .sx-more p{margin:6px 0 4px;color:#444;line-height:1.5}
.cb-connect .sx-more .sx-qr{display:block;width:180px;height:180px;background:#fff;padding:8px;border:1px solid #ccc;margin:8px 0}
.cb-connect .contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
.cb-connect .contact-list{list-style:none;margin:8px 0 0;padding:0}
.cb-connect .contact-list li{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0;border-bottom:1px solid #e5e2dc;gap:20px}
.cb-connect .contact-list li:first-child{border-top:1px solid #e5e2dc}
.cb-connect .contact-list .k{color:#666;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.cb-connect .contact-list a{color:#111;text-decoration:none;font-size:1.02rem;overflow-wrap:anywhere}
.cb-connect .contact-list a:hover{color:#E63312}
@media(max-width:820px){.cb-connect{padding:44px 0}.cb-connect .wrap{padding:0 24px}.cb-connect .contact-grid{grid-template-columns:1fr}}
@media(max-width:600px){.cb-connect .contact-pair{gap:8px}.cb-connect .cblock{font-size:15px;padding:10px 8px;gap:8px}}

.cta h3.sab{font-size:3.4rem;font-weight:900;line-height:1.08;letter-spacing:-.01em;margin:0 0 16px}
.cta h3.sab .a{font-weight:400}
.cta h3.sab .b{color:#E63312}
@media(max-width:600px){.cta h3.sab{font-size:2.5rem}}

.film-title{margin:30px -60px -20px;font-size:1.4rem;line-height:1.35;border-left:4px solid #E63312;padding:4px 16px}.film-title span{display:block;color:#E63312;font-size:.7rem;letter-spacing:.16em;font-weight:700;margin-bottom:4px}@media(max-width:900px){.film-title{margin:30px 0 -12px}}
.cta p{max-width:800px;margin:0 auto 20px}
.qline{font-size:2.1rem!important;line-height:1.18!important;font-style:normal!important;font-weight:900!important;color:#E63312!important;letter-spacing:-.01em;border-bottom:0!important;padding-bottom:0!important;margin:34px 0 8px!important}
.qline+h2{border-top:0!important;padding-top:0!important;margin-top:28px!important}
@media(max-width:600px){.qline{font-size:1.55rem!important}}
