
:root{color-scheme:light;--navy:#202c4a;--paper:#f8f9f4;--white:#fff;--lime:#b4f54b;--gray:#535965;--line:#d8dbd4;--control-border:#7b817a;--font:'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',Meiryo,sans-serif;--body-font:'LINE Seed JP',var(--font);--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--body-font);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,dl,dd{margin:0}h1,h2,h3{font-family:var(--font);font-feature-settings:'palt';font-weight:700}button,a,summary{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}button{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:var(--lime);color:var(--navy)}:focus-visible{outline:3px solid var(--navy);outline-offset:6px}.wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;padding:12px 22px;z-index:20;background:var(--lime);color:var(--navy)}.skip:focus{top:12px}.brand{font-family:Arial,sans-serif;font-size:39px;font-weight:800;letter-spacing:-2.6px;line-height:1;display:inline-flex;align-items:baseline;gap:3px;min-height:44px}.brand b{color:var(--lime);font-weight:inherit}.eyebrow{font-size:14px;font-weight:500;letter-spacing:.08em;display:flex;align-items:center;gap:12px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:54px;padding:12px 25px;border-radius:99px;border:1px solid transparent;background:var(--lime);color:var(--navy);font-size:15px;font-weight:700;cursor:pointer;transition:background .25s,transform .25s var(--ease)}.button:hover{background:var(--lime)}.button .arr{font-size:22px;line-height:1}.button.dark{background:var(--navy);color:white}.button.dark:hover{background:var(--navy)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:48px;font-size:16px;border-bottom:1px solid currentColor}.text-link .arr{font-family:Arial,sans-serif;font-size:23px;transition:transform .25s}.text-link:hover .arr{transform:translate(3px,-3px)}.section-title{font-size:clamp(32px,3.1vw,46px);line-height:1.6;letter-spacing:.03em}
/* The opening uses one accent, large Japanese type and open space. */
.hero{background:var(--navy);color:white;position:relative;overflow:hidden;isolation:isolate}.header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;gap:30px;position:relative;z-index:3}.desktop-nav{display:flex;align-items:center;gap:32px;font-size:14px}.desktop-nav>a{padding-block:10px}.desktop-nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:7px}.desktop-nav .button{font-size:14px;min-height:46px;padding:8px 22px;gap:25px}.menu-trigger{display:none;border:1px solid #626777;background:transparent;color:white;padding:9px 18px;min-height:44px;border-radius:30px;cursor:pointer}.hero-body{position:relative;padding:38px 0 42px;z-index:1}.hero .eyebrow{color:#d6dacb}.hero h1{font-size:clamp(52px,7.15vw,106px);line-height:1.28;letter-spacing:.045em;margin-top:0;max-width:1000px}.hero h1>span{display:block}.hero h1 .second{padding-left:0}.hero h1 em{font-style:normal;color:var(--lime)}.hero-bottom{margin-top:28px}.hero-copy{font-size:17px;line-height:2;max-width:37em;color:#e2e5e8}.hero-copy p+p{margin-top:7px}.hero-bottom .text-link{color:white;min-width:208px;padding-bottom:12px}.hero-foot{border-top:1px solid #41465a;padding:23px 0;display:flex;justify-content:space-between;align-items:center;gap:30px;color:#d9dccf;font-size:14px}.hero-foot p{display:flex;gap:28px;flex-wrap:wrap}.hero-foot>span{color:#bdc2ca}.hero-line{height:10px;background:var(--lime);width:64%}
.intro{padding:48px 0 52px;border-bottom:1px solid var(--line)}.intro-main{display:grid;grid-template-columns:.9fr 1.1fr;gap:0 48px}.intro-main h2{grid-row:auto}.intro-main h2{font-size:clamp(29px,3vw,44px);line-height:1.65;letter-spacing:.03em;margin-bottom:30px}.intro-main p{max-width:39em;color:var(--gray);font-size:17px;line-height:2}.intro-main p+p{margin-top:18px}
.ai-section{padding:58px 0 62px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:26px}.section-heading h2{margin-top:0}.section-heading>p{font-size:16px;color:var(--gray);max-width:26em}.ai-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--lime);border-radius:4px;overflow:hidden}.ai-heading{padding:34px 36px;border-right:1px solid #86b839;display:flex;flex-direction:column;justify-content:space-between;gap:35px}.ai-heading :is(h2,h3){font-size:clamp(32px,3.45vw,49px);line-height:1.6;letter-spacing:.035em;margin:0}.ai-heading p{font-size:15px;max-width:28em}.ai-description{padding:34px 36px;display:flex;flex-direction:column;justify-content:center;gap:26px}.ai-description>p{font-size:17px;line-height:2}.ai-description .note{font-size:15px;line-height:1.85}.ai-description .text-link{align-self:start}.data-topics{list-style:none;padding:0;display:flex;gap:8px 20px;flex-wrap:wrap;font-size:15px}.data-topics li{border-bottom:1px solid #729c37;padding-bottom:4px}.ai-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:36px}.ai-example{border-top:1px solid #a5aa9f;padding-top:20px}.ai-example h3{font-size:19px;line-height:1.65;margin-bottom:13px}.ai-example p{color:var(--gray);font-size:16px;line-height:1.9}
.fields{background:white;padding:32px 0 36px}.fields .section-heading{margin-bottom:18px}.field-list{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,.9fr);gap:36px}.field{display:flex;flex-direction:column;gap:12px;padding:16px 0 0;border-top:2px solid var(--navy);min-width:0}.field-name{display:block}.field-context{font-size:16px;line-height:1.7;margin-top:12px;color:var(--gray)}.field h3{font-size:clamp(30px,3.25vw,46px);line-height:1.35;letter-spacing:-.025em;white-space:nowrap}.field-entry{display:block;flex:1;min-height:52px}.field-entry h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.field-arrow{font-family:Arial,sans-serif;font-size:28px;font-weight:400}.field-label,.field-arrow,.field-copy{box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-color .2s,color .2s}.field-entry:hover .field-label,.field-entry:hover .field-arrow,.field-entry:hover .field-copy,.field-entry:focus-visible .field-label,.field-entry:focus-visible .field-arrow,.field-entry:focus-visible .field-copy{background-color:var(--lime);color:var(--navy)}.field-entry p{color:var(--gray);font-size:16px;line-height:1.9}.field details{font-size:16px;margin-top:auto;padding-top:4px}.field summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;list-style:none;min-height:48px;font-weight:400;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:8px}.field summary::-webkit-details-marker{display:none}.plus{font-size:23px;font-weight:400;transition:transform .25s}.field details[open] .plus{transform:rotate(45deg)}.field details ul{padding:16px 0 0 1.2em;color:var(--gray);font-size:16px}.field details li{margin-bottom:7px}

