/*
Theme Name: The Gameloop
Theme URI: https://thegameloop.fr
Author: Franck Fitrzyk
Description: Thème blocs natif pour le site de consulting The Gameloop.
Version: 2.5.1
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: the-gameloop
*/

:root { --tgl-grid: rgba(20,108,120,.06); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.wp-site-blocks { padding: 76px 0 0; }
.wp-site-blocks > * { margin-block-start: 0; }
a { text-underline-offset: .18em; }

.tgl-header { position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 9999; border-bottom: 1px solid var(--wp--preset--color--line); background: rgba(255,252,253,.94) !important; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 6px 24px rgba(5,93,105,.07); }
.admin-bar .tgl-header { top: 32px; }
.tgl-brand a { text-decoration: none; letter-spacing: -.035em; }
.tgl-brand-logo img { display:block; width:auto; max-height:46px; }
.tgl-header .wp-block-navigation-item__content { text-decoration: none; }

.tgl-hero {
  position: relative; overflow: hidden;
  background-color: var(--wp--preset--color--paper);
  background-image: linear-gradient(var(--tgl-grid) 1px, transparent 1px), linear-gradient(90deg,var(--tgl-grid) 1px,transparent 1px);
  background-size: 32px 32px;
}
.tgl-hero::before { content:""; position:absolute; width:310px; height:310px; border-radius:50%; background:var(--wp--preset--color--amber); opacity:.14; right:-90px; top:-120px; }
.tgl-hero > * { position:relative; z-index:1; }
.tgl-kicker { display:flex; align-items:center; gap:.6rem; color:var(--wp--preset--color--deep-teal); font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.tgl-kicker::before { content:""; width:28px; height:3px; border-radius:3px; background:var(--wp--preset--color--amber); }
.tgl-hero-title { letter-spacing:-.055em; }
.tgl-hero-title mark { position:relative; z-index:0; background:transparent; color:var(--wp--preset--color--teal); white-space:nowrap; }
.tgl-hero-title mark::after { content:""; position:absolute; left:1%; right:0; bottom:-4px; height:8px; z-index:-1; border-radius:9px; background:var(--wp--preset--color--amber); opacity:.8; transform:rotate(-1deg); }
.tgl-lead { max-width:700px; color:#456064; }
.tgl-primary .wp-block-button__link { transition:transform .18s ease, box-shadow .18s ease; }
.tgl-primary .wp-block-button__link:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(5,93,105,.2); }
.tgl-secondary .wp-block-button__link { border:1px solid var(--wp--preset--color--teal); }
.tgl-proof { color:#567074; font-size:.83rem; font-weight:650; }
.tgl-proof strong { color:var(--wp--preset--color--amber); font-size:1.08rem; }
.tgl-personality { display:inline-block; width:auto; padding:.45rem .75rem; border:1px solid #efcc84; border-radius:6px; background:#fff3d9; color:#5b543f; font-size:.82rem; font-weight:750; transform:rotate(-1deg); }

.tgl-board-column { transform:rotate(1.5deg); }
.tgl-board { position:relative; max-width:390px; margin-inline:auto; padding:1.7rem; border:1px solid #d8cba8; border-radius:8px; background:#f7efdc; box-shadow:12px 14px 0 rgba(5,93,105,.16); transform:rotate(-2deg); }
.tgl-board::before { content:""; position:absolute; width:88px; height:25px; top:-12px; left:calc(50% - 44px); background:rgba(232,159,51,.56); transform:rotate(3deg); }
.tgl-board-label { color:#786f58; font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.tgl-note { margin-block:.7rem !important; padding:.85rem 1rem; border:1px solid #ded6c2; background:#fff; color:#385154; font-weight:750; box-shadow:none; transform:rotate(-1deg); }
.tgl-note:nth-of-type(3) { background:#d9eef0; transform:rotate(1.2deg); }
.tgl-note:nth-of-type(4) { background:#f8dca9; transform:rotate(-.5deg); }
.tgl-note:nth-of-type(5) { transform:rotate(.6deg); }
.tgl-board-arrow { margin:.1rem 0 !important; color:var(--wp--preset--color--teal); font-size:2rem; text-align:center; transform:rotate(3deg); }
.tgl-answer { padding:1.1rem 1.2rem; border-radius:6px; background:var(--wp--preset--color--deep-teal); color:white; font-size:1.05rem; font-weight:400; box-shadow:5px 6px 0 var(--wp--preset--color--amber); transform:rotate(-1deg); }
.tgl-doodle { position:absolute; right:-40px; bottom:8px; color:var(--wp--preset--color--teal); font-family:"Comic Sans MS",cursive; font-size:.82rem; font-weight:800; transform:rotate(-8deg); }
.tgl-doodle::before { content:"↖ "; font-size:1.8rem; }

.tgl-logo-strip { border-block:1px solid var(--wp--preset--color--line); }
.tgl-logo-strip p { letter-spacing:.07em; }
.tgl-logo-row { display:flex !important; flex-wrap:nowrap !important; align-items:stretch; gap:1rem; overflow-x:auto; overflow-y:hidden; padding:.35rem .15rem 1rem; scroll-snap-type:x proximity; scrollbar-color:var(--wp--preset--color--teal) transparent; scrollbar-width:thin; }
.tgl-logo-row > .wp-block-column, .tgl-logo-row > .tgl-logo-slot { flex:0 0 190px !important; min-width:190px; scroll-snap-align:start; }
.tgl-logo-slot { min-height:110px; height:100%; padding:1rem; border:1px dashed #9abfc3; border-radius:12px; background:rgba(255,255,255,.7); color:#627b7e; }
.tgl-logo-slot .wp-block-image { margin-block:0; }
.tgl-logo-slot img { display:block; max-width:100%; height:auto; margin-inline:auto; object-fit:contain; }
.tgl-logo-help { color:#667d80; font-size:.82rem; }
.tgl-engagement-grid { align-items:stretch; }
.tgl-engagement { position:relative; height:100%; padding:2rem; overflow:hidden; border-radius:16px; }
.tgl-engagement-consulting { background:var(--wp--preset--color--deep-teal); color:white; }
.tgl-engagement-freelance { border:1px solid var(--wp--preset--color--line); background:#fff3d9; }
.tgl-engagement .tgl-service-number { margin-bottom:2.5rem; }
.tgl-engagement-consulting h3 { color:white; }
.tgl-engagement-consulting p:not(.tgl-service-number) { color:#c2dcdf; }
.tgl-mode-list { padding-left:1.15rem; }
.tgl-mode-list li { margin-bottom:.35rem; }
.tgl-section-title { letter-spacing:-.04em; }
.tgl-service-grid { align-items:stretch; }
.tgl-service { height:100%; padding:1.8rem; border:1px solid var(--wp--preset--color--line); border-radius:16px; background:white; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.tgl-service:hover { transform:translateY(-3px); border-color:var(--wp--preset--color--teal); box-shadow:0 18px 35px rgba(5,93,105,.09); }
.tgl-service-number { color:var(--wp--preset--color--amber); font-size:.76rem; font-weight:850; letter-spacing:.1em; }
.tgl-service a { color:var(--wp--preset--color--deep-teal); font-weight:800; }

.tgl-process { background:var(--wp--preset--color--deep-teal); color:white; }
.tgl-process .tgl-kicker { color:#b9e1e4; }
.tgl-steps { gap:1px !important; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.18); }
.tgl-step { min-height:220px; padding:1.7rem 1.45rem; background:var(--wp--preset--color--deep-teal); }
.tgl-step-number { color:var(--wp--preset--color--amber); font-weight:850; }
.tgl-step-copy { color:#b9d3d6; }

.tgl-case { overflow:hidden; border:1px solid var(--wp--preset--color--line); border-radius:18px; background:white; }
.tgl-case-visual { position:relative; min-height:400px; overflow:hidden; background:linear-gradient(145deg,#0b7785,#064c56); color:white; }
.tgl-case-visual::after { content:""; position:absolute; width:260px; height:260px; right:-50px; bottom:-55px; border:55px solid rgba(232,159,51,.7); border-radius:50%; }
.tgl-case-visual > * { position:relative; z-index:1; }
.tgl-case-tag { font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.tgl-case-logo { letter-spacing:-.04em; }
.tgl-case-copy { padding:clamp(1.75rem,4vw,2.6rem); }
.tgl-check { position:relative; padding-left:1.35rem; font-weight:650; }
.tgl-check::before { content:"→"; position:absolute; left:0; color:var(--wp--preset--color--amber); font-weight:900; }

.tgl-feedback-grid { align-items:stretch; }
.tgl-testimonial { position:relative; height:100%; padding:1.8rem; border:1px solid var(--wp--preset--color--line); border-radius:16px; background:white; box-shadow:0 12px 28px rgba(5,93,105,.06); }
.tgl-testimonial::before { content:"“"; position:absolute; top:.6rem; right:1.2rem; color:var(--wp--preset--color--amber); font-family:Georgia,serif; font-size:4rem; line-height:1; opacity:.45; }
.tgl-testimonial:nth-child(2) { transform:rotate(-.7deg); background:#fff7e7; }
.tgl-testimonial-quote { position:relative; z-index:1; min-height:120px; padding-right:1.2rem; color:#385154; font-size:1.05rem; line-height:1.65; }
.tgl-testimonial-name { margin-bottom:.1rem !important; color:var(--wp--preset--color--deep-teal); font-weight:850; }
.tgl-testimonial-role { margin-top:0 !important; color:#6a7f82; font-size:.82rem; }
.tgl-placeholder-warning { display:inline-block; padding:.3rem .55rem; border-radius:5px; background:#fff0d2; color:#765b23; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }

.tgl-photo-placeholder { min-height:500px; border-radius:18px; background:linear-gradient(160deg,var(--wp--preset--color--mist),#c5dcde); color:var(--wp--preset--color--teal); }
.tgl-stats { border-top:1px solid var(--wp--preset--color--line); }
.tgl-stat strong { color:var(--wp--preset--color--deep-teal); font-size:1.75rem; }
.tgl-stat small { color:#667d80; font-weight:700; }
.tgl-final { background:var(--wp--preset--color--amber); }
.tgl-footer { color:#c7d6d8; }

/* Homepage v3 — independent section patterns */
.tgl-v3-intro { max-width:760px; }
.tgl-v3-heading-row { align-items:end; }
.tgl-v3-heading-copy { color:#586d70; }
.tgl-proof-icons { gap:1rem 1.35rem !important; margin-top:1.5rem; }
.tgl-proof-item { gap:.45rem !important; }
.tgl-proof-item p { margin:0; white-space:nowrap; }
.tgl-proof-icon { flex:0 0 22px; width:22px; margin:0 !important; }
.tgl-proof-icon img { display:block; width:22px; height:22px; object-fit:contain; }
.tgl-section-icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin:0 0 1.2rem !important; padding:.7rem; border-radius:9px; background:#f8e9c9; }
.tgl-section-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.tgl-v3-logo-note { margin-top:.75rem !important; color:#687d80; font-size:.78rem; }
.tgl-v3-missions { background:var(--wp--preset--color--paper); }
.tgl-v3-mission-row { display:flex !important; flex-wrap:nowrap !important; gap:1.1rem; overflow-x:auto; padding:.3rem .15rem 1.3rem; scroll-snap-type:x proximity; scrollbar-color:var(--wp--preset--color--teal) transparent; }
.tgl-v3-mission-row > .wp-block-group { flex:0 0 200px; width:200px; scroll-snap-align:start; }
.tgl-v3-mission { position:relative; min-height:80px; width:200px; height:80px; overflow:hidden; border:1px solid var(--wp--preset--color--line); border-radius:14px; background:white; cursor:pointer; isolation:isolate; }
.tgl-v3-mission-visual { position:absolute; inset:0; min-height:0; padding:.8rem 1rem; overflow:hidden; background:linear-gradient(145deg,#0b7785,#064c56); color:white; display:flex; align-items:flex-end; }
.tgl-v3-mission-visual::after { content:""; position:absolute; width:240px; height:240px; right:-110px; bottom:-125px; border:45px solid rgba(255,255,255,.2); border-radius:50%; }
.tgl-v3-mission-visual > * { position:relative; z-index:1; }
.tgl-v3-mission-visual .tgl-v3-mission-image { position:absolute; inset:0; z-index:0; width:100%; height:100%; margin:0; }
.tgl-v3-mission-visual .tgl-v3-mission-image img { width:100%; height:100%; object-fit:cover; }
.tgl-v3-mission-visual::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(5,35,39,.12) 25%,rgba(5,35,39,.88) 100%); }
.tgl-v3-mission-visual > p,
.tgl-v3-mission-visual > .wp-block-spacer { display:none; }
.tgl-v3-mission-visual h2 { margin:0 !important; color:white; font-size:1rem !important; line-height:1.05; letter-spacing:-.015em; }
.tgl-v3-mission:nth-child(2) .tgl-v3-mission-visual { background:linear-gradient(145deg,#dca23a,#b87913); }
.tgl-v3-mission:nth-child(3) .tgl-v3-mission-visual { background:linear-gradient(145deg,#b96655,#874236); }
.tgl-v3-mission:nth-child(4) .tgl-v3-mission-visual { background:linear-gradient(145deg,#426f91,#25475f); }
.tgl-v3-mission-copy { display:none; }
.tgl-v3-mission-copy h3 { margin-top:.7rem; color:white; font-size:1.18rem; line-height:1.3; }
.tgl-v3-mission-copy ul { padding-left:1.1rem; font-size:.9rem; }
.tgl-v3-mission-meta { color:#f3bd5d; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.tgl-v3-mission-note { color:#c7dcde; font-size:.68rem; }
.tgl-mission-float-panel { position:fixed; z-index:99999; width:min(360px,calc(100vw - 28px)); max-height:320px; overflow:auto; padding:1.35rem; border:1px solid var(--wp--preset--color--line); border-radius:14px; background:var(--wp--preset--color--paper); color:#303030; box-shadow:0 18px 48px rgba(5,45,51,.22); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity .16s ease,transform .16s ease,visibility .16s; }
.tgl-mission-float-panel.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.tgl-mission-float-panel .tgl-v3-mission-meta { margin-top:0; color:var(--wp--preset--color--amber); }
.tgl-mission-float-panel h3 { margin:.55rem 0 .8rem; color:var(--wp--preset--color--deep-teal); font-size:1.12rem; line-height:1.3; }
.tgl-mission-float-panel ul { margin-bottom:.65rem; padding-left:1.1rem; font-size:.88rem; }
.tgl-mission-float-panel .tgl-v3-mission-note { margin-bottom:0; color:#6d7e80; }
@media (prefers-reduced-motion:reduce) { .tgl-mission-float-panel { transition:none; } }

/* Gutenberg editor: expose the overlay source copy for direct editing. */
.editor-styles-wrapper .tgl-v3-mission-row > .wp-block-group { flex-basis:320px; width:320px; }
.editor-styles-wrapper .tgl-v3-mission { width:320px; height:auto; min-height:80px; overflow:visible; cursor:default; }
.editor-styles-wrapper .tgl-v3-mission-visual { position:relative; height:80px; border-radius:14px; }
.editor-styles-wrapper .tgl-v3-mission-copy { display:block !important; margin-top:.65rem; padding:1rem; border:1px dashed var(--wp--preset--color--line); border-radius:10px; background:#fff; color:#303030; }
.editor-styles-wrapper .tgl-v3-mission-copy::before { content:"OVERLAY CONTENT — EDIT HERE"; display:block; margin-bottom:.7rem; color:var(--wp--preset--color--amber); font-size:.68rem; font-weight:800; letter-spacing:.08em; }
.editor-styles-wrapper .tgl-v3-mission-copy h3 { color:var(--wp--preset--color--deep-teal); }
.editor-styles-wrapper .tgl-v3-mission-note { color:#687d80; }
.tgl-v3-problems { background:var(--wp--preset--color--deep-teal); color:white; }
.tgl-v3-problems .tgl-kicker { color:#b9e1e4; }
.tgl-v3-problems .tgl-v3-heading-row p:not(.tgl-kicker) { color:#c0d7da; }
.tgl-v3-problem-grid { gap:1px !important; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.18); }
.tgl-v3-problem { min-height:0; padding:1.8rem; background:var(--wp--preset--color--deep-teal); }
.tgl-v3-problem .tgl-section-icon { background:var(--wp--preset--color--amber); }
.tgl-v3-problem h3 { color:white; }
.tgl-v3-problem p:not(.tgl-service-number) { color:#c0d7da; }
.tgl-v3-home-service { min-height:0; display:flex; flex-direction:column; }
.tgl-v3-home-service .tgl-v3-service-when { min-height:0; font-size:1.08rem; }
.tgl-v3-outcome { padding-top:1rem; border-top:1px solid var(--wp--preset--color--line); }
.tgl-v3-price-row { margin-top:auto; padding-top:1.2rem; border-top:1px solid var(--wp--preset--color--line); }
.tgl-v3-price { color:var(--wp--preset--color--deep-teal); font-size:1.2rem; font-weight:850; }
.tgl-v3-featured-quote { padding:clamp(1.8rem,5vw,3.2rem); border:1px solid var(--wp--preset--color--line); border-radius:16px; background:white; box-shadow:0 18px 38px rgba(5,93,105,.08); }
.tgl-v3-featured-quote .tgl-testimonial-quote { min-height:0; font-size:1.35rem; }
.tgl-v3-about-photo { min-height:500px; overflow:hidden; border-radius:18px; }
.tgl-v3-about-photo img { width:100%; height:100%; min-height:500px; object-fit:cover; }
.tgl-v3-cta-kicker { justify-content:center; }

.tgl-service-hero { position:relative; overflow:hidden; background:var(--wp--preset--color--mist); }
.tgl-service-hero::after { content:""; position:absolute; width:280px; height:280px; right:-80px; bottom:-135px; border:52px solid rgba(232,159,51,.65); border-radius:50%; }
.tgl-service-hero > * { position:relative; z-index:1; }
.tgl-service-summary { padding:1.7rem; border:1px solid var(--wp--preset--color--line); border-radius:14px; background:var(--wp--preset--color--paper); box-shadow:8px 9px 0 rgba(5,93,105,.1); transform:rotate(1deg); }
.tgl-service-summary h2 { font-size:1rem; letter-spacing:.08em; text-transform:uppercase; }
.tgl-service-summary ul { margin-bottom:0; padding-left:1.2rem; }
.tgl-card-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin:0 0 1.1rem !important; padding:.75rem; border-radius:10px; background:#f8e9c9; }
.tgl-card-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.tgl-outcome { height:100%; padding:1.65rem; border-top:4px solid var(--wp--preset--color--amber); background:white; }
.tgl-outcome h3 { margin-top:.25rem; }
.tgl-deliverable { padding:1.4rem; border:1px solid var(--wp--preset--color--line); border-radius:12px; background:white; }
.tgl-deliverable strong { color:var(--wp--preset--color--deep-teal); }
.tgl-service-process { background:var(--wp--preset--color--deep-teal); color:white; }
.tgl-service-process h2, .tgl-service-process h3 { color:white; }
.tgl-service-process .tgl-kicker { color:#b9e1e4; }
.tgl-service-step { height:100%; padding:1.5rem; border-left:1px solid rgba(255,255,255,.24); }
.tgl-service-step:first-child { border-left:0; }
.tgl-service-step p { color:#bfd6d9; }
.tgl-fit { height:100%; padding:1.8rem; border-radius:14px; }
.tgl-fit-yes { background:#e4f1ed; }
.tgl-fit-no { background:#f7e8e3; }
.tgl-fit ul { padding-left:1.2rem; }
.tgl-inline-proof { padding:1.8rem; border-left:5px solid var(--wp--preset--color--amber); background:var(--wp--preset--color--mist); }
.tgl-icon-library { background:var(--wp--preset--color--mist); }
.tgl-icon-library-grid { align-items:stretch; gap:1rem !important; }
.tgl-icon-library-item { flex:0 0 150px; min-height:135px; padding:1rem; border:1px solid var(--wp--preset--color--line); border-radius:12px; background:white; }
.tgl-icon-library-item .tgl-section-icon { margin-inline:auto !important; }
.tgl-icon-library-item p { margin-bottom:0; color:#586d70; font-weight:700; }
.tgl-back-link a { font-size:.85rem; font-weight:750; text-decoration:none; }

@media (max-width: 900px) {
  .tgl-hero-layout, .tgl-case-layout, .tgl-about-layout { flex-direction:column !important; }
  .tgl-hero-copy, .tgl-board-column, .tgl-case-layout > *, .tgl-about-layout > * { flex-basis:100% !important; width:100% !important; }
  .tgl-board-column { margin-top:2rem; }
  .tgl-board { max-width:520px; }
  .tgl-doodle { display:none; }
}
@media (max-width: 782px) { .admin-bar .tgl-header { top:46px; } }
@media (max-width: 620px) {
  .tgl-hero-title { font-size:2.7rem !important; }
  .tgl-hero-title mark { white-space:normal; }
  .tgl-actions, .tgl-proof, .tgl-stats { flex-direction:column !important; align-items:stretch !important; }
  .tgl-testimonial:nth-child(2) { transform:none; }
  .tgl-actions .wp-block-button, .tgl-actions .wp-block-button__link { width:100%; }
  .tgl-board { padding:1.25rem; }
  .tgl-header .wp-block-buttons { display:none; }
}

/* Design Exorcist — independent section patterns */
.tgl-ex-section { padding:clamp(4.5rem,8vw,7.5rem) 1.5rem; }
.tgl-ex-eyebrow { margin:0 0 1.25rem; color:var(--wp--preset--color--deep-teal); font-size:.75rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.tgl-ex-heading { margin:0; font-size:clamp(2.6rem,5vw,4.6rem); letter-spacing:-.055em; line-height:.98; }
.tgl-ex-hero { position:relative; overflow:hidden; background-color:var(--wp--preset--color--paper); background-image:linear-gradient(var(--tgl-grid) 1px,transparent 1px),linear-gradient(90deg,var(--tgl-grid) 1px,transparent 1px); background-size:32px 32px; }
.tgl-ex-hero::before { content:"✦"; position:absolute; left:max(1rem,calc((100vw - 1180px)/2 - 2rem)); top:3rem; color:var(--wp--preset--color--amber); font-size:2rem; }
.tgl-ex-hero-layout { min-height:650px; gap:clamp(2.5rem,7vw,5.5rem) !important; }
.tgl-ex-title { margin:0; color:var(--wp--preset--color--deep-teal); font-size:clamp(3.6rem,7vw,6.6rem); letter-spacing:-.07em; line-height:.92; }
.tgl-ex-title mark { position:relative; background:transparent; color:var(--wp--preset--color--amber); }
.tgl-ex-title mark::after { content:""; position:absolute; left:0; right:0; bottom:.06em; height:.07em; background:var(--wp--preset--color--amber); opacity:.35; transform:rotate(-1deg); }
.tgl-ex-lead { max-width:680px; color:#456064; font-size:1.2rem; }
.tgl-ex-actions { gap:1.7rem !important; }
.tgl-ex-button .wp-block-button__link { border:2px solid #26383b; border-radius:0; background:var(--wp--preset--color--amber); color:#26383b; box-shadow:5px 5px 0 #26383b; transition:.18s ease; }
.tgl-ex-button .wp-block-button__link:hover { transform:translate(3px,3px); box-shadow:2px 2px 0 #26383b; }
.tgl-ex-text-link { font-weight:800; }
.tgl-ex-proof { color:#5c6e71; font-size:.86rem; }
.tgl-ex-diagnostic { position:relative; min-height:520px; padding:1.75rem 1.9rem 2.1rem; border:2px solid #26383b; background-color:#f6f0e7; background-image:linear-gradient(rgba(5,93,105,.06) 1px,transparent 1px); background-size:100% 32px; box-shadow:16px 16px 0 var(--wp--preset--color--deep-teal); transform:rotate(2deg); }
.tgl-ex-diagnostic::before { content:""; position:absolute; width:86px; height:24px; top:-13px; left:calc(50% - 43px); background:rgba(232,159,51,.52); transform:rotate(-3deg); }
.tgl-ex-report-head { display:flex; justify-content:space-between; padding-bottom:.65rem; border-bottom:3px solid #26383b; font-size:.72rem; font-weight:850; letter-spacing:.1em; }
.tgl-ex-report-head strong { color:var(--wp--preset--color--deep-teal); }
.tgl-ex-sigil { display:grid; place-items:center; position:relative; width:112px; height:112px; margin:1.7rem auto; border:3px solid var(--wp--preset--color--deep-teal); border-radius:50%; color:var(--wp--preset--color--deep-teal); font-size:3rem; font-weight:900; }
.tgl-ex-sigil::before,.tgl-ex-sigil::after { content:""; position:absolute; width:132px; height:2px; z-index:-1; background:var(--wp--preset--color--deep-teal); }
.tgl-ex-sigil::before { transform:rotate(45deg); }.tgl-ex-sigil::after { transform:rotate(-45deg); }
.tgl-ex-status { display:flex; justify-content:space-between; gap:1rem; margin:0 !important; padding:.6rem 0; border-bottom:1px solid rgba(38,56,59,.25); font-size:.86rem; }
.tgl-ex-status strong { font-size:.68rem; letter-spacing:.08em; }.tgl-ex-bad{color:#a1362b}.tgl-ex-warn{color:#a4680c}.tgl-ex-good{color:var(--wp--preset--color--deep-teal)}
.tgl-ex-stamp { display:inline-block; margin-top:1.8rem !important; padding:.45rem .7rem; border:4px double #a1362b; color:#a1362b; font-size:1.15rem; font-weight:900; line-height:1; transform:rotate(-7deg); }
.tgl-ex-scribble { position:absolute; right:1.6rem; bottom:1.2rem; color:var(--wp--preset--color--deep-teal); font-family:"Comic Sans MS",cursive; transform:rotate(3deg); }
.tgl-ex-marquee { overflow:hidden; padding:1rem 0; background:var(--wp--preset--color--deep-teal); color:white; white-space:nowrap; }
.tgl-ex-marquee p { width:max-content; margin:0; font-size:.9rem; font-weight:750; letter-spacing:.09em; animation:tgl-ex-scroll 24s linear infinite; }
.tgl-ex-marquee strong { margin:0 1.5rem; color:var(--wp--preset--color--amber); }
@keyframes tgl-ex-scroll { to { transform:translateX(-50%); } }
.tgl-ex-symptom-grid { gap:1.2rem !important; }
.tgl-ex-symptom { min-height:290px; padding:1.8rem; border:1px solid var(--wp--preset--color--line); background:white; transition:.2s ease; }
.tgl-ex-symptom:hover { border-color:var(--wp--preset--color--amber); box-shadow:0 12px 0 rgba(5,93,105,.08); transform:translateY(-5px); }
.tgl-ex-number { color:var(--wp--preset--color--amber); font-size:.78rem; font-weight:900; }
.tgl-ex-symptom h3 { margin-top:2.7rem; font-size:1.7rem; line-height:1.12; }
.tgl-ex-symptom p:last-child { color:#5c686a; }
.tgl-ex-callout { margin-top:1.7rem; padding:1.5rem 1.8rem; border-left:6px solid var(--wp--preset--color--amber); background:#f4efe5; font-size:1.28rem; }
.tgl-ex-services { background:var(--wp--preset--color--deep-teal); color:white; }
.tgl-ex-services .tgl-ex-eyebrow { color:var(--wp--preset--color--amber); }.tgl-ex-services .tgl-ex-heading{color:white}
.tgl-ex-split-heading { display:grid; grid-template-columns:1.4fr .6fr; gap:5rem; align-items:end; margin-bottom:3.5rem; }
.tgl-ex-split-heading > p { margin-bottom:.5rem; color:#c3d8da; }
.tgl-ex-service-list { border-top:1px solid rgba(255,255,255,.25); }
.tgl-ex-service-row { display:grid; grid-template-columns:80px 1fr auto; gap:1.25rem; align-items:center; padding:1.75rem .6rem; border-bottom:1px solid rgba(255,255,255,.25); color:white; text-decoration:none; transition:.2s ease; }
.tgl-ex-service-row:hover { padding-inline:1.5rem; background:white; color:var(--wp--preset--color--deep-teal); }
.tgl-ex-service-row .tgl-ex-number { color:var(--wp--preset--color--amber); }.tgl-ex-service-row strong{display:block;font-size:1.75rem}.tgl-ex-service-row small{opacity:.75}.tgl-ex-service-arrow{color:var(--wp--preset--color--amber);font-size:1.8rem;font-weight:900}
.tgl-ex-work-grid { display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:repeat(2,280px); gap:1.2rem; }
.tgl-ex-project { position:relative; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:1.8rem; border:2px solid #26383b; transition:.25s ease; }
.tgl-ex-project::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(-45deg,transparent,transparent 16px,rgba(255,255,255,.1) 16px,rgba(255,255,255,.1) 18px); }
.tgl-ex-project:hover { box-shadow:8px 8px 0 #26383b; transform:translateY(-6px); }.tgl-ex-project>*{position:relative}.tgl-ex-project h3{margin:.5rem 0;font-size:2.65rem}.tgl-ex-project p{font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.tgl-ex-project-main { grid-row:span 2; background:var(--wp--preset--color--amber); }.tgl-ex-project-teal{background:var(--wp--preset--color--deep-teal);color:white}.tgl-ex-project-teal h3{color:white}.tgl-ex-project-acid{background:#f4d35e}
.tgl-ex-about { gap:1.5rem !important; }.tgl-ex-about-card{height:100%;padding:3.2rem;border:2px solid var(--wp--preset--color--deep-teal)}.tgl-ex-about-card h2{font-size:3.4rem}.tgl-ex-about-role{color:var(--wp--preset--color--amber);font-weight:800}.tgl-ex-quote{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:420px;padding:3.8rem;background:#f4efe5;color:var(--wp--preset--color--deep-teal);font-size:clamp(2.7rem,5vw,4.4rem);font-weight:800;letter-spacing:-.045em;line-height:1.05}.tgl-ex-quote::before{content:"“";position:absolute;left:1.2rem;top:-1.3rem;color:rgba(232,159,51,.25);font-size:11rem}.tgl-ex-quote small{margin-top:1.7rem;color:#26383b;font-size:.85rem;font-weight:500;letter-spacing:0}
.tgl-ex-final { padding:clamp(5rem,9vw,7rem) 1.5rem; background:var(--wp--preset--color--amber); text-align:center; }.tgl-ex-final .tgl-ex-eyebrow{color:#26383b}.tgl-ex-final h2{margin-bottom:2.6rem;color:var(--wp--preset--color--deep-teal);font-size:clamp(3.4rem,8vw,6.3rem);letter-spacing:-.06em}.tgl-ex-final h2 mark{background:transparent;color:var(--wp--preset--color--paper)}.tgl-ex-final .wp-block-buttons{justify-content:center}.tgl-ex-final .wp-block-button__link{border:2px solid #26383b;border-radius:0;background:var(--wp--preset--color--paper);color:#26383b;box-shadow:5px 5px 0 #26383b}
.tgl-grid-background { background-image:linear-gradient(rgba(20,108,120,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(20,108,120,.06) 1px,transparent 1px) !important; background-size:32px 32px !important; }
.tgl-grid-background-light { background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px) !important; background-size:32px 32px !important; }
.editor-styles-wrapper .tgl-ex-marquee p { animation:none; }
@media(max-width:900px){.tgl-ex-hero-layout{flex-direction:column}.tgl-ex-hero-layout>*{flex-basis:100%!important}.tgl-ex-split-heading{grid-template-columns:1fr;gap:1.2rem}.tgl-ex-work-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,300px)}.tgl-ex-project-main{grid-row:auto}.tgl-ex-about{flex-direction:column}.tgl-ex-about>*{flex-basis:100%!important}}
@media(max-width:620px){.tgl-ex-title{font-size:3.35rem}.tgl-ex-diagnostic{min-height:500px;padding:1.4rem 1.2rem;box-shadow:9px 9px 0 var(--wp--preset--color--deep-teal)}.tgl-ex-scribble{display:none}.tgl-ex-service-row{grid-template-columns:42px 1fr auto}.tgl-ex-service-row strong{font-size:1.25rem}.tgl-ex-service-row small{display:none}.tgl-ex-about-card,.tgl-ex-quote{padding:2rem}}
@media(prefers-reduced-motion:reduce){.tgl-ex-marquee p{animation:none}}
