@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Manrope:wght@400;500;600;700&display=swap");

:root { --black:#0a0a0a; --surface:#141414; --red:#e10600; --red-hover:#ff1e16; --white:#fff; --light:#f4f4f2; --gray:#a8a8a8; --line:#292929; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; background:var(--black); color:var(--white); font-family:"Manrope",Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
::selection { background:var(--red); color:white; }
.site-shell { min-height:100vh; }
.site-header { height:86px; position:absolute; top:0; left:0; width:100%; z-index:50; display:flex; align-items:center; justify-content:space-between; padding:0 4vw; border-bottom:1px solid rgba(255,255,255,.12); }
.logo-link { display:flex; align-items:center; }
.brand { font-family:"Bebas Neue",Impact,sans-serif; font-size:2rem; line-height:1; letter-spacing:.06em; white-space:nowrap; font-style:normal; }
.brand span { color:var(--white); }
.brand i { color:var(--red); font-style:normal; }
.brand-compact { font-size:1.25rem; }
.desktop-nav { display:flex; gap:clamp(18px,2.2vw,40px); font-size:.71rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.desktop-nav a { transition:color .2s; }
.desktop-nav a:hover { color:var(--red); }
.header-actions { display:flex; align-items:center; gap:20px; }
.lang { font-size:.7rem; font-weight:700; letter-spacing:.15em; }
.header-cta { background:var(--red); padding:14px 18px; font-size:.68rem; font-weight:700; letter-spacing:.11em; transition:background .2s; }
.header-cta:hover { background:var(--red-hover); }
.header-cta span { margin-left:12px; font-size:1rem; }
.menu-button { display:none; border:0; background:none; width:34px; padding:8px 0; }
.menu-button span { height:1px; display:block; background:white; margin:6px 0; }
.mobile-menu { position:fixed; inset:0; padding:35px 6vw; background:var(--red); z-index:100; display:flex; flex-direction:column; transform:translateY(-102%); transition:transform .45s cubic-bezier(.7,0,.2,1); }
.mobile-menu.is-open { transform:none; }
.menu-close { position:absolute; right:6vw; top:23px; border:0; background:transparent; color:white; font-size:2.8rem; font-weight:200; }
.mobile-menu nav { margin:auto 0; display:flex; flex-direction:column; }
.mobile-menu nav a { font-family:"Bebas Neue"; font-size:clamp(2.9rem,11vw,5.5rem); line-height:1.05; border-bottom:1px solid rgba(255,255,255,.25); }
.mobile-menu nav em { font-family:"Manrope"; font-size:.65rem; margin-right:16px; font-style:normal; }
.mobile-menu-footer { display:flex; justify-content:space-between; font-size:.75rem; }
.hero { min-height:100vh; position:relative; padding:150px 4vw 65px; display:grid; grid-template-columns:55% 45%; align-items:center; overflow:hidden; }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(90deg,black,transparent 80%); }
.hero-copy { position:relative; z-index:2; }
.eyebrow,.section-no { font-size:.67rem; letter-spacing:.18em; font-weight:700; }
.eyebrow { display:flex; align-items:center; gap:12px; }
.eyebrow>span { width:32px; height:2px; background:var(--red); display:inline-block; }
.hero h1,.page-hero h1,.detail-hero h1,.case-hero h1 { font-family:"Bebas Neue",Impact,sans-serif; text-transform:uppercase; font-size:clamp(5.1rem,8.7vw,9.4rem); letter-spacing:-.025em; line-height:.79; font-weight:400; margin:32px 0; }
.hero h1 em,.page-hero h1 em { color:var(--red); font-style:normal; }
.hero-bottom { display:flex; gap:30px; align-items:flex-end; margin-top:44px; max-width:800px; }
.hero-bottom>p { max-width:420px; color:#c2c2c2; line-height:1.65; font-size:.9rem; margin:0; }
.hero-buttons { display:flex; gap:10px; }
.button { appearance:none; border:1px solid #444; padding:17px 21px; display:inline-flex; align-items:center; justify-content:center; gap:20px; color:white; background:none; font-size:.7rem; font-weight:700; letter-spacing:.1em; transition:.2s; }
.button.primary { background:var(--red); border-color:var(--red); }
.button.primary:hover { background:var(--red-hover); border-color:var(--red-hover); transform:translateY(-2px); }
.button.ghost:hover { border-color:white; }
.hero-visual { position:relative; height:min(68vh,690px); align-self:end; z-index:1; }
.red-sun { position:absolute; right:-9vw; bottom:6%; width:min(41vw,650px); aspect-ratio:1; border-radius:50%; background:var(--red); box-shadow:0 0 120px rgba(225,6,0,.2); }
.visual-card { position:absolute; background:rgba(15,15,15,.92); border:1px solid #555; box-shadow:0 28px 70px rgba(0,0,0,.35); backdrop-filter:blur(8px); }
.visual-card-a { top:22%; left:0; width:190px; padding:18px; transform:rotate(-5deg); }
.visual-card-a span,.visual-card-b>span { color:var(--gray); font-size:.6rem; letter-spacing:.17em; }
.visual-card-a b { display:block; font-family:"Bebas Neue"; font-size:3.8rem; margin-top:12px; line-height:1; }
.visual-card-a i { color:#78e29f; font-size:.65rem; font-style:normal; }
.visual-card-b { top:8%; right:4%; width:235px; height:170px; padding:18px; transform:rotate(4deg); }
.mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:20px; }
.mini-grid i { height:45px; background:#e10600; }
.mini-grid i:nth-child(2),.mini-grid i:nth-child(3) { background:white; }
.mini-grid i:nth-child(4) { border:1px solid #666; background:#191919; }
.visual-card-c { bottom:11%; left:10%; width:290px; height:175px; padding:20px; transform:rotate(3deg); }
.wave { height:95px; margin-top:17px; background:repeating-linear-gradient(90deg,transparent 0 9px,var(--red) 10px 12px); clip-path:polygon(0 60%,8% 40%,16% 62%,25% 15%,33% 75%,42% 45%,52% 61%,60% 20%,70% 65%,81% 36%,90% 53%,100% 9%,100% 80%,0 80%); }
.hero-stamp { position:absolute; right:5%; bottom:3%; width:118px; height:118px; border:1px solid rgba(255,255,255,.65); border-radius:50%; display:grid; place-items:center; text-align:center; font-family:"Bebas Neue"; letter-spacing:.12em; line-height:1.05; transform:rotate(9deg); }
.scroll-note { position:absolute; right:4vw; bottom:23px; font-size:.58rem; letter-spacing:.16em; z-index:2; }
.marquee { background:var(--red); color:white; font-family:"Bebas Neue"; font-size:1.45rem; padding:13px 0 10px; white-space:nowrap; overflow:hidden; letter-spacing:.08em; transform:rotate(-1deg) scale(1.01); }
.marquee div { width:max-content; animation:marquee 22s linear infinite; }
@keyframes marquee { to { transform:translateX(-50%); } }
.section-light { background:var(--light); color:var(--black); }
.intro { padding:130px 8vw 80px; display:grid; grid-template-columns:16% 1fr; }
.section-no { color:#666; margin:0; }
.intro h2,.section-head h2,.process>h2,.story h2,.team h2,.related-work h2,.next-project h2,.thank-you h2 { font-family:"Bebas Neue"; text-transform:uppercase; font-size:clamp(3.8rem,7.2vw,8.3rem); line-height:.86; font-weight:400; margin:0; letter-spacing:-.02em; }
.intro h2 em,.work-section h2 em { color:var(--red); font-style:normal; }
.intro-copy { grid-column:2; margin:60px 0 90px; display:flex; justify-content:space-between; align-items:flex-end; }
.intro-copy p { max-width:550px; font-size:1.25rem; line-height:1.65; }
.text-link { border-bottom:2px solid var(--red); padding:0 0 8px; font-size:.7rem; font-weight:700; letter-spacing:.1em; }
.text-link span { margin-left:24px; }
.stats { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #ccc; }
.stats>div { padding:42px 0 0; border-right:1px solid #ccc; }
.stats>div:not(:first-child) { padding-left:35px; }
.stats b { font-family:"Bebas Neue"; font-size:4.5rem; line-height:1; font-weight:400; }
.stats sup { color:var(--red); font-size:2rem; }
.stats span { display:block; margin-top:12px; font-size:.75rem; color:#666; }
.services-section,.process,.team,.testimonials,.related-work { padding:120px 8vw; }
.section-head { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; margin-bottom:70px; }
.section-head h2 span,.related-work h2 span { color:var(--red); }
.section-head>p { max-width:380px; color:var(--gray); line-height:1.7; }
.service-list { border-top:1px solid var(--line); }
.service-row { display:grid; grid-template-columns:70px 1fr 1fr 40px; align-items:center; min-height:130px; border-bottom:1px solid var(--line); transition:.25s; }
.service-row em { color:var(--red); font-size:.7rem; font-style:normal; }
.service-row h3 { font-family:"Bebas Neue"; font-size:clamp(2.2rem,3.4vw,4rem); font-weight:400; margin:0; text-transform:uppercase; }
.service-row p { color:#888; font-size:.85rem; margin:0; max-width:350px; }
.service-row>span { font-size:1.7rem; transition:transform .2s; }
.service-row:hover { padding-left:18px; color:var(--red); }
.service-row:hover>span { transform:rotate(45deg); }
.work-section { padding:120px 8vw; }
.featured-grid,.portfolio-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:80px 28px; }
.project-card { display:block; color:var(--black); }
.project-art { aspect-ratio:1.2; position:relative; overflow:hidden; background:var(--accent); color:var(--black); padding:5%; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.project-card:hover .project-art { transform:scale(.985); }
.project-client { position:absolute; top:6%; left:6%; font-family:"Bebas Neue"; font-size:clamp(2rem,4vw,5rem); z-index:2; }
.art-orbit { position:absolute; width:55%; aspect-ratio:1; border:2px solid currentColor; border-radius:50%; right:-7%; top:-5%; }
.art-orbit::after { content:""; position:absolute; width:48%; aspect-ratio:1; background:var(--black); border-radius:50%; left:26%; top:26%; }
.art-panel { position:absolute; width:55%; height:42%; background:rgba(255,255,255,.86); right:8%; bottom:9%; box-shadow:0 25px 55px rgba(0,0,0,.15); transform:rotate(-3deg); }
.art-line { position:absolute; width:35%; height:6px; background:var(--red); bottom:26%; right:18%; transform:rotate(-3deg); }
.project-art>b { position:absolute; left:7%; bottom:17%; font-family:"Bebas Neue"; font-size:clamp(3rem,6vw,7rem); line-height:.8; z-index:3; }
.project-art>small { position:absolute; left:7%; bottom:8%; max-width:140px; font-weight:700; font-size:.62rem; z-index:3; }
.project-art-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-art-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.55))}.project-art-image .project-client,.project-art-image>b,.project-art-image>small{color:white}.project-art-image .project-client,.project-art-image>b,.project-art-image>small{z-index:2}
.art-1 .art-panel { background:var(--black); }
.art-1 .art-orbit { border-radius:0; transform:rotate(45deg); }
.art-2 .art-panel { border-radius:50%; width:46%; height:60%; }
.art-3 .art-orbit { border:22px solid var(--black); right:18%; top:15%; }
.project-meta { display:grid; grid-template-columns:1fr auto; margin-top:20px; align-items:end; }
.project-meta span { grid-column:1/-1; font-size:.6rem; letter-spacing:.13em; color:#777; text-transform:uppercase; }
.project-meta h3 { font-family:"Bebas Neue"; font-size:2.2rem; font-weight:400; margin:10px 0 0; text-transform:uppercase; }
.project-meta p { margin:0; font-size:.74rem; font-weight:700; }
.card-1 { margin-top:140px; }
.card-2 { margin-top:-60px; }
.process { border-top:1px solid var(--line); }
.process>h2 { margin:40px 0 80px; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.process-grid>div { padding:38px 26px 0 0; border-right:1px solid var(--line); min-height:240px; }
.process-grid>div:not(:first-child) { padding-left:26px; }
.process-grid em { color:var(--red); font-style:normal; font-size:.7rem; }
.process-grid h3 { font-family:"Bebas Neue"; font-size:2.1rem; font-weight:400; margin:45px 0 16px; }
.process-grid p { color:#888; line-height:1.6; font-size:.78rem; }
.clients { padding:100px 8vw 120px; }
.logo-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid #ccc; border-left:1px solid #ccc; margin-top:50px; }
.logo-grid>div { aspect-ratio:1.8; display:flex; align-items:center; justify-content:center; gap:10px; border-right:1px solid #ccc; border-bottom:1px solid #ccc; font-weight:800; letter-spacing:.12em; }
.reference-logo{max-width:75%;max-height:90px;object-fit:contain}
.logo-shape { display:inline-block; width:19px; height:19px; background:var(--red); }
.shape-1 { border-radius:50%; }
.shape-2 { clip-path:polygon(50% 0,100% 100%,0 100%); }
.shape-3 { border-radius:50% 0 50% 50%; transform:rotate(45deg); }
.quote-block { margin:110px auto 0; max-width:900px; text-align:center; }
.quote-mark { color:var(--red); font-family:serif; font-size:6rem; line-height:.4; }
.quote-block blockquote { font-size:clamp(1.7rem,3vw,3.2rem); line-height:1.3; margin:30px 0; }
.quote-block p { font-size:.75rem; font-weight:700; }
.quote-block p span { color:#777; font-weight:400; }
.site-footer { padding:100px 4vw 25px; }
.lead-dock{position:fixed;right:18px;bottom:18px;z-index:45;display:flex;align-items:center;gap:8px;padding:8px;background:rgba(10,10,10,.92);border:1px solid #333;box-shadow:0 15px 45px rgba(0,0,0,.35);backdrop-filter:blur(12px)}.lead-dock>span{padding:0 10px;color:#aaa;font-size:.62rem}.lead-dock>a{padding:12px 15px;background:var(--red);color:white;font-size:.62rem;font-weight:700;letter-spacing:.08em}.lead-dock .lead-whatsapp{background:#178a49}.lead-dock>a:hover{transform:translateY(-2px)}
.cookie-banner{position:fixed;left:18px;bottom:18px;z-index:90;width:min(460px,calc(100% - 36px));display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;background:#151515;color:white;border:1px solid #333;padding:16px;box-shadow:0 20px 50px rgba(0,0,0,.4)}.cookie-banner p{margin:0;font-size:.66rem;line-height:1.5;color:#bbb}.cookie-banner button{border:1px solid #444;background:transparent;color:white;padding:9px 12px;font-size:.6rem}.cookie-banner button:last-child{background:var(--red);border-color:var(--red)}
.footer-top { display:flex; align-items:flex-end; justify-content:space-between; padding-bottom:85px; border-bottom:1px solid var(--line); }
.footer-top h2 { font-family:"Bebas Neue"; font-size:clamp(5rem,10vw,11rem); line-height:.78; text-transform:uppercase; font-weight:400; margin:32px 0 0; }
.footer-top h2 span { color:var(--red); }
.round-link { flex:0 0 auto; width:140px; height:140px; border-radius:50%; background:var(--red); display:grid; place-items:center; font-size:2.5rem; transition:.25s; }
.round-link:hover { transform:rotate(45deg); background:var(--red-hover); }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); padding:65px 0; }
.footer-grid>div { display:flex; flex-direction:column; gap:13px; font-size:.75rem; color:#888; }
.footer-grid b { color:white; font-size:.62rem; letter-spacing:.16em; margin-bottom:10px; }
.footer-grid a:hover { color:white; }
.footer-bottom { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:22px; color:#666; font-size:.58rem; letter-spacing:.1em; }
.reveal { opacity:0; transform:translateY(25px); transition:.75s; }
.reveal.visible { opacity:1; transform:none; }

/* Inner pages */
.page-hero { min-height:88vh; padding:180px 8vw 80px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; }
.page-hero::after { content:"A"; position:absolute; right:4vw; bottom:-17vw; color:#111; -webkit-text-stroke:1px #292929; font-family:"Bebas Neue"; font-size:55vw; line-height:.8; z-index:0; }
.page-hero>* { position:relative; z-index:1; }
.page-hero h1 { font-size:clamp(5.5rem,11vw,12rem); margin:42px 0; max-width:1200px; }
.page-intro { margin-left:auto; max-width:560px; color:#aaa; font-size:1.05rem; line-height:1.7; }
.hero-rule { height:1px; background:#333; width:100%; margin-top:60px; }
.story { padding:120px 8vw; display:grid; grid-template-columns:25% 1fr; }
.story>div { max-width:850px; }
.story p:not(.section-no) { font-size:1.1rem; line-height:1.8; max-width:700px; margin-top:40px; }
.mission { display:grid; grid-template-columns:1fr 1fr; }
.mission>div { padding:90px 8vw; min-height:420px; }
.mission>div:first-child { background:var(--red); }
.mission>div:last-child { background:#1b1b1b; }
.mission .section-no { color:rgba(255,255,255,.65); }
.mission h3 { font-family:"Bebas Neue"; font-size:clamp(3rem,5vw,5.5rem); line-height:1; font-weight:400; text-transform:uppercase; margin-top:100px; }
.values,.why { padding:110px 8vw; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:60px; border-top:1px solid #ccc; }
.value-grid>div { min-height:180px; border-right:1px solid #ccc; border-bottom:1px solid #ccc; padding:25px; }
.value-grid em { color:var(--red); font-size:.7rem; font-style:normal; }
.value-grid h3 { font-family:"Bebas Neue"; font-size:2.6rem; font-weight:400; margin-top:65px; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.team-grid article h3 { font-family:"Bebas Neue"; font-size:2rem; font-weight:400; margin:20px 0 3px; }
.team-grid article>b { color:var(--red); font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.team-grid article>p { color:#888; font-size:.76rem; line-height:1.6; }
.avatar { aspect-ratio:.82; display:grid; place-items:center; background:#222; font-family:"Bebas Neue"; font-size:7rem; color:#333; position:relative; overflow:hidden; }
.avatar::before { content:""; position:absolute; width:75%; aspect-ratio:1; border-radius:50%; background:var(--red); bottom:-30%; opacity:.85; }
.avatar-photo::before{display:none}.avatar-photo img{width:100%;height:100%;object-fit:cover}
.avatar-1 { background:#e9e9e4; color:#c8c8c0; }
.avatar-2::before { border-radius:0; transform:rotate(45deg); }
.avatar-3 { background:#260a0a; }
.why-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:60px; border-top:1px solid #ccc; }
.why-grid>div { display:grid; grid-template-columns:45px 1fr 40px; align-items:center; min-height:100px; border-bottom:1px solid #ccc; }
.why-grid>div:nth-child(odd) { border-right:1px solid #ccc; padding-right:25px; }
.why-grid>div:nth-child(even) { padding-left:25px; }
.why-grid span { color:var(--red); }
.why-grid h3 { font-size:1rem; }
.why-grid em { color:#aaa; font-size:.65rem; font-style:normal; }
.services-page { padding:80px 8vw 130px; }
.service-block { position:relative; display:grid; grid-template-columns:120px 1fr 1fr 50px; gap:30px; align-items:center; padding:60px 0; border-bottom:1px solid #ccc; }
.service-block>div:first-child { display:flex; flex-direction:column; gap:32px; }
.service-block>div:first-child em { color:var(--red); font-family:"Bebas Neue"; font-size:2.5rem; font-style:normal; }
.service-block>div:first-child span { font-size:.55rem; color:#999; }
.service-block h2 { font-family:"Bebas Neue"; font-size:clamp(3rem,5vw,5.5rem); font-weight:400; text-transform:uppercase; margin:0; }
.service-block>p { line-height:1.7; color:#555; font-size:.9rem; }
.service-tags { grid-column:2/4; display:flex; gap:7px; flex-wrap:wrap; }
.service-tags span,.tool-section span { border:1px solid #ccc; border-radius:20px; padding:8px 13px; font-size:.63rem; }
.service-block>span { font-size:2rem; }
.detail-hero { min-height:85vh; padding:200px 8vw 90px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; }
.detail-hero h1 { font-size:clamp(6rem,13vw,14rem); margin:40px 0 20px; }
.detail-hero h1 span { color:var(--red); }
.detail-hero>p:not(.eyebrow) { max-width:600px; color:#aaa; line-height:1.7; font-size:1.05rem; margin-bottom:40px; }
.detail-split { padding:110px 8vw; display:grid; grid-template-columns:30% 1fr; }
.scope-list { border-top:1px solid #ccc; }
.scope-list>div { display:grid; grid-template-columns:70px 1fr; align-items:center; min-height:90px; border-bottom:1px solid #ccc; }
.scope-list em { color:var(--red); font-style:normal; font-size:.7rem; }
.scope-list h3 { font-size:1rem; }
.tool-section { padding:95px 8vw; }
.tool-section>div { display:flex; flex-wrap:wrap; gap:13px; margin-top:45px; }
.tool-section span { border-color:#444; color:#bbb; padding:14px 22px; }
.faq { padding:100px 8vw; }
.faq details { border-bottom:1px solid #ccc; }
.faq summary { display:flex; justify-content:space-between; list-style:none; padding:35px 0; font-size:1.15rem; font-weight:700; }
.faq summary span { color:var(--red); font-size:1.8rem; font-weight:400; }
.faq details p { max-width:700px; line-height:1.7; color:#555; padding-bottom:30px; }
.related-work h2 { margin-bottom:60px; }
.filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:60px; }
.filters button { border:1px solid #ccc; background:transparent; padding:11px 18px; font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.filters button.active,.filters button:hover { background:var(--red); border-color:var(--red); color:white; }
.portfolio { padding:80px 8vw 130px; }
.portfolio-grid { gap:70px 28px; }
.case-hero { min-height:70vh; padding:190px 8vw 70px; display:flex; flex-direction:column; justify-content:flex-end; }
.case-hero h1 { font-size:clamp(5.5rem,12vw,13rem); margin:40px 0 15px; }
.case-hero>p:not(.eyebrow) { color:var(--red); font-weight:700; letter-spacing:.15em; }
.case-art { padding:0 4vw 80px; }
.case-art .project-art { height:72vh; aspect-ratio:auto; }
.case-summary { padding:110px 8vw; display:grid; grid-template-columns:25% 1fr; }
.case-summary h2 { font-size:clamp(2rem,4vw,4.5rem); line-height:1.25; margin:0; }
.case-summary>div { grid-column:2; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #ccc; margin-top:70px; padding-top:30px; }
.case-summary span { display:flex; flex-direction:column; gap:12px; font-size:.8rem; }
.case-summary b { font-size:.6rem; color:#888; text-transform:uppercase; letter-spacing:.12em; }
.case-challenge { padding:120px 8vw; display:grid; grid-template-columns:1fr 1fr; gap:10vw; }
.case-challenge h3 { font-family:"Bebas Neue"; font-size:3.5rem; font-weight:400; line-height:1.05; }
.case-challenge p:last-child { color:#aaa; line-height:1.8; }
.case-gallery { padding:40px 4vw 120px; }
.case-gallery-head { display:flex; justify-content:space-between; align-items:center; padding:0 4vw 35px; }
.case-gallery-head>span { font-size:.58rem; letter-spacing:.15em; color:#777; }
.case-gallery-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.case-gallery-grid figure { margin:0; min-height:420px; background:#e7e7e3; overflow:hidden; }
.case-gallery-grid figure:nth-child(3n) { grid-column:1/-1; min-height:70vh; }
.case-gallery-grid img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.case-gallery-grid figure:hover img { transform:scale(1.025); }
.results { padding:110px 8vw; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.results>.section-no { grid-column:1/-1; margin-bottom:30px; }
.results>div { border-top:1px solid #ccc; padding-top:35px; }
.results b { font-family:"Bebas Neue"; font-size:6rem; font-weight:400; }
.results span { display:block; color:#666; font-size:.8rem; }
.next-project { display:grid; grid-template-columns:1fr auto; padding:90px 8vw; align-items:end; background:var(--red); }
.next-project>span { grid-column:1/-1; font-size:.6rem; letter-spacing:.16em; }
.next-project h2 { margin-top:40px; }
.next-project>span:last-child { font-size:3rem; }
.reference-page { padding:80px 8vw 130px; }
.reference-cards { display:grid; grid-template-columns:repeat(3,1fr); border-left:1px solid #ccc; border-top:1px solid #ccc; }
.reference-cards article { min-height:290px; padding:30px; border-right:1px solid #ccc; border-bottom:1px solid #ccc; display:flex; flex-direction:column; }
.reference-cards article>div { display:flex; align-items:center; gap:12px; font-size:1.2rem; letter-spacing:.12em; }
.reference-cards article>p { margin-top:auto; margin-bottom:6px; color:#777; font-size:.75rem; }
.reference-cards article>span { font-size:.68rem; }
.reference-cards article>a { margin-top:30px; font-size:.6rem; font-weight:700; letter-spacing:.1em; }
.testimonial-grid { display:grid; grid-template-columns:repeat(2,1fr); margin-top:60px; border-top:1px solid var(--line); }
.testimonial-grid article { min-height:330px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:35px; }
.testimonial-grid article>span { font-size:4rem; color:var(--red); font-family:serif; }
.testimonial-grid blockquote { font-size:1.25rem; line-height:1.55; margin:25px 0 55px; }
.testimonial-grid p { font-size:.75rem; font-weight:700; }
.testimonial-grid small { display:block; color:#777; margin-top:5px; font-weight:400; }
.contact-layout { padding:110px 8vw; display:grid; grid-template-columns:30% 1fr; gap:7vw; }
.contact-layout aside { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.contact-layout aside>a { font-family:"Bebas Neue"; font-size:1.7rem; }
.contact-layout aside>div { margin-top:35px; }
.contact-layout aside b { font-size:.62rem; letter-spacing:.15em; }
.contact-layout aside p { line-height:1.7; color:#666; font-size:.8rem; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:30px 25px; }
.field { display:flex; flex-direction:column; gap:9px; }
.field.full { grid-column:1/-1; }
.field label { font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.field label small { color:#999; font-weight:400; }
.field input,.field select,.field textarea { background:transparent; color:var(--black); border:0; border-bottom:1px solid #aaa; border-radius:0; padding:14px 0; outline:none; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--red); }
.field input[type=file] { font-size:.75rem; }
.consent { grid-column:1/-1; display:flex; gap:12px; align-items:flex-start; color:#666; font-size:.7rem; line-height:1.6; }
.consent input { accent-color:var(--red); margin-top:3px; }
.submit { justify-self:start; min-width:210px; }
.honeypot { position:absolute!important; left:-9999px!important; }
.form-error { grid-column:1/-1; color:var(--red); font-size:.75rem; }
.thank-you { align-self:center; }
.thank-you>span { width:70px; height:70px; border-radius:50%; background:var(--red); color:white; display:grid; place-items:center; font-size:2rem; }
.thank-you h2 { margin:35px 0 20px; font-size:4.5rem; }
.thank-you p { max-width:550px; line-height:1.7; color:#666; margin-bottom:30px; }
.map-block { min-height:430px; position:relative; overflow:hidden; display:grid; place-items:center; background:linear-gradient(30deg,#151515 12%,transparent 12.5%,transparent 87%,#151515 87.5%),linear-gradient(150deg,#151515 12%,transparent 12.5%,transparent 87%,#151515 87.5%),linear-gradient(30deg,#151515 12%,transparent 12.5%,transparent 87%,#151515 87.5%); background-size:80px 140px; }
.map-block>span { position:absolute; left:4vw; top:35px; color:#777; font-size:.65rem; }
.map-block>b { color:#222; font-family:"Bebas Neue"; font-size:15vw; letter-spacing:.15em; }
.map-pin { position:absolute; width:75px; height:75px; background:var(--red); border-radius:50% 50% 50% 0; transform:rotate(-45deg); display:grid; place-items:center; font-family:"Bebas Neue"; font-size:2.5rem; }
.map-pin::first-letter { transform:rotate(45deg); }

@media (max-width:1050px) {
  .desktop-nav,.header-cta { display:none; }
  .menu-button { display:block; }
  .hero { grid-template-columns:1fr; padding-top:140px; }
  .hero-copy { z-index:3; }
  .hero-visual { position:absolute; inset:15% -15% 0 45%; opacity:.72; height:auto; }
  .hero h1 { font-size:clamp(4.8rem,12vw,8rem); }
  .intro { grid-template-columns:1fr; }
  .intro>*,.intro-copy,.stats { grid-column:1; }
  .intro h2 { margin-top:50px; }
  .service-block { grid-template-columns:90px 1fr 40px; }
  .service-block>p { grid-column:2; }
  .service-tags { grid-column:2; }
  .reference-cards { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
  .site-header { height:70px; padding:0 20px; }
  .brand { font-size:1.65rem; }
  .header-actions { gap:14px; }
  .hero { min-height:850px; padding:125px 20px 60px; display:block; }
  .hero h1 { font-size:clamp(4.5rem,21vw,7rem); margin:25px 0; }
  .hero-bottom { display:block; margin-top:38px; }
  .hero-buttons { margin-top:25px; flex-wrap:wrap; }
  .hero-visual { inset:50% -50% 0 20%; opacity:.7; }
  .visual-card-a { left:0; width:145px; }
  .visual-card-b { display:none; }
  .visual-card-c { width:220px; height:140px; }
  .hero-stamp { right:18%; }
  .scroll-note { display:none; }
  .marquee { font-size:1rem; }
  .intro,.services-section,.work-section,.process,.clients,.team,.testimonials,.related-work,.story,.values,.why,.services-page,.detail-split,.tool-section,.faq,.portfolio,.reference-page,.contact-layout,.case-summary,.case-challenge,.results { padding:80px 20px; }
  .intro h2,.section-head h2,.process>h2,.story h2,.team h2 { font-size:3.9rem; }
  .intro-copy { display:block; margin:40px 0 65px; }
  .intro-copy p { font-size:1rem; margin-bottom:35px; }
  .stats { grid-template-columns:1fr 1fr; }
  .stats>div { padding:25px 15px!important; border-bottom:1px solid #ccc; }
  .stats b { font-size:3.3rem; }
  .section-head { display:block; margin-bottom:40px; }
  .section-head>p,.section-head>.text-link { display:block; margin-top:30px; }
  .service-row { grid-template-columns:40px 1fr 30px; min-height:100px; }
  .service-row p { display:none; }
  .service-row h3 { font-size:2rem; }
  .featured-grid,.portfolio-grid { grid-template-columns:1fr; gap:50px; }
  .card-1,.card-2 { margin-top:0; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid>div { min-height:auto; border-right:0; padding:25px 0!important; }
  .process-grid h3 { margin:18px 0 8px; }
  .logo-grid { grid-template-columns:repeat(2,1fr); }
  .logo-grid>div { aspect-ratio:1.5; font-size:.72rem; }
  .quote-block { margin-top:80px; }
  .footer-top { padding-bottom:60px; }
  .footer-top h2 { font-size:5rem; }
  .round-link { width:80px; height:80px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:50px 20px; }
  .footer-grid>.brand { grid-column:1/-1; }
  .footer-bottom { flex-wrap:wrap; gap:12px; }
  .page-hero { min-height:75vh; padding:140px 20px 60px; }
  .page-hero h1 { font-size:4.7rem; }
  .page-intro { font-size:.9rem; }
  .story { grid-template-columns:1fr; }
  .story>div { margin-top:40px; }
  .mission { grid-template-columns:1fr; }
  .mission>div { padding:70px 20px; min-height:330px; }
  .mission h3 { margin-top:70px; }
  .value-grid { grid-template-columns:1fr 1fr; }
  .team-grid { grid-template-columns:1fr 1fr; }
  .why-grid { grid-template-columns:1fr; }
  .why-grid>div { border-right:0!important; padding:0!important; }
  .service-block { grid-template-columns:55px 1fr 25px; gap:15px; padding:40px 0; }
  .service-block h2 { font-size:2.9rem; }
  .service-block>p { grid-column:2/4; }
  .service-tags { grid-column:2/4; }
  .detail-hero { min-height:80vh; padding:150px 20px 70px; }
  .detail-hero h1 { font-size:5.8rem; }
  .detail-split { grid-template-columns:1fr; }
  .scope-list { margin-top:45px; }
  .reference-cards { grid-template-columns:1fr; }
  .testimonial-grid { grid-template-columns:1fr; }
  .contact-layout { grid-template-columns:1fr; }
  .contact-form { grid-template-columns:1fr; margin-top:45px; }
  .field,.field.full { grid-column:1; }
  .case-hero { padding:150px 20px 60px; }
  .case-hero h1 { font-size:5.5rem; }
  .case-art { padding:0 0 50px; }
  .case-art .project-art { height:55vh; }
  .case-summary { grid-template-columns:1fr; }
  .case-summary h2,.case-summary>div { grid-column:1; margin-top:35px; }
  .case-summary>div { grid-template-columns:1fr 1fr; gap:30px; }
  .case-challenge { grid-template-columns:1fr; }
  .case-gallery { padding:20px 0 80px; }
  .case-gallery-head { padding:0 20px 25px; }
  .case-gallery-grid { grid-template-columns:1fr; gap:8px; }
  .case-gallery-grid figure,.case-gallery-grid figure:nth-child(3n) { grid-column:auto; min-height:58vh; }
  .results { grid-template-columns:1fr; }
  .next-project { padding:70px 20px; }
}
@media (prefers-reduced-motion:reduce) {
  * { scroll-behavior:auto!important; animation:none!important; transition-duration:.001ms!important; }
  .reveal { opacity:1; transform:none; }
}

/* Management panel */
.admin-shell { min-height:100vh; display:grid; grid-template-columns:260px 1fr; background:#f3f3f1; color:#111; }
.admin-sidebar { position:sticky; top:0; height:100vh; background:#0c0c0c; color:white; padding:28px 18px; display:flex; flex-direction:column; }
.admin-brand { font-family:"Bebas Neue"; font-size:1.8rem; letter-spacing:.05em; padding:0 10px 28px; border-bottom:1px solid #2a2a2a; }
.admin-brand i { color:var(--red); font-style:normal; }.admin-brand small { display:block; color:#777; font-family:"Manrope"; font-size:.5rem; letter-spacing:.2em; margin-top:6px; }
.admin-sidebar nav { display:flex; flex-direction:column; margin-top:20px; overflow:auto; }
.admin-sidebar nav button,.admin-sidebar nav>a { border:0; background:transparent; color:#888; padding:11px 10px; text-align:left; font-size:.72rem; display:flex; gap:11px; align-items:center; }
.admin-sidebar nav button span,.admin-sidebar nav>a span { font-size:.52rem; color:#555; }.admin-sidebar nav button em,.admin-sidebar nav>a em { margin-left:auto; background:var(--red); color:white; border-radius:12px; padding:2px 7px; font-style:normal; }
.admin-sidebar nav button.active,.admin-sidebar nav button:hover,.admin-sidebar nav>a.active,.admin-sidebar nav>a:hover { background:#191919; color:white; }
.admin-sidebar>a { margin-top:auto; padding:15px 10px 0; border-top:1px solid #292929; color:#888; font-size:.68rem; }
.admin-main { padding:35px 3vw 80px; min-width:0; }
.admin-main>header { display:flex; justify-content:space-between; align-items:center; padding-bottom:30px; border-bottom:1px solid #d3d3d0; }
.admin-main>header p,.admin-card-head p { font-size:.55rem; color:#888; letter-spacing:.13em; margin:0 0 8px; }.admin-main>header h1 { font-family:"Bebas Neue"; font-size:2.7rem; font-weight:400; margin:0; }
.admin-user { display:flex; gap:12px; align-items:center; }.admin-user>span { width:40px;height:40px;border-radius:50%;background:var(--red);color:white;display:grid;place-items:center;font-size:.7rem;font-weight:700;}.admin-user div{display:flex;flex-direction:column;font-size:.67rem}.admin-user small{color:#888}.admin-user>a{font-size:.6rem;margin-left:12px;color:#777}
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:28px 0; }.metric-grid article { background:white; padding:24px; border:1px solid #e1e1de; }.metric-grid article>span{font-size:.67rem;color:#777}.metric-grid b{font-family:"Bebas Neue";font-size:3.7rem;font-weight:400;display:block;margin:18px 0 3px}.metric-grid small{font-size:.58rem;color:#6d8f6e}
.admin-columns { display:grid; grid-template-columns:1.5fr 1fr; gap:16px; }.admin-card { background:white; border:1px solid #e1e1de; margin-top:28px; padding:24px; }.admin-columns>.admin-card{margin-top:0}
.admin-card-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid #e5e5e2; }.admin-card-head h2{font-size:1.05rem;margin:0}.admin-card-head button,.editor-actions button,.admin-table-row button,.language-row button{border:1px solid #ddd;background:white;padding:9px 13px;font-size:.6rem}.admin-primary{background:var(--red)!important;color:white!important;border-color:var(--red)!important}
.request-row { display:flex; gap:12px; align-items:center; padding:16px 0; border-bottom:1px solid #eee; }.request-row>span{width:36px;height:36px;background:#eee;display:grid;place-items:center;font-size:.6rem;font-weight:700}.request-row>div{display:flex;flex-direction:column}.request-row b{font-size:.7rem}.request-row small{font-size:.58rem;color:#888;margin-top:3px}.status{margin-left:auto;font-size:.55rem;font-style:normal;background:#fff1da;color:#a36800;padding:5px 8px;border-radius:12px}
.content-status{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.content-status div{background:#f5f5f3;padding:18px}.content-status span{font-size:.6rem;color:#777}.content-status b{display:block;font-family:"Bebas Neue";font-size:2.5rem;margin-top:14px}
.editor-card{max-width:900px}.editor-card>label{display:flex;flex-direction:column;gap:8px;font-size:.65rem;font-weight:700;margin-top:25px}.editor-card textarea{border:1px solid #ddd;background:#fafafa;padding:16px;font-size:1rem;resize:vertical}.editor-actions{display:flex;gap:10px;margin-top:25px}.published{color:#579561;font-size:.58rem}
.admin-table-row{display:grid;grid-template-columns:30px 46px 1fr 100px 75px;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #eee}.drag{color:#aaa}.thumb{height:42px;background:#111;color:white;display:grid;place-items:center;font-family:"Bebas Neue"}.admin-table-row>div:nth-child(3){display:flex;flex-direction:column}.admin-table-row b{font-size:.7rem}.admin-table-row small{font-size:.55rem;color:#999}
.contact-admin-row{display:grid;grid-template-columns:1fr 180px;gap:20px;padding:20px 0;border-bottom:1px solid #eee}.contact-admin-row>div{display:flex;flex-direction:column}.contact-admin-row b{font-size:.8rem}.contact-admin-row small{color:#888;font-size:.6rem;margin-top:4px}.contact-admin-row p{font-size:.7rem;line-height:1.5;max-width:700px}.contact-admin-row select{border:1px solid #ddd;padding:9px;height:38px}
.language-row{display:grid;grid-template-columns:50px 1fr 100px 2fr 70px;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid #eee;font-size:.7rem}.language-row>b{background:#111;color:white;width:36px;height:36px;display:grid;place-items:center}.language-row em{font-style:normal;color:#666}.language-row>div{height:5px;background:#eee;position:relative}.language-row i{position:absolute;height:100%;background:var(--red)}.language-row small{display:block;margin-top:10px;color:#999;font-size:.55rem}
.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.module-grid button{border:1px solid #e3e3e0;background:#f8f8f6;padding:22px;text-align:left;display:grid;grid-template-columns:40px 1fr auto;align-items:center}.module-grid button>span{color:var(--red);font-size:.6rem}.module-grid button>b{font-size:.75rem}.module-grid button>small{font-size:.55rem;color:#888}
.admin-empty,.admin-loading{padding:50px;text-align:center;color:#888;font-size:.75rem}.admin-notice{position:fixed;right:30px;top:25px;background:#111;color:white;padding:15px 20px;font-size:.68rem;z-index:10}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-sidebar nav{display:grid;grid-template-columns:1fr 1fr}.admin-main{padding:25px 15px}.metric-grid{grid-template-columns:1fr 1fr}.admin-columns{grid-template-columns:1fr}.admin-user div,.admin-user>a{display:none}.admin-table-row{grid-template-columns:25px 42px 1fr 65px}.admin-table-row>.published{display:none}.language-row{grid-template-columns:45px 1fr 70px}.language-row>div{display:none}.contact-admin-row{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr}}

.admin-login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#0a0a0a;color:white}
.admin-login>section{padding:7vw;display:flex;flex-direction:column;justify-content:center;max-width:740px;width:100%}
.admin-login-brand{font-family:"Bebas Neue";font-size:2.3rem;letter-spacing:.06em;margin-bottom:80px}.admin-login-brand i,.admin-login h1 span{color:var(--red);font-style:normal}.admin-login-brand small{display:block;font-family:"Manrope";font-size:.5rem;color:#777;letter-spacing:.22em;margin-top:7px}
.admin-login>section>p{font-size:.58rem;letter-spacing:.18em;color:#888}.admin-login h1{font-family:"Bebas Neue";font-size:clamp(4.5rem,8vw,8rem);font-weight:400;line-height:.82;text-transform:uppercase;margin:25px 0 45px}
.admin-login form{display:flex;flex-direction:column;gap:22px}.admin-login label{display:flex;flex-direction:column;gap:8px;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:#999}.admin-login input{background:#141414;border:1px solid #333;color:white;padding:16px;outline:none}.admin-login input:focus{border-color:var(--red)}.admin-login form button{background:var(--red);color:white;border:0;padding:17px;font-size:.68rem;font-weight:700;letter-spacing:.1em}.admin-login form button:disabled{opacity:.6}.admin-login>section>a{margin-top:30px;color:#777;font-size:.65rem}.login-error{color:#ff706b;font-size:.68rem}
.admin-login>aside{position:relative;overflow:hidden;background:#111;display:grid;place-items:center}.admin-login>aside>div{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:var(--red);box-shadow:0 0 100px rgba(225,6,0,.25)}.admin-login>aside>b{font-family:"Bebas Neue";font-size:36vw;line-height:1;color:#0a0a0a;position:relative}.admin-login>aside>span{position:absolute;bottom:45px;font-size:.55rem;letter-spacing:.2em}
@media(max-width:760px){.admin-login{grid-template-columns:1fr}.admin-login>section{padding:45px 24px}.admin-login-brand{margin-bottom:55px}.admin-login>aside{display:none}}

.form-message{grid-column:1/-1;margin:0;min-height:1.2em}.contact-form[hidden],.thank-you[hidden],[hidden]{display:none!important}
.admin-action,.editor-actions a{border:1px solid #ddd;background:white;padding:9px 13px;font-size:.6rem;color:#111}
.editor-card form>label{display:flex;flex-direction:column;gap:8px;font-size:.65rem;font-weight:700;margin-top:25px}
.editor-card form textarea{border:1px solid #ddd;background:#fafafa;padding:16px;font-size:1rem;resize:vertical}
.admin-help{font-size:.62rem;color:#888}.contact-admin-row form select{border:1px solid #ddd;padding:9px;width:100%}
.setup-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:#0a0a0a}.setup-card{width:min(620px,100%);background:#141414;border:1px solid #333;padding:clamp(28px,6vw,70px);color:white}.setup-card h1{font-family:"Bebas Neue";font-size:clamp(3rem,7vw,5.5rem);font-weight:400;line-height:.9}.setup-card>p{color:#aaa;line-height:1.7}.setup-card form{display:grid;gap:18px}.setup-card label{display:grid;gap:8px;font-size:.65rem;color:#aaa}.setup-card input{background:#0d0d0d;color:white;border:1px solid #333;padding:15px}.setup-card .admin-login-brand{margin-bottom:45px}
.admin-notice-error{background:#9e1612}.cms-editor{max-width:1050px}.cms-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.cms-form-grid label{display:flex;flex-direction:column;gap:8px;font-size:.65rem;font-weight:700}.cms-form-grid label.full{grid-column:1/-1}.cms-form-grid input,.cms-form-grid textarea{border:1px solid #ddd;background:#fafafa;padding:13px;color:#111}.cms-form-grid textarea{resize:vertical;line-height:1.55}.cms-check{align-self:end;flex-direction:row!important;align-items:center;padding:13px 0}.cms-check input{width:auto}.cms-image-preview{width:180px;height:120px;object-fit:cover;border:1px solid #ddd;margin-top:8px}.cms-list{margin-top:8px}.cms-list-row{display:grid;grid-template-columns:52px 1fr 75px 54px;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #eee}.cms-list-row>img,.cms-order{width:46px;height:46px;object-fit:cover;background:#111;color:white;display:grid;place-items:center;font-family:"Bebas Neue";font-size:1.2rem}.cms-list-row>div{display:flex;flex-direction:column;gap:4px}.cms-list-row b{font-size:.75rem}.cms-list-row small{font-size:.58rem;color:#888}.cms-list-row>a{font-size:.62rem}.cms-list-row form{margin:0}.cms-list-row button.danger{border:0;background:transparent;color:#b5201b;font-size:.62rem}.reference-cards .reference-logo{max-width:160px;max-height:70px}
.lead-source{font-size:.58rem;color:#8a6513;background:#fff6d8;padding:6px 8px;margin-top:9px;width:max-content}
@media(max-width:760px){.lead-dock{left:10px;right:10px;bottom:10px;justify-content:stretch}.lead-dock>span{display:none}.lead-dock>a{flex:1;text-align:center}.cookie-banner{bottom:70px;grid-template-columns:1fr 1fr}.cookie-banner p{grid-column:1/-1}.cms-form-grid{grid-template-columns:1fr}.cms-form-grid label.full{grid-column:auto}.cms-list-row{grid-template-columns:46px 1fr 58px}.cms-list-row form{grid-column:2}.admin-sidebar nav{grid-template-columns:1fr 1fr}}

/* Cinematic one-page experience */
.site-shell h1,.site-shell h2,.site-shell h3{line-height:.95}
.section-head .section-no{margin-bottom:24px}
.scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:120;pointer-events:none}
.scroll-progress i{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left center;will-change:transform}
.home-page .site-header{position:fixed;transition:height .35s ease,background .35s ease,border-color .35s ease,backdrop-filter .35s ease}
.home-page .site-header.is-scrolled{height:70px;background:rgba(7,7,7,.96);border-color:rgba(255,255,255,.09)}
.home-page section[id],.home-page footer[id]{scroll-margin-top:68px}
.home-page .hero{isolation:isolate}
.home-page .hero::after{content:"AJANSTONE";position:absolute;left:3.5vw;bottom:-.09em;z-index:-1;font-family:"Bebas Neue",Impact,sans-serif;font-size:22vw;line-height:.75;letter-spacing:-.035em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.045);white-space:nowrap;pointer-events:none}
.hero-ambient{position:absolute;width:42vw;aspect-ratio:1;right:4vw;top:18%;border-radius:50%;background:radial-gradient(circle,rgba(225,6,0,.17),rgba(225,6,0,0) 69%);filter:blur(24px);animation:ambientPulse 5s ease-in-out infinite alternate;pointer-events:none}
.hero-coordinate{position:absolute;z-index:4;color:rgba(255,255,255,.42);font-size:.53rem;letter-spacing:.18em;text-transform:uppercase}
.hero-coordinate-top{right:4vw;top:112px}
.hero-coordinate-side{left:18px;top:53%;writing-mode:vertical-rl;transform:rotate(180deg)}
.home-page .hero-copy .eyebrow{opacity:0;animation:heroFade .7s .1s ease forwards}
.home-page .hero-line{display:block;overflow:hidden;opacity:0;transform:translateY(105%);animation:heroLine .9s var(--line-delay,180ms) cubic-bezier(.2,.75,.2,1) forwards}
.home-page .hero-line em{display:inline-block}
.home-page .hero-bottom{opacity:0;transform:translateY(22px);animation:heroFade .8s .58s ease forwards}
.home-page .hero-visual{opacity:0;transform:translate(var(--scene-x,0),var(--scene-y,0)) scale(.94);animation:heroVisual 1.1s .35s cubic-bezier(.2,.75,.2,1) forwards;will-change:transform}
.home-page .red-sun{overflow:hidden;animation:sunBreath 7s ease-in-out infinite alternate}
.home-page .red-sun::before{content:"";position:absolute;inset:-20%;background:repeating-radial-gradient(ellipse at 20% 40%,transparent 0 7px,rgba(255,255,255,.055) 8px 9px);transform:rotate(-18deg)}
.home-page .visual-card{transform:translate(var(--parallax-x,0),var(--parallax-y,0)) rotate(var(--card-rotate,0));transition:transform .25s ease-out;will-change:transform}
.home-page .visual-card-a{--card-rotate:-5deg;animation:cardFloatA 5.5s ease-in-out infinite}
.home-page .visual-card-b{--card-rotate:4deg;animation:cardFloatB 6.5s ease-in-out infinite}
.home-page .visual-card-c{--card-rotate:3deg;animation:cardFloatC 6s ease-in-out infinite}
.home-page .hero-stamp{animation:stampSpin 24s linear infinite}
.home-page .scroll-note{display:flex;align-items:center;gap:12px}
.home-page .scroll-note::before{content:"";display:block;width:36px;height:1px;background:#fff;animation:scrollLine 1.4s ease-in-out infinite;transform-origin:left}
.home-page [data-reveal-section]{opacity:0;transform:translateY(45px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.home-page [data-reveal-section].visible{opacity:1;transform:none}
.home-page .service-row{position:relative;isolation:isolate;overflow:hidden}
.home-page .service-row::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red);transform:scaleY(0);transform-origin:bottom;transition:transform .42s cubic-bezier(.2,.7,.2,1)}
.home-page .service-row:hover{padding-left:22px;color:white}
.home-page .service-row:hover::before{transform:scaleY(1)}
.home-page .service-row:hover em,.home-page .service-row:hover p{color:white}
.home-page .project-card{position:relative}
.home-page .project-index{position:absolute;right:16px;top:16px;z-index:5;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.58);border-radius:50%;color:white;font-size:.57rem;letter-spacing:.12em;mix-blend-mode:difference;transition:transform .35s ease,background .35s ease}
.home-page .project-card:hover .project-index{transform:rotate(45deg);background:white;color:black}
.home-page .project-art::before{content:"";position:absolute;inset:-25%;z-index:4;background:linear-gradient(105deg,transparent 37%,rgba(255,255,255,.24) 50%,transparent 63%);transform:translateX(-75%) rotate(5deg);transition:transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.home-page .project-card:hover .project-art::before{transform:translateX(75%) rotate(5deg)}
.home-page .project-card:hover .project-art{transform:scale(.98)}
.home-page .project-meta h3{transition:color .25s ease,transform .25s ease}
.home-page .project-card:hover .project-meta h3{color:var(--red);transform:translateX(7px)}
.home-page .process-grid>div{transition:background .3s ease,padding .3s ease}
.home-page .process-grid>div:hover{background:#151515;padding-left:26px}
.home-page .logo-grid>div{transition:background .3s ease,transform .3s ease}
.home-page .logo-grid>div:hover{position:relative;z-index:2;background:white;transform:scale(1.025);box-shadow:0 18px 45px rgba(0,0,0,.08)}
.home-page .quote-block blockquote{position:relative}
.home-page .quote-block blockquote::after{content:"";display:block;width:64px;height:3px;background:var(--red);margin:36px auto 0}
.home-page .footer-top h2{transition:letter-spacing .55s ease}
.home-page .footer-top:hover h2{letter-spacing:.012em}
.home-page .round-link{box-shadow:0 0 0 0 rgba(225,6,0,.34);animation:ctaPulse 2.4s ease-out infinite}

@keyframes heroLine{to{opacity:1;transform:none}}
@keyframes heroFade{to{opacity:1;transform:none}}
@keyframes heroVisual{to{opacity:1;transform:translate(var(--scene-x,0),var(--scene-y,0)) scale(1)}}
@keyframes ambientPulse{to{transform:scale(1.12);opacity:.72}}
@keyframes sunBreath{to{transform:scale(1.035);box-shadow:0 0 165px rgba(225,6,0,.3)}}
@keyframes cardFloatA{0%,100%{margin-top:0}50%{margin-top:-12px}}
@keyframes cardFloatB{0%,100%{margin-top:0}50%{margin-top:10px}}
@keyframes cardFloatC{0%,100%{margin-bottom:0}50%{margin-bottom:12px}}
@keyframes stampSpin{to{transform:rotate(369deg)}}
@keyframes scrollLine{0%,100%{transform:scaleX(.35);opacity:.45}50%{transform:scaleX(1);opacity:1}}
@keyframes ctaPulse{70%{box-shadow:0 0 0 18px rgba(225,6,0,0)}100%{box-shadow:0 0 0 0 rgba(225,6,0,0)}}

@media(max-width:760px){
  .hero-coordinate{display:none}
  .home-page .hero::after{font-size:39vw;bottom:0}
  .hero-ambient{width:100vw;right:-40vw;top:38%}
  .home-page .site-header.is-scrolled{height:64px}
  .home-page [data-reveal-section]{transform:translateY(28px)}
  .home-page .service-row:hover{padding-left:8px}
  .home-page .project-index{width:36px;height:36px;right:12px;top:12px}
}
@media(prefers-reduced-motion:reduce){
  .home-page .hero-copy .eyebrow,.home-page .hero-line,.home-page .hero-bottom,.home-page .hero-visual,.home-page [data-reveal-section]{opacity:1!important;transform:none!important}
  .hero-ambient,.home-page .red-sun,.home-page .visual-card,.home-page .hero-stamp,.home-page .round-link{animation:none!important}
}

.cms-gallery-field>small{color:#888;font-weight:400}
.cms-gallery-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px}
.cms-gallery-preview>span{position:relative;border:1px solid #ddd;background:white;padding:7px}
.cms-gallery-preview img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover}
.cms-gallery-remove{display:flex;align-items:center;gap:6px;margin-top:7px;color:#a21d18;font-size:.58rem}
.cms-gallery-remove input{width:auto}
@media(max-width:760px){.cms-gallery-preview{grid-template-columns:repeat(2,1fr)}}
