/*
Theme Name: PM Solutions
Theme URI: https://pmsolutions.hu/
Author: PM Solutions Hungary Kft.
Author URI: https://pmsolutions.hu/
Description: A PM Solutions Digitális Marketing Ügynökség témája.
Version: 1.0.50
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pmsolutions
Tags: one-column, custom-menu, featured-images, translation-ready
*/

@font-face{font-family:'Archivo';font-style:normal;font-weight:500 900;font-display:swap;src:url('assets/fonts/archivo-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500 900;font-display:swap;src:url('assets/fonts/archivo-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/hanken-grotesk-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/hanken-grotesk-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/instrument-serif-latin-ext-italic.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/instrument-serif-latin-italic.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/instrument-serif-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/instrument-serif-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root {
  --bg:      #0C140F;
  --bg-2:    #0F1A13;
  --bg-3:    #15271B;
  --card:    #122019;
  --ink:     #EEF3EA;
  --muted:   #8FA092;
  --faint:   #5B6B5E;
  --line:    rgba(236,244,234,0.10);
  --line-2:  rgba(236,244,234,0.18);
  --accent:  #C8ED4F;
  --accent-ink: #14281A;

  --f-head:  "Archivo", system-ui, sans-serif;
  --f-serif: "Instrument Serif", Georgia, serif;
  --f-body:  "Hanken Grotesk", system-ui, sans-serif;
  --f-mono:  "Hanken Grotesk", system-ui, sans-serif;

  --maxw: 1480px;
  --gutter: clamp(20px, 4.5vw, 68px);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);

  --fill-dur: .55s;
  --fill-ease: cubic-bezier(0.5, 0.05, 0.3, 1);
  --fill-lag: .18s;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: var(--f-body); background: var(--bg); color: var(--ink); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
::selection { background: var(--accent); color: var(--accent-ink); }

.glow { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; z-index: 0; opacity: .5;
  background: radial-gradient(circle, color-mix(in oklab, var(--accent) 32%, transparent), transparent 65%); }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; }

.wrap { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); }
.wrap-wide { width: 100%; max-width: 1760px; margin: 0 auto; padding: 0 var(--gutter); }
section { position: relative; }

.h-hero { font-family: var(--f-head); font-weight: 800; font-size: clamp(40px, 5.6vw, 96px); line-height: 0.98; letter-spacing: -0.03em; text-wrap: balance; }
.h-sec { font-family: var(--f-head); font-weight: 800; font-size: clamp(34px, 5.4vw, 86px); line-height: 0.98; letter-spacing: -0.032em; text-wrap: balance; }
em.ser { font-style: normal; font-weight: inherit; color: var(--accent); }
.ink-serif { font-family: var(--f-serif); }

.idx { display: inline-flex; align-items: center; gap: 12px; font-family: var(--f-mono); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.idx b { color: var(--accent); font-weight: 500; }
.idx::before { content: ""; width: 28px; height: 1px; background: var(--line-2); }

.reveal { opacity: 1; transform: none; }
.anim .reveal { opacity: 0; transform: translateY(26px) scale(0.992); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.page-stack { position: relative; z-index: 1; background: var(--bg); }
.anim .reveal.in { opacity: 1; transform: none; }

.anim .svc-card.reveal, .anim .type.reveal, .anim .prob.reveal, .anim .feat.reveal,
.anim .pf-card.reveal, .anim .team-card.reveal, .anim .tcard.reveal, .anim .job.reveal {
  transition: opacity .9s var(--ease), transform .9s var(--ease),
              border-color .4s var(--ease), padding-left .4s var(--ease);
}

.reveal[data-d="1"] { transition-delay: .08s; }
.reveal[data-d="2"] { transition-delay: .16s; }
.reveal[data-d="3"] { transition-delay: .24s; }
@media (prefers-reduced-motion: reduce) { .reveal, .anim .reveal { opacity: 1 !important; transform: none !important; } }
.lnmask { display: block; overflow: hidden; padding-bottom: 0.14em; margin-bottom: -0.14em; }
.lnmask-i { display: inline-block; }
.anim .lnmask-i { transform: translateY(118%); transition: transform .85s var(--ease); }
.anim .reveal.in .lnmask-i { transform: none; }
.anim .reveal.h-split { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) { .lnmask-i { transform: none !important; } }

.btn { position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; gap: 11px; font-weight: 600; font-size: 15px; padding: 16px 28px; border-radius: 12px; transition: transform .3s var(--ease), color .35s var(--ease); white-space: nowrap; }

.btn::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: translateY(101%); transition: transform .45s var(--ease); }
.btn:hover::before { transform: translateY(0); }
.btn svg { width: 16px; height: 16px; transition: transform .35s var(--ease); }
.btn:hover svg { transform: translateX(4px); }
.btn-accent { background: var(--accent); color: var(--accent-ink); }
.btn-accent::before { background: var(--bg); }
.btn-accent:hover { color: var(--accent); transform: translateY(-2px); }
.btn-light { background: var(--ink); color: var(--bg); }
.btn-light::before { background: var(--accent); }
.btn-light:hover { color: var(--accent-ink); transform: translateY(-2px); }
.btn-ghost { border: 1px solid var(--line-2); color: var(--ink); }
.btn-ghost::before { background: var(--accent); }
.btn-ghost:hover { color: var(--accent-ink); border-color: var(--accent); }

image-slot { background: var(--bg-3); display: block; }

.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 200; backdrop-filter: blur(16px); transition: background .4s var(--ease), border-color .4s var(--ease); border-bottom: 1px solid transparent; }
.nav.scrolled { background: color-mix(in oklab, var(--bg) 80%, transparent); border-bottom-color: var(--line); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; height: 80px; }
.logo { font-family: var(--f-head); font-weight: 800; font-size: clamp(19px, 1.5vw, 22px); letter-spacing: -0.02em; display: inline-flex; align-items: center; gap: 9px; }
.logo-img { height: clamp(39px, 3.45vw, 48px); width: auto; display: block; transition: opacity .3s var(--ease), transform .35s var(--ease); }
.logo { transition: opacity .3s var(--ease); }
.logo:hover .logo-img { opacity: .82; transform: translateY(-2px) scale(1.02); }
.logo:active .logo-img { transform: translateY(0) scale(0.99); }
.foot-brand .logo-img { height: clamp(45px, 4.2vw, 57px); }
.foot-brand .logo:hover .logo-img { opacity: .85; transform: translateY(-3px) scale(1.02); }
.logo i { width: 9px; height: 9px; border-radius: 50%; background: var(--accent); }
.nav-links { display: flex; align-items: center; gap: 4px; }
.nav-item { position: relative; display: inline-flex; align-items: center; }
.nav-links a { position: relative; overflow: hidden; isolation: isolate; font-size: clamp(14.5px, 1.15vw, 16px); font-weight: 600; color: color-mix(in oklab, var(--ink) 84%, var(--bg)); padding: 9px 15px; border-radius: 10px; white-space: nowrap; transition: color .28s var(--ease); display: inline-flex; align-items: center; gap: 6px; }
.nav-links a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in oklab, var(--ink) 7%, transparent); }
.nav-links a.on::after { transition: transform .3s var(--ease); }
.nav-links a:hover, .nav-links a.on { color: var(--ink); }
.nav-links a.on { position: relative; }
.nav-links a.on::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 2px; height: 2px; border-radius: 2px; background: var(--accent); }
.nav-links .chev { width: 13px; height: 13px; transition: transform .3s var(--ease); }
.has-sub:hover .chev { transform: rotate(180deg); }
.nav-sub { position: absolute; top: 100%; left: 0; min-width: 292px; padding-top: 10px; opacity: 0; visibility: hidden; transform: translateY(-8px) scale(0.98); transform-origin: top left; transition: opacity .28s var(--ease), transform .28s var(--ease), visibility .28s; }
.nav-sub-inner { background: color-mix(in oklab, var(--bg-2) 96%, transparent); backdrop-filter: blur(18px); border: 1px solid var(--line-2); border-radius: 18px; padding: 10px; display: flex; flex-direction: column; gap: 2px; box-shadow: 0 26px 60px rgba(0,0,0,.5); }
.has-sub:hover .nav-sub, .has-sub:focus-within .nav-sub { opacity: 1; visibility: visible; transform: none; }
.nav-sub a { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 13px 15px; border-radius: 12px; }
.nav-sub a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in oklab, var(--accent) 14%, transparent); transform: translateY(101%); transition: transform .38s var(--ease); }
.nav-sub a:hover::before { transform: translateY(0); }
.nav-sub .ns-t { font-weight: 600; font-size: 14.5px; color: var(--ink); }
.nav-sub a:hover .ns-t { color: var(--accent); }
.nav-sub .ns-d { font-size: 12.5px; color: var(--muted); font-weight: 400; }

.anim .nav-enter .logo, .anim .nav-enter .nav-links, .anim .nav-enter .nav-cta, .anim .nav-enter .burger { opacity: 0; transform: translateY(-10px); }
.anim .nav-enter.nav-go .logo { opacity: 1; transform: none; transition: opacity .7s var(--ease) .1s, transform .7s var(--ease) .1s; }
.anim .nav-enter.nav-go .nav-links, .anim .nav-enter.nav-go .nav-cta, .anim .nav-enter.nav-go .burger { opacity: 1; transform: none; transition: opacity .7s var(--ease) .3s, transform .7s var(--ease) .3s; }
@media (prefers-reduced-motion: reduce) { .anim .nav-enter .logo, .anim .nav-enter .nav-links, .anim .nav-enter .nav-cta, .anim .nav-enter .burger { opacity: 1; transform: none; transition: none; } }
.nav-cta { position: relative; overflow: hidden; isolation: isolate; font-size: clamp(14px, 1.1vw, 15px); font-weight: 700; background: var(--accent); color: var(--accent-ink); padding: 12px 19px; border-radius: 12px; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; transition: transform .25s var(--ease), color .35s var(--ease); }
.nav-cta:hover { transform: translateY(-1px); }
.burger { display: none; flex-direction: column; gap: 5px; padding: 8px; }
.burger span { width: 22px; height: 2px; background: var(--ink); border-radius: 2px; }
@media (max-width: 1000px) { .nav-links { display: none; } .burger { display: flex; } .nav-cta { margin-left: auto; margin-right: 10px; } }

.nav-drawer { position: fixed; inset: 0; z-index: 300; background: color-mix(in oklab, #000 62%, transparent); backdrop-filter: blur(14px); opacity: 0; transition: opacity .32s var(--ease); }
.nav-drawer.open { opacity: 1; }
body.nav-open .nav { opacity: 0; pointer-events: none; transition: opacity .25s var(--ease); }
.nd-close { position: absolute; overflow: hidden; isolation: isolate; top: 22px; right: 22px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line-2); color: var(--ink); display: grid; place-items: center; background: transparent; transition: color .25s var(--ease), border-color .25s var(--ease), transform .3s var(--ease); }
.nd-close::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--accent); transform: translateY(101%); transition: transform .4s var(--ease); }
.nd-close:hover::before { transform: translateY(0); }
.nd-close:hover { color: var(--accent-ink); border-color: var(--accent); transform: rotate(90deg); }
.nd-close svg { width: 20px; height: 20px; }
.nav-drawer .nd-panel { position: absolute; top: 0; right: 0; width: min(400px, 88vw); height: 100%; overflow-y: auto; background: var(--bg-2); border-left: 1px solid var(--line-2); padding: clamp(84px, 12vh, 104px) clamp(22px, 5vw, 30px) 34px; display: flex; flex-direction: column; gap: 26px; transform: translateX(100%); transition: transform .42s var(--ease); box-shadow: -30px 0 80px rgba(0,0,0,.5); }
.nav-drawer.open .nd-panel { transform: none; }

.nd-panel > * { opacity: 0; transform: translateY(14px); }
.nav-drawer.open .nd-panel > * { animation: ndIn .55s var(--ease) forwards; }
.nav-drawer.open .nd-panel > *:nth-child(1) { animation-delay: .14s; }
.nav-drawer.open .nd-panel > *:nth-child(2) { animation-delay: .2s; }
.nav-drawer.open .nd-panel > *:nth-child(3) { animation-delay: .28s; }
.nav-drawer.open .nd-panel > *:nth-child(4) { animation-delay: .36s; }
@keyframes ndIn { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .nd-panel > * { opacity: 1; transform: none; } .nav-drawer.open .nd-panel > * { animation: none; } }
.nd-group { display: flex; flex-direction: column; gap: 4px; }
.nd-label { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint); padding: 0 4px 10px; }
.nd-group a { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border-radius: 14px; transition: color .3s var(--ease), transform .3s var(--ease); }
.nd-group a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in oklab, var(--accent) 14%, transparent); transform: translateY(101%); transition: transform .4s var(--ease); }
.nd-group a:hover::before { transform: translateY(0); }
.nd-group a:hover .ns-t, .nd-group a:hover .ns-d { transition: color .3s var(--ease); }
.nd-group .ns-t, .nd-group .ns-d { transition: color .3s var(--ease); }
.nd-group a:hover, .nd-group a:active { background: color-mix(in oklab, var(--accent) 12%, transparent); }
.nd-group .ns-t { font-weight: 600; font-size: 16px; color: var(--ink); }
.nd-group .ns-d { font-size: 13px; color: var(--muted); }
.nd-group a.nd-main { font-family: var(--f-head); font-weight: 700; font-size: clamp(19px, 5vw, 22px); letter-spacing: -0.015em; color: var(--ink); border-top: 1px solid var(--line); border-radius: 0 !important; padding: 17px 4px !important; transition: color .3s var(--ease), padding-left .34s var(--ease); }
.nd-group a.nd-main:hover { color: var(--accent); background: transparent !important; padding-left: 12px !important; }
.nd-cta { justify-content: center; margin-top: 6px; }
body.nav-open { overflow: hidden; }
.burger span { transition: transform .3s var(--ease), opacity .2s var(--ease); }
@media (min-width: 1001px) { .nav-drawer { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .nav-drawer, .nav-drawer .nd-panel { transition: none; } }

.marquee { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; padding: 26px 0; }
.marquee-track { display: flex; width: max-content; align-items: center; gap: clamp(40px, 6vw, 92px); animation: mq 34s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
.marquee .mq-item { font-family: var(--f-head); font-weight: 700; font-size: clamp(18px, 2vw, 27px); letter-spacing: -0.02em; color: var(--muted); white-space: nowrap; display: inline-flex; align-items: center; gap: 12px; transition: color .3s; }
.marquee .mq-item:hover { color: var(--ink); }
.marquee .mq-item.caps { font-family: var(--f-mono); font-weight: 500; text-transform: uppercase; letter-spacing: 0.18em; font-size: clamp(13px, 1.5vw, 18px); }
.marquee .mq-item .d { color: var(--accent); }
.marquee .mq-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--line-2); flex: none; }
@keyframes mq { to { transform: translateX(-50%); } }

.hero { min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; position: sticky; top: 0; z-index: 0; overflow: hidden; padding-bottom: clamp(34px, 4vw, 60px); }
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }

.hero.hero-covered { opacity: 0; }

@media (min-width: 1100px) { .hero:not(.hero-covered) .hero-bg { will-change: transform; } }

.hero-mock.hero-mock-video { aspect-ratio: 1; object-fit: cover; filter: none; border: none; box-shadow: none; mix-blend-mode: screen; opacity: 0; transition: opacity 1.2s var(--ease);
  -webkit-mask-image: radial-gradient(closest-side, #000 52%, transparent 98%); mask-image: radial-gradient(closest-side, #000 52%, transparent 98%); }
.hero-mock-video.on { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .hero-mock-video { display: none; } }
.rot { color: var(--accent); font-style: normal; font-weight: inherit; display: inline-block; transform-origin: left center; transition: opacity .28s var(--ease), transform .28s var(--ease); }
.rot.rot-out { opacity: 0; transform: scale(0.94); }
.hero-veil { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(11,11,13,.55) 0%, rgba(11,11,13,.12) 30%, rgba(11,11,13,.16) 55%, rgba(11,11,13,.62) 82%, rgba(11,11,13,.94) 100%); }
.hero-inner { position: relative; z-index: 2; width: 100%; }
.hero-top { position: absolute; top: clamp(96px, 12vh, 150px); left: 0; right: 0; z-index: 2; }
.hero h1 { margin: 22px 0 0; max-width: 18ch; }
.hero-foot { display: flex; flex-direction: column; align-items: flex-start; gap: clamp(22px, 2.6vw, 34px); margin-top: clamp(26px, 3vw, 40px); max-width: 52ch; }
@media (max-width: 860px) { .hero-foot { gap: 24px; } }
.hero-sub { font-size: clamp(17px, 1.5vw, 21px); color: var(--ink); opacity: .9; max-width: 46ch; line-height: 1.5; }
.hero-actions { display: flex; gap: 13px; flex-wrap: wrap; }
.hero-stats { display: flex; flex-wrap: wrap; gap: 18px 44px; margin-top: clamp(34px, 4vw, 50px); padding-top: 28px; border-top: 1px solid var(--line); }
.hero-stat .v { font-family: var(--f-head); font-weight: 800; font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -0.02em; display: flex; align-items: baseline; gap: 4px; }
.hero-stat .v.nowrap { white-space: nowrap; display: block; }
.hero-stat .v s { text-decoration: none; color: var(--accent); }
.hero-stat .k { font-size: 13px; color: var(--muted); margin-top: 3px; }
.scrollcue { position: absolute; right: var(--gutter); bottom: clamp(34px, 4vw, 60px); z-index: 2; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); writing-mode: vertical-rl; display: flex; align-items: center; gap: 10px; }
@media (max-width: 860px) { .scrollcue { display: none; } }

