@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--ink:#292826;--muted:#696662;--accent:#e75944;--coral:#f26055;--line:#dedad7;--soft:#f7f6f4;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans','Noto Sans JP',sans-serif;font-size:1rem;line-height:1.95;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure{margin:0}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #9b331f;outline-offset:6px}::selection{background:#ffc8b9;color:#222}.container{width:calc(100% - 100px);max-width:var(--max);margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.15em;line-height:1.6;margin-bottom:25px}.lead{font-size:1.65rem;line-height:1.8;font-weight:500}h2{font-size:clamp(2rem,3.3vw,3rem);line-height:1.65;font-weight:600;letter-spacing:.04em}h3{line-height:1.65;font-weight:600}.skip-link{position:fixed;z-index:120;top:-100px;left:20px;background:#fff;color:#222;padding:10px}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:50;width:100%;height:94px;background:#fffffff5;border-bottom:1px solid #eee;backdrop-filter:blur(16px);transition:background .35s,color .35s,box-shadow .35s}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;gap:30px;width:calc(100% - 80px);max-width:1440px;margin:auto}.header-brand{font-size:1.7rem;line-height:1;font-weight:700;letter-spacing:-.055em}.header-brand>span{color:var(--accent)}.home .site-header{position:absolute;top:0;color:#fff;background:linear-gradient(#00000025,transparent);border:0;backdrop-filter:none}.desktop-nav{display:flex;gap:28px;align-items:center}.desktop-nav a{font-size:.875rem;font-weight:500;position:relative;padding:9px 0;white-space:nowrap}.desktop-nav a::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s}.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}.desktop-nav .nav-contact{padding:10px 22px;border:1px solid currentColor;border-radius:2px}.desktop-nav .nav-contact::after{display:none}.home .header-brand>span{color:#fff}.hamburger{display:none;background:transparent;border:0;width:48px;height:48px;padding:12px;position:relative;z-index:75}.hamburger span{display:block;width:24px;height:2px;background:currentColor;position:absolute;left:12px;transition:transform .3s,opacity .3s,top .3s}.hamburger span:nth-child(1){top:15px}.hamburger span:nth-child(2){top:23px}.hamburger span:nth-child(3){top:31px}.hamburger[aria-expanded="true"] span:nth-child(1){top:23px;transform:rotate(45deg)}.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}.hamburger[aria-expanded="true"] span:nth-child(3){top:23px;transform:rotate(-45deg)}
.home-hero{height:100svh;min-height:760px;max-height:1120px;position:relative;color:#fff;isolation:isolate;overflow:hidden;background:#f56559}.hero-gradient{position:absolute;z-index:-2;inset:-7%;background:#f56559 url('/assets/brand-gradient.webp') center/cover no-repeat;animation:gradient-drift 22s ease-in-out infinite alternate}.hero-gradient::after{content:'';position:absolute;inset:0;background:linear-gradient(#3512112c,transparent 28%,transparent 85%)}.hero-brand{position:absolute;top:55px;left:0;right:0;height:64%;display:grid;place-items:center;animation:brand-in 1.2s ease-out both}.hero-brand img{width:min(61vw,850px);max-height:100%;object-fit:contain}.hero-copy{position:absolute;left:0;right:0;bottom:70px;animation:copy-in 1s .2s ease-out both}.hero-copy .eyebrow{font-size:1.35rem;letter-spacing:.01em;margin-bottom:18px}.hero-copy h1{font-size:clamp(2rem,3.35vw,3.2rem);font-weight:600;line-height:1.7;letter-spacing:.035em;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 33px;border:1px solid currentColor;border-radius:4px;font-size:.9375rem;font-weight:500;transition:background .3s,color .3s,transform .3s;line-height:1.6}.button:hover{background:var(--ink);border-color:var(--ink);color:white;transform:translateY(-3px)}.button.light{background:#fff;color:var(--ink);border-color:#fff;box-shadow:0 14px 30px #7b291021}.button.light:hover{background:#302825;color:#fff;border-color:#302825}.text-link{display:inline-block;font-size:.9375rem;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:5px;transition:color .25s}.text-link:hover{color:var(--accent)}.hero-scroll{position:absolute;right:32px;bottom:70px;display:flex;flex-direction:column;gap:25px;align-items:center}.hero-scroll span{writing-mode:vertical-rl;font-size:.875rem;letter-spacing:.18em}.hero-scroll i{width:1px;height:120px;background:#ffffff65;position:relative;overflow:hidden}.hero-scroll i::after{content:'';position:absolute;top:-100%;width:1px;height:100%;background:white;animation:scroll-line 2.5s ease-in-out infinite}.motion-toggle{position:absolute;right:27px;bottom:19px;background:transparent;border:0;padding:5px;color:inherit;font-size:.75rem;text-decoration:underline;text-underline-offset:4px}.introduction{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro-copy .lead{margin-bottom:30px}.intro-copy>p:not(.lead){color:var(--muted);margin-bottom:20px}.intro-copy .text-link{margin-top:10px}.home-business{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}.business-index{display:grid;grid-template-columns:1fr 1fr;gap:0 65px}.business-index>a{border-top:1px solid var(--line);padding:28px 0;display:flex;gap:20px;align-items:center;transition:color .25s}.business-index>a>span{font-size:.8125rem;color:var(--accent)}.business-index small{font-size:.75rem;color:var(--muted);letter-spacing:.05em}.business-index h3{font-size:1.15rem;margin-top:8px}.business-index b{font-size:1.7rem;font-weight:400;margin-left:auto;transition:transform .3s}.business-index a:hover{color:var(--accent)}.business-index a:hover b{transform:rotate(90deg)}.expertise-link{border:1px solid var(--line);padding:30px 40px;display:flex;gap:30px;align-items:center;margin-top:40px;background:#fff;transition:box-shadow .3s}.expertise-link:hover{box-shadow:0 10px 30px #47311c0b}.expertise-link .eyebrow{display:block;font-size:.75rem;margin-bottom:12px;color:var(--accent)}.expertise-link h3{font-size:1.45rem;margin-bottom:8px}.expertise-link p{color:var(--muted);font-size:.9375rem}.expertise-link img{width:130px;margin-left:auto;mix-blend-mode:multiply}.expertise-link>.text-link{white-space:nowrap}.home-portals{display:grid;grid-template-columns:1fr 1fr;gap:75px}.portal{border-top:1px solid var(--line);padding-top:30px}.portal .eyebrow{color:var(--accent)}.portal h2{font-size:2.5rem;transition:transform .35s}.portal:hover h2{transform:translateX(8px)}.portal .text-link{margin-top:25px}.news-strip{display:grid;grid-template-columns:200px 1fr auto;gap:40px;align-items:center;padding:0 0 90px}.news-strip .eyebrow{margin-bottom:8px}.news-strip h2{font-size:1.75rem}.home-news-content{color:var(--muted);font-size:.9375rem}
.contact-band{background:#f56559 url('/assets/brand-gradient.webp') center/cover;padding:75px 0;color:#fff}.contact-band .container{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band .eyebrow{margin-bottom:12px}.contact-band h2{font-size:2.3rem}.contact-band p:last-child{margin-top:15px}.site-footer{padding:60px 0 28px}.footer-main{display:flex;justify-content:space-between;gap:40px}.footer-brand{font-size:2.6rem;letter-spacing:-.045em;font-weight:600;line-height:1.2}.footer-brand span{color:var(--accent)}.footer-company{font-size:.875rem;color:var(--muted);margin-top:14px}.footer-nav{display:grid;grid-template-columns:repeat(3,auto);gap:15px 40px;font-size:.875rem}.footer-nav a:hover{color:var(--accent)}.footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding:23px 0;font-size:.75rem;color:var(--muted)}.breadcrumb a:hover{text-decoration:underline}.breadcrumb li{display:flex;gap:10px}.breadcrumb li+li::before{content:'/';color:#aaa}.breadcrumb{list-style:none;margin-top:0;margin-bottom:0}.page-hero{padding:38px 0 70px;border-bottom:1px solid var(--line);position:relative}.page-hero .eyebrow{color:var(--accent);margin-bottom:20px}.page-hero h1{font-size:clamp(2.1rem,4.5vw,4.2rem);line-height:1.5;font-weight:600;letter-spacing:.035em}.page-hero .page-lead{max-width:750px;font-size:1.1rem;color:var(--muted);margin-top:25px}.page-hero::after{content:'';position:absolute;bottom:-1px;left:0;width:100px;height:3px;background:var(--accent)}.article-body{max-width:870px}.article-body>p{margin-bottom:25px}.article-body h2{font-size:2rem;margin:60px 0 25px}.article-body h3{font-size:1.25rem;margin:35px 0 18px}.article-body ul{padding-left:22px}.article-body li{margin:8px 0}.note{font-size:.8125rem;line-height:1.85;color:var(--muted)}.prose{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.split p+p{margin-top:25px}.back-link{margin-top:45px}.panel{padding:35px;border:1px solid var(--line);background:var(--soft)}.panel h3{margin-bottom:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:50px}.list-card{padding:28px 0;border-top:1px solid var(--line)}.list-card .eyebrow{color:var(--accent);font-size:.75rem;margin-bottom:18px}.list-card h2,.list-card h3{font-size:1.45rem;margin-bottom:18px}.list-card p{font-size:.9375rem;color:var(--muted)}.list-card .text-link{margin-top:22px}.section-divider{border-top:1px solid var(--line)}.muted-bg{background:var(--soft)}.pill{display:inline-flex;border:1px solid var(--line);border-radius:50px;padding:5px 15px;font-size:.8125rem}.work-art{padding:30px;min-height:235px;display:flex;flex-direction:column;justify-content:center;transition:transform .5s}.work-link{display:block;overflow:hidden}.work-link:hover .work-art{transform:scale(1.025)}.work-art>span{font-size:.75rem;letter-spacing:.1em}.work-art strong{font-size:4.5rem;line-height:1.4;font-weight:500;letter-spacing:-.04em}.work-art strong>small{font-size:1.65rem;letter-spacing:0}.work-art p{font-size:.875rem}.art-coral{background:#f6d6cd}.art-dark{background:#393b38;color:#fff}.art-light{background:#efeeeb}.work-card h2{font-size:1.2rem;margin:20px 0 12px}.work-card p{color:var(--muted);font-size:.9375rem}.work-card .pill{margin-top:22px}.work-card .text-link{margin-top:20px}.work-overview{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:start}.result-block{background:var(--soft);padding:35px}.result-block dl{margin:0}.result-block dt{font-size:.875rem;color:var(--muted);margin-top:20px}.result-block dt:first-child{margin-top:0}.result-block dd{margin:0;font-size:2.3rem;line-height:1.6}.result-block dd small{font-size:1rem}.tagline{font-size:1.6rem;font-weight:500;line-height:1.9;margin:25px 0}.media-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.media-screens{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.media-screens img{border-radius:10px;width:100%;height:auto}.media-screens figure:nth-child(2){padding-top:55px}.media-screens figcaption{font-size:.75rem;color:var(--muted);margin-top:12px;text-align:center}.media-numbers{display:flex;gap:45px;margin:30px 0 15px;border-top:1px solid var(--line);padding-top:20px}.media-numbers strong{display:block;font-size:2.7rem;font-weight:500;line-height:1.4}.media-numbers span{font-size:.8125rem}.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.pet-illustration{width:290px;margin:20px auto}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:45px}.values article{border-top:1px solid var(--line);padding-top:22px}.values h3{font-size:1.35rem;margin-bottom:16px}.values p{font-size:.9375rem;color:var(--muted)}.team-role{color:var(--accent);font-size:.875rem;margin-bottom:12px}.team-card{border-top:2px solid var(--ink);padding-top:25px}.team-card h3{font-size:1.6rem;margin-bottom:20px}.team-card>p:last-child{font-size:.9375rem;color:var(--muted)}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:110px 1fr;gap:25px;border-top:1px solid var(--line);padding:20px 0}.company-table>div:last-child{border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}.empty-news{padding:65px 0;border-bottom:1px solid var(--line)}.empty-news h2{font-size:1.7rem;margin-bottom:18px}.empty-news p{color:var(--muted)}.news-row{display:grid;grid-template-columns:130px 110px 1fr;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.news-row:hover{color:var(--accent)}.news-date{font-size:.875rem;color:var(--muted)}.news-category{font-size:.8125rem}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-option{border-top:1px solid var(--line);padding-top:30px}.contact-option h2{font-size:1.7rem;margin-bottom:20px}.contact-option p{color:var(--muted);margin-bottom:25px}.contact-email{font-size:clamp(1.25rem,2.5vw,2rem);text-decoration:underline;text-underline-offset:6px}.signature{text-align:right;margin-top:45px}.signature strong{display:block;font-size:1.4rem;font-weight:500}.reveal{opacity:1;transform:none}.motion-ready .reveal.is-pending{opacity:0;transform:translateY(24px)}.motion-ready .reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.motion-paused *, .motion-paused *::before, .motion-paused *::after{animation-play-state:paused!important}.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}
@keyframes gradient-drift{from{transform:translate3d(-1.5%,-1%,0) scale(1.02)}to{transform:translate3d(1.5%,1.5%,0) scale(1.09)}}@keyframes brand-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes copy-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes scroll-line{to{top:100%}}
@media(max-width:1150px){.desktop-nav{gap:18px}.desktop-nav a{font-size:.8125rem}.header-inner{width:calc(100% - 50px)}.container{width:calc(100% - 80px)}.hero-copy h1{font-size:2.4rem}.introduction,.split{gap:60px}.business-index{gap:0 38px}.business-index h3{font-size:1rem}.media-layout{gap:50px}.values{gap:24px}}
@media(max-width:950px){.site-header{height:80px}.hamburger{display:block}.desktop-nav{display:none;position:fixed;inset:0;background:#fff8f3;color:var(--ink);height:100dvh;padding:100px 35px 40px;overflow-y:auto;align-items:stretch;z-index:60}.desktop-nav.is-open{display:flex;flex-direction:column;gap:0}.desktop-nav a{font-size:1.15rem;padding:17px 0;border-bottom:1px solid var(--line)}.desktop-nav a::after{display:none}.desktop-nav .nav-contact{margin-top:25px;text-align:center}.menu-open .hamburger{color:var(--ink)}.home-hero{min-height:760px}.hero-brand{top:70px;height:58%}.hero-brand img{width:80vw}.hero-copy{bottom:85px}.hero-copy h1{max-width:80%;font-size:2.3rem}.hero-scroll{right:23px}.hero-copy .eyebrow{font-size:1.1rem}.section{padding-block:85px}.introduction{gap:45px}.expertise-link{padding:28px}.expertise-link img{width:100px}.expertise-link h3{font-size:1.2rem}.expertise-link>.text-link{display:none}.home-portals{gap:45px}.news-strip{grid-template-columns:160px 1fr;gap:25px}.news-strip>.text-link{grid-column:2;width:fit-content}.grid-3{gap:25px}.work-art{padding:24px;min-height:215px}.work-art strong{font-size:3.5rem}.work-overview{gap:40px}.media-layout{gap:35px}.media-numbers{gap:25px}.media-numbers strong{font-size:2.2rem}.values{grid-template-columns:1fr 1fr}.contact-options{gap:35px}}
@media(max-width:640px){html{scroll-padding-top:90px}.container{width:calc(100% - 48px)}.header-inner{width:calc(100% - 32px)}.header-brand{font-size:1.5rem}.site-header{height:72px}.home-hero{height:100svh;min-height:700px;max-height:950px}.hero-brand{top:75px;height:46%}.hero-brand img{width:115vw;max-width:none;max-height:none}.hero-copy{bottom:66px}.hero-copy .eyebrow{font-size:1rem;margin-bottom:16px}.hero-copy h1{font-size:clamp(1.55rem,6.1vw,2rem);line-height:1.8;max-width:100%;margin-bottom:24px;letter-spacing:.015em}.hero-scroll{right:19px;top:38%;bottom:auto;gap:18px}.hero-scroll span{font-size:.75rem}.hero-scroll i{height:65px}.motion-toggle{right:18px;bottom:15px;font-size:.75rem}.hero-copy .button{padding:14px 27px;min-width:195px}.section{padding-block:65px}h2{font-size:2rem}.eyebrow{font-size:.75rem;margin-bottom:22px}.lead{font-size:1.4rem}.introduction,.split{display:block}.intro-copy{margin-top:35px}.intro-copy>p:not(.lead){font-size:.9375rem}.section-head{display:block;margin-bottom:30px}.section-head .button{margin-top:25px}.business-index{grid-template-columns:1fr}.business-index>a{padding:22px 0;gap:15px}.business-index h3{font-size:1.05rem}.business-index small{font-size:.75rem}.expertise-link{padding:24px;display:block;position:relative}.expertise-link h3{font-size:1.25rem}.expertise-link p{font-size:.875rem}.expertise-link img{width:110px;margin:12px 0 0 auto}.home-portals{grid-template-columns:1fr;gap:50px}.portal h2{font-size:2rem}.news-strip{grid-template-columns:1fr;gap:20px;padding-bottom:65px}.news-strip>.text-link{grid-column:auto}.contact-band{padding:55px 0}.contact-band .container{display:block}.contact-band h2{font-size:1.85rem}.contact-band p:last-child{font-size:.875rem}.contact-band .button{margin-top:25px}.site-footer{padding-top:45px}.footer-main{display:block}.footer-nav{margin-top:35px;grid-template-columns:1fr 1fr;gap:15px 25px}.footer-bottom{display:block;font-size:.75rem;margin-top:35px}.footer-bottom>span{display:block;margin-top:10px}.breadcrumb{font-size:.75rem;padding:18px 0;line-height:1.6}.page-hero{padding:22px 0 42px}.page-hero h1{font-size:clamp(1.8rem,7vw,2.4rem);overflow-wrap:anywhere}.page-hero .page-lead{font-size:.9375rem;margin-top:20px}.page-hero .eyebrow{font-size:.75rem}.article-body h2{font-size:1.65rem;margin-top:40px}.article-body h3{font-size:1.2rem}.grid-3,.grid-2,.work-overview,.media-layout,.contact-options{grid-template-columns:1fr;gap:40px}.list-card h2,.list-card h3{font-size:1.35rem}.work-art{min-height:245px;padding:28px}.work-art strong{font-size:4.5rem}.work-card h2{font-size:1.3rem}.work-overview{gap:35px}.panel,.result-block{padding:25px}.media-layout{gap:40px}.media-numbers{gap:40px}.media-numbers strong{font-size:2.5rem}.media-screens{gap:14px}.media-screens figure:nth-child(2){padding-top:35px}.values{gap:30px 22px}.values h3{font-size:1.2rem}.values p{font-size:.875rem}.team-card h3{font-size:1.5rem}.company-table{margin-top:35px}.company-table>div{grid-template-columns:75px 1fr;gap:18px;font-size:.9375rem}.company-table dd{overflow-wrap:anywhere}.news-row{grid-template-columns:100px 1fr;gap:10px 18px}.news-row strong{grid-column:1/-1}.tagline{font-size:1.35rem}.button{padding:13px 25px;font-size:.875rem}.empty-news{padding:25px 0 40px}.empty-news h2{font-size:1.4rem}}
.home-hero{min-height:max(760px,48rem)}.hero-brand{display:flex;align-items:center;justify-content:center}.hero-brand img{width:min(45vw,850px);flex-shrink:0}
@media(max-width:950px){.hero-brand img{width:70vw}}
@media(max-width:640px){.home-hero{min-height:max(700px,44rem)}.hero-brand img{width:115vw}.hero-copy h1>span{display:block}}
.motion-paused .hero-brand,.motion-paused .hero-copy{animation:none!important;opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal.is-pending{opacity:1;transform:none}}
/* News articles and long content remain readable at every viewport width. */
.page-hero h1,.breadcrumb li,.article-body,.news-row strong,.contact-email{overflow-wrap:anywhere;min-width:0}.breadcrumb li{max-width:100%}.breadcrumb li>span{min-width:0}.news-row{grid-template-columns:120px 100px minmax(0,1fr)}.news-row.undated{grid-template-columns:100px minmax(0,1fr)}.news-strip{grid-template-columns:160px minmax(0,1fr) auto}.home-news-content{min-width:0}.home-news-content .news-row{grid-template-columns:100px 80px minmax(0,1fr);gap:16px}.home-news-content .news-row.undated{grid-template-columns:80px minmax(0,1fr)}.news-copy>p,.article-body>.reveal>p{margin-bottom:25px}.article-url{text-decoration:underline;text-underline-offset:4px}.article-url:hover{color:var(--accent)}.contact-help{margin-top:24px}.contact-topics{padding-left:1.25em;margin:0;color:var(--muted)}.contact-topics li+li{margin-top:12px}.motion-paused{scroll-behavior:auto}
@media(max-width:950px){.news-strip{grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:640px){.news-strip{grid-template-columns:minmax(0,1fr)}.news-row,.home-news-content .news-row{grid-template-columns:100px minmax(0,1fr);gap:10px 18px}.news-row.undated,.home-news-content .news-row.undated{grid-template-columns:minmax(0,1fr);gap:6px}}
/* Preserve contrast inside dark case-study cards and balance long headings. */
.work-card .art-dark p{color:#f4f2ed}.phrase{display:inline-block;max-width:100%}
/* Contact: consultation guidance and a focused email card. */
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;align-items:start}.contact-intro h2{font-size:clamp(1.75rem,2.8vw,2.5rem);margin-bottom:30px}.contact-intro>p:not(.eyebrow){color:var(--muted);margin-top:22px}.contact-card{border:1px solid var(--line);padding:42px;min-width:0}.contact-card h2{font-size:1.7rem;line-height:1.65;margin-bottom:22px}.contact-card>p:not(.eyebrow){color:var(--muted)}.contact-card .contact-email{display:inline-block;margin-top:24px;line-height:1.7;user-select:text;-webkit-user-select:text}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px;margin-top:30px}.contact-compose{background:var(--ink);border-color:var(--ink);color:#fff;gap:22px;padding-inline:25px;white-space:nowrap}.contact-compose:hover{background:#9b331f;border-color:#9b331f}.contact-compose span{font-size:1.2rem;font-weight:400}.copy-email{display:inline-flex;align-items:center;justify-content:center;min-height:54px;background:transparent;border:0;border-bottom:1px solid var(--ink);padding:12px 0;font-size:.8125rem;line-height:1.6}.copy-email:hover{color:#9b331f}.copy-email-status{min-height:1.85em;margin-top:12px}.contact-card .contact-help{margin-top:26px}.contact-card .eyebrow,.contact-intro .eyebrow{color:var(--accent)}
@media(max-width:1150px){.contact-layout{gap:45px}.contact-card{padding:32px}}
@media(max-width:950px){.contact-layout{grid-template-columns:minmax(0,1fr);gap:42px}.contact-intro{max-width:700px}.contact-card{max-width:760px;width:100%;padding:36px}.contact-card .contact-email{font-size:2rem}}
@media(max-width:640px){.contact-intro h2{margin-bottom:24px}.contact-intro>p:not(.eyebrow){font-size:.9375rem}.contact-card{padding:26px 22px}.contact-card h2{font-size:1.35rem}.contact-card>p:not(.eyebrow){font-size:.9375rem}.contact-card .contact-email{font-size:clamp(1.2rem,5.5vw,1.65rem)}.contact-actions{align-items:stretch;flex-direction:column;gap:12px}.contact-compose{width:100%;min-height:56px}.copy-email{align-self:center;min-height:48px}.contact-card .note{font-size:.8125rem}.contact-card .contact-help{margin-top:20px}}

/* 2026-10 motion preview — the Encypher identity stays central. */
:root{--motion-ease:cubic-bezier(.2,.75,.2,1);--reading-progress:0;--hero-shift:0px}
.hero-connections{position:absolute;top:8%;left:50%;width:min(95vw,1190px);height:61%;transform:translateX(-50%);pointer-events:none;z-index:-1;opacity:.9;animation:field-arrive 1.8s var(--motion-ease) both}
.hero-connections canvas,.connection-fallback{position:absolute;inset:0;width:100%;height:100%}.connection-fallback{color:#ffedd6;opacity:.25}.field-ready .connection-fallback{display:none}.hero-brand img{transform:translate3d(0,var(--hero-shift),0)}
.hero-copy{animation:none}.hero-copy>.eyebrow{animation:copy-in .85s .15s var(--motion-ease) both}.hero-copy h1{animation:headline-arrive 1.15s .22s var(--motion-ease) both}.hero-copy>.button{animation:copy-in .9s .45s var(--motion-ease) both}
.home .hero-gradient{animation-duration:18s}.hero-gradient::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 30%,#ffdcaa35,transparent 50%);animation:warm-light 11s ease-in-out infinite alternate}
.page-hero{isolation:isolate;overflow:hidden}.page-hero>.eyebrow{animation:copy-in .65s var(--motion-ease) both}.page-hero h1{animation:headline-arrive .95s .08s var(--motion-ease) both}.page-hero>.page-lead{animation:copy-in .85s .18s var(--motion-ease) both}.page-hero::after{transform-origin:left;animation:rule-arrive 1.15s .15s var(--motion-ease) both}
.page-orbit{position:absolute;z-index:-1;right:0;top:0;width:clamp(170px,28vw,340px);height:100%;min-height:160px;pointer-events:none;opacity:.48;mask-image:linear-gradient(90deg,transparent,#000 40%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%)}.page-orbit svg{width:100%;height:100%;overflow:visible}.orbit-layer{transform-box:view-box;transform-origin:center;stroke:#e7a290;stroke-width:.8}.orbit-layer circle{fill:#e79b81;stroke:none}.orbit-layer-a{animation:orbit-a 28s linear infinite}.orbit-layer-b{animation:orbit-b 34s linear infinite}
.reading-progress{position:fixed;left:0;top:0;z-index:85;width:100%;height:2px;background:var(--accent);transform:scaleX(var(--reading-progress));transform-origin:left;pointer-events:none}:root:not(.past-hero) .home .reading-progress{background:#ffe8c6}
.motion-ready .reveal{transition:opacity .85s var(--motion-ease) var(--reveal-delay,0ms),transform .95s var(--motion-ease) var(--reveal-delay,0ms)}.motion-ready .reveal.is-pending{opacity:0;transform:translate3d(0,32px,0)}.motion-ready .reveal:focus-within{opacity:1;transform:none;transition:none}
.motion-toggle{position:fixed;z-index:55;bottom:18px;right:20px;min-height:44px;display:flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid #dedad7;border-radius:30px;background:#ffffffed;color:#5c5751;font-size:.75rem;line-height:1.5;letter-spacing:.02em;text-decoration:none;box-shadow:0 2px 12px #35231106;backdrop-filter:blur(8px);transition:background .25s,border-color .25s}.motion-toggle:hover{border-color:var(--accent);background:#fff}.motion-icon{width:10px;height:11px;display:block;border-left:2px solid currentColor;border-right:2px solid currentColor}.motion-paused .motion-icon{height:0;width:0;border:5px solid transparent;border-left:8px solid currentColor;border-right:0}.motion-toggle:disabled{opacity:.75;cursor:default}.menu-open .motion-toggle{visibility:hidden}.footer-bottom{padding-bottom:45px}
.contact-band{position:relative;isolation:isolate;overflow:hidden}.contact-band::before,.contact-band::after{content:'';position:absolute;z-index:-1;pointer-events:none;right:-4%;top:-90%;width:560px;height:560px;border:1px solid #ffffff2c;border-radius:50%;animation:contact-orbit 22s ease-in-out infinite alternate}.contact-band::after{right:9%;top:-50%;width:450px;height:450px;animation-delay:-8s}
.text-link{position:relative;isolation:isolate}.text-link::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--motion-ease)}.text-link:hover::after{transform:scaleX(1);transform-origin:left}.button{transition:background .35s,color .35s,transform .4s var(--motion-ease),box-shadow .4s}.button:hover{box-shadow:0 7px 20px #47311c13}.list-card,.team-card{position:relative}.list-card::before,.team-card::before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--motion-ease)}.list-card:hover::before,.list-card:focus-within::before,.team-card:hover::before{transform:scaleX(1);transform-origin:left}.business-index>a{position:relative}.business-index>a::before{content:'';position:absolute;inset:0 -15px;background:#eee9e3;transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--motion-ease);z-index:-1}.business-index>a:hover::before{transform:scaleY(1)}.business-index>a>div{transition:transform .45s var(--motion-ease)}.business-index>a:hover>div{transform:translateX(5px)}.news-row strong{transition:transform .4s var(--motion-ease)}.news-row:hover strong{transform:translateX(5px)}.expertise-link img{transition:transform .8s var(--motion-ease)}.expertise-link:hover img{transform:rotate(-3deg) scale(1.025)}.media-screens figure{transition:transform .7s var(--motion-ease)}.media-screens figure:hover{transform:translateY(-5px)}
@keyframes field-arrive{from{opacity:0;transform:translateX(-50%) scale(.93)}to{opacity:.9;transform:translateX(-50%) scale(1)}}
@keyframes headline-arrive{from{opacity:0;transform:translateY(28px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}
@keyframes rule-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes orbit-a{from{transform:rotate(-25deg)}to{transform:rotate(335deg)}}
@keyframes orbit-b{from{transform:rotate(35deg)}to{transform:rotate(-325deg)}}
@keyframes warm-light{from{opacity:.2;transform:translateX(-10%)}to{opacity:.9;transform:translateX(10%)}}
@keyframes contact-orbit{from{transform:translate3d(-20px,0,0) scale(.92)}to{transform:translate3d(25px,20px,0) scale(1.08)}}
@media(max-width:950px){.hero-connections{top:13%;width:105vw;height:53%}.page-orbit{width:230px;opacity:.35}}
@media(max-width:640px){.hero-connections{top:14%;width:122vw;height:37%;opacity:.85}.page-orbit{right:-35px;top:0;width:175px;opacity:.3}.motion-toggle{right:12px;bottom:12px;min-height:44px;padding:9px 12px;font-size:.75rem}.motion-ready .reveal.is-pending{transform:translate3d(0,20px,0)}.contact-band::before{width:370px;height:370px;top:-20%;right:-35%}.contact-band::after{width:270px;height:270px;top:0;right:-5%}}
@media(hover:none){.button:hover,.expertise-link:hover img,.news-row:hover strong,.business-index>a:hover>div,.media-screens figure:hover{transform:none}}
/* Motion preferences also apply to hover, entrances, decorative fields, and scroll. */
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important}.motion-paused .reveal,.motion-paused .hero-copy>*,.motion-paused .page-hero>*{opacity:1!important;transform:none!important;clip-path:none!important}.motion-paused .hero-connections{transform:translateX(-50%);opacity:.65}.motion-paused .hero-brand img{transform:none}.motion-paused .page-orbit{opacity:.3!important}.motion-paused .reading-progress{transform:scaleX(var(--reading-progress))!important}
@media(prefers-reduced-motion:reduce){.hero-brand img{transform:none}.reveal.is-pending{opacity:1!important;transform:none!important}.hero-connections{animation:none;opacity:.65}.hero-copy>*,.page-hero>*{animation:none!important;opacity:1!important;clip-path:none!important}}
/* Without JavaScript there are no looping effects or inactive motion controls. */
html:not(.motion-enabled) *,html:not(.motion-enabled) *::before,html:not(.motion-enabled) *::after{animation:none!important}
html:not(.motion-enabled) .motion-toggle{display:none}
