:root{--paper:#f7f5ef;--ink:#20251f;--muted:#74786f;--line:#deded5;--accent:#e66b4d;--green:#c5d5a8;--surface:#edece4;--experience-surface:#e8e9df;--header:rgba(247,245,239,.94);--display:"Manrope",sans-serif;--body:"DM Sans",sans-serif;--mono:"DM Mono",monospace;--serif:Georgia,"Times New Roman",serif;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:10px;z-index:20;padding:12px 18px;background:var(--ink);color:white;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.site-header{height:82px;border-bottom:1px solid rgba(32,37,31,.1);position:sticky;top:0;z-index:10;background:var(--header);backdrop-filter:blur(14px)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;align-items:center;gap:11px}.mark{font:800 30px/1 var(--display);letter-spacing:-3px}.mark span{color:var(--accent)}.wordmark-name{font-size:13px;font-weight:700;letter-spacing:.02em}.primary-nav{display:flex;align-items:center;gap:34px}.primary-nav>a{font-size:13px;font-weight:600;transition:color .2s}.primary-nav>a:hover,.footer-socials a:hover{color:var(--accent)}.primary-nav .nav-cta{border:1px solid var(--ink);padding:10px 16px;border-radius:2px}.nav-cta span,.text-link span,.underlined-link span{margin-left:7px}.menu-toggle{display:none}
.hero{min-height:650px;padding-block:82px 64px;display:grid;grid-template-columns:1fr .86fr;align-items:center;gap:6%}.hero-copy{padding-bottom:18px}.eyebrow,.section-kicker,.hero-meta,.art-caption,.visual-label,.signal-caption,.timeline-date,.timeline-place,.toolkit-label,.footer-bottom,.contact-aside,.project-year{font-family:var(--mono);font-size:10px;letter-spacing:.1em}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 24px;color:var(--muted);text-transform:uppercase}.live-dot{width:8px;height:8px;border-radius:50%;background:#78a66c;box-shadow:0 0 0 4px rgba(120,166,108,.15)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-.07em;font-weight:600}h1{font-size:clamp(58px,7vw,96px);line-height:.99;margin-bottom:28px}h2{font-size:clamp(42px,5vw,64px);line-height:1.04;margin-bottom:0}.serif-accent{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.07em;color:var(--accent)}.hero-intro{max-width:460px;color:#666b62;font-size:17px;line-height:1.75}.hero-intro strong{color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px}.button{display:inline-flex;align-items:center;gap:20px;padding:14px 19px;font-size:12px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--accent)}.text-link,.underlined-link{font-size:12px;font-weight:600}.text-link:hover,.underlined-link:hover{color:var(--accent)}.hero-meta{display:flex;gap:12px;margin-top:38px;color:#898b82;font-size:9px;text-transform:uppercase}.meta-separator{color:var(--accent)}
.hero-art{height:450px;position:relative;overflow:hidden;background:#dbe3cf}.art-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(32,37,31,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(32,37,31,.075) 1px,transparent 1px);background-size:40px 40px}.sun{position:absolute;width:175px;height:175px;border-radius:50%;background:#ed9a6c;right:14%;top:13%;box-shadow:0 0 0 22px rgba(237,154,108,.13)}.orbit{position:absolute;border:1px solid rgba(32,37,31,.28);border-radius:50%;z-index:2}.orbit-one{width:340px;height:340px;left:15%;top:8%}.orbit-two{width:420px;height:420px;left:7%;top:-1%}.portrait{position:absolute;inset:0;z-index:1}.portrait-face{position:absolute;background:#c97d58;width:142px;height:179px;border-radius:46% 48% 43% 44%;left:calc(50% - 71px);top:108px;z-index:2;transform:rotate(2deg)}.portrait-hair{position:absolute;width:165px;height:146px;background:#343b33;border-radius:54% 50% 27% 34%;left:calc(50% - 82px);top:83px;z-index:3;clip-path:polygon(0 24%,8% 8%,23% 6%,31% 0,52% 5%,75% 0,92% 13%,100% 28%,92% 48%,82% 40%,75% 31%,66% 38%,51% 31%,38% 43%,22% 36%,8% 50%,0 50%)}.portrait-face .eye{position:absolute;top:82px;width:7px;height:4px;border-radius:50%;background:#30352e}.eye-left{left:38px}.eye-right{right:38px}.nose{position:absolute;left:68px;top:83px;width:12px;height:27px;border-right:1px solid rgba(86,48,40,.7);transform:rotate(15deg)}.mouth{position:absolute;left:57px;top:130px;width:29px;height:9px;border-bottom:2px solid #6e3935;border-radius:50%}.ear{position:absolute;width:19px;height:31px;border:5px solid #c97d58;right:-11px;top:81px;border-left:0;border-radius:0 50% 50% 0}.portrait-neck{position:absolute;left:calc(50% - 24px);top:260px;width:50px;height:74px;background:#b96a4d;z-index:1}.portrait-shirt{position:absolute;bottom:-50px;left:calc(50% - 145px);width:290px;height:220px;border-radius:46% 46% 0 0;background:#505e4d;z-index:2}.art-stamp{position:absolute;z-index:4;right:9%;bottom:14%;width:93px;height:93px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;gap:3px;transform:rotate(11deg);font:9px/1.3 var(--mono);text-align:center;letter-spacing:.05em}.stamp-star{color:var(--accent);font-size:21px}.art-caption{position:absolute;z-index:3;left:17px;right:17px;bottom:14px;display:flex;justify-content:space-between;font-size:8px;color:rgba(32,37,31,.62)}.scroll-note{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:-16px;color:var(--muted);font:9px var(--mono);text-transform:uppercase;letter-spacing:.1em}.scroll-line{height:1px;width:46px;background:var(--accent)}.ticker{overflow:hidden;background:var(--ink);color:var(--paper);white-space:nowrap}.ticker-track{display:flex;align-items:center;justify-content:space-around;gap:36px;padding:15px 0;min-width:max-content;font:10px var(--mono);letter-spacing:.14em}.ticker-track i{font-style:normal;color:var(--accent);font-size:13px}
.section{padding-block:112px}.section-kicker{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:9px}.section-rule{height:1px;background:var(--line);flex:1}.about-grid{display:grid;grid-template-columns:1fr .68fr;gap:10%;align-items:start;margin-top:54px}.about-grid h2{font-size:clamp(40px,4.6vw,60px)}.about-copy{padding-top:4px;color:var(--muted);font-size:14px}.about-copy .lead{font:italic 22px/1.45 var(--serif);color:var(--ink)}.underlined-link{display:inline-block;margin-top:14px;padding-bottom:5px;border-bottom:1px solid var(--accent);color:var(--ink)}.stats-row{border-top:1px solid var(--line);margin-top:70px;padding-top:26px;display:grid;grid-template-columns:repeat(3,1fr) 1.1fr;gap:25px}.stats-row>div:not(.stat-note){display:flex;flex-direction:column;gap:4px}.stats-row strong{font:600 36px/1 var(--display);letter-spacing:-.06em}.stats-row strong span{color:var(--accent)}.stats-row>div>span{font-size:11px;color:var(--muted)}.stat-note{justify-self:end;color:var(--accent);font:italic 18px/1.3 var(--serif)}.work-section{background:var(--surface)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:46px 0 44px}.section-heading h2{font-size:clamp(44px,5vw,64px)}.section-heading>p{width:260px;color:var(--muted);font-size:13px;margin:0 6% 6px 0}
.project-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:50px 28px}.project-featured{grid-row:span 2}.project-visual{height:250px;position:relative;display:block;overflow:hidden}.project-featured .project-visual{height:555px}.visual-garden{background:#c5d5a8}.garden-sun{position:absolute;width:130px;height:130px;right:14%;top:12%;border-radius:50%;background:#ee9e70}.garden-land{position:absolute;inset:55% -10% -25%;background:#627858;border-radius:50% 50% 0 0;transform:rotate(-8deg)}.garden-land:after{content:"";position:absolute;inset:14% -5% 0;background:#899d72;border-radius:50% 50% 0 0;transform:rotate(15deg)}.garden-stem{position:absolute;z-index:1;bottom:14%;left:42%;width:3px;height:60%;background:#364b36;transform:rotate(-9deg)}.stem-b{left:58%;height:43%;transform:rotate(10deg)}.stem-c{left:71%;height:55%;transform:rotate(17deg)}.garden-stem:before,.garden-stem:after{content:"";position:absolute;width:32px;height:16px;background:#e6e5bb;border-radius:100% 0 100% 0;top:30%;left:-29px;transform:rotate(-24deg)}.garden-stem:after{top:52%;left:0;transform:rotate(205deg)}.visual-label{position:absolute;top:24px;left:24px;z-index:2;font-size:8px}.visual-canvas{background:#eab89d}.canvas-shape{position:absolute;border-radius:50%;mix-blend-mode:multiply}.shape-one{width:180px;height:180px;background:#db684b;left:16%;top:16%}.shape-two{width:165px;height:165px;background:#8a9c77;right:11%;top:9%}.shape-three{width:110px;height:110px;background:#e7d77b;left:40%;bottom:-6%}.canvas-copy{position:absolute;z-index:1;left:34%;top:34%;font:800 24px/.98 var(--display);letter-spacing:-.08em}.canvas-copy span{display:block;margin-top:10px;font:8px var(--mono);letter-spacing:.08em}.visual-signal{background:#c3d6e1;display:grid;place-items:center}.signal-ring{position:absolute;border:1px solid rgba(42,76,91,.5);border-radius:50%;width:180px;height:180px}.ring-two{width:270px;height:270px}.ring-three{width:360px;height:360px}.signal-center{position:relative;z-index:1;font:800 54px/.9 var(--display);letter-spacing:-.12em;color:#314b54}.signal-center span{font-size:21px;color:var(--accent);vertical-align:top}.signal-caption{position:absolute;top:20px;left:22px;font-size:8px}.project-arrow{position:absolute;right:16px;bottom:16px;width:37px;height:37px;background:var(--paper);border-radius:50%;display:grid;place-items:center;font-size:17px;transition:transform .2s,background .2s}.project-visual:hover .project-arrow{transform:rotate(45deg);background:var(--accent);color:white}.project-info{display:flex;justify-content:space-between;align-items:start;padding-top:13px}.project-info h3{font:600 17px var(--display);letter-spacing:-.03em;margin-bottom:1px}.project-info p{margin:0;color:var(--muted);font-size:11px}.project-year{color:var(--muted);font-size:9px;padding-top:4px}.work-footer{border-top:1px solid #d9d8ce;margin-top:58px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.button-outline{border:1px solid var(--ink);color:var(--ink);padding:12px 16px}.button-outline:hover{background:var(--ink);color:white}
.capabilities-grid{display:grid;grid-template-columns:.8fr 1fr;gap:12%;margin-top:52px}.capabilities-grid h2{font-size:clamp(44px,5vw,63px)}.cap-intro{max-width:300px;margin-top:23px;color:var(--muted);font-size:14px}.cap-list article{display:grid;grid-template-columns:35px 1fr 20px;gap:13px;border-bottom:1px solid var(--line);padding:20px 0}.cap-list article:first-child{padding-top:0}.cap-index{font:10px var(--mono);color:var(--accent);padding-top:5px}.cap-list h3{font:600 16px var(--display);letter-spacing:-.02em;margin-bottom:3px}.cap-list p{margin:0;color:var(--muted);font-size:11px}.cap-mark{color:var(--accent)}.toolkit{display:flex;gap:35px;align-items:center;border-top:1px solid var(--line);margin-top:72px;padding-top:24px}.toolkit-label{color:var(--muted);white-space:nowrap}.tool-tags{display:flex;flex-wrap:wrap;gap:8px}.tool-tags span{border:1px solid var(--line);padding:7px 12px;border-radius:30px;font-size:10px;color:#62675f}
.experience-section{padding-block:105px;background:var(--experience-surface)}.experience-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;margin-top:50px}.experience-grid h2{font-size:clamp(42px,4.8vw,61px)}.experience-intro{max-width:270px;margin-top:23px;color:var(--muted);font-size:13px}.timeline article{display:grid;grid-template-columns:92px 1fr;gap:17px;padding:0 0 25px;margin-bottom:24px;border-bottom:1px solid #d2d5ca}.timeline article:last-child{margin:0;padding:0;border:0}.timeline-date{color:var(--accent);font-size:9px;padding-top:4px}.timeline h3{font:600 14px var(--display);letter-spacing:-.02em;margin-bottom:5px}.timeline h3 span{font-weight:400;color:var(--muted)}.timeline p{margin:0;color:var(--muted);font-size:11px}.timeline-place{grid-column:2;color:#999b91;font-size:8px;margin-top:-9px}
.testimonial-section{padding-block:100px}.quote-layout{display:grid;grid-template-columns:130px 1fr;gap:4%;max-width:900px;margin:55px auto 0}.quote-mark{font:140px/.7 var(--serif);color:var(--accent)}blockquote{font:italic clamp(24px,3vw,36px)/1.42 var(--serif);letter-spacing:-.02em;margin:0;max-width:800px}.quote-byline{display:flex;align-items:center;gap:13px;margin-top:30px}.avatar-initials{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#e7b8a2;color:#634b3d;font:11px var(--mono)}.quote-byline strong,.quote-byline small{display:block}.quote-byline strong{font-size:11px}.quote-byline small{font-size:10px;color:var(--muted)}.quote-stars{margin-left:auto;color:var(--accent);letter-spacing:.12em;font-size:13px}
.contact-section{background:var(--ink);color:var(--paper);padding-block:65px 80px;overflow:hidden}.section-kicker-light{color:#b0b3a9}.section-kicker-light .section-rule{background:#41473f}.contact-inner{position:relative}.contact-content{margin:55px 0 0 13%}.contact-content .eyebrow{color:#b0b3a9}.contact-content h2{font-size:clamp(68px,9vw,112px);line-height:.92}.contact-content h2 .serif-accent{color:#e78a6c}.contact-content>p:not(.eyebrow){color:#b0b3a9;max-width:340px;font-size:14px;margin:23px 0 26px}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:var(--accent);color:white}.contact-aside{position:absolute;right:8%;bottom:16%;display:flex;flex-direction:column;align-items:center;gap:12px;color:#9fa398;text-align:center;font-size:8px}.contact-aside-mark{font-size:70px;color:var(--accent);line-height:1}.site-footer{background:var(--ink);color:var(--paper);border-top:1px solid #41473f}.footer-top{min-height:100px;display:flex;align-items:center;justify-content:space-between}.footer-wordmark .wordmark-name{color:var(--paper)}.footer-socials{display:flex;gap:28px}.footer-socials a,.back-top{font-size:10px;color:#b0b3a9}.footer-socials a:hover{color:var(--accent)}.footer-socials span{color:var(--accent)}.back-top{color:var(--paper)}.footer-bottom{min-height:47px;border-top:1px solid #41473f;display:flex;justify-content:space-between;align-items:center;color:#8f958a;font-size:8px;letter-spacing:.09em}.footer-spark{color:var(--accent);margin-left:5px}
@media(max-width:850px){.container{width:min(var(--max),calc(100% - 56px))}.hero{min-height:580px;gap:4%;grid-template-columns:1.05fr .85fr}.hero-art{height:390px}.sun{width:135px;height:135px}.portrait-face{transform:scale(.85);transform-origin:top center;top:97px}.portrait-hair{transform:scale(.85);transform-origin:top center;top:74px}.portrait-neck{top:234px}.portrait-shirt{transform:scale(.85);transform-origin:bottom center}.orbit-one{width:300px;height:300px}.orbit-two{width:365px;height:365px}.section{padding-block:90px}.about-grid{gap:6%}.project-grid{gap:38px 20px}.project-featured .project-visual{height:490px}.project-visual{height:220px}.capabilities-grid,.experience-grid{gap:7%}.quote-layout{grid-template-columns:95px 1fr}.contact-content{margin-left:7%}}
@media(max-width:640px){html{scroll-padding-top:70px}.container{width:calc(100% - 40px)}.site-header{height:68px}.wordmark-name{font-size:12px}.menu-toggle{display:flex;width:42px;height:42px;border:1px solid var(--line);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span:not(.sr-only){display:block;width:16px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:nth-of-type(2){transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-of-type(3){transform:translateY(-3px) rotate(-45deg)}.primary-nav{display:none;position:absolute;top:67px;left:0;right:0;padding:14px 20px 22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav>a{padding:12px 2px}.primary-nav .nav-cta{margin-top:7px;text-align:center}.hero{display:flex;flex-direction:column;align-items:stretch;padding-block:56px 38px;gap:36px}.hero-copy{padding:0}.eyebrow{font-size:8px;margin-bottom:19px}h1{font-size:clamp(57px,14vw,78px);margin-bottom:21px}.hero-intro{font-size:15px;max-width:390px}.hero-actions{margin-top:25px;gap:20px}.button{padding:13px 15px;gap:13px}.hero-meta{margin-top:26px;font-size:8px}.hero-art{height:min(105vw,390px);min-height:300px}.scroll-note{margin-top:0}.ticker-track{gap:24px;padding:13px 0;font-size:9px}.section{padding-block:72px}.section-kicker{font-size:8px;gap:12px}.about-grid{grid-template-columns:1fr;gap:22px;margin-top:35px}.about-grid h2{font-size:clamp(39px,10vw,54px)}.about-copy .lead{font-size:20px}.about-copy{font-size:13px}.stats-row{grid-template-columns:1fr 1fr;gap:22px 12px;margin-top:44px;padding-top:22px}.stats-row strong{font-size:32px}.stat-note{justify-self:start;align-self:center}.work-section{padding-block:70px}.section-heading{display:block;margin:34px 0 28px}.section-heading h2{font-size:48px}.section-heading>p{margin:15px 0 0;width:auto;max-width:330px;font-size:12px}.project-grid{grid-template-columns:1fr;gap:28px}.project-featured{grid-row:auto}.project-featured .project-visual{height:390px}.project-visual{height:250px}.work-footer{margin-top:37px;gap:16px;align-items:flex-start;flex-direction:column;font-size:11px}.capabilities-grid,.experience-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.capabilities-grid h2,.experience-grid h2{font-size:48px}.cap-intro,.experience-intro{margin-top:14px;font-size:12px}.cap-list article{grid-template-columns:26px 1fr 15px;padding:17px 0;gap:10px}.cap-list h3{font-size:15px}.cap-list p{font-size:10px}.toolkit{display:block;margin-top:43px;padding-top:18px}.tool-tags{margin-top:13px;gap:6px}.tool-tags span{font-size:9px;padding:6px 10px}.experience-section{padding-block:72px}.timeline article{grid-template-columns:75px 1fr;gap:12px;padding-bottom:19px;margin-bottom:19px}.timeline-date{font-size:8px}.timeline h3{font-size:12px}.timeline p{font-size:10px}.timeline-place{font-size:7px}.testimonial-section{padding-block:72px}.quote-layout{grid-template-columns:38px 1fr;gap:11px;margin-top:38px}.quote-mark{font-size:76px}.quote-stars{font-size:10px;letter-spacing:0}.quote-byline{gap:9px;margin-top:22px}.contact-section{padding-block:48px 62px}.contact-content{margin:42px 0 0}.contact-content h2{font-size:clamp(66px,17vw,92px)}.contact-content>p:not(.eyebrow){font-size:12px;max-width:290px}.contact-aside{display:none}.footer-top{min-height:0;padding-block:24px;flex-wrap:wrap;gap:22px}.footer-socials{order:3;width:100%;gap:23px}.footer-socials a,.back-top{font-size:9px}.footer-bottom{min-height:54px;font-size:7px;gap:12px}.footer-bottom span:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Clickable appearance controls. Add another data-theme palette or data-artwork treatment here. */
body[data-theme="ocean"]{--paper:#f3f6f6;--surface:#e5eeee;--experience-surface:#dce7e9;--header:rgba(243,246,246,.94);--ink:#162735;--muted:#60737d;--line:#d3dfe1;--accent:#119d9b;--green:#b9d5d2}
body[data-theme="lavender"]{--paper:#f3eff7;--surface:#e9e2ef;--experience-surface:#e3dbea;--header:rgba(243,239,247,.94);--ink:#30283e;--muted:#756a81;--line:#ddd5e5;--accent:#b6637d;--green:#c9b9d8}
body[data-theme="sunset"]{--paper:#faf0e7;--surface:#f0e1d4;--experience-surface:#eadaca;--header:rgba(250,240,231,.94);--ink:#3c2d27;--muted:#806b5e;--line:#e8d6c9;--accent:#c45b3c;--green:#d9ae84}
.customizer{position:fixed;right:22px;bottom:22px;z-index:12;font-size:12px}
.customizer summary{list-style:none;cursor:pointer;background:var(--ink);color:var(--paper);padding:12px 17px;border-radius:3px;box-shadow:0 8px 30px #20251f26;font-weight:600}
.customizer summary::-webkit-details-marker{display:none}.customizer summary span{color:var(--accent);margin-right:6px}
.customizer-panel{position:absolute;right:0;bottom:52px;width:220px;padding:17px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 36px #20251f20}
.customizer-title{font:600 14px var(--display);margin:0 0 9px}.customizer-panel button{display:flex;justify-content:space-between;width:100%;padding:10px 0;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);text-align:left;font-size:12px;cursor:pointer}.customizer-panel button:hover{color:var(--accent)}.customizer-hint{margin:9px 0 0;color:var(--muted);font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.experience-art{position:relative;height:145px;margin-top:30px;overflow:hidden;background:#dbe3cf}.experience-art-sun{position:absolute;top:20px;right:22%;width:62px;height:62px;border-radius:50%;background:#ed9a6c}.experience-art-path{position:absolute;left:25%;right:20%;bottom:-72px;height:150px;border:2px solid #627858;border-radius:50%;transform:rotate(-14deg)}.experience-art-path:after{content:"";position:absolute;inset:18px 28px;border:1px solid #627858;border-radius:50%}.experience-art-label{position:absolute;left:15px;bottom:12px;font:8px var(--mono);letter-spacing:.1em;color:var(--ink)}
body[data-artwork="geometry"] .hero-art{background:#eab89d}body[data-artwork="geometry"] .sun{background:#c45b3c}body[data-artwork="geometry"] .portrait-shirt{background:#536d79}body[data-artwork="geometry"] .portrait-face{background:#a96858}
body[data-artwork="geometry"] .visual-garden{background:#d5c4df}body[data-artwork="geometry"] .garden-land{background:#74607e}body[data-artwork="geometry"] .garden-land:after{background:#aa91b5}body[data-artwork="geometry"] .garden-stem{background:#483c52}body[data-artwork="geometry"] .garden-stem:before,body[data-artwork="geometry"] .garden-stem:after{background:#eccd84}
body[data-artwork="geometry"] .visual-canvas{background:#bfd3d7}body[data-artwork="geometry"] .shape-one{background:#e5916a}body[data-artwork="geometry"] .shape-two{background:#598c8c}body[data-artwork="geometry"] .shape-three{background:#e4ce82}
body[data-artwork="geometry"] .visual-signal{background:#e7c6b0}body[data-artwork="geometry"] .signal-ring{border-color:#754b43}body[data-artwork="geometry"] .signal-center{color:#754b43}
body[data-artwork="geometry"] .experience-art{background:#d5c4df}body[data-artwork="geometry"] .experience-art-sun{background:#e5916a}body[data-artwork="geometry"] .experience-art-path,body[data-artwork="geometry"] .experience-art-path:after{border-color:#74607e}
body[data-artwork="collage"] .hero-art{background:#c3d6e1}body[data-artwork="collage"] .portrait-shirt{background:#d3835e}body[data-artwork="collage"] .sun{background:#d8c66f}body[data-artwork="collage"] .orbit{border-style:dashed}
body[data-artwork="collage"] .visual-garden{background:#eacb8d}body[data-artwork="collage"] .garden-land{background:#507278}body[data-artwork="collage"] .garden-land:after{background:#6f9790}body[data-artwork="collage"] .garden-stem:before,body[data-artwork="collage"] .garden-stem:after{background:#f5e7ba}
body[data-artwork="collage"] .visual-canvas{background:#d9c1a7}body[data-artwork="collage"] .shape-one{border-radius:4px;transform:rotate(18deg);background:#b95843}body[data-artwork="collage"] .shape-two{border-radius:4px;transform:rotate(35deg);background:#39777c}body[data-artwork="collage"] .shape-three{border-radius:4px;transform:rotate(45deg);background:#e4cb78}
body[data-artwork="collage"] .visual-signal{background:#c4d6bf}body[data-artwork="collage"] .signal-ring{border-style:dashed;border-color:#405c42}body[data-artwork="collage"] .signal-center{color:#405c42}
body[data-artwork="collage"] .experience-art{background:#c3d6e1}body[data-artwork="collage"] .experience-art-sun{background:#d8c66f}body[data-artwork="collage"] .experience-art-path{border-style:dashed;border-color:#507278}body[data-artwork="collage"] .experience-art-path:after{border-color:#507278}
@media(max-width:640px){.customizer{right:12px;bottom:12px}.customizer summary{padding:10px 14px}.experience-art{height:120px}}

/* Final polish: softer surfaces, clearer hierarchy, and a little motion. */
body{background-image:radial-gradient(ellipse at 7% 3%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 26rem)}
.site-header{border-bottom-color:color-mix(in srgb,var(--ink) 9%,transparent);box-shadow:0 4px 22px color-mix(in srgb,var(--ink) 3%,transparent)}
.primary-nav>a:not(.nav-cta){position:relative}.primary-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--accent);transition:right .2s}.primary-nav>a:not(.nav-cta):hover::after{right:0}
.hero{padding-top:74px;padding-bottom:74px;gap:7%}.hero-copy{position:relative}.hero h1{font-size:clamp(62px,7.4vw,104px);line-height:.94;letter-spacing:-.085em}.hero-intro{font-size:16px;max-width:430px}.hero-art{border-radius:6px;box-shadow:0 28px 65px color-mix(in srgb,var(--ink) 13%,transparent);isolation:isolate;transition:background .45s,transform .45s}.hero-art::before{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.18),transparent 36%,rgba(32,37,31,.08));mix-blend-mode:soft-light}.sun{box-shadow:0 0 0 18px rgba(237,154,108,.15),0 18px 45px rgba(79,53,41,.13)}.art-stamp{box-shadow:0 10px 30px rgba(32,37,31,.14)}
.button{border-radius:3px}.button-dark,.button-light{box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 12%,transparent)}.button:focus-visible,.primary-nav a:focus-visible{border-radius:3px}
.ticker{position:relative}.ticker-track{padding-block:17px;letter-spacing:.18em}.ticker-track i{font-size:15px}
.section{padding-block:122px}.section-kicker{font-size:9px;letter-spacing:.14em}.section-heading{margin-top:54px}.section-heading h2,.about-grid h2,.capabilities-grid h2,.experience-grid h2{letter-spacing:-.08em}.about-grid{margin-top:62px;gap:12%}.about-copy{max-width:425px}.about-copy .lead{font-size:24px;line-height:1.38}.stats-row{margin-top:80px;padding-top:30px}.stats-row strong{font-size:42px}.stat-note{font-size:20px}
.work-section{position:relative;overflow:hidden}.work-section::before{content:"";position:absolute;width:400px;height:400px;left:-280px;top:10%;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:50%;box-shadow:0 0 0 45px color-mix(in srgb,var(--accent) 3%,transparent),0 0 0 90px color-mix(in srgb,var(--accent) 2%,transparent);pointer-events:none}.work-section>.container{position:relative}.project-grid{gap:48px 30px}.project-visual{border-radius:5px;box-shadow:0 12px 28px rgba(32,37,31,.08);transition:transform .35s,box-shadow .35s,filter .35s}.project-card:hover .project-visual,.project-card:focus-within .project-visual{transform:translateY(-5px);box-shadow:0 20px 38px rgba(32,37,31,.14)}.project-card{min-width:0}.project-info h3{font-size:18px}.project-info p{font-size:11px;letter-spacing:.015em}.project-arrow{box-shadow:0 4px 12px rgba(32,37,31,.1)}
.capabilities-section{position:relative}.cap-list article{transition:padding .2s,border-color .2s}.cap-list article:hover{padding-left:8px;border-color:var(--accent)}.cap-list h3{font-size:17px}.tool-tags span{background:color-mix(in srgb,var(--paper) 72%,transparent);transition:background .2s,border-color .2s,transform .2s}.tool-tags span:hover{background:var(--paper);border-color:var(--accent);transform:translateY(-2px)}
.experience-section{position:relative;overflow:hidden}.experience-section::after{content:"✳";position:absolute;right:-35px;top:22px;color:color-mix(in srgb,var(--accent) 9%,transparent);font-size:220px;line-height:1;pointer-events:none}.experience-section .container{position:relative;z-index:1}.experience-art{border-radius:5px;box-shadow:0 12px 28px rgba(32,37,31,.08)}.timeline article{position:relative}.timeline article::before{content:"";position:absolute;left:100px;top:4px;width:7px;height:7px;border:1px solid var(--accent);border-radius:50%;background:var(--experience-surface);z-index:1}.timeline article::after{content:"";position:absolute;left:103px;top:13px;bottom:-1px;width:1px;background:color-mix(in srgb,var(--accent) 25%,var(--line))}.timeline article:last-child::after{display:none}.timeline h3{font-size:15px}.timeline p{font-size:12px}
.testimonial-section{position:relative}.quote-layout{max-width:960px}.quote-mark{opacity:.8}.quote-stars{font-size:14px}.avatar-initials{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 11%,transparent)}
.contact-section{position:relative;isolation:isolate}.contact-section::before{content:"";position:absolute;z-index:-1;width:550px;height:550px;right:-80px;top:-190px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.02)}.contact-content h2{letter-spacing:-.09em}.contact-aside-mark{animation:slow-spin 22s linear infinite}@keyframes slow-spin{to{transform:rotate(360deg)}}
.customizer summary{border-radius:999px;padding:13px 19px;transition:transform .2s,box-shadow .2s}.customizer summary:hover{transform:translateY(-2px);box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 22%,transparent)}.customizer-panel{border-radius:8px}.customizer-panel button{font-weight:600}.customizer-hint{padding-top:4px}
@media(max-width:850px){.hero{padding-top:62px;padding-bottom:60px}.section{padding-block:96px}.experience-section::after{font-size:160px}.timeline article::before{left:100px}.timeline article::after{left:103px}}
@media(max-width:640px){.hero{padding-top:48px;padding-bottom:38px;gap:30px}.hero h1{font-size:clamp(57px,14vw,78px)}.hero-art{border-radius:4px;box-shadow:0 16px 36px color-mix(in srgb,var(--ink) 13%,transparent)}.section{padding-block:76px}.about-grid{margin-top:38px}.about-copy .lead{font-size:21px}.stats-row{margin-top:48px}.section-heading{margin-top:38px}.project-grid{gap:32px}.experience-art{margin-top:22px}.experience-section::after{right:-55px;top:80px;font-size:128px}.timeline article::before{left:81px}.timeline article::after{left:84px}.customizer{right:12px;bottom:12px}.customizer summary{padding:11px 15px}.customizer-panel{bottom:48px}.contact-section::before{right:-340px}.contact-content h2{letter-spacing:-.08em}}
@media(prefers-reduced-motion:reduce){.contact-aside-mark{animation:none}}

/* Marvin's profile photos and project images. */
.hero-art{background:#eac93e}.hero-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 34%;z-index:0;transition:filter .45s,transform .65s}.hero-art:hover .hero-portrait{transform:scale(1.025)}
.hero-art::before{z-index:3;background:linear-gradient(180deg,rgba(13,32,42,.03),transparent 52%,rgba(13,32,42,.4));mix-blend-mode:normal}.art-grid{z-index:1;opacity:.38}.orbit{border-color:rgba(255,255,255,.5)}.art-stamp{z-index:4}
.project-visual{background:#dce6e8}.project-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:filter .5s,transform .7s}.project-card:hover .project-visual img,.project-card:focus-within .project-visual img{transform:scale(1.035)}.project-visual::after{content:"";position:absolute;inset:35% 0 0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(15,31,39,.23))}.project-arrow{z-index:2}.project-featured .project-visual img{object-position:center 48%}.project-card:nth-child(2) .project-visual img{object-position:center 44%}.project-card:nth-child(3) .project-visual img{object-position:center 40%}
body[data-artwork="geometry"] .hero-portrait,body[data-artwork="geometry"] .project-visual img{filter:saturate(.78) hue-rotate(18deg) contrast(.96)}
body[data-artwork="collage"] .hero-portrait,body[data-artwork="collage"] .project-visual img{filter:saturate(1.3) contrast(1.06) sepia(.12)}
.education-section{padding-block:110px}.education-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:46px 0 38px}.education-heading h2{font-size:clamp(42px,5vw,62px);letter-spacing:-.08em}.education-heading>p{max-width:300px;margin:0 5% 5px 0;color:var(--muted);font-size:13px}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.education-card{position:relative;min-height:210px;padding:25px 28px;background:var(--surface);border:1px solid var(--line);border-radius:5px;transition:transform .25s,box-shadow .25s}.education-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px color-mix(in srgb,var(--ink) 10%,transparent)}.education-index{display:inline-grid;place-items:center;width:31px;height:31px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font:10px var(--mono)}.education-years{float:right;color:var(--muted);font:9px var(--mono);letter-spacing:.08em}.education-card h3{margin:19px 0 4px;font:600 19px/1.25 var(--display);letter-spacing:-.04em}.education-card p{margin:0;color:var(--muted);font-size:12px}.education-detail{display:block;margin-top:18px;color:var(--accent);font:9px var(--mono);letter-spacing:.04em}
.contact-phone{display:inline-block;margin-left:19px;color:#ccd4d1;font-size:12px}.footer-wordmark .mark span{color:var(--accent)}
@media(max-width:900px){.menu-toggle{display:flex;width:42px;height:42px;border:1px solid var(--line);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span:not(.sr-only){display:block;width:16px;height:1px;background:var(--ink)}.primary-nav{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;padding:14px max(28px,calc((100% - 800px)/2)) 22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav>a{padding:10px 2px}.primary-nav .nav-cta{margin-top:7px;text-align:center}}
@media(max-width:640px){.education-section{padding-block:76px}.education-heading{display:block;margin:36px 0 25px}.education-heading h2{font-size:45px}.education-heading>p{margin:14px 0 0;font-size:12px}.education-grid{grid-template-columns:1fr;gap:12px}.education-card{min-height:180px;padding:21px}.education-card h3{font-size:17px}.contact-phone{display:block;margin:13px 0 0}.project-grid{grid-template-columns:1fr}.project-featured{grid-row:auto}.project-featured .project-visual{height:300px}.project-visual{height:240px}}