.sec { padding: clamp(72px, 8vw, 120px) 0; }
.sec-head { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end; margin-bottom: clamp(44px, 6vw, 80px); }
@media (max-width: 800px) { .sec-head { grid-template-columns: 1fr; gap: 22px; } }
.sec-head .lead { margin-top: 24px; }
.sec-head .note { color: var(--muted); max-width: 40ch; font-size: 16px; }

.work-hint { font-family: var(--f-mono); font-size: 12px; color: var(--faint); white-space: nowrap; }
.rail-track { position: relative; }
.rail-stick { position: sticky; top: clamp(96px, 14vh, 150px); overflow: hidden; }
.rail-stick .work-list { width: 100%; overflow-x: hidden; padding-top: 14px; padding-bottom: 64px; }
.rail-anim { align-items: flex-end; padding-bottom: 64px; }
.rail-anim .work { transition: none; }
.rail-anim .work-img { will-change: transform; transition: scale .55s var(--ease); border-radius: inherit; }
.has-rail { padding-bottom: clamp(24px, 3vw, 56px) !important; }
.work-list { display: flex; gap: 18px; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; padding: 4px 0 26px;
  padding-left: max(var(--gutter), calc((100vw - 1760px) / 2 + var(--gutter)));
  padding-right: var(--gutter);
  scroll-padding-left: max(var(--gutter), calc((100vw - 1760px) / 2 + var(--gutter)));
  scrollbar-width: thin; scrollbar-color: var(--line-2) transparent; }
.work-list::-webkit-scrollbar { height: 6px; }
.work-list::-webkit-scrollbar-track { background: transparent; }
.work-list::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 100px; }
.work { position: relative; flex: 0 0 clamp(300px, 58vw, 660px); display: block; border-radius: 24px; overflow: hidden; isolation: isolate; clip-path: inset(0 round 24px); }
.work-img { display: block; width: 100%; height: clamp(460px, 66vh, 680px); object-fit: cover; pointer-events: none; will-change: transform; }

.work-img { transition: scale .55s var(--ease); }

@media (hover: hover) and (pointer: fine) { .work:hover .work-img { scale: 1.06; } }
.work-veil { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, rgba(11,11,13,.12) 0%, transparent 22%, transparent 42%, rgba(11,11,13,.6) 76%, rgba(11,11,13,.94) 100%); }
.work-num { position: absolute; top: 22px; left: 24px; z-index: 3; font-family: var(--f-mono); font-size: 12.5px; color: var(--ink); display: inline-flex; align-items: center; gap: 10px; }
.work-num::after { content: ""; width: 32px; height: 1px; background: var(--line-2); }
.work-over { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: clamp(24px, 2.6vw, 38px); display: flex; flex-direction: column; align-items: flex-start; }
.work-over .wtag { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.work-over h3 { font-family: var(--f-head); font-weight: 800; font-size: clamp(30px, 3.4vw, 50px); letter-spacing: -0.03em; line-height: 0.96; margin: 12px 0 0; }
.work:hover .work-over h3 em { color: var(--accent); }
.work-over p { color: var(--muted); font-size: 15px; margin-top: 12px; max-width: 42ch; }
.work-over .meta { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 18px; }
.work-result { display: inline-flex; align-items: baseline; gap: 9px; margin-top: 16px; }
.work-result .rv { font-family: var(--f-head); font-weight: 800; font-size: clamp(26px, 3vw, 40px); letter-spacing: -0.03em; color: var(--accent); line-height: 1; }
.work-result .rk { font-size: 13.5px; color: var(--ink); opacity: .9; max-width: 20ch; }
.cta-strip { background: var(--bg-2); padding: clamp(20px, 3vw, 36px) 0; }
.cta-strip-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; background: linear-gradient(135deg, var(--bg-3), var(--card)); border: 1px solid var(--line); border-radius: 26px; padding: clamp(30px, 4vw, 52px); }
.cta-strip h2 { font-family: var(--f-head); font-weight: 800; font-size: clamp(24px, 3vw, 40px); letter-spacing: -0.025em; line-height: 1.05; max-width: 22ch; }
.cta-strip h2 em { font-style: normal; color: var(--accent); }
.cta-strip p { color: var(--muted); font-size: 15.5px; margin-top: 10px; max-width: 46ch; }
.cta-strip .btn { flex: none; }
.work-over .chip { font-family: var(--f-mono); font-size: 11.5px; color: var(--ink); background: rgba(11,11,13,.4); backdrop-filter: blur(6px); border: 1px solid var(--line); padding: 7px 12px; border-radius: 100px; }
.work-cta { position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 14px; padding: 13px 20px; border-radius: 100px; background: var(--ink); color: var(--bg); white-space: nowrap; margin-top: 22px; transition: color .35s var(--ease); }
.work-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--accent); transform: translateY(101%); transition: transform .45s var(--ease); }
.work:hover .work-cta::before { transform: translateY(0); }
.work:hover .work-cta { color: var(--accent-ink); }
.work-cta svg { width: 15px; height: 15px; }

.services { background: var(--bg-2); position: relative; overflow: hidden; }
.services > .wrap-wide { position: relative; z-index: 1; }
.cta-strip + .services, .cta-strip + .sec { padding-top: clamp(40px, 5vw, 72px); }
.svc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
@media (max-width: 760px) { .svc-grid { grid-template-columns: 1fr; } }
.svc-card { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(165deg, var(--bg-3) 0%, var(--card) 58%); border: 1px solid var(--line); border-radius: 28px; padding: clamp(34px, 3.4vw, 54px); min-height: 380px; display: flex; flex-direction: column; }
.svc-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(110% 80% at 100% 0%, color-mix(in oklab, var(--accent) 13%, transparent), transparent 55%); opacity: 0; transition: opacity .45s var(--ease); }

.svc-lift { position: absolute; inset: 0; z-index: 1; pointer-events: none; border-radius: inherit; opacity: 0; transition: opacity .45s var(--ease); box-shadow: inset 0 1px 0 color-mix(in oklab, var(--ink) 12%, transparent), inset 0 -22px 44px -24px rgba(0, 0, 0, .75); }
.svc-card:hover .svc-lift, .type:hover .svc-lift, .prob:hover .svc-lift { opacity: 1; }
.svc-card:hover, .anim .svc-card.reveal.in:hover { border-color: color-mix(in oklab, var(--accent) 36%, var(--line-2)); }
.svc-card:hover::after { opacity: 1; }
.svc-watermark { position: absolute; top: -26px; right: 6px; z-index: -1; font-family: var(--f-head); font-weight: 800; font-size: clamp(120px, 12vw, 184px); line-height: 1; letter-spacing: -0.05em; color: color-mix(in oklab, var(--ink) 6%, transparent); pointer-events: none; }
.svc-top { display: flex; align-items: center; justify-content: space-between; }
.svc-ic2 { position: relative; overflow: hidden; isolation: isolate; width: 58px; height: 58px; border-radius: 18px; border: 1px solid var(--line-2); background: color-mix(in oklab, var(--accent) 9%, var(--bg-3)); color: var(--accent); display: grid; place-items: center; will-change: transform; transition: color .4s var(--ease), transform .4s var(--ease); }
.svc-ic2::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--accent); transform: translateY(101%); transition: transform .45s var(--ease); }
.svc-card:hover .svc-ic2::before { transform: translateY(0); }
.svc-card:hover .svc-ic2 { color: var(--accent-ink); transform: rotate(-6deg); }
.svc-ic2 svg { width: 27px; height: 27px; }
.svc-go2 { position: relative; overflow: hidden; isolation: isolate; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line-2); color: var(--ink); display: grid; place-items: center; will-change: transform; transition: color .4s var(--ease), border-color .4s var(--ease), transform .4s var(--ease); }
.svc-go2::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--accent); transform: translateY(101%); transition: transform .45s var(--ease); }
.svc-card:hover .svc-go2::before { transform: translateY(0); }
.svc-card:hover .svc-go2 { color: var(--accent-ink); border-color: var(--accent); transform: rotate(-45deg); }
.svc-go2 svg { width: 17px; height: 17px; }
.svc-card h3 { font-family: var(--f-head); font-weight: 800; font-size: clamp(26px, 2.6vw, 38px); letter-spacing: -0.025em; line-height: 1.02; margin: 30px 0 14px; }
.svc-card h3 em { font-style: normal; font-weight: inherit; color: var(--accent); letter-spacing: inherit; }
.svc-card p { color: var(--muted); font-size: 16px; line-height: 1.58; margin-bottom: 26px; max-width: 42ch; }
.svc-caps { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; }
.svc-caps span { position: relative; overflow: hidden; isolation: isolate; font-family: var(--f-mono); font-size: 12px; color: var(--ink); border: 1px solid var(--line-2); padding: 8px 13px; border-radius: 100px; transition: color .3s var(--ease), border-color .3s var(--ease); }
.svc-caps span::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--accent); transform: translateY(101%); transition: transform .4s var(--ease); }
.svc-caps span:hover::before { transform: translateY(0); }
.svc-caps span:hover { color: var(--accent-ink); border-color: var(--accent); }

.feat-rows { border-top: 1px solid var(--line); overflow: clip; }
.feat-row { display: grid; grid-template-columns: 56px minmax(0, 1.1fr) minmax(0, 1.2fr); gap: clamp(20px, 4vw, 64px); align-items: start; padding: clamp(26px, 3.4vw, 44px) 0; border-bottom: 1px solid var(--line); }

.feat-row > * { transition: transform .4s var(--ease); }
.feat-row:hover > * { transform: translateX(10px); }
@media (max-width: 820px) { .feat-row { grid-template-columns: 44px 1fr; gap: 14px 18px; } .feat-row .fr-body { grid-column: 2; } }
.feat-row .fr-ic { position: relative; overflow: hidden; isolation: isolate; width: 50px; height: 50px; border-radius: 14px; background: color-mix(in oklab, var(--accent) 12%, transparent); color: var(--accent); display: grid; place-items: center; transition: color .4s var(--ease), transform .4s var(--ease); }
.feat-row .fr-ic::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--accent); transform: translateY(101%); transition: transform .42s var(--ease); }
.feat-row:hover .fr-ic::before { transform: translateY(0); }
.feat-row:hover .fr-ic { color: var(--accent-ink); }
.feat-row .fr-ic svg { width: 25px; height: 25px; }
.feat-row .fr-head h3 { font-family: var(--f-head); font-weight: 800; font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -0.02em; line-height: 1.05; }
.feat-row .fr-head .num { font-family: var(--f-mono); font-size: 12.5px; color: var(--faint); display: block; margin-bottom: 10px; }
.feat-row .fr-body p { color: var(--muted); font-size: 15.5px; line-height: 1.6; }
.feat-row .fr-body .out { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-weight: 600; font-size: 14px; color: var(--accent); }

.sec.pf-sec { padding-top: clamp(132px, 17vh, 200px); }
.pf-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 940px) { .pf-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .pf-grid { grid-template-columns: 1fr; } }
.pf-card { display: flex; flex-direction: column; opacity: 1; transition: opacity .3s var(--ease), transform .3s var(--ease); }
.pf-card.hide { display: none; }
.pf-thumb { position: relative; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; background: var(--bg-3); }

.pf-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center 14%; transition: transform .8s var(--ease); }
.pf-card:hover .pf-thumb img { transform: scale(1.05); }
.pf-thumb .pf-arrow { position: absolute; overflow: hidden; isolation: isolate; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 50%; background: var(--bg); color: var(--ink); display: grid; place-items: center; opacity: 0; transform: translateY(-6px); transition: opacity .3s var(--ease), transform .3s var(--ease), color .35s var(--ease); }
.pf-thumb .pf-arrow::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--accent); transform: translateY(101%); transition: transform .42s var(--ease); }
.pf-card:hover .pf-arrow::before { transform: translateY(0); }
.pf-card:hover .pf-arrow { opacity: 1; transform: none; color: var(--accent-ink); }
.pf-arrow svg { width: 17px; height: 17px; }
.pf-tag { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); margin: 18px 0 7px; }
.pf-card h3 { font-family: var(--f-head); font-weight: 800; font-size: clamp(22px, 2vw, 27px); letter-spacing: -0.02em; }
.pf-card:hover h3 em { color: var(--accent); }

.about-story { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(32px, 5vw, 76px); align-items: center; }
@media (max-width: 860px) { .about-story { grid-template-columns: 1fr; gap: 30px; } }
.about-story .body p { color: var(--muted); font-size: clamp(16px, 1.45vw, 19px); line-height: 1.65; margin-bottom: 18px; }
.about-story .body p strong { color: var(--ink); font-weight: 600; }
.about-img { border-radius: 22px; overflow: hidden; border: 1px solid var(--line-2); aspect-ratio: 5 / 4; }
.about-img img { width: 100%; height: 100%; object-fit: cover; display: block; background: var(--bg-3); }
.about-numbers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 760px) { .about-numbers { grid-template-columns: 1fr 1fr; } }
.about-numbers .n { background: var(--bg-3); border: 1px solid var(--line); border-radius: 20px; padding: 34px 30px; }
.about-numbers .v { font-family: var(--f-head); font-weight: 800; font-size: clamp(38px, 4.5vw, 60px); letter-spacing: -0.04em; line-height: 1; }
.about-numbers .v s { text-decoration: none; color: var(--accent); }
.about-numbers .k { color: var(--muted); font-size: 14.5px; margin-top: 12px; }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (max-width: 880px) { .team-grid { grid-template-columns: 1fr 1fr; } }
.team-card .ph { aspect-ratio: 3 / 4; border-radius: 18px; overflow: hidden; background: var(--bg-3); border: 1px solid var(--line); }
.team-card .ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
.team-card:hover .ph img { transform: scale(1.04); }
.team-card h3 { font-family: var(--f-head); font-weight: 700; font-size: 19px; letter-spacing: -0.01em; margin: 16px 0 4px; }
.team-card .role { font-family: var(--f-mono); font-size: 12.5px; color: var(--accent); letter-spacing: 0.03em; }

.jobs { border-top: 1px solid var(--line); }
.job { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: clamp(24px, 2.8vw, 36px) 4px; border-bottom: 1px solid var(--line); transition: padding-left .4s var(--ease); }
.job:hover { padding-left: 12px; }
.job .jt { font-family: var(--f-head); font-weight: 800; font-size: clamp(21px, 2.4vw, 30px); letter-spacing: -0.02em; line-height: 1.05; }
.job:hover .jt { color: var(--accent); }
.job .jm { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.job .jm span { font-family: var(--f-mono); font-size: 12px; color: var(--muted); border: 1px solid var(--line); padding: 6px 12px; border-radius: 100px; }
.job .japply { position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; gap: 9px; font-weight: 600; font-size: 14px; color: var(--ink); border: 1px solid var(--line-2); padding: 13px 22px; border-radius: 100px; white-space: nowrap; flex: none; transition: color .35s var(--ease), border-color .35s var(--ease); }
.job .japply::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--accent); transform: translateY(101%); transition: transform .45s var(--ease); }
.job:hover .japply::before { transform: translateY(0); }
.job:hover .japply { color: var(--accent-ink); border-color: var(--accent); }
.job .japply svg { width: 15px; height: 15px; }
.jobs-empty { color: var(--muted); font-size: 15px; margin-top: 22px; }
.jobs-empty a { color: var(--accent); }

