:root { color-scheme: dark; --ink:#0b0d0e; --paper:#f6f1e8; --gold:#d8bf83; --muted:#c6c0b5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.hero { min-height:760px; overflow:hidden; position:relative; border-bottom:1px solid rgba(216,191,131,.25); isolation:isolate; }
.hero-photo { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(7,9,10,.97),rgba(7,9,10,.80) 48%,rgba(7,9,10,.42)),url('/hero-office.png') center/cover; filter:contrast(1.06) brightness(.82); transform:scale(1.04); }
.hero:after { content:''; position:absolute; z-index:-1; width:320px; height:320px; border:1px solid rgba(216,191,131,.25); border-radius:50%; top:95px; right:-110px; }
.site-header,.hero-content,.section,footer { width:min(1180px,calc(100% - 48px)); margin:auto; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:28px 0; }
.brand { display:flex; align-items:center; gap:12px; }.brand b { display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(216,191,131,.7); font:2rem Georgia,serif; color:var(--gold); }.brand strong,.brand small { display:block; }.brand strong { font:400 1.1rem Georgia,serif; letter-spacing:.18em; color:#e1c98f; }.brand small { margin-top:4px; font-size:9px; letter-spacing:.36em; }.site-header nav { display:flex; gap:32px; font-size:.88rem; color:#e9e3d9; }.site-header nav a:hover,.contact a:hover { color:var(--gold); }.menu-button { display:none; background:none; border:0; color:var(--gold); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:13px 17px; font-size:.75rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; transition:.2s ease; }.button-gold { background:var(--gold); color:#171411; }.button-gold:hover { background:#ead19a; transform:translateY(-2px); }.button-outline { border:1px solid rgba(216,191,131,.7); color:#eadcb8; }.button-outline:hover { background:rgba(216,191,131,.12); }
.hero-content { min-height:630px; display:grid; grid-template-columns:1.2fr .8fr; align-items:end; padding:80px 0 96px; }.eyebrow { margin:0; color:var(--gold); font-size:.7rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }.hero h1,.section h2 { margin:24px 0 0; font-family:Georgia,'Times New Roman',serif; letter-spacing:-.055em; line-height:.93; }.hero h1 { max-width:760px; font-size:clamp(3.3rem,7vw,7rem); }.hero h1 em { color:var(--gold); font-style:normal; }.hero-copy { max-width:550px; margin:30px 0 0; font-size:1.1rem; line-height:1.7; color:#ddd7cd; }.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:38px; }.text-link { display:inline-flex; align-items:center; gap:8px; padding-bottom:8px; border-bottom:1px solid rgba(216,191,131,.55); font-size:.82rem; }.hero-note { max-width:260px; margin-left:auto; margin-bottom:5px; padding-left:24px; border-left:1px solid rgba(216,191,131,.5); }.hero-note strong { font:2rem/1.05 Georgia,serif; color:#eadcb8; }.hero-note p { color:#d2ccc2; font-size:.86rem; line-height:1.7; }
.section { padding:120px 0; }.section-grid,.about-grid,.contact { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }.section h2 { font-size:clamp(3rem,5vw,5rem); }.area-list { border-top:1px solid rgba(245,239,228,.18); }.area-list article { display:grid; grid-template-columns:30px 1fr 24px; gap:20px; padding:29px 0; border-bottom:1px solid rgba(245,239,228,.18); }.area-list article>span,.area-list svg { color:var(--gold); }.area-list h3 { margin:0; font:2rem Georgia,serif; }.area-list p { max-width:420px; margin:10px 0 0; color:#bbb5ac; font-size:.9rem; line-height:1.7; }
.image-break { background:#101315; border-block:1px solid rgba(245,239,228,.1); }.image-break-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:80px; align-items:center; }.desk-image { min-height:520px; background:linear-gradient(0deg,rgba(10,12,13,.15),rgba(10,12,13,.15)),url('/services-desk.png') center/cover; }.image-break h2 { max-width:600px; }.image-break p:not(.eyebrow) { max-width:550px; margin:28px 0; color:var(--muted); line-height:1.85; }
.about { border-block:1px solid rgba(245,239,228,.1); background:#101315; }.monogram { min-height:380px; padding:48px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid rgba(216,191,131,.25); background:radial-gradient(circle at 70% 20%,rgba(207,180,116,.25),transparent 32%),linear-gradient(135deg,transparent 20%,rgba(216,191,131,.08)); color:var(--gold); }.monogram b { display:block; font:clamp(5rem,10vw,8rem)/.7 Georgia,serif; }.monogram span { display:block; margin-top:14px; font-size:.72rem; letter-spacing:.3em; color:#d9d3c7; }.about-copy { align-self:center; }.about-copy>p:not(.eyebrow) { max-width:560px; margin:30px 0 0; color:var(--muted); line-height:1.8; }.features { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:36px; }.features span { display:flex; align-items:center; gap:10px; min-height:76px; padding:14px; border:1px solid rgba(216,191,131,.18); background:rgba(255,255,255,.025); font-size:.8rem; }.features svg { color:var(--gold); flex:0 0 auto; }
.testimonials { background:#101315; border-block:1px solid rgba(245,239,228,.1); }.testimonials h2 { max-width:650px; }.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:48px; }.testimonial-grid figure { display:flex; flex-direction:column; justify-content:space-between; min-height:290px; margin:0; padding:30px; border:1px solid rgba(216,191,131,.2); background:rgba(255,255,255,.025); }.testimonial-grid blockquote { margin:0; font:1.5rem/1.35 Georgia,serif; color:#ede6da; }.testimonial-grid figcaption { display:flex; align-items:center; gap:12px; margin-top:30px; }.testimonial-grid figcaption>span { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(216,191,131,.6); border-radius:50%; color:var(--gold); font:700 .72rem Arial,sans-serif; }.testimonial-grid figcaption strong,.testimonial-grid figcaption small { display:block; }.testimonial-grid figcaption strong { font-size:.8rem; }.testimonial-grid figcaption small { margin-top:3px; color:#aaa399; font-size:.72rem; }
.contact { grid-template-columns:1.15fr .85fr; }.contact h2 { max-width:650px; margin-bottom:36px; font-size:clamp(3rem,6vw,6.5rem); }.contact address { padding-left:46px; border-left:1px solid rgba(216,191,131,.3); font-style:normal; align-self:center; }.contact address p { display:flex; align-items:center; gap:16px; margin:0; padding:20px 0; border-bottom:1px solid rgba(245,239,228,.14); color:#ded7cb; font-size:.94rem; line-height:1.65; }.contact address p:last-child { align-items:flex-start; }.contact address svg { color:var(--gold); flex:0 0 auto; }.contact-form { display:grid; gap:18px; max-width:620px; }.contact-form label { display:grid; gap:8px; color:#d8d1c5; font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.contact-form input,.contact-form textarea { width:100%; border:1px solid rgba(245,239,228,.18); border-radius:0; background:rgba(255,255,255,.035); color:#f4efe5; padding:15px 14px; font:400 .95rem/1.5 Arial,sans-serif; outline:none; }.contact-form textarea { resize:vertical; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--gold); }.contact-form input::placeholder,.contact-form textarea::placeholder { color:#8f8a82; }.contact-form .button { justify-self:start; margin-top:4px; border:0; cursor:pointer; }.form-success { margin:0; color:#d8bf83; font-size:.85rem; }
footer { display:flex; justify-content:space-between; padding:28px 0; border-top:1px solid rgba(245,239,228,.1); color:#9d988f; font-size:.75rem; }
@media (max-width:800px) { .top-contact,.site-header nav { display:none; }.menu-button { display:block; }.hero { min-height:700px; }.hero-content,.section-grid,.about-grid,.contact,.image-break-grid { grid-template-columns:1fr; gap:50px; }.hero-content { min-height:620px; padding:70px 0; }.hero-note { margin:0; }.section { padding:88px 0; }.contact address { padding-left:0; border-left:0; }.features,.testimonial-grid { grid-template-columns:1fr; }.desk-image { min-height:380px; }.site-header,.hero-content,.section,footer { width:min(100% - 40px,1180px); } }
@media (max-width:500px) { .brand span { display:none; }.hero-photo { background-position:61% 25%; }.hero h1 { font-size:3.4rem; }.hero-actions { gap:18px; }.section h2,.contact h2 { font-size:3.1rem; }.monogram { min-height:300px; }.area-list article { gap:13px; }.area-list h3 { font-size:1.7rem; } footer { flex-direction:column; gap:8px; } }
