:root{--paper:#f1f0eb;--ink:#1d211e;--muted:#787b73;--line:#d5d6cd;--accent:#dcff88}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #699c2e;outline-offset:5px}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:20px}.skip:focus{top:0}header{height:104px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:#151615;color:white}.brand{width:145px;height:90px;display:flex;align-items:center}.brand img{width:130px;height:85px;object-fit:contain}nav{display:flex;gap:36px;font-size:14px}.contact-top{font-size:14px;border-bottom:1px solid #73776b;padding:12px 0}.contact-top span{margin-left:30px;color:var(--accent)}.hero{height:min(780px,calc(100svh - 104px));min-height:550px;position:relative;color:white;background:#30382c;overflow:hidden}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.02)),linear-gradient(0deg,rgba(0,0,0,.48),transparent 45%)}.hero-content{position:relative;padding:7% 6% 0;max-width:1500px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:500;margin:0 0 30px}h1{font-size:clamp(55px,6.9vw,110px);letter-spacing:-5px;line-height:1.04;font-weight:400;margin:0 0 65px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1 em{color:var(--accent)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;max-width:610px}.hero-bottom p{font-size:18px;line-height:1.6}.round-link{display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;height:62px;width:62px;font-size:25px}.round-link:hover{background:var(--accent);color:var(--ink)}.hero-caption{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px}.section{padding:110px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}h2{font-size:clamp(40px,4.5vw,68px);line-height:1.08;font-weight:400;letter-spacing:-2.5px;margin:0}.section-heading>p{font-size:15px;line-height:1.7;color:#686d63;margin-bottom:5px}.filter-bar{border-top:1px solid var(--line);padding:24px 0 30px;display:flex;justify-content:space-between;gap:15px;align-items:center}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{border:1px solid transparent;background:none;padding:10px 16px;border-radius:30px;font-size:13px}.filters button:hover{border-color:#929887}.filters button.active{background:var(--ink);color:white}#count{font-size:12px;color:#686d63;white-space:nowrap}.grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 26px}.project{border:0;background:none;text-align:left;padding:0;color:inherit;min-width:0}.project-img{aspect-ratio:1.5;overflow:hidden;background:#ddd}.project img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project:hover img{transform:scale(1.04)}.project-meta{display:flex;justify-content:space-between;align-items:start;padding-top:17px;gap:12px}.project h3{font-size:21px;font-weight:400;margin:0 0 7px;letter-spacing:-.4px}.project p{font-size:11px;letter-spacing:1px;color:#6b7066;margin:0}.project-meta>span{font-size:24px}.more{display:block;width:100%;text-align:left;margin-top:50px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;background:none}.more span{float:right}.studio{background:#252d25;color:#eff2e7}.studio .eyebrow{color:#bbc6ad}.studio-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:80px}.studio h2{font-size:clamp(38px,4vw,60px)}.studio h2 em{color:var(--accent)}.studio p{line-height:1.85;color:#bbc4b6;font-size:15px}.studio p.lead{font-size:23px;color:#f2f3ed;line-height:1.5;margin-top:0}.text-link{display:inline-block;border-bottom:1px solid #67715f;padding:15px 0;margin-top:20px}.services h2{margin-bottom:60px}.service{display:grid;grid-template-columns:60px 1fr 1fr;gap:25px;border-top:1px solid var(--line);padding:32px 0}.service>span{font-size:12px;color:#767d70}.service h3{font-weight:400;font-size:25px;margin:0}.service p{margin:0;color:#6a7063;line-height:1.6;font-size:14px}.contact{background:var(--accent)}.contact h2{max-width:1050px}.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:65px 0 60px}.contact-links>a{border-top:1px solid #8eac5a;padding-top:25px;font-size:23px}.contact-links small{display:block;font-size:15px;margin-top:15px}.contact-bottom{display:flex;justify-content:space-between;font-size:14px}.contact-bottom p{margin:0}.contact-bottom a{margin-left:25px}footer{padding:30px 6%;display:flex;justify-content:space-between;font-size:11px;background:#151615;color:#b8bdb3}dialog{border:0;padding:28px;background:#161916;color:white;width:min(1300px,96vw);max-width:96vw;max-height:95svh}dialog::backdrop{background:#000d}.viewer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.viewer-top h2{font-size:26px;letter-spacing:-.7px}.viewer-top .eyebrow{margin-bottom:9px;font-size:9px}.viewer-top button{border:1px solid #62695d;border-radius:50%;background:none;color:white;width:44px;height:44px}.viewer-image-wrap{position:relative;background:#0c0e0c;height:58svh;display:flex;justify-content:center}.viewer-image-wrap img{max-width:100%;height:100%;object-fit:contain}.viewer-image-wrap button{position:absolute;top:45%;background:#191e19c9;color:white;border:1px solid #6f7865;border-radius:50%;height:45px;width:45px}#prev{left:12px}#next{right:12px}.viewer-bottom{display:flex;justify-content:space-between;padding:18px 0;font-size:12px;color:#dce7d2}.thumbs{display:flex;gap:8px;overflow:auto}.thumbs button{padding:0;border:2px solid transparent;background:none;flex-shrink:0}.thumbs button.active{border-color:var(--accent)}.thumbs img{display:block;width:76px;height:50px;object-fit:cover}[hidden]{display:none!important}@media(min-width:1500px){.section{padding-left:max(6%,calc((100% - 1400px)/2));padding-right:max(6%,calc((100% - 1400px)/2))}}@media(max-width:700px){header{height:86px;padding:0 6%}.brand{width:105px}.brand img{width:100px;height:75px}nav{gap:16px;font-size:12px}nav a:last-child{display:none}.contact-top{font-size:12px}.contact-top span{margin-left:8px}.hero{height:680px;min-height:0;max-height:calc(100svh - 86px)}.hero-content{padding-top:70px}.hero .eyebrow{font-size:9px}h1{letter-spacing:-2.5px;font-size:clamp(48px,9vw,65px);margin-bottom:35px}.hero-bottom p{font-size:15px}.hero-caption{font-size:8px;gap:20px}.hero-caption span:last-child{display:none}.section{padding:70px 6%}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px}h2{letter-spacing:-1.5px}.filter-bar{display:block}.filters{gap:3px}.filters button{padding:10px 12px;font-size:11px}#count{display:block;margin-top:20px}.grid{gap:30px;grid-template-columns:1fr}.project h3{font-size:21px}.studio-layout{grid-template-columns:1fr;gap:35px}.studio p.lead{font-size:21px}.service{grid-template-columns:25px 1fr;gap:15px}.service h3{font-size:21px}.service p{grid-column:2}.contact-links{grid-template-columns:1fr;gap:30px;margin:45px 0}.contact-links>a{font-size:20px}.contact-bottom{display:block}.contact-bottom div{margin-top:25px}.contact-bottom a{margin:0 20px 0 0}footer{gap:20px;font-size:10px}dialog{padding:18px}.viewer-top h2{font-size:21px}.viewer-image-wrap{height:48svh}.viewer-bottom{gap:20px;line-height:1.5}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 25px;margin-top:35px}.directory a{padding:16px 0;border-top:1px solid var(--line);line-height:1.5;overflow-wrap:anywhere}.directory small{display:block;color:#62685d}.project-page{max-width:1450px;margin:auto}.project-page h1{font-size:clamp(36px,6vw,80px);letter-spacing:-2px;overflow-wrap:anywhere;margin-bottom:24px}.project-page>p{line-height:1.8;max-width:800px}.project-page figure{margin:45px 0}.project-page figure img{display:block;width:100%;height:auto}.project-page figcaption{font-size:12px;margin-top:12px;color:#5c6355}.related-title{margin-top:65px;font-size:34px}button,a{touch-action:manipulation}.filters button{min-height:44px}.brand img{aspect-ratio:2048/1462} @media(min-width:701px) and (max-width:1024px){.studio-layout{gap:35px}.service{grid-template-columns:35px 1fr 1fr}.hero{min-height:570px}.hero-content{padding-top:70px}.contact-links>a{font-size:20px}} @media(max-width:700px){.directory{grid-template-columns:1fr 1fr;font-size:13px}.contact-top{min-height:44px;display:flex;align-items:center}nav a{padding:14px 0}.hero-content{padding-top:45px}.viewer-top button{flex-shrink:0}.viewer-top{gap:15px}} @media(max-width:380px){header nav{gap:10px}.contact-top{font-size:10px}.brand,.brand img{width:85px}.directory{grid-template-columns:1fr}h1{font-size:46px}}

/* Black portfolio direction */
:root{--paper:#080808;--ink:#f1f1ed;--muted:#b1b1ab;--line:#343434;--accent:#fff}body,header,footer,.studio,.contact{background:#080808;color:#f1f1ed}.hero{background:#141414}.hero-shade{background:linear-gradient(90deg,#0009,transparent 85%),linear-gradient(0deg,#0008,transparent 55%)}h1 em,.studio h2 em{color:#fff}.section-heading>p,.service p,.project p,.studio p,.project-page figcaption,.directory small,#count{color:#b1b1ab}.studio .eyebrow,.studio p.lead{color:#efefeb}.studio,.contact,.services{border-top:1px solid #343434}.contact-links>a{border-color:#555}.project-img{background:#181818}.filters button{color:#d0d0cb}.filters button.active{background:#f1f1ed;color:#080808}.filters button:hover{border-color:#aaa}.round-link:hover{background:#fff;color:#000}.contact-top span{color:#fff}.grid{gap:42px 22px}.project-meta{padding-top:14px}.project h3{font-size:19px}.project-page figure{background:#111}.hero-content{padding-top:6%}.hero h1{font-size:clamp(50px,6vw,88px)}.project-directory{border-top:1px solid #343434}.project-directory h2{font-size:32px}.project-directory>p{color:#b1b1ab}.studio-layout{gap:65px}a:focus-visible,button:focus-visible{outline-color:#fff}@media(max-width:700px){.hero-content{padding-top:55px}.hero h1{font-size:clamp(45px,9vw,65px)}.studio-layout{gap:30px}}

:root{--paper:#000;--ink:#f5f5f2;--line:#343434}body,header,footer,.studio,.contact,.services,.projects,.project-directory,.references{background:#000}.hero-night{opacity:1}.hero-day{opacity:0;transition:opacity 2.8s ease-in-out}.hero.day .hero-day{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.42),transparent 73%),linear-gradient(0deg,rgba(0,0,0,.24),transparent 30%)}.hero-controls{display:flex;gap:8px;align-items:center;pointer-events:auto}.hero-controls button{min-height:44px;padding:0 14px;border:1px solid #ffffff90;border-radius:24px;background:#0008;color:#fff;font-size:11px}.hero-controls button[aria-pressed="true"]{background:#fff;color:#000}.reference-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.reference-logo{background:#fff;display:flex;align-items:center;justify-content:center;min-height:160px;padding:18px}.reference-logo img{width:100%;max-width:170px;height:140px;object-fit:contain}.references{border-top:1px solid var(--line)}header nav{gap:24px}.hero-image{filter:none}.project img{filter:none;opacity:1}@media(max-width:900px){.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}header nav{gap:14px}}@media(max-width:700px){header nav a[href="#studio"]{display:none}header nav a[href="#references"]{display:block}.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reference-logo{min-height:115px;padding:12px}.reference-logo img{height:95px}.hero-caption{align-items:center;gap:12px}.hero-controls{gap:5px}.hero-controls button{padding:0 10px;font-size:10px}.hero-caption #hero-project{max-width:140px;line-height:1.7}}@media(prefers-reduced-motion:reduce){.hero-day{transition:none}}

/* V6 navigation and gallery corrections */
html{scroll-padding-top:0}#projects{scroll-margin-top:0;padding-top:70px}#viewer,.viewer-top,.viewer-image-wrap,.viewer-bottom,.thumbs{background:#000}#viewer{border:1px solid #333;box-shadow:0 20px 80px #0008}#viewer::backdrop{background:rgba(0,0,0,.88)}.viewer-image-wrap button{background:#000c;border-color:#666}.project.gallery-return:focus,.project.gallery-return:focus-visible{outline:none;box-shadow:none}.hero-day{transition-duration:1.8s}.back-top{position:fixed;right:24px;bottom:28px;z-index:20;display:flex;align-items:center;gap:9px;padding:12px 16px;min-height:46px;border:1px solid #777;border-radius:28px;background:#000e;color:#fff;font-size:12px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}.back-top.visible{opacity:1;visibility:visible;transform:none}.back-top:hover{background:#fff;color:#000}.back-top>span:first-child{font-size:20px}@media(max-width:700px){#projects{padding-top:55px}.back-top{right:14px;bottom:18px;padding:10px 14px}}@media(prefers-reduced-motion:reduce){.hero-day,.back-top{transition:none}}

.studio-services{margin-top:65px}.expertise-heading{font-size:30px;font-weight:400;letter-spacing:-1px;margin:0 0 30px}.studio-services .service{border-color:#343434}.studio-services .service p{margin:0;color:#b1b1ab}.studio-services .service>span{color:#b1b1ab}@media(max-width:700px){header nav a[href="#studio"]{display:block}header nav{gap:10px;font-size:11px}.contact-top{display:none}.studio-services{margin-top:45px}.expertise-heading{font-size:26px}}

.whatsapp-contact{display:flex;align-items:center;justify-content:space-between;gap:20px}.whatsapp-contact svg{flex-shrink:0}.whatsapp-contact:hover svg{color:#25d366}

/* V10: viewport-aware section rhythm and contact alignment */
#studio,#references,#contact{padding-top:52px;padding-bottom:52px;scroll-margin-top:0}.studio .eyebrow,.references .eyebrow,.contact .eyebrow{margin-bottom:24px}.studio-layout{gap:60px}.studio h2{font-size:clamp(36px,3.4vw,54px)}.studio p.lead{font-size:21px;line-height:1.5}.studio .text-link{margin-top:5px;padding:10px 0}.studio-services{margin-top:32px}.expertise-heading{font-size:26px;margin-bottom:20px}.studio-services .service{padding:22px 0}.studio-services .service h3{font-size:23px}.references .section-heading{margin-bottom:32px}.references h2{font-size:clamp(38px,3.7vw,58px)}.reference-grid{gap:16px}.reference-logo{min-height:138px;padding:12px}.reference-logo img{height:114px}.contact{min-height:calc(100svh - 64px);display:flex;flex-direction:column;justify-content:flex-start}.contact h2{font-size:clamp(40px,4.2vw,64px)}.contact-links{margin-top:38px;margin-bottom:38px}.contact-links>a{padding-top:20px}.contact-links>.whatsapp-contact{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;color:#fff}.whatsapp-contact svg{width:36px;height:36px;color:#fff;transition:color .2s}.whatsapp-contact:hover svg,.whatsapp-contact:focus-visible svg{color:#25d366}.contact-bottom{margin-top:10px}footer{min-height:64px;align-items:center}html{scroll-padding-top:0}@media(max-width:900px){.studio-layout{gap:30px}.studio-services .service{grid-template-columns:30px 1fr 1fr;gap:16px}.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){#studio,#references,#contact{padding-top:38px;padding-bottom:42px}.studio-layout{grid-template-columns:1fr;gap:25px}.studio-services{margin-top:30px}.studio-services .service{grid-template-columns:25px 1fr}.studio-services .service p{grid-column:2}.studio-services .service h3{font-size:20px}.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-logo{min-height:110px}.reference-logo img{height:88px}.contact{min-height:calc(100svh - 70px)}.contact-links{margin-top:30px;margin-bottom:30px}.contact-links>.whatsapp-contact{gap:14px}footer{padding-right:125px}}@media(prefers-reduced-motion:reduce){.whatsapp-contact svg{transition:none}}

/* V11: keep short editorial sections at least one viewport tall. */
#studio,#references{min-height:100svh;box-sizing:border-box}#contact{min-height:calc(100svh - 64px)}

.service-link{color:inherit;transition:background .2s}.service-link:hover{background:#101010}.service-link h3::after{content:' ↗';font-size:16px;opacity:0;transition:opacity .2s}.service-link:hover h3::after,.service-link:focus-visible h3::after{opacity:1}.service-link:focus-visible{outline:2px solid #fff;outline-offset:4px}@media(hover:none){.service-link h3::after{opacity:1}}

img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}


/* V17: consistent 16:9 presentation, original compositions preserved. */
.project-img{aspect-ratio:16/9;background:#000}.project-img img{width:100%;height:100%;object-fit:contain}.project:hover img{transform:none}.viewer-image-wrap{position:relative;width:min(100%,calc(60svh * 16 / 9));height:auto;aspect-ratio:16/9;margin:0 auto;background:#000}.viewer-image-wrap img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain}.viewer-image-wrap button{z-index:2}.project-page figure{position:relative;background:#000}.project-page figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000}.project-page figcaption{position:static}.thumbs img{object-fit:contain;background:#000}@media(max-width:700px){.viewer-image-wrap{height:auto;width:100%;aspect-ratio:16/9}}

/* V20: gallery controls contain icons, not selectable arrow text. */
#viewer button,#viewer button *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#viewer button svg{pointer-events:none;display:block;margin:auto}#viewer button{display:inline-grid;place-items:center}