.joblist { display: flex; flex-direction: column; gap: 14px; }
.jobx { border: 1px solid var(--line); border-radius: 18px; background: var(--card); padding: 2px 26px; transition: border-color .3s var(--ease), background .3s var(--ease); }
.jobx[open] { border-color: color-mix(in oklab, var(--accent) 36%, var(--line-2)); background: var(--bg-3); }
.jobx summary { list-style: none; cursor: pointer; padding: 26px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.jobx summary::-webkit-details-marker { display: none; }
.jobx .jx-l { display: flex; flex-direction: column; gap: 12px; }
.jobx .jx-t { font-family: var(--f-head); font-weight: 800; font-size: clamp(20px, 2.2vw, 28px); letter-spacing: -0.02em; line-height: 1.05; }
.jobx .jx-m { display: flex; gap: 8px; flex-wrap: wrap; }
.jobx .jx-m span { font-family: var(--f-mono); font-size: 12px; color: var(--muted); border: 1px solid var(--line); padding: 6px 11px; border-radius: 100px; }
.jobx .jx-ic { width: 36px; height: 36px; border: 1px solid var(--line-2); border-radius: 50%; display: grid; place-items: center; flex: none; transition: transform .3s var(--ease), background .3s, color .3s, border-color .3s; }
.jobx[open] .jx-ic { transform: rotate(45deg); background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.jobx .jx-ic svg { width: 15px; height: 15px; }
.jobx .jx-body { padding: 4px 0 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 28px 44px; }
@media (max-width: 700px) { .jobx .jx-body { grid-template-columns: 1fr; gap: 22px; } }
.jobx .jx-body .lead { grid-column: 1 / -1; color: var(--muted); font-size: 16px; line-height: 1.6; max-width: 70ch; }
.jobx h4 { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--faint); margin-bottom: 14px; }
.jobx ul { list-style: none; display: flex; flex-direction: column; gap: 11px; }
.jobx .jx-body li { display: flex; gap: 11px; align-items: flex-start; font-size: 15px; color: var(--ink); line-height: 1.45; }
.jobx .jx-body li svg { width: 17px; height: 17px; color: var(--accent); flex: none; margin-top: 3px; }
.jobx .jx-foot { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid var(--line); margin-top: 4px; }
.jobx .jx-sal { font-size: 14.5px; color: var(--muted); }
.jobx .jx-sal b { font-family: var(--f-head); font-weight: 700; font-size: 17px; color: var(--ink); }

.role-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 48px; }
@media (max-width: 760px) { .role-grid { grid-template-columns: 1fr; gap: 26px; } }
.role-grid h4 { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--faint); margin-bottom: 16px; }
.role-grid ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.role-grid li { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; color: var(--ink); line-height: 1.5; }
.role-grid li svg { width: 17px; height: 17px; color: var(--accent); flex: none; margin-top: 3px; }
.role-lead { color: var(--muted); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; max-width: 60ch; }
.role-lead strong { color: var(--ink); font-weight: 600; }

.about-panel { background: var(--bg-3); border: 1px solid var(--line); border-radius: 22px; padding: clamp(28px, 3vw, 42px); }
.about-panel .pt { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--faint); margin-bottom: 8px; }
.about-panel .row { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.about-panel .row:last-of-type { border-bottom: none; }
.about-panel .row .k { color: var(--muted); font-size: 14.5px; }
.about-panel .row .v { font-family: var(--f-head); font-weight: 700; font-size: 16px; letter-spacing: -0.01em; text-align: right; }
.about-panel .v em { font-style: normal; color: var(--accent); }
.about-panel .tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.about-panel .tags span { font-family: var(--f-mono); font-size: 12px; color: var(--ink); border: 1px solid var(--line-2); padding: 7px 12px; border-radius: 100px; }

.cs-cover { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center 29%; border-radius: 20px; margin-top: clamp(24px,3vw,40px); }
@media (max-width: 700px) { .cs-cover { aspect-ratio: 4 / 3; object-position: center 14%; } }
.cs-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; margin-top: clamp(28px,3.5vw,44px); }
@media (max-width: 700px) { .cs-meta { grid-template-columns: 1fr 1fr; } }
.cs-meta .m { background: var(--bg); padding: 22px 24px; }
.cs-meta .mk { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--faint); }
.cs-meta .mv { font-family: var(--f-head); font-weight: 700; font-size: 17px; margin-top: 8px; letter-spacing: -0.01em; }
.cs-meta .mv a { color: var(--accent); display: inline-flex; align-items: center; gap: 6px; }
.cs-meta .mv a svg { width: 14px; height: 14px; }

.cs-block { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(24px,4vw,64px); padding: clamp(30px,4vw,56px) 0; border-top: 1px solid var(--line); }
@media (max-width: 820px) { .cs-block { grid-template-columns: 1fr; gap: 16px; } }
.cs-block h2 { font-family: var(--f-head); font-weight: 800; font-size: clamp(26px,3vw,40px); letter-spacing: -0.03em; line-height: 1.05; }
.cs-block h2 em { font-style: normal; color: var(--accent); }
.cs-block .body p { color: var(--muted); font-size: clamp(16px,1.4vw,18px); line-height: 1.65; margin-bottom: 16px; }
.cs-block .body p strong { color: var(--ink); font-weight: 600; }

.cs-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 700px) { .cs-results { grid-template-columns: 1fr; } }
.cs-stat { background: var(--bg-3); border: 1px solid var(--line); border-radius: 20px; padding: 36px 32px; }
.cs-stat .v { font-family: var(--f-head); font-weight: 800; font-size: clamp(40px,5vw,64px); letter-spacing: -0.04em; line-height: 1; color: var(--accent); }
.cs-stat .k { color: var(--muted); font-size: 15px; margin-top: 12px; }

.cs-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 700px) { .cs-gallery { grid-template-columns: 1fr; } }
.cs-gallery img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; display: block; aspect-ratio: 4 / 3; background: var(--bg-3); }
.cs-gallery .wide { grid-column: 1 / -1; aspect-ratio: 16 / 7; }

.cs-next { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: clamp(28px,4vw,44px); border: 1px solid var(--line); border-radius: 22px; background: var(--bg-2); }
.cs-next .nl { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--faint); }
.cs-next h3 { font-family: var(--f-head); font-weight: 800; font-size: clamp(24px,2.6vw,36px); letter-spacing: -0.02em; margin-top: 8px; }
.cs-next h3 em { font-style: normal; color: var(--accent); }

.page-cs .page-stack > section.sec { padding: clamp(52px, 6vw, 96px) 0; }
.page-cs .hero-service { padding-bottom: clamp(16px, 2vw, 28px) !important; }
.page-cs .page-stack > section.sec:first-child { padding-top: clamp(8px, 1.5vw, 22px); }
.page-cs .cs-block:first-child { border-top: none; }
.page-cs .cs-cover { margin-top: clamp(20px, 2.5vw, 32px); }
.page-cs .cs-meta { margin-top: clamp(18px, 2vw, 28px); }

.page-cs .cs-cover { border: 1px solid var(--line-2); box-shadow: 0 40px 90px rgba(0,0,0,.5); }
.cs-htags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }

.cs-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cs-head .h-hero { margin: 0; }

.cs-visit { flex: none; display: inline-flex; align-items: center; gap: 8px; margin-bottom: .55em; font-family: var(--f-body); font-weight: 600; font-size: 15px; color: var(--ink); text-decoration: none; }
.cs-visit span { background: linear-gradient(currentColor, currentColor) no-repeat 0 100% / 100% 1px; transition: background-size .35s var(--ease); }
.cs-visit svg { width: 15px; height: 15px; transition: transform .35s var(--ease); }
.cs-visit:hover { color: var(--accent); }
.cs-visit:hover span { background-size: 0 1px; background-position: 100% 100%; }
.cs-visit:hover svg { transform: translate(2px, -2px); }
@media (max-width: 700px) { .cs-head { align-items: flex-start; flex-direction: column; gap: 14px; } .cs-visit { margin-bottom: 0; } }
.cs-htags span { font-family: var(--f-mono); font-size: 12.5px; letter-spacing: 0.04em; color: var(--ink); border: 1px solid var(--line-2); padding: 8px 14px; border-radius: 100px; }
.page-cs .cs-block .num { font-family: var(--f-mono); font-size: 13px; color: var(--accent); display: block; margin-bottom: 14px; }
.page-cs .cs-stat { background: linear-gradient(165deg, var(--bg-3), var(--card)); position: relative; overflow: hidden; }
.page-cs .cs-stat::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(110% 85% at 100% 0%, color-mix(in oklab, var(--accent) 13%, transparent), transparent 58%); }
.page-cs .cs-stat .v { font-size: clamp(46px, 6vw, 80px); position: relative; }
.page-cs .cs-stat .k { position: relative; }

.page-cs .cs-gallery { grid-template-columns: 1.5fr 1fr; align-items: stretch; }
.page-cs .cs-gallery .wide { grid-column: 1; grid-row: 1 / span 2; aspect-ratio: auto; height: 100%; }
.page-cs .cs-gallery img:not(.wide) { aspect-ratio: 4 / 3; }
@media (max-width: 700px) { .page-cs .cs-gallery { grid-template-columns: 1fr; } .page-cs .cs-gallery .wide { grid-row: auto; aspect-ratio: 16 / 10; } }

.cs-quote { max-width: min(820px, 92%); margin: 0 auto; text-align: center; }
.cs-quote .qm { font-family: var(--f-head); font-weight: 800; font-size: 64px; line-height: 0.6; color: var(--accent); display: block; margin-bottom: 18px; }
.cs-quote blockquote { font-family: var(--f-head); font-weight: 700; font-size: clamp(26px, 3.6vw, 50px); letter-spacing: -0.025em; line-height: 1.16; text-wrap: balance; }
.cs-quote cite { display: block; font-style: normal; font-weight: 600; font-size: 15px; color: var(--muted); margin-top: 26px; }

.page-show .show-list { display: flex; flex-direction: column; gap: clamp(44px, 6vw, 96px); }
.page-show .show-shot .cap { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 20px; }
.page-show .show-shot .cap .n { font-family: var(--f-mono); font-size: 13px; color: var(--accent); flex: none; }
.page-show .show-shot .cap .t { font-family: var(--f-head); font-weight: 800; font-size: clamp(22px, 2.4vw, 34px); letter-spacing: -0.02em; line-height: 1.05; flex: 1; min-width: 240px; }
.page-show .show-shot .cap .d { color: var(--muted); font-size: 15.5px; line-height: 1.55; max-width: 44ch; }
.page-show .show-shot img { width: 100%; display: block; border-radius: 18px; border: 1px solid var(--line-2); box-shadow: 0 30px 70px rgba(0,0,0,.4); background: var(--bg-3); }
.page-show .show-shot.tall img { aspect-ratio: 16 / 11; object-fit: cover; }
.page-show .show-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 700px) { .page-show .show-duo { grid-template-columns: 1fr; } }
.page-show .show-duo img { width: 100%; border-radius: 18px; border: 1px solid var(--line-2); aspect-ratio: 4 / 3; object-fit: cover; display: block; background: var(--bg-3); }

.page-show .show-intro { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 64px); }
@media (max-width: 760px) { .page-show .show-intro { grid-template-columns: 1fr; gap: 16px; } }
.page-show .show-intro h2 { font-family: var(--f-head); font-weight: 800; font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -0.02em; }
.page-show .show-intro h2 em { font-style: normal; color: var(--accent); }
.page-show .show-intro p { color: var(--muted); font-size: clamp(15px, 1.3vw, 17px); line-height: 1.6; margin-top: 10px; }

.proc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 980px) { .proc-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .proc-grid { grid-template-columns: 1fr; } }
.proc { display: flex; flex-direction: column; }
.proc-img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 8px; }
.proc .pn { font-family: var(--f-mono); font-size: 12px; color: var(--accent); margin: 20px 0 10px; }
.proc h3 { font-family: var(--f-head); font-weight: 800; font-size: 23px; letter-spacing: -0.02em; }
.proc p { color: var(--muted); font-size: 14.5px; line-height: 1.55; margin-top: 10px; }

.studio { background: var(--bg-2); }

.studio-grid { display: grid; grid-template-columns: 0.72fr 1fr; gap: clamp(24px, 4vw, 64px); align-items: center; }
@media (max-width: 900px) { .studio-grid { grid-template-columns: 1fr; } .studio-photo { max-width: 420px; } }
.studio-photo { position: relative; border-radius: 22px; overflow: hidden; align-self: center; }
.studio-photo img { width: 100%; aspect-ratio: 4 / 3; height: auto; min-height: 0; object-fit: cover; object-position: center 22%; display: block; }
.studio-photo .cap { position: absolute; left: 20px; bottom: 18px; z-index: 3; font-family: var(--f-mono); font-size: 12px; color: var(--ink); background: rgba(11,11,13,.55); backdrop-filter: blur(6px); padding: 7px 13px; border-radius: 100px; border: 1px solid var(--line); }
.studio-text { display: flex; flex-direction: column; justify-content: center; }
.studio-text p { color: var(--muted); font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; margin-top: 22px; max-width: 64ch; }
.studio-text p strong { color: var(--ink); font-weight: 600; }
.note strong, .feat-row .fr-body p strong { color: var(--ink); font-weight: 600; }
.guarantee p strong { color: var(--accent-ink); font-weight: 700; }
.studio-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 40px; padding-top: 34px; border-top: 1px solid var(--line); }
@media (max-width: 480px) { .studio-stats { grid-template-columns: 1fr 1fr; } }
.studio-stats .v { font-family: var(--f-head); font-weight: 800; font-size: clamp(30px, 3.4vw, 48px); letter-spacing: -0.03em; }
.studio-stats .v s { text-decoration: none; color: var(--accent); }
.studio-stats .k { color: var(--muted); font-size: 13.5px; margin-top: 6px; }

.pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 900px) { .pillars { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .pillars { grid-template-columns: 1fr; } }
.pillar { background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: clamp(26px, 2.4vw, 32px) clamp(22px, 2vw, 28px) clamp(28px, 2.6vw, 34px); transition: transform .4s var(--ease), border-color .4s var(--ease); }
.pillar:hover { transform: translateY(-4px); border-color: var(--line-2); }
.pillar .pn { font-family: var(--f-mono); font-size: 12px; color: var(--accent); }
.pillar h3 { font-family: var(--f-head); font-weight: 700; font-size: clamp(18px, 1.6vw, 21px); letter-spacing: -0.01em; margin: 22px 0 10px; }
.pillar p { color: var(--muted); font-size: 14.5px; line-height: 1.55; }

.quotes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 920px) { .quotes-grid { grid-template-columns: 1fr; max-width: 640px; } }
.qcard { border: 1px solid var(--line); border-radius: 22px; padding: clamp(26px, 2.4vw, 34px); display: flex; flex-direction: column; background: var(--card); }
.qcard .st { color: var(--accent); letter-spacing: 2px; margin-bottom: 18px; }
.qcard blockquote { font-family: var(--f-body); font-weight: 500; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.45; letter-spacing: -0.005em; text-wrap: pretty; }
.qcard .who { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 26px; }
.qcard .av { width: 42px; height: 42px; border-radius: 50%; overflow: hidden; flex: none; }
.qcard .av image-slot { width: 100%; height: 100%; }
.qcard .nm { font-weight: 700; font-size: 14.5px; }
.qcard .rl { font-size: 13px; color: var(--muted); }

.contact { background: var(--bg); padding-bottom: clamp(48px, 5vw, 72px); }
.contact-box { background: var(--bg-3); border: 1px solid var(--line); border-radius: clamp(26px, 3vw, 44px); padding: clamp(34px, 5vw, 72px); }
.contact-left .contact-cta { margin: 30px 0 4px; }

.book-card { position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; width: 100%; max-width: 420px; margin: clamp(26px, 3vw, 34px) 0 clamp(24px, 2.6vw, 30px); padding: 16px 18px; border: 1px solid color-mix(in oklab, var(--accent) 42%, var(--line-2)); border-radius: 16px; background: color-mix(in oklab, var(--accent) 7%, transparent); transition: border-color .3s var(--ease), transform .3s var(--ease), opacity .8s var(--ease); }
.book-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--accent); transform: translateY(101%); transition: transform .45s var(--ease); }
.book-card:hover::before { transform: translateY(0); }
.book-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.bc-ic { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in oklab, var(--accent) 16%, transparent); color: var(--accent); transition: background .3s var(--ease), color .3s var(--ease); }
.book-card:hover .bc-ic { background: color-mix(in oklab, var(--accent-ink) 14%, transparent); color: var(--accent-ink); }
.bc-ic svg { width: 21px; height: 21px; }
.bc-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bc-t { font-weight: 700; font-size: clamp(15px, 1.3vw, 16.5px); color: var(--ink); }
.bc-d { font-size: 13px; color: var(--muted); }
.book-card:hover .bc-t, .book-card:hover .bc-d, .book-card:hover .bc-go { color: var(--accent-ink); }
.bc-go { color: var(--accent); display: grid; place-items: center; transition: color .3s var(--ease), transform .3s var(--ease); }
.bc-go svg { width: 18px; height: 18px; }
.book-card:hover .bc-go { transform: translateX(3px); }

.sec-tight { padding: clamp(30px, 4vw, 54px) 0 0; }
.contact-lead { color: var(--muted); font-size: clamp(15px, 1.25vw, 16.5px); max-width: 42ch; margin: 14px 0 0; }
.chan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 860px) { .chan-grid { grid-template-columns: 1fr; } }
.chan { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; gap: 6px; padding: clamp(22px, 2.4vw, 30px); border: 1px solid var(--line); border-radius: 20px; background: var(--card); text-decoration: none; transition: border-color .35s var(--ease), transform .35s var(--ease); }
.chan::before { content: ""; position: absolute; inset: 0; z-index: 0; background: var(--accent); }

.chan::before { width: 260%; background: color-mix(in oklab, var(--accent) 13%, var(--bg-3)); }
.chan { --fill-dur: .72s; }

