@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&display=swap');
:root{color-scheme:dark;font-family:Montserrat,'Helvetica Neue',Arial,sans-serif;font-weight:300;color:#e7e3dc;background:#111210;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}main{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(40px,6vh,80px) clamp(24px,7vw,110px) 36px;background:radial-gradient(ellipse at 50% 25%,#24241d,#161712 35%,#111210 72%)}main:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h180v180H0z' filter='url(%23n)'/%3E%3C/svg%3E")}section{width:100%;animation:arrival 1s ease-out both}.symbol{position:relative;width:clamp(230px,34vh,310px);aspect-ratio:1;margin:auto;isolation:isolate}.symbol img{position:relative;width:100%;height:100%;display:block;filter:brightness(1.3)}.glow{position:absolute;inset:-25%;background:radial-gradient(ellipse,#f9db9c26,transparent 61%);animation:breathe 6s ease-in-out infinite}.light{position:absolute;left:42%;top:37%;width:16%;height:27%;border-radius:50%;background:radial-gradient(ellipse,#fff6d9b0,#ffe4a270 30%,#eac27e30 52%,transparent 75%);filter:blur(9px);animation:breathe 6s ease-in-out infinite}h1{font-size:clamp(32px,3vw,39px);font-weight:500;letter-spacing:.22em;padding-left:.22em;line-height:1.3;margin:5px 0 0;color:#f2eee4}.disciplines{display:flex;justify-content:center;align-items:center;gap:22px;margin:22px 0 0;color:#c6bead;font-size:14px;letter-spacing:.16em;line-height:1.6;text-transform:uppercase}.disciplines span+span{border-left:1px solid #e2d5ba45;padding-left:22px}.services{max-width:1220px;margin:clamp(64px,9vh,100px) auto 0;padding:clamp(32px,4vh,46px) 0;background-image:linear-gradient(90deg,#ffffff08,#f1e8d459 50%,#ffffff08),linear-gradient(90deg,#ffffff08,#f1e8d459 50%,#ffffff08);background-size:100% 1px;background-position:top,bottom;background-repeat:no-repeat;color:#f6f3ed;font-size:clamp(17px,1.45vw,21px);line-height:1.95;letter-spacing:.015em;text-wrap:pretty;text-shadow:0 0 18px #ffffff12}.services strong{font-weight:500}footer{margin-top:auto;padding-top:clamp(56px,8vh,90px);font-size:15px;line-height:1.6;color:#aaa59a;animation:arrival 1s .15s both}footer p{margin:0}.email{margin-top:9px;color:#e4ddce;font-size:18px;letter-spacing:.04em;user-select:all}@keyframes breathe{0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:1;transform:scale(1.08)}}@keyframes arrival{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}::selection{background:#d4bf87;color:#171813}@media(max-width:600px){main{padding:38px 24px 28px}.symbol{width:230px}h1{font-size:32px}.disciplines{gap:12px;font-size:12px;letter-spacing:.08em}.disciplines span+span{padding-left:12px}.services{font-size:16px;line-height:1.85;margin-top:54px;padding:28px 0}footer{padding-top:52px}}@media(prefers-reduced-motion:reduce){section,footer,.light,.glow{animation:none}}

/* Align the supplied portrait mark within the existing logo area. */
.symbol img{object-fit:contain}.light{left:41%;top:43%;width:17%;height:28%}

/* A separator centered on the capital letter height. */
h1{display:flex;justify-content:center;align-items:baseline;gap:.2em;padding-left:0}h1>span:not(.brand-divider){letter-spacing:.22em;margin-right:-.22em}.brand-divider{display:inline-block;flex:none;width:2px;height:1.4cap;align-self:baseline;position:relative;top:.2cap;background:currentColor}
