/* Shared direction-aware layer; legacy detail-page and plugin styles remain intact. */
:root {
  --studio-ink: #251b31;
  --studio-purple: #4e266e;
  --studio-gold: #f5b92c;
  --studio-paper: #fcfbfd;
  --studio-soft: #f5f2f7;
  --studio-muted: #62556b;
  --studio-rule: #ded7e4;
  --studio-action-radius: 10px;
  /* Actions use 10px corners; hero text panels use 16px; image frames stay square. */
  --studio-panel-radius: 16px;
}

::selection { background: var(--studio-gold); color: var(--studio-ink); }
html { scroll-padding-top: 100px; scrollbar-color: var(--studio-purple) var(--studio-soft); }
input, textarea { caret-color: var(--studio-purple); }

.header .container, .footer .container, .studio-shell {
  width: calc(100% - 48px);
  max-width: 1360px;
  margin-inline: auto;
}

.header .container, .footer .container { padding-inline: 0; }
.header .header-bottomarea { background: var(--studio-ink); box-shadow: none; }
.header .header-bottominner { min-height: 72px; gap: 24px; }
.header .header-logo { padding-block: 12px; }
.header .header-logo img { width: auto; max-width: 168px; height: 48px; object-fit: contain; }
.header .header-bottominner .tm-navigation { text-align: end; }
.header .tm-navigation > ul > li > a { padding: 22px 12px; color: var(--studio-paper); font-size: 15px; white-space: nowrap; }
.header .tm-navigation > ul > li > a:hover,
.header .tm-navigation > ul > li > a:focus-visible { color: var(--studio-gold); }
.header .tm-navigation > ul > .studio-nav-contact > a { color: var(--studio-gold); }
.header .studio-nav-language { margin-inline-start: 16px; border-inline-start: 1px solid #756780; }
.header .studio-nav-language a { margin-inline-start: 12px; }
.header .tm-navigation .tm-navigation-dropdown ul { text-align: start; border-bottom-color: var(--studio-gold); }
.header .header-mobilemenu .mean-container a.meanmenu-reveal { color: var(--studio-paper); }
.header .header-mobilemenu .mean-container .mean-nav { background: var(--studio-ink); }
.header .header-mobilemenu .mean-container .mean-nav > ul { max-height: min(65vh, 480px); }
.header .header-mobilemenu .studio-nav-language { margin: 0; border: 0; }
.header .header-mobilemenu .studio-nav-language a { margin: 0; }
.header.sticky-active .header-bottomarea { animation: none; }

.wave-home { --studio-hover-step: 4px; color: var(--studio-ink); background: var(--studio-paper); }
.wave-home h1, .wave-home h2, .wave-home h3 { color: inherit; font-weight: 700; text-wrap: balance; }
.wave-home h2 { font-size: clamp(28px, 3vw, 44px); line-height: 1.25; letter-spacing: -0.025em; margin-bottom: 20px; }
.wave-home h3 { font-size: clamp(20px, 1.65vw, 25px); line-height: 1.4; }
.wave-home a { color: inherit; }
.wave-home p { line-height: 1.75; }
.wave-home .tm-waveform-heading { margin-inline: 0; }
.studio-hero { position: relative; overflow: hidden; background: var(--studio-purple); color: var(--studio-paper); }
.studio-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.studio-hero-inner { position: relative; display: flex; align-items: end; min-height: clamp(440px, 35vw, 520px); padding-block: 36px; }
.studio-intro { width: min(720px, 70%); padding: clamp(24px, 3vw, 40px); border-radius: var(--studio-panel-radius); background: var(--studio-ink); }
.studio-intro h1 { font-size: clamp(30px, 2.5vw, 32px); line-height: 1.15; letter-spacing: -0.03em; margin: 0 0 20px; }
.studio-intro p { max-width: 52ch; margin: 0 0 28px; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.65; color: #e6ddeb; }
.studio-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; }
.studio-action { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 48px; padding: 12px 24px; border-radius: var(--studio-action-radius); background: var(--studio-gold); color: var(--studio-ink); font-size: 17px; font-weight: 600; line-height: 1.4; text-align: center; white-space: nowrap; transition: background-color 160ms ease; }
.wave-home .tm-button { border-radius: var(--studio-action-radius); }
.wave-home .studio-action { color: var(--studio-ink); }
.studio-action:hover { background: #ffd16b; }
.studio-link { position: relative; display: inline-flex; align-items: center; gap: 14px; min-height: 44px; text-decoration: none; font-weight: 500; line-height: 1.5; }
.studio-link::after { content: ""; position: absolute; inset-inline: 0; bottom: 6px; height: 1px; background: currentColor; pointer-events: none; }
.studio-link:is(:hover, :focus-visible)::after { height: 2px; }
.studio-intro .studio-link { color: var(--studio-paper); }
.studio-service-index { background: var(--studio-ink); color: var(--studio-paper); scroll-margin-top: 20px; }
.studio-service-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); padding-block: 20px; }
.studio-service-links a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 28px; border-inline-end: 1px solid #756780; font-size: clamp(18px, 1.7vw, 25px); line-height: 1.4; font-weight: 600; }
.studio-service-links a:first-child { padding-inline-start: 0; }
.studio-service-links a:last-child { border: 0; padding-inline-end: 0; }
.studio-service-links i { color: var(--studio-gold); font-size: 20px; }
.studio-service-links a:is(:hover, :focus-visible) { background-color: #382844; color: var(--studio-gold); }
.studio-section { padding-block: clamp(48px, 7vw, 96px); }
.studio-section-header { display: flex; justify-content: space-between; align-items: start; gap: 24px; margin-bottom: 40px; }
.studio-section-header > div { min-width: 0; max-width: 72ch; }
.studio-section-header > .studio-link { flex-shrink: 0; color: var(--studio-purple); }
.studio-richtext { max-width: 72ch; color: var(--studio-muted); line-height: 1.8; overflow-wrap: anywhere; }
.studio-richtext > :last-child { margin-bottom: 0; }
.studio-richtext img { max-width: 100%; height: auto; }
.studio-richtext a { color: var(--studio-purple); text-decoration: underline; text-underline-offset: 3px; }
.studio-projects { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); align-items: start; gap: 0 56px; }
.studio-project { min-width: 0; }
.studio-project:first-child { grid-row: 1 / span var(--studio-project-rows, 1); }
.studio-project:only-child { grid-column: 1 / -1; max-width: 960px; }
.studio-project > a { display: block; }
.studio-project:not(:first-child) > a { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: center; gap: 20px; padding-block: 24px; border-top: 1px solid var(--studio-rule); }
.studio-project:nth-child(2) > a { padding-top: 0; border-top: 0; }
.studio-project:not(:first-child):not(:has(.studio-project-image)) > a { grid-template-columns: 1fr; }
.studio-project-image { overflow: hidden; background: var(--studio-soft); aspect-ratio: 16 / 9; }
.studio-project-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.studio-project h3 { display: flex; justify-content: space-between; align-items: start; gap: 16px; margin: 18px 0 0; }
.wave-home .studio-project:first-child h3 { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.3; }
.wave-home .studio-project:not(:first-child) h3 { margin: 0; font-size: 18px; line-height: 1.5; }
.studio-project h3 i { color: var(--studio-purple); font-size: 16px; line-height: 2; }
.studio-project a:is(:hover, :focus-visible) h3 { color: var(--studio-purple); text-decoration: underline; text-underline-offset: 5px; }
.studio-about { background: var(--studio-soft); }
.studio-about-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: 40px 80px; }
.studio-about-content .studio-richtext { font-size: 16px; text-align: start; }
.studio-about-content .studio-richtext :is(h2, h3, h4, h5, h6) { margin: 28px 0 12px; color: var(--studio-ink); line-height: 1.5; text-wrap: pretty; }
.studio-about-content .studio-richtext h2 { font-size: clamp(22px, 1.8vw, 28px); }
.studio-about-content .studio-richtext h3 { font-size: 22px; }
.studio-about-content .studio-richtext :is(h4, h5, h6) { font-size: 18px; }
.studio-about-content .studio-richtext p { margin: 0 0 16px; font-size: inherit; line-height: 1.8; }
.studio-about-content .studio-richtext :is(ul, ol) { margin: 0 0 16px; padding-inline-start: 24px; }
.studio-about-content .studio-richtext ul { list-style: disc; }
.studio-about-content .studio-richtext ol { list-style: decimal; }
.studio-about-content .studio-richtext li + li { margin-top: 6px; }
.studio-about-content .studio-richtext p:empty { display: none; }
.studio-about-content .studio-richtext > :first-child { margin-top: 0; }
.studio-about-content .studio-richtext > :last-child { margin-bottom: 0; }
[dir="rtl"] .studio-about-content .studio-richtext :is(h2, h3, h4, h5, h6) { line-height: 1.8; }
.studio-about-content .tm-button { margin-top: 28px; color: var(--studio-paper); }
.studio-about-image { width: 100%; height: auto; max-height: 520px; object-fit: contain; }
.studio-gallery { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 24px; }
.studio-gallery img { width: 100%; height: auto; }
.studio-services > .studio-shell > .studio-richtext { margin-bottom: 32px; }
.studio-service { display: grid; grid-template-columns: 1fr 2fr; gap: 24px 64px; padding-block: 36px; border-top: 1px solid var(--studio-rule); }
.studio-service h3 { margin: 0; }
.studio-service h3 a { display: flex; align-items: start; justify-content: space-between; gap: 16px; min-height: 44px; }
.studio-service h3 i { font-size: 16px; line-height: 2; color: var(--studio-purple); }
.studio-service h3 a:is(:hover, :focus-visible) { color: var(--studio-purple); }
.studio-service:is(:hover, :focus-within) { background-color: var(--studio-soft); }
.studio-news { background: var(--studio-soft); }
.studio-news-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; }
.studio-news-list article { min-width: 0; }
.studio-news-list img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.studio-news-list h3 { margin: 0 0 12px; }
.studio-news-list p { color: var(--studio-muted); }
.studio-date { margin: 16px 0 8px; font-size: 14px; }
.studio-partners { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 24px 48px; padding-block: 40px; }
.studio-partners img { width: 150px; height: 76px; object-fit: contain; }
.studio-inquiry { background: var(--studio-purple); color: var(--studio-paper); padding-block: clamp(48px, 6vw, 80px); }
.studio-inquiry-inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.studio-inquiry p { max-width: 60ch; margin-bottom: 0; color: #e6ddeb; }
.studio-inquiry .studio-action { flex-shrink: 0; }
.studio-inquiry .tm-title-waveform path { stroke: var(--studio-gold); }
.wave-home :is(a, button):focus-visible,
.header a:focus-visible, .footer a:focus-visible { outline: 3px solid var(--studio-gold); outline-offset: 4px; }
.wave-home .studio-action:focus-visible { outline-color: var(--studio-paper); }
.studio-work a:focus-visible, .studio-about a:focus-visible,
.studio-services a:focus-visible, .studio-news a:focus-visible { outline-color: var(--studio-purple); }
[dir="rtl"] .wave-home .fa-arrow-right { transform: scaleX(-1); }
[dir="rtl"] .wave-home { --studio-hover-step: -4px; }
[dir="rtl"] .studio-intro h1 { letter-spacing: 0; line-height: 1.55; font-size: clamp(28px, 2.6vw, 38px); }
[dir="rtl"] .wave-home h2 { letter-spacing: 0; line-height: 1.65; }

/* Inner pages share the studio palette and controls, without homepage-specific composition. */
.studio-page { color: var(--studio-ink); background: var(--studio-paper); }
.studio-page-section { padding-block: clamp(48px, 6vw, 88px); }
.studio-page :is(h2, h3, h4) { color: var(--studio-ink); font-weight: 700; text-wrap: balance; }
.studio-page h2 { font-size: clamp(28px, 2.8vw, 40px); line-height: 1.3; letter-spacing: -0.025em; margin: 0 0 24px; }
.studio-page h3 { font-size: clamp(22px, 2vw, 28px); line-height: 1.4; }
.studio-page p { line-height: 1.8; }
.studio-page a { color: inherit; }
.studio-page :is(a, button, input, textarea):focus-visible { outline: 3px solid var(--studio-purple); outline-offset: 4px; }
.studio-page .studio-action { background: var(--studio-gold); border-color: var(--studio-gold); color: var(--studio-ink); white-space: normal; }
.studio-page .studio-action:is(:hover, :focus-visible) { background: #ffd16b; border-color: #ffd16b; color: var(--studio-ink); }
.studio-page .studio-richtext :is(h2, h3, h4, h5, h6) { margin: 28px 0 12px; font-size: 24px; line-height: 1.5; }
.studio-page .studio-richtext :is(h4, h5, h6) { font-size: 20px; }
.studio-page .studio-richtext :is(ul, ol) { padding-inline-start: 24px; margin-bottom: 20px; }
.studio-page .studio-richtext ul { list-style: disc; }
.studio-page .studio-richtext ol { list-style: decimal; }
.studio-page .studio-richtext li + li { margin-top: 8px; }
.studio-page .studio-richtext a { color: var(--studio-purple); text-decoration: underline; text-underline-offset: 4px; }
.studio-page .studio-about-layout:not(:has(> .studio-about-image)) { grid-template-columns: 1fr; }
.studio-page-banner { padding-block: clamp(40px, 5vw, 64px); background-color: var(--studio-purple); background-position: center; background-size: cover; }
.studio-page-banner::after { display: none; }
.studio-banner-title { width: fit-content; max-width: 100%; padding: 28px 32px; border-radius: var(--studio-panel-radius); background: var(--studio-ink); color: var(--studio-paper); }
.studio-page-banner h1 { color: var(--studio-paper); font-size: clamp(30px, 3vw, 44px); line-height: 1.3; letter-spacing: -0.025em; margin: 0 0 16px; overflow-wrap: anywhere; }
.studio-page-banner .tm-title-waveform path { stroke: var(--studio-gold); }
.studio-page-banner ul { display: flex; flex-wrap: wrap; padding: 0; gap: 4px 0; }
.studio-page-banner ul li { font-size: 15px; color: #e6ddeb; overflow-wrap: anywhere; }
.studio-page-banner ul li a { color: var(--studio-paper); text-decoration: underline; text-underline-offset: 4px; }
.studio-page-banner ul li a:is(:hover, :focus-visible) { color: var(--studio-gold); }
.studio-page-banner a:focus-visible { outline: 3px solid var(--studio-gold); outline-offset: 4px; }
.studio-article { max-width: 960px; }
.studio-article > .studio-richtext { max-width: 72ch; }
.studio-article-media { display: block; width: 100%; height: auto; max-height: 600px; object-fit: contain; margin-bottom: 40px; background: var(--studio-soft); }
.studio-page .studio-date { color: var(--studio-muted); font-size: 14px; margin: 0 0 12px; }
.studio-project-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 40px; }
.studio-project-card { min-width: 0; }
.studio-project-card > a { display: block; }
.studio-page .studio-project-card h2 { font-size: clamp(22px, 2vw, 28px); line-height: 1.4; margin: 18px 0 0; }
.studio-project-card a:is(:hover, :focus-visible) h2 { color: var(--studio-purple); text-decoration: underline; text-underline-offset: 5px; }
.studio-page .studio-service { gap: 24px 48px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); }
.studio-page .studio-service > h2 { grid-column: 1 / -1; font-size: clamp(24px, 2.4vw, 32px); margin: 0; }
.studio-page .studio-service:not(:has(.studio-service-media)) > .studio-richtext { grid-column: 1 / -1; }
.studio-service-media { display: block; min-width: 0; }
.studio-service-media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: var(--studio-soft); }
.studio-page .studio-service-list { margin-top: 32px; }
.studio-news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 40px; }
.studio-news-card { min-width: 0; }
.studio-news-media { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: var(--studio-soft); margin-bottom: 24px; }
.studio-page .studio-news-card h2 { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.4; margin-bottom: 16px; }
.studio-news-card > p:not(.studio-date) { color: var(--studio-muted); max-width: 60ch; }
.studio-news-card h2 a:is(:hover, :focus-visible) { color: var(--studio-purple); text-decoration: underline; text-underline-offset: 5px; }
.studio-page .tm-portfoliodetails-image { max-width: 1100px; margin-inline: auto; }
.studio-page .tm-portfoliodetails-image img { height: auto; max-height: 650px; object-fit: contain; }
.studio-page .tm-portfoliodetails-content { padding-top: 48px; }
.studio-page .studio-project-details-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; margin: 0; }
.studio-page .studio-project-details-layout:not(:has(.studio-project-meta)) { grid-template-columns: 1fr; }
.studio-page .studio-project-details-layout > div { min-width: 0; width: 100%; max-width: none; padding: 0; }
.studio-page .tm-portfoliodetails-info { box-shadow: none; background: var(--studio-soft); border-radius: var(--studio-panel-radius); padding: 28px; overflow-wrap: anywhere; }
.studio-page .tm-portfoliodetails-info > ul { padding: 0; }
.studio-page .tm-portfoliodetails-info b { display: block; margin: 0 0 8px; }
.studio-page .tm-portfoliodetails-info a { color: var(--studio-purple); text-decoration: underline; }
.studio-page .studio-project-description { padding-top: 0; }
.studio-project-description .embed-responsive { margin-top: 32px; }
/* The bundled lightGallery GIF is absent; keep a stable studio surface while images load. */
.lg-outer .lg-item { background: var(--studio-ink); }
.studio-contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 80px; align-items: start; }
.studio-contact-layout > div { min-width: 0; }
.studio-page .tm-contact-block { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px 16px; padding: 28px 0; box-shadow: none; border-bottom: 1px solid var(--studio-rule); }
.studio-page .tm-contact-block:first-child { padding-top: 0; }
.studio-page .tm-contact-icon { grid-row: 1 / span 2; display: block; width: auto; height: auto; font-size: 24px; line-height: 1.4; border-radius: 0; box-shadow: none; margin: 0; color: var(--studio-purple); }
.studio-page .tm-contact-block h2 { font-size: 20px; line-height: 1.4; margin: 0; }
.studio-page .tm-contact-block p { grid-column: 2; color: var(--studio-muted); overflow-wrap: anywhere; }
.studio-page .tm-contact-block a { display: inline-block; color: var(--studio-purple); text-decoration: underline; text-underline-offset: 4px; }
.studio-page .studio-contact-form { box-shadow: none; padding: 40px; background: var(--studio-soft); border-radius: var(--studio-panel-radius); }
.studio-page .studio-contact-form > h2 { font-size: clamp(26px, 2.5vw, 34px); margin: 0 0 28px; }
.studio-page .tm-contact-form { margin: 0; }
.studio-page .tm-contact-formfield { margin: 0 0 24px; }
.studio-page .tm-contact-formfield:last-child { margin-bottom: 0; }
.studio-page .tm-contact-formfield label { display: block; color: var(--studio-ink); font-weight: 500; margin-bottom: 8px; }
.studio-page .tm-contact-formfield :is(input, textarea) { display: block; width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid var(--studio-rule); border-radius: var(--studio-action-radius); background: var(--studio-paper); color: var(--studio-ink); font-size: 16px; }
.studio-page .tm-contact-formfield textarea { height: auto; resize: vertical; }
.studio-page .tm-contact-formfield :is(input, textarea)::placeholder { color: var(--studio-muted); opacity: 1; }
.studio-page .tm-contact-formfield [aria-invalid="true"] { border-color: #9a2934; }
.studio-page .tm-contact-formfield .text-danger { color: #9a2934 !important; font-size: 14px; margin: 8px 0 0; }
.studio-page .form-messages:empty { display: none; }
.studio-page .pagination { flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.studio-page .tm-pagination ul li { margin: 0; }
.studio-page .page-item .page-link { border-radius: var(--studio-action-radius); border-color: var(--studio-rule); color: var(--studio-purple); min-width: 44px; min-height: 44px; }
.studio-page .page-item.active .page-link { background: var(--studio-purple); border-color: var(--studio-purple); color: var(--studio-paper); }
.studio-page .page-item.disabled .page-link { color: var(--studio-muted); background: var(--studio-soft); }
[dir="rtl"] .studio-page :is(h2, h3, h4), [dir="rtl"] .studio-page-banner h1 { letter-spacing: 0; line-height: 1.65; }

.footer { background: var(--studio-ink); }
.footer[data-black-overlay]::before { display: none; }
.footer .footer-toparea { padding-block: 56px; }
.footer .widget-title { color: var(--studio-paper); margin-bottom: 20px; }
.footer .widget-title::after { display: none; }
.footer .widget-info-logo img { max-width: 180px; max-height: 64px; object-fit: contain; }
.footer .footer-bottomarea { background: var(--studio-ink); border-top: 1px solid #756780; padding-block: 20px; }
.footer .footer-copyright { color: #e6ddeb; }
.footer .footer-bottominner { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.footer .footer-attribution { display: flex; align-items: center; gap: 8px; margin: 0; color: #e6ddeb; }
.footer .footer-attribution a { display: inline-flex; align-items: center; min-height: 44px; flex-shrink: 0; }
.footer .footer-attribution img { width: 130px; height: auto; }
.footer .single-widget a:hover { color: var(--studio-gold); }

@media (min-width: 1440px) {
  .header .container, .footer .container, .studio-shell { width: calc(100% - 120px); }
}

@media (max-width: 1100px) {
  .header .tm-navigation > ul > li > a { padding-inline: 8px; font-size: 14px; }
  .header .studio-nav-language { margin-inline-start: 4px; }
  .header .studio-nav-language a { margin-inline-start: 4px; }
  .studio-about-layout { gap: 32px; }
  .studio-contact-layout { gap: 40px; }
}

@media (max-width: 991px) {
  .header .header-bottominner { min-height: 72px; }
  .header .header-logo img { max-width: 160px; height: 48px; }
  .studio-intro { width: min(640px, 75%); }
  .studio-projects, .studio-news-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .studio-projects { gap: 0 24px; }
  .studio-project:not(:first-child) > a { gap: 12px; }
  .studio-service-links a { padding-inline: 16px; }
  .studio-inquiry-inner { align-items: start; flex-direction: column; }
}

@media (max-width: 767px) {
  .footer .footer-bottominner { flex-direction: column; text-align: center; }
  .header .container, .footer .container, .studio-shell { width: calc(100% - 40px); }
  .studio-hero--with-image .studio-hero-image { position: relative; display: block; height: clamp(200px, 45vw, 340px); }
  .studio-hero-inner { min-height: 0; width: 100%; padding-block: 0; }
  .studio-intro { width: 100%; padding: 28px 20px 32px; }
  .studio-intro h1 { max-width: 22ch; font-size: clamp(30px, 5vw, 38px); }
  .studio-intro p { max-width: 44ch; }
  .studio-service-links { grid-template-columns: 1fr; padding-block: 0; }
  .studio-service-links a, .studio-service-links a:first-child, .studio-service-links a:last-child { padding: 16px 0; border-inline-end: 0; border-bottom: 1px solid #756780; font-size: 19px; }
  .studio-service-links a:last-child { border-bottom: 0; }
  .studio-section-header { flex-direction: column; gap: 12px; }
  .studio-projects, .studio-news-list { grid-template-columns: 1fr; }
  .studio-project:first-child { grid-row: auto; margin-bottom: 28px; }
  .studio-project:not(:first-child) > a { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 20px; }
  .studio-project:nth-child(2) > a { padding-top: 24px; border-top: 1px solid var(--studio-rule); }
  .studio-about-layout { grid-template-columns: 1fr; gap: 28px; }
  .studio-about-content { order: 1; }
  .studio-about-image { order: 0; max-height: 360px; }
  .studio-gallery { order: 2; }
  .studio-service { grid-template-columns: 1fr; gap: 12px; padding-block: 24px; }
  .studio-partners { gap: 20px; }
  .studio-partners img { width: 120px; height: 64px; }
  [dir="rtl"] .studio-intro h1 { max-width: 24ch; font-size: clamp(26px, 4.5vw, 34px); }
  .footer .footer-toparea { padding-block: 40px; }
  .studio-banner-title { width: 100%; padding: 24px 20px; }
  .studio-page .studio-project-list, .studio-news-grid,
  .studio-contact-layout, .studio-page .studio-project-details-layout { grid-template-columns: 1fr; gap: 32px; }
  .studio-page .studio-service { grid-template-columns: 1fr; gap: 20px; }
  .studio-page .studio-contact-form { padding: 28px 20px; }
  .studio-page .tm-portfoliodetails-content { padding-top: 32px; }
  .studio-article-media { margin-bottom: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .wave-home *, .studio-page *, .studio-page-banner *, .header *, .footer * { animation: none !important; transition: none !important; }
}

@media (prefers-reduced-motion: no-preference) {
  .studio-project-image img { transition: transform 320ms ease-out; }
  .studio-project a:is(:hover, :focus-visible) .studio-project-image img,
  .studio-project-card a:is(:hover, :focus-visible) .studio-project-image img { transform: scale(1.025); }
  .studio-service, .studio-service-links a { transition: background-color 180ms ease-out; }
  .studio-project h3 i, .studio-service h3 i, .studio-service-links i { transition: translate 180ms ease-out; }
  .studio-project a:is(:hover, :focus-visible) h3 i,
  .studio-service h3 a:is(:hover, :focus-visible) i,
  .studio-service-links a:is(:hover, :focus-visible) i { translate: var(--studio-hover-step) 0; }
}
