:root{--bg-cream:#FAF8F2;--text-soft:#2B2B2B;--accent-night:#212635;--watercolor-green:#7CB342;--sky:#4FC3F7;--pink:#F48FB1;--font-whumsical:'Quicksand','Trebuchet MS',sans-serif;--line:#dedfd2;--muted:#62695e;--radius:15px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg-cream);color:var(--text-soft);font:16px/1.65 var(--font-whumsical);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23999372' opacity='.045' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button,a,select{cursor:pointer}button{color:inherit}button,a{transition:transform .2s ease-out,background-color .2s,box-shadow .2s}button:hover,.button:hover{transform:translateY(-2px)}button:active,.button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button{border:0;background:none}a:hover{color:#456333}img{max-width:100%;display:block}svg{stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,4.4vw,4rem);font-weight:700;margin-bottom:26px}h1 em{font-style:normal;color:#66834d}h2{font-size:clamp(2rem,3.4vw,3rem);font-weight:700}h3{font-size:1.4rem}p{max-width:72ch}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-night);outline-offset:4px}.wrap{max-width:1280px;padding:0 32px;margin:auto}.section{padding-top:clamp(64px,8vw,112px);padding-bottom:32px}.eyebrow{font-size:14px;letter-spacing:.17em;font-weight:700;color:#64715d;margin-bottom:22px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7b9a5e;margin-right:8px}header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px max(24px,calc((100vw - 1216px)/2));background:#faf8f2f2;border-bottom:1px solid #dedfd280;backdrop-filter:blur(12px)}.brand{font-size:23px;letter-spacing:-.03em;font-weight:700;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.brand svg{width:32px;fill:none;stroke:#6b8658;stroke-width:1.8}.brand span{width:100%;font-size:14px;letter-spacing:.19em;color:var(--muted);padding-left:41px;margin-top:-8px}nav{display:flex;align-items:center;gap:30px;font-size:14px}.button,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 22px;border-radius:15px;font-size:14px;font-weight:700}.button{background:var(--accent-night);color:#faf8f2}.button:hover{color:white;box-shadow:0 5px 12px #21263520;background:#30394b}.button.small{padding:10px 17px}.ghost{border:1.5px solid #bdc5b5}.ghost:hover{background:#e9eddf}.hero{display:grid;grid-template-columns:1fr 1.08fr;gap:20px;align-items:center;min-height:640px;padding-top:50px;padding-bottom:40px}.intro{font-size:17px;line-height:1.8;color:#62695e;max-width:510px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}.hero-note{font-size:14px;color:#7b8273;margin-top:30px}.map-art{position:relative}.map-art>svg{width:100%;height:auto;filter:drop-shadow(0 16px 22px #647b4910)}.map-label{position:absolute;background:#fffdf4ed;box-shadow:0 5px 16px #3c4c3412;border:1px solid #e4e4d4;padding:9px 14px;border-radius:12px;font-size:14px;font-weight:700}.map-label span{color:#7b925e;margin-right:9px}.label-one{left:6%;top:49%}.label-two{right:5%;top:32%}.label-three{right:4%;bottom:19%}.map-caption{position:absolute;bottom:0;width:100%;left:0;text-align:center;font-size:14px;letter-spacing:.15em;color:#7c8770}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:22px;padding-bottom:22px;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted)}.ribbon span:last-child{font-size:14px;letter-spacing:.12em}.ribbon i{padding:0 10px}.section-head{max-width:740px;margin-bottom:38px}.section-head h2{margin-bottom:20px}.section-head>p:last-child{color:var(--muted)}.capabilities{display:grid;grid-template-columns:1.2fr 1fr 1.05fr;gap:22px}.capabilities article{border:1px solid #dfe4d5;border-radius:30px;padding:30px;background:#eef1e5;box-shadow:0 2px 12px #00000006}.capabilities article:nth-child(2){background:#edf2f1;transform:none}.capabilities article:nth-child(3){background:#f5ede8}.icon svg{width:35px;height:35px;stroke:#687f52;fill:none;stroke-width:1.4;margin-bottom:22px}.capabilities p{font-size:14px;color:var(--muted)}.tag{font-size:14px;letter-spacing:.15em}.case{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding:45px 0;position:relative}.case:nth-child(even) .case-image{order:2}.case-image{background:#e8eddf;padding:18px;border-radius:30px;position:relative}.case-image img{width:100%;height:320px;object-fit:cover;object-position:top;border-radius:15px}.case-image .number{position:absolute;left:-13px;top:-15px;background:#f7f3e7;border:1px solid #d4dcc7;border-radius:50%;height:46px;width:46px;display:grid;place-items:center;font-size:14px}.case p{color:var(--muted);font-size:15px}.case h3{font-size:29px}.case .outcome{border-left:2px solid #99ad7d;padding-left:18px;margin-top:25px;font-size:14px;color:#536446}.text-link{padding:0 0 5px;border-bottom:1px solid #aab696;font-weight:700;font-size:14px}.film-section{background:#eaf0e680;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-bottom:60px;margin-top:70px}#films-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.film-card{background:#faf8f2;padding:18px;border-radius:25px;border:1px solid var(--line)}video{width:100%;display:block;aspect-ratio:16/9;background:#212635;border-radius:15px}.film-card h3{font-size:17px;margin:20px 0 7px}.film-card p{font-size:14px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.filters button,.view-tools button{border:1px solid #d5dbc9;border-radius:15px;padding:9px 14px;font-size:14px}.filters button.active{background:#dfe8d2;border-color:#99ad7d}.search-row{display:flex;align-items:end;gap:20px;margin-bottom:28px}.search-row label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--muted)}input,select{padding:12px 15px;border:1px solid #cdd4c3;border-radius:12px;background:#fdfcf7;max-width:100%;color:var(--text-soft)}input{width:300px}#count{margin-left:auto;font-size:14px;color:var(--muted);padding-bottom:15px}#work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 30px}.work-card{text-align:left;padding:0}.work-image{height:285px;background:#e7ebdf;padding:15px;border-radius:24px;overflow:hidden}.work-image img{width:100%;height:100%;object-fit:contain;border-radius:10px}.work-meta{font-size:14px;letter-spacing:.09em;color:#6d7a61;margin:18px 0 8px}.work-card h3{font-size:21px;margin-bottom:8px}.work-card p{font-size:14px;color:var(--muted)}.more{margin:35px auto 0;display:flex}#empty{padding:40px;background:#eef1e5;border-radius:20px}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px}.ai-note{background:#edf0e3;border:1px solid #d7deca;border-radius:30px;padding:36px;transform:rotate(1deg)}.ai-note h3{font-size:30px;margin-top:20px}.ai-note p{font-size:14px}.career{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:20px;margin-top:45px}.career article{border:1px solid var(--line);padding:28px;border-radius:20px}.career .highlight{background:#e8eddf;border-color:#a9b892}.career span{font-size:14px;letter-spacing:.15em;color:#6c7c5b}.career h3{font-size:19px;margin:18px 0}.career p{font-size:14px;color:var(--muted)}.quotes{display:grid;grid-template-columns:1.05fr 1.2fr 1fr;gap:20px}blockquote{margin:0;border-top:2px solid #b4c59b;padding:25px 8px}blockquote p{font-size:17px}cite{font-size:14px;color:var(--muted);font-style:normal}.final-cta{background:radial-gradient(ellipse at 10% 90%,#dce6cb 0,transparent 50%),radial-gradient(ellipse at 90% 10%,#e3edec 0,transparent 50%),#f0f2e8;border:1px solid #dfe3d5;border-radius:45px;text-align:center;padding:65px 35px;margin-top:90px;margin-bottom:75px}.final-cta p{margin-left:auto;margin-right:auto}.final-cta .ghost{margin-left:10px}footer{padding-bottom:30px!important}.footer-top{display:flex;gap:50px;align-items:start;padding:30px 0;border-top:1px solid var(--line)}.footer-top p{font-size:14px;color:var(--muted)}.footer-top nav{margin-left:auto}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}.footer-bottom>div{display:flex;gap:20px}.footer-bottom button{font-size:14px;padding:0}#share svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:middle;margin-right:7px}.skip{position:fixed;top:-90px;z-index:500;background:white;padding:15px}.skip:focus{top:0}dialog{border:1px solid var(--line);background:var(--bg-cream);color:var(--text-soft);border-radius:25px;padding:0;max-width:1100px;width:94vw;max-height:92dvh;z-index:300}dialog::backdrop{background:#212635b8;backdrop-filter:blur(5px)}.dialog-bar{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 25px;position:sticky;top:0;background:var(--bg-cream);z-index:2;border-bottom:1px solid var(--line);font-size:14px;letter-spacing:.07em}.dialog-bar button{font-size:14px;background:#e8eddf;border-radius:12px;padding:8px 14px;white-space:nowrap}#detail-body{padding:35px}.detail-lead{max-width:800px}.detail-lead h2{font-size:35px}.role{padding:18px;border-left:3px solid #9fb584;background:#edf0e5;margin:25px 0;font-size:14px}.role span{display:block;font-size:14px;letter-spacing:.1em;margin-bottom:8px}.points{display:grid;gap:16px}.points article{padding:20px;border:1px solid var(--line);border-radius:15px}.points h3{font-size:17px}.points p{font-size:14px;margin-bottom:0}.detail-section{margin-top:38px}.detail-section h3{font-size:22px}.gallery-main{width:100%;background:#e9eddf;border-radius:15px;padding:20px}.gallery-main img{max-height:560px;margin:auto;object-fit:contain}.gallery-main span{display:block;font-size:14px;padding-top:15px}.thumbs{display:flex;gap:10px;overflow:auto;padding:16px 0}.thumbs button{flex:0 0 84px;border:2px solid transparent;border-radius:9px;padding:3px}.thumbs button.active{border-color:#7c965d}.thumbs img{height:66px;width:100%;object-fit:cover;border-radius:5px}.gallery-controls{display:flex;justify-content:space-between;font-size:14px}.related{display:flex;flex-wrap:wrap;gap:12px}.related button{border:1px solid var(--line);padding:10px;border-radius:12px;font-size:14px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:15px}.comparison img{height:240px;width:100%;object-fit:contain;background:#edf0e5}.comparison span{font-size:14px}.media-block{margin:25px 0}.media-block h4{font-size:15px}.media-block>a{font-size:14px;text-decoration:underline}body.locked{overflow:hidden}#viewer{max-width:none;width:96vw;height:94dvh;max-height:94dvh;background:#f7f6ef}#viewer[open]{display:flex;flex-direction:column}.view-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 20px}.view-tools span{font-size:14px}#stage{flex:1;min-height:0;overflow:auto;display:block;padding:20px;text-align:center}#view-img{max-width:none;display:inline-block;vertical-align:top}#view-thumbs{display:flex;overflow:auto;gap:8px;padding:8px 20px;height:75px;flex-shrink:0}#view-thumbs button{flex:0 0 65px;padding:3px;border:2px solid transparent;border-radius:6px}#view-thumbs button.active{border-color:#6a884c}#view-thumbs img{height:50px;width:100%;object-fit:cover}#policy{max-width:550px;padding:35px}#close-policy{float:right}#policy h2{margin-top:40px;font-size:25px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#212635;color:white;border-radius:15px;padding:12px 20px;z-index:500;display:none;font-size:14px}.reveal{animation:enter .42s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}[hidden]{display:none!important}@media(max-width:1000px){nav{gap:16px}.hero{gap:0}.case{gap:35px}.footer-top{gap:25px}.footer-top nav{flex-wrap:wrap}.capabilities{gap:14px}.capabilities article{padding:22px}}@media(max-width:767px){.wrap{padding-left:24px;padding-right:24px}header{padding:16px 24px}.brand{font-size:20px}.brand span{display:none}header nav>a:not(.button){display:none}h1{font-size:42px}.hero{grid-template-columns:1fr;padding-top:45px;min-height:0}.hero-copy{max-width:550px}.map-art{max-width:550px;margin:0 auto;width:100%}.hero-note{margin-bottom:0}.ribbon{flex-direction:column;gap:10px}.capabilities,.case,.about-grid,.career,.quotes,#films-grid,#work-grid{grid-template-columns:1fr}.capabilities article:nth-child(2){transform:none}.case{gap:25px;padding:30px 0}.case:nth-child(even) .case-image{order:0}.case-image img{height:260px}.section{padding-top:65px}.search-row{flex-wrap:wrap;gap:12px}.search-row label{flex:1;min-width:0}input{width:100%}select{width:100%}#count{width:100%;margin:0;padding:0}.work-image{height:255px}.about-grid{gap:25px}.ai-note{transform:none}.career{gap:12px}.final-cta{margin:60px 16px;padding:45px 25px;border-radius:30px}.final-cta .ghost{margin:12px 0 0}.footer-top{flex-direction:column;gap:15px}.footer-top nav{margin:0}.footer-bottom{gap:15px;flex-wrap:wrap}#detail-body{padding:22px}.detail-lead h2{font-size:28px}.dialog-bar{padding:12px 16px}.dialog-bar>span{font-size:14px}.comparison{grid-template-columns:1fr}.view-tools{gap:5px;padding:8px}.view-tools button{padding:7px 9px;font-size:14px}.gallery-main{padding:12px}.map-label{font-size:14px;padding:7px 9px}.map-caption{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}



@font-face{font-family:Quicksand;font-style:normal;font-weight:400;font-display:swap;src:url('assets/quicksand-400.woff2') format('woff2')}
@font-face{font-family:Quicksand;font-style:normal;font-weight:500;font-display:swap;src:url('assets/quicksand-500.woff2') format('woff2')}
@font-face{font-family:Quicksand;font-style:normal;font-weight:600;font-display:swap;src:url('assets/quicksand-600.woff2') format('woff2')}
@font-face{font-family:Quicksand;font-style:normal;font-weight:700;font-display:swap;src:url('assets/quicksand-700.woff2') format('woff2')}
/* Korean localization: preserve the existing layout and visual system. */
body{font-family:Quicksand,"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all;overflow-wrap:break-word}h1,h2,h3{word-break:keep-all;letter-spacing:-.035em}p{line-height:1.8}.hero h1{line-height:1.3}.eyebrow,.tag,.map-caption{letter-spacing:.06em}.map-label{white-space:nowrap}.work-meta{letter-spacing:.03em}@media(max-width:767px){.hero h1{font-size:clamp(2.3rem,9vw,3.5rem)}.view-tools{flex-wrap:wrap}.map-caption{font-size:.875rem}}

/* Readable labels and clear actions within the existing watercolor palette. */
.eyebrow{font-size:15px;letter-spacing:.045em;color:#4e6143;line-height:1.6}
.ribbon,.ribbon span:last-child,.tag{font-size:15px;line-height:1.7;letter-spacing:.035em;color:#4f5e45}
.brand span{font-size:14px;letter-spacing:.025em;margin-top:0}
.hero-note,.map-caption,.work-meta,cite{color:#59634f}
.capabilities p,.ai-note p,.career p,.film-card p,.points p{font-size:16px}
.button,.ghost,.text-link{font-size:16px;min-height:48px}
.text-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;border:1px solid #516b3e;border-radius:15px;background:#516b3e;color:#fffdf5;box-shadow:0 3px 9px #4054321a;line-height:1.5}
.text-link:hover{background:#415832;box-shadow:0 5px 12px #40543226}
.case .outcome{margin-top:24px;border:1px solid #c2cfaf;border-left:4px solid #7d9563;border-radius:0 15px 15px 0;padding:19px 22px;background:#eaf0df;color:#34452b}
.outcome-label{display:block;font-size:14px;font-weight:700;color:#526941;letter-spacing:.04em;margin-bottom:8px}
.case .outcome p{font-size:17px;font-weight:600;line-height:1.8;color:#34452b;margin:0}
.card-action{display:inline-flex;align-items:center;gap:22px;min-height:44px;padding:9px 15px;margin-top:6px;border:1px solid #a9ba95;border-radius:12px;background:#e8efdc;color:#3f5731;font-size:15px;font-weight:700}
.work-card:hover .card-action{background:#dbe6cd;border-color:#78935d}
.gallery-main span{display:table;margin:15px auto 0;padding:10px 15px;background:#dce7ce;color:#354a29;border:1px solid #a9bb94;border-radius:12px;font-size:15px;font-weight:600}
.filters button,.view-tools button,.related button,.gallery-controls button{min-height:44px;font-size:14px}
.gallery-controls button{padding:9px 14px;border:1px solid #c3ceb7;border-radius:12px;background:#e8efdd}
@media(max-width:767px){.hero h1{font-size:clamp(2rem,8.4vw,2.7rem)}.map-label{font-size:14px;padding:8px}.map-label span{margin-right:5px}.map-caption{font-size:14px;position:static;display:block;line-height:1.6}.map-art{padding-bottom:12px}.label-one{left:0}.label-two{right:0}.label-three{right:0}.case h3{font-size:27px}.case .outcome{padding:17px 18px}.case .outcome p{font-size:16px}.text-link{width:100%}.ribbon i{padding:0 5px}.dialog-bar>span{font-size:14px;letter-spacing:0}.view-tools button{font-size:14px}.brand{flex-shrink:0}}

/* Aligned media and straight AI panel. */
.ai-note{transform:none}
#films-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.film-card{display:flex;flex-direction:column;min-width:0}
.film-card video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;flex-shrink:0}
.film-card .text-link{margin-top:auto;align-self:flex-start}
.case-kpex{align-items:stretch}
.case-kpex .case-image{min-height:0;overflow:hidden}
.case-kpex .case-image img{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);object-fit:cover;object-position:center}
.case-kpex .case-image .number{z-index:1;left:8px;top:8px}
@media(max-width:767px){#films-grid{grid-template-columns:1fr}.film-card .text-link{align-self:stretch}.case-kpex .case-image img{position:static;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.case-kpex .case-image{overflow:visible}.case-kpex .case-image .number{left:-13px;top:-15px}}

.points p{white-space:pre-line}.points ul{margin:20px 0 0;padding-left:24px}.points li{margin:0 0 16px;line-height:1.85}.points article{padding:26px}.points article:nth-child(2){background:#f0f3e9}
.dm-reader{cursor:default}.dm-reader:hover,.dm-reader:active{transform:none}.dm-scroll{max-height:72dvh;overflow-y:auto;max-width:760px;margin:15px auto 0;border:1px solid #c3cdb8;border-radius:8px;background:#282828}.dm-scroll img{display:block;width:100%;max-height:none;height:auto;border-radius:0;margin:0}.gallery-main .reader-caption{display:block;margin:0;padding:12px;font-size:16px}.book-reader{background:#e2e8d7}.book-page{max-width:440px;margin:20px auto 0;box-shadow:7px 6px 0 #f6f5ee,9px 8px 0 #c6cbbf,14px 12px 20px #29352220;animation:page-in .25s ease-out}.book-page img{width:100%;max-height:none;height:auto}.book-reader:hover{transform:none}@keyframes page-in{from{opacity:.5;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:767px){.points article{padding:19px}.dm-scroll{max-height:65dvh}.book-page{max-width:100%}}
.book-page{display:block;width:min(440px,100%);padding:0;border:0;border-radius:0;background:#faf8f2;overflow:hidden}.book-page img{display:block}.book-reader{width:100%}

.capabilities{align-items:stretch}.capabilities article{display:flex;flex-direction:column}.capabilities article .tag{margin-top:auto}

/* Shared inset and text measure for content panels. */
:root{--panel-inset:28px}
.detail-lead{max-width:none}.detail-lead>p{max-width:none}
.role,.points article,.capabilities article,.ai-note,.career article,.quotes blockquote{padding:var(--panel-inset)}
.role{border:1px solid var(--line);border-radius:15px;box-shadow:inset 3px 0 #9fb584}
.role span,.points h3{margin:0 0 16px}.points p,.points ul,.role{max-width:none;line-height:1.85}.points ul{padding-left:22px}.points li:last-child{margin-bottom:0}
.capabilities p,.ai-note p,.career p,.quotes p{max-width:none}.points article>:last-child,.ai-note>:last-child{margin-bottom:0}
.parallel-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%}
.parallel-pane{min-width:0;background:#edf0e5;border:1px solid var(--line);border-radius:15px;padding:20px;display:flex;flex-direction:column}
.parallel-pane:nth-child(2){background:#edf2f1}.parallel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.parallel-heading h4{font-size:20px;margin:0}.parallel-heading span{font-size:14px;color:var(--muted)}.parallel-label{margin:12px 0 16px;min-height:26px}
.parallel-scroll{height:460px;overflow:auto;background:#faf8f2;border-radius:8px;border:1px solid var(--line)}.parallel-scroll button{display:block;width:100%;padding:0}.parallel-scroll button:hover{transform:none}.parallel-scroll img{width:100%;height:auto;max-height:none}
.parallel-enlarge{align-self:flex-start;font-weight:700;text-decoration:underline;text-underline-offset:4px;padding:14px 0}.parallel-controls{display:flex;justify-content:space-between;gap:12px}.parallel-controls button{border:1px solid #bbc8ac;background:#faf8f2;padding:8px 16px;border-radius:10px}.parallel-pane .thumbs{margin-top:auto;padding-bottom:0}
@media(max-width:767px){:root{--panel-inset:20px}.parallel-gallery{gap:10px}.parallel-pane{padding:12px}.parallel-heading{display:block}.parallel-heading h4{font-size:18px}.parallel-label{font-size:14px;min-height:46px}.parallel-scroll{height:340px}.parallel-controls{gap:4px}.parallel-controls button{font-size:13px;padding:7px}.parallel-enlarge{font-size:13px}.parallel-pane .thumbs button{flex-basis:54px}.parallel-pane .thumbs img{height:46px}}

/* Role information is primary portfolio evidence. */
.role-emphasis{background:#eaf0df;border-color:#c1cfaf;box-shadow:inset 4px 0 #718b52}
.role-emphasis .role-heading,.film-role .role-heading{display:block;font-size:16px;font-weight:700;letter-spacing:.04em;color:#465738;margin:0 0 18px}
.role-tags{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-start}
.role-tags .role-tag{display:inline;font-size:19px;font-weight:700;line-height:1.75;letter-spacing:-.02em;margin:0;color:#25341e;overflow-wrap:anywhere}
.role-tags .role-hash{display:inline;font-size:inherit;font-weight:700;letter-spacing:0;color:#627e46;margin:0 6px 0 0}
.film-role{padding:20px;margin:16px 0 24px;border-radius:15px;background:#eaf0df;border:1px solid #c1cfaf}.film-role .role-tags{gap:10px 20px}
@media(max-width:767px){.role-tags .role-tag{font-size:18px}.role-tags{gap:10px 18px}.film-role{padding:18px}}

/* Click-to-load YouTube: no video downloads on page load */
.youtube-player{position:relative;width:100%;aspect-ratio:16/9;background:#212635;border-radius:15px;overflow:hidden;flex-shrink:0}.youtube-launch{display:block;position:relative;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#212635}.youtube-launch[hidden]{display:none}.youtube-launch img{display:block;width:100%;height:100%;object-fit:cover;opacity:.8}.youtube-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);white-space:nowrap;border-radius:15px;background:#212635;color:#FAF8F2;padding:14px 24px;font-weight:700;font-size:18px;border:1px solid #FAF8F2}.youtube-launch:hover .youtube-play{background:#465738}.youtube-player iframe{display:block;width:100%;height:100%;border:0}.youtube-external{display:inline-block;margin:12px 0;font-weight:700;text-decoration:underline;text-underline-offset:4px}.website-link{margin-bottom:8px}.website-note{font-size:14px;color:#626858}.film-card{min-width:0}.media-block{min-width:0}

.dm-scroll{background:#2a2a2a}.dm-scroll img{display:block;width:100%;max-width:588px;height:auto;margin:0 auto}.dm-reader>.text-link{margin:16px auto;display:block}

.media-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;aspect-ratio:16/9;background:#edf0e5;color:#435a37;border-radius:15px;font-weight:700}.media-pending svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:1.5}.media-pending small{font-size:16px;font-weight:400}.film-card:has(.media-pending){grid-column:1/-1}.film-card>.media-pending{max-height:300px;width:100%;aspect-ratio:auto;min-height:230px}

.about-with-photo{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);align-items:center;gap:40px 64px}.profile-photo{margin:0;min-width:0;max-width:390px;width:100%;justify-self:center}.profile-photo img{width:100%;height:auto;border-radius:30px;border:1px solid var(--line);box-shadow:0 8px 30px rgba(43,43,43,.07)}.profile-photo figcaption{padding:20px 8px 0;text-align:center}.profile-photo strong{display:block;font-size:25px;margin-bottom:6px}.profile-photo figcaption span{display:block;font-size:16px;color:var(--muted);line-height:1.7}.about-with-photo>.ai-note{grid-column:1/-1;transform:none}.about-copy{min-width:0}@media(max-width:767px){.about-with-photo{grid-template-columns:1fr;gap:32px}.profile-photo{max-width:300px}.about-with-photo>.ai-note{grid-column:auto}.profile-photo figcaption span{font-size:16px}}

/* Responsive publishing pass: bounded panels, touch controls and safe-area spacing. */
.hero>*,.case>*,.capabilities>*,.career>*,.quotes>*{min-width:0}
button,input,select,a{touch-action:manipulation}
.dialog-bar button,.parallel-controls button,.parallel-enlarge{min-height:44px}
dialog{overscroll-behavior:contain} .thumbs,.parallel-scroll,.dm-scroll,#stage{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-width:767px){
 header{gap:12px;padding:12px 20px}.wrap{padding-left:20px;padding-right:20px}
 .button.small{font-size:14px;padding:10px 14px}
 .search-row label{flex-basis:100%}input,select{font-size:16px}
 dialog{width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 16px);border-radius:18px}
 #detail-body{padding:20px 16px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .detail-lead h2{font-size:27px;line-height:1.4}.points p,.points li{font-size:16px}
 .comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.comparison button{min-width:0;padding:0}.comparison img{height:190px}.comparison span{display:block;font-size:14px;margin-top:10px}
 .parallel-gallery{gap:8px}.parallel-pane{padding:8px}.parallel-label{min-height:68px;overflow-wrap:anywhere}.parallel-scroll{height:300px}
 .parallel-controls{flex-wrap:wrap}.parallel-controls button{flex:1;white-space:nowrap;padding:7px 4px;font-size:14px}.parallel-enlarge{font-size:14px}
 .role-tags .role-tag{font-size:18px}.dialog-bar{letter-spacing:0}
 #viewer{width:calc(100% - 8px);height:calc(100dvh - 8px);max-height:calc(100dvh - 8px)}#stage{padding:8px}.view-tools{gap:6px}
 .youtube-play{font-size:16px;padding:10px 16px}.footer-top nav{gap:16px;flex-wrap:wrap}
}

.contact-links{display:flex;flex-wrap:wrap;gap:14px;padding:0 0 30px;scroll-margin-top:110px}.contact-links a{overflow-wrap:anywhere;word-break:normal;max-width:100%;text-align:center}@media(max-width:767px){.contact-links{flex-direction:column}.contact-links a{width:100%;font-size:16px}}