.chan::before { transition: transform .5s var(--ease); }
.chan:hover::before { transition: transform var(--fill-dur) var(--fill-ease); }
.chan:hover .chan-ic { background: color-mix(in oklab, var(--accent) 26%, transparent); color: var(--accent); }
.chan:hover .chan-k { color: var(--muted); }
.chan:hover .chan-v, .chan:hover .chan-d { color: var(--ink); }
.chan > * { position: relative; z-index: 1; }
.chan:hover { border-color: var(--accent); transform: translateY(-3px); }
.chan-ic { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: color-mix(in oklab, var(--accent) 15%, transparent); color: var(--accent); margin-bottom: 12px; transition: background .3s var(--ease), color .3s var(--ease); }
.chan-ic svg { width: 22px; height: 22px; }
.chan-k { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint); transition: color .3s var(--ease); }
.chan-v { font-family: var(--f-head); font-weight: 700; font-size: clamp(17px, 1.6vw, 21px); letter-spacing: -0.02em; color: var(--ink); transition: color .3s var(--ease); }
.chan-d { font-size: 13.5px; color: var(--muted); transition: color .3s var(--ease); }
.chan-hi { background: var(--bg-3); }

.contact-left { display: flex; flex-direction: column; align-items: flex-start; }

.contact-left .h-sec { font-size: clamp(32px, 4.4vw, 68px); }
.hero-mock { position: absolute; right: max(var(--gutter), calc((100vw - 1240px) / 2)); top: clamp(58px, 9vh, 116px); width: min(44vw, 660px); height: auto; display: block; z-index: 1; filter: drop-shadow(0 36px 72px rgba(0,0,0,.45)); }
.hero-mock-bar { height: 38px; background: #122019; display: flex; align-items: center; gap: 7px; padding: 0 15px; border-bottom: 1px solid var(--line); }
.hero-mock-bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--line-2); }
.hero-mock img { width: 100%; display: block; }
@media (max-width: 1100px) { .hero-mock { right: auto; left: 50%; top: clamp(96px, 13vh, 150px); width: min(76vw, 400px); transform: translateX(-50%); } }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(34px, 5vw, 90px); }
@media (max-width: 880px) { .contact-grid { grid-template-columns: 1fr; gap: 44px; } }
.contact-left h2 { margin: 22px 0 0; }
.contact-left .big { font-family: var(--f-head); font-weight: 800; font-size: clamp(22px, 2vw, 28px); letter-spacing: -0.01em; margin-top: 38px; }
.contact-left a.mail, .contact-left a.tel { font-family: var(--f-head); font-weight: 700; font-style: normal; font-size: clamp(24px, 2.6vw, 40px); letter-spacing: -0.02em; border-bottom: 1px solid var(--line-2); padding-bottom: 4px; transition: border-color .3s, color .3s; }
.contact-left a.mail:hover, .contact-left a.tel:hover { color: var(--accent); border-color: var(--accent); }
.contact-left a.tel + a.mail { margin-top: 16px; font-size: clamp(20px, 2.1vw, 32px); }
.contact-left .lines { margin-top: 34px; display: flex; flex-direction: column; gap: 10px; color: var(--muted); font-size: 15px; }
.contact-left .lines a:hover { color: var(--ink); }
.form { display: flex; flex-direction: column; gap: 16px; }
.field { display: flex; flex-direction: column; gap: 8px; }
.field label { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.field input, .field textarea, .field select { background: var(--bg); border: 1px solid var(--line-2); border-radius: 12px; padding: 15px 16px; color: var(--ink); font-family: var(--f-body); font-size: 15px; transition: border-color .25s; }
.field input:focus, .field textarea:focus, .field select:focus { outline: none; border-color: var(--accent); }
.field textarea { resize: vertical; min-height: 120px; }
.chips-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip-toggle { font-family: var(--f-mono); font-size: 12.5px; padding: 9px 14px; border: 1px solid var(--line-2); border-radius: 100px; color: var(--muted); cursor: pointer; transition: all .2s; }
.chip-toggle.on { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.form .btn { justify-content: center; margin-top: 6px; }
.form-ok { display: none; padding: 16px; border: 1px solid var(--accent); border-radius: 12px; color: var(--accent); font-size: 14.5px; font-family: var(--f-mono); }
.form-ok.show { display: block; }

.faq-list { border-top: 1px solid var(--line); max-width: 920px; }
.faq { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; padding: 26px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-family: var(--f-head); font-weight: 700; font-size: clamp(19px, 2vw, 27px); letter-spacing: -0.015em; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .ic { width: 30px; height: 30px; flex: none; border: 1px solid var(--line-2); border-radius: 50%; display: grid; place-items: center; transition: transform .3s var(--ease), background .3s, color .3s; }
.faq[open] summary .ic { transform: rotate(45deg); background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.faq .a { color: var(--muted); font-size: 16px; line-height: 1.6; max-width: 70ch; padding: 0 0 28px; }

.lw-label { text-align: center; font-family: var(--f-mono); font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); padding: clamp(44px, 5vw, 64px) var(--gutter) 28px; }
.lw-label b { color: var(--ink); font-weight: 600; }

.logo-marquee { position: relative; overflow: hidden; padding: 44px 0; user-select: none; }
.logo-marquee::before, .logo-marquee::after { content: ""; position: absolute; top: 0; bottom: 0; width: 140px; z-index: 2; pointer-events: none; }
.logo-marquee::before { left: 0; background: linear-gradient(90deg, var(--bg), transparent); }
.logo-marquee::after { right: 0; background: linear-gradient(270deg, var(--bg), transparent); }

.logo-track { display: flex; width: max-content; animation: lmq 40s linear infinite; animation-play-state: paused; pointer-events: none; will-change: transform; backface-visibility: hidden; transform: translate3d(0,0,0); }
.logo-track.run { animation-play-state: running; }
.logo-set { display: flex; align-items: center; gap: clamp(64px, 7vw, 124px); padding-right: clamp(64px, 7vw, 124px); flex: none; }

.logo-track img { --lf: 1; height: calc(clamp(36px, 3.36vw, 50px) * var(--lf)); width: auto; flex: none; opacity: .9; backface-visibility: hidden; }
.logo-track img[src$="/1.png"]{--lf:0.85}
.logo-track img[src$="/2.png"]{--lf:0.95}
.logo-track img[src$="/3.png"]{--lf:0.85}
.logo-track img[src$="/4.png"]{--lf:1.09}
.logo-track img[src$="/5.png"]{--lf:0.96}
.logo-track img[src$="/6.png"]{--lf:0.99}
.logo-track img[src$="/7.png"]{--lf:0.94}
.logo-track img[src$="/8.png"]{--lf:0.85}
.logo-track img[src$="/9.png"]{--lf:1.90}
.logo-track img[src$="/10.png"]{--lf:1.62}
.logo-track img[src$="/11.png"]{--lf:1.5}
.logo-track img[src$="/12.png"]{--lf:1.64}
.logo-track img[src$="/13.png"]{--lf:0.90}
.logo-track img[src$="/14.png"]{--lf:0.98}
@keyframes lmq { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
@media (prefers-reduced-motion: reduce) { .logo-track { animation: none; } }

.guarantee { background: var(--accent); color: var(--accent-ink); }
.guarantee ::selection { background: var(--accent-ink); color: var(--accent); }
.guarantee-inner { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(40px, 6vw, 84px); align-items: center; }
@media (max-width: 860px) { .guarantee-inner { grid-template-columns: 1fr; gap: 32px; } }
.guarantee .gk { font-family: var(--f-mono); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: color-mix(in oklab, var(--accent-ink) 62%, transparent); display: inline-flex; align-items: center; gap: 10px; }
.guarantee .gk::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent-ink); }
.guarantee h2 { font-size: clamp(30px, 4.2vw, 58px); line-height: 1.05; margin: 18px 0 26px; }
.guarantee h2 em { font-style: normal; font-weight: inherit; color: var(--accent-ink); letter-spacing: inherit; }
.guarantee p { font-size: clamp(16px, 1.5vw, 19px); line-height: 1.55; max-width: 52ch; color: color-mix(in oklab, var(--accent-ink) 86%, transparent); margin-bottom: 30px; }
.btn-dark { background: var(--accent-ink); color: var(--accent); }
.btn-dark::before { background: #fff; }
.btn-dark:hover { color: var(--accent-ink); transform: translateY(-2px); }
.g-seal { justify-self: end; text-align: center; }
.g-seal .big { font-family: var(--f-head); font-weight: 800; font-size: clamp(96px, 14vw, 188px); line-height: 0.82; letter-spacing: -0.05em; }
.g-seal .cap { font-family: var(--f-mono); font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 12px; }
@media (max-width: 860px) { .g-seal { justify-self: start; text-align: left; } }

.faq-sec { background: var(--bg-2); }
.faq-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(36px, 5vw, 80px); align-items: start; }
@media (max-width: 820px) { .faq-grid { grid-template-columns: 1fr; gap: 30px; } }
.faq-head { position: sticky; top: 100px; }
@media (max-width: 820px) { .faq-head { position: static; } }
.faq-head h2 { margin: 18px 0 18px; }
.faq-head p { color: var(--muted); font-size: 16px; max-width: 34ch; margin-bottom: 26px; }
.faq-sec .faq-list { border-top: none; max-width: none; display: flex; flex-direction: column; gap: 12px; }
.faq-sec .faq { border: 1px solid var(--line); border-radius: 18px; background: var(--card); padding: 4px 26px; transition: border-color .3s var(--ease), background .3s var(--ease); }
.faq-sec .faq[open] { border-color: color-mix(in oklab, var(--accent) 38%, var(--line-2)); background: var(--bg-3); }
.faq-sec .faq summary { padding: 24px 0; font-size: clamp(17px, 1.7vw, 22px); }
.faq-sec .faq .a { padding: 0 0 26px; }

.contact-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.cb { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; color: var(--ink); border: 1px solid color-mix(in oklab, var(--accent) 30%, var(--line-2)); background: color-mix(in oklab, var(--accent) 8%, transparent); padding: 10px 15px; border-radius: 100px; }
.cb svg { width: 16px; height: 16px; color: var(--accent); flex: none; }

.hero-service { min-height: auto !important; position: relative !important; padding: clamp(132px, 17vh, 200px) 0 clamp(48px, 6vw, 84px) !important; background: radial-gradient(115% 95% at 82% -10%, color-mix(in oklab, var(--accent) 20%, var(--bg)) 0%, color-mix(in oklab, var(--accent) 5%, var(--bg)) 38%, var(--bg) 66%) !important; }
.hero-service::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--line); }

.hero-service .hero-inner { position: relative; z-index: 2; }

.hero-2col { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.hero-2col .h-hero { font-size: clamp(38px, 5vw, 76px); }
.hero-2col .hero-foot { max-width: none; }
.hero-2col .hero-sub { max-width: 46ch; }
.hero-2col .hero-stats { margin-top: clamp(40px, 4.5vw, 60px); }
@media (max-width: 940px) { .hero-2col { grid-template-columns: 1fr; gap: 28px; }

  .hero-2col .hero-visual { order: -1; width: min(72vw, 360px); margin: 0 auto; }
  .hero-2col .hero-visual img { filter: drop-shadow(0 18px 36px rgba(0,0,0,.4)); } }
.hero-rating { display: flex; width: fit-content; align-items: center; gap: 11px; margin-bottom: 22px; font-size: 14px; color: var(--muted); }
.hero-rating .stars { color: var(--accent); letter-spacing: 1px; font-size: 15px; }
.hero-rating b { color: var(--ink); font-weight: 600; }
.h-hero .kw { color: var(--accent); }
.hero-visual { position: relative; }
.hero-visual img { width: 100%; height: auto; display: block; filter: drop-shadow(0 30px 60px rgba(0,0,0,.4)); }

.hero-visual-dash img { filter: drop-shadow(0 30px 60px rgba(0,0,0,.45)); }

@media (min-width: 941px) {
  .hero-2col:has(.hero-visual-dash) { grid-template-columns: 0.82fr 1.18fr; gap: clamp(24px, 3.5vw, 56px); }
  .hero-visual-dash { width: calc(100% + var(--gutter)); margin-right: calc(-1 * var(--gutter)); }
}
@media (max-width: 940px) { .hero-2col .hero-visual-dash { width: min(92vw, 520px); } }
.hero-badge { position: absolute; background: var(--card); border: 1px solid var(--line-2); border-radius: 16px; padding: 16px 20px; box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.hero-badge.rating { top: 6%; left: -4%; }
.hero-badge.result { bottom: 8%; right: -3%; }
.hero-badge .bv { font-family: var(--f-head); font-weight: 800; font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -0.02em; color: var(--accent); line-height: 1; }
.hero-badge .bk { font-size: 12.5px; color: var(--muted); margin-top: 5px; }
.hero-badge .stars { color: var(--accent); font-size: 14px; letter-spacing: 1px; }
@media (max-width: 1180px) { .hero-badge.rating { left: 2%; } .hero-badge.result { right: 2%; } }
@media (max-width: 560px) { .hero-badge { padding: 11px 14px; border-radius: 12px; } .hero-badge.rating { top: 2%; left: -6%; } .hero-badge.result { bottom: 4%; right: -6%; } .hero-badge .bv { font-size: 20px; } .hero-badge .bk { font-size: 11.5px; margin-top: 3px; } .hero-badge .stars { font-size: 12px; } }
.breadcrumb { display: flex; width: fit-content; align-items: center; gap: 9px; font-size: 13px; color: var(--muted); margin-bottom: 20px; }
.breadcrumb a:hover { color: var(--ink); }
.breadcrumb .sep { opacity: .5; }
.breadcrumb b { color: var(--accent); font-weight: 500; }

.prob-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .prob-grid { grid-template-columns: 1fr; } }
.prob { background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: 32px 30px 34px; transition: border-color .4s var(--ease), transform .4s var(--ease); }
.prob:hover { border-color: var(--line-2); }
.prob .x { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in oklab, #ff6b5e 16%, transparent); color: #ff8478; margin-bottom: 22px; }
.prob .x svg { width: 22px; height: 22px; }
.prob h3 { font-family: var(--f-head); font-weight: 700; font-size: 20px; letter-spacing: -0.01em; margin-bottom: 9px; }
.prob p { color: var(--muted); font-size: 15px; line-height: 1.55; }
.prob .cost { display: block; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); font-weight: 600; font-size: 14px; color: #ff8478; }

.prob-2col { display: grid; grid-template-columns: 1.02fr 0.98fr; gap: clamp(34px, 5vw, 76px); align-items: center; }
@media (max-width: 920px) { .prob-2col { grid-template-columns: 1fr; gap: 40px; } }
.prob-left .h-sec { margin: 16px 0 0; }
.prob-intro { color: var(--muted); font-size: clamp(16px, 1.4vw, 18px); line-height: 1.6; margin-top: 20px; max-width: 46ch; }
.prob-intro strong { color: var(--ink); font-weight: 600; }
.pain-list { list-style: none; margin: 30px 0 0; display: flex; flex-direction: column; gap: 2px; }
.pain-list li { display: flex; align-items: flex-start; gap: 14px; padding: 16px 0; border-top: 1px solid var(--line); color: var(--ink); font-size: 16px; }
.pain-list li:last-child { border-bottom: 1px solid var(--line); }
.pain-list .xi { width: 26px; height: 26px; border-radius: 50%; background: color-mix(in oklab, #ff6b5e 18%, transparent); color: #ff8478; display: grid; place-items: center; flex: none; margin-top: 1px; }
.pain-list .xi svg { width: 14px; height: 14px; }
.pain-list b { font-weight: 600; }
.pain-list span { color: var(--muted); }

.chat-card { background: var(--card); border: 1px solid var(--line-2); border-radius: 24px; overflow: hidden; box-shadow: 0 30px 70px rgba(0,0,0,.4); max-width: 460px; margin-left: auto; }
.chat-head { display: flex; align-items: center; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--line); background: var(--bg-3); }
.chat-head .av { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg,#3a4a3f,#26302a); display: grid; place-items: center; font-size: 18px; flex: none; }
.chat-head .nm { font-family: var(--f-head); font-weight: 700; font-size: 15px; }
.chat-head .st { font-size: 12.5px; color: var(--faint); margin-top: 2px; }
.chat-body { padding: 22px; display: flex; flex-direction: column; gap: 14px; background:
  radial-gradient(circle at 20% 0%, rgba(255,255,255,.02), transparent 60%); }
.msg { max-width: 80%; }
.msg.me { align-self: flex-end; text-align: right; }
.bubble { display: inline-block; padding: 11px 15px; border-radius: 16px; font-size: 14.5px; line-height: 1.4; }
.msg.me .bubble { background: #2b3b30; color: var(--ink); border-bottom-right-radius: 5px; }
.msg .time { display: block; font-size: 11.5px; color: var(--faint); margin-top: 5px; }
.msg.me .time { color: var(--faint); }
.typing { align-self: flex-start; display: inline-flex; gap: 5px; padding: 14px 16px; background: var(--bg-3); border-radius: 16px; border-bottom-left-radius: 5px; }
.typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--faint); display: inline-block; animation: blink 1.4s infinite both; }
.typing i:nth-child(2){ animation-delay: .2s; } .typing i:nth-child(3){ animation-delay: .4s; }
@keyframes blink { 0%,60%,100%{opacity:.25;} 30%{opacity:1;} }
.chat-foot { padding: 18px 22px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 12px; background: color-mix(in oklab, var(--accent) 9%, var(--card)); }
.chat-foot .ic { width: 30px; height: 30px; border-radius: 50%; background: var(--accent); color: var(--accent-ink); display: grid; place-items: center; flex: none; }
.chat-foot .ic svg { width: 16px; height: 16px; }
.chat-foot p { font-size: 14px; color: var(--ink); }
.chat-foot b { color: var(--accent); }

.report-body { padding: 8px 22px 18px; }
.report-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.report-row:last-child { border-bottom: none; }
.report-row .rl { font-size: 14.5px; color: var(--muted); }
.report-row .rv { font-family: var(--f-head); font-weight: 800; font-size: 19px; letter-spacing: -0.01em; color: var(--ink); }
.report-row.big { margin-top: 4px; padding-top: 18px; border-top: 1px solid var(--line-2); }
.report-row.big .rl { color: var(--ink); font-weight: 600; }
.report-row.big .rv { font-size: 26px; }
.report-row .rv.down { color: #ff8478; display: inline-flex; align-items: center; gap: 6px; }
.report-row .rv.down::after { content: "▼"; font-size: 11px; }
.feat p { color: var(--muted); font-size: 14.5px; line-height: 1.5; }
.feat .out { display: block; margin-top: 14px; font-weight: 600; font-size: 13.5px; color: var(--accent); }

.feat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 560px) { .feat-grid { grid-template-columns: 1fr; } }
.feat { position: relative; overflow: hidden; isolation: isolate; border: 1px solid var(--line); border-radius: 18px; padding: 28px 26px; transition: border-color .35s var(--ease); }
.feat::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--bg-3); transform: translateY(101%); transition: transform .45s var(--ease); }
.feat:hover::before { transform: translateY(0); }
.feat:hover { border-color: var(--line-2); }
.feat .ic { width: 46px; height: 46px; border-radius: 12px; background: color-mix(in oklab, var(--accent) 12%, transparent); color: var(--accent); display: grid; place-items: center; margin-bottom: 20px; }
.feat .ic svg { width: 23px; height: 23px; }
.feat h3 { font-family: var(--f-head); font-weight: 700; font-size: 18.5px; letter-spacing: -0.01em; margin-bottom: 8px; }
.feat p { color: var(--muted); font-size: 14.5px; line-height: 1.5; }

.type-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 760px) { .type-grid { grid-template-columns: 1fr; } }
.type { position: relative; overflow: hidden; background: linear-gradient(165deg, var(--bg-3) 0%, var(--card) 60%); border: 1px solid var(--line); border-radius: 24px; padding: clamp(30px, 3vw, 44px); display: flex; flex-direction: column; transition: transform .45s var(--ease), border-color .45s var(--ease); }
.type:hover { border-color: color-mix(in oklab, var(--accent) 34%, var(--line-2)); }
.type .tt { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.type h3 { font-family: var(--f-head); font-weight: 800; font-size: clamp(23px, 2.3vw, 31px); letter-spacing: -0.02em; }
.type .price { font-family: var(--f-head); font-weight: 700; font-size: 15px; color: var(--accent); white-space: nowrap; }
.type .who { font-size: 14px; color: var(--faint); margin-top: 6px; }
.type p { color: var(--muted); font-size: 15px; line-height: 1.55; margin: 18px 0 22px; }
.type ul { list-style: none; display: flex; flex-direction: column; gap: 11px; margin-top: auto; }
.type li { display: flex; align-items: flex-start; gap: 11px; font-size: 14.5px; color: var(--ink); }
.type li svg { width: 18px; height: 18px; color: var(--accent); flex: none; margin-top: 2px; }

.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .steps { grid-template-columns: 1fr; } }
.step { border: 1px solid var(--line); border-radius: 20px; padding: 30px 28px 32px; position: relative; }
.step .sn { font-family: var(--f-mono); font-size: 13px; color: var(--accent); border: 1px solid var(--line-2); border-radius: 100px; width: 38px; height: 38px; display: grid; place-items: center; margin-bottom: 20px; }
.step h3 { font-family: var(--f-head); font-weight: 700; font-size: 20px; letter-spacing: -0.01em; margin-bottom: 9px; }
.step p { color: var(--muted); font-size: 14.5px; line-height: 1.55; }
.step .dur { display: inline-block; margin-top: 14px; font-family: var(--f-mono); font-size: 12px; color: var(--faint); }

