@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-display:swap;src:url("assets/fonts/bricolage-grotesque-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-display:swap;src:url("assets/fonts/bricolage-grotesque-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("assets/fonts/plus-jakarta-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("assets/fonts/plus-jakarta-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{color-scheme:dark;--bg:#0c1512;--text:#f1f5f9;--muted:#adbdb4;--accent:#6ee7b7;--line:#2b4036;--surface:#12201b;--mint:#132c22;font-family:"Plus Jakarta Sans",Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
button{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}
img{display:block;width:100%;height:100%;object-fit:cover}
p,h1,h2,figure{margin:0}
a:hover{color:var(--accent)}
.skip-link{position:fixed;top:-80px;left:20px;background:var(--accent);color:var(--bg);padding:12px;z-index:10}
.skip-link:focus{top:12px}
.header,.hero,.section,footer{max-width:1600px;margin:auto;padding-left:6%;padding-right:6%}
.header{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:block;width:320px;max-width:42%;flex-shrink:0}
.brand img{width:100%;height:auto;object-fit:contain}
.header nav{display:flex;gap:38px;align-items:center;font-size:13px}
.nav-contact{border:1px solid var(--accent);background:var(--mint);color:var(--accent);padding:13px 19px;border-radius:30px}
.nav-contact span{margin-left:22px}
.hero{padding-top:38px;background:radial-gradient(ellipse at 90% 0%,rgba(16,185,129,.13),transparent 55%)}
.eyebrow,.edition,.small-note,.section-note{font-family:monospace;font-size:11px;font-weight:400;letter-spacing:1.2px;line-height:1.6}
.hero-top{display:flex;justify-content:space-between;align-items:center}
.dot{display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--accent)}
.edition{color:var(--muted);font-size:10px}
h1{font-family:"Bricolage Grotesque",Arial,Helvetica,sans-serif;font-size:clamp(66px,7.9vw,124px);line-height:.94;letter-spacing:-.065em;font-weight:700;padding-top:35px;position:relative;z-index:1}
h1>span{color:var(--accent)}
.hero-image{aspect-ratio:4916/3277;position:relative;margin-top:30px;overflow:hidden;border-radius:24px}
.hero-image img{object-fit:contain}
.hero-image:after{content:"";position:absolute;inset:0 0 50%;background:linear-gradient(#0009,transparent);pointer-events:none}
.image-label{position:absolute;top:29px;left:30px;z-index:1;color:#ffffff;font-family:monospace;font-size:11px;letter-spacing:2px}
.round-link{position:absolute;right:28px;top:24px;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;font-size:34px;background:#10b981;color:#052e24;z-index:1}
.round-link:hover{background:#6ee7b7;color:#052e24}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;padding:28px 0 40px}
.hero-bottom p{font-size:15px;line-height:1.6;color:var(--muted)}
.text-link{font-size:13px;border-bottom:1px solid var(--line);padding:0 0 10px;display:inline-flex;gap:36px;align-items:center}
.text-link span{font-size:22px}
.small-note{color:var(--muted);font-size:9px}
.section{padding-top:86px;padding-bottom:85px}
.section-top{display:flex;justify-content:space-between}
.section-note{color:var(--muted)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:35px 0 45px}
h2{font-family:"Bricolage Grotesque",Arial,Helvetica,sans-serif;font-size:clamp(44px,5.9vw,85px);line-height:1;letter-spacing:-.045em;font-weight:650}
em{font-family:inherit;font-weight:inherit;font-style:normal;letter-spacing:inherit}
h2 em{color:var(--accent)}
.section-heading>p{color:var(--muted);font-size:14px;line-height:1.7;padding-bottom:7px}
/* Four equal frames and a centered portrait photograph to finish the gallery. */
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 30px;align-items:start}
.shot{min-width:0}
.shot:last-child{grid-column:1/-1;width:calc((100% - 30px)/2);justify-self:center}
.photo-open{display:block;position:relative;width:100%;aspect-ratio:4/3;padding:0;border:0;background:var(--surface);cursor:zoom-in;overflow:hidden;border-radius:24px}
.photo-open img{height:100%;object-fit:cover;transition:opacity .3s ease}
[data-subject="mustang"] img{object-position:53% 50%}
[data-subject="ferrari"]{aspect-ratio:3038/4320}
[data-subject="ferrari"] img{object-fit:contain;object-position:center}
[data-subject="mercedes"] img{object-position:58% 50%}
[data-subject="porsche"] img{object-position:50% 62%}
[data-subject="jaguar"] img{object-position:50% 50%}
.photo-open:hover img{opacity:.94}
.photo-plus{position:absolute;top:16px;right:16px;width:38px;height:38px;background:#131413c4;border:1px solid #ffffff50;border-radius:50%;display:grid;place-items:center;color:#ffffff;font-size:22px}
figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:17px;font-size:16px;line-height:1.4}
figcaption span+span{font-family:monospace;font-size:10px;color:var(--muted);letter-spacing:1px}
.portfolio-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:55px;padding-top:25px;gap:25px}
.portfolio-footer p{color:var(--muted);font-size:12px;line-height:1.7}
.about{border-top:1px solid var(--line);background:var(--surface)}
.about-content{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;margin-top:45px}
.about h2{font-size:clamp(35px,4vw,59px);line-height:1.18}
.about h2 span{color:var(--muted)}
.about-copy p{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:20px}
.about-copy .text-link{margin-top:13px}
.about-tags{display:flex;justify-content:space-between;font-family:monospace;font-size:12px;letter-spacing:4px;margin-top:70px;padding-top:30px;border-top:1px solid var(--line);color:var(--muted)}
.contact{background:var(--mint);color:var(--text);margin-top:20px;padding-top:50px;padding-bottom:45px}
.contact-heading{display:flex;justify-content:space-between;align-items:center;margin:40px 0}
.contact h2{font-size:clamp(62px,8vw,120px)}
.contact h2 em{color:var(--accent)}
.contact-arrow{width:110px;height:110px;border:1px solid #365e4c;background:var(--surface);color:var(--accent);border-radius:50%;display:grid;place-items:center;font-size:65px}
.contact a:hover{color:#a7f3d0}
.contact-arrow:hover{background:#1b4030}
.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid #365e4c;padding-top:25px;gap:20px}
.contact-bottom p{font-size:14px;line-height:1.6}
.contact-bottom>a{font-size:clamp(16px,2vw,28px);letter-spacing:-.6px}
.contact-bottom a span{margin-left:18px}
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:120px;font-size:11px;color:var(--muted)}
.footer-brand{color:var(--text);font-family:monospace;letter-spacing:1px;font-size:11px}
.lightbox{padding:55px 20px 20px;border:1px solid var(--line);background:var(--bg);color:var(--text);width:min(1100px,94vw);max-height:95dvh;border-radius:24px}
.lightbox::backdrop{background:#030806e6}
.lightbox img{max-height:75dvh;object-fit:contain;height:auto}
.lightbox p{padding-top:15px;font-size:14px}
.lightbox-close{position:absolute;right:16px;top:10px;background:transparent;color:var(--text);border:0;padding:10px;cursor:pointer;font-size:20px}
body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.header,.hero,.section,footer{padding-left:96px;padding-right:96px}
}
@media(max-width:700px){.header,.hero,.section,footer{padding-left:6%;padding-right:6%}
.header{height:auto;min-height:85px;flex-direction:column;align-items:stretch;gap:10px;padding-top:10px;padding-bottom:18px}
.brand{width:min(280px,75vw);max-width:100%;align-self:center}
.header nav{justify-content:space-between;gap:17px;font-size:11px}
.nav-contact{border:0;padding:0}
.nav-contact span{margin-left:5px}
.header nav>a:nth-child(2){display:inline}
.hero{padding-top:25px}
.eyebrow{font-size:10px}
.edition{display:none}
h1{font-size:clamp(42px,10.8vw,76px);padding-top:26px}
.hero-image{margin-top:25px}
.image-label{left:16px;top:23px;font-size:8px;letter-spacing:1px}
.round-link{width:45px;height:45px;font-size:28px;right:17px;top:15px}
.hero-bottom{flex-wrap:wrap;gap:22px;padding-bottom:20px}
.hero-bottom p{font-size:13px}
.small-note{width:100%;font-size:8px}
.section{padding-top:60px;padding-bottom:60px}
.section-heading{margin-top:25px;gap:15px}
.section-heading>p{font-size:12px}
.section-note{font-size:9px}
.gallery{grid-template-columns:1fr;gap:30px}
.shot:last-child{grid-column:auto;width:100%}
.portfolio-footer{align-items:flex-start;flex-direction:column;margin-top:35px}
.about-content{grid-template-columns:1fr;gap:28px;margin-top:30px}
.about h2{font-size:38px}
.about-tags{font-size:8px;letter-spacing:2px;margin-top:40px}
.contact-heading{margin:30px 0;gap:10px}
.contact h2{font-size:clamp(40px,10.8vw,70px)}
.contact-arrow{width:63px;height:63px;flex-shrink:0;font-size:39px}
.contact-bottom{align-items:flex-start;flex-direction:column;gap:22px}
.contact-bottom>a{font-size:20px}
footer{padding-top:30px;padding-bottom:30px;flex-wrap:wrap;min-height:130px;font-size:10px}
.footer-brand{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important}
}
