/* Real project screens carry the page; copy explains the choice beside them. */
.project-proof { min-width:0; margin:0; }
.project-proof>a { display:block; }
.proof-image { overflow:hidden; border-radius:12px; background:#e5e1ec; }
.proof-image img { display:block; width:100%; height:auto; aspect-ratio:1.6; object-fit:contain; transition:transform .65s var(--ease-out); }
.project-proof a:hover .proof-image img { transform:scale(1.015); }
.project-proof figcaption { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:15px 0 0; color:var(--detail-ink); font-size:13px; line-height:1.5; }
.project-proof figcaption>span:last-child { display:inline-flex; align-items:center; gap:12px; white-space:nowrap; }
.project-proof figcaption svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; flex-shrink:0; }
.studio-stage { min-width:0; background:#e4def0; padding:24px; border-radius:24px; }
.studio-screen-track { display:flex; gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#b3a6c4 transparent; }
.studio-screen { min-width:0; flex:0 0 100%; scroll-snap-align:start; }
.studio-screen .proof-image img { aspect-ratio:1.35; object-fit:contain; }
.studio-screen .proof-image { background:#d4cce4; }
.studio-screen figcaption { padding-bottom:14px; }
.studio-switch { display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; }
.studio-switch[hidden] { display:none; }
.studio-switch button { min-height:44px; padding:10px 16px; border:1px solid #c3b6d6; border-radius:30px; background:transparent; color:#493565; font:600 13px Pretendard,sans-serif; cursor:pointer; transition:background .2s,color .2s; }
.studio-switch button[aria-pressed="true"] { background:#493565; border-color:#493565; color:white; }
.studio-switch button:hover { border-color:#493565; }
.about-hero { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:48px; }
.about-hero h1 { font-size:clamp(42px,3.85vw,56px); }
.about-hero .about-lead { font-size:19px; }
.studio-context { margin-bottom:24px; border-top:1px solid var(--detail-line); }
.studio-context summary { display:flex; justify-content:space-between; gap:20px; align-items:center; min-height:60px; cursor:pointer; list-style:none; font-size:15px; font-weight:600; }
.studio-context summary::-webkit-details-marker { display:none; }
.studio-context summary>span:not(.copy-text) { font-size:24px; transition:transform .25s; }
.studio-context[open] summary>span:not(.copy-text) { transform:rotate(45deg); }
.studio-context-body { display:grid; grid-template-columns:1fr 1fr; gap:24px 48px; padding-bottom:28px; }
.studio-context-body p { font-size:17px; color:var(--detail-muted); line-height:1.8; }
.studio-context-body>a { grid-column:1/-1; justify-self:start; }
.about-path-band { background:#d9f2f7; }
.about-path-band .about-section-head { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; max-width:none; align-items:end; }
.about-path-band .eyebrow { grid-column:1/-1; }
.about-path-band .about-section-head>p:not(.eyebrow) { margin-bottom:3px; }
.about-path { gap:0; border-radius:18px; background:#f5fcfd; overflow:hidden; }
.about-path li { padding:24px; border:0; border-right:1px solid #bedfe6; }
.about-path li:last-child { border-right:0; }
.about-path li>span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#c9e9f0; color:#24596a; }
.about-path h3 { font-size:23px; }
.about-path p { font-size:16px; }
.method-panel { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:auto 1fr; gap:22px 40px; padding-right:0; }
.method-panel>p { grid-column:1; grid-row:1; }
.method-panel .method-output { grid-column:1; grid-row:2; align-self:start; border:0; padding:0; }
.method-proof { grid-column:2; grid-row:1/3; align-self:start; }
.about-page #principles { background:#302440; padding:48px; border-radius:24px; margin-top:80px; color:white; }
.about-page #principles .eyebrow { color:#c5b8db; }
.about-page #principles .about-section-head { margin-bottom:40px; }
.about-principles article { border-color:#79688f; }
.about-principles p { color:#e0d8e8; }
.about-cases { grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 32px; align-items:start; }
.about-case { display:block; min-width:0; }
.about-case:first-child { grid-column:1/-1; }
.about-case:first-child .about-case-image img { aspect-ratio:2; object-fit:contain; background:#e5ece8; }
.about-case:not(:first-child) .about-case-image img { aspect-ratio:1.6; object-fit:contain; }
.about-case>div { margin-top:24px; }
.about-case:first-child>div { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
.about-case:first-child .about-case-label { grid-column:1/-1; }
.about-case:first-child h3 { grid-column:1; }
.about-case:first-child p:not(.about-case-label) { grid-column:2; grid-row:2/4; }
.about-case:first-child .text-link { grid-column:1; justify-self:start; margin-top:4px; }
.visual-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:56px; align-items:center; margin-bottom:64px; }
.visual-intro>.content-intro { display:block; border:0; padding:0; margin:0; }
.visual-intro .content-intro h1 { font-size:clamp(36px,3.35vw,48px); }
.visual-intro .content-intro .content-answer { font-size:20px; line-height:1.75; }
.visual-intro .content-intro .section-lead { font-size:17px; margin-top:22px; }
.visual-intro .content-intro>.button { margin-top:24px; }
.intro-proof { background:#e6edf2; padding:24px; border-radius:24px; }
.service-intro .intro-proof { background:#ccebf2; }
.intro-proof .proof-image img { aspect-ratio:1.3; object-fit:contain; }
.intro-proof .proof-image { background:transparent; }
.reading-intro .intro-proof { background:#e6e0ee; }
.reading-intro .content-byline { margin-top:24px; }
.service-visual-row { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:56px; align-items:center; padding-block:42px; }
.service-visual-row:nth-of-type(even) { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); }
.service-visual-row:nth-of-type(even) .service-proof { grid-column:2; grid-row:1; }
.service-visual-row:nth-of-type(even) .service-row-copy { grid-column:1; grid-row:1; }
.service-visual-row h3 { margin-bottom:20px; }
.service-proof .proof-image { background:#e1e7ec; }
.service-renewal { background:#e5dff0; border-radius:20px; border:0; padding:36px; margin-top:24px; }
.guide-card-list { gap:36px 28px; }
.guide-card { border:0; padding-top:0; }
.guide-visual,.industry-visual { position:relative; display:block; overflow:hidden; border-radius:14px; background:#e5e3e9; margin-bottom:24px; }
.guide-visual img,.industry-visual img { width:100%; height:auto; aspect-ratio:1.6; object-fit:contain; display:block; transition:transform .65s var(--ease-out); }
.guide-card:hover .guide-visual img,.industry-visual:hover img { transform:scale(1.025); }
.guide-visual>span,.industry-visual>span { position:absolute; left:12px; bottom:12px; max-width:calc(100% - 24px); padding:6px 10px; font-size:12px; line-height:1.5; border-radius:16px; background:#ffffffee; color:#302440; }
.guide-card h3 { font-size:24px; }
.page-guides .guide-card-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 32px; }
.page-guides .guide-card:first-child { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); grid-template-rows:1fr auto 1fr; gap:16px 40px; align-content:center; padding-bottom:16px; }
.page-guides .guide-card:first-child .guide-visual { grid-column:1; grid-row:1/4; margin:0; }
.page-guides .guide-card:first-child h3 { grid-column:2; font-size:28px; align-self:end; margin:0; }
.page-guides .guide-card:first-child p,.page-guides .guide-card:first-child>.text-link { grid-column:2; }
.page-guides .guide-card:first-child>.text-link { align-self:start; margin-top:0; }
.industry-directory { gap:44px 32px; }
.industry-entry { border:0; padding:0; }
.industry-entry h2 { font-size:24px; }
.industry-entry .industry-visual { margin-bottom:20px; }
.proof-image img[src*="/industry-"],.industry-visual img[src*="/industry-"] { object-fit:cover; object-position:top; }
.page-industries .case-guide-links { margin-top:48px; }
.content-case-list { gap:28px; }
.content-case { display:block; border:0; padding:0; overflow:hidden; }
.content-case>img { width:100%; max-width:none; border-radius:12px; aspect-ratio:1.6; object-fit:contain; background:#e5e3e9; }
.content-case>div { padding-top:20px; }
.content-case h3 { margin-top:0; }
.home-proof { margin-block:28px; max-width:580px; }
.page-home .selected-grid .work-card:is(:first-child,:last-child) { grid-column:1/-1; margin:0; }
.page-home .selected-grid .work-card:is(:first-child,:last-child) .work-image { aspect-ratio:1.95; background:#dadbe0; }
.page-home .selected-grid .work-card:is(:first-child,:last-child) .work-image img { object-fit:contain; }
.page-home .selected-grid .work-card:first-child .work-caption { padding-top:20px; }
.page-home .selected-grid .work-card:first-child h3 { font-size:32px; }
@media(min-width:1101px) {
  .page-home .selected-grid .work-card:nth-child(even):not(:last-child) { margin-top:0; margin-bottom:64px; }
  .page-home .selected-grid .work-card:nth-child(odd):not(:first-child) { margin-top:64px; margin-bottom:0; }
}
@media(max-width:1279px) {
  .about-path { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-path li { border-bottom:1px solid #bedfe6; }
  .about-path li:nth-child(even) { border-right:0; }
  .about-path li:nth-child(n+3) { border-bottom:0; }
}
@media(max-width:1100px) {
  .about-hero,.visual-intro { gap:32px; }
  .about-hero { grid-template-columns:1fr 1fr; }
  .about-hero h1 { font-size:43px; }
  .about-hero .about-lead { font-size:17px; }
  .studio-stage,.intro-proof { padding:18px; }
  .studio-switch button { font-size:12px; padding-inline:12px; }
  .about-page #principles { padding:32px; }
  .about-principles { grid-template-columns:1fr; gap:28px; }
  .about-principles article { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
  .about-principles h3 { font-size:25px; }
  .method-panel { gap:22px 28px; }
  .service-visual-row { gap:32px; grid-template-columns:1fr 1fr; }
  .service-visual-row:nth-of-type(even) { grid-template-columns:1fr 1fr; }
  .visual-intro .content-intro h1 { font-size:36px; }
  .visual-intro .content-intro .content-answer { font-size:18px; }
  .visual-intro .content-intro .section-lead { font-size:16px; }
  .guide-card-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
  .about-hero,.visual-intro { grid-template-columns:1fr; }
  .about-hero { gap:32px; }
  .about-hero>div:first-child,.visual-intro>.content-intro { display:contents; }
  .visual-intro .content-intro>* { grid-column:1; min-width:0; }
  .about-hero>div:first-child>.eyebrow { order:0; margin:0; }
  .about-hero h1 { order:1; }
  .about-hero .studio-stage { order:2; }
  .about-hero .about-lead { order:3; margin:0; }
  .about-hero .content-actions { order:4; margin-top:0; }
  .visual-intro .content-intro>.eyebrow { order:0; margin:0; }
  .visual-intro .content-intro>h1 { order:1; margin:0; }
  .visual-intro .intro-proof { order:2; }
  .visual-intro .content-intro>.content-answer { order:3; margin:0; }
  .visual-intro .content-intro>.section-lead { order:4; margin:0; }
  .visual-intro .content-intro>.button,.visual-intro .content-intro>.case-guide-links { order:5; margin:0; }
  .visual-intro .content-intro>.content-byline { order:6; margin:0; }
  .reading-intro .content-intro>.content-answer { order:2; }
  .reading-intro .intro-proof { order:3; }
  .studio-stage { max-width:700px; width:100%; }
  .studio-screen .proof-image img { aspect-ratio:1.6; }
  .intro-proof .proof-image img { aspect-ratio:1.6; }
  .method-panel { grid-template-columns:1fr; grid-template-rows:none; }
  .method-panel>p,.method-panel .method-output,.method-proof { grid-column:auto; grid-row:auto; }
  .method-panel .method-output { order:3; }
  .method-proof { max-width:640px; }
  .about-path-band .about-section-head { display:block; }
  .about-path { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-path li { border-bottom:1px solid #bedfe6; }
  .about-path li:nth-child(even) { border-right:0; }
  .about-path li:nth-child(n+3) { border-bottom:0; }
  .service-visual-row,.service-visual-row:nth-of-type(even) { grid-template-columns:1fr; gap:24px; }
  .service-visual-row:nth-of-type(even) .service-proof,.service-visual-row:nth-of-type(even) .service-row-copy { grid-column:auto; grid-row:auto; }
  .visual-intro { margin-bottom:44px; }
}
@media(max-width:700px) {
  .studio-context-body { grid-template-columns:1fr; gap:20px; }
  .about-principles article { display:block; }
  .about-cases { grid-template-columns:1fr; gap:40px; }
  .about-case:first-child>div { display:block; }
  .about-case:first-child .about-case-image img { aspect-ratio:1.6; }
  .about-case:first-child .text-link { margin-top:20px; }
  .guide-card-list,.industry-directory { grid-template-columns:1fr; }
  .page-guides .guide-card-list { grid-template-columns:1fr; }
  .page-guides .guide-card:first-child { display:block; padding:0; }
  .page-guides .guide-card:first-child .guide-visual { margin-bottom:24px; }
  .page-guides .guide-card:first-child h3 { font-size:24px; margin-bottom:16px; }
  .page-guides .guide-card:first-child>.text-link { margin-top:16px; }
}
@media(max-width:540px) {
  .about-hero h1 { font-size:38px; }
  .about-hero .about-lead { font-size:18px; }
  .studio-stage { padding:14px; border-radius:18px; }
  .studio-switch { gap:4px; margin-top:12px; }
  .studio-switch button { padding-inline:11px; font-size:12px; }
  .project-proof figcaption { font-size:12px; gap:10px; }
  .project-proof figcaption>span:last-child { gap:6px; }
  .proof-image { border-radius:8px; }
  .studio-context-body p { font-size:16px; }
  .about-path { grid-template-columns:1fr; }
  .about-path li { display:grid; grid-template-columns:32px minmax(0,1fr); gap:10px 14px; align-items:center; padding:20px; border-right:0; }
  .about-path li:nth-child(n+3) { border-bottom:1px solid #bedfe6; }
  .about-path li:last-child { border-bottom:0; }
  .about-path h3 { font-size:21px; }
  .about-path h3 { margin:0; }
  .about-path p { font-size:16px; grid-column:1/-1; }
  .about-path p .copy-line { text-wrap:balance; }
  .about-page #principles { margin-top:56px; padding:28px 22px; border-radius:18px; }
  .about-principles h3 { font-size:23px; }
  .about-principles p { font-size:16px; }
  .about-page #principles .about-section-head { margin-bottom:28px; }
  .about-case>div { margin-top:20px; }
  .about-case h3 { font-size:26px; }
  .intro-proof { padding:14px; border-radius:18px; }
  .visual-intro .content-intro h1 { font-size:35px; }
  .service-visual-row { padding-block:30px; }
  .service-visual-row h3 { font-size:26px; margin-bottom:16px; }
  .service-renewal { padding:28px 20px; }
  .guide-card h3,.industry-entry h2 { font-size:23px; }
  .page-home .selected-grid .work-card:is(:first-child,:last-child) .work-image { aspect-ratio:1.6; }
  .page-home .selected-grid .work-card:first-child h3 { font-size:25px; }
}
@media(max-width:359px) {
  .about-hero h1 { font-size:33px; }
  .about-hero .about-lead { font-size:17px; }
  .visual-intro .content-intro h1 { font-size:31px; }
  .studio-switch button { font-size:11px; padding-inline:9px; }
  .about-path li { padding:18px 12px; }
  .about-path h3 { font-size:19px; }
  .about-path p { font-size:15px; }
  .about-page #principles { padding-inline:14px; }
  .about-principles .copy-prose .copy-text>.copy-line { text-wrap:balance; }
}
@media(prefers-reduced-motion:reduce) {
  .proof-image img,.guide-visual img,.industry-visual img,.studio-switch button,.studio-context summary>span:not(.copy-text) { transition:none; }
}
