/* Logo service and its twelve featured project stories. */
body.ls-service,body.ls-case{background:#080808}
body.ls-service #content,body.ls-case #content{background:#080808}
body.ls-service #content>.ast-container,body.ls-case #content>.ast-container{display:block;max-width:none;width:100%;padding:0}
body.ls-service .site-main,body.ls-service .entry-content,body.ls-service article{margin:0;padding:0}
.ls,.ls-detail{--paper:#f0efea;--ink:#161616;--muted:#979794;color:#f5f5f1;background:#080808;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;width:100%;overflow:clip}
body.ls-case .ls-detail, .ls-detail .ls-story-section{background:#080808;color:#f5f5f1}
.ls *, .ls-detail *{box-sizing:border-box}
.ls h1,.ls h2,.ls h3,.ls p,.ls figure,.ls-detail h2,.ls-detail h3,.ls-detail p,.ls-detail figure{margin:0;color:inherit;text-transform:none}
.ls a,.ls-detail a{color:inherit;text-decoration:none}
.ls img,.ls-detail img{display:block;width:100%;height:auto}
.ls a:focus-visible,.ls summary:focus-visible,.ls-detail a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.ls-wrap{width:min(calc(100% - 112px),1520px);margin:auto}
.ls-kicker{font-size:11px;letter-spacing:.16em;line-height:1.8;color:var(--muted)!important}
.ls-link{display:inline-flex;align-items:center;gap:38px;padding:10px 0;border-bottom:1px solid #777;font-size:14px;min-height:44px}
.ls-link:hover{border-color:currentColor}
.ls-hero{padding:84px 0 0}
.ls-hero-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:28px 0 48px}
.ls-hero h1{font-size:clamp(66px,8.5vw,140px);font-weight:400;line-height:1.15;letter-spacing:-.055em}
.ls-hero-heading>div:last-child{max-width:290px;padding-bottom:9px}
.ls-hero-heading p{font-size:15px;line-height:1.9;color:#aaa;margin-bottom:18px}
.ls-hero-art{display:grid;grid-template-columns:1.45fr 1fr;gap:14px}
.ls-hero-art>a{display:block;position:relative;overflow:hidden;background:var(--paper)}
.ls-hero-art img{height:100%;aspect-ratio:1.65;object-fit:cover;transition:transform .6s}
.ls-hero-art>a:hover img{transform:scale(1.025)}
.ls-art-caption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(0,0,0,.65));padding:40px 24px 20px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:white}
.ls-hero-foot{display:flex;justify-content:space-between;gap:20px;padding:22px 0 40px;color:#999;font-size:11px;letter-spacing:.07em}
.ls-subnav{border-top:1px solid #333;border-bottom:1px solid #333;display:flex;gap:38px;flex-wrap:wrap;padding:10px 0}
.ls-subnav a{font-size:13px;display:flex;gap:25px;align-items:center;min-height:44px}
.ls-subnav a span{color:#777;font-size:10px}
.ls-section{padding:100px 0;scroll-margin-top:100px}
.ls #selected-projects,.ls #vi,.ls #contact{scroll-margin-top:100px}
.ls-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:40px}
.ls-section-heading h2{font-size:clamp(32px,3.5vw,58px);font-weight:400;line-height:1.3;letter-spacing:-.03em;margin-top:14px}
.ls-section-heading>p{font-size:14px;line-height:1.9;color:#aaa;max-width:340px}
.ls-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding-bottom:90px}
.ls-intro h2{font-size:clamp(32px,3.4vw,56px);font-weight:400;line-height:1.45;margin-top:22px}
.ls-intro-copy{padding-top:40px}
.ls-intro-copy p{font-size:17px;line-height:2.1;color:#aaa;margin-bottom:22px}
.ls-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.ls-project{min-width:0;display:block}
.ls-project-image{overflow:hidden;background:var(--paper);position:relative}
.ls-project-image img{aspect-ratio:1.5;object-fit:cover;transition:transform .65s}
.ls-project:hover img{transform:scale(1.035)}
.ls-project-image:after{content:'↗';position:absolute;right:16px;bottom:16px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:white;color:#111;transition:transform .2s}
.ls-project:hover .ls-project-image:after{transform:rotate(45deg)}
.ls-project-meta{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:10px;letter-spacing:.08em;color:#8f8f8c}
.ls-project h3{font-size:21px;line-height:1.5;font-weight:400;margin:10px 0}
.ls-project p{font-size:14px;color:#999;line-height:1.9}
.ls-more-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #333;margin:70px 0 30px;padding-top:28px}
.ls-more-heading h3{font-size:23px;font-weight:400}
.ls-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.ls-more-grid .ls-project h3{font-size:19px}
.ls-paper{background:var(--paper);color:var(--ink)}
.ls-paper .ls-kicker{color:#767671!important}
.ls-paper .ls-section-heading>p{color:#73736f}
.ls-offerings{border-top:1px solid #bdbdb7}
.ls-offering{border-bottom:1px solid #bdbdb7}
.ls-offering summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:54px 1fr auto 28px;gap:24px;align-items:center;min-height:94px;padding:22px 0}
.ls-offering summary::-webkit-details-marker{display:none}
.ls-offering summary h3{font-size:24px;font-weight:400;line-height:1.5}
.ls-offering summary>span:first-child{font-size:12px;color:#75756e}
.ls-price{font-size:13px;color:#64645d;white-space:nowrap}
.ls-plus{font-size:25px;text-align:right;font-weight:300}
.ls-offering[open] .ls-plus{transform:rotate(45deg)}
.ls-offering-content{padding:0 52px 35px 78px;font-size:15px;line-height:2;color:#61615a}
.ls-offering-content p+p{margin-top:18px}
.ls .vi-lead,.ls .vi-note{max-width:1000px}
.ls .vi-system{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:28px 0}
.ls .vi-cell{min-width:0}
.ls .vi-plate{background:#e0e0d8;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ls .vi-cell figcaption{font-size:12px;color:#666;margin-top:10px}
.ls .vi-mark span{width:48%;aspect-ratio:1;border:13px solid #222;border-radius:50%;position:relative}
.ls .vi-mark span:after{content:'';position:absolute;inset:15% -40%;background:#e0e0d8;transform:rotate(-45deg);height:15px;top:35%}
.ls .vi-color{gap:7px}.ls .vi-color i{width:20%;height:48%;background:#242424}.ls .vi-color i:nth-child(2){background:#999c8c}.ls .vi-color i:nth-child(3){background:#c6c8bd}
.ls .vi-type{gap:10px}.ls .vi-type b{font-size:clamp(24px,3vw,44px);font-weight:500;color:#222}.ls .vi-type b:last-child{font-family:serif}
.ls .vi-graphic span{width:75%;aspect-ratio:1;background:repeating-linear-gradient(135deg,#282828 0 8px,transparent 8px 19px)}
.ls .vi-layout{flex-direction:column;gap:9px;padding:24px}.ls .vi-layout span{display:block;width:100%;height:12px;background:#282828}.ls .vi-layout span:first-child{height:44px}.ls .vi-layout span:last-child{width:55%;align-self:flex-start}
.ls .vi-kits{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0}.ls .vi-kits li{padding:5px 13px;background:#e0e0d8;font-size:12px}.ls .vi-kits em{font-style:normal;margin-left:8px;color:#777}
.ls-principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-top:70px}
.ls-principles h3{font-size:21px;font-weight:400;margin:20px 0 16px}.ls-principles p{font-size:14px;line-height:1.95;color:#6f6f68}.ls-principles small{font-size:11px;color:#777}
.ls-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 32px;margin:0;padding:0;list-style:none}
.ls-process li{border-top:1px solid #444;padding-top:24px}.ls-process small{font-size:11px;color:#898985}.ls-process h3{font-size:23px;font-weight:400;margin:17px 0}.ls-process p{color:#959590;font-size:14px;line-height:1.95}
.ls-cta{padding:80px 0 100px;border-top:1px solid #333}.ls-cta h2{font-size:clamp(42px,6.5vw,100px);font-weight:400;line-height:1.25;letter-spacing:-.05em;margin:25px 0 36px}.ls-cta-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.ls-cta-phone{font-size:clamp(26px,3.4vw,50px);line-height:1.4}.ls-cta-links{display:flex;gap:28px;flex-wrap:wrap}
/* Full project body. Existing portfolio headings and next-project links remain. */
.ls-detail-cover{background:#f0efea}
.ls-detail-cover img{max-height:650px;object-fit:contain}
.ls-overview{background:var(--paper);color:var(--ink);padding:80px 0}
.ls-overview .ls-kicker{color:#767671!important}
.ls-overview-grid{display:grid;grid-template-columns:1fr 2fr;gap:10%}
.ls-overview h2{font-size:38px;font-weight:400;line-height:1.3;margin:18px 0 32px}
.ls-overview dl{margin:0;font-size:13px}.ls-overview dt{color:#81817a;margin-top:18px}.ls-overview dd{margin:6px 0 0}
.ls-overview-copy>p{font-size:17px;line-height:2.05;color:#5d5d56;overflow-wrap:anywhere}
.ls-story-nav{display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid #b9b9b1;padding-top:24px;margin-top:34px;font-size:12px;color:#66665f}
.ls-story-nav a{min-height:32px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}.ls-story-nav a:hover{border-color:#555}
.ls-story-section{padding:72px 0;scroll-margin-top:105px}
.ls-story-row{display:grid;grid-template-columns:1fr 2fr;gap:10%;border-top:1px solid #333;padding-top:28px}
.ls-story-title small{font-size:11px;letter-spacing:.15em;color:#8f8f89}.ls-story-title h2{font-size:27px;font-weight:400;margin-top:15px;line-height:1.5}
.ls-story-copy p{font-size:16px;line-height:2.05;color:#aaa9a3;overflow-wrap:anywhere}.ls-story-copy p+p{margin-top:22px}
.ls-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:44px}
.ls-gallery figure{min-width:0;background:#eeeee9}.ls-gallery img{height:100%;object-fit:contain;aspect-ratio:1.6}.ls-gallery-single{grid-template-columns:1fr}.ls-gallery-single img{aspect-ratio:auto;max-height:790px}
.ls-gallery figcaption{background:#080808;color:#777;font-size:11px;padding:12px 0;letter-spacing:.05em}
.ls-gallery-final{padding-bottom:70px;margin-top:0}
@media(min-width:1700px){.ls-detail-cover img{max-height:800px}}
@media(max-width:1024px){.ls-wrap{width:calc(100% - 64px)}.ls-hero{padding-top:65px}.ls-hero-heading{gap:28px}.ls-hero-heading>div:last-child{max-width:240px}.ls-section{padding:75px 0}.ls-intro{gap:50px}.ls-intro-copy p{font-size:15px}.ls-feature-grid{gap:20px}.ls-project h3{font-size:19px}.ls-more-grid{gap:32px 20px}.ls-principles,.ls-process{grid-template-columns:repeat(2,minmax(0,1fr))}.ls-overview-grid,.ls-story-row{gap:6%}.ls-overview-copy>p{font-size:16px}}
@media(max-width:700px){.ls-wrap{width:calc(100% - 40px)}.ls-hero{padding-top:45px}.ls-hero-heading{display:block;padding:25px 0 30px}.ls-hero h1{font-size:16vw;line-height:1.22}.ls-hero-heading>div:last-child{max-width:100%;padding:26px 0 0}.ls-hero-heading p{font-size:14px;max-width:350px;margin-bottom:8px}.ls-hero-art{grid-template-columns:1fr;gap:12px}.ls-hero-art>a:nth-child(2){display:none}.ls-art-caption{padding:30px 18px 16px;font-size:12px}.ls-hero-art img{aspect-ratio:1.5}.ls-hero-foot{font-size:9px;padding:16px 0 24px;letter-spacing:0}.ls-subnav{gap:12px 28px}.ls-subnav a{gap:10px;font-size:12px;min-height:36px}.ls-section{padding:55px 0}.ls-intro{grid-template-columns:1fr;gap:0}.ls-intro h2{font-size:32px}.ls-intro-copy{padding-top:28px}.ls-intro-copy p{font-size:15px;line-height:2}.ls-section-heading{display:block;margin-bottom:28px}.ls-section-heading h2{font-size:34px}.ls-section-heading>p{margin-top:20px}.ls-feature-grid,.ls-more-grid{grid-template-columns:1fr;gap:36px}.ls-project h3{font-size:21px}.ls-project p{font-size:14px}.ls-more-heading{margin-top:46px;align-items:flex-start}.ls-more-heading h3{font-size:21px}.ls-more-heading .ls-link{font-size:12px;gap:13px;white-space:nowrap}.ls-offering summary{grid-template-columns:24px 1fr 22px;gap:14px;min-height:82px;padding:22px 0}.ls-offering summary h3{font-size:20px}.ls-price{grid-column:2;grid-row:2;font-size:12px}.ls-plus{grid-column:3;grid-row:1/3}.ls-offering-content{padding:0 0 28px 38px;font-size:14px}.ls .vi-system{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.ls .vi-type b{font-size:29px}.ls .vi-mark span{border-width:9px}.ls .vi-layout{padding:20px}.ls-principles{gap:32px 22px;padding-top:50px}.ls-principles h3{font-size:19px;margin:14px 0}.ls-principles p{font-size:13px}.ls-process{grid-template-columns:1fr;gap:28px}.ls-process li{display:grid;grid-template-columns:30px 1fr;gap:12px}.ls-process small{padding-top:4px}.ls-process h3{margin:0 0 12px;font-size:22px}.ls-process p{grid-column:2;font-size:14px}.ls-cta{padding:52px 0 65px}.ls-cta h2{font-size:12vw}.ls-cta-bottom{display:block}.ls-cta-links{margin-top:26px;gap:25px}.ls-cta-phone{font-size:30px}.ls-overview{padding:48px 0}.ls-overview-grid,.ls-story-row{grid-template-columns:1fr;gap:28px}.ls-overview h2{font-size:29px;margin:12px 0 24px}.ls-overview dl{display:grid;grid-template-columns:72px 1fr;gap:12px}.ls-overview dt,.ls-overview dd{margin:0}.ls-overview-copy>p{font-size:15px}.ls-story-nav{gap:8px 20px;margin-top:24px;padding-top:18px}.ls-story-section{padding:42px 0}.ls-story-row{padding-top:20px;gap:22px}.ls-story-title h2{font-size:25px;margin-top:10px}.ls-story-copy p{font-size:15px;line-height:2}.ls-gallery{grid-template-columns:1fr;gap:16px;margin-top:30px}.ls-gallery img{aspect-ratio:auto;height:auto}.ls-gallery figcaption{padding:10px 0;font-size:10px}.ls-gallery-final{padding-bottom:45px}.ls-detail-cover img{max-height:none}}
@media(prefers-reduced-motion:reduce){.ls *, .ls-detail *{transition:none!important;scroll-behavior:auto!important}}
