@view-transition { navigation: auto; }
:root {
  --bg: #070707;
  --bg-soft: #0d0d0d;
  --panel: #111111;
  --panel-2: #171717;
  --text: #f4f1eb;
  --muted: #aaa59d;
  --muted-2: #77736d;
  --line: rgba(255,255,255,.12);
  --line-strong: rgba(255,255,255,.22);
  --accent: #ff6b00;
  --accent-2: #ff8a2a;
  --max: 1240px;
  --radius: 2px;
  --shadow: 0 30px 90px rgba(0,0,0,.45);
  --ease: cubic-bezier(.2,.72,.2,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 80% 5%, rgba(255,107,0,.09), transparent 23rem),
    linear-gradient(90deg, transparent 0 49.8%, rgba(255,255,255,.018) 50%, transparent 50.2%),
    var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 100;
  opacity: .03;
  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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
::selection { background: var(--accent); color: #000; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.narrow { width: min(calc(100% - 40px), 880px); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 999; background: var(--accent); color:#050505; padding: 12px 18px; font-weight:800; transition: top .2s; }
.skip-link:focus { top: 16px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.scroll-progress { position: fixed; left: 0; top: 0; height: 3px; width: 100%; z-index: 200; transform-origin: left; transform: scaleX(0); background: var(--accent); }
.site-header { position: fixed; inset: 0 0 auto; z-index: 90; transition: background .35s, border-color .35s, transform .35s; border-bottom: 1px solid transparent; }
.site-header.scrolled { background: rgba(7,7,7,.88); border-color: var(--line); backdrop-filter: blur(18px); }
.header-inner { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: 21px; font-weight: 900; letter-spacing: -.04em; }
.brand img { width: 46px; height: 46px; object-fit: contain; }
.brand b { color: var(--accent); }
.main-nav { display: flex; align-items: center; gap: 28px; font-size: 16px; font-weight: 600; }
.main-nav > a { color: #d8d5cf; position: relative; }
.main-nav > a::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:2px; background:var(--accent); transition:right .3s var(--ease); }
.main-nav > a:hover::after, .main-nav > a[aria-current="page"]::after { right:0; }
.nav-cta { background: var(--accent); color: #060606 !important; padding: 12px 17px; }
.nav-cta::after { display:none; }
.menu-toggle { display:none; width:46px; height:46px; background:transparent; border:1px solid var(--line); cursor:pointer; place-items:center; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after { content:""; display:block; width:21px; height:2px; background:#fff; transition:.25s; }
.menu-toggle span { margin:5px 0; }
.menu-toggle[aria-expanded="true"] span { opacity:0; }
.menu-toggle[aria-expanded="true"]::before { transform:translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"]::after { transform:translateY(-7px) rotate(-45deg); }

.btn { display: inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding: 0 22px; border:1px solid var(--line-strong); background:transparent; color:var(--text); font-weight:800; letter-spacing:.01em; cursor:pointer; transition: transform .25s var(--ease), background .25s, border-color .25s; }
.btn:hover { transform: translateY(-3px); border-color:rgba(255,255,255,.55); }
.btn-primary { background:var(--accent); border-color:var(--accent); color:#080808; }
.btn-primary:hover { background:var(--accent-2); border-color:var(--accent-2); }
.btn-arrow::after { content:"↗"; font-size:1.2em; }
.text-link { color:var(--accent); font-weight:800; display:inline-flex; gap:8px; align-items:center; }
.text-link::after { content:"→"; transition: transform .25s; }
.text-link:hover::after { transform:translateX(5px); }

.hero { min-height: 100svh; padding: 130px 0 76px; position:relative; display:grid; align-items:end; overflow:hidden; border-bottom:1px solid var(--line); }
.hero::before { content:"POMORSKIE"; position:absolute; left:50%; top:8%; transform:translateX(-50%); font-weight:950; font-size:clamp(6rem,18vw,17rem); letter-spacing:-.08em; line-height:.8; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.055); white-space:nowrap; pointer-events:none; }
.hero-grid { display:grid; grid-template-columns: minmax(0, 1.05fr) minmax(390px,.95fr); align-items:end; gap:clamp(36px,6vw,88px); }
.hero-copy { position:relative; z-index:3; }
.eyebrow { display:flex; align-items:center; gap:12px; color:#c9c5bd; text-transform:uppercase; font-size:12px; font-weight:900; letter-spacing:.18em; margin-bottom:22px; }
.eyebrow::before { content:""; width:42px; height:2px; background:var(--accent); }
h1,h2,h3,p { margin-top:0; }
.hero h1 { margin:0; font-size:clamp(4rem,5.3vw,5.7rem); line-height:.82; letter-spacing:-.075em; font-weight:950; text-transform:uppercase; max-width:850px; }
.hero h1 .accent { color:var(--accent); display:block; }
.hero-lead { max-width:660px; color:#c6c1b9; font-size:clamp(1.06rem,1.45vw,1.3rem); margin:32px 0 30px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-note { display:flex; gap:30px; margin-top:34px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.hero-note strong { color:#fff; display:block; font-size:16px; }
.hero-visual { position:relative; height:min(72vh,730px); min-height:520px; perspective:1000px; }
.hero-frame { position:absolute; overflow:hidden; box-shadow:var(--shadow); background:#1a1a1a; }
.hero-frame img { width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.08); transition:transform 1.1s var(--ease), filter .5s; }
.hero-frame:hover img { transform:scale(1.035); filter:saturate(1) contrast(1.07); }
.hero-frame.main { inset:0 0 0 13%; clip-path:polygon(14% 0,100% 0,100% 89%,85% 100%,0 100%,0 15%); }
.hero-frame.small { width:42%; height:35%; left:0; bottom:4%; border:8px solid var(--bg); z-index:2; clip-path:polygon(0 0,100% 0,100% 82%,82% 100%,0 100%); }
.hero-badge { position:absolute; right:-16px; bottom:58px; z-index:4; width:132px; aspect-ratio:1; border-radius:50%; background:var(--accent); color:#090909; display:grid; place-items:center; text-align:center; font-size:12px; font-weight:950; text-transform:uppercase; letter-spacing:.08em; animation:spin 18s linear infinite; }
.hero-badge::after { content:"FK"; position:absolute; font-size:28px; letter-spacing:-.07em; animation:spin 18s linear infinite reverse; }
@keyframes spin { to { transform:rotate(360deg); } }
.scroll-cue { position:absolute; left:24px; bottom:34px; writing-mode:vertical-rl; text-transform:uppercase; letter-spacing:.18em; font-size:10px; color:var(--muted-2); display:flex; align-items:center; gap:12px; }
.scroll-cue::after { content:""; height:64px; width:1px; background:linear-gradient(var(--accent),transparent); }

.ticker { overflow:hidden; border-bottom:1px solid var(--line); background:#0a0a0a; }
.ticker-track { display:flex; width:max-content; animation:ticker 34s linear infinite; }
.ticker span { display:flex; align-items:center; gap:30px; padding:17px 28px; color:#d8d5cf; text-transform:uppercase; letter-spacing:.14em; font-weight:850; font-size:12px; }
.ticker span::after { content:"✦"; color:var(--accent); }
@keyframes ticker { to { transform:translateX(-50%); } }

.section { padding:clamp(86px,11vw,148px) 0; position:relative; }
.section + .section { border-top:1px solid var(--line); }
.section-head { display:grid; grid-template-columns:180px 1fr; gap:34px; margin-bottom:58px; align-items:start; }
.section-index { color:var(--accent); font-weight:900; font-size:12px; letter-spacing:.18em; text-transform:uppercase; }
.section-title { margin:0; font-size:clamp(4rem,4.3vw,4.7rem); line-height:.93; letter-spacing:-.06em; max-width:820px; }
.section-title em { color:var(--accent); font-style:normal; }
.section-intro { color:var(--muted); max-width:720px; font-size:1.08rem; margin-top:24px; }

.services-layout { display:grid; grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr); gap:58px; align-items:start; }
.services-preview { position:sticky; top:112px; height:650px; overflow:hidden; background:#151515; clip-path:polygon(0 0,100% 0,100% 92%,92% 100%,0 100%); }
.services-preview::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.6)); pointer-events:none; }
.services-preview img { width:100%; height:100%; object-fit:cover; transition:opacity .35s, transform .65s var(--ease); filter:saturate(.8); }
.services-preview.switching img { opacity:.2; transform:scale(1.04); }
.preview-label { position:absolute; left:28px; bottom:26px; z-index:2; font-weight:900; text-transform:uppercase; font-size:13px; letter-spacing:.12em; }
.service-list { border-top:1px solid var(--line); }
.service-item { display:grid; grid-template-columns:60px 1fr auto; gap:24px; align-items:start; padding:28px 0; border-bottom:1px solid var(--line); transition:padding .3s var(--ease), background .3s; }
.service-item:hover { padding-left:18px; }
.service-item .num { color:var(--accent); font-size:12px; font-weight:900; letter-spacing:.15em; padding-top:8px; }
.service-item h3 { margin:0 0 8px; font-size:clamp(1.3rem,2vw,2rem); letter-spacing:-.035em; }
.service-item p { color:var(--muted); margin:0; max-width:620px; font-size:.95rem; }
.service-item .arrow { width:44px; height:44px; border:1px solid var(--line); display:grid; place-items:center; transition:.25s; }
.service-item:hover .arrow { background:var(--accent); color:#060606; border-color:var(--accent); transform:rotate(45deg); }
.service-mobile-image { display:none; }

.proof-band { background:var(--accent); color:#0a0a0a; padding:72px 0; }
.proof-grid { display:grid; grid-template-columns:1.2fr repeat(3,1fr); gap:1px; background:rgba(0,0,0,.16); }
.proof-grid > * { background:var(--accent); padding:26px 30px; }
.proof-copy h2 { font-size:clamp(2.5rem,4.4vw,4.9rem); line-height:.92; letter-spacing:-.065em; margin:0; }
.proof-copy h2 span { color:#fff; }
.stat { display:flex; flex-direction:column; justify-content:flex-end; min-height:210px; }
.stat strong { font-size:clamp(2.8rem,5vw,5.4rem); line-height:.9; letter-spacing:-.07em; }
.stat span { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin-top:14px; }

.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.process-card { padding:34px 28px 38px; background:var(--bg); min-height:300px; position:relative; transition:background .3s; }
.process-card:hover { background:var(--panel); }
.process-card .step { color:var(--accent); font-weight:950; font-size:12px; letter-spacing:.18em; }
.process-card h3 { margin:70px 0 14px; font-size:1.5rem; letter-spacing:-.035em; }
.process-card p { color:var(--muted); margin:0; font-size:.94rem; }
.process-card::after { content:"↘"; position:absolute; right:22px; top:20px; color:var(--muted-2); font-size:22px; }

.projects-shell { overflow:hidden; }
.projects-top { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:30px; }
.slider-controls { display:flex; gap:8px; }
.slider-controls button { width:50px; height:50px; border:1px solid var(--line); background:transparent; cursor:pointer; font-size:20px; transition:.25s; }
.slider-controls button:hover { background:var(--accent); color:#070707; border-color:var(--accent); }
.projects-track { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:20px; }
.projects-track::-webkit-scrollbar { display:none; }
.project-card { min-width:min(78vw,580px); scroll-snap-align:start; position:relative; overflow:hidden; background:#151515; }
.project-card:nth-child(even) { min-width:min(62vw,470px); }
.project-card img { width:100%; height:520px; object-fit:cover; filter:saturate(.75); transition:transform .8s var(--ease), filter .4s; }
.project-card:hover img { transform:scale(1.035); filter:saturate(1); }
.project-caption { position:absolute; inset:auto 0 0; padding:100px 26px 24px; background:linear-gradient(transparent,rgba(0,0,0,.9)); }
.project-caption span { color:var(--accent); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.project-caption h3 { margin:7px 0 0; font-size:1.65rem; }

.split-feature { display:grid; grid-template-columns:1fr 1fr; min-height:720px; }
.split-image { position:relative; overflow:hidden; }
.split-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.75); }
.split-content { background:var(--accent); color:#090909; padding:clamp(50px,7vw,100px); display:flex; flex-direction:column; justify-content:center; }
.split-content .eyebrow { color:#20160f; }
.split-content .eyebrow::before { background:#090909; }
.split-content h2 { font-size:clamp(3rem,5vw,6rem); line-height:.9; letter-spacing:-.065em; margin-bottom:32px; }
.split-content p { font-size:1.08rem; max-width:580px; }
.check-list { list-style:none; padding:0; margin:28px 0 38px; display:grid; gap:13px; }
.check-list li { display:flex; gap:12px; font-weight:800; }
.check-list li::before { content:"✓"; }
.split-content .btn { border-color:#090909; color:#090909; align-self:flex-start; }
.split-content .btn:hover { background:#090909; color:#fff; }

.faq-list { border-top:1px solid var(--line); }
details.faq { border-bottom:1px solid var(--line); }
details.faq summary { list-style:none; cursor:pointer; padding:26px 56px 26px 0; font-size:clamp(1.15rem,2vw,1.55rem); font-weight:800; position:relative; }
details.faq summary::-webkit-details-marker { display:none; }
details.faq summary::after { content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%); color:var(--accent); font-size:30px; font-weight:300; }
details.faq[open] summary::after { content:"−"; }
details.faq p { color:var(--muted); max-width:850px; padding:0 0 26px; margin:0; }

.cta-section { padding:0; overflow:hidden; }
.cta-panel { min-height:520px; display:grid; place-items:center; text-align:center; position:relative; background:var(--panel); padding:70px 20px; }
.cta-panel::before { content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(0,0,0,.92),rgba(0,0,0,.48)), var(--cta-image) center/cover; filter:saturate(.55); }
.cta-panel::after { content:""; position:absolute; width:330px; height:330px; border:1px solid rgba(255,107,0,.4); border-radius:50%; }
.cta-content { position:relative; z-index:2; }
.cta-content h2 { font-size:clamp(4rem,5.3vw,5.7rem); line-height:.86; letter-spacing:-.07em; margin:0 auto 26px; max-width:1000px; text-transform:uppercase; }
.cta-content h2 span { color:var(--accent); }
.cta-content p { color:#d0cbc2; max-width:650px; margin:0 auto 28px; }
.cta-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }

.site-footer { padding:70px 0 28px; background:#050505; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr 1fr; gap:44px; padding-bottom:58px; }
.footer-brand img { width:210px; margin-bottom:24px; }
.footer-brand p { color:var(--muted); max-width:390px; }
.footer-col h3 { font-size:12px; text-transform:uppercase; letter-spacing:.15em; color:var(--accent); margin-bottom:18px; }
.footer-col a, .footer-col p { display:block; color:#c9c5be; margin:0 0 10px; font-size:14px; }
.footer-col a:hover { color:#fff; }
.footer-bottom { border-top:1px solid var(--line); padding-top:24px; display:flex; justify-content:space-between; gap:20px; color:var(--muted-2); font-size:12px; }

/* Internal page hero */
.page-hero { min-height:78svh; padding:150px 0 72px; display:grid; align-items:end; position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
.page-hero::before { content:attr(data-word); position:absolute; right:-2vw; top:100px; font-size:clamp(7rem,20vw,20rem); line-height:.8; font-weight:950; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.055); letter-spacing:-.08em; text-transform:uppercase; }
.page-hero-grid { display:grid; grid-template-columns:1fr .78fr; gap:70px; align-items:end; }
.page-hero h1 { font-size:clamp(4rem,4.3vw,4.7rem); line-height:.86; letter-spacing:-.07em; margin:0; text-transform:uppercase; }
.page-hero h1 span { color:var(--accent); display:block; }
.page-hero p { color:#c8c4bc; font-size:1.15rem; max-width:690px; margin:28px 0 0; }
.page-hero-media { height:560px; overflow:hidden; clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%); position:relative; }
.page-hero-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.7) contrast(1.08); }
.page-hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.45)); }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:13px; margin-bottom:30px; }
.breadcrumbs a:hover { color:#fff; }
.breadcrumbs span::before { content:"/"; margin-right:8px; color:var(--muted-2); }

.offer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.offer-box { background:var(--bg); padding:32px; min-height:250px; }
.offer-box .icon { color:var(--accent); font-size:30px; }
.offer-box h3 { font-size:1.35rem; margin:38px 0 12px; letter-spacing:-.03em; }
.offer-box p { color:var(--muted); margin:0; font-size:.94rem; }
.content-split { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.content-split .sticky { position:sticky; top:120px; }
.content-split h2 { font-size:clamp(3rem,3.3vw,3.7rem); line-height:.92; letter-spacing:-.06em; }
.rich-copy { color:#c8c4bc; font-size:1.05rem; }
.rich-copy h3 { color:#fff; font-size:1.55rem; margin:40px 0 14px; }
.scope-list { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.scope-list li { border-bottom:1px solid var(--line); padding:18px 0 18px 32px; position:relative; color:#d7d3cc; }
.scope-list li::before { content:""; position:absolute; left:0; top:26px; width:12px; height:2px; background:var(--accent); }
.service-gallery { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; }
.service-gallery img { width:100%; height:420px; object-fit:cover; filter:saturate(.78); }
.service-gallery img:nth-child(3n+1) { grid-row:span 2; height:860px; }

/* Gallery */
.gallery-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:32px; }
.filter-group { display:flex; gap:8px; flex-wrap:wrap; }
.filter-btn { border:1px solid var(--line); background:transparent; padding:11px 15px; cursor:pointer; color:var(--muted); font-size:13px; font-weight:800; }
.filter-btn.active, .filter-btn:hover { background:var(--accent); border-color:var(--accent); color:#070707; }
.gallery-grid { columns:3; column-gap:16px; }
.gallery-item { break-inside:avoid; margin:0 0 16px; position:relative; overflow:hidden; cursor:zoom-in; background:#151515; }
.gallery-item[hidden] { display:none; }
.gallery-item img { width:100%; height:auto; filter:saturate(.75); transition:transform .65s var(--ease), filter .35s; }
.gallery-item:hover img { transform:scale(1.025); filter:saturate(1); }
.gallery-item::after { content:"+"; position:absolute; right:14px; bottom:14px; width:40px; height:40px; background:rgba(0,0,0,.72); display:grid; place-items:center; font-size:22px; opacity:0; transform:translateY(8px); transition:.25s; }
.gallery-item:hover::after { opacity:1; transform:none; }
.lightbox { width:min(94vw,1180px); max-height:92vh; padding:0; background:#080808; color:#fff; border:1px solid var(--line-strong); box-shadow:0 40px 130px rgba(0,0,0,.75); }
.lightbox::backdrop { background:rgba(0,0,0,.88); backdrop-filter:blur(7px); }
.lightbox img { width:100%; max-height:82vh; object-fit:contain; }
.lightbox-close { position:absolute; right:12px; top:12px; width:46px; height:46px; border:0; background:#000; color:#fff; cursor:pointer; font-size:26px; }
.lightbox-caption { padding:14px 18px; color:var(--muted); font-size:13px; }

/* Contact */
.contact-cards { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-card { border:1px solid var(--line); padding:24px; background:var(--panel); }
.contact-card small { color:var(--accent); text-transform:uppercase; font-weight:900; letter-spacing:.13em; }
.contact-card strong, .contact-card a { display:block; font-size:1.35rem; margin-top:8px; }
.legal h1 { font-size:clamp(3rem,6vw,6rem); letter-spacing:-.06em; margin-bottom:40px; }
.legal h2 { margin:42px 0 14px; font-size:1.5rem; }
.legal p, .legal li { color:#c5c1ba; }

.mobile-call { display:none; }
.reveal { opacity:1; transform:none; }
.js .reveal { opacity:0; transform:translateY(35px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.js .reveal.visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }

@media (max-width: 1050px) {
  .main-nav { gap:16px; }
  .main-nav > a:not(.nav-cta) { display:none; }
  .menu-toggle { display:grid; }
  .main-nav.open { position:fixed; background:#090909; padding:36px 20px; display:flex; flex-direction:column; align-items:stretch; gap:0; z-index: 99999; width: 100%;}
  .main-nav.open > a { display:block !important; padding:20px 0; border-bottom:1px solid var(--line); font-size:1.3rem; }
  .main-nav.open .nav-cta { margin-top:20px; text-align:center; border:0; }
  .hero-grid, .page-hero-grid { grid-template-columns:1fr; }
  .hero { padding-top:130px; }
  .hero-visual { height:610px; max-width:730px; width:100%; margin-left:auto; }
  .services-layout { grid-template-columns:1fr; }
  .services-preview { display:none; }
  .service-mobile-image { display:block; width:110px; height:86px; object-fit:cover; grid-column:2; margin-top:14px; }
  .proof-grid { grid-template-columns:1fr 1fr; }
  .proof-copy { grid-column:1/-1; }
  .process-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .page-hero-media { height:470px; }
  .content-split { grid-template-columns:1fr; gap:45px; }
  .content-split .sticky { position:static; }
}
@media (max-width: 760px) {
  .container, .narrow { width:min(calc(100% - 28px), var(--max)); }
  .header-inner { height:72px; }

  .main-nav.open { top:72px; }
  .nav-cta { display:none; }
  .hero { min-height:auto; padding:116px 0 58px; }
  .hero h1 { font-size:clamp(3.5rem,2vw,2.8rem); }
  .hero-note { flex-direction:column; gap:12px; }
  .hero-visual { min-height:0; height:470px; margin-top:18px; }
  .hero-frame.main { inset:0 0 0 7%; }
  .hero-frame.small { width:46%; height:32%; }
  .hero-badge { width:104px; right:-6px; bottom:40px; }
  .scroll-cue { display:none; }
  .section { padding:78px 0; }
  .section-head { grid-template-columns:1fr; gap:10px; margin-bottom:38px; }
  .section-title { font-size:clamp(2.5rem,3vw,4.6rem); }
  .service-item { grid-template-columns:42px 1fr auto; gap:10px; }
  .service-item p { font-size:.9rem; }
  .service-mobile-image { width:100%; height:180px; grid-column:1/-1; }
  .proof-grid { grid-template-columns:1fr; }
  .proof-copy { grid-column:auto; }
  .stat { min-height:155px; }
  .process-grid { grid-template-columns:1fr; }
  .process-card { min-height:240px; }
  .project-card, .project-card:nth-child(even) { min-width:88vw; }
  .project-card img { height:440px; }
  .split-feature { grid-template-columns:1fr; }
  .split-image { height:460px; }
  .footer-grid { grid-template-columns:1fr; gap:30px; }
  .footer-bottom { flex-direction:column; }
  .page-hero { padding:122px 0 54px; min-height:auto; }
  .page-hero h1 { font-size:clamp(2.5rem,3vw,4.6rem); }
  .page-hero-media { height:410px; }
  .offer-grid { grid-template-columns:1fr; }
  .service-gallery { grid-template-columns:1fr; }
  .service-gallery img, .service-gallery img:nth-child(3n+1) { height:420px; grid-row:auto; }
  .gallery-grid { columns:2; }
  .contact-cards { grid-template-columns:1fr; }
  .mobile-call { display:flex; position:fixed; z-index:85; bottom:14px; left:14px; right:14px; background:var(--accent); color:#070707; min-height:52px; align-items:center; justify-content:center; font-weight:950; box-shadow:0 12px 30px rgba(0,0,0,.45); }
  body { padding-bottom:72px; }
}
@media (max-width: 480px) {
  .gallery-grid { columns:1; }
  .hero-visual { height:390px; }
  .page-hero-media { height:340px; }
  .project-card img { height:380px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.001ms !important; }
  .reveal { opacity:1; transform:none; }
}
