:root{--bg-dark:#221d1a;--bg-overlay:#1c181573;--text-primary:#fff;--text-secondary:#ffffffd9;--text-muted:#fff9;--border-light:#ffffff26;--accent-gold:#dfd5c6;--bg-about:#faf8f5;--text-about-primary:#211d1a;--text-about-secondary:#5c5450;--border-dark:#211d1a26;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Montserrat", sans-serif;--font-script:"Alex Brush", cursive;--transition-smooth:all .4s cubic-bezier(.25, 1, .5, 1);--transition-fast:all .2s ease}html{scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}a{color:inherit;text-decoration:none}#root{flex-direction:column;min-height:100vh;display:flex}.app-container{width:100%;position:relative}@media (width>=993px){.app-container{scroll-snap-type:none;scroll-behavior:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;height:100dvh;overflow:hidden auto}.app-container>.scroll-panel{flex-shrink:0;height:100dvh}.app-container>.scroll-panel>section{backface-visibility:hidden;contain:paint;width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden;transform:translateZ(0)}.app-container>.scroll-panel:first-child>section{z-index:1;position:relative}.app-container>.scroll-panel:not(:first-child)>section{will-change:transform;position:sticky;top:0}.app-container>.scroll-panel:nth-child(2)>section{z-index:2}.app-container>.scroll-panel:nth-child(3)>section{z-index:3}.app-container>.scroll-panel:nth-child(4)>section{z-index:4}.app-container>.scroll-panel:nth-child(5)>section{z-index:5}.app-container>.scroll-panel:nth-child(6)>section{z-index:6}}.home-section{background-image:linear-gradient(#18141200 70%,#18141257 100%),linear-gradient(100deg,#18141257 0%,#1814121a 45%,#18141200 100%),url(/assets/exterior-double-2JMkAkuY.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;width:100%;height:100vh;scroll-margin-top:0;display:flex;position:relative;overflow:hidden}.main-header{border-bottom:1px solid var(--border-light);z-index:10;background-color:#ffffff65;grid-template-columns:300px 1fr 180px;align-items:center;height:80px;display:grid;position:relative}.logo-container{border-right:1px solid var(--border-light);align-items:center;height:100%;padding-left:40px;display:flex}.logo-link{height:100%;transition:var(--transition-smooth);align-items:center;display:inline-flex}.logo-img{object-fit:contain;width:auto;height:82px;transition:var(--transition-smooth);display:block}.logo-link:hover .logo-img{opacity:.85;transform:scale(1.02)}.nav-menu{justify-content:center;align-items:center;gap:50px;height:100%;display:flex}.nav-link{font-family:var(--font-sans);letter-spacing:.2em;color:#000;text-transform:uppercase;transition:var(--transition-fast);padding:10px 0;font-size:.75rem;font-weight:400;position:relative}.nav-link:after{content:"";background-color:var(--accent-gold);width:0;height:1px;transition:var(--transition-smooth);position:absolute;bottom:0;left:0}.nav-link:hover{color:#000}.nav-link:hover:after{width:100%}.contact-container{border-left:1px solid var(--border-light);justify-content:center;align-items:center;height:100%;display:flex}.contact-link{font-family:var(--font-sans);letter-spacing:.2em;color:#000;text-transform:uppercase;transition:var(--transition-smooth);justify-content:center;align-items:center;width:100%;height:100%;font-size:.75rem;font-weight:500;display:flex;position:relative;overflow:hidden}.contact-link:before{content:"";width:100%;height:100%;transition:var(--transition-smooth);z-index:-1;background:#ffffff0d;position:absolute;top:0;left:-100%}.contact-link:hover:before{left:0}.contact-link:hover{color:#000}.hero-content{flex-direction:column;flex:1;justify-content:space-between;padding:30px 80px 70px;display:flex;position:relative}.hero-title-container{flex-direction:column;margin-top:40px;display:flex}.hero-title{font-family:var(--font-serif);text-transform:uppercase;color:var(--text-primary);letter-spacing:-.01em;text-shadow:0 2px 24px #18141273;flex-direction:column;font-size:clamp(3.5rem,8vw,7.5rem);font-weight:300;line-height:1.05;display:flex}.title-row{opacity:0;animation:1.2s cubic-bezier(.25,1,.5,1) forwards fadeInUp;display:block;transform:translateY(30px)}.row-1{align-self:flex-start;animation-delay:.2s}.row-2{align-self:center;align-items:baseline;margin-left:-5%;animation-delay:.4s;display:flex}.row-3{align-self:center;margin-left:20%;animation-delay:.6s}.script-letter{font-family:var(--font-script);text-transform:none;color:var(--accent-gold);vertical-align:middle;margin-right:-.05em;font-size:1.25em;font-style:italic;font-weight:400;line-height:.5;display:inline-block}.hero-bottom-grid{opacity:0;grid-template-columns:1fr 400px;align-items:flex-end;margin-top:40px;animation:1.2s cubic-bezier(.25,1,.5,1) .8s forwards fadeInUp;display:grid;transform:translateY(20px)}.info-block{flex-direction:column;grid-column:2;gap:15px;display:flex}.hero-description{font-family:var(--font-sans);color:var(--text-secondary);letter-spacing:.05em;text-shadow:0 1px 12px #18141280;font-size:.85rem;font-weight:300;line-height:1.7}.cta-button{font-family:var(--font-sans);letter-spacing:.2em;color:var(--text-primary);text-transform:uppercase;transition:var(--transition-smooth);align-self:flex-start;align-items:center;gap:15px;padding-bottom:8px;font-size:.75rem;font-weight:500;display:inline-flex;position:relative}.cta-button:after{content:"";background-color:var(--text-primary);width:80%;height:1px;transition:var(--transition-smooth);position:absolute;bottom:0;left:0}.cta-arrow{transition:var(--transition-smooth);font-size:1rem}.cta-button:hover{color:var(--accent-gold)}.cta-button:hover:after{background-color:var(--accent-gold);width:100%}.cta-button:hover .cta-arrow{transform:translate(8px)}.about-section{background-color:var(--bg-about);width:100%;height:100vh;color:var(--text-about-primary);grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(40px,5vh,72px);padding:clamp(64px,8vh,88px) clamp(48px,6vw,80px);transition:box-shadow .6s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden;box-shadow:0 -20px 40px #0000001f}.about-content{flex-direction:column;align-items:flex-start;max-width:580px;display:flex}.about-subtitle{font-family:var(--font-sans);letter-spacing:.25em;color:var(--text-about-secondary);text-transform:uppercase;margin-bottom:25px;font-size:.75rem;font-weight:500}.about-title{font-family:var(--font-serif);text-transform:uppercase;color:var(--text-about-primary);letter-spacing:-.01em;flex-wrap:wrap;align-items:baseline;margin-bottom:35px;font-size:clamp(2.5rem,5vw,4.3rem);font-weight:300;line-height:1.15;display:flex}.about-title .script-letter{color:#8c8480}.about-description{font-family:var(--font-sans);color:var(--text-about-secondary);letter-spacing:.04em;margin-bottom:40px;font-size:.88rem;font-weight:300;line-height:1.75}.about-cta{font-family:var(--font-sans);letter-spacing:.25em;color:var(--text-about-primary);text-transform:uppercase;transition:var(--transition-smooth);align-items:center;gap:15px;padding-bottom:8px;font-size:.75rem;font-weight:600;display:inline-flex;position:relative}.about-cta:after{content:"";background-color:var(--text-about-primary);width:70%;height:1px;transition:var(--transition-smooth);position:absolute;bottom:0;left:0}.about-cta:hover{color:var(--text-about-secondary)}.about-cta:hover:after{background-color:var(--text-about-secondary);width:100%}.about-cta:hover .cta-arrow{transform:translate(8px)}.about-images-container{justify-content:flex-end;align-items:flex-start;width:100%;display:flex;position:relative}.about-image-main{border-radius:2px;flex:1.2;max-width:420px;overflow:hidden;box-shadow:0 15px 35px #0000000f}.about-img{object-fit:cover;aspect-ratio:4/5.2;width:100%;height:auto;transition:transform .8s cubic-bezier(.25,1,.5,1);display:block}.about-image-main:hover .about-img,.about-image-secondary:hover .about-img{transform:scale(1.04)}.about-image-secondary{z-index:3;border-radius:2px;flex:.8;max-width:260px;margin-top:-60px;margin-left:-30px;overflow:hidden;box-shadow:0 20px 40px #00000017}.about-bottom-mark{font-family:var(--font-serif);color:var(--text-about-secondary);opacity:.6;border:1px solid var(--border-dark);justify-content:center;align-items:center;width:30px;height:30px;font-size:.9rem;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.portfolio-section{color:#211d1a;background-color:#fff;flex-direction:column;justify-content:space-between;height:100vh;min-height:100vh;max-height:100vh;padding:clamp(56px,7vh,72px) clamp(48px,6vw,80px) clamp(40px,5vh,56px);transition:box-shadow .6s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden;box-shadow:0 -20px 40px #0000001f}.portfolio-header{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;margin-bottom:clamp(24px,3vh,40px);display:flex}.portfolio-subtitle{font-family:var(--font-sans);letter-spacing:.25em;color:#8c8480;text-transform:uppercase;margin-bottom:15px;font-size:.75rem;font-weight:500}.portfolio-title{font-family:var(--font-serif);text-transform:uppercase;color:#211d1a;letter-spacing:.05em;justify-content:center;align-items:baseline;font-size:clamp(2rem,4.5vw,4rem);font-weight:300;display:flex}.portfolio-title .script-letter{color:#8c8480;margin-right:.02em}.portfolio-grid{flex:1;grid-template-columns:1.15fr 1fr .85fr;align-items:center;gap:clamp(32px,4vh,52px);width:100%;min-height:0;display:grid}.portfolio-main-img-wrap{border-radius:2px;width:100%;overflow:hidden;box-shadow:0 15px 35px #0000000f}.portfolio-img{object-fit:cover;aspect-ratio:4/4.6;width:100%;height:auto;transition:transform .8s cubic-bezier(.25,1,.5,1),opacity .4s;display:block}.portfolio-main-img-wrap:hover .portfolio-img{transform:scale(1.03)}.portfolio-info{flex-direction:column;justify-content:center;height:100%;display:flex}.portfolio-project-meta{font-family:var(--font-sans);color:#8c8480;letter-spacing:.1em;border-bottom:1px solid #00000014;justify-content:space-between;margin-bottom:35px;padding-bottom:12px;font-size:.75rem;font-weight:400;display:flex}.portfolio-project-title{font-family:var(--font-serif);text-transform:uppercase;color:#211d1a;letter-spacing:.05em;margin-bottom:25px;font-size:2.2rem;font-weight:400}.portfolio-project-desc{font-family:var(--font-sans);color:#5c5450;letter-spacing:.03em;min-height:0;margin-bottom:35px;font-size:.88rem;font-weight:300;line-height:1.8}.portfolio-project-type{font-family:var(--font-sans);color:#8c8480;letter-spacing:.05em;text-transform:uppercase;margin-top:10px;font-size:.72rem;font-weight:400}.portfolio-right-col{flex-direction:column;justify-content:space-between;align-items:flex-end;gap:40px;height:100%;display:flex}.portfolio-detail-img-wrap{border-radius:2px;width:100%;max-width:250px;overflow:hidden;box-shadow:0 12px 28px #0000000d}.portfolio-detail-img-wrap img{object-fit:cover;aspect-ratio:1;object-position:right top;width:100%;height:auto;transition:transform .8s cubic-bezier(.25,1,.5,1);display:block;transform:scale(1.35)}.portfolio-detail-img-wrap:hover img{transform:scale(1.4)}.portfolio-detail-desc{font-family:var(--font-sans);color:#8c8480;text-align:right;letter-spacing:.03em;max-width:240px;margin-top:15px;font-size:.75rem;font-weight:300;line-height:1.6}.portfolio-nav{gap:15px;margin-top:auto;display:flex}.circle-btn{cursor:pointer;color:#211d1a;width:52px;height:52px;transition:var(--transition-smooth);background:0 0;border:1px solid #211d1a26;border-radius:50%;justify-content:center;align-items:center;display:flex}.circle-btn svg{width:18px;height:18px;transition:var(--transition-smooth)}.circle-btn:hover{color:#fff;background-color:#211d1a;border-color:#211d1a}.circle-btn:hover svg{stroke:#fff;transform:scale(1.1)}.circle-btn:active{transform:scale(.95)}@media (width>=993px){.portfolio-main-img-wrap{max-height:46vh}.portfolio-img{aspect-ratio:4/4.2;height:100%;max-height:46vh}.portfolio-detail-img-wrap,.portfolio-detail-img-wrap img{max-height:28vh}.portfolio-project-title{margin-bottom:16px;font-size:clamp(1.5rem,2.5vw,2rem)}.portfolio-project-desc{margin-bottom:20px;font-size:.82rem;line-height:1.65}}.services-section{height:100vh;min-height:100vh;max-height:100vh;color:var(--text-primary);background-image:linear-gradient(#1c1815b8,#1c1815c7),url(/assets/exterior-single-C4lbxuwt.jpg);background-position:50%;background-size:cover;background-attachment:scroll;flex-direction:column;padding:clamp(56px,7vh,72px) clamp(48px,6vw,80px) clamp(40px,5vh,48px);transition:box-shadow .6s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden;box-shadow:0 -24px 48px #0000002e}.services-inner{flex:1;grid-template-columns:minmax(260px,.88fr) 1.42fr;align-items:center;gap:40px 64px;width:100%;max-width:1440px;min-height:0;margin:0 auto;display:grid;position:relative}.services-intro{flex-direction:column;align-self:center;align-items:flex-start;max-width:400px;display:flex}.services-subtitle{font-family:var(--font-sans);letter-spacing:.28em;color:var(--text-muted);text-transform:uppercase;margin-bottom:22px;font-size:.7rem;font-weight:500}.services-title{font-family:var(--font-serif);text-transform:uppercase;color:var(--text-primary);letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;margin-bottom:24px;font-size:clamp(2rem,3.8vw,3.4rem);font-weight:300;line-height:1.08;display:flex}.services-title .script-letter{color:var(--accent-gold);margin-right:.04em}.services-description{font-family:var(--font-sans);color:var(--text-secondary);letter-spacing:.04em;margin-bottom:32px;font-size:.82rem;font-weight:300;line-height:1.7}.services-cta{font-family:var(--font-sans);letter-spacing:.2em;color:var(--text-primary);text-transform:uppercase;transition:var(--transition-smooth);align-items:center;gap:15px;padding-bottom:8px;font-size:.75rem;font-weight:500;display:inline-flex;position:relative}.services-cta:after{content:"";background-color:var(--text-primary);width:75%;height:1px;transition:var(--transition-smooth);position:absolute;bottom:0;left:0}.services-cta:hover{color:var(--accent-gold)}.services-cta:hover:after{background-color:var(--accent-gold);width:100%}.services-cta:hover .cta-arrow{transform:translate(8px)}.services-cards-wrap{flex-direction:column;justify-content:center;height:100%;min-height:0;display:flex;position:relative}.services-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;align-items:stretch;gap:16px 20px;height:clamp(360px,58vh,500px);transition:grid-template-rows .55s cubic-bezier(.25,1,.5,1);display:grid}.services-grid.has-active.active-0,.services-grid.has-active.active-1{grid-template-rows:1.45fr .55fr}.services-grid.has-active.active-2,.services-grid.has-active.active-3{grid-template-rows:.55fr 1.45fr}.services-grid.has-active.active-0,.services-grid.has-active.active-2{grid-template-columns:1.12fr .88fr}.services-grid.has-active.active-1,.services-grid.has-active.active-3{grid-template-columns:.88fr 1.12fr}.service-card{color:#211d1a;cursor:pointer;background:#fff;outline:none;flex-direction:column;min-height:0;padding:16px 18px 18px;transition:flex-grow .55s cubic-bezier(.25,1,.5,1),padding .55s cubic-bezier(.25,1,.5,1),box-shadow .55s cubic-bezier(.25,1,.5,1),transform .55s cubic-bezier(.25,1,.5,1);display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #00000024}.service-card:nth-child(2),.service-card:nth-child(4){transform:translateY(32px)}.service-card.is-active{z-index:3;padding:18px 20px 20px;transform:translateY(0);box-shadow:0 22px 48px #0003}.service-card.is-inactive{transform:translateY(20px)}.service-card.is-inactive:nth-child(2),.service-card.is-inactive:nth-child(4){transform:translateY(24px)}.service-card.is-inactive .service-image-wrap{height:clamp(56px,9vh,72px)}.service-card.is-inactive .service-card-body{padding-top:8px}.service-card-header{flex-direction:column;flex-shrink:0;gap:10px;transition:gap .55s cubic-bezier(.25,1,.5,1);display:flex}.service-card.is-active .service-card-header{grid-template-rows:auto 1fr;grid-template-columns:28px 1fr;align-items:start;gap:0 14px;display:grid}.service-number{font-family:var(--font-sans);letter-spacing:.12em;color:#8c8480;font-size:.65rem;font-weight:500;line-height:1}.service-card.is-active .service-number{grid-area:1/1;padding-top:2px}.service-image-wrap{flex-shrink:0;width:100%;transition:width .55s cubic-bezier(.25,1,.5,1),height .55s cubic-bezier(.25,1,.5,1);overflow:hidden}.service-card.is-active .service-image-wrap{grid-area:1/2/span 2;justify-self:end;width:100%;max-width:140px;height:clamp(130px,22vh,175px)}.service-img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .7s cubic-bezier(.25,1,.5,1);display:block}.service-card:not(.is-active) .service-image-wrap{height:clamp(72px,12vh,100px)}.service-card:not(.is-active) .service-img{aspect-ratio:5/4;height:100%}.service-card.is-active .service-img{aspect-ratio:auto;height:100%}.service-card.is-active:hover .service-img,.service-card.is-active .service-img{transform:scale(1.02)}.service-card-body{flex-direction:column;min-height:0;margin-top:auto;padding-top:12px;display:flex}.service-card.is-active .service-card-body{padding-top:14px}.service-card-title{font-family:var(--font-serif);letter-spacing:.14em;text-transform:uppercase;color:#211d1a;font-size:.72rem;font-weight:500;line-height:1.3}.service-card.is-active .service-card-title{letter-spacing:.16em;font-size:.78rem}.service-card-expand{opacity:0;max-height:0;margin-top:0;transition:max-height .55s cubic-bezier(.25,1,.5,1),opacity .4s,margin-top .55s cubic-bezier(.25,1,.5,1);overflow:hidden}.service-card.is-active .service-card-expand{opacity:1;max-height:220px;margin-top:10px}.service-card-desc{font-family:var(--font-sans);color:#5c5450;letter-spacing:.02em;margin-bottom:12px;font-size:.72rem;font-weight:300;line-height:1.6}.service-card-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.service-card-price{font-family:var(--font-sans);color:#8c8480;letter-spacing:.06em;font-size:.68rem;font-weight:400}.service-card-arrow{color:#211d1a;flex-shrink:0;justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.25,1,.5,1);display:flex}.service-card.is-active .service-card-arrow{transform:translate(2px,2px)}.services-tagline{font-family:var(--font-sans);color:var(--text-muted);letter-spacing:.04em;text-align:right;max-width:260px;font-size:.68rem;font-weight:300;line-height:1.55;position:absolute;bottom:-4px;right:0}.journal-section{background-color:var(--bg-about);height:100vh;min-height:100vh;max-height:100vh;color:var(--text-about-primary);flex-direction:column;padding:clamp(52px,6.5vh,64px) clamp(48px,6vw,80px) clamp(44px,5vh,56px);transition:box-shadow .6s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden;box-shadow:0 -24px 48px #0000001a}.journal-header{text-align:center;flex-shrink:0}.journal-subtitle{font-family:var(--font-sans);letter-spacing:.28em;color:var(--text-about-secondary);text-transform:uppercase;margin-bottom:14px;font-size:.7rem;font-weight:500;display:block}.journal-title{font-family:var(--font-serif);text-transform:uppercase;color:var(--text-about-primary);letter-spacing:.04em;flex-wrap:wrap;justify-content:center;align-items:baseline;font-size:clamp(2rem,4vw,3.6rem);font-weight:300;line-height:1.1;display:flex}.journal-title .script-letter{color:#8c8480;margin-right:.04em}.journal-grid{flex:1;align-items:flex-end;gap:clamp(14px,2vw,24px);width:100%;max-width:1440px;min-height:0;margin-top:36px;margin-left:auto;margin-right:auto;padding-bottom:8px;display:flex}.journal-card{cursor:pointer;outline:none;flex-direction:column;flex:1;min-width:0;transition:flex .55s cubic-bezier(.25,1,.5,1);display:flex}.journal-grid.has-active .journal-card.is-active{z-index:3;flex:1.65}.journal-grid.has-active .journal-card.is-inactive{opacity:.88;flex:.72}.journal-card-0{align-self:center}.journal-card-1{align-self:flex-start;margin-bottom:28px}.journal-card-2{align-self:flex-end;margin-top:48px}.journal-card-3 .journal-card-visual{aspect-ratio:3/4.2}.journal-card.is-active{align-self:center!important;margin-top:0!important;margin-bottom:0!important}.journal-card-visual{aspect-ratio:1;background:#ebe6df;width:100%;transition:aspect-ratio .55s cubic-bezier(.25,1,.5,1),min-height .55s cubic-bezier(.25,1,.5,1),height .55s cubic-bezier(.25,1,.5,1);position:relative;overflow:hidden}.journal-card.is-active .journal-card-visual{aspect-ratio:auto;height:clamp(280px,48vh,400px);min-height:clamp(280px,48vh,400px)}.journal-card-img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .7s cubic-bezier(.25,1,.5,1),opacity .45s;display:block}.journal-card.is-active .journal-card-img{opacity:.35;transform:scale(1.04)}.journal-card-panel{text-align:center;opacity:0;pointer-events:none;background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:28px 24px;transition:opacity .5s cubic-bezier(.25,1,.5,1),transform .55s cubic-bezier(.25,1,.5,1);display:flex;position:absolute;inset:14px;transform:scale(.94);box-shadow:0 8px 32px #211d1a14}.journal-card.is-active .journal-card-panel{opacity:1;pointer-events:auto;transform:scale(1)}.journal-panel-title{font-family:var(--font-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--text-about-primary);max-width:220px;margin-bottom:16px;font-size:clamp(.85rem,1.4vw,1.05rem);font-weight:500;line-height:1.35}.journal-panel-excerpt{font-family:var(--font-sans);color:var(--text-about-secondary);letter-spacing:.03em;max-width:240px;margin-bottom:22px;font-size:.72rem;font-weight:300;line-height:1.65}.journal-panel-cta{font-family:var(--font-sans);letter-spacing:.18em;color:var(--text-about-primary);text-transform:uppercase;transition:var(--transition-smooth);align-items:center;gap:10px;padding-bottom:6px;font-size:.68rem;font-weight:500;display:inline-flex;position:relative}.journal-panel-cta:after{content:"";background-color:var(--text-about-primary);width:70%;height:1px;transition:var(--transition-smooth);position:absolute;bottom:0;left:0}.journal-panel-cta:hover{color:var(--text-about-secondary)}.journal-panel-cta:hover:after{width:100%}.journal-panel-cta:hover .cta-arrow{transform:translate(6px)}.journal-card-label{font-family:var(--font-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--text-about-primary);max-height:48px;margin-top:14px;font-size:.68rem;font-weight:500;line-height:1.35;transition:opacity .4s,max-height .4s,margin-top .4s;overflow:hidden}.journal-card.is-active .journal-card-label{opacity:0;max-height:0;margin-top:0}.contact-section{color:var(--text-about-primary);background-color:#fff;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -24px 48px #0000001a}.contact-main{flex:1;grid-template-columns:minmax(260px,1fr) minmax(300px,1.15fr);align-items:center;gap:clamp(28px,4vw,56px);min-height:0;padding:clamp(28px,3.5vh,44px) clamp(40px,5vw,80px) clamp(16px,2vh,24px);display:grid}.contact-intro{max-width:420px}.contact-subtitle{font-family:var(--font-sans);letter-spacing:.28em;color:var(--text-about-secondary);text-transform:uppercase;margin-bottom:12px;font-size:.7rem;font-weight:500;display:block}.contact-title{font-family:var(--font-serif);text-transform:uppercase;color:var(--text-about-primary);letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;margin-bottom:16px;font-size:clamp(1.85rem,3.4vw,2.9rem);font-weight:300;line-height:1.12;display:flex}.contact-title .script-letter{color:#8c8480;margin-right:.04em}.contact-description{font-family:var(--font-sans);color:var(--text-about-secondary);letter-spacing:.03em;font-size:.82rem;font-weight:300;line-height:1.75}.contact-whatsapp{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:#fff;cursor:pointer;transition:var(--transition-smooth);background-color:#25d366;border:none;border-radius:999px;align-items:center;gap:10px;margin-top:16px;padding:12px 22px;font-size:.72rem;font-weight:600;display:inline-flex}.contact-whatsapp-icon{flex-shrink:0;width:18px;height:18px}.contact-whatsapp:hover{background-color:#1ebe5a;transform:translateY(-2px);box-shadow:0 10px 24px #25d3664d}.contact-form{grid-template-columns:1fr 1fr;align-content:start;gap:18px 28px;display:grid}.contact-field{display:block}.contact-field:first-child{grid-column:1}.contact-field:nth-child(2){grid-column:2}.contact-field:nth-child(3),.contact-field-message{grid-column:1/-1}.contact-field input,.contact-field textarea{width:100%;font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-about-primary);background:0 0;outline:none;font-size:.78rem;font-weight:400;transition:border-color .25s}.contact-field input{border:none;border-bottom:1px solid var(--border-dark);padding:10px 0 12px}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--text-about-secondary);opacity:.85}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--text-about-primary)}.contact-field textarea{border:1px solid var(--border-dark);resize:vertical;text-transform:none;letter-spacing:.04em;min-height:clamp(88px,14vh,120px);padding:16px 18px;line-height:1.6}.contact-submit{font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--text-about-primary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;grid-column:1/-1;justify-self:start;align-items:center;gap:12px;margin-top:4px;padding:0 0 8px;font-size:.72rem;font-weight:600;display:inline-flex;position:relative}.contact-submit:after{content:"";background-color:var(--text-about-primary);width:72%;height:1px;transition:var(--transition-smooth);position:absolute;bottom:0;left:0}.contact-submit:hover{color:var(--text-about-secondary)}.contact-submit:hover:after{background-color:var(--text-about-secondary);width:100%}.contact-submit:hover .cta-arrow{transform:translate(8px)}.contact-submit:disabled{opacity:.55;cursor:default}.contact-form-status{font-family:var(--font-sans);letter-spacing:.02em;grid-column:1/-1;margin-top:4px;font-size:.78rem;line-height:1.5}.contact-form-status.is-success{color:#1a7f43}.contact-form-status.is-error{color:#b3261e}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-footer{background-color:var(--bg-about);border-top:1px solid var(--border-dark);flex-shrink:0;padding:clamp(18px,2.4vh,28px) clamp(40px,5vw,80px)}.footer-main{grid-template-columns:minmax(160px,1.1fr) repeat(3,minmax(100px,1fr));align-items:start;gap:clamp(24px,3vw,48px);display:grid}.footer-brand{line-height:1.2}.footer-logo{object-fit:contain;width:auto;height:clamp(72px,9vw,104px);display:block}.footer-col-title{font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--text-about-secondary);margin-bottom:16px;font-size:.65rem;font-weight:600;display:block}.footer-nav{flex-direction:column;gap:10px;display:flex}.footer-nav a,.footer-address a{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--text-about-primary);font-size:.68rem;font-weight:500;transition:color .25s}.footer-nav a:hover,.footer-address a:hover{color:var(--text-about-secondary)}.footer-address{flex-direction:column;gap:10px;font-style:normal;display:flex}.footer-address span,.footer-address a{letter-spacing:.12em;text-transform:uppercase;font-size:.65rem;line-height:1.55}.footer-marquee{background-color:var(--bg-about);border-top:1px solid var(--border-dark);flex-shrink:0;padding:10px 0 clamp(14px,2vh,20px);overflow:hidden}.footer-marquee-track{width:max-content;animation:36s linear infinite footerMarquee;display:flex}.footer-marquee-content{font-family:var(--font-serif);letter-spacing:.04em;text-transform:uppercase;color:#211d1a33;white-space:nowrap;flex-shrink:0;padding-right:.15em;font-size:clamp(2.2rem,5.5vw,4.5rem);font-style:italic;font-weight:300;line-height:1}@keyframes footerMarquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.footer-marquee-track{animation:none}}.mobile-menu-btn{cursor:pointer;z-index:20;background:0 0;border:none;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:10px;display:none}.menu-bar{background-color:var(--text-primary);width:22px;height:1px;transition:var(--transition-smooth);display:block}.menu-bar:first-child.open{transform:translateY(3.5px)rotate(45deg)}.menu-bar:last-child.open{transform:translateY(-3.5px)rotate(-45deg)}.mobile-nav{display:none}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media (width<=1200px){.portfolio-section{padding:80px 40px}.portfolio-grid{gap:40px}.services-section{padding:64px 40px 48px}.services-inner{gap:36px 48px}}@media (width<=992px){.app-container>.scroll-panel{scroll-snap-align:none;scroll-snap-stop:normal;height:auto}.app-container>.scroll-panel>section{z-index:auto;height:auto;min-height:auto;max-height:none;position:relative;top:auto;overflow:visible}.app-container{scroll-snap-type:none;height:auto;padding-bottom:10vh;overflow:visible}.main-header{grid-template-columns:200px 1fr 120px}.logo-container{padding-left:20px}.nav-menu{gap:25px}.hero-content{padding:40px 40px 60px}.row-2{margin-left:0}.row-3{margin-left:10%}.hero-bottom-grid{grid-template-columns:1fr;gap:30px}.info-block{grid-column:1;max-width:450px}.about-section{grid-template-columns:1fr;gap:60px;height:auto;padding:80px 40px;position:relative}.about-content{max-width:100%}.about-images-container{justify-content:center}.portfolio-section{padding:80px 40px}.portfolio-grid{grid-template-columns:1.2fr 1fr;gap:50px}.portfolio-right-col{flex-direction:row;grid-column:1/span 2;justify-content:space-between;align-items:flex-end;margin-top:30px}.portfolio-detail-img-wrap{max-width:320px}.portfolio-section{position:relative}.services-section{background-attachment:scroll;height:auto;min-height:100vh;max-height:none;padding:72px 40px 56px;position:relative;overflow:visible}.journal-section{height:auto;min-height:100vh;max-height:none;padding:64px 40px 56px;position:relative;overflow:visible}.journal-grid{flex-wrap:wrap;align-items:stretch;margin-top:32px}.journal-card{flex:calc(50% - 12px);min-width:calc(50% - 12px)}.journal-card-1,.journal-card-2{margin-top:0;margin-bottom:0}.journal-grid.has-active .journal-card.is-active{flex:100%}.contact-section{height:auto;min-height:100vh;max-height:none;overflow:visible}.contact-main{grid-template-columns:1fr;gap:40px;padding:64px 40px 40px}.contact-intro{max-width:100%}.footer-main{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-brand{grid-column:1/-1}.services-inner{grid-template-columns:1fr;align-items:start;gap:40px}.services-intro{align-self:auto;max-width:100%}.services-grid{height:auto;min-height:520px;grid-template-rows:auto auto!important;grid-template-columns:1fr 1fr!important}.services-tagline{text-align:left;max-width:100%;margin-top:20px;position:static}.service-card:nth-child(2),.service-card:nth-child(4){transform:translateY(16px)}.service-card.is-active{transform:translateY(0)}}@media (width<=768px){.main-header{justify-content:space-between;height:70px;padding:0 20px;display:flex}.logo-container{border-right:none;padding-left:0}.logo-img{height:72px}.nav-menu{display:none}.contact-container{border-left:none}.hero-content{justify-content:center;gap:50px;padding:30px 20px 40px}.hero-title{font-size:clamp(2.5rem,10vw,4.5rem)}.row-2{align-self:flex-start;margin-left:5%}.row-3{align-self:flex-start;margin-left:10%}.hero-bottom-grid{margin-top:20px}.info-block{max-width:100%}.about-section{padding:60px 20px}.about-image-secondary{margin-top:-30px}.portfolio-section{padding:60px 20px}.portfolio-grid{grid-template-columns:1fr;gap:40px}.portfolio-right-col{flex-direction:column;grid-column:1;align-items:flex-start;gap:35px}.portfolio-detail-img-wrap{max-width:100%}.portfolio-detail-desc{text-align:left}.portfolio-nav{align-self:flex-end}.mobile-menu-btn{display:flex}.contact-container .contact-link{display:none}.mobile-nav{border-bottom:1px solid var(--border-light);z-index:15;opacity:0;pointer-events:none;background:#181412f7;flex-direction:column;gap:20px;padding:24px 20px 28px;transition:transform .4s cubic-bezier(.25,1,.5,1),opacity .3s;display:flex;position:fixed;top:70px;left:0;right:0;transform:translateY(-120%)}.mobile-nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav-link{font-family:var(--font-sans);letter-spacing:.2em;color:var(--text-secondary);text-transform:uppercase;transition:var(--transition-fast);border-bottom:1px solid #ffffff14;padding:8px 0;font-size:.8rem;font-weight:400}.mobile-nav-link:hover{color:var(--accent-gold)}.services-section{padding:56px 20px 40px}.services-grid{gap:16px;min-height:auto;grid-template-rows:repeat(4,auto)!important;grid-template-columns:1fr!important}.service-card:nth-child(2),.service-card:nth-child(4),.service-card.is-inactive:nth-child(2),.service-card.is-inactive:nth-child(4){transform:none}.services-title{font-size:clamp(1.9rem,8vw,2.8rem)}.service-card.is-active .service-image-wrap{max-width:100%;height:160px}.journal-section{padding:56px 20px 48px}.journal-grid{flex-direction:column;gap:20px}.journal-card,.journal-grid.has-active .journal-card.is-active,.journal-grid.has-active .journal-card.is-inactive{opacity:1;flex:none;width:100%}.journal-card-0,.journal-card-1,.journal-card-2,.journal-card.is-active{align-self:stretch!important;margin:0!important}.journal-card.is-active .journal-card-visual{height:300px;min-height:300px}.contact-main{padding:56px 20px 32px}.contact-form{grid-template-columns:1fr}.contact-field:first-child,.contact-field:nth-child(2),.contact-field:nth-child(3){grid-column:1}.footer-main{grid-template-columns:1fr;gap:28px}.footer-marquee-content{font-size:clamp(1.8rem,12vw,2.8rem)}}@media (width<=480px){.hero-title{font-size:clamp(2rem,11vw,3.2rem)}.about-title{font-size:clamp(2rem,9vw,2.6rem)}.portfolio-project-title{font-size:1.6rem}.portfolio-project-desc{min-height:auto}.circle-btn{width:46px;height:46px}}
