/* Service landing pages: a shared editorial rhythm, distinct discipline visuals. */
.service-lp{--lp-space:clamp(68px,7.5vw,112px);--chapter-space:var(--lp-space);background:#fff}
.service-lp p{font-size:16px;line-height:2;color:var(--gray)}
.service-lp h2{font-size:clamp(27px,3vw,42px);line-height:1.65;font-weight:500;letter-spacing:.015em;text-wrap:pretty}
.service-lp .eyebrow{font-size:12px;line-height:1.8}
.service-lp :is(section[id],#main){scroll-margin-top:60px}
.lp-hero{position:relative;isolation:isolate;background:#eaf0f5;overflow:clip}
.lp-hero-inner{position:relative;z-index:1;padding-top:30px}
.lp-hero .breadcrumb{margin-bottom:38px;flex-wrap:wrap;gap:12px;font-size:12px}
.lp-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:6%;align-items:center;padding-bottom:45px}
.lp-hero-copy{position:relative;z-index:1;min-width:0}
.lp-hero h1{font-size:clamp(32px,3.8vw,55px);line-height:1.55;letter-spacing:.015em;font-weight:500;margin:25px 0 24px;text-wrap:pretty}
.lp-h1-service{display:block;font-size:16px;font-weight:600;line-height:1.8;margin-bottom:22px;color:#315578}
.lp-hero h1 em{font-style:normal;color:var(--blue)}
.lp-hero-copy>p{max-width:520px}
.lp-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}
.lp-hero-actions .btn{font-size:15px;padding:16px 22px;gap:22px;max-width:100%}
.lp-hero-actions .btn>span{font-size:22px}
.lp-hero-actions .text-link{font-size:14px}
.lp-assurance{display:block;font-size:13px;color:#536779;margin-top:18px}
.lp-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #b9cbdc;padding:20px 0}
.lp-hero-foot>span{font-size:12px;letter-spacing:.1em;color:#4f6880}
.lp-hero-foot b{padding:0 14px;font-weight:400;color:#89a0b4}
.lp-motion-toggle{background:transparent;border:1px solid #a7bccf;color:#345774;padding:8px 12px;font-size:12px;min-height:40px;white-space:nowrap}
.lp-motion-toggle:hover{background:#dbe7f2}
.lp-art{margin:0;min-width:0;position:relative}
.lp-visual-label{display:block;color:#456685;font-size:12px;letter-spacing:.1em;margin-bottom:16px}
.lp-web-photo{overflow:hidden;aspect-ratio:1.52;background:#d6e0e9}
.lp-web-photo img{width:100%;height:100%;object-fit:cover}
.lp-web-caption{display:flex;justify-content:space-between;gap:25px;background:#fff;padding:25px 26px}
.lp-web-caption strong{font-size:clamp(21px,2.15vw,31px);font-weight:500;line-height:1.25;letter-spacing:-.025em}
.lp-web-caption>span{font-size:13px;color:var(--gray);line-height:1.8;align-self:center}
.lp-art figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;font-size:12px;color:#536a7e;padding-top:16px}
.lp-art figcaption a{border-bottom:1px solid #9fb3c5;color:#315b82}
.lp-art-cg img{display:block;aspect-ratio:1;width:100%;max-height:465px;object-fit:contain;background:#fff}
.lp-system-visual{position:relative;min-width:0;border-block:1px solid #9eb6cd;padding:20px 0 24px}
.lp-system-type{display:grid;grid-template-columns:1fr auto;align-items:center;color:#076ac5;padding:35px 0 25px;line-height:.84;letter-spacing:-.075em;font-weight:500}
.lp-system-type>span:first-child{font-size:clamp(110px,14vw,200px)}
.lp-system-type>b{font-size:80px;font-weight:300;color:#799bb9;padding-right:10px}
.lp-system-type>span:last-child{grid-column:1/-1;font-size:clamp(50px,6.25vw,90px);padding-top:30px}
.lp-system-visual>p{color:#315777;margin-top:16px}
.lp-data-labels{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.lp-data-labels span{border:1px solid #a9bed2;padding:8px 11px;font-size:13px;color:#315777}
.lp-hero .system-flow{color:#1767b5;opacity:.6;right:-16%;top:-110px}
.lp-hero .cg-contours{right:-140px;top:-320px;opacity:.1}
.lp-hero .web-grid-motion{right:-28%;opacity:.65}
.motion-experience[data-site-motion="running"] .lp-hero .chapter-ambience *{animation-play-state:running!important}
.lp-nav{position:sticky;top:96px;z-index:35;background:#fffffff5;border-block:1px solid var(--border);backdrop-filter:blur(14px)}
.lp-nav>.wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}
.lp-nav>.wrap>span{font-size:14px;font-weight:600}
.lp-nav>.wrap>div{display:flex;align-items:center;gap:28px}
.lp-nav a{display:block;font-size:14px;padding:18px 0;white-space:nowrap}
.lp-nav a:last-child{color:var(--blue);font-weight:600}
.lp-nav a:hover{color:var(--blue)}
.lp-expertise{padding-block:var(--lp-space)}
.lp-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:42px}
.lp-section-heading h2{margin-top:20px}
.lp-section-heading>p{max-width:500px}
.lp-concerns{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;margin:0 0 46px}
.lp-concerns li{border-top:1px solid var(--border);padding:22px 0;font-size:18px;line-height:1.9}
.lp-concerns span{display:block;color:var(--blue);font-size:12px;letter-spacing:.08em;margin-bottom:12px}
.lp-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 52px;border-top:1px solid var(--border)}
.lp-scope article{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--border)}
.lp-scope article>span{font-size:12px;color:#546b7f;padding-top:6px}
.lp-scope h3{font-size:18px;font-weight:600;line-height:1.65}
.lp-scope p{margin-top:6px}
.service-lp .service-chapter .lp-section-heading{align-items:start}
.service-lp .chapter-ai-system p{color:#b2c2d4}
.lp-works-end{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--border);margin-top:42px;padding-top:24px}
.lp-works-end>a:last-child{display:flex;align-items:center;gap:24px;font-size:15px;font-weight:600}
.lp-why{display:grid;grid-template-columns:.95fr 1.05fr;gap:10%;padding-block:var(--lp-space)}
.lp-why-heading h2{margin:22px 0 25px;font-size:clamp(34px,3.7vw,52px)}
.lp-reasons article{padding:28px 0;border-top:1px solid var(--border)}
.lp-reasons article:first-child{padding-top:20px}
.lp-reasons article>div{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;color:var(--blue)}
.lp-reasons h3{font-size:23px;font-weight:500;line-height:1.7;margin:20px 0 12px}
.lp-core-strip{background:#e8eef4;overflow:clip;border-block:1px solid #cedbe6}
.lp-core-strip>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0}
.lp-core-strip span{font-size:clamp(22px,4vw,56px);font-weight:500;letter-spacing:-.045em;color:#2b5e8b;line-height:1.35}
.lp-core-strip i{font-size:clamp(20px,4vw,54px);font-style:normal;color:#9eb5c9;font-weight:300}
.lp-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;padding-block:var(--lp-space)}
.lp-faq h2{margin-top:20px}
.lp-faq-list details{border-top:1px solid var(--border);border-bottom:0}
.lp-faq-list details:last-child{border-bottom:1px solid var(--border)}
.lp-faq-list summary{display:grid;grid-template-columns:30px 1fr 20px;gap:15px;font-size:16px;line-height:1.8;font-weight:500;padding:23px 0;list-style:none}
.lp-faq-list summary::-webkit-details-marker{display:none}
.lp-q{color:var(--blue);font-size:12px;padding-top:3px}
.lp-faq-list details>p{padding:0 30px 25px 45px;font-size:16px;margin:0}
.lp-faq-list details[open] summary b{transform:rotate(45deg)}
.lp-consultation{background:#edf3f8;padding-block:var(--lp-space);border-top:1px solid #ccdae7}
.lp-form-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:7%;align-items:start}
.lp-form-grid aside h2{font-size:clamp(27px,2.7vw,38px);margin:22px 0}
.lp-form-grid aside>p{max-width:360px}
.lp-contact-area{display:block;font-size:14px;color:#235984;margin:32px 0 10px}
.lp-email{display:block;font-size:20px;letter-spacing:0;font-weight:500;width:fit-content;border-bottom:1px solid #9db5c9}
.lp-form-grid .lp-contact-note{font-size:14px;margin-top:22px}
.lp-form-grid .inquiry-form{background:#fff;padding:clamp(22px,3vw,40px);min-width:0;scroll-margin-top:60px}
.lp-form-grid .choice-grid{gap:10px;grid-template-columns:1fr 1fr}
.lp-form-grid .choice{padding:13px 12px;font-size:14px}
.lp-form-grid .inquiry-form .form-progress{margin-bottom:25px}
.lp-form-grid .form-progress li{font-size:13px;gap:8px}
.lp-form-grid .form-row{grid-template-columns:1fr}
.lp-form-grid .field-help{font-size:14px}
.lp-form-grid .preview-note{font-size:14px}
.lp-form-grid .consent{font-size:14px;line-height:1.7;align-items:flex-start}
.lp-form-grid .consent [role="checkbox"]{margin-top:4px;flex-shrink:0}
.lp-form-grid .confirmation>div{grid-template-columns:1fr;gap:8px}
.lp-form-grid .confirm-actions{flex-wrap:wrap;gap:14px}
.lp-form-grid .confirm-actions .btn{font-size:14px;flex:1;justify-content:center;white-space:normal;min-width:170px}
.lp-related{padding-block:60px}
.lp-related>div{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:24px}
.lp-related a{display:grid;grid-template-columns:1fr auto;gap:8px 20px;border-top:1px solid var(--border);padding-top:24px}
.lp-related a>span:first-child{font-size:12px;color:var(--gray);letter-spacing:.08em}
.lp-related strong{grid-column:1;grid-row:2;font-size:23px;font-weight:500}
.lp-related .round-arrow{grid-column:2;grid-row:1/3;align-self:center}
.lp-related a:hover{color:var(--blue)}
@media(max-width:1100px){
 .lp-hero-grid{gap:4%;grid-template-columns:1fr 1fr}
 .lp-hero h1{font-size:35px}
 .lp-hero-actions{gap:16px}
 .lp-nav>.wrap>div{gap:20px}
 .lp-form-grid{gap:5%;grid-template-columns:.7fr 1.3fr}
 .lp-web-caption{padding:20px}.lp-web-caption>span{font-size:12px}
 .lp-scope{gap:0 32px}.lp-scope article{gap:16px}
}
@media(max-width:850px){
 .lp-nav{top:96px}.lp-nav>.wrap>span{display:none}.lp-nav>.wrap>div{width:100%;justify-content:space-between;gap:18px}
 .lp-hero-grid{grid-template-columns:1fr;gap:40px}
 .lp-hero h1{font-size:clamp(35px,6vw,51px)}
 .lp-hero-copy>p{max-width:620px}
 .lp-art{width:100%;max-width:640px;justify-self:center}
 .lp-art-web .lp-web-photo{aspect-ratio:2.1}
 .lp-art-cg{max-width:420px}
 .lp-system-visual{max-width:580px;width:100%;justify-self:center}
 .lp-system-type{grid-template-columns:auto 60px 1fr;gap:24px;align-items:baseline;padding-block:24px}
 .lp-system-type>span:first-child{font-size:100px}.lp-system-type>b{font-size:48px;padding:0;text-align:center}
 .lp-system-type>span:last-child{grid-column:auto;font-size:50px;padding:0}
 .lp-section-heading{grid-template-columns:1fr;gap:20px}
 .lp-why,.lp-faq{grid-template-columns:1fr;gap:40px}
 .lp-form-grid{grid-template-columns:1fr;gap:35px}
 .lp-form-grid aside>p{max-width:600px}
 .lp-form-grid .form-row{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .service-lp{margin-top:42px}
 .service-lp :is(section[id],#main){scroll-margin-top:70px}
 .lp-hero-inner{padding-top:20px}.lp-hero .breadcrumb{margin-bottom:30px;font-size:12px;gap:8px}
 .lp-hero-grid{padding-bottom:30px;gap:35px}
 .lp-hero h1{font-size:clamp(29px,7.65vw,43px);margin-top:23px}
 .lp-h1-service{font-size:15px;margin-bottom:19px}
 .lp-hero-actions{gap:18px;margin-top:24px}.lp-hero-actions .btn{font-size:14px;padding:15px 18px;gap:16px}
 .lp-hero-copy>p{font-size:16px}.lp-assurance{font-size:12px}
 .lp-hero-foot{flex-wrap:wrap;gap:14px;padding:18px 0}.lp-hero-foot>span{font-size:12px;letter-spacing:0}.lp-hero-foot b{padding:0 7px}
 .lp-web-caption strong{font-size:25px}.lp-web-caption>span{font-size:12px}.lp-web-caption{padding:20px 16px;gap:12px}
 .lp-art figcaption{font-size:12px}.lp-visual-label{font-size:12px;letter-spacing:.065em}
 .lp-system-type{grid-template-columns:1fr auto;gap:0;padding-block:25px}
 .lp-system-type>span:first-child{font-size:120px}.lp-system-type>b{font-size:70px;padding-right:20px}
 .lp-system-type>span:last-child{grid-column:1/-1;padding-top:30px;font-size:clamp(48px,15vw,80px)}
 .lp-system-visual>p{font-size:16px}
 .lp-nav{top:120px}.lp-nav>.wrap{width:calc(100% - 28px)}.lp-nav>.wrap>div{gap:10px}.lp-nav a{font-size:12px;padding:14px 0}.lp-nav a:last-child>span{display:none}
 .lp-section-heading{margin-bottom:28px}.lp-section-heading h2{margin-top:16px}
 .lp-concerns{grid-template-columns:1fr;gap:0;margin-bottom:25px}.lp-concerns li{display:flex;gap:20px;padding:18px 0;font-size:17px}.lp-concerns span{margin:0;padding-top:5px;flex-shrink:0}
 .lp-scope{grid-template-columns:1fr}.lp-scope article{gap:20px;padding:22px 0}.lp-scope h3{font-size:18px}
 .lp-works-end{align-items:flex-start;flex-direction:column;gap:22px;margin-top:34px}.lp-works-end>a:last-child{font-size:14px;gap:18px}
 .lp-why-heading h2{font-size:35px}.lp-reasons h3{font-size:23px}.lp-reasons article{padding-block:26px}
 .lp-core-strip>.wrap{gap:10px;padding-block:24px}.lp-core-strip span{font-size:clamp(16px,4.75vw,30px)}.lp-core-strip i{font-size:23px}
 .lp-faq-list summary{font-size:16px;grid-template-columns:28px 1fr 18px;gap:10px}.lp-faq-list details>p{padding:0 0 23px 38px}
 .lp-form-grid .inquiry-form{padding:23px 18px}.lp-form-grid .choice-grid{grid-template-columns:1fr}.lp-form-grid .form-row{grid-template-columns:1fr}
 .lp-form-grid .form-progress{gap:8px}.lp-form-grid .form-progress li{font-size:12px;gap:5px}.lp-form-grid .consent{font-size:13px;gap:8px}
 .lp-form-grid .inquiry-form{scroll-margin-top:70px}.lp-form-grid .form-email{margin-left:0}
 .lp-related{padding-block:45px}.lp-related>div{grid-template-columns:1fr;gap:25px}.lp-related strong{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.service-lp .chapter-ambience *{animation:none!important}.lp-related .round-arrow{transition:none}.lp-faq-list summary b{transition:none}}

/* Audit corrections: show the actual website composition without cropping. */
.portfolio-image.has-site-screen{aspect-ratio:16/9!important;border:1px solid #c9d6e0;background:#fff!important}
.portfolio-image.has-site-screen img,.motion-chapter .portfolio-image.has-site-screen>img,.motion-chapter .portfolio-card:hover .portfolio-image.has-site-screen>img{object-fit:contain;transform:none;transition:none}
.work-frame.site-screen img{aspect-ratio:16/9;object-fit:contain;padding:0;background:#fff}
.draft-case h2{font-weight:500;margin:18px 0 24px}
.draft-notice{padding:20px 24px;background:#edf3f8;border-left:3px solid #4478a6;font-size:15px;line-height:1.9;color:#38516a}
.draft-notice strong{display:block;color:#23496e;font-size:16px;margin-bottom:8px}
.draft-case dl{margin:35px 0 0}
.draft-case dl>div{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:27px 0;border-top:1px solid var(--border)}
.draft-case dt{font-size:15px;font-weight:600;color:#345f84}
.draft-case dd{font-size:16px;color:var(--gray);line-height:2;margin:0;max-width:800px}
@media(max-width:760px){.draft-case dl>div{grid-template-columns:1fr;gap:10px}.draft-notice{padding:18px}.draft-case h2{font-size:29px}}

/* Final interaction polish: clear labels and space around keyboard focus. */
.form-progress li,.lp-form-grid .form-progress li{font-size:.875rem;line-height:1.55;min-width:0}
.form-progress li>span{flex-shrink:0}
.choice:has(:focus-visible){outline:3px solid #0066ce;outline-offset:4px}
[data-slot="checkbox"]:focus-visible,[data-slot="radio-group-item"]:focus-visible,[data-slot="select-trigger"]:focus-visible{outline:3px solid #0066ce;outline-offset:4px}
.receipt-copy textarea{font-size:1rem;line-height:1.75}
@media(max-width:760px){
 .form-progress{gap:8px}.form-progress li,.lp-form-grid .form-progress li{display:block}
 .form-progress li>span{display:block;margin-bottom:4px}
 .lp-nav a,.header nav a{min-height:44px;display:flex;align-items:center}
 .header nav{min-height:44px}
 .lp-form-grid .inquiry-form{padding:24px 20px}
}
