:root{--navy:#071c38;--blue:#103d6c;--red:#c62836;--cream:#f7f3ed;--white:#fff;--ink:#17253a;--muted:#657083;--line:#dce1e7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;top:.6rem;left:.6rem;z-index:100;transform:translateY(-160%);background:#fff;color:var(--navy);padding:.7rem 1rem;font-weight:700;box-shadow:0 4px 16px rgba(0,0,0,.2)}.skip-link:focus{transform:translateY(0)}a:focus-visible,button:focus-visible{outline:3px solid #f3c84b;outline-offset:4px}.site-header{height:88px;padding:0 clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:.8rem}.brand strong,.brand small{display:block;line-height:1.2}.brand strong{font-family:"Playfair Display",serif;font-size:1.15rem}.brand small{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.25rem}.monogram{display:grid;place-items:center;width:44px;height:44px;background:var(--navy);color:#fff;font-family:"Playfair Display",serif;font-weight:700;border-radius:50%}.site-header nav{display:flex;align-items:center;gap:1.6rem}.site-header nav a{font-size:.9rem;font-weight:600}.language{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}.nav-cta{background:var(--red);color:#fff!important;padding:.75rem 1.15rem;border-radius:2px}.hero{min-height:700px;position:relative;display:grid;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,17,36,.92) 0%,rgba(3,17,36,.73) 40%,rgba(3,17,36,.12) 72%)}.hero-content{position:relative;z-index:2;color:#fff;width:min(680px,90%);margin-left:clamp(1.4rem,8vw,8rem);padding:6rem 0}.eyebrow{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;margin:0 0 1.25rem}.eyebrow.red{color:var(--red)}h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.1;margin-top:0}h1{font-size:clamp(3rem,6vw,5.7rem);letter-spacing:-.035em;margin-bottom:1.5rem}h2{font-size:clamp(2.2rem,4vw,3.8rem);letter-spacing:-.025em}h3{font-size:1.6rem}.hero-copy{font-size:1.18rem;max-width:590px;color:#e8edf3}.primary-button,.light-button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;font-weight:700}.primary-button{background:var(--red);color:#fff;padding:1rem 1.3rem;margin-top:1rem;min-width:270px}.button-note{font-size:.82rem;color:#d8e0ea}.welcome{background:var(--red);color:#fff;padding:3.2rem max(1.4rem,8vw);text-align:center}.welcome p{font-family:"Playfair Display",serif;font-size:clamp(1.4rem,2.5vw,2.1rem);line-height:1.35;max-width:1000px;margin:auto}.services{padding:7rem clamp(1.4rem,8vw,8rem)}.section-heading{max-width:650px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem;border-top:1px solid var(--line)}.service-grid article{padding:2.3rem 2.4rem 1rem 0;border-right:1px solid var(--line)}.service-grid article+article{padding-left:2.4rem}.service-grid article:last-child{border-right:0}.number{color:var(--red);font-weight:700;font-size:.8rem;letter-spacing:.15em}.service-grid h3{margin-top:2.2rem}.service-grid p{color:var(--muted)}.about{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(400px,1.15fr);gap:clamp(3rem,7vw,8rem);align-items:center;background:var(--cream);padding:7rem clamp(1.4rem,8vw,8rem)}.portrait-wrap{position:relative;max-width:510px}.portrait-wrap img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;position:relative;z-index:2}.portrait-accent{position:absolute;width:54%;height:50%;background:var(--red);left:-20px;bottom:-20px}.about-copy p:not(.eyebrow){color:#515d6f}.credentials{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.credentials span{border:1px solid #c9c7c3;padding:.55rem .75rem;font-size:.78rem;font-weight:700}.areas{background:var(--navy);color:#fff;text-align:center;padding:6.5rem clamp(1.4rem,12vw,12rem)}.areas h2{max-width:930px;margin:0 auto 2rem}.areas-list{color:#cdd7e4;font-family:"Playfair Display",serif;font-size:clamp(1.15rem,2.3vw,1.65rem);font-weight:600;line-height:1.45}.areas-premier{max-width:900px;margin:2.2rem auto 0;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:.55rem}.areas-premier span{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#aebdd0}.areas-premier strong{font-family:"Playfair Display",serif;font-size:clamp(1.15rem,2.3vw,1.65rem);font-weight:600}.contact{display:flex;align-items:center;justify-content:space-between;gap:3rem;background:var(--red);color:#fff;padding:5rem clamp(1.4rem,8vw,8rem)}.contact h2{margin-bottom:1rem}.contact p{margin-bottom:0}.light-button{background:#fff;color:var(--navy);padding:1.1rem 1.3rem;min-width:280px;flex-direction:column;gap:0;align-items:flex-start}.light-button strong{font-size:1.25rem}footer{display:grid;grid-template-columns:1.05fr 1.35fr 1fr;gap:2.5rem;padding:2.5rem clamp(1.4rem,8vw,8rem);font-size:.78rem;color:var(--muted)}footer div{display:flex;flex-direction:column}footer strong{color:var(--ink)}footer a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:850px){.site-header{height:auto;padding-top:1rem;padding-bottom:1rem}.site-header nav>a:not(.nav-cta){display:none}.site-header nav{gap:.6rem}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{border-right:0;border-bottom:1px solid var(--line);padding:2rem 0}.about{grid-template-columns:1fr}.portrait-wrap{max-width:440px}.contact{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr;gap:1rem}}
@media(max-width:560px){.brand small{display:none}.site-header{padding-inline:1rem}.nav-cta{padding:.65rem .8rem}.hero{min-height:690px}.hero-shade{background:linear-gradient(90deg,rgba(3,17,36,.92),rgba(3,17,36,.62))}.hero-content{margin-left:1.25rem;padding-right:1.25rem}.hero-copy{font-size:1rem}.services,.about{padding-top:5rem;padding-bottom:5rem}.about{gap:3.5rem}.contact{padding-top:4rem;padding-bottom:4rem}.light-button{min-width:100%}footer{padding-top:2rem;padding-bottom:2rem}}
.areas-list{color:#fff}
.contact-dialog{width:min(520px,calc(100% - 2rem));border:0;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.35);color:var(--ink)}.contact-dialog::backdrop{background:rgba(3,17,36,.72)}.contact-dialog form{position:relative;padding:2.4rem}.contact-dialog h2{font-size:2.25rem;margin-bottom:.8rem}.contact-dialog p:not(.eyebrow){color:var(--muted)}.dialog-close{position:absolute;right:1rem;top:.8rem;border:0;background:transparent;color:var(--navy);font-size:2rem;cursor:pointer}.dialog-number{display:block;font-family:"Playfair Display",serif;font-size:1.75rem;color:var(--navy);margin:1.5rem 0}.dialog-actions{display:flex;flex-wrap:wrap;gap:.75rem}.dialog-actions a,.dialog-actions button{border:0;background:var(--red);color:#fff;padding:.85rem 1rem;font-weight:700;cursor:pointer}.dialog-actions button{background:var(--navy)}.copy-status{display:block;min-height:1.7rem;margin-top:.75rem;color:var(--blue);font-weight:700}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
