@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap");

:root { 
  --black:#101828;
  --surface:#17233a;
  --surface-hover:#203252;
  --accent:#49d6ff;
  --accent-hover:#86e4ff;
  --red:#49d6ff;
  --red-hover:#86e4ff;
  --white:#fffdf6;
  --light:#f3eee3;
  --gray:#9fabc0;
  --line:rgba(255,253,246,0.16);
  --radius:4px;
  --radius-sm:2px;
  --radius-lg:4px;
  --glass:rgba(23,35,58,0.82);
  --glass-border:rgba(255,253,246,0.18);
  --glow:rgba(73,214,255,0.28);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; background:var(--black); color:var(--white); font-family:"DM Sans",Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; border-radius:var(--radius-sm); }
button { cursor:pointer; }
::selection { background:var(--accent); color:var(--black); }
.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 var(--line); }
.site-header.is-scrolled { position:fixed; height:70px; background:rgba(8,8,10,.92); border-bottom-color:var(--glass-border); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:0 10px 30px rgba(0,0,0,.6); }
.logo-link { display:flex; align-items:center; }
.brand { font-family:"DM Sans",Arial,sans-serif; font-size:1.1rem; line-height:1; letter-spacing:.16em; white-space:nowrap; font-style:normal; font-weight:700; }
.brand span { color:var(--white); }
.brand i { color:var(--accent); 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:all .25s ease; border-radius:var(--radius-sm); padding:6px 12px; }
.desktop-nav a:hover, .desktop-nav a.active { color:var(--accent); background:rgba(212,175,55,0.12); }
.header-actions { display:flex; align-items:center; gap:20px; }
.lang { font-size:.7rem; font-weight:700; letter-spacing:.15em; }
.header-cta { background:var(--accent); color:var(--black); padding:12px 20px; font-size:.68rem; font-weight:800; letter-spacing:.11em; border-radius:30px; transition:all .25s cubic-bezier(.2,.7,.2,1); }
.header-cta:hover { background:var(--accent-hover); transform:translateY(-2px); box-shadow:0 10px 25px var(--glow); }
.header-cta span { margin-left:12px; font-size:1rem; }

