:root{--paper:#f5f4f1;--ink:#0e0e0d;--graphite:#616159;--muted:#929289;--accent:#006bb6;--teal:#008c95;--nav-accent:#0e0e0d;--mono:'IBM Plex Mono',monospace;--display:'Archivo',sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--ink);font-family:var(--display);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.meta{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.site-nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:24px 40px 24px 64px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.brand{font-size:15px;font-weight:600}
.nav-right,.nav-links{display:flex;align-items:center;gap:36px}
.nav-links>a,.portfolio-trigger{border:0;background:none;color:var(--nav-accent);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.portfolio-menu{position:relative}
.portfolio-trigger span{display:inline-block;margin-left:5px;font-size:9px;transition:transform .2s var(--ease)}
.portfolio-menu.open .portfolio-trigger span,.portfolio-menu:focus-within .portfolio-trigger span,.portfolio-menu:hover .portfolio-trigger span{transform:rotate(180deg)}
.portfolio-dropdown{position:absolute;top:100%;left:-18px;min-width:170px;padding:18px 18px 10px;background:#fff;border:1px solid rgba(14,14,13,.1);box-shadow:0 14px 36px rgba(0,0,0,.08);opacity:0;transform:translateY(-6px);pointer-events:none;transition:.2s var(--ease)}
.portfolio-dropdown a{display:block;padding:9px 0;color:var(--nav-accent);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.portfolio-dropdown a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.portfolio-menu.open .portfolio-dropdown,.portfolio-menu:focus-within .portfolio-dropdown,.portfolio-menu:hover .portfolio-dropdown{opacity:1;transform:none;pointer-events:auto}
.contact-link{border:1.5px solid var(--nav-accent);padding:9px 18px;color:var(--nav-accent);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.burger{display:none;border:0;background:none;width:28px;height:22px;position:relative}.burger span{position:absolute;left:0;width:100%;height:1.5px;background:var(--ink)}.burger span:first-child{top:2px}.burger span:nth-child(2){top:10px}.burger span:last-child{bottom:2px}
.category-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#111}
.category-hero>img{position:absolute;inset:0}.category-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.2) 58%,rgba(0,0,0,.05)),linear-gradient(0deg,rgba(0,0,0,.46),transparent 50%)}
.hero-content{position:relative;z-index:1;width:min(1400px,100%);padding:150px 64px 76px;color:#fff}
.hero-content .meta{color:rgba(255,255,255,.78);margin-bottom:22px;border-left:2px solid var(--accent);padding-left:12px}.hero-content h1{max-width:850px;font-size:clamp(50px,7vw,108px);font-weight:600;line-height:.94;letter-spacing:-.035em}.hero-content p{max-width:590px;margin-top:28px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.88)}
.hero-cta{display:inline-block;margin-top:34px;border-bottom:1px solid #fff;padding-bottom:4px;font-weight:500}
.statement{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;padding:120px 64px;max-width:1400px;margin:auto}.statement .meta{color:var(--muted);padding-top:8px}.statement h2{font-size:clamp(34px,4vw,58px);line-height:1.05;letter-spacing:-.025em}.statement p{margin-top:26px;max-width:680px;font-size:17px;line-height:1.7;color:var(--graphite)}
.gallery{display:block;padding:12px 6px 0;max-width:1600px;margin:0 auto;background:#fff}.gallery .justified-row{display:flex;width:100%;gap:6px;margin-bottom:6px;overflow:hidden}.gallery button{flex:0 0 auto;height:100%;min-width:0;border:0;background:#eee;overflow:hidden;cursor:zoom-in}.gallery img{width:100%;height:100%;object-fit:contain;transition:transform .7s var(--ease)}.gallery button:hover img{transform:scale(1.015)}
.inquiry{background:var(--paper);display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;padding:120px 64px}.inquiry-copy .meta{color:var(--accent)}.inquiry-copy h2{font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.03em}.inquiry-copy p{margin-top:24px;max-width:480px;color:var(--graphite);font-size:17px;line-height:1.65}.inquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}.field label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite)}.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;padding:11px 0;border-radius:0;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{min-height:110px;resize:vertical}.submit{grid-column:1/-1;justify-self:start;border:1.5px solid var(--accent);background:transparent;color:var(--accent);padding:12px 20px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.form-note{grid-column:1/-1;color:var(--muted);font-size:12px}.form-status{grid-column:1/-1;min-height:20px;color:var(--graphite);font-size:14px}
.site-footer{display:flex;justify-content:space-between;padding:26px 40px;background:#fff;color:var(--muted)}
.viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:#0d0d0d;color:#fff;padding:58px 22px 22px}.viewer::backdrop{background:#0d0d0d}.viewer img{height:calc(100% - 40px);object-fit:contain}.viewer-controls{position:absolute;top:12px;left:22px;right:22px;display:flex;justify-content:space-between}.viewer-controls button{border:1px solid #777;background:transparent;color:#fff;padding:8px 15px;cursor:pointer}.viewer-count{text-align:center;padding-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.1em}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:900px){.site-nav{padding:14px 20px;min-height:64px}.brand{max-width:125px}.burger{display:block}.nav-right{gap:16px}.contact-link{padding:9px 10px}.nav-links{position:fixed;top:64px;left:0;right:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:8px 28px 22px;background:#fff;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s var(--ease)}.nav-links.open{opacity:1;transform:none;pointer-events:auto}.nav-links>a,.portfolio-menu{width:100%;padding:14px 0;border-bottom:1px solid rgba(14,14,13,.08)}.portfolio-trigger{width:100%;text-align:left}.portfolio-dropdown{position:static;display:none;opacity:1;transform:none;pointer-events:auto;border:0;box-shadow:none;padding:10px 0 0 16px}.portfolio-menu.open .portfolio-dropdown{display:block}.hero-content{padding:130px 24px 52px}.hero-content h1{font-size:clamp(44px,14vw,72px)}.statement{grid-template-columns:1fr;gap:28px;padding:78px 24px}.inquiry{grid-template-columns:1fr;gap:48px;padding:78px 24px}.site-footer{padding:24px;gap:20px}.inquiry-form{grid-template-columns:1fr}.field{grid-column:1/-1}.viewer-controls button{min-width:44px;min-height:44px}.field input,.field textarea,.field select{min-height:44px}}
@media(max-width:600px){.site-nav{padding:12px 16px;gap:10px}.brand{max-width:108px;font-size:13px;line-height:1.15}.nav-right{gap:8px}.contact-link{padding:8px;font-size:10px;letter-spacing:.08em}.burger{width:24px;flex:0 0 24px}.nav-links{padding-left:20px;padding-right:20px}.hero-content{padding:112px 20px 42px}.hero-content h1{font-size:clamp(40px,13vw,56px)}.hero-content p{margin-top:20px;font-size:16px}.hero-cta{margin-top:24px}.statement{gap:22px;padding:64px 20px}.statement p{font-size:16px}.inquiry{gap:40px;padding:64px 20px}.inquiry-copy p{font-size:16px}.site-footer{flex-direction:column;gap:8px;padding:22px 20px}.viewer{padding:64px 10px 12px}.viewer-controls{top:10px;left:10px;right:10px}}
@media(max-width:900px) and (max-height:500px){.hero-content{padding:82px 20px 22px}.hero-content .meta{margin-bottom:10px}.hero-content h1{font-size:36px;line-height:.98}.hero-content p{margin-top:12px;font-size:15px;line-height:1.4}.hero-cta{margin-top:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
