:root{--ink:#171816;--paper:#f2efe8;--white:#fffdf8;--line:#c7c2b8;--muted:#6f716b;--accent:#a68858;--whatsapp:#1f9d5a;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.site-header{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid rgba(23,24,22,.18);position:absolute;inset:0 0 auto;z-index:10;color:var(--paper)}.brand{font-size:1rem;font-weight:600;letter-spacing:.18em}.brand span{display:block;font-size:.55rem;letter-spacing:.42em;color:var(--accent)}nav{display:flex;gap:2rem;font-size:.85rem}nav a{opacity:.78;transition:.2s}nav a:hover,nav a:focus-visible{opacity:1}.header-cta{justify-self:end;border-bottom:1px solid currentColor;padding:.4rem 0;font-size:.85rem}.menu-toggle{display:none}.hero{min-height:760px;height:100svh;max-height:980px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.78fr);position:relative;overflow:hidden;padding:10rem 4vw 4rem}.hero-copy{align-self:center;max-width:790px;padding-right:4rem;z-index:1}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.19em;font-size:.73rem;font-weight:600}.eyebrow{color:#c8a46d;margin:0 0 1.6rem}.hero h1,.statement h2,.services h2,.team h2,.visit h2{font-family:var(--serif);font-size:clamp(4rem,7vw,7.3rem);font-weight:400;line-height:.9;letter-spacing:-.035em;margin:.1em 0 .35em}.hero h1 em,.statement h2 em,.services h2 em,.team h2 em,.visit h2 em{font-weight:400;color:var(--accent)}.hero-lead{max-width:580px;color:#cbc9c3;font-size:1.1rem}.hero-actions{display:flex;align-items:center;gap:2.3rem;margin-top:2.5rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.75rem 1.5rem;border:1px solid currentColor;font-size:.85rem;font-weight:600;letter-spacing:.03em;transition:.25s}.button.primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button:hover,.button:focus-visible{transform:translateY(-2px)}.text-link{font-size:.9rem}.text-link span{color:var(--accent);margin-left:.4rem}.hero-visual{margin:0;position:relative;height:calc(100svh - 11rem);min-height:580px;align-self:end;background:#2b2c28;overflow:hidden}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.55))}.hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.74) contrast(1.03)}.hero-visual figcaption{position:absolute;z-index:1;inset:auto 1.5rem 1.2rem;color:#fff;font-size:.78rem;display:flex;gap:.7rem;letter-spacing:.08em}.hero-visual figcaption span{color:#cfad78}.hero-note{position:absolute;left:4vw;bottom:2.2rem;margin:0;font-size:.68rem;line-height:1.55;text-transform:uppercase;letter-spacing:.18em;color:#777a73}.section-number{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);padding-top:.6rem}.statement{padding:10rem 4vw;display:grid;grid-template-columns:1fr 3fr;gap:4vw}.kicker{color:var(--accent);margin:0 0 1rem}.statement h2,.team h2{font-size:clamp(3.5rem,6vw,6.5rem)}.statement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;max-width:820px;margin-left:auto}.statement-grid p{font-size:1.06rem;color:#4e504b}.principles{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);margin:0 4vw}.principles article{padding:2rem;border-right:1px solid var(--line);min-height:210px}.principles article:last-child{border:0}.principles span{color:var(--accent);font-size:.7rem}.principles h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:2.3rem 0 .2rem}.principles p{font-size:.86rem;color:var(--muted);max-width:210px}.services{background:var(--ink);color:var(--paper);padding:10rem 4vw;display:grid;grid-template-columns:minmax(300px,.85fr) minmax(420px,1.15fr);gap:10vw}.section-number.light{color:#92958e;margin-bottom:6rem}.services h2{font-size:clamp(3.8rem,6vw,6.4rem)}.services-intro>p{max-width:520px;color:#aeb0aa}.service-list{border-top:1px solid #555751}.service-list details{border-bottom:1px solid #555751}.service-list summary{list-style:none;cursor:pointer;padding:1.55rem 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:2rem}.service-list summary::-webkit-details-marker{display:none}.service-list summary small{font-family:var(--sans);font-size:.78rem;color:#aeb0aa;letter-spacing:.06em}.service-detail{padding:0 0 1.8rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;color:#bdbfb8;font-size:.9rem}.service-detail p{margin:0}.service-detail ul{margin:0;padding:0;list-style:none}.service-detail li{padding:.25rem 0}.service-note{grid-column:2;margin:1rem 0 0;border-left:2px solid var(--accent);padding-left:1rem;color:#92958e;font-size:.78rem;max-width:620px}.team{padding:10rem 4vw;display:grid;grid-template-columns:.65fr 1.3fr 1fr 1fr;gap:4vw}.team-heading h2{font-size:clamp(3.3rem,5.5vw,5.8rem)}.profile{border-top:1px solid var(--line);padding-top:1rem;display:flex;flex-direction:column;justify-content:space-between;min-height:440px}.profile-index{font-family:var(--serif);font-size:7rem;line-height:1;color:#c1b9a9}.profile h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:0}.profile .role{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.profile p:last-child{font-size:.89rem;color:var(--muted)}.assurance{background:var(--white);text-align:center;padding:8rem 4vw}.assurance blockquote{font-family:var(--serif);font-size:clamp(3.5rem,7vw,7rem);line-height:.92;margin:.25em 0}.assurance blockquote em{color:var(--accent);font-weight:400}.assurance>p:last-child{max-width:560px;margin:2rem auto 0;color:var(--muted)}.visit{padding:10rem 4vw;display:grid;grid-template-columns:1.35fr 1fr;gap:8vw}.visit h2{font-size:clamp(3.8rem,6vw,6.5rem)}.visit-copy>p{max-width:550px;color:var(--muted);margin-bottom:2rem}.visit-actions{display:flex;flex-wrap:wrap;gap:.8rem}.button.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.button.directions{background:transparent;color:var(--ink);border-color:var(--line)}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-self:end;border-top:1px solid var(--line);padding-top:2rem}.visit-details h3{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:var(--accent)}.visit-details p,.visit-details address{font-style:normal;color:#484a46}.visit-details span{color:var(--muted);font-size:.82rem}footer{background:var(--ink);color:var(--paper);padding:2.3rem 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:.72rem;color:#999b94}footer p:last-child{text-align:right}.footer-brand{color:var(--paper)}.whatsapp-float{position:fixed;right:1.2rem;bottom:1.2rem;z-index:20;display:none;align-items:center;gap:.55rem;background:var(--whatsapp);color:#fff;padding:.8rem 1rem;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:.85rem;font-weight:600}.whatsapp-float span{display:grid;place-items:center;width:1.8rem;height:1.8rem;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-size:.66rem}
@media(max-width:960px){.site-header{grid-template-columns:1fr auto}.header-cta{display:none}.menu-toggle{display:block;background:none;border:1px solid rgba(255,255,255,.38);color:inherit;padding:.5rem .8rem;font-size:.78rem}nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--ink);padding:1.3rem 4vw;flex-direction:column;gap:1rem;border-top:1px solid #393a36}nav.open{display:flex}.hero{height:auto;max-height:none;min-height:0;grid-template-columns:1fr;padding-top:9rem}.hero-copy{padding:3rem 0 4rem}.hero-visual{height:64vw;min-height:460px}.hero-note{display:none}.statement{grid-template-columns:1fr;padding-top:7rem;padding-bottom:7rem}.principles{grid-template-columns:1fr 1fr}.principles article:nth-child(2){border-right:0}.principles article:nth-child(-n+2){border-bottom:1px solid var(--line)}.services{grid-template-columns:1fr;gap:4rem;padding-top:7rem;padding-bottom:7rem}.section-number.light{margin-bottom:3rem}.service-note{grid-column:1}.team{grid-template-columns:1fr 1fr;row-gap:5rem}.team>.section-number{grid-column:1/-1}.visit{grid-template-columns:1fr;gap:5rem}}
@media(max-width:620px){.site-header{height:72px}.hero{padding:7rem 1.2rem 2.8rem}.hero h1{font-size:3.75rem}.hero-copy{padding:2rem 0 3rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.hero-visual{height:118vw;min-height:420px}.statement,.services,.team,.assurance,.visit{padding:6rem 1.2rem}.statement-grid{grid-template-columns:1fr;gap:1rem}.principles{margin:0 1.2rem;grid-template-columns:1fr}.principles article{border-right:0;border-bottom:1px solid var(--line)!important;min-height:165px;padding:1.5rem}.principles article:last-child{border-bottom:0!important}.principles h3{margin-top:1.4rem}.service-list summary{font-size:1.6rem}.service-detail{grid-template-columns:1fr;gap:1rem}.team{grid-template-columns:1fr}.team>.section-number{grid-column:auto}.profile{min-height:340px}.visit-details{grid-template-columns:1fr}footer{grid-template-columns:1fr;gap:1rem;text-align:left;padding-bottom:6rem}footer p:last-child{text-align:left}.whatsapp-float{display:flex}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
