/* Shared service-page layouts and small contextual links on the homepage. */
.service-detail-link{display:block;width:fit-content;max-width:100%;margin-top:13px;font-size:14px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;color:inherit}
.service-detail-link:hover{color:#8b2342}
.event-evidence{margin-top:24px;padding:18px 0 18px 18px;border-left:2px solid #8b2342}
.event-evidence blockquote{font-size:21px;line-height:1.4;color:var(--ink)}
.event-evidence figcaption{font-size:12px;line-height:1.6;margin-top:12px;color:#62404c}
.event-evidence a{text-decoration:underline;text-underline-offset:3px}
.event-evidence small{display:block;font-size:11px;margin-top:3px}
.service-evidence{margin-top:32px;padding:24px;border:1px solid var(--line);background:var(--panel)}
.service-evidence h3{font-size:25px;color:var(--paper);margin-bottom:14px}
.service-evidence p{font-size:16px;color:var(--soft)}
.service-evidence figure{margin-top:18px}
.service-evidence blockquote{font-size:25px;line-height:1.35;color:var(--paper)}
.service-evidence figcaption{font-size:12px;line-height:1.65;color:var(--muted);margin-top:14px}
.service-evidence small{display:block;font-size:11px;margin-top:5px}
.experience-copy .service-detail-link{color:var(--accent)}
.experience-copy .service-detail-link:hover{color:var(--paper)}
.service-breadcrumb{display:block;padding-block:25px 0;color:var(--muted);font-size:12px}
.service-breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;margin:0;padding:0}
.service-breadcrumb li+li::before{content:'/';margin-right:12px;color:var(--accent)}
.service-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.service-breadcrumb a:hover{color:var(--paper)}
.service-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:64px;padding-block:48px 74px}
.service-hero h1{font-size:clamp(42px,4.9vw,66px);line-height:1.04;overflow-wrap:normal}
.service-hero .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:23px}
.service-tagline{font-size:clamp(23px,2.1vw,28px);line-height:1.35;margin-top:26px;letter-spacing:-.02em}
.service-intro{color:var(--soft);font-size:17px;line-height:1.7;margin-top:20px}
.service-intro strong{color:var(--paper)}
.service-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 25px;margin-top:28px}
.service-hero-note{font-size:12px;color:var(--muted);margin-top:22px}
.service-hero-art{min-width:0;width:100%;margin:0}
.service-image-frame{border:1px solid var(--line);padding:8px;background:var(--deep);box-shadow:0 25px 65px rgba(0,0,0,.24)}
.service-image-frame img{width:100%;height:auto}
.service-hero-art figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:15px}
.service-hero-portrait .service-hero-art{max-width:345px;justify-self:end}
.service-proof{border-block:1px solid var(--line);background:var(--panel);padding-block:36px}
.service-quote{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 15px;max-width:950px}
.service-quote-mark{grid-row:1 / 3;font-size:66px;line-height:1;color:var(--accent)}
.service-quote blockquote{font-size:clamp(23px,2.6vw,32px);line-height:1.4}
.service-quote figcaption{grid-column:2;font-size:12px;color:var(--muted);margin-top:12px}
.service-quote a{text-decoration:underline;text-underline-offset:4px}
.service-page .service-proof h2{text-align:center;font-size:23px;line-height:1.5;letter-spacing:-.02em}
.service-client-logos{display:flex;justify-content:space-between;align-items:center;gap:22px;list-style:none;margin:28px 0 0;padding:0}
.service-client-logos li{flex:1;min-width:0;min-height:80px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:3px;padding:13px}
.service-client-logos img{width:100%;max-height:54px;object-fit:contain}
.service-client-logos .client-chick{width:56px}
.service-client-logos .client-adobe{max-width:95px}
.service-story,.service-planning-grid,.service-faq,.service-booking-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px}
.service-page h2{font-size:clamp(35px,3.5vw,49px);line-height:1.12}
.service-story .eyebrow,.service-planning .eyebrow,.service-faq .eyebrow,.service-booking .eyebrow{margin-bottom:20px}
.service-prose{color:var(--soft);font-size:17px}
.service-prose strong{color:var(--paper)}
.service-prose a,.service-questions p a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.service-prose a:hover,.service-questions p a:hover{color:var(--paper)}
.service-planning{background:var(--paper);color:var(--ink);color-scheme:light}
.service-planning .eyebrow{color:#784653}
.service-planning-intro{margin-top:26px;color:#62404c;font-size:16px;max-width:380px}
.service-planning-list{list-style:none;counter-reset:plan;margin:0;padding:0}
.service-planning-list li{position:relative;counter-increment:plan;border-top:1px solid #d8b6c0;padding:23px 0 26px 40px}
.service-planning-list li:last-child{border-bottom:1px solid #d8b6c0}
.service-planning-list li::before{content:'0' counter(plan);position:absolute;left:0;top:26px;font-size:12px;color:#80505f}
.service-planning-list h3{font-size:25px;margin-bottom:12px}
.service-planning-list p{color:#62404c;font-size:16px}
.service-questions details{border-top:1px solid var(--line);padding:0}
.service-questions details:last-child{border-bottom:1px solid var(--line)}
.service-questions summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-size:20px;line-height:1.4;padding:22px 0}
.service-questions summary::-webkit-details-marker{display:none}
.service-questions summary>span{font-size:24px;color:var(--accent);font-weight:normal;transition:transform .15s}
.service-questions details[open] summary>span{transform:rotate(45deg)}
.service-questions details p{color:var(--soft);font-size:16px;margin:0;padding-bottom:25px}
.service-booking{border-block:1px solid var(--line);background:radial-gradient(ellipse at 15% 30%,#4c1025 0,transparent 60%),var(--panel)}
.service-booking-copy>p:first-child{font-size:18px;color:var(--soft)}
.service-phone{display:block;width:fit-content;font-size:clamp(27px,3.1vw,40px);line-height:1.3;letter-spacing:-.02em;margin-top:26px}
.service-phone:hover{color:var(--accent)}
.service-booking-note{color:var(--muted);font-size:13px;margin-top:8px}
.service-booking-copy>.text-link{font-size:14px;margin-top:22px}
.service-related{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;padding-block:65px}
.service-related h2{font-size:29px}
.service-related ul{list-style:none;padding:0;margin:0}
.service-related li+li{border-top:1px solid var(--line)}
.service-related a{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:13px 0;font-size:17px}
.service-related a:hover{color:var(--accent)}
.service-related a span{color:var(--accent)}
@media(max-width:1050px){.service-hero{gap:35px}.service-story,.service-planning-grid,.service-faq,.service-booking-grid,.service-related{gap:45px}.service-client-logos{gap:14px}.service-client-logos li{padding:9px;min-height:72px}}
@media(max-width:780px){
  .service-breadcrumb{position:static;display:block;width:min(1160px,calc(100% - 40px));background:none;border:0;box-shadow:none;padding:22px 0 0}
  .service-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:30px 48px}
  .service-hero h1{font-size:clamp(38px,8vw,56px)}
  .service-hero h1 br{display:none}
  .service-hero-art{max-width:560px;justify-self:center}
  .service-hero-portrait .service-hero-art{max-width:300px;justify-self:center}
  .service-hero-art figcaption{text-align:center}
  .service-hero .eyebrow{font-size:9px}
  .service-story,.service-planning-grid,.service-faq,.service-booking-grid,.service-related{grid-template-columns:minmax(0,1fr);gap:30px}
  .service-planning-intro{max-width:none}
  .service-client-logos{flex-wrap:wrap;justify-content:center;gap:12px}
  .service-client-logos li{flex:0 1 calc(33.333% - 12px);min-height:76px}
  .service-page .service-proof h2{font-size:22px}
  .service-quote{grid-template-columns:28px minmax(0,1fr);gap:0 10px}
  .service-quote-mark{font-size:48px}
  .service-quote blockquote{font-size:24px}
  .service-related{padding-block:45px}
}
@media(max-width:420px){.service-client-logos li{flex-basis:calc(50% - 12px)}.service-actions{gap:18px}.service-actions .button{gap:20px}.service-tagline br{display:none}}
@media(prefers-reduced-motion:reduce){.service-questions summary>span{transition:none}}
