:root{color-scheme:dark;--bg:#171a19;--surface:#1e2220;--text:#f0eee8;--muted:#a7aaa3;--accent:#b7a383;--line:#373c37;--gutter:clamp(24px,5.5vw,96px);font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.wrap{width:calc(100% - var(--gutter)*2);max-width:1440px;margin-inline:auto}.section{padding-block:110px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--text);color:var(--bg);padding:12px;z-index:20}.skip-link:focus{top:12px}
.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);gap:32px;background:var(--bg)}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand-logo{width:216px;height:auto}.site-header nav{display:flex;align-items:center;gap:40px;font-size:13px}.site-header nav a{transition:color .2s}.site-header nav a:hover,.site-header nav .active{color:var(--accent)}.nav-contact{display:flex;align-items:center;gap:48px;border:1px solid #666a5d;padding:12px 20px}.nav-contact span{font-size:20px;line-height:1}.menu-toggle{display:none}
.hero{min-height:700px;height:calc(100svh - 108px);max-height:980px;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,17,16,.95) 0%,rgba(14,19,18,.88) 24%,rgba(14,19,18,.4) 56%,rgba(14,19,18,.09) 100%),linear-gradient(0deg,rgba(12,17,16,.75),transparent 32%);z-index:-2}.hero-content{padding-block:50px 110px}h1{font-size:clamp(56px,6.1vw,94px);font-weight:400;line-height:1.04;letter-spacing:-.045em}h1 span{color:var(--accent)}.hero-description{max-width:390px;color:#c4c7bf;margin-top:28px;font-size:15px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:16px 23px;font-size:12px;font-weight:500;transition:background .2s,transform .2s}.button-gold{background:var(--accent);color:#161b18}.button-gold:hover{background:#ccbb9d;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.hero .button{margin-top:30px}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;border-top:1px solid #ffffff29;padding-top:20px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#c0c6bb;letter-spacing:.025em}.hero-bottom a{display:flex;gap:28px;align-items:center}.hero-bottom a span{font-size:19px;color:var(--accent)}h2{font-size:clamp(35px,4.1vw,60px);font-weight:400;line-height:1.13;letter-spacing:-.035em}.intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:100px}.intro-copy{max-width:550px}.intro-copy p+p{margin-top:23px}.lead{font-size:21px;line-height:1.55;letter-spacing:-.015em}.intro-copy p:not(.lead){color:var(--muted);font-size:14px;line-height:1.9}.text-link{display:inline-flex;gap:44px;align-items:center;font-size:12px;border-bottom:1px solid #655f50;padding-bottom:9px;margin-top:30px}.text-link span{font-size:22px;color:var(--accent)}.text-link:hover{color:var(--accent)}.services{background:var(--surface)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:55px}.section-heading>p{max-width:325px;color:var(--muted);font-size:14px;line-height:1.8;padding-bottom:4px}.service-row{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(0,1.12fr) 232px;gap:30px;border-top:1px solid #42463d;padding-block:32px;align-items:start}.service-row:last-child{border-bottom:1px solid #42463d}.number{color:var(--accent);font-size:11px;padding-top:4px}.service-row h3{font-size:22px;line-height:1.35;font-weight:400;letter-spacing:-.02em}.service-row p{font-size:13px;color:var(--muted);line-height:1.8;max-width:480px}.scope-note{max-width:600px;font-size:11px;color:#969c91;margin-top:25px;line-height:1.8}
.project-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:45px}.project-offset{padding-top:120px}.project-image{display:block;width:100%;position:relative;background:#c8c9b3;border:0;padding:0;cursor:zoom-in;overflow:hidden}.project-image img{width:100%;height:auto;aspect-ratio:1.28;object-fit:cover;transition:transform .6s,filter .6s;filter:saturate(.65)}.project-offset img{aspect-ratio:1.18;object-fit:contain}.project-image:hover img{transform:scale(1.025);filter:saturate(.95)}.image-expand{position:absolute;right:16px;bottom:16px;border:1px solid #ffffff70;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;color:white;background:#171a1950;font-size:20px}.project figcaption{margin-top:20px;display:flex;flex-direction:column;gap:5px}.project h3{font-size:19px;font-weight:400;letter-spacing:-.015em}.project figcaption>span{color:var(--muted);font-size:10px;letter-spacing:.075em}.image-note{font-size:10px;color:#8d9589;margin-top:35px}.process{padding-top:0}.process-grid{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.process-grid li{border-top:1px solid var(--line);padding-top:20px}.process-grid li>span{color:var(--accent);font-size:11px;display:block;margin-bottom:32px}.process-grid h3{font-size:17px;font-weight:400;margin-bottom:14px}.process-grid p{font-size:12px;color:var(--muted);line-height:1.85;max-width:255px}
.contact-cta{background:#b7a383;color:#1a201b;padding-block:75px}.cta-inner{display:flex;flex-direction:column;align-items:center;gap:34px;text-align:center}.contact-cta h2{width:100%;font-size:clamp(28px,4.2vw,60px)}.site-footer{padding-top:65px}.footer-main{display:flex;align-items:flex-start;justify-content:space-between;gap:35px;padding-bottom:50px}.site-footer .brand-logo{width:185px}.footer-main>p{font-size:12px;color:var(--muted)}.footer-contact{display:flex;flex-direction:column;font-size:13px;line-height:1.9}.footer-contact a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);padding-block:22px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#969c91;letter-spacing:.03em}.footer-bottom a:hover{color:var(--text)}
.image-dialog{border:1px solid var(--line);padding:22px;background:var(--bg);width:max-content;max-width:95vw;max-height:95svh;color:var(--text)}.image-dialog::backdrop{background:#080c0beb;backdrop-filter:blur(6px)}.image-dialog img{max-height:76svh;max-width:85vw;object-fit:contain;width:auto}.image-dialog p{font-size:12px;margin-top:15px;color:var(--muted)}.dialog-close{border:0;background:none;display:flex;align-items:center;gap:20px;margin-left:auto;padding:0 0 15px;cursor:pointer;font-size:12px}.dialog-close span{font-size:28px;line-height:1}body.dialog-open{overflow:hidden}
.contact-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;padding-block:70px 100px;align-items:stretch}.contact-copy h1{font-size:clamp(52px,5.7vw,84px)}.contact-copy .lead{max-width:450px;color:var(--muted);font-size:16px;line-height:1.8;margin-top:28px}.direct-contact{margin-top:40px;border-top:1px solid var(--line)}.direct-contact a{display:grid;grid-template-columns:65px 1fr 20px;align-items:center;gap:15px;padding-block:18px;border-bottom:1px solid var(--line)}.direct-contact a>span:first-child{font-size:10px;color:var(--muted);letter-spacing:.05em}.direct-contact strong{font-size:clamp(15px,1.6vw,23px);font-weight:400;letter-spacing:-.02em;overflow-wrap:anywhere}.direct-contact a>span:last-child{font-size:22px;color:var(--accent)}.direct-contact a:hover strong{color:var(--accent)}.contact-person{font-size:10px;color:var(--muted);margin-top:22px;display:flex;gap:22px}.contact-person>span{color:var(--text)}.contact-visual{position:relative;overflow:hidden;min-height:570px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line)}.contact-icon-link{display:grid;place-items:center;width:75%;min-height:200px;color:var(--accent);transition:color .2s}.contact-icon-link:hover{color:var(--text)}.contact-email-icon{width:clamp(140px,15vw,220px);height:auto}.contact-visual figcaption{position:absolute;bottom:24px;left:26px;right:26px;color:#f0eee8;font-size:11px;letter-spacing:.04em;z-index:1}.business-section{border-top:1px solid var(--line);padding-top:70px}.business-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.business-grid h2{font-size:36px;letter-spacing:.03em}.business-name{font-size:14px;color:var(--muted);margin-top:18px;line-height:1.9}.business-details{margin:0}.business-details>div{display:grid;grid-template-columns:110px 1fr;gap:30px;padding-block:16px;border-bottom:1px solid var(--line)}.business-details>div:first-child{padding-top:0}.business-details dt{font-size:11px;color:var(--muted)}.business-details dd{margin:0;font-size:14px}.contact-preparation{background:var(--surface);padding-block:75px}.preparation-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.preparation-inner h2{font-size:36px}.preparation-inner p{font-size:13px;color:var(--muted);margin-top:25px;max-width:470px;line-height:1.9}.preparation-inner .button{margin-top:28px}
@media(min-width:1700px){.site-header{padding-inline:max(var(--gutter),calc((100vw - 1440px)/2))}}
@media(max-width:1050px){.intro-grid{gap:55px}.service-row{gap:22px;grid-template-columns:26px minmax(0,1fr) minmax(0,1.1fr) 200px}.service-row h3{font-size:20px}.contact-hero,.business-grid,.preparation-inner{gap:40px}.contact-hero{grid-template-columns:1.1fr 1fr}.contact-visual{min-height:540px}.direct-contact a{grid-template-columns:50px 1fr 15px;gap:8px}.project-grid{gap:28px}.process-grid{gap:22px}.site-header nav{gap:25px}}
@media(max-width:760px){:root{--gutter:24px}.section{padding-block:70px}.site-header{height:88px;position:relative;z-index:5}.site-header{gap:16px}.brand-logo{width:clamp(150px,44vw,175px);height:auto}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);padding:9px 12px;font-size:11px;cursor:pointer}.menu-toggle>span{font-size:16px;color:var(--accent)}.site-header nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--bg);padding:20px var(--gutter) 26px;border-bottom:1px solid var(--line);gap:0}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch}.site-header nav>a{padding:14px 0;border-bottom:1px solid var(--line)}.site-header .nav-contact{border:0;justify-content:space-between}.hero{min-height:690px;height:calc(100svh - 88px);max-height:850px;align-items:flex-start}.hero-content{padding-top:60px;padding-bottom:130px}.hero h1{font-size:clamp(50px,9.2vw,70px);line-height:1.08}.hero-description{font-size:13px;max-width:330px;margin-top:25px}.hero-shade{background:linear-gradient(90deg,#101714d9,#10171430),linear-gradient(180deg,#101714b0 0%,#10171460 65%,#101714c9 100%)}.hero-image{object-position:60% center}.hero-bottom{bottom:22px;align-items:flex-start;gap:15px;font-size:9px}.hero-bottom>span{max-width:150px}.hero-bottom a{gap:14px;max-width:130px}.button{font-size:11px;gap:30px;padding:15px 19px}.intro-grid{grid-template-columns:1fr;gap:32px}.intro-copy .lead{font-size:19px}.intro-copy p:not(.lead){font-size:13px}.section-heading{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:34px}.section-heading>p{font-size:13px;max-width:360px}.service-row{grid-template-columns:22px minmax(0,1fr);gap:12px;padding-block:25px}.service-row h3{font-size:20px}.service-row p{grid-column:2;grid-row:2;font-size:12px;padding-top:3px}.scope-note{font-size:10px}.project-grid{grid-template-columns:1fr;gap:40px}.project-offset{padding-top:0}.project-offset img{aspect-ratio:1.35}.project h3{font-size:18px}.project figcaption>span{font-size:9px}.image-note{margin-top:24px}.process{padding-top:0}.process-grid{grid-template-columns:1fr 1fr;gap:35px 25px}.process-grid li>span{margin-bottom:20px}.process-grid h3{font-size:16px}.process-grid p{font-size:11px}.contact-cta{padding-block:50px}.cta-inner{gap:25px}.footer-main{flex-wrap:wrap;padding-bottom:35px;gap:28px}.footer-main>p{font-size:11px}.footer-contact{width:100%;font-size:13px}.footer-bottom{flex-wrap:wrap;font-size:8px;gap:16px}.footer-bottom>span:last-child{display:none}.site-footer{padding-top:45px}.contact-hero{grid-template-columns:1fr;padding-block:45px 55px;gap:40px}.contact-copy h1{font-size:57px}.contact-copy .lead{font-size:14px;margin-top:24px}.direct-contact{margin-top:30px}.direct-contact strong{font-size:19px}.direct-contact a{grid-template-columns:55px 1fr 18px;padding-block:18px}.contact-visual{min-height:0;height:240px}.contact-visual figcaption{font-size:10px;left:20px;bottom:20px}.business-section{padding-top:50px}.business-grid{grid-template-columns:1fr;gap:40px}.business-grid h2{font-size:31px}.business-name{font-size:12px}.business-details>div{grid-template-columns:90px 1fr;gap:20px}.business-details dd{font-size:13px}.contact-preparation{padding-block:55px}.preparation-inner{grid-template-columns:1fr;gap:28px}.preparation-inner h2{font-size:33px}.preparation-inner p{font-size:12px}.image-dialog{padding:15px}.image-dialog img{max-width:85vw}.image-dialog p{font-size:10px}}
@media(max-width:380px){.hero h1{font-size:47px}.contact-copy h1{font-size:49px}.direct-contact strong{font-size:16px}.process-grid{grid-template-columns:1fr}.process-grid p{max-width:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Email is painted locally; the readable address is not kept in page markup. */
.email-canvas{display:inline-block;vertical-align:middle;max-width:100%;width:14em;height:1.5em}
.email-link:hover .email-canvas{opacity:.8}
.footer-email{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.footer-email .email-link{display:inline-flex;align-items:center}
.email-copy{border:0;border-bottom:1px solid #655f50;background:none;color:var(--accent);font-size:10px;line-height:1.5;padding:2px 0;cursor:pointer;white-space:nowrap}
.email-copy:hover{color:var(--text)}
.email-row{position:relative;border-bottom:1px solid var(--line)}
.direct-contact .email-row>a{border-bottom:0;padding-bottom:40px}
.direct-contact .email-row .email-copy{position:absolute;bottom:12px;left:80px}
.direct-contact strong{min-width:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.preparation-inner{display:block;max-width:900px}
@media(max-width:1050px){.direct-contact .email-row .email-copy{left:58px}}
@media(max-width:760px){.direct-contact .email-row .email-copy{left:63px}}

.intro-actions{display:flex;justify-content:flex-end;margin-top:30px}
.button-dark{background:var(--bg);color:var(--text)}
.button-dark:hover{background:#2c332d;transform:translateY(-2px)}
.contact-cta .button{justify-content:center;min-width:190px}
.service-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #655f50;color:var(--accent);padding:13px 16px;font-size:11px;line-height:1.5;min-height:50px;transition:background .2s,color .2s,border-color .2s}
.service-cta span{font-size:20px;line-height:1;flex-shrink:0}
.service-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}
@media(max-width:760px){.service-row .service-cta{grid-column:2;grid-row:3;width:fit-content;max-width:100%;margin-top:8px}}

/* Registered images stay full-size; only the model's clipping edge moves. */
.intro-grid{align-items:center}
.project-comparison{margin-top:32px}
.comparison-frame{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--surface);isolation:isolate}
.comparison-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.comparison-finished{z-index:0}
.comparison-model{z-index:1;clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}
.comparison-divider{position:absolute;top:0;bottom:0;left:var(--reveal);width:2px;transform:translateX(-50%);background:var(--accent);pointer-events:none;z-index:3}
.comparison-divider>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:7px;width:46px;height:46px;border-radius:50%;border:1px solid var(--accent);background:var(--bg);color:var(--text);box-shadow:0 3px 16px #0004;font-size:23px;line-height:1}
.comparison-divider i{height:14px;width:1px;background:var(--accent)}
.comparison-range{position:absolute;top:0;bottom:0;left:-22px;width:calc(100% + 44px);height:100%;margin:0;appearance:none;-webkit-appearance:none;opacity:0;cursor:ew-resize;touch-action:pan-y;z-index:4}
.comparison-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:44px;height:44px}
.comparison-range::-moz-range-thumb{width:44px;height:44px;border:0}
.comparison-frame:focus-within{outline:2px solid var(--accent);outline-offset:5px}
.comparison-range:focus-visible{outline:none}
.comparison-controls{display:flex;gap:8px;margin-top:14px}
.project-comparison figcaption{margin-top:14px;color:var(--muted);font-size:11px;line-height:1.8}
@media(max-width:760px){.project-comparison{margin-top:26px}.comparison-divider>span{width:40px;height:40px}}

[data-comparison-gallery="concepts"] .comparison-frame{aspect-ratio:1.85}
.projects .project-comparison{max-width:1060px;margin:0 auto}
.projects .comparison-frame{aspect-ratio:16/9}
.comparison-controls{align-items:center;gap:12px}
.comparison-step{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;padding:0;border:1px solid var(--line);background:transparent;color:var(--accent);font-size:21px;line-height:1;cursor:pointer}
.comparison-step:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}

.comparison-title{flex:1;min-width:0;text-align:center;font-size:clamp(15px,1.25vw,18px);font-weight:400;line-height:1.45;letter-spacing:-.02em}
.comparison-ai-layer{position:absolute;inset:0;z-index:2;pointer-events:none;clip-path:inset(0 0 0 var(--reveal))}
.comparison-ai{position:absolute;right:14px;bottom:14px;width:48px;height:48px;opacity:.2;filter:brightness(0) invert(1) drop-shadow(0 1px 3px #0005)}
