:root{--navy:#142c4b;--blue:#234b72;--red:#b52c35;--ink:#243244;--muted:#526173;--line:#dce1e7;--paper:#f3f5f8}
body{font-family:Arial,Helvetica,sans-serif;background:#ffffff;font-size:16px}.wrap{width:min(1200px,calc(100% - 64px))}.topbar{background:#142c4b;font-size:12px;letter-spacing:.04em}.topbar .wrap{min-height:36px}.header{background:#ffffff;position:sticky;top:0;z-index:30}.header > .wrap{min-height:95px}.brand{flex-basis:175px;width:175px}.nav a{font-size:13px}.nav .nav-cta,.button,.detail-actions a{border-radius:0;background:var(--red);font-weight:700}.nav .nav-cta:hover,.button:hover{background:#8f2028}.button{padding:15px 22px}.hero{background:var(--navy);overflow:visible}.hero:before,.hero:after{display:none}.hero .wrap{padding-block:0;min-height:570px;grid-template-columns:1fr 1fr;gap:60px}.hero-copy{padding:58px 0}.eyebrow{color:#e2eaf5;letter-spacing:.16em}.hero h1{font-family:Georgia,serif;font-size:clamp(42px,5.1vw,68px);line-height:1.07;font-weight:400;letter-spacing:-.035em;margin:25px 0}.hero h1 em{font-weight:400;color:#dce7f5}.hero p{font-size:17px;max-width:490px;color:#e3e7e7;line-height:1.7}.hero .button.alt{border-color:#86969e;border-radius:0}.hero-note{font-size:12px!important;color:#bdc9ce!important}.hero-visual{position:relative;margin:0;height:570px;align-self:stretch}.hero-visual img{height:100%;width:100%;object-fit:cover}.hero-visual figcaption{position:absolute;bottom:14px;right:15px;padding:4px 8px;background:#142c4bdd;color:white;font-size:10px}.image-tag{position:absolute;left:-22px;bottom:58px;background:#f3f5f8;color:var(--navy);padding:18px 22px;font-size:12px;font-weight:700;letter-spacing:.13em}.trust-strip{border-bottom:1px solid var(--line);background:#e9edf2}.trust-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0;gap:28px}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{font-size:18px;color:var(--navy)}.trust-strip span{font-size:12px;margin-top:3px;color:var(--muted)}.trust-strip .wrap>div+div{border-left:1px solid #cbd3dd;padding-left:34px}.section,.detail-section{padding-block:80px}.kicker{font-size:11px;letter-spacing:.15em}.section h2,.detail-section h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1.15;letter-spacing:-.025em}.section-head{margin-bottom:35px;max-width:740px}.section-head p{font-size:16px}.section.light{background:#f3f5f8}.grid{gap:20px}.service{border:0;border-bottom:1px solid #cbd3dd;border-radius:0;border-top:0;box-shadow:none;background:transparent;padding:27px 22px 28px 0}.service b,.service h3{font-size:20px;line-height:1.3;margin:0;color:var(--navy);font-weight:600}.service p{font-size:15px;line-height:1.7;margin:13px 0}.service a{font-size:13px;font-weight:700;color:var(--red);text-decoration:none}.service a:hover{text-decoration:underline}.markets{background:#fff}.markets .grid{grid-template-columns:repeat(3,1fr)}.markets .service{padding:27px;background:#f3f5f8;border:0}.about .panel{background:#e9edf2;border-left:3px solid var(--red);padding:36px}.mobile-steps{background:var(--navy);color:#eee}.mobile-steps h2,.mobile-steps .service b{color:#fff}.mobile-steps .section-head p,.mobile-steps .service p{color:#d7e0e2}.mobile-steps .service{border-color:#5a6c76}.mobile-steps .service a{color:#dce7f5}.mobile-steps .service-area-callout{background:#234b72;color:#fff;border:0;font-size:13px}.partners{background:#e9edf2!important}.contact{background:var(--navy)}.contact .kicker{color:#dce7f5!important}.contact h2{color:white}.contact-card{border-radius:0;padding:30px}.request-form{border-radius:0;box-shadow:none;border-top:4px solid #b52c35;scroll-margin-top:110px}.request-form h3{font-family:Georgia,serif;font-size:32px;font-weight:400}.request-field input,.request-field select,.request-field textarea{border-radius:0;min-height:48px}.request-form .button{border-radius:0}.section[id]{scroll-margin-top:100px}.faq details{border-bottom:1px solid #d6dee8;padding:22px 0}.faq summary{font-size:18px;cursor:pointer;font-weight:600;color:var(--navy)}.faq details p{max-width:820px;color:var(--muted);font-size:15px}.detail-hero{background:var(--navy);padding:65px 0}.detail-hero h1{font-family:Georgia,serif;font-size:clamp(36px,4.5vw,58px);font-weight:400;max-width:950px}.detail-hero p{font-size:17px}.detail-actions a{border-radius:0}.detail-grid article{border-radius:0;box-shadow:none;border:1px solid #d6dee8;border-top:3px solid var(--red);padding:28px}.detail-grid h3{font-size:20px}.detail-grid p{font-size:15px}.footer{background:#0e213b;padding:44px 0}.footer-logo{border-radius:0}.skip-link{position:fixed;left:12px;top:-100px;z-index:99;background:#fff;padding:12px}.skip-link:focus{top:12px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.mobile-contact{display:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2d5c92;outline-offset:5px}.service h3{letter-spacing:0}
@media(max-width:1000px){.nav{gap:12px}.hero .wrap{gap:32px}.hero h1{font-size:50px}.wrap{width:calc(100% - 40px)}}
@media(max-width:800px){.header > .wrap{min-height:84px}.hero .wrap{grid-template-columns:1fr;gap:0}.hero-copy{padding:48px 0 38px}.hero h1{font-size:49px}.hero-visual{height:360px;margin-bottom:30px}.hero-visual img{object-position:center 55%}.image-tag{left:-10px;bottom:40px}.nav{background:#ffffff}.section,.detail-section{padding-block:52px}.markets .grid,.grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-strip .wrap{gap:15px}.trust-strip .wrap>div+div{padding-left:15px}.trust-strip strong{font-size:15px}.hero p{max-width:620px}.hero .actions{flex-direction:row}.mobile-steps .steps-grid{grid-template-columns:1fr}.mobile-contact{position:fixed;z-index:35;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:#142c4b;box-shadow:0 -2px 12px #0002}.mobile-contact a{padding:17px 6px;text-align:center;text-decoration:none;color:white;font-size:12px;font-weight:700;border-right:1px solid #546570}.mobile-contact a:last-child{background:#b52c35;border:0}body{padding-bottom:55px}.footer{padding-bottom:38px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.hero h1{font-size:43px}.hero-copy{padding-top:35px}.hero p{font-size:16px}.hero-visual{height:300px}.hero .actions{flex-direction:column}.markets .grid,.grid,.detail-grid{grid-template-columns:1fr}.trust-strip .wrap{grid-template-columns:1fr;padding:20px 0;gap:13px}.trust-strip .wrap>div+div{border-left:0;padding-left:0}.trust-strip .wrap>div{display:flex;gap:12px;align-items:baseline}.trust-strip span{font-size:11px}.trust-strip strong{font-size:15px;min-width:135px}.section h2,.detail-section h2{font-size:32px}.service{padding-block:22px}.contact-card{padding:23px}.request-form{padding:22px}.request-form h3{font-size:28px}.detail-hero{padding:38px 0}.detail-hero h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.massage-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.massage-illustration{margin:0}.massage-illustration img{display:block;width:100%;height:auto}.massage-illustration figcaption{font-size:11px;color:var(--muted);padding:8px 0}.detail-section .massage-illustration{max-width:760px;margin-bottom:35px}@media(max-width:800px){.massage-layout{grid-template-columns:1fr;gap:28px}}

/* Lonestar's independent burgundy and pearl editorial identity. */
:root{--navy:#142c4b;--blue:#234b72;--red:#b52c35;--ink:#243244;--muted:#526173;--line:#dce1e7;--paper:#f3f5f8}
body{background:#ffffff}.topbar{background:#142c4b}.header{background:#ffffff;border-bottom:1px solid #d9dfe7}.header > .wrap{min-height:110px;gap:28px}.brand{width:180px;flex-basis:180px}.nav a{font-weight:500;letter-spacing:.03em}.nav .nav-cta,.button,.detail-actions a{background:#b52c35;border-radius:2px}.button:hover,.nav .nav-cta:hover{background:#8f2028}.hero{background:#f3f5f8;color:#142c4b}.hero .wrap{display:block;min-height:0;padding:0 0 40px}.hero-copy{max-width:840px;margin:auto;padding:53px 0 32px;text-align:center}.hero h1{font-size:clamp(44px,5vw,67px);line-height:1.08;margin:21px 0;font-weight:400}.hero h1 em{color:#b52c35}.hero p{margin:0 auto 22px;max-width:660px;color:#526173;font-size:17px}.hero .eyebrow{color:#b52c35}.hero .actions{justify-content:center}.hero .button.alt{color:#234b72;border-color:#9a7e8b;background:transparent}.hero .button.alt:hover{background:#e9dfe4}.hero-note{color:#526173!important}.hero-visual{height:390px;max-width:1080px;margin:auto}.hero-visual img{object-position:50% 56%}.image-tag{left:0;bottom:0;background:#142c4b;color:#fff;padding:17px 24px;letter-spacing:.2em}.hero-visual figcaption{background:#142c4bdc;bottom:10px}.trust-strip{background:#fff;border-bottom:1px solid #dce1e7}.trust-strip .wrap{padding-block:22px}.trust-strip .wrap>div+div{border-color:#dce1e7}.section.light{background:#f3f5f8}.service-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;counter-reset:lonestar-services}.service-directory .service{position:relative;counter-increment:lonestar-services;padding:27px 0 27px 57px;border-bottom:1px solid #d9dfe7}.service-directory .service:before{content:counter(lonestar-services,decimal-leading-zero);position:absolute;left:0;top:25px;color:#946679;font-family:Georgia,serif;font-size:25px}.service-directory .service b{font-family:Georgia,serif;font-size:23px;font-weight:400}.service-directory .service p{font-size:14px}.markets .grid{grid-template-columns:repeat(2,1fr);gap:0 50px}.markets .service{background:transparent;border-bottom:1px solid #d9dfe7;padding:25px 0}.markets .service h3{font-family:Georgia,serif;font-size:26px;font-weight:400}.markets .service a{color:#b52c35}.about .panel{background:#eaf0f6;border-color:#b52c35}.mobile-steps{background:#142c4b}.mobile-steps .service-area-callout{background:#603849}.mobile-steps .service{border-color:#876778}.mobile-steps .service a{color:#efd6e1}.mobile-steps .kicker{color:#dfadbf}.partners{background:#eaf0f6!important}.contact{background:#142c4b}.contact .kicker{color:#efd6e1!important}.contact-card span{color:#e8cbd7}.request-form{border-top-color:#b52c35}.request-form .response-note{color:#234b72!important}.request-form .photo-note{background:#f3f5f8;border-color:#b52c35}.detail-hero{background:#f3f5f8;color:#142c4b;border-bottom:1px solid #dce1e7}.detail-hero p{color:#526173}.detail-hero .eyebrow{color:#b52c35}.detail-hero h1{color:#142c4b}.detail-section:nth-of-type(even){background:#f3f5f8}.detail-section h2,.detail-grid h3{color:#142c4b}.detail-grid article{border-color:#d9dfe7;border-top-color:#b52c35;background:#ffffff}.faq details{border-color:#d9dfe7}.footer{background:#0e213b}.footer .wrap{align-items:center}.mobile-contact{background:#142c4b}.mobile-contact a{border-color:#6c819e}.mobile-contact a:last-child{background:#b52c35}.detail-actions a.secondary{color:#142c4b;border-color:#9aacbf}.service-area-callout{background:#eaf0f6;color:#142c4b;border-color:#b52c35}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#2d5c92}
@media(min-width:1001px){.header > .wrap{flex-direction:column;gap:5px;padding:12px 0 16px}.brand{flex-basis:auto;width:175px}.nav{gap:30px}.header{position:relative}.request-form,.section[id]{scroll-margin-top:25px}}
@media(max-width:800px){.hero-copy{padding-top:38px}.hero h1{font-size:48px}.hero-visual{height:340px;margin-bottom:0}.hero .wrap{padding-bottom:25px}.hero .actions{flex-direction:row}.markets .grid{gap:0 28px}.service-directory{gap:0 28px}.hero-visual img{object-position:55% 55%}.header > .wrap{min-height:84px}}
@media(max-width:600px){.hero h1{font-size:42px}.hero p{font-size:16px}.hero-visual{height:260px}.hero .actions{flex-direction:column}.hero-copy{padding:32px 0 25px}.markets .grid,.service-directory{grid-template-columns:1fr}.service-directory .service{padding-left:50px}.image-tag{font-size:9px;padding:12px 13px;max-width:70%}.hero-visual figcaption{font-size:9px}.hero .hero-note{font-size:11px!important}}

.repair-finder{background:#ffffff}.problem-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.problem-links a{position:relative;display:block;padding:24px 35px 24px 0;border-bottom:1px solid #d9dfe7;text-decoration:none}.problem-links strong{display:block;font-family:Georgia,serif;font-size:22px;font-weight:400;color:#142c4b}.problem-links span{display:block;margin-top:6px;font-size:14px;color:#526173}.problem-links b{position:absolute;right:0;top:24px;color:#b52c35}.problem-links a:hover strong{color:#b52c35}.hub-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px}.hub-links a{padding:19px 0;display:flex;justify-content:space-between;border-bottom:1px solid #d9dfe7;font-size:17px;color:#142c4b;text-decoration:none}.hub-links a:hover{text-decoration:underline}.service-illustration{max-width:900px;margin:0 auto 35px}.service-illustration img{display:block;width:100%;height:auto}.service-illustration figcaption{padding:8px 0;font-size:11px;color:#526173}@media(max-width:600px){.problem-links,.hub-links{grid-template-columns:1fr}}

/* Restaurant acquisition pages */
.restaurant-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.restaurant-hero h1{font-size:clamp(35px,4.2vw,58px)}.restaurant-photo{margin:0}.restaurant-photo img{display:block;width:100%;height:auto}.restaurant-photo figcaption{font-size:11px;color:#526173;margin-top:8px}.restaurant-small{font-size:13px!important}.restaurant-invitation{background:#142c4b;color:white;padding:35px 0}.restaurant-invitation .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.restaurant-invitation h2{font-family:Georgia,serif;font-weight:400;font-size:30px;line-height:1.15;margin:8px 0 12px;color:white}.restaurant-invitation p{color:#e3eaf4;max-width:760px;margin:0}.restaurant-invitation .kicker{color:#ffffff}.restaurant-invitation .button{background:#fff;color:#234b72;flex-shrink:0;max-width:280px}.restaurant-request{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px}.restaurant-request .request-form{margin:0;width:100%;max-width:none}.restaurant-process{background:#eaf0f6!important}.restaurant-process .detail-grid article{background:#fff}.restaurant-request a{overflow-wrap:anywhere}@media(min-width:1001px){.nav{gap:22px}}@media(max-width:1000px){.restaurant-invitation .wrap{display:block}.restaurant-invitation .button{margin-top:20px}.nav{gap:9px}.nav a{font-size:12px}}@media(max-width:800px){.restaurant-layout,.restaurant-request{grid-template-columns:1fr;gap:30px}.restaurant-photo{max-width:680px}.restaurant-invitation h2{font-size:27px}}

/* Category photography */
.category-photo-section{padding:35px 0 0;background:#ffffff}.category-illustration{max-width:980px}.category-illustration img{width:100%;max-height:570px;object-fit:cover}.category-image-link{display:block!important;margin-bottom:19px}.category-image-link img{width:100%;height:210px;object-fit:cover}.service-directory .service{padding-left:0;padding-top:24px}.service-directory .service:before{display:none}.markets .service .category-image-link img{height:230px}.hub-links a.illustrated-hub-link{align-items:center;gap:19px;justify-content:flex-start}.illustrated-hub-link>img{width:130px;height:88px;object-fit:cover;flex-shrink:0}.hub-link-copy{flex:1}.hub-link-copy>span{float:right}.mobile-steps .category-image-link{display:none!important}@media(max-width:600px){.category-photo-section{padding-top:23px}.category-image-link img,.markets .service .category-image-link img{height:230px}.illustrated-hub-link>img{width:105px;height:80px}.hub-links a.illustrated-hub-link{gap:14px;font-size:16px}}

/* Stationary header and Lonestar logo palette, across all pages. */
:root{--navy:#142c4b;--blue:#234b72;--red:#b52c35;--ink:#243244;--muted:#526173;--line:#dce1e7;--paper:#f3f5f8;--header-height:200px}
html{scroll-padding-top:calc(var(--header-height) + 16px)}
body{padding-top:var(--header-height)}
.header{position:fixed;top:0;left:0;right:0;width:100%;z-index:60;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 14px #142c4b12}
.header .topbar{background:var(--navy);color:#fff}.header .topbar .wrap{min-height:36px;display:flex;align-items:center;justify-content:space-between;padding-block:0;gap:16px}.header .topbar a{color:#fff}
.nav .nav-cta,.button,.detail-actions a,.mobile-contact a:last-child{background:var(--red)}
.button:hover,.nav .nav-cta:hover{background:#8f2028}
.detail-actions a.secondary{background:transparent;color:var(--navy);border-color:#9aacbf}
.section[id],.request-form,[id="main-content"]{scroll-margin-top:0}
.request-form .photo-note,.callout{background:#eaf0f6}
.request-field input:focus,.request-field select:focus,.request-field textarea:focus{outline-color:#c2d4eb;border-color:var(--blue)}
.contact-card span{color:#dce7f5}
@media(max-width:800px){:root{--header-height:150px}.header > .wrap{flex-direction:row}.header .topbar .wrap{justify-content:center}.header .topbar span{display:none}.nav{max-height:calc(100dvh - var(--header-height) - 64px);overflow-y:auto;background:#fff}}

/* Keep menu links text-only, including when older markup is cached. */
.header .nav img,.header .nav picture,.header .nav figure{display:none!important}
.header .nav .illustrated-hub-link{display:inline-flex;align-items:center;gap:0}

/* Direct category links in the stationary header. */
:root{--header-height:245px}
.nav{flex-direction:column;align-items:center;gap:12px;width:100%}
.nav-primary,.nav-audiences{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 22px;width:100%}
.nav-audiences{padding-top:12px;border-top:1px solid var(--line);gap:10px 18px}
.nav-audiences a{font-size:12px;line-height:1.45;letter-spacing:0;color:var(--navy);text-align:center}
.nav-audiences a:hover{color:var(--red)}
@media(min-width:801px){.header > .wrap{flex-direction:column;gap:9px;padding-block:10px 15px}.brand{flex-basis:auto;width:175px}.nav{display:flex}}
@media(max-width:800px){:root{--header-height:150px}.nav{align-items:stretch;gap:0}.nav-primary,.nav-audiences{flex-direction:column;align-items:stretch;gap:0}.nav-audiences{margin-top:10px;padding-top:10px}.nav-audiences a{font-size:14px;text-align:left}.nav-primary .nav-cta{text-align:center}}

/* Repair banner in the fixed header and footer on every page. */
:root{--header-height:345px}
.header{position:fixed;top:0;left:0;right:0;z-index:60;transform:none}
.header > .wrap{flex-direction:column;gap:10px;padding-block:8px 12px}
.header .brand.repair-banner{flex:0 0 auto;width:100%;max-width:620px;margin:0 auto;line-height:0}
.header .repair-banner img{display:block;width:100%;height:auto;max-height:24vh;object-fit:contain}
.footer .footer-logo.repair-banner{display:block;flex-basis:100%;width:100%;max-width:900px;padding:0;margin:0 auto 16px;background:transparent;border-radius:0}
.footer .repair-banner img{display:block;width:100%;height:auto}
@media(max-width:800px){
 :root{--header-height:205px}
 .header > .wrap{position:relative;flex-direction:column;align-items:center;gap:6px;padding-block:6px 8px}
 .header .brand.repair-banner{width:100%;max-width:440px;margin:0 auto}
 .header .repair-banner img{max-height:19vh}
 .header .menu-toggle{display:block;align-self:center;padding:7px 16px;min-height:36px}
 .header .nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;padding:12px 16px;border:1px solid var(--line);box-shadow:0 8px 18px #142c4b22;max-height:calc(100dvh - var(--header-height) - 20px);overflow-y:auto;background:#fff}
 .header .nav.open{display:flex}
 .header .nav a{display:block;padding:9px 12px}
}
@media(max-height:500px){.header .repair-banner img{max-height:18vh}.header .topbar{display:none}.header > .wrap{gap:4px;padding-block:4px}.nav-audiences{padding-top:5px}.nav-primary,.nav-audiences{gap:4px 12px}}

/* Lonestar branding on every content photograph and gallery picture. */
.branded-photo{position:relative;display:block;width:100%;line-height:0;isolation:isolate;overflow:hidden}
.branded-photo > img{display:block;width:100%;margin:0}
.branded-photo > .photo-brand{position:absolute;left:10px;bottom:10px;z-index:2;width:34%;min-width:110px;max-width:300px;aspect-ratio:2018 / 779;background:url("lonestar-repair-banner.png") center / contain no-repeat;box-shadow:0 2px 7px #0006;pointer-events:none;display:block}
.illustrated-hub-link > .branded-photo{width:130px;height:88px;flex-shrink:0}
.illustrated-hub-link > .branded-photo > img{width:100%;height:100%;object-fit:cover}
.illustrated-hub-link .photo-brand{left:4px;bottom:4px;min-width:0;width:66%}
.hero-visual .branded-photo{height:100%}
@media(max-width:600px){.branded-photo > .photo-brand{left:7px;bottom:7px;width:38%;min-width:100px}.illustrated-hub-link > .branded-photo{width:105px;height:80px}.illustrated-hub-link .photo-brand{left:4px;bottom:4px;min-width:0;width:70%}}