/* Bento Grid Container & Card Layouts */
.bento-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; padding:20px 4vw; }
.bento-card { background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--radius-lg); padding:32px; backdrop-filter:blur(10px); transition:all .35s cubic-bezier(.2,.7,.2,1); position:relative; overflow:hidden; }
.bento-card:hover { transform:translateY(-5px); border-color:rgba(212,175,55,0.35); box-shadow:0 20px 50px rgba(0,0,0,0.5), 0 0 30px var(--glow); }
.bento-card.col-2 { grid-column:span 2; }
.bento-card.col-3 { grid-column:span 3; }
.bento-card.row-2 { grid-row:span 2; }
.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:1000; display:none; flex-direction:column; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.mobile-menu.is-open { display:flex!important; opacity:1!important; pointer-events:auto!important; }
.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; border-radius:2px; }
.hero h1,.page-hero h1,.detail-hero h1,.case-hero h1 { font-family:"Playfair Display",Georgia,serif; text-transform:none; font-size:clamp(4.1rem,8vw,8.8rem); letter-spacing:-.055em; line-height:.9; font-weight:600; 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; border-radius:30px; 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); box-shadow:0 10px 20px rgba(212,175,55,0.35); }
.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(212,175,55,.25); }
.visual-card { position:absolute; background:rgba(15,15,15,.92); border:1px solid #555; border-radius:var(--radius); 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(--black); color:var(--white); }
.intro { padding:130px 8vw 80px; display:grid; grid-template-columns:16% 1fr; }
.intro>.bento-grid { grid-column:1 / -1; width:100%; }
.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); border-radius:var(--radius-lg); overflow:hidden; }
.project-art { aspect-ratio:1.2; position:relative; overflow:hidden; background:var(--accent); color:var(--black); padding:5%; border-radius:var(--radius-lg); 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); letter-spacing:.09em; 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; border-radius:30px; transition:all .2s ease; }
.filters button.active,.filters button:hover { background:var(--red); border-color:var(--red); color:white; transform:translateY(-2px); box-shadow:0 6px 18px rgba(225,6,0,.3); }
.portfolio { padding:80px 8vw 130px; }
.portfolio-grid { gap:70px 28px; }
[data-category] { transition:opacity .25s ease, transform .25s ease; }
.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:272px 1fr; background:#ececea; color:#111; }
.admin-sidebar { position:sticky; top:0; height:100vh; background:#0a0a0a; color:white; padding:24px 16px; display:flex; flex-direction:column; z-index:30; border-right:1px solid #1f1f1f; }
.admin-brand { font-family:"Bebas Neue"; font-size:1.85rem; letter-spacing:.05em; padding:0 10px 22px; border-bottom:1px solid #222; }
.admin-brand i { color:var(--red); font-style:normal; }
.admin-brand small { display:block; color:#666; font-family:"Manrope"; font-size:.5rem; letter-spacing:.2em; margin-top:6px; }
.admin-nav-group { margin-top:18px; }
.admin-nav-group>p { font-size:.48rem; letter-spacing:.18em; color:#555; padding:0 10px 8px; margin:0; text-transform:uppercase; }
.admin-sidebar nav { display:flex; flex-direction:column; gap:2px; overflow:auto; flex:1; }
.admin-sidebar nav>a { border:0; background:transparent; color:#888; padding:10px 10px; text-align:left; font-size:.72rem; display:flex; gap:11px; align-items:center; border-radius:8px; text-decoration:none; transition:background .15s,color .15s; }
.admin-sidebar nav>a span { font-size:.52rem; color:#444; min-width:18px; }
.admin-sidebar nav>a em { margin-left:auto; background:var(--red); color:white; border-radius:10px; padding:2px 8px; font-style:normal; font-size:.55rem; font-weight:700; }
.admin-sidebar nav>a.active, .admin-sidebar nav>a:hover { background:#181818; color:white; }
.admin-sidebar nav>a.active span { color:var(--red); }
.admin-sidebar-foot { margin-top:auto; padding-top:16px; border-top:1px solid #222; }
.admin-sidebar-foot>a { display:block; padding:10px; color:#777; font-size:.68rem; text-decoration:none; }
.admin-sidebar-foot>a:hover { color:white; }
.admin-main { padding:0; min-width:0; display:flex; flex-direction:column; }
.admin-topbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 3vw 18px; background:#ececea; border-bottom:1px solid #d8d8d4; position:sticky; top:0; z-index:20; }
.admin-topbar-left { display:flex; align-items:center; gap:14px; min-width:0; }
.admin-menu-toggle { display:none; width:38px; height:38px; border:1px solid #ccc; background:white; border-radius:8px; cursor:pointer; flex-shrink:0; }
.admin-menu-toggle span { display:block; width:16px; height:2px; background:#111; margin:3px auto; }
.admin-topbar-left p, .admin-card-head p { font-size:.55rem; color:#888; letter-spacing:.13em; margin:0 0 6px; }
.admin-topbar-left h1 { font-family:"Bebas Neue"; font-size:2.4rem; font-weight:400; margin:0; line-height:1; }
.admin-breadcrumb { display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:.62rem; color:#888; margin-top:8px; }
.admin-breadcrumb a { color:#666; text-decoration:none; }
.admin-breadcrumb a:hover { color:var(--red); }
.admin-breadcrumb span { color:#bbb; }
.admin-user { display:flex; gap:12px; align-items:center; flex-shrink:0; }
.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:8px; color:#777; text-decoration:none; padding:8px 12px; border:1px solid #ccc; border-radius:8px; background:white; }
.admin-body { padding:28px 3vw 80px; flex:1; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.metric-grid article { background:white; padding:22px 22px 20px; border:1px solid #e1e1de; border-radius:12px; position:relative; overflow:hidden; transition:box-shadow .2s, transform .2s; }
.metric-grid article:hover { box-shadow:0 8px 28px rgba(0,0,0,.06); transform:translateY(-2px); }
.metric-grid article::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--red); opacity:.85; }
.metric-grid article>span { font-size:.65rem; color:#777; display:flex; align-items:center; gap:8px; }
.metric-grid b { font-family:"Bebas Neue"; font-size:3.2rem; font-weight:400; display:block; margin:14px 0 2px; line-height:1; }
.metric-grid small { font-size:.58rem; color:#6d8f6e; }
.metric-icon { width:28px; height:28px; border-radius:8px; background:#f5f5f3; display:grid; place-items:center; font-size:.75rem; }
.admin-quick-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
.admin-quick-actions a { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; background:white; border:1px solid #ddd; border-radius:10px; font-size:.65rem; color:#111; text-decoration:none; transition:border-color .15s, background .15s; }
.admin-quick-actions a:hover { border-color:var(--red); background:#fffafa; }
.admin-quick-actions a.is-accent { background:var(--red); border-color:var(--red); color:white; }
.admin-columns { display:grid; grid-template-columns:1.55fr 1fr; gap:16px; }
.admin-card { background:white; border:1px solid #e1e1de; border-radius:12px; margin-top:20px; padding:24px; }
.admin-columns>.admin-card { margin-top:0; }
.admin-card-head { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:18px; border-bottom:1px solid #ececea; margin-bottom:4px; }
.admin-card-head h2 { font-size:1.05rem; margin:0; font-weight:700; }
.admin-card-head a { font-size:.62rem; color:#666; text-decoration:none; }
.admin-card-head a:hover { color:var(--red); }
.admin-card-head button, .editor-actions button { border:1px solid #ddd; background:white; padding:9px 14px; font-size:.62rem; border-radius:8px; cursor:pointer; }
.admin-primary { background:var(--red)!important; color:white!important; border-color:var(--red)!important; }
.admin-primary.is-loading { opacity:.7; pointer-events:none; }
.admin-primary.is-loading::after { content:" …"; }
.request-row { display:flex; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid #f0f0ed; cursor:pointer; transition:background .12s; border-radius:8px; margin:0 -8px; padding-left:8px; padding-right:8px; }
.request-row:hover { background:#fafaf8; }
.request-row>span { width:36px; height:36px; background:#eee; border-radius:50%; display:grid; place-items:center; font-size:.6rem; font-weight:700; flex-shrink:0; }
.request-row>div { display:flex; flex-direction:column; min-width:0; flex:1; }
.request-row b { font-size:.72rem; }
.request-row small { font-size:.58rem; color:#888; margin-top:3px; }
.status-badge { margin-left:auto; font-size:.55rem; font-style:normal; padding:5px 10px; border-radius:20px; font-weight:600; white-space:nowrap; }
.status-badge.status-new { background:#fff1da; color:#a36800; }
.status-badge.status-reviewing { background:#e8f0ff; color:#2a5ea8; }
.status-badge.status-contacted { background:#e8f5e9; color:#2e7d4f; }
.status-badge.status-quoted { background:#f3e8ff; color:#6b3fa0; }
.status-badge.status-completed { background:#e0f2e8; color:#1b6b42; }
.status-badge.status-negative { background:#fde8e8; color:#b5201b; }
.status-badge.status-archived { background:#eee; color:#666; }
.content-status { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; }
.content-status div { background:#f8f8f6; padding:18px; border-radius:10px; }
.content-status span { font-size:.6rem; color:#777; }
.content-status b { display:block; font-family:"Bebas Neue"; font-size:2.3rem; margin-top:12px; line-height:1; }
.editor-actions { display:flex; gap:10px; margin-top:25px; flex-wrap:wrap; align-items:center; }
.published { color:#579561; font-size:.58rem; }
.contact-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid #ececea; }
.contact-search { flex:1; min-width:200px; position:relative; }
.contact-search input { width:100%; border:1px solid #ddd; background:#fafafa; padding:11px 14px 11px 36px; border-radius:10px; font-size:.72rem; outline:none; }
.contact-search input:focus { border-color:var(--red); background:white; }
.contact-search::before { content:"⌕"; position:absolute; left:13px; top:50%; transform:translateY(-50%); color:#aaa; font-size:.85rem; }
.contact-filters { display:flex; flex-wrap:wrap; gap:6px; }
.contact-filters button { border:1px solid #ddd; background:white; padding:8px 12px; font-size:.6rem; border-radius:20px; cursor:pointer; transition:all .12s; }
.contact-filters button.active, .contact-filters button:hover { background:#111; border-color:#111; color:white; }
.contact-filters button em { font-style:normal; background:rgba(255,255,255,.2); padding:1px 6px; border-radius:8px; margin-left:4px; font-size:.55rem; }
.contact-admin-row { display:grid; grid-template-columns:1fr 170px; gap:20px; padding:18px 0; border-bottom:1px solid #f0f0ed; align-items:start; }
.contact-admin-row>div:first-child { display:flex; flex-direction:column; gap:6px; }
.contact-admin-row b { font-size:.82rem; }
.contact-admin-row small { color:#888; font-size:.6rem; }
.contact-admin-row p { font-size:.72rem; line-height:1.55; max-width:700px; color:#333; margin:4px 0 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.contact-admin-row select { border:1px solid #ddd; padding:10px; width:100%; border-radius:8px; font-size:.65rem; background:white; }
.contact-open-btn { align-self:start; margin-top:8px; border:0; background:transparent; color:var(--red); font-size:.62rem; cursor:pointer; padding:0; font-weight:600; }
.contact-detail-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:90; opacity:0; pointer-events:none; transition:opacity .25s; }
.contact-detail-backdrop.is-open { opacity:1; pointer-events:auto; }
.contact-detail-panel { position:fixed; top:0; right:0; width:min(480px,100vw); height:100vh; background:white; z-index:100; transform:translateX(100%); transition:transform .28s cubic-bezier(.2,.7,.2,1); display:flex; flex-direction:column; box-shadow:-8px 0 40px rgba(0,0,0,.12); }
.contact-detail-panel.is-open { transform:none; }
.contact-detail-head { display:flex; justify-content:space-between; align-items:center; padding:24px; border-bottom:1px solid #eee; }
.contact-detail-head h3 { margin:0; font-size:1.1rem; }
.contact-detail-close { border:0; background:#f5f5f3; width:36px; height:36px; border-radius:50%; cursor:pointer; font-size:1.1rem; }
.contact-detail-body { padding:24px; overflow:auto; flex:1; display:grid; gap:16px; }
.contact-detail-body dl { margin:0; display:grid; gap:12px; }
.contact-detail-body dt { font-size:.55rem; letter-spacing:.1em; color:#888; text-transform:uppercase; margin-bottom:4px; }
.contact-detail-body dd { margin:0; font-size:.78rem; line-height:1.5; }
.contact-detail-message { background:#f8f8f6; padding:16px; border-radius:10px; font-size:.75rem; line-height:1.6; white-space:pre-wrap; }
.contact-detail-foot { padding:20px 24px; border-top:1px solid #eee; }
.contact-detail-foot select { width:100%; padding:11px; border:1px solid #ddd; border-radius:8px; font-size:.68rem; }
.admin-empty, .admin-loading { padding:50px 20px; text-align:center; color:#888; font-size:.75rem; }
.admin-empty-icon { font-size:2rem; margin-bottom:12px; opacity:.4; }
.admin-notice { position:fixed; right:24px; top:24px; background:#111; color:white; padding:14px 18px 14px 42px; font-size:.68rem; z-index:200; border-radius:10px; box-shadow:0 8px 30px rgba(0,0,0,.18); transition:opacity .3s, transform .3s; }
.admin-notice::before { content:"✓"; position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#6d8f6e; font-weight:700; }
.admin-notice.is-hiding { opacity:0; transform:translateY(-8px); }
.admin-notice-error { background:#9e1612; }
.admin-notice-error::before { content:"!"; color:#ffb4b0; }
body.admin-modal-open { overflow:hidden; }
@media(max-width:900px){
  .admin-shell { grid-template-columns:1fr; }
  .admin-menu-toggle { display:block; }
  .admin-sidebar { position:fixed; left:0; top:0; width:272px; transform:translateX(-100%); transition:transform .25s; height:100vh; }
  .admin-shell.sidebar-open .admin-sidebar { transform:none; }
  .admin-shell.sidebar-open::after { content:""; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:25; }
  .admin-body { padding:20px 16px 60px; }
  .admin-topbar { padding:16px; }
  .metric-grid { grid-template-columns:1fr 1fr; }
  .admin-columns { grid-template-columns:1fr; }
  .admin-user div { display:none; }
  .contact-admin-row { 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:1080px}
.settings-tabs-wrap{margin-top:8px}
.settings-tab-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #ececea}
.settings-tab-nav button{border:1px solid #ddd;background:white;padding:10px 16px;font-size:.65rem;border-radius:10px;cursor:pointer;transition:all .12s}
.settings-tab-nav button.active,.settings-tab-nav button:hover{background:#111;border-color:#111;color:white}
.settings-panel-help{font-size:.72rem;color:#666;line-height:1.55;margin:0 0 20px;padding:14px 16px;background:#f8f8f6;border-radius:10px;border-left:3px solid var(--red)}
.settings-panel[hidden]{display:none!important}
.cms-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.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,.cms-form-grid select{border:1px solid #ddd;background:#fafafa;padding:13px;color:#111;border-radius:8px;outline:none;transition:border-color .15s,background .15s}
.cms-form-grid input:focus,.cms-form-grid textarea:focus{border-color:var(--red);background:white}
.cms-form-grid textarea{resize:vertical;line-height:1.55}
.slug-preview{font-size:.62rem;color:#888;font-weight:400;margin-top:4px}
.slug-preview code{background:#f0f0ed;padding:2px 8px;border-radius:4px;color:var(--red)}
.cms-publish-toggle{align-self:end;flex-direction:row!important;align-items:center;justify-content:space-between;padding:13px 16px;background:#f8f8f6;border-radius:10px;border:1px solid #eee}
.cms-publish-toggle input{appearance:none;width:44px;height:24px;background:#ccc;border-radius:12px;position:relative;cursor:pointer;transition:background .2s;border:0;flex-shrink:0}
.cms-publish-toggle input::after{content:"";position:absolute;width:18px;height:18px;background:white;border-radius:50%;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.cms-publish-toggle input:checked{background:var(--red)}
.cms-publish-toggle input:checked::after{transform:translateX(20px)}
.cms-repeater{display:grid;gap:10px}
.cms-repeater-list{display:grid;gap:8px}
.cms-repeater-row{display:grid;grid-template-columns:1fr 1fr 36px;gap:8px;align-items:center}
.cms-repeater[data-repeater=lines] .cms-repeater-row{grid-template-columns:1fr 36px}
.cms-repeater-row input{border:1px solid #ddd;background:#fafafa;padding:11px;border-radius:8px;font-size:.72rem}
.cms-repeater-remove{border:0;background:#fde8e8;color:#b5201b;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.1rem;line-height:1}
.cms-repeater-add{align-self:start;border:1px dashed #ccc;background:white;padding:9px 14px;font-size:.62rem;border-radius:8px;cursor:pointer;color:#666;margin-top:4px}
.cms-repeater-add:hover{border-color:var(--red);color:var(--red)}
.cms-dropzone{border:2px dashed #ddd;border-radius:12px;padding:28px 20px;text-align:center;background:#fafafa;cursor:pointer;transition:border-color .15s,background .15s;position:relative}
.cms-dropzone.is-dragover{border-color:var(--red);background:#fff8f8}
.cms-dropzone p{margin:0;font-size:.72rem;color:#666}
.cms-dropzone small{display:block;margin-top:6px;font-size:.58rem;color:#aaa;font-weight:400}
.cms-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.cms-dropzone-preview{margin-top:12px}
.cms-dropzone-preview[hidden]{display:none!important}
.cms-dropzone-preview img{max-width:220px;max-height:140px;object-fit:cover;border-radius:8px;border:1px solid #ddd}
.cms-image-preview{width:180px;height:120px;object-fit:cover;border:1px solid #ddd;margin-top:8px;border-radius: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;border-radius:8px}
.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;text-decoration:none;color:var(--red)}.cms-list-row form{margin:0}
.cms-list-row button.danger{border:0;background:transparent;color:#b5201b;font-size:.62rem;cursor:pointer}
.cms-draft-badge{font-size:.52rem;background:#eee;color:#666;padding:2px 7px;border-radius:8px;margin-left:6px}
.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 section[id],.home-page footer[id]{scroll-margin-top:68px}
.home-page .hero{isolation:isolate}
.home-page .hero::after{display: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{animation:heroFade .7s .1s ease forwards}
.home-page .hero-line{display:inline-block;width:100%}
.home-page .hero-line em{display:inline-block}
.home-page .hero-bottom{animation:heroFade .8s .58s ease forwards}
.home-page .hero-visual{transform:translate(var(--scene-x,0),var(--scene-y,0));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]{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(212,175,55,.34);animation:ctaPulse 2.4s ease-out infinite}

@keyframes heroLine{to{opacity:1;transform:none}}
@keyframes heroFade{to{opacity:1;transform:none}}
/* Bento Grid Custom Component Styles */
.bento-tag { display:inline-block; font-size:0.65rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--accent); background:rgba(212,175,55,0.1); border:1px solid rgba(212,175,55,0.25); padding:6px 12px; border-radius:20px; margin-bottom:16px; }
.bento-title { font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(2rem,3.5vw,3.8rem); line-height:0.95; margin:0 0 16px; font-weight:400; text-transform:uppercase; }
.bento-desc { color:var(--gray); font-size:0.92rem; line-height:1.65; margin:0 0 24px; }
.bento-stat-num { font-family:"Bebas Neue",sans-serif; font-size:4rem; line-height:1; color:var(--accent); display:block; }
.bento-stat-label { font-size:0.75rem; color:var(--gray); text-transform:uppercase; letter-spacing:0.08em; }
.bento-services-list { display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; margin-top:20px; }
.bento-service-pill { background:rgba(255,255,255,0.03); border:1px solid var(--line); border-radius:12px; padding:14px 18px; font-size:0.8rem; font-weight:600; display:flex; align-items:center; justify-content:space-between; transition:all 0.25s ease; }
.bento-service-pill:hover { background:rgba(212,175,55,0.1); border-color:var(--accent); color:var(--accent); transform:translateX(5px); }

/* Yunus Çakır — editorial creative portfolio direction */
.site-header { border-bottom-color:rgba(255,253,246,.16); }
.site-header.is-scrolled { background:rgba(16,24,40,.94); box-shadow:none; }
.desktop-nav,.eyebrow,.section-no,.button,.header-cta,.hero-coordinate,.scroll-note,.bento-tag { font-family:"DM Mono",monospace; }
.desktop-nav { font-size:.62rem; font-weight:400; }
.desktop-nav a { border-radius:0; padding:7px 3px; }
.desktop-nav a:hover,.desktop-nav a.active { color:var(--accent); background:transparent; }
.header-cta,.button { border-radius:0; }
.header-cta { padding:13px 17px; }
.button { padding:16px 18px; }
.hero { background:var(--black); grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr); }
.hero::before { background:linear-gradient(rgba(255,253,246,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,253,246,.06) 1px,transparent 1px); background-size:46px 46px; mask-image:linear-gradient(90deg,black 25%,transparent 100%); }
.hero h1 em,.page-hero h1 em { color:var(--accent); }
.hero-bottom>p,.bento-desc { color:#c8d0dd; }
.red-sun { right:4%; bottom:8%; width:min(33vw,500px); border-radius:36% 64% 62% 38% / 42% 40% 60% 58%; background:var(--accent); box-shadow:none; transform:rotate(-18deg); }
.hero-ambient { background:radial-gradient(circle,rgba(73,214,255,.21),rgba(73,214,255,0) 69%); }
.visual-card { border-radius:0; background:rgba(255,253,246,.94); border-color:rgba(16,24,40,.24); color:var(--black); box-shadow:14px 14px 0 rgba(73,214,255,.6); backdrop-filter:none; }
.visual-card-a { transform:rotate(-8deg); }
.visual-card-a span,.visual-card-b>span { color:#526078; font-family:"DM Mono",monospace; }
.visual-card-a b { font-family:"Playfair Display",Georgia,serif; font-size:4.4rem; }
.visual-card-a i { color:#1685a4; font-family:"DM Mono",monospace; }
.visual-card-b { transform:rotate(5deg); }
.mini-grid i { background:var(--accent); }
.mini-grid i:nth-child(2) { background:var(--black); }.mini-grid i:nth-child(3) { background:#f5ab7d; }.mini-grid i:nth-child(4) { border-color:#526078; background:var(--white); }
.visual-card-c { transform:rotate(3deg); padding:20px; }
.visual-quote { font-family:"Playfair Display",Georgia,serif; font-size:1.7rem; line-height:1.05; }
.wave { background:repeating-linear-gradient(90deg,transparent 0 9px,var(--accent) 10px 12px); }
.hero-stamp { border-color:var(--black); background:var(--white); color:var(--black); border-radius:0; width:112px; height:112px; font-family:"DM Mono",monospace; font-size:.66rem; transform:rotate(12deg); }
.marquee { background:var(--accent); color:var(--black); font-family:"DM Mono",monospace; font-size:.85rem; padding:16px 0; transform:none; }
.bento-card { border-radius:0; background:#17233a; backdrop-filter:none; }
.bento-card:hover { transform:translateY(-4px); border-color:var(--accent); box-shadow:8px 8px 0 var(--accent); }
.bento-tag { color:var(--accent); background:transparent; border-color:rgba(73,214,255,.45); border-radius:0; }
.bento-title,.intro h2,.section-head h2,.process>h2,.story h2,.team h2,.related-work h2,.next-project h2,.thank-you h2,.project-meta h3,.service-row h3,.process-grid h3,.mission h3,.value-grid h3,.team-grid article h3 { font-family:"Playfair Display",Georgia,serif; text-transform:none; letter-spacing:-.045em; }
.bento-stat-num { font-family:"DM Mono",monospace; font-size:2.6rem; }
.bento-stat-label { font-family:"DM Mono",monospace; }
.bento-service-pill { border-radius:0; background:rgba(255,253,246,.04); }
.bento-service-pill:hover { background:rgba(73,214,255,.12); transform:translateX(3px); }
.project-card { border-radius:0; color:var(--white); overflow:visible; }
.project-art { border-radius:0; box-shadow:10px 10px 0 rgba(255,253,246,.12); }
.project-meta span { color:#aeb9ca; font-family:"DM Mono",monospace; }.project-meta h3 { font-size:2rem; }.project-meta p { color:var(--accent); }
.project-card:hover .project-art { transform:translate(-4px,-4px); box-shadow:14px 14px 0 var(--accent); }
.page-hero::after { content:"Y"; color:transparent; -webkit-text-stroke:1px rgba(73,214,255,.32); }
.page-hero { background:radial-gradient(circle at 82% 45%,rgba(73,214,255,.17),transparent 24%),var(--black); }
.mission>div:first-child { background:var(--accent); color:var(--black); }.mission>div:last-child { background:#17233a; }
.lead-dock { border-radius:0; border-color:rgba(255,253,246,.22); background:rgba(16,24,40,.94); }.lead-dock>a { background:var(--accent); color:var(--black); border-radius:0; }.lead-dock .lead-whatsapp { background:#a6e3b5; color:var(--black); }
.cookie-banner { border-radius:0; background:#17233a; }.cookie-banner button:last-child { background:var(--accent); border-color:var(--accent); color:var(--black); }
.round-link { border-radius:0; background:var(--accent); color:var(--black); }.round-link:hover { background:var(--accent-hover); transform:rotate(15deg); }
.logo-grid { border-color:rgba(255,253,246,.22); }.logo-grid>div { border-color:rgba(255,253,246,.22); }.logo-shape { background:var(--accent); }
@media (max-width:760px) {
  .hero { grid-template-columns:1fr; min-height:0; padding:126px 20px 38px; }
  .hero h1,.page-hero h1 { font-size:clamp(3.15rem,14vw,5.2rem); margin:24px 0; }
  .hero-bottom { display:block; margin-top:24px; }.hero-bottom>p { font-size:.8rem; }
  .hero-buttons { margin-top:20px; }.button { padding:14px 15px; font-size:.6rem; gap:12px; }
  .hero-visual { position:relative; inset:auto; opacity:1; height:305px; margin-top:48px; align-self:auto; }
  .red-sun { width:67vw; right:4%; bottom:8%; }.hero-coordinate-top { top:104px; right:20px; }.hero-coordinate-side { left:8px; }
  .visual-card-a { top:12%; left:2%; width:150px; padding:14px; }.visual-card-a b { font-size:3.2rem; }
  .visual-card-b { top:2%; right:1%; width:160px; height:125px; padding:13px; }.mini-grid { margin-top:14px; }.mini-grid i { height:32px; }
  .visual-card-c { width:210px; height:126px; left:14%; bottom:0; padding:14px; }.visual-quote { font-size:1.3rem; }.wave { height:45px; margin-top:9px; }
  .hero-stamp { width:76px; height:76px; right:1%; bottom:0; font-size:.47rem; }.scroll-note { display:none; }
  .header-cta { display:none; }.bento-services-list { grid-template-columns:1fr; }
}

@media(max-width:960px){
  .bento-grid { grid-template-columns:1fr; gap:16px; }
  .bento-card.col-2, .bento-card.col-3 { grid-column:span 1; }
  .bento-services-list { grid-template-columns:1fr; }
}
@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)}}

/* Lightbox & Image Preview Modal */
.lightbox-backdrop { position:fixed; inset:0; z-index:99999; background:rgba(0,0,0,.92); backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px); display:flex; align-items:center; justify-content:center; opacity:0; animation:lightboxFadeIn .25s ease forwards; padding:2vw; }
@keyframes lightboxFadeIn { to { opacity:1; } }
.lightbox-container { position:relative; max-width:92vw; max-height:90vh; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.lightbox-img { max-width:100%; max-height:82vh; object-fit:contain; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.8); border:1px solid rgba(255,255,255,.1); }
.lightbox-caption { margin-top:14px; font-size:.85rem; color:#ccc; text-align:center; font-weight:500; }
.lightbox-close { position:absolute; top:-48px; right:0; background:none; border:none; color:white; font-size:2.2rem; cursor:pointer; opacity:.8; transition:opacity .2s; }
.lightbox-close:hover { opacity:1; color:var(--red); }