.bigstat { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 760px) { .bigstat { grid-template-columns: 1fr; } }
.bigstat .bs { background: var(--bg-3); border: 1px solid var(--line); border-radius: 22px; padding: 40px 34px; }
.bigstat .bs .v { font-family: var(--f-head); font-weight: 800; font-size: clamp(46px, 5.5vw, 72px); letter-spacing: -0.04em; line-height: 1; }
.bigstat .bs .v s { text-decoration: none; color: var(--accent); }
.bigstat .bs .k { color: var(--muted); font-size: 15px; margin-top: 12px; }

.rail-stack { display: flex; flex-direction: column; gap: 0; overflow: visible !important; padding: 0 var(--gutter) !important; scroll-snap-type: none; }
.rail-stack .work { flex: 0 0 auto !important; width: 100%; transform: none; opacity: 1; display: flex; flex-direction: column; background: var(--card); border: 1px solid var(--line-2); position: sticky; top: clamp(84px, 12vh, 108px); margin-bottom: clamp(22px, 6vw, 34px); box-shadow: 0 -16px 44px rgba(0,0,0,.45); isolation: isolate; }
.rail-stack .work:nth-child(2) { top: calc(clamp(84px, 12vh, 108px) + 10px); }
.rail-stack .work:nth-child(3) { top: calc(clamp(84px, 12vh, 108px) + 20px); }
.rail-stack .work:nth-child(4) { top: calc(clamp(84px, 12vh, 108px) + 30px); }
.rail-stack .work:nth-child(5) { top: calc(clamp(84px, 12vh, 108px) + 40px); }
.rail-stack .work:nth-child(6) { top: calc(clamp(84px, 12vh, 108px) + 50px); }
.rail-stack .work:last-child { margin-bottom: 0; }
.rail-stack .work-img { height: auto; aspect-ratio: 4 / 3; transform: none !important; scale: none !important; border-radius: 23px 23px 0 0; object-position: center 30%;  }

.rail-stack .work-veil { display: block; inset: 0 0 auto 0; height: auto; aspect-ratio: 4 / 3; background: linear-gradient(180deg, transparent 48%, color-mix(in oklab, var(--card) 90%, transparent) 86%, var(--card)); }
.rail-stack .work-over { position: relative; padding: 0 clamp(20px, 5vw, 26px) clamp(22px, 5vw, 28px); margin-top: clamp(-60px, -12vw, -42px); z-index: 3; }
.rail-stack .work-over h3 { font-size: clamp(30px, 9vw, 42px); }
.rail-stack .work-over .wtag { display: inline-flex; align-items: center; color: var(--ink); background: rgba(8,14,10,.58); backdrop-filter: blur(8px); border: 1px solid var(--line-2); padding: 6px 12px; border-radius: 100px; }
.rail-stack .work-num { top: 18px; left: 20px; }
.rail-stack .work-cta { margin-top: 20px; }

@media (max-width: 1100px) {

  .hero { padding-top: clamp(96px, 13vh, 130px); justify-content: flex-start; }
  .hero-top { position: static; order: 1; }
  .hero-mock { position: static; order: 2; width: min(76vw, 400px); margin: clamp(18px, 3vw, 30px) auto clamp(6px, 1.5vw, 14px); transform: none; left: auto; right: auto; top: auto; }
  .hero-inner { order: 3; }
}
@media (max-width: 760px) {
  .hero { padding-top: clamp(92px, 12vh, 116px); padding-bottom: clamp(40px, 7vw, 64px); }
  .hero-mock { width: min(74vw, 330px); }
  .hero h1 { max-width: 100%; }
  .hero-stats { gap: 18px 26px; }
  .hero-stat { flex: 1 1 40%; }
  .hero-actions { width: 100%; }
  .hero-actions .btn { flex: 1 1 auto; justify-content: center; }
  .sec { padding: clamp(56px, 13vw, 88px) 0; }
  .sec-head { margin-bottom: clamp(28px, 7vw, 44px); }
  .svc-card { min-height: 0; padding: clamp(26px, 6vw, 34px); }
  .svc-watermark { font-size: clamp(84px, 26vw, 120px); top: -16px; }
  .logo-track img { height: clamp(34px, 9vw, 44px); }
  .lw-label { padding: clamp(34px, 9vw, 48px) var(--gutter) 22px; }
  .g-seal .big { font-size: clamp(72px, 26vw, 120px); }
  .cta-strip-inner { padding: clamp(26px, 7vw, 38px); }
  .foot-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
}
@media (max-width: 520px) {

  .work { flex: 0 0 84vw; }
  .rail-stick .work-list { padding-bottom: 64px; }
  .quotes-grid { gap: 14px; }
  .contact-box { padding: clamp(24px, 7vw, 34px); }
  .contact-left a.mail { font-size: clamp(20px, 6.5vw, 26px); word-break: break-word; }
  .contact-left a.tel { font-size: clamp(20px, 6.5vw, 26px); }
  .contact-left a.tel + a.mail { font-size: clamp(18px, 5.4vw, 22px); }
}

.btn::before, .nav-cta::before, .nav-links a::before, .svc-caps span::before, .foot-socials a::before,
.book-card::before, .nav-sub a::before, .nd-group a::before, .nd-close::before,
.chan::before,
.job .japply::before, .feat::before, .work-cta::before, .svc-ic2::before,
.svc-go2::before, .feat-row .fr-ic::before, .pf-thumb .pf-arrow::before {
  inset: auto;
  left: var(--ox, 50%);
  top: var(--oy, 100%);
  width: 340%; height: auto; aspect-ratio: 1;
  padding: 0; margin: 0;
  border-radius: 50%;
  transform-origin: center;

  transform: translate(-50%, -50%) scale(0);
  transition: transform var(--fill-dur) var(--fill-ease);
}

.book-card .bc-ic, .book-card .bc-t, .book-card .bc-d, .book-card .bc-go {
  transition-delay: var(--fill-lag);
}
.btn:hover::before, .nav-cta:hover::before, .nav-links a:not(.on):hover::before, .svc-caps span:hover::before,
.foot-socials a:hover::before, .book-card:hover::before, .nav-sub a:hover::before,
.nd-group a:hover::before, .nd-close:hover::before, .job:hover .japply::before,
.feat:hover::before, .work:hover .work-cta::before, .svc-card:hover .svc-ic2::before,
.chan:hover::before,
.svc-card:hover .svc-go2::before, .feat-row:hover .fr-ic::before,
.pf-card:hover .pf-arrow::before {
  transform: translate(-50%, -50%) scale(1);
}

.btn, .nav-cta { clip-path: inset(0 round 12px); }
.book-card { clip-path: inset(0 round 16px); }
.chan { clip-path: inset(0 round 20px); }
.job .japply, .work-cta { clip-path: inset(0 round 100px); }

.btn:focus-visible, .nav-cta:focus-visible, .book-card:focus-visible,
.work:focus-visible, .job .japply:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--bg), inset 0 0 0 4px var(--accent);
}
.btn-ghost:focus-visible, .book-card:focus-visible, .job .japply:focus-visible {
  box-shadow: inset 0 0 0 2px var(--accent), inset 0 0 0 4px var(--bg);
}

.work:focus-visible { box-shadow: none; }
.work:focus-visible::after {
  content: ""; position: absolute; inset: 0; z-index: 4; border-radius: inherit;
  box-shadow: inset 0 0 0 3px var(--accent), inset 0 0 0 6px var(--bg);
  pointer-events: none;
}
.nav-cta::before { content: ""; position: absolute; z-index: -1; background: var(--bg); }
.nav-cta:hover { color: var(--accent); }

.work-over h3, .work-over h3 em { transition: color .35s var(--ease); }

.field label { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.field input, .field textarea, .field select {
  background: color-mix(in oklab, var(--bg) 82%, transparent);
  border: 1px solid var(--line-2); border-radius: 14px; padding: 16px 17px;
  color: var(--ink); font-family: var(--f-body); font-size: 15.5px;
  transition: border-color .28s var(--ease), background .28s var(--ease), box-shadow .28s var(--ease);
}
.field input::placeholder, .field textarea::placeholder { color: var(--muted); }
.field input:hover, .field textarea:hover { border-color: color-mix(in oklab, var(--accent) 34%, var(--line-2)); }
.field input:focus, .field textarea:focus, .field select:focus {
  outline: none; border-color: var(--accent); background: var(--bg);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 16%, transparent);
}
.form { gap: 18px; }

@media (max-width: 880px) {
  .contact-grid { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
  .contact-grid > .contact-left { display: contents; }
  .contact-grid > .reveal { order: 6; align-self: stretch; margin-top: 24px; }
  .contact-left .contact-k { display: none; }
  .contact-left a.tel, .contact-left a.mail { margin-top: 20px; }
  .contact-left .book-card { order: 7; margin: 24px 0 0; }
  .contact-left .lines { order: 8; margin-top: 20px; }
  .contact-badges { order: 9; margin-top: 16px; }
}

@media (max-width: 520px) {
  .field input, .field textarea { font-size: 16px; }
  .form { gap: 14px; }
  .field textarea { min-height: 104px; }
}

.legal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 800px) { .legal-grid { grid-template-columns: 1fr; } }
.legal-card { background: var(--card); border: 1px solid var(--line); border-radius: 22px; padding: clamp(26px, 3vw, 38px); }
.legal-card h2 { font-family: var(--f-head); font-weight: 800; font-size: clamp(20px, 2vw, 26px); letter-spacing: -0.02em; margin-bottom: 22px; }
.legal-card dl { display: flex; flex-direction: column; gap: 0; }
.legal-card dl > div { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: 16px; padding: 13px 0; border-top: 1px solid var(--line); }
.legal-card dl > div:first-child { border-top: none; padding-top: 0; }
@media (max-width: 520px) { .legal-card dl > div { grid-template-columns: 1fr; gap: 3px; } }
.legal-card dt { font-family: var(--f-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.legal-card dd { font-size: 15.5px; color: var(--ink); }
.legal-card dd a { color: var(--accent); }
.legal-note { color: var(--muted); font-size: 15.5px; margin-top: 28px; }
.legal-note a { color: var(--accent); }

.legal-wrap { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(30px, 5vw, 68px); align-items: start; }
@media (max-width: 900px) { .legal-wrap { grid-template-columns: 1fr; gap: 26px; } }
.legal-toc { position: sticky; top: 108px; display: flex; flex-direction: column; gap: 1px; }
@media (max-width: 900px) { .legal-toc { position: static; background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 20px 18px; } }
.legal-toc-label { font-family: var(--f-mono); font-size: 11.5px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); padding: 0 0 14px 14px; }
.legal-toc a { position: relative; font-size: 14.5px; line-height: 1.35; color: var(--muted); padding: 10px 14px; transition: color .28s var(--ease); }
.legal-toc a::after { content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 2px; border-radius: 2px; background: var(--line-2); transform: scaleY(0.5); transition: background .28s var(--ease), transform .28s var(--ease); }
.legal-toc a:hover { color: var(--ink); }
.legal-toc a:hover::after, .legal-toc a.on::after { background: var(--accent); transform: scaleY(1); }
.legal-toc a.on { color: var(--ink); font-weight: 600; }

.legal-body { max-width: 80ch; }
.legal-body h2 { font-family: var(--f-head); font-weight: 800; font-size: clamp(24px, 2.6vw, 34px); letter-spacing: -0.025em; line-height: 1.1; margin: clamp(44px, 5vw, 64px) 0 18px; scroll-margin-top: 120px; }
.legal-body h2:first-child { margin-top: 0; }
.legal-body h3 { font-family: var(--f-head); font-weight: 700; font-size: clamp(17px, 1.6vw, 20px); letter-spacing: -0.01em; margin: 32px 0 12px; }
.legal-body p { color: var(--muted); font-size: 16px; line-height: 1.72; margin-bottom: 16px; }
.legal-body p strong { color: var(--ink); font-weight: 600; }
.legal-body a { color: var(--accent); word-break: break-word; }
.legal-body ul { list-style: none; display: flex; flex-direction: column; gap: 10px; margin: 0 0 20px; }
.legal-body ul li { position: relative; padding-left: 20px; color: var(--muted); font-size: 15.5px; line-height: 1.62; }
.legal-body ul li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.legal-body .legal-card { margin: 24px 0 8px; }
.legal-cookies { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 24px 0 28px; }
@media (max-width: 760px) { .legal-cookies { grid-template-columns: 1fr; } }
.cookie-item { border: 1px solid var(--line); border-radius: 16px; padding: 22px 22px 24px; background: color-mix(in oklab, var(--card) 60%, transparent); }
.cookie-item h4 { font-family: var(--f-head); font-weight: 700; font-size: 16px; letter-spacing: -0.01em; margin-bottom: 8px; }
.cookie-item p { font-size: 14.5px; line-height: 1.6; margin: 0; }
.legal-links li { padding-left: 0; }
.legal-links li::before { display: none; }

.footer { padding: clamp(54px, 6vw, 78px) 0 40px; }
.foot-cta { text-align: center; margin-bottom: clamp(60px, 8vw, 110px); }
.foot-cta .idx { justify-content: center; margin-bottom: 24px; }
.foot-cta h2 { margin: 0 auto; max-width: 18ch; }
.foot-cta .btn { margin-top: 38px; }
.foot-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 36px; padding-top: 54px; }
@media (max-width: 820px) { .foot-grid { grid-template-columns: 1fr 1fr; gap: 32px; } .foot-brand { grid-column: 1 / -1; } .foot-brand p { max-width: 46ch; } }
.foot-brand .logo { font-size: clamp(22px, 2vw, 26px); margin-bottom: 18px; }
.foot-brand p { color: var(--muted); max-width: 34ch; font-size: 15px; }
.foot-socials { display: flex; gap: 9px; margin-top: 22px; }
.foot-socials a { position: relative; overflow: hidden; isolation: isolate; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); display: grid; place-items: center; color: var(--muted); transition: color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease); }
.foot-socials a::before { content: ""; position: absolute; z-index: -1; background: var(--accent); }
.foot-socials a:hover::before { }
.foot-socials a:hover { color: var(--accent-ink); border-color: var(--accent); transform: translateY(-2px); }
.foot-socials a svg { width: 17px; height: 17px; }
.foot-col h4 { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faint); margin-bottom: 18px; }
.foot-col ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.foot-col a { color: var(--muted); font-size: 15px; transition: color .2s; }
.foot-col a:hover { color: var(--accent); }
.foot-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 60px; padding-top: 26px; }

