/* Editorial case studies, audience and portrait. All rules stay in these sections. */
:is(.cases-section,.audience-section,.about-section){
  --caa-rule:#d8cec0;
  --caa-muted:#706457;
  --caa-deep-accent:#a34831;
  position:relative;
  color:var(--ink,#1f1b17);
  background:var(--cream,#faf7f2);
  padding:140px 0;
  scroll-margin-top:45px;
}
:is(.cases-section,.audience-section,.about-section) .section-kicker{margin:0 0 30px;display:flex;align-items:center;gap:16px;font-family:Arial,'Hiragino Sans',sans-serif;font-size:11px;font-weight:400;line-height:1.8;letter-spacing:.11em;color:var(--caa-deep-accent)}
:is(.cases-section,.audience-section,.about-section) .section-kicker::before{content:'';flex:none;width:26px;height:1px;background:var(--accent,#c45a3e)}
:is(.cases-section,.audience-section,.about-section) .section-title{margin:0;font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:clamp(34px,4vw,59px);font-weight:600;line-height:1.55;letter-spacing:.015em;font-feature-settings:'palt';text-wrap:pretty}
:is(.cases-section,.audience-section,.about-section) .accent{color:var(--caa-deep-accent)}
:is(.cases-section,.audience-section,.about-section) .heading-keep{display:inline-block;white-space:nowrap}
:is(.cases-section,.audience-section,.about-section) .body-copy{font-size:16px;font-weight:400;line-height:1.95;letter-spacing:.05em;color:#4d433a;overflow-wrap:anywhere}
:is(.cases-section,.audience-section,.about-section) p{margin-top:0}
:is(.cases-section,.audience-section,.about-section) strong{font-weight:700;color:var(--ink,#1f1b17)}

.cases-section{padding-top:150px;padding-bottom:90px}
.cases-section .cases-intro{max-width:1000px}
.cases-section .cases-lead{max-width:680px;margin:33px 0 0}
.cases-section .cases-editorial{margin-top:90px;border-top:1px solid var(--caa-rule)}
.cases-section .case-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(45px,7vw,110px);padding:66px 0 71px;border-bottom:1px solid var(--caa-rule)}
.cases-section .case-heading{min-width:0}
.cases-section .case-index{display:flex;align-items:baseline;gap:16px;margin:0 0 27px;color:var(--caa-deep-accent)}
.cases-section .case-number{font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:84px;font-weight:400;line-height:.95;letter-spacing:-.055em;font-variant-numeric:lining-nums}
.cases-section .case-tag{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--caa-muted)}
.cases-section .case-name{font-size:12px;font-weight:400;letter-spacing:.05em;line-height:1.8;color:var(--caa-muted);margin:0 0 16px}
.cases-section .case-title{font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:clamp(24px,2.35vw,34px);font-weight:600;line-height:1.65;letter-spacing:.01em;font-feature-settings:'palt';margin:0;overflow-wrap:anywhere}
.cases-section .case-meta{font-family:Arial,sans-serif;font-size:12px;line-height:1.85;letter-spacing:.04em;color:var(--caa-muted);margin:28px 0 0;max-width:370px;overflow-wrap:anywhere}
.cases-section .case-body{padding-top:14px;min-width:0}
.cases-section .case-body p{margin:0 0 23px}
.cases-section .case-body .case-quote{margin:35px 0 0;padding:25px 0 0;border-top:1px solid #b9795d80;font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:20px;font-weight:600;line-height:1.9;letter-spacing:.025em;color:var(--caa-deep-accent)}

.audience-section{padding-top:130px;padding-bottom:145px;background:#f0ebe3}
.audience-section .audience-lead{max-width:640px;margin:31px 0 0}
.audience-section .audience-columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(42px,7.5vw,114px);margin-top:69px}
.audience-section .audience-block{min-width:0;position:relative;border-top:2px solid var(--accent,#c45a3e);padding-top:28px}
.audience-section .audience-block.unfit{border-top:1px solid #aa9f91;padding-top:29px}
.audience-section .audience-block h3{font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:24px;font-weight:600;line-height:1.6;letter-spacing:.025em;font-feature-settings:'palt';margin:0 0 25px;color:var(--ink,#1f1b17)}
.audience-section .audience-list{list-style:none;margin:0;padding:0;font-size:16px;font-weight:400;line-height:1.9;letter-spacing:.04em}
.audience-section .audience-list li{display:grid;grid-template-columns:15px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid #d6ccbd;overflow-wrap:anywhere}
.audience-section .audience-list li:first-child{border-top:0;padding-top:6px}
.audience-section .audience-list li:last-child{padding-bottom:0}
.audience-section .audience-mark{position:relative;display:block;width:13px;height:13px;margin-top:9px}
.audience-section .fit .audience-mark::before{content:'';position:absolute;left:1px;top:1px;width:6px;height:10px;border-right:1.5px solid var(--caa-deep-accent);border-bottom:1.5px solid var(--caa-deep-accent);transform:rotate(39deg)}
.audience-section .unfit .audience-mark::before{content:'';position:absolute;left:0;top:6px;width:11px;height:1px;background:#8d8072}
.audience-section .unfit .audience-list{color:#6c6054}

.about-section{padding-top:145px;padding-bottom:155px}
.about-section .about-intro{margin-bottom:71px}
.about-section .about-editorial{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.08fr);gap:clamp(60px,10vw,158px);align-items:start}
.about-section .about-portrait-column{min-width:0;position:sticky;top:100px}
.about-section .about-portrait{margin:0;position:relative;padding:0 0 0 16px}
.about-section .about-portrait::before{content:'';position:absolute;left:0;top:30px;bottom:98px;width:1px;background:#bc8a71}
.about-section .about-photo-frame{position:relative;aspect-ratio:510/634;background:#ded8cf;overflow:hidden}
.about-section .about-photo-frame img{display:block;width:100%;height:auto;aspect-ratio:510/634;object-fit:cover}
.about-section .about-photo-caption{font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:21px;font-weight:400;line-height:1.65;letter-spacing:.025em;padding-top:25px}
.about-section .about-photo-caption .role{display:block;font-family:Arial,sans-serif;font-size:11px;line-height:1.8;letter-spacing:.07em;color:var(--caa-muted);margin-top:10px}
.about-section .about-body{min-width:0;padding-top:19px}
.about-section .about-chapter{margin:0 0 59px}
.about-section .about-chapter:last-child{margin-bottom:0}
.about-section .about-chapter h3{font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:25px;font-weight:600;line-height:1.6;letter-spacing:.025em;font-feature-settings:'palt';color:var(--ink,#1f1b17);margin:0 0 25px}
.about-section .about-chapter p{margin:0 0 20px}
.about-section .about-chapter p:last-child{margin-bottom:0}
.about-section .biz-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--caa-rule)}
.about-section .biz-list li{padding:23px 0;border-bottom:1px solid var(--caa-rule)}
.about-section .biz-name{display:block;font-size:16px;font-weight:700;line-height:1.7;color:var(--ink,#1f1b17);letter-spacing:.025em}
.about-section .biz-role{display:block;font-size:14px;line-height:1.9;color:#706457;letter-spacing:.035em;margin-top:8px}
.about-section .about-purpose{padding-top:34px;border-top:1px solid #b9795d80}
.about-section .about-purpose p:last-child strong{display:block;font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:24px;font-weight:600;color:var(--caa-deep-accent);line-height:1.8;letter-spacing:.025em;margin:29px 0 17px}

@media(max-width:1050px){
  .cases-section .case-row{gap:45px;grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}
  .cases-section .case-title{font-size:25px}
  .cases-section .case-number{font-size:72px}
  .cases-section .case-body .case-quote{font-size:19px}
  .audience-section .audience-columns{gap:45px}
  .audience-section .audience-block h3{font-size:22px}
  .about-section .about-editorial{gap:60px;grid-template-columns:minmax(0,.75fr) minmax(0,1.1fr)}
  .about-section .about-photo-caption{font-size:18px}
}
@media(max-width:800px){
  :is(.cases-section,.audience-section,.about-section){padding:95px 0}
  :is(.cases-section,.audience-section,.about-section) .section-title{font-size:clamp(31px,4.8vw,42px);line-height:1.55}
  :is(.cases-section,.audience-section,.about-section) .section-kicker{margin-bottom:25px;font-size:10px;gap:13px}
  .cases-section .cases-editorial{margin-top:58px}
  .cases-section .case-row{grid-template-columns:1fr;gap:28px;padding:43px 0 46px}
  .cases-section .case-index{margin-bottom:20px}
  .cases-section .case-number{font-size:68px}
  .cases-section .case-title{font-size:29px}
  .cases-section .case-meta{margin-top:17px;max-width:none;font-size:11px}
  .cases-section .case-body{padding-top:0}
  .cases-section .case-body .case-quote{margin-top:28px;padding-top:23px;font-size:21px}
  .audience-section .audience-columns{grid-template-columns:1fr;gap:44px;margin-top:47px}
  .audience-section .audience-block h3{font-size:24px}
  .audience-section .audience-block{padding-top:24px}
  .audience-section .audience-block.unfit{padding-top:25px}
  .about-section .about-intro{margin-bottom:46px}
  .about-section .about-editorial{grid-template-columns:1fr;gap:47px}
  .about-section .about-portrait-column{position:static;width:min(100%,420px)}
  .about-section .about-photo-caption{font-size:21px}
  .about-section .about-body{padding-top:0}
  .about-section .about-chapter{margin-bottom:47px}
}
@media(max-width:500px){
  :is(.cases-section,.audience-section,.about-section){padding:79px 0;scroll-margin-top:25px}
  :is(.cases-section,.audience-section,.about-section) .section-title{font-size:30px;line-height:1.58;letter-spacing:0}
  :is(.cases-section,.audience-section,.about-section) .section-kicker{font-size:10px;letter-spacing:.06em;gap:11px;margin-bottom:23px}
  :is(.cases-section,.audience-section,.about-section) .section-kicker::before{width:17px}
  :is(.cases-section,.audience-section,.about-section) .body-copy{font-size:16px;line-height:1.95;letter-spacing:.035em}
  .cases-section .cases-lead,.audience-section .audience-lead{margin-top:27px}
  .cases-section .cases-editorial{margin-top:46px}
  .cases-section .case-row{gap:25px;padding:36px 0 42px}
  .cases-section .case-index{margin-bottom:22px;gap:13px}
  .cases-section .case-number{font-size:66px}
  .cases-section .case-name{font-size:11px;margin-bottom:13px}
  .cases-section .case-title{font-size:26px;line-height:1.6}
  .cases-section .case-meta{font-size:11px;line-height:1.85;margin-top:18px}
  .cases-section .case-body .case-quote{font-size:20px;line-height:1.85}
  .audience-section .section-title{font-size:29px}
  .audience-section .audience-columns{margin-top:40px;gap:39px}
  .audience-section .audience-block h3{font-size:22px;margin-bottom:19px;letter-spacing:0}
  .audience-section .audience-list{font-size:16px;line-height:1.9;letter-spacing:.025em}
  .audience-section .audience-list li{gap:13px;padding:18px 0;grid-template-columns:13px minmax(0,1fr)}
  .about-section .about-intro{margin-bottom:38px}
  .about-section .about-portrait{padding-left:12px}
  .about-section .about-portrait::before{top:21px;bottom:89px}
  .about-section .about-photo-caption{font-size:20px;padding-top:23px}
  .about-section .about-photo-caption .role{font-size:11px;letter-spacing:.035em;margin-top:9px}
  .about-section .about-editorial{gap:42px}
  .about-section .about-chapter h3{font-size:23px;margin-bottom:23px}
  .about-section .biz-list li{padding:20px 0}
  .about-section .biz-role{font-size:14px;line-height:1.9}
  .about-section .about-purpose{padding-top:29px}
  .about-section .about-purpose p:last-child strong{font-size:23px;margin-top:27px}
}
@media(max-width:350px){
  :is(.cases-section,.audience-section,.about-section) .section-title{font-size:27px}
  :is(.cases-section,.audience-section,.about-section) .section-kicker{font-size:9px;gap:9px}
  .cases-section .case-title{font-size:24px}
  .audience-section .audience-block h3{font-size:20px}
  .about-section .about-photo-caption{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
  :is(.cases-section,.audience-section,.about-section) [data-caa-reveal]{opacity:1!important;visibility:visible!important;transform:none!important}
}
