:root { --ink:#11100e; --paper:#f1eee7; --warm:#ad8b6b; --line:rgba(17,16,14,.17); --background:var(--paper); --foreground:var(--ink); --card:#faf8f3; --card-foreground:var(--ink); --primary:var(--ink); --primary-foreground:#fff; --secondary:#dfd9ce; --secondary-foreground:var(--ink); --muted:#ddd7cd; --muted-foreground:#655f56; --accent:var(--warm); --accent-foreground:#fff; --border:#cac3b7; --input:#cac3b7; --ring:var(--warm); --radius:0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
::selection { background:#6a5140; color:white; }

.site-nav { position:absolute; z-index:30; inset:0 0 auto; height:100px; padding:0 max(clamp(24px,5vw,80px),calc((100vw - 1760px)/2 + 70px)); display:flex; align-items:center; justify-content:space-between; color:#fff; border-bottom:1px solid rgba(255,255,255,.22); }
.nav-logo img { width:clamp(180px,15vw,235px); height:auto; }
.nav-links { display:flex; align-items:center; gap:34px; font-size:.78rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.nav-links a { transition:opacity .25s ease; }
.nav-links a:hover { opacity:.68; }
.nav-cta { border:1px solid rgba(255,255,255,.65); padding:13px 18px; }
.hero { min-height:720px; height:min(92vh,900px); position:relative; overflow:hidden; color:white; background:#191713; }
.hero-media,.hero-media img,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-media img { object-fit:cover; object-position:center; opacity:0; transform:scale(1.05); transition:opacity 1.25s ease,transform 6.4s ease; }
.hero-media img.active { opacity:1; transform:scale(1); }
.hero-shade { background:linear-gradient(90deg,rgba(7,7,6,.78) 0%,rgba(8,8,7,.48) 45%,rgba(8,8,7,.12) 76%),linear-gradient(0deg,rgba(8,8,7,.45) 0%,transparent 45%); }
.hero-content { position:absolute; z-index:2; left:max(clamp(24px,7vw,112px),calc((100vw - 1760px)/2 + 70px)); bottom:clamp(82px,10vh,120px); }
.eyebrow,.section-number { margin:0; font-size:.72rem; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }
.hero h1 { margin:24px 0 36px; max-width:820px; font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:clamp(4rem,5.8vw,6.65rem); line-height:.87; letter-spacing:-.055em; }
.hero h1 em { font-weight:400; color:#d4b899; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:32px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:54px; padding:0 24px; border:1px solid transparent; background:none; cursor:pointer; font-size:.78rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; transition:background .25s,color .25s,border-color .25s; }
.button-light { color:var(--ink); background:white; }
.button-light:hover { background:#d4b899; }
.text-link { display:flex; align-items:center; gap:12px; font-size:.84rem; border-bottom:1px solid rgba(255,255,255,.55); padding-bottom:6px; }
.hero-counter { position:absolute; z-index:2; right:max(clamp(24px,5vw,80px),calc((100vw - 1760px)/2 + 70px)); bottom:46px; display:flex; align-items:center; gap:14px; font-size:.68rem; font-weight:700; letter-spacing:.14em; }
.hero-progress { width:clamp(90px,12vw,190px); height:1px; background:rgba(255,255,255,.4); overflow:hidden; }
.hero-progress i { display:block; height:1px; background:#fff; animation:heroProgress 5.6s linear; }
@keyframes heroProgress { from { width:0; } to { width:100%; } }

.statement { display:grid; grid-template-columns:minmax(130px,1fr) minmax(0,3fr); gap:45px; padding-block:clamp(100px,10vw,170px); padding-inline:max(clamp(24px,7vw,112px),calc((100vw - 1760px)/2 + 70px)); border-bottom:1px solid var(--line); }
.statement h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.9rem,4.9vw,5.7rem); font-weight:400; line-height:.98; letter-spacing:-.055em; }
.statement h2 span { color:#8a6b52; }
.statement div>p { max-width:560px; margin:46px 0 0 auto; color:#4f4b45; font-size:clamp(1rem,1.25vw,1.2rem); line-height:1.7; }
.projects-section { padding:clamp(80px,10vw,150px) clamp(16px,4vw,64px) clamp(110px,13vw,190px); }
.section-heading { display:flex; justify-content:space-between; align-items:center; padding:0 clamp(8px,3vw,48px) 55px; }
.section-note { margin:0; color:#686159; font-size:.82rem; }
.project-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:78px; gap:clamp(10px,1.4vw,22px); max-width:1760px; margin-inline:auto; }
.project-card { position:relative; overflow:hidden; border:0; padding:0; cursor:zoom-in; background:#cfc8bd; color:white; }
.project-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .4s; }
.project-card:hover img { transform:scale(1.035); filter:brightness(.82); }
.project-card span { position:absolute; inset:auto 0 0; display:flex; align-items:center; justify-content:space-between; padding:18px; opacity:0; transform:translateY(8px); transition:.35s ease; background:linear-gradient(transparent,rgba(0,0,0,.48)); }
.project-card span b { font-size:.72rem; letter-spacing:.15em; }
.project-card:hover span { opacity:1; transform:none; }
.card-1{grid-column:1/8;grid-row:span 7}.card-2{grid-column:8/13;grid-row:span 9}.card-3{grid-column:1/5;grid-row:span 9}.card-4{grid-column:5/13;grid-row:span 7}.card-5{grid-column:1/8;grid-row:span 7}.card-6{grid-column:8/13;grid-row:span 9}.card-7{grid-column:1/6;grid-row:span 9}.card-8{grid-column:6/13;grid-row:span 7}.card-9{grid-column:1/8;grid-row:span 8}.card-10{grid-column:8/13;grid-row:span 10}

.request-section { background:#131210; color:#f3efe7; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,7vw,120px); padding-block:clamp(95px,9vw,150px); padding-inline:max(clamp(24px,7vw,112px),calc((100vw - 1760px)/2 + 70px)); }
.request-intro { position:sticky; top:40px; align-self:start; }
.request-intro h2 { margin:30px 0 34px; font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:clamp(3.5rem,6vw,6.4rem); line-height:.92; letter-spacing:-.055em; }
.request-intro>p:not(.section-number) { max-width:490px; color:#bdb5aa; line-height:1.75; font-size:1rem; }
.request-intro a { margin-top:34px; display:inline-flex; align-items:center; gap:12px; border-bottom:1px solid #665c52; padding-bottom:7px; font-size:.92rem; }
.request-form { border-top:1px solid #4a453f; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.request-form label { display:flex; flex-direction:column; gap:12px; padding-top:28px; }
.request-form label>span { font-size:.7rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#c4bbb0; }
.request-form input:not([type=checkbox]):not([type=file]),.request-form select,.request-form textarea { width:100%; border:0; border-bottom:1px solid #4a453f; border-radius:0; outline:none; background:transparent; color:#f6f2ea; padding:0 0 16px; font-size:1rem; }
.request-form textarea { resize:vertical; min-height:130px; line-height:1.6; }
.request-form input::placeholder,.request-form textarea::placeholder { color:#736c64; }
.request-form select { color-scheme:dark; }
.request-form input:focus,.request-form select:focus,.request-form textarea:focus { border-color:#c6a888!important; }
.file-control input { position:absolute; width:1px; height:1px; opacity:0; }
.request-form .hp { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.file-button { min-height:48px; border:1px solid #5e564d; display:flex; align-items:center; justify-content:center; gap:10px; cursor:pointer; padding:10px; color:#f3efe7!important; }
.file-control small { color:#8d857c; font-size:.72rem; }
.file-list { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.file-list span { max-width:190px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border:1px solid #443f39; color:#bcb3a8; padding:7px 10px; font-size:.7rem; }
.request-form .consent { flex-direction:row; align-items:flex-start; gap:12px; color:#a79f95; line-height:1.55; }
.consent input { width:17px; height:17px; margin:2px 0 0; accent-color:#a78568; }
.consent span { text-transform:none!important; letter-spacing:0!important; font-weight:400!important; font-size:.78rem!important; }
.submit-button { width:100%; margin-top:28px; min-height:68px; display:flex; align-items:center; justify-content:space-between; border:1px solid #c0a17f; background:#c0a17f; color:#171411; padding:0 25px; cursor:pointer; font-size:.78rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; transition:.25s; }
.submit-button:hover { background:#dec4a7; }
.submit-button:disabled { opacity:.65; cursor:wait; }
.form-error { color:#ffb7ae; font-size:.85rem; }
.success-card { min-height:530px; border:1px solid #4d463e; padding:clamp(30px,5vw,68px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.success-card>span { width:62px; height:62px; display:grid; place-items:center; border-radius:50%; background:#c0a17f; color:#171411; margin-bottom:32px; }
.success-card h3 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.5rem,4vw,4.7rem); font-weight:400; line-height:1; letter-spacing:-.045em; margin:22px 0; }
.success-card>p:not(.eyebrow) { color:#bdb5aa; }
.button-outline { border-color:#665c52; color:white; margin-top:28px; }
footer { background:#0a0908; color:white; min-height:260px; display:flex; align-items:flex-end; justify-content:space-between; gap:35px; padding-block:60px; padding-inline:max(clamp(24px,7vw,112px),calc((100vw - 1760px)/2 + 70px)); }
footer img { width:min(340px,48vw); }
footer div { text-align:right; }
footer a { font-size:.9rem; border-bottom:1px solid #554e47; padding-bottom:6px; }
footer p { color:#756e67; font-size:.72rem; letter-spacing:.12em; margin:24px 0 0; }
.lightbox { position:fixed; z-index:100; inset:0; background:rgba(5,5,4,.96); display:grid; place-items:center; color:white; padding:45px; }
.lightbox[hidden] { display:none; }
.lightbox img { max-height:calc(100vh - 90px); max-width:calc(100vw - 140px); object-fit:contain; }
.lightbox button { position:absolute; border:1px solid rgba(255,255,255,.25); background:rgba(0,0,0,.25); color:white; width:50px; height:50px; display:grid; place-items:center; cursor:pointer; }
.lightbox-close{top:24px;right:24px}.lightbox-prev{left:24px;top:50%}.lightbox-next{right:24px;top:50%}
.lightbox p { position:absolute; bottom:18px; margin:0; font-size:.7rem; letter-spacing:.18em; }

@media(max-width:900px){.site-nav{height:82px}.nav-logo img{width:176px}.nav-links>a:first-child{display:none}.nav-cta{padding:11px 13px}.hero{min-height:700px}.hero-content{bottom:120px}.hero h1{font-size:clamp(3.6rem,14vw,6rem)}.hero-counter{bottom:36px;left:24px;right:auto}.statement{grid-template-columns:1fr}.statement div>p{margin-left:0}.project-grid{grid-template-columns:1fr 1fr;grid-auto-rows:340px}.project-card{grid-column:auto!important;grid-row:auto!important}.project-card:nth-child(3n+1){grid-column:span 2!important}.request-section{grid-template-columns:1fr}.request-intro{position:static}}
@media(max-width:600px){.site-nav{padding-inline:18px}.nav-logo img{width:145px}.nav-links{font-size:.66rem}.hero{height:92svh;min-height:650px}.hero-shade{background:linear-gradient(0deg,rgba(7,7,6,.82),rgba(7,7,6,.18) 80%)}.hero-content{left:20px;right:20px;bottom:105px}.hero h1{margin:18px 0 30px;font-size:clamp(3.45rem,17vw,5.2rem)}.hero-actions{gap:18px;align-items:flex-start;flex-direction:column}.text-link{font-size:.76rem}.statement{padding-block:90px}.statement h2{font-size:2.75rem}.section-heading{align-items:flex-start;gap:12px;flex-direction:column}.project-grid{display:flex;flex-direction:column;gap:12px}.project-card{height:70vw;min-height:260px}.project-card:nth-child(3n+1){height:90vw}.project-card span{opacity:1;transform:none}.request-section{padding-inline:20px}.request-intro h2{font-size:3.5rem}.field-row{grid-template-columns:1fr;gap:0}footer{align-items:flex-start;flex-direction:column;min-height:230px}footer img{width:230px}footer div{text-align:left}.lightbox{padding:20px}.lightbox img{max-width:100%;max-height:82vh}.lightbox-prev,.lightbox-next{top:auto;bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