.anim .foot-grid.reveal, .anim .foot-bottom.reveal { opacity: 1; transform: none; }
.foot-grid, .foot-bottom { position: relative; }
.foot-grid::before, .foot-bottom::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, var(--line-2) 0%, var(--line) 55%); transform-origin: left center; }
.anim .foot-grid::before, .anim .foot-bottom::before { transform: scaleX(0); transition: transform 1.4s var(--ease) .45s; }
.anim .foot-grid.in::before, .anim .foot-bottom.in::before { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) { .anim .foot-grid::before, .anim .foot-bottom::before { transform: none; } }
.foot-bottom p { font-family: var(--f-mono); font-size: 12.5px; color: var(--faint); }

.hero-stats { border-top: none; position: relative; }
.feat-rows { border-top: none; position: relative; }
.feat-row { border-bottom: none; position: relative; }
.hero-stats::after, .feat-rows::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, var(--line-2) 0%, var(--line) 55%); transform-origin: left center; }
.feat-row::after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, var(--line-2) 0%, var(--line) 55%); transform-origin: left center; }

.anim .hero-stats::after, .anim .feat-row::after { transform: scaleX(0); transition: transform 1.4s var(--ease) .45s; }
.anim .hero-stats.in::after, .anim .feat-row.in::after { transform: scaleX(1); }

.anim .feat-rows::after { transform: scaleX(0); transition: transform 1.4s var(--ease) .45s; }
.anim .feat-rows:has(.feat-row.in)::after { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) { .anim .hero-stats::after, .anim .feat-row::after, .anim .feat-rows::after { transform: none; } }

image-slot { --slot-bg: var(--bg-3); }

.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: var(--accent); color: var(--accent-ink); border-radius: 12px; clip: auto !important; clip-path: none; display: block; font-family: var(--f-head); font-size: 14px; font-weight: 700; height: auto; left: 12px; line-height: normal; padding: 14px 22px; text-decoration: none; top: 12px; width: auto; z-index: 100000; }
.skip-link:focus { position: fixed; top: 12px; left: 12px; }

.admin-bar .nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .nav { top: 46px; } }

.logo-track img[src$="/absorice-logo.webp"] { --lf: 0.85; }
.logo-track img[src$="/fober-zrt-logo.webp"] { --lf: 0.95; }
.logo-track img[src$="/wellsec-group-logo.webp"] { --lf: 0.85; }
.logo-track img[src$="/walletinvestor-logo.webp"] { --lf: 1.09; }
.logo-track img[src$="/open-fitness-logo.webp"] { --lf: 0.96; }
.logo-track img[src$="/medup-logo.webp"] { --lf: 0.99; }
.logo-track img[src$="/aidaco-logo.webp"] { --lf: 0.94; }
.logo-track img[src$="/doctorfit-logo.webp"] { --lf: 0.85; }
.logo-track img[src$="/pom-pecsi-orgonaepito-manufaktura-logo.webp"] { --lf: 1.90; }
.logo-track img[src$="/power-of-odeen-logo.webp"] { --lf: 1.62; }
.logo-track img[src$="/szendelbacher-borkesztyu-logo.webp"] { --lf: 1.5; }
.logo-track img[src$="/sqt-logo.webp"] { --lf: 1.64; }
.logo-track img[src$="/elixire-logo.webp"] { --lf: 0.90; }
.logo-track img[src$="/amk-decorative-covering-logo.webp"] { --lf: 0.98; }

.qcard .av { background: var(--accent); color: var(--accent-ink); display: grid; place-items: center; font-family: var(--f-head); font-weight: 700; font-size: 15px; }

.pmsol-hp { position: absolute; left: -9999px; }
fieldset.field { border: 0; padding: 0; margin: 0; min-width: 0; }
.field legend { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); padding: 0; margin: 0 0 8px; }
.chip-toggle { position: relative; }
.chip-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.chip-toggle:has(input:checked) { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.chip-toggle:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.field .err { color: #ff8a8a; font-family: var(--f-mono); font-size: 13px; }
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: #ff8a8a; }
.form-err { display: none; padding: 16px; border: 1px solid #ff8a8a; border-radius: 12px; color: #ff8a8a; font-size: 14.5px; font-family: var(--f-mono); }
.form-err.show { display: block; }
.form button[disabled] { opacity: .6; cursor: progress; }
.form-ok:focus { outline: none; }

.entry-content { max-width: 80ch; }
.entry-content h2 { font-family: var(--f-head); font-weight: 800; font-size: clamp(24px, 2.6vw, 34px); letter-spacing: -0.025em; line-height: 1.1; margin: clamp(44px, 5vw, 64px) 0 18px; scroll-margin-top: 120px; }
.entry-content h2:first-child { margin-top: 0; }
.entry-content h3 { font-family: var(--f-head); font-weight: 700; font-size: clamp(17px, 1.6vw, 20px); letter-spacing: -0.01em; margin: 32px 0 12px; }
.entry-content h4, .entry-content h5, .entry-content h6 { font-family: var(--f-head); font-weight: 700; font-size: 16px; letter-spacing: -0.01em; margin: 24px 0 10px; }
.entry-content p { color: var(--muted); font-size: 16px; line-height: 1.72; margin-bottom: 16px; }
.entry-content p strong { color: var(--ink); font-weight: 600; }
.entry-content a { color: var(--accent); word-break: break-word; }
.entry-content ul, .entry-content ol { list-style: none; display: flex; flex-direction: column; gap: 10px; margin: 0 0 20px; }
.entry-content ul li, .entry-content ol li { position: relative; padding-left: 20px; color: var(--muted); font-size: 15.5px; line-height: 1.62; }
.entry-content ul li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.entry-content ol { counter-reset: pmsol-ol; }
.entry-content ol li { padding-left: 28px; counter-increment: pmsol-ol; }
.entry-content ol li::before { content: counter(pmsol-ol) "."; position: absolute; left: 0; top: 1px; font-family: var(--f-mono); font-size: 13px; color: var(--accent); }
.entry-content blockquote { border-left: 2px solid var(--accent); padding: 4px 0 4px 20px; margin: 0 0 20px; font-family: var(--f-body); font-weight: 500; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.45; text-wrap: pretty; }
.entry-content blockquote p { color: var(--ink); font-size: inherit; line-height: inherit; margin-bottom: 8px; }
.entry-content blockquote cite { display: block; font-size: 13px; color: var(--muted); font-style: normal; }
.entry-content img { height: auto; border-radius: 16px; }
.entry-content figure { margin: 24px 0; }
.entry-content figcaption { font-family: var(--f-mono); font-size: 12.5px; color: var(--faint); margin-top: 8px; }
.entry-content pre { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; overflow-x: auto; font-size: 14px; line-height: 1.6; margin: 0 0 20px; }
.entry-content code { font-size: .92em; background: var(--card); padding: 2px 6px; border-radius: 6px; }
.entry-content pre code { background: none; padding: 0; }
.entry-content table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15px; }
.entry-content th, .entry-content td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.entry-content th { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.entry-content hr { border: 0; border-top: 1px solid var(--line); margin: 32px 0; }
.entry-content iframe, .entry-content video, .entry-content embed, .entry-content object { max-width: 100%; }
.entry-content .legal-card { margin: 24px 0 8px; }
.entry-cover { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 20px; margin-bottom: clamp(28px, 4vw, 44px); }
.entry-footer { margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px; }
.entry-footer a { font-family: var(--f-mono); font-size: 12px; color: var(--muted); border: 1px solid var(--line); padding: 6px 12px; border-radius: 100px; transition: color .25s var(--ease), border-color .25s var(--ease); }
.entry-footer a:hover { color: var(--accent); border-color: var(--accent); }
.hero-meta { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px 18px; font-family: var(--f-mono); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.page-links { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-family: var(--f-mono); font-size: 13px; color: var(--muted); }
.page-links a, .page-links > span:not(.page-links-title) { padding: 8px 14px; border: 1px solid var(--line-2); border-radius: 100px; }
.page-links a:hover { color: var(--ink); border-color: var(--ink); }
.page-links > span:not(.page-links-title) { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }

.alignleft { float: left; margin: 6px 24px 16px 0; }
.alignright { float: right; margin: 6px 0 16px 24px; }
.aligncenter { display: block; margin: 16px auto; clear: both; }
.alignnone { display: block; }
.alignwide { max-width: 1120px; }
.alignfull { max-width: none; width: 100%; }
.wp-caption { max-width: 100%; margin-bottom: 20px; }
.wp-caption img { height: auto; }
.wp-caption-text, .gallery-caption { font-family: var(--f-mono); font-size: 12.5px; color: var(--faint); margin-top: 8px; }
.bypostauthor > .comment-body { border-color: color-mix(in oklab, var(--accent) 40%, var(--line)); }
.sticky .entry-title::before { content: "★ "; color: var(--accent); }

.post-list { max-width: 920px; border-top: 1px solid var(--line); }
.entry { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; padding: clamp(26px, 3.4vw, 44px) 0; border-bottom: 1px solid var(--line); }
.entry:has(.entry-thumb) { grid-template-columns: minmax(0, 260px) minmax(0, 1fr); align-items: start; }
@media (max-width: 700px) { .entry:has(.entry-thumb) { grid-template-columns: 1fr; } }
.entry-thumb { display: block; border-radius: 16px; overflow: hidden; background: var(--bg-3); }
.entry-thumb img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .8s var(--ease); }
.entry:hover .entry-thumb img { transform: scale(1.04); }
.entry-meta { font-family: var(--f-mono); font-size: 12.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--faint); display: flex; flex-wrap: wrap; gap: 6px 14px; }
.entry-meta a { color: inherit; }
.entry-meta a:hover { color: var(--accent); }
.entry-title { font-family: var(--f-head); font-weight: 800; font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -0.02em; line-height: 1.05; margin-top: 10px; }
.entry-title a { transition: color .3s var(--ease); }
.entry-title a:hover { color: var(--accent); }
.entry-summary { color: var(--muted); font-size: 15.5px; line-height: 1.6; margin-top: 12px; max-width: 70ch; }
.entry-summary p { margin: 0; }
.entry-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-weight: 600; font-size: 14px; color: var(--accent); }
.entry-more svg { width: 15px; height: 15px; transition: transform .35s var(--ease); }
.entry:hover .entry-more svg { transform: translateX(4px); }
.entry-none { max-width: 60ch; }
.entry-none h2 { font-family: var(--f-head); font-weight: 800; font-size: clamp(24px, 2.6vw, 34px); letter-spacing: -0.025em; margin-bottom: 14px; }
.entry-none p { color: var(--muted); margin-bottom: 22px; }

.navigation { margin-top: clamp(34px, 4vw, 54px); }
.navigation .pmsol-nav-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pagination .page-numbers { font-family: var(--f-mono); font-size: 13px; padding: 10px 16px; border: 1px solid var(--line-2); border-radius: 100px; color: var(--muted); transition: color .25s var(--ease), border-color .25s var(--ease); }
.pagination a.page-numbers:hover { color: var(--ink); border-color: var(--ink); }
.pagination .page-numbers.current { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.pagination .page-numbers.dots { border-color: transparent; }
.post-navigation .pmsol-nav-links, .comment-navigation .pmsol-nav-links { justify-content: space-between; }
.post-navigation a { display: inline-flex; flex-direction: column; gap: 4px; font-weight: 600; max-width: 46ch; transition: color .3s var(--ease); }
.post-navigation a:hover, .comment-navigation a:hover { color: var(--accent); }
.post-navigation .meta-nav { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--faint); }
.comment-navigation a { font-family: var(--f-mono); font-size: 13px; color: var(--muted); }

.comments-area { max-width: 80ch; margin-top: clamp(48px, 6vw, 84px); padding-top: clamp(28px, 4vw, 44px); border-top: 1px solid var(--line); }
.comments-title, .comment-reply-title { font-family: var(--f-head); font-weight: 800; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -0.02em; margin-bottom: 24px; }
.comment-list, .comment-list .children { list-style: none; margin: 0; padding: 0; }
.comment-list .children { margin-left: clamp(16px, 4vw, 44px); }
.comment-body { border: 1px solid var(--line); border-radius: 18px; background: var(--card); padding: 20px 22px; margin-bottom: 14px; }
.comment-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 12px; }
.comment-author { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 14.5px; }
.comment-author .avatar { width: 42px; height: 42px; border-radius: 50%; }
.comment-metadata { font-family: var(--f-mono); font-size: 12px; color: var(--faint); }
.comment-metadata a { color: inherit; }
.comment-metadata a:hover { color: var(--accent); }
.comment-content p { color: var(--muted); font-size: 15.5px; line-height: 1.65; margin-bottom: 10px; }
.comment-content p:last-child { margin-bottom: 0; }
.comment-content a { color: var(--accent); }
.comment-awaiting-moderation { display: block; font-family: var(--f-mono); font-size: 12.5px; color: var(--accent); margin-bottom: 8px; }
.reply { margin-top: 10px; }
.comment-reply-link { font-family: var(--f-mono); font-size: 12.5px; color: var(--accent); }
.comment-respond { margin-top: 20px; }
.comment-notes, .logged-in-as { color: var(--muted); font-size: 14px; }
.logged-in-as a { color: var(--accent); }
.comment-form .required { color: var(--accent); }
.comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; color: var(--muted); font-size: 14px; }
.comment-form-cookies-consent input { margin-top: 4px; accent-color: var(--accent); }
.form-submit { margin: 0; }
.form-submit input.btn { border: 0; font: inherit; font-weight: 600; cursor: pointer; }
.form-submit input.btn:hover { background: var(--ink); color: var(--bg); }
#cancel-comment-reply-link { font-family: var(--f-mono); font-size: 13px; color: var(--muted); margin-left: 12px; }
.no-comments { color: var(--muted); font-size: 14.5px; }

.search-form { max-width: 560px; }
.search-form .btn { align-self: flex-start; }
.search-form input[type="search"] { -webkit-appearance: none; appearance: none; }
.pmsol-404 { max-width: 60ch; }
.pmsol-404 .btn { margin-bottom: 34px; }

.field label.chip-toggle { font-size: 12.5px; letter-spacing: normal; text-transform: none; }

.burger { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
@media (pointer: coarse) {
  .chip-toggle { min-height: 44px; display: inline-flex; align-items: center; }
  .foot-socials a { width: 44px; height: 44px; }
}

.role-grid h2 { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--faint); margin-bottom: 16px; }

img { height: auto; }

.foot-col h3 { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faint); margin-bottom: 18px; }

.legal-body a { text-decoration: underline; text-underline-offset: 2px; }

.studio-photo.studio-photos { --pair-off: clamp(40px, 5vw, 80px); display: grid; grid-template-columns: 1fr 0.92fr; gap: clamp(12px, 1.4vw, 20px); align-items: start; align-self: start; overflow: visible; border-radius: 0; }
.studio-photo.studio-photos img { aspect-ratio: 2 / 3; object-position: center top; border-radius: 18px; will-change: transform; }
.studio-photo.studio-photos .founder { position: relative; margin: 0; will-change: transform; }
.studio-photo.studio-photos .founder + .founder { margin-top: var(--pair-off); margin-bottom: calc(-1 * var(--pair-off)); }
.studio-photo.studio-photos .founder .cap { left: 14px; bottom: 14px; display: flex; flex-direction: column; gap: 2px; line-height: 1.2; padding: 8px 13px; }
.studio-photo.studio-photos .founder .cap b { font-weight: 600; }
.studio-photo.studio-photos .founder .cap span { color: var(--muted); font-size: 11px; }
@media (max-width: 900px) { .studio-photo.studio-photos { --pair-off: clamp(18px, 5vw, 32px); } }

