:root {
  --bg: #0a0a0a;
  --panel: #111111;
  --panel-2: #171717;
  --text: #f4f4f0;
  --muted: #a2a2a0;
  --line: rgba(255,255,255,.12);
  --accent: #ef2a24;
  --accent-2: #ff5a4d;
  --max: 1320px;
  --pad: clamp(20px, 3vw, 44px);
  --radius: 22px;
  --display: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
  --body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--bg); color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.modal-open { overflow: hidden; }
::selection { background: var(--accent); color: white; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img, video { display: block; width: 100%; }

.site-shell { min-height: 100vh; position: relative; }
.noise {
  pointer-events: none;
  position: fixed;
  inset: 0;
  opacity: .05;
  z-index: 60;
  mix-blend-mode: soft-light;
  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='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}

.container { width: min(var(--max), calc(100% - var(--pad) * 2)); margin-inline: auto; }
.section { position: relative; padding: clamp(70px, 8vw, 128px) 0; border-top: 1px solid var(--line); }
.section.compact { padding: clamp(52px, 6vw, 92px) 0; }
.eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .18em; color: var(--muted); font-weight: 700; }
.kicker { max-width: 640px; color: var(--muted); font-size: clamp(16px, 1.5vw, 20px); line-height: 1.55; margin: 16px 0 0; }
.display {
  font-family: var(--display);
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: .88;
  margin: 0;
}
.h1 { font-size: clamp(58px, 10.4vw, 168px); max-width: 1150px; }
.h2 { font-size: clamp(46px, 7vw, 106px); }
.h3 { font-size: clamp(30px, 4vw, 58px); }

.header {
  height: 78px;
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  display: flex;
  align-items: center;
  background: linear-gradient(to bottom, rgba(10,10,10,.96), rgba(10,10,10,.72), transparent);
  backdrop-filter: blur(10px);
}
.header-inner { width: min(var(--max), calc(100% - var(--pad)*2)); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-family: var(--display); font-weight: 900; font-size: 24px; letter-spacing: -.04em; text-transform: uppercase; }
.nav { display:flex; align-items:center; gap: clamp(18px, 2.2vw, 34px); font-size: 13px; }
.nav a { color: #d8d8d5; transition: color .2s ease; }
.nav a:hover, .nav a[aria-current="page"] { color: white; }
.btn {
  appearance: none;
  border: 1px solid var(--line);
  background: transparent;
  min-height: 46px;
  border-radius: 999px;
  padding: 0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
  font-weight: 700;
  font-size: 13px;
}
.btn:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.34); }
.btn-primary { background: var(--accent); border-color: var(--accent); color:white; }
.btn-primary:hover { background: var(--accent-2); border-color: var(--accent-2); }
.btn-ghost { background: rgba(255,255,255,.035); }
.menu-btn { display:none; width:46px; height:46px; border:1px solid var(--line); border-radius:50%; background:#111; cursor:pointer; }
.menu-btn span { width:17px; height:1px; background:#fff; display:block; margin:4px auto; }

.hero {
  min-height: 100svh;
  display:flex;
  align-items:flex-end;
  padding: 130px 0 54px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero::before {
  content:"";
  position:absolute;
  width:min(60vw, 860px);
  aspect-ratio:1;
  border:1px solid rgba(239,42,36,.2);
  border-radius:50%;
  top:8%; right:-18%;
  box-shadow: 0 0 120px rgba(239,42,36,.08), inset 0 0 120px rgba(239,42,36,.04);
  transform: translate3d(var(--mx,0), var(--my,0),0);
  transition: transform .16s linear;
}
.hero-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(250px,.55fr); gap: clamp(34px,5vw,80px); align-items:end; }
.hero-copy { position:relative; z-index:2; }
.hero .accent-line { color: var(--accent); display:block; }
.hero-side { padding-bottom:10px; }
.hero-side p { margin: 0 0 26px; color:#c8c8c4; font-size:clamp(16px,1.35vw,19px); line-height:1.5; max-width:420px; }
.cta-row { display:flex; flex-wrap:wrap; gap:10px; }
.hero-meta { margin-top: 34px; display:flex; gap:20px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.12em; }

.project-stage { margin-top: 34px; display:grid; grid-template-columns: .42fr 1fr; gap:18px; min-height: 560px; }
.project-index { border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; background:var(--panel); }
.project-tab { border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; padding:20px; cursor:pointer; color:#b6b6b2; display:grid; grid-template-columns:28px 1fr; gap:10px; transition:background .2s ease,color .2s ease; }
.project-tab:last-child { border-bottom:0; }
.project-tab:hover, .project-tab.active { background:#181818; color:#fff; }
.project-tab.active .project-num { color:var(--accent); }
.project-num { font-size:11px; padding-top:4px; color:#6f6f6d; }
.project-tab strong { display:block; font-size:21px; letter-spacing:-.03em; }
.project-tab small { display:block; margin-top:6px; color:var(--muted); line-height:1.4; }
.project-view { position:relative; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:#171717; min-height:560px; }
.project-art { position:absolute; inset:0; background:
  radial-gradient(circle at 78% 16%, rgba(239,42,36,.72), transparent 18%),
  linear-gradient(145deg,#252525 0 36%,#090909 36% 62%,#2d2d2d 62%);
  transform:scale(1.02);
  transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}
.project-view:hover .project-art { transform:scale(1.06); }
.project-art::before { content:""; position:absolute; inset:10% 14%; border:1px solid rgba(255,255,255,.24); transform:rotate(-7deg); }
.project-art::after { content:"SUBVRSIVA"; position:absolute; right:-2%; bottom:8%; font-family:var(--display); font-weight:900; font-size:clamp(80px,11vw,180px); letter-spacing:-.06em; line-height:.7; color:rgba(255,255,255,.08); }
.project-view-content { position:absolute; inset:auto 0 0; padding:clamp(22px,3vw,38px); background:linear-gradient(transparent,rgba(0,0,0,.9)); z-index:2; }
.project-view-content .tag { color:#ddd; font-size:11px; text-transform:uppercase; letter-spacing:.14em; }
.project-view-content h3 { margin:8px 0 10px; font-family:var(--display); text-transform:uppercase; font-size:clamp(40px,6vw,80px); letter-spacing:-.045em; line-height:.92; }
.project-view-content p { margin:0; color:#c8c8c4; max-width:680px; font-size:15px; line-height:1.5; }
.project-link { position:absolute; right:24px; top:24px; z-index:3; }

.services-panel { margin-top:34px; display:grid; grid-template-columns:.65fr 1fr; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; min-height:420px; }
.service-list { border-right:1px solid var(--line); background:var(--panel); }
.service-btn { width:100%; min-height:92px; border:0; border-bottom:1px solid var(--line); background:transparent; color:#8e8e8b; padding:20px; text-align:left; cursor:pointer; font-family:var(--display); text-transform:uppercase; font-weight:900; font-size:clamp(24px,3vw,42px); letter-spacing:-.035em; transition:color .2s ease, background .2s ease; }
.service-btn:last-child { border-bottom:0; }
.service-btn:hover, .service-btn.active { color:white; background:#171717; }
.service-btn.active::after { content:" ↗"; color:var(--accent); }
.service-content { padding:clamp(28px,5vw,68px); display:flex; flex-direction:column; justify-content:center; background:linear-gradient(150deg,#151515,#0d0d0d); }
.service-content h3 { margin:0 0 18px; font-family:var(--display); text-transform:uppercase; font-size:clamp(42px,6vw,76px); letter-spacing:-.045em; line-height:.9; }
.service-content p { max-width:680px; margin:0; font-size:clamp(16px,1.45vw,20px); color:#c2c2bf; line-height:1.55; }
.service-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }
.chip { border:1px solid var(--line); border-radius:999px; padding:9px 12px; font-size:12px; color:#c8c8c4; }

.method { margin-top:32px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.method-step { padding:24px; min-height:200px; border-right:1px solid var(--line); background:var(--panel); transition:background .2s ease; }
.method-step:last-child { border-right:0; }
.method-step:hover { background:#171717; }
.method-step .n { font-size:11px; color:var(--accent); letter-spacing:.12em; }
.method-step h3 { margin:54px 0 12px; font-family:var(--display); text-transform:uppercase; font-size:32px; letter-spacing:-.03em; }
.method-step p { margin:0; color:var(--muted); line-height:1.45; font-size:13px; max-width:220px; }

.barber-card { margin-top:34px; min-height:520px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:grid; grid-template-columns:1fr .9fr; background:#101010; }
.barber-visual { position:relative; overflow:hidden; background:linear-gradient(135deg,#050505 0 48%,#2b0b09 48% 54%,#171717 54%); }
.barber-visual::before { content:""; position:absolute; width:330px; height:330px; border:1px solid rgba(255,255,255,.17); border-radius:50%; top:16%; left:17%; box-shadow:0 0 0 50px rgba(255,255,255,.018),0 0 0 100px rgba(255,255,255,.012); }
.barber-visual::after { content:"PREMIUM / BARBER CULTURE"; position:absolute; left:24px; bottom:24px; font-size:11px; letter-spacing:.14em; color:#aaa; }
.barber-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(30px,5vw,68px); }
.barber-copy h3 { margin:10px 0 18px; font-family:var(--display); text-transform:uppercase; font-size:clamp(42px,5.8vw,78px); line-height:.92; letter-spacing:-.045em; }
.barber-copy p { color:#bdbdb9; line-height:1.55; max-width:530px; margin:0 0 26px; }

.cta-section { text-align:center; overflow:hidden; }
.cta-section .h2 { max-width:980px; margin-inline:auto; }
.cta-section .kicker { margin-inline:auto; }
.cta-section .cta-row { justify-content:center; margin-top:28px; }
.contact-inline { margin-top:30px; display:flex; justify-content:center; gap:22px; flex-wrap:wrap; font-size:13px; color:var(--muted); }
.contact-inline a:hover { color:#fff; }

.footer { border-top:1px solid var(--line); padding:28px 0 34px; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; color:#72726f; font-size:12px; }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; }

.page-hero { padding:150px 0 66px; min-height:58vh; display:flex; align-items:flex-end; border-bottom:1px solid var(--line); }
.page-hero-grid { display:grid; grid-template-columns:1fr .38fr; gap:44px; align-items:end; }
.page-hero p { color:#bcbcb8; line-height:1.55; margin:0; max-width:520px; }

.portfolio-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
.portfolio-card { min-height:390px; border:1px solid var(--line); border-radius:18px; overflow:hidden; position:relative; background:#131313; }
.portfolio-card:nth-child(1), .portfolio-card:nth-child(4) { grid-column:span 7; }
.portfolio-card:nth-child(2), .portfolio-card:nth-child(3) { grid-column:span 5; }
.portfolio-card .visual { position:absolute; inset:0; background:linear-gradient(135deg,#262626 0 42%,#0a0a0a 42% 68%,#3d0d0a 68%); transition:transform .6s ease; }
.portfolio-card:nth-child(2) .visual { background:linear-gradient(155deg,#080808 0 50%,#202020 50% 74%,#68120c 74%); }
.portfolio-card:nth-child(3) .visual { background:linear-gradient(25deg,#151515 0 38%,#3b3b3b 38% 62%,#080808 62%); }
.portfolio-card:hover .visual { transform:scale(1.035); }
.portfolio-card .meta { position:absolute; inset:auto 0 0; padding:24px; background:linear-gradient(transparent,rgba(0,0,0,.88)); }
.portfolio-card h2 { font-family:var(--display); text-transform:uppercase; letter-spacing:-.035em; font-size:clamp(34px,4vw,58px); margin:5px 0 6px; }
.portfolio-card p { margin:0; color:#b7b7b4; font-size:13px; }

.case-hero { padding:130px 0 24px; }
.case-cover { min-height:68vh; border:1px solid var(--line); border-radius:24px; position:relative; overflow:hidden; background:linear-gradient(135deg,#232323 0 34%,#070707 34% 64%,#45110d 64%); }
.case-cover::before { content:"METANOVA"; position:absolute; left:3%; bottom:-1%; font-family:var(--display); font-weight:900; font-size:clamp(80px,15vw,230px); color:rgba(255,255,255,.09); letter-spacing:-.055em; line-height:.8; }
.case-intro { display:grid; grid-template-columns:1fr .5fr; gap:30px; padding:32px 0 10px; }
.case-intro h1 { font-size:clamp(56px,9vw,130px); }
.case-intro-meta { display:flex; align-items:flex-end; justify-content:flex-end; }
.case-intro-meta p { margin:0; color:#aaa; max-width:420px; line-height:1.5; }
.case-two { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.case-block { border:1px solid var(--line); border-radius:18px; padding:clamp(24px,3.4vw,46px); background:var(--panel); }
.case-block h3 { margin:8px 0 16px; font-family:var(--display); text-transform:uppercase; font-size:clamp(34px,4.2vw,58px); letter-spacing:-.035em; }
.case-block p { margin:0; color:#bdbdb9; line-height:1.58; max-width:680px; }
.opportunity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:24px; }
.opportunity { border-top:1px solid var(--line); padding-top:16px; }
.opportunity strong { display:block; font-size:15px; margin-bottom:8px; }
.opportunity span { color:var(--muted); font-size:13px; line-height:1.45; }
.quote-block { min-height:440px; display:flex; align-items:center; justify-content:center; text-align:center; padding:50px; background:var(--accent); color:white; border-radius:24px; }
.quote-block p { font-family:var(--display); text-transform:uppercase; font-weight:900; font-size:clamp(44px,7vw,100px); line-height:.92; letter-spacing:-.05em; max-width:1100px; margin:0; }
.case-gallery { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.case-gallery .tile { min-height:400px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(150deg,#1c1c1c,#090909 56%,#4a100d); }
.case-gallery .tile:nth-child(3) { grid-column:span 2; min-height:560px; background:linear-gradient(35deg,#0d0d0d 0 33%,#3b3b3b 33% 67%,#76160f 67%); }

.tabs-page { display:grid; grid-template-columns:.42fr 1fr; min-height:480px; border:1px solid var(--line); border-radius:22px; overflow:hidden; }
.tabs-nav { border-right:1px solid var(--line); background:var(--panel); }
.tabs-nav button { display:block; width:100%; min-height:96px; padding:20px; border:0; border-bottom:1px solid var(--line); background:none; text-align:left; color:#999; cursor:pointer; font-family:var(--display); font-size:clamp(26px,3.5vw,48px); font-weight:900; text-transform:uppercase; letter-spacing:-.04em; }
.tabs-nav button.active { color:white; background:#181818; }
.tabs-body { padding:clamp(30px,5vw,70px); display:flex; flex-direction:column; justify-content:center; }
.tabs-body h2 { margin:0 0 18px; font-family:var(--display); text-transform:uppercase; font-size:clamp(48px,7vw,90px); line-height:.9; letter-spacing:-.05em; }
.tabs-body p { color:#bdbdb9; line-height:1.55; font-size:18px; max-width:680px; margin:0; }
.tabs-body ul { list-style:none; padding:0; margin:24px 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.tabs-body li { border:1px solid var(--line); border-radius:999px; padding:9px 12px; color:#c9c9c5; font-size:12px; }

.barber-problems { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:28px; }
.problem-card { border:1px solid var(--line); background:var(--panel); border-radius:18px; padding:28px; min-height:180px; display:flex; align-items:flex-end; font-family:var(--display); font-weight:900; text-transform:uppercase; font-size:clamp(26px,3.4vw,46px); line-height:.95; letter-spacing:-.04em; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.about-visual { min-height:520px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(160deg,#151515,#2a2a2a 48%,#51100c 48%,#070707 76%); }
.about-copy { border:1px solid var(--line); border-radius:22px; padding:clamp(30px,5vw,64px); display:flex; flex-direction:column; justify-content:center; background:var(--panel); }
.about-copy p { margin:0; color:#bdbdb9; font-size:18px; line-height:1.6; max-width:620px; }
.team { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:24px; }
.team-card { border:1px solid var(--line); border-radius:18px; padding:24px; min-height:220px; background:#121212; display:flex; flex-direction:column; justify-content:flex-end; }
.team-card strong { font-size:20px; }
.team-card span { color:var(--muted); margin-top:4px; font-size:13px; }

.modal-backdrop { position:fixed; inset:0; z-index:100; background:rgba(0,0,0,.74); backdrop-filter:blur(12px); display:none; align-items:center; justify-content:center; padding:18px; }
.modal-backdrop.open { display:flex; }
.quote-modal { width:min(920px,100%); min-height:560px; max-height:calc(100svh - 36px); overflow:auto; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:#0d0d0d; box-shadow:0 30px 100px rgba(0,0,0,.6); position:relative; }
.modal-top { display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(13,13,13,.94); backdrop-filter:blur(10px); z-index:2; }
.modal-progress { font-size:12px; color:#999; letter-spacing:.12em; text-transform:uppercase; }
.modal-close { width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:#141414; cursor:pointer; font-size:21px; }
.modal-body { padding:clamp(24px,5vw,58px); }
.form-step { display:none; }
.form-step.active { display:block; animation:fadeUp .28s ease; }
.form-step h2 { margin:0 0 12px; font-family:var(--display); text-transform:uppercase; font-size:clamp(42px,6vw,78px); line-height:.92; letter-spacing:-.045em; }
.form-step > p { color:#aaa; margin:0 0 30px; max-width:620px; line-height:1.5; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field.full { grid-column:span 2; }
.field label { font-size:12px; color:#aaa; }
.field input, .field textarea, .field select { width:100%; border:1px solid var(--line); background:#131313; color:white; border-radius:14px; padding:14px 15px; outline:none; min-height:50px; transition:border-color .2s ease, background .2s ease; }
.field textarea { min-height:130px; resize:vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color:rgba(239,42,36,.75); background:#161616; }
.form-actions { display:flex; justify-content:space-between; gap:10px; margin-top:28px; }
.form-error { color:#ff8c84; font-size:12px; min-height:18px; margin-top:10px; }
.success-box { text-align:center; padding:40px 10px; }
.success-box h2 { font-family:var(--display); text-transform:uppercase; font-size:clamp(50px,7vw,90px); letter-spacing:-.05em; margin:0 0 14px; }
.success-box p { color:#aaa; max-width:560px; margin:0 auto 24px; line-height:1.55; }

.custom-cursor { position:fixed; width:18px; height:18px; border:1px solid rgba(255,255,255,.55); border-radius:50%; pointer-events:none; z-index:200; transform:translate(-50%,-50%); transition:width .15s ease,height .15s ease, background .15s ease,border-color .15s ease; mix-blend-mode:difference; }
.custom-cursor.big { width:64px; height:64px; background:white; border-color:white; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
@keyframes fadeUp { from { opacity:0; transform:translateY(10px) } to { opacity:1; transform:none } }

@media (max-width: 920px) {
  .nav { display:none; }
  .menu-btn { display:block; }
  .hero { min-height:auto; padding-top:140px; }
  .hero-grid, .page-hero-grid, .case-intro, .about-grid { grid-template-columns:1fr; }
  .hero-side { max-width:620px; }
  .project-stage, .services-panel, .tabs-page { grid-template-columns:1fr; }
  .project-stage { min-height:0; }
  .project-index, .service-list, .tabs-nav { display:grid; grid-template-columns:repeat(2,1fr); border-right:0; border-bottom:1px solid var(--line); }
  .project-tab, .service-btn, .tabs-nav button { min-height:auto; border-right:1px solid var(--line); }
  .project-tab:nth-child(even), .service-btn:nth-child(even), .tabs-nav button:nth-child(even) { border-right:0; }
  .project-view { min-height:480px; }
  .method { grid-template-columns:repeat(2,1fr); }
  .method-step:nth-child(2) { border-right:0; }
  .method-step:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .barber-card { grid-template-columns:1fr; }
  .barber-visual { min-height:330px; }
  .portfolio-card, .portfolio-card:nth-child(n) { grid-column:span 6; }
  .case-two, .case-gallery { grid-template-columns:1fr; }
  .case-gallery .tile:nth-child(3) { grid-column:span 1; min-height:400px; }
  .opportunity-grid { grid-template-columns:1fr; }
  .barber-problems { grid-template-columns:1fr 1fr; }
  .case-intro-meta { justify-content:flex-start; }
  .custom-cursor { display:none; }
}

@media (max-width: 640px) {
  :root { --pad: 18px; --radius: 18px; }
  .header { height:68px; }
  .brand { font-size:21px; }
  .header .btn-primary { display:none; }
  .hero { padding-top:116px; padding-bottom:38px; }
  .h1 { font-size:clamp(54px,17vw,84px); }
  .h2 { font-size:clamp(42px,13vw,68px); }
  .section { padding:68px 0; }
  .hero-meta { display:none; }
  .project-index { display:flex; flex-direction:row; overflow-x:auto; scrollbar-width:none; }
  .project-index::-webkit-scrollbar { display:none; }
  .project-tab { min-width:230px; border-right:1px solid var(--line); border-bottom:0; }
  .project-view { min-height:420px; }
  .project-link { top:14px; right:14px; }
  .services-panel { display:block; }
  .service-list, .tabs-nav { display:flex; overflow-x:auto; scrollbar-width:none; }
  .service-list::-webkit-scrollbar, .tabs-nav::-webkit-scrollbar { display:none; }
  .service-btn, .tabs-nav button { min-width:190px; border-bottom:0; border-right:1px solid var(--line); font-size:27px; }
  .service-content, .tabs-body { min-height:360px; padding:28px 22px; }
  .method { grid-template-columns:1fr 1fr; }
  .method-step { padding:18px; min-height:170px; }
  .method-step h3 { margin-top:34px; font-size:27px; }
  .barber-card { min-height:0; }
  .barber-copy { padding:28px 22px 34px; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
  .page-hero { padding-top:118px; min-height:48vh; }
  .portfolio-grid { display:block; }
  .portfolio-card { min-height:360px; margin-bottom:14px; }
  .case-cover { min-height:52vh; }
  .case-intro { padding-top:24px; }
  .case-two { display:block; }
  .case-block { margin-bottom:12px; }
  .quote-block { min-height:340px; padding:26px; }
  .barber-problems { grid-template-columns:1fr; }
  .problem-card { min-height:150px; }
  .team { grid-template-columns:1fr; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:span 1; }
  .modal-backdrop { padding:0; align-items:flex-end; }
  .quote-modal { width:100%; min-height:92svh; max-height:96svh; border-radius:24px 24px 0 0; border-bottom:0; }
  .modal-body { padding:26px 20px 34px; }
  .form-actions { position:sticky; bottom:0; background:linear-gradient(transparent,#0d0d0d 24%); padding-top:24px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .reveal { opacity:1; transform:none; }
}
