:root{--bg:#050505;--panel:#111111;--ink:#f4f4f2;--muted:#b8b8b4;--line:#292929;--accent:#ed6a70;--gutter:clamp(22px,5.4vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{border:0;background:none}img{display:block;width:100%;height:100%;object-fit:cover}p{margin:0 0 1.4em}h1,h2,h3{font-weight:400;letter-spacing:-.055em;line-height:1.04;margin:0}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}h2{font-size:clamp(44px,5.7vw,88px)}h3{font-size:clamp(38px,4vw,62px)}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:500;line-height:1.5}.skip{position:fixed;z-index:100;top:-100px;left:10px;background:var(--ink);color:var(--bg);padding:15px}.skip:focus{top:10px}header{position:absolute;z-index:10;top:0;left:0;width:100%;padding:30px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-size:20px;font-weight:600;letter-spacing:-.04em;line-height:.95}.brand span{display:block;letter-spacing:.22em;font-weight:400;font-size:8px;margin-top:12px}nav{display:flex;align-items:center;gap:26px}nav a{font-size:11px}nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid #ffffff70;padding-bottom:6px}#menu-toggle{display:none}.hero{min-height:800px;height:100svh;position:relative;display:flex;align-items:end;padding:200px var(--gutter) 85px;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{object-position:65% 32%}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.08) 75%),linear-gradient(0deg,rgba(0,0,0,.8),transparent 65%,rgba(0,0,0,.5))}.hero-top{position:absolute;top:155px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em}.hero-copy{position:relative;width:100%;max-width:1200px}.hero-copy .eyebrow{color:#d0c4b5;margin-bottom:25px}h1{font-size:clamp(68px,8.3vw,137px);letter-spacing:-.065em;line-height:.97}h1 em{color:#f1d9bf}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:35px;max-width:860px}.hero-bottom p{font-size:13px;line-height:1.65;margin:0;color:#d0ccc4}.circle-link{display:flex;align-items:center;gap:20px;font-size:11px;line-height:1.4}.circle-link b{border:1px solid #d8d2c680;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;font-size:26px;font-weight:400;transition:.2s}.circle-link:hover b{background:var(--ink);color:var(--bg);transform:rotate(45deg)}.hero-credit{position:absolute;bottom:25px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:14px;font-size:8px;letter-spacing:.15em}.section{padding:110px var(--gutter)}.section-heading{margin-bottom:45px}.section-heading .eyebrow{color:var(--accent);margin-bottom:26px}.section-heading>p:last-child{max-width:490px;margin:26px 0 0;color:var(--muted);font-size:14px}.filters{display:flex;flex-wrap:wrap;gap:8px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filters button{font-size:11px;color:var(--muted);padding:8px 14px;border:1px solid transparent;border-radius:25px}.filters button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.filters button:hover{color:var(--ink)}.gallery-status{font-size:10px;color:var(--muted);letter-spacing:.07em;margin:18px 0}.gallery{columns:3;column-gap:20px}.photo-card{break-inside:avoid;display:block;width:100%;padding:0;text-align:left;margin:0 0 25px}.photo-card .image-wrap{position:relative;overflow:hidden;background:var(--panel)}.photo-card img{height:auto;transition:transform .6s}.photo-card:hover img{transform:scale(1.025)}.photo-card .zoom{position:absolute;right:12px;bottom:12px;border:1px solid #fff7;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;background:#0005}.photo-meta{display:flex;justify-content:space-between;gap:10px;padding-top:10px;font-size:10px;color:var(--muted)}.photo-meta small{font-size:9px;text-transform:uppercase;letter-spacing:.05em}.outline-button{display:block;border:1px solid #77746d;padding:16px 25px;min-width:230px;text-align:left;margin:45px auto 0;font-size:12px}.outline-button span{float:right;margin-left:35px}.outline-button:hover{background:var(--ink);color:var(--bg)}.projects{background:#191918}.project{display:grid;grid-template-columns:1.25fr 1fr;gap:7vw;align-items:center;margin:80px 0 110px}.project-photo{padding:0;position:relative;overflow:hidden;aspect-ratio:1.2}.project-photo img{transition:transform .6s}.project-photo:hover img{transform:scale(1.03)}.project-photo span{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(transparent,#000b);font-size:9px;letter-spacing:.1em;text-align:left}.project-copy .eyebrow{color:var(--muted)}.project-copy h3{margin-bottom:28px}.project-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:390px}.project-copy dl{margin:24px 0;border-top:1px solid var(--line);font-size:10px}.project-copy dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0}.project-copy dt{color:var(--muted)}.project-copy dd{margin:0}.reverse .project-photo{grid-column:2;grid-row:1}.reverse .project-copy{grid-column:1;grid-row:1}.text-button{display:inline-block;font-size:11px;border-bottom:1px solid #8d8b83;padding:8px 0;text-align:left}.text-button:hover{color:var(--accent);border-color:var(--accent)}.text-button span{margin-left:50px}.concert-note{border-top:1px solid var(--line);padding-top:35px;display:flex;justify-content:space-between;align-items:center;gap:25px}.concert-note p{font-family:Georgia,serif;font-size:25px;margin:0}.concert-note i{color:var(--accent);font-style:normal;margin:0 10px}.portrait-strip{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:18px;align-items:center;margin-top:60px}.portrait-strip button{padding:0;overflow:hidden;height:460px}.portrait-strip button:nth-child(2){height:340px}.portrait-strip img{object-position:center}.portrait-strip button:hover img{opacity:.8}.names{text-align:center;margin-top:55px}.names>.eyebrow{color:var(--muted)}.names>p:nth-child(2){font-family:Georgia,serif;font-size:clamp(20px,2.5vw,37px);line-height:1.7}.names span{color:var(--accent);padding:0 10px}.services{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;gap:20px;font-size:18px;padding:25px 0;cursor:pointer}summary::-webkit-details-marker{display:none}summary>span{color:var(--accent);font-size:10px}summary b{margin-left:auto;font-size:19px;font-weight:400}details[open] summary b{transform:rotate(45deg)}details>div{padding:0 30px 25px;font-size:13px;color:var(--muted)}details a{font-size:11px;color:var(--ink);border-bottom:1px solid var(--muted)}.about{background:#e5e0d6;color:#1c1c1a;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.about-image{position:relative}.about-image img{height:620px;object-fit:cover;object-position:50% 22%;filter:grayscale(1)}.about-image span{display:block;font-size:8px;letter-spacing:.1em;margin-top:12px}.about h2{font-size:clamp(45px,5vw,77px);margin-bottom:30px}.about p:not(.eyebrow){font-size:13px;color:#595951;max-width:420px}.about .eyebrow{color:#78503a}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;padding-top:130px;padding-bottom:130px}.contact .eyebrow{color:var(--accent)}.contact h2{margin-bottom:35px}.contact p{color:var(--muted);font-size:13px}.contact .email{display:block;font-size:clamp(15px,1.7vw,26px);letter-spacing:-.02em;margin:40px 0 20px}form{padding-top:20px}form label{display:block;font-size:10px;margin-bottom:22px;color:var(--muted)}input,select,textarea{display:block;width:100%;border:0;border-radius:0;border-bottom:1px solid #53534d;background:transparent;color:var(--ink);padding:12px 0;resize:vertical;font-size:13px}input::placeholder,textarea::placeholder{color:#82827b}select option{background:var(--bg)}.solid-button{background:var(--ink);color:var(--bg);width:100%;padding:17px 20px;display:flex;justify-content:space-between;font-size:12px}.solid-button:hover{background:var(--accent)}.contact .form-note{font-size:10px;margin-top:14px;line-height:1.7}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px var(--gutter);border-top:1px solid var(--line);font-size:9px}footer p{margin:0;color:var(--muted)}footer>a:first-child{font-size:13px;letter-spacing:-.04em}dialog{width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:25px var(--gutter);border:0;background:#0c0c0cf8;color:var(--ink)}dialog::backdrop{background:#000}body.viewer-open{overflow:hidden}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;height:50px;font-size:11px}.viewer-toolbar p{margin:0}.viewer-stage{height:calc(100% - 120px);display:grid;grid-template-columns:40px 1fr 40px;gap:20px;align-items:center}.viewer-stage img{object-fit:contain;min-height:0;max-height:100%;height:100%}.viewer-stage button{font-size:25px;padding:8px}.viewer-caption{display:flex;justify-content:space-between;gap:20px;font-size:11px;padding-top:15px;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1700px){.section{max-width:1900px;margin:auto}.hero-copy{max-width:1500px}.hero-bottom{max-width:1050px}}@media(max-width:1050px){nav{gap:15px}nav a{font-size:10px}.hero{min-height:730px}.portrait-strip button{height:360px}.portrait-strip button:nth-child(2){height:290px}.concert-note{flex-wrap:wrap}.services{gap:5vw}summary{font-size:15px;gap:12px}.about-image img{height:540px}}
@media(max-width:760px){html{scroll-padding-top:20px}header{padding-top:24px}.brand{font-size:17px}#menu-toggle{display:flex;align-items:center;gap:15px;font-size:11px}#menu-toggle span{font-size:22px}nav{display:none;position:absolute;top:100px;left:var(--gutter);right:var(--gutter);background:#151514;padding:25px;border:1px solid var(--line);align-items:stretch;gap:0}nav.open{display:flex;flex-direction:column}nav a{font-size:15px;padding:12px 0;border-bottom:1px solid var(--line)}.hero{height:92svh;min-height:680px;padding-top:180px;padding-bottom:95px}.hero-photo{object-position:44% 35%}.hero-shade{background:linear-gradient(90deg,#0006,#0000),linear-gradient(0deg,#000e,transparent 85%,#0009)}.hero-top{top:135px;font-size:7px}.hero-top span:last-child{display:none}h1{font-size:clamp(50px,12.8vw,96px)}.hero-copy .eyebrow{font-size:8px}.hero-bottom{gap:20px;margin-top:30px}.hero-bottom p{font-size:11px}.circle-link{font-size:9px;gap:12px}.circle-link b{width:45px;height:45px;font-size:20px}.hero-credit{font-size:7px}.section{padding:75px var(--gutter)}.section-heading{margin-bottom:30px}.section-heading>p:last-child{font-size:12px}.filters{gap:3px;padding:15px 0}.filters button{font-size:10px;padding:7px 10px}.gallery{columns:2;column-gap:12px}.photo-card{margin-bottom:20px}.photo-meta{font-size:9px;flex-direction:column;gap:3px}.photo-meta small{font-size:8px}.photo-card .zoom{width:25px;height:25px;font-size:12px;bottom:8px;right:8px}.project{grid-template-columns:1fr;gap:30px;margin:50px 0 75px}.project-photo{aspect-ratio:1.22}.project-copy h3{font-size:49px}.project-copy>p:not(.eyebrow){max-width:none}.reverse .project-photo,.reverse .project-copy{grid-column:auto;grid-row:auto}.concert-note{display:block}.concert-note p{font-size:23px;margin:20px 0}.portrait-strip{gap:8px;margin-top:35px;grid-template-columns:1fr 1fr}.portrait-strip button{height:260px}.portrait-strip button:nth-child(2){height:260px}.portrait-strip button:last-child{display:none}.names{margin-top:35px}.names>p:nth-child(2){font-size:19px}.names span{padding:0 4px}.services,.about,.contact{grid-template-columns:1fr;gap:35px}.service-list summary{font-size:17px;padding:20px 0}.about{gap:40px}.about-image img{height:440px;object-position:50% 25%}.about h2{font-size:58px}.about p:not(.eyebrow){max-width:none}.contact h2{font-size:60px}.contact .email{font-size:20px;margin:30px 0 15px}form{padding-top:0}footer{flex-wrap:wrap;padding:25px var(--gutter)}footer p{order:3;width:100%}dialog{padding:15px}.viewer-stage{grid-template-columns:28px 1fr 28px;gap:4px;height:calc(100% - 140px)}.viewer-toolbar{font-size:10px}.viewer-stage button{font-size:20px;padding:0}.viewer-caption{font-size:10px}.viewer-caption p{max-width:80%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}} 
/* Categories separate the overview from the complete photographic archives. */
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 25px}.category-card{display:block}.category-cover{aspect-ratio:4/3;overflow:hidden;background:var(--panel)}.category-cover img{transition:transform .5s}.category-card:hover img{transform:scale(1.025)}.category-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:18px;border-bottom:1px solid var(--line);padding-bottom:18px}.category-meta h3{font-size:25px;letter-spacing:-.035em}.category-meta>span{font-size:9px;color:var(--muted);white-space:nowrap}.category-page{padding-top:175px;min-height:90svh}.category-open header{position:absolute;background:var(--bg)}.back-link{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:45px}.category-heading{margin-bottom:50px}.category-heading .eyebrow{color:var(--accent)}.category-heading h1{font-size:clamp(55px,8vw,110px);margin:20px 0}.category-heading>p:not(.eyebrow){max-width:550px;color:var(--muted);font-size:13px}.category-heading>span{font-size:10px;color:var(--muted)}.category-page .photo-card{margin-bottom:20px}.gallery-end{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:45px;border-top:1px solid var(--line);padding-top:35px}.gallery-end .outline-button{margin:0;min-width:0}.hero-photo{object-position:50% 35%}.concert-note p{font-size:clamp(18px,1.7vw,25px)}
@media(max-width:1050px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-meta h3{font-size:23px}}
@media(max-width:760px){.category-grid{grid-template-columns:1fr;gap:35px}.category-meta h3{font-size:28px}.category-meta>span{font-size:10px}.category-page{padding-top:150px}.category-heading h1{font-size:55px}.category-heading{margin-bottom:35px}.gallery-end{align-items:start;flex-direction:column}.hero-photo{object-position:48% 25%}.hero-shade{background:linear-gradient(0deg,#000e,transparent 90%,#0008)}.category-page .photo-card{margin-bottom:12px}}

/* Simple navigation, deep blacks and restrained red accents. */
html{scroll-padding-top:110px}body{font-size:16px;line-height:1.7}header{position:fixed;min-height:90px;padding:18px var(--gutter);background:rgba(5,5,5,.97);border-bottom:1px solid #ffffff18}.brand{display:flex;align-items:center;gap:13px;font-size:18px;line-height:1.2;letter-spacing:-.025em}.brand .camera-mark{display:block;width:34px;height:28px;color:var(--accent);flex:none}.brand .brand-name{font-size:18px;font-weight:600;line-height:1.2;letter-spacing:-.025em;margin:0}.brand .brand-subtitle{font-size:9px;line-height:1.2;letter-spacing:.16em;font-weight:400;margin-top:6px;color:var(--muted)}nav{gap:24px}nav a{display:flex;align-items:center;min-height:44px;font-size:14px}.nav-contact{border:1px solid #a43a41;border-radius:3px;padding:5px 18px;color:#fff}.nav-contact:hover{background:#b72a32;color:#fff}h1 em{color:var(--ink)}h2{font-size:clamp(36px,4.5vw,66px);letter-spacing:-.04em;line-height:1.15}.hero-copy .eyebrow{color:#eee;font-size:11px}.hero-bottom{align-items:center;gap:30px}.hero-bottom p{font-size:16px;color:#e5e5e5}.circle-link{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:10px 22px;gap:25px;border-radius:3px;background:#b72a32;color:white;font-size:16px}.circle-link b{display:block;width:auto;height:auto;border:0;border-radius:0;font-size:23px}.circle-link:hover{background:#ec9096}.circle-link:hover b{background:none;color:inherit;transform:none}.hero-credit{font-size:10px}.section{padding-top:85px;padding-bottom:85px}.section-heading>p:last-child{font-size:16px;line-height:1.7}.projects{background:#0c0c0c}.project-copy>p:not(.eyebrow){font-size:16px;line-height:1.75}.project-copy dl{font-size:13px}.project-photo span{font-size:11px;padding:20px}.text-button{min-height:44px;display:inline-flex;align-items:center;font-size:15px;padding:10px 0}.outline-button{font-size:15px;border-radius:3px;min-height:48px}.category-meta h3{font-size:25px}.category-meta>span{font-size:12px}.category-card:hover .category-meta h3{color:var(--accent)}.category-card:focus-visible{outline-offset:8px}.category-heading>p:not(.eyebrow){font-size:16px}.category-heading>span{font-size:14px}.category-heading h1:focus{outline:none}.back-link{display:inline-flex;align-items:center;min-height:48px;font-size:15px;color:var(--ink);border-bottom:1px solid #a43a41;margin-bottom:30px}.about{background:#101010;color:var(--ink)}.about p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.8}.about .eyebrow{color:var(--accent)}.about h2{font-size:clamp(36px,4.5vw,66px)}.about-image span{font-size:10px}.contact h2{font-size:clamp(38px,5vw,70px)}.contact p{font-size:16px}.contact .email{overflow-wrap:anywhere}summary{min-height:60px;font-size:20px}details>div{font-size:16px}details a{font-size:15px;display:inline-flex;align-items:center;min-height:44px}.names>p:nth-child(2){font-family:Arial,Helvetica,sans-serif;font-size:clamp(20px,2.3vw,30px)}.names>.eyebrow{font-size:11px}.service-list details a{color:var(--ink)}form label{font-size:14px;color:var(--ink)}input,select,textarea{font-size:16px;min-height:48px;padding:12px 0}input::placeholder,textarea::placeholder{color:#a3a3a0}.solid-button{background:#b72a32;color:white;font-size:16px;min-height:52px;border-radius:3px}.solid-button:hover{background:#ec9096}.contact .form-note{font-size:13px}footer{font-size:12px}footer>a{display:inline-flex;align-items:center;min-height:44px}dialog{background:#050505}.viewer-toolbar{height:60px;font-size:14px;gap:18px}.viewer-toolbar button{min-height:48px;min-width:145px;padding:8px 16px;border:1px solid #555;border-radius:3px;font-size:14px}.viewer-stage{height:calc(100% - 125px);grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) 52px;gap:10px}.viewer-stage img{grid-column:1/-1;grid-row:1;width:100%;height:100%;object-fit:contain}.viewer-stage button{font-size:16px;min-height:48px;border:1px solid #555;border-radius:3px;padding:8px 18px;width:150px}.viewer-stage #previous{grid-column:1;grid-row:2;justify-self:start}.viewer-stage #next{grid-column:2;grid-row:2;justify-self:end}.viewer-stage button:hover{border-color:var(--accent)}.viewer-caption{font-size:13px;line-height:1.5;padding-top:14px}.category-open header{position:fixed;background:#050505}.category-page{padding-top:140px}.gallery-end .text-button{font-size:15px}.project-photo:focus-visible,.photo-card:focus-visible{outline-offset:4px}
@media(max-width:1050px){nav{gap:16px}nav a{font-size:13px}.brand .brand-name{font-size:16px}.brand .camera-mark{width:29px}.services{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:100px}header{padding:14px 20px;min-height:80px;gap:10px}.brand{gap:9px}.brand .brand-name{font-size:16px}.brand .brand-subtitle{font-size:8px}.brand .camera-mark{width:27px;height:25px}#menu-toggle{min-width:82px;min-height:48px;justify-content:center;gap:10px;padding:5px 10px;border:1px solid #555;border-radius:3px;font-size:15px}#menu-toggle span{font-size:20px}nav{top:79px;left:0;right:0;background:#0b0b0b;border:0;border-bottom:1px solid #444;padding:10px 24px 20px;max-height:calc(100svh - 80px);overflow:auto}nav a{font-size:18px;min-height:53px;padding:10px 0}.nav-contact{margin-top:8px;padding:8px 16px;justify-content:center;min-height:48px}.hero{height:auto;min-height:calc(100svh - 20px);padding:210px 22px 90px}.hero-copy .eyebrow{font-size:10px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:24px;margin-top:28px}.hero-bottom p{font-size:16px}.circle-link{font-size:16px;min-height:50px;padding:10px 20px;gap:35px}.circle-link b{font-size:22px}.hero-credit{font-size:8px;bottom:20px;left:22px;right:22px}.section{padding:55px 22px}.section-heading>p:last-child{font-size:16px;margin-top:18px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 15px}.category-cover{aspect-ratio:1}.category-meta{display:block;padding-top:12px;padding-bottom:12px}.category-meta h3{font-size:20px;line-height:1.25;min-height:25px}.category-meta>span{display:block;margin-top:7px;font-size:12px}.project{margin:40px 0 60px;gap:25px}.project-copy h3{font-size:44px;margin-bottom:20px}.project-copy>p:not(.eyebrow){font-size:16px}.project-copy dl{font-size:13px}.project-photo span{font-size:11px}.concert-note .eyebrow{font-size:10px}.concert-note p{line-height:1.8}.services,.about,.contact{gap:30px}.service-list summary{font-size:18px;padding:18px 0;gap:12px}.service-list summary>span{font-size:12px}details>div{padding-left:0;padding-right:0;font-size:16px}.about h2{font-size:40px}.about-image img{height:400px}.contact h2{font-size:44px}.contact p{font-size:16px}.contact .email{font-size:20px;margin-top:25px}.category-page{padding-top:115px}.category-heading h1{font-size:44px;letter-spacing:-.04em}.category-heading>p:not(.eyebrow){font-size:16px}.category-heading .eyebrow{font-size:10px}.back-link{font-size:15px;min-height:48px}.viewer-toolbar{font-size:13px;height:65px}.viewer-toolbar button{font-size:13px;min-width:135px}.viewer-stage{height:calc(100% - 145px);gap:12px}.viewer-stage button{font-size:15px;min-width:130px;width:auto;min-height:48px}.viewer-caption{font-size:12px;gap:12px}.gallery-end{gap:18px}.gallery-end .outline-button{width:100%;text-align:center}.names{margin-top:30px}.names>p:nth-child(2){font-size:21px;line-height:1.8}.names>p:nth-child(2) br{display:none}footer{padding:20px 22px;font-size:12px}footer p{order:3}.contact .form-note{font-size:13px}}
@media(max-width:359px){.brand .brand-name{font-size:14px}.brand .camera-mark{width:24px}.category-meta h3{font-size:18px}#menu-toggle{min-width:76px;padding:4px 8px}.hero h1{font-size:46px}.viewer-toolbar button{min-width:125px;font-size:12px}}

/* Gold identity: the photographs carry the color, the interface stays quiet. */
:root{--theme-color:#b72a32;--theme-light:#ec9096;--heading-font:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;--body-font:"Segoe UI",Arial,Helvetica,sans-serif}body{font-family:var(--body-font)}h1,h2,h3{font-family:var(--heading-font);font-weight:400}h1{font-size:clamp(62px,6.7vw,104px);letter-spacing:-.035em;line-height:1.03;color:var(--theme-light)}h1 em{font-family:Georgia,"Times New Roman",serif;color:var(--theme-light);font-style:italic;letter-spacing:-.04em}.hero-copy{max-width:1100px}.hero-copy h1{max-width:1050px}.hero{padding-bottom:100px}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.6),transparent 85%),linear-gradient(0deg,#000d,transparent 90%,#0008)}.hero-bottom{margin-top:35px;justify-content:flex-start}.circle-link,.solid-button{background:var(--theme-color);color:#10100e;border-color:var(--theme-color)}.circle-link:hover,.solid-button:hover{background:var(--theme-light);color:#10100e}.nav-contact{border-color:#a43a41;color:var(--theme-light)}.nav-contact:hover{background:var(--theme-color);color:#10100e}.brand .camera-mark{color:var(--theme-color);height:36px;width:36px}.brand .brand-name{font-weight:500;letter-spacing:.045em;font-size:16px}.brand .brand-subtitle{letter-spacing:.19em}.back-link{border-color:#a43a41}.category-meta h3{font-size:29px}.project-copy h3{font-size:clamp(44px,4.4vw,68px)}.section-heading h2{font-size:clamp(40px,4.5vw,66px)}.category-heading h1{color:var(--ink)}.category-meta>span{color:#bbb8b1}.mobile-break{display:none}.category-card .category-cover img{object-position:center}.category-card[href="#galeria/mascotas"] img{object-position:center 35%}.category-card[href="#galeria/summer-kamp"] img{object-position:center 42%}.category-card[href="#galeria/teatro"] img{object-position:center}.project-photo[data-project="summer"] img{object-position:center 45%}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;columns:auto;align-items:start}.gallery .photo-card,.category-page .photo-card{margin:0}.gallery .image-wrap{width:100%}.gallery img{width:100%;height:auto}.about h2,.contact h2{font-family:var(--heading-font)}.service-list summary>span{color:var(--theme-light)}.viewer-toolbar button:hover{border-color:var(--theme-color)}
@media(max-width:1050px){h1{font-size:clamp(60px,7.5vw,90px)}.brand .brand-name{font-size:15px}}
@media(max-width:760px){.hero{padding:190px 22px 75px;min-height:100svh;align-items:flex-end}.hero h1{font-size:clamp(46px,10vw,66px);line-height:1.08;letter-spacing:-.035em}.hero h1 em{letter-spacing:-.03em}.mobile-break{display:initial}.hero-bottom{margin-top:30px;gap:0}.brand .camera-mark{width:30px;height:30px}.brand .brand-name{font-size:15px;letter-spacing:.015em}.brand .brand-subtitle{font-size:9px}.category-meta h3{font-size:23px;line-height:1.2}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-copy h3{font-size:48px}.category-heading h1{font-size:48px}.section-heading h2{font-size:42px}.about h2{font-size:42px}.contact h2{font-size:46px}}
@media(max-width:359px){.brand .brand-name{font-size:13px}.brand .camera-mark{width:27px;height:27px}.hero h1{font-size:44px}.category-meta h3{font-size:21px}}

/* Red comparison with the same typography and layout. */
.circle-link,.solid-button{background:#b72a32;color:#fff;border-color:#b72a32}.circle-link:hover,.solid-button:hover{background:#d13b46;color:#fff}.nav-contact{border-color:#a43a41;color:#f0b8bb}.nav-contact:hover{background:#b72a32;color:white}.brand .camera-mark{color:#ed6a70}.back-link{border-color:#a43a41}
.category-card[href="#galeria/retratos"] img{object-position:50% 33%}.category-card[href="#galeria/estudio"] img{object-position:50% 25%}

/* Restored gold palette; category order and selections are preserved. */
:root{--accent:#d6bc83;--theme-color:#c9ac70;--theme-light:#e1cb9e}.circle-link,.solid-button{background:#c9ac70;color:#10100e;border-color:#c9ac70}.circle-link:hover,.solid-button:hover{background:#e1cb9e;color:#10100e}.nav-contact{border-color:#9b814b;color:#e1cb9e}.nav-contact:hover{background:#c9ac70;color:#10100e}.brand .camera-mark{color:#c9ac70}.back-link{border-color:#8b7445}

/* Portrait covers keep the subject and the ring inside the frame. */
.category-card[href="#galeria/estudio"] .category-cover{aspect-ratio:1;background:#e9edef}.category-card[href="#galeria/estudio"] img{object-fit:contain;object-position:center;padding:8px}.category-card[href="#galeria/bodas"] .category-cover{aspect-ratio:1}.category-card[href="#galeria/bodas"] img{object-fit:cover;object-position:50% 33%}.category-card[href="#galeria/restaurante"] img{object-position:50% 45%}

/* Portadas uniformes y encuadres revisados */
.category-grid .category-card .category-cover{aspect-ratio:1}
.category-card[href="#galeria/bautizos"] img{object-fit:contain;object-position:center}
.category-card[href="#galeria/retratos"] img{object-position:50% 25%}
.category-card[href="#galeria/teatro"] img{object-position:48% 50%}
.category-card[href="#galeria/restaurante"] img{object-position:47% 50%}

/* Nuevas galerías y movimiento progresivo, sin dependencias externas. */
.category-card[href="#galeria/eventos-corporativos"] img{object-position:60% 45%}
.category-card[href="#galeria/titulaciones"] .category-cover{background:#090d15}
.category-card[href="#galeria/titulaciones"] img{object-fit:contain;object-position:center}
.event-navigation{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 55px}
.event-navigation[hidden]{display:none}
.event-navigation button{min-height:44px;padding:10px 17px;border:1px solid var(--line);border-radius:2px;font-size:13px;text-align:left;transition:border-color .25s,color .25s,background .25s}
.event-navigation button:hover{border-color:var(--theme-color);color:var(--theme-light);background:#17140e}
.gallery.grouped-gallery{display:block}
.event-section{margin:0 0 80px;scroll-margin-top:120px}
.event-heading{margin-bottom:28px;border-top:1px solid var(--line);padding-top:26px}
.event-heading h2{font-size:clamp(30px,3.6vw,48px);letter-spacing:-.035em;line-height:1.15;margin-bottom:12px}
.event-heading p{color:var(--muted);max-width:650px;margin:0}
.event-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
@media(prefers-reduced-motion:no-preference){
 .category-cover img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s}
 .category-card:hover .category-cover img{transform:scale(1.025)}
 .reveal-pending{opacity:0;transform:translateY(22px)}
 .reveal-visible{animation:reveal-in .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--reveal-delay,0ms)}
 dialog[open]{animation:dialog-in .25s ease-out}
 @keyframes reveal-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
 @keyframes dialog-in{from{opacity:0}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-pending,.reveal-visible{opacity:1;transform:none;animation:none!important}*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.event-navigation{gap:8px;margin-bottom:35px}.event-navigation button{font-size:12px;padding:9px 12px}.event-section{margin-bottom:50px;scroll-margin-top:105px}.event-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-card[href="#galeria/titulaciones"] h3,.category-card[href="#galeria/eventos-corporativos"] h3{font-size:21px}}
@media print{.reveal-pending,.reveal-visible{opacity:1;transform:none;animation:none}}

/* Fast previews reserve their dimensions and load only near the viewport. */
.category-cover,.image-wrap{background:#111}
img[data-pending]{opacity:0}
@media(prefers-reduced-motion:no-preference){img.image-ready{animation:picture-in .22s ease-out both}.reveal-visible{animation-duration:.4s}@keyframes picture-in{from{opacity:0}to{opacity:1}}}
