:root { --ink:#161714; --soft-ink:#252622; --ivory:#f2efe8; --paper:#e7e2d9; --bronze:#b38658; --line:rgba(242,239,232,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:88px; padding:0 4vw; position:absolute; z-index:10; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); color:var(--ivory); }
.brand { display:flex; align-items:center; gap:14px; text-transform:uppercase; letter-spacing:.16em; }
.brand-mark { font-family:Georgia, serif; font-size:30px; letter-spacing:-.08em; color:var(--bronze); }
.brand-name { font-size:11px; font-weight:700; }
.desktop-nav { display:flex; gap:34px; font-size:12px; }
.desktop-nav a, .header-cta, .text-link, .company-card a { position:relative; }
.desktop-nav a::after { content:""; position:absolute; height:1px; background:var(--bronze); left:0; right:100%; bottom:-8px; transition:.3s; }
.desktop-nav a:hover::after { right:0; }
.header-cta { font-size:11px; text-transform:uppercase; letter-spacing:.12em; display:flex; gap:16px; align-items:center; }
.mobile-menu { display:none; }
.hero { min-height:760px; height:100svh; position:relative; overflow:hidden; background:linear-gradient(115deg,#11120f 0%,#191a17 60%,#20211d 100%); color:var(--ivory); display:flex; align-items:center; padding:120px 8vw 70px; }
.hero-grid { position:absolute; inset:0; opacity:.17; background-image:linear-gradient(to right,transparent calc(100% - 1px),#b38658 1px),linear-gradient(to bottom,transparent calc(100% - 1px),#b38658 1px); background-size:15vw 15vw; mask-image:linear-gradient(to right,transparent,black); }
.hero-content { position:relative; z-index:2; max-width:840px; }
.eyebrow, .kicker { text-transform:uppercase; letter-spacing:.26em; font-size:10px; font-weight:700; }
.eyebrow { color:var(--bronze); margin:0 0 28px; }
h1,h2,blockquote { font-family:Georgia, 'Times New Roman', serif; font-weight:400; }
h1 { margin:0; font-size:clamp(54px,7.4vw,112px); line-height:.93; letter-spacing:-.055em; }
h1 em, .company-card h2 em { color:var(--bronze); font-weight:400; }
.hero-copy { max-width:520px; margin:38px 0 0; color:#bbb9b2; font:18px/1.6 Georgia,serif; }
.hero-actions { display:flex; gap:34px; align-items:center; margin-top:42px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:45px; padding:19px 23px; text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:700; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-2px); }
.button-light { background:var(--ivory); color:var(--ink); }
.text-link { font-size:11px; text-transform:uppercase; letter-spacing:.13em; display:flex; gap:16px; }
.hero-building { position:absolute; right:-2%; bottom:0; width:39vw; height:72%; opacity:.72; }
.building-face { position:absolute; inset:12% 6% 0 11%; background:linear-gradient(105deg,#292a26,#171815); border:1px solid rgba(179,134,88,.8); clip-path:polygon(0 13%,58% 0,100% 15%,100% 100%,0 100%); }
.building-top { position:absolute; inset:0 1% 57% 26%; border:1px solid rgba(179,134,88,.65); transform:skewY(11deg); }
.building-door { position:absolute; z-index:2; width:18%; height:36%; bottom:0; right:22%; border:1px solid var(--bronze); background:linear-gradient(90deg,#171714,#403321); box-shadow:inset 0 0 40px rgba(179,134,88,.2); }
.hero-foot { position:absolute; z-index:2; left:4vw; right:4vw; bottom:25px; display:flex; justify-content:space-between; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:#85857f; }
.section { padding:130px 8vw; }
.section-label { display:flex; gap:24px; align-items:center; text-transform:uppercase; letter-spacing:.2em; font-size:9px; font-weight:700; }
.section-label span { color:var(--bronze); }
.intro { display:grid; grid-template-columns:1fr 3fr; gap:6vw; }
.intro-content { max-width:900px; }
.kicker { color:var(--bronze); margin:0 0 28px; }
.intro h2,.approach h2,.contact h2 { font-size:clamp(44px,5.5vw,78px); line-height:1.05; letter-spacing:-.045em; margin:0; }
.intro-content > p:last-child { max-width:600px; margin:35px 0 0 auto; color:#66665f; font:18px/1.7 Georgia,serif; }
.companies { display:grid; grid-template-columns:1fr 1fr; min-height:670px; }
.company-card { position:relative; overflow:hidden; padding:55px 5vw; display:flex; flex-direction:column; justify-content:flex-end; }
.property-card { background:#d8d2c8; }
.development-card { background:var(--soft-ink); color:var(--ivory); }
.card-number { position:absolute; top:45px; left:5vw; font-size:9px; letter-spacing:.2em; color:var(--bronze); }
.card-monogram { position:absolute; top:7%; right:-4%; font:220px Georgia,serif; color:rgba(22,23,20,.055); letter-spacing:-.12em; }
.card-lines { position:absolute; inset:0; opacity:.2; background:repeating-linear-gradient(120deg,transparent 0,transparent 68px,var(--bronze) 69px,var(--bronze) 70px); }
.card-copy { position:relative; max-width:480px; }
.card-copy h2 { font-size:clamp(44px,4.8vw,72px); line-height:1; margin:0 0 25px; letter-spacing:-.04em; }
.card-copy h2 em { display:block; font-size:.42em; letter-spacing:.08em; margin-top:12px; }
.card-copy > p:not(.eyebrow) { font:17px/1.7 Georgia,serif; color:#67675f; }
.development-card .card-copy > p:not(.eyebrow) { color:#afaea7; }
.company-card a { display:inline-flex; gap:18px; margin-top:25px; text-transform:uppercase; letter-spacing:.15em; font-size:10px; font-weight:700; border-bottom:1px solid rgba(179,134,88,.5); padding-bottom:10px; }
.approach { background:var(--ink); color:var(--ivory); display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:5vw; }
.section-label.light { color:#8c8c85; align-self:start; }
.approach-copy { padding-top:67px; }
.approach-copy p { color:#aaa9a3; font:18px/1.7 Georgia,serif; margin:0; }
.principles { grid-column:2/4; display:grid; grid-template-columns:repeat(3,1fr); margin-top:65px; border-top:1px solid var(--line); }
.principles div { padding:35px 35px 0 0; border-right:1px solid var(--line); }
.principles div + div { padding-left:35px; }
.principles span { color:var(--bronze); font-size:9px; letter-spacing:.15em; }
.principles h3 { font:28px Georgia,serif; margin:35px 0 15px; }
.principles p { font-size:13px; line-height:1.7; color:#8f8f88; }
.director { display:grid; grid-template-columns:1fr 1.3fr; align-items:center; background:var(--paper); overflow:hidden; }
.director-mark { font:clamp(180px,25vw,390px)/.8 Georgia,serif; color:rgba(179,134,88,.22); letter-spacing:-.18em; }
.eyebrow.dark { color:#77766f; }
blockquote { font-size:clamp(32px,4vw,58px); line-height:1.17; letter-spacing:-.035em; margin:0; }
.signature { display:flex; flex-direction:column; gap:6px; margin-top:40px; font-size:11px; letter-spacing:.08em; }
.signature span { color:#77766f; }
.signature a { color:var(--bronze); width:max-content; padding-bottom:5px; border-bottom:1px solid rgba(179,134,88,.45); }
.director-tina { background:#ded8ce; border-top:1px solid rgba(22,23,20,.1); }
.director-tina .director-mark { color:rgba(22,23,20,.09); }
.profile-statement { max-width:700px; margin:0; font:clamp(32px,4vw,58px)/1.17 Georgia,serif; letter-spacing:-.035em; }
.contact { background:#11120f; color:var(--ivory); display:grid; grid-template-columns:1fr 1.5fr 1fr; gap:5vw; }
.contact-lead .button { margin-top:45px; }
.button-bronze { background:var(--bronze); color:#12130f; }
.contact-details { padding-top:65px; }
.contact-details div { display:flex; flex-direction:column; gap:12px; padding:23px 0; border-bottom:1px solid var(--line); }
.contact-details span { color:#72736d; font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.contact-details a { font:16px Georgia,serif; overflow-wrap:anywhere; }
footer { background:#11120f; color:#77776f; padding:40px 4vw; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 2fr 1fr; align-items:center; gap:30px; font-size:9px; line-height:1.6; letter-spacing:.08em; }
footer p:last-child { text-align:right; }

@media (max-width:900px) {
  .desktop-nav,.header-cta { display:none; }
  .mobile-menu { display:block; position:relative; }
  .mobile-menu summary { list-style:none; cursor:pointer; width:32px; height:28px; display:flex; flex-direction:column; justify-content:center; gap:7px; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary span { height:1px; width:100%; background:var(--ivory); }
  .mobile-menu nav { position:absolute; right:0; top:42px; width:230px; padding:24px; background:var(--ivory); color:var(--ink); display:flex; flex-direction:column; gap:20px; box-shadow:0 20px 50px rgba(0,0,0,.3); font:13px Georgia,serif; }
  .hero { min-height:700px; align-items:flex-end; padding-bottom:105px; }
  .hero-building { width:70vw; height:55%; opacity:.45; right:-25%; }
  .intro { grid-template-columns:1fr; }
  .companies { grid-template-columns:1fr; }
  .company-card { min-height:580px; }
  .approach,.contact { grid-template-columns:1fr; }
  .approach-copy { padding-top:0; }
  .principles { grid-column:auto; grid-template-columns:1fr; margin-top:30px; }
  .principles div,.principles div + div { padding:25px 0; border-right:0; border-bottom:1px solid var(--line); }
  .principles h3 { margin:15px 0 8px; }
  .director { grid-template-columns:1fr; }
  .director-mark { font-size:220px; margin-bottom:40px; }
  .contact-details { padding-top:20px; }
  footer { grid-template-columns:1fr; }
  footer p:last-child { text-align:left; }
}

@media (max-width:560px) {
  .site-header { height:72px; padding:0 22px; }
  .brand-name { font-size:9px; }
  .hero { padding:100px 24px 95px; min-height:670px; }
  h1 { font-size:52px; }
  .hero-copy { font-size:16px; }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .hero-foot { left:24px; right:24px; }
  .section { padding:90px 24px; }
  .intro h2,.approach h2,.contact h2 { font-size:42px; }
  .intro-content > p:last-child { font-size:16px; }
  .company-card { padding:45px 24px; min-height:540px; }
  .card-number { left:24px; }
  .card-monogram { font-size:150px; }
  .director-mark { font-size:160px; }
  footer { padding:40px 24px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

