/* Production integration: retain the supplied composition and existing entries. */
body{font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif}
/* Service pages describe their actual scope; visuals use owned screens or diagrams. */
.page-service .service-copy h1{font-size:clamp(34px,4vw,64px);line-height:1.35;letter-spacing:-.055em;text-wrap:balance}
.page-service .service-lead{font-size:clamp(16px,1.3vw,19px);line-height:1.9;max-width:34em}
.service-regional-events .service-copy h1{font-size:clamp(62px,7vw,105px);line-height:1.05}
.service-hero .service-art{min-width:0;overflow:visible}
.site-example,.development-example{margin:0;width:100%;padding:20px;background:#e9e2d6;border-radius:16px;box-shadow:0 24px 60px #34291b17;transform:rotate(-2deg)}
.site-example img,.development-example img{display:block;width:100%;height:auto;object-fit:contain;border-radius:7px;border:1px solid #c5bcac}
.site-example figcaption,.development-example figcaption{color:#4d514d;font-size:13px;line-height:1.6;margin-top:13px;text-align:left}
.development-example{padding:18px;transform:rotate(2deg);background:#e1e8dd}
.development-example img{aspect-ratio:1.4;object-fit:cover;object-position:top}
.team-diagram{padding:clamp(24px,4vw,55px);width:100%;background:#e7e5df;border-radius:20px;text-align:center;box-shadow:0 24px 60px #34291b12}
.team-client{padding:28px 24px;border:1px solid #a9aea6;border-radius:14px;background:#f8f5ed;color:#29332d}
.team-client>span{font-size:clamp(15px,1.6vw,23px);font-weight:600}
.team-client>div{display:flex;justify-content:center;gap:25px;margin-top:23px}
.team-client i{width:42px;height:55px;background:#afb9ac;border-radius:20px 20px 8px 8px;display:block}
.team-join{display:block;padding:15px;color:#ac4900;font-size:19px}
.team-member{display:flex;flex-direction:column;gap:8px;background:#f27816;color:#251e16;padding:23px;border-radius:12px}
.team-member b{font-family:Space Grotesk,sans-serif;font-size:clamp(19px,2.4vw,31px);letter-spacing:.04em}
.team-member>span{font-size:14px}
.touch-diagram{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:center;min-height:360px;padding:35px 25px;background:#e7e2d8;border-radius:20px}
.touch-card{display:flex;flex-direction:column;gap:8px;justify-content:space-between;background:#f77710;color:#291e14;aspect-ratio:1.6;padding:20px;border-radius:12px;transform:rotate(-13deg);box-shadow:0 14px 24px #54311526}
.touch-card span{font:600 22px Space Grotesk,sans-serif}.touch-card b{font-size:42px;line-height:1}
.touch-phone{display:flex;flex-direction:column;gap:12px;padding:13px 14px 28px;background:#faf7ef;border:7px solid #2a2f2c;border-radius:27px;box-shadow:12px 17px 0 #c9c3b6;transform:rotate(8deg)}
.touch-earpiece{width:38%;height:6px;border-radius:5px;background:#2a2f2c;align-self:center;margin-bottom:15px}
.touch-phone>span{font-weight:700;font-size:18px}.touch-phone>i{height:65px;background:linear-gradient(145deg,#c7d4b9,#a0b58b);border-radius:6px}
.touch-phone>b{padding:9px 6px;background:#e6ebdf;font-size:12px;font-weight:500;border-radius:6px}
.touch-diagram>p{grid-column:1/-1;text-align:center;font-size:14px;line-height:1.5;color:#414a41;margin:16px 0 0}
.work-tile .site-example,.work-tile .development-example{transform:none;border-radius:0;box-shadow:none;height:100%;padding:18px;display:flex;flex-direction:column;justify-content:center}
.work-tile .site-example img,.work-tile .development-example img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}
.work-tile .team-diagram{border-radius:0;box-shadow:none;padding:25px;min-height:100%;display:flex;flex-direction:column;justify-content:center}
.work-tile .team-client{padding:13px}.work-tile .team-client>div{margin-top:12px;gap:16px}.work-tile .team-client i{width:24px;height:30px}.work-tile .team-join{padding:8px;font-size:15px}.work-tile .team-member{padding:13px;gap:2px}.work-tile .team-member b{font-size:22px}
.work-tile .touch-diagram{border-radius:0;min-height:100%;height:100%;padding:24px;gap:15px}.work-tile .touch-card{padding:15px}.work-tile .touch-phone{max-width:160px;padding:10px 10px 15px;gap:8px}.work-tile .touch-phone>i{height:40px}.work-tile .touch-phone>span{font-size:15px}.work-tile .touch-phone>b{padding:6px;font-size:10px}.work-tile .touch-diagram>p{display:none}
.page-services .page-intro h1,.page-products .page-intro h1{font-size:clamp(48px,7vw,96px);line-height:1.25}
.contact-title h1{font-size:clamp(36px,4.3vw,66px);letter-spacing:-.06em;line-height:1.35;overflow-wrap:anywhere}
.page-contact .contact-title>p,.page-recruit .recruit-invite p{font-size:16px;line-height:1.9}
.page-service .service-details p,.page-service .service-details li,.page-service .audience-panel p,.page-service .service-statement-rows p{font-size:clamp(16px,1.3vw,19px);line-height:1.95}
.kinetic-copy .kinetic-tagline{font-size:clamp(14px,1.25vw,19px);max-width:34em;line-height:1.85}
@media(max-width:767px){
 .page-service .service-copy h1{font-size:clamp(30px,8.5vw,48px)}
 .service-regional-events .service-copy h1{font-size:clamp(60px,18vw,90px)}
 .page-service .service-lead{font-size:16px}.page-service .service-art{margin-top:32px}
 .site-example,.development-example{padding:12px;transform:none;border-radius:12px}
 .site-example figcaption,.development-example figcaption{font-size:12px}
 .team-diagram{padding:25px}.touch-diagram{min-height:310px;padding:28px 24px;gap:20px}.touch-phone{border-width:6px}
 .kinetic-copy .kinetic-tagline{font-size:13px;max-width:29em}
}
.journal-grid--single{display:block}
.journal-grid--single .journal-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,90px);align-items:center}
.journal-feature-copy>svg{margin-top:28px;width:32px;height:32px}
.journal-grid--single .journal-feature h3{font-size:clamp(22px,2.4vw,36px)}
.home-news-entries{display:grid;gap:20px}
.home-news-entries>a{display:grid;grid-template-columns:90px 1fr 24px;align-items:center;gap:22px;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:16px}
.home-news-entries>a:hover{color:var(--accent)}
.home-news time{font-size:13px}
.home-news .link-arrow{font-size:14px}
.motion-paused [data-reveal],.motion-limited [data-reveal]{animation:none!important;opacity:1!important;transform:none!important}
.motion-limited *,.motion-limited *::before,.motion-limited *::after,.motion-dormant *,.motion-dormant *::before,.motion-dormant *::after{animation-play-state:paused!important}
html:has(.motion-paused),html:has(.motion-limited){scroll-behavior:auto}
@media(max-width:767px){
 .section-heading{flex-wrap:wrap;gap:18px}
 .section-heading>h2{flex-basis:100%}
 .journal-grid--single .journal-feature{grid-template-columns:1fr;gap:0}
 .home-news-entries>a{grid-template-columns:1fr 24px;gap:10px;font-size:16px}
 .home-news-entries time{grid-column:1/-1}
 .home-news .link-arrow{font-size:14px}
}

.food-hero-photo{margin:0;border-radius:18px;background:#f8f8f4;overflow:hidden;box-shadow:0 20px 55px #3c251212}.food-hero-photo img{display:block;width:100%;height:auto;object-fit:contain}.food-hero-photo figcaption{padding:12px 18px;color:#5f625b;font-size:13px}

/* Complete 3D frames are served as video; no visitor-side WebGL renderer. */
.kinetic-node[data-face="front"]{pointer-events:none}
.kinetic-film{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;opacity:0;transition:opacity .2s}
.kinetic-stage.is-prerendered .kinetic-film{opacity:1}
.kinetic-stage.is-prerendered .kinetic-fallback-mark{opacity:0;visibility:hidden}
body.kinetic-home .kinetic-stage.is-prerendered .kinetic-node{border-color:transparent;background:transparent!important;box-shadow:none}
body.kinetic-home .kinetic-stage.is-prerendered .kinetic-node-label,body.kinetic-home .kinetic-stage.is-prerendered .kinetic-node-arrow{opacity:0!important}
.kinetic-stage.is-prerendered .kinetic-node[aria-hidden="true"]{pointer-events:none}
@media(prefers-reduced-motion:reduce){.kinetic-film{transition:none}}

.nfc-card-example{margin:0;background:#eeebe3;border-radius:18px;padding:26px;box-shadow:0 20px 50px #29251b17;transform:rotate(-3deg)}
.nfc-card-example img{display:block;width:100%;height:auto;object-fit:contain}.nfc-card-example figcaption{font-size:13px;color:#495148;margin-top:12px;text-align:left}
.work-tile .nfc-card-example{border-radius:0;transform:none;box-shadow:none;height:100%;display:flex;flex-direction:column;justify-content:center}
.work-tile .nfc-card-example img{width:100%;height:auto;aspect-ratio:1.47;object-fit:contain}
@media(max-width:767px){.nfc-card-example{padding:18px;transform:none}.nfc-card-example figcaption{font-size:12px}}

/* User-approved headline within the current, pre-rendered hero. */
.kinetic-copy .kinetic-title{font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-weight:800;font-size:clamp(48px,6vw,96px);line-height:1.18;letter-spacing:-.06em;text-transform:none}
.company-hero h1{font-size:clamp(60px,6vw,104px);line-height:1.2}
.kinetic-copy .kinetic-title>span+span{font-size:1em;letter-spacing:inherit;margin-top:.08em}
.kinetic-copy .kinetic-tagline{font-size:clamp(17px,1.55vw,23px);max-width:19em;line-height:1.8;margin-top:28px;text-wrap:pretty}
.kinetic-business-summary{font-size:clamp(14px,1.15vw,17px);line-height:1.9;max-width:32em;margin-top:20px;color:#3e453e}
.kinetic-home .home-about h2,.kinetic-home .home-about .link-arrow{color:var(--ink)}
.footer-main .footer-motto{font-family:"Space Grotesk",sans-serif;font-size:13px;letter-spacing:.07em;margin-bottom:18px}
.company-passion .philosophy-english{font-family:"Space Grotesk",sans-serif;font-size:clamp(14px,1.2vw,18px);line-height:1.6;margin-top:28px}
@media(max-width:900px){
 .kinetic-copy .kinetic-title{font-size:clamp(60px,10.8vw,94px);line-height:1.12}
 .company-hero h1{font-size:clamp(42px,7.5vw,68px)}
 .kinetic-copy .kinetic-tagline{font-size:18px;max-width:28em;margin-top:22px}
 .kinetic-business-summary{font-size:14px;margin-top:14px}
}
@media(max-width:600px){
 .kinetic-copy .kinetic-title{font-size:clamp(54px,16.8vw,92px)}
 .company-hero h1{font-size:clamp(42px,10.8vw,60px)}
 .kinetic-copy .kinetic-tagline{font-size:17px;max-width:19em;margin-top:22px}
 .kinetic-business-summary{font-size:14px;max-width:26em;margin-top:14px}
 .footer-main .footer-motto{font-size:12px}
}
