/*
 * Talal Publishers — design system 3.0 presentation layer.
 * Loaded last on every editorial page. See docs/DESIGN-SYSTEM-3.0.md.
 * Sections: 1 tokens · 2 page-level motion · 3 header & logo · 4 mega menu ·
 * 5 buttons & links · 6 reveals · 7 hero · 8 service cards · 9 route cards ·
 * 10 process · 11 made in-house · 12 page intros · 13 clients · 14 portfolio ·
 * 15 footer · 16 reduced motion
 */

/* 1. Tokens ------------------------------------------------------------ */
:root{
  --tp3-ink:#0b2328;--tp3-ink-2:#12353b;--tp3-teal:#04424c;--tp3-teal-2:#0a6b7a;
  --tp3-cream:#faf8f2;--tp3-paper:#f4f0e4;--tp3-line:#dcd5c3;--tp3-line-dark:#ffffff1f;
  --tp3-text:#183f42;--tp3-muted:#51666a;--tp3-on-dark:#efe9dc;--tp3-on-dark-muted:#9fb3b0;
  --tp3-gold:#b8862f;--tp3-gold-soft:#e0b04a;
  --tp3-cyan:#0a8fc4;--tp3-magenta:#c2187f;--tp3-yellow:#ffd400;
  --tp3-serif:'Cormorant Garamond',Georgia,serif;--tp3-sans:'DM Sans',system-ui,-apple-system,sans-serif;
  --tp3-radius:8px;--tp3-radius-sm:4px;
  --tp3-shadow-1:0 1px 2px #0b232812,0 12px 28px -18px #0b232845;
  --tp3-shadow-2:0 2px 4px #0b232812,0 36px 60px -30px #0b232873;
  --tp3-ease:cubic-bezier(.16,1,.3,1);--tp3-ease-io:cubic-bezier(.65,0,.35,1);
  --tp3-header-h:100px;
}
@media(max-width:1100px){:root{--tp3-header-h:68px}}

/* An empty paragraph from wpautop around the page shortcode pushed the header down 16px. */
body>p:empty{display:none}

