:root{--ink:#173e33;--soft:#496457;--green:#23694e;--deep:#174d39;--paper:#fbfaf5;--sage:#edf3ea;--line:#d4e0d5;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-padding-top:20px}body{margin:0;font-size:17px;line-height:1.75}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #b98130;outline-offset:4px}[hidden]{display:none!important}.no-break{display:inline-block;white-space:nowrap}p{margin:0 0 16px}p:last-child{margin-bottom:0}h1,h2,h3{margin:0;line-height:1.48;text-wrap:balance;overflow-wrap:break-word}h1{font-size:52px;line-height:1.4;letter-spacing:-.04em}h2{font-size:36px;letter-spacing:-.025em;margin-bottom:20px}h3{font-size:22px;margin-bottom:14px}img{max-width:100%;display:block}button:disabled{cursor:default;opacity:.65}
.section{max-width:1120px;margin-inline:auto;padding:64px 40px}.reading-column{max-width:800px}.site-header{height:68px;max-width:1120px;margin-inline:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;justify-content:center;min-height:44px;text-decoration:none;line-height:1.3}.brand span{font-size:12px;letter-spacing:.05em;white-space:nowrap}.brand strong{font-size:21px;letter-spacing:.08em}.header-phone{min-height:44px;display:flex;align-items:center;font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--ink)}
.hero{text-align:center;padding-top:72px;padding-bottom:64px;background:radial-gradient(ellipse at 50% 64%,#e6efdf7d,transparent 65%)}.headline-line{display:block}.hero h1{margin:0 auto 24px;max-width:950px}.hero-lead{font-size:19px;color:var(--soft);margin:0 auto 28px;max-width:720px}.cta-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(100%,560px);margin-inline:auto}.cta{display:flex;align-items:center;justify-content:center;min-height:56px;padding:12px 16px;border-radius:11px;text-decoration:none;font-size:16px;font-weight:750;line-height:1.5}.cta-line{background:var(--green);border:1px solid var(--green);color:white;box-shadow:0 6px 18px #173e3312}.cta-line:hover{background:var(--deep)}.cta-phone{background:white;color:var(--ink);border:1px solid #4f6e60}.free-estimate{font-size:14px;color:var(--soft);margin:14px 0 0;text-align:center}
.service-group{max-width:800px;padding-top:48px}.service-copy h2{font-size:34px}.service-copy p,.all-items p{color:var(--soft)}.all-items{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.all-items h2{font-size:32px}.cargo-section{margin-top:28px}.cargo-card{padding:14px;background:white;border:1px solid var(--line);border-radius:20px}.cargo-card>img{width:100%;height:auto;aspect-ratio:6/5;border-radius:12px}.cargo-caption{font-size:15px;text-align:center;margin:14px 0 4px}.model-note{text-align:center;font-size:13px;color:var(--soft);margin:0 0 14px}.cargo-action{display:block;width:100%;min-height:52px;border-radius:10px;padding:10px 14px;font-size:16px;font-weight:700;background:white;border:1px solid var(--green);line-height:1.5}.cargo-action:hover{background:var(--sage)}.cargo-contact{margin-top:24px}.cargo-error{font-size:14px;margin-top:12px;color:var(--soft)}.cargo-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.cargo-header h3{font-size:18px;margin:0}.text-button{border:0;background:transparent;min-height:44px;padding:8px;line-height:1.5;font-size:14px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.cargo-scene-wrap{height:400px;position:relative;background:radial-gradient(ellipse at 50% 42%,#fafcf6,#eaf0e5);border-radius:12px;overflow:hidden}#cargo-canvas{position:absolute;inset:0;touch-action:pan-y}#cargo-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y}#cargo-loading{position:absolute;inset:0;display:grid;place-content:center;background:#eff3e9ed;font-size:16px}.cargo-controls{padding-top:8px}.cargo-tools{display:flex;gap:8px;align-items:center;justify-content:space-between}.cargo-tools p{font-size:13px;line-height:1.7;margin:0;color:var(--soft)}.cargo-tools p span{display:inline-block}.cargo-state{margin:10px 0 12px;font-size:15px;text-align:center;min-height:26px}
.attendance-band{background:var(--sage)}.attendance-band h3{margin-top:28px;font-size:24px}.attendance-band p{color:var(--soft)}.case-section{text-align:center;max-width:860px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.case-grid figure{margin:0;min-width:0}.case-grid img{width:100%;height:auto;aspect-ratio:800/1422;border-radius:12px}.case-grid figcaption{font-size:16px;font-weight:700;padding-top:10px}.case-prompt{font-weight:700;margin:24px 0 0}
.trust-band{background:#f0f4ec}.trust-band h2{text-align:center}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.review-card{background:white;border:1px solid var(--line);border-radius:14px;padding:28px}.review-card h3{font-size:21px;margin:0 0 16px}.review-card p{color:var(--soft)}.review-card small{font-size:14px;color:var(--soft)}.person-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:start;max-width:760px;margin:36px auto 0;padding-top:28px;border-top:1px solid var(--line)}.person-card picture{display:block;width:112px;height:112px}.person-card img{width:100%;height:100%;object-fit:cover;object-position:50% 32%;border:2px solid #8fb6b7b8;border-radius:50%;box-shadow:0 6px 15px #17292b16}.person-card h3{margin:0 0 14px}.person-card p{color:var(--soft)}.person-name{display:block;font-size:14px;margin-top:16px}
.flow-section>p{color:var(--soft)}.flow-list{list-style:none;padding:0;margin:28px 0;counter-reset:flow}.flow-list li{position:relative;counter-increment:flow;padding:22px 0 22px 58px;border-top:1px solid var(--line)}.flow-list li:last-child{border-bottom:1px solid var(--line)}.flow-list li::before{content:counter(flow);position:absolute;left:0;top:22px;width:36px;height:36px;display:grid;place-items:center;background:var(--sage);border-radius:50%;font-size:20px;font-weight:700}.flow-list h3{font-size:21px;margin:0 0 8px}.flow-list p{color:var(--soft);margin:0}.line-example{background:var(--sage);padding:24px;border-radius:12px}.line-example h3{font-size:18px}.line-example p{margin:0}.faq-section{padding-top:0}.faq-list{margin-top:24px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-size:17px;line-height:1.7;list-style:none;padding:20px 34px 20px 0;cursor:pointer;font-weight:700;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'＋';position:absolute;right:4px;top:20px}.faq-list details[open] summary::after{content:'−'}.faq-list details p{padding:0 12px 22px 0;margin:0;color:var(--soft)}
.info-band{background:white;border-top:1px solid var(--line)}.info-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px}.info-grid h2{font-size:30px}.info-grid p{color:var(--soft)}.company-card{border-left:1px solid var(--line);padding-left:32px}.company-card dl{margin:0}.company-card dl>div{padding:12px 0;border-bottom:1px solid var(--line)}.company-card dt{font-size:14px;color:var(--soft)}.company-card dd{margin:4px 0 0;font-size:16px;font-weight:700}.company-card a{display:inline-flex;align-items:center;min-height:44px}.privacy-link{font-size:14px;margin-top:14px}.final-band{background:var(--sage)}.final-section{text-align:center}.final-section h2{margin-bottom:24px}.final-section .hero-lead{font-size:17px}.site-footer{background:var(--deep);color:white;padding:36px 18px max(36px,env(safe-area-inset-bottom));text-align:center}.site-footer strong{display:block;font-size:15px}.site-footer>a{display:inline-flex;min-height:44px;align-items:center;font-size:14px;margin-top:8px}
.sticky-cta{position:fixed;z-index:40;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:min(520px,calc(100% - 24px));transform:translate(-50%,calc(100% + 40px));display:grid;grid-template-columns:1fr 1fr;gap:8px;background:white;padding:6px;border-radius:12px;box-shadow:0 8px 28px #081c1645;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.sticky-cta.is-visible{transform:translate(-50%,0);opacity:1;pointer-events:auto}.sticky-cta a{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:7px;padding:8px 4px;line-height:1.5;font-size:14px;font-weight:750;color:white;text-decoration:none;white-space:nowrap}.sticky-cta a:first-child{background:#00833d}.sticky-cta a:last-child{background:#0f6f6d}.preview-contact{display:none}.preview-contact:target{display:block;position:fixed;z-index:100;bottom:90px;left:50%;transform:translateX(-50%);width:min(450px,calc(100% - 32px));padding:18px;background:#173e33;color:white;border-radius:12px;font-size:14px;box-shadow:0 8px 24px #0004}.preview-contact p{margin:0}.preview-contact a{display:inline-flex;align-items:center;min-height:44px}.safe-preview-message{position:fixed;z-index:100;left:50%;bottom:90px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:14px 18px;background:#173e33;color:white;border-radius:12px;font-size:14px;box-shadow:0 8px 24px #0004}
@media(max-width:760px){body{font-size:16px}.section{padding:56px 18px}.site-header{height:56px;padding:0 18px}.brand strong{font-size:18px}.header-phone{font-size:13px}h1{font-size:32px;line-height:1.43}h2{font-size:28px;line-height:1.48;margin-bottom:18px}h3{font-size:20px}.hero{padding-top:48px;padding-bottom:48px}.hero h1{margin-bottom:24px}.hero-lead{font-size:16px;margin-bottom:28px}.cta-pair{grid-template-columns:1fr;max-width:354px}.cta{min-height:52px}.service-group{padding-top:32px}.service-copy h2{font-size:28px}.all-items h2{font-size:28px}.cargo-card{padding:10px;border-radius:16px}.cargo-scene-wrap{height:290px}.cargo-caption{font-size:14px}.cargo-header h3{font-size:16px}.cargo-tools .text-button{padding-inline:4px}.attendance-band h3{font-size:21px}.case-grid{gap:10px;margin-top:24px}.case-grid figcaption{font-size:14px}.case-prompt{font-size:16px}.reviews-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}.review-card{padding:24px 22px}.review-card h3{font-size:20px}.person-card{grid-template-columns:72px minmax(0,1fr);gap:12px;padding-top:24px;margin-top:28px}.person-card picture{width:72px;height:72px}.person-card h3{font-size:18px}.flow-list li{padding-left:48px}.flow-list h3{font-size:19px}.flow-list li::before{width:32px;height:32px;font-size:18px}.line-example{padding:20px}.line-example h3{font-size:17px}.faq-section{padding-top:0}.faq-list summary{font-size:16px}.info-grid{grid-template-columns:1fr;gap:32px}.info-grid h2{font-size:28px}.company-card{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.final-section .hero-lead{font-size:16px}}
@media(min-width:361px) and (max-width:430px) and (min-height:750px){.hero{padding-top:56px;padding-bottom:56px}.hero h1{font-size:38px}}
@media(max-width:360px){.section{padding-left:14px;padding-right:14px}.site-header{padding-inline:14px}.hero{padding-top:28px;padding-bottom:40px}h1{font-size:28px}h2,.service-copy h2,.all-items h2,.info-grid h2{font-size:26px}.person-card{grid-template-columns:58px minmax(0,1fr);gap:10px}.person-card picture{width:58px;height:58px}.sticky-cta{width:calc(100% - 16px);gap:6px}.sticky-cta a{font-size:13px}.cargo-scene-wrap{height:260px}.cargo-header h3{font-size:16px}.cargo-tools{align-items:flex-start}.cargo-tools .text-button{font-size:13px}.hero-lead br{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep the two service conclusions readable without weakening their wording. */
.service-outcome{display:block;font-size:28px;line-height:1.6;margin-top:10px}
@media(max-width:760px){.service-outcome{font-size:22px}}
@media(max-width:360px){.service-outcome{font-size:21px}}
@media(min-width:361px) and (max-width:430px) and (min-height:750px){.hero h1{font-size:32px}}
@media(max-width:760px){.cargo-state{min-height:52px}}
.outcome-line{display:block}
@media(max-width:330px){.hero h1 .headline-line{display:contents}}
/* V3: an independent image-led version; body sections retain V2 styles. */
.site-header{background:#fff}.brand{display:grid;gap:1px;color:#17292b;font-weight:800;line-height:1.75}.brand span{font-size:17px;letter-spacing:0}.brand small{font-size:12px;font-weight:600;color:#51656a;line-height:1.35}
.hero{max-width:1200px;min-height:calc(100svh - 68px);display:grid;grid-template-columns:1fr 1.12fr;grid-template-areas:'title image' 'lead image' 'cta image' 'note image';gap:18px 36px;align-content:center;padding:48px 40px;background:#fff;text-align:left}.hero h1{grid-area:title;font-size:38px;line-height:1.42;margin:0;max-width:none}.hero-visual{grid-area:image;display:block;align-self:center}.hero-visual img{width:100%;height:auto;object-fit:contain}.hero .hero-lead{grid-area:lead;font-size:18px;line-height:1.65;margin:0;max-width:none}.hero .cta-pair{grid-area:cta;width:100%;margin:0;grid-template-columns:1fr;max-width:390px}.hero .free-estimate{grid-area:note;margin:0;max-width:390px;line-height:1.5}
@media(max-width:900px){.hero{grid-template-columns:1fr;grid-template-areas:'title' 'image' 'lead' 'cta' 'note';text-align:center;gap:16px;min-height:calc(100svh - 68px);padding:24px 28px;justify-items:center}.hero h1{font-size:34px}.hero-visual{width:min(100%,510px)}.hero .hero-lead{font-size:17px}.hero .cta-pair{max-width:380px}.hero .free-estimate{width:100%}}
@media(max-width:760px){.site-header{height:56px;padding:0 18px}.brand span{font-size:15px}.brand small{font-size:11px}.hero{min-height:calc(100svh - 56px);padding:22px 18px 26px;gap:16px;align-content:center}.hero h1{font-size:32px;line-height:1.38;letter-spacing:-.04em}.hero h1 .headline-line{display:block}.hero-visual{width:100%;max-width:420px}.hero-visual img{min-height:160px}.hero .hero-lead{font-size:16px;line-height:1.5}.hero .cta-pair{max-width:354px;gap:12px}.hero .cta{min-height:52px}.hero .free-estimate{font-size:14px;line-height:1.5}}
@media(max-width:760px) and (max-height:740px){.hero{padding-top:16px;padding-bottom:24px;gap:12px}.hero h1{font-size:clamp(22px,6.67vw,28px)}.hero-visual{width:min(100%,330px)}}
@media(max-width:360px){.brand span{font-size:14px}.hero .hero-lead br{display:block}.hero .hero-lead{font-size:16px}.hero h1{font-size:24px}.hero-visual{width:100%}}
@media(max-width:330px){.hero h1{font-size:22px}.hero h1 .headline-line{display:block}.hero .hero-lead br{display:none}}
.hero .hero-lead{text-wrap:balance}
@media(max-width:330px){.hero{gap:10px}.hero-visual{width:240px}}

/* V4: protect sentence endings without shrinking text or changing approved copy. */
.section p,.review-card p,.faq-list summary{text-wrap:pretty}
.final-section .final-lead{max-width:720px}
.final-sentence{display:block;text-wrap:balance}
.final-sentence+.final-sentence{margin-top:10px}

/* Keep the model poster visible while the first 3D frame is prepared. */
#cargo-loading{display:block;background:#eff3e9}#cargo-loading img{width:100%;height:100%;object-fit:contain;display:block}#cargo-loading span{position:absolute;left:10px;right:10px;bottom:12px;padding:10px 8px;border-radius:8px;background:rgba(255,255,255,.95);text-align:center;font-weight:700;line-height:1.5}
