/* Shared contact and motion polish for offer and regional landing pages. */
.lr-hero-actions,.lr-contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.lr-hero-actions{margin-top:22px}
.lr-hero-actions .button,.lr-contact-actions .button{min-height:50px;line-height:1.55;max-width:100%;white-space:normal;justify-content:center;text-align:center;box-shadow:none}
#main .lr-hero-actions .button.secondary,#main .lr-contact-actions .button.secondary{background:transparent;border:1px solid #bcb8b3;color:#252321}
#main .lr-hero-actions .button.secondary:hover,#main .lr-contact-actions .button.secondary:hover{border-color:#d9380c;color:#b7320e}
.lr-hero-jump,.lr-phone-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;line-height:1.6;font-weight:650;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.lr-hero-jump{font-size:14px;margin-top:8px;color:inherit}
.lr-phone-link{font-size:19px;color:inherit;white-space:nowrap}
.lr-contact{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:24px;margin-top:36px;padding:28px 0;border-top:1px solid #d8d4cf;color:#252321;text-align:left}
#main .lr-contact h3{font-size:clamp(23px,2.2vw,31px);line-height:1.3;letter-spacing:-.035em;margin:0 0 12px;max-width:860px;color:inherit}
#main .lr-contact p{font-size:16px;line-height:1.75;margin:0 0 20px;color:inherit;max-width:850px}
.lr-contact--plain{grid-template-columns:minmax(0,1fr)}
.lr-contact .sws-scene{width:100px;margin:0;position:relative;inset:auto;--sws-scene-ink:#292522;--sws-scene-face:#fff8f3}
.lr-contact--dark{color:#fff8f3;border-color:#ffffff30}
.lr-contact--dark .sws-scene{--sws-scene-ink:#fff8f3;--sws-scene-face:#171719}
#main .lr-contact--dark .button.secondary{border-color:#ffffff70;color:#fff8f3}
.lr-contact--dark a:not(.button){color:#fff8f3}
.lr-contact-wrap{padding-block:0!important}
.lr-source{margin:28px 0 0;padding-top:20px;border-top:1px solid #d8d4cf;max-width:850px}
.lr-source blockquote{margin:0;padding:0;border:0;background:transparent;font-style:normal}
#main .lr-source blockquote p{font-size:16px;line-height:1.8;margin:0 0 10px;color:inherit}
.lr-source figcaption{font-size:13px;line-height:1.7}
.lr-source>p{font-size:15px!important;margin-top:12px}
.lr-source a{text-underline-offset:4px;color:inherit}
.lr-service-choice{padding-bottom:34px}
.lr-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.lr-choice-grid article{padding:24px;border:1px solid #d8d4cf;border-radius:12px}
.lr-choice-grid h3{font-size:23px;line-height:1.35;margin:0 0 12px}
.lr-choice-grid p{margin:0;font-size:16px;line-height:1.8}
.lr-ai-example{min-width:0}
#main .lr-example-label{font-size:13px;line-height:1.7;color:#615d58;margin:0 0 15px;padding:0}
.lr-ai-example .geo-conversation{margin-top:0}

/* One restrained frame. Open text rows keep their section separators. */
#main .lr-card{outline:none;transition:border-color .22s;box-shadow:none}
#main .lr-card:focus-within,#main .lr-card.lr-is-lit{border-color:#d9380c;box-shadow:none;transform:none}
#main .lr-card :is(.line-icon,.legal-icon){transition:color .22s,filter .22s}
#main .lr-card:is(:focus-within,.lr-is-lit) :is(.line-icon,.legal-icon){color:#d9380c;filter:drop-shadow(0 0 6px #d9380c1a)}
@media(hover:hover) and (pointer:fine) and (min-width:801px){
 #main .lr-card:hover{border-color:#d9380c;box-shadow:none;transform:none}
 #main .lr-card:hover :is(.line-icon,.legal-icon){color:#d9380c;filter:drop-shadow(0 0 6px #d9380c1a)}
}
.seo-page #main .insight-card,.seo-page #main .insight-card:is(:hover,:focus-within,.is-lit){background:transparent;box-shadow:none;transform:none}
.seo-page #main .insight-card::before{display:none}
.seo-page #main .seo-service-card{border:1px solid #dedad5;border-radius:14px;padding:24px}
.seo-page #main .seo-local-cards .seo-local-card{border:1px solid #dedad5;border-radius:14px;padding:0}
.seo-page #main .seo-local-card-copy{padding:24px}
.seo-page #main .seo-service-card>.line-icon,.seo-page #main .seo-service-card:is(:hover,:focus-within,.is-lit)>.line-icon{width:64px;height:64px;padding:0;border-radius:0;background:transparent;color:#343130;box-shadow:none;transform:none;filter:none}
.seo-page #main .lr-card:is(:focus-within,.lr-is-lit){border-color:#d9380c}
.seo-page #main .seo-service-card:is(:focus-within,.lr-is-lit)>.line-icon{color:#d9380c;filter:drop-shadow(0 0 6px #d9380c1a)}
@media(hover:hover) and (pointer:fine) and (min-width:801px){
 .seo-page #main .lr-card:hover{border-color:#d9380c}
 .seo-page #main .seo-service-card:hover>.line-icon{color:#d9380c;filter:drop-shadow(0 0 6px #d9380c1a)}
}
.seo-page #main .project-card:hover{transform:none;box-shadow:none}
.seo-page #main .project-card:hover img{transform:none}
.legal-landing #main .lr-card:hover .legal-card-media img{transform:none}
.legal-landing #main .lr-card .legal-card-media img{transition:none}
.seo-page .seo-geo-work>div{display:block}

/* Visibility offers use the same card spacing on light and dark sections. */
:is(.google-profile-landing,.geo-landing) #main .ec-highlight:not(.geo-system-card){--lr-frame:#dedad5;--lr-active:#d9380c;--lr-icon:#343130;border:1px solid var(--lr-frame);border-radius:14px;padding:24px;background:transparent;box-shadow:none;outline:none;transition:opacity .4s ease,transform .4s ease,border-color .22s}
:is(.google-profile-landing,.geo-landing) #main .ec-highlight::before{display:none}
:is(.google-profile-landing,.geo-landing) #main .ec-visibility .ec-highlight{--lr-frame:#575154;--lr-active:#ff9b7b;--lr-icon:#eee9e7}
:is(.google-profile-landing,.geo-landing) #main .ec-highlight:not(.geo-system-card) .ec-feature-icon{color:var(--lr-icon);filter:none;transition:color .22s,filter .22s}
:is(.google-profile-landing,.geo-landing) #main .ec-highlight:not(.geo-system-card):is(:focus-within,.ec-is-lit){border-color:var(--lr-active)}
:is(.google-profile-landing,.geo-landing) #main .ec-highlight:not(.geo-system-card):is(:focus-within,.ec-is-lit) .ec-feature-icon{color:var(--lr-active);filter:drop-shadow(0 0 6px #d9380c1a)}
.geo-landing #main .geo-platform-visual{border-radius:14px;padding:24px}
@media(hover:hover) and (pointer:fine) and (min-width:801px){
 :is(.google-profile-landing,.geo-landing) #main .ec-highlight:not(.geo-system-card):hover{border-color:var(--lr-active)}
 :is(.google-profile-landing,.geo-landing) #main .ec-highlight:not(.geo-system-card):hover .ec-feature-icon{color:var(--lr-active);filter:drop-shadow(0 0 6px #d9380c1a)}
}
@media(max-width:650px){
 .seo-page #main .seo-service-card,.seo-page #main .seo-local-card-copy{padding:20px}
 :is(.google-profile-landing,.geo-landing) #main .ec-highlight:not(.geo-system-card),.geo-landing #main .geo-platform-visual{padding:20px}
 :is(.google-profile-landing,.geo-landing) #main .ec-feature-heading{display:block}
 :is(.google-profile-landing,.geo-landing) #main .ec-feature-heading>.ec-feature-icon{margin-bottom:15px}
}

/* Keep the first screen readable and bring the call above long supporting notes. */
.legal-landing{padding-bottom:0}
.legal-landing .legal-hero{min-height:0;padding-top:42px;padding-bottom:44px}
.legal-landing .legal-hero h1{line-height:1.16}
.legal-landing .legal-hero-promise{font-size:23px;line-height:1.45;margin-top:16px;margin-bottom:16px}
.legal-landing .legal-hero-lead{font-size:16px;line-height:1.8}
.legal-landing .legal-audience{margin-top:14px}
.legal-landing .lr-ethics-wrap{padding-top:28px!important;padding-bottom:0!important}
.legal-landing .lr-ethics-wrap .legal-ethics-note{margin:0;max-width:100%;background:transparent;border:0;padding:0;grid-template-columns:44px minmax(0,1fr)}
.legal-landing .lr-ethics-wrap .legal-ethics-note p{font-size:15px;line-height:1.75;max-width:1000px}
.legal-landing .lr-ethics-wrap .legal-ethics-note strong{font-size:17px}
.legal-landing .legal-symptoms{padding-top:48px!important}
.legal-landing .legal-bento a{color:inherit;text-underline-offset:4px}
.seo-page .seo-hero{padding-top:42px;padding-bottom:42px}
.seo-page .seo-hero-lead{font-size:18px;line-height:1.7}
.seo-page .seo-hero-personal{font-size:16px;line-height:1.75}
.seo-page .seo-hero-copy .hero-actions{margin-top:22px}
.boutique-checkout>.boutique-wrap>.lr-contact{margin-top:0;padding-bottom:44px}
.boutique-landing .boutique-scope .lr-contact,.medical-landing .medical-scope .lr-contact{padding-bottom:0}
.boutique-landing .boutique-case-copy a,.medical-landing .medical-scope-list a{color:inherit;text-underline-offset:4px}
.boutique-landing .boutique-scope-list p,.boutique-landing .boutique-customer-questions p,.medical-landing .medical-scope-list p,.medical-landing .medical-patient-questions p{font-size:16px;line-height:1.8}

.lr-reveal{opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}
.lr-reveal.lr-visible{opacity:1;transform:none}
#main .lr-card.lr-reveal{transition:opacity .4s ease,transform .4s ease,outline-color .22s,border-color .22s}
.lr-reveal:focus-within{opacity:1;transform:none}
.lr-contact a:focus-visible,.lr-hero-actions a:focus-visible,.lr-hero-jump:focus-visible{outline:3px solid #d9380c;outline-offset:4px}
.lr-phone-in-view .mobile-phone-contact{visibility:hidden;opacity:0;pointer-events:none}

@media(min-width:1051px) and (max-height:720px){
 .legal-landing .legal-hero{padding-top:28px;padding-bottom:28px}
 .legal-landing .legal-hero h1{font-size:clamp(40px,4.2vw,54px)}
 .legal-landing .legal-hero-promise{font-size:21px}
 .seo-page .seo-hero{padding-top:28px;padding-bottom:28px}
 .seo-page .seo-hero h1{font-size:clamp(44px,4.7vw,62px)}
 .seo-page .seo-hero-copy>p{margin-bottom:16px}
}
@media(max-width:650px){
 .lr-hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .lr-hero-actions .button{width:100%;min-width:0;font-size:14px}
 .lr-contact{grid-template-columns:minmax(0,1fr) 62px;gap:15px;padding:25px 0;margin-top:28px}
 .lr-contact .sws-scene{width:62px;align-self:start;margin-top:4px}
 .lr-contact--plain{grid-template-columns:minmax(0,1fr)}
 #main .lr-contact h3{font-size:24px}
 #main .lr-contact p{font-size:16px;line-height:1.75}
 .lr-contact-actions{gap:10px;display:flex;align-items:flex-start;flex-direction:column}
 .lr-contact-actions .button{font-size:13px;padding:12px 14px}
 .lr-phone-link{font-size:17px}
 .lr-choice-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .lr-choice-grid article{padding:20px}
 .legal-landing .legal-hero{padding-top:30px}
 .legal-landing .legal-hero-promise{font-size:22px}
 .legal-landing .legal-hero-lead{font-size:16px;line-height:1.75}
 .legal-landing .legal-symptom-grid p{font-size:15px;line-height:1.8}
 .seo-page .seo-hero h1{font-size:clamp(34px,9.9vw,45px);line-height:1.16}
 .seo-page #wspolpraca-seo h2{font-size:clamp(29px,8.3vw,37px);line-height:1.2}
 .seo-page .seo-hero-lead{font-size:17px}
 .seo-page .seo-hero-inner{min-width:0}
 .seo-page .project-grid .device-scene{width:100%;min-width:0}
 .seo-page .project-grid .laptop{max-width:81%}
 .seo-page .project-grid .laptop:after{left:-5%;width:110%}
}
@media(max-width:370px){
 .lr-contact{grid-template-columns:minmax(0,1fr);position:relative}
 .lr-contact .sws-scene{width:48px;position:absolute;top:25px;right:0;margin:0}
 #main .lr-contact:not(.lr-contact--plain) h3{padding-right:60px;min-height:88px;font-size:23px}
 .lr-contact-actions .button{width:100%}
 .legal-landing .legal-hero h1{font-size:34px;line-height:1.18}
 .seo-page .seo-hero h1{font-size:32px}
 .seo-page #wspolpraca-seo h2{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.lr-reveal{opacity:1;transform:none;transition:none}#main .lr-card,#main .lr-card.lr-reveal,#main .lr-card :is(.line-icon,.legal-icon){transition:none}}
@media print{.lr-reveal{opacity:1;transform:none}.lr-contact{break-inside:avoid}.lr-card{outline:none!important}}
