html,body{width:100%;max-width:100%;overflow-x:hidden}main,main>section,header,footer{max-width:100%}img{max-width:100%}
/* Keep the hero discipline label readable above the device composition. */
.hero-art>p{left:50%!important;right:auto!important;bottom:5%!important;z-index:6!important;width:max-content;max-width:calc(100% - 40px);margin:0!important;padding:10px 22px 12px;border:1px solid rgba(11,13,18,.15);border-radius:999px;background:rgba(245,243,238,.92);font-size:clamp(34px,4.2vw,72px)!important;line-height:.92!important;letter-spacing:-.065em!important;white-space:nowrap;transform:translateX(-50%);backdrop-filter:blur(10px)}
.hero-art .device{z-index:3}
.hero-foot span:last-child{display:none}
.project-visual .view-project{z-index:5}
.project-visual .project-no{z-index:5}
.contact-white-link,.contact-white-button,.contact-section .colored-button{white-space:nowrap!important;min-width:max-content!important;flex-shrink:0!important}
.reviews{padding:clamp(90px,10vw,160px) clamp(22px,4vw,64px);border-top:1px solid var(--line)}.reviews-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:7vw;align-items:end;margin-bottom:60px}.reviews-heading h2{font-size:clamp(52px,7vw,106px);line-height:.94;letter-spacing:-.055em;margin:0}.reviews-heading h2 em{font-family:Georgia,serif;font-weight:400}.google-summary{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid var(--line);border-radius:20px}.google-mark{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:#4285f4;font-size:28px;font-weight:600}.google-summary strong{font-size:20px}.google-summary p{margin:5px 0 0;color:var(--muted);line-height:1.4}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card,.review-placeholder{min-width:0;padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff}.review-placeholder{grid-column:1/-1;text-align:center}.stars{color:#e99b15;letter-spacing:.08em;font-size:18px}.review-card blockquote,.review-placeholder blockquote{margin:24px 0;font-size:20px;line-height:1.5}.review-placeholder>p{color:var(--muted)}.review-author{position:relative;display:flex;align-items:center;gap:12px;margin-top:26px}.review-author img{width:52px;height:52px;flex:0 0 52px;border-radius:50%;object-fit:cover}.review-author .review-avatar-fallback{width:52px;height:52px;flex:0 0 52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#dedaff;font-size:13px;font-weight:600}.review-author .review-avatar-fallback+img{position:absolute;inset:0 auto auto 0;background:#dedaff}.review-author p{min-width:0;margin:0}.review-author strong,.review-author span{display:block}.review-author strong a{color:inherit;text-decoration:none}.review-author strong a:hover{text-decoration:underline}.review-author span{margin-top:3px;color:var(--muted);font-size:13px}.review-links{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:45px}
@media(max-width:900px){
  .menu-button{display:block!important;position:absolute!important;right:14px!important;top:17px!important;z-index:40!important}
  #hamburger-menu{display:block!important;position:relative;z-index:40}
  .hero,.case-hero,.content-heading,.contact-block,.colored-section{min-width:0!important;width:100%!important;max-width:100vw!important}
  .hero-copy,.hero-art,.case-title,.case-cover,.page-title-lockup,.section-intro,.contact-left-info,.contact-right-info{min-width:0!important;max-width:100%!important}
  .case-hero,.case-summary,.case-features{grid-template-columns:minmax(0,1fr)!important}
  .case-title,.hero-copy{overflow:hidden}
  .case-title>p,.hero-copy>p,.section-intro p{max-width:100%!important;overflow-wrap:anywhere}
  .hero-art>p{bottom:24px!important;font-size:clamp(30px,8vw,52px)!important;padding:9px 18px 11px}
  .reviews-heading{grid-template-columns:1fr}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-placeholder{grid-column:1/-1}
}
@media(max-width:620px){
  .site-header,header#header{width:100vw!important;max-width:100vw!important;padding-left:22px!important;padding-right:56px!important}
  .site-header .brand img{width:min(165px,calc(100vw - 110px))!important;height:auto}
  .hero-copy{width:100%!important;padding-left:24px!important;padding-right:24px!important}
  .hero-copy h1{max-width:100%!important;font-size:clamp(46px,13vw,58px)!important;overflow-wrap:normal!important}
  .hero-copy .hero-lede{width:calc(100vw - 48px)!important;max-width:calc(100vw - 48px)!important;font-size:18px!important;line-height:1.5!important;white-space:normal!important;overflow-wrap:break-word!important}
  .content-heading{padding-left:24px!important;padding-right:24px!important}
  .content-heading h1{width:100%!important;max-width:100%!important;font-size:clamp(49px,14vw,58px)!important;line-height:.95!important;white-space:normal!important}
  .section-intro{width:calc(100% - 40px)!important;padding:0!important}
  .section-intro h2{display:block!important;width:calc(100vw - 40px)!important;max-width:calc(100vw - 40px)!important;font-size:clamp(36px,10vw,44px)!important;line-height:1!important;white-space:normal!important;overflow-wrap:break-word!important}
  .section-intro p{display:block!important;width:calc(100vw - 40px)!important;max-width:calc(100vw - 40px)!important;white-space:normal!important;overflow-wrap:break-word!important}
  .choose-section,.team-member-section,.recent-works-section{max-width:calc(100vw - 32px)!important}
  .choose-tiles,.team-member-block,.recent-works-tiles{min-width:0!important;max-width:100%!important}
  .case-title{width:100%!important;padding:65px 24px!important}
  .case-title h1{max-width:100%!important;font-size:clamp(48px,14vw,60px)!important;line-height:.95!important;overflow-wrap:anywhere!important}
  .case-title>p:not(.eyebrow){display:block!important;width:calc(100vw - 48px)!important;max-width:calc(100vw - 48px)!important;font-size:19px!important;line-height:1.5!important;white-space:normal!important;overflow-wrap:break-word!important}
  .store-actions{width:100%;align-items:flex-start;flex-direction:column}
  .store-actions a{max-width:100%;font-size:15px}
  .case-cover{width:100%!important;min-height:460px!important}
  .hero-art>p{max-width:calc(100% - 28px);font-size:clamp(27px,9vw,38px)!important}
  .contact-block{padding-left:16px!important;padding-right:16px!important}
  .contact-left-info,.contact-right-info{width:100%!important}
  .contact-left-info h2{font-size:29px!important;white-space:normal!important}
  .contact-info-values{max-width:calc(100% - 58px)!important;overflow-wrap:anywhere}
  .reviews-heading h2{font-size:clamp(44px,13vw,58px)}.review-grid{grid-template-columns:1fr}.review-card,.review-placeholder{padding:24px}.review-links .button{width:100%;gap:15px;text-align:center}.google-summary{padding:20px}
}
.menu-button:after{content:'☰';display:block;color:var(--ink,#0b0d12);font:24px/1 Arial,sans-serif}.menu-button>span:not(.sr-only){display:none!important}
@media(min-width:621px) and (max-width:900px){
  .site-header,header#header{padding-left:28px!important;padding-right:60px!important}
  .case-title{padding-left:45px!important;padding-right:45px!important}
  .content-heading{padding-left:55px!important;padding-right:55px!important}
}
.review-avatar{width:42px;height:42px;flex:0 0 42px;display:flex!important;align-items:center;justify-content:center;border-radius:50%;background:#dedaff;color:var(--ink);font-size:13px!important;font-weight:600}
#review-grid .review-card blockquote{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:9}
