/* Scoped to service pages; homepage composition is unchanged. */
.tp-service-page{--service-tint:#e6eee6;--service-ink:#214844;--service-accent:#785b20;color:#173d40;background:#fffdf8}
.tp-editorial .tp-service-page .tp-reveal{opacity:1;transform:none}
.tp-editorial .tp-service-page .tp-reveal[data-reveal-pending]:not(.is-visible){opacity:0;transform:translateY(22px)}
.tp-service-page[data-service-palette=clay]{--service-tint:#f2e6dc;--service-ink:#684636;--service-accent:#88542f}
.tp-service-page[data-service-palette=plum]{--service-tint:#ede6ec;--service-ink:#563c58;--service-accent:#765079}
.tp-service-page[data-service-palette=teal]{--service-tint:#e1eeeb;--service-ink:#174d52;--service-accent:#26635a}
.tp-service-page[data-service-palette=sand]{--service-tint:#f0e6cf;--service-ink:#574825;--service-accent:#765f25}
.tp-service-hero{padding:75px 0 70px;background:linear-gradient(115deg,#fffdf8 35%,var(--service-tint));border-bottom:1px solid #d4d8ca;overflow:clip}
.tp-service-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(40px,6vw,100px)}
.tp-service-intro h1{font:500 clamp(48px,5.3vw,80px)/1.03 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;color:#163c40;margin:22px 0;max-width:720px;text-wrap:balance}
.tp-service-page .tp-eyebrow{color:var(--service-accent)}
.tp-service-intro .tp-lead{font-size:clamp(17px,1.5vw,21px);line-height:1.7;color:#465f59;max-width:620px}
.tp-service-intro .tp-service-reach{max-width:620px;margin:18px 0 0;padding:14px 18px;border-left:3px solid var(--svc-accent,#a47a32);background:#ffffff7d;color:#294f48;font-size:15px;line-height:1.7}
.tp-service-intro .tp-breadcrumb{margin:0 0 34px;color:#49635c;font-size:14px}.tp-service-intro .tp-breadcrumb a{color:inherit}
.tp-service-intro .tp-service-assurance{font-size:13px;line-height:1.9;color:#50675f;margin:27px 0 0}.tp-service-assurance a{color:#526048;text-decoration:underline;text-underline-offset:4px}
.tp-service-visual{position:relative;margin:0;min-width:0;padding:25px 0 0;perspective:1100px}
.tp-service-visual figcaption{font:400 12px/1.6 'DM Sans',sans-serif;color:#4b625a;border-top:1px solid #bdc7bc;padding-top:18px;margin-top:36px;text-align:center}
.tp-service-project-image{display:block;width:100%;height:auto;max-height:470px;object-fit:contain;filter:drop-shadow(0 18px 18px #173b3c18)}
.tp-service-object{position:relative;width:min(78%,340px);height:380px;margin:20px auto 40px;transform:rotate(-5deg);transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.tp-service-visual:hover .tp-service-object{transform:rotate(0deg) translateY(-8px)}
.tp-object-face,.tp-object-back{position:absolute;inset:0;border:1px solid #d5d0c1;background:#fffdf5;box-shadow:6px 8px 0 #dad9ce,14px 27px 35px #173c3c22}
.tp-object-back{transform:translate(26px,8px) rotate(9deg);background:var(--service-ink);box-shadow:5px 6px 0 #c7c9bf}
.tp-object-face{padding:36px 26px;display:flex;flex-direction:column;gap:24px;border-left:12px solid var(--service-ink)}
.tp-object-face strong{font:500 46px/1.02 'Cormorant Garamond',Georgia,serif;color:var(--service-ink);text-wrap:balance}
.tp-object-small{font:600 9px/1.7 'DM Sans',sans-serif;letter-spacing:.12em;color:var(--service-ink)}
.tp-object-lines{display:grid;gap:12px;margin:auto 0}.tp-object-lines i{height:2px;background:#c6cec1}.tp-object-lines i:last-child{width:65%}
.tp-object-swatch{position:absolute;bottom:-18px;right:-32px;display:flex;padding:10px;background:#fffaf1;box-shadow:0 8px 20px #123b3922;transform:rotate(8deg)}
.tp-object-swatch i{display:block;width:38px;height:35px;background:var(--service-ink)}.tp-object-swatch i:nth-child(2){background:#b18943}.tp-object-swatch i:nth-child(3){background:#d9c9a3}
[data-kind=design] .tp-object-face strong{font-size:130px;line-height:1}[data-kind=design] .tp-object-lines{display:none}
[data-kind=magazine] .tp-object-face{background:linear-gradient(155deg,#fffdf5 56%,#c5d2ba 56%);border-left-width:3px}
[data-kind=brochure] .tp-service-object{width:90%;height:300px}[data-kind=brochure] .tp-object-face{background:linear-gradient(90deg,#fcf6e6 33%,#e8e1d0 33.2%,#fffbef 33.7%,#fffbef 66%,#e8e1d0 66.3%,#fcf6e6 67%);border-left-width:0}
[data-kind=register] .tp-object-lines{height:130px;background:repeating-linear-gradient(90deg,transparent 0 27%,#bdc9bc 27% 27.5%)}
[data-kind=certificate] .tp-service-object{width:94%;height:270px}[data-kind=certificate] .tp-object-face{border:8px double #b29a67;align-items:center;padding:25px 20px;gap:16px}[data-kind=certificate] .tp-object-face strong{font-size:44px}[data-kind=certificate] .tp-object-lines{width:85%;margin:0}[data-kind=certificate] .tp-object-lines i:last-child{margin:auto}
[data-kind=gift] .tp-service-object{height:300px;margin-top:90px}[data-kind=gift] .tp-object-face{border:1px solid #cebb91;background:#e8d8b4;border-radius:4px 4px 18px 18px;justify-content:center;align-items:center;text-align:center;box-shadow:12px 22px 28px #3a493323}
[data-kind=gift] .tp-object-face::before{content:'';position:absolute;bottom:calc(100% - 8px);width:40%;height:90px;border:16px solid #c4ac7d;border-bottom:0;border-radius:65px 65px 0 0;z-index:-1}
[data-kind=gift] .tp-object-back,[data-kind=gift] .tp-object-lines{display:none}
.tp-service-page h2{font-size:clamp(36px,4vw,58px);line-height:1.1;color:#173d40;text-wrap:balance}.tp-service-page h3{font-size:29px;line-height:1.15;color:#173d40}.tp-service-page p{line-height:1.75}
.tp-service-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.tp-service-examples article{border-top:2px solid var(--service-accent);padding:28px 0 12px}.tp-service-number{font-size:13px;color:var(--service-accent);letter-spacing:.1em}.tp-service-examples h3{margin:18px 0 12px}.tp-service-examples p{font-size:16px;color:#4a625b}
.tp-service-depth{background:#fffdf8;border-block:1px solid #e5e2d8}.tp-service-depth>.tp-container>.tp-eyebrow{margin-bottom:24px}.tp-service-depth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 52px}.tp-service-depth-grid article{padding:30px 0;border-top:1px solid #d7d9d0}.tp-service-depth-grid h2{font-size:clamp(28px,3vw,42px);line-height:1.04;margin:0 0 14px;max-width:12ch}.tp-service-depth-grid p{font-size:16px;color:#425f54;max-width:62ch}.tp-service-depth-grid .tp-text-link{display:inline-block;margin-top:10px}
.tp-service-inclusions{display:flex;gap:30px;align-items:center;border-top:1px solid #d3d8cb;padding-top:26px;margin-top:28px;font-size:14px}.tp-service-inclusions ul{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:0;margin:0;color:#4b6258}.tp-service-inclusions li::before{content:'✓';color:var(--service-accent);margin-right:8px}
.tp-service-workflow{background:var(--service-tint);border-block:1px solid #ccd4c8}.tp-service-workflow .tp-prose-grid{align-items:start}.tp-service-steps{list-style:none;padding:0;margin:35px 0 0}.tp-service-steps>li{display:flex;gap:24px;padding:22px 0;border-top:1px solid #b8c7bb}.tp-service-steps>li>span{font-size:13px;color:var(--service-accent);padding-top:6px}.tp-service-steps details{flex:1;min-width:0}.tp-service-steps summary{font:600 23px/1.4 'Cormorant Garamond',Georgia,serif;color:var(--service-ink);cursor:pointer}.tp-service-steps p{font-size:16px;color:#425e53;margin:12px 0 0}
.tp-service-brief{padding:clamp(26px,4vw,48px);background:#fffdf5;border-top:4px solid var(--service-accent);box-shadow:0 18px 50px #2549370d}.tp-service-brief h3{font-size:34px}.tp-service-brief p,.tp-service-brief li{font-size:16px;color:#425f54;line-height:1.75}.tp-service-brief ul{padding-left:20px}.tp-service-brief li{margin:10px 0}
.tp-service-next{background:#173f43;color:#fff}.tp-service-next>.tp-container{display:flex;gap:40px;align-items:center;justify-content:space-between}.tp-service-next h2{color:#fff}.tp-service-next p{color:#d8e4dc;max-width:680px}.tp-service-next .tp-eyebrow{color:#efca7c}.tp-service-next .tp-button{background:#f0d390;color:#163f42;border-color:#f0d390}.tp-service-next .tp-text-link{color:#fff}.tp-service-next .tp-actions{flex-shrink:0;flex-direction:column;align-items:flex-start}
.tp-service-film{background:#eee9da}.tp-service-film video{display:block;width:100%;max-height:650px;aspect-ratio:16/9;background:#173f43;margin-top:32px}
.tp-service-page :is(a,summary):focus-visible{outline:3px solid #b18434;outline-offset:5px}
.tp-service-page .tp-section-word{display:none}
.tp-service-page .tp-selected-publications{background:#f5efdf;border-block:1px solid #d9ceaf}
.tp-service-page .tp-reading-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 20px;color:#4d6559;font-size:13px}
.tp-service-page .tp-reading-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #a9b8a4;border-radius:50%;background:transparent;color:#173f43;font:24px/1 Georgia,serif;cursor:pointer;transition:background .2s,color .2s}
.tp-service-page .tp-reading-controls button:hover{background:#173f43;color:#fff}
.tp-service-page .tp-reading-controls button:focus-visible{outline:3px solid #b18434;outline-offset:4px}
@media(max-width:900px){.tp-service-hero-grid{grid-template-columns:1fr;gap:40px}.tp-service-hero{padding-top:40px}.tp-service-intro h1{max-width:700px}.tp-service-visual{max-width:550px;width:100%;margin:auto}.tp-service-examples{gap:24px}.tp-service-next>.tp-container{display:block}.tp-service-next .tp-actions{margin-top:30px}.tp-service-intro .tp-breadcrumb{margin-bottom:26px}}
@media(max-width:600px){.tp-service-intro h1{font-size:46px}.tp-service-examples,.tp-service-depth-grid{grid-template-columns:1fr;gap:10px}.tp-service-object{height:330px}.tp-object-face{padding:28px 20px;gap:20px}.tp-object-face strong{font-size:39px}.tp-service-inclusions{display:block}.tp-service-inclusions ul{margin-top:18px}.tp-service-page .tp-section{padding-block:60px}.tp-service-next h2{font-size:40px}.tp-service-visual figcaption{margin-top:35px}.tp-service-steps>li{gap:16px}}
@media(prefers-reduced-motion:reduce){.tp-service-object{transition:none}.tp-service-visual:hover .tp-service-object{transform:rotate(-5deg)}}

/* Related-pages links in the closing section of each service page. */
.tp-service-related{margin-top:26px;padding-top:20px;border-top:1px solid #d7dfdf66}
.tp-service-related .tp-eyebrow{margin:0 0 10px}
.tp-service-related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px}
.tp-service-related a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;font-size:.92rem;opacity:.85;transition:opacity .25s}
.tp-service-related a:hover,.tp-service-related a:focus-visible{opacity:1}