:root { --faint: #7F9082; }

.hero:not(.hero-service) { padding-top: clamp(88px, 14svh, 150px); padding-bottom: clamp(24px, min(4vw, 6.4svh), 60px); }
.hero:not(.hero-service) .scrollcue { bottom: clamp(24px, min(4vw, 6.4svh), 60px); }
.hero:not(.hero-service) .hero-top { top: clamp(84px, 12svh, 150px); }
.hero:not(.hero-service) .h-hero { font-size: clamp(40px, min(5.6vw, 10.6svh), 96px); }
.hero:not(.hero-service) .hero-foot { gap: clamp(18px, 3.8svh, 34px); }
.hero:not(.hero-service) .hero-sub { font-size: clamp(16px, min(1.5vw, 2.34svh), 21px); }
.hero:not(.hero-service) .hero-stats { margin-top: clamp(24px, 5.56svh, 50px); padding-top: clamp(16px, 3.12svh, 28px); }
.hero:not(.hero-service) .hero-stat .v { font-size: clamp(22px, min(2.4vw, 3.78svh), 34px); }
.hero:not(.hero-service) .hero-mock { width: min(44vw, 72svh, 660px); top: clamp(58px, 9svh, 116px); }
@media (max-width: 1100px) { .hero:not(.hero-service) .hero-mock { width: min(76vw, 44svh, 400px); } }

.hero-inner > h1 + *, .hero-inner > .cs-head + *, .hero .hero-foot { margin-top: clamp(22px, min(3vw, 4.44svh), 40px); }

.work { flex-basis: clamp(300px, min(58vw, 64vh), 660px); }
.work-img { height: auto; aspect-ratio: 33 / 34; }
.rail-stack .work-img { height: auto; aspect-ratio: 33 / 34; }
.rail-stack .work-veil { aspect-ratio: 33 / 34; }

.rail-stack .work:nth-child(n+7) { top: calc(clamp(84px, 12vh, 108px) + 50px); }

.footer { position: relative; z-index: 2; background: var(--bg); margin-top: -1px; }

.foot-grid::before { display: none; }

@media (max-width: 760px) { .foot-grid { padding-top: 0; } }

.report-row:has(+ .report-row.big) { border-bottom: none; }

.work-list:not(.rail-stack) .work { container-type: inline-size; }
.work-list:not(.rail-stack) .work-over { padding: 5.76cqw; }
.work-list:not(.rail-stack) .work-over h3 { font-size: 7.58cqw; margin-top: 1.82cqw; }
.work-list:not(.rail-stack) .work-over .meta { margin-top: 2.73cqw; gap: 1.06cqw; }
.work-list:not(.rail-stack) .work-over .chip { font-size: max(9.5px, 1.74cqw); padding: 1.06cqw 1.82cqw; }
.work-list:not(.rail-stack) .work-cta { font-size: max(11px, 2.12cqw); padding: 1.97cqw 3.03cqw; margin-top: 3.33cqw; gap: 1.52cqw; }
.work-list:not(.rail-stack) .work-cta svg { width: 2.27cqw; height: 2.27cqw; }

@media (min-width: 1441px) {
  .hero:not(.hero-service) { --hk: min(0.069444vw, 0.111111svh); padding-top: calc(144 * var(--hk)); padding-bottom: calc(57.6 * var(--hk)); }
  .hero:not(.hero-service) .hero-top { top: calc(108 * var(--hk)); }
  .hero:not(.hero-service) .hero-top .idx { font-size: calc(13 * var(--hk)); gap: calc(12 * var(--hk)); }
  .hero:not(.hero-service) .hero-top .idx::before { width: calc(28 * var(--hk)); }
  .hero:not(.hero-service) h1 { margin-top: calc(22 * var(--hk)); }
  .hero:not(.hero-service) .h-hero { font-size: calc(80.64 * var(--hk)); }
  .hero:not(.hero-service) .hero-sub { font-size: calc(21 * var(--hk)); }
  .hero:not(.hero-service) .hero-foot { font-size: calc(17 * var(--hk)); margin-top: calc(40 * var(--hk)); gap: calc(34 * var(--hk)); }
  .hero:not(.hero-service) .hero-actions { gap: calc(13 * var(--hk)); }
  .hero:not(.hero-service) .hero-actions .btn { font-size: calc(15 * var(--hk)); padding: calc(16 * var(--hk)) calc(28 * var(--hk)); border-radius: calc(12 * var(--hk)); gap: calc(11 * var(--hk)); }
  .hero:not(.hero-service) .hero-actions .btn svg { width: calc(16 * var(--hk)); height: calc(16 * var(--hk)); }
  .hero:not(.hero-service) .hero-stats { margin-top: calc(50 * var(--hk)); padding-top: calc(28 * var(--hk)); gap: calc(18 * var(--hk)) calc(44 * var(--hk)); }
  .hero:not(.hero-service) .hero-stat .v { font-size: calc(34.56 * var(--hk)); }
  .hero:not(.hero-service) .hero-stat .k { font-size: calc(13 * var(--hk)); margin-top: calc(3 * var(--hk)); }
  .hero:not(.hero-service) .hero-mock { width: calc(633.6 * var(--hk)); right: calc(max((100vw - 1760px) / 2, 0px) + var(--gutter) + 35.2 * var(--hk)); top: calc(81 * var(--hk)); }
  .hero:not(.hero-service) .scrollcue { bottom: calc(57.6 * var(--hk)); right: calc(max((100vw - 1760px) / 2, 0px) + var(--gutter)); font-size: calc(11 * var(--hk)); }
}

.studio-photo.studio-photos img { background: var(--card); }

body .cookieadmin_law_container { width: min(92vw, 440px) !important; }
body .cookieadmin_law_container .cookieadmin_consent_inside { background: var(--bg-2) !important; color: var(--ink) !important; border: 1px solid var(--line-2) !important; border-radius: 18px !important; padding: 22px 22px 14px !important; box-shadow: 0 30px 80px rgba(0,0,0,.55) !important; font-family: var(--f-body) !important; }
body #cookieadmin_notice_title { font-family: var(--f-head) !important; font-weight: 700 !important; font-size: 18px !important; letter-spacing: -0.01em; color: var(--ink) !important; padding: 0 !important; margin: 0 0 8px !important; }
body .cookieadmin_notice_con { padding: 0 !important; }
body #cookieadmin_notice { font-size: 14.5px !important; line-height: 1.55 !important; color: var(--muted) !important; margin: 0 0 14px !important; }
body #cookieadmin_notice b, body #cookieadmin_notice strong { color: var(--ink) !important; font-weight: 600; }
body .cookieadmin_consent_btns { gap: 8px !important; }
body button.cookieadmin_btn { font-family: var(--f-body) !important; font-weight: 600 !important; font-size: 14px !important; line-height: 1.2 !important; padding: 12px 16px !important; border-radius: 12px !important; margin: 0 !important; border: 1px solid var(--line-2) !important; background: transparent !important; color: var(--ink) !important; transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease) !important; }
body button.cookieadmin_btn:hover { opacity: 1 !important; border-color: var(--accent) !important; color: var(--accent) !important; }
body button.cookieadmin_accept_btn { background: var(--accent) !important; color: var(--accent-ink) !important; border-color: var(--accent) !important; }
body button.cookieadmin_accept_btn:hover { background: var(--ink) !important; color: var(--bg) !important; border-color: var(--ink) !important; }
body .cookieadmin-poweredby a { color: var(--faint) !important; font-family: var(--f-mono) !important; font-size: 11px !important; }
body .cookieadmin-poweredby a svg, body .cookieadmin-poweredby a img { opacity: .55; filter: grayscale(1) brightness(1.8); }
body .cookieadmin_cookie_modal { background: var(--bg-2) !important; color: var(--ink) !important; border: 1px solid var(--line-2) !important; border-radius: 18px !important; box-shadow: 0 40px 100px rgba(0,0,0,.6) !important; font-family: var(--f-body) !important; }
body .cookieadmin_modal_overlay { background-color: color-mix(in oklab, #000 62%, transparent) !important; backdrop-filter: blur(10px); }
body .cookieadmin_mod_head, body .cookieadmin_wrapper, body .cookieadmin_types, body .cookieadmin_modal_footer { border-color: var(--line) !important; }
body .cookieadmin_preference_title { font-family: var(--f-head) !important; font-weight: 800 !important; font-size: 22px !important; letter-spacing: -0.02em; color: var(--ink) !important; }
body .cookieadmin_close_pref { color: var(--muted) !important; font-size: 18px !important; }
body .cookieadmin_close_pref:hover { color: var(--accent) !important; }
body .cookieadmin_preference, body .cookieadmin_desc, body .cookieadmin-modal-cookies-list, body .cookieadmin-cookie-description, body .cookieadmin-cookie-duration { color: var(--muted) !important; font-size: 14.5px !important; line-height: 1.55; }
body .cookieadmin_cookie_modal label { color: var(--ink) !important; font-weight: 600 !important; font-size: 15px !important; font-family: var(--f-body) !important; }
body .cookieadmin_show_pref_cookies { color: var(--accent) !important; font-family: var(--f-body) !important; }
body .cookieadmin_remark, body .cookieadmin_showmore, body .cookieadmin_act { color: var(--accent) !important; font-weight: 500 !important; font-size: 13px !important; }
body .cookieadmin_slider { background-color: var(--faint) !important; }
body input:checked + .cookieadmin_slider, body input:disabled + .cookieadmin_slider { background-color: var(--accent) !important; }
body .cookieadmin_slider:before { background-color: var(--bg) !important; }
body input:checked + .cookieadmin_slider:before { background-color: var(--accent-ink) !important; }
body .cookieadmin-cookie-card { background: var(--card) !important; border: 1px solid var(--line) !important; font-family: var(--f-body) !important; box-shadow: none !important; }
body .cookieadmin-cookie-name { color: var(--ink) !important; }
body .cookieadmin-tag { background: var(--bg-3) !important; color: var(--muted) !important; }
body .cookieadmin_modal_policy_link_box a, body .cookieadmin_policy_link_box a { color: var(--accent) !important; }

body button.cookieadmin_re_consent, body button.cookieadmin_re_consent[style*="block"] { display: none !important; }
.foot-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; }
.foot-legal a, .foot-cookie { font-family: var(--f-mono); font-size: 12.5px; color: var(--faint); text-decoration: underline; text-underline-offset: 3px; }
.foot-legal a:hover, .foot-cookie:hover { color: var(--ink); }
.foot-legal a:focus-visible, .foot-cookie:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

.contact-left .idx + h2 { margin-top: 22px; }
.contact-left h2:first-child { margin-top: 0; }
.contact-left .contact-k { margin-bottom: 14px; }
.book-card + .contact-k { margin-top: 0; }

.bevezeto-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 64px); align-items: start; }
.bevezeto-grid .prob-intro { max-width: 62ch; margin-top: 0; }
@media (max-width: 920px) { .bevezeto-grid { grid-template-columns: 1fr; gap: 18px; } }

.guarantee p + p { margin-top: -14px; }
.guarantee .h-sec:first-child { margin-top: 0; }

.hero-service .hero-inner > .idx { margin-bottom: 22px; }

.job .jd { color: var(--muted); font-size: 15.5px; line-height: 1.6; max-width: 62ch; margin-top: 14px; }

.role-intro h2 { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--faint); margin-bottom: 16px; }

@media (min-width: 941px) { .hero-2col { grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); } }
@media (min-width: 921px) { .prob-2col { grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr); } }
.prob-left .prob-intro { max-width: 62ch; }
@media (min-width: 861px) { .guarantee-inner { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); } }
.guarantee p { max-width: 66ch; }

.hero-2col .h-hero { font-size: clamp(38px, 4.6vw, 68px); }
@media (min-width: 941px) {
  .hero-2col:has(.hero-visual-dash) { grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.02fr); }
}

