:root{--ink:#111111;--panel:#1b1b1b;--paper:#f2f2f0;--silver:#c8c8c6;--muted:#70706e;--orange:#f77b0b;--line:#d3d3d0;--gutter:clamp(22px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.05em;font-weight:500}em,i{font-style:normal}em{color:var(--orange)}p{font-size:1rem;line-height:1.8}a,button,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:5px}.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-160%);background:var(--orange);padding:16px}.skip-link:focus{transform:none}.header{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:106px;padding:12px var(--gutter);background:#111;color:#eee;border-bottom:1px solid #333}.brand{display:flex;gap:14px;align-items:center;flex-shrink:0}.brand-logo{width:74px;height:74px;object-fit:contain}.brand-name{font-size:.875rem;font-weight:700;letter-spacing:.04em}.brand-name small{display:block;font-size:.75rem;font-weight:400;color:#b9b9b6;letter-spacing:.07em;margin-top:7px}.nav{display:flex;align-items:center;gap:clamp(16px,2vw,32px);font-size:.875rem}.nav a{padding:10px 0;position:relative}.nav a:after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav a:hover:after{transform:scaleX(1)}.header-cta{font-size:.875rem;border:1px solid #656565;padding:14px 18px;white-space:nowrap;transition:background .2s,color .2s}.header-cta:hover{background:var(--orange);color:#111;border-color:var(--orange)}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:1.15fr 1fr;min-height:720px;height:calc(100svh - 106px);max-height:900px;background:var(--ink);color:#f3f3f1;overflow:hidden}.hero-media{grid-column:2;grid-row:1;position:relative;margin:24px 24px 24px 0;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero-shade{display:none}.hero-content{grid-column:1;grid-row:1;padding:65px 48px 110px var(--gutter);align-self:center;position:relative}.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:600;color:var(--orange);line-height:1.5}.eyebrow.light{display:flex;gap:12px;align-items:center;color:#c3c3bf}.line{width:20px;height:1px;background:var(--orange);flex-shrink:0}.hero h1{font-size:clamp(48px,5.1vw,82px);line-height:1.06;margin:28px 0;font-weight:500;letter-spacing:-.06em}.hero h1 i{color:var(--orange)}.hero p{max-width:410px;color:#b6b6b3}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 23px;min-height:54px;font-size:.875rem;font-weight:600;line-height:1.4;border:0;transition:background .2s,color .2s}.primary{background:var(--orange);color:#111}.primary:hover{background:#ff921e}.ghost{color:#ddd;border-bottom:1px solid #777;padding:15px 0}.ghost:hover{color:var(--orange)}.hero-bottom{position:absolute;bottom:36px;left:var(--gutter);width:calc(53% - var(--gutter) - 48px);display:flex;justify-content:space-between;gap:20px;color:#999;font-size:.75rem}.hero-bottom a{color:#ddd}.hero-bottom>span{max-width:180px;text-align:right}.hero-photo-label{position:absolute;right:44px;bottom:44px;background:#111e;padding:17px 22px;color:#fff;width:calc(46.5% - 65px);border-left:2px solid var(--orange)}.hero-photo-label span{display:block;font-size:.75rem;letter-spacing:.1em;color:#bdbdbb;margin-bottom:8px}.hero-photo-label strong{font-size:.875rem;font-weight:500}.section{padding:clamp(76px,8vw,128px) var(--gutter)}.section-marker{display:flex;align-items:center;gap:28px;font-size:.75rem;letter-spacing:.14em;font-weight:500;margin-bottom:52px}.marker-line{height:1px;background:currentColor;opacity:.2;flex:1}.intro-grid,.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:end}.intro h2,.section-heading h2,.contact h2{font-size:clamp(36px,4.1vw,66px);line-height:1.13;letter-spacing:-.055em}.intro-grid p{color:var(--muted)}.intro-grid .lead{color:#202020;font-size:1.25rem;line-height:1.5;margin-bottom:18px}.text-link{display:inline-block;margin-top:24px;padding:10px 0;border-bottom:1px solid #9d9d9a;font-size:.875rem;font-weight:600}.intro-visual{margin-top:56px;position:relative;background:#d8d8d5;overflow:hidden;height:430px}.intro-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 34%}.visual-caption{position:absolute;bottom:0;left:0;background:var(--ink);color:#fff;padding:24px 28px;min-width:310px}.visual-caption span{font-size:.75rem;color:#aaa;letter-spacing:.12em;display:block;margin-bottom:10px}.visual-caption strong{font-size:1.25rem;font-weight:500}.dark{background:var(--ink);color:#f2f2f0}.section-heading{margin-bottom:48px}.section-heading .eyebrow{margin-bottom:16px}.section-heading p{color:var(--muted);max-width:400px}.dark .section-heading p{color:#a2a2a0}.services-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px}.services-feature{position:relative;align-self:start}.services-feature img{width:100%;height:540px;object-fit:cover}.services-feature figcaption{padding:20px 0;border-bottom:1px solid #444;color:#bababa;font-size:.875rem}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.service{border-top:1px solid #3e3e3e;min-width:0}.service-body{padding:20px 0 28px}.service-body>span{font-size:.75rem;color:#b8b8b4;letter-spacing:.08em}.service h3{font-size:1.5rem;letter-spacing:-.04em;margin:16px 0 12px}.service p{font-size:.875rem;line-height:1.7;color:#aaa}.service-body a{display:inline-block;font-size:.875rem;color:var(--orange);margin-top:18px;padding:5px 0}.statement{position:relative;min-height:480px;padding:90px var(--gutter);display:flex;align-items:center;overflow:hidden;background:#222;color:#fff}.statement>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.statement-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#111e 0%,#111b 42%,#1112 100%)}.statement>div:last-child{position:relative}.statement span{font-size:.75rem;letter-spacing:.12em}.statement h2{font-size:clamp(36px,4.2vw,65px);line-height:1.13;margin:24px 0 32px}.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:42px}.gallery-filters button{border:1px solid #c7c7c3;background:transparent;padding:12px 16px;min-height:46px;font-size:.875rem;color:#444}.gallery-filters button span{color:#777;font-size:.75rem;margin-left:10px}.gallery-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.gallery-filters button[aria-pressed=true] span{color:var(--orange)}.gallery-area{margin-top:48px}.area-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.area-heading h3{font-size:1.65rem;letter-spacing:-.04em}.area-heading>span{font-size:.75rem;letter-spacing:.06em;color:#777}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}.project{min-width:0}.photo-open{display:block;border:0;padding:0;background:#ddd;position:relative;overflow:hidden;width:100%;text-align:left}.project .photo-open{height:340px}.project img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project:hover img{transform:scale(1.025)}.photo-zoom{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:36px;height:36px;background:#111d;color:#fff;font-size:1.3rem}.project figcaption{padding-top:15px;display:flex;flex-direction:column;gap:7px}.project figcaption span{font-size:.75rem;color:#767671}.project figcaption strong{font-size:.875rem;font-weight:500}.gallery-area[data-area=interiores] .area-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gallery-area[data-area=interiores] .photo-open{background:#111;height:420px}.gallery-area[data-area=interiores] img{object-fit:contain}.gallery-area[data-area=exteriores] .photo-open{height:290px}.works-note{border-top:1px solid var(--line);margin-top:48px;padding-top:20px;font-size:.75rem;color:#777;line-height:1.7}.comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.comparison figure{background:#1b1b1b}.comparison-label{display:flex;gap:20px;align-items:center;padding:20px 24px;border-bottom:1px solid #444}.comparison-label span{font-size:.75rem;color:var(--orange)}.comparison-label strong{font-size:1rem;font-weight:500}.comparison .photo-open{background:#1b1b1b;height:580px;padding:18px}.comparison img{width:100%;height:100%;object-fit:contain}.films{background:#1c1c1c;border-top:1px solid #353535}.videos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.video-card{min-width:0}.video-card video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#080808}.video-card>div{display:flex;justify-content:space-between;gap:10px;padding-top:17px;font-size:.875rem;line-height:1.5;border-top:1px solid #3b3b3b;margin-top:17px}.video-card span{font-size:.75rem;color:var(--orange)}.video-card strong{font-weight:400;color:#bbb}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:50px}.steps>div{border-top:1px solid #bebebb;padding-top:22px}.steps span{font-size:.875rem;color:#ad4900}.steps h3{font-size:1.5rem;margin:35px 0 15px}.steps p{font-size:.875rem;color:#6f6f6b}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact h2{margin:20px 0 28px}.contact-grid>div>p{max-width:380px;color:#aaa}.contact-detail{padding:24px 0;border-top:1px solid #444;display:flex;flex-direction:column;gap:10px;max-width:400px}.contact-detail:first-of-type{margin-top:48px}.contact-detail span{font-size:.75rem;letter-spacing:.12em;color:#aaa}.contact-detail strong,.contact-detail a{font-size:1.125rem;font-weight:400}.contact-form{background:#1c1c1c;border:1px solid #383838;padding:32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;min-width:0;scroll-margin-top:24px}.form-title{grid-column:1/-1;font-size:1.5rem;letter-spacing:-.035em;margin-bottom:4px}.contact-form label{display:flex;flex-direction:column;gap:10px;font-size:.875rem;color:#ccc;min-width:0}.contact-form label:has(textarea),.contact-form .consent{grid-column:1/-1}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{background:#111;color:#eee;padding:14px 12px;border:1px solid #4a4a4a;width:100%;min-width:0;border-radius:0;outline:none;font-size:1rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8a8a87}.contact-form :is(input,textarea,select):focus{border-color:var(--orange)}.contact-form .consent{flex-direction:row;align-items:start;font-size:.875rem;line-height:1.5}.consent input{accent-color:var(--orange);margin-top:3px;flex-shrink:0;width:18px;height:18px}.form-submit,.form-note,.form-result{grid-column:1/-1}.form-note{font-size:.75rem;color:#aaa;line-height:1.7}.form-result{padding:18px;border-left:2px solid var(--orange);background:#111;white-space:pre-wrap;word-break:break-word;font-size:.875rem;line-height:1.8}.form-result button{display:block;background:var(--orange);color:#111;border:0;padding:12px 16px;margin-top:15px}footer{padding:52px var(--gutter) 28px;background:#111;color:#eee;border-top:1px solid #3b3b3b}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:45px}.footer-main .brand-logo{width:100px;height:100px}.footer-main>div{display:flex;flex-wrap:wrap;gap:22px;font-size:.875rem}.back-top{font-size:.875rem}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #333;padding-top:24px;font-size:.75rem;line-height:1.6;color:#999}.floating-contact{position:fixed;z-index:25;bottom:24px;right:24px}.floating-contact button{width:52px;height:52px;background:var(--orange);color:#111;font-size:26px;border:1px solid #111;border-radius:50%}.photo-dialog{position:fixed;max-width:94vw;width:1000px;max-height:94svh;background:#111;color:#eee;border:1px solid #555;padding:20px;overflow:auto}.photo-dialog::backdrop{background:#000d}.photo-dialog>img{height:calc(86svh - 90px);width:100%;object-fit:contain}.photo-close{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;color:#ddd;border:0;padding:5px 0 18px;font-size:.875rem}.photo-close span{font-size:24px}.photo-caption{font-size:.875rem;text-align:center;margin-top:15px;color:#bbb}[hidden]{display:none!important}
@media(min-width:1600px){.section{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}.hero-content{padding-left:max(var(--gutter),calc((100vw - 1440px)/2))}}
@media(max-width:1150px){.brand-name{display:none}.nav{gap:22px}.hero{min-height:640px}.hero-content{padding-right:28px}.hero h1{font-size:clamp(45px,5.5vw,65px)}.hero-actions{gap:16px}.services-layout{gap:30px;grid-template-columns:.75fr 1.25fr}.services-feature img{height:580px}.project .photo-open{height:280px}.videos{gap:12px}.video-card>div{flex-direction:column;gap:4px}.contact-grid{gap:5%}.contact-form{padding:24px}}
@media(max-width:800px){html{scroll-padding-top:85px}.header{min-height:86px;padding:10px var(--gutter);gap:16px}.brand-logo{width:64px;height:64px}.brand-name{display:block;font-size:.75rem}.brand-name small{font-size:.75rem;letter-spacing:0}.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:7px;padding:14px 10px;background:transparent;border:0}.menu-toggle span{display:block;width:25px;height:1px;background:#eee}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gutter) 24px;background:#111;border-top:1px solid #333;box-shadow:0 20px 20px #0003}.nav a{padding:16px 0;border-bottom:1px solid #333;font-size:1rem}.nav.open{display:flex}.hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none}.hero-content{padding:52px var(--gutter) 44px;align-self:stretch}.hero h1{font-size:clamp(45px,8.5vw,66px);line-height:1.08;margin:24px 0}.hero p{max-width:480px}.hero-actions{margin-top:26px;gap:22px}.hero-media{order:2;margin:0 var(--gutter) var(--gutter);height:440px}.hero-media img{object-position:center 47%}.hero-photo-label{bottom:calc(var(--gutter) + 16px);left:calc(var(--gutter) + 16px);right:calc(var(--gutter) + 16px);width:auto;padding:13px 16px}.hero-bottom{display:none}.intro-grid,.section-heading{grid-template-columns:1fr;gap:28px}.intro h2,.section-heading h2,.contact h2{font-size:clamp(36px,6.5vw,50px)}.section-marker{margin-bottom:34px}.intro-visual{height:360px;margin-top:36px}.section-heading{margin-bottom:32px}.services-layout{grid-template-columns:1fr;gap:32px}.services-feature{display:none}.services-grid{column-gap:28px}.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project .photo-open{height:320px}.gallery-area[data-area=exteriores] .photo-open{height:250px}.comparison{gap:14px}.comparison .photo-open{height:460px;padding:10px}.comparison-label{padding:18px 16px;gap:12px}.videos{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.video-card>div{flex-direction:row}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-form{padding:28px}.contact-grid>div>p{max-width:500px}.contact-detail:first-of-type{margin-top:30px}.footer-main{align-items:flex-start;flex-wrap:wrap}.footer-main .brand-name{display:block}.footer-main .brand-logo{width:80px;height:80px}.footer-main>div{gap:18px}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:last-child{width:100%}.floating-contact{right:16px;bottom:16px}}
@media(max-width:480px){.header .brand-name{font-size:.75rem;letter-spacing:0}.header .brand-name small{font-size:.75rem}.eyebrow{font-size:.75rem;letter-spacing:.08em}.hero h1{font-size:clamp(40px,10.7vw,52px)}.hero-content{padding-top:40px}.hero-actions{gap:16px}.hero-actions .primary{padding:16px 18px}.hero-media{height:360px}.section{padding-top:64px;padding-bottom:64px}.intro-visual{height:330px}.visual-caption{min-width:0;padding:18px 22px}.services-grid{grid-template-columns:1fr}.service-body{padding:22px 0}.service h3{font-size:1.5rem;margin:12px 0}.service-body>span{float:right;margin-top:5px}.service p{font-size:1rem}.statement{min-height:400px;padding-top:70px;padding-bottom:70px}.statement h2{font-size:36px}.gallery-filters{gap:8px;margin-bottom:30px;padding:18px 0}.gallery-filters button{padding:11px 12px;font-size:.875rem}.gallery-filters button span{margin-left:6px}.area-heading h3{font-size:1.5rem}.area-grid{gap:24px 12px}.project .photo-open{height:240px}.project figcaption{padding-top:12px}.gallery-area[data-area=interiores] .area-grid{grid-template-columns:1fr}.gallery-area[data-area=interiores] .photo-open{height:370px}.gallery-area[data-area=exteriores] .area-grid{grid-template-columns:1fr}.gallery-area[data-area=exteriores] .photo-open{height:280px}.comparison{gap:10px}.comparison-label{padding:15px 10px;display:block}.comparison-label span{display:block;margin-bottom:8px}.comparison-label strong{font-size:.875rem}.comparison .photo-open{height:auto;aspect-ratio:9/16;padding:0}.comparison img{object-fit:contain}.videos{gap:26px 12px}.video-card>div{flex-direction:column;gap:5px}.steps{gap:30px 20px}.steps h3{font-size:1.25rem;margin:24px 0 12px}.contact-form{grid-template-columns:1fr;padding:22px;gap:20px}.contact-form label{grid-column:1}.form-title{font-size:1.4rem}.form-submit{font-size:.875rem;padding:16px 12px}.footer-main{gap:24px}.footer-main>div{width:100%}.footer-bottom{flex-direction:column;font-size:.75rem;gap:10px}.photo-dialog{padding:14px}.photo-dialog>img{height:calc(82svh - 85px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:360px){.header .brand-logo{width:54px;height:54px}.header .brand{gap:10px}.header .brand-name small{display:none}.header{gap:8px}.hero-actions{align-items:flex-start;flex-direction:column}.hero h1{font-size:39px}.comparison-label strong{font-size:.75rem}.steps{grid-template-columns:1fr}}
/* A tighter rhythm, with slow movement in the opening imagery. */
.section{padding-top:clamp(64px,6.5vw,100px);padding-bottom:clamp(64px,6.5vw,100px)}.section-marker{margin-bottom:36px}.section-heading{margin-bottom:36px}.intro-visual{margin-top:40px}.service-body{padding-bottom:23px}.service p{line-height:1.65}.films .section-heading{grid-template-columns:1fr auto;align-items:center;gap:24px}.motion-toggle{justify-self:end;padding:12px 16px;min-height:44px;background:transparent;border:1px solid #676767;color:#ddd;font-size:.875rem;white-space:nowrap}.motion-toggle:hover{border-color:var(--orange);color:var(--orange)}.video-card>div{margin-top:12px;padding-top:12px}.hero-media img{animation:architectural-drift 20s ease-in-out infinite alternate;transform-origin:50% 45%;will-change:transform}.intro-visual img{animation:architectural-drift 24s ease-in-out infinite alternate;transform-origin:50% 35%}.hero-photo-label{animation:label-arrival 1s ease-out both}.hero .line{animation:line-breathe 5s ease-in-out infinite}.hero-photo-label:before{content:'';position:absolute;left:-2px;top:0;width:2px;height:28%;background:#ffb36f;animation:edge-travel 7s ease-in-out infinite alternate}.motion-paused .hero-media img,.motion-paused .intro-visual img,.motion-paused .hero .line,.motion-paused .hero-photo-label,.motion-paused .hero-photo-label:before{animation-play-state:paused}
@keyframes architectural-drift{from{transform:scale(1)}to{transform:scale(1.045)}}@keyframes line-breathe{0%,100%{opacity:.45;transform:scaleX(.65)}50%{opacity:1;transform:scaleX(1)}}@keyframes edge-travel{from{transform:translateY(0)}to{transform:translateY(240%)}}@keyframes label-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.films .section-heading{grid-template-columns:1fr;gap:18px}.motion-toggle{justify-self:start}.section-marker{margin-bottom:28px}.section-heading{margin-bottom:28px}.intro-visual{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.hero-media img,.intro-visual img,.hero .line,.hero-photo-label,.hero-photo-label:before{animation:none!important;will-change:auto}}
/* Hero video: architecture-led framing and a soft handoff into the first section. */
.header{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(12,12,12,.92),rgba(12,12,12,.62));border-bottom:1px solid rgba(255,255,255,.17);min-height:104px}.brand{gap:15px}.brand-logo{width:70px;height:70px;flex:none}.brand-name{display:flex;flex-direction:column;gap:3px;font-weight:400;letter-spacing:0}.brand-name strong{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(25px,2.15vw,34px);line-height:1;letter-spacing:-.035em;white-space:nowrap}.brand-name em{font-style:italic;font-weight:500;color:var(--orange)}.brand-name small{font-family:'DM Sans',Arial,sans-serif;font-size:10px;line-height:1.3;font-weight:500;letter-spacing:.16em;color:#bfc0bc;margin:0;white-space:nowrap}.footer-main .brand-name{display:flex}.footer-main .brand-name strong{font-size:32px}.footer-main .brand-name small{font-size:10px}
.hero{display:block;position:relative;min-height:700px;height:100svh;max-height:980px;background:#111;isolation:isolate}.hero-media{position:absolute;inset:0 0 0 51%;margin:0;z-index:0;overflow:hidden;background:#222}.hero-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.hero-shade{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#111 0%,#111 30%,rgba(17,17,17,.96) 43%,rgba(17,17,17,.54) 58%,rgba(17,17,17,.06) 79%),linear-gradient(180deg,rgba(17,17,17,.18) 0%,transparent 30%,rgba(17,17,17,.28) 78%,#111 100%)}.hero:after{content:'';position:absolute;z-index:3;pointer-events:none;left:0;right:0;bottom:-1px;height:110px;background:linear-gradient(180deg,transparent 0%,rgba(17,17,17,.7) 42%,var(--paper) 100%)}.hero-content{position:absolute;z-index:2;left:var(--gutter);top:49%;transform:translateY(-50%);padding:0;max-width:min(760px,64vw)}.hero h1{font-size:clamp(48px,5.35vw,84px);line-height:1.05;margin:26px 0;max-width:780px}.hero p{max-width:390px}.hero-bottom{z-index:4;left:var(--gutter);bottom:72px;width:auto;right:auto;font-size:.8rem;letter-spacing:0}.hero-bottom a{display:inline-flex;gap:15px;align-items:center}.hero-bottom a span{color:var(--orange);font-size:1.1rem}.hero-video-toggle{position:absolute;z-index:4;right:var(--gutter);bottom:76px;display:flex;align-items:center;gap:10px;background:rgba(10,10,10,.63);border:1px solid rgba(255,255,255,.55);color:#fff;min-height:44px;padding:10px 14px;font-size:.875rem;backdrop-filter:blur(6px)}.hero-video-toggle:hover{background:#161616;border-color:var(--orange)}.video-pause-icon{display:block;width:12px;height:14px;border-left:3px solid currentColor;border-right:3px solid currentColor}.hero-video-toggle[aria-pressed=true] .video-pause-icon{border:0;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor}.intro{position:relative;background:var(--paper)}.intro .section-marker{margin-top:8px}
@media(max-width:1150px){.header .brand-name{display:flex}.nav{gap:16px}.hero-content{max-width:min(670px,68vw)}.hero h1{font-size:clamp(45px,5.2vw,68px)}}
@media(max-width:800px){.header{min-height:86px;background:linear-gradient(180deg,rgba(12,12,12,.8),rgba(12,12,12,.34));}.brand-logo{width:62px;height:62px}.brand-name strong{font-size:25px}.brand-name small{font-size:9px;letter-spacing:.12em}.hero{min-height:660px;height:100svh;max-height:none;display:block}.hero-media{position:absolute;inset:0;margin:0;height:auto}.hero-media video{object-position:center 40%}.hero-shade{background:linear-gradient(180deg,rgba(10,10,10,.56) 0%,transparent 22%,rgba(10,10,10,.16) 35%,rgba(10,10,10,.75) 58%,#101010 91%)}.hero-content{position:absolute;top:auto;bottom:116px;left:var(--gutter);right:var(--gutter);max-width:630px;transform:none;padding:0}.hero h1{font-size:clamp(44px,7vw,62px);line-height:1.08;margin:19px 0}.hero p{color:#e0e0dd}.hero-actions{margin-top:22px}.hero:after{height:88px}.hero-bottom{display:none}.hero-video-toggle{bottom:42px;right:var(--gutter)}.intro .section-marker{margin-top:0}}
@media(max-width:480px){.header .brand-logo{width:56px;height:56px}.header .brand-name strong{font-size:22px}.header .brand-name small{font-size:8px;letter-spacing:.06em;display:block}.hero{min-height:620px}.hero-content{bottom:94px}.hero h1{font-size:clamp(40px,10.2vw,49px)}.hero-actions{display:flex;flex-direction:row;align-items:center;gap:8px 16px}.hero-actions .primary{padding:13px 16px;min-height:48px}.hero-actions .ghost{padding:9px 0;min-height:40px}.hero-video-toggle{bottom:36px;left:var(--gutter);right:auto;padding:8px 12px;font-size:.8rem}.intro{padding-top:70px}}
@media(max-width:360px){.header .brand-logo{width:50px;height:50px}.header .brand-name strong{font-size:20px}.header .brand-name small{font-size:7px;display:block}.hero-content{bottom:86px}.hero h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){.hero-video-toggle{backdrop-filter:none}}
/* Keep the transformation in the same visual gallery, including the real before/after montages. */
.gallery-area[data-area=antes-depois]{scroll-margin-top:110px}.gallery-area[data-area=antes-depois] .comparison{max-width:1040px;margin:auto}.gallery-area[data-area=antes-depois] .comparison figure{background:#e1e1de}.gallery-area[data-area=antes-depois] .comparison-label{border-color:#c9c9c4;color:#171717}.gallery-area[data-area=antes-depois] .comparison-label span{color:#ad4900}.gallery-area[data-area=antes-depois] .comparison .photo-open{background:#e1e1de}.gallery-area[data-area=antes-depois] .comparison img{object-fit:contain}
/* Let the video own the opening frame while keeping one direct contact action. */
.hero-media{inset:0 0 0 42%}.hero-shade{background:linear-gradient(90deg,#111 0%,#111 27%,rgba(17,17,17,.91) 39%,rgba(17,17,17,.4) 56%,rgba(17,17,17,0) 73%),linear-gradient(180deg,rgba(17,17,17,.12) 0%,transparent 42%,rgba(17,17,17,.12) 78%,#111 100%)}.hero-content{top:50%;max-width:min(700px,62vw)}.hero-actions{margin-top:30px}
@media(max-width:800px){.hero-media{inset:0}.hero-shade{background:linear-gradient(180deg,rgba(10,10,10,.5) 0%,transparent 24%,rgba(10,10,10,.1) 48%,rgba(10,10,10,.62) 75%,#101010 99%)}.hero-content{top:auto;bottom:95px;max-width:630px}.hero-actions{margin-top:20px}.gallery-area[data-area=antes-depois]{scroll-margin-top:95px}}
@media(max-width:480px){.hero-content{bottom:76px}.hero h1{margin:0 0 20px}.gallery-area[data-area=antes-depois] .comparison .photo-open{aspect-ratio:9/16;height:auto}.gallery-area[data-area=antes-depois] .comparison-label strong{font-size:.875rem}}
/* Real, full-frame photography replaces the side illustration in services. */
.services{background:#111}.services-layout{display:block}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.service{position:relative;isolation:isolate;min-width:0;min-height:420px;overflow:hidden;background:#292929;border:1px solid #414141;transform:none}.service:hover{transform:none}.service-media{position:absolute;inset:0;overflow:hidden}.service-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-desktop,center);transition:transform .75s cubic-bezier(.2,.7,.2,1)}.service-media:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.08) 37%,rgba(0,0,0,.62) 69%,rgba(0,0,0,.93) 100%)}.service:hover .service-media img{transform:scale(1.04)}.service-body{position:absolute;z-index:1;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:26px 22px 24px}.service h3{color:#fff;font-size:clamp(21px,1.8vw,28px);line-height:1.16;margin:0 0 10px}.service p{font-size:.875rem;line-height:1.5;color:#f0f0ed;min-height:0;max-width:290px;text-wrap:pretty}.service-body a{font-size:.875rem;font-weight:700;color:#ff9a43;margin-top:16px;padding:5px 0;border-bottom:1px solid #ff9a43}.service-body a:hover{color:#fff;border-color:#fff}
@media(max-width:1200px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service{min-height:390px}.service h3{font-size:27px}}
@media(max-width:620px){.services-grid{grid-template-columns:1fr;gap:14px}.service{min-height:320px}.service-media img{object-position:var(--photo-mobile,var(--photo-desktop,center))}.service-body{padding:24px}.service h3{font-size:26px}.service p{font-size:.875rem;max-width:380px}.service-media:after{background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.14) 33%,rgba(0,0,0,.74) 72%,rgba(0,0,0,.94) 100%)}}
@media(prefers-reduced-motion:reduce){.service-media img{transition:none}.service:hover .service-media img{transform:none}}
/* Mobile navigation: deliberate editorial panel, paced entrance and a soft scrim. */
.nav-index,.nav-meta,.nav .menu-cta{display:none}.nav-label{display:inline}.menu-backdrop{position:fixed;inset:0;z-index:25;background:rgba(0,0,0,.49);backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}.menu-open .menu-backdrop{opacity:1;visibility:visible;pointer-events:auto}.menu-toggle span{transition:transform .32s ease,background .25s ease}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg);background:var(--orange)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg);background:var(--orange)}
@media(max-width:800px){.menu-open .header{background:rgba(17,17,17,.98);border-bottom-color:#4f4a46}.nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;z-index:2;top:calc(100% - 1px);left:var(--gutter);right:var(--gutter);max-height:calc(100svh - 100px);overflow:auto;padding:23px 24px 25px;background:rgba(22,22,22,.98);color:#f2f2ef;border:1px solid #3d3a36;border-top:2px solid var(--orange);box-shadow:0 24px 65px #0009;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-14px) scale(.985);transform-origin:top center;transition:opacity .3s ease,transform .4s cubic-bezier(.2,.75,.2,1),visibility .3s ease}.nav.open{display:flex;opacity:1;visibility:visible;pointer-events:auto;transform:none}.nav-meta{display:flex;justify-content:space-between;gap:12px;color:#a8a8a4;font-size:.75rem;letter-spacing:.12em;padding:2px 0 19px;border-bottom:1px solid #555}.nav-meta span:last-child{color:var(--orange)}.nav a:not(.menu-cta){display:grid;grid-template-columns:32px 1fr;align-items:center;gap:10px;min-height:69px;padding:11px 0;border-bottom:1px solid #444;color:#f1f1ef;opacity:0;transform:translateY(10px);transition:opacity .32s ease,transform .42s cubic-bezier(.2,.75,.2,1),color .2s ease}.nav.open a:not(.menu-cta){opacity:1;transform:none}.nav.open a:nth-of-type(1){transition-delay:.05s}.nav.open a:nth-of-type(2){transition-delay:.09s}.nav.open a:nth-of-type(3){transition-delay:.13s}.nav.open a:nth-of-type(4){transition-delay:.17s}.nav.open a:nth-of-type(5){transition-delay:.21s}.nav a:not(.menu-cta):hover,.nav a:not(.menu-cta):focus-visible{color:var(--orange)}.nav a:not(.menu-cta):after{content:none}.nav-index{display:block;color:var(--orange);font-size:.75rem;letter-spacing:.12em;font-family:'DM Sans',Arial,sans-serif;font-weight:600}.nav-label{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(30px,5.2vw,38px);font-weight:600;line-height:1;letter-spacing:-.015em}.nav .menu-cta{display:flex;align-items:center;justify-content:space-between;min-height:49px;margin-top:23px;padding:13px 17px;background:var(--orange);color:#171717;font-family:'DM Sans',Arial,sans-serif;font-size:.875rem;font-weight:700;border:0;opacity:0;transform:translateY(8px);transition:opacity .32s ease .22s,transform .42s cubic-bezier(.2,.75,.2,1) .22s,background .2s ease}.nav.open .menu-cta{opacity:1;transform:none}.nav .menu-cta:hover{background:#ff9539}.nav .menu-cta:after{content:none}}
@media(max-width:480px){.nav{padding:19px 20px 22px;max-height:calc(100svh - 92px)}.nav-meta{font-size:.625rem}.nav a:not(.menu-cta){min-height:65px}.nav-label{font-size:31px}}
@media(prefers-reduced-motion:reduce){.nav,.nav a,.menu-toggle span,.menu-backdrop{transition:none!important}.nav a:not(.menu-cta),.nav .menu-cta{opacity:1;transform:none}}

/* Section progression follows the actual scroll position; all photography stays visible. */
.scroll-stage{position:relative;--stage-progress:1;--stage-shift:0px}
.scroll-stage.section:before{content:'';position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--orange);transform:scaleX(var(--stage-progress));transform-origin:left center;opacity:.55;pointer-events:none}
.scroll-stage :is(.intro-grid,.intro-visual,.section-heading,.services-layout,.videos,.gallery-filters,.gallery-area,.steps,.contact-grid),.scroll-stage.statement>div:last-child{transform:translate3d(0,var(--stage-shift),0)}
.scroll-stage .gallery-area{transform:none}
.scroll-stage.works .gallery-filters{transform:translate3d(0,var(--stage-shift),0)}
@media(max-width:800px){.nav a:not(.menu-cta){display:block;min-height:67px}.nav-label{display:block}}
@media(max-width:480px){.nav a:not(.menu-cta){min-height:62px}}
@media(prefers-reduced-motion:reduce){.scroll-stage :is(.intro-grid,.intro-visual,.section-heading,.services-layout,.videos,.gallery-filters,.steps,.contact-grid),.scroll-stage.statement>div:last-child{transform:none}.scroll-stage.section:before{transform:none}}
/* On smaller screens the title and each real work card settle while already in view. */
.scroll-stage.gallery-area>.area-heading{transform:translate3d(0,var(--stage-shift),0)}
@media(max-width:800px){
  .scroll-stage.section:before{height:2px;opacity:.75}
  .scroll-stage.services .services-layout{transform:none}
  .scroll-stage.service,.scroll-stage.project{transform:translate3d(0,var(--stage-shift),0)}
}
@media(prefers-reduced-motion:reduce){.scroll-stage.gallery-area>.area-heading,.scroll-stage.service,.scroll-stage.project{transform:none}}
/* A visible entrance for the mobile presentation, without cropping any real media. */
@media(max-width:800px){
  .media-fade{opacity:0;transition:opacity .85s cubic-bezier(.22,.68,.28,1)}
  .media-fade.is-visible{opacity:1}
  .videos .video-card:nth-child(even),.area-grid .project:nth-child(even){transition-delay:.1s}
}
@media(max-width:800px) and (prefers-reduced-motion:reduce){
  .media-fade{transition:opacity .55s ease!important}
}
/* Architectural strokes quietly construct the backgrounds of the light sections. */
.films .section-heading{display:block}
.intro,.works,.process{position:relative;isolation:isolate}
.intro>:not(.light-art),.works>:not(.light-art),.process>:not(.light-art){position:relative;z-index:1}
.light-art{position:absolute;z-index:0;right:var(--gutter);top:45px;width:min(43vw,560px);height:auto;color:#767a78;opacity:.42;pointer-events:none}
.light-art svg{display:block;width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:round}
.light-art path{vector-effect:non-scaling-stroke;stroke-dasharray:1600;stroke-dashoffset:1600;animation:line-build 12s ease-in-out infinite}
.light-art path:nth-child(2){animation-delay:-2.3s}.light-art path:nth-child(3){animation-delay:-1.2s}
.light-art .art-accent{stroke:var(--orange);stroke-width:2;animation-delay:-3.4s}
.art-plan{top:64px}.art-structure{top:45px}
@keyframes line-build{0%,5%{stroke-dashoffset:1600}35%,72%{stroke-dashoffset:0}100%{stroke-dashoffset:-1600}}
@media(max-width:800px){.light-art{top:90px;right:12px;width:min(78vw,430px);opacity:.38}.art-plan{top:96px}.art-structure{top:72px}}
@media(prefers-reduced-motion:reduce){.light-art path{animation:none!important;stroke-dashoffset:0!important}}

/* Documented transformations: original contact sheets and the bathroom work sequence. */
.comparison-set+.comparison-set{margin-top:clamp(38px,5vw,70px)}
.comparison-set-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid #b8b8b4;padding:20px 0 22px}
.comparison-set-heading h4{font-family:Manrope,Arial,sans-serif;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:500;letter-spacing:-.045em;margin:0}
.comparison-set-heading span{font-size:.75rem;letter-spacing:.08em;color:#777;text-transform:uppercase}
.gallery-area[data-area=antes-depois] .comparison{max-width:none;margin:0}
.gallery-area[data-area=antes-depois] .comparison-photo{min-width:0;background:#e3e3e0}
.gallery-area[data-area=antes-depois] .comparison .photo-open{height:480px;padding:14px}
.gallery-area[data-area=antes-depois] .comparison-photo img{width:100%;height:100%;object-fit:contain}
.gallery-area[data-area=antes-depois] .comparison-photo figcaption{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 18px;background:#dededb;border-top:1px solid #cacac6}
.gallery-area[data-area=antes-depois] .comparison-photo figcaption span{font-size:.7rem;letter-spacing:.11em;color:#a44900;white-space:nowrap}
.gallery-area[data-area=antes-depois] .comparison-photo figcaption strong{font-size:.875rem;font-weight:500;text-align:right}
.comparison-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gallery-area[data-area=antes-depois] .comparison-sequence .photo-open{height:340px;background:#d7d7d4}
.gallery-area[data-area=antes-depois] .comparison-sequence img{object-fit:cover}
@media(max-width:800px){.comparison-sequence{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-area[data-area=antes-depois] .comparison .photo-open{height:360px}}
@media(max-width:480px){.comparison-set-heading{align-items:flex-start;flex-direction:column;gap:7px}.gallery-area[data-area=antes-depois] .comparison .photo-open{height:auto;aspect-ratio:3/4;padding:5px}.gallery-area[data-area=antes-depois] .comparison-sequence .photo-open{height:auto;aspect-ratio:3/4}.gallery-area[data-area=antes-depois] .comparison-photo figcaption{display:block;padding:11px}.gallery-area[data-area=antes-depois] .comparison-photo figcaption span{display:block;margin-bottom:6px}.gallery-area[data-area=antes-depois] .comparison-photo figcaption strong{display:block;text-align:left;font-size:.75rem;line-height:1.3}}

/* The opening film is decorative background media, never an interactive player. */
.hero-media .hero-loop-fallback{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center;pointer-events:none}
.hero-media .hero-video{position:absolute;inset:0;pointer-events:none;opacity:0}
.hero-media.video-playing .hero-video{opacity:1}
.hero-media.video-playing .hero-loop-fallback{visibility:hidden}
@media(max-width:800px){.hero-media .hero-loop-fallback{object-position:center 40%}}
.hero-video::-webkit-media-controls,.hero-video::-webkit-media-controls-start-playback-button,.hero-video::-webkit-media-controls-play-button{display:none!important;-webkit-appearance:none!important}

/* Gallery remains visible even if mobile scroll observation is delayed. */
@media(max-width:800px){
  .media-fade{opacity:1;transition:none}
  .media-fade.is-visible{animation:media-arrive .8s cubic-bezier(.22,.68,.28,1) both}
  .gallery-area .photo-open{min-height:1px}
}
@keyframes media-arrive{from{opacity:.16}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.media-fade.is-visible{animation:none!important}}

/* The supplied logo is circular within a black square; clip only the square in the UI. */
.brand-logo{clip-path:circle(48% at 50% 50%);border-radius:50%}
.footer-bottom .admin-entry{color:#777;text-decoration:none;font-size:.75rem}.footer-bottom .admin-entry:hover,.footer-bottom .admin-entry:focus-visible{color:var(--orange)}
