@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f7f5ef;--navy:#20343d;--teal:#32665e;--muted:#5f6d6e;--line:#dcded4;--mint:#e9eee6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--navy);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--teal);outline-offset:6px}::selection{background:#d4e2ce}.wrap{max-width:1180px;width:calc(100% - 96px);margin-inline:auto}.header{border-bottom:1px solid var(--line);background:var(--paper)}.nav{height:100px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:'Manrope',sans-serif;font-weight:800;font-size:31px;letter-spacing:-1.7px}.wordmark span{color:var(--teal)}nav{display:flex;gap:36px;align-items:center;font-size:14px}nav a:not(.nav-hello){padding-block:8px;border-bottom:1px solid transparent}nav a:hover{border-color:var(--teal)}.nav-hello{border:1px solid #a8b5a6;border-radius:100px;padding:12px 21px}.nav-hello span{margin-left:18px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding-block:90px 86px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;display:flex;gap:10px;align-items:center;margin:0 0 28px}.tiny-signal{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 5px #32665e12}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-weight:500;font-size:clamp(42px,4.5vw,65px);line-height:1.14;letter-spacing:-3px;margin-bottom:25px}.name{font-weight:800;color:var(--teal);font-size:1.3em;letter-spacing:-5px}.period{color:#bb7959}.hero-description{font-size:17px;line-height:1.8;color:var(--muted);margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:36px;padding:17px 24px;background:var(--teal);color:white;border-radius:100px;font-weight:500;font-size:14px;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);background:#254f49;box-shadow:0 8px 20px #20343d18}.hero-note{margin-top:33px;font-size:11px;letter-spacing:.6px;color:var(--muted);display:flex;align-items:center;gap:10px}.hero-note span{font-size:23px;color:#b27654}.portrait-area{position:relative;padding:20px 19px 0 0;min-width:0}.portrait-frame{margin:0;position:relative;border-radius:180px 180px 16px 16px;overflow:hidden;background:#d7d9cd;aspect-ratio: .82;transform:rotate(2deg);box-shadow:0 18px 40px #20343d12}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block;transition:transform .7s}.portrait-frame:hover img{transform:scale(1.025)}.portrait-frame:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#152721b3);pointer-events:none}.portrait-frame figcaption{position:absolute;bottom:27px;left:30px;color:#fff;z-index:1;display:grid;gap:9px}.portrait-frame figcaption span{font-size:8px;letter-spacing:1.8px}.portrait-frame figcaption strong{font-size:20px;font-weight:500}.portrait-label{position:absolute;left:-36px;bottom:105px;background:#f3ebd5;border:1px solid #fff9;padding:15px 23px;border-radius:6px;transform:rotate(-7deg);box-shadow:0 8px 20px #00000010;font-size:14px}.portrait-label span{color:var(--teal);font-size:25px;vertical-align:middle;margin-right:8px}.portrait-coordinate{display:block;font-size:8px;letter-spacing:2px;text-align:center;margin-top:23px;color:var(--muted)}.signal-rings{position:absolute;right:-18px;top:-16px;width:150px;height:150px}.signal-rings i{position:absolute;border:1px solid #7f9c87;border-radius:50%;inset:0;animation:signal 6s ease-out 2}.signal-rings i:nth-child(2){inset:22px;animation-delay:.5s}.signal-rings i:nth-child(3){inset:44px;animation-delay:1s}.intro-strip{border-block:1px solid var(--line)}.intro-strip .wrap{display:flex;justify-content:space-between;align-items:center;padding-block:26px;font-size:12px;letter-spacing:1px}.intro-strip b{font-size:23px;font-weight:400;color:#8d9a7d}.section{padding-block:105px}.story{display:grid;grid-template-columns:1fr 2fr;gap:80px}.section-label{font-size:10px;letter-spacing:2px;font-weight:600;display:flex;flex-direction:column;gap:35px;padding-top:10px}.small-star{font-size:65px;color:#b47c5e;font-weight:400;line-height:1}h2{font-size:clamp(32px,3.4vw,45px);font-weight:500;line-height:1.23;letter-spacing:-1.8px;margin-bottom:28px}h2 em{font-family:Georgia,serif;font-weight:400;color:var(--teal)}.story-content p{color:var(--muted);font-size:16px;line-height:1.9;max-width:650px}.signature{font-family:Georgia,serif;font-style:italic;font-size:29px;margin-top:30px;color:var(--teal)}.signature span{font-family:'DM Sans',sans-serif;font-style:normal;font-size:10px;letter-spacing:2px;margin-left:12px;color:var(--muted)}.interests{background:var(--mint)}.interest-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:43px}.interest-heading h2{margin-bottom:0}.interest-heading>p{font-size:14px;color:var(--muted);line-height:1.8}.interest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.interest-card{padding:30px;background:#f8f8f2;border:1px solid #d9ded1;border-radius:12px;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}.interest-card:hover{transform:translateY(-6px);box-shadow:0 12px 25px #20343d09}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.card-top svg{width:39px;height:39px;stroke:var(--teal);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.card-top span{font-size:11px;color:#74806e}.interest-card h3{font-size:19px;letter-spacing:-.5px;margin-bottom:14px}.interest-card p{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:35px}.card-tag{font-size:8px;letter-spacing:1.5px;border-top:1px solid var(--line);padding-top:20px;margin-top:auto}.connect{text-align:center;position:relative}.connect .eyebrow{justify-content:center}.connect h2{font-size:clamp(40px,4.8vw,62px)}.connect>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.85;margin-bottom:30px}.connect-decoration{font-size:46px;color:#b47c5e;margin-bottom:30px;line-height:1}.wave{display:inline-block;font-size:.55em;transform-origin:75% 80%}.connect:hover .wave{animation:wave 1.3s ease-in-out 1}.email-link{display:block;width:fit-content;margin:20px auto 0;font-size:12px;color:var(--muted)}.email-link:hover{text-decoration:underline}.social-links{display:flex;gap:22px;justify-content:center;margin-top:25px;font-size:13px}.social-links:empty{display:none}.footer{border-top:1px solid var(--line);padding-block:30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer .wordmark{font-size:25px}.footer p{font-size:10px;color:var(--muted);margin:0}.footer p span{margin-inline:10px}.footer>a:last-child{font-size:10px}.skip-link{position:fixed;top:-100px;left:20px;padding:14px;background:var(--navy);color:white;z-index:10}.skip-link:focus{top:10px}.entrance{animation:enter .8s ease both}.hero-copy .entrance:nth-child(2){animation-delay:.1s}.hero-copy .entrance:nth-child(3){animation-delay:.2s}.hero-copy .entrance:nth-child(4){animation-delay:.3s}.hero-copy .entrance:nth-child(5){animation-delay:.4s}.portrait-area.entrance{animation-delay:.2s}.reveal.waiting{opacity:0;transform:translateY(22px)}.reveal{transition:opacity .7s ease,transform .7s ease}.interest-card:nth-child(2){transition-delay:.08s}.interest-card:nth-child(3){transition-delay:.16s}@keyframes enter{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@keyframes signal{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.1);opacity:.25}}@keyframes wave{0%,100%{transform:rotate(0)}25%,65%{transform:rotate(18deg)}45%,85%{transform:rotate(-8deg)}}
@media(min-width:1500px){.hero{padding-block:110px}.portrait-frame{max-height:540px}}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}.hero{gap:35px;padding-block:65px}h1{font-size:44px;letter-spacing:-2px}.name{letter-spacing:-3px}.portrait-label{left:-15px;padding:12px 15px;font-size:12px}.story{gap:35px;grid-template-columns:1fr 2.5fr}.interest-card{padding:23px}.interest-card h3{font-size:17px}.section{padding-block:80px}.interest-heading>p{max-width:220px}.signal-rings{right:-5px}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.nav{height:78px}.wordmark{font-size:27px}nav{gap:17px;font-size:11px}nav a:nth-child(2){display:none}.nav-hello{padding:10px 14px}.nav-hello span{margin-left:6px}.hero{grid-template-columns:1fr;gap:43px;padding-block:49px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:24px}h1{font-size:47px;letter-spacing:-2.5px}.hero-description{font-size:16px}.hero-note{margin-top:25px}.portrait-area{max-width:370px;width:90%;justify-self:center;padding-right:0}.portrait-frame{aspect-ratio:.9}.portrait-frame img{object-position:50% 22%}.portrait-label{bottom:92px;left:-20px}.portrait-coordinate{font-size:7px;letter-spacing:1.4px}.intro-strip .wrap{font-size:8px;letter-spacing:0;gap:8px;padding-block:19px}.intro-strip b{font-size:16px}.section{padding-block:65px}.story{grid-template-columns:1fr;gap:28px}.section-label{flex-direction:row;justify-content:space-between;align-items:center}.small-star{font-size:30px}.story-content p{font-size:15px}h2{font-size:33px;letter-spacing:-1.3px}.interest-heading{display:block}.interest-heading>p{max-width:none;margin-top:22px}.interest-grid{grid-template-columns:1fr;gap:16px}.interest-card{padding:27px}.card-top{margin-bottom:24px}.interest-card h3{font-size:21px}.interest-card p{font-size:15px;margin-bottom:25px}.card-tag{font-size:9px}.connect h2{font-size:43px}.connect>p:not(.eyebrow){font-size:14px}.footer{flex-wrap:wrap;padding-block:25px}.footer p{order:3;width:100%;font-size:9px}.footer>a:last-child{margin-left:auto}.signal-rings{width:120px;height:120px;right:-10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.waiting{opacity:1;transform:none}}

