:root {
  --bg: #0b0d0e;
  --bg-2: #111416;
  --paper: #f5f3ee;
  --paper-2: #ebe7df;
  --gold: #d4af37;
  --gold-soft: #f0d98b;
  --ink: #111313;
  --muted: #9f9b92;
  --line: rgba(255,255,255,.1);
  --line-dark: rgba(17,19,19,.12);
  --ease: cubic-bezier(.22,1,.36,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; overflow-x:hidden; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
img,video { max-width:100%; display:block; }

.intro-screen { position:fixed; inset:0; z-index:9999; background:#080a0a; color:#f3efe6; display:grid; place-items:center; align-content:center; gap:18px; animation:introOut .65s 0.75s forwards; }
.intro-word { font-family: Georgia, serif; font-size:clamp(48px,10vw,140px); letter-spacing:.14em; padding-left:.14em; animation:introWord 1.05s var(--ease) forwards; }
.intro-line { width:min(360px,65vw); height:1px; background:rgba(255,255,255,.12); overflow:hidden; }
.intro-line span { display:block; height:100%; background:var(--gold); transform-origin:left; animation:introLine 1.2s var(--ease) forwards; }
.intro-caption { font-size:10px; letter-spacing:.2em; color:var(--muted); }
@keyframes introWord { from{opacity:0; transform:translateY(20px); letter-spacing:.3em} to{opacity:1; transform:none; letter-spacing:.14em} }
@keyframes introLine { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes introOut { to{opacity:0; visibility:hidden} }

.cursor-dot,.cursor-ring { position:fixed; left:0; top:0; pointer-events:none; z-index:10000; mix-blend-mode:difference; }
.cursor-dot { width:6px; height:6px; margin:-3px; border-radius:50%; background:#fff; }
.cursor-ring { width:40px; height:40px; border:1px solid rgba(255,255,255,.65); border-radius:50%; transition:width .25s var(--ease), height .25s var(--ease), margin .25s var(--ease); }
.cursor-ring.cursor-hover { width:64px; height:64px; margin:-32px; }

.container { width:min(1240px, calc(100% - 64px)); margin:0 auto; }
.site-nav { position:fixed; z-index:100; top:0; left:0; right:0; padding:18px 0; }
.nav-shell { width:min(1360px, calc(100% - 40px)); margin:auto; display:flex; align-items:center; justify-content:space-between; padding:10px 12px 10px 18px; border:1px solid rgba(255,255,255,.14); background:rgba(10,12,12,.55); backdrop-filter:blur(18px); border-radius:999px; color:#fff; }
.brand { border:0; background:transparent; color:#fff; display:flex; align-items:center; gap:10px; padding:0; }
.brand > span:not(.brand-mark) { font-family:Georgia,serif; font-size:18px; letter-spacing:.1em; }
.brand small { color:#a9aaa7; font-size:8px; letter-spacing:.2em; margin-left:2px; }
.brand-mark { position:relative; width:30px; height:30px; border:1px solid rgba(212,175,55,.8); border-radius:9px; display:grid; place-items:center; overflow:hidden; }
.brand-mark b { font-family:Georgia,serif; font-size:16px; color:var(--gold-soft); z-index:2; }
.brand-mark span { position:absolute; width:14px; height:14px; border-left:1px solid var(--gold); border-top:1px solid var(--gold); transform:rotate(45deg); top:-5px; left:7px; opacity:.75; }
.nav-links { display:flex; align-items:center; gap:28px; }
.nav-links a { font-size:12px; letter-spacing:.08em; color:#ddd; position:relative; padding:8px 0; }
.nav-links a::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--gold); transition:right .35s var(--ease); }
.nav-links a:hover::after { right:0; }
.nav-cta { border:1px solid rgba(212,175,55,.55); background:rgba(212,175,55,.08); color:#f4eac7; border-radius:999px; padding:10px 14px; font-size:11px; letter-spacing:.08em; }
.nav-cta span { margin-left:6px; }
.menu-toggle { display:none; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.03); }
.menu-toggle i { width:16px; height:1px; display:block; background:#fff; margin:4px auto; transition:.25s; }
.menu-toggle.active i:nth-child(1){transform:translateY(5px) rotate(45deg)} .menu-toggle.active i:nth-child(2){opacity:0} .menu-toggle.active i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.hero { position:relative; min-height:92vh; display:flex; align-items:flex-end; overflow:hidden; background:#0a0d0d; color:#fff; }
.hero-video,.project-detail-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(1.08) brightness(.72); transform:scale(1.04); }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.1) 30%, rgba(0,0,0,.76) 100%); z-index:1; }
.hero-shade { position:absolute; inset:0; background:radial-gradient(circle at 65% 30%, rgba(212,175,55,.08), transparent 35%), linear-gradient(90deg, rgba(0,0,0,.6), transparent 56%); z-index:2; }
.hero-grid,.page-hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px, transparent 1px); background-size:80px 80px; mask-image:linear-gradient(to bottom, rgba(0,0,0,.5), transparent 80%); opacity:.25; z-index:2; }
.hero-content { position:relative; z-index:4; padding:0 0 10vh; width:min(820px, calc(100% - 64px)); margin:0 auto 0 max(32px, calc((100% - 1240px)/2)); }
.section-kicker { display:flex; align-items:center; gap:10px; color:var(--gold-soft); font-size:9px; letter-spacing:.22em; font-weight:700; text-transform:uppercase; }
.section-kicker span { display:block; width:26px; height:1px; background:var(--gold); }
.hero h1,.page-hero h1 { margin:18px 0 14px; font-family:Georgia, "Times New Roman", serif; font-weight:400; letter-spacing:-.045em; line-height:.94; font-size:clamp(58px, 8vw, 128px); max-width:1000px; }
.hero h1 span { display:block; }
.hero h1 em,.page-hero h1 em { font-style:italic; color:#e0cf99; }
.hero-lede { max-width:680px; font-size:18px; line-height:1.55; color:#d2d2cf; margin:0 0 30px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.btn { border-radius:999px; padding:14px 18px; min-width:170px; display:inline-flex; justify-content:center; align-items:center; gap:12px; border:1px solid transparent; transition:transform .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease); }
.btn:hover { transform:translateY(-3px); }
.btn-primary { background:var(--gold); color:#101211; border-color:var(--gold); }
.btn-secondary { background:rgba(255,255,255,.04); color:#fff; border-color:rgba(255,255,255,.22); backdrop-filter:blur(8px); }
.btn-arrow { font-size:16px; }
.btn.full { width:100%; }
.hero-meta { position:absolute; z-index:4; bottom:42px; font-size:8px; line-height:1.8; letter-spacing:.18em; color:#b7b8b5; }
.hero-meta-left { left:32px; } .hero-meta-right { right:32px; text-align:right; }
.scroll-cue { position:absolute; z-index:4; right:32px; bottom:130px; writing-mode:vertical-rl; transform:rotate(180deg); color:#b9b9b3; font-size:8px; letter-spacing:.22em; display:flex; gap:8px; align-items:center; }
.scroll-cue span { width:1px; height:56px; background:linear-gradient(var(--gold), transparent); }

.marquee { background:#0b0d0e; color:#fff; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.marquee-track { display:flex; width:max-content; animation:marquee 34s linear infinite; }
.marquee span { display:flex; align-items:center; gap:40px; padding:20px 34px; font-size:11px; letter-spacing:.2em; }
.marquee b { color:var(--gold); font-size:12px; }
@keyframes marquee { to{transform:translateX(-50%)} }

.trust-strip { padding:80px 0 70px; background:var(--paper); border-bottom:1px solid var(--line-dark); }
.split-row { display:grid; grid-template-columns:1.1fr 1.9fr; gap:70px; align-items:start; }
.trust-copy p { font-size:28px; line-height:1.25; letter-spacing:-.03em; max-width:630px; margin:20px 0 0; }
.trust-stats { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line-dark); }
.mini-stat { padding:28px 0; border-bottom:1px solid var(--line-dark); display:flex; gap:20px; align-items:flex-start; }
.mini-stat b { font-size:10px; color:#8a867e; letter-spacing:.15em; } .mini-stat span { font-size:16px; }

.section { padding:120px 0; }
.section-head { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; margin-bottom:54px; }
.section-head h2 { font-family:Georgia,serif; font-size:clamp(48px,6.2vw,90px); font-weight:400; line-height:.95; letter-spacing:-.05em; margin:18px 0 0; }
.section-head h2 em { color:#9b8b64; }
.head-note { max-width:400px; color:#6c6a64; line-height:1.6; margin:0; }
.featured-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:24px; align-items:start; }
.project-card { transition:transform .5s var(--ease); }
.project-card.featured { transform-origin:center; }
.project-media { position:relative; width:100%; aspect-ratio:4/5; border:0; padding:0; overflow:hidden; background:#111; border-radius:2px; }
.project-card.featured .project-media { aspect-ratio:7/8; }
.project-media video { width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease), filter .7s var(--ease); filter:saturate(.8) brightness(.83); }
.project-card:hover .project-media video { transform:scale(1.05); filter:saturate(1) brightness(.98); }
.media-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.38), transparent 32%, rgba(0,0,0,.72)); }
.media-top,.media-bottom { position:absolute; left:18px; right:18px; display:flex; justify-content:space-between; color:#d7d3c8; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.media-top { top:18px; } .media-bottom { bottom:18px; }
.play-circle { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.3); backdrop-filter:blur(6px); display:grid; place-items:center; color:#fff; font-size:18px; transition:transform .4s var(--ease), background .4s var(--ease); }
.project-card:hover .play-circle { transform:translate(-50%,-50%) scale(1.12); background:rgba(212,175,55,.18); }
.project-copy { padding:18px 2px 0; display:flex; justify-content:space-between; gap:20px; }
.project-copy h3 { font-family:Georgia,serif; font-size:26px; font-weight:400; margin:0 0 6px; letter-spacing:-.02em; }
.project-copy p { color:#77736a; line-height:1.5; font-size:13px; margin:0; max-width:480px; }
.text-link { border:0; background:transparent; padding:0; color:#191b19; font-size:11px; letter-spacing:.09em; white-space:nowrap; }
.text-link span { color:var(--gold); margin-left:6px; } .text-link.big { font-size:12px; }

.dark-section { background:var(--bg); color:#f4f1e9; }
.dark-section .section-head h2 em { color:#d8c37f; }
.dark-section .head-note { color:#9c9f99; }
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card { min-height:360px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; transition:background .45s var(--ease), transform .45s var(--ease); }
.service-card::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 20% 10%, rgba(212,175,55,.12), transparent 45%); opacity:0; transition:opacity .45s var(--ease); }
.service-card:hover { background:#101416; transform:translateY(-5px); } .service-card:hover::before { opacity:1; }
.service-top { display:flex; justify-content:space-between; color:#777d78; font-size:10px; letter-spacing:.18em; position:relative; }
.service-icon { color:var(--gold); font-size:26px; }
.eyebrow { font-size:8px; letter-spacing:.18em; color:#a39f94; margin-bottom:11px; position:relative; }
.service-card h3 { font-family:Georgia,serif; font-size:30px; font-weight:400; margin:0 0 12px; position:relative; } .service-card p { color:#989b96; line-height:1.6; margin:0; font-size:13px; position:relative; }
.service-corner { color:var(--gold); font-size:22px; position:relative; }

.process-section { background:#dfd9ce; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(17,19,19,.14); }
.process-step { padding:30px 20px 10px 0; position:relative; min-height:220px; }
.process-number { font-size:10px; letter-spacing:.2em; color:#857c6e; }
.process-line { height:1px; background:rgba(17,19,19,.16); margin:24px 0 22px; width:100%; position:relative; }
.process-line::after { content:""; position:absolute; right:0; top:-2px; width:5px; height:5px; border-radius:50%; background:var(--gold); }
.process-step h3 { font-family:Georgia,serif; font-size:34px; font-weight:400; margin:0 0 8px; } .process-step p { color:#6e6b63; max-width:230px; line-height:1.55; font-size:13px; }

.testimonial-section { background:var(--paper-2); }
.testimonial-wrap { display:grid; grid-template-columns:.6fr 1.4fr; gap:80px; }
.quote-mark { font-family:Georgia,serif; font-size:160px; line-height:.6; color:#d0c8b9; margin-top:30px; }
.testimonial-main blockquote { font-family:Georgia,serif; font-size:clamp(36px,5vw,66px); line-height:1.04; letter-spacing:-.04em; margin:40px 0 28px; max-width:920px; }
.testimonial-by { display:flex; gap:12px; align-items:center; font-size:12px; color:#68645c; } .testimonial-by b { color:#171916; } .testimonial-dots { margin-top:40px; display:flex; gap:8px; } .testimonial-dots button { width:34px; height:2px; border:0; background:#beb7aa; } .testimonial-dots button.active { background:var(--gold); }

.footer { background:#0a0d0d; color:#fff; padding:110px 0 34px; }
.footer-cta { padding-bottom:90px; } .footer-cta h2 { font-family:Georgia,serif; font-size:clamp(58px,8vw,115px); font-weight:400; letter-spacing:-.05em; line-height:.94; margin:18px 0 34px; } .footer-cta em { color:#ddcb90; }
.footer-bottom { display:grid; grid-template-columns:1.2fr 1fr .5fr; gap:40px; border-top:1px solid var(--line); padding-top:32px; align-items:start; }
.footer-brand { display:flex; align-items:center; gap:12px; } .footer-brand b { display:block; font-family:Georgia,serif; font-size:18px; letter-spacing:.1em; } .footer-brand span { display:block; color:#8b908c; font-size:8px; letter-spacing:.16em; margin-top:4px; }
.footer-contact { display:flex; flex-direction:column; gap:8px; color:#9a9f9a; font-size:12px; } .footer-contact a { color:#e8e1cf; } .footer-links { display:flex; flex-direction:column; gap:10px; color:#a1a49f; font-size:11px; } .footer-legal { margin-top:50px; display:flex; justify-content:space-between; color:#6e746f; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }

.page-hero { position:relative; min-height:55vh; display:flex; align-items:flex-end; padding:150px 0 88px; overflow:hidden; background:#0b0d0e; color:#fff; }
.page-hero-grid { opacity:.18; z-index:0; mask-image:linear-gradient(to bottom, #000, transparent); }
.page-hero .container { position:relative; z-index:2; } .page-hero h1 { font-size:clamp(68px,9vw,138px); margin-bottom:16px; } .page-hero p { max-width:700px; color:#b3b5b0; font-size:17px; line-height:1.6; margin:0; }
.projects-section { background:var(--paper); }
.filters { padding:26px; border:1px solid var(--line-dark); background:#f8f6f1; margin-bottom:44px; }
.filters > input { width:100%; border:0; border-bottom:1px solid var(--line-dark); background:transparent; padding:14px 0 18px; outline:0; font-size:18px; }
.filter-row { display:flex; justify-content:space-between; gap:20px; margin-top:18px; align-items:center; } .filter-group { display:flex; gap:8px; flex-wrap:wrap; }
.filter-group button { border:1px solid var(--line-dark); border-radius:999px; background:transparent; padding:9px 12px; font-size:10px; letter-spacing:.08em; } .filter-group button.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.filter-row select { min-width:150px; border:1px solid var(--line-dark); background:transparent; padding:10px 12px; }
.projects-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:48px 26px; }
.empty-state { grid-column:1/-1; padding:80px 0; color:#8a867d; text-align:center; }

.project-detail-hero { min-height:84vh; position:relative; background:#0a0d0d; color:#fff; overflow:hidden; } .project-detail-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.15), transparent 45%, rgba(0,0,0,.72)); } .project-detail-overlay { position:absolute; left:50%; transform:translateX(-50%); bottom:60px; z-index:3; display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
.project-detail-overlay h1 { font-family:Georgia,serif; font-size:clamp(60px,9vw,130px); letter-spacing:-.055em; font-weight:400; margin:14px 0 0; line-height:.92; }
.project-detail-meta { display:flex; gap:24px; font-size:9px; letter-spacing:.18em; color:#c3c4bf; padding-bottom:8px; }
.detail-copy { background:var(--paper); } .detail-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:80px; align-items:start; } .detail-grid h2 { font-family:Georgia,serif; font-size:clamp(40px,4.6vw,68px); line-height:1.02; letter-spacing:-.04em; font-weight:400; margin:18px 0 24px; } .detail-grid p { max-width:700px; color:#6b685f; line-height:1.7; font-size:15px; margin-bottom:26px; } .metric-panel { border-top:1px solid var(--line-dark); } .metric { padding:20px 0; border-bottom:1px solid var(--line-dark); display:flex; justify-content:space-between; gap:20px; } .metric span { font-size:9px; letter-spacing:.18em; color:#9b968c; } .metric b { font-family:Georgia,serif; font-size:22px; font-weight:400; }
.detail-showcase { background:#111415; color:#fff; } .showcase-label { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; } .showcase-label > span { font-size:9px; color:#8e938f; letter-spacing:.16em; } .showcase-panels { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; } .show-panel { min-height:540px; position:relative; overflow:hidden; } .panel-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.75); } .panel-image span { position:absolute; left:22px; bottom:22px; font-size:9px; letter-spacing:.18em; color:#ddd; } .panel-copy { border:1px solid var(--line); padding:46px; display:flex; flex-direction:column; justify-content:center; } .panel-copy h3 { font-family:Georgia,serif; font-weight:400; font-size:clamp(44px,4.5vw,70px); line-height:.97; letter-spacing:-.04em; margin:16px 0 20px; } .panel-copy h3 em { color:#d8c37f; } .panel-copy p { color:#9b9e99; line-height:1.7; max-width:420px; }
.related-section { background:var(--paper); }

.about-intro { background:var(--paper); } .about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; } .about-statement { min-height:520px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; } .giant-word { font-size:clamp(60px,9vw,135px); line-height:.78; font-family:Georgia,serif; letter-spacing:-.07em; } .giant-word.ghost { color:#c8c0b0; margin-left:12%; } .about-copy h2 { font-family:Georgia,serif; font-size:clamp(44px,5.5vw,78px); font-weight:400; line-height:.97; letter-spacing:-.05em; margin:18px 0 24px; } .about-copy h2 em { color:#9f906e; } .about-copy p { color:#6a665d; line-height:1.75; font-size:15px; max-width:580px; }
.advantage-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); } .advantage { min-height:330px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:30px; } .advantage > span { color:#777d78; font-size:9px; letter-spacing:.18em; } .advantage h3 { font-family:Georgia,serif; font-weight:400; font-size:30px; line-height:1.02; margin:78px 0 12px; } .advantage p { color:#929690; line-height:1.6; font-size:13px; }
.capability-section { background:#d7d1c5; } .capability-card { border:1px solid rgba(17,19,19,.16); display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; padding:50px; } .capability-card h2 { font-family:Georgia,serif; font-size:clamp(48px,5.5vw,82px); line-height:.94; font-weight:400; letter-spacing:-.05em; margin:16px 0 0; } .capability-card h2 em { color:#917f55; } .capability-list { border-top:1px solid rgba(17,19,19,.16); } .capability-list > div { display:grid; grid-template-columns:40px 1fr 20px; gap:10px; align-items:center; padding:18px 0; border-bottom:1px solid rgba(17,19,19,.16); } .capability-list span { font-size:9px; color:#8f897e; } .capability-list b { font-size:14px; font-weight:600; } .capability-list em { color:#8f7d51; font-style:normal; }

.contact-section { background:var(--paper); } .contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; } .contact-side h2 { font-family:Georgia,serif; font-size:clamp(50px,6vw,88px); line-height:.95; font-weight:400; letter-spacing:-.05em; margin:18px 0 28px; } .contact-side h2 em { color:#9d8c68; } .contact-list { border-top:1px solid var(--line-dark); margin-top:35px; } .contact-list > * { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--line-dark); } .contact-list span { font-size:9px; color:#8b867c; letter-spacing:.18em; text-transform:uppercase; } .contact-list b { font-family:Georgia,serif; font-size:18px; font-weight:400; text-align:right; } .contact-note { font-size:11px; color:#78746b; line-height:1.6; margin-top:26px; } .contact-note code { background:#e8e2d7; padding:3px 5px; }
.contact-form-card { background:#f9f7f2; border:1px solid var(--line-dark); padding:34px; } .contact-form-card form { display:flex; flex-direction:column; gap:18px; } label { display:flex; flex-direction:column; gap:8px; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:#7d786d; } input,textarea,select { width:100%; border:1px solid rgba(17,19,19,.14); background:transparent; padding:13px 12px; outline:none; color:var(--ink); } textarea { resize:vertical; } input:focus,textarea:focus,select:focus { border-color:rgba(212,175,55,.75); box-shadow:0 0 0 3px rgba(212,175,55,.08); } .form-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sent-state { display:flex; align-items:flex-start; flex-direction:column; justify-content:center; min-height:440px; } .sent-state span { width:50px; height:50px; border-radius:50%; background:#151817; color:var(--gold); display:grid; place-items:center; font-size:24px; margin-bottom:22px; } .sent-state h4 { font-family:Georgia,serif; font-weight:400; font-size:44px; margin:0 0 8px; } .sent-state p { color:#77736a; line-height:1.6; }
.modal-backdrop { position:fixed; inset:0; z-index:500; background:rgba(7,9,9,.78); backdrop-filter:blur(14px); display:grid; place-items:center; padding:26px; } .lead-modal { width:min(960px,100%); display:grid; grid-template-columns:.9fr 1.1fr; background:#f2eee6; color:var(--ink); box-shadow:0 30px 120px rgba(0,0,0,.45); position:relative; } .modal-side { background:#0c0e0e; color:#fff; padding:46px; min-height:580px; display:flex; flex-direction:column; justify-content:flex-end; } .modal-side h3 { font-family:Georgia,serif; font-weight:400; font-size:clamp(42px,5vw,66px); line-height:.98; letter-spacing:-.05em; margin:18px 0; } .modal-side h3 em { color:#d8c37f; } .modal-side p { color:#a6aaa5; line-height:1.65; max-width:420px; } .modal-note { margin-top:30px; color:#70746f; font-size:10px; letter-spacing:.08em; } .modal-form-wrap { padding:40px; display:flex; align-items:center; } .modal-form-wrap form { width:100%; display:flex; flex-direction:column; gap:14px; } .modal-close { position:absolute; right:14px; top:14px; z-index:2; width:36px; height:36px; border-radius:50%; border:1px solid rgba(17,19,19,.12); background:#fff; font-size:22px; } 

.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); } .reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 1050px) {
  .container { width:min(100% - 40px, 920px); }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .advantage-grid { grid-template-columns:repeat(2,1fr); }
  .featured-grid { grid-template-columns:1fr 1fr; } .featured-grid .featured { grid-column:1/-1; }
  .projects-grid { grid-template-columns:repeat(2,1fr); }
  .contact-grid,.detail-grid,.about-grid,.capability-card { grid-template-columns:1fr; }
  .testimonial-wrap { grid-template-columns:1fr; gap:0; }
  .quote-mark { display:none; }
  .showcase-panels { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .container { width:calc(100% - 28px); }
  .nav-shell { width:calc(100% - 20px); }
  .brand small { display:none; }
  .menu-toggle { display:block; }
  .nav-links { position:absolute; top:calc(100% + 8px); left:0; right:0; padding:20px; background:rgba(8,10,10,.96); border:1px solid var(--line); border-radius:22px; display:none; flex-direction:column; align-items:stretch; gap:4px; }
  .nav-links.open { display:flex; }
  .nav-links a { padding:14px 4px; }
  .nav-cta { margin-top:6px; width:100%; }
  .hero { min-height:88vh; }
  .hero-content { width:calc(100% - 28px); margin-left:14px; padding-bottom:90px; }
  .hero h1 { font-size:clamp(48px,14vw,80px); }
  .hero-lede { font-size:15px; }
  .hero-meta-right,.scroll-cue { display:none; } .hero-meta-left { left:14px; bottom:20px; }
  .section { padding:86px 0; }
  .section-head { flex-direction:column; align-items:flex-start; margin-bottom:38px; }
  .section-head h2 { font-size:clamp(44px,12vw,68px); }
  .trust-strip { padding:60px 0; } .split-row { grid-template-columns:1fr; gap:40px; } .trust-copy p { font-size:22px; }
  .featured-grid,.projects-grid,.services-grid,.process-grid,.advantage-grid { grid-template-columns:1fr; }
  .featured-grid .featured { grid-column:auto; } .project-media,.project-card.featured .project-media { aspect-ratio:16/11; }
  .project-copy { flex-direction:column; }
  .service-card { min-height:300px; }
  .process-step { border-bottom:1px solid rgba(17,19,19,.12); padding-bottom:28px; }
  .footer-bottom { grid-template-columns:1fr; }
  .footer-legal { flex-direction:column; gap:8px; }
  .page-hero { min-height:48vh; padding-top:140px; }
  .page-hero h1 { font-size:clamp(58px,15vw,88px); }
  .filter-row { flex-direction:column; align-items:stretch; } .filter-row select { width:100%; }
  .projects-grid { gap:40px 20px; }
  .project-detail-hero { min-height:72vh; }
  .project-detail-overlay { bottom:32px; flex-direction:column; align-items:flex-start; gap:14px; }
  .project-detail-overlay h1 { font-size:clamp(50px,13vw,80px); }
  .show-panel { min-height:400px; } .panel-copy { padding:30px; }
  .about-statement { min-height:300px; }
  .giant-word { font-size:clamp(64px,19vw,100px); }
  .contact-grid { gap:48px; } .form-2 { grid-template-columns:1fr; }
  .lead-modal { grid-template-columns:1fr; max-height:92vh; overflow:auto; } .modal-side { min-height:260px; padding:30px; } .modal-form-wrap { padding:26px; }
  .cursor-dot,.cursor-ring { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}


.brand-lockup-section { background:#ebe7df; padding:56px 0; border-bottom:1px solid var(--line-dark); }
.brand-lockup { display:grid; grid-template-columns:1.35fr .65fr; gap:54px; align-items:center; }
.brand-lockup img { width:100%; max-width:620px; height:auto; border:1px solid rgba(17,19,19,.12); box-shadow:0 24px 70px rgba(17,19,19,.09); }
.brand-lockup p { color:#66625a; font-family:Georgia,serif; font-size:24px; line-height:1.25; margin:18px 0 0; }
.founder-section { background:#f2efe8; border-bottom:1px solid var(--line-dark); }
.founder-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:32px; align-items:stretch; }
.founder-brand-card,.founder-profile-card { border:1px solid rgba(17,19,19,.11); background:#f8f6f1; }
.founder-brand-card { padding:22px; display:flex; flex-direction:column; justify-content:space-between; }
.founder-brand-frame { background:#fff; border:1px solid rgba(17,19,19,.08); min-height:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.founder-brand-frame img { width:100%; height:auto; display:block; }
.founder-brand-caption { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:20px 2px 2px; }
.founder-brand-caption > span:last-child { color:#77736b; font-size:9px; letter-spacing:.14em; text-align:right; }
.founder-profile-card { display:grid; grid-template-columns:260px 1fr; min-height:460px; }
.founder-photo-wrap { min-height:460px; background:#111; overflow:hidden; }
.founder-photo-wrap img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:saturate(.88) contrast(1.02); transition:transform 1s var(--ease), filter .8s var(--ease); }
.founder-profile-card:hover .founder-photo-wrap img { transform:scale(1.04); filter:saturate(1); }
.founder-profile-copy { padding:38px; display:flex; flex-direction:column; justify-content:center; }
.founder-profile-copy h2 { font-family:Georgia,serif; font-weight:400; font-size:clamp(38px,4.2vw,62px); line-height:.98; letter-spacing:-.05em; margin:18px 0 20px; }
.founder-profile-copy h2 em { color:#9a8860; }
.founder-profile-copy p { color:#69655d; line-height:1.7; max-width:560px; }
.founder-meta { display:flex; gap:18px; flex-wrap:wrap; margin-top:28px; padding-top:18px; border-top:1px solid var(--line-dark); color:#8a8479; font-size:9px; letter-spacing:.15em; }
@media (max-width: 1050px) { .founder-grid { grid-template-columns:1fr; } .brand-lockup { grid-template-columns:1fr; gap:28px; } .founder-profile-card { grid-template-columns:220px 1fr; } }
@media (max-width: 760px) { .founder-profile-card { grid-template-columns:1fr; } .founder-photo-wrap { min-height:380px; } .founder-brand-caption { flex-direction:column; align-items:flex-start; } .founder-brand-caption > span:last-child { text-align:left; } .brand-lockup p { font-size:20px; } }
.testimonial-main > [data-testimonial] { display:none; }
.testimonial-main > [data-testimonial].active { display:block; animation:testimonialIn .65s var(--ease); }
@keyframes testimonialIn { from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }
.modal-form-status,.form-status { margin-top:6px; color:#7b756a; font-size:11px; line-height:1.5; min-height:17px; }
.modal-open { overflow:hidden; }
.nav-links a.active { color:#f0d98b; }
@media (max-width:760px){.brand-lockup img{max-width:100%;}.footer-cta h2{font-size:clamp(48px,13vw,76px)}}