/* 2. Page-level motion ------------------------------------------------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:tp3-vt-out .28s var(--tp3-ease-io) both}
::view-transition-new(root){animation:tp3-vt-in .42s var(--tp3-ease) both}
@keyframes tp3-vt-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes tp3-vt-in{from{opacity:0;transform:translateY(14px)}}
.tp3-header{view-transition-name:tp3-header}
::view-transition-group(tp3-header){animation-duration:0s}

.tp3-progress{position:fixed;inset:0 0 auto;height:3px;z-index:1000;pointer-events:none}
.tp3-progress span{display:block;height:100%;transform-origin:0 50%;transform:scaleX(var(--tp3-progress,0));background:linear-gradient(90deg,var(--tp3-cyan),var(--tp3-magenta) 50%,var(--tp3-yellow))}
.admin-bar .tp3-progress{top:32px}
@media(max-width:782px){.admin-bar .tp3-progress{top:46px}}

/* 3. Header & logo ----------------------------------------------------- */
.tp3-header[data-living-nav] .tp-nav-inner{min-height:var(--tp3-header-h);transition:min-height .45s var(--tp3-ease)}
.tp3-header[data-living-nav].is-stuck .tp-nav-inner{min-height:76px}
.tp3-header[data-living-nav] .tp-brand.tp3-brand{display:flex;align-items:center;gap:16px;text-decoration:none;perspective:600px}
.tp3-header .tp-brand-signature::before,.tp3-header .tp-brand-signature::after{display:none}
.tp3-mark{position:relative;display:block;flex:0 0 auto;width:52px;height:78px;isolation:isolate;transform-style:preserve-3d;transition:transform .7s var(--tp3-ease),width .45s var(--tp3-ease),height .45s var(--tp3-ease)}
.tp3-header[data-living-nav] .tp-brand .tp3-mark img,.tp-editorial .tp3-footer .tp3-mark img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;padding:0;margin:0;background:none;border:0;border-radius:0;box-shadow:none;transform:none}
.tp3-mark>img,.tp3-mark-plates>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.tp3-header[data-living-nav].is-stuck .tp3-mark{width:40px;height:60px}
.tp3-mark-plates{position:absolute;inset:0;isolation:isolate;opacity:0;pointer-events:none}
.tp3-mark .tp3-plate{mix-blend-mode:multiply}
.tp3-mark .tp3-plate-c{filter:url(#tp3-plate-c)}
.tp3-mark .tp3-plate-m{filter:url(#tp3-plate-m)}
.tp3-mark .tp3-plate-y{filter:url(#tp3-plate-y)}
.tp3-mark-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,#ffffffc0 50%,transparent 62%) 180% 0/260% 100% no-repeat;-webkit-mask:url('../images/talal-mark-240.webp') center/contain no-repeat;mask:url('../images/talal-mark-240.webp') center/contain no-repeat}

/* First page of a visit: the mark prints itself — C, M and Y plates arrive
   out of register and lock together, then a light sheen crosses the pages. */
.tp3-first .tp3-header .tp3-mark-base{animation:tp3-base 1.25s both}
.tp3-first .tp3-header .tp3-mark-plates{animation:tp3-plates 1.25s both}
.tp3-first .tp3-header .tp3-plate-c{animation:tp3-reg-c 1.1s var(--tp3-ease) both}
.tp3-first .tp3-header .tp3-plate-m{animation:tp3-reg-m 1.1s .06s var(--tp3-ease) both}
.tp3-first .tp3-header .tp3-plate-y{animation:tp3-reg-y 1.1s .12s var(--tp3-ease) both}
.tp3-first .tp3-header .tp3-mark-sheen{animation:tp3-sheen 1s 1.05s var(--tp3-ease-io) both}
.tp3-first .tp3-header .tp3-wordmark span{display:inline-block;animation:tp3-letter .8s calc(.25s + var(--c) * 28ms) var(--tp3-ease) both}
.tp3-first .tp3-header .tp3-rule i{animation:tp3-rule .9s calc(.7s + var(--r,0) * 90ms) var(--tp3-ease) both}
.tp3-after-intro .tp3-header .tp3-mark *,.tp3-after-intro .tp3-header .tp3-wordmark span,.tp3-after-intro .tp3-header .tp3-rule i{animation-delay:1.25s!important}
/* Hover or focus: a quick re-registration and a page lift. */
.tp3-mark.is-replay .tp3-mark-base{animation:tp3-base-b .8s both}
.tp3-mark.is-replay .tp3-mark-plates{animation:tp3-plates-b .8s both}
.tp3-mark.is-replay .tp3-plate-c{animation:tp3-reg-c2 .75s var(--tp3-ease) both}
.tp3-mark.is-replay .tp3-plate-m{animation:tp3-reg-m2 .75s var(--tp3-ease) both}
.tp3-mark.is-replay .tp3-plate-y{animation:tp3-reg-y2 .75s var(--tp3-ease) both}
.tp3-mark.is-replay .tp3-mark-sheen{animation:tp3-sheen-b .8s .3s var(--tp3-ease-io) both}
.tp3-brand:is(:hover,:focus-visible) .tp3-mark,.tp-editorial .tp3-footer-identity:is(:hover,:focus-visible) .tp3-mark{transform:rotateY(-16deg) rotateX(5deg) translateY(-2px)}
@keyframes tp3-base{0%,86%{opacity:0}100%{opacity:1}}
@keyframes tp3-plates{0%{opacity:0}14%,86%{opacity:1}100%{opacity:0}}
@keyframes tp3-base-b{0%,88%{opacity:0}100%{opacity:1}}
@keyframes tp3-plates-b{0%,88%{opacity:1}100%{opacity:0}}
@keyframes tp3-reg-c{0%{transform:translate(-16px,-8px) rotate(-5deg);opacity:0}30%{opacity:1}100%{transform:none}}
@keyframes tp3-reg-m{0%{transform:translate(15px,-12px) rotate(4deg);opacity:0}30%{opacity:1}100%{transform:none}}
@keyframes tp3-reg-y{0%{transform:translate(3px,16px) rotate(-3deg);opacity:0}30%{opacity:1}100%{transform:none}}
@keyframes tp3-reg-c2{0%{transform:translate(-5px,-2px)}100%{transform:none}}
@keyframes tp3-reg-m2{0%{transform:translate(5px,-3px)}100%{transform:none}}
@keyframes tp3-reg-y2{0%{transform:translate(1px,5px)}100%{transform:none}}
@keyframes tp3-sheen{from{background-position:180% 0}to{background-position:-80% 0}}
@keyframes tp3-sheen-b{from{background-position:180% 0}to{background-position:-80% 0}}
@keyframes tp3-letter{from{opacity:0;transform:translateY(55%) rotate(4deg)}to{opacity:1;transform:none}}
@keyframes tp3-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.tp3-header .tp-brand-lettering.tp3-lettering{display:flex;flex-direction:column;gap:0;line-height:1}
.tp3-header[data-living-nav] .tp-brand-name.tp3-wordmark{font:600 clamp(1.55rem,1.9vw,2.15rem)/1.02 var(--tp3-serif);letter-spacing:.005em;color:var(--nav-ink);white-space:nowrap}
.tp3-header .tp3-wordmark span{display:inline-block;transition:transform .45s var(--tp3-ease),color .3s}
.tp3-brand:hover .tp3-wordmark span{transform:translateY(-2px);transition-delay:calc(var(--c) * 14ms)}
.tp3-header[data-living-nav] .tp-brand-rule.tp3-rule{display:flex;gap:4px;height:3px;margin:8px 0 7px;background:none;width:112px}
.tp3-rule i{flex:1;transform-origin:0 50%;transition:flex-grow .5s var(--tp3-ease)}
.tp3-rule i:nth-child(1){background:var(--tp3-cyan);--r:0}.tp3-rule i:nth-child(2){background:var(--tp3-magenta);--r:1}.tp3-rule i:nth-child(3){background:var(--tp3-yellow);--r:2}.tp3-rule i:nth-child(4){background:currentColor;opacity:.75;--r:3}
.tp3-brand:hover .tp3-rule i:nth-child(1){flex-grow:2.2}.tp3-brand:hover .tp3-rule i:nth-child(3){flex-grow:1.6}
.tp3-header[data-living-nav] .tp-brand-sub{font:600 .56rem/1.35 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;opacity:.82}
.tp3-header[data-living-nav].is-stuck .tp-brand-sub{max-height:0;opacity:0;overflow:hidden}
.tp3-header[data-living-nav] .tp-brand-sub{max-height:2em;transition:max-height .4s var(--tp3-ease),opacity .3s}
.tp3-header[data-living-nav].is-stuck .tp3-rule{margin-bottom:0}
.tp3-quote-mini{display:none}
.tp3-header .tp3-menu-toggle{gap:10px}
.tp3-burger{position:relative;display:inline-block;width:20px;height:14px}
.tp3-burger i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .45s var(--tp3-ease),opacity .25s,top .45s var(--tp3-ease)}
.tp3-burger i:nth-child(1){top:0}.tp3-burger i:nth-child(2){top:6px;right:5px}.tp3-burger i:nth-child(3){top:12px}
.is-menu-open .tp3-burger i:nth-child(1){top:6px;transform:rotate(45deg)}
.is-menu-open .tp3-burger i:nth-child(2){opacity:0;transform:translateX(-8px)}
.is-menu-open .tp3-burger i:nth-child(3){top:6px;transform:rotate(-45deg)}
.tp3-header[data-living-nav] .tp-nav-quote span{display:inline-block;transition:transform .35s var(--tp3-ease)}
.tp3-header[data-living-nav] .tp-nav-quote:hover span{transform:translate(3px,-3px)}

@media(min-width:1101px) and (max-width:1380px){
  .tp3-header[data-living-nav] .tp-brand-name.tp3-wordmark{font-size:1.6rem}
  .tp3-header[data-living-nav] .tp-brand-sub{display:none}
  .tp3-mark{width:44px;height:66px}
}
@media(max-width:1100px){
  .tp3-header[data-living-nav] .tp-nav-inner{min-height:var(--tp3-header-h);width:calc(100% - 32px);gap:10px;flex-wrap:nowrap}
  .tp3-header[data-living-nav].is-stuck .tp-nav-inner{min-height:var(--tp3-header-h)}
  .tp3-header[data-living-nav] .tp-brand.tp3-brand{gap:11px;margin-right:auto;min-width:0}
  .tp3-mark,.tp3-header[data-living-nav].is-stuck .tp3-mark{width:36px;height:54px}
  .tp3-header[data-living-nav] .tp-brand-name.tp3-wordmark{font-size:1.4rem}
  .tp3-header[data-living-nav] .tp-brand-rule.tp3-rule{width:84px;height:2px;margin:5px 0 0}
  .tp3-header[data-living-nav] .tp-brand-sub{display:none}
  .tp3-quote-mini{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:99px;background:linear-gradient(120deg,#ecd394,#cb9f49);color:#17383d!important;font:700 .8rem/1 var(--tp3-sans);text-decoration:none!important;white-space:nowrap;flex:0 0 auto}
  .tp3-header[data-living-nav] .tp-menu-toggle.tp3-menu-toggle{min-height:44px;min-width:44px;padding:0 12px;border-radius:99px;flex:0 0 auto;font:600 .8rem/1 var(--tp3-sans)}
  .tp3-header[data-living-nav][data-menu-ready] .tp-navigation{inset:var(--tp3-header-h) 0 0;top:var(--tp3-header-h)}
  .tp3-header[data-living-nav].is-stuck .tp-navigation{top:var(--tp3-header-h)}
  .admin-bar .tp3-header[data-living-nav] .tp-navigation{top:calc(var(--tp3-header-h) + 46px)}
  .tp3-header[data-living-nav] .tp-navigation>a:not(.tp-button),.tp3-header[data-living-nav] .tp-navigation>details>summary{padding-left:2px!important;padding-right:2px!important;margin:0!important}
  .tp3-header[data-living-nav] .tp-navigation>details{margin:0!important;padding:0!important}
  .tp3-header[data-living-nav] .tp-navigation>.tp-nav-quote{margin-left:0!important}
}
@media(min-width:601px) and (max-width:782px){.admin-bar .tp3-header[data-living-nav] .tp-navigation{top:calc(var(--tp3-header-h) + 46px)}}
@media(max-width:600px){.admin-bar .tp3-header[data-living-nav] .tp-navigation{top:var(--tp3-header-h)}}
@media(max-width:380px){
  .tp3-header[data-living-nav] .tp-brand-name.tp3-wordmark{font-size:1.2rem}
  .tp3-header .tp3-menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tp3-quote-mini{padding:0 12px}
}

/* 4. Mega menu preview: real work instead of drawn paper ----------------- */
.tp3-mega-preview{min-height:260px;border-radius:var(--tp3-radius-sm);background:var(--tp3-ink)!important;isolation:isolate}
.tp3-mega-preview .tp-nav-service-art,.tp3-mega-preview .tp-menu-paper{display:none}
.tp3-menu-shot{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .5s var(--tp3-ease),transform 1.2s var(--tp3-ease);z-index:-1}
.tp3-menu-shot img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.tp3-menu-shot img.tp3-spread{object-position:100% 50%}
.tp3-menu-shot::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b232800 30%,#0b2328e6)}
.tp3-mega-preview[data-art=graphic-design] [data-shot=graphic-design],.tp3-mega-preview[data-art=printing] [data-shot=printing],.tp3-mega-preview[data-art=general-supplies] [data-shot=general-supplies],.tp3-mega-preview[data-art=promotional-items] [data-shot=promotional-items],.tp3-mega-preview[data-art=journal] [data-shot=journal],.tp3-mega-preview[data-art=periodical] [data-shot=periodical],.tp3-mega-preview[data-art=book] [data-shot=book]{opacity:1;transform:none}
.tp3-menu-caption{position:relative;color:#fff;font:500 1.5rem/1.2 var(--tp3-serif)}

/* 5. Buttons & links ----------------------------------------------------- */
.tp-editorial .tp-button,.tp-editorial .tp-text-link{transition:transform .35s var(--tp3-ease),background .3s,box-shadow .35s,color .3s}
.tp-editorial .tp-button:hover{transform:translateY(-2px);box-shadow:0 14px 26px -16px #0b232880}
.tp-editorial .tp-button:active{transform:translateY(0) scale(.98)}
.tp-editorial .tp-text-link span[aria-hidden],.tp-editorial .tp-button span[aria-hidden]{display:inline-block;transition:transform .35s var(--tp3-ease)}
.tp-editorial .tp-text-link:hover span[aria-hidden],.tp-editorial .tp-button:hover span[aria-hidden]{transform:translate(3px,-3px)}
.tp-editorial :focus-visible{outline-offset:4px}

/* 6. Faster reveals (content was arriving 2–3 s late) --------------------- */
.tp-editorial .tp-reveal{transform:translateY(18px);transition:opacity .55s ease,transform .6s var(--tp3-ease);transition-delay:min(var(--d,0ms),360ms)}

/* 7. Hero ------------------------------------------------------------------ */
.tp-page-home .tp-hero-v3 .tp-hero-lead{max-width:36em}
.tp-page-home .tp-hero-v3 .tp-actions{margin-top:30px}

/* 8. Service cards with real imagery --------------------------------------- */
.tp-editorial .tp-business-grid{gap:clamp(16px,1.6vw,26px)}
.tp-editorial .tp-business-card.tp3-service-card{position:relative;display:flex;flex-direction:column;padding:0;border:1px solid var(--tp3-line);border-top:0;border-radius:var(--tp3-radius);background:#fffdf8;overflow:hidden;box-shadow:var(--tp3-shadow-1);transition:transform .6s var(--tp3-ease),box-shadow .6s var(--tp3-ease)}
.tp-editorial .tp3-service-card>*:not(.tp3-card-media):not(.tp-business-number){margin-left:24px;margin-right:24px}
.tp-editorial .tp3-service-card .tp-eyebrow{margin-top:22px;min-height:0;font:700 .64rem/1.4 var(--tp3-sans);letter-spacing:.12em;text-transform:uppercase;color:#8a6a2c}
.tp-editorial .tp3-service-card h3{margin:10px 24px 12px;font:600 clamp(1.55rem,1.8vw,1.95rem)/1.1 var(--tp3-serif);color:var(--tp3-text)}
.tp-editorial .tp3-service-card h3 a::after{content:'';position:absolute;inset:0;z-index:4}
.tp-editorial .tp3-service-card p:not(.tp-eyebrow){font-size:.95rem;line-height:1.65;margin-bottom:26px;color:#40595c}
.tp3-card-media{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--tp3-ink)}
.tp3-card-media img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform 1.4s var(--tp3-ease),filter .6s}
.tp3-card-media img.tp3-spread{object-position:100% 50%}
.tp3-card-media::after{content:'';position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(180deg,#0b232800,#0b232899);pointer-events:none}
.tp3-card-media figcaption{position:absolute;left:14px;bottom:12px;z-index:2;font:700 .6rem/1 var(--tp3-sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.92}
.tp-editorial .tp3-service-card .tp-business-number{position:absolute;top:14px;right:14px;z-index:3;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#faf8f2e6;color:var(--tp3-ink);font:600 1rem/1 var(--tp3-serif);backdrop-filter:blur(6px)}
.tp-editorial .tp3-service-card:is(:hover,:focus-within){transform:translateY(-6px);box-shadow:var(--tp3-shadow-2)}
.tp-editorial .tp3-service-card:is(:hover,:focus-within) .tp3-card-media img{transform:scale(1.07)}
.tp-editorial .tp3-service-card:focus-within{outline:3px solid #9b6419;outline-offset:3px}
.tp-editorial .tp3-service-card :focus-visible{outline:0}
.tp-editorial .tp3-service-card .tp-business-symbol{display:none}
@media(max-width:650px){
  .tp-editorial .tp-business-card.tp3-service-card{display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:16px;padding:0 16px 0 0;min-height:176px}
  .tp-editorial .tp3-service-card .tp3-card-media{grid-column:1;grid-row:1/-1;aspect-ratio:auto;height:100%;min-height:176px}
  .tp-editorial .tp3-service-card>*:not(.tp3-card-media):not(.tp-business-number){grid-column:2;margin-left:0;margin-right:0}
  .tp-editorial .tp3-service-card .tp-eyebrow{margin-top:16px;font-size:.58rem}
  .tp-editorial .tp3-service-card h3{margin:6px 0 6px;font-size:1.45rem}
  .tp-editorial .tp3-service-card p:not(.tp-eyebrow){margin-bottom:16px;font-size:.86rem;line-height:1.55}
  .tp-editorial .tp3-service-card .tp-eyebrow{display:none}
  .tp-editorial .tp3-service-card h3{margin-top:16px!important}
  .tp-editorial .tp3-service-card .tp-business-number{top:10px;left:10px;right:auto;width:30px;height:30px;font-size:.85rem}
  .tp3-card-media figcaption{display:none}
  .tp3-card-media img.tp3-spread{object-position:100% 50%}
}

/* 9. "Find the right route" cards with real artwork --------------------------- */
.tp-editorial [data-choice-card] .tp-choice-art{display:none}
.tp3-choice-photo{position:relative;margin:16px 0 18px;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:var(--tp3-ink);box-shadow:0 18px 34px -24px #0b2328aa;flex-shrink:0;width:100%}
.tp3-choice-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 12%;transition:transform 1.2s var(--tp3-ease)}
.tp3-choice-photo img.tp3-spread{object-position:100% 50%}
.tp-publication-choice:is(:hover,:focus-within) .tp3-choice-photo img{transform:scale(1.06) rotate(-.6deg)}
.tp-choice-featured .tp3-choice-photo{box-shadow:0 20px 40px -22px #000}
.tp-page-home .tp-publication-choice{min-height:0}
.tp-editorial .tp-publication-choice.tp-choice-featured :is(h3,h3 a){color:#fff9e9}
.tp-editorial .tp-publication-choice h3 a{text-decoration:none}
.tp-editorial:not(.tp-page-home) .tp-publication-choice{border-radius:var(--tp3-radius);transition:transform .5s var(--tp3-ease),box-shadow .5s}
.tp-editorial:not(.tp-page-home) .tp-publication-choice:is(:hover,:focus-within){transform:translateY(-5px);box-shadow:var(--tp3-shadow-2)}
@media(max-width:760px){
  .tp-page-home .tp-publication-choice .tp3-choice-photo{grid-column:2;grid-row:1/4;width:108px;aspect-ratio:3/4;margin:0}
  .tp-publication-choice:not(.tp-page-home *) .tp3-choice-photo{aspect-ratio:16/10}
}

/* 10. Process: one section, four real stages -------------------------------- */
.tp3-process{position:relative;background:var(--tp3-paper);color:var(--tp3-text);overflow:hidden}
.tp3-process::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#0b232809 1px,transparent 1px),linear-gradient(90deg,#0b232809 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,#000,transparent 85%);pointer-events:none}
.tp3-process .tp-section-heading h2{font:600 clamp(2.2rem,3.6vw,3.6rem)/1.04 var(--tp3-serif);color:var(--tp3-text)}
.tp3-process .tp-lead{max-width:52em}
.tp3-process-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4.5vw,72px);align-items:center;margin-top:clamp(26px,3vw,44px)}
.tp3-process-steps{list-style:none;margin:0;padding:0;counter-reset:none}
.tp3-step{border-top:1px solid var(--tp3-line)}
.tp3-step:last-child{border-bottom:1px solid var(--tp3-line)}
.tp3-step-head{position:relative;display:grid;grid-template-columns:56px 1fr;align-items:center;gap:10px;width:100%;padding:20px 0;background:none;border:0;color:inherit;text-align:left;cursor:pointer;font:inherit}
.tp3-step-num{font:600 2rem/1 var(--tp3-serif);color:#b9a984;transition:color .4s}
.tp3-step-title{display:flex;flex-direction:column;gap:5px;font:600 clamp(1.3rem,1.7vw,1.7rem)/1.15 var(--tp3-serif);color:var(--tp3-text)}
.tp3-step-title small{font:700 .62rem/1 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase;color:#8a6a2c}
.tp3-step-bar{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden}
.tp3-step-bar i{display:block;height:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--tp3-cyan),var(--tp3-magenta),var(--tp3-yellow))}
.tp3-step.is-active .tp3-step-num{color:var(--tp3-gold)}
.tp3-step.is-active .tp3-step-bar i{transform:scaleX(1);transition:transform .6s var(--tp3-ease)}
[data-tp3-process].is-playing .tp3-step.is-active .tp3-step-bar i{transform:scaleX(0);animation:tp3-step-fill var(--tp3-step-ms,5200ms) linear forwards}
[data-tp3-process].is-paused .tp3-step.is-active .tp3-step-bar i{animation-play-state:paused}
@keyframes tp3-step-fill{to{transform:scaleX(1)}}
.tp3-step-body{display:grid;grid-template-rows:0fr;padding-left:66px;transition:grid-template-rows .55s var(--tp3-ease)}
.tp3-step-body>div{overflow:hidden;min-height:0}
.tp3-step-body p{margin:0 0 10px;font-size:.98rem;line-height:1.65;color:#40595c}
.tp3-step-body .tp3-step-more{margin-bottom:22px;font-size:.9rem;color:var(--tp3-muted)}
.tp3-step.is-active .tp3-step-body{grid-template-rows:1fr}
html:not(.tp-js) .tp3-step-body{grid-template-rows:1fr}
.tp3-process-stage{position:relative;aspect-ratio:5/4;border-radius:12px;overflow:hidden;background:var(--tp3-ink);box-shadow:var(--tp3-shadow-2)}
.tp3-stage-frame{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:scale(1.04);transition:opacity .8s var(--tp3-ease),transform 1.2s var(--tp3-ease),visibility 0s .8s}
.tp3-stage-frame.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .8s var(--tp3-ease),transform 1.2s var(--tp3-ease),visibility 0s}
.tp3-stage-frame>div{position:absolute;inset:0}
.tp3-stage-frame img{display:block;width:100%;height:100%;object-fit:cover}
.tp3-stage-frame figcaption{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;gap:10px;align-items:center;max-width:calc(100% - 32px);padding:9px 13px;border-radius:99px;background:#0b2328cc;color:#fff;font:600 .72rem/1.3 var(--tp3-sans);letter-spacing:.02em;backdrop-filter:blur(8px)}
.tp3-stage-frame figcaption span{color:var(--tp3-gold-soft);font-weight:700}
.tp3-stage-spread img{transform:scale(1.12);transform-origin:70% 40%;transition:transform 7s linear}
.tp3-stage-frame.is-active .tp3-stage-spread img{transform:scale(1)}
.tp3-stage-proof{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#f7f3e8,#e6dfcc)}
.tp3-stage-proof img{position:relative;width:78%!important;height:auto!important;object-fit:contain;box-shadow:0 30px 50px -26px #0b2328aa;transform:rotate(-2.5deg)}
.tp3-proof-mark{position:absolute;top:18px;right:20px;padding:6px 10px;border:1px dashed #c2187f99;color:#9c1266;font:700 .64rem/1 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase;background:#fff9}
.tp3-stamp{position:absolute;right:13%;bottom:18%;padding:12px 18px;border:3px solid #0a6b7a;border-radius:6px;color:#0a6b7a;font:800 1.15rem/1 var(--tp3-sans);letter-spacing:.18em;text-transform:uppercase;background:#faf8f2cc;transform:rotate(-12deg) scale(2.2);opacity:0;box-shadow:inset 0 0 0 2px #faf8f2,inset 0 0 0 4px #0a6b7a55;transition:transform .5s cubic-bezier(.3,1.6,.5,1) .55s,opacity .25s .55s}
.tp3-stage-frame.is-active .tp3-stamp{transform:rotate(-12deg) scale(1);opacity:1}
.tp3-stage-press img{object-position:30% 50%}
.tp3-stage-press::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b232810,#0b232855)}
.tp3-press-sheets{position:absolute;right:8%;bottom:18%;width:32%;aspect-ratio:3/4;z-index:2}
.tp3-press-sheets i{position:absolute;inset:0;background:#fbf9f2;border-radius:2px;box-shadow:0 18px 30px -16px #000c;opacity:0}
.tp3-press-sheets i::before{content:'';position:absolute;inset:14% 14% auto;height:22%;background:linear-gradient(90deg,var(--tp3-cyan),var(--tp3-magenta));opacity:.85}
.tp3-press-sheets i::after{content:'';position:absolute;inset:44% 14% 14%;background:repeating-linear-gradient(180deg,#9aa6a8 0 3px,transparent 3px 9px);opacity:.6}
.tp3-stage-frame.is-active .tp3-press-sheets i{animation:tp3-sheet 3.6s var(--tp3-ease) infinite}
.tp3-stage-frame.is-active .tp3-press-sheets i:nth-child(2){animation-delay:1.2s}
.tp3-stage-frame.is-active .tp3-press-sheets i:nth-child(3){animation-delay:2.4s}
@keyframes tp3-sheet{0%{opacity:0;transform:translate(-120%,10%) rotate(-8deg)}18%{opacity:1}55%{opacity:1;transform:translate(0,0) rotate(-3deg)}100%{opacity:0;transform:translate(8%,-4%) rotate(-2deg)}}
.tp3-stage-manuscript{background:#efe9da}
.tp3-stage-manuscript img{object-fit:cover}
.tp3-stage-reg{position:absolute;inset:14px;pointer-events:none;z-index:4}
.tp3-stage-reg i{position:absolute;width:18px;height:18px;border-color:#ffffffb3;border-style:solid;border-width:0}
.tp3-stage-reg i:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}
.tp3-stage-reg i:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}
.tp3-stage-reg i:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px;opacity:0}
.tp3-stage-reg i:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}
@media(max-width:900px){
  .tp3-process-grid{grid-template-columns:1fr}
  .tp3-process-stage{order:-1;aspect-ratio:4/3}
}
@media(max-width:560px){
  .tp3-step-head{grid-template-columns:44px 1fr;padding:16px 0}
  .tp3-step-num{font-size:1.6rem}
  .tp3-step-body{padding-left:54px}
  .tp3-stage-frame figcaption{font-size:.66rem;left:10px;bottom:10px}
}

/* 11. Made in-house: always legible over the press photograph --------------- */
.tp3-production .tp3-production-shade{opacity:1!important}
.tp-page-home .tp3-production .tp-production-img{opacity:.7}
.tp-page-home .tp3-production .tp3-production-shade{background:linear-gradient(90deg,#041d2230 0%,#041d22b3 42%,#041d22f5 62%)}
.tp3-press-video{object-fit:cover}
.tp-editorial:not(.tp-page-home) .tp3-production{position:relative;overflow:hidden;background:linear-gradient(165deg,#08272c,#041d22 60%,#06181c);color:#d7e6e7;padding:clamp(64px,8vw,110px) 0}
.tp-editorial:not(.tp-page-home) .tp3-production .tp-production-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,64px);align-items:center}
.tp-editorial:not(.tp-page-home) .tp3-production .tp-production-media{position:relative;margin:0;height:clamp(300px,36vw,480px);border-radius:10px;overflow:hidden;box-shadow:var(--tp3-shadow-2)}
.tp-editorial:not(.tp-page-home) .tp3-production .tp-production-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tp-editorial:not(.tp-page-home) .tp3-production .tp3-production-shade{position:absolute;inset:0;background:linear-gradient(180deg,#041d2210,#041d2280)}
.tp-editorial:not(.tp-page-home) .tp3-production .tp-production-tag{position:absolute;left:16px;bottom:16px;z-index:2;padding:8px 12px;border-radius:99px;background:#0b2328cc;color:#fff;font:700 .64rem/1 var(--tp3-sans);letter-spacing:.08em;text-transform:uppercase}
.tp-editorial:not(.tp-page-home) .tp3-production h2{color:#fff}
.tp-editorial:not(.tp-page-home) .tp3-production h2 em,.tp-editorial:not(.tp-page-home) .tp3-production .tp-eyebrow{color:#f0c063}
.tp-editorial:not(.tp-page-home) .tp3-production p,.tp-editorial:not(.tp-page-home) .tp3-production li{color:#c6d8d9}
.tp-editorial:not(.tp-page-home) .tp3-production .tp-text-link{color:#eccf92!important}
.tp-editorial:not(.tp-page-home) .tp3-production .tp-section-word{opacity:.05}
.tp-editorial:not(.tp-page-home) .tp3-production .tp-production-caps{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.tp-editorial:not(.tp-page-home) .tp3-production .tp-production-caps li{display:flex;gap:12px;align-items:baseline;padding:12px 0;border-top:1px solid #ffffff1c;color:#e8f0f0}
.tp-editorial:not(.tp-page-home) .tp3-production .tp-production-caps li span{font:600 1.1rem/1 var(--tp3-serif);color:var(--tp3-gold-soft)}
.tp-editorial:not(.tp-page-home) .tp3-production .tp-actions{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px}
@media(max-width:860px){.tp-editorial:not(.tp-page-home) .tp3-production .tp-production-grid{grid-template-columns:1fr}}
@media(max-width:760px){.tp-page-home .tp3-production .tp3-production-shade{background:linear-gradient(180deg,transparent 45%,#092c31)}}

/* 12. Page intros with imagery ------------------------------------------------- */
.tp-page-intro.tp3-has-visual{position:relative;overflow:hidden;padding:clamp(46px,5vw,76px) 0 clamp(40px,4.5vw,64px);background:radial-gradient(120% 140% at 85% 20%,#0a5b67 0%,var(--tp3-teal) 45%,#03343c 100%)}
.tp-page-intro.tp3-has-visual::after{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:56px 56px;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 60%)}
.tp3-intro-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,4vw,64px);align-items:center;position:relative;z-index:1}
.tp3-intro-copy>*:first-child{margin-top:0}
.tp3-intro-visual{position:relative;height:clamp(240px,24vw,340px)}
.tp3-fan-card{position:absolute;top:50%;left:50%;width:42%;aspect-ratio:3/4;border-radius:4px;overflow:hidden;background:#0b2328;box-shadow:0 28px 50px -24px #000c,0 0 0 1px #ffffff1a;transform:translate(-50%,-50%) translateX(calc((var(--i) - 1) * 64%)) rotate(calc((var(--i) - 1) * 8deg)) translate(var(--px,0px),var(--py,0px));transition:transform .9s var(--tp3-ease);animation:tp3-fan-in 1s calc(.1s + var(--i) * 110ms) var(--tp3-ease) both}
.tp3-fan-card:nth-child(2){z-index:2;width:46%}
.tp3-fan-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.tp3-fan-card img.tp3-spread{object-position:100% 50%}
.tp3-intro-visual:hover .tp3-fan-card{transform:translate(-50%,-50%) translateX(calc((var(--i) - 1) * 78%)) rotate(calc((var(--i) - 1) * 11deg)) translate(var(--px,0px),var(--py,0px))}
@keyframes tp3-fan-in{from{opacity:0;translate:0 60px;scale:.92}to{opacity:1;translate:0 0;scale:1}}
.tp3-intro-photo{height:auto;aspect-ratio:16/10;border-radius:10px;overflow:hidden;box-shadow:0 30px 60px -30px #000c;animation:tp3-clip-in 1.1s .1s var(--tp3-ease) both}
.tp3-intro-photo img{display:block;width:100%;height:100%;object-fit:cover}
.tp3-intro-note{position:absolute;left:12px;bottom:12px;padding:6px 10px;border-radius:99px;background:#0b2328cc;color:#fff;font:700 .58rem/1 var(--tp3-sans);letter-spacing:.12em;text-transform:uppercase}
@keyframes tp3-clip-in{from{clip-path:inset(0 0 100% 0);transform:translateY(20px)}to{clip-path:inset(0);transform:none}}
@media(max-width:900px){
  .tp3-intro-grid{grid-template-columns:1fr}
  .tp3-intro-visual{height:210px;max-width:460px;width:100%}
  .tp3-intro-photo{height:auto}
  .tp3-fan-card{width:30%}.tp3-fan-card:nth-child(2){width:33%}
}

/* 12b. Selected journals on phones: a horizontal cover strip instead of a clipped column. */
@media(max-width:760px){
  .tp-page-home .tp-journal-selectors{display:flex!important;flex-direction:row!important;gap:10px!important;overflow-x:auto!important;overflow-y:hidden!important;height:auto!important;max-height:none!important;padding:4px 2px 12px!important;scroll-snap-type:x proximity;scrollbar-width:thin}
  .tp-page-home .tp-journal-selectors .tp-journal-selector{flex:0 0 92px!important;width:92px!important;min-width:92px!important;height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;padding:8px 6px!important;scroll-snap-align:start;text-align:center;border-radius:6px}
  .tp-page-home .tp-journal-selector .tp-selector-cover{width:66px!important;height:84px!important;flex:none!important}
  .tp-page-home .tp-journal-selector .tp-selector-cover img{width:100%!important;height:100%!important;object-fit:cover}
  .tp-page-home .tp-journal-selector .tp-selector-text{display:block!important;min-width:0;width:100%}
  .tp-page-home .tp-journal-selector .tp-selector-text strong{display:block;font-size:.74rem!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tp-page-home .tp-journal-selector .tp-selector-text span{display:none!important}
}

/* 13. Clients --------------------------------------------------------------------- */
.tp-editorial .tp-clients-page .tp-client-wall{gap:14px}
.tp-editorial .tp-clients-page .tp-client-open{padding:18px 14px 16px;border-radius:var(--tp3-radius);transition:transform .5s var(--tp3-ease),box-shadow .5s,background .3s}
.tp-editorial .tp-clients-page .tp-client-open-art{height:120px}
.tp-editorial .tp-clients-page .tp-client-open-art img{max-height:112px;max-width:88%;width:auto;height:auto;object-fit:contain}
.tp-editorial .tp-clients-page .tp-client-open:hover{transform:translateY(-4px);box-shadow:var(--tp3-shadow-2);background:#fff}
.tp-editorial .tp-clients-page .tp-client-sector{margin-bottom:clamp(30px,3.5vw,52px)}
[data-client-gallery].is-autoplay .tp-client-choice.is-selected{position:relative}
@media(max-width:760px){
  .tp-page-home .tp-client-gallery .tp-client-focus{display:none!important}
  .tp-page-home .tp-client-gallery{display:block}
  .tp-page-home .tp-client-gallery .tp-client-choices{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:12px!important;margin:0!important;padding:0!important;list-style:none;width:100%!important}
  .tp-page-home .tp-client-gallery .tp-client-choices>li{grid-column:auto!important;grid-row:auto!important;width:auto!important;margin:0!important;min-width:0;border:0!important;padding:0!important}
  .tp-page-home .tp-client-choices .tp-client-choice{width:100%!important;min-height:0!important;padding:14px 10px!important}
  .tp-page-home .tp-client-gallery .tp-client-choices>li{min-height:0!important;height:auto!important}
  .tp-page-home .tp-client-choices .tp-client-choice{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;height:100%;padding:16px 10px;border:1px solid var(--tp3-line)!important;border-radius:var(--tp3-radius);background:#fffdf8;text-align:center;transform:none!important}
  .tp-page-home .tp-client-choices .tp-client-choice::after,.tp-page-home .tp-client-choices .tp-client-choice::before{display:none!important}
  .tp-page-home .tp-client-choices .tp-client-choice-art{flex:none!important;width:100%!important;height:84px!important;margin:0!important}
  .tp-page-home .tp-client-choices .tp-client-choice-art img{max-width:100%!important;max-height:84px!important;width:auto!important;height:auto!important}
  .tp-page-home .tp-client-choices .tp-client-choice-name{font-size:.8rem!important;line-height:1.35!important;color:var(--tp3-text)}
  .tp-page-home .tp-evidence-row a{display:grid!important;grid-template-columns:30px minmax(0,1fr) 18px;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:14px 0!important}
  .tp-page-home .tp-evidence-num{grid-column:1;grid-row:1/3}
  .tp-page-home .tp-evidence-name{grid-column:2;grid-row:1;font-size:1.3rem!important}
  .tp-page-home .tp-evidence-inst{grid-column:2;grid-row:2;margin:2px 0 0!important}
  .tp-page-home .tp-evidence-arrow{grid-column:3;grid-row:1/3;margin:0!important}
}
[data-client-gallery] .tp3-client-timer{position:absolute;left:0;right:0;bottom:0;height:2px;overflow:hidden;pointer-events:none}
[data-client-gallery] .tp3-client-timer i{display:block;height:100%;background:var(--tp3-gold);transform-origin:0 50%;animation:tp3-step-fill 3.4s linear forwards}
[data-client-gallery].is-paused .tp3-client-timer i{animation-play-state:paused}

/* 14. Portfolio filter ---------------------------------------------------------------- */
.tp3-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.tp3-filter button{min-height:44px;padding:0 18px;border:1px solid var(--tp3-line);border-radius:99px;background:#fffdf8;color:var(--tp3-text);font:600 .82rem/1 var(--tp3-sans);cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s var(--tp3-ease)}
.tp3-filter button:hover{transform:translateY(-2px);border-color:#b9a984}
.tp3-filter button[aria-pressed=true]{background:var(--tp3-ink);border-color:var(--tp3-ink);color:#fff}
.tp3-filter button b{font-weight:500;opacity:.65;margin-left:6px}
.tp-project-item.tp3-hidden{display:none}
.tp-project-item.tp3-enter{animation:tp3-card-in .55s var(--tp3-ease) both}
@keyframes tp3-card-in{from{opacity:0;transform:translateY(16px) scale(.97)}}
.tp-editorial .tp-project-item img{transition:transform 1.2s var(--tp3-ease)}

/* 15. Footer: dark ink colophon -------------------------------------------------------- */
.tp-editorial .tp-footer.tp3-footer{position:relative;margin:0;padding:clamp(56px,6vw,88px) 0 0;background:var(--tp3-ink);color:var(--tp3-on-dark);border:0;overflow:hidden}
.tp-editorial .tp3-footer::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%,#0a6b7a33,transparent 60%),radial-gradient(40% 60% at 0% 100%,#e0b04a14,transparent 70%);pointer-events:none}
.tp-editorial .tp3-footer-press{position:absolute;inset:0 0 auto;display:flex;height:4px}
.tp-editorial .tp3-footer-press i{flex:1}.tp-editorial .tp3-footer-press i:nth-child(1){background:var(--tp3-cyan)}.tp-editorial .tp3-footer-press i:nth-child(2){background:var(--tp3-magenta)}.tp-editorial .tp3-footer-press i:nth-child(3){background:var(--tp3-yellow)}.tp-editorial .tp3-footer-press i:nth-child(4){background:#000}
.tp-editorial .tp3-footer-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.8fr)) minmax(0,1.25fr);gap:clamp(24px,3vw,52px);padding-bottom:clamp(40px,4vw,64px)}
.tp-editorial .tp3-footer h2{margin:0 0 16px;font:700 .68rem/1.3 var(--tp3-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tp3-gold-soft)}
.tp-editorial .tp3-footer a{color:var(--tp3-on-dark);text-decoration:none}
.tp-editorial .tp3-footer-identity{display:inline-flex;align-items:center;gap:14px;perspective:600px;margin-bottom:18px}
.tp-editorial .tp3-footer .tp3-mark{width:48px;height:72px}
.tp-editorial .tp3-footer-name{display:flex;flex-direction:column;gap:6px;font:600 1.9rem/1 var(--tp3-serif);color:#fff}
.tp-editorial .tp3-footer-name small{font:600 .6rem/1.2 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--tp3-on-dark-muted)}
.tp-editorial .tp3-footer-brand p{max-width:34em;margin:0 0 16px;font-size:.92rem;line-height:1.7;color:var(--tp3-on-dark-muted)}
.tp-editorial .tp3-footer-badge a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #e0b04a55;border-radius:99px;color:var(--tp3-gold-soft);font:700 .72rem/1 var(--tp3-sans);letter-spacing:.08em;text-transform:uppercase;transition:background .3s,border-color .3s}
.tp-editorial .tp3-footer-badge a:hover{background:#e0b04a1a;border-color:var(--tp3-gold-soft)}
.tp-editorial .tp3-footer-col{margin:0}
.tp-editorial .tp3-footer-col summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:default}
.tp-editorial .tp3-footer-col summary::-webkit-details-marker{display:none}
.tp-editorial .tp3-footer-col summary h2{margin:0 0 16px}
.tp3-plus{display:none}
.tp-editorial .tp3-footer ul{list-style:none;margin:0;padding:0}
.tp-editorial .tp3-footer li{margin:0;font-size:inherit}
.tp-editorial .tp3-footer address{margin:0}
.tp-editorial .tp3-footer li a{position:relative;display:inline-flex;align-items:center;min-height:36px;font-size:.93rem;color:#dbe5e3;transition:color .3s,transform .35s var(--tp3-ease)}
.tp-editorial .tp3-footer li a::after{content:'';position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--tp3-gold-soft);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--tp3-ease)}
.tp-editorial .tp3-footer li a:hover{color:#fff;transform:translateX(3px)}
.tp-editorial .tp3-footer li a:hover::after{transform:scaleX(1)}
.tp-editorial .tp3-footer-contact a,.tp-editorial .tp3-footer-contact address{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--tp3-line-dark);font-style:normal;font-size:.95rem;color:#fff;transition:color .3s,padding .35s var(--tp3-ease)}
.tp-editorial .tp3-footer-contact a:hover{color:var(--tp3-gold-soft);padding-left:6px}
.tp-editorial .tp3-footer-contact span{font:700 .6rem/1.2 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--tp3-on-dark-muted)}
.tp-editorial .tp3-footer-contact address{border-bottom:0;color:#dbe5e3;line-height:1.55}
.tp-editorial .tp3-footer-contact address a{display:inline;padding:0;border:0;color:var(--tp3-gold-soft);font-size:.85rem}
.tp-editorial .tp3-footer-contact em{font-style:normal}
.tp-editorial .tp3-footer-contact b{font-weight:400}
.tp-editorial .tp3-footer-bottom{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:16px 0 22px;border-top:1px solid var(--tp3-line-dark);font-size:.82rem;color:var(--tp3-on-dark-muted)}
.tp-editorial .tp3-footer-bottom nav{display:flex;flex-wrap:wrap;gap:4px 22px}
.tp-editorial .tp3-footer-bottom a{display:inline-flex;align-items:center;min-height:44px;color:var(--tp3-on-dark-muted);transition:color .3s}
.tp-editorial .tp3-footer-bottom a:hover{color:#fff}
.tp-editorial .tp3-footer .tp3-top span{display:inline-block;margin-left:6px;transition:transform .35s var(--tp3-ease)}
.tp-editorial .tp3-footer .tp3-top:hover span{transform:translateY(-3px)}
.tp-editorial .tp3-footer :focus-visible{outline:2px solid var(--tp3-gold-soft);outline-offset:3px}
@media(max-width:1180px){.tp-editorial .tp3-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tp-editorial .tp3-footer-brand{grid-column:1/-1}.tp-editorial .tp3-footer-contact{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.tp-editorial .tp3-footer-contact h2{grid-column:1/-1}}
@media(max-width:700px){
  .tp-editorial .tp3-footer-grid{grid-template-columns:1fr;gap:0}
  .tp-editorial .tp3-footer-brand{padding-bottom:22px}
  .tp-editorial .tp3-footer-col{border-top:1px solid var(--tp3-line-dark)}
  .tp-editorial .tp3-footer-col summary{cursor:pointer;min-height:54px}
  .tp-editorial .tp3-footer-col summary h2{margin:0}
  .tp3-plus{display:block;position:relative;width:14px;height:14px}
  .tp3-plus::before,.tp3-plus::after{content:'';position:absolute;left:0;right:0;top:6px;height:2px;background:var(--tp3-gold-soft);transition:transform .35s var(--tp3-ease)}
  .tp3-plus::after{transform:rotate(90deg)}
  .tp-editorial .tp3-footer-col[open] .tp3-plus::after{transform:rotate(0)}
  .tp-editorial .tp3-footer-col ul{padding-bottom:14px}
  .tp-editorial .tp3-footer li a{min-height:44px}
  .tp-editorial .tp3-footer-contact{display:block;border-top:1px solid var(--tp3-line-dark);padding-top:22px}
  .tp-editorial .tp3-footer-bottom{flex-direction:column;align-items:flex-start;padding-bottom:90px}
}

/* 16. Reduced motion ------------------------------------------------------------------ */
@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  .tp3-mark *,.tp3-mark,.tp3-wordmark span,.tp3-rule i,.tp3-fan-card,.tp3-intro-photo,.tp3-press-sheets i,.tp3-stamp,.tp3-stage-frame,.tp3-stage-spread img,.tp-project-item.tp3-enter{animation:none!important;transition:none!important}
  .tp3-mark-plates{display:none}
  .tp3-mark-base{opacity:1!important}
  .tp3-stamp{opacity:1;transform:rotate(-12deg)}
  .tp3-progress{display:none}
  .tp-editorial .tp3-service-card,.tp-editorial .tp3-service-card img,.tp3-choice-photo img{transition:none}
  .tp-editorial .tp3-service-card:is(:hover,:focus-within),.tp-editorial .tp3-service-card:is(:hover,:focus-within) .tp3-card-media img{transform:none}
}
