/* Operator page: extends the existing APOCAL palette and shared components. */
.member-page { --member-accent:#b9430a; }
.member-page section[id] { scroll-margin-top:96px; }
.member-page a:focus-visible,.member-page button:focus-visible,.member-page summary:focus-visible { outline:3px solid #b9430a; outline-offset:5px; }
.member-skip { position:fixed;top:-80px;left:16px;z-index:200;background:#fff;padding:12px 20px; }
.member-skip:focus { top:12px; }
.member-page .nav { gap:20px;margin-left:auto; }
.member-page .nav a { font-size:.875rem; }
.member-page .nav .member-mobile-contact { display:none; }
.member-hero { padding:96px 0 0;background:linear-gradient(120deg,#fffaf5,#fff4e8); }
.member-breadcrumb { display:flex;gap:14px;align-items:center;font-size:.875rem;color:var(--muted); }
.member-breadcrumb-wrap { padding:24px 0;background:#fffaf5;border-top:1px solid #f0e1d5; }
.member-breadcrumb a:hover { color:var(--member-accent); }
.member-hero-grid { display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center; }
.member-kicker { color:var(--member-accent);font-family:Manrope,sans-serif;letter-spacing:.16em;font-size:.875rem;font-weight:800; }
.member-eyebrow { margin:14px 0 18px;font-size:.9375rem;font-weight:700; }
.member-hero h1 { font-size:clamp(2rem,3.35vw,2.8rem);line-height:1.5;letter-spacing:-.025em; }
.member-hero h1 em { color:var(--member-accent);font-style:normal; }
.member-lead { margin-top:22px;color:var(--ink-2);line-height:2; }
.member-track { display:flex;gap:22px;align-items:center;margin:24px 0; }
.member-track>span { font-weight:700; }
.member-track strong { font:800 3.4rem/1.2 Manrope,sans-serif;color:var(--member-accent); }
.member-track strong span { font:700 1.125rem "Noto Sans JP",sans-serif;margin-left:8px; }
.member-portrait { align-self:stretch;position:relative;min-height:600px;overflow:hidden;border-radius:140px 20px 20px 20px;background:#dce8e9; }
.member-portrait img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% center; }
.member-portrait figcaption { position:absolute;bottom:22px;left:22px;right:22px;background:rgba(255,255,255,.94);border-radius:12px;padding:20px 26px;display:grid;grid-template-columns:1fr auto;align-items:end; }
.member-portrait figcaption>span:first-child { grid-column:1/-1;font-size:.875rem;color:var(--ink-2); }
.member-portrait figcaption strong { font-size:1.65rem;letter-spacing:.1em; }
.member-roman { font:700 .8125rem Manrope,sans-serif;letter-spacing:.07em;color:var(--muted);padding-bottom:5px; }
.member-skills { margin-top:30px;padding:20px 0;display:flex;gap:24px;align-items:center;border-top:1px solid #e9dace; }
.member-skills>span { font-size:.875rem;font-weight:700;white-space:nowrap; }
.member-skills ul { display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none; }
.member-skills li { font-size:.875rem;color:var(--ink-2);border:1px solid #e3cdbb;background:rgba(255,255,255,.72);border-radius:999px;padding:4px 11px;line-height:1.5; }
.member-section { padding:96px 0; }
.member-section-head { margin-bottom:42px; }
.member-section-head h2 { font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.55;margin-top:12px; }
.member-section-head>p:last-child:not(.member-kicker) { color:var(--ink-2);margin-top:18px; }
.member-three { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.member-number { font:800 1.1rem Manrope,sans-serif;color:var(--member-accent); }
.member-problems { background:#fff; }
.member-problem { padding:28px;background:var(--bg-soft);border-top:2px solid #f4b38a;border-radius:0 0 12px 12px; }
.member-three h3 { font-size:1.125rem;line-height:1.7; }
.member-problem h3 { margin:20px 0 14px; }
.member-three p { color:var(--ink-2); }
#services { background:#fdfaf8; }
.member-service { display:grid;grid-template-columns:.8fr 1.6fr;gap:60px;padding:40px 0;border-top:1px solid #e4d9cf; }
.service-heading h3 { font-size:1.375rem;margin:12px 0 20px; }
.member-tags { display:flex;flex-wrap:wrap;list-style:none;gap:8px; }
.member-tags li { font-size:.875rem;border:1px solid #e4d9cf;padding:3px 10px;border-radius:5px;color:var(--ink-2); }
.service-content h4 { font-size:1.125rem;margin-bottom:12px; }
.service-content p { color:var(--ink-2);line-height:1.95; }
.service-content details { margin-top:22px;border:1px solid #e4d9cf;border-radius:10px;background:#fff; }
.service-content summary { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px;cursor:pointer;font-size:.9375rem;font-weight:700;list-style:none; }
.service-content summary::-webkit-details-marker { display:none; }
.service-content summary span { color:var(--member-accent);font-size:1.25rem; }
.service-content details[open] summary span { transform:rotate(45deg); }
.service-example { display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.7fr);gap:24px;align-items:start;padding:0 20px 22px; }
.service-example h5 { font-size:.9375rem;padding-top:18px;border-top:1px solid var(--line);margin-bottom:10px; }
.service-example img { width:100%;margin-top:18px;border-radius:8px;border:1px solid var(--line); }
.member-works { background:#2b1b12;color:#fff; }
.member-works .member-kicker { color:#ffba82; }
.member-works .member-section-head>p:last-child { color:#e2d2c7; }
.member-work { background:#fff;color:var(--ink);border-radius:14px;padding:30px 26px;display:flex;flex-direction:column; }
.work-category { font-size:.875rem;color:var(--ink-2);font-weight:700;margin-bottom:28px; }
.member-work h3 { font-size:1rem; }
.member-work .work-result { font:800 clamp(2.8rem,4.2vw,3.6rem)/1.4 Manrope,sans-serif;color:var(--member-accent);margin:8px 0; }
.work-result small { font:700 1.1rem "Noto Sans JP",sans-serif;margin-left:6px; }
.work-context { font-size:.9375rem;font-weight:700;min-height:54px; }
.member-work .work-message { margin-top:10px;color:var(--ink-2);font-size:.875rem;line-height:1.8; }
.member-work .work-scope { border-top:1px solid var(--line);margin:22px 0;padding-top:18px;font-size:.875rem; }
.member-reasons article { padding:0 24px 0 0;border-right:1px solid var(--line); }
.member-reasons article:last-child { border:0; }
.member-reasons h3 { margin:18px 0 16px;font-size:1.25rem; }
.member-reasons img { width:100%;margin-top:24px;border-radius:10px;border:1px solid var(--line); }
.member-flow { background:var(--bg-soft); }
.member-steps { list-style:none;counter-reset:step; }
.member-steps li { position:relative;border-top:2px solid #debb9f;padding-top:25px; }
.member-steps h3 { margin:14px 0; }
.step-label { display:inline-block;font-size:.875rem;color:var(--member-accent);background:#ffe5ce;border-radius:4px;padding:2px 10px;margin-bottom:12px;font-weight:700; }
.member-flow-cta { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:38px;padding:24px 28px;border-radius:12px;background:#fff;border:1px solid #ead9ca; }
.member-flow-cta strong,.member-flow-cta span { display:block; }
.member-flow-cta strong { font-size:1.0625rem; }
.member-flow-cta span { margin-top:3px;color:var(--muted);font-size:.875rem; }
.member-contact { text-align:center;background:linear-gradient(120deg,#9a3412,#c2410c);color:#fff; }
.member-contact .member-kicker { color:#ffdbbe; }
.member-contact h2 { margin:18px 0;font-size:clamp(2rem,4vw,3rem);line-height:1.5; }
.member-contact .btn { margin-top:32px;color:#9a3412; }
.member-email { display:flex;justify-content:center;flex-wrap:wrap;gap:8px 16px;margin-top:24px;font-size:.9375rem; }
.member-email a { text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere; }
@media(min-width:821px) and (max-width:1080px) { .member-page .header-inner { gap:14px; }.member-page .nav { gap:12px; }.member-page .header-actions .btn { padding:12px 16px;font-size:.875rem; }.member-page .brand-logo { height:30px; } }
@media(max-width:960px) { .member-hero-grid { gap:30px; }.member-portrait { min-height:560px; }.member-portrait figcaption { display:block;padding:18px; }.member-portrait figcaption>* { display:block; }.member-three { gap:16px; }.member-problem,.member-work { padding:24px 20px; }.member-service { gap:30px; }.member-hero h1 { font-size:2.05rem; } }
@media(max-width:820px) { .member-page .site-header.menu-open .header-actions { display:none; }.member-page .nav .member-mobile-contact { display:block;color:var(--member-accent);font-weight:700; }.member-page .site-header.menu-open .nav { max-height:calc(100dvh - 72px);overflow-y:auto; }.member-three { grid-template-columns:1fr;gap:24px; }.member-reasons article { border-right:0;border-bottom:1px solid var(--line);padding:0 0 26px; }.member-work .work-context { min-height:0; }.member-service { grid-template-columns:1fr;gap:22px; }.member-hero-grid { grid-template-columns:1.1fr 1fr;gap:22px; }.member-hero h1 { font-size:1.8rem; }.member-hero-copy>.btn { white-space:normal;font-size:.875rem;padding:14px 18px; }.member-portrait { min-height:530px;border-top-left-radius:90px; }.member-flow-cta { padding:22px; } }
@media(max-width:600px) { .member-hero { padding-top:82px; }.member-hero-grid { grid-template-columns:1fr;gap:30px; }.member-hero h1 { font-size:clamp(1.8rem,7.4vw,2.6rem); }.member-hero .member-kicker { font-size:.8125rem; }.member-hero-copy>.btn { font-size:.9375rem; }.member-portrait { min-height:0;aspect-ratio:1/1.12;border-radius:80px 16px 16px 16px; }.member-portrait img { object-position:50% 32%; }.member-portrait figcaption { display:grid; }.member-skills { margin-top:30px;align-items:flex-start;gap:16px; }.member-skills ul { gap:8px; }.member-section { padding:64px 0; }.member-section-head { margin-bottom:30px; }.member-section-head h2 { font-size:1.65rem; }.member-track { margin:20px 0; }.member-track strong { font-size:3rem; }.member-email { flex-direction:column; }.member-contact .btn { padding:16px 24px;font-size:1rem; }.service-example { grid-template-columns:1fr;padding-bottom:18px;gap:0; }.service-example img { margin-top:18px; }.member-flow-cta { display:block;text-align:center; }.member-flow-cta .btn { margin-top:18px;justify-content:center;width:100%; } }
/* Let the image itself establish the mobile grid row height. */
@media(max-width:600px) {
  .member-portrait { width:100%;min-width:0;min-height:0;aspect-ratio:auto;align-self:start; }
  .member-portrait img { position:static;inset:auto;width:100%;height:auto; }
  .member-portrait figcaption { position:static;margin:0 16px 16px;padding:16px; }
}
@media(prefers-reduced-motion:reduce) { .member-page { scroll-behavior:auto; }.member-page *, .member-page *::before, .member-page *::after { transition:none!important;animation:none!important; }.member-page .reveal { opacity:1;transform:none; }html:has(.member-page) { scroll-behavior:auto; } }
