/* A concise homepage and a shared visual language for supporting pages. */
.home-hero { min-height:850px; }
.home-hero .hero-content {padding-top:150px;padding-bottom:90px;}
.home-hero h1 {font-size:clamp(76px,8.7vw,136px);}
.hero-tagline {font-size:clamp(20px,2.3vw,32px);letter-spacing:-.035em;margin:24px 0 42px;}
.home-hero .hero-bottom {margin-top:0;}
.continuity-bottom {display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:32px;}
.continuity-bottom .continuity-note {margin:0;max-width:780px;}
.client-proof {margin-top:60px;padding-top:30px;border-top:1px solid var(--line);}
.client-proof .client-list {margin:24px 0 0;}
.service-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 60px;}
.service-link {border-top:1px solid var(--line);padding:24px 0;}
.service-link h3 {font-size:clamp(23px,2.5vw,33px);letter-spacing:-.035em;margin:20px 0 12px;}
.service-link h3 a:hover {color:var(--cyan);}
.service-link h3 a span {color:var(--cyan);font-size:.65em;}
.service-links p {color:#b8c1cd;font-size:15px;}
.work-intro {display:flex;align-items:center;justify-content:space-between;gap:24px;margin:60px 0 24px;}
.work-intro h3 {font-size:26px;letter-spacing:-.03em;margin:0;}
.home-overview .work-grid,.work-page .work-grid {display:grid;grid-template-columns:1fr 1fr;grid-template-rows:360px;}
.work-card {display:block;}
.work-card:focus-visible {outline:3px solid var(--cyan);outline-offset:5px;}
.work-card:hover img {transform:scale(1.025);transition:transform .3s;}
.footer-nav {display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:28px;font-size:12px;color:var(--muted);}
.inner-hero {padding-top:180px;padding-bottom:70px;border-bottom:1px solid var(--line);}
.inner-hero h1 {font-size:clamp(48px,6.5vw,94px);line-height:1.04;letter-spacing:-.065em;max-width:1100px;margin:26px 0 36px;}
.inner-lead {font-size:clamp(17px,1.6vw,22px);color:#bec7d2;max-width:900px;line-height:1.65;}
.inner-lead strong {font-weight:500;}
.detail-intro {display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:60px;}
.detail-intro h2,.about-story h2,.technical-summary h2,.page-faq h2,.inquiry-details h2 {font-size:clamp(30px,3.5vw,49px);letter-spacing:-.045em;line-height:1.12;margin:0 0 24px;}
.detail-intro p,.about-story>p,.technical-summary>p,.inquiry-details p,.inquiry-details li,.work-observation p {color:#b8c1cd;font-size:17px;line-height:1.8;}
.detail-intro p {margin:0;}
.detail-row {display:grid;grid-template-columns:50px 1fr 1.3fr;gap:35px;padding:32px 0;border-top:1px solid var(--line);}
.detail-row h3 {margin:0;font-size:25px;letter-spacing:-.03em;line-height:1.25;}
.detail-row p {margin:0;color:#b8c1cd;font-size:16px;line-height:1.8;}
.service-next {display:flex;gap:35px;align-items:center;margin-top:48px;}
.page-faq {padding-top:0;}
.work-note {color:var(--muted);font-size:14px;line-height:1.75;max-width:850px;margin:30px 0;}
.work-detail figure {margin:0 0 60px;}
.work-detail figure img {display:block;width:100%;max-height:800px;object-fit:contain;background:#0d131c;}
.work-detail figcaption {font-size:12px;color:var(--muted);margin-top:14px;}
.work-observation {display:grid;grid-template-columns:1fr 1.3fr;gap:60px;padding:30px 0;border-top:1px solid var(--line);}
.work-observation h2 {font-size:30px;letter-spacing:-.035em;}
.about-story>p {max-width:900px;}
.technical-summary .service-links {margin-top:50px;}
.technical-summary h3 {font-size:23px;line-height:1.2;}
.inquiry-details {padding-top:60px;}
@media(max-width:720px){
 .home-hero {min-height:0;}.home-hero .hero-content {padding-top:140px;padding-bottom:85px;}
 .home-hero h1 {font-size:clamp(60px,19vw,100px);}.hero-tagline {margin:24px 0 30px;max-width:290px;}
 .continuity-bottom,.work-intro {display:block;}.continuity-bottom .text-link {display:inline-block;margin-top:20px;}
 .client-proof {margin-top:36px;}.service-links {grid-template-columns:1fr;gap:8px;}
 .home-overview .work-grid,.work-page .work-grid {grid-template-columns:1fr;grid-template-rows:auto;gap:20px;}
 .home-overview .work-card,.work-page .work-card {height:340px;}.work-intro .text-link {display:inline-block;margin-top:18px;}
 .inner-hero {padding-top:130px;padding-bottom:45px;}.inner-hero h1 {font-size:clamp(42px,11vw,68px);}
 .detail-intro,.work-observation {grid-template-columns:1fr;gap:16px;}.detail-intro {margin-bottom:35px;}
 .detail-row {grid-template-columns:1fr;gap:14px;padding:26px 0;}.detail-row h3 {font-size:24px;}
 .service-next {align-items:flex-start;flex-direction:column;gap:24px;}.footer-nav {gap:16px 24px;}.work-detail figure {margin-bottom:35px;}
}
