@import url('/style.css');

body.inner-page{background:#f4f2ee}.inner-page .site-header{background:rgba(13,13,13,.92);backdrop-filter:blur(14px)}.page-hero{position:relative;min-height:520px;padding:170px var(--pad) 82px;display:flex;align-items:flex-end;color:#fff;background:#111;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:var(--page-image) center/cover no-repeat;opacity:.52;transform:scale(1.02)}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.18)),linear-gradient(0deg,rgba(0,0,0,.64),transparent 55%)}.page-hero__content{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:1.2fr .6fr;align-items:end;gap:10vw}.page-hero h1{margin:0;font-size:clamp(58px,8vw,118px);font-weight:300;line-height:.95;letter-spacing:-.07em}.page-hero h1 em{display:block;color:transparent;font-style:normal;-webkit-text-stroke:1px rgba(255,255,255,.8)}.page-hero__content>p{margin:0 0 8px;max-width:420px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.9}.page-number{position:absolute;right:var(--pad);top:140px;z-index:2;font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.48)}.subnav{position:sticky;z-index:50;top:72px;padding:0 var(--pad);display:flex;gap:40px;align-items:center;min-height:66px;background:rgba(244,242,238,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);overflow-x:auto}.subnav a{white-space:nowrap;font-size:12px;color:#777}.subnav a:hover{color:var(--red)}.inner-section{padding:clamp(78px,9vw,140px) var(--pad)}.inner-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:62px}.inner-heading h2{margin:0;font-size:clamp(38px,5vw,70px);font-weight:400;line-height:1.12;letter-spacing:-.055em}.inner-heading>p{max-width:520px;margin:0;color:#706d68;font-size:14px;line-height:1.9}.page-footer{padding:38px var(--pad);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:#080808;color:rgba(255,255,255,.45);font-size:10px}.page-footer img{width:150px;filter:brightness(0) invert(1);opacity:.82}.page-footer__links{display:flex;gap:24px;align-items:center}.page-footer a:hover{color:#fff}.cta-band{padding:80px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:40px;background:var(--red);color:#fff}.cta-band h2{margin:0;font-size:clamp(34px,4.5vw,66px);font-weight:400;letter-spacing:-.05em}.cta-band a{display:flex;justify-content:space-between;min-width:210px;padding:16px 0;border-bottom:1px solid #fff;font-size:13px}

.service-page-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-detail{position:relative;min-height:460px;padding:42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.service-detail>span{font-size:10px;color:#888}.service-detail h2{margin:100px 0 20px;font-size:clamp(34px,4vw,58px);font-weight:400;letter-spacing:-.05em}.service-detail p{max-width:580px;color:#74716c;font-size:14px;line-height:1.9}.service-detail ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:30px 0 0;padding:0}.service-detail li{padding:9px 14px;border:1px solid var(--line);border-radius:99px;font-size:10px}.workflow{background:#111;color:#fff}.workflow-list{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.2)}.workflow-list>div{padding:30px 28px 42px;border-right:1px solid rgba(255,255,255,.14)}.workflow-list span{font-size:10px;color:var(--red)}.workflow-list h3{margin:58px 0 14px;font-size:20px;font-weight:400}.workflow-list p{margin:0;color:rgba(255,255,255,.55);font-size:12px;line-height:1.8}

.article-list{border-top:1px solid #aaa}.article-row{display:grid;grid-template-columns:130px 110px 1fr 40px;gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:.3s}.article-row:hover{padding-left:18px;color:var(--red)}.article-row time,.article-row>span{font-size:11px;color:#777}.article-row h2{margin:0;font-size:clamp(17px,2vw,25px);font-weight:400}.article-row i{font-style:normal;font-size:20px}.about-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.about-story img{width:100%;aspect-ratio:4/3;object-fit:cover}.about-story h2{margin:0 0 30px;font-size:clamp(40px,5vw,72px);font-weight:400;line-height:1.1;letter-spacing:-.06em}.about-story p{color:#706d68;font-size:14px;line-height:2}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.value-grid>div{min-height:300px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.value-grid span{color:var(--red);font-size:10px}.value-grid h3{margin:80px 0 18px;font-size:25px;font-weight:400}.value-grid p{color:#777;font-size:13px;line-height:1.8}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.contact-lead h2{margin:0;font-size:clamp(42px,6vw,82px);font-weight:400;line-height:1.06;letter-spacing:-.06em}.contact-lead p{margin:35px 0 0;color:#777;line-height:2}.contact-list>div{padding:28px 0;border-bottom:1px solid var(--line)}.contact-list span{display:block;margin-bottom:11px;color:#888;font-size:9px;letter-spacing:.15em}.contact-list a,.contact-list p{margin:0;font-size:18px;line-height:1.7}.contact-qr{display:flex;gap:24px;margin-top:38px}.contact-qr figure{width:120px;margin:0}.contact-qr img{width:120px;height:120px;object-fit:cover}.contact-qr figcaption{margin-top:10px;text-align:center;font-size:10px;color:#777}

.case-page{padding:70px max(12px,2vw) 120px;background:#101010;color:#fff}.case-toolbar{position:sticky;z-index:40;top:72px;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:18px 0 22px;background:rgba(16,16,16,.94);backdrop-filter:blur(12px)}.case-page-filters{display:flex;gap:8px;overflow-x:auto}.case-page-filters button{white-space:nowrap;padding:10px 17px;border:1px solid rgba(255,255,255,.18);border-radius:99px;background:none;color:rgba(255,255,255,.65);font-size:11px;cursor:pointer}.case-page-filters button.active{background:#fff;border-color:#fff;color:#111}.case-count{white-space:nowrap;font-size:10px;color:rgba(255,255,255,.48);letter-spacing:.12em}.waterfall-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.waterfall-card{position:relative;aspect-ratio:1;overflow:hidden;background:#222;animation:cardIn .55s var(--ease) both}.waterfall-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),filter .4s;filter:saturate(.86)}.waterfall-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.88),transparent)}.waterfall-card:hover img{transform:scale(1.06);filter:saturate(1.1)}.waterfall-card__text{position:absolute;z-index:2;left:15px;right:15px;bottom:14px}.waterfall-card__text span{font-size:8px;letter-spacing:.12em;color:rgba(255,255,255,.62)}.waterfall-card__text h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:7px 0 0;font-size:13px;font-weight:400;line-height:1.4}.load-sentinel{min-height:160px;display:grid;place-items:center}.load-status{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.48);font-size:10px;letter-spacing:.14em}.load-status i{width:18px;height:18px;border:1px solid rgba(255,255,255,.25);border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}.load-status.done i{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes cardIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

@media(max-width:1100px){.waterfall-grid{grid-template-columns:repeat(4,1fr)}.workflow-list{grid-template-columns:repeat(3,1fr)}.page-hero__content{grid-template-columns:1fr .7fr}}
@media(max-width:680px){.page-hero{min-height:440px;padding-top:140px}.page-hero__content{grid-template-columns:1fr}.page-hero__content>p{margin-top:20px}.page-number{top:105px}.subnav{top:72px;gap:24px}.inner-heading,.about-story,.contact-page{grid-template-columns:1fr}.inner-heading{gap:24px}.service-page-grid{grid-template-columns:1fr}.service-detail{min-height:390px;padding:28px}.service-detail h2{margin-top:78px}.workflow-list{grid-template-columns:1fr}.workflow-list>div{border-bottom:1px solid rgba(255,255,255,.14)}.workflow-list h3{margin-top:28px}.article-row{grid-template-columns:82px 1fr 24px;gap:12px}.article-row>span{display:none}.article-row h2{font-size:15px;line-height:1.5}.value-grid{grid-template-columns:1fr}.contact-page{gap:50px}.cta-band{align-items:flex-start;flex-direction:column}.page-footer{grid-template-columns:1fr}.page-footer__links{flex-wrap:wrap}.case-page{padding-left:8px;padding-right:8px}.case-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.case-page-filters{width:100%}.waterfall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.waterfall-card__text{left:11px;right:11px;bottom:10px}.waterfall-card__text h2{font-size:12px}}
.article-row-thumb{grid-template-columns:180px minmax(0,1fr) 40px;gap:32px;padding:22px 0}.article-thumb{width:180px;aspect-ratio:16/10;object-fit:cover;background:#ddd;filter:saturate(.82);transition:.45s}.article-row-thumb:hover .article-thumb{filter:saturate(1);transform:scale(.98)}.article-meta{display:flex;gap:26px;margin-bottom:13px}.article-meta time,.article-meta span{color:#777;font-size:10px}.article-copy h2{margin:0;font-size:clamp(18px,2vw,26px);font-weight:400;line-height:1.4}
@media(max-width:680px){.article-row-thumb{grid-template-columns:96px minmax(0,1fr) 24px;gap:12px;padding:16px 0}.article-thumb{width:96px;aspect-ratio:1}.article-meta{gap:10px;margin-bottom:7px}.article-meta span{display:none}.article-copy h2{font-size:14px;line-height:1.45}.article-row-thumb i{align-self:center}}
.case-page-hero{min-height:350px;padding-top:120px;padding-bottom:52px}.case-page-hero .page-number{top:104px}.case-page-hero h1{font-size:clamp(48px,6vw,88px)}.service-line-icon{position:absolute;top:48px;right:42px;width:88px;height:88px;color:var(--red);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-detail:hover .service-line-icon{transform:rotate(-4deg) scale(1.04);transition:transform .4s var(--ease)}@media(max-width:680px){.case-page-hero{min-height:300px;padding-top:110px;padding-bottom:42px}.case-page-hero .page-number{top:92px}.case-page-hero .page-hero__content>p{display:none}.service-line-icon{top:34px;right:28px;width:68px;height:68px}}
.service-detail-icon{position:absolute;top:26px;right:34px;width:145px;height:145px;color:#111}.service-detail:hover .service-detail-icon{transform:scale(1.04);transition:transform .4s var(--ease)}@media(max-width:680px){.service-detail-icon{top:24px;right:22px;width:105px;height:105px}}

/* Keep the company story and capability sections visually connected. */
.about-story{padding-bottom:clamp(40px,4vw,64px)}
.about-story + .inner-section{padding-top:clamp(40px,4vw,64px)}
#numbers{padding-top:clamp(44px,5vw,72px);padding-bottom:clamp(44px,5vw,72px)}
@media(max-width:680px){
  .about-story{padding-bottom:34px}
  .about-story + .inner-section{padding-top:34px}
  #numbers{padding-top:38px;padding-bottom:38px}
}

/* Horizontal navigation remains swipeable without exposing native scrollbars. */
.subnav,.case-page-filters{
  -ms-overflow-style:none;
  scrollbar-width:none;
}
.subnav::-webkit-scrollbar,.case-page-filters::-webkit-scrollbar{display:none}
.workflow-icon{
  display:block;
  width:62px;
  height:62px;
  margin:28px auto 22px;
  color:var(--red);
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.workflow-list h3{margin:0 0 14px}
.contact-list span{margin-bottom:14px;color:#777;font-size:14px;letter-spacing:.08em}
.contact-list a{display:block;width:max-content}
@media(max-width:680px){
  .workflow-icon{width:58px;height:58px;margin:22px auto 18px}
  .workflow-list h3{margin-top:0}
}

/* Compact call-to-action band. */
.cta-band{padding:36px var(--pad)}
.cta-band h2{font-size:clamp(28px,3.4vw,48px);letter-spacing:-.045em}
.cta-band a{min-width:250px;padding:17px 0;font-size:16px;font-weight:500}
@media(max-width:680px){
  .cta-band{padding:34px var(--pad)}
  .cta-band h2{font-size:28px}
  .cta-band a{width:100%;min-width:0;font-size:16px}
}

/* Keep the service workflow title compact on one line. */
.workflow .inner-heading h2{font-size:clamp(32px,3.5vw,50px);white-space:nowrap}
.workflow .inner-heading h2 br{display:none}
@media(max-width:680px){.workflow .inner-heading h2{font-size:34px;white-space:normal}}
.workflow .inner-heading>p{max-width:none;font-size:13px;white-space:nowrap}
@media(max-width:680px){.workflow .inner-heading>p{white-space:normal}}

/* Match the service hero scale to the compact cases hero. */
body:has(.subnav a[href="#workflow"]) .page-hero{min-height:350px;padding-top:120px;padding-bottom:52px}
body:has(.subnav a[href="#workflow"]) .page-hero .page-number{top:104px}
body:has(.subnav a[href="#workflow"]) .page-hero h1{font-size:clamp(48px,6vw,88px)}
@media(max-width:680px){
  body:has(.subnav a[href="#workflow"]) .page-hero{min-height:300px;padding-top:110px;padding-bottom:42px}
  body:has(.subnav a[href="#workflow"]) .page-hero .page-number{top:92px}
  body:has(.subnav a[href="#workflow"]) .page-hero .page-hero__content>p{display:none}
}

/* Use the cases hero proportions across all inner pages. */
.page-hero{min-height:350px;padding-top:120px;padding-bottom:52px}
.page-hero .page-number{top:104px}
.page-hero h1{font-size:clamp(48px,6vw,88px)}
@media(max-width:680px){
  .page-hero{min-height:300px;padding-top:110px;padding-bottom:42px}
  .page-hero .page-number{top:92px}
  .page-hero .page-hero__content>p{display:none}
}
