/* Top page only. Existing lower-page styles remain untouched. */
.home-renewal {--home-ink:#111;--home-lime:#d4f236;--home-paper:#fff;--home-soft:#f4f4f4;--home-line:#ddd;background:var(--home-paper);color:var(--home-ink);}
.home-renewal a {text-decoration:none;}
.home-renewal button {font:inherit;color:inherit;cursor:pointer;}
.home-renewal :focus-visible {outline:3px solid #0066cc;outline-offset:6px;}
.home-renewal .home-shell {width:min(1280px,calc(100% - 96px));max-width:1280px;margin-inline:auto;}
.home-renewal section {max-width:none;padding:0;}
.home-renewal .home-section {padding-block:110px;}
.home-renewal h1,.home-renewal h2,.home-renewal h3,.home-renewal p {margin:0;}
.home-renewal h2 {font-size:clamp(2rem,3.3vw,3.5rem);font-weight:900;line-height:1.5;letter-spacing:-.04em;}
.home-renewal .home-kicker {font-size:.85rem;font-weight:700;letter-spacing:.06em;margin-bottom:22px;}
.home-renewal .home-tag {font-size:.8rem;font-weight:700;margin:24px 0 10px;}
.home-renewal .home-header {height:96px;padding:18px 48px;background:rgba(255,255,255,.96);color:var(--home-ink);mix-blend-mode:normal;border-bottom:1px solid rgba(0,0,0,.05);backdrop-filter:blur(12px);}
.home-renewal .home-logo {width:160px;display:flex;align-items:center;}
.home-renewal .home-logo img {width:100%;max-height:58px;object-fit:contain;object-position:left;}
.home-renewal .home-nav {display:flex;align-items:center;gap:30px;position:static;width:auto;height:auto;background:none;opacity:1;visibility:visible;transform:none;padding:0;}
.home-renewal .home-nav a {font-size:.85rem;font-weight:700;display:flex;align-items:center;min-height:44px;}
.home-renewal .home-nav-contact {background:var(--home-lime);border-radius:100px;padding:12px 26px;gap:28px;}
.home-renewal .home-menu {display:none;}
.home-renewal .home-skip {position:fixed;z-index:1000;top:8px;left:12px;background:#fff;padding:12px 20px;transform:translateY(-200%);}
.home-renewal .home-skip:focus {transform:none;}
.home-renewal .home-hero {padding-top:156px;padding-bottom:84px;display:grid;grid-template-columns:.85fr 1.5fr;align-items:center;gap:50px;min-height:calc(100svh - 20px);}
.home-renewal .home-hero h1 {font-size:clamp(2.7rem,4.2vw,4.65rem);line-height:1.35;font-weight:900;letter-spacing:-.06em;}
.home-renewal .home-hero-actions {display:flex;align-items:center;gap:24px;margin-top:34px;flex-wrap:wrap;}
.home-renewal .home-button {display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--home-lime);padding:17px 26px;border-radius:100px;font-size:.95rem;font-weight:900;min-height:56px;}
.home-renewal .home-button:hover {background:#bfdf25;}
.home-renewal .home-text-link {display:inline-flex;gap:26px;align-items:center;font-size:.9rem;font-weight:700;min-height:44px;border-bottom:1px solid var(--home-ink);padding-bottom:3px;}
.home-renewal .home-text-link span,.home-renewal .home-button span {font-size:1.35rem;}
.home-renewal .home-film {min-width:0;background:#f2f2f2;border-radius:22px;overflow:hidden;}
.home-renewal .home-film video {display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#f2f2f2;}
.home-renewal .home-film-caption {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;background:#111;color:#fff;font-size:.75rem;}
.home-renewal .home-film-caption button {background:none;border:1px solid #888;border-radius:100px;padding:8px 12px;min-height:44px;font-size:.75rem;white-space:nowrap;}
.home-renewal .home-film-caption button:hover {background:#333;}
.home-renewal .home-proof {padding-block:34px;display:grid;grid-template-columns:1fr 2.6fr;gap:40px;border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line);}
.home-renewal .home-proof-intro .home-kicker {margin-bottom:8px;}
.home-renewal .home-proof-intro>p:last-child {font-size:.85rem;color:#555;}
.home-renewal .home-proof-items {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:28px 40px;}
.home-renewal .home-proof-items>a {display:flex;align-items:center;justify-content:center;min-height:110px;}
.home-renewal .home-proof-items img {width:100%;max-width:220px;max-height:84px;object-fit:contain;}
.home-renewal .home-proof-book {font-size:1.25rem;font-weight:700;border-bottom:2px solid currentColor;align-self:center;justify-self:center;min-height:0 !important;padding-bottom:4px;}
.home-renewal .home-section-head {display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:50px;}
.home-renewal .home-work-grid,.home-renewal .home-topic-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;}
.home-renewal .home-work,.home-renewal .home-topic {display:flex;flex-direction:column;min-width:0;}
.home-renewal .home-work-photo,.home-renewal .home-topic-image {aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--home-soft);}
.home-renewal .home-work-photo img,.home-renewal .home-topic-image img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.home-renewal .home-work:hover img,.home-renewal .home-topic:hover img {transform:scale(1.035);}
.home-renewal .home-work h3,.home-renewal .home-topic h3 {font-size:1.2rem;line-height:1.65;font-weight:900;}
.home-renewal .home-work h3+p {font-size:.9rem;line-height:1.9;margin-top:13px;color:#555;}
.home-renewal .home-work-link {font-size:.8rem;font-weight:700;display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid var(--home-line);}
.home-renewal .home-work-link span {font-size:1.35rem;}
.home-renewal .home-service-area {background:var(--home-soft);}
.home-renewal .home-service-list>a {display:grid;grid-template-columns:1.5fr 1fr 60px;gap:40px;align-items:center;padding:32px 0;border-top:1px solid #ccc;}
.home-renewal .home-service-list>a:last-child {border-bottom:1px solid #ccc;}
.home-renewal .home-service-list h3 {font-size:clamp(1.15rem,1.65vw,1.75rem);font-weight:900;line-height:1.65;}
.home-renewal .home-service-list .home-tag {margin:0 0 10px;}
.home-renewal .home-service-list>a>p {font-size:.9rem;line-height:1.9;color:#555;}
.home-renewal .home-round-arrow {width:56px;height:56px;border-radius:50%;background:var(--home-lime);display:grid;place-items:center;font-size:1.6rem;transition:transform .2s;}
.home-renewal .home-service-list>a:hover .home-round-arrow {transform:rotate(45deg);}
.home-renewal .home-manual {display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:center;}
.home-renewal .home-manual h2+p {font-size:.95rem;margin-top:24px;line-height:2;}
.home-renewal .home-manual .home-text-link {margin-top:26px;}
.home-renewal .home-manual-image {padding:12px;border:1px solid var(--home-line);border-radius:20px;}
.home-renewal .home-manual-image img {display:block;width:100%;height:auto;}
.home-renewal .home-about-area {background:#f3f4ec;}
.home-renewal .home-about {display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;}
.home-renewal .home-about-photo {aspect-ratio:4/5;overflow:hidden;border-radius:22px;}
.home-renewal .home-about-photo img {display:block;width:100%;height:100%;object-fit:cover;}
.home-renewal .home-about h2 {margin-bottom:30px;}
.home-renewal .home-about h2~p {font-size:.95rem;line-height:2;margin-bottom:22px;}
.home-renewal .home-about .home-founder {font-size:.8rem;margin-top:30px;}
.home-renewal .home-founder strong {font-size:1rem;display:block;}
.home-renewal .home-topic .home-work-link {margin-top:auto;}
.home-renewal .home-topic h3 {margin-bottom:24px;}
.home-renewal .home-book-image {background:#eef0e7;}
.home-renewal .home-book-image img {object-fit:contain;padding:22px;}
.home-renewal .home-book-footnote {margin-top:34px;display:flex;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid var(--home-line);font-size:.8rem;}
.home-renewal .home-book-footnote a {text-decoration:underline;white-space:nowrap;}
.home-renewal .home-contact {background:var(--home-lime);padding:94px 0 104px;text-align:center;}
.home-renewal .home-contact h2 {font-size:clamp(2.2rem,4vw,4rem);}
.home-renewal .home-contact h2+p {margin-top:25px;}
.home-renewal .home-contact-button {margin-top:34px;background:#111;color:#fff;min-width:240px;}
.home-renewal .home-contact-button:hover {background:#333;}
.home-renewal .home-footer {background:#fff;color:#111;text-align:left;padding:46px 0 100px;display:grid;grid-template-columns:1fr 2fr;gap:30px;}
.home-renewal .home-footer-name {font-size:1.2rem;font-weight:900;}
.home-renewal .home-footer nav {position:static;display:flex;flex-wrap:wrap;gap:8px 28px;background:none;width:auto;height:auto;opacity:1;visibility:visible;transform:none;padding:0;}
.home-renewal .home-footer nav a {font-size:.8rem;min-height:44px;display:flex;align-items:center;}
.home-renewal .home-footer>p {font-size:.75rem;color:#666;}
.home-renewal .home-mobile-break {display:none;}
@media (max-width:1050px) {
 .home-renewal .home-shell {width:calc(100% - 64px);}
 .home-renewal .home-header {padding-inline:32px;}
 .home-renewal .home-nav {gap:20px;}
 .home-renewal .home-nav a {font-size:.75rem;}
 .home-renewal .home-hero {gap:30px;grid-template-columns:1fr 1.3fr;}
 .home-renewal .home-hero h1 {font-size:3.2rem;}
 .home-renewal .home-about {gap:50px;}
 .home-renewal .home-manual {gap:40px;}
 .home-renewal .home-service-list>a {gap:24px;}
 .home-renewal .home-proof {grid-template-columns:1fr;gap:24px;}
}
@media (max-width:800px) {
 .home-renewal .home-shell {width:calc(100% - 40px);}
 .home-renewal .home-header {height:78px;padding:12px 20px;}
 .home-renewal .home-logo {width:130px;}
 .home-renewal .home-menu {display:flex;width:48px;height:48px;border:0;background:none;flex-direction:column;justify-content:center;gap:7px;padding:10px;}
 .home-renewal .home-menu span {width:28px;height:2px;background:#111;transition:transform .2s;}
 .home-renewal .home-menu[aria-expanded=true] span:first-child {transform:translateY(4.5px) rotate(45deg);}
 .home-renewal .home-menu[aria-expanded=true] span:last-child {transform:translateY(-4.5px) rotate(-45deg);}
 .home-renewal .home-nav {display:none;position:fixed;top:78px;left:0;right:0;width:100%;height:auto;padding:20px;background:#fff;border-bottom:1px solid #ddd;gap:0;align-items:stretch;}
 .home-renewal .home-nav.is-open {display:flex;flex-direction:column;}
 .home-renewal .home-nav a {font-size:1rem;padding:12px 16px;}
 .home-renewal .home-nav-contact {margin-top:12px;justify-content:space-between;}
 .home-renewal .home-hero {display:flex;flex-direction:column;align-items:stretch;padding-top:120px;padding-bottom:46px;min-height:0;gap:32px;}
 .home-renewal .home-hero h1 {font-size:clamp(2.55rem,10.6vw,4.5rem);line-height:1.35;letter-spacing:-.055em;}
 .home-renewal .home-desktop-break {display:none;}
 .home-renewal .home-kicker {margin-bottom:18px;font-size:.8rem;}
 .home-renewal .home-hero-actions {margin-top:24px;gap:24px;}
 .home-renewal .home-film {border-radius:14px;}
 .home-renewal .home-film-caption {padding:10px 12px;font-size:.64rem;}
 .home-renewal .home-film-caption button {padding-inline:10px;font-size:.65rem;}
 .home-renewal .home-section {padding-block:70px;}
 .home-renewal h2 {font-size:clamp(1.9rem,7.5vw,2.8rem);}
 .home-renewal .home-section-head {align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:32px;}
 .home-renewal .home-proof {padding-block:28px;gap:22px;}
 .home-renewal .home-proof-items {grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;}
 .home-renewal .home-proof-items>a {min-height:80px;}
 .home-renewal .home-proof-items img {max-width:150px;max-height:60px;}
 .home-renewal .home-work-grid,.home-renewal .home-topic-grid {grid-template-columns:1fr;gap:38px;}
 .home-renewal .home-work-photo,.home-renewal .home-topic-image {aspect-ratio:4/3;}
 .home-renewal .home-service-list>a {grid-template-columns:1fr 48px;gap:18px 16px;padding-block:28px;}
 .home-renewal .home-service-list>a>p {grid-column:1;grid-row:2;}
 .home-renewal .home-service-list h3 {font-size:1.15rem;}
 .home-renewal .home-round-arrow {grid-column:2;grid-row:1/3;width:48px;height:48px;align-self:center;}
 .home-renewal .home-manual {grid-template-columns:1fr;gap:32px;}
 .home-renewal .home-manual h2+p {font-size:.9rem;}
 .home-renewal .home-manual-image {padding:6px;border-radius:12px;}
 .home-renewal .home-about {grid-template-columns:1fr;gap:38px;}
 .home-renewal .home-about-photo {aspect-ratio:4/4.5;}
 .home-renewal .home-about h2~p {font-size:.9rem;}
 .home-renewal .home-book-footnote {flex-direction:column;gap:10px;}
 .home-renewal .home-contact {padding:65px 0 74px;}
 .home-renewal .home-contact h2 {font-size:2rem;}
 .home-renewal .home-contact h2+p {font-size:.9rem;}
 .home-renewal .home-mobile-break {display:block;}
 .home-renewal .home-footer {grid-template-columns:1fr;padding:34px 0 105px;gap:20px;}
 .home-renewal .home-footer nav {gap:4px 24px;}
}
@media (prefers-reduced-motion:reduce) {
 .home-renewal *, .home-renewal *::before,.home-renewal *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* The introductory film leads the hero at full width on every screen. */
.home-renewal .home-hero {display:flex;flex-direction:column;align-items:stretch;padding-top:120px;gap:42px;min-height:0;}
.home-renewal .home-film {width:100%;}
.home-renewal .home-hero-copy {max-width:900px;}
.home-renewal .home-hero h1 {font-size:clamp(2.5rem,4vw,4rem);}
.home-renewal .home-hero .home-desktop-break {display:none;}
@media (max-width:800px) {
 .home-renewal .home-hero {padding-top:94px;gap:30px;}
 .home-renewal .home-hero h1 {font-size:clamp(2.55rem,10.6vw,4.5rem);}
}

.home-renewal .home-film-caption button[hidden] {display:none;}

/* Full-screen background hero; local review, based on the original site's hero. */
.home-renewal .home-hero {position:relative;isolation:isolate;width:100%;max-width:none;min-height:100vh;min-height:100svh;margin:0;padding:140px 48px 100px;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#111;}
.home-renewal .home-hero .home-film {position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:#111;z-index:-2;}
.home-renewal .home-hero .home-film video {width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;}
.home-renewal .home-hero::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.42));z-index:-1;pointer-events:none;}
.home-renewal .home-hero-copy {width:min(100%,1080px);max-width:1080px;text-align:center;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.3);}
.home-renewal .home-hero h1 {font-size:clamp(3rem,5.5vw,5rem);line-height:1.4;}
.home-renewal .home-hero-actions {justify-content:center;}
.home-renewal .home-hero .home-button {color:#111;text-shadow:none;}
.home-renewal .home-hero .home-text-link {color:#fff;border-color:#fff;}
.home-renewal .home-hero .home-film-caption {position:absolute;bottom:24px;right:24px;background:none;padding:0;z-index:2;color:#fff;}
.home-renewal .home-hero .home-film-caption button {background:rgba(0,0,0,.6);border-color:rgba(255,255,255,.65);}
.home-renewal .home-hero .home-film-caption button[hidden] {display:none;}
@media (max-width:800px) {
 .home-renewal .home-hero {padding:118px 20px 90px;}
 .home-renewal .home-hero h1 {font-size:clamp(2.35rem,9.5vw,4.5rem);}
 .home-renewal .home-hero::after {background:rgba(0,0,0,.56);}
 .home-renewal .home-hero .home-film-caption {bottom:18px;right:20px;}
}
