:root{ --gray:#bcb9b8; --maroon:#5b282b; --paper:#e7e6e6; --gold:#9b8672; --black:#070606; --radius:16px; --radius-lg:20px; --shadow-1:0 8px 22px rgba(0,0,0,.12); --shadow-2:0 16px 38px rgba(0,0,0,.18); }
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--black);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;line-height:1.6}
img{max-width:100%;display:block} a{text-decoration:none;color:inherit} .container{width:min(1140px,92%);margin-inline:auto}
h1,h2,h3,h4{font-family:"Montserrat",Inter,system-ui,sans-serif;line-height:1.2;margin:.1rem 0 .6rem}
h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;letter-spacing:.2px} h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:750} h3{font-size:1.15rem;font-weight:700}
.lead{font-size:clamp(1.05rem,2.2vw,1.25rem);color:#232323}
header{position:sticky;top:0;z-index:100;background:rgba(231,230,230,.88);border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:saturate(160%) blur(8px)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}
.brand{display:flex;align-items:center;gap:.7rem;font-weight:800;letter-spacing:.4px}
.brand-mark{width:34px;height:34px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,var(--maroon) 0 52%,var(--gold) 52% 100%);box-shadow:var(--shadow-1)}
nav ul{list-style:none;display:flex;gap:1.25rem;margin:0;padding:0} nav a{padding:.35rem .25rem;border-radius:8px}
nav a:hover{background:rgba(155,134,114,.18)}
.menu-toggle{display:none;border:0;background:transparent;font-weight:800}
@media (max-width:720px){nav ul{display:none}.menu-toggle{display:block}.mobile-menu{display:none;position:fixed;inset:56px 0 0 0;background:rgba(231,230,230,.98);backdrop-filter:blur(8px);padding:1rem;z-index:90;border-top:1px solid #ddd}.mobile-menu a{display:block;padding:1rem;border-bottom:1px solid #ddd}.mobile-menu.show{display:block}}
.btn{display:inline-block;padding:.85rem 1.15rem;border-radius:999px;border:2px solid transparent;background:var(--gold);color:var(--black);font-weight:700;letter-spacing:.2px;transition:.25s ease}
.btn:hover{filter:brightness(1.06);transform:translateY(-2px)} .pill{display:inline-block;background:var(--maroon);color:#fff;padding:.42rem .66rem;border-radius:999px;font-size:.72rem;letter-spacing:.04em;margin-bottom:.6rem}
.hero{position:relative;overflow:hidden;padding:clamp(82px,12vw,140px) 0 clamp(56px,8vw,100px);color:#fff}
.tech-bg{background:radial-gradient(1200px 600px at -10% 110%,rgba(155,134,114,.3),rgba(91,40,43,.25) 40%,transparent 60%),linear-gradient(135deg,var(--maroon),var(--gold))}
.hero-grid{display:grid;gap:2rem;grid-template-columns:1.1fr .9fr;align-items:center}
.hero-graphic{min-height:280px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06)),repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 6px),repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 6px);box-shadow:var(--shadow-2)}
.parallax{position:absolute;inset:-20% -20% auto auto;width:60vw;height:60vw;border-radius:30px;pointer-events:none;background:radial-gradient(240px 240px at 60% 40%,rgba(255,255,255,.12),transparent 60%);opacity:.6;transform:translate3d(0,0,0)}
section{padding:clamp(48px,6.5vw,84px) 0} .divider{width:72px;height:3px;background:var(--gold);border-radius:3px;margin:.6rem 0 1.1rem} .muted{background:linear-gradient(180deg,#f2f2f2,#ececec)}
.about-grid{display:grid;gap:2rem;grid-template-columns:1.1fr 1fr;align-items:center}
.about-media{height:320px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(91,40,43,.18),rgba(155,134,114,.18)),url('https://images.unsplash.com/photo-1557800636-894a64c1696f?auto=format&fit=crop&w=1400&q=60') center/cover;box-shadow:var(--shadow-2)}
.cards{display:grid;gap:1rem;grid-template-columns:repeat(3, 1fr);margin-top:1rem}
.card{background:#fff;border:1px solid #e2e2e2;border-radius:var(--radius);padding:1.25rem;position:relative;overflow:hidden;box-shadow:var(--shadow-1);transition:.25s ease}
.card::after{content:"";position:absolute;inset:-25% -40% auto auto;width:180px;height:180px;background:radial-gradient(120px 120px at center,rgba(155,134,114,.14),transparent 70%);transform:rotate(25deg)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-2)}
.grid-3{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)} .grid-2{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
.post,.case-item{background:#fff;border:1px solid #e6e6e6;border-radius:var(--radius);padding:1rem;box-shadow:0 4px 14px rgba(0,0,0,.06);transition:.2s ease}
.post:hover,.case-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.detail-hero{background:#fff;padding:28px;border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}
.team-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}
.team-card{background:#fff;border:1px solid #e6e6e6;border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-1)}
.team-card h4{margin:.25rem 0 .25rem}
.contact-form{display:flex;flex-direction:column;gap:1rem;max-width:640px;margin-inline:auto}
.contact-form input,.contact-form textarea{padding:.9rem;border:1px solid #cfcfcf;border-radius:10px;background:#fff;font:inherit}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(155,134,114,.2)}
footer{background:var(--maroon);color:#fff;text-align:center;padding:1rem}
.fade-in{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.fade-in.show{opacity:1;transform:translateY(0)}
.slide-in-left{opacity:0;transform:translateX(-42px);transition:opacity .8s ease,transform .8s ease}.slide-in-left.show{opacity:1;transform:translateX(0)}
.slide-in-right{opacity:0;transform:translateX(42px);transition:opacity .8s ease,transform .8s ease}.slide-in-right.show{opacity:1;transform:translateX(0)}
@media (max-width:980px){.hero-grid,.about-grid{grid-template-columns:1fr}.cards,.grid-3{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cards,.grid-3{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}}

.contact-wrap{display:grid;gap:2rem;grid-template-columns:1.1fr .9fr}
.info-card{background:#fff;border:1px solid #e6e6e6;border-radius:16px;padding:1rem;box-shadow:0 8px 22px rgba(0,0,0,.06)}

.brand img{display:inline-block;vertical-align:middle;margin-left:.25rem}
