﻿/* Source: tokens.css */
:root {
  --color-ink: #0b1220;
  --color-muted: #526176;
  --color-brand: #155eef;
  --color-brand-dark: #0b3aa4;
  --color-accent-red: #c91f2c;
  --color-accent-red-dark: #a91622;
  --color-canvas: #f5f8fc;
  --color-surface: #ffffff;
  --color-line: #d8e2ef;
  --color-whatsapp: #25d366;
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --step--1: clamp(0.95rem, 0.92rem + 0.16vw, 1.05rem);
  --step-0: clamp(1.125rem, 1.05rem + 0.35vw, 1.3rem);
  --step-1: clamp(1.35rem, 1.2rem + 0.7vw, 1.75rem);
  --step-2: clamp(1.75rem, 1.4rem + 1.5vw, 2.65rem);
  --step-3: clamp(2.2rem, 8vw, 4rem);
  --step-4: clamp(2.6rem, 10vw, 5.5rem);
  --space-1: 0.5rem;
  --space-2: 0.75rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4.5rem;
  --space-8: clamp(5.5rem, 12vw, 9rem);
  --radius-sm: 0.75rem;
  --radius-md: 1.25rem;
  --radius-lg: 2rem;
  --shadow: 0 18px 50px rgba(11, 18, 32, 0.1);
  --container: 75rem;
}

