:root{--red:#ad252b;--red-dark:#82191e;--ink:#211f1d;--ink-soft:#4f4a45;--paper:#f5f1eb;--paper-deep:#e9e1d7;--white:#fffdf9;--wood:#b8956f;--line:#211f1d29;--shadow:0 24px 70px #261c1626;--font-sans:"Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-serif:Georgia, "Times New Roman", serif;color:var(--ink);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}body.menu-open,body.lightbox-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}figure,h1,h2,h3,p{margin:0}:focus-visible{outline-offset:4px;outline:3px solid #f2a4a8}.container{width:min(100% - 48px,1280px);margin-inline:auto}.skip-link{z-index:500;background:var(--ink);color:#fff;border-radius:4px;padding:10px 16px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--red);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:11px;font-size:.76rem;font-weight:700;line-height:1.2;display:flex}.eyebrow>span{background:currentColor;width:35px;height:1px}.button{letter-spacing:.035em;border:1px solid #0000;justify-content:center;align-items:center;gap:14px;min-height:50px;padding:13px 20px;font-size:.83rem;font-weight:700;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:var(--red-dark)}.button-outline{border-color:var(--ink);background:0 0}.button-outline:hover{background:var(--ink);color:#fff}.button-light{background:var(--white);color:var(--red-dark)}.button-light:hover{background:var(--ink);color:#fff}.text-link{color:#fff;border-bottom:1px solid #ffffff94;align-items:center;gap:9px;padding-block:7px 5px;font-size:.84rem;font-weight:650;display:inline-flex}.text-link.dark{border-color:var(--ink);color:var(--ink)}.text-link svg{transition:transform .18s}.text-link:hover svg{transform:translate(3px,-3px)}.site-header{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f1ebeb;height:78px;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.brand{align-items:center;width:168px;height:58px;display:flex}.brand img,.footer-brand img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%}.main-nav{align-items:center;gap:clamp(18px,2.4vw,38px);display:flex}.main-nav>a:not(.nav-contact){color:var(--ink-soft);font-size:.78rem;font-weight:650;position:relative}.main-nav>a:not(.nav-contact):after{background:var(--red);content:"";transform-origin:100%;height:1px;transition:transform .18s;position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(0)}.main-nav>a:not(.nav-contact):hover:after{transform-origin:0;transform:scaleX(1)}.nav-contact{background:var(--ink);color:#fff;align-items:center;gap:9px;min-height:42px;padding:10px 15px;font-size:.75rem;font-weight:700;display:flex}.menu-toggle{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;display:none}.hero{background:linear-gradient(90deg, #ffffff09 1px, transparent 1px) 0 0 / 78px 78px, var(--ink);color:#fff;padding-block:clamp(34px,5vw,72px) clamp(60px,7vw,96px);position:relative;overflow:hidden}.hero:before{content:"";background:#ffffff12;width:1px;position:absolute;top:0;bottom:0;left:calc(50% - 1px)}.hero-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(36px,6vw,92px);display:grid}.hero-copy{z-index:2;max-width:560px;position:relative}.hero-location{color:#dfcdb7;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:clamp(20px,4vh,42px);font-size:.75rem;font-weight:700;display:flex}.hero h1{max-width:680px;font-family:var(--font-serif);letter-spacing:-.055em;font-size:clamp(3.2rem,6vw,6.25rem);font-weight:400;line-height:.88}.hero h1 em{color:#d25459;font-weight:400;display:block}.hero-lead{color:#ffffffb8;max-width:500px;margin-top:clamp(22px,4vh,38px);font-size:clamp(1rem,1.3vw,1.16rem);line-height:1.65}.hero-actions{align-items:center;gap:25px;margin-top:clamp(24px,4vh,38px);display:flex}.hero-note{color:#ffffff8a;letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;gap:8px 22px;margin-top:clamp(30px,5vh,50px);font-size:.72rem;font-weight:650;display:flex}.hero-note span:not(:last-child):after{background:var(--red);content:"";vertical-align:middle;border-radius:50%;width:3px;height:3px;margin-left:22px;display:inline-block}.hero-visual{height:clamp(480px,60vh,620px);min-height:480px;position:relative}.hero-image-main{box-shadow:var(--shadow);position:absolute;inset:0 10% 8% 0;overflow:hidden}.hero-image-main:after,.hero-image-detail:after,.about-visual:after{content:"";pointer-events:none;background:linear-gradient(145deg,#0000 55%,#21140d47);position:absolute;inset:0}.hero-image-main img,.hero-image-detail img,.about-visual>img{object-fit:cover;width:100%;height:100%}.hero-image-detail{border:8px solid var(--ink);width:35%;height:43%;box-shadow:var(--shadow);position:absolute;bottom:0;right:0;overflow:hidden}.hero-image-detail img{object-position:50% 40%}.hero-stamp{background:var(--red);color:#fff;align-items:center;gap:9px;width:136px;min-height:96px;padding:14px;display:flex;position:absolute;top:8%;right:0}.hero-stamp strong{font-family:var(--font-serif);font-size:2.6rem;font-weight:400;line-height:1}.hero-stamp span{letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:700;line-height:1.35}.signature{background:var(--paper);padding-block:clamp(76px,9vw,132px)}.signature-layout{grid-template-columns:.83fr 1.17fr;gap:clamp(50px,8vw,130px);display:grid}.signature-intro h2,.section-heading h2,.about-copy h2,.contact-copy h2{font-family:var(--font-serif);letter-spacing:-.045em;font-size:clamp(2.35rem,4.25vw,4.7rem);font-weight:400;line-height:.98}.signature-intro h2{margin-top:26px}.signature-intro h2 em,.section-heading h2 em,.about-copy h2 em,.contact-copy h2 em{color:var(--red);font-weight:400}.signature-list{border-top:1px solid var(--line)}.signature-item{border-bottom:1px solid var(--line);grid-template-columns:48px 42px 1fr;align-items:start;gap:12px;padding-block:26px;display:grid}.signature-number{color:var(--red);font-family:var(--font-serif);font-size:1rem}.signature-icon{color:var(--wood)}.signature-item h3{font-family:var(--font-serif);margin-bottom:7px;font-size:1.35rem;font-weight:400}.signature-item p{color:#716a63;max-width:530px;font-size:.94rem;line-height:1.7}.section-heading{max-width:790px}.section-heading h2{margin-top:25px}.section-description{color:#716a63;max-width:650px;margin-top:23px;font-size:1rem}.section-heading.is-light h2,.section-heading.is-light .section-description{color:#fff}.section-heading.is-light .eyebrow{color:#e6b3b5}.portfolio-section{background:var(--white);padding-block:clamp(78px,9vw,132px)}.portfolio-topline{justify-content:space-between;align-items:end;gap:40px;display:flex}.portfolio-counter{grid-template-columns:30px auto 1fr;align-items:end;gap:9px;min-width:190px;padding-bottom:8px;display:grid}.portfolio-counter svg{color:var(--red);align-self:center}.portfolio-counter strong{font-family:var(--font-serif);font-size:3.35rem;font-weight:400;line-height:.8}.portfolio-counter span{color:#7b746d;letter-spacing:.11em;text-transform:uppercase;font-size:.65rem;font-weight:700;line-height:1.35}.portfolio-filters{border-bottom:1px solid var(--line);scrollbar-width:none;margin-block:52px 28px;display:flex;overflow-x:auto}.portfolio-filters::-webkit-scrollbar{display:none}.portfolio-filters button{color:#7a736d;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:8px;padding:12px 19px 15px;font-size:.8rem;font-weight:650;display:flex;position:relative}.portfolio-filters button:first-child{padding-left:0}.portfolio-filters button:after{background:var(--red);content:"";height:2px;transition:transform .18s;position:absolute;bottom:-1px;left:14px;right:14px;transform:scaleX(0)}.portfolio-filters button.is-active{color:var(--ink)}.portfolio-filters button.is-active:after{transform:scaleX(1)}.portfolio-filters button span{color:var(--red);font-family:var(--font-serif);font-size:.74rem}.portfolio-grid{grid-auto-flow:dense;grid-template-columns:repeat(12,1fr);gap:14px;display:grid}.project-card{grid-column:span 3}.project-card:first-child,.project-card:nth-child(7),.project-card:nth-child(12),.project-card:nth-child(18),.project-card:nth-child(24),.project-card:nth-child(31),.project-card:nth-child(37){grid-column:span 6}.project-card>button{aspect-ratio:4/5;cursor:zoom-in;background:#ded6cb;border:0;width:100%;padding:0;position:relative;overflow:hidden}.project-card:first-child>button,.project-card:nth-child(7)>button,.project-card:nth-child(12)>button,.project-card:nth-child(18)>button,.project-card:nth-child(24)>button,.project-card:nth-child(31)>button,.project-card:nth-child(37)>button{aspect-ratio:2}.project-card img{object-fit:cover;width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .3s}.project-card:hover img,.project-card:focus-within img{filter:brightness(.74);transform:scale(1.035)}.project-overlay{color:#fff;opacity:0;grid-template-columns:28px 1fr 24px;align-items:end;gap:10px;padding:18px;transition:opacity .26s;display:grid;position:absolute;inset:0}.project-card:hover .project-overlay,.project-card:focus-within .project-overlay{opacity:1}.project-index{color:#ffffffad;font-family:var(--font-serif);font-size:.85rem}.project-meta{flex-direction:column;display:flex}.project-meta small{color:#efb8ba;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px;font-size:.61rem;font-weight:700}.project-meta strong{font-family:var(--font-serif);font-size:1rem;font-weight:400;line-height:1.2}.portfolio-actions{justify-content:space-between;align-items:center;gap:24px;margin-top:38px;display:flex}.portfolio-whatsapp{color:#6b645e;font-size:.84rem}.portfolio-whatsapp strong{color:var(--red)}.lightbox{z-index:300;place-items:center;padding:42px 72px;display:grid;position:fixed;inset:0}.lightbox-backdrop{z-index:-1;cursor:default;background:#12100ff5;border:0;position:fixed;inset:0}.lightbox figure{grid-template-rows:minmax(0,1fr) auto;max-width:min(1100px,90vw);max-height:88vh;display:grid}.lightbox figure img{object-fit:contain;width:100%;max-height:calc(88vh - 82px)}.lightbox figcaption{color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding-top:16px;display:grid}.lightbox figcaption span{color:#e2a3a6;letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:700}.lightbox figcaption strong{font-family:var(--font-serif);font-size:1rem;font-weight:400}.lightbox figcaption small{color:#ffffff8c}.lightbox-close,.lightbox-control{z-index:2;color:#fff;cursor:pointer;background:#0003;border:1px solid #ffffff40;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:fixed}.lightbox-close{top:22px;right:24px}.lightbox-control{top:50%;transform:translateY(-50%)}.lightbox-previous{left:22px}.lightbox-next{right:22px}.process-section{background:linear-gradient(90deg, #ffffff09 1px, transparent 1px) 0 0 / 90px 90px, var(--ink);padding-block:clamp(78px,9vw,130px);position:relative;overflow:hidden}.process-section:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:390px;height:390px;position:absolute;top:-160px;right:-130px}.process-grid{border-top:1px solid #ffffff29;border-left:1px solid #ffffff29;grid-template-columns:repeat(3,1fr);margin-top:clamp(46px,6vw,82px);display:grid}.process-card{color:#fff;border-bottom:1px solid #ffffff29;border-right:1px solid #ffffff29;min-height:300px;padding:clamp(25px,3.3vw,46px);transition:background .24s}.process-card:hover{background:var(--red)}.process-card-top{color:#d0b69a;justify-content:space-between;align-items:center;display:flex}.process-card-top span{font-family:var(--font-serif)}.process-card h3{font-family:var(--font-serif);margin-top:82px;font-size:clamp(2rem,3vw,3.1rem);font-weight:400}.process-card p{color:#ffffffa8;max-width:310px;margin-top:14px;font-size:.94rem}.process-card:hover p,.process-card:hover .process-card-top{color:#fff}.about-section{background:var(--paper-deep);padding-block:clamp(80px,10vw,144px)}.about-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(48px,8vw,120px);display:grid}.about-visual{height:min(70vh,670px);min-height:520px;position:relative;overflow:hidden}.about-label{z-index:2;background:var(--white);flex-direction:column;min-width:225px;padding:18px 22px;display:flex;position:absolute;bottom:0;right:0}.about-label span{color:#786f66;letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:700}.about-label strong{font-family:var(--font-serif);font-size:1.25rem;font-weight:400}.about-copy h2{margin-block:25px 27px}.about-copy>p:not(.eyebrow){color:#665f59;max-width:570px;margin-top:14px}.about-facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-block:34px 28px;display:grid}.about-fact{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:end;min-height:130px;padding:18px 13px 18px 0;display:flex}.about-fact:last-child{border-right:0;padding-left:14px}.about-fact:nth-child(2){padding-left:14px}.about-fact svg{color:var(--red);margin-bottom:auto}.about-fact span{color:#817970;letter-spacing:.09em;text-transform:uppercase;font-size:.61rem;font-weight:700}.about-fact strong{font-family:var(--font-serif);margin-top:3px;font-size:.9rem;font-weight:400;line-height:1.25}.contact-section{background:var(--red);color:#fff;padding-block:clamp(62px,7vw,100px)}.contact-shell{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(50px,8vw,130px);display:grid}.contact-copy .eyebrow{color:#f2c4c6}.contact-copy h2{margin-block:26px 22px}.contact-copy h2 em{color:#fff}.contact-copy>p:not(.eyebrow){color:#ffffffb8;max-width:470px;margin-bottom:30px}.contact-details{border-top:1px solid #ffffff42}.contact-item{border-bottom:1px solid #ffffff42;grid-template-columns:36px 1fr 24px;align-items:center;gap:15px;min-height:86px;padding-block:13px;display:grid}.contact-item>svg:first-child{color:#f3ced0}.contact-item>svg:last-child{opacity:.6;transition:transform .18s}a.contact-item:hover>svg:last-child{transform:translate(3px,-3px)}.contact-item span{flex-direction:column;min-width:0;display:flex}.contact-item small{color:#ffffff94;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:700}.contact-item strong{font-family:var(--font-serif);overflow-wrap:anywhere;margin-top:3px;font-size:1rem;font-weight:400;line-height:1.35}.social-links{flex-wrap:wrap;gap:12px 30px;padding-top:23px;font-size:.76rem;font-weight:700;display:flex}.social-links a{align-items:center;gap:8px;display:inline-flex}.site-footer{border-top:1px solid var(--line);background:var(--white);padding-block:24px}.footer-inner{grid-template-columns:150px 1fr auto;align-items:center;gap:30px;display:grid}.footer-brand{width:142px;height:48px;display:block}.footer-inner p,.footer-inner>span{color:#777069;font-size:.72rem}.footer-inner>span{text-align:right}.whatsapp-float{z-index:90;color:#fff;background:#1d9b55;border-radius:999px;align-items:center;gap:9px;min-height:50px;padding:12px 17px;font-size:.76rem;font-weight:750;transition:transform .18s,background .18s;display:flex;position:fixed;bottom:20px;right:22px;box-shadow:0 12px 32px #00000038}.whatsapp-float:hover{background:#168349;transform:translateY(-3px)}[data-reveal]{opacity:0;transition:opacity .62s,transform .62s cubic-bezier(.2,.8,.2,1);transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (width<=1080px){.main-nav{gap:18px}.main-nav>a:not(.nav-contact){display:none}.hero-grid{gap:35px}.hero h1{font-size:clamp(3rem,7vw,5.5rem)}.signature-layout,.about-grid,.contact-shell{gap:55px}.project-card{grid-column:span 4}.project-card:first-child,.project-card:nth-child(7),.project-card:nth-child(12),.project-card:nth-child(18),.project-card:nth-child(24),.project-card:nth-child(31),.project-card:nth-child(37){grid-column:span 8}}@media (width<=820px){.container{width:min(100% - 36px,680px)}html{scroll-padding-top:70px}.site-header{height:70px}.brand{width:145px;height:52px}.menu-toggle{display:inline-flex}.main-nav{z-index:95;visibility:hidden;border-top:1px solid var(--line);background:var(--paper);opacity:0;flex-direction:column;align-items:stretch;gap:0;padding:22px 18px 26px;transition:opacity .18s,transform .18s,visibility .18s;display:flex;position:fixed;top:70px;left:0;right:0;transform:translateY(-12px);box-shadow:0 24px 50px #1e18142e}.main-nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.main-nav>a:not(.nav-contact){border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--font-serif);padding:14px 4px;font-size:1.35rem;font-weight:400;display:block}.main-nav>a:not(.nav-contact):after{display:none}.nav-contact{justify-content:center;margin-top:18px}.hero{padding-block:44px 70px}.hero:before{display:none}.hero-grid,.signature-layout,.about-grid,.contact-shell{grid-template-columns:1fr}.hero-copy{max-width:650px}.hero h1{font-size:clamp(3.1rem,13vw,5rem)}.hero-visual{height:56vh;min-height:430px}.hero-image-main{inset:0 8% 8% 0}.signature-layout{gap:42px}.portfolio-topline{flex-direction:column;align-items:start}.portfolio-counter{min-width:0}.portfolio-filters{width:100%;margin-top:38px}.project-card,.project-card:first-child,.project-card:nth-child(7),.project-card:nth-child(12),.project-card:nth-child(18),.project-card:nth-child(24),.project-card:nth-child(31),.project-card:nth-child(37){grid-column:span 6}.project-card:nth-child(n)>button{aspect-ratio:4/5}.portfolio-actions{flex-direction:column;align-items:start}.process-grid{grid-template-columns:1fr}.process-card{min-height:230px}.process-card h3{margin-top:48px}.about-grid{gap:46px}.about-visual{height:62vh;min-height:430px}.contact-shell{gap:46px}}@media (width<=560px){.container{width:min(100% - 28px,520px)}.hero-actions{flex-direction:column;align-items:stretch;gap:14px}.hero-actions .button,.hero-actions .text-link{justify-content:center}.hero-note{gap:9px 14px}.hero-note span:not(:last-child):after{margin-left:14px}.hero-visual{height:63vh;min-height:380px;max-height:520px}.hero-image-main{inset:0 0 12%}.hero-image-detail{border-width:6px;width:42%;height:37%;right:10px}.hero-stamp{width:118px;min-height:82px;top:18px;right:-6px}.hero-stamp strong{font-size:2.2rem}.signature-item{grid-template-columns:38px 1fr}.signature-icon{display:none}.portfolio-grid{grid-template-columns:1fr;gap:10px}.project-card,.project-card:first-child,.project-card:nth-child(7),.project-card:nth-child(12),.project-card:nth-child(18),.project-card:nth-child(24),.project-card:nth-child(31),.project-card:nth-child(37){grid-column:1}.project-card:nth-child(n)>button{aspect-ratio:4/3}.project-card:nth-child(3n+2)>button{aspect-ratio:4/5}.project-overlay{opacity:1;background:linear-gradient(#0000 52%,#000000ad)}.lightbox{padding:62px 14px 24px}.lightbox figure{max-width:100%}.lightbox-control{width:42px;height:42px;top:auto;bottom:19px;transform:none}.lightbox-previous{left:14px}.lightbox-next{right:14px}.lightbox figcaption{grid-template-columns:1fr auto;padding-inline:52px}.lightbox figcaption span{display:none}.about-facts{grid-template-columns:1fr}.about-fact,.about-fact:nth-child(2),.about-fact:last-child{border-right:0;min-height:100px;padding-inline:0}.about-fact svg{margin-bottom:16px}.contact-item{grid-template-columns:32px minmax(0,1fr) 18px;gap:9px}.footer-inner{text-align:center;grid-template-columns:1fr;justify-items:center;gap:6px}.footer-inner>span{text-align:center}.whatsapp-float{justify-content:center;width:50px;padding:12px;bottom:13px;right:14px}.whatsapp-float span{display:none}}@media (height<=800px) and (width>=900px){.hero{padding-block:32px 54px}.hero h1{font-size:clamp(3.3rem,5.5vw,5rem)}.hero-location{margin-bottom:22px}.hero-lead,.hero-actions{margin-top:22px}.hero-note{margin-top:26px}.hero-visual{height:58vh;min-height:440px}}@media (hover:none){.project-overlay{opacity:1;background:linear-gradient(#0000 48%,#000000b3)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}
