:root { --consult-navy:#082b63; --consult-blue:#087ea7; --consult-cyan:#00a8c8; --consult-coral:#f0442c; --consult-ink:#172b4d; --consult-mist:#f4f8fc; --consult-line:#06c755; }
.free-consultation-page { min-width:0; background:#fff; color:var(--consult-ink); }
.free-consultation-page *, .free-consultation-page *::before, .free-consultation-page *::after { box-sizing:border-box; }
.free-consultation-page main { overflow:hidden; }
.consult-shell { width:min(1160px, calc(100% - 40px)); margin:0 auto; }
.consult-eyebrow { display:inline-flex; align-items:center; gap:6px; margin:0 0 13px; color:#0089b3; font-size:12px; font-weight:800; letter-spacing:.15em; line-height:1.3; }
.consult-eyebrow .material-symbols-outlined { font-size:17px; }
.consult-hero { position:relative; padding:78px 0 68px; background:radial-gradient(circle at 82% 5%, rgba(0,168,200,.15), transparent 25%), radial-gradient(circle at 5% 68%, rgba(7,126,167,.12), transparent 26%), linear-gradient(125deg,#f9fdff 0%,#eff8fc 52%,#e1f2f4 100%); }
.consult-hero::after { position:absolute; right:-85px; bottom:-108px; width:400px; height:400px; border:1px solid rgba(0,126,167,.18); border-radius:50%; content:""; }
.consult-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr); align-items:center; gap:clamp(34px,6vw,82px); }
.consult-hero__content { padding:24px 0; }
.consult-hero h1 { margin:0; color:var(--consult-navy); font-size:clamp(35px,4vw,56px); font-weight:800; letter-spacing:.02em; line-height:1.35; }
.consult-hero h1 span { color:var(--consult-coral); }
.consult-hero__lead { max-width:600px; margin:22px 0 0; color:#31476b; font-size:16px; font-weight:600; line-height:2; }
.consult-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.consult-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:58px; padding:13px 22px; border:1px solid transparent; border-radius:9px; font-size:15px; font-weight:800; line-height:1.3; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease; }
.consult-button:hover { transform:translateY(-2px); }
.consult-button .material-symbols-outlined { font-size:21px; }
.consult-button--line { background:var(--consult-line); box-shadow:0 14px 25px rgba(6,199,85,.20); color:#fff; }
.consult-button--line:hover { background:#02ad49; color:#fff; }
.consult-button--form { background:#fff; border-color:#b9cce0; color:var(--consult-navy); }
.consult-button--form:hover { border-color:var(--consult-navy); background:#f8fbff; color:var(--consult-navy); }
.consult-hero__note { margin:13px 0 0; color:#58708f; font-size:13px; font-weight:600; }
.consult-hero__visual { position:relative; min-height:392px; }
.consult-hero__visual::before { position:absolute; top:27px; right:-14px; bottom:-21px; left:27px; border-radius:28px; background:linear-gradient(135deg,#bdebea,#b9dff1); content:""; transform:rotate(-2deg); }
.consult-hero__visual img { position:relative; z-index:1; display:block; width:100%; height:392px; border-radius:24px; object-fit:cover; box-shadow:0 24px 55px rgba(8,43,99,.18); }
.consult-plan-section { padding:78px 0; background:#fff; }
.consult-section-heading { max-width:760px; margin:0 auto 31px; text-align:center; }
.consult-section-heading h2, .consult-line-section h2, .consult-final-cta h2 { margin:0; color:var(--consult-navy); font-size:clamp(28px,3vw,39px); font-weight:800; letter-spacing:.02em; line-height:1.45; }
.consult-section-heading > p:last-child { margin:14px 0 0; color:#536b8a; font-size:14px; font-weight:600; line-height:1.8; }
.consult-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.consult-plan-card { position:relative; min-height:284px; padding:25px 24px 22px; overflow:hidden; border:1px solid #dae6f1; border-radius:17px; background:#fff; box-shadow:0 14px 35px rgba(8,43,99,.07); }
.consult-plan-card::after { position:absolute; right:-38px; bottom:-52px; width:150px; height:150px; border:20px solid rgba(8,43,99,.04); border-radius:50%; content:""; }
.consult-plan-card--monthly { border-top:5px solid #008eb6; }
.consult-plan-card--buyout { border-top:5px solid var(--consult-coral); }
.consult-plan-card--support { border-top:5px solid #0d8a69; }
.consult-plan-card__label { position:relative; z-index:1; margin:0 0 16px; color:#1682a4; font-size:10px; font-weight:800; letter-spacing:.13em; }
.consult-plan-card--buyout .consult-plan-card__label { color:#df4b35; }
.consult-plan-card--support .consult-plan-card__label { color:#08795b; }
.consult-plan-card h3 { position:relative; z-index:1; margin:0; color:var(--consult-navy); font-size:22px; font-weight:800; line-height:1.45; }
.consult-plan-card__price { position:relative; z-index:1; margin:20px 0 11px; color:var(--consult-navy); font-size:29px; font-weight:800; line-height:1; font-variant-numeric:tabular-nums; }
.consult-plan-card--buyout .consult-plan-card__price { color:#d43d29; }
.consult-plan-card--support .consult-plan-card__price { color:#08795b; }
.consult-plan-card__price small { margin-right:6px; font-size:13px; font-weight:700; }
.consult-plan-card > p:not(.consult-plan-card__label):not(.consult-plan-card__price) { position:relative; z-index:1; min-height:47px; margin:0; color:#58708f; font-size:14px; font-weight:600; line-height:1.75; }
.consult-plan-card a { position:relative; z-index:1; display:inline-flex; gap:7px; margin-top:13px; color:var(--consult-navy); font-size:14px; font-weight:800; text-decoration:none; }
.consult-plan-card a:hover, .consult-plan-section__link a:hover { color:var(--consult-coral); }
.consult-plan-section__link { margin:28px 0 0; text-align:center; }
.consult-plan-section__link a { color:var(--consult-navy); font-size:14px; font-weight:800; text-decoration:none; }
.consult-line-section { padding:82px 0; background:linear-gradient(135deg,#eefbfa,#f5faff); }
.consult-line-section__inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.86fr); align-items:center; gap:clamp(35px,8vw,100px); }
.consult-line-section__copy > p:not(.consult-eyebrow) { margin:16px 0 0; color:#4f6787; font-weight:600; line-height:1.9; }
.consult-line-section__copy .consult-button { margin-top:25px; }
.consult-message-card { padding:24px; border:1px solid #d5e8e7; border-radius:18px; background:#fff; box-shadow:0 19px 45px rgba(8,73,85,.10); }
.consult-message-card__head { display:flex; align-items:center; gap:7px; color:#08795b; font-size:13px; }
.consult-message-card__head .material-symbols-outlined { font-size:20px; }
.consult-message-card > p#line-message-template { margin:16px 0; padding:17px; border-radius:10px; background:#f3f7fa; color:#183c5e; font-size:14px; font-weight:600; line-height:1.85; white-space:pre-line; }
.consult-copy-button { display:inline-flex; align-items:center; gap:6px; min-height:42px; padding:9px 14px; border:1px solid #b6d6d4; border-radius:8px; background:#fff; color:#08795b; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.consult-copy-button:hover { background:#f1fbf8; }
.consult-copy-button .material-symbols-outlined { font-size:17px; }
.consult-message-card__help { margin:11px 0 0; color:#617c96; font-size:12px; font-weight:600; line-height:1.7; }
.consult-flow-section { padding:80px 0; background:#fff; }
.consult-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; counter-reset:flow; }
.consult-flow li { position:relative; display:flex; gap:16px; min-height:155px; padding:25px 19px; border-top:3px solid #b9d7e8; background:#f7fafc; }
.consult-flow li + li::before { position:absolute; top:50%; left:-13px; z-index:1; width:26px; height:26px; border-radius:50%; background:#fff; color:#0784ad; content:"→"; font-size:17px; font-weight:800; line-height:26px; text-align:center; transform:translateY(-50%); }
.consult-flow span { color:#00a1c5; font-size:13px; font-weight:800; letter-spacing:.08em; }
.consult-flow h3 { margin:0; color:var(--consult-navy); font-size:17px; line-height:1.55; }
.consult-flow p { margin:8px 0 0; color:#58708f; font-size:13px; font-weight:600; line-height:1.75; }
.consult-final-cta { padding:82px 0; background:linear-gradient(130deg,#082b63 0%,#0b5285 62%,#087f91 100%); color:#fff; text-align:center; }
.consult-final-cta .consult-eyebrow { color:#8ee9ff; }
.consult-final-cta h2 { color:#fff; }
.consult-final-cta > .consult-final-cta__inner > p:not(.consult-eyebrow) { max-width:650px; margin:15px auto 0; color:#dbeeff; font-size:15px; font-weight:600; line-height:1.9; }
.consult-final-cta .consult-hero__actions { justify-content:center; }
.consult-final-cta .consult-button--form { border-color:rgba(255,255,255,.62); background:transparent; color:#fff; }
.consult-final-cta .consult-button--form:hover { background:#fff; color:var(--consult-navy); }
.consult-mobile-cta { display:none; }
.sp-only { display:none; }
@media (max-width: 880px) { .consult-hero__inner, .consult-line-section__inner { grid-template-columns:1fr; } .consult-hero__content { max-width:640px; } .consult-hero__visual { width:min(540px,calc(100% - 28px)); margin:0 auto; } .consult-plan-grid { grid-template-columns:1fr; max-width:550px; margin:0 auto; } .consult-plan-card { min-height:0; } .consult-plan-card > p:not(.consult-plan-card__label):not(.consult-plan-card__price) { min-height:0; } .consult-flow { grid-template-columns:1fr; max-width:600px; margin:0 auto; } .consult-flow li + li::before { top:-14px; left:50%; transform:translateX(-50%) rotate(90deg); } }
@media (max-width: 599px) { .free-consultation-page { padding-bottom:76px; } .consult-shell { width:min(100% - 32px, 540px); } .consult-hero { padding:43px 0 47px; } .consult-hero h1 { font-size:34px; } .consult-hero__lead { font-size:14px; line-height:1.9; } .consult-hero__actions { display:grid; grid-template-columns:1fr; margin-top:23px; } .consult-button { min-height:56px; font-size:15px; } .consult-hero__visual { min-height:300px; margin-top:4px; } .consult-hero__visual img { height:300px; border-radius:18px; } .consult-hero__visual::before { top:15px; right:-10px; bottom:-14px; left:14px; border-radius:21px; } .consult-plan-section, .consult-line-section, .consult-flow-section, .consult-final-cta { padding:54px 0; } .consult-section-heading { margin-bottom:23px; } .consult-section-heading h2, .consult-line-section h2, .consult-final-cta h2 { font-size:27px; } .consult-plan-card { padding:21px 19px; } .consult-plan-card h3 { font-size:20px; } .consult-plan-card__price { font-size:27px; } .consult-line-section__inner { gap:29px; } .consult-message-card { padding:19px; } .consult-flow li { min-height:0; padding:20px 16px; } .consult-mobile-cta { position:fixed; right:14px; bottom:13px; z-index:50; display:block; margin:0; } .consult-mobile-cta a { display:inline-flex; align-items:center; gap:6px; min-height:52px; padding:0 17px; border:2px solid #fff; border-radius:999px; background:var(--consult-line); box-shadow:0 9px 24px rgba(6,115,57,.30); color:#fff; font-size:14px; font-weight:800; text-decoration:none; } .consult-mobile-cta .material-symbols-outlined { font-size:20px; } .sp-only { display:block; } }
@media (prefers-reduced-motion: reduce) { .consult-button { transition:none; } }
