@font-face{font-family:Museo;src:url('/assets/museo-300.woff') format('woff');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Museo;src:url('/assets/museo-500.woff') format('woff');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Museo;src:url('/assets/museo-900.woff') format('woff');font-style:normal;font-weight:900;font-display:swap}
:root{--deep:#123749;--deeper:#092b3a;--ink:#1b3a48;--mist:#eaf2f1;--white:#fcfdfb;--teal:#62c6bd;--line:#b8d0d0;--gold:#e9bf73}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:Museo,Arial,sans-serif;font-weight:300;line-height:1.55}a{color:inherit}a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08}::selection{background:var(--teal);color:var(--deeper)}
.skip-link{position:absolute;z-index:10;top:-4rem;left:1rem;padding:.6rem 1rem;background:var(--gold);color:var(--deeper)}.skip-link:focus{top:1rem}
.site-header{position:absolute;z-index:2;top:0;left:0;right:0;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.65rem clamp(1.4rem,4.2vw,4.8rem);color:var(--white)}.site-header a{text-decoration:none}.brand{display:inline-flex;align-items:center;gap:.72rem;font-weight:900;letter-spacing:-.03em;font-size:1.02rem}.brand-mark{display:grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-size:1.55rem;line-height:1}.brand-mark span{color:var(--teal)}.site-header nav{display:flex;gap:clamp(1rem,3vw,3rem);font-size:.91rem;font-weight:500}.site-header nav a{padding:.3rem 0;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--teal)}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);min-height:min(850px,100vh);max-height:970px;overflow:hidden;background:var(--deep);color:var(--white)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 42%,rgba(76,178,177,.15),transparent 39%);pointer-events:none}.hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8.2rem 2.5rem 6rem clamp(1.4rem,7vw,8rem);max-width:850px}.intro-line{color:var(--teal);font-size:1.06rem;font-weight:500;margin-bottom:1.4rem}.hero h1{font-size:clamp(3.6rem,6.2vw,7rem);font-weight:900;letter-spacing:-.066em;max-width:12ch;margin-bottom:1.7rem}.hero h1 em{font-style:normal;color:var(--teal)}.hero-summary{max-width:32rem;font-size:clamp(1.06rem,1.42vw,1.32rem);line-height:1.6;color:#d2e3e5}.hero-link{display:inline-flex;align-items:center;gap:2.8rem;margin-top:1.15rem;padding:.72rem 0;border-bottom:1px solid var(--teal);font-weight:500;text-decoration:none}.hero-link span{color:var(--teal);font-size:1.2rem}.hero-link:hover{gap:3.2rem}.hero-footer{position:absolute;z-index:1;bottom:2.1rem;left:clamp(1.4rem,7vw,8rem);font-size:.82rem;color:#9dbfc4;margin:0}
.hero-composition{position:relative;display:grid;place-items:center;padding:9rem 5.5vw 7rem 0}.composition-frame{position:relative;width:min(100%,580px);aspect-ratio:1/1.14;border:1px solid rgba(174,219,218,.29);background:linear-gradient(145deg,rgba(99,198,189,.09),rgba(9,43,58,.17));display:grid;place-items:center;overflow:hidden;transform:rotate(4deg)}.composition-frame:before{content:"";position:absolute;width:76%;aspect-ratio:1;border:1px solid rgba(98,198,189,.43);border-radius:50%}.composition-frame:after{content:"";position:absolute;width:47%;aspect-ratio:1;border:1px solid rgba(98,198,189,.34);border-radius:50%}.composition-main{position:relative;z-index:1;font-size:clamp(5rem,11vw,11rem);font-weight:900;letter-spacing:-.12em;line-height:1;transform:rotate(-4deg);text-shadow:0 12px 30px rgba(0,0,0,.09)}.composition-main span{color:var(--teal);font-weight:300}.composition-caption{position:absolute;left:8%;bottom:7%;color:#a8d2d1;font-size:clamp(.8rem,1vw,1rem);line-height:1.55;transform:rotate(-4deg)}.composition-orbit{position:absolute;background:var(--teal);border-radius:50%}.orbit-one{width:13px;height:13px;left:12%;top:27%}.orbit-two{width:7px;height:7px;right:18%;bottom:23%;background:var(--gold)}.composition-corner{position:absolute;width:21px;height:21px;border-color:var(--teal);border-style:solid}.top-left{top:0;left:0;border-width:2px 0 0 2px}.top-right{top:0;right:0;border-width:2px 2px 0 0}.bottom-left{bottom:0;left:0;border-width:0 0 2px 2px}.bottom-right{bottom:0;right:0;border-width:0 2px 2px 0}
.section-wrap{max-width:1440px;margin:auto;padding-left:clamp(1.4rem,7vw,8rem);padding-right:clamp(1.4rem,7vw,8rem)}.work{padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(5rem,9vw,9rem)}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,.6fr);column-gap:4rem;align-items:end;margin-bottom:3.4rem}.section-index{grid-column:1/-1;color:#2a7778;font-weight:900;font-size:.9rem;margin-bottom:1.2rem}.section-heading h2,.about h2,.contact h2{font-size:clamp(2.65rem,4.7vw,5.2rem);letter-spacing:-.055em;font-weight:900;margin:0}.section-heading h2{max-width:14ch}.section-heading>p:last-child{font-size:1.1rem;max-width:31rem;margin:0 0 .2rem;line-height:1.65}
.work-list{border-top:1px solid var(--line)}.work-item{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:3rem;border-bottom:1px solid var(--line);padding:2.6rem 0}.work-identity{display:grid;grid-template-columns:4.5rem 1fr;align-content:start}.work-symbol{grid-row:1/3;width:3.2rem;height:3.2rem;display:grid;place-items:center;background:var(--mist);border-radius:50%;color:#1e7677;font-size:1.55rem}.work-identity h3{margin:.1rem 0 .25rem;font-size:clamp(1.6rem,2vw,2.2rem);letter-spacing:-.04em;font-weight:900}.work-identity p{grid-column:2;font-size:.9rem;color:#56747e;margin:0}.work-description{display:flex;flex-direction:column;align-items:flex-start}.work-description>p{font-size:1.1rem;line-height:1.65;max-width:38rem;margin:0 0 1rem}.work-topic{font-size:.86rem;color:#52757b}.text-link{font-weight:900;text-decoration:none;border-bottom:1px solid #2a7778;padding-bottom:.2rem;color:#246c70}.text-link span{margin-left:.35rem}.text-link:hover{color:var(--deeper)}
.about{background:var(--mist);padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem)}.about-grid{display:grid;grid-template-columns:minmax(13rem,.72fr) minmax(0,1.28fr);gap:clamp(3rem,9vw,10rem)}.about-aside{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:26rem}.about-monogram{font-size:clamp(10rem,20vw,22rem);line-height:.8;font-weight:900;letter-spacing:-.14em;color:#a7c9ca;margin-left:-.09em}.about-aside p{font-size:.9rem;color:#557982}.about-content{padding-top:.35rem}.about h2{max-width:14ch;margin-bottom:2rem}.about-content>p:not(.section-index){font-size:1.1rem;line-height:1.72;max-width:43rem;margin-bottom:1.25rem}
.contact{display:flex;align-items:end;justify-content:space-between;gap:3rem;padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem)}.contact h2{max-width:13ch;margin-bottom:1.2rem}.contact p:not(.section-index){font-size:1.1rem;margin:0}.contact-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:18rem;padding:1.25rem 1.45rem;background:var(--deep);color:var(--white);font-weight:900;text-decoration:none}.contact-link:hover{background:#22566a}.contact-link span{font-size:1.35rem;color:var(--teal)}.site-footer{display:flex;justify-content:space-between;gap:2rem;padding:1.6rem clamp(1.4rem,7vw,8rem);background:var(--deeper);color:#bed4d6;font-size:.85rem}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}
@media(max-width:900px){.hero{grid-template-columns:1fr;max-height:none;min-height:auto}.hero-copy{padding:10rem clamp(1.4rem,7vw,5rem) 3rem}.hero h1{max-width:13ch}.hero-composition{padding:1rem clamp(1.4rem,7vw,5rem) 6rem}.composition-frame{width:min(100%,500px);aspect-ratio:1.3/1;justify-self:end}.composition-main{font-size:clamp(5rem,14vw,9rem)}.hero-footer{bottom:2rem;left:clamp(1.4rem,7vw,5rem)}.section-heading{grid-template-columns:1fr;gap:1.4rem}.section-heading>p:last-child{max-width:37rem}.about-aside{min-height:17rem}.contact{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.site-header{align-items:flex-start;padding:1.2rem 1.35rem}.brand{font-size:0}.brand-mark{font-size:1.45rem}.site-header nav{gap:1rem;font-size:.82rem;padding-top:.38rem}.hero-copy{padding:8.1rem 1.4rem 2.5rem}.intro-line{font-size:.95rem}.hero h1{font-size:clamp(3.15rem,14vw,4.9rem)}.hero-summary{font-size:1.03rem}.hero-composition{padding:0 1.4rem 6rem}.composition-frame{width:100%;aspect-ratio:1.4/1}.composition-main{font-size:clamp(4rem,17vw,6.5rem)}.composition-caption{font-size:.65rem}.hero-footer{left:1.4rem}.work-item{grid-template-columns:1fr;gap:1.4rem;padding:2rem 0}.work-identity{grid-template-columns:3.8rem 1fr}.work-symbol{width:3rem;height:3rem}.work-identity h3{font-size:1.55rem}.work-description>p{font-size:1.03rem}.about-grid{grid-template-columns:1fr;gap:2rem}.about-aside{min-height:auto;flex-direction:row;align-items:end}.about-monogram{font-size:8rem}.about-aside p{font-size:.75rem}.about-content>p:not(.section-index){font-size:1.03rem}.contact-link{width:100%;min-width:0}.site-footer{flex-direction:column;gap:.6rem}.section-heading h2,.about h2,.contact h2{font-size:clamp(2.55rem,10vw,3.8rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:620px){.hero h1{font-size:clamp(2.7rem,11.5vw,3.6rem)}}
.hero{grid-template-columns:1fr}
.hero-copy{max-width:1100px;padding-right:clamp(1.4rem,7vw,8rem)}
.hero h1{max-width:17ch}
@media(max-width:900px){.hero-copy{padding-bottom:3rem}.hero-footer{position:static;padding:0 clamp(1.4rem,7vw,5rem) 2rem}}
@media(max-width:620px){.hero-footer{padding:0 1.4rem 2rem}}
@media(max-width:620px){.site-header{gap:.75rem}.brand{font-size:.9rem}.site-header nav{gap:.75rem;font-size:.78rem}}
.about-grid{display:block}
.about-content{max-width:48rem}
.contact{justify-content:center;padding-top:clamp(3rem,5vw,5rem);padding-bottom:clamp(3rem,5vw,5rem)}
@media(max-width:900px){.contact{align-items:center}}
