.line-design-page{background:#fff;color:var(--ink)}
.line-design-page .site-header{background:#101f2c;color:#fff}
.line-design-page .button-primary,.line-design-page .contact-dialog,.line-design-page .site-footer{color:#fff}
.line-design-page main{color-scheme:light}
.line-design-page main :focus-visible{outline:2px solid #e32630;outline-offset:5px}
.ld-wrap{width:100%;max-width:1600px;margin-inline:auto;padding-inline:var(--page-gutter)}
.ld-hero{position:relative;isolation:isolate;overflow:hidden;background:#101f2c;color:#fff}
.ld-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101f2c 5%,#101f2cf0 31%,#101f2c5c 69%,#101f2c16),linear-gradient(0deg,#101f2c,transparent 60%)}
.ld-hero-image{position:absolute;right:0;top:0;width:85%;height:100%;object-fit:cover;object-position:70% center;z-index:-2;filter:saturate(.7);mask-image:linear-gradient(90deg,transparent,#000 30%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);animation:ld-enter 1.7s ease-out both}
.ld-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#bdcbd5;line-height:1.6;padding-top:27px;margin-bottom:45px}
.ld-breadcrumb a:hover{color:#fff}
.ld-hero-copy{max-width:790px}
.ld-hero .section-kicker{color:#c4d0d8;font-size:12px;letter-spacing:.13em;margin-bottom:20px}
.ld-hero h1{font-size:clamp(38px,5.4vw,78px);letter-spacing:-.045em;line-height:1.08;font-weight:750;margin:0 0 23px;animation-delay:.1s}
.ld-accent{color:#ff555e;font-size:clamp(22px,2.2vw,32px);line-height:1.3;letter-spacing:-.025em;font-weight:600;margin:0 0 22px;animation-delay:.2s}
.ld-lead{font-size:17px;color:#d5e0e7;line-height:1.85;max-width:600px;margin:0 0 28px;animation-delay:.25s}
.ld-actions{display:flex;flex-wrap:wrap;gap:14px;animation-delay:.3s}
.ld-geography{display:flex;gap:10px;align-items:center;font-size:12px;line-height:1.6;color:#beced8;margin:24px 0 37px}
.ld-geography svg{width:18px;height:18px;flex-shrink:0}
.ld-types{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:26px 0 30px;border-top:1px solid #ffffff30;max-width:840px}
.ld-types>div{display:flex;gap:22px;align-items:center}
.ld-types>div>span{font-size:30px;letter-spacing:-.04em;color:#c1d1dc;font-weight:500;min-width:48px}
.ld-types h2{font-size:16px;font-weight:650;margin:0 0 6px;line-height:1.5}
.ld-types p{font-size:13px;color:#b9ccd8;margin:0;line-height:1.6}
.ld-section{padding-block:88px}
.ld-section .section-kicker{font-size:12px;color:#a32830;letter-spacing:.12em;margin:0 0 20px}
.ld-section h2{font-size:clamp(30px,3.4vw,49px);line-height:1.17;letter-spacing:-.04em;font-weight:700;margin:0;text-wrap:balance}
.ld-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:44px}
.ld-heading>p{font-size:16px;line-height:1.85;color:#5e7180;margin:0}
.ld-scope-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:start}
.ld-scope-list{border-top:1px solid #d7e0e5}
.ld-scope-list article{display:flex;gap:24px;padding:26px 0;border-bottom:1px solid #d7e0e5}
.ld-scope-list article>span{color:#a42630;font-size:12px;padding-top:6px;font-variant-numeric:tabular-nums}
.ld-scope-list h3{font-size:22px;font-weight:650;letter-spacing:-.025em;line-height:1.4;margin:0 0 10px}
.ld-scope-list p{font-size:16px;line-height:1.8;color:#60717e;margin:0}
.ld-visual{position:sticky;top:25px}
.ld-visual figure{margin:0;position:relative;overflow:hidden;aspect-ratio:1.12;background:#142b39;border-radius:5px 5px 0 0}
.ld-visual figure::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#102634ed)}
.ld-visual img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .9s ease}
.ld-visual figure:hover img{transform:scale(1.035)}
.ld-visual figcaption{position:absolute;bottom:30px;left:30px;right:30px;color:#fff;z-index:1}
.ld-visual figcaption span{font-size:12px;letter-spacing:.14em;color:#d2e1eb}
.ld-visual figcaption p{font-size:clamp(22px,2vw,29px);font-weight:550;letter-spacing:-.03em;line-height:1.35;margin:13px 0 0}
.ld-result{display:flex;gap:20px;background:#edf2f4;padding:28px 30px;border-radius:0 0 5px 5px}
.ld-result>svg{width:28px;height:28px;color:#aa2c35;flex-shrink:0}
.ld-result h3{font-size:12px;letter-spacing:.1em;line-height:1.5;margin:0 0 12px;color:#8d3036}
.ld-result p{font-size:16px;line-height:1.8;margin:0;color:#405a6a}
.ld-start{background:#112a3a;color:#fff}
.ld-start .section-kicker{color:#c4d4de}
.ld-start-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.ld-start-note{font-size:16px;line-height:1.8;color:#c1d0da;max-width:420px;margin:25px 0}
.ld-inputs{list-style:none;padding:0;margin:0;border-top:1px solid #ffffff25}
.ld-inputs li{display:flex;gap:24px;padding:22px 0;border-bottom:1px solid #ffffff25}
.ld-inputs span{font-size:12px;color:#ff7279;padding-top:5px}
.ld-inputs p{font-size:17px;line-height:1.75;color:#e1e9ee;margin:0}
.ld-process{border-top:1px solid #ffffff25;padding-top:34px;margin-top:58px}
.ld-process>h3{font-size:21px;letter-spacing:-.02em;margin:0 0 30px;font-weight:600}
.ld-process ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.ld-process li{position:relative;border-top:1px solid #567183;padding-top:22px}
.ld-process li::before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:#ff565f;transform:scaleX(0);transform-origin:left;transition:transform 1s ease var(--appear-delay,0ms)}
.ld-process li.is-visible::before{transform:scaleX(1)}
.ld-process li>span{font-size:12px;color:#ff7a81}
.ld-process h4{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:14px 0 10px}
.ld-process p{font-size:15px;line-height:1.85;color:#c0d0db;margin:0}
.ld-faq{border-bottom:1px solid #dce4e9}
.ld-faq-grid{display:grid;grid-template-columns:.8fr 1.25fr;gap:70px}
.ld-faq details{border-bottom:1px solid #d3dfe5}
.ld-faq details:first-child{border-top:1px solid #d3dfe5}
.ld-faq summary{display:flex;list-style:none;justify-content:space-between;align-items:center;gap:24px;padding-block:24px;cursor:pointer}
.ld-faq summary::-webkit-details-marker{display:none}
.ld-faq summary h3{font-size:17px;font-weight:650;line-height:1.6;margin:0}
.ld-faq summary svg{width:20px;height:20px;flex-shrink:0;transition:transform .2s;color:#5d788b}
.ld-faq details[open] summary svg{transform:rotate(180deg);color:#b32932}
.ld-faq details>p{font-size:16px;line-height:1.85;color:#5d7180;margin:0;padding:0 24px 24px 0}
@keyframes ld-enter{from{opacity:.3;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
@media(min-width:1600px){.ld-hero-image{width:75%}}
@media(max-width:1100px){.ld-hero-image{width:100%;object-position:70% center}.ld-hero::after{background:linear-gradient(90deg,#101f2cf5,#101f2cc9 50%,#101f2c55),linear-gradient(0deg,#101f2c,transparent 70%)}.ld-heading,.ld-scope-grid,.ld-start-grid,.ld-faq-grid{gap:36px}.ld-process ol{gap:24px}.ld-hero-copy{max-width:680px}}
@media(max-width:800px){.ld-section{padding-block:60px}.ld-heading,.ld-scope-grid,.ld-start-grid,.ld-faq-grid{grid-template-columns:1fr}.ld-heading{gap:24px;margin-bottom:32px}.ld-visual{position:static}.ld-visual figure{aspect-ratio:1.5}.ld-start-note{max-width:100%}.ld-process{margin-top:40px}.ld-process ol{grid-template-columns:1fr;gap:28px}.ld-process h4{margin-top:9px}.ld-hero h1{font-size:clamp(38px,7.2vw,60px)}}
@media(max-width:520px){.ld-breadcrumb{padding-top:22px;margin-bottom:32px;font-size:11px}.ld-hero .section-kicker{font-size:10px;letter-spacing:.08em}.ld-hero h1{font-size:clamp(29px,8.1vw,42px);overflow-wrap:break-word}.ld-accent{font-size:23px;max-width:330px}.ld-lead{font-size:16px;line-height:1.75}.ld-actions .button{width:100%;padding-inline:16px;min-height:54px;font-size:14px}.ld-hero-image{opacity:.65;object-position:80% center}.ld-geography{margin-bottom:28px}.ld-types{grid-template-columns:1fr;gap:22px}.ld-types>div{gap:20px}.ld-types>div>span{font-size:27px;min-width:58px}.ld-section h2{font-size:30px}.ld-heading>p{font-size:16px}.ld-scope-list article{gap:16px;padding-block:23px}.ld-scope-list h3{font-size:20px}.ld-visual figure{aspect-ratio:1}.ld-visual figcaption{left:23px;right:23px;bottom:24px}.ld-visual figcaption p{font-size:24px}.ld-result{padding:25px 22px;gap:15px}.ld-result>svg{width:24px;height:24px}.ld-start .button{width:100%;font-size:13px;gap:12px;padding-inline:14px}.ld-inputs li{gap:18px}.ld-inputs p{font-size:16px}.ld-faq summary{gap:16px}.ld-faq summary h3{font-size:16px}.ld-faq details>p{padding-right:0}}
@media(prefers-reduced-motion:reduce){.ld-hero-image{animation:none}.ld-visual figure:hover img{transform:none}.ld-process li::before{transform:none;transition:none}}