@media(max-width:640px){.intro-strip .wrap{flex-wrap:wrap;justify-content:center;column-gap:13px;row-gap:12px}.intro-strip b:nth-child(4){display:none}.intro-strip span{font-size:10px}.interest-grid{grid-template-columns:1fr}.portrait-frame figcaption strong{font-size:18px}}

@media(max-width:640px){.portrait-label{bottom:150px}.intro-strip .wrap{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:14px}.intro-strip b{display:none}}


/* Warm paper grain and quiet eight-point geometric accents. */
body {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22180%22%20height%3D%22180%22%20viewBox%3D%220%200%20180%20180%22%3E%3Cfilter%20id%3D%22grain%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.82%22%20numOctaves%3D%223%22%20stitchTiles%3D%22stitch%22/%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22/%3E%3C/filter%3E%3Cpath%20fill%3D%22%238c795d%22%20opacity%3D%22.13%22%20filter%3D%22url%28%23grain%29%22%20d%3D%22M0%200h180v180H0z%22/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 180px 180px;
}
.hero, .connect { position: relative; isolation: isolate; }
.hero::before, .connect::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22120%22%20height%3D%22120%22%20viewBox%3D%220%200%20120%20120%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23788d78%22%20stroke-width%3D%221.2%22%3E%3Cpath%20d%3D%22M60%2014%2073%2029%2093%2027%2091%2047%20106%2060%2091%2073%2093%2093%2073%2091%2060%20106%2047%2091%2027%2093%2029%2073%2014%2060%2029%2047%2027%2027%2047%2029Z%22/%3E%3Cpath%20d%3D%22M60%2014V0M106%2060h14M60%20106v14M14%2060H0M27%2027%200%200M93%2027%20120%200M93%2093%20120%20120M27%2093%200%20120M60%2034%2086%2060%2060%2086%2034%2060Z%22/%3E%3Cpath%20d%3D%22m60%2034%2013%2013%2013%2013-13%2013-13%2013-13-13-13-13%2013-13Z%22/%3E%3C/g%3E%3C/svg%3E");
    background-size: 120px 120px;
    opacity: .2;
    -webkit-mask-image: linear-gradient(90deg, #000, transparent 24%, transparent 76%, #000);
    mask-image: linear-gradient(90deg, #000, transparent 24%, transparent 76%, #000);
}
.hero::after, .connect::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(var(--paper), transparent 20%, transparent 80%, var(--paper));
    opacity: .8;
}
.portrait-label { bottom: 160px; }
@media (max-width: 640px) {
    .hero::before, .connect::before {
        background-size: 96px 96px;
        opacity: .14;
        -webkit-mask-image: linear-gradient(90deg, #000, transparent 15%, transparent 85%, #000);
        mask-image: linear-gradient(90deg, #000, transparent 15%, transparent 85%, #000);
    }
    .portrait-label { bottom: 150px; }
}

/* Stronger, readable geometric texture with a clear central reading area. */
.hero::before, .connect::before {
    opacity: .384;
    background-size: 144px 144px;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #0009 17%, transparent 40%);
    mask-image: linear-gradient(90deg, #000 0%, #0009 17%, transparent 40%);
}
.hero::after, .connect::after { opacity: .4; }
@media (max-width: 640px) {
    .hero::before, .connect::before {
        opacity: .288;
        background-size: 112px 112px;
        -webkit-mask-image: linear-gradient(90deg, #000, #0005 20%, transparent 43%);
        mask-image: linear-gradient(90deg, #000, #0005 20%, transparent 43%);
    }
}
