:root {
  --trn-ink: #0b2746;
  --trn-ink-2: #173b60;
  --trn-blue: #245b88;
  --trn-sky: #dbeaf4;
  --trn-paper: #f6f2e9;
  --trn-paper-2: #fffdf8;
  --trn-line: rgba(11,39,70,.14);
  --trn-red: #a83232;
  --trn-gold: #b98a45;
  --trn-shadow: 0 24px 70px rgba(11,39,70,.15);
}

html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 20% 0%, rgba(36,91,136,.08), transparent 32rem),
    linear-gradient(180deg, var(--trn-paper-2), var(--trn-paper));
  color: var(--trn-ink);
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.18;
  background-image:
    repeating-linear-gradient(0deg, rgba(11,39,70,.025) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, rgba(11,39,70,.018) 0 1px, transparent 1px 7px);
}

::selection { background: rgba(36,91,136,.2); }

.trn-serif { font-family: Georgia, 'Times New Roman', serif; }
.trn-kicker { letter-spacing:.18em; text-transform:uppercase; font-weight:800; font-size:.72rem; color:var(--trn-red); }
.trn-rule { border-color:var(--trn-line); }
.trn-paper-card { background:rgba(255,253,248,.84); border:1px solid var(--trn-line); box-shadow:0 12px 34px rgba(11,39,70,.08); }
.trn-ink-card { background:linear-gradient(145deg,#0b2746,#102f51); color:white; box-shadow:var(--trn-shadow); }
.trn-btn-primary { background:var(--trn-ink); color:white; border:1px solid var(--trn-ink); }
.trn-btn-primary:hover { background:#061a30; }
.trn-btn-secondary { background:rgba(255,255,255,.72); color:var(--trn-ink); border:1px solid rgba(11,39,70,.22); }
.trn-btn-secondary:hover { background:white; }

/* Global shell */
#site-header { position:sticky; top:0; z-index:80; }
.trn-header {
  background:rgba(255,253,248,.92);
  border-bottom:1px solid var(--trn-line);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}
.trn-header-inner { max-width:1280px; margin:auto; min-height:72px; display:flex; align-items:center; gap:22px; padding:10px 20px; }
.trn-brand { display:flex; align-items:center; min-width:max-content; text-decoration:none; color:var(--trn-ink); }
.trn-brand-mark {
  width:44px; height:44px; border-radius:14px; overflow:hidden; border:1px solid rgba(11,39,70,.16); background:#fff;
  box-shadow:0 6px 18px rgba(11,39,70,.1); margin-right:10px;
}
.trn-brand-mark img { width:100%; height:100%; object-fit:cover; object-position:center 23%; transform:scale(1.54); }
.trn-brand-title { font-weight:900; letter-spacing:-.035em; line-height:1; font-size:1rem; }
.trn-brand-subtitle { display:block; margin-top:4px; color:#637487; font-size:.68rem; letter-spacing:.04em; }

.trn-desktop-nav { margin-left:auto; display:flex; align-items:stretch; gap:2px; }
.trn-nav-item { position:relative; display:flex; align-items:center; }
.trn-nav-trigger,.trn-nav-link {
  display:flex; align-items:center; gap:5px; min-height:44px; padding:0 11px; border-radius:10px;
  font-size:.82rem; font-weight:700; color:#344b63; background:transparent; border:0; cursor:pointer; text-decoration:none;
}
.trn-nav-trigger:hover,.trn-nav-link:hover,.trn-nav-link[aria-current="page"] { color:var(--trn-ink); background:rgba(36,91,136,.08); }
.trn-nav-caret { font-size:.68rem; opacity:.6; transition:transform .2s ease; }
.trn-nav-item[data-open="true"] .trn-nav-caret { transform:rotate(180deg); }
.trn-mega {
  position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%) translateY(-6px);
  width:min(760px,85vw); padding:18px; opacity:0; visibility:hidden; pointer-events:none;
  background:rgba(255,253,248,.98); border:1px solid var(--trn-line); border-radius:20px; box-shadow:0 30px 80px rgba(11,39,70,.2);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
}
.trn-nav-item[data-open="true"] .trn-mega { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.trn-mega-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.trn-mega-card { padding:13px; border-radius:14px; text-decoration:none; color:var(--trn-ink); border:1px solid transparent; }
.trn-mega-card:hover { background:white; border-color:var(--trn-line); box-shadow:0 8px 20px rgba(11,39,70,.08); }
.trn-mega-card strong { display:block; font-size:.84rem; }
.trn-mega-card span { display:block; margin-top:4px; font-size:.72rem; color:#6d7d8e; line-height:1.35; }

.trn-header-actions { display:flex; align-items:center; gap:8px; margin-left:8px; }
.trn-icon-btn { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; border:1px solid var(--trn-line); background:rgba(255,255,255,.7); color:var(--trn-ink); cursor:pointer; }
.trn-icon-btn:hover { background:white; }
.trn-mobile-btn { display:none; }

/* Mobile drawer */
#mobile-nav { position:fixed; inset:0; z-index:95; pointer-events:none; }
#mobile-nav .trn-mobile-backdrop { position:absolute; inset:0; opacity:0; background:rgba(5,20,36,.5); backdrop-filter:blur(4px); transition:opacity .2s ease; }
#mobile-nav .trn-mobile-panel { position:absolute; top:0; right:0; width:min(92vw,420px); height:100%; transform:translateX(105%); transition:transform .24s ease; background:var(--trn-paper-2); box-shadow:-20px 0 60px rgba(11,39,70,.2); overflow:auto; padding:18px; }
#mobile-nav[data-open="true"] { pointer-events:auto; }
#mobile-nav[data-open="true"] .trn-mobile-backdrop { opacity:1; }
#mobile-nav[data-open="true"] .trn-mobile-panel { transform:none; }
.trn-mobile-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:14px; border-bottom:1px solid var(--trn-line); }
.trn-mobile-section { border-bottom:1px solid var(--trn-line); }
.trn-mobile-section button,.trn-mobile-direct { width:100%; display:flex; justify-content:space-between; align-items:center; padding:15px 4px; background:none; border:0; color:var(--trn-ink); font-weight:800; text-decoration:none; }
.trn-mobile-sub { display:none; padding:0 0 14px; }
.trn-mobile-section[data-open="true"] .trn-mobile-sub { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.trn-mobile-sub a { padding:10px; border:1px solid var(--trn-line); border-radius:11px; color:#4a5e72; font-size:.76rem; text-decoration:none; background:white; }

/* Loader + route wind transition */
#trn-loader,#trn-route-transition {
  position:fixed; inset:0; z-index:120; display:flex; align-items:center; justify-content:center; flex-direction:column;
  background:rgba(255,253,248,.98); transition:opacity .34s ease, visibility .34s ease;
}
#trn-loader[data-hidden="true"],#trn-route-transition[data-hidden="true"] { opacity:0; visibility:hidden; pointer-events:none; }
.trn-flock { width:min(850px,94vw); max-height:60vh; object-fit:contain; mix-blend-mode:multiply; }
.trn-loader-copy { margin-top:6px; color:#6a7887; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; font-weight:800; }
#trn-route-transition { z-index:115; background:rgba(246,242,233,.94); overflow:hidden; }
#trn-route-transition .trn-flock { animation:flockForward .72s cubic-bezier(.16,.82,.34,1) both; }
#trn-route-transition[data-direction="back"] .trn-flock { transform:scaleX(-1); animation-name:flockBack; }
@keyframes flockForward { from { transform:translateX(-28vw) scale(.92); opacity:0; } 35%{opacity:1} to { transform:translateX(30vw) scale(1.04); opacity:.15; } }
@keyframes flockBack { from { transform:translateX(28vw) scaleX(-1) scale(.92); opacity:0; } 35%{opacity:1} to { transform:translateX(-30vw) scaleX(-1) scale(1.04); opacity:.15; } }

/* Language panel */
#language-dialog { position:fixed; inset:0; z-index:110; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(4,17,31,.64); backdrop-filter:blur(6px); }
#language-dialog[data-open="true"] { display:flex; }
.trn-language-window { width:min(820px,100%); max-height:min(720px,88vh); overflow:auto; background:var(--trn-paper-2); border:1px solid rgba(255,255,255,.5); border-radius:24px; box-shadow:0 30px 100px rgba(0,0,0,.28); padding:24px; }
.trn-language-head { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.trn-language-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:18px; }
.trn-language-option { display:flex; gap:9px; align-items:center; border:1px solid var(--trn-line); border-radius:13px; background:white; padding:11px; font-size:.78rem; font-weight:700; color:#3e5368; cursor:pointer; }
.trn-language-option:hover { border-color:rgba(36,91,136,.5); background:#f7fbfd; }
.trn-language-option[data-active="true"] { box-shadow:0 0 0 2px var(--trn-blue) inset; color:var(--trn-ink); }
.trn-language-option img { width:25px; height:17px; object-fit:cover; border-radius:3px; }
.trn-language-note { margin-top:15px; padding:10px 12px; border-radius:12px; background:rgba(36,91,136,.07); color:#66788a; font-size:.72rem; line-height:1.45; }

/* Hero / editorial */
.trn-hero { max-width:1280px; margin:auto; padding:56px 20px 38px; }
.trn-hero-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr); gap:28px; align-items:stretch; }
.trn-hero-copy { padding:44px; border-radius:30px; position:relative; overflow:hidden; }
.trn-hero-copy::after { content:""; position:absolute; width:420px; height:420px; border-radius:50%; right:-170px; top:-180px; border:1px solid rgba(255,255,255,.13); box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 115px rgba(255,255,255,.025); }
.trn-hero h1 { font-size:clamp(2.65rem,6vw,5.3rem); line-height:.92; letter-spacing:-.055em; max-width:900px; }
.trn-hero p { max-width:730px; font-size:1.06rem; line-height:1.75; color:#d7e2ed; }
.trn-hero-logo { border-radius:30px; overflow:hidden; position:relative; min-height:420px; background:#fff; border:1px solid var(--trn-line); box-shadow:var(--trn-shadow); }
.trn-hero-logo img { width:100%; height:100%; object-fit:cover; }
.trn-hero-logo::after { content:"Editorial • Racing • Loft intelligence"; position:absolute; left:16px; right:16px; bottom:16px; padding:12px 14px; background:rgba(255,253,248,.9); border:1px solid rgba(11,39,70,.1); backdrop-filter:blur(10px); border-radius:14px; font-weight:800; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }

.trn-section { max-width:1280px; margin:auto; padding:54px 20px; }
.trn-section-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:24px; }
.trn-section-head h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.9rem,3.5vw,3rem); letter-spacing:-.035em; line-height:1.05; }
.trn-section-head p { max-width:620px; color:#64778a; line-height:1.65; }
.trn-card-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.trn-card-grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.trn-editorial-card { border-radius:22px; overflow:hidden; background:rgba(255,253,248,.9); border:1px solid var(--trn-line); box-shadow:0 13px 36px rgba(11,39,70,.08); }
.trn-editorial-card .trn-card-art { min-height:180px; padding:24px; display:flex; align-items:end; color:white; background:linear-gradient(145deg,var(--trn-ink),#315f85); position:relative; }
.trn-editorial-card .trn-card-art::before { content:""; position:absolute; inset:0; background:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25% 50%,rgba(255,255,255,.04) 50% 75%,transparent 75%); background-size:44px 44px; }
.trn-editorial-card .trn-card-body { padding:20px; }
.trn-editorial-card h3 { font-family:Georgia,'Times New Roman',serif; font-size:1.25rem; line-height:1.15; }
.trn-editorial-card p { margin-top:8px; color:#6c7b89; font-size:.84rem; line-height:1.6; }

.trn-category-cloud { display:flex; flex-wrap:wrap; gap:9px; }
.trn-chip { padding:9px 12px; border-radius:999px; border:1px solid var(--trn-line); background:rgba(255,255,255,.75); color:#53677b; font-size:.76rem; font-weight:750; text-decoration:none; }
.trn-chip:hover { background:white; color:var(--trn-ink); border-color:rgba(36,91,136,.38); }

/* Feature/tool cards */
.trn-tool-card { border-radius:22px; border:1px solid var(--trn-line); padding:22px; background:rgba(255,253,248,.88); box-shadow:0 10px 30px rgba(11,39,70,.07); }
.trn-tool-card h3 { font-size:1rem; font-weight:900; }
.trn-tool-card p { margin-top:7px; color:#6a7b8c; font-size:.82rem; line-height:1.55; }
.trn-tool-icon { width:42px; height:42px; border-radius:13px; display:grid; place-items:center; margin-bottom:15px; background:rgba(36,91,136,.09); color:var(--trn-ink); font-weight:900; }

/* Pricing */
.trn-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.trn-price-card { border:1px solid var(--trn-line); border-radius:24px; padding:24px; background:rgba(255,253,248,.9); display:flex; flex-direction:column; }
.trn-price-card[data-featured="true"] { border:2px solid var(--trn-ink); transform:translateY(-6px); box-shadow:var(--trn-shadow); }
.trn-price { margin-top:12px; font-size:2.6rem; font-weight:900; letter-spacing:-.05em; }
.trn-price small { font-size:.86rem; color:#748393; letter-spacing:0; }
.trn-list { margin:18px 0; display:grid; gap:9px; color:#5f7284; font-size:.82rem; }
.trn-list li { display:flex; gap:8px; }
.trn-list li::before { content:"✓"; color:var(--trn-blue); font-weight:900; }

/* Marketplace */
.trn-tabs { display:flex; flex-wrap:wrap; gap:8px; }
.trn-tab { border:1px solid var(--trn-line); background:white; color:#5d7184; border-radius:999px; padding:9px 14px; font-weight:800; font-size:.78rem; }
.trn-tab[data-active="true"] { background:var(--trn-ink); color:white; border-color:var(--trn-ink); }
.trn-listing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:20px; }
.trn-listing { overflow:hidden; border:1px solid var(--trn-line); border-radius:20px; background:white; }
.trn-listing-art { min-height:155px; display:grid; place-items:center; background:linear-gradient(135deg,#e7eef4,#f9f6ef); color:#6d7d8b; font-size:.75rem; }
.trn-listing-body { padding:17px; }
.trn-badge { display:inline-flex; align-items:center; border-radius:999px; padding:5px 8px; background:rgba(36,91,136,.09); color:var(--trn-blue); font-size:.65rem; font-weight:800; }

/* Magazine reader */
body[data-page="magazine"] { background:radial-gradient(circle at 50% -20%,#183e63,#06111f 54%); color:#edf3f7; }
body[data-page="magazine"]::before { opacity:.08; }
body[data-page="magazine"] .trn-header { background:rgba(7,19,32,.9); border-color:rgba(255,255,255,.1); }
body[data-page="magazine"] .trn-brand,body[data-page="magazine"] .trn-brand-title { color:white; }
body[data-page="magazine"] .trn-brand-subtitle,body[data-page="magazine"] .trn-nav-link,body[data-page="magazine"] .trn-nav-trigger { color:#bdcad6; }
body[data-page="magazine"] .trn-nav-link:hover,body[data-page="magazine"] .trn-nav-trigger:hover,body[data-page="magazine"] .trn-nav-link[aria-current="page"] { color:white; background:rgba(255,255,255,.09); }
body[data-page="magazine"] .trn-icon-btn { color:white; background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14); }
body[data-page="magazine"] .trn-mega { background:rgba(10,28,46,.98); border-color:rgba(255,255,255,.12); }
body[data-page="magazine"] .trn-mega-card { color:white; }
body[data-page="magazine"] .trn-mega-card span { color:#aebdca; }
body[data-page="magazine"] .trn-mega-card:hover { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.1); }
.trn-reader-wrap { max-width:1320px; margin:auto; padding:30px 16px 60px; }
.trn-reader-head { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:end; margin-bottom:18px; }
.trn-reader-title h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.9rem,4vw,3.2rem); }
.trn-reader-title p { margin-top:6px; color:#9fb0c1; font-size:.84rem; }
.trn-reader-controls { display:flex; gap:8px; flex-wrap:wrap; justify-content:end; }
.trn-reader-btn { padding:9px 12px; border-radius:11px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.07); color:white; font-size:.76rem; font-weight:800; }
.trn-reader-btn:hover { background:rgba(255,255,255,.12); }
.trn-reader-btn:disabled { opacity:.35; cursor:not-allowed; }
.trn-reader-stage { border-radius:24px; min-height:480px; padding:16px; border:1px solid rgba(255,255,255,.12); background:rgba(2,9,16,.52); box-shadow:0 35px 80px rgba(0,0,0,.3); overflow:hidden; }
#turnjs-viewer { width:100%; display:flex; justify-content:center; align-items:center; min-height:420px; position:relative; }
#flipbook { box-shadow:0 25px 80px rgba(0,0,0,.45); background:#fff; }
.pdf-page canvas { display:block; }
.textLayer { pointer-events:auto; color:transparent; }
.textLayer span { position:absolute; white-space:pre; transform-origin:0 0; color:transparent; }
.textLayer span::selection { background:rgba(36,120,220,.35); }
.trn-flip-flock { position:absolute; inset:0; z-index:20; display:none; place-items:center; pointer-events:none; overflow:hidden; }
.trn-flip-flock[data-active="true"] { display:grid; }
.trn-flip-flock img { width:min(780px,95%); animation:pageFlock .58s ease-out both; mix-blend-mode:screen; opacity:.7; }
.trn-flip-flock[data-direction="back"] img { animation-name:pageFlockBack; }
@keyframes pageFlock { from{transform:translateX(-32%) scale(.95);opacity:0} 30%{opacity:.85} to{transform:translateX(32%) scale(1.04);opacity:0} }
@keyframes pageFlockBack { from{transform:translateX(32%) scaleX(-1) scale(.95);opacity:0} 30%{opacity:.85} to{transform:translateX(-32%) scaleX(-1) scale(1.04);opacity:0} }
.trn-issue-strip { margin-top:16px; display:flex; gap:10px; overflow:auto; padding-bottom:4px; }
.trn-issue-chip { flex:0 0 auto; padding:10px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.12); color:#b9c8d4; text-decoration:none; font-size:.73rem; background:rgba(255,255,255,.04); }
.trn-issue-chip[data-active="true"] { background:white; color:var(--trn-ink); }

/* Footer */
.trn-footer { margin-top:50px; border-top:1px solid var(--trn-line); background:rgba(255,253,248,.72); }
.trn-footer-inner { max-width:1280px; margin:auto; padding:32px 20px 42px; display:grid; grid-template-columns:1.2fr 2fr; gap:24px; }
.trn-footer-copy { color:#657789; font-size:.78rem; line-height:1.6; }
.trn-footer-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.trn-footer-links strong { display:block; margin-bottom:8px; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.trn-footer-links a { display:block; margin:5px 0; color:#66798c; font-size:.76rem; text-decoration:none; }
.trn-footer-links a:hover { color:var(--trn-ink); }
body[data-page="magazine"] .trn-footer { border-color:rgba(255,255,255,.1); background:#071320; }
body[data-page="magazine"] .trn-footer-copy,body[data-page="magazine"] .trn-footer-links a { color:#9badbc; }
body[data-page="magazine"] .trn-footer-links strong { color:white; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
  #trn-route-transition .trn-flock,.trn-flip-flock img { display:none!important; }
}

@media (max-width:1080px) {
  .trn-desktop-nav { display:none; }
  .trn-mobile-btn { display:grid; }
  .trn-header-actions { margin-left:auto; }
  .trn-hero-grid { grid-template-columns:1fr; }
  .trn-hero-logo { min-height:320px; max-height:520px; }
  .trn-card-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:780px) {
  .trn-header-inner { min-height:64px; padding:8px 13px; gap:8px; }
  .trn-brand-mark { width:40px; height:40px; }
  .trn-brand-subtitle { display:none; }
  .trn-header-actions .trn-login,.trn-header-actions .trn-start { display:none; }
  .trn-hero { padding:32px 14px 18px; }
  .trn-hero-copy { padding:28px 22px; border-radius:22px; }
  .trn-hero h1 { font-size:clamp(2.7rem,15vw,4.4rem); }
  .trn-hero-logo { border-radius:22px; min-height:280px; }
  .trn-section { padding:42px 14px; }
  .trn-section-head { align-items:start; flex-direction:column; }
  .trn-card-grid-3,.trn-price-grid,.trn-listing-grid { grid-template-columns:1fr; }
  .trn-price-card[data-featured="true"] { transform:none; }
  .trn-language-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trn-reader-head { grid-template-columns:1fr; }
  .trn-reader-controls { justify-content:start; }
  .trn-reader-stage { padding:6px; border-radius:16px; min-height:360px; }
  #turnjs-viewer { min-height:330px; }
  .trn-footer-inner { grid-template-columns:1fr; }
  .trn-footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .trn-brand-title { font-size:.9rem; }
  .trn-icon-btn { width:38px; height:38px; }
  .trn-card-grid-4 { grid-template-columns:1fr; }
  .trn-mobile-section[data-open="true"] .trn-mobile-sub { grid-template-columns:1fr; }
}

/* Interaction and device safeguards */
html { overflow-x:clip; scrollbar-gutter:stable; }
body { overflow-x:clip; }
body.trn-scroll-locked { overflow:hidden; overscroll-behavior:none; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible { outline:3px solid rgba(61,132,183,.55); outline-offset:3px; }

.trn-start { background:var(--trn-ink); color:#fff; }
.trn-start:hover { background:#061a30; color:#fff; }
.trn-nav-trigger[aria-current="page"] { color:var(--trn-ink); background:rgba(36,91,136,.08); }

/* Keep the pointer inside one continuous menu region. */
.trn-nav-item { isolation:isolate; }
.trn-mega {
  top:100%;
  width:min(780px,calc(100vw - 32px));
  padding:10px 0 0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  transform:translateX(-50%) translateY(-4px);
  z-index:100;
}
.trn-nav-item[data-open="true"] .trn-mega { transform:translateX(-50%) translateY(0); }
.trn-mega-grid {
  padding:18px;
  background:rgba(255,253,248,.99);
  border:1px solid var(--trn-line);
  border-radius:20px;
  box-shadow:0 30px 80px rgba(11,39,70,.2);
  max-height:min(68vh,560px);
  overflow:auto;
  overscroll-behavior:contain;
}
.trn-mega-card { min-height:72px; }
.trn-mega-card:focus-visible { background:#fff; border-color:rgba(36,91,136,.28); }
body[data-page="magazine"] .trn-mega { background:transparent; border:0; }
body[data-page="magazine"] .trn-mega-grid { background:rgba(10,28,46,.99); border-color:rgba(255,255,255,.12); }
body[data-page="magazine"] .trn-nav-trigger[aria-current="page"] { color:#fff; background:rgba(255,255,255,.09); }

/* Mobile navigation */
#mobile-nav .trn-mobile-panel {
  width:min(94vw,430px);
  height:100vh;
  height:100dvh;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) 18px;
}
.trn-mobile-section > button,.trn-mobile-direct { min-height:52px; font-size:.94rem; cursor:pointer; }
.trn-mobile-sub a { min-height:46px; display:flex; align-items:center; font-size:.82rem; }
.trn-mobile-symbol { min-width:26px; text-align:center; font-size:1.15rem; }

/* Loading and transitions */
#trn-loader,#trn-route-transition { padding:20px; }
.trn-flock { width:min(760px,88vw); max-height:52vh; }
#trn-loader .trn-flock { pointer-events:none; }

/* Translation */
#google_translate_element { position:fixed!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; pointer-events:none!important; left:-10000px!important; top:-10000px!important; }
.goog-te-banner-frame.skiptranslate,iframe.goog-te-banner-frame { display:none!important; }
body { top:0!important; }
#language-dialog { overscroll-behavior:contain; }
.trn-language-window { max-height:calc(100dvh - 36px); overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.trn-language-option { min-height:48px; text-align:left; }
.trn-language-option:disabled { opacity:.55; cursor:wait; }

/* Marketplace tabs stay usable on narrow screens. */
.trn-tabs { overflow-x:auto; flex-wrap:nowrap; padding:2px 1px 7px; scrollbar-width:thin; overscroll-behavior-x:contain; }
.trn-tab { flex:0 0 auto; min-height:44px; }

/* Magazine reader */
.trn-reader-btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.trn-reader-stage,#turnjs-viewer,#flipbook { touch-action:pan-y; }
.trn-reader-stage { position:relative; }
.trn-pdf-shell { position:relative; background:#fff; overflow:hidden; }
.trn-page-placeholder { position:absolute; inset:0; display:grid; place-items:center; color:#7b8793; background:#f8fafc; font:600 .75rem/1.4 ui-sans-serif,system-ui,sans-serif; }
.pdf-page,.textLayer { position:absolute; top:0; left:0; transform-origin:top left; }
.pdf-page canvas { width:100%; height:100%; }
.trn-reader-error { padding:44px 24px; text-align:center; display:grid; gap:8px; color:#f2f5f8; }
.trn-reader-error strong { font-size:1.05rem; }
.trn-reader-error span { color:#9fb0c1; font-size:.82rem; }
.trn-issue-strip { -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; }

@media (hover:none) {
  .trn-mega-card:hover,.trn-tool-card:hover,.trn-listing:hover { box-shadow:none; }
}

@media (max-width:1080px) {
  .trn-header-inner { gap:10px; }
}

@media (max-width:780px) {
  .trn-header-inner { min-height:62px; }
  .trn-flock { width:min(560px,94vw); max-height:44vh; }
  .trn-loader-copy { font-size:.7rem; text-align:center; }
  .trn-language-window { padding:18px; border-radius:18px; }
  .trn-language-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .trn-reader-wrap { padding:20px 10px 42px; }
  .trn-reader-controls { display:grid; grid-template-columns:1fr auto 1fr; width:100%; }
  .trn-reader-controls #downloadLink { grid-column:1 / -1; }
  .trn-reader-btn { min-height:46px; }
  .trn-reader-stage { min-height:330px; }
  #turnjs-viewer { min-height:310px; }
  .trn-tabs { margin-right:-14px; padding-right:14px; }
}

@media (max-width:520px) {
  .trn-header-actions { gap:6px; }
  .trn-brand-mark { margin-right:8px; }
  .trn-language-grid { grid-template-columns:1fr; }
  .trn-mobile-section[data-open="true"] .trn-mobile-sub { grid-template-columns:1fr; }
  .trn-reader-title h1 { font-size:1.75rem; }
  .trn-reader-title p { font-size:.78rem; }
  .trn-reader-stage { min-height:300px; }
  #turnjs-viewer { min-height:280px; }
  .trn-flip-flock img { width:120%; max-width:none; }
}

@media (max-height:650px) and (max-width:1080px) {
  #mobile-nav .trn-mobile-panel { padding-top:max(10px,env(safe-area-inset-top)); }
  .trn-mobile-section > button,.trn-mobile-direct { min-height:46px; padding-top:10px; padding-bottom:10px; }
}

/* Stable sizing even if third-party styles arrive late. */
*,*::before,*::after { box-sizing:border-box; }
.trn-mega { margin-left:var(--trn-mega-shift,0px); }

/* 2026-08 reader + home hero corrections */
.trn-hero-grid {
  grid-template-columns:minmax(0,1.48fr) minmax(320px,.52fr);
  align-items:center;
}
.trn-hero-logo {
  min-height:0;
  height:auto;
  align-self:center;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fbf9f4;
}
.trn-hero-logo::after { content:none; }
.trn-hero-logo-media {
  width:100%;
  aspect-ratio:1 / 1;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#fbf9f4;
}
.trn-hero-logo-media img,
.trn-hero-logo > img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.trn-hero-logo-caption {
  margin:0 14px 14px;
  padding:11px 13px;
  border:1px solid rgba(11,39,70,.10);
  border-radius:13px;
  background:rgba(255,253,248,.94);
  color:var(--trn-ink);
  font-weight:850;
  font-size:.68rem;
  line-height:1.25;
  letter-spacing:.055em;
  text-transform:uppercase;
}

/* Reader no longer depends on a third-party page-turn plugin. */
#turnjs-viewer.trn-reader-live {
  min-height:0;
  padding:4px 0;
  perspective:1800px;
}
.trn-page-host {
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  min-height:360px;
  transition:min-height .2s ease;
}
.trn-reader-page {
  grid-area:1 / 1;
  position:relative;
  overflow:hidden;
  background:#fff;
  box-shadow:0 24px 72px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.12);
  transform-origin:center center;
  backface-visibility:hidden;
  will-change:transform,opacity,filter;
  z-index:2;
}
.trn-reader-page canvas {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
.trn-reader-page .textLayer {
  position:absolute;
  inset:0;
  overflow:hidden;
  opacity:1;
  line-height:1;
  text-size-adjust:none;
  transform-origin:0 0;
  z-index:3;
}
.trn-reader-page .textLayer span,
.trn-reader-page .textLayer br {
  color:transparent;
  position:absolute;
  white-space:pre;
  cursor:text;
  transform-origin:0 0;
}
.trn-reader-page .textLayer ::selection { background:rgba(49,119,173,.30); }
.trn-reader-page::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent 62%,rgba(0,0,0,.18) 88%,rgba(255,255,255,.18));
  transition:opacity .28s ease;
  z-index:4;
}
.trn-page-incoming { opacity:0; z-index:3; }
.trn-page-incoming.from-right { transform:translateX(4.5%) rotateY(-7deg) scale(.985); }
.trn-page-incoming.from-left { transform:translateX(-4.5%) rotateY(7deg) scale(.985); }
.trn-page-incoming.trn-page-visible {
  opacity:1;
  transform:translateX(0) rotateY(0) scale(1);
  transition:transform .34s cubic-bezier(.2,.75,.25,1),opacity .24s ease;
}
.trn-page-outgoing {
  opacity:0;
  transition:transform .34s cubic-bezier(.4,0,.65,.25),opacity .24s ease,filter .34s ease;
  filter:brightness(.92);
}
.trn-page-outgoing::after { opacity:.58; }
.trn-page-outgoing.to-left { transform:translateX(-3.2%) rotateY(5deg) scale(.992); }
.trn-page-outgoing.to-right { transform:translateX(3.2%) rotateY(-5deg) scale(.992); }

.trn-native-reader {
  width:100%;
  min-height:560px;
  display:grid;
  grid-template-rows:auto minmax(480px,72vh);
  gap:14px;
}
.trn-native-reader-copy {
  display:flex;
  align-items:center;
  gap:12px 18px;
  flex-wrap:wrap;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.055);
}
.trn-native-reader-copy strong { color:#fff; }
.trn-native-reader-copy span { flex:1 1 360px; color:#9fb0c1; font-size:.8rem; line-height:1.5; }
.trn-native-reader-actions { display:flex; gap:8px; flex-wrap:wrap; }
.trn-native-pdf,
.trn-native-pdf iframe {
  width:100%;
  height:100%;
  min-height:480px;
  border:0;
  border-radius:14px;
  background:#fff;
}

@media (max-width:1080px) {
  .trn-hero-logo {
    width:min(520px,100%);
    justify-self:center;
  }
}
@media (max-width:780px) {
  .trn-hero-logo { min-height:0; width:min(440px,100%); }
  .trn-hero-logo-media { aspect-ratio:1 / 1; }
  .trn-page-host { min-height:300px; }
  .trn-native-reader { grid-template-rows:auto minmax(420px,70vh); min-height:500px; }
  .trn-native-reader-copy { align-items:flex-start; }
}
@media (max-width:520px) {
  .trn-hero-logo-caption { margin:0 10px 10px; font-size:.62rem; }
  .trn-reader-stage { overflow:visible; }
  .trn-page-host { min-height:260px; }
  .trn-native-reader { grid-template-rows:auto minmax(380px,68vh); }
}
@media (prefers-reduced-motion:reduce) {
  .trn-page-incoming,
  .trn-page-incoming.from-right,
  .trn-page-incoming.from-left,
  .trn-page-outgoing,
  .trn-page-outgoing.to-left,
  .trn-page-outgoing.to-right {
    transform:none!important;
    transition:opacity .12s linear!important;
    filter:none!important;
  }
}
