/* ORIXON v5: company, services, and contact. Shared brand tokens come from foundation. */
.co5-page,.svc5-page { color:var(--brand-text,#eeeae0); font-family:var(--brand-font,Pretendard,system-ui,sans-serif); }
.co5-page :where(h1,h2,h3,p,dl,dt,dd,figure),.svc5-page :where(h1,h2,h3,p,dl,dt,dd,figure) { margin:0; }
.co5-page :where(ul,ol),.svc5-page :where(ul,ol) { margin:0; padding:0; list-style:none; }
.co5-page :where(div,section,aside,li),.svc5-page :where(div,section,aside,li) { min-width:0; }
.co5-hero { padding-top:clamp(50px,7vw,104px); padding-bottom:clamp(42px,6vw,88px); }
.co5-page-label { font-size:15px; line-height:1.6; color:var(--brand-muted,#b2b8b0); margin-bottom:28px !important; }
.co5-hero-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:clamp(36px,7vw,108px); align-items:end; }
.co5-hero h1 { font-size:clamp(38px,4.75vw,66px); font-weight:550; line-height:1.24; letter-spacing:-.045em; color:var(--brand-text,#eeeae0); }
.co5-hero-grid > p { font-size:17px; line-height:1.9; color:var(--brand-muted,#b2b8b0); max-width:35em; padding-bottom:4px; }
.co5-page .ox-link > svg,.svc5-page .ox-link > svg { display:inline-block; width:16px; height:16px; margin-left:5px; vertical-align:-3px; fill:none; stroke:currentColor; stroke-width:1.4; }
.co5-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.co5-profile,.co5-work,.co5-contact { padding-top:clamp(36px,5vw,70px); padding-bottom:clamp(60px,7vw,100px); }
.co5-profile { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:clamp(40px,8vw,120px); border-top:1px solid var(--brand-line,#39443d); }
.co5-profile-main h2,.co5-section-head h2 { font-size:clamp(27px,2.75vw,40px); font-weight:550; line-height:1.4; letter-spacing:-.035em; }
.co5-profile-main > p { max-width:42em; margin-top:27px; color:var(--brand-muted,#b2b8b0); font-size:17px; line-height:1.85; }
.co5-scope-list { margin-top:34px !important; }
.co5-scope-list > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:22px; padding:22px 0; border-top:1px solid var(--brand-line,#39443d); }
.co5-scope-list dt { font-size:16px; font-weight:550; color:var(--brand-text,#eeeae0); }
.co5-scope-list dd { font-size:16px; line-height:1.8; color:var(--brand-muted,#b2b8b0); }
.co5-company-record { padding:26px 0 0; border-top:2px solid var(--brand-accent,#94b8aa); }
.co5-company-name { display:block; font-size:22px; font-weight:550; line-height:1.5; letter-spacing:-.03em; }
.co5-company-en { color:var(--brand-muted,#b2b8b0); font-size:14px; line-height:1.7; margin-top:3px !important; }
.co5-company-record > dl { margin-top:26px; }
.co5-company-record > dl > div { padding:18px 0; border-top:1px solid var(--brand-line,#39443d); }
.co5-company-record dt { color:var(--brand-subtle,#89958b); font-size:14px; line-height:1.6; }
.co5-company-record dd { margin-top:6px; font-size:16px; line-height:1.7; }
.co5-company-record dd > span { display:block; margin-top:3px; font-size:14px; color:var(--brand-muted,#b2b8b0); }
.co5-company-record .co5-name-note { margin-top:24px; color:var(--brand-muted,#b2b8b0); font-size:14px; line-height:1.85; }
.co5-company-record .ox-link { margin-top:20px; font-size:14px; }

/* Principles are separate decisions; the delivery illustration is a reusable document asset. */
.co5-principles { background:var(--brand-surface,#1c211e); border-top:1px solid var(--brand-line,#39443d); border-bottom:1px solid var(--brand-line,#39443d); padding-block:clamp(50px,6vw,88px); }
.co5-section-head { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(30px,6vw,90px); margin-bottom:38px; align-items:start; }
.co5-section-head > p { font-size:17px; line-height:1.85; color:var(--brand-muted,#b2b8b0); max-width:43em; }
.co5-principle-list > article { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(30px,6vw,90px); padding:27px 0; border-top:1px solid var(--brand-line,#39443d); }
.co5-principle-list h3 { font-size:22px; font-weight:550; line-height:1.5; letter-spacing:-.03em; }
.co5-principle-list p { font-size:16px; line-height:1.9; color:var(--brand-muted,#b2b8b0); }
.co5-delivery { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(36px,5vw,70px); align-items:center; margin-top:52px; padding-top:45px; border-top:1px solid var(--brand-line,#39443d); }
.co5-delivery-copy h3 { font-size:25px; font-weight:550; line-height:1.4; letter-spacing:-.03em; }
.co5-delivery-copy > p { margin-top:20px; font-size:16px; line-height:1.9; color:var(--brand-muted,#b2b8b0); }
.co5-delivery-copy dl { margin-top:26px; }
.co5-delivery-copy dl > div { padding:12px 0; border-top:1px solid var(--brand-line,#39443d); }
.co5-delivery-copy dt { font-size:15px; font-weight:550; line-height:1.7; }
.co5-delivery-copy dd { font-size:14px; line-height:1.75; color:var(--brand-muted,#b2b8b0); margin-top:3px; }
.co5-delivery-figure { min-width:0; }
.co5-delivery-figure > img { display:block; width:100%; height:auto; border:1px solid var(--brand-line,#39443d); background:var(--brand-bg,#131614); }
.co5-delivery-figure > figcaption { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-top:12px; font-size:14px; color:var(--brand-muted,#b2b8b0); }
.co5-delivery-figure .ox-link { min-height:44px; padding:9px 0; white-space:nowrap; font-size:14px; }

/* Experience is explicitly personnel experience, with deliverables rather than pseudo-KPIs. */
.co5-work .co5-section-head { margin-bottom:42px; }
.co5-cases > li { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(30px,6vw,90px); padding:34px 0; border-top:1px solid var(--brand-line,#39443d); }
.co5-cases h3 { font-size:24px; font-weight:550; line-height:1.45; letter-spacing:-.035em; }
.co5-cases p { font-size:16px; line-height:1.85; color:var(--brand-muted,#b2b8b0); }
.co5-cases dl { margin-top:18px; }
.co5-cases dt { font-size:14px; color:var(--brand-subtle,#89958b); }
.co5-cases dd { font-size:15px; line-height:1.85; margin-top:5px; color:var(--brand-text,#eeeae0); }

/* Services: each scene provides one working model, followed by exactly three concrete outputs. */
.svc5-index { display:flex; flex-wrap:wrap; gap:0 32px; margin-top:48px; border-top:1px solid var(--brand-line,#39443d); border-bottom:1px solid var(--brand-line,#39443d); }
.svc5-index a { display:inline-flex; align-items:center; min-height:56px; padding:13px 0; color:var(--brand-muted,#b2b8b0); font-size:15px; line-height:1.7; text-decoration:none; }
.svc5-index a:hover { color:var(--brand-text,#eeeae0); text-decoration:underline; text-underline-offset:7px; }
.svc5-index a:focus-visible,.co5-contact-address:focus-visible { outline:2px solid var(--brand-accent,#94b8aa); outline-offset:5px; }
.svc5-item { scroll-margin-top:110px; padding-bottom:clamp(60px,8vw,116px); }
.svc5-item + .svc5-item { padding-top:clamp(40px,5vw,70px); border-top:1px solid var(--brand-line,#39443d); }
.svc5-heading { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:start; gap:clamp(32px,6vw,88px); margin-bottom:30px; }
.svc5-heading h2 { font-size:clamp(25px,2.8vw,40px); line-height:1.38; letter-spacing:-.035em; font-weight:550; max-width:15em; }
.svc5-heading > p { font-size:17px; line-height:1.9; color:var(--brand-muted,#b2b8b0); max-width:43em; }
.svc5-figure > img { display:block; width:100%; height:auto; background:var(--brand-bg,#131614); border:1px solid var(--brand-line,#39443d); }
.svc5-figure figcaption { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-top:18px; }
.svc5-figure figcaption p { color:var(--brand-muted,#b2b8b0); font-size:15px; line-height:1.8; max-width:57em; }
.svc5-figure figcaption > div > span { display:block; margin-top:6px; color:var(--brand-subtle,#89958b); font-size:13px; line-height:1.7; }
.svc5-figure .svc5-art-link { flex:0 0 auto; min-height:44px; padding:8px 0; white-space:nowrap; font-size:14px; }
.svc5-outputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding-top:26px !important; margin-top:24px !important; border-top:1px solid var(--brand-line,#39443d); }
.svc5-outputs > li + li { border-left:1px solid var(--brand-line,#39443d); padding-left:28px; }
.svc5-outputs h3 { font-size:19px; line-height:1.55; font-weight:550; letter-spacing:-.025em; }
.svc5-outputs p { font-size:15px; line-height:1.85; margin-top:9px; color:var(--brand-muted,#b2b8b0); }
.svc5-detail-link { margin-top:28px; font-size:15px; }

/* The actual contact destination is email. No simulated form controls. */
.co5-contact-lede { max-width:38em; margin-top:26px !important; color:var(--brand-muted,#b2b8b0); font-size:17px; line-height:1.85; }
.co5-contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(42px,8vw,120px); border-top:1px solid var(--brand-line,#39443d); }
.co5-contact h2 { font-size:25px; line-height:1.5; font-weight:550; letter-spacing:-.035em; }
.co5-contact-action > p:first-of-type { font-size:17px; line-height:1.85; color:var(--brand-muted,#b2b8b0); margin-top:22px; max-width:28em; }
.co5-contact-primary { margin-top:30px; width:100%; max-width:380px; min-height:52px; gap:28px; }
.co5-contact-primary > svg { flex-shrink:0; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.co5-contact-address { display:block; width:fit-content; font-size:clamp(20px,2vw,28px); line-height:1.6; letter-spacing:-.02em; margin-top:18px; color:var(--brand-text,#eeeae0); }
.co5-contact-address:hover { text-decoration:underline; text-underline-offset:5px; }
.co5-contact-action .co5-contact-company { margin-top:36px; padding-top:22px; border-top:1px solid var(--brand-line,#39443d); color:var(--brand-muted,#b2b8b0); font-size:14px; line-height:1.85; }
.co5-contact-preparation dl { margin-top:24px; }
.co5-contact-preparation dl > div { padding:19px 0; border-top:1px solid var(--brand-line,#39443d); }
.co5-contact-preparation dt { font-size:17px; line-height:1.6; font-weight:550; }
.co5-contact-preparation dd { margin-top:7px; font-size:16px; line-height:1.85; color:var(--brand-muted,#b2b8b0); }
.co5-contact-preparation > p { margin-top:20px; font-size:14px; line-height:1.9; color:var(--brand-muted,#b2b8b0); }

@media (max-width:1000px) {
  .co5-hero-grid { grid-template-columns:1fr; gap:24px; }
  .co5-hero-grid > p { max-width:46em; }
  .co5-profile { grid-template-columns:minmax(0,1fr) minmax(0,.7fr); gap:40px; }
  .co5-delivery { grid-template-columns:1fr; gap:30px; }
  .co5-delivery-copy { max-width:52em; }
  .co5-delivery-copy dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
  .co5-section-head,.co5-principle-list > article,.co5-cases > li { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:30px; }
  .svc5-heading { grid-template-columns:1fr; gap:20px; }
  .svc5-heading h2 { max-width:none; }
  .svc5-index { gap:0 26px; }
}
@media (max-width:700px) {
  .co5-hero { padding-top:44px; padding-bottom:42px; }
  .co5-page-label { margin-bottom:22px !important; font-size:14px; }
  .co5-hero h1 { font-size:clamp(32px,8.8vw,46px); line-height:1.3; }
  .co5-hero-grid > p,.co5-contact-lede { font-size:16px; line-height:1.85; }
  .co5-profile,.co5-contact { grid-template-columns:1fr; gap:40px; padding-top:35px; padding-bottom:56px; }
  .co5-profile-main h2,.co5-section-head h2 { font-size:28px; line-height:1.45; }
  .co5-profile-main > p { font-size:16px; margin-top:20px; }
  .co5-scope-list > div { grid-template-columns:70px minmax(0,1fr); gap:16px; padding:20px 0; }
  .co5-scope-list dt,.co5-scope-list dd { font-size:15px; }
  .co5-company-record { padding-top:22px; }
  .co5-principles { padding-block:42px; }
  .co5-section-head,.co5-principle-list > article,.co5-cases > li { grid-template-columns:1fr; gap:16px; }
  .co5-section-head { margin-bottom:28px; }
  .co5-section-head > p { font-size:16px; line-height:1.85; }
  .co5-principle-list > article { padding-block:24px; }
  .co5-principle-list h3,.co5-cases h3 { font-size:22px; }
  .co5-cases h3 br { display:none; }
  .co5-delivery { margin-top:25px; padding-top:28px; }
  .co5-delivery-copy dl { grid-template-columns:1fr; }
  .co5-delivery-copy h3 { font-size:23px; }
  .co5-delivery-figure > figcaption { gap:10px; }
  .co5-work { padding-top:44px; padding-bottom:50px; }
  .co5-work .co5-section-head { margin-bottom:28px; }
  .co5-cases > li { padding:25px 0; }
  .svc5-index { gap:0 22px; margin-top:30px; }
  .svc5-index a { min-height:48px; font-size:14px; padding:10px 0; }
  .svc5-heading { margin-bottom:24px; gap:17px; }
  .svc5-heading h2 { font-size:27px; }
  .svc5-heading > p { font-size:16px; line-height:1.85; }
  .svc5-item { padding-bottom:52px; }
  .svc5-item + .svc5-item { padding-top:35px; }
  .svc5-figure figcaption { display:block; padding-top:15px; }
  .svc5-figure figcaption p { font-size:15px; }
  .svc5-figure .svc5-art-link { margin-top:8px; }
  .svc5-outputs { grid-template-columns:1fr; gap:0; margin-top:20px !important; padding-top:0 !important; }
  .svc5-outputs > li { padding:20px 0; }
  .svc5-outputs > li + li { border-left:0; border-top:1px solid var(--brand-line,#39443d); padding-left:0; }
  .svc5-outputs h3 { font-size:18px; }
  .svc5-outputs p { margin-top:6px; font-size:15px; }
  .svc5-detail-link { margin-top:10px; font-size:14px; }
  .co5-contact h2 { font-size:24px; }
  .co5-contact-action > p:first-of-type { font-size:16px; }
  .co5-contact-primary { max-width:none; }
  .co5-contact-address { font-size:23px; }
  .co5-contact-preparation { padding-top:30px; border-top:1px solid var(--brand-line,#39443d); }
}
@media print {
  .co5-page,.svc5-page { color:#202923; }
  .svc5-art-link,.co5-delivery-figure .ox-link { display:none; }
  .svc5-figure,.co5-delivery-figure,.svc5-outputs > li,.co5-cases > li { break-inside:avoid; }
}
