:root{--color-ivory:#f4f0e7;--color-ivory-soft:#faf8f3;--color-ivory-dark:#eae4d7;--color-charcoal:#1d2220;--color-charcoal-light:#3f4744;--color-charcoal-muted:#69736e;--color-teal:#075c55;--color-teal-dark:#053f3a;--color-laterite:#b45334;--color-laterite-hover:#9c4327;--color-green:#075c55;--color-grey-warm:#8c877f;--color-white:#fff;--color-forest:#075c55;--color-forest-dark:#053f3a;--color-bronze:#b45334;--color-bronze-hover:#9c4327;--color-border:#e0dad0;--color-border-subtle:#ebe5dc;--color-border-dark:#ffffff24;--font-sans:"Plus Jakarta Sans", "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Arial, sans-serif;--font-serif:"Cormorant Garamond", "DM Serif Display", Georgia, "Times New Roman", serif;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6.5rem;--space-3xl:9rem;--max-width:1400px;--gutter:1.5rem;--transition-fast:.2s cubic-bezier(.16, 1, .3, 1);--transition-smooth:.35s cubic-bezier(.16, 1, .3, 1)}@media (width>=768px){:root{--gutter:2.75rem}}@media (width>=1200px){:root{--gutter:4rem}}.text-center{text-align:center}.text-left{text-align:left}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--color-ivory);color:var(--color-charcoal);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}body{background-color:var(--color-ivory);flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--color-charcoal);letter-spacing:-.015em;font-weight:500}h1{font-size:clamp(2.4rem,5.2vw,4.4rem);line-height:1.1}h2{font-size:clamp(1.85rem,3.4vw,2.85rem);line-height:1.15}h3{font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.25}h4{font-size:1.1rem;line-height:1.35}p{font-family:var(--font-sans);color:var(--color-charcoal-light);font-size:.975rem;line-height:1.68}p.lead{color:var(--color-charcoal);font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.6}.font-serif{font-family:var(--font-serif)}.serif-italic{font-family:var(--font-serif);font-style:italic;font-weight:500}.name-cursive-bold{font-family:var(--font-serif);color:var(--color-charcoal);letter-spacing:-.01em;padding-left:.15em;font-style:italic;font-weight:700}.eyebrow-rule{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:#b45334;align-items:center;gap:.85rem;margin-bottom:1.25rem;font-size:.74rem;font-weight:600;display:inline-flex}.eyebrow-rule:after{content:"";background-color:currentColor;width:38px;height:1.5px;display:inline-block}.sub-tagline{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:#b45334;margin-top:.5rem;margin-bottom:.85rem;font-size:.74rem;font-weight:700;display:block}.btn-editorial-bronze{color:#fff;font-family:var(--font-sans);letter-spacing:.02em;cursor:pointer;transition:all var(--transition-fast);background-color:#b45334;border:1px solid #ffffff26;border-radius:9999px;justify-content:center;align-items:center;gap:.65rem;padding:.85rem 1.85rem;font-size:.88rem;font-weight:500;display:inline-flex;box-shadow:0 4px 16px #b4533447}.btn-editorial-bronze:hover{color:#fff;background-color:#9c4327;transform:translateY(-2px);box-shadow:0 8px 24px #b4533461}.link-editorial-arrow{font-family:var(--font-sans);color:var(--color-charcoal);text-underline-offset:4px;transition:all var(--transition-fast);align-items:center;gap:.45rem;font-size:.84rem;font-weight:600;-webkit-text-decoration:underline #3e362e66;text-decoration:underline #3e362e66;display:inline-flex}.link-editorial-arrow:hover{color:#b45334;text-decoration-color:#b45334;transform:translate(3px)}.section-tag{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--color-grey-warm);align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.72rem;font-weight:600;display:inline-flex}.section-tag:before{content:"";background-color:var(--color-grey-warm);opacity:.6;width:1.5rem;height:1px;display:inline-block}.section-tag-light{color:var(--color-grey-warm)}.section-tag-light:before{background-color:var(--color-grey-warm)}a{color:inherit;transition:color var(--transition-fast), opacity var(--transition-fast);text-decoration:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:.95rem}:focus-visible{outline:1.5px solid var(--color-charcoal);outline-offset:3px}.container{width:100%;max-width:var(--max-width);padding-left:var(--gutter);padding-right:var(--gutter);margin-left:auto;margin-right:auto}.container-narrow{max-width:980px}.section-padding{padding-top:clamp(3.5rem,6.5vw,6.5rem);padding-bottom:clamp(3.5rem,6.5vw,6.5rem)}.section-padding-top{padding-top:clamp(3.5rem,6.5vw,6.5rem)}.section-padding-bottom{padding-bottom:clamp(3.5rem,6.5vw,6.5rem)}.thin-rule{background-color:var(--color-border);border:none;width:100%;height:1px;margin:0}.thin-rule-dark{background-color:var(--color-border-dark)}.btn-editorial-primary,.btn-primary,.cta-main-btn{color:#fff;height:44px;font-family:var(--font-sans);letter-spacing:.03em;box-sizing:border-box;vertical-align:middle;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background-color:#075c55;border:1px solid #ffffff29;border-radius:9999px;justify-content:center;align-items:center;gap:.6rem;padding:0 1.6rem;font-size:.84rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #075c553d}.btn-editorial-primary:hover,.btn-primary:hover,.cta-main-btn:hover{color:#fff;background-color:#053f3a;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 6px 20px #075c5559}.btn-editorial-secondary,.btn-secondary{height:44px;color:var(--color-charcoal);font-family:var(--font-sans);letter-spacing:.03em;box-sizing:border-box;vertical-align:middle;border:1px solid var(--color-border);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background-color:#fff;border-radius:9999px;justify-content:center;align-items:center;gap:.6rem;padding:0 1.6rem;font-size:.84rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex;box-shadow:0 2px 8px #0000000a}.btn-editorial-secondary:hover,.btn-secondary:hover{color:#075c55;background-color:#faf8f5;border-color:#075c55;transform:translateY(-2px);box-shadow:0 4px 14px #075c551f}.btn-editorial-light{color:#fff;letter-spacing:.03em;-webkit-backdrop-filter:blur(12px);transition:all var(--transition-fast);background-color:#ffffff26;border:1px solid #ffffff47;border-radius:9999px;align-items:center;gap:.6rem;padding:.85rem 1.6rem;font-size:.84rem;font-weight:500;display:inline-flex}.btn-editorial-light:hover{background-color:#ffffff40;border-color:#ffffff80;transform:translateY(-2px)}.portfolio-hero-section,.services-hero-section,.about-hero-section,.contact-hero-section{color:#fff;background:linear-gradient(135deg,#053f3a 0%,#075c55 100%);border-bottom:1px solid #ffffff1a;padding-top:8.5rem;padding-bottom:4.5rem;position:relative}.portfolio-hero-title,.services-hero-title,.about-hero-title,.contact-hero-title{color:#fff;letter-spacing:-.025em;margin-bottom:1rem;font-size:clamp(2.2rem,3.8vw,3.4rem);font-weight:500;line-height:1.15}.portfolio-hero-lead,.services-hero-lead,.about-hero-lead,.contact-hero-lead{color:#ffffffd9;max-width:680px;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.65}.filter-tabs-wrapper{flex-wrap:wrap;gap:.65rem;margin-bottom:2.5rem;display:flex}.filter-tab-btn{border:1px solid var(--color-border);color:#222320;-webkit-backdrop-filter:blur(8px);transition:all var(--transition-fast);background-color:#fff;border-radius:9999px;align-items:center;gap:.5rem;padding:.55rem 1.2rem;font-size:.82rem;font-weight:500;display:inline-flex}.filter-tab-btn:hover{color:#075c55;background-color:#faf8f5;border-color:#075c55}.filter-tab-active{box-shadow:0 4px 14px #075c5547;color:#fff!important;background-color:#075c55!important;border-color:#075c55!important}.filter-tab-active .cat-count{color:#fff!important;background-color:#ffffff40!important}.cat-count{color:#075c55;background-color:#075c5514;border-radius:9999px;padding:.15rem .5rem;font-size:.72rem}.service-detail-card,.contact-card{-webkit-backdrop-filter:blur(10px);transition:all var(--transition-smooth);background-color:#ffffffbf;border:1px solid #e5e0d8cc;border-radius:16px;margin-bottom:2rem;padding:clamp(1.75rem,3vw,2.5rem);box-shadow:0 4px 24px #2223200a}.service-detail-card:hover{border-color:#3e362e4d;transform:translateY(-3px);box-shadow:0 12px 36px #22232014}input,textarea,select{border:1px solid var(--color-border);transition:all var(--transition-fast);background-color:#ffffffd9;border-radius:10px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}input:focus,textarea:focus,select:focus{border-color:var(--color-charcoal);background-color:#fff;outline:none;box-shadow:0 0 0 3px #3e362e1a}.link-editorial{letter-spacing:.05em;text-transform:uppercase;color:var(--color-charcoal);transition:all var(--transition-fast);background-color:#3e362e0f;border:1px solid #3e362e29;border-radius:9999px;align-items:center;gap:.5rem;padding:.45rem 1.05rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.link-editorial:hover{color:#fff;background-color:var(--color-green);border-color:var(--color-green);transform:translate(3px);box-shadow:0 4px 12px #36534840}.scroll-progress-bar{background-color:var(--color-charcoal);z-index:1000;transform-origin:0;will-change:transform;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.floating-whatsapp{z-index:990;color:#fff;letter-spacing:.02em;-webkit-backdrop-filter:blur(14px);transition:all var(--transition-fast);background-color:#263a30eb;border:1px solid #ffffff38;border-radius:9999px;align-items:center;gap:.6rem;padding:.75rem 1.35rem;font-size:.82rem;font-weight:600;display:inline-flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 8px 24px #263a3040}.floating-whatsapp:hover{background-color:var(--color-terracotta);color:#fff;border-color:#ffffff59;transform:translateY(-2px);box-shadow:0 10px 28px #a8583b59}.hero-backdrop{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.hero-image{object-fit:cover;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.hero-image-hidden{opacity:0;pointer-events:none}.hero-image-visible{opacity:1}.hero-video{object-fit:cover;opacity:1;filter:none;width:100%;height:100%;position:absolute;inset:0;transform:none}.hero-video-initial,.hero-video-ready{opacity:1}.hero-video-embed-wrap{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.hero-video-iframe{filter:none;pointer-events:none;width:100vw;min-width:177.77vh;height:56.25vw;min-height:100vh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-overlay{pointer-events:none;background:linear-gradient(90deg,#12100eb8 0%,#18141285 48%,#18141247 100%);position:absolute;inset:0}@media (width<=640px){.floating-whatsapp{padding:.65rem .95rem;font-size:.78rem;bottom:1.25rem;right:1.25rem}}
