.corp-intro{padding:clamp(72px,9vw,140px) clamp(20px,4vw,52px) clamp(48px,6vw,80px);max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(40px,5vw,80px);align-items:center}
.corp-intro .eb{font-family:"Jost",sans-serif;font-weight:300;font-size:11px;letter-spacing:.45em;color:var(--accent);margin-bottom:20px}
.corp-intro h2{font-family:"Shippori Mincho",serif;font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:2;letter-spacing:.18em;color:var(--ink);margin:0}
.corp-intro .sig{font-size:13px;letter-spacing:.14em;color:var(--ink-soft);margin-top:32px;line-height:2.2}
.corp-intro .sig .name{font-family:"Shippori Mincho",serif;font-size:18px;letter-spacing:.18em;color:var(--ink);margin-left:14px}
.corp-intro .img{width:100%;aspect-ratio:4/5;overflow:hidden}
.corp-intro .img img{width:100%;height:100%;object-fit:cover;display:block}
.corp-tag{background:var(--ink);padding:clamp(64px,8vw,120px) 32px;text-align:center;color:#fff}
.corp-tag .en{font-family:"Jost",sans-serif;font-weight:300;font-size:clamp(28px,3.2vw,46px);letter-spacing:.32em;line-height:1.7;color:#fff;margin-bottom:14px}
.corp-tag .jp{font-family:"Shippori Mincho",serif;font-size:13px;letter-spacing:.36em;color:rgba(255,255,255,.6)}
.corp-info{padding:clamp(72px,9vw,140px) clamp(20px,4vw,52px);max-width:880px;margin:0 auto}
.corp-info .sec-head{text-align:center;margin-bottom:clamp(40px,5vw,72px)}
.corp-info .sec-head .eb{font-family:"Jost",sans-serif;font-weight:300;font-size:12px;letter-spacing:.5em;color:var(--accent);margin-bottom:18px}
.corp-info .sec-head h2{font-family:"Shippori Mincho",serif;font-weight:500;font-size:clamp(24px,2.6vw,34px);letter-spacing:.24em;color:var(--ink)}
.corp-info dl{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
.corp-info dl .row{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.corp-info dl dt{font-family:"Jost",sans-serif;font-weight:400;font-size:11px;letter-spacing:.36em;color:var(--accent);padding-top:4px}
.corp-info dl dt .ja{display:block;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.16em;color:var(--ink);margin-top:6px;line-height:1.6}
.corp-info dl dd{font-size:14px;line-height:2.1;letter-spacing:.08em;color:var(--ink);margin:0}
.corp-info dl dd .label{font-size:11.5px;letter-spacing:.16em;color:var(--ink-soft);display:inline-block;margin-bottom:4px}
.corp-info dl dd .tel{font-family:"Jost",sans-serif;font-size:18px;letter-spacing:.04em;font-weight:400}
.corp-info .svc-list{display:flex;flex-wrap:wrap;gap:8px}
.corp-info .svc-list span{display:inline-block;padding:7px 16px;border:1px solid var(--line);border-radius:999px;font-size:12px;letter-spacing:.1em;color:var(--ink);background:#fff}
.corp-map{padding:0 clamp(20px,4vw,52px) clamp(60px,7vw,100px);max-width:1100px;margin:0 auto}
.corp-map iframe{width:100%;height:360px;border:0;display:block;filter:grayscale(.3) contrast(.95)}
.corp-cta{background:var(--bg-deep);padding:clamp(80px,10vw,140px) 32px;text-align:center}
.corp-cta .eb{font-family:"Jost",sans-serif;font-weight:300;font-size:13px;letter-spacing:.45em;color:var(--accent);margin-bottom:16px}
.corp-cta h3{font-family:"Shippori Mincho",serif;font-weight:500;font-size:clamp(22px,2.4vw,32px);letter-spacing:.18em;line-height:1.9;margin-bottom:32px;color:var(--ink)}
.corp-cta .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.corp-cta .btn{display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:18px 28px;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.22em;text-decoration:none;border-radius:999px;transition:transform .25s ease,background .25s ease,color .25s ease}
.corp-cta .btn.fill{background:var(--ink);color:#fff;border:1px solid var(--ink)}
.corp-cta .btn.fill:hover{transform:translateY(-2px)}
.corp-cta .btn.outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.corp-cta .btn.outline:hover{background:var(--ink);color:#fff}
/* === PLACEHOLDER badges over images === */
.img-placeholder{position:relative}
.img-placeholder::after{content:none;display:none;position:absolute;top:14px;left:14px;background:rgba(45,55,68,.85);color:#fff;font-family:"Jost",sans-serif;font-weight:300;font-size:10.5px;letter-spacing:.28em;padding:7px 14px;text-transform:uppercase;z-index:5;pointer-events:none;border-radius:0;line-height:1.2}
.img-placeholder::before{content:none;display:none;position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0,transparent 14px,rgba(255,255,255,.06) 14px,rgba(255,255,255,.06) 16px);z-index:4;pointer-events:none;mix-blend-mode:overlay}
/* === STAFF SCENES === */
.corp-staff{padding:clamp(72px,9vw,140px) 0 clamp(60px,7vw,100px);background:linear-gradient(180deg,#fbf9f6 0%,#f6f3ee 100%);overflow:hidden}
.corp-staff-head{text-align:center;margin-bottom:clamp(56px,7vw,100px);padding:0 24px}
.corp-staff-head .eb{font-family:"Jost",sans-serif;font-weight:300;font-size:12px;letter-spacing:.5em;color:var(--accent);margin-bottom:18px}
.corp-staff-head h2{font-family:"Shippori Mincho",serif;font-weight:500;font-size:clamp(24px,2.6vw,34px);letter-spacing:.24em;color:var(--ink);line-height:1.7;margin-bottom:18px}
.corp-staff-head p{font-size:13.5px;line-height:2.2;color:var(--ink-soft);letter-spacing:.1em;max-width:680px;margin:0 auto}
.cs-block{width:100%;margin-bottom:clamp(60px,8vw,120px)}
.cs-block:last-of-type{margin-bottom:0}
.cs-row{display:grid;grid-template-columns:56.5% 43.5%;align-items:center;gap:0;width:100%}
.cs-row.rev{grid-template-columns:43.5% 56.5%}
.cs-row:not(.rev):not(.collage){padding-left:clamp(24px,11vw,160px)}
.cs-img-col{width:100%;aspect-ratio:16/10;max-height:640px;overflow:hidden;position:relative}
.cs-img-col img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
@supports not (aspect-ratio:16/10){.cs-img-col{height:0;padding-top:62.5%}}
.cs-img-col:hover img{transform:scale(1.04)}
.cs-text-col{padding:clamp(28px,4vw,64px) clamp(32px,5vw,80px)}
.cs-text-col .eb{font-family:"Jost",sans-serif;font-weight:400;font-size:11px;letter-spacing:.42em;color:var(--accent);margin-bottom:18px}
.cs-text-col h3{font-family:"Shippori Mincho",serif;font-weight:500;font-size:clamp(20px,2.2vw,28px);letter-spacing:.16em;line-height:1.9;color:var(--ink);margin-bottom:20px;word-break:keep-all;overflow-wrap:break-word;min-width:0}
.cs-text-col p{font-size:13.5px;line-height:2.2;letter-spacing:.08em;color:var(--ink-soft);word-break:keep-all;overflow-wrap:break-word;min-width:0}
.cs-row.rev .cs-img-col{order:2}
.cs-row.rev .cs-text-col{order:1}
/* Collage row variant: text + main + 2 stacked subs */
.cs-row.collage{grid-template-columns:34% 38% 28%;gap:8px;padding:0 8px}
.cs-row.collage .cs-img-col{aspect-ratio:1/1;max-height:520px}
@supports not (aspect-ratio:1/1){.cs-row.collage .cs-img-col{height:0;padding-top:100%}}
.cs-row.collage .cs-text-col h3{font-size:clamp(17px,1.7vw,22px);letter-spacing:.12em;line-height:1.85}
.cs-row.collage .cs-text-col p{font-size:12.5px;line-height:2}
.cs-row.collage .cs-text-col{padding:8px 24px}
.cs-row.collage .cs-img-sub{display:flex;flex-direction:column;gap:8px}
.cs-row.collage .cs-img-sub > div{width:100%;aspect-ratio:326/313;max-height:260px;overflow:hidden;position:relative}
.cs-row.collage .cs-img-sub img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
@supports not (aspect-ratio:326/313){.cs-row.collage .cs-img-sub > div{height:0;padding-top:95.9%}}
.cs-row.collage .cs-img-sub > div:hover img{transform:scale(1.04)}
@media (max-width:1023px){
  .cs-row,.cs-row.rev,.cs-row.collage{grid-template-columns:1fr;gap:24px}
  .cs-row{grid-template-columns:minmax(0, 1fr);}
  .cs-row:not(.rev):not(.collage){padding-left:0}
  .cs-row.collage{padding:0}
  .cs-row.rev .cs-img-col{order:0}.cs-row.rev .cs-text-col{order:1}
  .cs-row.collage .cs-img-sub{flex-direction:row}
  .cs-row.collage .cs-img-sub > div{flex:1}
  .cs-text-col{padding:24px 24px 32px}
}
@media (max-width:1023px){.corp-intro{grid-template-columns:1fr;padding:64px 24px 48px}.corp-intro .img{aspect-ratio:16/10;order:-1}.corp-info dl .row{grid-template-columns:1fr;gap:8px}.corp-info{padding:64px 24px}}
@media (max-width:767px){.corp-tag .en{font-size:24px;letter-spacing:.18em}.corp-tag .jp{font-size:11px;letter-spacing:.24em}.corp-cta .btn{width:100%;min-width:0}}
