*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1eee7;color:#2b2a25;font:15px/1.75 Arial,sans-serif}a{color:inherit;text-decoration:none}header{padding:23px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b7ac9b66;gap:20px}.brand{font:25px Georgia,serif;letter-spacing:-.04em}nav{display:flex;gap:28px;font-size:12px;align-items:center}nav a:hover,nav a[aria-current=page]{border-bottom:1px solid}main{max-width:1440px;margin:auto;padding:0 6%}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.19em;color:#7e6c56}h1,h2,h3{font-weight:400}h1{font:clamp(58px,8.6vw,125px)/1.04 Georgia,serif;letter-spacing:-.045em;margin:25px 0}h2{font:clamp(34px,4.4vw,60px)/1.15 Georgia,serif;letter-spacing:-.025em}h3{font:27px/1.3 Georgia,serif}p{margin:0 0 20px}.opening{padding:70px 0 65px}.opening .lead{font-size:clamp(18px,2.2vw,27px);line-height:1.65;max-width:900px;margin:35px 0}.opening h1 em{font-weight:400}.links{display:flex;gap:30px;flex-wrap:wrap;margin-top:35px}.underlink{border-bottom:1px solid;padding:10px 0;display:inline-block}.intro-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;padding:55px 0;border-top:1px solid #b7ac9b66}.intro-grid h2{margin:0}.intro-grid .description{font-size:18px}.threshold{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:50px 0 70px}.threshold img{width:100%;display:block}.threshold h2{font-size:clamp(44px,6vw,80px);margin:10px 0 25px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 30px;margin:40px 0 80px}.card{display:block}.card .image{overflow:hidden;background:#c6bfb3;aspect-ratio:1.45}.card img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.62) saturate(.6);transition:filter .45s,transform .7s}.card:hover img,.card:focus-visible img{filter:brightness(1) saturate(1);transform:scale(1.015)}.card:focus-visible{outline:2px solid #87735a;outline-offset:5px}.card .label{display:flex;justify-content:space-between;gap:15px;margin-top:14px;align-items:baseline}.card h2{font:28px Georgia,serif;margin:0}.card p{font-size:11px;color:#7e6c56;margin:5px 0}.card .arrow{font-size:23px}.filter{display:flex;gap:10px;flex-wrap:wrap}.filter button{border:1px solid #b7ac9b;background:transparent;padding:9px 18px;cursor:pointer;color:inherit}.filter button.active{background:#302e28;color:#f1eee7}.job{display:grid;grid-template-columns:1fr 1.8fr;gap:9%;padding:35px 0;border-top:1px solid #b7ac9b66}.job h3{margin:0 0 10px}.job ul{padding-left:18px;margin:0}.job li{margin-bottom:14px}.small{font-size:12px;color:#7e6c56}.contact{min-height:60vh;padding:65px 0}.email{font-size:clamp(19px,3.4vw,43px);border-bottom:1px solid;overflow-wrap:anywhere}.education{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-bottom:55px}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 6%;border-top:1px solid #b7ac9b66;font-size:12px}.editor{display:none;padding:10px 5%;background:#e3dbce;gap:12px;align-items:center;font-size:12px}.is-local .editor{display:flex;flex-wrap:wrap}.editor button{padding:7px 10px;background:transparent;border:1px solid #b7ac9b;cursor:pointer}[contenteditable=true]{outline:1px dashed #b7ac9b;outline-offset:3px}[hidden]{display:none!important}@media(hover:none){.card img{filter:none}}@media(max-width:700px){header{align-items:start}nav{gap:13px;flex-wrap:wrap}.brand{font-size:21px}.opening{padding:40px 0}.intro-grid,.threshold,.job,.education,.project-grid{grid-template-columns:1fr;gap:25px}.project-grid{gap:35px;margin-top:30px}.opening .lead{margin:25px 0}.intro-grid{padding:35px 0}.threshold{padding:35px 0}.card h2{font-size:26px}footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card img{transition:none}}
/* Portfolio image reveal: cream mask and title fade away together. */
.portfolio-page .card .image{position:relative;background:#f1eee7}
.portfolio-page .card img,.portfolio-page .card:hover img,.portfolio-page .card:focus-visible img{filter:none;transform:none}
.portfolio-page .card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:rgba(241,238,231,.84);opacity:1;transition:opacity .4s ease;pointer-events:none}
.portfolio-page .card-overlay h2{font:clamp(28px,3.4vw,49px)/1.08 Georgia,serif;letter-spacing:-.025em;max-width:100%;margin:0;text-wrap:balance;overflow-wrap:normal}
.portfolio-page .card-overlay p{font:clamp(12px,1.25vw,17px)/1.45 Georgia,serif;color:#2b2a25;margin:12px 0 0;max-width:90%;text-wrap:balance}
@media(hover:hover) and (pointer:fine){.portfolio-page .card:hover .card-overlay{opacity:0}}
.portfolio-page .card:focus-visible .card-overlay{opacity:0}
@media(prefers-reduced-motion:reduce){.portfolio-page .card-overlay{transition:none}}

/* Portfolio cards echo the original Squarespace reveal while retaining the site's typography. */
.portfolio-page main{max-width:2400px;padding-inline:clamp(24px,3.5vw,80px)}
.portfolio-page .project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,42px);margin-top:clamp(35px,5vw,90px)}
.portfolio-page .card .image{aspect-ratio:1}
.portfolio-page .card-overlay{background:rgba(241,238,231,.84)}
.portfolio-page .card-overlay h2{font-size:clamp(22px,2.4vw,48px);line-height:1.04}
.portfolio-page .card-overlay p{display:none}
@media(max-width:1050px){.portfolio-page .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-page .card-overlay h2{font-size:clamp(26px,4vw,42px)}}
@media(max-width:560px){.portfolio-page .project-grid{grid-template-columns:1fr}.portfolio-page .card-overlay h2{font-size:clamp(32px,9vw,48px)}}