/* Source: base.css */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-ink); background: var(--color-surface); font: 400 var(--step-0)/1.7 var(--font-sans); text-rendering: optimizeLegibility; }
body::before { position: fixed; z-index: 10000; top: 0; right: 100%; left: 0; height: 3px; background: linear-gradient(90deg,var(--color-brand),var(--color-accent-red)); content: ""; opacity: 0; transition: right 8s cubic-bezier(.1,.7,.1,1), opacity .15s ease; }
body.is-navigating::before { right: 8%; opacity: 1; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
h1, h2, h3 { margin: 0; line-height: 1.02; letter-spacing: -0.055em; text-wrap: balance; }
h1 { max-width: 12ch; font-size: var(--step-4); }
h2 { max-width: 14ch; font-size: var(--step-3); }
h3 { font-size: var(--step-1); }
p { margin: 0; }
p + p { margin-top: var(--space-3); }
:focus-visible { outline: 3px solid #f4b400; outline-offset: 4px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 1000; top: 0.5rem; left: 0.5rem; width: auto; height: auto; padding: 0.75rem 1rem; clip: auto; background: #fff; }
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: dakika-page-out .16s ease both; }
::view-transition-new(root) { animation: dakika-page-in .22s ease both; }
@keyframes dakika-page-out { to { opacity: .15; } }
@keyframes dakika-page-in { from { opacity: 0; } }
@media (min-width: 48rem) { body.is-navigating main { opacity: .78; transition: opacity .16s ease; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } ::view-transition-old(root), ::view-transition-new(root) { animation: none; } }

/* Source: layout.css */
.site-container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.section { padding-block: var(--space-8); }
.muted { background: var(--color-canvas); }
.dark { color: #fff; background: var(--color-ink); }
.lead { max-width: 40rem; color: var(--color-muted); font-size: var(--step-1); line-height: 1.55; }
.eyebrow { margin-bottom: var(--space-4); color: var(--color-brand); font-size: var(--step--1); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.section h2 + .lead, .hero h1 + .lead, .page-hero h1 + .lead { margin-top: var(--space-5); }
.section .lead + .button, .hero .lead + .hero__actions { margin-top: var(--space-5); }
@media (min-width: 48rem) { .site-container { width: min(calc(100% - 4rem), var(--container)); } }

/* Source: components.css */
.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(216,226,239,.8); background: rgba(255,255,255,.86); backdrop-filter: blur(16px); }
.header-inner { min-height: 4.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { font-size: 1.2rem; font-weight: 850; letter-spacing: -.04em; text-decoration: none; }
.custom-logo { width: auto; max-height: 3rem; }
.custom-logo--dark-mode { display: none; }
.custom-logo--light-mode { filter: drop-shadow(1px 0 0 rgba(255,255,255,.96)) drop-shadow(-1px 0 0 rgba(255,255,255,.96)) drop-shadow(0 1px 0 rgba(255,255,255,.96)) drop-shadow(0 -1px 0 rgba(255,255,255,.96)); }
.custom-logo-link { display: inline-flex; align-items: center; padding: .22rem .32rem; border-radius: .55rem; background: #fff; color-scheme: only light; forced-color-adjust: none; }
.custom-logo-link picture { display: block; line-height: 0; }
.menu-toggle { min-width: 3rem; min-height: 3rem; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .6rem .8rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: #fff; font-weight: 750; cursor: pointer; }
.menu-toggle.is-loading { min-width: 7.5rem; max-width: 11rem; color: var(--color-brand-dark); cursor: wait; }
.menu-loading-spinner { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; border: 2px solid #bfd2f8; border-top-color: var(--color-brand); border-radius: 50%; animation: dakika-spin .75s linear infinite; }
.menu-loading-label { overflow: hidden; font-size: 1rem; font-weight: 850; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
@keyframes dakika-spin { to { transform: rotate(360deg); } }
.primary-navigation { display: none; position: absolute; top: calc(100% + .5rem); right: 1rem; left: 1rem; padding: 1rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow); }
.primary-navigation.open { display: block; }
.primary-navigation ul { margin: 0; padding: 0; list-style: none; }
.primary-navigation li + li { margin-top: .5rem; }
.primary-navigation a { display: flex; align-items: center; min-height: 2.75rem; padding-inline: .5rem; color: var(--color-ink); font-weight: 750; text-decoration: none; transition: color .18s ease; }
.primary-navigation a:hover,
.primary-navigation a:focus-visible { color: var(--color-accent-red-dark); }
.primary-navigation .current-menu-item > a,
.primary-navigation .current_page_item > a,
.primary-navigation .current-menu-ancestor > a,
.primary-navigation .current_page_ancestor > a { color: var(--color-brand-dark); }
.primary-navigation .current-menu-item > a::after,
.primary-navigation .current_page_item > a::after,
.primary-navigation .current-menu-ancestor > a::after,
.primary-navigation .current_page_ancestor > a::after { width: 1.35rem; height: .7rem; flex: 0 0 auto; margin-left: .45rem; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 16'%3E%3Cpath d='M2 8.5c3 1.2 5.2 3 7.1 5C13.2 7.8 18.8 4.1 28 2' fill='none' stroke='%23155eef' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3 6.8c2.1.9 4 2.1 5.4 3.6' fill='none' stroke='%23155eef' stroke-width='1.2' stroke-linecap='round' opacity='.55'/%3E%3C/svg%3E"); content: ""; transform: rotate(-4deg); }
@media (prefers-color-scheme: dark) {
  .site-header { border-bottom-color: rgba(148,163,184,.28); background: rgba(11,18,32,.92); }
  .brand { color: #fff; }
  .custom-logo-link { padding: 0; background: transparent; color-scheme: dark; }
  .custom-logo--light-mode { display: none; }
  .custom-logo--dark-mode { display: block; }
  .menu-toggle { border-color: #475569; background: #111c2e; color: #fff; }
  .menu-toggle.is-loading { color: #dbeafe; }
  .primary-navigation { border-color: #334155; background: #111c2e; }
  .primary-navigation a { color: #f8fafc; }
  .primary-navigation a:hover,
  .primary-navigation a:focus-visible { color: #fda4af; }
  .primary-navigation .current-menu-item > a,
  .primary-navigation .current_page_item > a,
  .primary-navigation .current-menu-ancestor > a,
  .primary-navigation .current_page_ancestor > a { color: #93c5fd; }
}
.button { display: inline-flex; min-height: 3.5rem; align-items: center; justify-content: center; gap: .55rem; padding: .9rem 1.35rem; border-radius: .9rem; background: var(--color-brand); color: #fff; font-weight: 800; line-height: 1.15; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); background: var(--color-brand-dark); }
.button--whatsapp { background: var(--color-whatsapp); color: #062b15; }
.button--whatsapp:hover { background: #1fbd59; }
.button > .dakika-icon, .button > span > .dakika-icon { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; }
.dakika-icon { display: block; width: 100%; height: 100%; }
.nav-icon { display: inline-flex; width: 1.35rem; height: 1.35rem; margin-right: .7rem; color: var(--color-brand); }
.services { display: grid; gap: 1.25rem; margin-top: var(--space-6); }
.card { display: flex; min-height: 18rem; flex-direction: column; padding: 2rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 1px 0 rgba(11,18,32,.03); }
.service-card { text-decoration: none; }
.service-card__main { display: flex; min-width: 0; flex: 1; flex-direction: column; color: inherit; text-decoration: none; }
.service-card__footer { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .6rem; margin-top: var(--space-4); }
.service-card__footer .service-card__action { margin-top: 0; }
.service-card__footer .dakika-share--compact { flex: 0 0 auto; }
.service-card p { width: 100%; max-width: none; }
.service-card--preferred { border-color: #93c5fd; box-shadow: 0 10px 28px rgba(21,94,239,.1); }
.card h2, .card h3 { margin-top: auto; font-size: var(--step-1); line-height: 1.12; }
.card p { max-width: 27ch; margin-top: var(--space-3); color: var(--color-muted); font-size: var(--step--1); line-height: 1.6; }
.service-card__icon, .contact-option__icon { display: inline-flex; width: 3rem; height: 3rem; align-items: center; justify-content: center; margin-bottom: var(--space-6); padding: .65rem; border-radius: .9rem; background: #eaf2ff; color: var(--color-brand); }
.service-card__action { display: inline-flex; align-items: center; gap: .4rem; margin-top: var(--space-4); color: var(--color-brand); font-size: var(--step--1); font-weight: 800; text-decoration: none; }
.service-overview .card { scroll-margin-top: 7rem; }
.home-services [data-home-services]:not(.is-expanded) .service-card:nth-child(n+7) { display: none; }
.home-services__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: var(--space-5); }
.process { display: grid; gap: 1rem; margin: var(--space-6) 0 0; padding: 0; list-style: none; }
.process li { display: grid; gap: .4rem; padding: 1.5rem 0; border-top: 1px solid #526176; }
.process__number { color: #7dd3fc; font-size: .9rem; font-weight: 800; letter-spacing: .1em; }
.process strong { font-size: var(--step-1); }
.process span:last-child { color: #cbd5e1; }
.desktop-contact-anchor, .desktop-contact-strip { display: none; }
.contact-strip { border-bottom: 1px solid var(--color-line); background: linear-gradient(90deg,#fff 0%,#fff8f8 42%,#f7d9dc 76%,#efb8bd 100%); color: var(--color-ink); font-size: .84rem; }
.contact-strip__inner { min-height: 3rem; display: flex; align-items: center; justify-content: space-between; gap: .55rem; }
.contact-strip__label, .contact-detail { display: inline-flex; align-items: center; }
.contact-strip__label { min-width: 0; color: inherit; text-decoration: none; white-space: nowrap; }
.contact-strip__icon, .contact-detail__icon { display: inline-flex; width: 1rem; height: 1rem; margin-right: .35rem; color: currentColor; }
.contact-strip [data-phone-number] { color: var(--color-ink); font-weight: 850; }
.contact-strip__booking, .booking-ribbon-link { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: .38rem; border-radius: .65rem; background: var(--color-brand); color: #fff; font-weight: 850; line-height: 1; text-decoration: none; white-space: nowrap; }
.contact-strip__booking { min-height: 2.15rem; padding: .45rem .7rem; }
.contact-strip__booking .dakika-icon, .booking-ribbon-link .dakika-icon, .booking-button .dakika-icon { width: 1rem; height: 1rem; }
.booking-button { gap: .45rem; }
.booking-page-main { padding-block: clamp(1rem,3vw,2.5rem) var(--space-8); background: var(--color-canvas); }
.booking-page-shell { min-height: 45vh; }
.booking-page-shell .dakika-booking { margin: 0; }
.copy-number { min-height: 2rem; padding: .25rem .6rem; border: 0; border-radius: .5rem; background: rgba(255,255,255,.94); color: var(--color-accent-red-dark); font-size: .82rem; font-weight: 850; cursor: pointer; }
.mobile-contact-bar { position: fixed; z-index: 60; right: .75rem; bottom: .75rem; left: .75rem; display: flex; gap: .5rem; padding: .5rem; border: 1px solid var(--color-line); border-radius: 1rem; background: rgba(255,255,255,.96); box-shadow: var(--shadow); }
.mobile-contact-button { display: inline-flex; min-height: 3.25rem; flex: 1; align-items: center; justify-content: center; gap: .45rem; border-radius: .7rem; font-weight: 800; text-decoration: none; }
.mobile-contact-button--call { background: var(--color-brand); color: #fff; }
.mobile-contact-button--whatsapp { background: var(--color-whatsapp); color: #062b15; }
.mobile-contact-button .dakika-icon { width: 1.15rem; height: 1.15rem; }
.whatsapp { display: none; }
.site-footer { padding-block: var(--space-6); background: var(--color-ink); color: #dbeafe; }
.footer-grid { display: grid; gap: var(--space-6); }
.footer-brand { color: #fff; font-size: var(--step-1); font-weight: 850; letter-spacing: -.04em; }
.footer-intro p:last-child { max-width: 20rem; color: #9fb0c8; }
.footer-column h2 { margin-bottom: var(--space-3); color: #fff; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }
.footer-column ul { margin: 0; padding: 0; list-style: none; }
.footer-column li + li { margin-top: .55rem; }
.footer-column a { color: #c9d7ea; font-size: var(--step--1); text-decoration: none; }
.footer-column a:hover { color: #fff; text-decoration: underline; text-underline-offset: .25rem; }
.footer-bottom { margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid #26354c; color: #9fb0c8; font-size: var(--step--1); }
body { padding-bottom: 5.5rem; }
.search-form { max-width: 38rem; }
.search-form label { display: block; margin-bottom: .6rem; font-weight: 800; }
.search-form > div { display: flex; flex-direction: column; gap: .75rem; }
.search-form input { width: 100%; min-height: 3.5rem; padding: .8rem 1rem; border: 1px solid var(--color-line); border-radius: .8rem; background: #fff; color: var(--color-ink); }
@media (min-width: 48rem) {
  body { padding-bottom: 0; }
  .menu-toggle { display: none; }
  .primary-navigation { display: block; position: static; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .primary-navigation ul { display: flex; align-items: center; gap: .5rem; }
  .primary-navigation li + li { margin: 0; }
  .primary-navigation a { padding-inline: .75rem; }
  .primary-navigation .current-menu-item > a::after,
  .primary-navigation .current_page_item > a::after,
  .primary-navigation .current-menu-ancestor > a::after,
  .primary-navigation .current_page_ancestor > a::after { width: 1.45rem; height: .75rem; margin-left: .35rem; }
  .primary-navigation .nav-icon { display: none; }
  .contact-strip { display: none; }
  .desktop-contact-anchor { position: relative; z-index: 49; display: block; height: 0; }
  .desktop-contact-strip { position: absolute; top: 0; right: max(2rem,calc((100vw - var(--container))/2)); display: block; width: 36rem; margin-left: 0; overflow: visible; border-bottom: 1px solid rgba(205,214,226,.58); border-left: 1px solid rgba(205,214,226,.42); border-radius: 0 0 0 2.25rem; background: linear-gradient(90deg,rgba(255,255,255,.72) 0%,rgba(255,250,250,.78) 34%,rgba(249,225,228,.86) 70%,rgba(239,184,189,.92) 100%); color: var(--color-ink); box-shadow: 0 10px 24px rgba(41,55,75,.07); font-size: .78rem; backdrop-filter: blur(14px); }
  .desktop-contact-strip::after { position: absolute; top: -1px; bottom: -1px; left: 100%; width: max(2rem,calc((100vw - var(--container))/2)); border-bottom: 1px solid var(--color-line); background: rgba(239,184,189,.96); content: ""; pointer-events: none; }
  .desktop-contact-strip__inner { width: 100%; min-height: 2.35rem; display: flex; align-items: center; justify-content: flex-end; gap: 1.25rem; padding: 0 .75rem 0 1.75rem; }
  .desktop-contact-strip [data-phone-number], .desktop-contact-strip [data-email-address] { color: var(--color-ink); font-weight: 800; }
  .mobile-contact-bar { display: none; }
  .services { grid-template-columns: repeat(2, 1fr); }
  .card { min-height: 20rem; padding: 2.25rem; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
  .card:hover { transform: translateY(-4px); border-color: #93c5fd; box-shadow: var(--shadow); }
  .footer-grid { grid-template-columns: repeat(3,1fr); gap: var(--space-5); }
  .footer-intro { grid-column: 1 / -1; padding-bottom: var(--space-4); border-bottom: 1px solid #26354c; }
  .whatsapp { position: fixed; z-index: 45; right: 1.25rem; bottom: 1.25rem; display: inline-flex; min-height: 3.35rem; align-items: center; gap: .5rem; padding: .85rem 1.15rem; border-radius: 999px; background: var(--color-whatsapp); color: #062b15; box-shadow: 0 14px 34px rgba(11,18,32,.2); font-weight: 850; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
  .whatsapp:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(11,18,32,.25); }
  .whatsapp .dakika-icon { width: 1.2rem; height: 1.2rem; }
  .search-form > div { flex-direction: row; }
}
@media (max-width: 22.5rem) { .menu-toggle.is-loading { min-width: 6.5rem; max-width: 9rem; } .menu-loading-label { font-size: .94rem; } }
@media (prefers-reduced-motion: reduce) { .menu-loading-spinner { animation: none; border-color: var(--color-brand); } }
@media (min-width: 66rem) { .services { grid-template-columns: repeat(3, 1fr); } .process { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; } .process li { padding: 0 0 0 1.5rem; border-top: 0; border-left: 1px solid #526176; } }

@media (min-width:48rem) and (prefers-color-scheme:light) {
  .site-header { border-bottom-color: rgba(216,226,239,.42); background: linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.94) 58%,rgba(255,251,251,.93) 76%,rgba(249,231,233,.9) 100%); }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .site-header { border-bottom-color: rgba(91,105,124,.28); background: linear-gradient(90deg,rgba(11,18,29,.94) 0%,rgba(11,18,29,.93) 58%,rgba(28,20,28,.92) 77%,rgba(67,24,32,.9) 100%); }
  .desktop-contact-strip { border-color: rgba(89,104,124,.42); background: linear-gradient(90deg,rgba(12,20,32,.76) 0%,rgba(25,21,29,.8) 38%,rgba(57,25,32,.88) 72%,rgba(84,24,32,.94) 100%); box-shadow: 0 10px 24px rgba(0,0,0,.18); }
}

/* Source: pages.css */
.hero, .page-hero { position: relative; overflow: hidden; background: linear-gradient(145deg,#f7faff 0%,#edf4ff 58%,#fff 100%); }
.hero:not(.hero--with-media)::after { position: absolute; width: 24rem; height: 24rem; right: -12rem; bottom: -14rem; border-radius: 50%; background: rgba(21,94,239,.08); content: ""; }
.hero__content { position: relative; z-index: 2; }
.hero__copy { max-width: 42rem; }
.hero__backdrop { position: absolute; z-index: 0; inset: 0; margin: 0; background: #dbe7f8; }
.hero__backdrop::before { position: absolute; z-index: 1; width: 42%; height: 180%; top: -40%; left: 32%; background: linear-gradient(105deg,transparent 8%,rgba(255,255,255,.12) 28%,rgba(255,255,255,.58) 48%,rgba(73,139,255,.3) 58%,transparent 82%); filter: blur(12px); mix-blend-mode: screen; content: ""; pointer-events: none; transform: translate3d(0,0,0) rotate(7deg); }
.hero__backdrop::after { position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg,rgba(240,246,255,.98) 0%,rgba(240,246,255,.9) 38%,rgba(240,246,255,.5) 66%,rgba(240,246,255,.08) 100%); content: ""; pointer-events: none; }
.hero__backdrop img { position: relative; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.hero--with-media { min-height: clamp(40rem,72vh,54rem); display: grid; align-items: center; background: #edf4ff; }
.hero--with-media .hero__copy { padding: clamp(1rem,3vw,2rem); border-radius: var(--radius-lg); }
.page-hero__grid--with-media { display: grid; gap: var(--space-6); align-items: center; }
.page-hero__media { margin: 0; overflow: hidden; border-radius: var(--radius-lg); background: #dbe7f8; box-shadow: var(--shadow); aspect-ratio: 3 / 2; }
.page-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero__media, .service-hero__media, .article-hero__media { position: relative; isolation: isolate; }
.page-hero__media img, .service-hero__media img, .article-hero__media img { position: relative; z-index: 0; }
.page-hero__media::before, .service-hero__media::before, .article-hero__media::before { position: absolute; z-index: 1; width: 42%; height: 180%; top: -40%; left: -52%; background: linear-gradient(105deg,transparent 8%,rgba(255,255,255,.08) 28%,rgba(255,255,255,.62) 48%,rgba(73,139,255,.28) 58%,transparent 82%); filter: blur(9px); mix-blend-mode: screen; content: ""; pointer-events: none; animation: dakika-image-light-mobile 1.65s cubic-bezier(.2,.7,.2,1) both; }
.services-overview-hero__inner h1,
.contact-page-hero__inner h1,
.wide-page-hero__inner h1 { max-width: 16ch; }
.services-overview-hero__inner .lead,
.contact-page-hero__inner .lead,
.wide-page-hero__inner .lead { max-width: 48rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.studio-section__grid, .content-grid { display: grid; gap: var(--space-6); align-items: center; }
.studio-section__grid--text { max-width: 52rem; }
.studio-section__media { margin: 0; overflow: hidden; border-radius: var(--radius-lg); background: #dbe7f8; box-shadow: var(--shadow); aspect-ratio: 1 / 1; }
.studio-section__media img { width: 100%; height: 100%; object-fit: cover; }
.studio-section__profile { min-width: 0; }
.studio-section__profile .profile-contact-actions { display: grid; grid-template-columns: 1fr; align-items: stretch; gap: .75rem; margin-top: 1.25rem; }
.profile-contact-actions a { min-height: 3rem; }
.studio-section__profile .profile-contact-actions > a { width: 100%; justify-content: center; }
.profile-contact-actions__phone, .profile-contact-actions__linkedin { display: inline-flex; align-items: center; gap: .5rem; padding: .7rem .9rem; border: 1px solid var(--color-line); border-radius: .8rem; background: #fff; color: var(--color-ink); font-weight: 800; text-decoration: none; }
.profile-contact-actions__phone:hover { border-color: var(--color-brand); color: var(--color-brand); }
.profile-contact-actions__linkedin { border-color: #0a66c2; color: #0a66c2; }
.profile-contact-actions__linkedin:hover { background: #0a66c2; color: #fff; }
.profile-contact-actions .dakika-icon { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.process-section { background: #0b1220; color: #fff; }
.process-section .eyebrow { color: #7dd3fc; }
.cta-section__inner { padding: clamp(2rem,7vw,5rem); border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-canvas); }
.value-list, .contact-options, .insight-list { display: grid; gap: 1.25rem; }
.value-list article, .contact-option, .insight-card { padding: 2rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: #fff; }
.value-list h2, .contact-option h2, .insight-card h2 { font-size: var(--step-1); line-height: 1.12; }
.value-list p, .contact-option p { margin-top: 1rem; color: var(--color-muted); }
.text-action { display: inline-block; margin-top: 1rem; color: var(--color-brand); font-weight: 800; text-decoration: none; }
.page-content__body { max-width: 48rem; font-size: var(--step-0); }
.page-content__body > * + * { margin-top: 1.25rem; }
@media (max-width: 47.99rem) { .hero--with-media { min-height: 0; display: flex; flex-direction: column; gap: var(--space-6); background: linear-gradient(145deg,#f7faff 0%,#edf4ff 72%,#fff 100%); } .hero--with-media .hero__content { order: 1; } .hero--with-media .hero__copy { padding-inline: 0; } .hero__backdrop { position: relative; inset: auto; order: 2; width: min(calc(100% - 2rem),var(--container)); margin-inline: auto; overflow: hidden; border-radius: var(--radius-lg); box-shadow: var(--shadow); aspect-ratio: 3 / 2; } .hero__backdrop::before { width: 42%; height: 180%; top: -40%; left: 32%; opacity: 0; animation: none; } .hero__backdrop.is-media-ready::before { animation: dakika-hero-light-mobile 1.65s cubic-bezier(.2,.7,.2,1) both; } .hero__backdrop::after { display: none; } .hero__backdrop img { display: block; object-position: center center; } }
@media (min-width: 48rem) { .page-hero__grid--with-media { grid-template-columns: minmax(0,1.08fr) minmax(22rem,.92fr); gap: var(--space-7); } .services-overview-hero__inner h1, .contact-page-hero__inner h1, .wide-page-hero__inner h1 { max-width: 18ch; } .services-overview-hero__inner .lead, .contact-page-hero__inner .lead, .wide-page-hero__inner .lead { max-width: 52rem; } .studio-section__grid, .content-grid { grid-template-columns: minmax(16rem,.8fr) minmax(0,1.2fr); gap: var(--space-7); } .studio-section__visual { min-height: 28rem; } .value-list, .contact-options { grid-template-columns: repeat(3,1fr); } .insight-list { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 34rem) { .profile-contact-actions { align-items: stretch; } .profile-contact-actions > a { justify-content: center; } }
@media (min-width: 48rem) and (prefers-reduced-motion: no-preference) { .hero__backdrop::before { animation: dakika-ambient-light 8s cubic-bezier(.45,0,.55,1) infinite; } .page-hero__media::before, .service-hero__media::before, .article-hero__media::before { animation: dakika-image-light 8s cubic-bezier(.45,0,.55,1) infinite; } }
@keyframes dakika-hero-light-mobile { from { opacity: .85; transform: translate3d(0,0,0) rotate(7deg); } to { opacity: 0; transform: translate3d(175%,0,0) rotate(7deg); } }
@keyframes dakika-ambient-light { 0% { transform: translate3d(0,0,0) rotate(7deg); opacity: .82; } 50% { opacity: .7; } 68%,100% { transform: translate3d(175%,0,0) rotate(7deg); opacity: 0; } }
@keyframes dakika-image-light-mobile { from { opacity: .9; transform: translate3d(0,0,0) rotate(7deg); } to { opacity: 0; transform: translate3d(360%,0,0) rotate(7deg); } }
@keyframes dakika-image-light { 0% { transform: translate3d(0,0,0) rotate(7deg); opacity: .9; } 52% { opacity: .76; } 70%,100% { transform: translate3d(365%,0,0) rotate(7deg); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .hero__backdrop::before, .page-hero__media::before, .service-hero__media::before, .article-hero__media::before { left: 28%; opacity: .42; animation: none; transform: rotate(7deg); } }

/* Dakika Portfolio Pro bridge. The plugin keeps ownership of its content and interactions. */
.portfolio-page { background: var(--color-canvas); }
.portfolio-page__inner { min-height: 18rem; }
.portfolio-page__intro { max-width: 48rem; margin-bottom: var(--space-6); }
.portfolio-page__intro > * + * { margin-top: var(--space-3); }
.portfolio-notice { max-width: 42rem; padding: var(--space-5); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: #fff; }
.portfolio-notice h2 { font-size: var(--step-2); }
.portfolio-notice p { margin-top: var(--space-3); color: var(--color-muted); }
.has-dakika-portfolio .dp-filter-bar { display: flex; gap: .65rem; margin-bottom: var(--space-5); padding-bottom: .5rem; overflow-x: auto; scrollbar-width: thin; }
.has-dakika-portfolio .dp-filter-btn { min-height: 3rem; flex: 0 0 auto; padding: .7rem 1rem; border: 1px solid var(--color-line); border-radius: 999px; background: #fff; color: var(--color-ink); font: 800 var(--step--1)/1 var(--font-sans); cursor: pointer; }
.has-dakika-portfolio .dp-filter-btn.active, .has-dakika-portfolio .dp-filter-btn[aria-pressed="true"] { border-color: var(--color-brand); background: var(--color-brand); color: #fff; }
.has-dakika-portfolio .portfolio-card { border-radius: var(--radius-md); }
.has-dakika-portfolio .portfolio-card img { width: 100%; height: auto; }
.has-dakika-portfolio .dp-hero-layout { gap: var(--space-5); }
@media (min-width: 48rem) { .portfolio-page__inner { min-height: 24rem; } }

/* Dedicated service pages. */
.service-hero { background: linear-gradient(145deg,#f7faff,#edf4ff); }
.service-hero.section { padding-block: clamp(4.5rem,8vw,7rem); }
.service-hero__grid { display: grid; gap: var(--space-6); align-items: start; }
.service-hero__copy { max-width: 42rem; }
.service-hero__grid--text { max-width: 52rem; margin-inline: auto; }
.service-hero__media-stack { width: 100%; }
.service-hero__media { margin: 0; overflow: hidden; border-radius: var(--radius-lg); background: #dbe7f8; box-shadow: 0 14px 40px rgba(11,18,32,.09); aspect-ratio: 3 / 2; }
.service-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.service-hero__media video, .service-hero__media-stack iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
.service-hero__media-stack iframe { min-height: 18rem; border-radius: var(--radius-lg); background: #0b1220; aspect-ratio: 3 / 2; }
.service-video-launch { position: relative; width: 100%; padding: 0; border: 0; cursor: pointer; }
.service-video-launch__play { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; width: 4rem; height: 4rem; place-items: center; border-radius: 50%; background: rgba(255,255,255,.94); color: var(--color-brand); box-shadow: var(--shadow); transform: translate(-50%,-50%); }
.service-video-launch:hover .service-video-launch__play { background: var(--color-brand); color: #fff; }
.service-video-transcript { margin-top: 1rem; padding: 1rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: #fff; color: var(--color-muted); font-size: var(--step--1); }
.service-video-transcript summary { color: var(--color-ink); font-weight: 800; cursor: pointer; }
.service-video-transcript p { margin-top: .75rem; }
.button--secondary { border: 1px solid var(--color-line); background: #fff; color: var(--color-ink); }
.button--secondary:hover { background: var(--color-ink); color: #fff; }
.service-jump { display: inline-flex; min-height: 3.5rem; align-items: center; gap: .45rem; padding-inline: .45rem; color: var(--color-brand-dark); font-weight: 800; text-decoration: none; }
.service-jump:hover { color: var(--color-brand); text-decoration: underline; text-underline-offset: .3rem; }
.service-disclaimer { margin-top: var(--space-4); padding-left: 1rem; border-left: 3px solid var(--color-line); color: var(--color-muted); font-size: var(--step--1); line-height: 1.55; }
.deliverable-list { display: grid; gap: 1rem; }
.deliverable-list article { display: grid; grid-template-columns: 2.75rem 1fr; gap: 1rem; align-items: center; padding: 1.35rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: #fff; }
.deliverable-list article > span { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; background: #eaf2ff; color: var(--color-brand); font-weight: 900; }
.deliverable-list h3 { font-size: var(--step-1); }
.service-process { display: grid; gap: 1rem; margin: var(--space-6) 0 0; padding: 0; list-style: none; }
.service-process li { padding: 1.5rem 0; border-top: 1px solid var(--color-line); }
.service-process strong { color: var(--color-brand); font-size: var(--step--1); }
.service-process h3 { margin-top: .5rem; }
.service-process p { margin-top: .75rem; color: var(--color-muted); font-size: var(--step--1); }

/* Insights and long-form content. */
.insight-card { overflow: hidden; padding: 0; }
.insight-card__media { display: block; overflow: hidden; aspect-ratio: 3 / 2; background: #dbe7f8; }
.insight-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.insight-card:hover .insight-card__media img { transform: scale(1.025); }
.insight-card__body { padding: 2rem; }
.insight-card h2 { width: 100%; max-width: none; }
.insight-card__footer { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .75rem; margin-top: var(--space-4); }
.insight-card__footer .text-action { margin-top: 0; }
.insight-card__footer .dakika-share--compact { flex: 0 0 auto; }
.article-hero { background: linear-gradient(145deg,#f7faff,#edf4ff); }
.article-hero__grid { max-width: 58rem; }
.article-hero__grid--with-media { display: grid; gap: var(--space-6); align-items: center; max-width: none; }
.article-hero__copy h1 { max-width: 14ch; }
.article-hero__media { margin: 0; overflow: hidden; border-radius: var(--radius-lg); background: #dbe7f8; box-shadow: 0 14px 40px rgba(11,18,32,.09); aspect-ratio: 3 / 2; }
.article-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.article__body { max-width: 48rem; }
.article__body { font-size: var(--step-0); }
.article__body > * + * { margin-top: 1.4em; }
.article__body h2, .article__body h3 { margin-top: 1.8em; }
.article__body h2 { font-size: var(--step-2); }
.article__body h3 { font-size: var(--step-1); }
.article__body a { color: var(--color-brand); }
.article__body blockquote { margin-inline: 0; padding: var(--space-4); border-left: 4px solid var(--color-brand); background: var(--color-canvas); }
.article-meta { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-bottom: 1rem; color: var(--color-muted); font-size: .92rem; font-weight: 700; }
.article-byline a { color: var(--color-brand); text-decoration: none; }
.article-byline a:hover, .article-byline a:focus-visible { text-decoration: underline; text-underline-offset: .18em; }
.article-author { display: grid; grid-template-columns: 4.5rem minmax(0,1fr); gap: 1.25rem; align-items: center; margin-top: var(--space-7); padding: clamp(1.25rem,3vw,2rem); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); }
.article-author img { width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; }
.article-author__label { margin: 0 0 .2rem; color: var(--color-brand); font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.article-author h2 { margin: 0; font-size: var(--step-1); }
.article-author h2 a { color: var(--color-ink); text-decoration: none; }
.article-author p:not(.article-author__label) { margin: .4rem 0 .65rem; color: var(--color-muted); }
@media (max-width: 30rem) { .article-author { grid-template-columns: 1fr; } }
.breadcrumbs { display: flex; gap: .6rem; margin-bottom: var(--space-5); color: var(--color-muted); font-size: var(--step--1); }
.breadcrumbs a { color: var(--color-brand); }
.not-found { min-height: 70vh; display: grid; align-items: center; background: var(--color-canvas); }

/* Full-site colour adaptation for visitors who prefer a dark interface. */
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --color-ink: #f4f7fb;
    --color-muted: #b5c0d0;
    --color-brand: #65a0ff;
    --color-brand-dark: #93bdff;
    --color-accent-red: #f06a75;
    --color-accent-red-dark: #fda4ad;
    --color-canvas: #111a27;
    --color-surface: #0b121d;
    --color-line: #2b394b;
    --shadow: 0 18px 50px rgba(0,0,0,.34);
  }
  body { background: var(--color-surface); color: var(--color-ink); }
  .dark { background: #0d1725; color: #f4f7fb; }
  .process-section { background: #0b1220; color: #fff; }
  .site-header { background: rgba(11,18,29,.92); }
  .custom-logo-link { background: transparent; }
  .hero, .page-hero, .hero--with-media, .service-hero, .article-hero { background: linear-gradient(145deg,#101a29 0%,#111e31 64%,#0b121d 100%); }
  .hero:not(.hero--with-media)::after { background: rgba(101,160,255,.1); }
  .hero__backdrop { background: #18263a; }
  .hero__backdrop::after { background: linear-gradient(90deg,rgba(11,18,29,.97) 0%,rgba(11,18,29,.88) 38%,rgba(11,18,29,.48) 66%,rgba(11,18,29,.06) 100%); }
  .hero__backdrop::before, .page-hero__media::before, .service-hero__media::before, .article-hero__media::before { background: linear-gradient(105deg,transparent 8%,rgba(147,197,253,.04) 28%,rgba(147,197,253,.26) 48%,rgba(73,139,255,.18) 58%,transparent 82%); }
  .card, .value-list article, .contact-option, .insight-card, .portfolio-notice,
  .deliverable-list article, .service-video-transcript, .button--secondary,
  .has-dakika-portfolio .dp-filter-btn, .search-form input { background: #162131; }
  .service-card__icon, .contact-option__icon, .deliverable-list article > span { background: #1b3150; }
  .cta-section__inner, .article__body blockquote { background: #111a27; }
  .page-hero__media, .service-hero__media, .article-hero__media, .studio-section__media { background: #18263a; }
  .contact-strip, .desktop-contact-strip { border-bottom-color: var(--color-line); background: linear-gradient(90deg,#0b121d 0%,#19151d 45%,#391920 76%,#541820 100%); color: var(--color-ink); }
  .desktop-contact-strip::after { border-bottom-color: var(--color-line); background: #541820; }
  .contact-strip [data-phone-number], .desktop-contact-strip [data-phone-number], .desktop-contact-strip [data-email-address] { color: var(--color-ink); }
  .copy-number { background: #f8fafc; color: #9f1521; }
  .mobile-contact-bar { border-color: var(--color-line); background: rgba(11,18,29,.96); }
  .site-footer { background: #070c14; }
  .screen-reader-text:focus { background: #162131; color: var(--color-ink); }
  .button--secondary:hover { background: #24344a; color: #fff; }
  .profile-contact-actions__phone { background: #162131; color: var(--color-ink); }
  .profile-contact-actions__linkedin { background: #162131; color: #93c5fd; }
}

/* Preserve the approved v3.7.1 palette whenever the visitor uses light mode. */
@media (prefers-color-scheme: light) {
  :root {
    color-scheme: light;
    --color-ink: #0b1220;
    --color-muted: #526176;
    --color-brand: #155eef;
    --color-brand-dark: #0b3aa4;
    --color-accent-red: #c91f2c;
    --color-accent-red-dark: #a91622;
    --color-canvas: #f5f8fc;
    --color-surface: #ffffff;
    --color-line: #d8e2ef;
    --color-whatsapp: #25d366;
    --shadow: 0 18px 50px rgba(11,18,32,.1);
  }
  body { background: #fff; color: #0b1220; }
  .site-header { border-bottom-color: rgba(216,226,239,.8); background: rgba(255,255,255,.86); }
  .custom-logo-link { background: #fff; color-scheme: only light; }
  .custom-logo--light-mode { display: block; }
  .custom-logo--dark-mode { display: none; }
  .menu-toggle, .primary-navigation, .card, .value-list article, .contact-option,
  .insight-card, .portfolio-notice, .deliverable-list article,
  .service-video-transcript, .button--secondary, .has-dakika-portfolio .dp-filter-btn,
  .search-form input { background: #fff; color: #0b1220; }
  .hero, .page-hero { background: linear-gradient(145deg,#f7faff 0%,#edf4ff 58%,#fff 100%); }
  .hero--with-media { background: #edf4ff; }
  .service-hero, .article-hero { background: linear-gradient(145deg,#f7faff,#edf4ff); }
  .hero__backdrop, .page-hero__media, .service-hero__media, .article-hero__media, .studio-section__media { background: #dbe7f8; }
  .hero__backdrop::after { background: linear-gradient(90deg,rgba(240,246,255,.98) 0%,rgba(240,246,255,.92) 38%,rgba(240,246,255,.58) 66%,rgba(240,246,255,.16) 100%); }
  .hero__backdrop::before, .page-hero__media::before, .service-hero__media::before, .article-hero__media::before { background: linear-gradient(105deg,transparent 8%,rgba(255,255,255,.08) 28%,rgba(255,255,255,.62) 48%,rgba(73,139,255,.28) 58%,transparent 82%); }
  .service-card__icon, .contact-option__icon, .deliverable-list article > span { background: #eaf2ff; }
  .cta-section__inner, .article__body blockquote { background: #f5f8fc; }
  .contact-strip, .desktop-contact-strip { border-bottom-color: #d8e2ef; background: linear-gradient(90deg,#fff 0%,#fff8f8 42%,#f7d9dc 76%,#efb8bd 100%); color: #0b1220; }
  .desktop-contact-strip::after { border-bottom-color: #d8e2ef; background: #efb8bd; }
  .contact-strip [data-phone-number], .desktop-contact-strip [data-phone-number], .desktop-contact-strip [data-email-address] { color: #0b1220; }
  .copy-number { background: rgba(255,255,255,.94); color: #a91622; }
  .mobile-contact-bar { border-color: #d8e2ef; background: rgba(255,255,255,.96); }
  .process-section { background: #0b1220; color: #fff; }
  .site-footer { background: #0b1220; }
}
@media (max-width: 47.99rem) and (prefers-color-scheme: light) {
  .hero--with-media { background: linear-gradient(145deg,#f7faff 0%,#edf4ff 72%,#fff 100%); }
}

/* Personal profile: intentionally distinct, still connected to the studio system. */
.profile-site { background: var(--color-surface); }
.profile-header { position: sticky; z-index: 70; top: 0; border-bottom: 1px solid var(--color-line); background: color-mix(in srgb,var(--color-surface) 90%,transparent); backdrop-filter: blur(18px); }
.profile-header__inner { min-height: 5.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.profile-identity { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; }
.profile-identity img { width: 3.25rem; height: 3.25rem; border: 2px solid var(--color-surface); border-radius: 50%; object-fit: cover; object-position: 55% 25%; box-shadow: 0 0 0 1px var(--color-line); }
.profile-identity span { display: grid; line-height: 1.15; }
.profile-identity strong { font-size: 1rem; }
.profile-identity small { margin-top: .2rem; color: var(--color-muted); font-size: .76rem; }
.profile-nav { display: flex; align-items: center; gap: 1.2rem; }
.profile-nav a { color: var(--color-muted); font-size: .84rem; font-weight: 800; text-decoration: none; }
.profile-nav a:hover { color: var(--color-accent-red-dark); }
.profile-nav .profile-nav__back { color: var(--color-brand); }
.profile-hero { padding-block: clamp(4rem,9vw,8rem); overflow: hidden; background: linear-gradient(145deg,var(--color-canvas),var(--color-surface)); }
.profile-hero__grid { display: grid; gap: var(--space-6); align-items: center; }
.profile-hero__copy h1 { max-width: 13ch; }
.profile-hero__portrait { margin: 0; overflow: hidden; border-radius: var(--radius-lg); background: #dbe7f8; box-shadow: var(--shadow); aspect-ratio: 4 / 5; }
.profile-hero__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.profile-intro__grid, .profile-experience__grid { display: grid; gap: var(--space-6); }
.profile-prose { max-width: 46rem; color: var(--color-muted); font-size: var(--step-1); line-height: 1.55; }
.credential-grid, .profile-skill-grid { display: grid; gap: 1.25rem; margin-top: var(--space-6); }
.credential-grid article, .profile-skill-grid article { padding: clamp(1.5rem,4vw,2.5rem); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); }
.credential-grid h3, .profile-skill-grid h3 { margin-top: .75rem; }
.credential-grid p, .profile-skill-grid p { margin-top: .8rem; color: var(--color-muted); }
.credential-year { color: var(--color-brand); font-size: var(--step--1); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.profile-note { max-width: 64rem; margin-top: var(--space-5); padding: 1.25rem 1.5rem; border-left: 4px solid var(--color-brand); background: color-mix(in srgb,var(--color-brand) 7%,var(--color-surface)); color: var(--color-muted); }
.profile-experience { background: #0b1220; color: #fff; }
.profile-experience .lead { color: #cbd5e1; }
.profile-timeline { margin: 0; padding: 0; list-style: none; }
.profile-timeline li { padding: 1.5rem 0; border-top: 1px solid #334155; }
.profile-timeline span { color: #7dd3fc; font-size: .85rem; font-weight: 850; }
.profile-timeline h3 { margin-top: .45rem; font-size: var(--step-1); }
.profile-timeline p { margin-top: .7rem; color: #cbd5e1; }
.profile-cta__inner { padding: clamp(2rem,7vw,5rem); border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-canvas); }
.profile-footer { padding-block: 2rem; background: #070c14; color: #9fb0c8; }
.profile-footer .site-container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; }
.profile-footer a { color: #dbeafe; font-weight: 800; text-decoration: none; }
@media (min-width: 48rem) {
  .profile-hero__grid { grid-template-columns: minmax(0,1.05fr) minmax(22rem,.75fr); gap: var(--space-7); }
  .profile-intro__grid, .profile-experience__grid { grid-template-columns: minmax(16rem,.8fr) minmax(0,1.2fr); gap: var(--space-7); }
  .credential-grid { grid-template-columns: repeat(2,1fr); }
  .profile-skill-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 47.99rem) {
  .profile-header__inner { min-height: 4.8rem; }
  .profile-identity small { display: none; }
  .profile-nav { max-width: 52%; overflow-x: auto; gap: 1rem; scrollbar-width: none; }
  .profile-nav a { flex: 0 0 auto; }
  .profile-nav a:not(.profile-nav__back) { display: none; }
  .profile-hero { padding-top: var(--space-6); }
  .profile-hero__copy { order: 1; }
  .profile-hero__portrait { order: 2; }
}

/* Approved two-column CV portfolio. */
.profile-cv-site { background: var(--color-surface); }
.profile-cv-layout { min-height: 100vh; display: grid; grid-template-columns: clamp(22rem,32vw,31rem) minmax(0,1fr); }
.profile-cv-rail { position: relative; z-index: 2; min-width: 0; background: #08182f; color: #fff; }
.profile-cv-rail__inner { position: sticky; top: 0; min-height: 100vh; display: flex; flex-direction: column; padding: clamp(1.5rem,3vw,3rem); overflow: hidden; }
.profile-cv-rail__inner::after { position: absolute; z-index: -1; right: -10rem; bottom: 10%; width: 22rem; height: 22rem; border-radius: 50%; background: rgba(21,94,239,.16); filter: blur(1px); content: ""; }
.profile-cv-portrait { width: min(100%,25rem); margin: -3rem auto 0; overflow: hidden; }
.profile-cv-portrait img, .profile-cv-portrait video { width: 100%; max-height: 29rem; display: block; object-fit: cover; object-position: center 16%; -webkit-mask-image: linear-gradient(#000 78%,transparent 100%); mask-image: linear-gradient(#000 78%,transparent 100%); }
.profile-cv-name { margin-top: -2.75rem; }
.profile-cv-name h1 { max-width: none; color: #fff; font-size: clamp(2.7rem,5vw,4.6rem); }
.profile-cv-name > p { margin-top: .65rem; color: #4f94ff; font-size: clamp(1.05rem,1.5vw,1.35rem); font-weight: 850; }
.profile-cv-name > span { display: block; max-width: 24rem; margin-top: .7rem; color: #dbeafe; line-height: 1.45; }
.profile-cv-contact, .profile-cv-languages { margin-top: 1.5rem; padding-top: 1.35rem; border-top: 1px solid #34445b; }
.profile-cv-contact h2, .profile-cv-languages h2 { color: #fff; font-size: 1rem; letter-spacing: 0; }
.profile-cv-contact ul { display: grid; gap: .65rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.profile-cv-contact li { display: flex; align-items: center; gap: .65rem; color: #dbeafe; font-size: .9rem; }
.profile-cv-contact li > span:first-child { display: inline-flex; width: 1rem; height: 1rem; color: #93c5fd; }
.profile-cv-contact a { text-decoration: none; }
.profile-cv-button { min-height: 3rem; display: flex; align-items: center; justify-content: center; margin-top: 1.25rem; border: 1px solid #4f94ff; border-radius: .7rem; background: #155eef; color: #fff; font-weight: 850; text-decoration: none; }
.profile-cv-button:hover { background: #0b3aa4; }
.profile-cv-languages p { margin-top: .8rem; color: #dbeafe; font-size: .9rem; }
.profile-cv-languages span { margin-inline: .45rem; color: #4f94ff; }
.profile-cv-back { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; padding-top: 1.5rem; color: #93c5fd; font-weight: 800; text-decoration: none; }
.profile-cv-content { min-width: 0; padding: clamp(2rem,5vw,5.5rem); background: var(--color-surface); }
.profile-cv-content > * { width: min(100%,62rem); margin-inline: auto; }
.profile-cv-intro { padding-bottom: clamp(2rem,4vw,3.5rem); }
.profile-cv-kicker { display: flex; align-items: center; gap: .65rem; color: var(--color-accent-red); font-size: .8rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.profile-cv-kicker::before { width: 1.25rem; height: 2px; background: currentColor; content: ""; }
.profile-cv-intro h2 { max-width: 19ch; margin-top: 1rem; font-size: clamp(2.5rem,5vw,5rem); }
.profile-cv-lead { max-width: 61rem; margin-top: 1.25rem; color: var(--color-muted); font-size: clamp(1.05rem,1.5vw,1.35rem); line-height: 1.6; }
.profile-cv-tags { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.profile-cv-tags span { padding: .65rem .9rem; border: 1px solid var(--color-line); border-radius: .6rem; color: var(--color-ink); font-size: .82rem; font-weight: 800; }
.profile-cv-section { padding-block: clamp(2rem,4vw,3.5rem); border-top: 1px solid var(--color-line); scroll-margin-top: 2rem; }
.profile-cv-section__heading { display: grid; grid-template-columns: 1.25rem auto 1fr; gap: .65rem; align-items: center; margin-bottom: 1.5rem; }
.profile-cv-section__heading > span { height: 2px; background: var(--color-brand); }
.profile-cv-section__heading h2 { max-width: none; font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; }
.profile-cv-section__heading::after { height: 1px; background: var(--color-line); content: ""; }
.profile-cv-section__heading--action { grid-template-columns: 1.25rem auto 1fr auto; }
.profile-cv-section__heading--action a { color: var(--color-brand); font-size: .8rem; font-weight: 850; text-decoration: none; }
.profile-skill-bars { display: grid; grid-template-columns: 1fr; gap: 1.45rem; }
.profile-logo-context { max-width: 49rem; margin: -.55rem 0 1.5rem; color: var(--color-muted); font-size: .82rem; line-height: 1.55; }
.profile-skill > div:first-child { display: flex; justify-content: space-between; gap: 1rem; }
.profile-skill__title { min-width: 0; display: flex; align-items: center; gap: .85rem; }
.profile-skill__icon { width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid color-mix(in srgb,var(--color-brand) 22%,var(--color-line)); border-radius: .75rem; background: color-mix(in srgb,var(--color-brand) 9%,var(--color-surface)); color: var(--color-brand); }
.profile-skill__icon img { width: 1.75rem; height: 1.75rem; display: block; object-fit: contain; }
.profile-skill__icon img[src*="creative-director-dominic"] { width: 100%; height: 100%; border-radius: .68rem; object-fit: cover; object-position: 67% 24%; }
.profile-skill__icon b { display: none; color: var(--color-brand); font-size: .68rem; font-weight: 950; line-height: 1; text-align: center; }
.profile-skill__icon img[src=""] { display: none; }
.profile-skill__icon img[src=""] + b, .profile-skill__icon > b:only-child { display: block; }
.profile-skill__icon .dakika-icon { width: 1.35rem; height: 1.35rem; }
.profile-skill h3 { font-size: 1.2rem; letter-spacing: -.02em; }
.profile-skill span { color: var(--color-brand); font-size: .9rem; font-weight: 850; }
.profile-skill__track { height: .52rem; margin-top: .65rem; overflow: hidden; border-radius: 999px; background: var(--color-line); }
.profile-skill__track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--color-brand),#3b82f6); transition: width 1.15s cubic-bezier(.2,.75,.25,1); }
.profile-skill-bars.is-visible .profile-skill__track i { width: var(--skill-level); }
.profile-cv-education { display: grid; grid-template-columns: 1fr; gap: 0; }
.profile-cv-education article { padding: 1.75rem 0; border: 0; border-bottom: 1px solid var(--color-line); border-radius: 0; background: transparent; }
.profile-cv-education article:first-child { padding-top: .25rem; }
.profile-brand-mark { width: 3.75rem; min-height: 3.25rem; display: inline-flex; align-items: center; justify-content: center; margin-bottom: .85rem; padding: .45rem; border-radius: .7rem; background: #eaf2ff; color: #0b3aa4; font-size: .78rem; font-weight: 950; letter-spacing: .025em; line-height: 1; box-shadow: inset 0 0 0 1px rgba(21,94,239,.14); }
.profile-brand-mark--kca { background: #eef6e9; color: #24713a; box-shadow: inset 0 0 0 1px rgba(36,113,58,.2); }
.profile-brand-mark--metropolia { background: #ff5000; color: #fff; box-shadow: none; font-size: 1.35rem; }
.profile-brand-mark--dakika { background: #0b3aa4; color: #fff; box-shadow: none; }
.profile-brand-mark--aku { background: #7b1726; color: #fff; box-shadow: none; }
.profile-brand-mark--sayare { width: auto; min-width: 4.9rem; background: #f2b705; color: #111827; box-shadow: none; font-size: .66rem; }
.profile-brand-mark--earlier { width: auto; min-width: 4.9rem; background: #e9eef5; color: #334155; box-shadow: inset 0 0 0 1px #d6deea; }
.profile-brand-logo { min-height: 4.4rem; display: inline-flex; align-items: center; gap: .8rem; margin-bottom: 1rem; padding: .65rem .9rem; border: 1px solid var(--color-line); border-radius: .8rem; background: #fff; color: #111827; box-shadow: 0 5px 18px rgba(11,18,32,.06); }
.profile-brand-logo > img { width: auto; max-width: 12rem; height: 3rem; display: block; object-fit: contain; }
.profile-brand-logo > b { max-width: 12rem; font-size: .78rem; font-weight: 900; line-height: 1.2; }
.profile-brand-logo--dakika { background: #0b1220; color: #fff; }
.profile-brand-logo--dakika > img { max-width: 10.5rem; }
.profile-logo-pair { display: inline-flex; align-items: center; gap: .55rem; }
.profile-logo-pair img { width: 4.25rem; height: 2.65rem; display: block; border-radius: .35rem; object-fit: contain; }
.profile-cv-education article > span, .profile-cv-timeline > li > span { color: var(--color-brand); font-size: .9rem; font-weight: 900; }
.profile-cv-education h3 { margin-top: .55rem; font-size: clamp(1.55rem,2.5vw,2rem); }
.profile-cv-education strong { display: block; margin-top: .6rem; color: var(--color-muted); font-size: 1.05rem; }
.profile-cv-education p { max-width: 52rem; margin-top: .9rem; color: var(--color-muted); font-size: 1.05rem; line-height: 1.7; }
.profile-cv-note { margin-top: 1.5rem; padding: 1rem 0 1rem 1.25rem; border-left: 3px solid var(--color-brand); color: var(--color-muted); font-size: 1.02rem; line-height: 1.7; }
.profile-cv-timeline { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.profile-cv-timeline::before { position: absolute; top: .45rem; bottom: 1rem; left: .32rem; width: 1px; background: var(--color-line); content: ""; }
.profile-cv-timeline li { position: relative; display: grid; grid-template-columns: 1fr; gap: .45rem; padding: 0 0 2.25rem 1.75rem; }
.profile-cv-timeline li::before { position: absolute; z-index: 1; top: .25rem; left: 0; width: .72rem; height: .72rem; border: 3px solid var(--color-surface); border-radius: 50%; background: var(--color-brand); box-shadow: 0 0 0 1px var(--color-line); content: ""; }
.profile-cv-timeline .profile-brand-mark { margin-bottom: .65rem; }
.profile-cv-timeline h3 { font-size: clamp(1.4rem,2.3vw,1.8rem); }
.profile-cv-timeline strong { display: block; margin-top: .25rem; color: var(--color-muted); font-size: 1.02rem; }
.profile-cv-timeline p { max-width: 52rem; margin-top: .55rem; color: var(--color-muted); font-size: 1.04rem; line-height: 1.68; }
.profile-cv-work { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.profile-cv-work a { min-height: 0; display: block; padding: clamp(1.5rem,3vw,2.25rem); border: 1px solid #263b59; border-radius: .75rem; background: linear-gradient(145deg,#0b1220,#142b50); color: #fff; text-decoration: none; transition: transform .18s ease,border-color .18s ease; }
.profile-cv-work a:hover { transform: translateY(-3px); border-color: #4f94ff; }
.profile-cv-work small { color: #7dd3fc; font-size: .82rem; font-weight: 900; text-transform: uppercase; }
.profile-cv-work h3 { margin-top: .4rem; font-size: clamp(1.4rem,2.3vw,1.8rem); }
.profile-cv-work p { max-width: 48rem; margin-top: .65rem; color: #cbd5e1; font-size: 1.02rem; line-height: 1.6; }
.profile-cv-portfolio { min-width: 0; }
.profile-cv-portfolio .dp-portfolio-wrap { margin-inline: 0; }
.profile-cv-portfolio{width:100%;max-width:100%;overflow:visible}.profile-cv-portfolio .dpp-portfolio-context{width:100%;max-width:none}.profile-cv-portfolio .dpp-grid{margin-inline:0}
.profile-cv-cta { margin-top: clamp(2rem,4vw,4rem); padding: clamp(2rem,5vw,4rem); border-radius: 1rem; background: var(--color-canvas); }
.profile-cv-cta h2 { max-width: 18ch; margin-top: .8rem; }
.profile-cv-cta > p:not(.profile-cv-kicker) { max-width: 45rem; margin-top: 1rem; color: var(--color-muted); }
.profile-cv-cta .button { margin-top: 1.5rem; }
.profile-cv-footer { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--color-line); color: var(--color-muted); font-size: .8rem; }
@media (max-width: 70rem) {
  .profile-cv-layout { grid-template-columns: 21rem minmax(0,1fr); }
  .profile-cv-content { padding: 2rem; }
  .profile-cv-work { grid-template-columns: 1fr; }
}
@media (max-width: 47.99rem) {
  .profile-cv-layout { display: block; }
  .profile-cv-rail__inner { position: relative; min-height: 0; padding: 1.25rem; }
  .profile-cv-portrait { width: min(100%,22rem); margin-top: -1rem; }
  .profile-cv-portrait img, .profile-cv-portrait video { max-height: 25rem; }
  .profile-cv-name { margin-top: -2rem; }
  .profile-cv-name h1 { font-size: 3rem; }
  .profile-cv-back { margin-top: 1.5rem; }
  .profile-cv-content { padding: 2rem 1rem 3rem; }
  .profile-cv-intro h2 { font-size: clamp(2.35rem,11vw,3.5rem); }
  .profile-skill-bars, .profile-cv-education { grid-template-columns: 1fr; }
  .profile-cv-timeline li { grid-template-columns: 1fr; gap: .35rem; }
  .profile-cv-work { grid-template-columns: 1fr; }
  .profile-cv-section__heading--action { grid-template-columns: 1.25rem auto 1fr; }
  .profile-cv-section__heading--action a { grid-column: 2 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .profile-skill__track i { width: var(--skill-level); transition: none; }
}
.not-found .lead { margin-block: var(--space-5); }
@media (min-width: 48rem) { .article-hero__grid--with-media { grid-template-columns: minmax(0,1.08fr) minmax(24rem,1fr); gap: clamp(3rem,6vw,6rem); } .article-hero__media { aspect-ratio: 4 / 3; } }
@media (min-width: 48rem) { .service-hero__grid { grid-template-columns: minmax(0,1.08fr) minmax(24rem,1fr); gap: clamp(3rem,6vw,6rem); } .service-hero__grid--text { display: block; } .service-hero__media { aspect-ratio: 4 / 3; } .service-process { grid-template-columns: repeat(4,1fr); gap: var(--space-5); } }

/* Final desktop header treatment: visually joins the navigation and curved contact ribbon. */
@media (min-width:48rem) and (prefers-color-scheme:light) {
  .site-header {
    border-bottom-color: rgba(216,226,239,.42);
    background: linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.95) 57%,rgba(255,251,251,.94) 76%,rgba(249,231,233,.91) 100%);
  }
  .desktop-contact-strip {
    border-color: rgba(205,214,226,.5);
    background: linear-gradient(90deg,rgba(255,255,255,.74) 0%,rgba(255,250,250,.8) 34%,rgba(249,225,228,.87) 70%,rgba(239,184,189,.93) 100%);
    box-shadow: 0 10px 24px rgba(41,55,75,.07);
  }
}

/* Restored desktop contact row above the logo and primary navigation. */
.desktop-top-contact { display: none; }
@media (min-width:48rem) {
  .desktop-contact-anchor,
  .desktop-contact-strip { display: none; }
  .desktop-top-contact {
    display: block;
    border-top: 1px solid rgba(201,31,44,.08);
    border-bottom: 1px solid rgba(216,226,239,.72);
    background: linear-gradient(90deg,#fff 0%,#fffafa 57%,#f9e3e5 79%,#efb8bd 100%);
    color: #0b1220;
    font-size: .72rem;
  }
  .desktop-top-contact__inner {
    min-height: 2rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.3rem;
  }
  .desktop-top-contact [data-phone-number],
  .desktop-top-contact [data-email-address] { color: #0b1220; font-weight: 800; }
  .site-header {
    border-bottom: 1px solid rgba(216,226,239,.8);
    background: rgba(255,255,255,.9);
    box-shadow: none;
  }
  .site-header::after { display: none; }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .desktop-top-contact {
    border-color: rgba(89,104,124,.34);
    background: linear-gradient(90deg,#0b121d 0%,#17151c 57%,#391920 79%,#541820 100%);
    color: var(--color-ink);
  }
  .desktop-top-contact [data-phone-number],
  .desktop-top-contact [data-email-address] { color: var(--color-ink); }
  .site-header {
    border-bottom-color: rgba(89,104,124,.34);
    background: rgba(11,18,29,.94);
    box-shadow: none;
  }
}

/* Final synchronized spectrum override; kept last to prevent legacy ribbon colours winning. */
@media (min-width:48rem) {
  .desktop-top-contact {
    --dakika-header-spectrum: linear-gradient(90deg,#155eef 0%,#2874ed 48%,#744aa8 72%,#a92f61 87%,#c91f2c 100%);
    background:
      linear-gradient(#fff,#fff) padding-box,
      var(--dakika-header-spectrum) border-box;
  }
  .desktop-top-contact__inner {
    background: linear-gradient(90deg,rgba(255,255,255,.82) 0%,rgba(255,250,250,.86) 31%,rgba(249,225,228,.9) 66%,rgba(239,184,189,.95) 85%,rgba(236,169,176,.97) 100%);
    color: #475569;
  }
  .desktop-top-contact .contact-detail { color: #475569; font-weight: 500; }
  .desktop-top-contact [data-phone-number],
  .desktop-top-contact [data-email-address] { color: #263244; font-weight: 700; }
  .desktop-top-contact .contact-detail__icon { color: #526176; }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .desktop-top-contact {
    --dakika-header-spectrum: linear-gradient(90deg,#65a0ff 0%,#4e8cf5 48%,#8759b2 72%,#bc475f 87%,#f06a75 100%);
    background:
      linear-gradient(#0b121d,#0b121d) padding-box,
      var(--dakika-header-spectrum) border-box;
  }
  .desktop-top-contact__inner {
    background: linear-gradient(90deg,rgba(12,20,32,.82) 0%,rgba(25,21,29,.86) 32%,rgba(57,25,32,.92) 66%,rgba(84,24,32,.96) 85%,rgba(96,25,35,.98) 100%);
    color: #cbd5e1;
  }
  .desktop-top-contact .contact-detail { color: #cbd5e1; }
  .desktop-top-contact [data-phone-number],
  .desktop-top-contact [data-email-address] { color: #eef2f7; }
  .desktop-top-contact .contact-detail__icon { color: #cbd5e1; }
}

/* Rounded depth on both the curved left edge and lower edge of the hanging ribbon. */
@media (min-width:48rem) {
  .desktop-top-contact__inner {
    box-shadow:
      -7px 6px 16px rgba(41,55,75,.075),
      0 10px 22px rgba(41,55,75,.09);
  }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .desktop-top-contact__inner {
    box-shadow:
      -7px 6px 18px rgba(0,0,0,.18),
      0 10px 24px rgba(0,0,0,.24);
  }
}

/* One synchronized brand spectrum across the top rule and hanging ribbon. */
@media (min-width:48rem) {
  .desktop-top-contact {
    --dakika-header-spectrum: linear-gradient(90deg,#155eef 0%,#2874ed 48%,#744aa8 72%,#a92f61 87%,#c91f2c 100%);
    background:
      linear-gradient(#fff,#fff) padding-box,
      var(--dakika-header-spectrum) border-box;
  }
  .desktop-top-contact__inner {
    background-color: #744aa8;
    background-image: var(--dakika-header-spectrum);
    background-position: right top;
    background-size: 100vw 100%;
    color: #fff;
  }
  .desktop-top-contact [data-phone-number],
  .desktop-top-contact [data-email-address],
  .desktop-top-contact .contact-detail__icon { color: #fff; }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .desktop-top-contact {
    --dakika-header-spectrum: linear-gradient(90deg,#65a0ff 0%,#4e8cf5 48%,#8759b2 72%,#bc475f 87%,#f06a75 100%);
    background:
      linear-gradient(#0b121d,#0b121d) padding-box,
      var(--dakika-header-spectrum) border-box;
  }
}

/* Unified shadow contour: no divider line, including around the curved ribbon. */
@media (min-width:48rem) {
  .site-header {
    border-bottom: 0;
    box-shadow: 0 8px 18px rgba(41,55,75,.075);
  }
  .site-header::after { display: none; }
  .desktop-contact-strip {
    border: 0;
    box-shadow: 0 8px 18px rgba(41,55,75,.075);
  }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .site-header,
  .desktop-contact-strip { box-shadow: 0 8px 20px rgba(0,0,0,.2); }
}

/* Continuous desktop ribbon and a single contour line beneath the header. */
@media (min-width:48rem) {
  .site-header { border-bottom: 0; }
  .site-header::after {
    position: absolute;
    right: calc(36rem + max(2rem,calc((100vw - var(--container))/2)));
    bottom: 0;
    left: 0;
    height: 1px;
    background: rgba(205,214,226,.62);
    content: "";
    pointer-events: none;
  }
  .desktop-contact-strip {
    right: 0;
    width: calc(36rem + max(2rem,calc((100vw - var(--container))/2)));
  }
  .desktop-contact-strip::after { display: none; }
  .desktop-contact-strip__inner {
    width: 36rem;
    margin-right: max(2rem,calc((100vw - var(--container))/2));
  }
}
@media (min-width:48rem) and (prefers-color-scheme:light) {
  .desktop-contact-strip {
    background: linear-gradient(90deg,rgba(255,255,255,.76) 0%,rgba(255,250,250,.81) 29%,rgba(249,225,228,.88) 62%,rgba(239,184,189,.94) 82%,rgba(236,169,176,.96) 100%);
  }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .site-header::after { background: rgba(89,104,124,.44); }
  .desktop-contact-strip {
    background: linear-gradient(90deg,rgba(12,20,32,.78) 0%,rgba(25,21,29,.82) 31%,rgba(57,25,32,.89) 65%,rgba(84,24,32,.95) 84%,rgba(96,25,35,.97) 100%);
  }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .site-header {
    border-bottom-color: rgba(91,105,124,.28);
    background: linear-gradient(90deg,rgba(11,18,29,.94) 0%,rgba(11,18,29,.93) 58%,rgba(28,20,28,.92) 77%,rgba(67,24,32,.9) 100%);
  }
  .desktop-contact-strip {
    border-color: rgba(89,104,124,.42);
    background: linear-gradient(90deg,rgba(12,20,32,.76) 0%,rgba(25,21,29,.8) 38%,rgba(57,25,32,.88) 72%,rgba(84,24,32,.94) 100%);
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
  }
}

/* Final restored desktop header state after retiring the curved ribbon. */
@media (min-width:48rem) {
  .desktop-contact-anchor,
  .desktop-contact-strip { display: none; }
  .site-header {
    border-bottom: 1px solid rgba(216,226,239,.8);
    background: rgba(255,255,255,.9);
    box-shadow: none;
  }
  .site-header::after { display: none; content: none; }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .site-header {
    border-bottom-color: rgba(89,104,124,.34);
    background: rgba(11,18,29,.94);
    box-shadow: none;
  }
}

/* Hanging desktop contact ribbon above the main header. */
@media (min-width:48rem) {
  .desktop-top-contact {
    min-height: 2.65rem;
    display: block;
    overflow: hidden;
    border: 0;
    border-top: .36rem solid transparent;
    background:
      linear-gradient(#fff,#fff) padding-box,
      linear-gradient(90deg,#155eef 0%,#2874ed 48%,#744aa8 72%,#a92f61 87%,#c91f2c 100%) border-box;
    color: #0b1220;
  }
  .desktop-top-contact__inner {
    width: calc(44rem + max(2rem,calc((100vw - var(--container))/2)));
    max-width: none;
    min-height: 2.29rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.3rem;
    margin-right: 0;
    margin-left: auto;
    padding-right: max(2rem,calc((100vw - var(--container))/2));
    padding-left: 1.75rem;
    border-radius: 0 0 0 2.25rem;
    background: linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,250,250,.83) 30%,rgba(249,225,228,.9) 65%,rgba(239,184,189,.95) 84%,rgba(236,169,176,.97) 100%);
    box-shadow: 0 8px 18px rgba(41,55,75,.09);
  }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .desktop-top-contact {
    background:
      linear-gradient(#0b121d,#0b121d) padding-box,
      linear-gradient(90deg,#65a0ff 0%,#4e8cf5 48%,#8759b2 72%,#bc475f 87%,#f06a75 100%) border-box;
  }
  .desktop-top-contact__inner {
    background: linear-gradient(90deg,rgba(12,20,32,.8) 0%,rgba(25,21,29,.84) 32%,rgba(57,25,32,.91) 66%,rgba(84,24,32,.96) 85%,rgba(96,25,35,.98) 100%);
    box-shadow: 0 8px 20px rgba(0,0,0,.22);
  }
}

/* Authoritative final ribbon colours. */
@media (min-width:48rem) {
  .desktop-top-contact {
    --dakika-header-spectrum: linear-gradient(90deg,#155eef 0%,#2874ed 48%,#744aa8 72%,#a92f61 87%,#c91f2c 100%);
    background:
      linear-gradient(#fff,#fff) padding-box,
      var(--dakika-header-spectrum) border-box;
  }
  .desktop-top-contact__inner {
    background: linear-gradient(90deg,rgba(255,255,255,.82) 0%,rgba(255,250,250,.86) 31%,rgba(249,225,228,.9) 66%,rgba(239,184,189,.95) 85%,rgba(236,169,176,.97) 100%);
    color: #475569;
  }
  .desktop-top-contact .contact-detail { color: #475569; font-weight: 500; }
  .desktop-top-contact [data-phone-number],
  .desktop-top-contact [data-email-address] { color: #263244; font-weight: 700; }
  .desktop-top-contact .contact-detail__icon { color: #526176; }
  .booking-ribbon-link { min-height: 1.85rem; padding: .35rem .7rem; font-size: .76rem; }
  .booking-ribbon-link:hover, .booking-ribbon-link:focus-visible { background: var(--color-brand-dark); color: #fff; }
}
@media (min-width:48rem) and (prefers-color-scheme:dark) {
  .desktop-top-contact {
    --dakika-header-spectrum: linear-gradient(90deg,#65a0ff 0%,#4e8cf5 48%,#8759b2 72%,#bc475f 87%,#f06a75 100%);
    background:
      linear-gradient(#0b121d,#0b121d) padding-box,
      var(--dakika-header-spectrum) border-box;
  }
  .desktop-top-contact__inner {
    background: linear-gradient(90deg,rgba(12,20,32,.82) 0%,rgba(25,21,29,.86) 32%,rgba(57,25,32,.92) 66%,rgba(84,24,32,.96) 85%,rgba(96,25,35,.98) 100%);
    color: #cbd5e1;
  }
  .desktop-top-contact .contact-detail { color: #cbd5e1; }
  .desktop-top-contact [data-phone-number],
  .desktop-top-contact [data-email-address] { color: #eef2f7; }
  .desktop-top-contact .contact-detail__icon { color: #cbd5e1; }
}

@media (max-width:23rem) {
  .contact-strip__inner { padding-inline: .65rem; }
  .contact-strip__label { font-size: .75rem; }
  .contact-strip__booking { padding-inline: .55rem; }
}

/* Social account links and sharing controls. */
.dakika-social-accounts { display: inline-flex; align-items: center; gap: .55rem; }
.dakika-social-accounts a { width: 1.25rem; height: 1.25rem; display: inline-flex; align-items: center; justify-content: center; color: inherit; text-decoration: none; transition: color .18s ease, transform .18s ease; }
.dakika-social-accounts a:hover { color: var(--color-brand); transform: translateY(-1px); }
.dakika-social-accounts .dakika-icon { width: .9rem; height: .9rem; }
.dakika-social-accounts--header { margin-inline: .1rem .45rem; color: #334155; }
.dakika-social-accounts--mobile { flex: 0 0 auto; color: #334155; }
.dakika-social-accounts--mobile a { width: 1.4rem; height: 1.4rem; }
.dakika-social-accounts--footer { margin-top: 1rem; color: #c9d7ea; }
.dakika-floating-share { position: fixed; z-index: 55; top: 50%; right: 0; display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .48rem .32rem; border: 1px solid var(--color-line); border-right: 0; border-radius: .65rem 0 0 .65rem; background: rgba(255,255,255,.95); box-shadow: 0 7px 18px rgba(11,18,32,.1); transform: translateY(-50%); backdrop-filter: blur(10px); }
.dakika-floating-share > strong { font-size: .62rem; letter-spacing: .04em; text-transform: uppercase; }
.dakika-floating-share .dakika-share--compact { display: flex; flex-direction: column; gap: .15rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
.dakika-floating-share .dakika-share--compact__label { display: none; }
.dakika-floating-share .dakika-share--compact a,
.dakika-floating-share .dakika-share--compact button { width: 1.7rem; height: 1.7rem; min-width: 0; min-height: 0; padding: .34rem; border: 0; border-radius: 50%; background: transparent; color: var(--color-muted); }
.dakika-floating-share .dakika-share-icon { width: .9rem; height: .9rem; }

/* Keep service cards visually even while retaining concise descriptions. */
.services { grid-auto-rows: 1fr; }
.service-card h2,
.service-card h3 { min-height: 2.3em; display: flex; align-items: flex-end; }
.service-card p { min-height: 4.8em; }

@media (max-width: 47.99rem) {
  .desktop-top-contact .dakika-social-accounts--header { display: none; }
  .service-card h2, .service-card h3, .service-card p { min-height: 0; }
}

@media (prefers-color-scheme: dark) {
  .dakika-floating-share { border-color: #334155; background: rgba(17,28,46,.95); color: #f8fafc; }
  .dakika-social-accounts--header, .dakika-social-accounts--mobile { color: #dbeafe; }
}

