/* Alemo Dijital 2.0 — editorial creative studio direction */
:root {
  --bg: #f5f6f1;
  --bg-soft: #ffffff;
  --bg-elev: #eceee7;
  --surface: rgba(16,17,22,.035);
  --surface-2: rgba(16,17,22,.07);
  --border: rgba(16,17,22,.13);
  --border-strong: rgba(16,17,22,.3);
  --text: #101116;
  --text-soft: #545861;
  --text-dim: #7b7f87;
  --accent: #5c4dff;
  --accent-2: #d9ff5c;
  --accent-3: #ff5f77;
  --accent-ink: #101116;
  --accent-soft: rgba(92,77,255,.1);
  --grad-brand: linear-gradient(120deg,var(--accent),#8278ff);
  --grad-text: none;
  --grad-line: linear-gradient(90deg,transparent,var(--border-strong),transparent);
  --container: 1320px;
  --container-narrow: 820px;
  --header-h: 84px;
  --pad-section: clamp(5rem,3.5rem + 6vw,9.5rem);
  --r-sm: 8px;
  --r: 12px;
  --r-md: 18px;
  --r-lg: 26px;
  --shadow: 0 20px 60px -35px rgba(16,17,22,.35);
  --shadow-lg: 0 40px 100px -48px rgba(16,17,22,.48);
  color-scheme: light;
}

html[data-theme="light"] {
  --bg: #f5f6f1;
  --bg-soft: #ffffff;
  --bg-elev: #eceee7;
  --surface: rgba(16,17,22,.035);
  --surface-2: rgba(16,17,22,.07);
  --border: rgba(16,17,22,.13);
  --border-strong: rgba(16,17,22,.3);
  --text: #101116;
  --text-soft: #545861;
  --text-dim: #7b7f87;
  --accent-soft: rgba(92,77,255,.1);
  --grad-text: none;
  --shadow: 0 20px 60px -35px rgba(16,17,22,.35);
  --shadow-lg: 0 40px 100px -48px rgba(16,17,22,.48);
  color-scheme: light;
}

html[data-theme="dark"] {
  --bg: #0b0c0f;
  --bg-soft: #111216;
  --bg-elev: #17191e;
  --surface: rgba(255,255,255,.04);
  --surface-2: rgba(255,255,255,.075);
  --border: rgba(255,255,255,.12);
  --border-strong: rgba(255,255,255,.28);
  --text: #f4f5f1;
  --text-soft: #b3b6bd;
  --text-dim: #858990;
  --accent-soft: rgba(118,104,255,.17);
  --shadow: 0 20px 60px -30px rgba(0,0,0,.72);
  --shadow-lg: 0 42px 100px -40px rgba(0,0,0,.9);
  color-scheme: dark;
}

body { line-height: 1.6; background: var(--bg); }
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(rgba(15,16,19,.11) .55px,transparent .55px);
  background-size: 6px 6px; opacity: .17;
}
html[data-theme="dark"] body::before { opacity: .08; filter: invert(1); }
.bg-fx__orb,.cursor-glow { display: none !important; }
.bg-fx__grid { opacity: .22; background-size: 88px 88px; mask-image: linear-gradient(#000,transparent 45%); }
.bg-fx__noise { display: none; }
.gradient-text,.accent-text { background: none; color: inherit; -webkit-text-fill-color: currentColor; }
.accent-text { color: var(--accent); }
h1,h2,h3,h4,h5 { line-height: 1.03; letter-spacing: -.045em; }
h2 { font-size: clamp(2.5rem,1.8rem + 3.1vw,5.2rem); }
.section-head { max-width: 780px; }
.section-head p { line-height: 1.55; }
.eyebrow { color: var(--text); font-size: .72rem; font-weight: 600; letter-spacing: .18em; }
.eyebrow::before { width: 34px; background: var(--accent); }

/* Header & brand */
.site-header { height: var(--header-h); }
.site-header.scrolled {
  height: 70px; background: color-mix(in srgb,var(--bg-soft) 88%,transparent);
  border-color: var(--border); box-shadow: 0 8px 30px -24px rgba(0,0,0,.35);
}
.site-header__inner { gap: 1.5rem; }
.logo { font-size: 1.22rem; font-weight: 700; gap: .7rem; }
.logo > svg { color: var(--accent); }
.logo span i { color: var(--accent); }
.logo__media { display: block; position: relative; height: 42px; max-width: 210px; }
.logo__image { width: auto !important; height: 42px !important; max-width: 210px; object-fit: contain; object-position: left center; background: transparent; }
.logo__image--dark { display: none; }
html[data-theme="dark"] .logo__image--default:has(+ .logo__image--dark) { display: none; }
html[data-theme="dark"] .logo__image--dark { display: block; }
.nav { gap: 0; }
.nav a { font-size: .88rem; border-radius: 0; padding: .7rem .8rem; color: var(--text-soft); }
.nav a:hover,.nav a.is-active { background: transparent; color: var(--text); }
.nav a::before { content:""; position:absolute; left:.8rem; right:.8rem; bottom:.38rem; height:1.5px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease-out); }
.nav a:hover::before,.nav a.is-active::before { transform:scaleX(1); }
.nav a.is-active::after { display:none; }
.lang-switch { background: transparent; }
.lang-switch a.is-active { background: var(--text); color: var(--bg); }
.icon-btn,.burger { background: var(--bg-soft); }
.header-actions .btn--primary { padding-inline: 1.25rem; }

/* Buttons */
.btn { border-radius: var(--r-full); font-weight: 600; letter-spacing: -.01em; box-shadow: none; }
.btn::after { content:""; position:absolute; inset:0; z-index:-1; background:var(--accent-2); transform:translateY(102%); transition:transform .38s var(--ease-out); }
.btn:hover::after { transform:none; }
.btn--primary { background: var(--text); color: var(--bg-soft); border-color: var(--text); animation:none; }
.btn--primary:hover { color:#101116; border-color:var(--accent-2); box-shadow:none; }
.btn--ghost { background: var(--bg-soft); border-color: var(--border-strong); }
.btn--ghost:hover { color:#101116; border-color:var(--accent-2); background:var(--bg-soft); }

/* Homepage hero */
.hero--studio { padding-top: calc(var(--header-h) + clamp(3rem,5vw,6rem)); padding-bottom: clamp(4rem,8vw,8rem); }
.hero-studio { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr); gap:clamp(2.5rem,6vw,7rem); align-items:center; }
.hero-studio__copy { position:relative; z-index:2; }
.studio-kicker { display:flex; align-items:center; gap:.8rem; font:600 .72rem/1 var(--font-mono); letter-spacing:.13em; text-transform:uppercase; color:var(--text-soft); margin-bottom:1.7rem; }
.studio-kicker i { width:5px; height:5px; border-radius:50%; background:var(--accent); }
.hero--studio h1 { font-size:clamp(3.65rem,5.7vw,7.2rem); max-width:850px; margin:0; line-height:.91; letter-spacing:-.066em; }
.hero--studio h1 .line { overflow:visible; }
.hero--studio .accent-text { position:relative; white-space:nowrap; }
.hero--studio .accent-text::after { content:""; position:absolute; left:0; right:0; bottom:.04em; height:.11em; background:var(--accent-2); z-index:-1; transform:rotate(-1deg); }
.hero--studio .hero__text { max-width:690px; margin:2rem 0 0; font-size:clamp(1.05rem,.95rem + .5vw,1.32rem); color:var(--text-soft); }
.hero--studio .hero__cta { justify-content:flex-start; margin-top:2rem; }
.hero-capabilities { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:2.25rem; }
.hero-capabilities span { padding:.43rem .72rem; border:1px solid var(--border); border-radius:99px; font-size:.78rem; color:var(--text-soft); background:color-mix(in srgb,var(--bg-soft) 74%,transparent); }
.hero-studio__visual { position:relative; min-height:610px; display:flex; align-items:center; }
.studio-shot { position:relative; margin:0; overflow:hidden; background:var(--bg-elev); }
.studio-shot--hero { width:100%; aspect-ratio:4/5; border-radius:190px 190px 22px 22px; box-shadow:var(--shadow-lg); }
.studio-shot img { width:100%; height:100%; object-fit:cover; background:transparent; transition:transform 1s var(--ease-out),filter .5s; }
.studio-shot--hero img { object-position:56% center; }
.studio-shot:hover img { transform:scale(1.035); }
.studio-shot figcaption { position:absolute; left:18px; right:18px; bottom:18px; padding:1.05rem 1.15rem; border-radius:13px; background:rgba(12,13,16,.88); color:#fff; backdrop-filter:blur(12px); display:grid; gap:.18rem; }
.studio-shot figcaption strong { font-size:.96rem; }
.studio-shot figcaption span { font-size:.72rem; color:rgba(255,255,255,.68); letter-spacing:.03em; }
.hero-stamp { position:absolute; left:-66px; top:9%; width:138px; height:138px; border-radius:50%; background:var(--accent-2); color:#101116; display:grid; place-content:center; text-align:center; transform:rotate(-9deg); box-shadow:var(--shadow); }
.hero-stamp span { font:700 1.45rem/1 var(--font-display); letter-spacing:.05em; }
.hero-stamp small { font:600 .54rem/1.5 var(--font-mono); letter-spacing:.14em; }
.hero-note { position:absolute; right:-18px; top:18%; padding:.72rem 1rem; background:var(--bg-soft); border:1px solid var(--border); border-radius:99px; box-shadow:var(--shadow); font-size:.76rem; font-weight:600; display:flex; align-items:center; gap:.55rem; }
.hero-note .dot { width:7px; height:7px; border-radius:50%; background:#18b66a; box-shadow:0 0 0 5px rgba(24,182,106,.12); }
.marquee--studio { background:var(--text); border:0; padding-block:1rem; transform:rotate(-1deg) scale(1.02); }
.marquee--studio .marquee__item { color:#fff; font-weight:600; letter-spacing:.07em; }
.marquee--studio .marquee__item::before { background:var(--accent-2); width:7px; height:7px; }

/* Editorial section layouts */
.split-heading { display:grid; grid-template-columns:180px minmax(0,1.35fr) minmax(280px,.65fr); gap:clamp(1.5rem,4vw,4.5rem); align-items:start; margin-bottom:clamp(3rem,6vw,6rem); }
.split-heading .eyebrow { margin-top:.65rem; }
.split-heading h2 { font-size:clamp(2.3rem,3.8vw,4.7rem); }
.split-heading p { color:var(--text-soft); font-size:1.06rem; line-height:1.65; padding-top:.65rem; }
.split-heading--compact { margin-bottom:4rem; }
.discipline-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:1.25rem; align-items:stretch; }
.discipline-card { display:flex; flex-direction:column; min-height:700px; border-radius:var(--r-lg); overflow:hidden; background:var(--bg-soft); border:1px solid var(--border); transition:transform .5s var(--ease-out),box-shadow .5s; }
.discipline-card:hover { transform:translateY(-7px); box-shadow:var(--shadow-lg); }
.discipline-card__media { min-height:420px; flex:1; overflow:hidden; }
.discipline-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease-out); }
.discipline-card:hover img { transform:scale(1.045); }
.discipline-card--wide .discipline-card__media img { object-position:center 35%; }
.discipline-card__media--portrait img { object-position:center 55%; }
.discipline-card__body { padding:clamp(1.5rem,3vw,2.5rem); }
.discipline-card__body > span { font:600 .72rem/1 var(--font-mono); color:var(--accent); letter-spacing:.14em; }
.discipline-card h3 { font-size:clamp(2rem,2.4vw,3.15rem); margin:.9rem 0 .8rem; }
.discipline-card p { color:var(--text-soft); max-width:640px; }
.discipline-card b { display:flex; align-items:center; gap:.5rem; margin-top:1.5rem; font-size:.88rem; }
.discipline-card b svg { transition:transform .3s; }
.discipline-card:hover b svg { transform:translateX(5px); }

.section--ink { background:#101116; color:#f7f7f2; overflow:hidden; }
.section--ink::before { content:"ALEMO"; position:absolute; left:-.04em; bottom:-.22em; font:700 clamp(9rem,25vw,25rem)/1 var(--font-display); letter-spacing:-.08em; color:rgba(255,255,255,.025); pointer-events:none; }
.section--ink .eyebrow { color:#fff; }
.section--ink .eyebrow::before { background:var(--accent-2); }
.ink-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(3rem,8vw,8rem); position:relative; }
.ink-title { position:sticky; top:120px; align-self:start; }
.ink-title h2 { font-size:clamp(2.6rem,4.5vw,5.6rem); }
.capability-list { display:grid; }
.capability-list a { display:grid; grid-template-columns:48px 1fr auto; gap:1rem; align-items:center; padding:1.35rem 0; border-bottom:1px solid rgba(255,255,255,.18); }
.capability-list a:first-child { border-top:1px solid rgba(255,255,255,.18); }
.capability-list a span { font:500 .72rem/1 var(--font-mono); color:rgba(255,255,255,.42); }
.capability-list a strong { font:600 clamp(1.2rem,2vw,2rem)/1.15 var(--font-display); letter-spacing:-.035em; }
.capability-list a svg { color:var(--accent-2); transition:transform .35s; }
.capability-list a:hover svg { transform:translate(4px,-4px); }
.capability-list a:hover strong { color:var(--accent-2); }

.results-section .section-head { max-width:950px; }
.stats--editorial { border-radius:0; border-inline:0; background:transparent; gap:0; }
.stats--editorial .stat { background:transparent; text-align:left; border-right:1px solid var(--border); padding:2.2rem 1.5rem; }
.stats--editorial .stat:first-child { padding-left:0; }
.stats--editorial .stat:last-child { border-right:0; }
.stats--editorial .stat__value { color:var(--accent); font-size:clamp(2.7rem,4vw,5rem); }
.stats--editorial .stat__label { max-width:170px; }
.data-note { color:var(--text-dim); font-size:.72rem; margin-top:1rem; }

.process-section { background:var(--bg-soft); }
.process--studio { gap:0; border-top:1px solid var(--border-strong); }
.process--studio .process__item { padding:2rem 1.5rem 0; border-right:1px solid var(--border); min-height:260px; }
.process--studio .process__item:first-child { padding-left:0; }
.process--studio .process__item:last-child { border-right:0; }
.process--studio .process__item::before { display:none; }
.process--studio .process__no { position:static; display:block; background:transparent; color:var(--accent); margin-bottom:3.2rem; }
.process--studio h3 { font-size:1.35rem; }

.section-head--row { max-width:none; display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; }
.section-head--row h2 { font-size:clamp(2.5rem,4vw,4.8rem); }
.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.case-card { min-height:440px; padding:1.5rem; display:flex; flex-direction:column; justify-content:space-between; border-radius:var(--r-lg); color:#101116; overflow:hidden; position:relative; transition:transform .5s var(--ease-out); }
.case-card::after { content:""; position:absolute; width:260px; height:260px; right:-100px; bottom:-110px; border:1px solid rgba(16,17,22,.16); border-radius:50%; box-shadow:0 0 0 34px rgba(16,17,22,.04),0 0 0 68px rgba(16,17,22,.03); }
.case-card:hover { transform:translateY(-7px) rotate(-.35deg); }
.case-card--1 { background:#d9ff5c; }
.case-card--2 { background:#8b7fff; color:#fff; }
.case-card--3 { background:#ff8798; }
.case-card__top { display:flex; justify-content:space-between; font:600 .68rem/1 var(--font-mono); letter-spacing:.11em; text-transform:uppercase; }
.case-card h3 { font-size:clamp(2rem,3vw,3.5rem); max-width:8ch; }
.case-card p { max-width:30ch; margin-top:.8rem; opacity:.72; }
.case-card__link { display:flex; gap:.45rem; align-items:center; font-size:.82rem; font-weight:700; position:relative; z-index:1; }

/* Shared pages */
.page-hero { padding-top:calc(var(--header-h) + clamp(4rem,7vw,7rem)); padding-bottom:clamp(3rem,6vw,6rem); border-bottom:1px solid var(--border); }
.page-hero .section-head { max-width:980px !important; }
.page-hero h1 { font-size:clamp(3.25rem,6vw,7rem) !important; line-height:.94; }
.breadcrumb { font-family:var(--font-mono); font-size:.72rem; }
.card { border-radius:var(--r-md); background:var(--bg-soft); backdrop-filter:none; }
.card::before,.card__glow { display:none; }
.card:hover { background:var(--bg-soft); transform:translateY(-5px); box-shadow:var(--shadow); }
.card__icon { border-radius:50%; background:var(--accent-2); color:#101116; border:0; }
.bento { gap:1rem; }
.bento > .card { min-height:310px; display:flex; flex-direction:column; }
.bento > .card:has(.service-card__media) { padding:0; }
.service-card__media { display:block; aspect-ratio:16/8; overflow:hidden; border-bottom:1px solid var(--border); }
.service-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .75s var(--ease-out); }
.card:hover .service-card__media img { transform:scale(1.045); }
.service-card__content { display:flex; flex-direction:column; flex:1; padding:clamp(1.35rem,2vw,2rem); }
.bento .card__link { margin-top:auto; padding-top:1rem; color:var(--accent); }
.check-list li::before { background-color:var(--accent-2); border:0; }
.team-card { text-align:left; }
.team-card__avatar { margin:0 0 1.4rem; border-radius:18px; background:var(--text); color:var(--accent-2); box-shadow:none; }
.team-card .role { color:var(--accent); }
.about-photo { padding-top:1rem; }
.about-photo figure { position:relative; height:min(65vw,720px); min-height:360px; border-radius:var(--r-lg); overflow:hidden; }
.about-photo img { width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.about-photo figcaption { position:absolute; left:1.2rem; bottom:1.2rem; padding:.72rem 1rem; border-radius:99px; color:#fff; background:rgba(16,17,22,.84); backdrop-filter:blur(10px); font-size:.78rem; font-weight:600; }
.ref { background:var(--bg-soft); border-radius:var(--r); }
.ref__sector { color:var(--accent); }
.reference-showcase { grid-template-columns:repeat(3,1fr); }
.reference-showcase .ref { min-height:320px; display:flex; flex-direction:column; justify-content:flex-end; padding:2rem; color:#101116; border:0; }
.reference-showcase .ref:nth-child(3n+1) { background:var(--accent-2); }
.reference-showcase .ref:nth-child(3n+2) { background:#8b7fff; color:#fff; }
.reference-showcase .ref:nth-child(3n+3) { background:#ff8798; }
.reference-showcase .ref__name { font-size:clamp(1.7rem,2.5vw,3rem); }
.reference-showcase .ref__sector,.reference-showcase .ref__note { color:inherit; opacity:.72; }
.faq__item { background:var(--bg-soft); border-radius:var(--r); }
.faq__item[open] { background:var(--bg-soft); }
.faq__q .ico::before,.faq__q .ico::after { background:var(--accent); }
.post-grid { gap:1rem; }
.post-card { border-radius:var(--r-md); }
.post-card__media { border:0; }
.post-card__cat { background:var(--accent-2); color:#101116; border:0; }
.post-card__body { padding:1.35rem; }
.post-card__link { color:var(--accent); }
.cta-band { background:var(--accent); color:#fff; border:0; border-radius:var(--r-lg); text-align:left; padding:clamp(2.2rem,5vw,5rem); }
.cta-band::before { display:none; }
.cta-band h2 { max-width:850px; font-size:clamp(2.5rem,5vw,5.5rem); }
.cta-band p { color:rgba(255,255,255,.75); margin:1rem 0 2rem; max-width:620px; }
.cta-band .hero__cta { justify-content:flex-start; }
.cta-band .btn--primary { background:#fff; color:#101116; border-color:#fff; }
.cta-band .btn--ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.contact-grid > .card { box-shadow:var(--shadow); }
.input,.textarea,.select { background:var(--bg); }
.input:focus,.textarea:focus,.select:focus { background:var(--bg-soft); }

/* Footer */
.site-footer { background:#101116; color:#f4f5f1; border:0; padding-top:clamp(3.5rem,7vw,7rem); }
.site-footer .logo span i { color:var(--accent-2); }
.site-footer .logo__image--default:has(+ .logo__image--dark) { display:none; }
.site-footer .logo__image--dark { display:block; }
.footer-grid { grid-template-columns:1.6fr 1fr 1fr 1.1fr; }
.footer-col h4 { color:rgba(255,255,255,.48); }
.footer-col a,.footer-about p { color:rgba(255,255,255,.68); }
.footer-col a:hover { color:var(--accent-2); }
.footer-bottom { color:rgba(255,255,255,.42); border-color:rgba(255,255,255,.12); }
.social a { border-color:rgba(255,255,255,.2); background:transparent; }
.social a:hover { background:var(--accent-2); color:#101116; }
.read-progress { background:var(--accent); }
.cookie { background:var(--bg-soft); }

@media (max-width:1080px) {
  .hero-studio { grid-template-columns:1fr .82fr; gap:3rem; }
  .hero-studio__visual { min-height:520px; }
  .studio-shot--hero { aspect-ratio:3/4; }
  .split-heading { grid-template-columns:140px 1fr; }
  .split-heading p { grid-column:2; max-width:650px; }
  .ink-grid { grid-template-columns:1fr 1.15fr; }
}

@media (max-width:900px) {
  .hero-studio { grid-template-columns:1fr; }
  .hero--studio h1 { max-width:760px; }
  .hero-studio__visual { min-height:auto; width:min(100%,620px); margin-inline:auto; }
  .studio-shot--hero { aspect-ratio:4/3; border-radius:140px 140px 22px 22px; }
  .hero-stamp { left:-25px; width:112px; height:112px; }
  .hero-note { right:-8px; }
  .discipline-grid,.ink-grid { grid-template-columns:1fr; }
  .discipline-card { min-height:620px; }
  .ink-title { position:static; }
  .case-grid { grid-template-columns:1fr 1fr; }
  .case-card:last-child { grid-column:1/-1; min-height:320px; }
}

@media (max-width:640px) {
  :root { --header-h:68px; --pad-section:4.8rem; }
  .container,.container-narrow { width:min(100% - 1.5rem,var(--container)); }
  .logo__media,.logo__image { height:34px !important; max-width:165px; }
  .hero--studio { padding-top:calc(var(--header-h) + 2.8rem); }
  .hero--studio h1 { font-size:clamp(3.15rem,15vw,4.6rem); }
  .hero--studio .accent-text { white-space:normal; }
  .studio-kicker { flex-wrap:wrap; }
  .hero-capabilities { gap:.4rem; }
  .hero-studio__visual { margin-top:1rem; }
  .studio-shot--hero { aspect-ratio:4/4.6; border-radius:100px 100px 18px 18px; }
  .hero-stamp { width:94px; height:94px; left:-6px; top:-28px; }
  .hero-stamp span { font-size:1.08rem; }
  .hero-note { right:8px; top:14px; }
  .split-heading { grid-template-columns:1fr; gap:1rem; }
  .split-heading p { grid-column:auto; }
  .discipline-card { min-height:560px; }
  .discipline-card__media { min-height:320px; }
  .capability-list a { grid-template-columns:34px 1fr auto; }
  .stats--editorial { grid-template-columns:1fr 1fr; border-top:1px solid var(--border); }
  .stats--editorial .stat { padding:1.5rem 1rem !important; border-bottom:1px solid var(--border); }
  .stats--editorial .stat:nth-child(2n) { border-right:0; }
  .process--studio .process__item { min-height:0; padding:1.5rem 0; border-right:0; border-bottom:1px solid var(--border); }
  .process--studio .process__no { margin-bottom:1.2rem; }
  .section-head--row { align-items:flex-start; }
  .section-head--row .btn { display:none; }
  .case-grid { grid-template-columns:1fr; }
  .reference-showcase { grid-template-columns:1fr; }
  .case-card,.case-card:last-child { grid-column:auto; min-height:360px; }
  .footer-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .marquee--studio { transform:none; }
}
