
:root {
  --ink: #0d0d0c;
  --ink-soft: #151412;
  --ink-2: #1c1a17;
  --paper: #f6f1e7;
  --paper-2: #eee5d5;
  --cream: #e7dac4;
  --cream-deep: #d6c3a5;
  --gold: #c9a77a;
  --gold-light: #e2c79f;
  --white: #fffdf8;
  --muted-dark: rgba(255, 253, 248, .56);
  --muted-light: rgba(13, 13, 12, .56);
  --line-dark: rgba(255, 253, 248, .14);
  --line-light: rgba(13, 13, 12, .16);
  --sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --serif: "Cormorant Garamond", Georgia, serif;
  --pad: clamp(22px, 4.2vw, 76px);
  --header-h: 92px;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --ease-sharp: cubic-bezier(.76, 0, .24, 1);
  --shadow: 0 30px 100px rgba(0, 0, 0, .26);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
html.menu-open, html.lightbox-open { overflow: hidden; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.65;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
body::selection { background: var(--gold); color: var(--ink); }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
img { display: block; width: 100%; height: auto; }
figure { margin: 0; }
h1, h2, h3, h4, p { margin-top: 0; }
main { position: relative; z-index: 2; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 20000; background: var(--paper); color: var(--ink); padding: 12px 18px; transition: top .2s; }
.skip-link:focus { top: 16px; }

/* Ambient surface */
.site-ambient { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; background: var(--ink); opacity: 0; visibility: hidden; }
.page-home .site-ambient, .page-projeler .site-ambient, .page-hizmetler .site-ambient, .page-iletisim .site-ambient { opacity: 1; visibility: visible; }
.ambient-orb { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .25; will-change: transform; }
.ambient-orb--one { width: 48vw; height: 48vw; left: -16vw; top: 18vh; background: radial-gradient(circle at 35% 35%, #e7c390, #7d5e3c 45%, transparent 71%); animation: ambientOne 18s ease-in-out infinite alternate; }
.ambient-orb--two { width: 55vw; height: 55vw; right: -24vw; top: -16vh; background: radial-gradient(circle at 45% 55%, #cfa973, #453421 50%, transparent 72%); animation: ambientTwo 24s ease-in-out infinite alternate; }
.ambient-grid { position: absolute; inset: 0; opacity: .11; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 7.5vw 7.5vw; mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 80%); }
@keyframes ambientOne { to { transform: translate3d(25vw,-12vh,0) scale(1.15); } }
@keyframes ambientTwo { to { transform: translate3d(-22vw,24vh,0) scale(.82); } }
.site-grain { position: fixed; inset: -50%; z-index: 11000; pointer-events: none; opacity: .055; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E"); animation: grain .22s steps(2) infinite; mix-blend-mode: soft-light; }
@keyframes grain { 0%{transform:translate3d(0,0,0)}25%{transform:translate3d(2%,-3%,0)}50%{transform:translate3d(-3%,2%,0)}75%{transform:translate3d(3%,4%,0)}100%{transform:translate3d(-2%,-2%,0)} }

/* Loader and transition */
.page-loader { position: fixed; inset: 0; z-index: 30000; display: grid; place-items: center; background: var(--ink); color: var(--paper); transition: visibility 0s 1.05s; }
.page-loader::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 50% 42%, rgba(201,167,122,.18), transparent 28%), linear-gradient(135deg, transparent 0 42%, rgba(201,167,122,.035) 42% 58%, transparent 58%); }
.page-loader__halo { position:absolute; width:min(55vw,650px); aspect-ratio:1; border:1px solid rgba(201,167,122,.16); border-radius:50%; animation: loaderHalo 2.2s var(--ease) both; }
.page-loader__halo::before, .page-loader__halo::after { content:""; position:absolute; inset:12%; border:1px solid rgba(201,167,122,.1); border-radius:50%; }
.page-loader__halo::after { inset:27%; }
.page-loader__content { position:relative; display:grid; place-items:center; gap:18px; text-align:center; }
.page-loader__logo { width:78px; height:78px; object-fit:contain; opacity:0; transform:scale(.84) rotate(-8deg); animation: loaderLogo .9s .1s var(--ease) forwards; }
.page-loader__wordmark { display:grid; gap:5px; opacity:0; transform:translateY(12px); animation: loaderText .7s .25s var(--ease) forwards; }
.page-loader__wordmark strong { font-size:12px; letter-spacing:.36em; font-weight:500; }
.page-loader__wordmark span { color:var(--gold); font-size:8px; letter-spacing:.28em; }
.page-loader__progress { width:160px; height:1px; background:rgba(255,255,255,.12); overflow:hidden; margin-top:8px; }
.page-loader__progress i { display:block; height:100%; width:100%; background:linear-gradient(90deg, transparent, var(--gold), var(--paper)); transform:translateX(-105%); animation:loaderProgress 1.3s .12s var(--ease) forwards; }
body.is-loaded .page-loader { transform:translateY(-100%); transition:transform 1s .1s var(--ease-sharp), visibility 0s 1.1s; visibility:hidden; }
.loader-disabled .page-loader { display:none; }
@keyframes loaderLogo { to { opacity:1; transform:none; } }
@keyframes loaderText { to { opacity:1; transform:none; } }
@keyframes loaderProgress { to { transform:translateX(0); } }
@keyframes loaderHalo { from{opacity:0;transform:scale(.78)} to{opacity:1;transform:scale(1)} }
.page-transition { position:fixed; inset:0; z-index:25000; pointer-events:none; visibility:hidden; }
.page-transition span { position:absolute; inset:0; background:var(--ink); transform:translateY(101%); }
body.is-leaving .page-transition { visibility:visible; }
body.is-leaving .page-transition span { animation:transitionIn .72s var(--ease-sharp) forwards; }
@keyframes transitionIn { to { transform:translateY(0); } }

/* Cursor */
.cursor { position:fixed; z-index:22000; left:0; top:0; width:12px; height:12px; border-radius:50%; background:var(--gold); pointer-events:none; transform:translate3d(-50%,-50%,0); transition:width .35s var(--ease), height .35s var(--ease), background .35s, border .35s; mix-blend-mode:difference; display:grid; place-items:center; }
.cursor span { opacity:0; font-size:8px; letter-spacing:.15em; color:var(--ink); font-weight:600; transition:opacity .25s; white-space:nowrap; }
.cursor.is-hover { width:44px; height:44px; background:var(--paper); }
.cursor.is-view { width:78px; height:78px; background:var(--gold); mix-blend-mode:normal; }
.cursor.is-view span { opacity:1; }
.cursor-disabled .cursor { display:none; }
@media (pointer:coarse) { .cursor { display:none; } }
.scroll-progress { position:fixed; right:0; top:0; height:100%; width:2px; z-index:13000; background:rgba(255,255,255,.04); }
.scroll-progress span { display:block; width:100%; height:0; background:linear-gradient(to bottom,var(--gold-light),var(--gold)); }

/* Header */
.site-header { position:fixed; z-index:14000; left:0; top:0; right:0; height:var(--header-h); padding:0 var(--pad); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:var(--paper); transition:height .5s var(--ease), background .5s, border .5s, transform .5s var(--ease); }
.site-header::before { content:""; position:absolute; inset:0; background:rgba(13,13,12,.02); backdrop-filter:blur(0); border-bottom:1px solid transparent; transition:.5s; }
.site-header.is-scrolled { height:72px; }
.site-header.is-scrolled::before { background:rgba(13,13,12,.76); backdrop-filter:blur(20px) saturate(130%); border-color:rgba(255,255,255,.1); }
.brand, .header-center, .header-actions { position:relative; z-index:1; }
.brand { justify-self:start; display:flex; align-items:center; gap:12px; }
.brand__symbol { width:38px; height:38px; display:grid; place-items:center; }
.brand__symbol img { width:100%; height:100%; object-fit:contain; }
.brand__text { display:grid; gap:1px; line-height:1; }
.brand__text strong { font-size:10px; letter-spacing:.21em; font-weight:600; }
.brand__text small { font-size:7px; letter-spacing:.35em; color:var(--gold-light); }
.header-center { display:flex; align-items:center; gap:13px; font-size:8px; letter-spacing:.2em; color:rgba(255,255,255,.55); text-transform:uppercase; }
.header-center__line { width:36px; height:1px; background:var(--gold); }
.header-actions { justify-self:end; display:flex; align-items:center; gap:26px; }
.header-project { display:flex; align-items:center; gap:13px; font-size:9px; text-transform:uppercase; letter-spacing:.16em; }
.header-project i { font-style:normal; color:var(--gold); font-size:14px; }
.menu-toggle { border:0; background:transparent; padding:10px 0 10px 10px; display:flex; align-items:center; gap:13px; cursor:pointer; }
.menu-toggle__label { font-size:9px; letter-spacing:.18em; }
.menu-toggle__icon { position:relative; width:27px; height:18px; }
.menu-toggle__icon i { position:absolute; right:0; width:100%; height:1px; background:currentColor; transition:transform .5s var(--ease), top .5s var(--ease), width .4s var(--ease); }
.menu-toggle__icon i:first-child { top:5px; }
.menu-toggle__icon i:last-child { top:12px; width:70%; }
.menu-open .menu-toggle__icon i:first-child { top:9px; transform:rotate(45deg); }
.menu-open .menu-toggle__icon i:last-child { top:9px; width:100%; transform:rotate(-45deg); }
.theme-preview-bar { position:fixed; left:50%; top:12px; transform:translateX(-50%); z-index:18000; display:flex; align-items:center; gap:18px; padding:9px 13px; background:rgba(13,13,12,.9); border:1px solid rgba(201,167,122,.35); color:var(--paper); backdrop-filter:blur(18px); font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.theme-preview-bar span { display:flex; align-items:center; gap:8px; }
.theme-preview-bar span i { width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 12px var(--gold); }
.theme-preview-bar a { color:var(--gold-light); text-decoration:underline; text-underline-offset:3px; }

/* Menu */
.menu-panel { position:fixed; inset:0; z-index:13000; background:var(--ink); color:var(--paper); visibility:hidden; pointer-events:none; transform:translateY(-101%); transition:transform .9s var(--ease-sharp), visibility 0s .9s; }
.menu-panel::before { content:""; position:absolute; inset:0; background:linear-gradient(130deg, rgba(201,167,122,.08), transparent 42%), radial-gradient(circle at 80% 20%, rgba(201,167,122,.14), transparent 30%); }
.menu-panel__glow { position:absolute; width:55vw; height:55vw; left:30%; top:-30%; border-radius:50%; background:radial-gradient(circle,rgba(201,167,122,.16),transparent 66%); filter:blur(70px); animation:menuGlow 12s ease-in-out infinite alternate; }
@keyframes menuGlow { to { transform:translate(18vw,25vh) scale(.8); } }
.menu-open .menu-panel { visibility:visible; pointer-events:auto; transform:translateY(0); transition:transform .9s var(--ease-sharp), visibility 0s; }
.menu-panel__inner { position:relative; height:100%; display:grid; grid-template-columns:minmax(320px,.88fr) 1.12fr; padding-top:var(--header-h); }
.menu-panel__visual { position:relative; margin:18px 0 18px 18px; overflow:hidden; background:#15130f; }
.menu-visual { position:absolute; inset:0; opacity:0; transform:scale(1.07); transition:opacity .7s, transform 1.2s var(--ease); }
.menu-visual.is-active { opacity:.72; transform:scale(1); }
.menu-visual img { height:100%; object-fit:cover; filter:saturate(.72) contrast(1.04) brightness(.7); }
.menu-panel__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(13,13,12,.85),transparent 55%),linear-gradient(90deg,rgba(13,13,12,.3),transparent); }
.menu-panel__monogram { position:absolute; z-index:2; left:50%; top:50%; width:clamp(100px,13vw,190px); transform:translate(-50%,-50%); opacity:.75; mix-blend-mode:screen; }
.menu-panel__caption { position:absolute; z-index:2; left:25px; bottom:23px; font-size:8px; letter-spacing:.18em; color:rgba(255,255,255,.6); text-transform:uppercase; }
.menu-panel__content { position:relative; padding:35px var(--pad) 28px clamp(45px,7vw,120px); display:grid; grid-template-rows:auto 1fr auto; }
.menu-panel__top { display:flex; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid var(--line-dark); font-size:8px; letter-spacing:.2em; color:var(--muted-dark); }
.menu-nav { align-self:center; display:grid; }
.menu-nav a { display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--line-dark); color:rgba(255,255,255,.78); transition:color .35s, padding .45s var(--ease); opacity:0; transform:translateY(25px); }
.menu-open .menu-nav a { opacity:1; transform:none; transition:opacity .6s calc(.18s + var(--i,0)*.05s), transform .6s calc(.18s + var(--i,0)*.05s) var(--ease), color .35s, padding .45s var(--ease); }
.menu-nav a:nth-child(1){--i:1}.menu-nav a:nth-child(2){--i:2}.menu-nav a:nth-child(3){--i:3}.menu-nav a:nth-child(4){--i:4}.menu-nav a:nth-child(5){--i:5}.menu-nav a:nth-child(6){--i:6}
.menu-nav a small { font-size:8px; color:var(--gold); letter-spacing:.1em; }
.menu-nav a span { font-size:clamp(28px,3.4vw,49px); line-height:1; letter-spacing:-.045em; font-weight:300; }
.menu-nav a i { font-style:normal; font-size:16px; opacity:0; transform:translate(-10px,8px); transition:.35s var(--ease); }
.menu-nav a:hover, .menu-nav a.is-active { color:var(--gold-light); padding-left:10px; }
.menu-nav a:hover i { opacity:1; transform:none; }
.menu-panel__bottom { border-top:1px solid var(--line-dark); padding-top:18px; display:flex; justify-content:space-between; align-items:end; }
.menu-panel__bottom small { display:block; color:var(--muted-dark); font-size:8px; letter-spacing:.17em; margin-bottom:7px; text-transform:uppercase; }
.menu-panel__bottom a { font-size:11px; }
.menu-social { display:flex; gap:22px; }
.menu-social a { color:var(--muted-dark); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }

/* Generic language */
.section-space, .section { position:relative; padding:clamp(95px,12vw,190px) var(--pad); }
.section-dark, .section--dark { background:var(--ink); color:var(--paper); }
.section-cream { background:var(--paper-2); color:var(--ink); }
.section--wine { background:linear-gradient(125deg,#3a2d21,#796045 48%,#2a2119); color:var(--paper); }
.section-index { display:grid; grid-template-columns:auto minmax(30px,90px) auto; align-items:center; gap:13px; width:max-content; font-size:8px; letter-spacing:.18em; color:currentColor; opacity:.62; text-transform:uppercase; }
.section-index i { height:1px; background:currentColor; opacity:.5; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:8px; letter-spacing:.22em; text-transform:uppercase; }
.eyebrow i { width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 14px rgba(201,167,122,.8); }
.text-link { display:inline-flex; align-items:center; gap:16px; padding-bottom:7px; border-bottom:1px solid currentColor; font-size:9px; letter-spacing:.13em; text-transform:uppercase; transition:gap .4s var(--ease), color .3s; }
.text-link:hover { gap:24px; color:var(--gold); }
.text-link i { font-style:normal; font-size:14px; }
.signature-button { min-width:170px; height:52px; display:inline-flex; align-items:center; justify-content:space-between; gap:25px; padding:0 18px 0 21px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.035); backdrop-filter:blur(12px); color:var(--paper); font-size:8px; letter-spacing:.16em; text-transform:uppercase; transition:background .4s,color .4s,border .4s; }
.signature-button i { width:27px; height:27px; border-radius:50%; background:var(--gold); color:var(--ink); display:grid; place-items:center; font-style:normal; font-size:12px; transition:transform .45s var(--ease); }
.signature-button:hover { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.signature-button:hover i { transform:rotate(45deg); }
.signature-button--ghost { border-color:var(--line-dark); }
[data-reveal] { opacity:0; transform:translateY(30px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
[data-reveal].is-visible { opacity:1; transform:none; }
[data-split-text] .split-line { overflow:hidden; display:block; }
[data-split-text] .split-line > span { display:block; transform:translateY(110%); transition:transform 1s var(--ease); }
body.is-loaded [data-split-text].is-split-visible .split-line > span { transform:none; }

/* Hero */
.signature-hero { position:relative; z-index:1; min-height:100svh; color:var(--paper); background:rgba(13,13,12,.62); padding:calc(var(--header-h) + 35px) var(--pad) 28px; display:grid; grid-template-rows:1fr auto; overflow:hidden; }
.signature-hero__backdrop { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.signature-hero__gradient { position:absolute; inset:-30%; background:conic-gradient(from 130deg at 48% 45%,rgba(201,167,122,.05),rgba(201,167,122,.24),rgba(20,17,13,.12),rgba(238,219,186,.14),rgba(201,167,122,.05)); filter:blur(75px); animation:heroGradient 17s linear infinite; }
@keyframes heroGradient { to { transform:rotate(360deg) scale(1.08); } }
.signature-hero__line { position:absolute; border:1px solid rgba(201,167,122,.15); border-radius:50%; width:68vw; height:68vw; right:-30vw; top:-35vw; }
.signature-hero__line--two { width:43vw; height:43vw; right:-14vw; top:-18vw; border-color:rgba(255,255,255,.08); animation:orbit 20s linear infinite; }
@keyframes orbit { to { transform:rotate(360deg); } }
.signature-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(290px,.82fr) minmax(460px,1.18fr); align-items:center; gap:clamp(45px,8vw,140px); min-height:calc(100svh - var(--header-h) - 70px); }
.signature-hero__copy { max-width:610px; padding-top:28px; }
.hero-eyebrow { color:rgba(255,255,255,.55); margin-bottom:32px; }
.signature-hero h1 { max-width:580px; margin:0; font-size:clamp(36px,4.3vw,67px); line-height:1.05; letter-spacing:-.052em; font-weight:300; text-wrap:balance; }
.signature-hero__copy > p { max-width:470px; margin:28px 0 0; color:rgba(255,255,255,.61); font-size:12px; line-height:1.9; }
.signature-hero__actions { margin-top:40px; display:flex; align-items:center; gap:28px; }
.hero-art { position:relative; height:min(72vh,760px); min-height:520px; }
.hero-art__halo { position:absolute; width:70%; aspect-ratio:1; left:13%; top:10%; border-radius:50%; background:radial-gradient(circle,rgba(219,185,139,.25),rgba(151,107,61,.08) 48%,transparent 70%); filter:blur(25px); animation:haloPulse 6s ease-in-out infinite alternate; }
@keyframes haloPulse { to { transform:scale(1.12); opacity:.65; } }
.hero-art__main { position:absolute; z-index:2; width:69%; height:78%; right:4%; top:4%; overflow:hidden; box-shadow:var(--shadow); clip-path:polygon(0 7%,92% 0,100% 94%,8% 100%); }
.hero-art__main::after { content:""; position:absolute; inset:0; background:linear-gradient(130deg,rgba(15,12,8,.1),transparent 48%,rgba(220,183,132,.08)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }
.hero-art__main img { height:100%; object-fit:cover; filter:saturate(.78) contrast(1.03); transform:scale(1.04); transition:transform 1.8s var(--ease); }
.hero-art__main:hover img { transform:scale(1); }
.hero-art__index { position:absolute; z-index:2; right:18px; bottom:17px; color:rgba(255,255,255,.68); font-size:8px; letter-spacing:.15em; }
.hero-art__float { position:absolute; z-index:3; overflow:hidden; border:1px solid rgba(255,255,255,.22); box-shadow:0 18px 60px rgba(0,0,0,.35); }
.hero-art__float img { height:100%; object-fit:cover; filter:saturate(.72) contrast(1.05); }
.hero-art__float--one { width:28%; height:31%; left:0; top:16%; transform:rotate(-3deg); }
.hero-art__float--two { width:25%; height:27%; left:12%; bottom:0; transform:rotate(2.5deg); }
.hero-art__stamp { position:absolute; z-index:4; right:-4px; bottom:5%; width:112px; aspect-ratio:1; border:1px solid rgba(201,167,122,.38); border-radius:50%; display:grid; place-items:center; animation:stampRotate 24s linear infinite; }
.hero-art__stamp::after { content:"OY"; position:absolute; font-size:18px; font-weight:500; color:var(--gold-light); letter-spacing:.05em; }
.hero-art__stamp span { position:absolute; inset:5px; border-radius:50%; font-size:7px; letter-spacing:.22em; color:rgba(255,255,255,.58); text-align:center; }
@keyframes stampRotate { to { transform:rotate(360deg); } }
.signature-hero__foot { position:relative; z-index:2; display:grid; grid-template-columns:1fr auto 1fr; align-items:end; border-top:1px solid rgba(255,255,255,.13); padding-top:16px; font-size:7px; letter-spacing:.19em; color:rgba(255,255,255,.48); }
.signature-hero__foot > span:last-child { justify-self:end; }
.scroll-cue { display:flex; align-items:center; gap:10px; }
.scroll-cue i { width:26px; height:1px; background:var(--gold); position:relative; overflow:hidden; }
.scroll-cue i::after { content:""; position:absolute; inset:0; background:var(--paper); animation:scrollLine 2s var(--ease) infinite; }
@keyframes scrollLine { 0%{transform:translateX(-110%)}100%{transform:translateX(110%)} }

/* Intro */
.signature-intro { background:var(--paper); }
.signature-intro__grid { display:grid; grid-template-columns:1.18fr .82fr; gap:clamp(60px,10vw,170px); align-items:end; margin-top:clamp(55px,8vw,115px); }
.signature-intro h2 { font-size:clamp(34px,4.4vw,66px); line-height:1.08; letter-spacing:-.048em; font-weight:300; margin:0; }
.signature-intro h2 em, .services-atelier h2 em, .project-showcase h2 em, .process-signature h2 em { font-family:var(--serif); font-weight:400; color:#97744b; }
.signature-intro__side p { color:var(--muted-light); font-size:12px; line-height:2; margin:0 0 35px; }
.signature-stats { display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(80px,10vw,150px); border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.signature-stat { padding:27px 18px 26px 0; border-right:1px solid var(--line-light); display:grid; gap:7px; }
.signature-stat:last-child { border-right:0; padding-left:22px; }
.signature-stat:not(:first-child) { padding-left:22px; }
.signature-stat strong { font-size:clamp(22px,2.6vw,38px); font-weight:300; letter-spacing:-.035em; }
.signature-stat span { font-size:7px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted-light); }

/* Project showcase */
.project-showcase { overflow:hidden; }
.project-showcase::before { content:""; position:absolute; width:65vw; height:65vw; border-radius:50%; left:-35vw; top:10%; background:radial-gradient(circle,rgba(201,167,122,.11),transparent 67%); filter:blur(30px); }
.project-showcase__head { position:relative; z-index:1; }
.project-showcase__headline { display:flex; justify-content:space-between; gap:35px; align-items:end; margin-top:clamp(55px,7vw,100px); }
.project-showcase h2 { font-size:clamp(36px,4.7vw,70px); font-weight:300; line-height:1.07; letter-spacing:-.05em; margin:0; }
.project-showcase h2 em { color:var(--gold-light); }
.project-showcase__body { position:relative; z-index:1; display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(45px,7vw,105px); margin-top:clamp(65px,8vw,115px); align-items:start; }
.project-showcase__media { position:sticky; top:100px; }
.project-showcase__media-frame { position:relative; aspect-ratio:1.18; overflow:hidden; background:#1a1815; box-shadow:0 40px 120px rgba(0,0,0,.35); }
.showcase-image { position:absolute; inset:0; opacity:0; visibility:hidden; transform:scale(1.06); clip-path:inset(0 0 100% 0); transition:opacity .55s, visibility 0s .8s, transform 1.2s var(--ease), clip-path .9s var(--ease-sharp); }
.showcase-image.is-active { opacity:1; visibility:visible; transform:scale(1); clip-path:inset(0 0 0 0); transition:opacity .45s, visibility 0s, transform 1.2s var(--ease), clip-path .9s var(--ease-sharp); }
.showcase-image img { height:100%; object-fit:cover; filter:saturate(.72) contrast(1.05); }
.showcase-image__veil { position:absolute; inset:0; background:linear-gradient(to top,rgba(13,13,12,.24),transparent 48%),linear-gradient(120deg,rgba(201,167,122,.09),transparent 52%); }
.project-showcase__counter { position:absolute; z-index:4; left:20px; bottom:18px; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.68); font-size:8px; letter-spacing:.14em; }
.project-showcase__counter i { width:37px; height:1px; background:rgba(255,255,255,.38); }
.project-showcase__list { border-top:1px solid var(--line-dark); }
.showcase-row { min-height:105px; display:grid; grid-template-columns:35px 1fr auto; align-items:center; gap:18px; border-bottom:1px solid var(--line-dark); color:rgba(255,255,255,.46); transition:color .4s, padding .5s var(--ease); }
.showcase-row__number { font-size:8px; color:var(--gold); }
.showcase-row h3 { font-size:clamp(20px,2.1vw,32px); line-height:1.1; font-weight:300; letter-spacing:-.035em; margin:0 0 8px; }
.showcase-row p { margin:0; font-size:7px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.35); }
.showcase-row > i { font-style:normal; opacity:0; transform:translate(-12px,10px); transition:.35s var(--ease); }
.showcase-row:hover, .showcase-row.is-active { color:var(--paper); padding-left:10px; }
.showcase-row:hover > i, .showcase-row.is-active > i { opacity:1; transform:none; color:var(--gold); }

/* Services */
.services-atelier { background:var(--paper); }
.services-atelier__intro { display:grid; grid-template-columns:1.15fr .55fr; gap:10vw; align-items:end; margin-top:clamp(55px,8vw,110px); }
.services-atelier h2 { font-size:clamp(36px,4.7vw,70px); font-weight:300; line-height:1.07; letter-spacing:-.05em; margin:0; }
.services-atelier__intro > p { color:var(--muted-light); font-size:12px; line-height:1.9; margin:0; }
.services-atelier__grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(45px,8vw,125px); margin-top:clamp(70px,9vw,135px); align-items:start; }
.services-atelier__list { border-top:1px solid var(--line-light); }
.atelier-service { min-height:122px; display:grid; grid-template-columns:38px 1fr auto; gap:20px; align-items:center; border-bottom:1px solid var(--line-light); color:rgba(13,13,12,.45); transition:color .4s,padding .5s var(--ease); }
.atelier-service > span { font-size:8px; color:#97744b; }
.atelier-service h3 { margin:0 0 8px; font-size:clamp(23px,2.4vw,37px); font-weight:300; letter-spacing:-.04em; }
.atelier-service p { margin:0; max-width:560px; font-size:10px; line-height:1.7; opacity:.72; }
.atelier-service > i { font-style:normal; font-size:15px; opacity:0; transform:translate(-10px,8px); transition:.35s var(--ease); }
.atelier-service:hover, .atelier-service.is-active { color:var(--ink); padding-left:10px; }
.atelier-service:hover > i, .atelier-service.is-active > i { opacity:1; transform:none; }
.services-atelier__visual { position:sticky; top:100px; aspect-ratio:.82; background:#d7c9b3; overflow:hidden; box-shadow:0 35px 90px rgba(55,39,22,.18); }
.service-visual { position:absolute; inset:0; opacity:0; transform:scale(1.08); clip-path:inset(100% 0 0 0); transition:opacity .5s,transform 1.2s var(--ease),clip-path .85s var(--ease-sharp); }
.service-visual.is-active { opacity:1; transform:scale(1); clip-path:inset(0); }
.service-visual img { height:100%; object-fit:cover; filter:saturate(.76) contrast(1.02); }
.services-atelier__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(13,13,12,.28),transparent 50%),linear-gradient(120deg,rgba(224,194,151,.15),transparent); }
.services-atelier__orbit { position:absolute; z-index:3; right:18px; bottom:17px; width:105px; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.35); display:grid; place-items:center; color:white; }
.services-atelier__orbit i { width:8px; height:8px; border-radius:50%; background:var(--gold-light); box-shadow:0 0 16px var(--gold); }
.services-atelier__orbit span { position:absolute; inset:8px; font-size:6px; letter-spacing:.18em; animation:stampRotate 18s linear infinite; }

/* Manifesto */
.gradient-manifesto { min-height:73vh; display:grid; place-items:center; color:var(--paper); background:#1b1712; overflow:hidden; }
.gradient-manifesto__mesh { position:absolute; inset:-40%; background:radial-gradient(circle at 28% 38%,rgba(250,218,171,.65),transparent 18%),radial-gradient(circle at 72% 65%,rgba(124,87,50,.8),transparent 24%),radial-gradient(circle at 52% 42%,rgba(205,160,102,.62),transparent 32%),conic-gradient(from 40deg,#0e0d0c,#5e432b,#b38a59,#201711,#0e0d0c); filter:blur(65px) saturate(.85); animation:meshMove 16s ease-in-out infinite alternate; opacity:.75; }
.gradient-manifesto::after { content:""; position:absolute; inset:0; background:linear-gradient(rgba(13,13,12,.23),rgba(13,13,12,.6)); }
@keyframes meshMove { 0%{transform:translate(-4%,-3%) rotate(0) scale(1)} 100%{transform:translate(5%,6%) rotate(16deg) scale(1.12)} }
.gradient-manifesto__content { position:relative; z-index:2; width:min(1020px,85vw); text-align:center; }
.gradient-manifesto__content .eyebrow { color:rgba(255,255,255,.55); }
.gradient-manifesto__content p { font-size:clamp(32px,4.5vw,65px); line-height:1.12; letter-spacing:-.045em; font-weight:300; margin:45px 0 0; }
.gradient-manifesto__content em { display:inline-block; margin-top:8px; font-family:var(--serif); color:var(--gold-light); font-weight:400; }
.gradient-manifesto__word { position:absolute; z-index:1; right:-3vw; bottom:-20%; font-size:38vw; line-height:.7; font-weight:600; color:rgba(255,255,255,.025); letter-spacing:-.1em; }

/* Process */
.process-signature__grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(70px,11vw,180px); margin-top:clamp(60px,8vw,115px); }
.process-signature__sticky { position:sticky; top:120px; align-self:start; }
.process-signature__sticky h2 { font-size:clamp(34px,4.2vw,63px); line-height:1.08; letter-spacing:-.048em; font-weight:300; margin:0 0 30px; }
.process-signature__sticky p { max-width:370px; color:var(--muted-light); line-height:1.9; }
.process-signature__list { border-top:1px solid var(--line-light); }
.process-step { position:relative; min-height:150px; display:grid; grid-template-columns:38px 1fr; gap:25px; align-items:center; border-bottom:1px solid var(--line-light); overflow:hidden; }
.process-step > span { font-size:8px; color:#97744b; }
.process-step h3 { font-size:clamp(24px,2.7vw,39px); letter-spacing:-.04em; font-weight:300; margin:0 0 10px; }
.process-step p { max-width:560px; margin:0; color:var(--muted-light); font-size:11px; }
.process-step > i { position:absolute; left:0; bottom:-1px; height:2px; width:100%; background:linear-gradient(90deg,transparent,var(--gold),transparent); transform:translateX(-105%); transition:transform .9s var(--ease); }
.process-step:hover > i { transform:translateX(105%); }

/* Testimonials */
.testimonial-signature { overflow:hidden; }
.testimonial-signature::before { content:""; position:absolute; width:60vw; height:60vw; border-radius:50%; right:-20vw; top:-30vw; border:1px solid rgba(201,167,122,.14); box-shadow:0 0 120px rgba(201,167,122,.08); }
.testimonial-signature__body { position:relative; z-index:1; margin-top:clamp(65px,8vw,115px); display:grid; grid-template-columns:1fr auto; gap:50px; align-items:end; }
.testimonial-signature__quote { max-width:1000px; }
.testimonial-signature__stars { color:var(--gold); font-size:9px; letter-spacing:.3em; }
.testimonial-signature blockquote { margin:30px 0; font-size:clamp(28px,3.8vw,57px); line-height:1.18; letter-spacing:-.04em; font-weight:300; transition:opacity .3s,transform .3s; }
.testimonial-signature__name { margin:0; color:var(--muted-dark); font-size:8px; letter-spacing:.16em; text-transform:uppercase; }
.testimonial-next { width:105px; aspect-ratio:1; border-radius:50%; border:1px solid var(--line-dark); background:transparent; display:grid; place-items:center; gap:5px; cursor:pointer; transition:background .35s,color .35s,transform .45s var(--ease); }
.testimonial-next span { font-size:7px; letter-spacing:.18em; }
.testimonial-next i { font-style:normal; color:var(--gold); }
.testimonial-next:hover { background:var(--paper); color:var(--ink); transform:rotate(-8deg); }

/* Journal */
.journal-preview { background:var(--paper); }
.journal-preview__head { display:flex; justify-content:space-between; align-items:center; }
.journal-preview__grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:22px; margin-top:clamp(60px,8vw,105px); }
.journal-card:nth-child(2) { margin-top:70px; }
.journal-card:nth-child(3) { margin-top:140px; }
.journal-card__image { position:relative; display:block; aspect-ratio:.92; overflow:hidden; background:#d7c9b3; }
.journal-card:first-child .journal-card__image { aspect-ratio:1.2; }
.journal-card__image img { height:100%; object-fit:cover; filter:saturate(.76); transition:transform 1.1s var(--ease),filter .7s; }
.journal-card__image span { position:absolute; inset:0; background:linear-gradient(130deg,rgba(202,168,121,.13),transparent 55%); }
.journal-card:hover img { transform:scale(1.045); filter:saturate(.9); }
.journal-card__meta { display:flex; justify-content:space-between; margin-top:16px; padding-top:13px; border-top:1px solid var(--line-light); color:var(--muted-light); font-size:7px; letter-spacing:.14em; }
.journal-card h3 { margin:15px 0 0; font-size:clamp(18px,2vw,29px); line-height:1.25; letter-spacing:-.035em; font-weight:300; }

/* Generic pages */
.page-hero { position:relative; min-height:68vh; padding:calc(var(--header-h) + 100px) var(--pad) 85px; background:var(--ink); color:var(--paper); display:grid; align-content:end; overflow:hidden; }
.page-hero::before { content:""; position:absolute; inset:-25%; background:radial-gradient(circle at 72% 38%,rgba(201,167,122,.24),transparent 22%),radial-gradient(circle at 25% 90%,rgba(93,66,38,.25),transparent 32%); filter:blur(55px); animation:meshMove 18s ease-in-out infinite alternate; }
.page-hero::after { content:attr(data-number); position:absolute; right:var(--pad); bottom:-.19em; color:rgba(255,255,255,.025); font-size:40vw; line-height:.7; font-weight:500; letter-spacing:-.1em; }
.page-hero__meta { position:relative; z-index:2; display:flex; justify-content:space-between; border-top:1px solid var(--line-dark); padding-top:14px; margin-bottom:50px; font-size:8px; letter-spacing:.16em; color:var(--muted-dark); text-transform:uppercase; }
.page-hero h1 { position:relative; z-index:2; max-width:920px; margin:0; font-size:clamp(40px,5.2vw,78px); line-height:1.02; letter-spacing:-.055em; font-weight:300; }
.page-hero h1 em { font-family:var(--serif); color:var(--gold-light); font-weight:400; }
.page-shell { padding:calc(var(--header-h) + 100px) var(--pad) 130px; min-height:75vh; background:var(--paper); }
.page-shell--compact { max-width:1300px; margin:auto; }
.section-label { font-size:8px; letter-spacing:.2em; text-transform:uppercase; opacity:.58; margin-bottom:45px; display:flex; align-items:center; gap:13px; }
.section-label::before { content:""; width:38px; height:1px; background:currentColor; opacity:.5; }
.section-title { font-size:clamp(36px,4.8vw,70px); line-height:1.05; letter-spacing:-.05em; font-weight:300; margin:0; }
.section-title em { font-family:var(--serif); color:var(--gold-light); font-weight:400; }
.section-copy { color:var(--muted-light); max-width:560px; font-size:12px; line-height:1.9; }
.section-dark .section-copy, .section--dark .section-copy { color:var(--muted-dark); }
.rich-copy { color:var(--muted-light); font-size:13px; line-height:2; }
.section-dark .rich-copy, .section--dark .rich-copy { color:var(--muted-dark); }
.rich-copy p { margin:0 0 1.4em; }
.rich-copy h2, .rich-copy h3 { color:inherit; font-weight:300; letter-spacing:-.04em; line-height:1.15; }
.rich-copy h2 { font-size:clamp(30px,4vw,54px); }
.rich-copy h3 { font-size:clamp(24px,3vw,40px); }
.underline-link { display:inline-flex; align-items:center; gap:12px; border-bottom:1px solid currentColor; padding-bottom:7px; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.empty-state { border:1px solid currentColor; opacity:.55; padding:35px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.services-head { display:grid; grid-template-columns:1.2fr .6fr; gap:8vw; align-items:end; margin-bottom:70px; }
.services-head > p { color:var(--muted-dark); font-size:12px; line-height:1.9; margin:0; }
.manifesto { min-height:55vh; display:grid; place-items:center; text-align:center; overflow:hidden; }
.manifesto p { position:relative; z-index:1; font-size:clamp(34px,4.8vw,70px); line-height:1.1; letter-spacing:-.05em; font-weight:300; margin:0; }
.manifesto em { font-family:var(--serif); color:var(--gold-light); }
.cta { min-height:70vh; display:grid; align-content:center; }
.cta h2 { font-size:clamp(42px,6vw,88px); line-height:1; letter-spacing:-.055em; font-weight:300; margin:0 0 48px; }
.cta h2 em { font-family:var(--serif); color:var(--gold-light); }
.cta-links { display:flex; gap:35px; flex-wrap:wrap; }

/* Projects archive */
.project-search { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; padding-bottom:25px; border-bottom:1px solid var(--line-light); margin-bottom:70px; }
.project-search label { font-size:8px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted-light); }
.project-search input { display:block; width:min(540px,100%); margin-top:12px; border:0; border-bottom:1px solid var(--line-light); background:transparent; padding:12px 0; outline:none; color:var(--ink); font-size:16px; letter-spacing:-.02em; }
.project-search input:focus { border-color:var(--gold); }
.project-search__count { color:var(--muted-light); font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.archive-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(55px,7vw,105px) 22px; }
.project-card { grid-column:span 6; }
.project-card:nth-child(4n+1) { grid-column:span 7; }
.project-card:nth-child(4n+2) { grid-column:span 5; margin-top:110px; }
.project-card:nth-child(4n+3) { grid-column:span 5; }
.project-card:nth-child(4n+4) { grid-column:span 7; margin-top:80px; }
.project-card.is-filtered { display:none; }
.project-card__image { position:relative; display:block; overflow:hidden; background:#d6c8b1; aspect-ratio:1.23; }
.project-card:nth-child(4n+2) .project-card__image, .project-card:nth-child(4n+3) .project-card__image { aspect-ratio:.88; }
.project-card__image img { height:100%; object-fit:cover; filter:saturate(.76) contrast(1.02); transition:transform 1.15s var(--ease),filter .7s; }
.project-card__image::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(13,13,12,.2),transparent 50%),linear-gradient(130deg,rgba(201,167,122,.1),transparent); }
.project-card:hover .project-card__image img { transform:scale(1.04); filter:saturate(.95); }
.project-card__view { position:absolute; z-index:2; right:14px; bottom:14px; width:68px; height:68px; border-radius:50%; display:grid; place-items:center; background:rgba(13,13,12,.65); color:var(--paper); backdrop-filter:blur(12px); font-size:7px; letter-spacing:.12em; opacity:0; transform:scale(.75); transition:.45s var(--ease); }
.project-card:hover .project-card__view { opacity:1; transform:scale(1); }
.project-card__meta { display:flex; justify-content:space-between; border-top:1px solid var(--line-light); padding-top:13px; margin-top:15px; color:var(--muted-light); font-size:7px; letter-spacing:.13em; text-transform:uppercase; }
.project-card h3 { font-size:clamp(24px,3vw,44px); line-height:1.04; letter-spacing:-.045em; font-weight:300; margin:16px 0 0; }

/* Project detail */
.project-detail-hero { position:relative; min-height:100svh; overflow:hidden; background:var(--ink); color:var(--paper); }
.project-detail-hero > img { position:absolute; inset:0; height:100%; object-fit:cover; filter:saturate(.72) brightness(.66); animation:projectHeroIn 1.7s var(--ease) both; }
@keyframes projectHeroIn { from{transform:scale(1.1)} to{transform:scale(1)} }
.project-detail-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(13,13,12,.88),rgba(13,13,12,.05) 60%),linear-gradient(90deg,rgba(13,13,12,.38),transparent 60%); }
.project-detail-title { position:absolute; z-index:2; left:var(--pad); right:var(--pad); bottom:45px; }
.project-detail-title h1 { max-width:850px; margin:0 0 35px; font-size:clamp(42px,6vw,90px); line-height:.98; letter-spacing:-.055em; font-weight:300; }
.project-detail-meta { display:flex; gap:30px; flex-wrap:wrap; padding-top:15px; border-top:1px solid rgba(255,255,255,.22); color:rgba(255,255,255,.62); font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.project-story { display:grid; grid-template-columns:.62fr 1.38fr; gap:clamp(70px,11vw,180px); }
.project-story__facts { border-top:1px solid var(--line-light); }
.project-story__facts > div { display:grid; grid-template-columns:90px 1fr; gap:18px; padding:16px 0; border-bottom:1px solid var(--line-light); }
.project-story__facts span { color:var(--muted-light); font-size:7px; letter-spacing:.14em; text-transform:uppercase; }
.project-story__facts strong { font-size:10px; font-weight:500; }
.project-story__text p { font-size:clamp(22px,2.8vw,40px); line-height:1.35; letter-spacing:-.035em; font-weight:300; margin:0; }
.project-gallery { display:grid; grid-template-columns:repeat(12,1fr); gap:14px; padding:0 var(--pad) clamp(90px,12vw,180px); background:var(--paper); }
.project-gallery__item { grid-column:span 6; overflow:hidden; min-height:460px; background:#d6c8b1; }
.project-gallery__item:nth-child(3n+1) { grid-column:span 12; min-height:70vh; }
.project-gallery__item:nth-child(5n+3) { grid-column:span 5; }
.project-gallery__item:nth-child(5n+4) { grid-column:span 7; }
.project-gallery__item img { height:100%; object-fit:cover; filter:saturate(.8); transition:transform 1.25s var(--ease),filter .7s; }
.project-gallery__item:hover img { transform:scale(1.025); filter:saturate(1); }
.project-next { position:relative; display:block; height:75vh; min-height:560px; overflow:hidden; color:var(--paper); }
.project-next img { height:100%; object-fit:cover; filter:saturate(.7) brightness(.55); transition:transform 1.5s var(--ease); }
.project-next:hover img { transform:scale(1.045); }
.project-next__overlay { position:absolute; inset:0; display:grid; place-items:center; text-align:center; background:radial-gradient(circle,transparent 5%,rgba(13,13,12,.4) 75%); }
.project-next__overlay span { font-size:8px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.project-next__overlay h2 { font-size:clamp(40px,6vw,90px); font-weight:300; letter-spacing:-.055em; margin:24px 0; }

/* Services / detail */
#services-list { border-top:1px solid var(--line-dark); }
.service-row a { min-height:135px; display:grid; grid-template-columns:45px .9fr 1.1fr auto; align-items:center; gap:25px; border-bottom:1px solid var(--line-dark); color:rgba(255,255,255,.5); transition:color .4s,padding .5s var(--ease); }
.service-row a > span { color:var(--gold); font-size:8px; }
.service-row h3 { font-size:clamp(24px,2.7vw,41px); font-weight:300; letter-spacing:-.04em; margin:0; }
.service-row p { max-width:530px; color:rgba(255,255,255,.38); font-size:11px; line-height:1.8; margin:0; }
.service-row i { font-style:normal; color:var(--gold); opacity:0; transform:translate(-10px,8px); transition:.35s var(--ease); }
.service-row a:hover { color:var(--paper); padding-left:10px; }
.service-row a:hover i { opacity:1; transform:none; }
.service-detail-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(60px,9vw,145px); align-items:start; }
.service-detail-image { position:sticky; top:100px; aspect-ratio:.88; overflow:hidden; background:#d6c8b1; }
.service-detail-image img { height:100%; object-fit:cover; filter:saturate(.78); }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.related-card { min-height:230px; border:1px solid currentColor; opacity:.7; padding:25px; display:flex; flex-direction:column; justify-content:space-between; transition:opacity .35s,background .35s,color .35s,transform .45s var(--ease); }
.related-card:hover { opacity:1; background:var(--ink); color:var(--paper); transform:translateY(-7px); }
.section-dark .related-card:hover, .section--dark .related-card:hover { background:var(--paper); color:var(--ink); }
.related-card span { font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.related-card h3 { font-size:clamp(24px,2.8vw,42px); line-height:1.08; letter-spacing:-.04em; font-weight:300; margin:30px 0; }

/* About */
.about-columns { display:grid; grid-template-columns:1fr 1fr; gap:clamp(70px,11vw,180px); align-items:start; }
.about-columns h2 { font-size:clamp(34px,4.5vw,67px); line-height:1.08; letter-spacing:-.05em; font-weight:300; margin:0; }
.about-portrait { height:min(78vh,850px); overflow:hidden; }
.about-portrait img { height:100%; object-fit:cover; filter:saturate(.75); }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); }
.value-card { background:var(--ink); padding:clamp(30px,4vw,62px); min-height:400px; display:flex; flex-direction:column; }
.value-card small { color:var(--gold); font-size:8px; letter-spacing:.15em; text-transform:uppercase; }
.value-card h3 { font-size:clamp(27px,3.5vw,52px); line-height:1; letter-spacing:-.045em; font-weight:300; margin:65px 0 24px; }
.value-card p { color:var(--muted-dark); font-size:11px; line-height:1.9; margin:auto 0 0; }
.gallery-mosaic { display:grid; grid-template-columns:repeat(12,1fr); gap:14px; }
.gallery-mosaic a { grid-column:span 4; min-height:340px; overflow:hidden; background:#d6c8b1; }
.gallery-mosaic a:nth-child(6n+1) { grid-column:span 7; }
.gallery-mosaic a:nth-child(6n+2) { grid-column:span 5; }
.gallery-mosaic a:nth-child(6n+4) { grid-column:span 5; }
.gallery-mosaic a:nth-child(6n+5) { grid-column:span 7; }
.gallery-mosaic img { height:100%; object-fit:cover; filter:saturate(.75); transition:transform 1.1s var(--ease),filter .6s; }
.gallery-mosaic a:hover img { transform:scale(1.035); filter:saturate(1); }

/* Blog */
.blog-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:85px 22px; }
.blog-card { grid-column:span 4; }
.blog-card:nth-child(5n+1) { grid-column:span 8; }
.blog-card:nth-child(5n+3) { margin-top:90px; }
.blog-card__image { display:block; overflow:hidden; aspect-ratio:1.05; background:#d6c8b1; }
.blog-card:nth-child(5n+1) .blog-card__image { aspect-ratio:1.55; }
.blog-card__image img { height:100%; object-fit:cover; filter:saturate(.75); transition:transform 1.1s var(--ease),filter .6s; }
.blog-card:hover img { transform:scale(1.04); filter:saturate(.95); }
.blog-card__date { display:block; border-top:1px solid var(--line-light); padding-top:13px; margin-top:15px; color:var(--muted-light); font-size:7px; letter-spacing:.14em; }
.blog-card h2 { font-size:clamp(23px,2.8vw,42px); line-height:1.12; letter-spacing:-.04em; font-weight:300; margin:15px 0; }
.blog-card p { color:var(--muted-light); font-size:11px; line-height:1.8; }
.pagination { display:flex; justify-content:center; gap:8px; margin-top:90px; }
.pagination a, .pagination span { width:42px; height:42px; border:1px solid var(--line-light); display:grid; place-items:center; font-size:8px; }
.pagination .is-current { background:var(--ink); color:var(--paper); }
.article-hero { min-height:92vh; padding:calc(var(--header-h) + 80px) var(--pad) 70px; display:grid; grid-template-columns:.82fr 1.18fr; gap:7vw; align-items:end; background:var(--ink); color:var(--paper); }
.article-hero__copy h1 { font-size:clamp(38px,5vw,74px); line-height:1.04; letter-spacing:-.052em; font-weight:300; margin:26px 0; }
.article-hero__copy .section-copy { color:var(--muted-dark); }
.article-hero__image { height:70vh; overflow:hidden; }
.article-hero__image img { height:100%; object-fit:cover; filter:saturate(.73); }
.article-body { display:grid; grid-template-columns:.5fr 1.5fr; gap:clamp(60px,10vw,150px); }
.article-aside { position:sticky; top:110px; align-self:start; border-top:1px solid var(--line-light); padding-top:16px; color:var(--muted-light); font-size:8px; line-height:2; letter-spacing:.12em; text-transform:uppercase; }
.article-content { max-width:780px; font-size:15px; line-height:2; color:#38352f; }
.article-content h2, .article-content h3 { font-weight:300; letter-spacing:-.04em; line-height:1.1; color:var(--ink); }
.article-content h2 { font-size:clamp(32px,4vw,56px); margin:1.4em 0 .55em; }
.article-content h3 { font-size:clamp(26px,3vw,42px); margin:1.3em 0 .5em; }
.article-content img { margin:45px 0; }
.article-content a { color:#8f6d45; border-bottom:1px solid currentColor; }
.article-content blockquote { margin:55px 0; border-left:1px solid var(--gold); padding-left:30px; font-family:var(--serif); font-size:clamp(30px,4vw,53px); line-height:1.12; }

/* FAQ */
.faq-layout { display:grid; grid-template-columns:.55fr 1.45fr; gap:clamp(70px,11vw,170px); }
.faq-intro { position:sticky; top:110px; align-self:start; }
.faq-list { border-top:1px solid var(--line-light); }
.section-dark .faq-list, .section--dark .faq-list { border-color:var(--line-dark); }
.faq-item { border-bottom:1px solid var(--line-light); }
.section-dark .faq-item, .section--dark .faq-item { border-color:var(--line-dark); }
.faq-question { width:100%; border:0; background:transparent; padding:27px 0; display:grid; grid-template-columns:1fr auto; gap:20px; text-align:left; cursor:pointer; }
.faq-question span { font-size:clamp(20px,2.4vw,34px); letter-spacing:-.035em; font-weight:300; }
.faq-question i { width:30px; height:30px; border:1px solid currentColor; border-radius:50%; display:grid; place-items:center; font-style:normal; transition:transform .4s var(--ease),background .3s,color .3s; }
.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .55s var(--ease); }
.faq-answer > div { overflow:hidden; }
.faq-answer p { padding:0 60px 30px 0; color:var(--muted-light); font-size:12px; line-height:1.9; margin:0; }
.section-dark .faq-answer p, .section--dark .faq-answer p { color:var(--muted-dark); }
.faq-item.is-open .faq-answer { grid-template-rows:1fr; }
.faq-item.is-open .faq-question i { transform:rotate(45deg); background:var(--gold); color:var(--ink); border-color:var(--gold); }

/* Contact */
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(70px,12vw,190px); }
.contact-meta { display:grid; align-content:start; gap:30px; }
.contact-meta__item { border-top:1px solid var(--line-light); padding-top:14px; }
.contact-meta__item small { display:block; color:var(--muted-light); font-size:7px; letter-spacing:.15em; text-transform:uppercase; margin-bottom:10px; }
.contact-meta__item a, .contact-meta__item p { font-size:clamp(20px,2.4vw,35px); line-height:1.15; letter-spacing:-.035em; font-weight:300; margin:0; word-break:break-word; }
.contact-form { border-top:1px solid var(--line-light); }
.field { position:relative; padding:24px 0; border-bottom:1px solid var(--line-light); }
.field label { display:block; color:var(--muted-light); font-size:7px; letter-spacing:.15em; text-transform:uppercase; margin-bottom:12px; }
.field input, .field textarea { width:100%; border:0; outline:0; background:transparent; color:var(--ink); font-size:18px; font-weight:300; padding:4px 0; resize:vertical; }
.field textarea { min-height:135px; }
.field input::placeholder, .field textarea::placeholder { color:rgba(13,13,12,.28); }
.form-note { color:var(--muted-light); font-size:9px; line-height:1.7; margin:20px 0; }
.form-status { min-height:18px; color:#8e6b43; font-size:10px; }
.submit-btn { min-width:220px; height:54px; border:0; background:var(--ink); color:var(--paper); padding:0 22px; cursor:pointer; font-size:8px; letter-spacing:.15em; text-transform:uppercase; transition:background .3s,color .3s,transform .35s var(--ease); }
.submit-btn:hover { background:var(--gold); color:var(--ink); transform:translateY(-3px); }
.contact-map { height:min(70vh,720px); margin:0 var(--pad) clamp(90px,12vw,180px); overflow:hidden; filter:grayscale(1) sepia(.12); }
.contact-map iframe { width:100%; height:100%; border:0; }

/* Policy and 404 */
.policy-shell { max-width:960px; margin:auto; }
.policy-shell h1 { font-size:clamp(43px,6vw,82px); line-height:1.02; letter-spacing:-.05em; font-weight:300; margin:20px 0 70px; }
.not-found { min-height:100svh; padding:130px var(--pad); display:grid; place-items:center; text-align:center; background:var(--ink); color:var(--paper); }
.not-found strong { display:block; color:rgba(255,255,255,.04); font-size:clamp(140px,28vw,420px); line-height:.65; letter-spacing:-.1em; }
.not-found h1 { font-size:clamp(35px,4.5vw,65px); font-weight:300; letter-spacing:-.05em; margin:-2vw 0 20px; }
.not-found p { color:var(--muted-dark); }

/* Footer */
.site-footer { position:relative; z-index:2; overflow:hidden; background:var(--ink); color:var(--paper); padding:clamp(100px,13vw,190px) var(--pad) 30px; }
.footer-aurora { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.footer-aurora i { position:absolute; border-radius:50%; filter:blur(80px); opacity:.2; }
.footer-aurora i:first-child { width:55vw; height:55vw; left:-18vw; top:-30vw; background:#b98e59; animation:ambientOne 15s ease-in-out infinite alternate; }
.footer-aurora i:last-child { width:45vw; height:45vw; right:-14vw; bottom:-28vw; background:#6a4b2d; animation:ambientTwo 19s ease-in-out infinite alternate; }
.footer-intro { position:relative; z-index:1; display:grid; grid-template-columns:.4fr 1.6fr; gap:clamp(70px,10vw,165px); align-items:center; padding-bottom:clamp(90px,11vw,155px); border-bottom:1px solid var(--line-dark); }
.footer-intro__mark { width:clamp(95px,13vw,190px); opacity:.85; }
.footer-intro__copy h2 { font-size:clamp(36px,5vw,74px); line-height:1.06; letter-spacing:-.052em; font-weight:300; margin:30px 0 45px; }
.footer-intro__copy h2 em { font-family:var(--serif); color:var(--gold-light); }
.signature-link { display:flex; align-items:center; justify-content:space-between; width:min(420px,100%); border-bottom:1px solid rgba(255,255,255,.35); padding:0 0 14px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.signature-link i { width:33px; height:33px; border-radius:50%; background:var(--gold); color:var(--ink); display:grid; place-items:center; font-style:normal; transition:transform .45s var(--ease); }
.signature-link:hover i { transform:rotate(45deg); }
.footer-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.35fr .7fr .5fr .5fr; gap:clamp(30px,6vw,95px); padding:65px 0; }
.footer-brand { display:grid; align-content:start; gap:7px; }
.footer-brand strong { font-size:13px; letter-spacing:.23em; font-weight:500; }
.footer-brand > span { color:var(--gold); font-size:8px; letter-spacing:.24em; }
.footer-brand p { max-width:400px; margin:25px 0 0; color:var(--muted-dark); font-size:10px; line-height:1.9; }
.footer-col { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.footer-col h4 { margin:0 0 13px; color:var(--gold); font-size:7px; letter-spacing:.2em; font-weight:500; }
.footer-col a, .footer-col p { margin:0; color:var(--muted-dark); font-size:10px; line-height:1.8; transition:color .3s; }
.footer-col a:hover { color:var(--paper); }
.footer-bottom { position:relative; z-index:1; display:flex; justify-content:space-between; gap:25px; border-top:1px solid var(--line-dark); padding-top:22px; color:rgba(255,255,255,.38); font-size:7px; letter-spacing:.13em; text-transform:uppercase; }
.signature-fab { position:fixed; right:17px; bottom:17px; z-index:12000; display:grid; gap:8px; }
.signature-fab a, .signature-fab button { width:43px; height:43px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); background:rgba(13,13,12,.7); backdrop-filter:blur(14px); color:var(--paper); font-size:8px; cursor:pointer; transition:background .3s,color .3s; }
.signature-fab a:hover, .signature-fab button:hover { background:var(--gold); color:var(--ink); }
.signature-fab button { opacity:0; pointer-events:none; transform:translateY(8px); transition:.3s; }
.signature-fab button.is-visible { opacity:1; pointer-events:auto; transform:none; }

/* Cookie and lightbox */
.cookie-banner { position:fixed; z-index:16000; left:18px; bottom:18px; width:min(430px,calc(100vw - 36px)); display:grid; grid-template-columns:1fr auto; align-items:center; gap:18px; padding:17px; color:var(--paper); background:rgba(13,13,12,.86); border:1px solid rgba(201,167,122,.28); backdrop-filter:blur(20px); box-shadow:0 20px 80px rgba(0,0,0,.3); }
.cookie-banner p { margin:0; color:var(--muted-dark); font-size:9px; line-height:1.75; }
.cookie-banner a { color:var(--gold-light); border-bottom:1px solid currentColor; }
.cookie-banner button { border:1px solid rgba(255,255,255,.25); background:transparent; color:var(--paper); padding:11px 14px; font-size:7px; letter-spacing:.13em; text-transform:uppercase; cursor:pointer; }
.lightbox { position:fixed; inset:0; z-index:28000; background:rgba(8,8,7,.96); visibility:hidden; opacity:0; pointer-events:none; transition:opacity .5s,visibility 0s .5s; display:grid; place-items:center; padding:35px; }
.lightbox.is-open { visibility:visible; opacity:1; pointer-events:auto; transition:opacity .5s,visibility 0s; }
.lightbox__frame { width:100%; height:100%; display:grid; place-items:center; }
.lightbox img { width:auto; max-width:94vw; max-height:88vh; object-fit:contain; transform:scale(.95); transition:transform .7s var(--ease); }
.lightbox.is-open img { transform:scale(1); }
.lightbox__close { position:absolute; right:22px; top:20px; z-index:2; width:45px; height:45px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:transparent; color:white; font-size:20px; cursor:pointer; }
.lightbox__caption { position:absolute; bottom:16px; color:rgba(255,255,255,.48); font-size:8px; letter-spacing:.14em; text-transform:uppercase; }

/* Motion settings */
.motion-reduced [data-reveal] { transform:translateY(12px); transition-duration:.45s; }
.motion-reduced .site-grain, .motion-reduced .ambient-orb, .motion-reduced .signature-hero__gradient, .motion-reduced .gradient-manifesto__mesh, .motion-reduced .hero-art__stamp, .motion-reduced .services-atelier__orbit span { animation:none; }
.motion-full .ambient-orb { opacity:.34; }
.motion-full [data-reveal] { transform:translateY(42px); }
.smooth-disabled { scroll-behavior:auto; }

@media (max-width: 1100px) {
  :root { --header-h:78px; }
  .header-center { display:none; }
  .site-header { grid-template-columns:1fr 1fr; }
  .signature-hero__grid { grid-template-columns:.85fr 1.15fr; gap:45px; }
  .hero-art { min-height:480px; }
  .project-showcase__body { grid-template-columns:1fr; }
  .project-showcase__media { position:relative; top:auto; }
  .project-showcase__media-frame { aspect-ratio:1.5; }
  .services-atelier__grid { grid-template-columns:1fr; }
  .services-atelier__visual { position:relative; top:auto; aspect-ratio:1.5; order:-1; }
  .process-signature__grid, .faq-layout { grid-template-columns:1fr; }
  .process-signature__sticky, .faq-intro { position:relative; top:auto; }
  .footer-grid { grid-template-columns:1.3fr repeat(3,.7fr); }
  .menu-panel__inner { grid-template-columns:.72fr 1.28fr; }
  .article-hero { grid-template-columns:1fr 1fr; }
}

@media (max-width: 820px) {
  :root { --pad:22px; --header-h:72px; }
  .site-grain { opacity:.035; }
  .header-project { display:none; }
  .brand__text { display:none; }
  .menu-panel__inner { grid-template-columns:1fr; padding-top:var(--header-h); }
  .menu-panel__visual { position:absolute; inset:var(--header-h) 0 0; margin:0; opacity:.24; }
  .menu-panel__content { z-index:2; padding:25px 22px 22px; background:linear-gradient(90deg,rgba(13,13,12,.92),rgba(13,13,12,.72)); }
  .menu-nav a span { font-size:clamp(28px,7vw,42px); }
  .menu-panel__bottom { align-items:start; gap:25px; flex-direction:column; }
  .signature-hero { padding-top:calc(var(--header-h) + 25px); }
  .signature-hero__grid { grid-template-columns:1fr; align-content:center; padding:35px 0 65px; }
  .signature-hero__copy { position:relative; z-index:5; max-width:520px; }
  .signature-hero h1 { font-size:clamp(34px,9vw,54px); }
  .signature-hero__copy > p { max-width:390px; }
  .hero-art { position:absolute; inset:var(--header-h) 0 0; height:auto; min-height:0; opacity:.5; }
  .hero-art::after { content:""; position:absolute; inset:0; z-index:6; background:linear-gradient(90deg,rgba(13,13,12,.88),rgba(13,13,12,.2)),linear-gradient(to top,rgba(13,13,12,.85),transparent 60%); }
  .hero-art__main { width:75%; height:70%; right:-10%; top:10%; }
  .hero-art__float--one { left:auto; right:52%; top:51%; width:30%; height:25%; }
  .hero-art__float--two, .hero-art__stamp { display:none; }
  .signature-hero__foot { grid-template-columns:1fr auto; }
  .signature-hero__foot > span:first-child { display:none; }
  .signature-intro__grid, .services-atelier__intro, .about-columns, .contact-grid, .service-detail-grid, .article-body { grid-template-columns:1fr; gap:55px; }
  .signature-stats { grid-template-columns:1fr 1fr; }
  .signature-stat:nth-child(2) { border-right:0; }
  .signature-stat:nth-child(3), .signature-stat:nth-child(4) { border-top:1px solid var(--line-light); }
  .project-showcase__headline { align-items:start; flex-direction:column; }
  .project-showcase__media-frame, .services-atelier__visual { aspect-ratio:1.05; }
  .journal-preview__grid { grid-template-columns:1fr 1fr; }
  .journal-card:first-child { grid-column:1/-1; }
  .journal-card:nth-child(2), .journal-card:nth-child(3) { margin-top:0; }
  .testimonial-signature__body { grid-template-columns:1fr; }
  .testimonial-next { width:80px; justify-self:end; }
  .footer-intro { grid-template-columns:1fr; gap:45px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; margin-bottom:25px; }
  .archive-grid { gap:65px 14px; }
  .project-card, .project-card:nth-child(4n+1), .project-card:nth-child(4n+2), .project-card:nth-child(4n+3), .project-card:nth-child(4n+4) { grid-column:span 6; margin-top:0; }
  .project-card__image, .project-card:nth-child(4n+2) .project-card__image, .project-card:nth-child(4n+3) .project-card__image { aspect-ratio:.9; }
  .project-story { grid-template-columns:1fr; gap:55px; }
  .project-gallery__item, .project-gallery__item:nth-child(3n+1), .project-gallery__item:nth-child(5n+3), .project-gallery__item:nth-child(5n+4) { grid-column:span 12; min-height:50vh; }
  .values-grid { grid-template-columns:1fr; }
  .value-card { min-height:330px; }
  .gallery-mosaic a, .gallery-mosaic a:nth-child(6n+1), .gallery-mosaic a:nth-child(6n+2), .gallery-mosaic a:nth-child(6n+4), .gallery-mosaic a:nth-child(6n+5) { grid-column:span 6; }
  .blog-grid { gap:65px 16px; }
  .blog-card, .blog-card:nth-child(5n+1) { grid-column:span 6; }
  .blog-card:nth-child(5n+3) { margin-top:0; }
  .article-hero { grid-template-columns:1fr; padding-top:calc(var(--header-h) + 55px); }
  .article-hero__image { height:53vh; order:-1; }
  .article-aside { position:relative; top:auto; }
  .related-grid { grid-template-columns:1fr 1fr; }
  .service-detail-image { position:relative; top:auto; aspect-ratio:1.2; }
  .services-head { grid-template-columns:1fr; }
  .service-row a { grid-template-columns:35px 1fr auto; }
  .service-row p { display:none; }
}

@media (max-width: 560px) {
  body { font-size:12px; }
  .theme-preview-bar { top:auto; bottom:10px; width:calc(100% - 20px); justify-content:space-between; }
  .theme-preview-bar span { max-width:55%; }
  .signature-hero__actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .signature-hero__foot { font-size:6px; }
  .section-space, .section { padding-top:90px; padding-bottom:90px; }
  .section-index { grid-template-columns:auto 35px auto; }
  .signature-intro__grid, .project-showcase__body, .services-atelier__grid, .process-signature__grid { margin-top:55px; }
  .signature-stats { grid-template-columns:1fr; }
  .signature-stat, .signature-stat:not(:first-child), .signature-stat:last-child { padding:20px 0; border-right:0; border-top:1px solid var(--line-light); }
  .signature-stat:first-child { border-top:0; }
  .project-showcase__media-frame, .services-atelier__visual { aspect-ratio:.8; }
  .showcase-row { min-height:90px; grid-template-columns:28px 1fr auto; gap:10px; }
  .showcase-row h3 { font-size:21px; }
  .atelier-service { min-height:105px; grid-template-columns:28px 1fr auto; gap:12px; }
  .atelier-service p { display:none; }
  .gradient-manifesto { min-height:68vh; }
  .journal-preview__head { align-items:flex-start; gap:30px; flex-direction:column; }
  .journal-preview__grid { grid-template-columns:1fr; }
  .journal-card:first-child { grid-column:auto; }
  .journal-card__image, .journal-card:first-child .journal-card__image { aspect-ratio:1.05; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .footer-bottom { align-items:flex-start; flex-direction:column; }
  .page-hero { min-height:60vh; padding-bottom:55px; }
  .page-hero__meta { margin-bottom:35px; }
  .project-search { grid-template-columns:1fr; }
  .archive-grid { grid-template-columns:1fr; }
  .project-card, .project-card:nth-child(4n+1), .project-card:nth-child(4n+2), .project-card:nth-child(4n+3), .project-card:nth-child(4n+4) { grid-column:auto; }
  .project-card__image, .project-card:nth-child(4n+2) .project-card__image, .project-card:nth-child(4n+3) .project-card__image { aspect-ratio:1.02; }
  .project-detail-title { bottom:25px; }
  .project-detail-meta { gap:12px 20px; }
  .project-gallery { padding-left:12px; padding-right:12px; gap:8px; }
  .project-gallery__item, .project-gallery__item:nth-child(3n+1), .project-gallery__item:nth-child(5n+3), .project-gallery__item:nth-child(5n+4) { min-height:330px; }
  .gallery-mosaic { grid-template-columns:1fr; }
  .gallery-mosaic a, .gallery-mosaic a:nth-child(6n+1), .gallery-mosaic a:nth-child(6n+2), .gallery-mosaic a:nth-child(6n+4), .gallery-mosaic a:nth-child(6n+5) { grid-column:auto; min-height:310px; }
  .blog-grid { grid-template-columns:1fr; }
  .blog-card, .blog-card:nth-child(5n+1) { grid-column:auto; }
  .blog-card__image, .blog-card:nth-child(5n+1) .blog-card__image { aspect-ratio:1.03; }
  .related-grid { grid-template-columns:1fr; }
  .article-content { font-size:14px; }
  .contact-map { height:420px; margin-left:12px; margin-right:12px; }
  .cookie-banner { grid-template-columns:1fr; }
  .signature-fab { right:10px; bottom:10px; }
  .faq-answer p { padding-right:0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
  [data-reveal] { opacity:1 !important; transform:none !important; }
  [data-split-text] .split-line > span { transform:none !important; }
  .page-loader { display:none; }
}

/* ========================================================================== 
   Signature Mobile Refinement v1.1
   Stable SVG icons, cinematic mobile hero and iOS-safe responsive hardening.
   ========================================================================== */
:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --app-height: 100dvh;
}

html { overflow-x: hidden; }
body { overflow-x: hidden; }
@supports (overflow: clip) { body { overflow-x: clip; } }
main, section, article, header, footer, nav, aside, div { min-width: 0; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
input, textarea, select { min-width: 0; max-width: 100%; }

.ui-icon {
  display: block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  overflow: visible;
  vector-effect: non-scaling-stroke;
}
i > .ui-icon { width: 100%; height: 100%; }
.header-project i { width: 15px; height: 15px; }
.menu-nav a i { width: 18px; height: 18px; }
.text-link i, .underline-link i { width: 14px; height: 14px; display: inline-grid; }
.signature-button i .ui-icon, .signature-link i .ui-icon { width: 13px; height: 13px; }
.showcase-row > i, .atelier-service > i, .service-row i { width: 17px; height: 17px; }
.project-card__view { line-height: 1.2; text-align: center; }
.project-card__view i { width: 13px; height: 13px; margin-top: 4px; display: inline-grid; }
.project-next__overlay span:last-child, .related-card > span:last-child,
.menu-social a, .footer-col a, .article-aside a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.project-next__overlay span:last-child i, .related-card > span:last-child i,
.menu-social a i, .footer-col a i, .article-aside a i { width: 12px; height: 12px; display: inline-grid; }
.submit-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; }
.submit-btn i { width: 15px; height: 15px; display: inline-grid; }
.signature-fab .ui-icon { width: 15px; height: 15px; }
.lightbox__close .ui-icon { width: 19px; height: 19px; margin: auto; }

.site-header {
  height: calc(var(--header-h) + var(--safe-top));
  padding-top: var(--safe-top);
  padding-left: max(var(--pad), var(--safe-left));
  padding-right: max(var(--pad), var(--safe-right));
}
.site-header.is-scrolled { height: calc(72px + var(--safe-top)); }
.menu-panel { height: var(--app-height); min-height: 100svh; }
.menu-panel__inner { padding-top: calc(var(--header-h) + var(--safe-top)); }
.signature-hero { padding-top: calc(var(--header-h) + var(--safe-top) + 35px); }

/* Living light surface */
.signature-hero__beam {
  position: absolute;
  width: 42vw;
  height: 140vh;
  top: -28vh;
  opacity: .2;
  filter: blur(32px);
  transform: rotate(24deg);
  background: linear-gradient(90deg, transparent, rgba(231, 199, 155, .32), rgba(201, 167, 122, .07), transparent);
  mix-blend-mode: screen;
  will-change: transform;
}
.signature-hero__beam--one { left: 40%; animation: heroBeamOne 12s ease-in-out infinite alternate; }
.signature-hero__beam--two { left: 66%; opacity: .11; animation: heroBeamTwo 15s ease-in-out infinite alternate; }
.signature-hero__spark {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold-light);
  box-shadow: 0 0 18px 5px rgba(226, 199, 159, .2);
  opacity: .55;
}
.signature-hero__spark--one { left: 18%; top: 28%; animation: heroSpark 7s ease-in-out infinite alternate; }
.signature-hero__spark--two { right: 14%; bottom: 24%; animation: heroSpark 9s 1.4s ease-in-out infinite alternate-reverse; }
@keyframes heroBeamOne { to { transform: translate3d(-16vw, 8vh, 0) rotate(31deg) scale(1.16); } }
@keyframes heroBeamTwo { to { transform: translate3d(9vw, -9vh, 0) rotate(17deg) scale(.9); } }
@keyframes heroSpark { to { transform: translate3d(50px, -35px, 0) scale(1.8); opacity: .18; } }

/* Hero gallery */
.hero-art__slides, .hero-art__slide { position: absolute; inset: 0; }
.hero-art__slide {
  opacity: 0;
  visibility: hidden;
  transform: scale(1.07);
  clip-path: inset(0 0 0 100%);
  transition: opacity 1s ease, visibility 0s 1s, transform 1.55s var(--ease), clip-path 1.05s var(--ease-sharp);
  will-change: opacity, transform, clip-path;
}
.hero-art__slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  clip-path: inset(0 0 0 0);
  transition: opacity .9s ease, visibility 0s, transform 1.55s var(--ease), clip-path 1.05s var(--ease-sharp);
}
.hero-art__slide.is-leaving { clip-path: inset(0 100% 0 0); }
.hero-art__slide img { width: 100%; height: 100%; object-fit: cover; }
.hero-art__slide.is-active img { animation: heroImageDrift 7.2s ease-out both; }
@keyframes heroImageDrift { from { transform: scale(1.075) translate3d(-.7%, .5%, 0); } to { transform: scale(1.015) translate3d(.7%, -.5%, 0); } }
.hero-art__meta {
  position: absolute;
  z-index: 5;
  left: 18px;
  right: 18px;
  bottom: 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: rgba(255,255,255,.68);
  font-size: 7px;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.hero-art__index { position: static; font-size: inherit; letter-spacing: inherit; }
.hero-art__index b { color: var(--paper); font-weight: 500; }
.hero-art__discipline { text-align: right; }
.hero-art__progress {
  position: absolute;
  z-index: 6;
  left: 18px;
  right: 18px;
  bottom: 7px;
  height: 1px;
  overflow: hidden;
  background: rgba(255,255,255,.16);
}
.hero-art__progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--gold), var(--paper)); transform-origin: left; transform: scaleX(0); }
.hero-art__progress i.is-running { animation: heroProgress 6.2s linear forwards; }
@keyframes heroProgress { to { transform: scaleX(1); } }
.hero-art__controls {
  position: absolute;
  z-index: 8;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  gap: 7px;
}
.hero-art__controls button {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(13,13,12,.44);
  color: var(--paper);
  backdrop-filter: blur(14px);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background .35s, color .35s, border-color .35s, transform .35s var(--ease);
}
.hero-art__controls button .ui-icon { width: 15px; height: 15px; }
.hero-art__controls button:hover { background: var(--gold); color: var(--ink); border-color: var(--gold); transform: translateX(-3px); }
.hero-art__controls button:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }

@media (max-width: 820px) {
  :root { --pad: 20px; --header-h: 68px; }
  body { -webkit-text-size-adjust: 100%; }
  .site-header { height: calc(var(--header-h) + var(--safe-top)); }
  .site-header.is-scrolled { height: calc(62px + var(--safe-top)); }
  .brand__symbol { width: 36px; height: 36px; }
  .menu-toggle { min-width: 72px; min-height: 48px; justify-content: flex-end; padding: 8px 0 8px 10px; }
  .menu-toggle__icon { width: 28px; }
  .menu-panel__inner { height: 100%; min-height: 0; padding-top: calc(var(--header-h) + var(--safe-top)); }
  .menu-panel__visual { inset: calc(var(--header-h) + var(--safe-top)) 0 0; }
  .menu-panel__content {
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 20px max(20px, var(--safe-right)) calc(28px + var(--safe-bottom)) max(20px, var(--safe-left));
    background: linear-gradient(90deg,rgba(13,13,12,.94),rgba(13,13,12,.74));
  }
  .menu-panel__top { position: sticky; top: 0; z-index: 3; padding: 4px 0 14px; background: linear-gradient(to bottom, rgba(13,13,12,.92) 75%, transparent); }
  .menu-nav { align-self: start; padding: 18px 0 24px; }
  .menu-nav a { min-height: 58px; padding: 11px 0; }
  .menu-nav a span { font-size: clamp(26px, 7.2vw, 39px); }
  .menu-nav a i { opacity: .72; transform: none; }
  .menu-nav a:hover, .menu-nav a.is-active { padding-left: 0; }
  .menu-panel__bottom { padding-bottom: 4px; }
  .menu-social { flex-wrap: wrap; row-gap: 12px; }

  .signature-hero {
    min-height: 100svh;
    min-height: var(--app-height);
    padding: calc(var(--header-h) + var(--safe-top)) max(var(--pad), var(--safe-right)) calc(18px + var(--safe-bottom)) max(var(--pad), var(--safe-left));
    background: var(--ink);
  }
  .signature-hero__grid {
    min-height: calc(var(--app-height) - var(--header-h) - var(--safe-top) - 57px - var(--safe-bottom));
    padding: 0;
    display: block;
  }
  .signature-hero__copy {
    position: relative;
    z-index: 9;
    min-height: calc(var(--app-height) - var(--header-h) - var(--safe-top) - 57px - var(--safe-bottom));
    max-width: 560px;
    padding: clamp(270px, 44vh, 410px) 0 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .hero-eyebrow { margin-bottom: 18px; color: rgba(255,255,255,.67); }
  .signature-hero h1 { max-width: 520px; font-size: clamp(33px, 8.8vw, 49px); line-height: 1.03; letter-spacing: -.047em; }
  .signature-hero__copy > p { max-width: 430px; margin-top: 18px; font-size: 11px; line-height: 1.75; color: rgba(255,255,255,.7); }
  .signature-hero__actions { margin-top: 24px; gap: 17px; flex-wrap: wrap; }
  .signature-hero .signature-button { min-width: 158px; height: 48px; padding-left: 17px; }
  .signature-hero .text-link { font-size: 8px; gap: 11px; }
  .hero-art { position: absolute; inset: 0; height: 100%; min-height: 0; opacity: 1; }
  .hero-art__halo { width: 115%; left: -12%; top: 8%; opacity: .7; }
  .hero-art__main { inset: 0; width: 100%; height: 100%; clip-path: none; box-shadow: none; }
  .hero-art__main::after {
    z-index: 4;
    background:
      linear-gradient(90deg, rgba(13,13,12,.72) 0%, rgba(13,13,12,.25) 68%, rgba(13,13,12,.12) 100%),
      linear-gradient(to top, rgba(13,13,12,.98) 0%, rgba(13,13,12,.76) 32%, rgba(13,13,12,.08) 69%, rgba(13,13,12,.42) 100%),
      linear-gradient(135deg, rgba(201,167,122,.15), transparent 48%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  }
  .hero-art__slide img { filter: saturate(.78) contrast(1.05) brightness(.86); }
  .hero-art__float { display: none; }
  .hero-art__stamp { display: none; }
  .hero-art__meta { z-index: 7; left: max(20px, var(--safe-left)); right: max(20px, var(--safe-right)); top: calc(var(--header-h) + var(--safe-top) + 23px); bottom: auto; }
  .hero-art__discipline { display: none; }
  .hero-art__progress { z-index: 7; left: max(20px, var(--safe-left)); right: max(76px, var(--safe-right)); top: calc(var(--header-h) + var(--safe-top) + 43px); bottom: auto; }
  .hero-art__controls { top: calc(var(--header-h) + var(--safe-top) + 17px); right: max(20px, var(--safe-right)); transform: none; display: flex; gap: 6px; }
  .hero-art__controls button { width: 38px; height: 38px; background: rgba(13,13,12,.38); }
  .hero-art__controls button:first-child { display: none; }
  .signature-hero__line--one { width: 125vw; height: 125vw; right: -76vw; top: 12vh; opacity: .7; }
  .signature-hero__line--two { width: 78vw; height: 78vw; right: -38vw; top: 23vh; }
  .signature-hero__gradient { inset: -45%; opacity: 1; filter: blur(58px); }
  .signature-hero__beam { width: 72vw; opacity: .17; }
  .signature-hero__beam--one { left: 16%; }
  .signature-hero__beam--two { left: 64%; }
  .signature-hero__spark--one { left: 12%; top: 22%; }
  .signature-hero__spark--two { right: 16%; bottom: 31%; }
  .signature-hero__foot { min-height: 39px; padding-top: 11px; align-items: center; }
  .signature-hero__foot > span:last-child { white-space: nowrap; }

  .showcase-row > i, .atelier-service > i, .service-row i { opacity: .7; transform: none; }
  .showcase-row:hover, .showcase-row.is-active, .atelier-service:hover, .atelier-service.is-active, .service-row a:hover { padding-left: 0; }
  .project-card__view { opacity: 1; transform: scale(1); width: 58px; height: 58px; right: 10px; bottom: 10px; background: rgba(13,13,12,.58); }
  .signature-fab { right: max(10px, var(--safe-right)); bottom: calc(10px + var(--safe-bottom)); }
  .cookie-banner { left: max(10px, var(--safe-left)); bottom: calc(10px + var(--safe-bottom)); width: calc(100vw - max(20px, var(--safe-left)) - max(20px, var(--safe-right))); }
  .lightbox { padding: calc(60px + var(--safe-top)) max(12px, var(--safe-right)) calc(38px + var(--safe-bottom)) max(12px, var(--safe-left)); }
  .lightbox__close { right: max(12px, var(--safe-right)); top: calc(12px + var(--safe-top)); width: 46px; height: 46px; }
  .field input, .field textarea, .project-search input { font-size: 16px; }
  .submit-btn { min-width: 0; width: 100%; height: 52px; }
}

@media (max-width: 560px) {
  :root { --pad: 18px; }
  .brand__symbol { width: 34px; height: 34px; }
  .menu-toggle__label { font-size: 8px; }
  .signature-hero { min-height: max(720px, var(--app-height)); }
  .signature-hero__grid, .signature-hero__copy { min-height: calc(max(720px, var(--app-height)) - var(--header-h) - var(--safe-top) - 54px - var(--safe-bottom)); }
  .signature-hero__copy { padding-top: clamp(282px, 43vh, 375px); padding-bottom: 18px; }
  .signature-hero h1 { font-size: clamp(31px, 9.4vw, 43px); max-width: 420px; }
  .signature-hero__copy > p { font-size: 10.5px; line-height: 1.72; max-width: 355px; }
  .signature-hero__actions { flex-direction: row; align-items: center; gap: 14px; }
  .signature-hero .signature-button { min-width: 151px; height: 46px; }
  .signature-hero .text-link { min-height: 44px; align-items: center; }
  .signature-hero__foot { font-size: 6px; }
  .scroll-cue { gap: 7px; }
  .scroll-cue i { width: 20px; }
  .section-space, .section { padding-top: 78px; padding-bottom: 78px; }
  .signature-intro__grid, .project-showcase__body, .services-atelier__grid, .process-signature__grid { margin-top: 46px; }
  .project-showcase__media-frame, .services-atelier__visual { aspect-ratio: .9; }
  .showcase-row { min-height: 84px; }
  .showcase-row h3 { font-size: 19px; }
  .atelier-service { min-height: 92px; }
  .atelier-service h3 { font-size: 20px; }
  .process-step { min-height: 132px; grid-template-columns: 28px 1fr; gap: 14px; }
  .process-step p { font-size: 10px; line-height: 1.7; }
  .testimonial-signature blockquote { font-size: clamp(25px, 7.3vw, 36px); }
  .footer-intro__mark { width: 78px; }
  .footer-intro__copy h2 { font-size: clamp(31px, 9vw, 44px); }
  .theme-preview-bar { bottom: calc(10px + var(--safe-bottom)); }
  .project-detail-title { left: 18px; right: 18px; }
  .page-hero { padding-left: max(18px, var(--safe-left)); padding-right: max(18px, var(--safe-right)); }
  .page-hero__meta { gap: 12px; font-size: 7px; }
  .contact-map { margin-left: 10px; margin-right: 10px; height: 360px; }
}

@media (hover: none), (pointer: coarse) {
  a:hover, button:hover { -webkit-tap-highlight-color: transparent; }
  .journal-card:hover img, .project-card:hover img { transform: none; }
  .signature-button:active, .hero-art__controls button:active, .signature-fab a:active, .signature-fab button:active { transform: scale(.96); }
  .showcase-row:active, .atelier-service:active, .service-row a:active { color: inherit; opacity: .72; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-art__slide, .hero-art__slide.is-active { clip-path: none; transform: none; transition: opacity .01ms; }
  .hero-art__slide.is-active img, .hero-art__progress i, .signature-hero__beam, .signature-hero__spark { animation: none !important; }
}

/* Secondary-page mobile completeness */
@media (max-width: 820px) {
  .page-hero {
    min-height: 58vh;
    padding-top: calc(var(--header-h) + var(--safe-top) + 76px);
    padding-bottom: 52px;
  }
  .page-shell { padding-top: calc(var(--header-h) + var(--safe-top) + 70px); padding-bottom: 90px; }
  .project-detail-hero { min-height: var(--app-height); }
  .project-detail-title { left: max(20px, var(--safe-left)); right: max(20px, var(--safe-right)); bottom: calc(24px + var(--safe-bottom)); }
  .project-detail-title h1 { max-width: 580px; margin-bottom: 23px; font-size: clamp(38px, 10vw, 60px); }
  .project-detail-meta { gap: 10px 18px; line-height: 1.55; }
  .project-next { height: 62vh; min-height: 430px; }
  .project-next__overlay h2 { font-size: clamp(34px, 10vw, 58px); margin: 18px 0; }
  .article-hero { min-height: auto; padding-top: calc(var(--header-h) + var(--safe-top) + 48px); padding-bottom: 58px; }
  .article-hero__image { min-height: 390px; height: 52vh; }
  .article-content img { margin: 30px 0; }
  .article-content blockquote { margin: 38px 0; padding-left: 20px; }
  .about-portrait { height: 62vh; min-height: 410px; }
  .value-card { min-height: 300px; }
  .related-card { min-height: 190px; padding: 21px; }
  .cta { min-height: 58vh; }
  .cta h2 { font-size: clamp(36px, 10vw, 60px); margin-bottom: 34px; }
  .not-found { min-height: var(--app-height); padding: calc(var(--header-h) + var(--safe-top) + 60px) max(var(--pad), var(--safe-right)) calc(60px + var(--safe-bottom)) max(var(--pad), var(--safe-left)); }
  .site-footer { padding-bottom: calc(30px + var(--safe-bottom)); }
  .pagination a, .pagination span { width: 44px; height: 44px; }
  .faq-question { min-height: 70px; padding: 21px 0; }
  .faq-question i { width: 34px; height: 34px; }
  .has-cookie-banner .signature-fab { opacity: 0; pointer-events: none; transform: translateY(10px); }
}

@media (max-width: 390px) {
  .signature-hero__copy { padding-top: 265px; }
  .signature-hero h1 { font-size: clamp(30px, 9.1vw, 38px); }
  .signature-hero__actions { gap: 11px; }
  .signature-hero .signature-button { min-width: 145px; padding-right: 14px; padding-left: 14px; }
  .signature-hero .text-link { font-size: 7.5px; }
  .menu-nav a { grid-template-columns: 28px 1fr auto; }
  .menu-nav a span { font-size: 27px; }
  .footer-grid { gap: 35px; }
  .project-detail-meta { font-size: 7px; }
}
@media (max-width: 820px) {
  .hero-art::after {
    z-index: 5;
    pointer-events: none;
    background:
      linear-gradient(to top, rgba(13,13,12,.9) 0%, rgba(13,13,12,.54) 36%, transparent 70%),
      linear-gradient(90deg, rgba(13,13,12,.4), transparent 72%);
  }
}

/* ========================================================================== 
   Signature Mobile Hotfix v1.1.1
   Mobile spacing, overlap and visual cohesion refinements.
   ========================================================================== */
@media (max-width: 820px) {
  body.page-home { background: #f1eadd; }
  .signature-intro,
  .journal-preview,
  .process-signature.section-cream {
    background: linear-gradient(180deg, #f4efe6 0%, #eee5d8 100%);
  }
  .section-space,
  .section {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .signature-intro__grid,
  .project-showcase__body,
  .services-atelier__grid,
  .process-signature__grid {
    margin-top: 34px;
  }
  .signature-intro__grid,
  .services-atelier__intro,
  .about-columns,
  .contact-grid,
  .service-detail-grid,
  .article-body {
    gap: 36px;
  }
  .signature-intro h2,
  .project-showcase h2,
  .services-atelier h2,
  .process-signature h2 {
    max-width: 10.5ch;
    font-size: clamp(30px, 8.6vw, 44px);
    line-height: 1.03;
  }
  .signature-intro__side p,
  .services-atelier__intro p,
  .process-signature__sticky p {
    max-width: 34ch;
    font-size: 11px;
    line-height: 1.82;
  }
  .signature-stats {
    margin-top: 32px;
  }
  .project-showcase__headline {
    margin-top: 32px;
    gap: 16px;
    align-items: flex-start;
  }
  .project-showcase__headline .signature-button {
    margin-top: 4px;
  }
  .journal-preview__head {
    gap: 14px;
    align-items: flex-start;
  }
  .journal-preview__head .text-link {
    order: 2;
    margin-top: 0;
  }
  .journal-preview__grid {
    margin-top: 34px;
    gap: 34px;
  }
  .journal-card h3 {
    padding-right: 56px;
  }
  .signature-fab {
    right: max(8px, var(--safe-right));
    bottom: calc(8px + var(--safe-bottom));
    gap: 6px;
  }
  .signature-fab a,
  .signature-fab button {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 560px) {
  .signature-hero {
    min-height: max(700px, var(--app-height));
  }
  .signature-hero__grid,
  .signature-hero__copy {
    min-height: calc(max(700px, var(--app-height)) - var(--header-h) - var(--safe-top) - 54px - var(--safe-bottom));
  }
  .signature-hero__copy {
    padding-top: clamp(300px, 46vh, 395px);
    padding-bottom: 14px;
  }
  .hero-eyebrow {
    margin-bottom: 22px;
    font-size: 7px;
    letter-spacing: .2em;
  }
  .signature-hero h1 {
    max-width: 9.5ch;
    font-size: clamp(28px, 10vw, 40px);
    line-height: .98;
    text-wrap: pretty;
  }
  .signature-hero__copy > p {
    width: min(100%, 33ch);
    font-size: 10px;
    line-height: 1.82;
    margin-top: 16px;
  }
  .signature-hero__actions {
    width: min(100%, 290px);
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .signature-hero .signature-button {
    width: 100%;
    min-width: 0;
  }
  .signature-hero .text-link {
    width: max-content;
    min-height: 0;
    padding-bottom: 6px;
  }
  .hero-art__meta {
    left: max(18px, var(--safe-left));
    right: max(18px, var(--safe-right));
    top: calc(var(--header-h) + var(--safe-top) + 19px);
    font-size: 6px;
  }
  .hero-art__progress {
    left: max(18px, var(--safe-left));
    right: max(66px, var(--safe-right));
    top: calc(var(--header-h) + var(--safe-top) + 39px);
  }
  .hero-art__controls {
    right: max(18px, var(--safe-right));
    top: calc(var(--header-h) + var(--safe-top) + 15px);
  }
  .hero-art__controls button {
    width: 36px;
    height: 36px;
  }
  .signature-intro,
  .journal-preview,
  .process-signature.section-cream {
    background: linear-gradient(180deg, #f3ede3 0%, #ede4d5 100%);
  }
  .signature-intro h2,
  .project-showcase h2,
  .services-atelier h2,
  .process-signature h2 {
    max-width: 9.5ch;
    font-size: clamp(28px, 9.6vw, 38px);
  }
  .signature-intro__side p,
  .services-atelier__intro p,
  .process-signature__sticky p {
    width: min(100%, 33ch);
    font-size: 10px;
  }
  .project-showcase__headline .signature-button {
    width: 100%;
    max-width: 220px;
  }
  .showcase-row {
    min-height: 78px;
  }
  .showcase-row h3,
  .atelier-service h3 {
    font-size: 18px;
    line-height: 1.05;
  }
  .journal-preview__head .text-link {
    font-size: 8px;
  }
  .journal-card h3 {
    font-size: clamp(22px, 7vw, 28px);
    line-height: 1.18;
    padding-right: 48px;
  }
  .journal-card__meta {
    gap: 10px;
  }
}

@media (max-width: 390px) {
  .signature-hero__copy {
    padding-top: 286px;
  }
  .signature-hero h1 {
    max-width: 9ch;
    font-size: clamp(27px, 10vw, 36px);
  }
  .signature-hero__actions {
    width: min(100%, 268px);
  }
  .project-showcase__headline .signature-button {
    max-width: 204px;
  }
}

/* ========================================================================== 
   Signature Mobile Structural Fix v1.1.2
   Separate mobile hero composition; no clipping, collision or fixed-widget overlap.
   ========================================================================== */
@media (max-width: 820px) {
  /* Mobile must never inherit clipped headline animation wrappers. */
  [data-split-text],
  [data-split-text] .split-line,
  [data-split-text] .split-line > span {
    display: block;
    overflow: visible !important;
    transform: none !important;
    clip-path: none !important;
  }

  body.page-home {
    background: #eee6d8;
  }

  /* Hero: image and copy are independent rows rather than overlapping layers. */
  .signature-hero {
    min-height: 0 !important;
    height: auto !important;
    padding: calc(var(--header-h) + var(--safe-top)) 0 0 !important;
    overflow: hidden;
    background: var(--ink);
  }
  .signature-hero__grid {
    min-height: 0 !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(330px, 52svh) auto !important;
    align-content: start !important;
    padding: 0 !important;
  }
  .hero-art {
    position: relative !important;
    inset: auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 330px !important;
    margin: 0 !important;
    opacity: 1 !important;
    overflow: hidden;
  }
  .hero-art__main {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    clip-path: none !important;
    box-shadow: none !important;
  }
  .hero-art__main::after {
    background:
      linear-gradient(to top, rgba(13,13,12,.72) 0%, rgba(13,13,12,.16) 43%, rgba(13,13,12,.18) 100%),
      linear-gradient(125deg, rgba(201,167,122,.13), transparent 54%) !important;
  }
  .hero-art__slide img {
    filter: saturate(.82) contrast(1.04) brightness(.88) !important;
  }
  .hero-art::after {
    background: linear-gradient(to top, rgba(13,13,12,.42), transparent 45%) !important;
  }
  .hero-art__meta {
    top: 20px !important;
    bottom: auto !important;
    left: max(20px, var(--safe-left)) !important;
    right: max(20px, var(--safe-right)) !important;
  }
  .hero-art__progress {
    top: 42px !important;
    bottom: auto !important;
    left: max(20px, var(--safe-left)) !important;
    right: max(70px, var(--safe-right)) !important;
  }
  .hero-art__controls {
    top: 14px !important;
    right: max(20px, var(--safe-right)) !important;
    transform: none !important;
  }
  .hero-art__controls button {
    width: 38px;
    height: 38px;
  }

  .signature-hero__copy {
    position: relative !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    z-index: 9;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 30px max(var(--pad), var(--safe-right)) 27px max(var(--pad), var(--safe-left)) !important;
    display: block !important;
    background:
      radial-gradient(circle at 88% 4%, rgba(201,167,122,.12), transparent 38%),
      var(--ink);
  }
  .hero-eyebrow {
    position: relative;
    display: flex;
    margin: 0 0 19px !important;
    font-size: 7px;
    line-height: 1.4;
    letter-spacing: .19em;
    white-space: normal;
  }
  .signature-hero h1 {
    position: relative;
    display: block;
    width: 100%;
    max-width: 11.5ch !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    font-size: clamp(31px, 9.2vw, 46px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.045em !important;
    text-wrap: pretty;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .signature-hero__copy > p {
    width: min(100%, 38ch) !important;
    max-width: none !important;
    margin: 18px 0 0 !important;
    font-size: 10.5px !important;
    line-height: 1.78 !important;
    color: rgba(255,255,255,.68) !important;
  }
  .signature-hero__actions {
    width: min(100%, 330px) !important;
    margin-top: 23px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 14px !important;
  }
  .signature-hero .signature-button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 50px !important;
    padding: 0 14px 0 17px !important;
  }
  .signature-hero .signature-button span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .signature-hero .text-link {
    width: max-content !important;
    max-width: 100%;
    min-height: 0 !important;
    margin: 0 !important;
    padding-bottom: 7px;
    font-size: 8px !important;
  }
  .signature-hero__foot {
    position: relative;
    z-index: 9;
    min-height: 42px !important;
    padding: 12px max(var(--pad), var(--safe-right)) calc(12px + var(--safe-bottom)) max(var(--pad), var(--safe-left)) !important;
    background: var(--ink);
    border-top: 1px solid rgba(255,255,255,.1);
    grid-template-columns: 1fr auto !important;
  }

  /* Section headings and actions should use normal document flow. */
  .section-space,
  .section {
    overflow: hidden;
  }
  .section-index {
    width: 100% !important;
    max-width: 100%;
    grid-template-columns: auto minmax(30px, 55px) minmax(0, 1fr) !important;
    font-size: 7px !important;
    line-height: 1.4;
  }
  .section-index span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .signature-intro__grid,
  .services-atelier__intro,
  .project-showcase__headline,
  .journal-preview__head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
  }
  .signature-intro h2,
  .project-showcase h2,
  .services-atelier h2,
  .process-signature h2 {
    width: 100%;
    max-width: 11ch !important;
    overflow: visible;
    text-wrap: pretty;
  }
  .project-showcase__headline {
    gap: 24px !important;
  }
  .project-showcase__headline .signature-button {
    width: min(100%, 230px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    justify-self: start;
  }
  .journal-preview__head {
    gap: 18px !important;
  }
  .journal-preview__head .section-index {
    grid-row: 1;
  }
  .journal-preview__head .text-link {
    grid-row: 2;
    width: max-content;
    margin: 0 !important;
  }
  .journal-card h3,
  .blog-card h2,
  .project-card h3 {
    overflow-wrap: anywhere;
  }

  /* Floating actions remain out of the hero and stop covering content. */
  .signature-fab {
    display: block !important;
    right: max(12px, var(--safe-right)) !important;
    bottom: calc(12px + var(--safe-bottom)) !important;
    transition: opacity .3s, transform .3s, visibility .3s;
  }
  .signature-fab a {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50%;
  }
  .signature-fab button {
    display: none !important;
  }
  body.is-near-top .signature-fab {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(12px) !important;
  }
}

@media (max-width: 560px) {
  .signature-hero__grid {
    grid-template-rows: minmax(300px, 45svh) auto !important;
  }
  .hero-art {
    min-height: 300px !important;
  }
  .signature-hero__copy {
    padding-top: 27px !important;
    padding-bottom: 24px !important;
  }
  .signature-hero h1 {
    max-width: 10.5ch !important;
    font-size: clamp(29px, 9.6vw, 40px) !important;
    line-height: 1.09 !important;
  }
  .signature-hero__copy > p {
    width: min(100%, 34ch) !important;
    font-size: 10px !important;
  }
  .signature-hero__actions {
    width: min(100%, 292px) !important;
  }
  .signature-intro h2,
  .project-showcase h2,
  .services-atelier h2,
  .process-signature h2 {
    max-width: 10ch !important;
    font-size: clamp(27px, 9.2vw, 37px) !important;
    line-height: 1.08 !important;
  }
  .project-showcase__headline .signature-button {
    width: min(100%, 210px) !important;
  }
  .journal-card h3 {
    padding-right: 0 !important;
  }
}

@media (max-width: 390px) {
  .signature-hero__grid {
    grid-template-rows: minmax(286px, 43svh) auto !important;
  }
  .hero-art {
    min-height: 286px !important;
  }
  .signature-hero h1 {
    max-width: 10ch !important;
    font-size: clamp(28px, 9.5vw, 36px) !important;
  }
  .signature-hero__actions {
    width: 100% !important;
  }
}

/* Mobile-wide collision guards for secondary pages. */
@media (max-width: 820px) {
  .signature-button,
  .submit-btn,
  .signature-link,
  .text-link,
  .underline-link {
    max-width: 100%;
  }
  .page-hero__meta,
  .project-detail-meta,
  .project-card__meta,
  .journal-card__meta,
  .blog-card__meta {
    flex-wrap: wrap;
    row-gap: 8px;
  }
  .page-hero h1 {
    max-width: 11ch;
    font-size: clamp(34px, 10.5vw, 54px);
    line-height: 1.04;
    overflow-wrap: normal;
    word-break: normal;
  }
  .project-detail-title h1 {
    max-width: 11ch;
    overflow: visible;
    font-size: clamp(34px, 10vw, 52px);
    line-height: 1.04;
  }
  .article-hero h1,
  .policy-shell h1,
  .contact-grid h1,
  .service-detail-grid h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .blog-card h2,
  .project-card h3,
  .journal-card h3,
  .related-card h3,
  .service-row h2,
  .atelier-service h3,
  .showcase-row h3 {
    max-width: 100%;
    word-break: normal;
    overflow-wrap: break-word;
  }
  .footer-intro__copy h2 {
    max-width: 11ch;
    line-height: 1.06;
  }
  .footer-intro__copy,
  .footer-col,
  .footer-brand,
  .menu-panel__content,
  .menu-nav a,
  .service-row a,
  .showcase-row,
  .atelier-service {
    min-width: 0;
  }
}

/* ========================================================================== 
   Signature Contact Contrast Fix v1.1.3
   Keeps the contact experience on the signature dark surface with correct
   light typography, form controls and mobile contrast.
   ========================================================================== */
body.page-iletisim {
  background: var(--ink);
  color: var(--paper);
}
body.page-iletisim main {
  background:
    radial-gradient(circle at 82% 26%, rgba(201,167,122,.12), transparent 25%),
    radial-gradient(circle at 12% 68%, rgba(104,74,42,.12), transparent 31%),
    var(--ink);
  color: var(--paper);
}
body.page-iletisim main > .section {
  background: transparent;
  color: var(--paper);
}
body.page-iletisim .contact-grid,
body.page-iletisim .contact-meta,
body.page-iletisim .contact-form {
  color: var(--paper);
}
body.page-iletisim .contact-meta__item,
body.page-iletisim .contact-form,
body.page-iletisim .field {
  border-color: var(--line-dark);
}
body.page-iletisim .contact-meta__item small,
body.page-iletisim .field label,
body.page-iletisim .form-note {
  color: var(--muted-dark);
}
body.page-iletisim .contact-meta__item a,
body.page-iletisim .contact-meta__item p {
  color: var(--paper);
}
body.page-iletisim .contact-meta__item a {
  transition: color .3s ease;
}
body.page-iletisim .contact-meta__item a:hover {
  color: var(--gold-light);
}
body.page-iletisim .field input,
body.page-iletisim .field textarea {
  color: var(--paper);
  caret-color: var(--gold-light);
}
body.page-iletisim .field input::placeholder,
body.page-iletisim .field textarea::placeholder {
  color: rgba(255,253,248,.3);
}
body.page-iletisim .field:focus-within {
  border-color: rgba(226,199,159,.72);
}
body.page-iletisim .field:focus-within label {
  color: var(--gold-light);
}
body.page-iletisim .form-status {
  color: var(--gold-light);
}
body.page-iletisim .submit-btn {
  background: var(--gold);
  color: var(--ink);
  border: 1px solid var(--gold);
}
body.page-iletisim .submit-btn:hover {
  background: var(--paper);
  color: var(--ink);
  border-color: var(--paper);
}
body.page-iletisim .contact-map {
  position: relative;
  background: var(--ink-soft);
  border: 1px solid var(--line-dark);
  filter: grayscale(1) sepia(.18) brightness(.78) contrast(1.08);
}
body.page-iletisim .contact-map::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}

@media (max-width: 820px) {
  body.page-iletisim main > .section {
    padding-top: 58px;
    padding-bottom: 66px;
  }
  body.page-iletisim .contact-grid {
    gap: 48px;
  }
  body.page-iletisim .contact-meta {
    gap: 24px;
  }
  body.page-iletisim .contact-meta__item a,
  body.page-iletisim .contact-meta__item p {
    font-size: clamp(20px, 6.4vw, 29px);
    line-height: 1.18;
  }
  body.page-iletisim .field {
    padding: 21px 0;
  }
  body.page-iletisim .contact-map {
    margin-top: 0;
    margin-bottom: 72px;
  }
}

@media (max-width: 560px) {
  body.page-iletisim .page-hero {
    min-height: 48vh;
    padding-bottom: 42px;
  }
  body.page-iletisim .page-hero__meta {
    margin-bottom: 28px;
  }
  body.page-iletisim .contact-grid {
    gap: 42px;
  }
  body.page-iletisim .contact-meta__item a,
  body.page-iletisim .contact-meta__item p {
    font-size: clamp(19px, 6.2vw, 25px);
  }
  body.page-iletisim .contact-form {
    padding-bottom: 4px;
  }
  body.page-iletisim .submit-btn {
    width: 100%;
  }
  body.page-iletisim .contact-map {
    margin-left: 12px;
    margin-right: 12px;
    height: 340px;
  }
}

/* ========================================================================== 
   Signature Brand & WhatsApp Refinement v1.1.4
   International wordmark and bespoke WhatsApp action using supplied SVG mark.
   ========================================================================== */
.brand__text {
  gap: 4px;
  transform: translateY(1px);
}
.brand__text strong {
  font-size: 9px;
  letter-spacing: .24em;
  font-weight: 550;
}
.brand__text small {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--gold-light);
  font-size: 5.5px;
  line-height: 1;
  letter-spacing: .26em;
  font-weight: 500;
  white-space: nowrap;
}
.brand__text small b {
  font-size: 7px;
  font-weight: 400;
  opacity: .7;
}

.signature-fab {
  right: 22px;
  bottom: 22px;
  align-items: end;
  gap: 10px;
}
.signature-whatsapp {
  position: relative;
  isolation: isolate;
  width: 154px !important;
  height: 54px !important;
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 11px;
  padding: 0 15px 0 11px;
  overflow: hidden;
  border: 1px solid rgba(201,167,122,.62) !important;
  border-radius: 0 !important;
  background: rgba(13,13,12,.82) !important;
  color: var(--gold-light) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.025);
  backdrop-filter: blur(18px) saturate(125%);
  transition: width .5s var(--ease), color .4s, background .4s, border-color .4s, transform .4s var(--ease), box-shadow .4s;
}
.signature-whatsapp::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -80% -35%;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.22) 47%, transparent 63%);
  transform: translateX(-65%) rotate(8deg);
  transition: transform .8s var(--ease);
}
.signature-whatsapp::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(255,255,255,.035);
  pointer-events: none;
}
.signature-whatsapp__glow {
  position: absolute;
  z-index: -1;
  left: -18px;
  top: 50%;
  width: 70px;
  height: 70px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,167,122,.28), transparent 68%);
  filter: blur(7px);
  opacity: .8;
  transition: transform .5s var(--ease), opacity .4s;
}
.signature-whatsapp__icon {
  position: relative;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(201,167,122,.48);
  border-radius: 50%;
  background: rgba(201,167,122,.1);
  transition: transform .5s var(--ease), background .4s, border-color .4s;
}
.whatsapp-mark {
  width: 16px;
  height: 16px;
  display: block;
}
.signature-whatsapp__label {
  display: grid;
  gap: 2px;
  text-align: left;
  line-height: 1;
  white-space: nowrap;
}
.signature-whatsapp__label small {
  color: rgba(255,253,248,.44);
  font-size: 5px;
  letter-spacing: .21em;
  transition: color .4s;
}
.signature-whatsapp__label strong {
  color: inherit;
  font-size: 7px;
  letter-spacing: .2em;
  font-weight: 600;
}
.signature-whatsapp:hover {
  background: var(--gold) !important;
  color: var(--ink) !important;
  border-color: var(--gold) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.3), 0 0 34px rgba(201,167,122,.16);
}
.signature-whatsapp:hover::before {
  transform: translateX(64%) rotate(8deg);
}
.signature-whatsapp:hover .signature-whatsapp__glow {
  transform: translateY(-50%) scale(1.35);
  opacity: 1;
}
.signature-whatsapp:hover .signature-whatsapp__icon {
  transform: rotate(-8deg) scale(1.06);
  background: rgba(13,13,12,.08);
  border-color: rgba(13,13,12,.22);
}
.signature-whatsapp:hover .signature-whatsapp__label small {
  color: rgba(13,13,12,.56);
}
.signature-scroll-top {
  border-color: rgba(201,167,122,.34) !important;
}

@media (max-width: 820px) {
  .signature-fab {
    right: max(13px, var(--safe-right)) !important;
    bottom: calc(13px + var(--safe-bottom)) !important;
  }
  .signature-whatsapp {
    width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: var(--gold) !important;
    color: var(--ink) !important;
    border-color: rgba(255,253,248,.35) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.28), 0 0 0 5px rgba(201,167,122,.09);
  }
  .signature-whatsapp::after {
    inset: -6px;
    border: 1px solid rgba(201,167,122,.24);
    border-radius: 50%;
    animation: whatsappOrbit 3.2s ease-in-out infinite;
  }
  .signature-whatsapp::before,
  .signature-whatsapp__glow,
  .signature-whatsapp__label {
    display: none;
  }
  .signature-whatsapp__icon {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
    border: 0;
    background: transparent;
  }
  .whatsapp-mark {
    width: 21px;
    height: 21px;
  }
  .signature-whatsapp:hover,
  .signature-whatsapp:active {
    background: var(--gold-light) !important;
    color: var(--ink) !important;
  }
}

@keyframes whatsappOrbit {
  0%, 100% { transform: scale(.92); opacity: .35; }
  50% { transform: scale(1.08); opacity: .8; }
}

@media (prefers-reduced-motion: reduce) {
  .signature-whatsapp::after { animation: none !important; }
}
