:root{--ink:#48283e;--text:#503e4c;--pink:#f5dfeb;--paper:#fffafd;--muted:#705b68;--line:#cdb8c5;--wine:#743752}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid #9c3c74;outline-offset:6px}button,a{-webkit-tap-highlight-color:transparent}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.demo{background:var(--ink);color:#fff8fc;text-align:center;padding:10px 20px;font-size:14px}.demo a{margin-left:10px}.header{display:flex;justify-content:space-between;align-items:center;padding:32px 0}.wordmark{font-family:Georgia,serif;font-size:28px;line-height:1.2;text-decoration:none}.wordmark span{display:block;font-family:"Avenir Next",sans-serif;font-size:13px;margin-top:8px;color:var(--muted)}nav{display:flex;gap:32px;align-items:center}nav a{padding:10px 0;text-decoration:none;font-size:15px}nav a:hover{text-decoration:underline}.nav-contact{border-bottom:1px solid var(--ink)}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;padding:54px 0 90px;align-items:center}.intro{font-size:17px;margin:0 0 24px}.hero h1{font:normal clamp(48px,5.9vw,80px)/1.06 Georgia,serif;letter-spacing:-2.7px;margin:0 0 30px}.lede{font-size:19px;max-width:460px;color:var(--text);margin-bottom:32px}.button{display:inline-flex;gap:22px;align-items:center;justify-content:center;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:4px;padding:17px 22px;font-size:15px;text-decoration:none;min-height:56px;line-height:1.45}.button:hover{background:var(--wine)}.arrow{display:inline-block;width:18px;min-width:18px;height:12px;position:relative}.arrow:before{content:"";position:absolute;left:0;top:5px;width:17px;height:1px;background:currentColor}.arrow:after{content:"";position:absolute;right:0;top:1px;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}.micro{font-size:13px;max-width:350px;color:var(--muted);margin:14px 0 0}.hero-panel{align-self:stretch;background:var(--pink);border-radius:160px 160px 6px 6px;padding:66px 34px 30px;min-height:470px;display:flex;flex-direction:column;justify-content:space-between}.panel-top{text-align:center;font-size:14px}.line{display:block;width:1px;height:36px;background:#ad859b;margin:18px auto}.name-composition{font:normal clamp(55px,6.5vw,86px)/1.05 Georgia,serif;letter-spacing:-3px;text-align:center;padding:12px 0 52px}.name-composition span{display:block}.name-composition span+span{margin-left:55px}.panel-bottom{border-top:1px solid #c3a0b4;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:13px}.profile-section{background:#f0e9ee;padding:84px 0}.profile{display:grid;grid-template-columns:1fr 1.05fr;gap:110px}.profile-portrait{display:block;width:136px;height:136px;object-fit:cover;border-radius:50%;border:5px solid var(--paper);box-shadow:0 8px 26px rgba(72,40,62,.09);margin:0 0 28px}.section-label{margin:0 0 20px;font-size:15px}h2{font:normal clamp(33px,3.6vw,48px)/1.15 Georgia,serif;letter-spacing:-1px;margin:0;max-width:490px}.profile-copy>p{margin:0 0 28px;color:var(--text);font-size:18px}dl{margin:0 0 30px}dl>div{padding:20px 0;border-top:1px solid var(--line)}dt{font-size:19px}dd{margin:4px 0 0;font-size:15px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:15px;min-height:44px}.location{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;padding:100px 0}.location-title>p:last-child{max-width:410px;color:var(--text);margin-top:26px}.address{padding:36px 0 30px 42px;border-left:2px solid var(--pink)}.building{font-size:26px;margin:0 0 15px}address{font-style:normal;font-size:18px;margin-bottom:22px}.address-note{font-size:14px;color:var(--muted);max-width:320px;margin-top:20px}.contact{background:var(--ink);color:var(--paper);padding:75px 0}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact p:not(.section-label){max-width:430px;color:#e7d5e0;margin-top:25px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.button.light{background:var(--pink);color:var(--ink);border-color:var(--pink)}.button.light:hover{background:white}.secondary-link{padding:10px 0;font-size:15px}.footer{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:48px 0 52px;font-size:13px;color:var(--muted)}.footer p{max-width:490px;margin:0 0 14px}.footer-title{font-size:18px;color:var(--ink)}.footer .text-link{font-size:13px}.skip{position:absolute;top:-100px;left:10px;background:white;z-index:10;padding:10px}.skip:focus{top:10px}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero{gap:30px}.hero h1{font-size:54px;letter-spacing:-1.7px}.hero-panel{padding:55px 24px 25px;min-height:430px}.name-composition{font-size:58px;letter-spacing:-2px}.name-composition span+span{margin-left:20px}.profile,.location,.contact-inner,.footer{gap:45px}nav{gap:20px}}@media(max-width:640px){.wrap{width:calc(100% - 40px)}.demo{font-size:12px;padding:9px 14px}.demo a{display:inline-block;margin-left:4px}.header{padding:25px 0 18px;display:block}.wordmark{font-size:26px}.wordmark span{font-size:12px}nav{margin-top:20px;justify-content:space-between;gap:14px}nav a{font-size:14px}.hero{display:flex;flex-direction:column;gap:36px;padding:32px 0 54px;align-items:stretch}.hero h1{font-size:55px;letter-spacing:-2px}.intro{font-size:15px;margin-bottom:22px}.lede{font-size:17px;margin-bottom:25px}.button{font-size:14px;padding:16px 18px;gap:18px}.hero-panel{min-height:360px;padding:40px 27px 24px;border-radius:140px 140px 6px 6px}.name-composition{font-size:65px;padding:0 0 30px}.line{height:23px;margin:12px auto}.panel-top,.panel-bottom{font-size:12px}.profile,.location,.contact-inner,.footer{grid-template-columns:1fr;gap:32px}.profile-section{padding:55px 0}h2{font-size:37px}.profile-copy>p{font-size:17px}.location{padding:60px 0;gap:22px}.address{padding:20px 0 0 22px}.contact{padding:55px 0}.contact-inner{gap:20px}.footer{padding:36px 0;gap:20px}.section-label{font-size:14px}.contact-actions{align-items:stretch}.contact-actions .secondary-link{text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(min-width:641px) and (max-width:740px){.hero{grid-template-columns:1fr}.hero-panel{min-height:400px}.hero h1{font-size:68px}} 

/* A single, quiet signature moment in the name panel. */
.hero-panel{position:relative;isolation:isolate;overflow:hidden}
.hero-panel::before{content:"";position:absolute;inset:-35%;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.58) 49%,transparent 63%);opacity:0;transform:translateX(-80%)}
.name-composition{transform:translate3d(var(--name-x,0px),var(--name-y,0px),0) rotate(var(--name-turn,0deg));transition:transform 650ms cubic-bezier(.22,1,.36,1)}
.hero-panel.is-revealed .name-composition span{animation:signature-arrive 1100ms cubic-bezier(.16,1,.3,1) both}
.hero-panel.is-revealed .name-composition span+span{animation-delay:160ms}
.hero-panel.is-revealed::before{animation:signature-light 1800ms ease-in-out 120ms both}
.hero-panel.is-revealed .line{transform-origin:top;animation:signature-line 850ms cubic-bezier(.16,1,.3,1) both}
@keyframes signature-arrive{from{opacity:0;transform:translateY(28px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes signature-light{0%{opacity:0;transform:translateX(-80%)}35%{opacity:1}100%{opacity:0;transform:translateX(80%)}}
@keyframes signature-line{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.name-composition{transform:none;transition:none}.hero-panel.is-revealed .name-composition span,.hero-panel.is-revealed .line,.hero-panel.is-revealed::before{animation:none}.hero-panel::before{display:none}}
