:root{--ink:#171714;--paper:#f1efe9;--lime:#d1ff43;--orange:#ff5e36;--muted:#aaa99f;--line:rgba(241,239,233,.18);--display:'Space Grotesk',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--display);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.topbar{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(23,23,20,.94);backdrop-filter:blur(12px)}.wordmark{font-size:21px;font-weight:700;letter-spacing:-1.2px}.wordmark span{font:10px var(--mono);vertical-align:top;margin-left:2px}.top-note,.eyebrow,.hero-kicker,.image-caption,.image-stamp,.project-meta small,.project-meta i,.behance-more,.social-links,footer,.about-number,.experience .eyebrow,.carousel-controls,.dialog-tags{font-family:var(--mono);font-size:10px;letter-spacing:.06em}.top-note{color:var(--muted)}.site-nav{display:flex;gap:32px;align-items:center;font-size:12px}.site-nav sup{font:9px var(--mono);color:var(--lime)}.nav-contact{border:1px solid var(--line);padding:11px 16px;border-radius:30px}.nav-contact span{color:var(--lime);padding-left:16px}.menu-toggle{display:none}.hero{padding:36px 5vw 0}.hero-kicker{display:flex;align-items:center;gap:10px;color:var(--muted)}.status-dot{height:7px;width:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}.hero-year{margin-left:auto}.hero-lockup{display:flex;justify-content:space-between;align-items:end;padding:56px 0 38px}.hero h1{font-size:clamp(82px,14.7vw,220px);line-height:.76;letter-spacing:-.095em;margin:0;font-weight:600}.hero h1>span{color:var(--lime);display:block;padding-left:11vw}.star{font-size:.37em;display:inline-block;vertical-align:top;margin:.08em 0 0 .1em;color:var(--orange);animation:spin 18s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero-aside{width:190px;padding-bottom:8px;display:flex;align-items:end;gap:22px}.hero-aside p{font-size:13px;line-height:1.5;color:#ccc;margin:0}.round-link{border:1px solid #555;border-radius:50%;width:42px;height:42px;flex:none;display:grid;place-items:center;font-size:20px;transition:.25s}.round-link:hover{background:var(--lime);color:var(--ink);border-color:var(--lime);transform:translateY(4px)}.hero-image-wrap{height:clamp(230px,44vw,610px);position:relative;overflow:hidden;background:#777}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:saturate(.83)}.image-stamp{position:absolute;right:5%;bottom:12%;border-radius:50%;background:var(--lime);color:var(--ink);width:105px;height:105px;display:grid;place-content:center;text-align:center;line-height:1.5;transform:rotate(10deg)}.image-caption{position:absolute;left:20px;bottom:16px;text-shadow:0 1px 5px #000}.ticker{margin:0 -5.55vw;overflow:hidden;border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:14px 0;color:var(--lime);font-size:13px;font-weight:600;white-space:nowrap;letter-spacing:.09em}.ticker-track{display:flex;width:max-content;animation:ticker 24s linear infinite}.ticker-track span{padding-right:20px}@keyframes ticker{to{transform:translateX(-50%)}}.section-pad{padding:120px 9vw}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.eyebrow{color:var(--muted)}.section-heading h2{font-size:clamp(58px,9vw,130px);letter-spacing:-.085em;line-height:.9;margin:20px 0 0;font-weight:500}.lime{color:var(--lime)}.section-heading>p{font-size:14px;line-height:1.5;color:var(--muted);margin:0 5vw 8px 0}.project-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;row-gap:70px}.project-card{padding:0;border:0;background:none;text-align:left;cursor:pointer;display:block;width:100%}.project-image{display:block;height:clamp(290px,43vw,585px);overflow:hidden;position:relative;background:#292927}.project-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.card-cake .project-image{background:#f1e9e0}.card-cake img{object-fit:cover;object-position:center}.card-ontinar img{object-fit:cover}.card-martini .project-image{height:clamp(290px,43vw,585px)}.card-martini img{object-fit:cover;object-position:center 35%}.card-goyosa .project-image{height:clamp(360px,49vw,650px)}.card-goyosa img{object-fit:contain;background:#f5ecd9}.project-card:hover img{transform:scale(1.035);filter:saturate(1.12)}.view-project{position:absolute;right:17px;bottom:17px;background:var(--lime);color:var(--ink);padding:12px 15px;border-radius:30px;font:10px var(--mono);opacity:0;transform:translateY(8px);transition:.25s}.project-card:hover .view-project,.project-card:focus-visible .view-project{opacity:1;transform:translateY(0)}.project-meta{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:start}.project-meta b{display:block;font-size:13px;font-weight:500;letter-spacing:.04em}.project-meta small{display:block;color:var(--muted);margin-top:6px;font-size:9px}.project-meta i{font-style:normal;color:var(--muted)}.behance-more{display:flex;gap:20px;align-items:center;justify-content:center;margin:62px auto 0;width:max-content;border-bottom:1px solid var(--lime);padding-bottom:8px}.behance-more span{color:var(--lime);font-size:17px}.about{background:var(--lime);color:var(--ink);display:grid;grid-template-columns:1fr 2fr;gap:7vw}.about .eyebrow{color:#626c44}.about-label{display:flex;flex-direction:column;justify-content:space-between}.about-number{padding-top:28px}.about-lead{font-size:clamp(32px,5.5vw,74px);line-height:1.03;letter-spacing:-.065em;margin:0;max-width:900px}.about-lead em{font-family:Georgia,serif;font-weight:400}.about-bottom{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;margin-top:45px}.about-bottom>p{font-size:14px;line-height:1.8;max-width:440px}.experience b{font-size:12px;font-weight:500;line-height:2.1;display:block;margin-top:14px}.services{display:grid;grid-template-columns:1fr 2fr;gap:7vw}.service-list{margin-top:-15px}.service-list>div{display:grid;grid-template-columns:48px 1fr 30px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.service-list>div:first-child{border-top:1px solid var(--line)}.service-list span{font:10px var(--mono);color:var(--muted)}.service-list h3{font-size:clamp(22px,3vw,38px);font-weight:400;letter-spacing:-.04em;margin:0}.service-list b{font-size:17px;font-weight:400;color:var(--lime)}.contact{background:var(--orange);color:var(--ink);padding-top:90px;padding-bottom:55px;position:relative}.contact .eyebrow{color:#622c1b}.contact h2{font-size:clamp(78px,14vw,190px);line-height:.76;letter-spacing:-.1em;font-weight:500;margin:55px 0 50px}.contact h2 span{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.09em}.contact-cta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(23,23,20,.45);border-bottom:1px solid rgba(23,23,20,.45);padding:18px 0;font:clamp(19px,3vw,36px) var(--display);letter-spacing:-.04em}.contact-cta span{font-size:22px}.social-links{display:flex;gap:24px;margin-top:30px}.social-links a{border-bottom:1px solid transparent;padding-bottom:4px}.social-links a:hover{border-color:var(--ink)}footer{min-height:78px;padding:20px 5vw;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px}footer .wordmark{color:var(--paper);font:700 16px var(--display)}.project-dialog{padding:0;border:1px solid #41413c;background:#1d1d19;color:var(--paper);max-width:min(1100px,94vw);width:100%;max-height:92vh;overflow:auto}.project-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.dialog-close{position:sticky;top:12px;left:calc(100% - 56px);z-index:2;margin:12px 12px -50px auto;display:block;border:1px solid var(--line);background:var(--ink);border-radius:50%;width:38px;height:38px;font-size:24px;cursor:pointer}.dialog-body{display:grid;grid-template-columns:.72fr 1.28fr;min-height:550px}.dialog-copy{padding:70px 42px 40px;display:flex;flex-direction:column}.dialog-title{font-size:clamp(40px,6vw,72px);line-height:.9;letter-spacing:-.08em;font-weight:500;margin:24px 0}.dialog-description{font-size:14px;color:#c7c6bc;line-height:1.7}.dialog-tags{color:var(--lime);line-height:2}.dialog-figure{margin:0;min-height:530px;background:#252522;display:flex;align-items:center;justify-content:center;flex-direction:column}.dialog-image{height:min(72vh,720px);width:100%;object-fit:contain}.dialog-caption{font:10px var(--mono);color:var(--muted);padding:10px}.carousel-controls{display:flex;gap:16px;align-items:center;margin-top:auto;padding-top:30px;color:var(--muted)}.carousel-controls button{background:none;border:1px solid #555;border-radius:50%;width:38px;height:38px;cursor:pointer;font-size:17px}.carousel-controls button:hover{color:var(--lime);border-color:var(--lime)}
@media(max-width:700px){.topbar{height:65px;padding:0 6vw}.top-note{display:none}.menu-toggle{border:0;background:none;display:flex;align-items:center;gap:8px;font:9px var(--mono);letter-spacing:.08em}.menu-toggle span{width:15px;height:1px;background:var(--paper);display:block;position:absolute;right:calc(6vw + 47px);transition:.2s}.menu-toggle span:first-child{transform:translateY(-3px)}.menu-toggle span:nth-child(2){transform:translateY(3px)}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){transform:rotate(-45deg)}.site-nav{position:absolute;top:64px;left:0;right:0;background:var(--ink);padding:0 6vw;display:flex;flex-direction:column;align-items:stretch;gap:0;max-height:0;overflow:hidden;transition:max-height .3s,padding .3s;border-bottom:0}.site-nav.open{max-height:240px;padding:12px 6vw 22px;border-bottom:1px solid var(--line)}.site-nav a{padding:14px 0;border-bottom:1px solid var(--line)}.nav-contact{border:0;padding:14px 0}.hero{padding:28px 6vw 0}.hero-lockup{padding:55px 0 28px;display:block}.hero h1{font-size:clamp(76px,17.5vw,124px)}.hero h1>span{padding-left:4vw}.hero-aside{margin:27px 0 0 auto;width:210px}.hero-image-wrap{height:62vw;min-height:230px}.hero-image{object-position:54% center}.image-stamp{width:75px;height:75px;font-size:8px;right:5%;bottom:14%}.ticker{margin:0 -6.5vw;font-size:11px;padding:12px 0}.section-pad{padding:82px 6vw}.section-heading{margin-bottom:33px}.section-heading h2{font-size:64px}.section-heading>p{font-size:11px;margin:0 0 3px}.project-grid{column-gap:12px;row-gap:38px}.project-image,.card-martini .project-image{height:57vw;min-height:210px}.card-goyosa .project-image{height:69vw;min-height:260px}.project-meta{padding:12px 0}.project-meta b{font-size:10px}.project-meta small{font-size:8px;line-height:1.4}.project-meta i{font-size:8px}.view-project{display:none}.behance-more{font-size:9px;margin-top:43px}.about{display:block}.about-label{flex-direction:row;align-items:center;margin-bottom:34px}.about-number{padding:0}.about-lead{font-size:clamp(34px,8vw,52px)}.about-bottom{grid-template-columns:1fr;gap:25px;margin-top:22px}.about-bottom>p{font-size:13px;line-height:1.7}.experience b{line-height:1.9}.services{display:block}.service-list{margin-top:25px}.service-list>div{grid-template-columns:34px 1fr 24px;padding:17px 0}.service-list h3{font-size:23px}.contact{padding-top:68px}.contact h2{margin:48px 0 40px;font-size:clamp(74px,17vw,120px)}.contact-cta{font-size:20px}.social-links{gap:18px;flex-wrap:wrap;font-size:8px}footer{padding:20px 6vw;gap:12px;flex-wrap:wrap}footer>span{order:3;width:100%}.dialog-body{grid-template-columns:1fr}.dialog-copy{padding:60px 24px 20px;min-height:unset}.dialog-title{font-size:50px;margin:16px 0}.dialog-description{font-size:13px;margin-top:0}.carousel-controls{margin-top:22px;padding-top:0}.dialog-figure{min-height:300px}.dialog-image{height:58vh;max-height:560px}.dialog-caption{padding-bottom:18px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Monochrome portfolio palette: the accent stays restrained so the work leads. */
:root{--ink:#10100f;--paper:#eeede8;--lime:#b7c56b;--orange:#eeede8;--muted:#92928a;--line:rgba(238,237,232,.14)}
.about{background:var(--ink);color:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about .eyebrow,.about-number{color:var(--muted)}
.about-lead em{color:#c6c5ba}
.contact{background:var(--ink);color:var(--paper);border-top:1px solid var(--line)}
.contact .eyebrow{color:var(--muted)}
.contact-cta{border-color:var(--line)}
.contact-cta:hover{color:var(--lime)}
.ticker{color:var(--lime)}
.hero h1>span,.service-list b,.behance-more span,.nav-contact span{color:var(--lime)}
.status-dot{background:var(--lime);box-shadow:0 0 8px rgba(183,197,107,.45)}
.image-stamp{background:rgba(183,197,107,.92);color:#10100f}
.behance-more{border-color:rgba(183,197,107,.65)}
.project-meta i{color:var(--lime)}
.social-links a:hover{border-color:var(--lime);color:var(--lime)}
.dialog-tags{color:var(--lime)}
.contact-cta small{margin-left:auto;font:10px var(--mono);letter-spacing:.04em;color:var(--muted)}
.contact-cta .contact-arrow{font-size:22px;margin-left:22px;color:var(--lime)}

/* Image-free typographic opening and seamless photography wall. */
.hero-lockup{min-height:clamp(430px,64vh,760px);padding-top:68px;padding-bottom:48px}
.hero-signature{display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid var(--line);padding:15px 0 18px;font:9px var(--mono);letter-spacing:.06em;color:var(--muted)}
.hero-signature i{font-style:normal;color:var(--lime);padding:0 3px}
.photography{border-top:1px solid var(--line)}
.photo-heading{display:flex;justify-content:space-between;align-items:end;gap:8vw;padding:105px 9vw 40px}
.photo-heading h2{font-size:clamp(48px,8vw,112px);line-height:.86;letter-spacing:-.085em;font-weight:500;margin:20px 0 0}
.photo-heading h2 em{font-family:Georgia,serif;font-weight:400;color:#c6c5ba}
.photo-heading>p{max-width:330px;color:#b7b6ad;font-size:13px;line-height:1.7;margin:0 0 5px}
.photo-gallery{columns:4;column-gap:0;line-height:0}
.photo-gallery a{display:block;position:relative;overflow:hidden;break-inside:avoid;width:100%;background:#191918}
.photo-gallery img{width:100%;height:auto;display:block;transition:transform .6s ease,filter .4s}
.photo-gallery a:hover img,.photo-gallery a:focus-visible img{transform:scale(1.025);filter:brightness(.78)}
.photo-gallery a span{position:absolute;left:14px;bottom:14px;color:#fff;font:9px var(--mono);letter-spacing:.08em;line-height:1.4;text-shadow:0 1px 8px #000;opacity:0;transition:opacity .25s}
.photo-gallery a:hover span,.photo-gallery a:focus-visible span{opacity:1}
@media(max-width:700px){.hero-lockup{min-height:0;padding-top:56px;padding-bottom:34px}.hero-signature{display:grid;grid-template-columns:1fr 1fr;row-gap:11px;font-size:8px}.hero-signature span:nth-child(2){text-align:right}.hero-signature span:nth-child(3){grid-column:1/-1}.photo-heading{display:block;padding:76px 6vw 26px}.photo-heading h2{font-size:clamp(54px,13vw,82px)}.photo-heading>p{font-size:12px;margin-top:24px;max-width:390px}.photo-gallery{columns:2}.photo-gallery a span{left:8px;bottom:8px;font-size:7px;opacity:1}.photo-gallery a:hover img,.photo-gallery a:focus-visible img{transform:none;filter:none}}
@media(max-width:390px){.photo-heading{padding-left:5vw;padding-right:5vw}.photo-gallery{columns:2}.hero h1{font-size:74px}.hero-signature{font-size:7px}}
