:root{--red:#d71939;--ink:#202122;--muted:#656565;--line:#dddeda;--paper:#f4f4f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}header{height:98px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}.logo{width:202px;height:auto}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a:hover,.text-link:hover{color:var(--red)}.nav-contact{border-left:1px solid var(--line);padding-left:30px;font-weight:700}.nav-contact span{margin-left:20px;color:var(--red)}.menu{display:none}.hero{display:grid;grid-template-columns:45% 55%;min-height:640px;background:var(--paper)}.hero-copy{padding:80px 10% 42px 11%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--red);margin:0 0 26px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.1vw,78px);line-height:1.05;letter-spacing:-3px;font-weight:500;margin-bottom:28px}h2{font-size:clamp(32px,3.1vw,48px);font-weight:500;line-height:1.15;letter-spacing:-1.5px;margin-bottom:26px}h3{font-size:23px;line-height:1.25;font-weight:500;margin-bottom:14px}.intro{font-size:18px;color:var(--muted);max-width:380px;line-height:1.7;margin-bottom:32px}.button{display:inline-flex;gap:30px;justify-content:space-between;align-items:center;background:var(--red);color:white;padding:17px 23px;font-size:14px;font-weight:700}.button:hover{background:#ae102c}.hero-note{display:flex;gap:22px;font-size:10px;letter-spacing:1.6px;color:var(--muted);margin-top:62px}.hero-photo{position:relative;min-height:580px;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:54% center}.photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);padding:70px 30px 22px;color:#fff;display:flex;justify-content:space-between;font-size:12px;gap:15px}.section{padding:96px 5%}.section-top{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:45px}.section-top h2{margin-bottom:0}.section-top>p{max-width:365px;color:var(--muted);margin-bottom:0}.offers{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.offers>a{padding:32px 26px 22px;position:relative;border-right:1px solid var(--line)}.offers>a:first-child{padding-left:0}.offers>a:last-child{border:0}.offers>a:hover h3{color:var(--red)}.number{font-size:12px;color:var(--muted);display:block;margin-bottom:38px}.offers p{font-size:14px;color:var(--muted);max-width:240px;min-height:65px}.arrow{color:var(--red);font-size:24px}.gallery-section{background:var(--paper)}.filters{display:flex;gap:10px;margin-bottom:30px}.filters button{border:1px solid #c6c6c2;padding:9px 23px;background:transparent;border-radius:30px;font-size:14px}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px}.gallery button{border:0;background:transparent;text-align:left;padding:0;color:var(--ink)}.gallery img{width:100%;height:295px;object-fit:cover;transition:filter .2s}.gallery button:hover img{filter:brightness(.87)}.gallery .caption{display:flex;justify-content:space-between;padding-top:13px;font-size:14px}.gallery .caption span:last-child{color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-image{position:relative}.about-image img{width:100%;height:500px;object-fit:cover}.about-image>span{position:absolute;bottom:0;left:0;background:var(--ink);color:#fff;padding:18px 24px;font-size:14px}.about p:not(.eyebrow){color:var(--muted)}.principles{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid var(--line);padding:25px 0;font-size:14px}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid var(--red);padding-bottom:8px}.process{border-top:1px solid var(--line)}.steps{list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:0;margin:60px 0 0}.steps li{border-top:1px solid var(--line);padding-top:24px;counter-increment:steps}.steps li:before{content:'0' counter(steps);color:var(--red);font-size:14px;display:block;margin-bottom:24px}.steps h3{font-size:20px}.steps p,.vat{font-size:14px;color:var(--muted)}.vat{margin:24px 0 0}.contact{background:var(--ink);color:#fff;display:grid;grid-template-columns:1.25fr 1fr;gap:10%}.contact .eyebrow{color:#ff8395}.contact h2{font-size:clamp(36px,4vw,60px);margin-bottom:35px}.phone{display:block;font-size:clamp(26px,3vw,42px);letter-spacing:-1px}.email{display:block;font-size:18px;margin:8px 0}.secondary{color:#b6b6b6;font-size:14px}.studio{border-left:1px solid #515151;padding-left:16%;align-self:center}.studio address{font-style:normal;color:#d4d4d4;font-size:20px}.studio>p:not(.eyebrow){color:#b6b6b6;margin:24px 0;max-width:300px;font-size:14px}.light{background:#fff;color:var(--ink)}.light:hover{background:#e5e5e5}footer{background:var(--ink);color:#aaa;padding:25px 5%;border-top:1px solid #444;display:flex;justify-content:space-between;font-size:12px}.skip{position:fixed;top:-100px;padding:15px;background:#fff;z-index:99}.skip:focus{top:0}:focus-visible{outline:3px solid #df4760;outline-offset:5px}dialog{border:0;padding:45px 20px 15px;background:#fff;max-width:95vw;max-height:95vh}dialog::backdrop{background:#000c}dialog img{max-height:77vh;max-width:85vw;object-fit:contain;margin:auto}dialog p{margin:10px 0 0;font-size:14px}.close{position:absolute;right:8px;top:0;font-size:32px;border:0;background:white;line-height:40px;width:44px}[hidden]{display:none!important}@media(min-width:1500px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:18px}.hero-copy{padding-top:65px}h1{font-size:54px}.hero-note{gap:12px}.gallery img{height:230px}.section{padding:70px 5%}.offers>a{padding-right:15px;padding-left:15px}.offers h3{font-size:20px}.about{gap:6%}}@media(max-width:720px){header{height:80px}.logo{width:160px}.menu{display:block;border:1px solid var(--line);background:#fff;padding:6px 12px;font-size:14px}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:24px 5%;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:20px}nav.open{display:flex}.nav-contact{padding:0;border:0}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6% 35px}h1{font-size:56px;letter-spacing:-2px}.hero-note{margin-top:35px;gap:25px}.hero-photo{min-height:360px}.photo-caption{font-size:11px;padding:50px 20px 15px}.section{padding:60px 6%}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:22px}.eyebrow{margin-bottom:20px;font-size:11px}.offers{grid-template-columns:1fr 1fr}.offers>a{padding:25px 18px!important}.offers>a:nth-child(2){border-right:0}.offers>a:nth-child(-n+2){border-bottom:1px solid var(--line)}.number{margin-bottom:22px}.gallery{grid-template-columns:1fr 1fr;gap:22px 14px}.gallery img{height:210px}.gallery .caption{font-size:12px;gap:10px}.gallery .caption span:last-child{display:none}.filters button{padding:9px 17px}.about{grid-template-columns:1fr;gap:35px}.about-image img{height:340px}.steps{grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.contact{grid-template-columns:1fr;gap:42px}.studio{padding:30px 0 0;border-left:0;border-top:1px solid #515151}.contact h2{font-size:42px}footer{flex-wrap:wrap;gap:14px}footer>span:nth-child(2){display:none}}@media(max-width:400px){h1{font-size:48px}.gallery{grid-template-columns:1fr}.gallery img{height:280px}.steps{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Contemporary portfolio direction */
:root{--ink:#171a1c;--red:#e91d43;--paper:#f1f2f2}
body{background:#fbfbfa}header{height:88px;margin:18px 3% 0;padding:0 28px;border-radius:18px;position:absolute;left:0;right:0;box-shadow:0 8px 35px #0001;border:0}.logo{width:185px}.nav-contact{background:var(--ink);color:white;padding:12px 20px;border:0;border-radius:30px}.nav-contact:hover{color:#fff;background:var(--red)}
.hero{display:block;position:relative;min-height:820px;height:94vh;max-height:1080px;background:#171a1c;color:#fff;isolation:isolate}.hero-photo{position:absolute;inset:0;min-height:0;z-index:-2}.hero-photo>img{object-position:center 56%;filter:brightness(.75)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080d12dd 0%,#080d1270 52%,#080d1200 100%)}.hero-copy{padding:210px 6% 70px;max-width:1100px}.hero .eyebrow{color:#fff;letter-spacing:3px}.hero h1{font-size:clamp(68px,7.7vw,118px);line-height:.99;letter-spacing:-5px;font-weight:500;max-width:980px}.hero h1 em{font-family:Georgia,serif;font-weight:400}.hero .intro{color:#e2e3e5;max-width:425px;font-size:18px}.button{border-radius:40px;padding:18px 26px}.hero-note{color:#fff;gap:30px;margin-top:45px}.photo-caption{background:none;left:auto;bottom:45px;right:5%;padding:0;flex-direction:column;border-left:1px solid #ffffff66;padding-left:20px}.photo-caption span:first-child{font-size:16px}.photo-caption span:last-child{color:#ddd}
.section{padding:110px 6%}h2{font-size:clamp(36px,4vw,62px);letter-spacing:-2px}.section-top{align-items:center}.offers{border:0;gap:14px}.offers>a{background:#eef0f0;border:0!important;border-radius:18px;padding:30px!important;transition:background .2s,transform .2s}.offers>a:hover{background:#e4e7e7;transform:translateY(-4px)}.offers .number{margin-bottom:50px}.offers .arrow{display:block;width:42px;height:42px;border:1px solid #c5c8c8;border-radius:50%;text-align:center}.offers p{font-size:15px}
.gallery-section{background:#171a1c;color:#fff;overflow:hidden}.gallery-section .eyebrow{color:#ff7c94}.gallery-section .section-top>p{color:#aeb5ba}.gallery-section .section-top h2{max-width:650px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;margin:50px 0 30px;gap:20px}.filters{margin:0;gap:12px}.filters button{color:#aeb5ba;border:1px solid #485055;padding:12px 25px;font-size:18px}.filters button[aria-pressed=true]{background:#fff;color:#171a1c;border-color:#fff}.filters button span{font-size:12px;vertical-align:super;margin-left:12px}.gallery-controls{display:flex;align-items:center;gap:12px}.gallery-controls button,.modal-prev,.modal-next{height:48px;width:48px;border:1px solid #626a6f;border-radius:50%;background:transparent;color:#fff;font-size:24px}.gallery-controls button:hover{background:white;color:#171a1c}.gallery-controls button:disabled{opacity:.3;cursor:default}.slide-count{font-size:14px;font-variant-numeric:tabular-nums;color:#b8bec1;min-width:75px}
.gallery{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative;padding-bottom:2px;scroll-behavior:smooth}.gallery::-webkit-scrollbar{display:none}.gallery .slide{flex:0 0 72%;scroll-snap-align:start;min-width:0;color:#fff;position:relative;border-radius:16px;overflow:hidden;background:#252a2e}.gallery .slide:last-child{margin-right:28%}.gallery img{height:540px;width:100%;object-fit:contain;background:#252a2e}.gallery .caption{padding:20px 24px;align-items:center;font-size:21px}.gallery .caption small{display:block;font-size:10px;letter-spacing:2px;color:#aeb5ba;margin-top:5px}.gallery .caption .zoom{display:grid;place-items:center;width:42px;height:42px;border:1px solid #586066;border-radius:50%;color:white}.gallery-bottom{display:flex;align-items:center;gap:30px;margin-top:25px;color:#aeb5ba;font-size:12px}.gallery-bottom p{margin:0}.gallery-bottom>span{margin-left:auto}.progress{height:2px;background:#444b50;flex:1;max-width:260px}.progress span{height:100%;display:block;background:var(--red);transition:width .2s}.about-image img{border-radius:20px;height:570px}.about-image>span{border-radius:0 14px 0 20px}.principles span{background:#edf0f0;border-radius:30px;padding:8px 15px}.principles{border:0;gap:10px}.steps{gap:16px}.steps li{background:#eef0f0;padding:25px;border-radius:18px;border:0}.steps li:before{font-size:35px;letter-spacing:-2px}.contact{margin:0 20px;border-radius:28px 28px 0 0}.contact h2{font-size:clamp(42px,5vw,76px)}footer{margin:0 20px}
dialog{background:#101315;color:#fff;width:96vw;max-width:1600px;border-radius:18px;padding:60px 70px 25px;overflow:hidden}dialog img{height:75vh;max-width:100%;width:100%;object-fit:contain;touch-action:pan-y}dialog .close{background:#282d31;color:#fff;border-radius:50%;right:12px;top:10px}.modal-prev,.modal-next{position:absolute;top:50%;background:#22292d}.modal-prev{left:12px}.modal-next{right:12px}dialog p{text-align:center;min-height:23px}dialog::backdrop{background:#000e;backdrop-filter:blur(8px)}
@media(max-width:1000px){header{padding:0 20px}nav{gap:15px}.nav-contact span{display:none}.hero h1{font-size:86px}.offers{grid-template-columns:1fr 1fr}.offers p{min-height:45px}.gallery img{height:460px}.photo-caption{display:none}}
@media(max-width:720px){header{height:74px;margin:12px 4% 0;padding:0 16px;border-radius:14px}.logo{width:150px}.menu{border-radius:25px;padding:7px 13px}nav{top:84px;border-radius:14px;box-shadow:0 10px 30px #0003}.nav-contact{padding:12px 18px}.hero{min-height:770px;height:94svh;max-height:950px}.hero-copy{padding:175px 7% 50px}.hero h1{font-size:clamp(51px,9.7vw,70px);letter-spacing:-2px;line-height:1.07}.hero .intro{font-size:17px;max-width:320px}.hero:after{background:linear-gradient(90deg,#080d12dd,#080d1260)}.hero-photo>img{object-position:60% center}.hero-note{gap:18px;letter-spacing:1px}.section{padding:65px 6%}h2{font-size:38px;letter-spacing:-1.4px}.offers{gap:12px}.offers>a{padding:22px!important}.offers h3{font-size:21px}.offers .number{margin-bottom:30px}.offers p{font-size:14px;min-height:88px}.gallery-toolbar{flex-wrap:wrap;margin-top:30px;gap:23px}.filters{gap:8px}.filters button{font-size:16px;padding:10px 18px}.gallery-controls{margin-left:auto;gap:8px}.gallery-controls button{width:42px;height:42px}.gallery{gap:14px}.gallery .slide{flex-basis:90%}.gallery .slide:last-child{margin-right:10%}.gallery img{height:340px}.gallery .caption{font-size:17px;padding:17px}.gallery .caption span:last-child{display:grid}.gallery-bottom{gap:15px;font-size:11px}.gallery-bottom>span{display:none}.gallery-bottom .progress{max-width:none}.about-image img{height:400px}.steps{gap:12px}.steps li{padding:22px}.contact{margin:0 10px;border-radius:22px 22px 0 0}footer{margin:0 10px}.contact h2{font-size:43px}dialog{padding:60px 10px 75px;width:98vw}dialog img{height:65vh}.modal-prev,.modal-next{top:auto;bottom:16px}.modal-prev{left:22px}.modal-next{right:22px}dialog p{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.gallery{scroll-behavior:auto}.offers>a{transition:none}}

/* Responsive depth: the original image stays in place with overscan for movement. */
.hero{--photo-x:0px;--photo-y:0px;--light-x:50%;--light-y:50%;overflow:hidden}
.hero-photo>img{transform:translate3d(var(--photo-x),var(--photo-y),0) scale(1.07);will-change:transform}
.hero-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(ellipse 420px 340px at var(--light-x) var(--light-y),#fff5d32a 0%,#ffeac70e 45%,transparent 75%);mix-blend-mode:screen;transition:opacity .65s}
.hero.pointer-active .hero-glow{opacity:1}
@media(hover:none),(prefers-reduced-motion:reduce){.hero-photo>img{transform:none;will-change:auto}.hero-glow{display:none}}
footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px 32px;padding:26px 6%;background:#22261f;color:#c3c7bd;font-size:13px}
.footer-brand{display:flex;align-items:center;gap:12px;color:#d5d9cf}
.footer-brand span{white-space:nowrap}
.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:20px 26px}
.footer-links a,.footer-links button{display:inline-flex;align-items:center;color:inherit;text-decoration:none;transition:color .2s;white-space:nowrap}
.footer-links a:hover,.footer-links button:hover{color:#fff}
@media(max-width:900px){footer{flex-direction:column;align-items:flex-start;gap:16px}}
