@font-face{font-family:Firs;src:url('assets/firs.woff') format('woff');font-weight:400;font-display:swap}:root{--ink:#02061c;--accent:#7f90f7;--surface:#f2f2f2;--muted:#626577;--radius:10px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fff;color:var(--ink);font-family:Firs,Arial,sans-serif;font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%}.wrap{width:95%;max-width:1500px;margin-inline:auto}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 2.5%;background:#ffffffeb;backdrop-filter:blur(10px);min-height:74px}header nav{display:flex;gap:32px;font-size:15px}.logo{width:106px;height:auto}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--accent);color:var(--ink);padding:19px 24px;border-radius:var(--radius);font-size:16px;transition:background .2s,color .2s}.button:hover{background:var(--ink);color:white}.button span{font-size:23px;line-height:1}.button.small{padding:13px 18px;font-size:15px}.dark{background:var(--ink);color:white}.dark:hover{background:var(--accent);color:var(--ink)}.hero{padding-top:58px}.eyebrow{display:flex;gap:14px;font-size:14px;color:var(--muted)}.hero-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:35px 0 45px}h1,h2,h3,p{margin:0;font-weight:400}h1{font-size:clamp(46px,5.7vw,84px);line-height:1.04;letter-spacing:-.045em}h1 span,h2 span{color:var(--accent)}.hero-title>p{font-size:18px;line-height:1.35;flex-shrink:0;padding-bottom:6px}.hero-bottom{display:grid;grid-template-columns:1fr 1.03fr;gap:7vw;align-items:center}.hero-copy{max-width:505px;padding:30px 0}.hero-copy .lead{font-size:clamp(24px,2.25vw,34px);line-height:1.25;letter-spacing:-.02em}.hero-copy>p+p{font-size:18px;line-height:1.5;color:var(--muted);margin-top:24px;max-width:460px}.hero-copy .button{margin-top:32px}.micro{font-size:14px;color:var(--muted);line-height:1.4;margin-top:46px}.image-button{border:0;padding:0;background:none;text-align:left;color:inherit;position:relative;border-radius:var(--radius);overflow:hidden}.hero-visual{max-height:540px;background:#eee;width:100%;padding:18px 18px 48px}.hero-visual img{width:100%;height:470px;object-fit:cover;object-position:top;border-radius:6px}.image-caption{position:absolute;bottom:15px;left:18px;right:18px;font-size:14px;display:flex;justify-content:space-between}.section{padding-top:112px;padding-bottom:20px}.section-head{display:grid;grid-template-columns:27% 1fr;gap:20px;align-items:start}.section-label{font-size:15px;color:var(--accent);line-height:1.45;padding-top:7px}h2{font-size:clamp(34px,4vw,60px);line-height:1.1;letter-spacing:-.035em}.section-intro{max-width:660px;margin:28px 0 40px 28.3%;font-size:20px;line-height:1.4}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.benefits article{background:var(--surface);border-radius:10px;padding:25px 24px 30px;min-height:310px;display:flex;flex-direction:column}.number{font-size:14px;color:var(--muted);letter-spacing:.025em}.benefits h3{font-size:25px;line-height:1.14;margin:40px 0 20px;letter-spacing:-.02em}.benefits p{font-size:16px;line-height:1.4}.benefits article.accent{background:var(--accent)}.accent .number{color:var(--ink)}.note{font-size:14px;line-height:1.5;color:var(--muted);max-width:760px;margin-top:22px}.case{background:var(--surface);margin-top:90px;padding-top:70px;padding-bottom:60px}.case-opening{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin:48px 0}.tag{font-size:14px;color:var(--muted)}.case-opening h3{font-size:35px;letter-spacing:-.02em;margin:12px 0 18px}.case-opening p{font-size:18px;line-height:1.45;max-width:500px}.input{border-left:1px solid #d5d5dc;padding-left:32px}.label{display:block;font-size:14px;margin-bottom:13px}.muted{color:var(--muted);margin-top:15px;line-height:1.4}.case-work{display:grid;grid-template-columns:1.05fr 1fr;gap:6vw;align-items:start}.case-image img{width:100%;border-radius:10px}.zoom{position:absolute;bottom:14px;right:14px;background:white;color:var(--ink);padding:10px 16px;border-radius:8px;font-size:14px;box-shadow:0 2px 20px #0002}.case-points article{padding:22px 0;border-top:1px solid #d3d4db}.case-points article:first-child{padding-top:0;border:0}.case-points h3{font-size:28px;line-height:1.12;letter-spacing:-.02em;margin:13px 0}.case-points p{font-size:16px;line-height:1.45;max-width:470px;color:#4a4c5e}.gallery-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}.gallery-strip button{background:white}.gallery-strip img{aspect-ratio:16/9;width:100%;object-fit:cover}.gallery-strip span{display:block;padding:15px 18px;font-size:16px}.text-button{color:var(--accent);border:0;border-bottom:1px solid currentColor;padding:14px 0 8px;background:none;font-size:16px;display:flex;gap:35px;margin:20px 0 0 auto}.deliverables{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-top:42px}.deliverables article{background:var(--surface);border-radius:10px;padding:26px}.deliverables h3{font-size:28px;line-height:1.15;margin:35px 0 22px}.deliverables p,.deliverables li{font-size:17px;line-height:1.45}.deliverables ul{list-style:none;padding:0;margin-top:25px}.deliverables li{border-top:1px solid #d9d9de;padding:10px 0}.deliverables article.dark-card{background:var(--ink);color:white}.dark-card .number{color:var(--accent)}.roadmap{margin:40px 0 0 28.3%}.roadmap details{border-top:1px solid #d9dbe4;padding:25px 0}.roadmap details:last-child{border-bottom:1px solid #d9dbe4}.roadmap summary{list-style:none;display:flex;align-items:center;gap:24px;cursor:pointer;font-size:27px;letter-spacing:-.02em}.roadmap summary::-webkit-details-marker{display:none}.step{width:46px;height:46px;background:var(--surface);border-radius:10px;display:grid;place-items:center;font-size:16px;flex-shrink:0}.roadmap details[open] .step{background:var(--accent)}.roadmap small{display:block;font-size:15px;letter-spacing:0;color:var(--muted);margin-top:8px}.plus{margin-left:auto;font-size:30px}.roadmap details[open] .plus{transform:rotate(45deg)}.step-body{padding:22px 45px 0 70px;font-size:17px;line-height:1.5}.step-body p+p{margin-top:16px}.step-body b{font-weight:400;color:var(--accent)}.contact{margin-top:110px;background:var(--accent);border-radius:10px;padding:45px 42px}.contact .section-label{color:var(--ink);margin-bottom:35px}.contact h2{font-size:clamp(34px,4.5vw,68px)}.contact h2 span{color:white}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:35px}.contact-bottom p{max-width:570px;font-size:19px;line-height:1.4}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:45px;font-size:14px;color:var(--muted)}dialog{width:min(1400px,96vw);max-width:96vw;background:#101321;color:white;border:0;border-radius:10px;padding:16px;max-height:95dvh}dialog::backdrop{background:#02061ce8;backdrop-filter:blur(8px)}dialog img{max-height:75dvh;width:100%;object-fit:contain}.viewer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px}dialog button{border:1px solid #ffffff45;border-radius:8px;color:white;background:transparent;min-width:44px;min-height:44px;font-size:21px}.viewer-controls{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:10px}body.modal-open{overflow:hidden}a:hover:not(.button){color:var(--accent)}@media(min-width:1600px){.hero-visual{max-height:630px}.hero-visual img{height:560px}}@media(max-width:1000px){header nav{gap:18px}.hero-title{display:block}.hero-title>p{margin-top:25px}.hero-bottom{gap:35px}.hero-visual img{height:420px}.benefits{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr}.section-intro{margin-left:0}.section-label{margin-bottom:15px}.roadmap{margin-left:0}.case-points h3{font-size:24px}.deliverables{grid-template-columns:1fr 1fr}.deliverables .wide{grid-column:1/-1}.deliverables ul{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}footer{flex-wrap:wrap}}@media(max-width:650px){.wrap{width:calc(100% - 36px)}header{padding:13px 18px;min-height:68px;gap:12px}header nav{display:none}.logo{width:92px}.button.small{font-size:14px;padding:12px;gap:14px}.hero{padding-top:30px}.eyebrow{font-size:13px}.hero-title{margin-top:26px;margin-bottom:20px}h1{font-size:clamp(39px,10vw,62px);line-height:1.06}.hero-title>p{font-size:16px;margin-top:20px}.hero-bottom{grid-template-columns:1fr;gap:25px}.hero-copy{padding:0}.hero-copy .lead{font-size:24px}.hero-copy>p+p{font-size:16px;margin-top:18px}.micro{display:none}.hero-copy .button{margin-top:23px}.hero-visual{max-height:none;padding:12px 12px 42px}.hero-visual img{height:400px;object-fit:cover}.image-caption{font-size:13px;left:12px;right:12px;bottom:12px}.section{padding-top:70px}.section-intro{font-size:18px;margin-top:25px}.benefits{grid-template-columns:1fr}.benefits article{min-height:0;padding:24px}.benefits h3{margin:23px 0 15px;font-size:26px}.benefits p{font-size:17px}.case{margin-top:60px;padding-top:45px;padding-bottom:35px}.case-opening{grid-template-columns:1fr;gap:26px;margin-top:30px}.case-opening h3{font-size:30px}.input{padding-left:20px}.case-work{grid-template-columns:1fr;gap:32px}.case-points h3{font-size:27px}.case-points p{font-size:17px}.gallery-strip{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.gallery-strip button{min-width:85%;scroll-snap-align:start}.deliverables{grid-template-columns:1fr}.deliverables .wide{grid-column:auto}.deliverables ul{display:block}.deliverables h3{margin-top:25px}.roadmap summary{font-size:22px;gap:14px}.roadmap small{font-size:14px;line-height:1.3}.step-body{padding:20px 0 0 0}.contact{margin-top:65px;padding:28px 24px}.contact-bottom{display:block}.contact-bottom p{font-size:17px}.contact-bottom .button{margin-top:28px;width:100%;gap:10px}footer{display:grid;grid-template-columns:1fr 1fr;font-size:13px;gap:24px;padding-block:30px}dialog{padding:10px}.viewer-top{gap:14px}.viewer-top span{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Shared interactive components and expanded editorial spacing */
.wrap{max-width:1440px;width:92%}.section{padding-top:140px}.hero{padding-top:62px}.hero-title{margin-bottom:64px}.hero-bottom{grid-template-columns:1fr 1.16fr;gap:7vw;min-height:570px}.hero-copy{padding:0}.hero-art{position:relative;padding:0 0 48px 10%;min-width:0}.hero-main{width:100%;display:block}.hero-main img{width:100%;height:auto;object-fit:contain}.hero-detail{position:absolute;left:-6%;bottom:3%;width:29%;box-shadow:0 15px 45px #02061c20;border:5px solid white;border-radius:10px;transform:rotate(-5deg);transition:transform .3s}.hero-detail:hover{transform:rotate(0deg)}.hero-detail img{height:auto;width:100%}.art-caption{display:block;text-align:right;font-size:14px;color:var(--muted);padding-top:20px}.section-head{grid-template-columns:23% minmax(0,1fr);gap:24px}.section-intro.aligned{margin:28px 0 0;max-width:750px}.value-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:45px}.value-tabs button{padding:22px;border:0;background:var(--surface);border-radius:10px;min-height:138px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:22px;font-size:24px;line-height:1.12;color:var(--ink);transition:background .2s}.value-tabs button>span:first-child{font-size:14px}.value-tabs button[aria-selected=true]{background:var(--accent)}.value-tabs button:hover{background:var(--accent)}.value-panel{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:48px;background:#f7f7f9;border-radius:10px;margin-top:12px;align-items:center;min-height:460px}.value-panel h3{font-size:38px;line-height:1.1;letter-spacing:-.025em;margin:20px 0}.value-panel p{font-size:18px;line-height:1.45;max-width:490px}.business-effect{border-top:1px solid #d7d9e3;margin-top:25px;padding-top:18px}.business-effect>span{display:block;color:var(--accent);font-size:14px;margin-bottom:10px}.business-effect p{font-size:17px}.value-image{height:330px;width:100%;display:flex;align-items:center;justify-content:center}.value-image img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;border-radius:5px}.value-controls{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:20px}.value-controls .note{margin:0;max-width:670px}.project-tabs,.result-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:40px 0 24px}.project-tabs button,.result-tabs button{border:1px solid #dadce5;border-radius:8px;background:white;color:var(--ink);padding:13px 19px;font-size:16px;transition:background .2s}.project-tabs [aria-selected=true],.result-tabs [aria-selected=true]{background:var(--ink);color:white;border-color:var(--ink)}.project-stage{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;padding:48px;background:var(--surface);border-radius:10px;align-items:center;min-height:580px}.project-info h3{font-size:40px;line-height:1.1;letter-spacing:-.03em;margin:20px 0}.project-info p{font-size:18px;line-height:1.45;max-width:390px;color:var(--muted)}.project-info .text-button{margin:28px 0 0}.project-image{width:100%;height:490px;display:flex;align-items:center;justify-content:center}.project-image img{width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain}.compact-project .project-image img{max-width:276px}.compact-project .project-image{background:#e8e9e6;border-radius:10px}.case{margin-top:140px;padding-top:70px}.case-opening{align-items:center}.partner{justify-self:end;background:var(--ink);color:white;padding:24px 30px;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.partner span{font-size:14px}.partner img{width:165px;height:auto}.partner:hover{color:white!important}.handoff{display:grid;grid-template-columns:1fr 50px 1fr;gap:22px;align-items:center;margin-bottom:50px}.handoff article{background:white;padding:30px;border-radius:10px;align-self:stretch}.handoff h3{font-size:29px;margin:18px 0}.handoff p{font-size:14px;color:var(--muted);line-height:1.5;margin-top:20px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{padding:9px 12px;border-radius:6px;background:var(--surface);font-size:14px}.handoff-arrow{text-align:center;font-size:35px;color:var(--accent)}.meaning-layout{display:grid;grid-template-columns:23% minmax(0,1fr);gap:24px}.meaning-tabs{display:flex;flex-direction:column;gap:7px}.meaning-tabs button{border:0;background:transparent;text-align:left;padding:18px 12px;border-radius:8px;font-size:17px;color:var(--ink);display:flex;gap:18px}.meaning-tabs button span{font-size:14px;color:var(--muted)}.meaning-tabs [aria-selected=true]{background:white}.meaning-copy{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:12px 0 28px;min-height:115px}.meaning-copy h3{font-size:28px;letter-spacing:-.02em;line-height:1.15}.meaning-copy p{font-size:17px;line-height:1.45;color:var(--muted)}.meaning-image{display:block;width:100%;background:white}.meaning-image img{width:100%;height:auto;object-fit:contain;aspect-ratio:16/9}.gallery-strip{margin-top:50px}.result-panel{display:grid;grid-template-columns: .8fr 1.2fr;gap:45px;align-items:center;padding:42px;background:var(--surface);border-radius:10px;min-height:440px}.result-panel h3{font-size:36px;line-height:1.12;letter-spacing:-.03em;margin:20px 0}.result-panel p{font-size:18px;line-height:1.45}.result-panel ul{list-style:none;padding:0;margin:24px 0 0}.result-panel li{border-top:1px solid #d2d5df;padding:12px 0;font-size:16px}.result-image img{width:100%;height:auto;object-fit:contain}.result-image{width:100%;}.details-showcase{padding-top:130px}.showcase-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}.showcase-top .section-label{margin-bottom:20px}.showcase-top>p{font-size:18px;line-height:1.5;color:var(--muted)}.macro-grid{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:24px;align-items:start}.macro-grid button{background:var(--surface)}.macro-grid img{height:auto;width:100%;object-fit:contain}.macro-grid span{font-size:14px;display:block;padding:16px}.macro-wide{align-self:center}.contact{margin-top:130px}dialog{padding:18px;overflow:auto}dialog #slide{height:auto;max-height:73dvh;width:100%;object-fit:contain}.viewer-top,.viewer-controls{position:sticky;background:#101321;z-index:2;padding:8px}.viewer-top{top:-18px}.viewer-controls{bottom:-18px}dialog.zoomed #slide{max-height:none;min-width:100%;width:auto;max-width:none}#slide{touch-action:pan-y}.viewer-controls button{flex-shrink:0}.viewer-controls{gap:24px}h1,h2,h3,p{overflow-wrap:break-word;min-width:0}.project-info,.hero-copy,.meaning-copy>*,.result-panel>*,.value-panel>*{min-width:0}
@media(max-width:1000px){.wrap{width:92%}.section-head,.meaning-layout{grid-template-columns:1fr}.hero-title{margin-bottom:42px}.hero-bottom{gap:4vw;min-height:0}.hero-art{padding-left:5%}.value-tabs button{font-size:21px;padding:20px 16px}.value-panel{gap:25px;padding:30px}.project-stage{padding:30px;gap:30px}.project-info h3{font-size:32px}.meaning-tabs{flex-direction:row;overflow:auto}.meaning-tabs button{white-space:nowrap}.meaning-copy{min-height:0}.result-panel{padding:30px}.macro-grid{gap:15px}.section{padding-top:100px}.case{margin-top:100px;padding-top:60px}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.hero{padding-top:35px}.hero-title{margin-bottom:26px}.hero-bottom{grid-template-columns:1fr;gap:35px}.hero-art{padding:0 0 35px 11%;margin-top:10px}.hero-detail{left:0;bottom:7%;width:32%;border-width:3px}.hero-main .zoom{font-size:12px;padding:8px}.art-caption{font-size:12px;padding-top:14px}.section{padding-top:80px}h2{font-size:36px}.section-head{gap:12px}.section-intro.aligned{margin-top:22px}.value-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:30px}.value-tabs button{font-size:20px;padding:16px;min-height:126px;gap:16px}.value-panel{grid-template-columns:1fr;padding:24px;gap:25px;min-height:0}.value-panel h3{font-size:31px}.value-panel p{font-size:17px}.value-image{height:270px}.value-controls{display:block}.project-tabs{flex-wrap:nowrap;overflow:auto;margin-top:28px;padding-bottom:10px;gap:8px}.project-tabs button{white-space:nowrap;font-size:14px;padding:12px 14px}.project-stage{grid-template-columns:1fr;padding:24px;gap:28px;min-height:0}.project-image{height:auto;min-height:160px;max-height:470px}.project-image img{max-height:470px}.project-info h3{font-size:32px}.project-info p{font-size:17px}.compact-project .project-image{padding:12px}.compact-project .project-image img{max-width:100%;width:276px;height:auto}.case{margin-top:80px;padding-top:45px}.partner{justify-self:start;padding:20px 25px;gap:10px}.partner img{width:145px}.handoff{grid-template-columns:1fr;gap:15px;margin-bottom:32px}.handoff article{padding:24px}.handoff h3{font-size:26px}.handoff-arrow{transform:rotate(90deg);font-size:26px}.meaning-tabs{gap:3px;padding-bottom:6px}.meaning-tabs button{font-size:15px;padding:13px 10px;gap:9px}.meaning-copy{grid-template-columns:1fr;gap:18px;margin-top:18px}.meaning-copy h3{font-size:29px}.meaning-image .zoom,.result-image .zoom{font-size:12px;padding:8px;bottom:8px;right:8px}.result-tabs{gap:7px;margin-top:28px}.result-tabs button{font-size:14px;padding:12px 10px;flex:1;white-space:nowrap}.result-panel{grid-template-columns:1fr;padding:24px;gap:25px;min-height:0}.result-panel h3{font-size:30px}.result-panel p{font-size:17px}.details-showcase{padding-top:80px}.showcase-top{display:block;margin-bottom:28px}.showcase-top>p{margin-top:22px;font-size:17px}.macro-grid{grid-template-columns:1fr 1fr;gap:12px}.macro-wide{grid-column:1/-1}.macro-grid span{font-size:13px;padding:12px}.contact{margin-top:80px}dialog{padding:10px}.viewer-top{top:-10px}.viewer-controls{bottom:-10px;gap:18px}.label{font-size:13px}}

dialog #slide{width:min(100%,var(--natural-width,1400px));margin-inline:auto}dialog.zoomed #slide{width:var(--natural-width,1400px);min-width:0;max-width:none;max-height:none}#zoom-toggle:disabled{opacity:.3;cursor:default}

/* Service-page corrections: shared grid remains unchanged. */
.eyebrow{flex-wrap:wrap;row-gap:8px}
.project-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
