/*
 * Design 3.4 — homepage: services bento, publication objects, the opening
 * issue and client journal mastheads. Loaded on the homepage only, after v31.css.
 */

/* 1. Services: a priority bento ------------------------------------------------- */
.tp-page-home .tp34-services{position:relative;background:var(--tp3-cream)}
.tp34-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(300px,25vw,360px));gap:14px;margin-top:clamp(30px,3.4vw,48px)}
.tp34-tile{position:relative;isolation:isolate;min-width:0;overflow:hidden;border-radius:18px;background:var(--tp3-ink);color:#fff;box-shadow:0 30px 60px -40px #0b2328aa}
.tp34-tile-graphic-design{grid-column:1/7;grid-row:1/3}
.tp34-tile-printing{grid-column:7/13;grid-row:1}
.tp34-tile-general-supplies{grid-column:7/10;grid-row:2}
.tp34-tile-promotional-items{grid-column:10/13;grid-row:2}
.tp34-photo{position:absolute;inset:0;z-index:-2;margin:0}
.tp34-photo .tp34-img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.4s var(--tp3-ease),filter .8s}
.tp34-tile-graphic-design .tp34-img{object-position:62% 50%}
.tp34-tile-printing .tp34-img{object-position:50% 45%}
.tp34-tile-general-supplies .tp34-img{object-position:50% 38%}
.tp34-tile:hover .tp34-img,.tp34-tile:focus-within .tp34-img{transform:scale(1.07)}
.tp34-tile::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0b232873 0%,#0b232800 24%,#0b232800 40%,#0b232866 58%,#0b2328e6 82%,#0b2328fa 100%);transition:background .6s}
.tp34-tile-promotional-items::before{background:linear-gradient(180deg,#0b232866 0%,#0b232800 22%,#0b232800 62%,#0b2328cc 84%,#0b2328f5 100%)}
.tp34-tile:hover::before,.tp34-tile:focus-within::before{background:linear-gradient(180deg,#0b232822 0%,#0b232880 38%,#0b2328f0 70%,#0b2328fc 100%)}
.tp34-tile::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),#ffffff1c,transparent 45%);opacity:0;transition:opacity .4s}
.tp34-tile:hover::after{opacity:1}
.tp34-stock{position:absolute;top:16px;right:16px;z-index:2;padding:6px 10px;border-radius:99px;background:#0b2328b8;backdrop-filter:blur(6px);color:#fff;font:700 .58rem/1 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase}
.tp34-body{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(20px,2.2vw,32px)}
.tp34-no{position:absolute;top:clamp(14px,1.6vw,22px);left:clamp(20px,2.2vw,30px);font:600 clamp(2.6rem,4vw,4.4rem)/1 var(--tp3-serif);color:transparent;-webkit-text-stroke:1px #ffffffb3;text-shadow:0 6px 30px #0006}
.tp-page-home .tp34-kicker{margin:0 0 8px;font:700 .72rem/1.3 var(--tp3-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tp3-gold-soft)}
.tp-page-home .tp34-tile h3{margin:0;font:600 clamp(1.55rem,2vw,2rem)/1.05 var(--tp3-serif);letter-spacing:-.005em;color:#fff}
.tp-page-home .tp34-tile-graphic-design h3{font-size:clamp(2.3rem,3.6vw,3.5rem)}
.tp-page-home .tp34-tile-printing h3{font-size:clamp(1.9rem,2.6vw,2.5rem)}
.tp-page-home a.tp34-link{color:inherit;text-decoration:none}
.tp-page-home a.tp34-link::after{content:'';position:absolute;inset:0;z-index:3}
.tp-page-home a.tp34-link:focus-visible{outline:none}
.tp34-tile:has(a.tp34-link:focus-visible){outline:3px solid var(--tp3-gold-soft);outline-offset:3px}
.tp34-more{max-height:0;opacity:0;overflow:hidden;transition:max-height .7s var(--tp3-ease),opacity .45s,margin .6s var(--tp3-ease)}
.tp34-tile:hover .tp34-more,.tp34-tile:focus-within .tp34-more,.tp34-tile-graphic-design .tp34-more{max-height:280px;opacity:1;margin-top:14px}
.tp-page-home .tp34-desc{margin:0 0 14px;max-width:34em;font:400 .98rem/1.6 var(--tp3-sans);color:#e9e4d8}
.tp34-tile-general-supplies .tp34-desc,.tp34-tile-promotional-items .tp34-desc{display:none}
.tp34-includes{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.tp34-includes li{padding:7px 11px;border:1px solid #ffffff38;border-radius:99px;background:#ffffff14;backdrop-filter:blur(6px);color:#fff;font:600 .76rem/1.1 var(--tp3-sans)}
.tp34-go{display:inline-flex;align-items:center;gap:8px;font:700 .88rem/1 var(--tp3-sans);color:var(--tp3-gold-soft)}
.tp34-go i{font-style:normal;transition:transform .4s var(--tp3-ease)}
.tp34-tile:hover .tp34-go i{transform:translate(3px,-3px)}
/* Promotional products: the placement guide prints its mark on hover. */
.tp34-logo-guide rect{animation:tp34-ants 1.4s linear infinite paused}
.tp34-tile:hover .tp34-logo-guide rect{animation-play-state:running}
.tp34-logo-mark{transform-box:fill-box;transform-origin:center;transition:transform .7s var(--tp3-ease)}
.tp34-tile:hover .tp34-logo-mark{transform:scale(1.12) rotate(-6deg)}
@keyframes tp34-ants{to{stroke-dashoffset:-56}}
/* Entrance: tiles unfold from the bottom, in priority order. */
.tp34-bento.is-armed .tp34-tile{clip-path:inset(100% 0 0 0 round 18px);transform:translateY(24px)}
.tp34-bento.is-in .tp34-tile{clip-path:inset(0 0 0 0 round 18px);transform:none;transition:clip-path 1.1s calc(var(--i) * 120ms) var(--tp3-ease),transform 1.1s calc(var(--i) * 120ms) var(--tp3-ease)}
@media(max-width:1100px){
  .tp34-bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(330px,auto)}
  .tp34-tile-graphic-design,.tp34-tile-printing{grid-column:1/-1;grid-row:auto}
  .tp34-tile-general-supplies,.tp34-tile-promotional-items{grid-column:auto;grid-row:auto}
  .tp34-tile-graphic-design{min-height:430px}
}
@media(max-width:640px){
  .tp34-bento{grid-template-columns:minmax(0,1fr);gap:12px}
  .tp34-tile,.tp34-tile-graphic-design,.tp34-tile-general-supplies,.tp34-tile-promotional-items{grid-column:1/-1;display:flex;flex-direction:column;min-height:0}
  .tp34-photo{position:relative;inset:auto;z-index:0;height:230px}
  .tp34-tile::before{inset:0 0 auto;height:230px;z-index:0;background:linear-gradient(180deg,#0b232873 0%,#0b232800 40%,#0b232800 70%,#0b2328 100%)!important}
  .tp34-body{position:relative;inset:auto;padding:0 20px 24px;margin-top:-34px}
  .tp34-no{top:-196px;left:20px}
  .tp34-more{max-height:none;opacity:1;margin-top:12px}
  .tp34-tile-general-supplies .tp34-desc,.tp34-tile-promotional-items .tp34-desc{display:block}
  .tp-page-home .tp34-desc{font-size:.94rem}
  .tp-page-home .tp34-tile-graphic-design h3{font-size:2.2rem}
}

/* 2. Routes: publications as objects ------------------------------------------- */
.tp-page-home .tp34-routes{position:relative}
.tp34-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:clamp(28px,3vw,44px)}
.tp34-route{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--tp3-line);border-radius:18px;background:#fffdf8;box-shadow:0 24px 50px -44px #0b2328;transition:transform .6s var(--tp3-ease),box-shadow .6s}
.tp34-route:hover{transform:translateY(-6px);box-shadow:0 40px 70px -46px #0b2328}
.tp34-route.is-featured{background:var(--tp3-ink);border-color:var(--tp3-ink);color:var(--tp3-on-dark)}
.tp34-stage{position:relative;display:grid;place-items:center;height:280px;perspective:1000px;background:radial-gradient(60% 55% at 50% 88%,#ffffff 0%,transparent 70%),linear-gradient(180deg,#f3eee2,#ebe4d4);overflow:hidden}
.tp34-route.is-featured .tp34-stage{background:radial-gradient(60% 55% at 50% 88%,#1d4a52 0%,transparent 70%),linear-gradient(180deg,#0e2e34,#0b2328)}
.tp34-floor{position:absolute;left:50%;bottom:30px;width:62%;height:22px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,#0b232866,transparent);filter:blur(4px);transition:width .8s var(--tp3-ease),opacity .8s}
.tp34-route:hover .tp34-floor{width:48%;opacity:.7}
.tp34-obj{position:relative;z-index:1;transform-style:preserve-3d;transform:translateY(-6px) scale(1.14);transition:transform .9s var(--tp3-ease)}
.tp34-route:hover .tp34-obj{transform:translateY(-16px) scale(1.14)}
.tp34-3d{position:relative;width:var(--w);height:var(--h);transform-style:preserve-3d;transform:rotateY(var(--ry,32deg)) rotateX(4deg);transition:transform 1s var(--tp3-ease)}
.tp34-route:hover .tp34-3d{--ry:14deg}
.tp34-3d>i{position:absolute;display:block}
.tp34-3d>.f{inset:0;transform:translateZ(calc(var(--d) / 2));background:var(--art) var(--fx,50%) 50%/var(--fs,cover) no-repeat #ddd;border-radius:1px 3px 3px 1px;box-shadow:inset 3px 0 6px -2px #0006}
.tp34-3d>.f::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,#ffffff2e 0%,transparent 30%,transparent 70%,#0000001a 100%)}
.tp34-3d>.s{top:0;left:calc(50% - var(--d) / 2);width:var(--d);height:100%;transform:rotateY(-90deg) translateZ(calc(var(--w) / 2));background:var(--spine,#0b2328);overflow:hidden}
.tp34-3d>.p{top:2px;left:calc(50% - var(--d) / 2);width:calc(var(--d) - 2px);height:calc(100% - 4px);transform:rotateY(90deg) translateZ(calc(var(--w) / 2 - 2px));background:repeating-linear-gradient(90deg,#fbf8f0 0 1px,#e2dac6 1px 2px)}
/* Journal: a standing issue on a small stack of earlier issues. */
.tp34-obj-journal .tp34-3d{--w:132px;--h:170px;--d:12px;--spine:#5a1a25}
.tp34-obj-journal .s b{position:absolute;inset:0;display:grid;place-items:center;writing-mode:vertical-rl;transform:rotate(180deg);color:#f6e9d7;font:700 8px/1 var(--tp3-sans);letter-spacing:.22em}
.tp34-slab{position:absolute;left:50%;bottom:-16px;width:170px;height:16px;transform:translateX(-46%);border-radius:2px;background:repeating-linear-gradient(0deg,#f4efe3 0 3px,#cbbf9f 3px 4px);box-shadow:0 10px 18px -8px #000a}
/* Books: guideline book standing, prospectus behind. Spread artwork: front = right half. */
.tp34-spread>.f{--fs:auto 100%;--fx:100%}
.tp34-spread>.s{background:var(--art) calc(var(--h) * var(--ar) / -2 + var(--d) / 2) 50%/auto 100% no-repeat #6b3a1c}
.tp34-obj-books>.tp34-3d{--h:168px;--ar:1.567;--w:128px;--d:24px}
.tp34-obj-books>.tp34-behind{position:absolute;left:40px;top:14px;--h:150px;--ar:1.911;--w:143px;--d:10px;--ry:22deg;transform:translateZ(-60px) rotateY(var(--ry)) rotateX(4deg)}
.tp34-route:hover .tp34-obj-books>.tp34-behind{--ry:30deg;transform:translateZ(-60px) translateX(18px) rotateY(var(--ry)) rotateX(4deg)}
.tp34-obj-books{margin-right:40px}
/* Newsletter: a thin stapled issue with a lifted corner. */
.tp34-obj-mag .tp34-3d{--w:130px;--h:172px;--d:4px;--spine:#f1ece0}
.tp34-obj-mag .f::before{content:'';position:absolute;right:0;bottom:0;width:34px;height:34px;background:linear-gradient(135deg,transparent 49%,#e7e0cf 50%,#fbf8f0 70%,#d6cdb6 100%);box-shadow:-3px -3px 6px -2px #0005;border-radius:0 0 3px 0;transition:width .6s var(--tp3-ease),height .6s var(--tp3-ease)}
.tp34-route:hover .tp34-obj-mag .f::before{width:46px;height:46px}
/* Business printing: an annual report with a printed form behind it. */
.tp34-obj-report .tp34-3d{--w:132px;--h:170px;--d:8px;--spine:#0a6b7a}
.tp34-form{position:absolute;left:-42px;top:-4px;width:120px;height:156px;padding:14px 12px;background:#fffdf7;border:1px solid #ddd3bc;box-shadow:0 14px 24px -14px #0008;transform:translateZ(-50px) rotate(-9deg);display:grid;align-content:start;gap:9px}
.tp34-form b{display:block;height:8px;border-bottom:1px solid #b9ae95}
.tp34-form b:first-child{height:14px;border:0;background:linear-gradient(90deg,var(--tp3-teal-2) 0 40%,transparent 40%)}
.tp34-form b:nth-child(4){width:60%}
.tp34-route-body{display:flex;flex-direction:column;flex:1;padding:22px 22px 24px}
.tp34-route-no{font:600 1rem/1 var(--tp3-serif);color:#8a6a2c}
.tp34-route.is-featured .tp34-route-no{color:var(--tp3-gold-soft)}
.tp-page-home .tp34-route h3{margin:8px 0 12px;font:600 clamp(1.35rem,1.7vw,1.6rem)/1.12 var(--tp3-serif)}
.tp-page-home .tp34-route h3 a{color:var(--tp3-ink);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--tp3-ease)}
.tp-page-home .tp34-route h3 a:hover{background-size:100% 1px}
.tp-page-home .tp34-route.is-featured h3 a{color:#fff}
.tp34-what{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.tp34-what li{padding:6px 10px;border-radius:99px;background:#efe8d8;color:#40595c;font:600 .74rem/1.1 var(--tp3-sans)}
.tp34-route.is-featured .tp34-what li{background:#ffffff14;color:var(--tp3-on-dark);border:1px solid #ffffff26}
.tp34-what li:has(a){padding:0;background:none}
.tp34-what a{position:relative;z-index:2;display:inline-block;padding:6px 10px;border:1px solid #d6c9a8;border-radius:99px;background:#fffdf8;color:#04424c!important;text-decoration:none!important;transition:background .25s,border-color .25s,color .25s}
.tp34-what a::after{content:' \2197';font-size:.9em;opacity:.55}
.tp34-what a:hover,.tp34-what a:focus-visible{border-color:#04424c;background:#04424c;color:#fff!important}
.tp-page-home .tp34-route-body>p{margin:0 0 12px;font-size:.92rem;line-height:1.6;color:var(--tp3-muted)}
.tp-page-home .tp34-route.is-featured .tp34-route-body>p{color:var(--tp3-on-dark-muted)}
.tp-page-home .tp34-bring{padding-top:12px;border-top:1px dashed #d7ccb4;font-size:.86rem!important}
.tp34-bring span{display:block;margin-bottom:4px;font:700 .64rem/1 var(--tp3-sans);letter-spacing:.16em;text-transform:uppercase;color:#8a6a2c}
.tp34-route.is-featured .tp34-bring{border-top-color:#ffffff26}
.tp34-route.is-featured .tp34-bring span{color:var(--tp3-gold-soft)}
.tp-page-home a.tp34-plan{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px;color:var(--tp3-teal-2);font:700 .9rem/1.2 var(--tp3-sans);text-decoration:none}
.tp-page-home .tp34-route.is-featured a.tp34-plan{color:var(--tp3-gold-soft)}
.tp-page-home a.tp34-plan:hover span{transform:translate(3px,-3px)}
.tp-page-home a.tp34-plan span{transition:transform .4s var(--tp3-ease)}
@media(max-width:1100px){.tp34-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.tp34-route-grid{grid-template-columns:minmax(0,1fr)}.tp34-stage{height:230px}}

/* 3. Selected journals: a feature spread with a deck of real covers ------------- */
.tp34-feature{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(28px,4.4vw,72px);align-items:center;margin-top:clamp(30px,3.4vw,48px)}
.tp34-f-stage{position:relative;display:grid;place-items:center;min-height:clamp(520px,46vw,660px);padding:44px 24px 56px;border-radius:24px;overflow:hidden;background:radial-gradient(60% 55% at 42% 46%,#1f5059 0%,transparent 70%),radial-gradient(80% 60% at 50% 110%,#0e3a41 0%,transparent 70%),linear-gradient(160deg,#0f2f35,#081b1f);box-shadow:0 50px 90px -60px #0b2328}
.tp34-f-stage::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent);pointer-events:none}
.tp34-f-crop{position:absolute;width:26px;height:26px;border-color:#e0b04a80;border-style:solid;border-width:0}
.tp34-f-crop.tl{top:18px;left:18px;border-top-width:1px;border-left-width:1px}.tp34-f-crop.tr{top:18px;right:18px;border-top-width:1px;border-right-width:1px}
.tp34-f-crop.bl{bottom:18px;left:18px;border-bottom-width:1px;border-left-width:1px}.tp34-f-crop.br{bottom:18px;right:18px;border-bottom-width:1px;border-right-width:1px}
.tp34-f-deck{position:relative;width:min(100%,clamp(300px,27vw,420px));aspect-ratio:.78;perspective:1600px}
.tp34-f-cover{position:absolute;inset:0;margin:0;transform-origin:50% 100%;transition:transform 1s var(--tp3-ease),opacity .8s,filter .8s;will-change:transform}
.tp34-f-cover::before{content:'';position:absolute;top:6px;right:-7px;bottom:-7px;left:6px;z-index:-1;border-radius:3px;background:repeating-linear-gradient(90deg,#f7f3ea 0 1px,#d9d0bc 1px 2px) right/7px 100% no-repeat,repeating-linear-gradient(0deg,#f7f3ea 0 1px,#d9d0bc 1px 2px) bottom/100% 7px no-repeat}
.tp34-f-cover::after{content:'';position:absolute;inset:0;border-radius:3px;background:linear-gradient(90deg,#0000004d,#ffffff24 2%,transparent 6%),linear-gradient(120deg,transparent 42%,#ffffff12 50%,transparent 58%);pointer-events:none}
.tp-page-home .tp34-f-cover .tp-cover-preview{display:block;width:100%;height:100%;border-radius:3px;overflow:hidden;box-shadow:0 60px 90px -40px #000,0 0 0 1px #ffffff1a}
.tp-page-home .tp34-f-cover .tp-cover-preview img{width:100%;height:100%;object-fit:cover}
.tp-page-home .tp34-f-cover .tp-cover-open{left:50%;right:auto;bottom:16px;transform:translate(-50%,6px);padding:9px 14px;border-radius:99px;background:#0b2328e6;font:600 .8rem/1 var(--tp3-sans);opacity:0;transition:opacity .35s,transform .35s var(--tp3-ease)}
.tp-page-home .tp34-f-cover[data-pos="0"]:hover .tp-cover-open,.tp-page-home .tp34-f-cover[data-pos="0"]:focus-within .tp-cover-open{opacity:1;transform:translate(-50%,0)}
.tp34-feature.is-js .tp34-f-cover[data-pos="0"]{z-index:3;transform:none}
.tp34-feature.is-js .tp34-f-cover[data-pos="1"]{z-index:2;transform:translateX(30%) rotate(7deg) scale(.86);filter:brightness(.62);cursor:pointer}
.tp34-feature.is-js .tp34-f-cover[data-pos="2"]{z-index:1;transform:translateX(-30%) rotate(-7deg) scale(.8);filter:brightness(.45);cursor:pointer}
.tp34-feature.is-js .tp34-f-cover:not([data-pos="0"]) .tp-cover-preview{pointer-events:none}
.tp34-feature.is-js .tp34-f-cover.is-leaving{animation:tp34-leave 1s var(--tp3-ease)}
@keyframes tp34-leave{0%{transform:none;z-index:4}45%{transform:translateY(-10%) translateX(-60%) rotate(-12deg);z-index:4}100%{transform:translateX(-30%) rotate(-7deg) scale(.8);z-index:1}}
.tp34-f-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);margin:0;color:#9fb3b0;font:600 .72rem/1 var(--tp3-sans);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.tp34-f-panel{position:relative;min-width:0;display:grid}
.tp34-f-info{grid-area:1/1}
.tp34-feature.is-js .tp34-f-info{opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .5s,transform .7s var(--tp3-ease),visibility 0s .5s}
.tp34-feature.is-js .tp34-f-info.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .6s .15s,transform .8s .15s var(--tp3-ease),visibility 0s}
.tp34-feature:not(.is-js) .tp34-f-panel{gap:40px}
.tp34-feature:not(.is-js) .tp34-f-info{grid-area:auto}
.tp34-f-index{display:flex;align-items:baseline;gap:8px;margin:0 0 18px}
.tp34-f-index b{font:600 clamp(3.4rem,5vw,4.6rem)/.9 var(--tp3-serif);color:transparent;-webkit-text-stroke:1px var(--tp3-gold)}
.tp34-f-index span{font:600 1rem/1 var(--tp3-serif);color:#8a6a2c}
.tp-page-home .tp34-f-field{margin:0 0 8px;font:700 .72rem/1.2 var(--tp3-sans);letter-spacing:.18em;text-transform:uppercase;color:#8a6a2c}
.tp-page-home .tp34-f-info h3{margin:0 0 8px;font:600 clamp(2.8rem,4.6vw,4.4rem)/.98 var(--tp3-serif);letter-spacing:-.015em;color:var(--tp3-ink)}
.tp-page-home .tp34-f-inst{margin:0 0 22px;max-width:28em;font:italic 400 clamp(1.1rem,1.3vw,1.25rem)/1.45 var(--tp3-serif);color:#51666a}
.tp34-f-meta{display:grid;gap:0;margin:0 0 24px;border-top:1px solid var(--tp3-line)}
.tp34-f-meta div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--tp3-line)}
.tp34-f-meta dt{font:700 .64rem/1.5 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase;color:#8a8069}
.tp34-f-meta dd{margin:0;font:500 .98rem/1.45 var(--tp3-sans);color:var(--tp3-text)}
.tp34-f-meta div:first-child dd{font:600 1.1rem/1.35 var(--tp3-serif);color:var(--tp3-teal-2)}
.tp34-f-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.tp-page-home .tp34-f-view{display:inline-flex;align-items:center;gap:10px;min-height:50px;margin:0;padding:0 24px;border:0;border-radius:99px;background:linear-gradient(120deg,#f0d898,#cb9f49);color:#132f33;font:700 .95rem/1 var(--tp3-sans);cursor:pointer;box-shadow:0 14px 30px -16px #b8862f;transition:transform .3s var(--tp3-ease)}
.tp-page-home .tp34-f-view:hover{transform:translateY(-2px)}
.tp-page-home .tp34-f-view[hidden]{display:none}
.tp-page-home .tp34-f-actions a{color:var(--tp3-teal-2);font:700 .95rem/1.2 var(--tp3-sans);text-decoration:underline;text-decoration-color:#0a6b7a55;text-underline-offset:6px}
.tp34-f-nav{display:flex;align-items:center;gap:12px;margin-top:34px;padding-top:22px;border-top:1px solid var(--tp3-line)}
.tp34-f-nav[hidden]{display:none}
.tp34-f-thumbs{display:flex;gap:10px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.tp-page-home .tp34-f-thumbs button{position:relative;display:flex;align-items:center;gap:10px;flex:1 1 0;min-width:0;margin:0;padding:8px 12px 8px 8px;border:1px solid var(--tp3-line);border-radius:10px;background:#fffdf8;color:var(--tp3-ink);font:600 1rem/1.1 var(--tp3-serif);cursor:pointer;overflow:hidden;transition:border-color .3s,background .3s}
.tp34-f-thumbs span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp34-f-thumbs img{flex:0 0 38px;width:38px;height:49px;object-fit:cover;border-radius:2px;box-shadow:0 6px 12px -6px #0008}
.tp-page-home .tp34-f-thumbs button[aria-pressed="true"]{border-color:var(--tp3-gold);background:#fff}
.tp34-f-thumbs button i{position:absolute;left:0;bottom:0;height:2px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--tp3-cyan),var(--tp3-magenta),var(--tp3-yellow))}
.tp34-feature.is-playing .tp34-f-thumbs button[aria-pressed="true"] i{animation:tp34-fill var(--tp34-ms,6500ms) linear forwards}
.tp34-feature.is-held .tp34-f-thumbs button[aria-pressed="true"] i{animation-play-state:paused}
@keyframes tp34-fill{to{transform:scaleX(1)}}
.tp-page-home .tp34-f-arrow{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;margin:0;padding:0;border:1px solid var(--tp3-line);border-radius:50%;background:#fffdf8;color:var(--tp3-ink);font:400 1.1rem/1 var(--tp3-sans);cursor:pointer;transition:background .3s,border-color .3s}
.tp-page-home .tp34-f-arrow:hover{background:var(--tp3-gold-soft);border-color:var(--tp3-gold-soft)}
.tp-page-home .tp34-f-brief{margin:18px 0 0;color:var(--tp3-muted);font-size:.95rem}
.tp-page-home .tp34-f-brief a{color:var(--tp3-teal-2);font-weight:700;text-decoration:none}
.tp34-feature:not(.is-js) .tp34-f-deck{display:flex;gap:16px;width:100%;aspect-ratio:auto}
.tp34-feature:not(.is-js) .tp34-f-cover{position:relative;flex:1;aspect-ratio:.78}
@media(max-width:900px){
  .tp34-feature{grid-template-columns:minmax(0,1fr)}
  .tp34-f-stage{min-height:0;padding:40px 16px 52px}
  .tp34-f-deck{width:min(64vw,330px)}
  .tp34-f-meta div{grid-template-columns:minmax(0,1fr);gap:4px}
  .tp-page-home .tp34-f-thumbs button span{display:none}
  .tp-page-home .tp34-f-thumbs button{flex:0 0 auto;padding:6px}
}

/* 3b. Process: a looping clip of each step with an inset of real work ----------- */
.tp34-vframe{position:absolute;inset:0;background:var(--tp3-ink)}
.tp34-clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tp34-vframe::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b232840 0%,transparent 26%,transparent 58%,#0b2328b3 100%);pointer-events:none}
.tp34-vtag{position:absolute;top:16px;left:16px;z-index:3;padding:6px 10px;border-radius:99px;background:#0b2328b8;backdrop-filter:blur(6px);color:#fff;font:700 .58rem/1 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase}
.tp34-inset{position:absolute;right:18px;bottom:18px;z-index:3;width:clamp(170px,38%,250px);padding:10px 10px 12px;border-radius:12px;background:#fffdf8f2;backdrop-filter:blur(6px);box-shadow:0 30px 50px -24px #000c;transform:translateY(18px) rotate(2deg);opacity:0;transition:transform .9s .35s var(--tp3-ease),opacity .6s .35s}
.tp3-stage-frame.is-active .tp34-inset{transform:rotate(-1.5deg);opacity:1}
.tp34-inset-art{position:relative;border-radius:6px;overflow:hidden;background:#e9e2d0}
.tp34-inset-art img{display:block;width:100%;height:auto;max-height:190px;object-fit:cover;object-position:top}
.tp-page-home .tp34-inset p{margin:9px 2px 0;font:600 .8rem/1.35 var(--tp3-sans);color:var(--tp3-ink)}
.tp34-inset small,.tp34-brief-title small{display:block;margin-bottom:3px;font:700 .58rem/1 var(--tp3-sans);letter-spacing:.16em;text-transform:uppercase;color:#8a6a2c}
.tp34-inset-stamp{position:absolute;right:8px;bottom:8px;padding:5px 9px;border:2px solid #b3246f;border-radius:4px;color:#b3246f;font:800 .7rem/1 var(--tp3-sans);letter-spacing:.12em;text-transform:uppercase;background:#fffdf8d9;transform:rotate(-10deg) scale(1.6);opacity:0;transition:transform .45s 1.1s cubic-bezier(.2,1.6,.4,1),opacity .3s 1.1s}
.tp3-stage-frame.is-active .tp34-inset-stamp{transform:rotate(-10deg) scale(1);opacity:1}
.tp34-inset-brief{padding:14px 14px 12px}
.tp-page-home .tp34-brief-title{margin:0 0 10px!important;font:600 1.1rem/1.1 var(--tp3-serif)!important}
.tp34-inset-brief ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.tp34-inset-brief li{display:flex;align-items:center;gap:9px;font:500 .8rem/1.3 var(--tp3-sans);color:var(--tp3-text);opacity:0;transform:translateX(10px);transition:opacity .5s,transform .6s var(--tp3-ease)}
.tp34-inset-brief li i{flex:0 0 38px;padding:4px 0;border-radius:4px;background:var(--tp3-teal);color:#fff;font:700 .54rem/1 var(--tp3-sans);font-style:normal;letter-spacing:.08em;text-align:center}
.tp34-inset-brief li:nth-child(2) i{background:var(--tp3-magenta)}.tp34-inset-brief li:nth-child(3) i{background:#8a6a2c}.tp34-inset-brief li:nth-child(4) i{background:#0a8fc4}
.tp3-stage-frame.is-active .tp34-inset-brief li{opacity:1;transform:none}
.tp3-stage-frame.is-active .tp34-inset-brief li:nth-child(1){transition-delay:.6s}.tp3-stage-frame.is-active .tp34-inset-brief li:nth-child(2){transition-delay:.8s}.tp3-stage-frame.is-active .tp34-inset-brief li:nth-child(3){transition-delay:1s}.tp3-stage-frame.is-active .tp34-inset-brief li:nth-child(4){transition-delay:1.2s}
.tp-page-home .tp3-process-stage{aspect-ratio:4/3.3}
@media(max-width:600px){.tp34-inset{width:46%;right:10px;bottom:52px;padding:8px}.tp34-inset-art img{max-height:120px}.tp-page-home .tp34-inset p{font-size:.7rem}.tp34-inset-brief li{font-size:.7rem}.tp34-inset-brief li i{flex-basis:32px}}

/* 4. Clients: journal link in the medallion, and journal mastheads --------------- */
.tp34-client-journal{display:flex;flex-direction:column;align-items:center;gap:4px;margin:-12px auto 16px;max-width:320px}
.tp34-client-journal[hidden]{display:none}
.tp34-client-journal>span{font:700 .62rem/1 var(--tp3-sans);letter-spacing:.16em;text-transform:uppercase;color:#8a6a2c}
.tp-page-home .tp34-client-journal a{color:var(--tp3-teal-2);font:600 .9rem/1.35 var(--tp3-sans);text-decoration:none}
.tp-page-home .tp34-client-journal a:hover{text-decoration:underline;text-underline-offset:4px}
.tp-page-home .tp-client-evidence.tp34-links{display:block}
.tp34-links-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 24px;margin-bottom:18px}
.tp-page-home .tp34-links-head .tp-eyebrow{margin:0;max-width:none;padding:0}
.tp-page-home .tp34-links-head p:not(.tp-eyebrow){margin:0;color:var(--tp3-muted);font-size:.95rem}
.tp34-mastheads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.tp-page-home .tp34-mastheads a{position:relative;display:flex;flex-direction:column;height:100%;padding:22px 20px 20px;border:1px solid var(--tp3-line);border-radius:14px;background:#fffdf8;color:var(--tp3-ink);text-decoration:none;transition:transform .5s var(--tp3-ease),box-shadow .5s,border-color .3s}
.tp-page-home .tp34-mastheads a:hover{transform:translateY(-5px);border-color:var(--tp3-gold);box-shadow:0 30px 50px -36px #0b2328}
.tp34-mast-rule{display:flex;gap:4px;margin-bottom:16px}
.tp34-mast-rule i{width:18px;height:3px;border-radius:2px;background:var(--tp3-cyan);transform-origin:0 50%;transition:width .5s var(--tp3-ease)}
.tp34-mast-rule i:nth-child(2){background:var(--tp3-magenta)}.tp34-mast-rule i:nth-child(3){background:var(--tp3-yellow)}
.tp34-mastheads a:hover .tp34-mast-rule i{width:30px}
.tp34-mastheads strong{font:600 clamp(1.5rem,2vw,1.9rem)/1.05 var(--tp3-serif);letter-spacing:-.005em}
.tp34-mastheads span{margin-top:6px;font:400 .86rem/1.45 var(--tp3-sans);color:var(--tp3-muted)}
.tp34-mastheads em{margin-top:auto;padding-top:16px;font:700 .64rem/1.3 var(--tp3-sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--tp3-teal-2)}
.tp34-mastheads em i{font-style:normal}
@media(max-width:1000px){.tp34-mastheads{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.tp34-mastheads{grid-template-columns:minmax(0,1fr)}}

@media(prefers-reduced-motion:reduce){
  .tp34-bento.is-armed .tp34-tile{clip-path:none;transform:none}
  .tp34-tile,.tp34-img,.tp34-more,.tp34-3d,.tp34-obj,.tp34-f-cover,.tp34-f-info,.tp34-inset,.tp34-inset-brief li,.tp34-route,.tp34-mastheads a{transition:none!important}
  .tp34-f-cover.is-leaving{animation:none}
  .tp34-logo-guide rect{animation:none}
}
