/* Business-first navigation and page structure, September 2026. */
.business-page [id],.service-contents { scroll-margin-top:calc(var(--header-h) + var(--linkc-admin-bar-h,0px) + 24px); }
.service-contents { padding:32px 0 36px; border-bottom:1px solid #d9e0e8; background:#fff; }
.service-contents p { margin-bottom:18px; color:#627084; font-size:14px; }
.service-contents ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 14px; list-style:none; }
.service-contents a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; height:100%; padding:12px 18px; border:1px solid #d7dfe8; border-radius:3px; color:#22334b; font-size:15px; font-weight:500; transition:background .2s,border-color .2s; }
.service-contents a>span[aria-hidden] { flex:none; color:#967646; }
.service-contents__phrase { display:inline-block; }
.service-contents a:hover { background:#f4f6f9; border-color:#8c9caf; }
.service-contents a:focus-visible,.business-conversations__links a:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }

/* Soft blue-to-violet haze follows the official-site screenshots supplied as the background reference. */
.home-project {
  padding:64px 0 34px;
  color:#fff;
  background-color:#10164d;
  background-image:
    radial-gradient(ellipse at 50% 36%,#2d43d92b 0%,transparent 62%),
    radial-gradient(ellipse at 0% 100%,#a1a7c014 0%,#65729208 34%,transparent 65%),
    linear-gradient(165deg,#0c104b 0%,#121b58 36%,#171d48 68%,#282b44 100%);
}
.home-project__inner { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:0 6%; }
.home-project__copy { min-width:0; padding:14px 0; }
.home-project__eyebrow { margin-bottom:26px; color:#d6e7f5; font-size:14px; letter-spacing:.08em; }
.home-project__stage-logo { max-width:390px; }
.home-project__stage-logo img { display:block; width:100%; height:auto; }
.home-project__product-logo { position:relative; width:100%; aspect-ratio:939/196; overflow:hidden; margin:28px 0 16px; }
.home-project__product-logo img { position:absolute; display:block; width:100%; height:auto; top:50%; transform:translateY(-50%); }
.home-project__description { max-width:390px; color:#eef6fc; font-size:15px; line-height:1.95; text-wrap:pretty; }
.home-project__art { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr); align-items:center; gap:6%; min-width:0; }
.home-project__keyvisual { display:block; width:100%; height:auto; border-radius:2px; box-shadow:0 12px 28px #0003; }
.home-project__experience { min-width:0; margin:0; }
.home-project__devices { display:flex; align-items:center; gap:8%; }
.home-project__reverse { display:block; width:38%; height:auto; flex:none; border-radius:3px; box-shadow:0 8px 18px #0005; }
.home-project__experience figcaption { margin-top:16px; color:#ceddea; font-size:10px; line-height:1.7; text-align:center; }
/* The PNG has transparent margins; frame those out while retaining the complete phone. */
.home-project__phone { position:relative; min-width:0; width:54%; flex:none; aspect-ratio:450/916; overflow:hidden; }
.home-project__phone img { position:absolute; top:50%; left:50%; display:block; width:213.333333%; max-width:none; height:auto; transform:translate(-50%,-50%); }
.home-project__lineup { grid-column:1/-1; min-width:0; margin-top:44px; }
.home-project__lineup-label { color:#e9f4fc; font-size:14px; letter-spacing:.04em; text-align:center; }
.home-project__lineup-label span { margin-left:12px; font-weight:600; }
.home-project__fan { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:0; list-style:none; margin:0; padding:28px 14px 64px; }
.home-project__fan li { position:relative; z-index:var(--fan-order); transform:translateY(var(--fan-lift)) rotate(var(--fan-angle)); transform-origin:center bottom; }
.home-project__fan img { display:block; width:104%; max-width:none; height:auto; border-radius:3px; box-shadow:0 8px 15px #0005; }
.home-project__credit { grid-column:1/-1; margin-top:8px; color:#ceddea; font-size:10px; line-height:1.8; text-align:right; }

.production-hero .svc-hero__content,.business-invitation .svc-hero__content { padding:90px 0 84px; }
.production-hero .svc-hero__lead,.business-invitation .svc-hero__lead { text-align:center; max-width:790px; }
.production-hero::before { background:linear-gradient(90deg,#101c32d9,#101c32eb 50%,#101c32d9); }
.production-hero .svc-hero__background { object-position:center 46%; }
.business-invitation { font-size:16px; line-height:1.95; }
.business-invitation h2 { color:#fff; font-size:clamp(28px,2.8vw,40px); font-weight:700; line-height:1.7; letter-spacing:.035em; text-wrap:balance; }
.business-invitation--closing .svc-hero__content { padding:64px 0 40px; }
.business-invitation--closing h2 { font-size:clamp(26px,2.4vw,34px); }

/* Contact continues the shared hero treatment, with a short path to the form. */
.contact-hero { font-size:16px; line-height:1.95; }
.contact-hero h2 { font-weight:700; text-wrap:balance; }
.contact-hero .svc-hero__content { padding:72px 0; }
.contact-hero .svc-hero__lead { max-width:790px; text-align:center; }
.contact-page .contact-form-section { padding:72px 0 88px; }
.contact-page .contact-form-section__head { margin-bottom:44px; }

/* Company opens directly into the profiles, with a quiet title band. */
.company-page .t1 { background:#eef2f6; border-bottom:1px solid #dce3eb; }
.company-profile { padding:88px 0; background:#fff; }
.company-profile--bt3 { border-top:1px solid #dce3eb; background:#f4f6f9; }
.company-profile__inner { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:9%; align-items:start; }
.company-profile--bt3 .company-profile__inner { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; }
.company-profile__role { margin-bottom:14px; color:#8c704a; font-size:14px; font-weight:500; letter-spacing:.06em; }
.company-profile__intro h2 { font-size:clamp(28px,2.5vw,36px); line-height:1.5; text-wrap:initial; }
.company-profile__description { margin-top:24px; color:#596a7d; font-size:16px; line-height:2; }
.company-profile__person { display:flex; flex-wrap:wrap; align-items:baseline; gap:16px; margin-top:20px; color:#253a51; font-size:24px; font-weight:500; letter-spacing:.04em; }
.company-profile__person span { color:#596a7d; font-size:14px; font-weight:400; letter-spacing:.06em; }
.company-profile__description+.company-profile__description { margin-top:16px; }
.company-profile__portrait { width:100%; max-width:420px; justify-self:end; }
.company-profile__portrait img { display:block; width:100%; height:auto; border-radius:4px; }
.company-profile__intro .company-profile__duties-title { margin:32px 0 14px; font-size:15px; line-height:1.8; }
.company-profile__duties { padding-left:1.2em; color:#596a7d; font-size:15px; line-height:1.9; }
.company-profile__duties li+li { margin-top:5px; }
.company-profile__duties li::marker { color:#ac8a54; font-size:.8em; }
.company-profile__phrase { display:inline-block; max-width:100%; }
.company-profile__details { border-top:1px solid #aab6c4; margin:0; }
.company-profile__details>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:24px; padding:22px 0; border-bottom:1px solid #d8e0e8; font-size:16px; line-height:1.95; }
.company-profile__details dt { color:#526277; font-weight:500; }
.company-profile__details dd { margin:0; min-width:0; color:#253a51; overflow-wrap:anywhere; }
.company-profile__details dd>span { display:block; }
.company-profile__website { display:inline-flex; gap:24px; align-items:center; margin-top:28px; padding-bottom:6px; border-bottom:1px solid #a8b5c4; font-size:15px; }
.company-profile__website:hover { border-color:#31475f; }
.company-profile__website:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.company-profile__details .company-profile__website { margin:0; padding:0; gap:14px; font-size:inherit; }
@media(max-width:760px) {
  .company-profile { padding:54px 0; }
  .company-profile__inner, .company-profile--bt3 .company-profile__inner { grid-template-columns:1fr; gap:36px; }
  .company-profile__person { margin-top:16px; font-size:22px; }
  .company-profile__portrait { justify-self:center; }
  .company-profile__description { margin-top:20px; font-size:15px; }
  .company-profile__intro .company-profile__duties-title { margin-top:24px; }
  .company-profile__details>div { grid-template-columns:64px minmax(0,1fr); gap:18px; padding:18px 0; font-size:15px; }
}

/* Customer feedback: one complete voice per block, without extra metadata. */
.business-voices { background:linear-gradient(130deg,#f7f5ef,#fbfaf8 60%,#f2f5f7); }
.business-voices__heading>p { color:#5b6878; }
.business-voices__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.business-voice { position:relative; margin:0; padding:36px 36px 32px 62px; background:#ffffffcf; border-top:2px solid #b79b6d; border-radius:2px; }
.business-voice::before { content:"“"; position:absolute; top:23px; left:23px; color:#a68959; font:52px/1 Georgia,serif; }
.business-voice p { color:#40536a; font-size:16px; line-height:2; text-wrap:pretty; }
.business-voice strong { display:block; margin:7px 0; color:#203752; font-size:clamp(20px,1.9vw,26px); font-weight:700; line-height:1.65; }
.business-voice--wide { grid-column:1/-1; }
.business-voice--wide p { max-width:880px; }

/* Sales conversations read as paired editorial rows, without nested cards. */
.business-conversations { padding:88px 0 80px; background:#fff; }
.business-conversations__heading { max-width:850px; margin-bottom:54px; }
.business-conversations__heading h2 { font-size:28px; line-height:1.6; }
.business-conversations__en { display:block; margin-bottom:10px; color:#8c704a; font:500 19px/1.4 "Roboto Condensed",sans-serif; letter-spacing:.06em; }
.business-conversations__heading p:last-child { margin-top:20px; color:#596a7d; font-size:16px; line-height:1.95; }
.business-case { display:grid; grid-template-columns:.85fr 1.15fr; gap:9%; align-items:center; padding:46px 0; border-top:1px solid #d8e0e8; }
.business-case__topic { display:flex; align-items:center; gap:12px; margin-bottom:14px; color:#8c704a; font-size:13px; font-weight:500; letter-spacing:.04em; }
.business-case__question h3 { font-size:clamp(21px,2vw,27px); line-height:1.8; color:#41546a; font-weight:500; text-wrap:pretty; }
.business-case__response { position:relative; padding:4px 0 4px 24px; border-left:2px solid #d8c8b0; }
.business-case__letter { font:500 24px/1 "Roboto Condensed",sans-serif; color:#50677e; }
.business-case__letter--answer { display:block; margin-bottom:15px; color:#9b7e51; }
.business-case__response h4 { font-size:clamp(21px,1.9vw,26px); line-height:1.7; letter-spacing:.015em; text-wrap:pretty; }
.business-case__response p { margin-top:17px; color:#596a7d; font-size:16px; line-height:2; }
.business-case__letter--answer+p { margin-top:0; }
.business-conversations__links { display:flex; flex-wrap:wrap; justify-content:center; gap:22px 50px; padding-top:40px; border-top:1px solid #d8e0e8; }
.business-conversations__links a { display:inline-flex; align-items:center; gap:24px; padding-bottom:9px; border-bottom:1px solid #a8b5c4; font-size:15px; color:#31475f; }
.business-conversations__links a:hover { border-color:#31475f; }
.site-unavailable { padding:clamp(72px,10vw,150px) 0; min-height:60vh; text-align:center; }
.site-unavailable__code { color:#9c825b; font:500 30px/1.5 "Roboto Condensed",sans-serif; }
.site-unavailable h1 { margin-top:15px; color:var(--ink-900); font-size:clamp(24px,3vw,36px); font-weight:700; }
.site-unavailable .wrap>p:not([class]) { margin:20px auto 30px; max-width:600px; font-size:16px; }

@media(max-width:900px) {
  .home-project__inner { grid-template-columns:.8fr 1.2fr; gap:0 4%; }
  .business-case { gap:6%; }
}
@media(max-width:600px) {
  .service-contents { padding:20px 0; }
  .service-contents ul { display:flex; flex-wrap:wrap; gap:7px; }
  .service-contents li:last-child { grid-column:auto; }
  .service-contents a { min-height:44px; padding:7px 10px; font-size:12px; gap:10px; }
  .service-contents p { margin-bottom:12px; font-size:12px; line-height:1.8; }
  .home-project { padding:32px 0 24px; }
  .home-project__inner { grid-template-columns:1fr; }
  .home-project__copy { padding:0 0 18px; }
  .home-project__eyebrow { margin-bottom:24px; font-size:13px; }
  .home-project__stage-logo { width:88%; max-width:340px; margin:0 auto; }
  .home-project__product-logo { margin:24px 0 12px; }
  .home-project__description { margin-inline:auto; font-size:14px; text-align:center; }
  .home-project__art { gap:5%; }
  .home-project__experience figcaption { margin-top:8px; font-size:9px; }
  .home-project__lineup { margin-top:20px; }
  .home-project__lineup-label { font-size:13px; }
  .home-project__fan { grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px 5px; padding:16px 0 10px; }
  .home-project__fan li { transform:none; }
  .home-project__fan img { width:100%; }
  .home-project__credit { text-align:center; font-size:9px; margin-top:12px; }
  .production-hero .svc-hero__content,.business-invitation .svc-hero__content { padding:54px 0; }
  .business-page .business-invitation h2,.business-invitation h2 { font-size:clamp(18px,5.6vw,25px); line-height:1.85; letter-spacing:0; }
  .business-invitation h2>span { display:block; }
  .production-hero .svc-hero__lead,.business-invitation .svc-hero__lead { text-align:left; font-size:15px; }
  .production-hero .svc-hero__lead br,.business-invitation .svc-hero__lead br { display:none; }
  .contact-hero .svc-hero__content { width:calc(100% - 40px); padding:54px 0; }
  .contact-page .contact-hero h2 { font-size:clamp(22px,5.8vw,26px); }
  .contact-hero .svc-hero__lead { text-align:left; font-size:15px; }
  .contact-hero .svc-hero__lead br { display:none; }
  .contact-page .contact-form-section { padding:48px 0 64px; }
  .contact-page .contact-form-section__head { gap:16px; margin-bottom:32px; }
  .business-voices__list { grid-template-columns:1fr; gap:16px; }
  .business-voice { padding:32px 20px 22px; text-align:left; }
  .business-voice::before { top:6px; left:16px; font-size:28px; }
  .business-voice p { font-size:15px; line-height:1.85; letter-spacing:0; text-wrap:pretty; }
  .business-voice strong { margin:8px 0; font-size:clamp(17px,4.6vw,19px); line-height:1.65; letter-spacing:0; text-wrap:wrap; }
  .business-voice__phrase { display:inline; }
  .business-voice__closing { display:block; text-wrap:wrap; }
  .business-voice__closing .business-voice__phrase { display:inline-block; max-width:100%; }
  .business-conversations { padding:54px 0; }
  .business-conversations__heading { margin-bottom:32px; }
  .business-conversations__heading h2 { font-size:27px; }
  .business-conversations__heading p:last-child { font-size:15px; }
  .business-case { grid-template-columns:1fr; gap:24px; padding:32px 0; }
  .business-case__question h3 { font-size:22px; }
  .business-case__response { padding-left:20px; }
  .business-case__response h4 { font-size:22px; }
  .business-case__response p { font-size:15px; line-height:1.95; }
  .business-conversations__links { flex-direction:column; align-items:flex-start; padding-top:30px; gap:24px; }
}
@media(prefers-reduced-motion:reduce) { .service-contents a { transition:none; } }

/* Shared opening height for ABOUT US, FOR BUSINESS and FLOW; closing CTA stays compact. */
.svc-hero.svc-hero--page .svc-hero__content { display:flex; flex-direction:column; justify-content:center; min-height:560px; padding:56px 0; }
@media(max-width:760px) {
  .svc-hero.svc-hero--page .svc-hero__content { min-height:360px; padding:28px 0; }
  .business-page .svc-hero__content,.contact-page .svc-hero__content { width:calc(100% - 32px); }
  .business-page .svc-hero h2,.contact-page .svc-hero h2 { font-size:clamp(19px,5.2vw,24px); line-height:1.65; letter-spacing:0; text-wrap:wrap; }
  .svc-hero h2>span { display:inline-block; max-width:100%; }
  .svc-hero #svc-hero-title { display:flex; flex-wrap:wrap; justify-content:center; width:calc(100% + 16px); margin-inline:-8px; }
  .svc-hero #svc-hero-title>span { display:contents; }
  .svc-hero #svc-hero-title .svc-hero__phrase { display:block; flex:none; max-width:100%; text-wrap:wrap; }
  .business-page .svc-hero__lead,.contact-hero .svc-hero__lead { margin-top:18px; font-size:12px; line-height:1.85; letter-spacing:.01em; }
  .svc-hero__actions { margin-top:20px; }
  .svc-hero .svc-button { min-height:48px; padding:10px 18px; font-size:14px; }
  .contact-hero .svc-hero__content { padding:28px 0; }
  .business-invitation--closing .svc-hero__content { padding:36px 0; }
  .business-invitation--closing .svc-hero__lead { margin-top:18px; font-size:13px; line-height:1.85; }
  .business-page [id] { scroll-margin-top:calc(var(--header-h) + var(--linkc-admin-bar-h,0px) + 12px); }
}
