/* Original EA imagery and copy share a continuous photographic surface. */
.has-service-story .site-header {position:absolute;inset:0 0 auto;background:transparent}
.service-story-page {background:var(--ink);color:var(--ivory)}
.photo-story {position:relative;isolation:isolate;display:grid;min-height:580px;overflow:hidden;background:var(--ink)}
.photo-story>.story-image {position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 38%;margin:0;z-index:0}
/* taste-skill-ignore: neutral photo scrims keep the original copy readable. */
.photo-shade {position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.75) 45%,rgba(0,0,0,.18) 100%)} /* taste-skill-ignore: neutral photo scrim. */
.photo-story-right .photo-shade {background:linear-gradient(270deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.75) 45%,rgba(0,0,0,.16) 100%)} /* taste-skill-ignore: neutral photo scrim. */
.photo-inner {position:relative;z-index:2;width:100%;align-self:center;padding-block:64px}
.photo-copy {max-width:560px}
.photo-story-right .photo-copy {margin-left:auto}
.photo-story .photo-copy h2 {font-size:clamp(30px,3.2vw,46px);line-height:1.12;max-width:23ch;margin:0 0 24px}
.photo-copy h2 strong {font-weight:inherit}
.photo-copy p {font-size:17px;line-height:1.75;color:var(--ivory);max-width:54ch}
.photo-copy p+p {margin-top:16px}
.photo-copy .text-link {margin-top:20px}
.photo-copy .button {margin-top:28px}
.service-photo-hero {min-height:clamp(580px,78svh,780px)}
.service-photo-hero>.story-image {object-position:50% 64%}
.service-photo-hero .photo-shade {background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.15) 30%,rgba(0,0,0,.65) 58%,var(--ink) 100%)} /* taste-skill-ignore: neutral photo scrim. */
.service-photo-hero .photo-inner {align-self:end;padding-top:132px;padding-bottom:52px}
.service-photo-hero .photo-copy {max-width:760px}
.service-photo-hero h1 {font-size:clamp(40px,4.8vw,68px);line-height:1.08;max-width:24ch;margin:0 0 20px}
.service-photo-hero .photo-copy p {max-width:58ch}
.service-photo-hero .breadcrumbs {margin:0 0 56px;color:var(--ivory);gap:24px}
.service-photo-hero .breadcrumbs a {color:var(--ivory)}
.story-reading {padding-block:48px}
.story-prose {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 64px}
.story-text-block:only-child {grid-column:1/-1;max-width:960px}
.story-text-block h2 {font-size:32px;line-height:1.2;max-width:28ch;margin:0 0 20px}
.story-text-block h3 {font-size:24px;line-height:1.3;margin:24px 0 16px}
.story-text-block h2 strong,.story-text-block h3 strong {font-weight:inherit}
.story-text-block p,.story-text-block li {font-size:16px;line-height:1.8;color:var(--muted)}
.story-text-block .copy-block+.copy-block {margin-top:16px}
.story-text-block a {text-underline-offset:5px}
.story-text-block a:not(.button) {color:var(--gold)}
.story-text-block>div[id^=et-button] {margin-top:20px}
.story-text-block figure {margin:20px 0}
.story-text-block img {max-height:380px;object-fit:contain}
.story-text-block .table-scroll {overflow-x:auto}
.story-text-block th {background:#252a29}
.story-reading:has(+.story-package-section) {padding-bottom:24px}
.story-package-section {padding-block:0 48px}
.story-packages {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.story-package {min-width:0;background:#191d1b}
.story-package-visual {position:relative;display:grid;align-items:end;aspect-ratio:4/3;overflow:hidden}
.story-package-visual img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-height:none;margin:0}
.story-package-visual:after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(0,0,0,.82) 100%)} /* taste-skill-ignore: neutral photo scrim. */
.story-package-visual h3 {position:relative;z-index:1;padding:24px;font-size:28px;line-height:1.15;margin:0;color:var(--ivory)}
.story-package-copy {padding:24px}
.story-package-copy p {font-size:15px;line-height:1.8;color:var(--muted)}
.story-package-copy .story-package-price {font-size:17px;color:var(--ivory);margin-bottom:12px}
.story-package-copy .text-link {margin-top:12px}
.story-faq {padding-block:44px;background:#191d1b;max-width:none!important}
.story-faq>div,.story-faq>details {max-width:1120px;margin-inline:auto}
.story-faq h2 {font-size:36px;line-height:1.2;margin-bottom:24px}
.story-faq h2 strong {font-weight:inherit}
.story-faq details {padding:0;margin-block:8px;background:#242a27}
.story-faq summary {cursor:pointer;list-style:none;position:relative;font-size:17px;line-height:1.6;padding:18px 60px 18px 24px;min-height:56px}
.story-faq summary::-webkit-details-marker {display:none}
.story-faq summary:after {content:'+';position:absolute;right:24px;top:16px;font-size:24px}
.story-faq details[open] summary:after {content:'−'}
.story-answer {padding:0 24px 24px;max-width:82ch}
.story-answer p {font-size:16px;line-height:1.8;color:var(--muted)}
.story-answer a {color:var(--gold)}

/* XPEL installation: the original photographs fade into a shared charcoal
   surface. The user requested gradients; text stays opaque and readable. */
.xpel-installation {background:linear-gradient(180deg,var(--ink),#20231f 42%,var(--ink));padding-top:24px}
.installation-heading {padding-block:24px 36px}
.installation-heading h2 {font-size:clamp(32px,3.3vw,46px);line-height:1.15;max-width:24ch;margin:0;font-weight:400}
.installation-steps {list-style:none;padding:0;margin:0}
.installation-step {position:relative;isolation:isolate;display:grid;min-height:380px;margin:0;overflow:hidden}
.installation-photo {position:absolute;inset:0;z-index:0;mask-image:linear-gradient(180deg,transparent,#000 16%,#000 80%,transparent)}
.installation-photo .story-image {width:100%;height:100%;max-height:none;object-fit:cover;object-position:65% 48%;margin:0}
.installation-photo:after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,#141815 0%,rgba(20,24,21,.96) 27%,rgba(20,24,21,.83) 44%,rgba(20,24,21,.12) 80%)}
.installation-inner {position:relative;z-index:1;align-self:center;width:100%;padding-block:40px}
.installation-copy {width:46%;max-width:520px}
.installation-number {display:block;color:var(--gold);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums;margin-bottom:16px}
.installation-copy h3 {font-size:clamp(26px,2.5vw,34px);line-height:1.2;margin:0 0 20px;max-width:24ch}
.installation-copy h3 strong {font-weight:inherit}
.installation-copy p {font-size:16px;line-height:1.8;color:var(--ivory);max-width:49ch;margin:0}
.installation-copy p+p {margin-top:16px}

@media(max-width:1000px) {
 .installation-copy {width:56%}
 .installation-photo:after {background:linear-gradient(90deg,#141815,rgba(20,24,21,.9) 40%,rgba(20,24,21,.65) 60%,rgba(20,24,21,.18))}
}
@media(max-width:600px) {
 .xpel-installation {padding-top:8px}
 .installation-heading {padding-block:24px 16px}
 .installation-heading h2 {font-size:30px;max-width:22ch}
 .installation-step {min-height:480px}
 .installation-photo .story-image {object-position:60% 30%}
 .installation-photo:after {background:linear-gradient(180deg,rgba(20,24,21,.08),rgba(20,24,21,.35) 25%,rgba(20,24,21,.94) 53%,#141815 100%)}
 .installation-inner {align-self:end;padding-block:210px 36px}
 .installation-copy {width:100%;max-width:none}
 .installation-number {margin-bottom:12px}
 .installation-copy h3 {font-size:26px;margin-bottom:16px}
 .installation-copy p {font-size:16px;line-height:1.7}
}

/* The curated service photographs also carry their own title and caption. */
.refined-draft .work-photo {position:relative;overflow:hidden;isolation:isolate;background:var(--ink)}
.refined-draft .work-photo img {width:100%;height:100%;min-height:340px;aspect-ratio:4/3;object-fit:cover}
.refined-draft .work-photo figcaption {position:absolute;inset:auto 0 0;z-index:1;margin:0;padding:80px 24px 24px;color:var(--ivory);pointer-events:none;font-size:14px;line-height:1.6;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82) 65%)} /* taste-skill-ignore: neutral photo scrim. */
.refined-draft .work-photo figcaption span {display:block;font-family:var(--font-heading);font-size:28px;line-height:1.2;font-weight:400;color:var(--ivory);margin-bottom:8px}
.refined-draft .work-photo a:focus-visible {outline-offset:-5px}

@media(max-width:1000px) {
 .photo-copy {max-width:50%}
 .photo-story .photo-copy h2 {font-size:34px}
 .photo-copy p {font-size:16px}
 .story-prose {gap:28px}
 .story-packages {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .story-package-visual h3 {font-size:26px;padding:20px}
 .story-package-copy {padding:20px}
}
@media(max-width:600px) {
 .photo-story {min-height:580px}
 .photo-story>.story-image {object-position:45% 22%}
 .photo-inner {align-self:end;padding-top:200px;padding-bottom:32px}
 .photo-copy {max-width:none}
 .photo-story .photo-shade {background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.62) 28%,rgba(0,0,0,.86) 55%,rgba(0,0,0,.92) 100%)} /* taste-skill-ignore: neutral photo scrim. */
 .photo-story .photo-copy h2 {font-size:30px;line-height:1.15;max-width:24ch;margin-bottom:20px}
 .photo-copy p {font-size:16px;line-height:1.7}
 .service-photo-hero {min-height:620px}
 .service-photo-hero>.story-image {object-position:58% 55%}
 .service-photo-hero .photo-shade {background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.08) 26%,rgba(0,0,0,.73) 53%,var(--ink) 100%)} /* taste-skill-ignore: neutral photo scrim. */
 .service-photo-hero .photo-inner {padding-top:112px;padding-bottom:32px}
 .service-photo-hero .breadcrumbs {margin-bottom:100px;font-size:13px}
 .service-photo-hero h1 {font-size:40px;max-width:20ch;margin-bottom:20px}
 .story-reading {padding-block:32px}
 .story-prose {grid-template-columns:1fr;gap:28px}
 .story-text-block h2 {font-size:28px;max-width:24ch}
 .story-text-block h3 {font-size:22px}
 .story-packages {grid-template-columns:1fr;gap:24px}
 .story-package-visual {aspect-ratio:1.5}
 .story-package-visual h3 {font-size:28px}
 .story-package-section {padding-bottom:32px}
 .story-faq {padding-block:32px}
 .story-faq h2 {font-size:30px}
 .story-faq summary {font-size:16px;padding-left:18px;padding-right:48px}
 .story-faq summary:after {right:18px}
 .story-answer {padding:0 18px 20px}
 .refined-draft .work-photo img {min-height:320px}
}
