.group-team{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid var(--line);padding-top:30px;margin-top:45px}.group-team>span{font-size:10px;letter-spacing:1px}.group-team p{margin:0;max-width:700px;font-size:16px;line-height:1.9;word-break:keep-all}.group-faq{background:#f0f0ee}.group-faq h2{font-size:32px;font-weight:500;letter-spacing:-1.5px;margin:50px 0 30px}.group-faq details{border-top:1px solid #ccc;padding:22px 0;max-width:1000px}.group-faq summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:17px;list-style:none}.group-faq summary::-webkit-details-marker{display:none}.group-faq p{max-width:780px;font-size:15px;line-height:1.9;color:#444}.news-empty{font-size:14px;line-height:1.9;color:#555;padding:24px 0;margin:0}.detail-header{padding:30px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #ddd}.detail-header nav{display:flex;gap:26px;font-size:13px}.breadcrumb{display:flex;gap:12px;padding:30px var(--pad) 0;font-size:12px;color:#666}.detail-intro{padding:70px var(--pad) 60px;max-width:1300px}.detail-intro h1{font-size:clamp(40px,6.3vw,92px);line-height:1.1;letter-spacing:-.065em;font-weight:500;margin:25px 0}.detail-intro h1 em{font-family:var(--serif);font-weight:400;font-size:1.2em}.detail-intro p{font-size:19px;line-height:1.9;max-width:760px;word-break:keep-all}.eyebrow{font-size:11px;letter-spacing:1.2px}.detail-copy{padding:20px var(--pad) 80px;max-width:1200px}.detail-copy h2{font-size:29px;letter-spacing:-1px;font-weight:500;margin:45px 0 18px}.detail-copy p,.detail-copy li{font-size:17px;line-height:1.95;word-break:keep-all}.detail-copy li{margin:10px 0}.source-note{color:#696969;font-size:12px!important;border-top:1px solid #ddd;margin:36px 0;padding-top:18px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:35px 0}.team-grid article{background:#eee;padding:26px}.team-grid h3{font-size:22px;font-weight:500;margin:0}.team-grid p{font-size:14px}.service-directory article{padding:15px 0 45px;border-bottom:1px solid #ccc}.case-hero{width:calc(100% - 2 * var(--pad));height:auto;max-height:800px;object-fit:cover;margin:0 var(--pad)}.work-directory{display:grid;grid-template-columns:1fr 1fr;gap:55px 25px;padding:0 var(--pad) 90px}.work-directory .project{min-width:0}.work-directory .project-meta h3{font-size:25px}.work-directory .project-meta>span:last-child{display:none}.work-directory .project-view{opacity:1}.detail-footer{margin:0;padding:50px var(--pad);background:#111;color:#eee;font-size:13px;line-height:1.9}.detail-footer strong{font-size:24px}.related-services{display:flex;flex-wrap:wrap;gap:25px;margin-top:60px}.detail-page .journal{display:block}.project{display:block;color:inherit;text-align:left}.group-faq+section.contact{margin-top:0}
@media(max-width:680px){.group-team{display:block}.group-team p{font-size:14px;margin-top:18px}.group-faq h2{font-size:25px}.group-faq summary{font-size:15px}.group-faq p{font-size:14px}.detail-header{padding:23px var(--pad);flex-wrap:wrap}.detail-header nav{order:3;flex-basis:100%;justify-content:space-between;gap:12px}.detail-header>.underlined-link{font-size:11px;gap:14px}.detail-intro{padding-top:40px;padding-bottom:35px}.detail-intro h1{font-size:43px}.detail-intro p{font-size:16px}.detail-copy h2{font-size:24px}.detail-copy p,.detail-copy li{font-size:15px}.work-directory{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr;gap:12px}.expertise-item h3{font-size:30px}.detail-copy .journal{grid-template-columns:1fr}}
.contact-details{grid-template-columns:1fr 1fr}.contact-form-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:9vw;padding:0 var(--pad) 100px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-fields label{font-size:14px;line-height:1.7}.contact-fields label>span{font-size:10px;color:#777;margin-left:6px}.contact-fields input,.contact-fields textarea{display:block;width:100%;font:inherit;border:0;border-bottom:1px solid #999;padding:15px 0;background:transparent;border-radius:0;color:#111}.contact-fields textarea{resize:vertical;line-height:1.8}.contact-fields .wide{grid-column:1/-1}.privacy-note{border-top:1px solid #ccc;margin-top:30px;padding-top:22px;font-size:13px;line-height:1.9}.privacy-note summary{cursor:pointer}.privacy-note p{color:#555}.consent{display:flex;align-items:center;gap:8px;font-size:13px;margin:22px 0}.consent span{font-size:11px;color:#777}.inquiry-submit{background:#151515;color:white;width:100%;text-align:left;display:flex;justify-content:space-between;padding:22px 25px;font-size:17px}.inquiry-submit:disabled{opacity:.5}.contact-form-layout aside{border-top:1px solid #222;padding-top:25px}.contact-form-layout aside h2{font-size:30px;line-height:1.5;font-weight:500;letter-spacing:-1.5px}.contact-form-layout aside p{font-size:14px;line-height:1.9;margin-top:30px}.contact-form-layout aside a{border-bottom:1px solid;font-size:17px}#inquiry-result{font-size:14px;line-height:1.9;min-height:30px}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:680px){.contact-form-layout{grid-template-columns:1fr;gap:50px}.contact-fields{grid-template-columns:1fr;gap:24px}.contact-fields .wide{grid-column:auto}.consent{font-size:12px;flex-wrap:wrap}.contact-details{grid-template-columns:1fr}.contact-details>div:last-child{grid-column:auto}}


:root{--sans:'DM Sans','SUIT',Arial,sans-serif;--korean-display:'Noto Serif KR',Georgia,serif}
.manifesto h2,.korean-display,.group-faq h2{font-family:var(--korean-display);font-weight:400;letter-spacing:-.045em}
.detail-intro h1.korean-display{line-height:1.4;letter-spacing:-.045em}
.korean-display em{font-family:inherit;font-style:normal;font-size:1em}
.group-faq h2{line-height:1.55}
.manifesto h2{line-height:1.4;gap:.08em}
.manifesto h2>.manifesto-line{padding-top:.06em;padding-bottom:.12em}
/* A quiet, persistent navigation layer above the exhibition-like canvas. */
html{scroll-padding-top:112px}
.header{position:fixed;border-bottom:1px solid transparent;transition:height .3s ease,background-color .3s ease,border-color .3s ease,backdrop-filter .3s ease}
.header.is-scrolled{height:76px;background:rgba(250,250,248,.92);border-bottom-color:rgba(17,17,17,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.header:has(.menu-toggle[aria-expanded=true]){background:#f4f4f4;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.detail-header{position:sticky;top:0;z-index:30;background:rgba(250,250,248,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
@media(max-width:680px){.header.is-scrolled{height:72px}html{scroll-padding-top:144px}}
/* Consistent reading rhythm; keep the established display typography. */
:root{--copy-leading:1.8;--copy-gap:1.15em}
.about-detail p,.group-team p,.expertise-heading>p,.connections-title>p,.expertise-body>div>p,.group-faq p,.detail-intro p,.detail-copy p,.detail-copy li,.contact-details>div>p,.contact-form-layout aside p{line-height:var(--copy-leading);word-break:keep-all;overflow-wrap:anywhere}
.about-detail p{max-width:42em}
.expertise-body>div>span{display:block;margin:0 0 22px;font-size:12px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.expertise-body>div>p:last-child{margin-bottom:0}
.group-faq h2{line-height:1.4}
.group-faq summary{line-height:1.6;word-break:keep-all}
.group-faq summary>span{flex-shrink:0}
.group-faq p{margin:16px 0 0}
.detail-intro h1{word-break:keep-all;overflow-wrap:anywhere;line-height:1.22}
.detail-intro p{margin:24px 0 0;max-width:40em}
.detail-copy h2{line-height:1.4;margin:48px 0 18px}
.detail-copy>h2:first-child{margin-top:0}
.detail-copy p{max-width:65ch;margin:0 0 var(--copy-gap)}
.detail-copy ul{padding-left:1.4em;margin:0 0 28px}
.detail-copy li{padding-left:.2em;margin:8px 0}
.detail-copy .source-note{margin:36px 0 28px;line-height:1.8}
.team-grid h3{line-height:1.4}
.team-grid p{margin:12px 0 0;font-size:16px}
.service-directory article{padding:32px 0}
.service-directory article:first-child{padding-top:0}
.service-directory article h2{margin:0 0 16px}
.service-directory article p{margin:0 0 24px}
.breadcrumb{flex-wrap:wrap;align-items:baseline;line-height:1.6}
.related-services{gap:18px 28px;line-height:1.7}
.contact-fields label{font-size:16px}
.contact-form-layout aside h2{margin:16px 0 24px}
.contact-form-layout aside p{margin-top:24px}
.contact-details>div>p{max-width:34em}
@media(max-width:680px){
 .hero-description p,.about-detail p,.group-team p,.expertise-heading>p,.connections-title>p,.expertise-body>div>p,.group-faq p,.detail-copy p,.detail-copy li,.contact-details>div>p,.contact-form-layout aside p{font-size:16px}
 .hero-description p{line-height:1.75}
 .about-detail{grid-template-columns:24px 1fr;gap:12px}
 .about-detail p{margin-bottom:24px}
 .expertise-body{padding-left:0;padding-right:0}
 .expertise-body>p{margin-bottom:16px}
 .expertise-ko{line-height:1.7;margin-top:0}
 .detail-intro h1{font-size:clamp(34px,9.7vw,43px);letter-spacing:-.05em}
 .detail-copy{padding-top:12px;padding-bottom:60px}
 .detail-copy h2{margin-top:36px}
 .detail-copy>h2:first-child{margin-top:0}
 .group-faq h2{margin:36px 0 24px}
 .group-faq summary{font-size:16px}
 .group-faq details{padding:20px 0}
 .contact-fields{gap:26px}
}

/* Detail pages use the same open line boxes as the home typography. */
.detail-intro h1,.detail-intro h1.korean-display{line-height:1.32;padding:.06em .12em .14em .02em;margin:24px -.02em 28px;overflow:visible;letter-spacing:-.045em}
.detail-intro h1 em{display:inline-block;line-height:1.25;padding:0 .08em .15em 0;margin-bottom:-.15em}
.detail-intro h1.korean-display em{line-height:inherit;padding:0}
.detail-copy h2,.contact-form-layout aside h2{line-height:1.45;overflow:visible;padding-bottom:.05em}
.detail-copy p+p{margin-top:1.25em}.detail-copy p+h2,.detail-copy ul+h2{margin-top:52px}
.detail-copy .underlined-link{margin-top:12px}.detail-intro{padding-bottom:64px}
.detail-page .project-meta>span{color:#666}.detail-page main{overflow:visible}
.about-section{padding:100px var(--pad);scroll-margin-top:115px}
.about-section-label{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;letter-spacing:.07em;line-height:1.7}
.about-page-hero{min-height:740px;position:relative;isolation:isolate;background:#e5e5e5;padding:90px var(--pad) 80px;overflow:hidden}
.about-page-heading{position:relative;z-index:2;max-width:760px}
.about-page-heading h1{font-family:var(--korean-display);font-size:clamp(42px,4.6vw,76px);font-weight:400;letter-spacing:-.045em;line-height:1.4;padding:.05em .08em .13em 0;margin:32px 0 28px;word-break:keep-all}
.about-page-heading p{font-size:19px;line-height:1.85;margin:0 0 44px;word-break:keep-all}
.about-scroll{display:inline-flex;gap:70px;border-bottom:1px solid #999;padding-bottom:14px;font-size:12px}
.about-page-art{position:absolute;inset:40px -8% -50px 22%;z-index:0;display:flex;justify-content:center;align-items:center;animation:about-drift 24s ease-in-out infinite}
.about-page-art img{height:100%;width:100%;object-fit:contain;mask-image:linear-gradient(to right,transparent,#000 35%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 35%,#000 90%,transparent)}
.about-hero-caption{position:absolute;bottom:32px;left:var(--pad);font-size:9px;letter-spacing:.12em;color:#666}
.about-story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;margin-top:64px}
.about-story-grid h2,.about-selected>h2,.about-invitation h2{font-family:var(--korean-display);font-size:clamp(30px,3.25vw,52px);font-weight:400;letter-spacing:-.045em;line-height:1.5;margin:0;padding-bottom:.1em;word-break:keep-all}
.about-story-grid p{font-size:17px;line-height:1.85;word-break:keep-all;margin:0 0 24px;max-width:38em}
.about-number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:80px;padding-top:38px;border-top:1px solid var(--line)}
.about-number-grid>div{display:flex;flex-direction:column;gap:18px}.about-number-grid strong{font-family:'Outfit',var(--sans);font-size:clamp(60px,6vw,96px);font-weight:400;line-height:1.15;letter-spacing:-.05em}.about-number-grid strong>span{font-size:20px;letter-spacing:0;margin-left:8px}.about-number-grid>div>span{font-size:13px;line-height:1.7;color:#666}
.about-teams{background:#171717;color:#fafafa}.about-teams .about-section-label{color:#aaa}.about-teams-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:64px 0 56px}.about-teams-heading h2{font-size:clamp(48px,5.3vw,84px);font-weight:450;line-height:1.2;letter-spacing:-.045em;margin:0;padding-bottom:.12em}.about-teams-heading h2 em{font-family:var(--serif);font-weight:400;font-size:1.15em}.about-teams-heading>p{font-size:16px;line-height:1.85;color:#aaa;margin:0 0 14px}
.about-team-list article{display:grid;grid-template-columns:60px 1fr 1fr;align-items:start;gap:40px;padding:36px 0;border-top:1px solid #414141}.team-index{font-size:11px;color:#888;padding-top:8px}.team-english{font-size:30px;line-height:1.3}.about-team-list h3{font-size:13px;font-weight:400;color:#aaa;line-height:1.7;margin:10px 0 0}.team-description p{font-size:16px;line-height:1.85;margin:0 0 14px;word-break:keep-all}.team-description>span{font-size:12px;color:#999;line-height:1.7}
.about-services{background:#f0f0ee}.about-service-links{margin-top:54px;border-top:1px solid #aaa}.about-service-links a{display:grid;grid-template-columns:50px 1fr 1fr 26px;align-items:center;gap:20px;border-bottom:1px solid #ccc;padding:25px 0}.about-service-links strong{font-size:27px;font-weight:450;line-height:1.4}.about-service-links span{font-size:12px;color:#666;line-height:1.7}.about-service-links b{font-size:24px;font-weight:400;transition:transform .3s}.about-service-links a:hover b{transform:translate(3px,-3px)}
.about-selected>h2{margin:54px 0 38px}.about-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.about-work-grid img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.about-work-grid a>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:22px 0 10px}.about-work-grid h3{font-size:24px;line-height:1.45;font-weight:450;margin:0}.about-work-grid p{font-size:12px;color:#777;margin:0;line-height:1.7}
.about-invitation{background:#e5e5e5;text-align:center;padding-top:90px;padding-bottom:100px}.about-invitation h2{margin:28px 0 36px}.about-invitation .underlined-link{justify-content:space-between;min-width:220px}
@keyframes about-drift{0%,100%{transform:translateY(6px) rotate(-.5deg)}50%{transform:translateY(-10px) rotate(.5deg)}}
@media(max-width:900px){.about-page-art{left:10%;opacity:.6}.about-story-grid{gap:6vw}.about-team-list article{grid-template-columns:30px .8fr 1fr;gap:24px}}
@media(max-width:680px){
 .detail-intro{padding-bottom:42px}.detail-intro h1,.detail-intro h1.korean-display{line-height:1.4;margin-top:20px;margin-bottom:22px}.detail-intro p{margin-top:20px;line-height:1.8}.detail-copy h2{line-height:1.5}.detail-copy p+h2,.detail-copy ul+h2{margin-top:38px}
 .about-section{padding:60px var(--pad)}.about-section-label{font-size:9px;gap:16px}.about-page-hero{padding:50px var(--pad) 32px;min-height:720px}.about-page-heading h1{font-size:clamp(30px,8.5vw,45px);margin:26px 0 22px;line-height:1.5}.about-page-heading p{font-size:16px;line-height:1.8;margin-bottom:26px}.about-page-art{inset:auto -3% 20px;height:340px;opacity:1}.about-page-art img{mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 90%,transparent)}.about-hero-caption{bottom:24px;font-size:8px}.about-scroll{gap:50px;font-size:11px}
 .about-story-grid{grid-template-columns:1fr;gap:28px;margin-top:40px}.about-story-grid h2,.about-selected>h2,.about-invitation h2{font-size:30px;line-height:1.5}.about-story-grid p{font-size:16px;line-height:1.8}.about-number-grid{gap:16px;margin-top:42px;padding-top:26px}.about-number-grid strong{font-size:clamp(36px,10vw,54px)}.about-number-grid strong>span{font-size:13px;margin-left:3px}.about-number-grid>div{gap:12px}.about-number-grid>div>span{font-size:11px;word-break:keep-all}
 .about-teams-heading{display:block;margin:40px 0 32px}.about-teams-heading h2{font-size:48px}.about-teams-heading>p{margin-top:24px;font-size:16px}.about-team-list article{grid-template-columns:24px 1fr;gap:14px;padding:28px 0}.team-description{grid-column:2}.team-english{font-size:27px}.team-description p{font-size:16px}.about-service-links{margin-top:32px}.about-service-links a{grid-template-columns:22px 1fr 22px;gap:14px;padding:22px 0}.about-service-links strong{font-size:25px}.about-service-links a>span:nth-child(3){grid-column:2;grid-row:2}.about-service-links b{grid-column:3;grid-row:1/3}.about-work-grid{grid-template-columns:1fr;gap:36px}.about-selected>h2{margin:36px 0 28px}.about-work-grid h3{font-size:23px}.about-invitation{padding-top:60px;padding-bottom:68px}
}
@media(prefers-reduced-motion:reduce){.about-page-art{animation:none}}
.about-page-art img{width:auto;height:auto;max-width:100%;max-height:100%;flex:none;mask-image:linear-gradient(to right,transparent,#000 30%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 90%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 30%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 90%,transparent);-webkit-mask-composite:source-in}
@media(max-width:680px){.about-page-art img{width:140%;height:auto;max-width:none;max-height:none;position:relative;left:-18%;mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 90%,transparent);mask-composite:add;-webkit-mask-composite:source-over}}
/* Separate line boxes keep Korean glyphs and punctuation inside text effects. */
.manifesto h2{display:flex;flex-direction:column;align-items:flex-start;gap:.12em;line-height:1.25;overflow:visible;margin:24px 0 32px;letter-spacing:-.065em}
.manifesto h2>.manifesto-line{display:block;max-width:100%;padding:.04em .14em .1em .02em;margin-left:-.02em;margin-bottom:-.1em;overflow:visible;word-break:keep-all;overflow-wrap:anywhere;color:var(--ink);background-origin:border-box}
.manifesto h2>.manifesto-emphasis{color:#8c8c8c}
.work-title h2,.expertise-heading h2,.connections-title h2{line-height:1.14;overflow:visible;padding-bottom:.1em}
.expertise-heading h2 em,.connections-title h2 em,.work-title h2 em{padding-right:.1em}
.expertise-item summary{min-width:0}
.expertise-item h3{line-height:1.2;overflow-wrap:anywhere}
.project-meta h3{line-height:1.35;overflow-wrap:anywhere}
.footer-wordmark{overflow:visible;line-height:1.12;padding-bottom:.06em}
.contact-title>span:first-child{line-height:1.1;padding-bottom:.1em}
@media(max-width:680px){
 .manifesto h2{line-height:1.27;gap:.1em;margin:20px 0 26px}
 .expertise-item h3{font-size:clamp(25px,7.7vw,34px);max-width:calc(100% - 70px)}
 .expertise-item summary>b{flex-shrink:0}
}

.detail-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1)}.detail-reveal.detail-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.detail-reveal{opacity:1;transform:none;transition:none}}

/* One navigation system across the home page and every detail page. */
.detail-page main{padding-top:106px}
.detail-page .detail-header{position:fixed;top:0;left:0;right:0;height:106px;padding:0 var(--pad);display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid rgba(17,17,17,.08);background:rgba(250,250,248,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:30}
.detail-page .detail-header.is-scrolled{height:76px}
.detail-page .detail-header .desktop-nav{display:flex;align-items:center;gap:34px;font-size:inherit;order:initial;flex-basis:auto}
.detail-page .desktop-nav a[aria-current="page"]:after{right:0}
.detail-page .contact-nav[aria-current="page"]{border-bottom:1px solid currentColor;padding-bottom:7px}
.detail-page .mobile-nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.detail-page.detail-menu-open{overflow:hidden}
.detail-page .breadcrumb{padding-top:30px}
@media(max-width:1050px){.detail-page main{padding-top:90px}.detail-page .detail-header{height:90px}.detail-page .detail-header .desktop-nav{gap:22px}}
@media(max-width:680px){
 html{scroll-padding-top:82px}
 .detail-page main{padding-top:82px}
 .detail-page .detail-header{height:82px;padding:0 var(--pad);flex-wrap:nowrap}
 .detail-page .detail-header.is-scrolled{height:72px}
 .detail-page .detail-header .desktop-nav{display:none}
 .detail-page .breadcrumb{padding-top:24px}
}

/* Keep the small Shake Shack original at its native display size. */
.project[data-project="shake-shack"] .project-image{display:grid;place-items:center;background:#e4efe7;position:relative}
.project[data-project="shake-shack"] .project-image img{width:min(60%,310px);height:auto;aspect-ratio:1;object-fit:contain;transform:none!important}
.project[data-project="shake-shack"] .project-image:before{content:'SHAKE SHACK';position:absolute;top:6%;left:7%;font-size:clamp(14px,2vw,28px);font-weight:600;letter-spacing:-.03em;color:#1c4b2a}
.project .project-image img{image-rendering:auto;backface-visibility:hidden}

/* Portfolio gallery: a bounded artwork on a neutral exhibition surface. */
.project-rail{gap:28px;padding-bottom:28px}
.project-rail .project{flex:0 0 min(48vw,720px)}
.gallery-frame{display:flex;align-items:center;justify-content:center;background:#e7e6e2;padding:clamp(20px,2.6vw,40px);position:relative;overflow:hidden}
.project-image.gallery-frame{aspect-ratio:16/10}
.gallery-frame>img,.project[data-project="shake-shack"] .gallery-frame>img{display:block;width:auto;height:auto;max-width:min(100%,var(--art-width,720px));max-height:min(100%,var(--art-height,480px));object-fit:contain;aspect-ratio:auto;transform:none!important;scale:none;transition:none}
.project-image.gallery-frame>img{width:100%;height:100%}
.project:hover .gallery-frame>img{transform:none}
.project[data-project="shake-shack"] .gallery-frame{display:flex;background:#e4efe7}
.project[data-project="shake-shack"] .gallery-frame:before{font-size:16px;top:24px;left:28px;letter-spacing:.025em}
.project-image.gallery-frame .project-view{width:auto;height:auto;border-radius:0;padding:12px 16px;bottom:18px;right:18px;letter-spacing:.08em;font-size:10px;opacity:1;transform:none;background:#fffffff2;border:1px solid #0001}
.project-meta{margin-top:20px;gap:18px;flex-wrap:wrap}
.project-meta h3{font-size:26px;flex-basis:70%;margin-right:auto}
.project-meta>span:last-child{margin-left:0;order:2}
.project-meta>span:nth-child(2){order:3;flex-basis:100%;font-size:11px;letter-spacing:.035em}
.work-directory{max-width:1640px;margin-inline:auto;gap:46px 28px}
.about-work-art.gallery-frame{aspect-ratio:16/10}
.about-work-art.gallery-frame>img{width:100%;height:100%;aspect-ratio:auto}
.case-gallery.gallery-frame{margin:0 var(--pad);padding:clamp(24px,5vw,72px);min-height:320px;max-width:1200px}
.case-gallery.gallery-frame .case-hero{width:auto;height:auto;max-width:min(100%,var(--art-width,960px));max-height:var(--art-height,640px);margin:0;object-fit:contain}
@media(min-width:1500px){.case-gallery.gallery-frame{margin-inline:auto}}
@media(max-width:900px){.project-rail .project{flex-basis:min(72vw,620px)}}
@media(max-width:680px){
 .project-rail{gap:18px}.project-rail .project{flex-basis:88vw}
 .project-image.gallery-frame,.about-work-art.gallery-frame{aspect-ratio:4/3;padding:22px}
 .project-image.gallery-frame .project-view{font-size:8px;bottom:12px;right:12px;padding:10px 12px}
 .project-meta{gap:12px;margin-top:16px}.project-meta h3{font-size:23px;flex-basis:80%}
 .project-meta>span:nth-child(2){font-size:10px}.project-meta>span:last-child{flex-basis:auto;text-align:right}
 .project[data-project="shake-shack"] .gallery-frame:before{font-size:12px;top:14px;left:18px}
 .case-gallery.gallery-frame{min-height:260px;padding:24px}
 .work-directory{gap:34px}.work-directory .project-meta h3{font-size:23px}
}
.project[data-project="shake-shack"] .project-image.gallery-frame>img{width:100%;height:100%}.about-work-grid a>.about-work-art.gallery-frame{margin:0;gap:0;align-items:center;justify-content:center}
.site-footer-info{border-top:1px solid #353535;margin-top:36px;padding-top:28px;color:#bcbcb7;font-size:14px;line-height:1.8;letter-spacing:0}
.footer-business{display:flex;flex-wrap:wrap;gap:8px 24px;max-width:1100px;align-items:baseline}
.footer-business strong{font-size:16px;font-weight:500;color:#eee;margin-right:8px}
.footer-business .footer-address{flex-basis:100%;margin-top:3px}
.footer-business>a{color:inherit}
.footer-policy{display:flex;flex-wrap:wrap;gap:12px 28px;margin:24px 0 20px;font-size:14px}
.footer-policy>a{color:#e3e3df;text-decoration:none}
.footer-policy>a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-copyright{display:block;font-size:12px;color:#898985;line-height:1.7;word-break:keep-all}
.footer-top-link{display:block;text-align:right;font-size:12px;color:#a3a39e;margin-top:24px;letter-spacing:.03em}
/* One shared information area beneath the contact invitation. */
.contact .contact-title{margin-bottom:0}
.contact>footer{margin-top:clamp(64px,8vw,120px)}
.footer-information-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px 64px;align-items:start}
.footer-business{max-width:860px;gap:6px 20px}
.footer-navigation{display:flex;flex-direction:column;gap:12px;min-width:130px;font-size:13px;line-height:1.8}
.footer-navigation>a{color:#e3e3df;text-decoration:none}
.footer-navigation>a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-legal-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px 40px;margin-top:32px}
.footer-legal-row .footer-policy{margin:0;font-size:12px;gap:12px 24px}
.footer-top-link{margin-top:20px}
@media(max-width:680px){
 .contact>footer{margin-top:64px}
 .footer-information-row{grid-template-columns:1fr;gap:24px}
 .footer-navigation{flex-direction:row;flex-wrap:wrap;gap:12px 24px;font-size:12px}
 .footer-legal-row{flex-direction:column;align-items:flex-start;gap:16px;margin-top:26px}
 .footer-legal-row .footer-policy{font-size:11px}
}
.detail-footer .site-footer-info{margin-top:28px;padding-top:24px}
@media(max-width:680px){.site-footer-info{margin-top:26px;padding-top:24px;font-size:13px}.footer-business{display:block}.footer-business>strong,.footer-business>span,.footer-business>a{display:block;margin:0 0 6px}.footer-policy{gap:12px 22px;font-size:13px;margin-top:22px}.footer-copyright{font-size:11px}}
