/* Clear, consistent actions across the website. */
body .editorial-link:not(.legal-page .editorial-link),body .product-collection .product-enquiry,body #idea-form > .editorial-link {
 display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;max-width:100%;padding:15px 28px;border:1px solid var(--wine);border-radius:999px;background:var(--wine);color:var(--paper);font:500 13px/1.5 var(--sans);letter-spacing:.065em;text-align:center;text-decoration:none;cursor:pointer;opacity:1;box-sizing:border-box;transition:background .2s,color .2s,box-shadow .2s;
}
body .editorial-link:not(.legal-page .editorial-link):hover,body .product-collection .product-enquiry:hover,body #idea-form > .editorial-link:hover{background:#470011;color:#fffdf8;opacity:1;box-shadow:0 4px 14px #6400171c}
body .editorial-link:focus-visible,body .product-enquiry:focus-visible,.service-enquiry:focus-visible{outline:2px solid var(--wine);outline-offset:5px}
body #idea-form > .editorial-link{min-width:230px}
body .archive-cta{min-height:52px;min-width:150px;padding:15px 26px;font-size:13px;color:var(--paper)}
body .intro-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
.services-overview{scroll-margin-top:110px}
.services-heading{max-width:760px;margin-bottom:40px}
.services-heading .eyebrow{margin-bottom:20px}
.services-heading h2{font:400 clamp(36px,4.2vw,62px)/1.1 var(--serif);letter-spacing:-.03em;margin:0 0 22px;color:var(--wine)}
.services-heading .services-intro{max-width:620px;font:400 15px/1.85 var(--sans);color:var(--ink);margin:0}
.services-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.service-preview{display:flex;flex-direction:column;min-width:0}
.service-preview-image{aspect-ratio:4/3;overflow:hidden;background:var(--stone)}
.service-preview-image img{width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block}
.service-preview:nth-child(2) img{object-position:center 48%}
.service-preview-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:25px 0 0}
.service-number{font:400 11px/1.4 var(--sans);letter-spacing:.1em;color:var(--muted);margin-bottom:12px}
.service-preview h3{font:400 clamp(25px,2.5vw,35px)/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 16px;color:var(--wine)}
.service-preview p{font:400 14px/1.85 var(--sans);color:var(--ink);margin:0 0 25px}
.service-enquiry{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:12px 20px;border:1px solid var(--wine);border-radius:999px;color:var(--wine);font:500 12px/1.5 var(--sans);text-decoration:none;text-align:center;margin-top:auto;transition:background .2s,color .2s;box-sizing:border-box}
.service-enquiry:hover{background:var(--wine);color:var(--paper)}
.services-next{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin-top:50px;padding-top:35px;border-top:1px solid var(--line)}
body .services-next .editorial-link:first-child{background:transparent;color:var(--wine)}
body .services-next .editorial-link:first-child:hover{background:var(--wine);color:var(--paper)}
@media(max-width:1000px){.services-preview-grid{gap:22px}.service-preview h3{font-size:28px}.service-preview p{font-size:13px}}
@media(max-width:700px){.services-heading{margin-bottom:30px}.services-preview-grid{grid-template-columns:1fr;gap:40px}.service-preview-image{aspect-ratio:16/10}.service-preview h3{font-size:31px}.service-preview p{font-size:14px;max-width:55ch}.services-next{margin-top:36px;align-items:stretch;flex-direction:column}.services-next .editorial-link{width:100%}body .product-collection .product-enquiry{font-size:12px;padding:13px 22px;min-height:50px}body .editorial-link:not(.legal-page .editorial-link){font-size:12px;min-height:52px;padding:15px 24px}.service-enquiry{min-height:50px}.services-heading h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){body .editorial-link,body .product-enquiry,.service-enquiry{transition:none}}

/* Explicit heading spacing overrides the legacy #portfolio-title reset. */
.services-heading{max-width:820px;margin-bottom:54px}
.services-heading #portfolio-title{margin:0 0 30px;line-height:1.15}
.services-heading .services-intro{font-size:16px;line-height:1.9;max-width:700px;margin:0}
.contact-experience{scroll-margin-top:16px}
.intro-bottom{justify-content:space-between}
@media(max-width:700px){.services-heading{margin-bottom:38px}.services-heading #portfolio-title{margin-bottom:24px}.services-heading .services-intro{font-size:15px;line-height:1.85}.intro-bottom{gap:20px;flex-wrap:wrap}}

.intro-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.intro-bottom>a{grid-column:2}
@media(max-width:700px){.intro-bottom{grid-template-columns:1fr auto}.intro-bottom>a{grid-column:2}}

/* Vector arrows keep the same fine strokes on desktop and mobile. */
.link-arrow{display:inline-block;width:1.1em;height:1.1em;flex:0 0 1.1em;vertical-align:-.12em;pointer-events:none}
.icon-link{display:inline-flex;align-items:center;gap:.6em}
.icon-link>span{min-width:0}
.service-enquiry{gap:.65em}
.footer-bottom>a.icon-link{min-height:44px}
