/* Shared interaction layer. Content remains readable without JavaScript. */
.home .hero::before{display:none}
.home .hero .hero-copy{position:relative;z-index:2}
.home .hero-photo{isolation:auto}
.chapter-nav{position:sticky;top:0;z-index:28;background:#f6f3edf5;border-block:1px solid #d8d3ca;backdrop-filter:blur(12px)}
.chapter-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;overflow-x:auto;scrollbar-width:thin}
.chapter-nav a{display:block;flex-shrink:0;padding:18px 0 16px;border-bottom:3px solid transparent;text-decoration:none;font-size:15px;font-weight:650;color:#36434b;transition:color .2s,border-color .2s}
.chapter-nav a:hover,.chapter-nav a[aria-current=true]{border-color:#f39910;color:#744600}
.chapter-nav a:focus-visible,.service-choice:focus-visible,.back-to-top:focus-visible{outline:3px solid #a65f00;outline-offset:-3px}
html{scroll-padding-top:76px}
.service-explorer{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,2fr);gap:48px;margin-top:36px}
.service-choices{display:flex;flex-direction:column;align-items:stretch;border-top:1px solid #c9c4ba}
.service-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:25px 4px;border:0;border-bottom:1px solid #c9c4ba;border-radius:0;background:transparent;color:#26343b;text-align:left;cursor:pointer;font:inherit;transition:color .2s,background .2s}
.service-choice strong{display:block;font-size:23px;line-height:1.4;font-weight:650}
.service-choice small{display:block;margin-top:6px;color:#56636a;font-size:14px}
.service-choice svg{flex-shrink:0;width:22px;height:22px;transition:transform .25s}
.service-choice[aria-selected=true]{color:#815000;background:#ece6db}
.service-choice[aria-selected=true] svg{transform:translateX(4px)}
.service-explorer:not(.is-enhanced) .service-choices{display:none}
.service-explorer:not(.is-enhanced){grid-template-columns:1fr}
.service-panels{min-width:0}
.service-panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:34px;align-items:center;margin-bottom:34px}
.service-panel[hidden]{display:none}
.service-panel figure{margin:0;min-width:0;height:420px;overflow:hidden;border-radius:8px}
.service-panel figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.service-panel:hover figure img{transform:scale(1.025)}
.service-panel h3{font-size:clamp(27px,2.4vw,38px);line-height:1.35;margin:0 0 20px;color:#26343b;letter-spacing:0}
.service-panel p,.service-panel li{font-size:17px;line-height:1.9;color:#4b5960}
.service-panel ul{padding-left:20px;margin:18px 0 28px}
.service-panel li{margin:6px 0}
.service-panel .service-detail-link{display:inline-flex;align-items:center;gap:18px;padding:10px 0;color:#744600;font-weight:700;text-decoration:none;border-bottom:1px solid #a96600}
.service-coordination{margin-top:24px}
.business-flow{position:relative}
.business-flow::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#f39910;transform:scaleX(var(--flow-progress,0));transform-origin:left;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.business-flow li{transition:background-color .5s}
.business-flow li.is-reached .business-flow-number{color:#855000}
.client-list.brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:0;border-top:1px solid #d5cfc4}
.brand-grid>div{min-width:0;min-height:164px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-bottom:1px solid #d5cfc4;border-right:1px solid #d5cfc4;background:transparent;transition:background .25s}
.brand-grid>div:nth-child(4n){border-right:0}
.brand-grid>div:hover{background:#ede7dc}
.brand-grid .brand-logo-frame{display:flex;align-items:center;justify-content:center;width:100%;height:90px;min-height:0;padding:0;border:0;background:transparent}
.brand-grid .brand-logo-frame img{width:auto!important;height:auto!important;max-width:82%!important;max-height:82px!important;object-fit:contain;transition:transform .35s}
.brand-grid>div:hover img{transform:scale(1.055)}
.brand-grid .brand-label{display:block;min-height:0;padding:0;border:0;font-size:15px;line-height:1.5;font-weight:500;color:#47545b;text-align:center}
.client-list.brand-grid span.brand-label{min-height:0;padding:0;border:0;background:transparent;color:#47545b}
.client-list.brand-grid span.brand-logo-frame{min-height:0;padding:0;border:0;background:transparent}
.brand-grid .client-apple-logo{max-height:68px!important}
.customer-directory.brand-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.customer-directory.brand-grid>div{border-right:1px solid #d5cfc4}
.customer-directory.brand-grid>div:nth-child(5n){border-right:0}
.company-client-proof{padding-block:60px;background:#eee9e0}
.company-client-proof .section-head{align-items:center;margin-bottom:30px}
.company-client-proof .brand-grid{grid-template-columns:repeat(6,minmax(0,1fr));border:0}
.company-client-proof .brand-grid>div{min-height:132px;padding:14px;border:0}
.company-client-proof .brand-logo-frame{height:72px}
.company-client-proof .brand-grid img{max-height:64px!important}
.company-client-proof .company-more{display:inline-block;margin:0;font-size:16px;color:#744600;white-space:nowrap}
.team-profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 40px;margin-top:34px}
.team-profile{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr);gap:24px;padding:0 0 28px;border-bottom:1px solid #cfc9bd;color:#26343b;align-content:start}
.team-profile-photo{margin:0;min-width:0;overflow:hidden;border-radius:8px;align-self:start;background:#e8e2d7}
.team-profile-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 22%}
.team-profile-photo .photo-watermark{font-size:8px;padding:3px 5px;right:5px;bottom:6px}
.team-profile-placeholder{display:grid;place-items:center;aspect-ratio:3/4;font-size:64px;color:#8b6b38;background:#e8e2d7}
.team-profile-detail h3{font-size:30px;line-height:1.2;letter-spacing:0;margin:2px 0 10px;color:#26343b}
.team-profile-role{font-size:17px;margin:0 0 20px;color:#805000}
.team-profile-detail dl{margin:0}
.team-profile-detail dl>div{display:block;margin:0 0 14px}
.team-profile-detail dt{font-size:13px;font-weight:500;line-height:1.5;margin-bottom:3px;color:#647078}
.team-profile-detail dd{margin:0;color:#26343b;font-size:15px;line-height:1.75}
.team-profile-summary{grid-column:1/-1;margin:0;font-size:16px;line-height:1.95;color:#4b5960}
.team-profile-contact{grid-column:1/-1;justify-self:start;color:#744600;font-size:15px;text-underline-offset:5px}
.company-team .team-grid{gap:28px}
.company-team .team-card img{height:310px;object-fit:cover;object-position:center 22%}
.article-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.article-list .news-thumbnail{overflow:hidden;border-radius:8px;margin-bottom:22px}
.article-list .news-thumbnail img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.article-list .news-thumbnail:hover img{transform:scale(1.035)}
.article-list .panel h2,.article-list .article-card h2{font-size:clamp(23px,2vw,30px);line-height:1.5;letter-spacing:0}
.protected-photo{position:relative;display:block;width:100%;max-width:100%}
.back-to-top{position:fixed;bottom:28px;left:24px;z-index:35;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #c7c2b8;border-radius:6px;background:#fffefa;color:#26343b;cursor:pointer;box-shadow:0 5px 14px #17202712}
.back-to-top[hidden]{display:none}
.back-to-top svg{width:19px;height:19px}
@media(min-width:1000px){.home .section-head h2{max-width:16em}.home .service-explorer{min-height:450px}}
@media(max-width:1100px){.service-explorer{gap:28px;grid-template-columns:220px minmax(0,1fr)}.service-panel{grid-template-columns:1fr;gap:22px}.service-panel figure{height:300px}.service-panel ul{display:flex;flex-wrap:wrap;gap:8px 26px;margin:16px 0}.team-profiles{gap:36px 28px}.team-profile{grid-template-columns:150px minmax(0,1fr);gap:20px}.team-profile-detail h3{font-size:27px}.company-client-proof .brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.team-profiles{grid-template-columns:1fr}.team-profile{grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr)}.customer-directory.brand-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.customer-directory.brand-grid>div:nth-child(5n){border-right:1px solid #d5cfc4}.customer-directory.brand-grid>div:nth-child(4n){border-right:0}}
@media(max-width:720px){.chapter-nav .wrap{gap:22px;width:calc(100% - 36px)}.chapter-nav a{font-size:13px;padding:13px 0 11px}.service-explorer{display:block;margin-top:24px}.service-choices{flex-direction:row;overflow-x:auto;gap:8px;border:0;margin-bottom:24px;padding-bottom:8px}.service-choice{width:auto;flex-shrink:0;padding:13px 16px;min-height:48px;border:1px solid #c8c2b7;border-radius:5px}.service-choice strong{font-size:16px;white-space:nowrap}.service-choice small,.service-choice svg{display:none}.service-choice[aria-selected=true]{background:#26343b;color:#fff;border-color:#26343b}.service-panel figure{height:auto;aspect-ratio:16/10}.service-panel{margin-bottom:28px}.service-panel h3{font-size:28px;margin-bottom:12px}.service-panel p,.service-panel li{font-size:16px;line-height:1.85}.service-panel ul{display:block;margin-block:14px}.client-list.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-grid>div{min-height:140px;padding:16px;gap:8px}.brand-grid>div:nth-child(2n){border-right:0}.brand-grid .brand-logo-frame{height:76px}.brand-grid .brand-logo-frame img{max-height:66px!important}.brand-grid .brand-label{font-size:13px}.company-client-proof .brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.company-client-proof .brand-grid>div{min-height:118px;padding:10px}.company-client-proof .brand-logo-frame{height:58px}.company-client-proof .brand-grid img{max-height:51px!important}.company-client-proof{padding-block:42px}.company-client-proof .section-head{align-items:flex-start;gap:14px;flex-direction:column}.team-profile{grid-template-columns:128px minmax(0,1fr);gap:18px;padding-bottom:26px}.team-profile-detail h3{font-size:26px}.team-profile-role{font-size:16px;margin-bottom:15px}.team-profile-detail dd{font-size:14px}.team-profile-detail dl>div{margin-bottom:11px}.team-profile-summary{font-size:15px;line-height:1.9}.team-profiles{gap:32px}.team-profile-placeholder{font-size:44px}.article-list{grid-template-columns:1fr;gap:32px}.article-list .panel h2,.article-list .article-card h2{font-size:23px}.back-to-top{left:14px;bottom:84px;width:40px;height:40px}.company-team .team-card img{height:auto;aspect-ratio:3/4}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.service-panel img,.brand-grid img,.article-list .news-thumbnail img,.business-flow::before{transition:none!important}.service-panel:hover figure img,.brand-grid>div:hover img,.article-list .news-thumbnail:hover img{transform:none}}

/* Keep persistent tools compact; reveal the phone number only on intent. */
.float-contact{top:auto;bottom:28px;right:14px;gap:5px}
.float-contact>a,.float-contact>button{position:relative;width:64px;min-height:65px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:6px;font-size:11px;line-height:1.3}
.float-contact svg{width:23px;height:23px;flex-shrink:0}
.float-contact .contact-tip{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);width:max-content;padding:12px 16px;border-radius:5px;background:#26343b;color:#fff;font-size:14px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s}
.float-contact a:hover .contact-tip,.float-contact a:focus-visible .contact-tip{opacity:1;visibility:visible}
.float-contact>a:focus-visible,.float-contact>button:focus-visible{outline:3px solid #805000;outline-offset:3px}
@media(max-width:720px){.float-contact{right:10px;bottom:calc(76px + env(safe-area-inset-bottom))}.float-contact>a{display:none}.float-contact>button{width:56px;min-height:58px;padding:7px 3px;font-size:10px}.customer-directory.brand-grid>div:nth-child(n){border-right:1px solid #d5cfc4}.customer-directory.brand-grid>div:nth-child(2n){border-right:0}.team-profile-detail h3{margin-top:2px}.team-profile-photo .photo-watermark{letter-spacing:0}}
@media(max-width:400px){.team-profile{grid-template-columns:112px minmax(0,1fr);gap:16px}.team-profile-detail dd{font-size:13px}.team-profile-detail h3{font-size:25px}}