.foundation{position:relative;isolation:isolate;overflow:hidden;background:var(--lime);color:var(--navy);padding:38px 0 42px}.foundation-ring-ink{position:absolute;z-index:-1;width:clamp(600px,73vw,1000px);aspect-ratio:1;border:clamp(40px,6vw,88px) solid #dfffaa;border-radius:50%;left:clamp(-340px,-22vw,-150px);top:50%;transform:translateY(-50%) translate(var(--ring-shift-x,0px),var(--ring-shift-y,0px)) scale(var(--ring-scale-x,1),var(--ring-scale-y,1));pointer-events:none}.foundation.ring-ready .foundation-ring-ink{border-color:var(--navy)}.foundation h2{font-size:clamp(22px,2.2vw,30px);line-height:1.5;letter-spacing:.015em;margin-bottom:28px}.foundation-items{display:grid;gap:22px}.foundation-item{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;min-width:0}.foundation-item h3{font-size:clamp(50px,5.8vw,86px);line-height:1.08;letter-spacing:-.07em;font-weight:700;white-space:nowrap}.foundation-item:nth-child(2) h3{padding-left:22%}.foundation-item:nth-child(3) h3{padding-left:7%}.foundation-item p{max-width:32em;font-size:17px;line-height:1.9;border-top:1px solid #202c4a50;padding-top:15px}
.approach{padding:48px 0 52px}.approach-main{display:grid;grid-template-columns:.9fr 1.1fr;gap:0 48px}.approach-main h2{grid-row:span 2}.approach-main>p:first-of-type{margin-top:0}.approach-main>.text-link{justify-self:start}.approach-main h2{font-size:clamp(30px,3vw,44px);line-height:1.65;letter-spacing:.035em}.approach-main>p{font-size:17px;line-height:2;color:var(--gray);margin-top:26px;max-width:39em}.approach-main .text-link{margin-top:32px}.approach-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:32px;font-size:15px;color:var(--gray)}
.contact{border-top:1px solid var(--line);padding:42px 0 46px;background:var(--lime)}.contact-layout{display:flex;justify-content:space-between;align-items:center;gap:60px}.contact h2{font-size:clamp(30px,3.9vw,54px);line-height:1.6;letter-spacing:.025em}.contact p{font-size:16px;margin-top:20px}.contact .button{flex-shrink:0;min-width:218px}.footer{padding:34px 0 24px;background:white}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:start}.footer .brand{font-size:37px}.footer .brand b{color:#5f882b}.company-name{font-size:14px;margin-top:9px}.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;font-size:14px}.footer-links a{min-height:44px;display:flex;align-items:center}.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.back-top{width:46px;height:46px;border:1px solid var(--line);background:white;border-radius:50%;cursor:pointer;font-size:23px}.footer-bottom{display:flex;justify-content:flex-end;gap:22px;border-top:1px solid var(--line);padding-top:20px;margin-top:26px;font-size:14px;color:var(--gray)}.menu{border:0;border-radius:4px;background:var(--paper);color:var(--navy);width:min(650px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:30px}.menu::backdrop{background:#111626cc}.menu-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.menu .brand b{color:#5f882b}.menu nav{display:flex;flex-direction:column;margin-top:28px}.menu nav a{padding:18px 0;border-top:1px solid var(--line);font-size:20px;display:flex;justify-content:space-between;gap:15px}.menu nav a:hover{color:var(--navy)}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:20px}.hero-body{padding-top:32px}.hero h1{font-size:7.3vw}.hero-bottom{gap:35px}.intro-main,.approach-main{column-gap:32px}.ai-heading,.ai-description{padding:38px}.field-list{gap:24px}.field h3{font-size:30px}.field-entry{gap:6px}.field-arrow{font-size:24px}.footer-top{gap:24px}.footer-links{gap:12px 20px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{padding:20px 0}.brand{font-size:34px}.desktop-nav{display:none}.menu-trigger{display:block;font-size:14px}.hero-body{padding:24px 0 30px}.hero h1{font-size:clamp(30px,8.1vw,62px);letter-spacing:.015em;margin-top:0;line-height:1.4}.hero h1 .second{padding-left:0}.hero .eyebrow{font-size:14px;letter-spacing:.03em}.hero-bottom{display:block;margin-top:22px}.hero-copy{font-size:16px;line-height:1.95;max-width:34em}.hero-bottom .text-link{margin-top:27px;min-width:205px;font-size:15px;padding-bottom:5px}.hero-foot{padding:21px 0;display:block;font-size:14px}.hero-foot p{gap:8px 22px}.hero-foot>span{display:none}.hero-line{height:5px;width:44%}.intro,.approach{display:block;padding:38px 0}.intro-main,.approach-main{display:block;margin-top:0}.approach-main>p:first-of-type{margin-top:20px}.intro-main h2,.approach-main h2{font-size:28px;line-height:1.7}.intro-main p,.approach-main>p{font-size:16px;line-height:1.95}.section-title{font-size:28px;line-height:1.6}.section-heading{display:block;margin-bottom:27px}.section-heading h2{margin-top:0}.section-heading>p{font-size:16px;margin-top:19px}.ai-section{padding:38px 0 42px}.ai-feature{grid-template-columns:1fr}.ai-heading{padding:29px 26px;border-right:0;border-bottom:1px solid #86b839;gap:22px}.ai-heading :is(h2,h3){font-size:30px;line-height:1.65;letter-spacing:.02em}.ai-heading p{font-size:15px}.ai-description{padding:27px 26px;gap:22px}.ai-description>p{font-size:16px;line-height:1.95}.data-topics{font-size:15px;gap:8px 16px}.ai-examples{grid-template-columns:1fr;gap:25px;padding-top:28px}.ai-example h3{font-size:20px;margin-bottom:10px}.ai-example p{font-size:16px}.fields{padding:28px 0 30px}.fields .section-heading{margin-bottom:18px}.field-list{grid-template-columns:1fr;gap:22px}.field{gap:8px;padding-top:14px}.field h3{font-size:clamp(32px,7.8vw,42px)}.field-context{margin-top:8px}.field-arrow{font-size:28px}.field details{padding-top:0}.field summary{font-size:16px}.foundation{padding:30px 0 36px}.foundation-ring-ink{--ring-diameter:clamp(560px,120vw,840px);width:var(--ring-diameter);border-width:48px;left:calc(16% - var(--ring-diameter)/2);top:47%}.foundation h2{font-size:22px;max-width:15em;margin-bottom:27px}.foundation-items{gap:28px}.foundation-item{grid-template-columns:1fr;gap:10px}.foundation-item h3{font-size:clamp(44px,12.5vw,70px);line-height:1.06}.foundation-item:nth-child(2) h3{padding-left:24%}.foundation-item:nth-child(3) h3{padding-left:8%}.foundation-item p{font-size:16px;line-height:1.85;padding-top:10px;max-width:36em}.approach-bottom{font-size:15px}.contact{padding:32px 0 36px}.contact-layout{display:block}.contact h2{font-size:29px;line-height:1.7;letter-spacing:0}.contact p{margin-top:17px;font-size:16px}.contact .button{margin-top:23px}.footer{padding:35px 0 23px}.footer-top{display:block}.footer .brand{font-size:34px}.footer-links{margin-top:25px;gap:8px 23px}.back-top{margin-left:auto}.footer-bottom{margin-top:25px;display:block}.footer-bottom>span{display:block;text-align:right}.menu{padding:25px}.menu .brand{font-size:30px}.menu .button{font-size:14px;min-height:44px;padding:9px 17px}.menu nav a{font-size:19px}}
.foundation-more{display:flex;justify-content:flex-end;margin-top:24px}.home-contact{background:var(--navy);color:white;border:0;padding:30px 0 36px}.home-links{display:block;margin-bottom:28px}.home-links a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0 17px;border-bottom:1px solid #697083;font-size:22px;min-height:52px}.home-links a:hover{color:var(--lime)}.home-contact .contact-layout{gap:24px}.home-contact .contact-layout h2{font-size:clamp(27px,3.2vw,42px)}
@media(max-width:760px){.foundation-more{justify-content:flex-start;margin-top:22px}.home-contact{padding:24px 0 30px}.home-links{gap:24px;margin-bottom:24px}.home-links a{font-size:18px;padding-bottom:12px;gap:8px}.home-contact .contact-layout h2{font-size:27px}}
.foundation-item h3.ring-word,.foundation-item p.ring-copy{transform:translate(var(--word-x,0px),var(--word-y,0px))}
.foundation .ring-text{background-image:radial-gradient(ellipse var(--ring-rx) var(--ring-ry) at calc(var(--ring-cx) + var(--ring-shift-x) - var(--word-x,0px)) calc(var(--ring-cy) + var(--ring-shift-y) - var(--word-y,0px)),var(--navy) 0%,var(--navy) var(--ring-inner-stop),var(--lime) var(--ring-inner-stop),var(--lime) 100%,var(--navy) 100%);background-origin:border-box;background-size:100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.foundation .ring-text::selection,.foundation .ring-text ::selection{background:var(--navy);color:var(--lime);-webkit-text-fill-color:var(--lime)}
@media(forced-colors:active){.foundation-ring-ink{display:none}.foundation .ring-text{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}
@media print{.foundation-ring-ink{display:none}.foundation .ring-text{background:none;color:var(--navy);-webkit-text-fill-color:var(--navy)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* One ink-highlight treatment for links; backgrounds never fill whole cards. */
a{--link-hover-bg:var(--lime);--link-hover-fg:var(--navy)}
.foundation a,.contact a.button:not(.dark),a.button:not(.dark),a.skip{--link-hover-bg:var(--navy);--link-hover-fg:var(--lime)}
.link-ink{box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-color .2s,color .2s}
body a:hover,body a:focus-visible{text-decoration:none!important}
body a:not(.button):is(:hover,:focus-visible) :is(.link-ink,.field-label,.field-arrow,.field-copy){background-color:var(--link-hover-bg);color:var(--link-hover-fg);-webkit-text-fill-color:var(--link-hover-fg)}
body a.button:hover{background:var(--lime);transform:none}
body a.button.dark:hover{background:var(--navy)}
body .related a:hover{background:var(--white);border-color:var(--line)}
body .text-link:hover .arr{transform:none}
body .home-links a:hover{color:inherit}
@media(prefers-reduced-motion:reduce){.link-ink{transition:none}}

/* Keep the shared orbit clear of body copy at narrow widths, too. */
@media(max-width:760px){
 .foundation-items{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(64px,auto)) repeat(3,auto);gap:22px}
 .foundation-item{display:contents}
 .foundation-item:nth-child(1) h3{grid-row:1}
 .foundation-item:nth-child(2) h3{grid-row:2}
 .foundation-item:nth-child(3) h3{grid-row:3}
 .foundation-item:nth-child(1) p{grid-row:4;margin-top:14px}
 .foundation-item:nth-child(2) p{grid-row:5}
 .foundation-item:nth-child(3) p{grid-row:6}
}


.sub-hero{background:var(--navy);color:white;overflow:hidden}.sub-hero .header{padding-block:22px}.sub-title{padding:32px 0 40px}.sub-title h1{font-size:clamp(38px,5.6vw,78px);line-height:1.3;letter-spacing:.025em;margin-top:18px;max-width:16em}.sub-title h1 em{font-style:normal;color:var(--lime)}.sub-title>p:last-child{font-size:17px;line-height:1.9;margin-top:20px;max-width:38em;color:#e0e4e9}.breadcrumbs{font-size:14px;display:flex;flex-wrap:wrap;gap:10px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.sub-nav{display:flex;flex-wrap:wrap;gap:10px 23px;font-size:15px;align-items:center}.sub-nav a{min-height:44px;display:inline-flex;align-items:center}.sub-nav a:hover{text-decoration:underline;text-underline-offset:6px}.page-section{padding:44px 0}.page-section h2{font-size:clamp(28px,3.1vw,42px);line-height:1.6;margin-bottom:25px}.page-section p{font-size:17px;line-height:1.95}.page-section p+p{margin-top:18px}.reading{max-width:820px;margin-inline:auto}.reading a{text-decoration:underline;text-underline-offset:4px}.section-split{max-width:900px}.work-scene{padding:32px 36px;background:var(--lime);border-radius:4px}.work-scene h2{font-size:clamp(29px,3.5vw,46px)}.work-scene p{max-width:40em}.work-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin-top:26px}.work-list li{padding:24px 0;border-top:2px solid var(--navy)}.work-list h3{font-size:22px;line-height:1.6;margin-bottom:14px}.work-list p{font-size:16px;color:var(--gray)}.sub-band{background:var(--navy);color:white}.sub-band p{color:#d8dde5}.related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}.related a{display:flex;align-items:center;justify-content:space-between;padding:28px;border:1px solid var(--line);background:white;font-size:22px;min-height:96px}.related a:hover{background:var(--lime);border-color:var(--lime)}.company-table{margin:28px 0 0}.company-table>div{display:grid;grid-template-columns:170px 1fr;gap:28px;border-top:1px solid var(--line);padding:24px 0;font-size:17px}.company-table dt{font-weight:700}.company-table dd{overflow-wrap:anywhere}.pending{color:var(--gray);font-size:15px}.policy h2{font-size:25px;margin:42px 0 20px}.policy h3{font-size:19px;margin:28px 0 15px}.policy p{white-space:pre-line;font-size:16px;overflow-wrap:anywhere}.policy ul{padding-left:1.4em;margin:18px 0;font-size:16px}.policy li{margin-bottom:10px}.contact-form{display:grid;gap:25px}.contact-form label{display:block;font-size:16px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;font:inherit;font-size:16px;margin-top:10px;border:1px solid var(--control-border);border-radius:4px;background:white;padding:14px;min-height:52px;color:var(--navy)}.contact-form textarea{min-height:180px;resize:vertical}.contact-form .hint{font-size:14px;font-weight:400;color:var(--gray)}.contact-form .check{display:flex;align-items:flex-start;gap:12px;font-weight:400}.contact-form input[type=checkbox]{width:22px;min-width:22px;min-height:22px;margin:5px 0}.contact-form button{justify-self:center}.form-result{margin-top:28px;border:1px solid var(--line);padding:28px;background:white}.form-result[hidden]{display:none}.form-result h2{font-size:23px}.form-result dd{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:18px}.form-result dt{font-weight:700}.sub-footer{border-top:7px solid var(--lime)}.consultation-list{padding-left:1.3em;font-size:17px;line-height:1.9}.consultation-list li+li{margin-top:8px}
@media(max-width:760px){.sub-title{padding:22px 0 30px}.sub-title h1{font-size:clamp(33px,7.4vw,54px)}.sub-title>p:last-child{font-size:16px}.sub-hero .header{align-items:flex-start;flex-wrap:wrap;gap:17px;padding-block:22px}.sub-nav{width:100%;gap:9px 21px;font-size:14px}.sub-nav .button{padding:9px 18px;min-height:44px;font-size:14px}.page-section{padding:32px 0}.section-split{display:block}.page-section p{font-size:16px}.work-scene{padding:24px}.work-list{grid-template-columns:1fr;gap:0;margin-top:27px}.work-list h3{font-size:21px}.related{grid-template-columns:1fr;gap:14px}.related a{font-size:21px;padding:22px;min-height:80px}.company-table>div{grid-template-columns:1fr;gap:8px;padding:20px 0;font-size:16px}.policy h2{font-size:23px}.form-result{padding:21px}.sub-footer .footer-links{gap:8px 20px}}

/* Details slide over the current page; the underlying scroll position is retained. */
html{scrollbar-gutter:stable}
.detail-panel{position:fixed;inset:0 0 0 auto;margin:0;width:min(1040px,92vw);max-width:none;height:100dvh;max-height:none;padding:0;border:0;background:var(--paper);color:var(--navy);overflow:auto;overscroll-behavior:contain}
.detail-panel::backdrop{background:#10182b66}
.detail-close{position:sticky;top:16px;z-index:5;display:block;margin:16px 22px -60px auto;border:1px solid #ffffff70;border-radius:99px;background:var(--navy);color:white;padding:9px 18px;min-height:44px;cursor:pointer}
.detail-close:hover,.detail-close:focus-visible{background:var(--lime);color:var(--navy)}
.detail-heading .sub-title{padding:70px 32px 34px}.detail-heading .sub-title h1{font-size:clamp(32px,4.5vw,64px)}
.detail-panel .wrap{width:calc(100% - 64px)}.detail-panel .work-list{grid-template-columns:1fr}.detail-panel .work-list li{padding:18px 0}.detail-panel .page-section{padding-block:32px}
@media(max-width:760px){.detail-panel{width:100%;height:100dvh}.detail-heading .sub-title{padding:66px 20px 28px}.detail-panel .wrap{width:calc(100% - 40px)}.detail-close{top:12px;margin-right:16px}.detail-panel .sub-title h1{font-size:34px}.detail-panel .work-scene{padding:24px}.detail-panel .work-scene h2{font-size:27px}}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:24px}
button:disabled{opacity:.55;cursor:default}
#send-status,#form-note{overflow-wrap:anywhere;margin-block:16px}#send-status:empty,#form-note:empty{display:none}


/* Work details prioritize concrete scope over large campaign headings. */
.work-detail{max-width:820px}.work-intro{max-width:none;background:var(--lime);color:var(--navy);padding:24px 28px;border-radius:4px}.work-detail-list{list-style:none;padding:0;margin-top:24px}.work-detail-list li{display:grid;grid-template-columns:180px 1fr;gap:24px;border-top:1px solid var(--line);padding:20px 0}.work-detail-list h2{font-size:19px;line-height:1.7;margin:0}.work-detail-list p{font-size:16px;color:var(--gray);line-height:1.85}.work-detail-contact{margin-top:12px}.work-related{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:28px}.work-related .text-link{font-size:15px}.detail-heading .sub-title{padding:56px 32px 24px}.detail-heading .sub-title h1{font-size:34px;margin-top:12px}.detail-heading .breadcrumbs{display:none}.detail-panel .page-section{padding-block:28px}
@media(max-width:760px){.work-intro{padding:20px}.work-detail-list li{grid-template-columns:1fr;gap:7px;padding:18px 0}.work-detail-list h2{font-size:18px}.detail-heading .sub-title{padding:54px 20px 20px}.detail-heading .sub-title h1{font-size:30px}.detail-panel .page-section{padding-block:24px}.work-related{margin-top:24px}}

@media(max-width:760px){.sub-hero .header{align-items:center;flex-wrap:nowrap;gap:16px}.sub-nav{display:none}.sub-hero .menu-trigger{margin-left:auto;flex-shrink:0}}

@keyframes menu-backdrop-in{from{background-color:#11162600}to{background-color:#111626cc}}
@keyframes menu-backdrop-out{from{background-color:#111626cc}to{background-color:#11162600}}
.menu[open]::backdrop{animation:menu-backdrop-in 650ms ease-out both}
.menu[open].is-closing::backdrop{animation:menu-backdrop-out 280ms ease-out both}
@media(prefers-reduced-motion:reduce){.menu[open]::backdrop,.menu[open].is-closing::backdrop{animation:none}}

.menu-trigger{background:var(--lime);color:var(--navy);border-color:transparent;font-weight:700}

body a.button{justify-content:center;gap:14px;white-space:nowrap}
.home-contact .contact-layout>.button{display:flex;justify-content:center;align-items:center;width:218px;max-width:100%;min-width:0;padding-inline:24px;text-align:center;gap:14px}.home-contact .contact-layout>.button>.arr{position:static;transform:none}
@media(max-width:760px){.home-contact .contact-layout>.button{margin-inline:auto}}

/* Shared controls and narrow layouts audited across the same source. */
:is(.hero,.sub-hero,.home-contact) :focus-visible{outline-color:var(--lime)}
:is(.button,.menu-trigger,.detail-close){max-width:100%;font-weight:700}
:is(.menu-trigger,.detail-close):hover{background:var(--navy);color:var(--lime);border-color:var(--lime)}
button.button:not(:disabled):hover{background:var(--navy);color:var(--lime)}
button.button.dark:not(:disabled):hover{background:var(--lime);color:var(--navy)}
:is(.work-detail-list li,.ai-feature,.contact-layout)>*{min-width:0}
.work-related a,.foundation-more a{max-width:100%}
@media(max-width:960px){.desktop-nav,.sub-nav{display:none}.menu-trigger{display:block;font-size:14px;flex-shrink:0}.header{gap:16px}.sub-hero .header{align-items:center;flex-wrap:nowrap}}
@media(max-width:360px){.menu{padding:20px}.menu-head{gap:12px}.menu .brand{font-size:28px}.form-actions{flex-direction:column;align-items:center}.form-actions .button{padding-inline:16px}}
.ai-heading h2{font-size:clamp(32px,3.45vw,49px);line-height:1.6;letter-spacing:.035em;margin:0}
@media(max-width:760px){.ai-heading h2{font-size:30px;line-height:1.65;letter-spacing:.02em}}

.button.secondary{background:transparent;color:var(--navy);border-color:var(--navy)}
button.button.secondary:not(:disabled):hover{background:var(--navy);color:var(--white)}
#complete-home{display:flex;width:fit-content;margin:24px auto 0}
.reading a.button{text-decoration:none}
.form-result[data-state="complete"]{margin-top:0;border:0;padding:28px 0 12px;background:transparent;text-align:center}
.form-result[data-state="complete"] h2{font-size:clamp(24px,3vw,32px);line-height:1.6;margin-bottom:16px;text-wrap:balance}
.form-result[data-state="complete"] #send-status{max-width:28em;margin-inline:auto;color:var(--gray);text-wrap:pretty}
.form-result[data-state="complete"] .form-actions{display:none}
#complete-home{justify-content:center;gap:14px;max-width:100%}
/* Only real verification/sending states animate, without moving the text. */
@keyframes status-sheen{from{background-position:150% 0}to{background-position:-150% 0}}
#send-status[data-busy=true]{color:var(--gray)}
@supports(background-clip:text){#send-status[data-busy=true]{background:linear-gradient(100deg,var(--gray) 35%,var(--navy) 50%,var(--gray) 65%) 150% 0/250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:status-sheen 1.6s linear infinite}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){#send-status[data-busy=true]{background:none;color:inherit;animation:none}}

.brand>.link-ink{display:inline-block;line-height:1}
.brand>.link-ink>b{margin-left:3px}
.brand:is(:hover,:focus-visible)>.link-ink>b{color:inherit}

/* Consultation controls use a single surface, without text-sized hover blocks. */
a.button.consultation-button{min-height:48px;padding:10px 24px;font-size:15px;font-weight:500;line-height:1.5;gap:12px;text-decoration:none}
a.button.consultation-button .arr{font-size:18px;transition:transform .2s ease}
a.button.consultation-button:is(:hover,:focus-visible) .arr{transform:translate(2px,-2px)}
.home-contact .contact-layout>.button.consultation-button{width:160px;min-width:0}
@media(prefers-reduced-motion:reduce){a.button.consultation-button .arr{transition:none}a.button.consultation-button:is(:hover,:focus-visible) .arr{transform:none}}