.welcome-page{background:#ece5db;min-height:100svh}.welcome-page header{border:0;padding:6% 6% 0;position:relative}.welcome-page .brand{font:clamp(20px,2.2vw,31px) Georgia,serif;letter-spacing:-.02em}.welcome-menu{background:none;border:0;width:44px;height:40px;display:flex;flex-direction:column;justify-content:center;gap:10px;cursor:pointer;padding:4px}.welcome-menu span{height:1px;width:100%;background:#2b2a25}.welcome-page nav{position:absolute;right:6%;top:100%;background:#ece5db;padding:20px 26px;z-index:5;box-shadow:0 10px 30px #2b2a2510}.welcome-page main{max-width:1600px;padding:0 4%}.welcome-page h1{font:clamp(58px,10.1vw,150px)/1.05 Georgia,serif;letter-spacing:-.035em;margin:9% 0 0;white-space:nowrap}.welcome-content{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:6%;margin-top:19%;padding-bottom:25%}.welcome-copy{padding-bottom:1%}.welcome-copy p{font:clamp(17px,2.25vw,31px)/1.55 Arial,sans-serif;margin:0 0 14%}.welcome-threshold{display:inline-block;border:1px solid #48443b;border-radius:20px;padding:24px 40px;font-size:clamp(14px,1.8vw,24px);line-height:1.5}.welcome-picture{display:block;aspect-ratio:1;border-radius:50%;overflow:hidden;position:relative}.welcome-picture img{width:100%;height:100%;object-fit:cover;object-position:center}.welcome-picture:after{content:'';position:absolute;inset:0;background:rgba(236,229,219,.38);pointer-events:none}.welcome-page footer{border:0;align-items:center;padding:8% 6% 6%;font-size:clamp(10px,1.65vw,22px)}.welcome-page footer>span{font:clamp(20px,2.8vw,38px) Georgia,serif}.welcome-tour{display:grid;place-items:center;border-radius:50%;background:#39352d;color:#ece5db;width:42px;height:42px}.welcome-threshold:hover{background:#e2d9cc}.welcome-page a:focus-visible,.welcome-menu:focus-visible{outline:2px solid #87735a;outline-offset:5px}@media(max-width:600px){.welcome-page header{padding-top:30px}.welcome-page h1{font-size:11vw;margin-top:65px}.welcome-content{margin-top:85px;gap:5%;padding-bottom:120px;align-items:center}.welcome-copy p{font-size:14px;line-height:1.6}.welcome-copy br{display:none}.welcome-threshold{padding:14px 18px;border-radius:14px;font-size:12px}.welcome-page footer{gap:22px;justify-content:space-between;flex-wrap:wrap}.welcome-page footer>a:last-child{font-size:11px}.welcome-tour{width:32px;height:32px}.welcome-page nav{flex-direction:column;align-items:flex-start}}

/* A quiet editorial sequence beneath the welcome cover. */
.welcome-page .welcome-content{padding-bottom:11%}.welcome-scroll{display:flex;justify-content:space-between;align-items:center;padding:0 0 36px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7e6c56}.welcome-scroll span{font-size:22px}.welcome-story,.welcome-philosophy{border-top:1px solid #b7ac9b66;padding:90px 0 110px;display:grid;grid-template-columns:1fr 1fr;column-gap:8%;row-gap:48px}.story-index{grid-column:1/-1;font:10px/1.5 Arial,sans-serif;letter-spacing:.2em;color:#7e6c56}.welcome-page .story-identity h2{font:clamp(42px,5.6vw,80px)/1.08 Georgia,serif;letter-spacing:-.04em;margin:28px 0 0}.story-identity em,.welcome-philosophy em,.welcome-invitation em{font-weight:400}.story-statement{padding-top:94px;max-width:510px}.story-statement>p{font:clamp(20px,2.1vw,28px)/1.6 Arial,sans-serif}.story-links{display:flex;gap:32px;flex-wrap:wrap;margin-top:40px;font-size:13px}.welcome-page .welcome-philosophy h2{font:clamp(39px,5.1vw,73px)/1.13 Georgia,serif;letter-spacing:-.035em;margin:0}.philosophy-copy{max-width:500px;padding-top:80px;font:clamp(16px,1.45vw,20px)/1.85 Arial,sans-serif}.philosophy-copy p+p{margin-top:30px}.welcome-invitation{border-top:1px solid #b7ac9b66;padding:100px 0 120px}.welcome-page .welcome-invitation h2{font:clamp(52px,8vw,110px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:35px 0}.welcome-invitation h2 span{display:inline-block;margin-left:7%;font-size:.65em}.welcome-invitation>a{display:block}.welcome-invitation>a:hover .underlink{color:#7e6c56}.welcome-page #introduction,.welcome-page #threshold{scroll-margin-top:36px}@media(max-width:650px){.welcome-story,.welcome-philosophy{grid-template-columns:1fr;padding:52px 0 65px;gap:26px}.story-statement,.philosophy-copy{padding-top:10px;max-width:100%}.welcome-page .story-identity h2{margin-top:18px}.story-statement>p{font-size:20px}.philosophy-copy{font-size:17px}.welcome-invitation{padding:60px 0 75px}.welcome-page .welcome-content{padding-bottom:60px}.story-links{margin-top:28px}.welcome-scroll{padding-bottom:26px}}

/* Visible primary navigation and portfolio categories */
header{align-items:center}.welcome-page header{align-items:center}.site-navigation,.welcome-page nav.site-navigation{position:static;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:clamp(16px,2.5vw,36px);padding:0;background:none;box-shadow:none;font:16px/1.5 Arial,sans-serif;white-space:nowrap;z-index:20}.portfolio-menu{position:relative}.portfolio-menu summary{cursor:pointer;list-style:none}.portfolio-menu summary::-webkit-details-marker{display:none}.portfolio-menu summary:hover,.portfolio-menu[open] summary{text-decoration:underline;text-underline-offset:5px}.portfolio-options{position:absolute;top:calc(100% + 12px);left:-18px;min-width:170px;padding:14px 18px;display:grid;gap:12px;background:#ece5db;box-shadow:0 8px 24px #2b2a2514;z-index:30}.portfolio-menu:not([open]) .portfolio-options{display:none}.portfolio-options a{display:block;width:fit-content}.site-navigation summary:focus-visible{outline:2px solid #87735a;outline-offset:5px}@media(max-width:600px){header,.welcome-page header{padding-left:4%;padding-right:4%;gap:10px;align-items:center}.brand,.welcome-page .brand{font-size:19px;white-space:nowrap}.site-navigation,.welcome-page nav.site-navigation{font-size:13px;gap:13px}.portfolio-options{left:auto;right:0;min-width:150px}}@media(max-width:360px){.brand,.welcome-page .brand{font-size:17px}.site-navigation,.welcome-page nav.site-navigation{font-size:12px;gap:10px}}
