/* Shared orientation and consultation, scoped to the three-service funnel. */
.has-funnel{--fn-line:#c4c4c4;--fn-muted:#555;--fn-panel:#f1f2ef}
.has-funnel .hero{padding-top:210px}
.finder-grid,.fn-service-grid,.fn-next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}
.finder-grid label{display:flex;align-items:start;gap:12px;padding:24px 18px;border:1px solid var(--fn-line);font-size:18px;line-height:1.65;cursor:pointer}
.finder-grid input,.package-options input{accent-color:currentColor;width:18px;height:18px;flex:0 0 auto;margin-top:6px}
.finder-grid label:has(input:checked),.package-options label:has(input:checked){outline:1px solid currentColor;outline-offset:-1px;background:var(--fn-panel)}
.fn-recommend{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.fn-recommend p{max-width:46ch;line-height:1.8;color:var(--fn-muted)}
.has-funnel :is(fieldset){border:0;margin:0;padding:0;min-width:0}
.has-funnel legend{font-size:18px;line-height:1.6;margin-top:30px;margin-bottom:12px}
.fn-service-grid article{border-top:1px solid var(--fn-line);padding-top:26px;min-width:0}
.fn-service-grid h3,.fn-next-grid h3{font-size:27px;font-weight:400;line-height:1.4;letter-spacing:-.035em}
.fn-service-grid p,.fn-next-grid p{font-size:17px;line-height:1.8;color:var(--fn-muted);margin-top:18px}
.fn-service-grid ul{padding-left:20px;margin-top:20px;color:var(--fn-muted);font-size:16px;line-height:1.9}
.fn-next{background:var(--fn-panel)}
.fn-next-grid{grid-template-columns:1fr 1fr;align-items:start}
.fn-next-grid .text-link{white-space:normal;line-height:1.6;margin-top:24px}
.fn-next-grid [data-service-finder] .finder-grid{grid-template-columns:1fr;gap:12px;margin-top:20px}
.fn-next-grid .finder-grid label{padding:16px;font-size:16px}
.fn-next-grid .fn-recommend{display:block;margin-top:20px}
.fn-next-grid .fn-recommend .text-link{margin-top:12px}
.package-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:24px}
.package-options label{display:flex;align-items:start;gap:12px;border:1px solid var(--fn-line);padding:20px 16px;font-size:17px;line-height:1.7;cursor:pointer}
.consult-panel{display:grid;gap:24px;align-content:start}
.consult-panel .consult-summary{font-size:20px;line-height:1.7;border-top:1px solid var(--fn-line);padding-top:24px;overflow-wrap:anywhere}
.consult-panel .pill{justify-content:center;white-space:normal;text-align:center}
.consult-panel .consult-hint{font-size:15px;color:var(--fn-muted);line-height:1.7}
.fn-media{margin:44px 0 0}
.fn-media img{display:block;width:100%;height:auto}
.fn-media figcaption{font-size:14px;line-height:1.7;color:var(--fn-muted);margin-top:14px}
.marketing-hero-media{max-width:1080px;margin-top:54px}
.has-funnel .fn-note{font-size:15px;line-height:1.8;color:var(--fn-muted);margin-top:28px;max-width:78ch}
.has-funnel .text-link{white-space:normal}
:root[data-theme=dark] .has-funnel{--fn-line:#777;--fn-muted:#bdbdbd;--fn-panel:#252825}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .has-funnel{--fn-line:#777;--fn-muted:#bdbdbd;--fn-panel:#252825}}
@media(max-width:900px){.finder-grid,.fn-service-grid{grid-template-columns:1fr}.package-options{grid-template-columns:1fr 1fr}.has-funnel .hero{padding-top:160px}}
@media(max-width:600px){.fn-next-grid,.package-options{grid-template-columns:1fr}.finder-grid{gap:12px}.fn-service-grid{gap:34px}.finder-grid label{font-size:17px;padding:18px 16px}.has-funnel .hero{padding-top:145px}.fn-recommend{display:block}.fn-recommend .text-link{margin-top:16px}.has-funnel .contact .h2{font-size:34px}}
.price-layout,.studio-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,7vw,100px);margin-top:40px;align-items:start}
.has-funnel .price-label{font-size:16px;color:var(--fn-muted);margin-bottom:18px}
.has-funnel .price-value,.has-funnel .fn-service-grid p.price-value{font-size:clamp(34px,3.2vw,48px);line-height:1.3;letter-spacing:-.045em;color:inherit;margin:18px 0}
.has-funnel .price-regular{font-size:19px;line-height:1.7;margin-top:16px;color:var(--fn-muted)}
.price-layout ul{padding-left:22px;line-height:2;font-size:18px;margin-top:22px}
.price-layout h3{font-size:26px;line-height:1.5;font-weight:400}
.price-layout .pill{margin-top:28px}
.billing-summary,.studio-credit{border:1px solid var(--fn-line);padding:32px;background:var(--fn-panel);min-width:0}
.billing-summary .pill{width:100%;cursor:not-allowed}
.billing-summary .text-link,.studio-credit .text-link{margin-top:24px}
.billing-options{display:grid;gap:18px;margin-top:18px}
.billing-options label{display:flex;align-items:center;gap:12px;padding:24px 18px;border:1px solid var(--fn-line);line-height:1.7;font-size:18px;cursor:pointer}
.billing-options input{width:18px;height:18px;accent-color:currentColor;flex:0 0 auto}
.billing-options label:has(input:checked){background:var(--fn-panel);outline:1px solid currentColor;outline-offset:-1px}
.billing-page .hero-intro,.studio-page .hero-intro{display:block}
.billing-page .hero-foot,.studio-page .hero-foot{display:block}
.studio-page .studio-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr)}
.studio-chat{min-width:0}
.studio-chat form{display:grid;gap:18px;margin-top:28px}
.studio-chat textarea{width:100%;min-width:0;resize:vertical;border:1px solid var(--fn-line);background:var(--fn-panel);color:inherit;padding:20px;font:inherit;line-height:1.8}
.studio-reply{white-space:pre-wrap;overflow-wrap:anywhere;padding:28px;border:1px solid var(--fn-line);font-size:17px;line-height:1.85;margin-top:28px}
.studio-credit h2{font-size:24px;font-weight:400;line-height:1.5}
.studio-credit ol{padding-left:22px;font-size:16px;line-height:2;margin-top:22px}
@media(max-width:900px){.price-layout,.studio-page .studio-layout{grid-template-columns:1fr}.billing-page .hero h1,.studio-page .hero h1{font-size:clamp(34px,7vw,64px)}}
@media(max-width:600px){.billing-summary,.studio-credit{padding:24px 20px}.billing-options label{padding:18px 14px;font-size:16px}.studio-reply{padding:22px 18px}.price-layout{margin-top:28px}}
