:root{--paper: #FFFFFF;--paper-2: #F7F8F7;--ink: #1C1B18;--ink-soft: #55534C;--line: #E5E6E2;--line-strong: #C4C6BF;--accent: #A32B2B;--whatsapp: #25D366;--card-bg: #FFFFFF;--shadow: rgba(28, 27, 24, .08)}:root[data-theme=dark]{--paper: #171614;--paper-2: #201F1C;--ink: #F3F1EA;--ink-soft: #B8B4A9;--line: #37352F;--line-strong: #55524A;--accent: #E0645F;--card-bg: #1F1E1B;--shadow: rgba(0, 0, 0, .4)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;margin:0}p{margin:0}a{color:inherit}img{max-width:100%;display:block}button{font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:1180px;margin:0 auto;padding:0 6vw}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 6vw;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease}nav.scrolled{border-color:var(--line)}.logo{font-family:Fraunces,serif;font-size:1.35rem;letter-spacing:.01em;display:flex;align-items:baseline;gap:.4rem;text-decoration:none}.logo .mark{color:var(--accent)}nav ul{list-style:none;display:flex;gap:2.2rem;margin:0;padding:0}nav ul a{text-decoration:none;font-size:.95rem;color:var(--ink-soft);transition:color .2s}nav ul a:hover,nav ul a:focus-visible{color:var(--ink)}.nav-cta{border:1px solid var(--ink);padding:.55rem 1.2rem;border-radius:2px;font-size:.9rem;text-decoration:none;color:var(--ink);transition:background .2s,color .2s}.nav-cta:hover{background:var(--ink);color:var(--paper)}@media (max-width: 900px){nav ul{display:none}}.hero{min-height:100svh;display:flex;align-items:center;padding:8rem 6vw 4rem}.hero-inner{width:100%;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:center}.hero-tag{font-size:.85rem;color:var(--ink-soft);margin-bottom:1.4rem;display:flex;align-items:center;gap:.6rem}.hero-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.hero h1{font-size:clamp(2.3rem,5.6vw,4.2rem);line-height:1.08;max-width:18ch;letter-spacing:-.01em}.hero h1 .word{display:inline-block;opacity:0;transform:translateY(.5em);filter:blur(4px);animation:wordIn .7s cubic-bezier(.2,.8,.2,1) forwards}@keyframes wordIn{to{opacity:1;transform:translateY(0);filter:blur(0)}}.hero-sub{margin-top:2rem;max-width:48ch;font-size:1.08rem;color:var(--ink-soft);opacity:0;animation:fadeUp .8s ease forwards;animation-delay:1.1s}.hero-actions{margin-top:2.6rem;display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp .8s ease forwards;animation-delay:1.3s}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.hero-media{opacity:0;animation:fadeUp .9s ease forwards;animation-delay:1.2s}.btn-primary{background:var(--ink);color:var(--paper);padding:.9rem 1.7rem;text-decoration:none;border-radius:2px;font-size:.95rem;font-weight:500;transition:transform .2s,background .2s;border:none;cursor:pointer}.btn-primary:hover{transform:translateY(-2px);background:var(--accent)}.btn-ghost{padding:.9rem 1.5rem;text-decoration:none;font-size:.95rem;color:var(--ink);border-bottom:1px solid var(--ink-soft);border-radius:0;transition:border-color .2s,color .2s}.btn-ghost:hover{color:var(--accent);border-color:var(--accent)}@media (max-width: 900px){.hero{min-height:auto;padding-top:7rem}.hero-inner{grid-template-columns:1fr;gap:3rem}}.image-card{position:relative;margin:0;aspect-ratio:4 / 3;border:1px solid var(--line);border-radius:3px;background:var(--paper-2);overflow:hidden}.image-card.fill{aspect-ratio:auto;height:100%}.image-card img{width:100%;height:100%;object-fit:cover}.image-slot{position:absolute;top:.7rem;right:.7rem;bottom:.7rem;left:.7rem;border:1.5px dashed var(--line-strong);border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1rem;text-align:center;color:var(--ink-soft)}.image-slot svg{width:34px;height:34px;color:var(--accent);margin-bottom:.4rem}.slot-label{font-family:Fraunces,Georgia,serif;font-size:1.05rem;color:var(--ink)}.slot-file{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;background:var(--card-bg);border:1px solid var(--line);border-radius:2px;padding:.15rem .5rem;word-break:break-all}.slot-hint{font-size:.78rem}.hero-image{aspect-ratio:4 / 5}@media (max-width: 900px){.hero-image{aspect-ratio:16 / 10}}.reveal-up{opacity:0;transform:translateY(56px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.reveal-up.in{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-64px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal-left.in{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(64px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal-right.in{opacity:1;transform:translate(0)}.reveal-word span{display:inline-block;opacity:0;transform:translateY(.4em);filter:blur(3px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1),filter .5s ease}.reveal-word.in span{opacity:1;transform:translateY(0);filter:blur(0)}@media (prefers-reduced-motion: reduce){.reveal-up,.reveal-left,.reveal-right,.reveal-word span,.hero h1 .word,.hero-sub,.hero-actions,.hero-media{transition:none!important;animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}section{padding:7rem 0}section.alt{background:var(--paper-2)}.section-head{max-width:48ch;margin-bottom:3.2rem}.section-head .kicker{color:var(--accent);font-size:.9rem;margin-bottom:.6rem;display:block}.section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}.section-head p{margin-top:1rem;color:var(--ink-soft)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 900px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.services-grid{grid-template-columns:1fr}}.service-card{background:var(--card-bg);border:1px solid var(--line);border-radius:3px;padding:2.1rem 1.7rem;box-shadow:0 18px 40px -28px var(--shadow)}.service-card .num{font-size:.8rem;color:var(--ink-soft)}.service-card h3{font-size:1.2rem;margin:1rem 0 .7rem}.service-card p{color:var(--ink-soft);font-size:.95rem}.service-media{min-height:220px}.process-row{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;margin-bottom:5.5rem}.process-row:last-child{margin-bottom:0}.process-row.rev .process-media{order:2}.process-row.rev .text-block{order:1}@media (max-width: 780px){.process-row,.process-row.rev{grid-template-columns:1fr;gap:2rem;margin-bottom:4rem}.process-row.rev .process-media,.process-row.rev .text-block{order:initial}}.text-block .step{color:var(--accent);font-size:.88rem;margin-bottom:.7rem}.text-block h3{font-size:1.5rem;margin-bottom:.8rem}.text-block p{color:var(--ink-soft)}.stats-section{padding:6rem 0 3rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3rem 0}@media (max-width: 700px){.stats{grid-template-columns:repeat(2,1fr)}}.stat h3{font-size:2.3rem;color:var(--accent)}.stat p{color:var(--ink-soft);font-size:.9rem;margin-top:.3rem}.gallery{padding-top:3rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(170px,20vw,250px);gap:1.5rem}.gallery-item.g1,.gallery-item.g4{grid-column:span 2}@media (max-width: 700px){.gallery-grid{grid-template-columns:1fr 1fr;gap:1rem;grid-auto-rows:170px}.gallery-item.g1,.gallery-item.g4{grid-column:span 2}}.map-panel{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}@media (max-width: 780px){.map-panel{grid-template-columns:1fr}}.map-visual{background:var(--paper-2);position:relative;min-height:320px}.map-visual svg{width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.map-info{background:var(--card-bg);padding:2.6rem;display:flex;flex-direction:column;justify-content:center;gap:1.4rem}.map-info h3{font-size:1.4rem}.map-info p{color:var(--ink-soft);font-size:.95rem}.map-info .addr{color:var(--ink);font-size:1.02rem;font-weight:500}.map-btn{align-self:flex-start;margin-top:.4rem;display:inline-flex;align-items:center;gap:.5rem;background:var(--ink);color:var(--paper);padding:.75rem 1.3rem;border-radius:2px;text-decoration:none;font-size:.9rem;transition:background .2s}.map-btn:hover{background:var(--accent)}.pin-pulse{animation:pulse 2.4s ease-in-out infinite;transform-origin:210px 130px}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}@media (prefers-reduced-motion: reduce){.pin-pulse{animation:none}}.contact-panel{background:var(--ink);color:var(--paper);border-radius:6px;padding:3.5rem 3rem;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem}@media (max-width: 780px){.contact-panel{grid-template-columns:1fr;padding:2.4rem 1.6rem}}.contact-panel h2{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--paper)}.contact-panel p{color:color-mix(in srgb,var(--paper) 70%,transparent);margin-top:1rem}form{display:flex;flex-direction:column;gap:.9rem;margin-top:1.8rem}form input,form textarea{background:transparent;border:1px solid color-mix(in srgb,var(--paper) 30%,transparent);color:var(--paper);padding:.85rem 1rem;border-radius:2px;font-family:inherit;font-size:.95rem}form input::placeholder,form textarea::placeholder{color:color-mix(in srgb,var(--paper) 50%,transparent)}form button{margin-top:.4rem;background:var(--accent);color:var(--paper);border:none;padding:.9rem 1.4rem;border-radius:2px;font-size:.95rem;cursor:pointer;font-weight:500;transition:opacity .2s}form button:hover{opacity:.88}form button:disabled{cursor:default;opacity:.75}.info-list{display:flex;flex-direction:column;gap:1.6rem}.info-item .label{font-size:.8rem;color:color-mix(in srgb,var(--paper) 60%,transparent);margin:0 0 .3rem}.info-item .value{font-size:1.05rem;color:var(--paper);margin:0}.info-item a{text-decoration:none}.info-item a:hover{text-decoration:underline}footer{border-top:1px solid var(--line);padding:3.5rem 0 2.2rem}.footer-top{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:2.4rem}.footer-brand .logo{margin-bottom:.8rem}.footer-brand p{color:var(--ink-soft);max-width:32ch;font-size:.92rem}.footer-cols{display:flex;gap:3.5rem;flex-wrap:wrap}.footer-col h4{font-size:.85rem;color:var(--ink-soft);margin:0 0 .9rem;font-weight:500}.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.footer-col a{text-decoration:none;font-size:.92rem;color:var(--ink)}.footer-col a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);padding-top:1.6rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.85rem;color:var(--ink-soft)}::selection{background:var(--accent);color:var(--paper)}.float-stack{position:fixed;right:1.6rem;bottom:1.6rem;z-index:200;display:flex;flex-direction:column;align-items:flex-end;gap:.9rem}.float-btn{width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -8px #00000059;transition:transform .2s ease}.float-btn:hover{transform:translateY(-3px) scale(1.04)}.float-btn svg{width:26px;height:26px}.btn-whatsapp{background:var(--whatsapp);color:#fff}.btn-faq{background:var(--ink);color:var(--paper)}.faq-panel{position:fixed;right:1.6rem;bottom:10.2rem;z-index:199;width:min(340px,calc(100vw - 3.2rem));max-height:min(60vh,calc(100svh - 12.5rem));overflow-y:auto;background:var(--card-bg);border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 60px -18px #00000059;transform:translateY(16px) scale(.98);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}.faq-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;visibility:visible;transition-delay:0s}.faq-head{padding:1.1rem 1.3rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.faq-head h4{font-size:1rem;font-family:Fraunces,serif;font-weight:500;margin:0}.faq-head span{font-size:.78rem;color:var(--ink-soft)}.faq-close{background:none;border:none;cursor:pointer;color:var(--ink-soft);font-size:1.2rem;line-height:1;padding:.2rem}.faq-body{padding:.6rem .4rem}.faq-item{border-bottom:1px solid var(--line)}.faq-item:last-child{border-bottom:none}.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:.85rem .9rem;font-size:.9rem;color:var(--ink);display:flex;justify-content:space-between;gap:.6rem}.faq-q .chev{color:var(--accent);transition:transform .2s ease;flex-shrink:0}.faq-item.open .faq-q .chev{transform:rotate(45deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 .9rem}.faq-item.open .faq-a{max-height:220px}.faq-a p{font-size:.86rem;color:var(--ink-soft);padding-bottom:.9rem}.faq-foot{padding:.9rem 1.1rem 1.1rem;border-top:1px solid var(--line)}.faq-foot a{font-size:.85rem;color:var(--accent);text-decoration:none}