.quotes-widget { position: relative; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] { overflow: visible !important; font-family: var(--f-body) !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-container, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-container * { font-family: var(--f-body) !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-container { position: relative; color: var(--ink) !important; margin: 0 !important; }

.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header { position: relative; z-index: 1; display: flex !important; flex-direction: row !important; align-items: center; min-height: 44px; margin: 0 0 24px !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header * { font-size: 14px; color: var(--ink); }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header .ti-header-content { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px 14px !important; margin: 0 !important; padding: 0 104px 0 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header .ti-header-content .ti-header-logo { margin: 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header .ti-header-content .ti-header-rating-text:not(.ti-mobile) { display: inline-flex !important; align-items: center; gap: 8px !important; margin: 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header .ti-header-content .ti-header-rating-text.ti-mobile { display: none !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header .ti-header-content .ti-header-rating { font-family: var(--f-head) !important; font-weight: 700 !important; font-size: 15px !important; margin: 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header .ti-header-content .ti-top-rated-title { color: var(--muted) !important; font-weight: 500 !important; margin: 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header .ti-header-content .ti-header-rating-text + .ti-top-rated-title::before { height: 14px !important; margin: 0 12px 0 0 !important; border-left-color: var(--line-2) !important; vertical-align: -2px; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header .ti-widget-header-tick { display: none !important; }

.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-verified-by-row { position: static !important; display: inline-block !important; text-align: left !important; margin: 0 !important; font-size: 12px !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-verified-by-row > .ti-inner { display: inline-flex !important; align-items: center; gap: 6px !important; padding: 7px 12px !important; border-radius: 100px !important; background: color-mix(in oklab, var(--accent) 12%, transparent) !important; border: 1px solid color-mix(in oklab, var(--accent) 40%, transparent) !important; color: var(--accent) !important; font-family: var(--f-mono) !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-verified-by-row[data-style] .ti-info-icon { background-color: var(--accent) !important; width: 12px !important; height: 12px !important; top: 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-disclaimer { background: var(--bg-3) !important; color: var(--muted) !important; border: 1px solid var(--line-2) !important; border-radius: 14px !important; box-shadow: 0 20px 50px rgba(0,0,0,.45) !important; padding: 12px 16px !important; font-family: var(--f-body) !important; font-size: 12.5px !important; font-weight: 400 !important; line-height: 1.5 !important; text-align: left !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-disclaimer a { color: var(--accent) !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-disclaimer::before, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-disclaimer::after { display: none !important; }

.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-stars { display: inline-flex !important; align-items: center; gap: 2px !important; height: auto !important; line-height: 0 !important; margin: 0 !important; white-space: nowrap; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] img.ti-star, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header .ti-header-content .ti-stars .ti-star { display: inline-block !important; width: 15px !important; height: 15px !important; margin: 0 !important; object-fit: none; object-position: 200px 200px; background-color: var(--accent) !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.6l3.2 6.6 7.3 1-5.3 5.1 1.3 7.2L12 18.1l-6.5 3.4 1.3-7.2L1.5 9.2l7.3-1z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.6l3.2 6.6 7.3 1-5.3 5.1 1.3 7.2L12 18.1l-6.5 3.4 1.3-7.2L1.5 9.2l7.3-1z'/%3E%3C/svg%3E") center / contain no-repeat; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] img.ti-star.e { background-color: var(--line-2) !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] img.ti-star.h { background: linear-gradient(90deg, var(--accent) 50%, var(--line-2) 50%) !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-stars .ti-verified-review { width: 14px !important; height: 14px !important; margin: 0 0 0 6px !important; opacity: .85; }

.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-reviews-container { position: static !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-reviews-container-wrapper { margin: 0 -8px !important; padding: 6px 0 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item { display: flex !important; flex-direction: column; padding: 0 8px !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item > .ti-inner { flex: 1 1 auto; display: flex !important; flex-direction: column !important; background: var(--card) !important; border: 1px solid var(--line-2) !important; border-radius: 22px !important; padding: clamp(22px, 2vw, 30px) !important; margin: 0 !important; transition: border-color .3s var(--ease); }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item:hover > .ti-inner { border-color: color-mix(in oklab, var(--accent) 36%, var(--line-2)) !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item > .ti-inner > .ti-stars { order: 0; margin: 0 0 16px !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-review-content { order: 1; font-size: clamp(15.5px, 1.15vw, 17px) !important; line-height: 1.5 !important; height: calc(4 * 1.5 * clamp(15.5px, 1.15vw, 17px)) !important; font-weight: 500 !important; letter-spacing: -0.005em; color: var(--ink) !important; text-wrap: pretty; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-review-content.ti-empty-text { color: var(--muted) !important; font-weight: 400 !important; font-style: italic; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-read-more { order: 2; padding: 10px 0 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-read-more span { color: var(--accent) !important; opacity: 1 !important; font-weight: 600 !important; font-size: 14px !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-review-header { order: 3; position: relative; display: flex !important; align-items: center; gap: 12px !important; margin-top: auto !important; padding: 24px 0 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-profile-img { flex: none; display: block !important; width: 42px !important; height: 42px !important; margin: 0 !important; padding: 0 !important; line-height: 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-profile-img img { display: block !important; object-fit: cover; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-profile-details { display: flex; flex-direction: column; justify-content: center; margin: 0 !important; padding-top: 0 !important; }

.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-profile-img img { width: 42px !important; height: 42px !important; border-radius: 50% !important; object-fit: cover; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-profile-img .ti-profile-img-sprite { width: 40px !important; height: 40px !important; border-radius: 50% !important; transform: scale(1.05); transform-origin: 50% 50%; margin: 1px !important; background-size: 40px auto !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-profile-details { flex: 1 1 auto; min-width: 0; padding-right: 30px; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-name { font-family: var(--f-head) !important; font-weight: 700 !important; font-size: 14.5px !important; line-height: 1.3 !important; color: var(--ink) !important; padding: 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-date { display: none !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-review-item .ti-platform-icon { position: absolute !important; top: calc(50% + 12px) !important; right: 0 !important; transform: translateY(-50%); width: 20px !important; height: 20px !important; opacity: .9; }

.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-container .ti-tooltip, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-container .ti-verified-tooltip { background: var(--bg-3) !important; color: var(--ink) !important; border: 1px solid var(--line-2) !important; border-radius: 10px !important; box-shadow: 0 14px 34px rgba(0,0,0,.45) !important; padding: 8px 12px !important; font-family: var(--f-body) !important; font-size: 12.5px !important; font-weight: 400 !important; line-height: 1.4 !important; text-align: left !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-container .ti-tooltip::before, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-container .ti-verified-tooltip::before { display: none !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-disclaimer, .ti-widget-lightbox[data-layout-id][data-set-id] .ti-disclaimer { background: var(--bg-3) !important; color: var(--muted) !important; border: 1px solid var(--line-2) !important; border-radius: 12px !important; box-shadow: 0 14px 34px rgba(0,0,0,.45) !important; font-family: var(--f-body) !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-disclaimer-title, .ti-widget-lightbox[data-layout-id][data-set-id] .ti-disclaimer-title { background: transparent !important; color: var(--ink) !important; font-weight: 600 !important; border-bottom: 1px solid var(--line-2) !important; border-radius: 0 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-disclaimer strong, .ti-widget-lightbox[data-layout-id][data-set-id] .ti-disclaimer strong { color: var(--ink) !important; }

.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls { display: block !important; position: absolute !important; top: 0 !important; right: 0 !important; left: auto !important; width: 98px !important; height: 44px !important; margin: 0 !important; z-index: 3 !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-prev, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-next { position: absolute !important; top: 0 !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; background: transparent !important; border: 1px solid var(--line-2) !important; outline: 0 !important; box-shadow: none !important; cursor: pointer; transition: background-color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease) !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-prev { left: 0 !important; right: auto !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-next { right: 0 !important; left: auto !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-prev::before, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-next::before { width: 9px !important; height: 9px !important; border-width: 0 0 1.5px 1.5px !important; border-color: var(--ink) !important; transition: border-color .3s var(--ease) !important; }

.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-prev[style*="display: none"], .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-next[style*="display: none"] { display: block !important; opacity: .35; pointer-events: none; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-prev:hover, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-prev:focus, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-next:hover, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-next:focus { background: var(--accent) !important; border-color: var(--accent) !important; outline: 0 !important; box-shadow: none !important; transform: translateY(-2px); }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-prev:hover::before, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-prev:focus::before, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-next:hover::before, .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls .ti-next:focus::before { border-color: var(--accent-ink) !important; }

.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls-line { display: block !important; width: 120px !important; height: 2px !important; margin: 26px auto 0 !important; border-radius: 2px !important; background: var(--line-2) !important; }
.quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls-line .dot { height: 100% !important; border-radius: 2px !important; background: var(--accent) !important; }

@media (max-width: 700px) {
  .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-widget-header .ti-header-content { padding-right: 110px !important; }
  .quotes-widget .ti-widget[data-layout-id][data-set-id] .ti-controls-line { margin-top: 16px !important; }
}

.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] { background: color-mix(in oklab, #000 62%, transparent) !important; backdrop-filter: blur(10px); color: var(--ink) !important; font-family: var(--f-body) !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id]::backdrop { background: transparent; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-review-container-inner { max-width: 600px !important; padding: 24px 16px !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-review-item { background: var(--card) !important; color: var(--ink) !important; border: 1px solid var(--line-2) !important; border-radius: 22px !important; padding: clamp(20px, 2vw, 28px) !important; margin-bottom: 14px !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-review-item .ti-review-header { padding: 0 0 14px !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-review-item .ti-review-header .ti-platform-icon { top: clamp(20px, 2vw, 28px) !important; right: clamp(20px, 2vw, 28px) !important; opacity: .9; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-review-item .ti-profile-img { margin: 0 12px 0 0 !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-review-item .ti-profile-img img, .ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-review-item .ti-profile-img .ti-profile-img-sprite { width: 42px !important; height: 42px !important; border-radius: 50% !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-review-item .ti-name { font-family: var(--f-head) !important; font-weight: 700 !important; font-size: 15px !important; color: var(--ink) !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-review-item .ti-date { display: none !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-review-item .ti-stars { display: inline-flex !important; align-items: center; gap: 2px !important; line-height: 0 !important; margin: 0 0 14px !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] img.ti-star { display: inline-block !important; width: 15px !important; height: 15px !important; margin: 0 !important; object-fit: none; object-position: 200px 200px; background-color: var(--accent) !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.6l3.2 6.6 7.3 1-5.3 5.1 1.3 7.2L12 18.1l-6.5 3.4 1.3-7.2L1.5 9.2l7.3-1z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.6l3.2 6.6 7.3 1-5.3 5.1 1.3 7.2L12 18.1l-6.5 3.4 1.3-7.2L1.5 9.2l7.3-1z'/%3E%3C/svg%3E") center / contain no-repeat; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] img.ti-star.e { background-color: var(--line-2) !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-stars .ti-verified-review { width: 14px !important; height: 14px !important; margin: 0 0 0 6px !important; opacity: .85; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-review-item .ti-review-text { color: var(--ink) !important; font-size: 16px !important; line-height: 1.6 !important; font-weight: 500 !important; letter-spacing: -0.005em; padding: 0 !important; margin: 0 !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-tooltip, .ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-verified-tooltip { background: var(--bg-3) !important; color: var(--ink) !important; border: 1px solid var(--line-2) !important; border-radius: 10px !important; box-shadow: 0 14px 34px rgba(0,0,0,.45) !important; padding: 8px 12px !important; font-family: var(--f-body) !important; font-size: 12.5px !important; font-weight: 400 !important; line-height: 1.4 !important; text-align: left !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-tooltip::before, .ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-verified-tooltip::before { display: none !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-close { width: 44px !important; height: 44px !important; top: 18px !important; right: 18px !important; border-radius: 50% !important; border: 1px solid var(--line-2) !important; background: var(--bg) !important; transition: background-color .3s var(--ease), border-color .3s var(--ease); }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-close::before, .ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-close::after { width: 16px !important; height: 1.5px !important; background: var(--ink) !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-close:hover, .ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-close:active { background: var(--accent) !important; border-color: var(--accent) !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-close:hover::before, .ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-close:hover::after { background: var(--accent-ink) !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-mobile-close-bottom { background: var(--accent) !important; color: var(--accent-ink) !important; font-family: var(--f-body) !important; font-weight: 600 !important; font-size: 15px !important; box-shadow: 0 14px 34px rgba(0,0,0,.45) !important; }
.ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-mobile-close-bottom span::before, .ti-widget-lightbox.ti-long-scroll[data-layout-id][data-set-id] .ti-widget-lightbox-mobile-close-bottom span::after { background-color: var(--accent-ink) !important; }

.gbadge { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; padding: 10px 16px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--card); font-family: var(--f-body); font-size: 14px; line-height: 1.2; color: var(--ink); text-decoration: none; transition: border-color .3s var(--ease), transform .3s var(--ease); }
.gbadge:hover { border-color: var(--accent); transform: translateY(-2px); }
.gbadge:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.gbadge .gb-g { width: 18px; height: 18px; flex: none; }
.gbadge .gb-stars { color: var(--accent); font-size: 13px; letter-spacing: 1px; white-space: nowrap; }
.gbadge .gb-stars i { font-style: normal; opacity: .3; }
.gbadge .gb-score { font-weight: 700; color: var(--ink); }

.hero-stats .hero-stat-badge { flex: 0 0 auto; align-self: center; }

.studio-stats .studio-stat-badge { grid-column: 1 / -1; justify-self: start; }
@media (min-width: 761px) { .studio-stats { grid-template-columns: repeat(3, 1fr) auto; align-items: center; } .studio-stats .studio-stat-badge { grid-column: auto; } }

@media (max-width: 760px) { .hero-stats .hero-stat-badge { flex: 0 0 100%; } }
@media (max-width: 480px) { .gbadge { flex-wrap: wrap; row-gap: 4px; border-radius: 22px; } }

@media (min-width: 1441px) {
  .hero:not(.hero-service) .gbadge { gap: calc(10 * var(--hk)); padding: calc(10 * var(--hk)) calc(16 * var(--hk)); font-size: calc(14 * var(--hk)); }
  .hero:not(.hero-service) .gbadge .gb-g { width: calc(18 * var(--hk)); height: calc(18 * var(--hk)); }
  .hero:not(.hero-service) .gbadge .gb-stars { font-size: calc(13 * var(--hk)); }
}

.hero:not(.hero-service) { top: var(--hero-stick, 0px); }

@media (max-width: 760px) {
  .nav-inner { height: 64px; gap: 10px; }
  .logo-img { height: 32px; }
  .nav-cta { font-size: 13.5px; padding: 10px 14px; gap: 6px; margin-right: 4px; }
  .nav-cta svg { width: 14px; height: 14px; }
}
@media (max-width: 374px) {
  .nav-cta { padding: 10px 12px; }
  .nav-cta svg { display: none; }
}
@media (max-width: 340px) { .nav-cta { display: none; } }

@media (max-width: 1100px) {
  .hero:not(.hero-service) .hero-mock { flex: 1 1 0; min-height: min(150px, 22svh); max-height: min(76vw, 400px); width: auto; max-width: 100%; align-self: center; margin: 0 auto clamp(8px, 1.6svh, 16px); }
}
@media (max-width: 940px) {
  .hero-service:has(.hero-2col) { min-height: 100svh !important; }
  .hero-2col { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; gap: clamp(12px, 2svh, 22px); }
  .hero-2col .hero-visual { order: -1; flex: 1 1 0; min-height: min(160px, 24svh); max-height: min(72vw, 360px); width: auto; max-width: 100%; aspect-ratio: 1; align-self: center; margin: 0 auto; }
  .hero-2col .hero-visual-dash { aspect-ratio: 1811 / 868; min-height: min(130px, 20svh); max-height: calc(min(100vw - 2 * var(--gutter), 520px) * 868 / 1811); }

  .hero-2col .hero-visual:has(.hero-badge) { container-type: size; }
  .hero-2col .hero-badge { padding: clamp(6px, 3.9cqw, 11px) clamp(8px, 5cqw, 14px); border-radius: clamp(8px, 4.3cqw, 12px); }
  .hero-2col .hero-badge .bv { font-size: clamp(13px, 7.1cqw, 20px); }
  .hero-2col .hero-badge .bk { font-size: clamp(9.5px, 4.1cqw, 11.5px); margin-top: clamp(2px, 1.4cqw, 4px); }
  .hero-2col .hero-badge .stars { font-size: clamp(9px, 5cqw, 14px); }
  .hero-2col .hero-badge.rating { top: 0; left: -14%; }
  .hero-2col .hero-badge.result { bottom: 2%; right: -14%; }
}

@media (max-width: 760px) {
  .hero:not(.hero-service) { padding-top: clamp(72px, 11svh, 96px); }
  .hero-service:has(.hero-2col) { padding-top: clamp(72px, 11svh, 96px) !important; padding-bottom: clamp(24px, 4svh, 40px) !important; }
  .hero:not(.hero-service) .h-hero { font-size: clamp(32px, min(10.6vw, 6.4svh), 46px); }
  .hero-2col .h-hero { font-size: clamp(30px, min(9.4vw, 5.8svh), 42px); }
  .hero:not(.hero-service) .hero-sub, .hero-2col .hero-sub { font-size: clamp(15px, min(4.1vw, 2.5svh), 17px); line-height: 1.45; }
  .hero:not(.hero-service) .hero-foot, .hero-2col .hero-foot { margin-top: clamp(14px, 2.6svh, 22px); gap: clamp(16px, 3svh, 24px); }
  .hero-actions { gap: 10px; }
  .hero-actions .btn { padding: 14px 18px; }
  .hero:not(.hero-service) .hero-stats, .hero-2col .hero-stats { margin-top: clamp(18px, 3.4svh, 28px); padding-top: clamp(14px, 2.4svh, 20px); gap: 12px 14px; }
  .hero-stat { flex: 1 1 0; min-width: 0; }
  .hero:not(.hero-service) .hero-stat .v, .hero-2col .hero-stat .v { font-size: clamp(20px, min(6.4vw, 3.8svh), 28px); }
  .hero-stat .k { font-size: 12px; line-height: 1.3; }
}

@media (min-width: 941px) {
  .hero-service:has(.hero-2col) { padding-top: clamp(100px, 15svh, 200px) !important; padding-bottom: clamp(32px, 6svh, 84px) !important; }
  .hero-2col .h-hero { font-size: clamp(34px, min(4.6vw, 8.2svh), 68px); }
  .hero-2col .hero-sub { font-size: clamp(15px, min(1.5vw, 2.5svh), 21px); }
  .hero-2col .hero-foot { margin-top: clamp(16px, min(3vw, 3.8svh), 40px); gap: clamp(16px, min(2.6vw, 3.6svh), 34px); }
  .hero-2col .hero-stats { margin-top: clamp(20px, min(4.5vw, 4.6svh), 60px); padding-top: clamp(14px, 2.8svh, 28px); }
  .hero-2col .hero-stat .v { font-size: clamp(20px, min(2.4vw, 3.8svh), 34px); }
  .hero-2col .hero-visual:not(.hero-visual-dash) { width: min(100%, calc(100svh - 210px)); justify-self: center; }
}

@media (min-width: 941px) and (max-width: 1180px) {
  .hero-2col:has(.hero-visual-dash) { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
}

@media (max-width: 760px) and (max-height: 620px) {
  .hero:not(.hero-service) .hero-sub, .hero-2col .hero-sub { line-height: 1.38; }
  .hero:not(.hero-service) .hero-foot, .hero-2col .hero-foot { gap: 14px; }
  .hero-actions .btn { padding-block: 12px; }
  .hero:not(.hero-service) .hero-stats, .hero-2col .hero-stats { margin-top: 14px; padding-top: 12px; }
}
@media (max-width: 370px) and (max-height: 620px) {
  .hero:not(.hero-service) .hero-sub, .hero-2col .hero-sub { font-size: 14.5px; }
}

.hero-gbadge-mob { display: none; }
@media (max-width: 940px) {
  .hero-gbadge-mob { display: block; }
  .hero-stats .hero-stat-badge { display: none; }
}

.logowall + .sec { padding-top: clamp(36px, 4.5vw, 64px); }

.work.work-mref .work-img { aspect-ratio: 1 / 1; height: auto; object-fit: cover; }
.work.work-mref .work-veil { background: linear-gradient(180deg, transparent 50%, rgba(10,15,12,.55) 100%); }
.work-list:not(.rail-stack) .work-mref .work-over h3 { font-size: 5.3cqw; max-width: 24ch; line-height: 1.02; }
.rail-stack .work-mref .work-over h3 { font-size: clamp(26px, 7.4vw, 36px); }

@media (min-width: 881px) {
  .contact-grid > .reveal:has(> .form) { display: flex; }
  .contact-grid .form { flex: 1 1 auto; }
  .contact-grid .form .field:has(> textarea) { flex: 1 1 auto; display: flex; flex-direction: column; }
  .contact-grid .form .field > textarea { flex: 1 1 auto; }
}
.sec-cta { display: flex; justify-content: center; margin-top: clamp(36px, 4vw, 56px); }
#munka .sec-cta { margin-top: 0; }
@media (max-width: 940px) { #munka .sec-cta { margin-top: 28px; } }
.sec-cta .btn-accent::before { background: #fff; }
.sec-cta .btn-accent:hover { color: var(--accent-ink); }

.btn, .nav-cta { transition: transform .3s var(--ease), color .35s var(--ease), background-color 0s linear 0s; }
.btn:hover, .nav-cta:hover { transition: transform .3s var(--ease), color .35s var(--ease), background-color 0s linear var(--fill-dur); }
.nav-cta::before { background: #fff; }
.nav-cta:hover { color: var(--accent-ink); background-color: #fff; }
.btn-accent:hover { background-color: var(--bg); }
.sec-cta .btn-accent:hover { background-color: #fff; }
.btn-light:hover { background-color: var(--accent); }
.btn-dark:hover { background-color: #fff; }

.work-img { position: relative; z-index: 1; }
.work-veil, .work-over { transform: translateZ(0); will-change: transform; }
.anim .nav-enter.nav-go .nav-cta { transition: opacity .7s var(--ease) .3s, transform .3s var(--ease), color .35s var(--ease), background-color 0s linear 0s; }
.anim .nav-enter.nav-go .nav-cta:hover { transition: opacity .7s var(--ease) .3s, transform .3s var(--ease), color .35s var(--ease), background-color 0s linear var(--fill-dur); }
.cookieadmin-poweredby { display: none !important; }
