:root {
  color-scheme: light;
  --ink: #071726;
  --ink-soft: #516273;
  --blue: #087fdd;
  --blue-deep: #005fb6;
  --blue-pale: #e8f4ff;
  --lime: #9dce12;
  --lime-pale: #eff8d6;
  --paper: #f8fbff;
  --white: #ffffff;
  --line: rgba(7, 23, 38, .12);
  --shadow: 0 18px 48px rgba(0, 64, 122, .12);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", Arial, sans-serif; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
.container { width: min(1280px, calc(100% - 56px)); margin: 0 auto; }
.section { padding: 108px 0; }
.section-tint { background: var(--blue-pale); }
.section-lime { background: linear-gradient(130deg, var(--lime-pale), #dff1ff); }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--blue-deep); font-size: .77rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow::before { width: 26px; height: 2px; background: var(--lime); content: ""; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: "Playfair Display", Georgia, serif; letter-spacing: -.035em; line-height: 1.08; }
h1 { margin: 16px 0 20px; font-size: clamp(3rem, 6.2vw, 5.8rem); }
h2 { margin: 14px 0 16px; font-size: clamp(2.25rem, 4vw, 4.15rem); }
h3 { margin-bottom: 10px; font-size: 1.5rem; }
.lead { max-width: 680px; color: var(--ink-soft); font-size: 1.1rem; }
.section-heading { max-width: 760px; margin-bottom: 48px; }
.text-link { color: var(--blue-deep); font-size: .91rem; font-weight: 700; }
.text-link:hover { color: var(--blue); }

.announcement { padding: 9px 16px; background: var(--ink); color: #dcf2ff; font-size: .8rem; text-align: center; }
.site-header { position: sticky; top: 0; z-index: 10; border-bottom: 1px solid rgba(7,23,38,.08); background: rgba(248,251,255,.94); backdrop-filter: blur(14px); }
.nav { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 82px; }
.brand { display: inline-flex; align-items: center; gap: 0; min-width: max-content; font-weight: 700; }
.brand-logo { display: none; }
.brand-text { display: grid; line-height: 1.05; }
.brand-text strong { display: block; color: var(--blue); font-size: 2.3rem; font-weight: 800; letter-spacing: -.075em; }
.brand-number { color: var(--lime); }
.brand-text small { justify-self: center; margin-top: 1px; color: var(--ink-soft); font-size: .55rem; font-weight: 700; letter-spacing: .13em; text-align: center; text-transform: uppercase; white-space: nowrap; }
.nav-links { display: flex; align-items: center; gap: 24px; font-size: .91rem; font-weight: 700; }
.nav-links a:not(.button) { color: var(--ink-soft); }
.nav-links a:not(.button):hover, .nav-links a[aria-current="page"] { color: var(--blue-deep); }
.menu-toggle { display: none; padding: 5px; border: 0; background: transparent; color: var(--ink); font-size: 1.5rem; transition: transform .25s cubic-bezier(.2,.8,.2,1), color .2s ease; }
.menu-toggle[aria-expanded="true"] { color: var(--blue-deep); transform: rotate(90deg); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 49px; padding: 0 21px; border: 1px solid transparent; border-radius: 999px; font-weight: 700; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--blue); color: white; }
.button-primary:hover { background: var(--blue-deep); }
.button-dark { background: var(--ink); color: white; }
.button-light { background: var(--white); color: var(--ink); }
.button-outline { border-color: var(--blue-deep); color: var(--blue-deep); }
.theme-toggle { display: grid; width: 39px; height: 39px; flex: 0 0 39px; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--blue-deep); font-size: 1.05rem; transition: transform .25s cubic-bezier(.2,.8,.2,1), background .25s ease; }
.theme-toggle:hover { background: var(--blue-pale); transform: rotate(18deg) scale(1.08); }

.home-hero { position: relative; overflow: hidden; padding: 0 0 108px; background: linear-gradient(122deg, #e9f6ff, #fbfff1 66%, #dff0ff); }
.home-hero::after { position: absolute; top: -160px; right: -160px; width: 520px; height: 520px; border: 45px solid rgba(157,206,18,.13); border-radius: 50%; box-shadow: 0 0 0 1px rgba(8,127,221,.26); content: ""; }
.hero-grid { position: relative; z-index: 1; display: grid; gap: 48px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.trust-line { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 30px; color: var(--ink-soft); font-size: .84rem; font-weight: 600; }
.trust-line span { display: inline-flex; align-items: center; gap: 7px; }
.tick { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: .7rem; transition: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease; }
.trust-line span:hover .tick, .feature-list li:hover .tick { transform: rotate(12deg) scale(1.18); box-shadow: 0 0 0 5px rgba(157,206,18,.19); }
.hero-mark { position: relative; order: -1; width: 100vw; min-height: 0; margin-left: calc(50% - 50vw); }
.hero-mark-main { position: absolute; inset: 0 0 0 38px; display: grid; place-items: center; overflow: hidden; border-radius: 255px 255px 24px 24px; background: radial-gradient(circle at 68% 18%, #e9ff9c 0 7%, transparent 7.5%), linear-gradient(160deg, #168fe9, #005aaf); box-shadow: 0 28px 60px rgba(0,64,122,.25); }
.hero-mark-main::before { position: absolute; width: 300px; height: 300px; border: 2px solid rgba(255,255,255,.46); border-radius: 50%; content: ""; }
.hero-mark-main img { position: relative; z-index: 1; width: 270px; height: 270px; border-radius: 50%; object-fit: cover; box-shadow: 0 18px 28px rgba(0,0,0,.28); }
.hero-mark-main .hero-photo { width: 100%; height: 100%; border-radius: 0; box-shadow: none; object-position: 67% center; transform: scale(1.04); transition: transform .75s cubic-bezier(.2,.75,.2,1), filter .45s ease; will-change: transform; }
.hero-logo-badge { position: absolute; z-index: 2; top: 22px; left: 22px; width: 82px !important; height: 82px !important; border: 4px solid rgba(255,255,255,.85); border-radius: 50% !important; box-shadow: 0 8px 22px rgba(0,0,0,.28) !important; }
.hero-tag { position: absolute; right: 0; bottom: 35px; padding: 15px 17px; border-radius: 14px; background: var(--ink); color: white; box-shadow: var(--shadow); font-size: .83rem; }
.hero-tag strong { display: block; color: var(--lime); font-size: 1.1rem; }
.hero-note { position: absolute; top: 70px; left: 0; width: 190px; padding: 16px; border-radius: 15px; background: var(--white); box-shadow: var(--shadow); color: var(--ink-soft); font-size: .8rem; }
.hero-note b { display: block; margin-bottom: 3px; color: var(--ink); font-size: 1rem; }
.hero-carousel { position: relative; height: clamp(680px, 72vh, 820px); overflow: hidden; background: var(--ink); box-shadow: 0 28px 60px rgba(0,64,122,.25); }
.carousel-slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transform: translateX(7%); transition: opacity .7s ease, transform .8s cubic-bezier(.2,.75,.2,1); }
.carousel-slide.is-active { opacity: 1; pointer-events: auto; transform: translateX(0); }
.carousel-image { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1); transition: transform 5.5s ease; }
.carousel-slide.is-active .carousel-image { transform: scale(1.08); }
.carousel-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,23,38,.02) 22%, rgba(7,23,38,.82) 100%), linear-gradient(90deg, rgba(7,23,38,.36), transparent 72%); }
.carousel-caption { position: absolute; z-index: 1; right: max(28px, calc((100vw - 1280px) / 2)); bottom: 84px; left: max(28px, calc((100vw - 1280px) / 2)); max-width: 430px; color: white; }
.carousel-kicker { display: inline-block; margin-bottom: 10px; color: #d7fa6b; font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.carousel-caption h2 { margin: 0 0 10px; font-size: clamp(2rem, 3vw, 3.1rem); }
.carousel-caption p { margin: 0; color: #edf7ff; font-size: 1.03rem; }
.carousel-controls { position: absolute; z-index: 2; right: max(28px, calc((100vw - 1280px) / 2)); bottom: 24px; left: max(28px, calc((100vw - 1280px) / 2)); display: flex; align-items: center; justify-content: space-between; }
.carousel-control { display: grid; width: 36px; height: 36px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.62); border-radius: 50%; background: rgba(7,23,38,.42); color: white; font-size: 1.65rem; line-height: 1; transition: transform .2s ease, background .2s ease; }
.carousel-control:hover { transform: scale(1.08); background: rgba(8,127,221,.82); }
.carousel-dots { display: flex; gap: 8px; }
.carousel-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.52); transition: transform .2s ease, background .2s ease; }
.carousel-dot.is-active { transform: scale(1.3); background: var(--lime); }

.intro-grid, .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 76px; align-items: center; }
.page-hero { position: relative; overflow: hidden; padding: 104px 0; background: linear-gradient(120deg, #eef8ff, #faffeb); }
.page-hero::after { position: absolute; z-index: 0; right: 6%; bottom: -95px; width: 250px; height: 250px; border: 34px solid rgba(157,206,18,.3); border-radius: 50%; content: ""; }
.page-hero .container { position: relative; z-index: 2; }
.page-hero h1 { max-width: 720px; }
.page-hero .lead { max-width: 680px; margin-bottom: 0; }
.page-hero-visual { position: absolute; z-index: 1; right: max(6%, calc((100vw - 1280px) / 2)); bottom: -85px; width: 260px; height: 260px; border: 13px solid white; border-radius: 50%; object-fit: cover; box-shadow: var(--shadow); }
.page-hero-photo { position: absolute; z-index: 1; right: max(4%, calc((100vw - 1280px) / 2)); bottom: -72px; width: 390px; height: 430px; border: 10px solid var(--white); border-radius: 180px 180px 22px 22px; object-fit: cover; box-shadow: 0 28px 60px rgba(0,64,122,.24); transition: transform .55s cubic-bezier(.2,.75,.2,1), box-shadow .55s ease, filter .45s ease; will-change: transform; }
.feature-list { display: grid; gap: 18px; padding: 0; margin: 31px 0 0; list-style: none; }
.feature-list li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; color: var(--ink-soft); }
.feature-list .tick { margin-top: 3px; width: 24px; height: 24px; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.scope-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.card { padding: 28px; border: 1px solid rgba(7,23,38,.08); border-radius: 18px; background: var(--white); color: var(--ink); box-shadow: 0 8px 28px rgba(0,64,122,.05); }
.card p { margin-bottom: 17px; color: var(--ink-soft); font-size: .93rem; }
.scope-label { display: block; margin-bottom: 17px; color: var(--blue-deep); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.scope-card h3 { font-size: 1.28rem; }
.scope-list { display: grid; gap: 8px; padding: 0; margin: 19px 0 0; list-style: none; color: var(--ink-soft); font-size: .88rem; }
.scope-list li { display: flex; gap: 8px; align-items: flex-start; }
.scope-list li::before { color: #6c9600; content: "✓"; font-weight: 800; }
.card-icon { display: grid; width: 48px; height: 48px; margin-bottom: 24px; place-items: center; border-radius: 14px; background: var(--blue-pale); color: var(--blue-deep); font-size: 1.45rem; transition: transform .28s cubic-bezier(.2,.8,.2,1), background .28s ease, color .28s ease; }
.card:nth-child(2) .card-icon { background: var(--lime-pale); color: #689000; }
.card:nth-child(3) .card-icon { background: #e5f4ff; color: var(--blue); }
.card:hover .card-icon { transform: translateY(-6px) rotate(-6deg) scale(1.09); background: var(--blue); color: white; }
.card:nth-child(2):hover .card-icon { transform: translateY(-6px) rotate(6deg) scale(1.09); background: var(--lime); color: var(--ink); }
.service-card { position: relative; min-height: 270px; overflow: hidden; }
.service-card::after { position: absolute; right: -46px; bottom: -46px; width: 145px; height: 145px; border: 20px solid rgba(8,127,221,.11); border-radius: 50%; content: ""; }
.service-card:nth-child(2)::after { border-color: rgba(157,206,18,.22); }
.service-card > * { position: relative; z-index: 1; }

.planner-section { padding: 38px 0; background: var(--paper); }
.planner-shell { display: grid; grid-template-columns: .86fr 1.14fr; gap: 36px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.planner-shell h2 { margin-bottom: 10px; font-size: 2rem; }
.planner-shell .lead { margin-bottom: 0; font-size: .98rem; }
.plan-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 22px 0 0; }
.plan-option { min-height: 100px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); text-align: left; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.plan-option:hover { transform: translateY(-2px); border-color: var(--blue); }
.plan-option.is-selected { border-color: var(--blue); background: var(--blue-pale); box-shadow: inset 0 0 0 1px var(--blue); }
.plan-option b { display: block; margin-bottom: 5px; font-family: "Playfair Display", Georgia, serif; font-size: 1.04rem; }
.plan-option small { color: var(--ink-soft); font-size: .75rem; }
.plan-summary { padding: 26px; border-radius: 16px; background: linear-gradient(135deg, var(--blue-pale), var(--lime-pale)); }
.plan-summary-label { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; color: var(--blue-deep); font-size: .78rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.plan-summary-label::before { width: 10px; height: 10px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(157,206,18,.2); content: ""; }
.plan-summary h3 { margin-bottom: 8px; }
.plan-summary p { max-width: 590px; margin-bottom: 16px; color: var(--ink-soft); }
.plan-includes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; padding: 0; margin: 18px 0 23px; list-style: none; color: var(--ink-soft); font-size: .87rem; }
.plan-includes li { display: flex; gap: 7px; align-items: flex-start; }
.plan-includes li::before { color: #6c9600; content: "✓"; font-weight: 800; }

.form-helper { padding: 13px 15px; margin: -2px 0 16px; border-left: 3px solid var(--lime); background: var(--lime-pale); color: var(--ink-soft); font-size: .85rem; }
.form-helper strong { color: var(--ink); }

.service-card, .photo-panel, .hero-mark-main, .page-hero-photo { transition: transform .25s ease, box-shadow .25s ease; }
@media (hover: hover) {
  .hero-mark-main:hover { transform: translateY(-5px); box-shadow: 0 34px 68px rgba(0,64,122,.29); }
  .hero-mark-main:hover .hero-photo { transform: scale(1.11); filter: saturate(1.07) contrast(1.03); }
  .photo-panel:hover, .page-hero-photo:hover { transform: translateY(-6px); box-shadow: 0 28px 56px rgba(0,64,122,.24); }
  .photo-panel:hover img { transform: scale(1.075); filter: saturate(1.06) contrast(1.03); }
  .page-hero-photo:hover { transform: translateY(-6px) scale(1.025); filter: saturate(1.06) contrast(1.03); }
}

.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.step { position: relative; padding-top: 24px; }
.step::before { position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: var(--line); content: ""; }
.step::after { position: absolute; top: -5px; left: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--lime); content: ""; }
.step:nth-child(2)::after { background: var(--blue); }
.step:nth-child(3)::after { background: var(--ink); }
.step span { color: var(--blue-deep); font-size: .74rem; font-weight: 700; letter-spacing: .12em; }
.step p { color: var(--ink-soft); font-size: .93rem; }

.side-logo { min-height: 430px; display: grid; place-items: center; border-radius: 170px 170px 20px 20px; background: linear-gradient(165deg, var(--blue), var(--ink)); box-shadow: var(--shadow); }
.side-logo img { width: min(72%, 330px); border: 10px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 15px 35px rgba(0,0,0,.28); }
.photo-panel { min-height: 520px; overflow: hidden; border-radius: 210px 210px 22px 22px; box-shadow: 0 28px 60px rgba(0,64,122,.22); }
.photo-panel img { width: 100%; height: 520px; object-fit: cover; transition: transform .8s cubic-bezier(.2,.75,.2,1), filter .45s ease; will-change: transform; }
.photo-panel-home img { object-position: 60% center; }
.reason-list { display: grid; gap: 21px; margin-top: 30px; }
.reason { display: grid; grid-template-columns: 42px 1fr; gap: 15px; align-items: start; }
.reason-number { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: .85rem; font-weight: 700; }
.reason h3 { margin: 0 0 4px; font-size: 1.22rem; }
.reason p { margin: 0; color: var(--ink-soft); font-size: .93rem; }

.review-feature { display: grid; grid-template-columns: 1.1fr .9fr; gap: 20px; }
.review-main { display: flex; min-height: 315px; flex-direction: column; justify-content: space-between; padding: 35px; border-radius: 19px; background: linear-gradient(135deg, #087fdd, #06466f); color: white; }
.quote-mark { color: var(--lime); font-family: Georgia, serif; font-size: 5rem; line-height: .6; }
blockquote { margin: 12px 0 24px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.4rem, 2.5vw, 2.05rem); line-height: 1.27; }
.featured-quote { color: #d6f67a; }
.review-main small { color: #b8dffc; }
.review-stack { display: grid; gap: 20px; }
.review-stack .card { display: grid; align-content: center; min-height: 147px; }
.stars { color: #77ad00; letter-spacing: 1px; }
.review-stack p { margin: 8px 0 12px; }
.review-stack strong { font-size: .86rem; }

.faq-list { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); padding: 18px 0; }
summary { display: flex; justify-content: space-between; gap: 16px; cursor: pointer; font-weight: 700; list-style: none; }
summary::-webkit-details-marker { display: none; }
summary::after { color: var(--blue-deep); content: "+"; font-size: 1.3rem; line-height: .8; }
details[open] summary::after { content: "–"; }
details p { margin: 12px 27px 0 0; color: var(--ink-soft); font-size: .92rem; }

.contact-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 76px; align-items: start; }
.contact-details { display: grid; gap: 14px; margin-top: 26px; }
.contact-detail { display: flex; align-items: center; gap: 13px; color: var(--ink-soft); }
.contact-detail strong { color: var(--ink); }
.contact-symbol { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: var(--lime-pale); color: #618a00; font-weight: 700; transition: transform .25s cubic-bezier(.2,.8,.2,1), background .25s ease; }
.contact-detail:hover .contact-symbol { transform: rotate(-10deg) scale(1.13); background: var(--lime); }
.form-card { padding: 31px; border-radius: var(--radius); background: var(--white); color: var(--ink); box-shadow: var(--shadow); }
.form-card h2 { font-size: 2rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.field { display: grid; gap: 6px; margin-bottom: 14px; color: var(--ink); font-size: .84rem; font-weight: 700; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 12px; outline-color: var(--blue); color: var(--ink); }
.field input, .field select, .field textarea { background: var(--white); }
.field select option { background: var(--white); color: var(--ink); }
.field textarea { min-height: 112px; resize: vertical; }
.form-message { display: none; margin: 13px 0 0; color: #638a00; font-size: .9rem; font-weight: 700; }
.form-message.visible { display: block; }
.privacy-consent { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; margin: 4px 0 10px; color: var(--ink-soft); font-size: .82rem; line-height: 1.5; }
.privacy-consent input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--blue); }
.privacy-consent a, .form-privacy a { color: var(--blue); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.form-privacy { margin: 0 0 20px; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.designer-credit { display: inline-block; margin-top: 7px; color: #d6f67a; font-size: .72rem; font-weight: 500; letter-spacing: .04em; }

.section-dark { position: relative; overflow: hidden; background: #071726; color: #f5fbff; }
.section-dark::before { position: absolute; top: -160px; right: -100px; width: 480px; height: 480px; border: 1px solid rgba(157,206,18,.3); border-radius: 50%; box-shadow: 0 0 0 48px rgba(8,127,221,.08), 0 0 0 96px rgba(157,206,18,.04); content: ""; }
.section-dark > .container { position: relative; z-index: 1; }
.section-dark .eyebrow { color: #d6f67a; }
.section-dark .eyebrow::before { background: #8ec30c; }
.section-dark h2, .section-dark h3 { color: #ffffff; }
.section-dark p { color: #c2d7e7; }
.section-heading-light { max-width: 710px; }
.section-heading-light p { max-width: 660px; }
.section-with-worker { position: relative; overflow: hidden; isolation: isolate; }
.section-with-worker > .container { position: relative; z-index: 1; }
.worker-watermark { position: absolute; z-index: 0; right: -3%; bottom: 0; width: min(60vw, 1000px); max-width: none; height: 100%; object-fit: cover; object-position: right center; pointer-events: none; user-select: none; }
.worker-watermark-light { opacity: .17; mix-blend-mode: multiply; }
.worker-watermark-dark { opacity: .27; mix-blend-mode: screen; }
#plan-cta { background: var(--lime); color: #071726; }
#plan-cta:hover { background: #c3f04c; }
.button-lime { background: var(--lime); color: #071726; }
.button-lime:hover { background: #c3f04c; }

.standard-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 82px; align-items: start; }
.standard-intro h2 { margin-bottom: 21px; }
.standard-intro p { max-width: 460px; margin-bottom: 30px; font-size: 1.06rem; }
.standard-grid { display: grid; gap: 0; border-top: 1px solid rgba(255,255,255,.18); }
.standard-card { display: grid; grid-template-columns: 56px 1fr; column-gap: 20px; padding: 26px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.standard-card span { grid-row: span 2; color: var(--lime); font-size: .8rem; font-weight: 700; letter-spacing: .12em; }
.standard-card h3 { margin: 0 0 6px; font-size: 1.42rem; }
.standard-card p { margin: 0; font-size: .93rem; }

.service-detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-detail-card { min-height: 325px; padding: 31px; border: 1px solid rgba(255,255,255,.17); border-radius: 19px; background: rgba(255,255,255,.055); backdrop-filter: blur(8px); }
.service-index { display: block; margin-bottom: 56px; color: var(--lime); font-size: .7rem; font-weight: 700; letter-spacing: .14em; }
.service-detail-card h3 { font-size: 1.66rem; }
.service-detail-card p { min-height: 68px; margin-bottom: 22px; font-size: .94rem; }
.service-detail-card ul { display: grid; gap: 9px; padding: 0; margin: 0; list-style: none; color: #d1e0eb; font-size: .85rem; }
.service-detail-card li { display: flex; gap: 8px; align-items: flex-start; }
.service-detail-card li::before { color: var(--lime); content: "✦"; font-size: .7rem; }

.service-assurance { display: grid; grid-template-columns: 1fr 1fr; gap: 84px; align-items: center; }
.assurance-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.assurance-list > div { display: grid; grid-template-columns: 46px 1fr; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.assurance-list b { color: var(--blue-deep); font-size: .78rem; letter-spacing: .08em; }
.assurance-list span { display: grid; gap: 3px; }
.assurance-list small { color: var(--ink-soft); font-size: .88rem; }

.practice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.practice-card { position: relative; min-height: 268px; padding: 31px; border-radius: 18px; background: var(--white); box-shadow: 0 12px 35px rgba(0,64,122,.08); }
.practice-card::after { position: absolute; right: 27px; bottom: 25px; width: 42px; height: 42px; border: 8px solid var(--blue-pale); border-radius: 50%; content: ""; }
.practice-card:nth-child(2)::after { border-color: var(--lime-pale); }
.practice-card:nth-child(3)::after { border-color: rgba(8,127,221,.18); }
.practice-card span { display: block; margin-bottom: 45px; color: var(--blue-deep); font-size: .73rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.practice-card h3 { max-width: 260px; font-size: 1.58rem; }
.practice-card p { max-width: 290px; margin: 0; color: var(--ink-soft); font-size: .92rem; }

.commitment-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 82px; align-items: start; }
.commitment-layout h2 { max-width: 600px; }
.commitment-copy { max-width: 510px; padding-top: 9px; }
.commitment-copy p { margin-bottom: 18px; font-size: 1.04rem; }
.commitment-copy .button { margin-top: 14px; }

.review-next-step { display: grid; grid-template-columns: .92fr 1.08fr; gap: 82px; align-items: center; }
.next-step-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.next-step-list > div { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.next-step-list b { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--lime-pale); color: #547600; font-size: .79rem; }
.next-step-list p { margin: 0; color: var(--ink-soft); font-size: .91rem; }
.next-step-list strong { color: var(--ink); }

.contact-journey .section-heading { margin-bottom: 52px; }
.journey-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); }
.journey-grid article { position: relative; min-height: 276px; padding: 32px 34px 24px 0; border-bottom: 1px solid var(--line); }
.journey-grid article + article { padding-left: 34px; border-left: 1px solid var(--line); }
.journey-grid span { display: block; margin-bottom: 65px; color: var(--blue-deep); font-size: .78rem; font-weight: 700; letter-spacing: .11em; }
.journey-grid h3 { font-size: 1.48rem; }
.journey-grid p { max-width: 310px; margin: 0; color: var(--ink-soft); font-size: .93rem; }

.scroll-progress { position: fixed; z-index: 30; top: 0; right: 0; left: 0; height: 4px; transform: scaleX(0); transform-origin: left center; background: linear-gradient(90deg, var(--blue), var(--lime)); box-shadow: 0 2px 9px rgba(8,127,221,.32); transition: transform .12s linear; }
.back-to-top { position: fixed; z-index: 9; right: 26px; bottom: 26px; display: inline-flex; gap: 7px; align-items: center; min-height: 44px; padding: 0 15px; border: 1px solid rgba(255,255,255,.36); border-radius: 999px; background: var(--ink); color: #ffffff; box-shadow: 0 14px 32px rgba(0,0,0,.22); font-size: .79rem; font-weight: 700; opacity: 0; pointer-events: none; transform: translateY(14px); transition: opacity .24s ease, transform .24s ease, background .2s ease; }
.back-to-top span:first-child { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: var(--lime); color: #071726; font-size: .9rem; line-height: 1; }
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.back-to-top:hover { background: var(--blue-deep); }

.has-enhanced-motion .reveal { opacity: 0; transform: translateY(26px); transition: opacity .64s ease var(--reveal-delay, 0ms), transform .64s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms); }
.has-enhanced-motion .reveal.is-visible { opacity: 1; transform: translateY(0); }
.has-enhanced-motion .standard-card.reveal { transform: translateX(22px); }
.has-enhanced-motion .standard-card.reveal.is-visible { transform: translateX(0); }
.has-enhanced-motion .journey-grid article.reveal { transform: translateY(18px); }
.has-enhanced-motion .cta-inner.reveal { transform: translateY(34px) scale(.985); transition-duration: .8s; }
.has-enhanced-motion .cta-inner.reveal.is-visible { transform: translateY(0) scale(1); }
.has-enhanced-motion .image-reveal { opacity: 0; transform: translateX(-58px); transition: opacity .7s ease var(--reveal-delay, 0ms), transform .8s cubic-bezier(.2,.75,.2,1) var(--reveal-delay, 0ms), box-shadow .45s ease, filter .45s ease; }
.has-enhanced-motion .image-reveal.image-reveal-from-right { transform: translateX(58px); }
.has-enhanced-motion .image-reveal.is-visible { opacity: 1; transform: translateX(0); }

@media (hover: hover) {
  .has-enhanced-motion .card.reveal.is-visible:hover, .has-enhanced-motion .practice-card.reveal.is-visible:hover, .has-enhanced-motion .service-detail-card.reveal.is-visible:hover { transform: translateY(-6px); }
  .has-enhanced-motion .photo-panel.image-reveal.is-visible:hover { transform: translateY(-6px); }
  .has-enhanced-motion .page-hero-photo.image-reveal.is-visible:hover { transform: translateY(-6px) scale(1.025); }
}

.cta { padding: 78px 0; color: #ffffff; transition: background-color .55s ease, color .4s ease; }
.cta.cta--blue { background: #087fdd; }
.cta.cta--lime { background: #d6f67a; color: #071726; }
.cta.cta--navy { background: #071726; }
.cta-quote { min-height: 2.45em; margin-bottom: 0; will-change: transform, opacity, filter; }
.cta .button-light { transition: transform .22s cubic-bezier(.2,.8,.2,1), background-color .4s ease, color .4s ease, box-shadow .4s ease; }
.cta.cta--lime .button-light { background: #071726; color: #ffffff; box-shadow: 0 12px 24px rgba(58,95,0,.2); }
.cta-quote.is-changing { animation: cta-quote-swoosh .62s cubic-bezier(.2,.75,.2,1); }
@keyframes cta-quote-swoosh {
  0% { opacity: 1; transform: translateX(0) skewX(0) scale(1); filter: blur(0); }
  42% { opacity: 0; transform: translateX(-74px) skewX(-9deg) scale(.97); filter: blur(3px); }
  54% { opacity: 0; transform: translateX(76px) skewX(-9deg) scale(.97); filter: blur(3px); }
  100% { opacity: 1; transform: translateX(0) skewX(0) scale(1); filter: blur(0); }
}
.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.cta h2 { max-width: 650px; margin: 0; }
.visual-story-section { padding: 72px 0; }
.visual-story { position: relative; min-height: 500px; margin: 0; overflow: hidden; border-radius: 24px; background: var(--ink); box-shadow: 0 24px 58px rgba(0,64,122,.2); }
.visual-story::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,25,42,.74), rgba(5,25,42,.16) 60%, transparent); content: ""; }
.visual-story img { width: 100%; height: 500px; object-fit: cover; object-position: center; transition: transform .8s cubic-bezier(.2,.75,.2,1); }
.visual-story:hover img { transform: scale(1.035); }
.visual-story-brand { position: absolute; z-index: 2; top: 24px; right: 24px; display: grid; justify-items: center; min-width: 148px; padding: 10px 15px 9px; border: 1px solid rgba(255,255,255,.38); border-radius: 13px; background: rgba(4,28,48,.76); box-shadow: 0 10px 24px rgba(0,0,0,.2); backdrop-filter: blur(9px); line-height: 1; }
.visual-story-brand strong { color: #4daaff; font-size: 1.56rem; font-weight: 800; letter-spacing: -.06em; }
.visual-story-brand small { margin-top: 3px; color: #ffffff; font-size: .47rem; font-weight: 700; letter-spacing: .15em; text-align: center; text-transform: uppercase; white-space: nowrap; }
.visual-story-caption { position: absolute; z-index: 1; bottom: 34px; left: 34px; max-width: min(440px, calc(100% - 68px)); padding: 22px 24px; border: 1px solid rgba(255,255,255,.2); border-radius: 15px; background: rgba(4,28,48,.62); box-shadow: 0 14px 32px rgba(0,0,0,.17); color: #ffffff; backdrop-filter: blur(9px); }
.visual-story-caption span { display: block; margin-bottom: 7px; color: #d6f67a; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.visual-story-caption p { margin: 0; color: #eef8ff; font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.2rem, 2vw, 1.62rem); line-height: 1.28; }
footer { padding: 56px 0 52px; background: linear-gradient(135deg, #061827, #081c2d 58%, #0b263d); color: #d8e9f8; }
.footer-row { display: grid; grid-template-columns: minmax(205px, .9fr) minmax(360px, 1.45fr) minmax(200px, .8fr); align-items: start; gap: 42px; }
.footer-name { display: inline-flex; align-items: center; gap: 10px; min-width: max-content; }
footer .brand-text strong { color: #4daaff; font-size: 2.25rem; }
footer .brand-text small { color: #c4e7ff; }
.footer-menus { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.footer-menu { border-top: 1px solid rgba(196,231,255,.26); border-bottom: 1px solid rgba(196,231,255,.14); }
.footer-menu summary { display: flex; align-items: center; justify-content: space-between; min-height: 54px; color: #ffffff; cursor: pointer; font-size: .91rem; font-weight: 750; list-style: none; }
.footer-menu summary::-webkit-details-marker { display: none; }
.footer-menu summary::after { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid rgba(196,231,255,.44); border-radius: 50%; color: #d6f67a; content: "+"; font-size: 1.1rem; font-weight: 400; line-height: 1; transition: transform .22s ease, background .22s ease; }
.footer-menu[open] summary::after { background: rgba(157,206,18,.15); transform: rotate(45deg); }
.footer-menu summary:hover { color: #d6f67a; }
.footer-menu-links { display: grid; gap: 10px; padding: 0 0 18px; }
.footer-menu-links a { color: #b9d8ec; font-size: .82rem; font-weight: 600; }
.footer-menu-links a:hover { color: #d6f67a; }
.legal { color: #91b7d2; font-size: .78rem; text-align: right; }
.footer-phone { display: inline-block; margin-top: 4px; color: #dffca0; font-weight: 700; }
.footer-phone:hover { color: #ffffff; }
.social-links { display: flex; justify-content: flex-end; gap: 9px; margin-top: 14px; }
.social-link { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(196,231,255,.34); border-radius: 50%; background: rgba(255,255,255,.045); color: #d8e9f8; transition: transform .22s cubic-bezier(.2,.8,.2,1), border-color .22s ease, background .22s ease, color .22s ease; }
.social-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.social-link--facebook svg { fill: currentColor; stroke: none; }
.social-link--whatsapp:hover { border-color: #85dd9d; background: #25d366; color: #071726; transform: translateY(-4px); }
.social-link--instagram:hover { border-color: #f1a7ca; background: #c13584; color: #ffffff; transform: translateY(-4px); }
.social-link--facebook:hover { border-color: #9cc7ff; background: #1877f2; color: #ffffff; transform: translateY(-4px); }
.social-link--pending { display: none; }

.proof-section { position: relative; overflow: hidden; }
.trust-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.trust-proof-card { min-height: 220px; padding: 27px; border: 1px solid #b8d5e7; border-radius: 18px; background: rgba(255,255,255,.86); box-shadow: 0 12px 32px rgba(3,69,111,.08); }
.trust-proof-card > span { display: inline-grid; width: 34px; height: 34px; place-items: center; margin-bottom: 27px; border-radius: 50%; background: #e8f8bd; color: #406100; font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.trust-proof-card h3 { margin-bottom: 9px; color: #064c7a; font-size: 1.15rem; }
.trust-proof-card p { margin: 0; color: #234f6d; font-size: .91rem; line-height: 1.56; }

.privacy-layout { display: grid; grid-template-columns: 240px minmax(0, 760px); gap: clamp(38px, 8vw, 105px); align-items: start; }
.privacy-nav { position: sticky; top: 110px; display: grid; gap: 5px; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); box-shadow: 0 10px 28px rgba(3,69,111,.08); }
.privacy-nav a { padding: 9px 10px; border-radius: 8px; color: var(--ink-soft); font-size: .86rem; font-weight: 700; }
.privacy-nav a:hover { background: var(--lime-pale); color: var(--ink); }
.privacy-content { display: grid; gap: 38px; }
.privacy-content section { scroll-margin-top: 120px; }
.privacy-content h2 { margin-bottom: 10px; color: var(--ink); font-size: clamp(1.5rem, 2.5vw, 2rem); }
.privacy-content p { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: 1rem; line-height: 1.72; }
.privacy-content a { color: var(--blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

body[data-theme="dark"] {
  color-scheme: dark;
  --ink: #eef7ff;
  --ink-soft: #b2c3d2;
  --blue: #23a4ff;
  --blue-deep: #8fd1ff;
  --blue-pale: #0c2a43;
  --lime: #b9e83d;
  --lime-pale: #1c310b;
  --paper: #07131f;
  --white: #102131;
  --line: rgba(224, 243, 255, .16);
  --shadow: 0 18px 48px rgba(0, 0, 0, .34);
}

body[data-theme="dark"] .site-header { border-bottom-color: rgba(224,243,255,.1); background: rgba(7,19,31,.92); }
body[data-theme="dark"] .button-light { background: var(--white); color: var(--ink); }
body[data-theme="dark"] .home-hero { background: linear-gradient(122deg, #081e32, #14280b 66%, #0a2239); }
body[data-theme="dark"] .page-hero { background: linear-gradient(120deg, #091f33, #15270c); }
body[data-theme="dark"] .section-tint { background: #0a1d2e; }
body[data-theme="dark"] .section-lime { background: linear-gradient(130deg, #172a0b, #0b2137); }
body[data-theme="dark"] .card, body[data-theme="dark"] .form-card, body[data-theme="dark"] .hero-note { border-color: rgba(224,243,255,.1); background: var(--white); }
body[data-theme="dark"] .field input, body[data-theme="dark"] .field select, body[data-theme="dark"] .field textarea { background: #091825; color: var(--ink); }
body[data-theme="dark"] .theme-toggle { background: #102b43; color: var(--lime); }
body[data-theme="dark"] .theme-toggle:hover { background: #163c5b; }
body[data-theme="dark"] .brand-text small { color: var(--ink-soft); }
body[data-theme="dark"] .page-hero-photo { border-color: #193750; }
body[data-theme="dark"] .planner-shell { background: var(--white); }
body[data-theme="dark"] .plan-option { background: #091a29; }
body[data-theme="dark"] .plan-option.is-selected { background: #0e3352; }
body[data-theme="dark"] .plan-summary { background: linear-gradient(135deg, #0c304d, #1a310b); }
body[data-theme="dark"] .form-helper { background: #1a310b; }
body[data-theme="dark"] .trust-proof-card, body[data-theme="dark"] .privacy-nav { border-color: rgba(224,243,255,.12); background: #102337; }
body[data-theme="dark"] .trust-proof-card h3, body[data-theme="dark"] .privacy-content h2 { color: #ffffff; }
body[data-theme="dark"] .trust-proof-card p, body[data-theme="dark"] .privacy-content p, body[data-theme="dark"] .privacy-consent, body[data-theme="dark"] .form-privacy { color: #c6dce9; }
body[data-theme="dark"] .privacy-nav a { color: #c6dce9; }
body[data-theme="dark"] .privacy-nav a:hover { background: #19380c; color: #ffffff; }

/* Keep every light surface comfortably readable, even when component styles overlap. */
body:not([data-theme="dark"]) .card,
body:not([data-theme="dark"]) .planner-shell,
body:not([data-theme="dark"]) .form-card,
body:not([data-theme="dark"]) .practice-card,
body:not([data-theme="dark"]) .hero-note { background: #ffffff; color: #064c7a; }
body:not([data-theme="dark"]) .card h2,
body:not([data-theme="dark"]) .card h3,
body:not([data-theme="dark"]) .planner-shell h2,
body:not([data-theme="dark"]) .planner-shell h3,
body:not([data-theme="dark"]) .form-card h2,
body:not([data-theme="dark"]) .practice-card h3,
body:not([data-theme="dark"]) .hero-note b { color: #064c7a; }
body:not([data-theme="dark"]) .card p,
body:not([data-theme="dark"]) .planner-shell p,
body:not([data-theme="dark"]) .form-card p,
body:not([data-theme="dark"]) .practice-card p,
body:not([data-theme="dark"]) .hero-note { color: #234f6d; }
body:not([data-theme="dark"]) .field { color: #064c7a; }
body:not([data-theme="dark"]) .field input,
body:not([data-theme="dark"]) .field select,
body:not([data-theme="dark"]) .field textarea { color: #163f5b; }
body:not([data-theme="dark"]) .field input,
body:not([data-theme="dark"]) .field select,
body:not([data-theme="dark"]) .field textarea { border-color: #a9c7da; background: #ffffff; }
body[data-theme="dark"] .card,
body[data-theme="dark"] .planner-shell,
body[data-theme="dark"] .form-card,
body[data-theme="dark"] .practice-card,
body[data-theme="dark"] .hero-note { color: #eef7ff; }
body[data-theme="dark"] .card h2,
body[data-theme="dark"] .card h3,
body[data-theme="dark"] .planner-shell h2,
body[data-theme="dark"] .planner-shell h3,
body[data-theme="dark"] .form-card h2,
body[data-theme="dark"] .practice-card h3,
body[data-theme="dark"] .hero-note b { color: #ffffff; }
body[data-theme="dark"] .card p,
body[data-theme="dark"] .planner-shell p,
body[data-theme="dark"] .form-card p,
body[data-theme="dark"] .practice-card p,
body[data-theme="dark"] .hero-note { color: #c6dce9; }

@media (max-width: 870px) {
  .nav-links { position: absolute; top: 82px; right: 0; left: 0; display: flex; max-height: 0; flex-direction: column; align-items: stretch; padding: 0 22px; overflow: hidden; border-bottom: 1px solid transparent; background: var(--paper); opacity: 0; pointer-events: none; transform: translateY(-14px); visibility: hidden; transition: max-height .42s cubic-bezier(.2,.8,.2,1), padding .42s cubic-bezier(.2,.8,.2,1), opacity .24s ease, transform .32s ease, visibility 0s linear .42s, border-color .25s ease; }
  .nav-links.open { max-height: 520px; padding: 22px; border-bottom-color: var(--line); opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; transition-delay: 0s; }
  .menu-toggle { display: block; }
  .hero-grid, .intro-grid, .two-col, .contact-grid { grid-template-columns: 1fr; }
  .hero-mark { width: 100vw; margin-left: calc(50% - 50vw); }
  .page-hero-visual, .page-hero-photo { display: none; }
  .card-grid, .scope-grid, .trust-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .planner-shell { grid-template-columns: 1fr; }
  .contact-grid { gap: 38px; }
  .standard-layout, .service-assurance, .commitment-layout, .review-next-step, .privacy-layout { grid-template-columns: 1fr; gap: 42px; }
  .privacy-nav { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-detail-grid, .practice-grid { grid-template-columns: repeat(2, 1fr); }
  .service-detail-card:last-child { grid-column: span 2; }
  .journey-grid { grid-template-columns: 1fr; }
  .journey-grid article, .journey-grid article + article { min-height: 0; padding: 27px 0; border-left: 0; }
  .journey-grid span { margin-bottom: 21px; }
  .footer-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-name { grid-column: 1 / -1; }
  .legal { text-align: left; }
  .worker-watermark { right: -28%; width: min(135vw, 820px); }
  .worker-watermark-light { opacity: .12; }
  .worker-watermark-dark { opacity: .18; }
}

@media (max-width: 600px) {
  .container { width: min(100% - 28px, 1280px); }
  .section { padding: 70px 0; }
  .nav { min-height: 70px; }
  .nav-links { top: 70px; }
  .brand-text strong { font-size: 1.88rem; }
  footer .brand-text strong { font-size: 1.98rem; }
  .home-hero { padding: 0 0 70px; }
  h1 { font-size: clamp(2.8rem, 14vw, 4rem); }
  .hero-mark { min-height: 0; }
  .hero-carousel { height: calc(56.25vw + 215px); min-height: 500px; background: #061827; }
  .carousel-image { top: 0; height: 56.25vw; max-height: none; object-fit: contain; object-position: center; }
  .carousel-slide.is-active .carousel-image { transform: none; }
  .carousel-scrim { background: linear-gradient(180deg, rgba(7,23,38,.03) 0 38%, rgba(6,24,39,.5) 54%, #061827 69%); }
  .carousel-caption { top: calc(56.25vw + 22px); right: 20px; bottom: auto; left: 20px; max-width: none; }
  .carousel-caption h2 { font-size: clamp(1.55rem, 7vw, 2.1rem); }
  .carousel-caption p { font-size: .88rem; }
  .carousel-controls { right: 20px; bottom: 20px; left: 20px; }
  .hero-mark-main { inset: 7px 6px 7px 24px; }
  .hero-mark-main img { width: 205px; height: 205px; }
  .hero-note { top: 35px; width: 165px; padding: 12px; }
  .hero-tag { right: -3px; bottom: 18px; }
  .card-grid, .scope-grid, .trust-proof-grid, .steps, .review-feature, .service-detail-grid, .practice-grid { grid-template-columns: 1fr; }
  .planner-section { padding: 25px 0; }
  .planner-shell { gap: 24px; padding: 22px; }
  .plan-options, .plan-includes { grid-template-columns: 1fr; }
  .card { padding: 25px; }
  .side-logo { min-height: 330px; }
  .photo-panel { min-height: 390px; }
  .photo-panel img { height: 390px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-card { padding: 23px; }
  .cta { padding: 61px 0; }
  .cta-inner { align-items: flex-start; flex-direction: column; }
  .visual-story-section { padding: 48px 0; }
  .visual-story { min-height: 390px; border-radius: 18px; }
  .visual-story img { height: 390px; }
  .visual-story-brand { top: 14px; right: 14px; min-width: 132px; padding: 9px 12px 8px; }
  .visual-story-brand strong { font-size: 1.38rem; }
  .visual-story-caption { right: 16px; bottom: 16px; left: 16px; max-width: none; padding: 17px 18px; }
  .footer-row { grid-template-columns: 1fr; gap: 28px; }
  .footer-name { grid-column: auto; }
  .footer-menus { grid-template-columns: 1fr; }
  .legal { text-align: left; }
  .social-links { justify-content: flex-start; }
  .privacy-nav { grid-template-columns: 1fr; }
  .standard-card { grid-template-columns: 38px 1fr; column-gap: 12px; }
  .service-detail-card:last-child { grid-column: auto; }
  .service-detail-card { min-height: 0; }
  .service-index { margin-bottom: 34px; }
  .service-detail-card p { min-height: 0; }
  .practice-card { min-height: 0; }
  .journey-grid article { padding: 25px 0; }
  .worker-watermark { right: -42%; width: 150vw; height: 76%; }
  .worker-watermark-light { opacity: .1; }
  .worker-watermark-dark { opacity: .15; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
