@font-face{font-family:Fraunces LP;src:url(https://fonts.gstatic.com/s/fraunces/v35/6NU78FyLNQOQZAnv9ZwflOk-45Rg.woff2)format("woff2");font-weight:700;font-display:swap}:root{--ink:#17201d;--muted:#5f6b66;--paper:#fbfaf5;--panel:#fff;--line:#d8ddd5;--sun:#f2b705;--leaf:#2e7d5b;--steel:#45636f;--clay:#b95d35;--shadow:0 22px 60px #17201d24}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 8% 12%,#f2b70542,#0000 28rem),linear-gradient(135deg,#fbfaf5 0%,#eef4ef 52%,#f8efe8 100%);margin:0;font-family:Aptos,Segoe UI,sans-serif}body:before{z-index:-1;content:"";background-image:linear-gradient(#17201d0d 1px,#0000 1px),linear-gradient(90deg,#17201d0d 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;mask-image:linear-gradient(#000 0%,#0000 80%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{z-index:20;backdrop-filter:blur(16px);background:#fbfaf5e6;border:1px solid #d8ddd5d6;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;width:min(1120px,100% - 32px);margin:18px auto 0;padding:10px 12px;display:flex;position:sticky;top:0;box-shadow:0 12px 36px #17201d14}.brand img{filter:drop-shadow(0 7px 16px #17201d24);width:178px;height:auto}nav{color:var(--muted);gap:clamp(.7rem,2vw,1.6rem);font-size:.95rem;font-weight:700;display:flex}nav a:hover,nav a:focus-visible{color:var(--leaf)}.hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:clamp(2rem,5vw,5rem);width:min(1120px,100% - 32px);min-height:calc(100svh - 110px);margin:0 auto;padding:clamp(3rem,8vw,6rem) 0 4rem;display:grid}.eyebrow{color:var(--clay);letter-spacing:0;text-transform:uppercase;margin:0 0 .7rem;font-size:.78rem;font-weight:900}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Fraunces LP,Georgia,serif;line-height:.96}h1{letter-spacing:0;max-width:700px;margin-bottom:1rem;font-size:clamp(2.85rem,5.5vw,4.8rem)}h2{letter-spacing:0;max-width:760px;margin-bottom:0;font-size:clamp(2rem,4vw,3.5rem)}h3{margin-bottom:.8rem;font-size:clamp(1.25rem,2vw,1.55rem)}.hero-text,.intro p,.contact p{color:var(--muted);font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.6}.hero-text{max-width:620px}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2rem;display:flex}.hero-visual{background:var(--steel);min-height:480px;box-shadow:var(--shadow);border:1px solid #17201d1f;border-radius:8px;margin:0;position:relative;overflow:hidden}.hero-visual img{width:100%;height:100%;min-height:inherit;object-fit:cover}.hero-visual figcaption{border-left:3px solid var(--sun);color:#fff;background:#17201dd1;padding:.7rem .85rem;font-size:.9rem;font-weight:800;position:absolute;bottom:1rem;left:1rem;right:1rem}.section{width:min(1120px,100% - 32px);margin:0 auto;padding:clamp(3.2rem,8vw,6rem) 0}.intro{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro p{max-width:920px;color:var(--ink);margin-bottom:0;font-size:clamp(1.4rem,3vw,2.45rem);line-height:1.28}.section-heading{margin-bottom:clamp(1.8rem,4vw,3rem)}.section-heading.compact{justify-content:space-between;align-items:end;gap:1.5rem;display:flex}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.service-card,.contact-panel{background:#ffffffa3;border:1px solid #17201d1f;border-radius:8px;box-shadow:0 18px 44px #17201d12}.service-card{min-height:260px;padding:clamp(1.1rem,3vw,1.6rem)}.service-card p{color:var(--muted);line-height:1.62}.gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:1rem;display:grid}.work-card{background:linear-gradient(145deg,#2e7d5b3d,#f2b70540);border-radius:8px;min-height:300px;margin:0;position:relative;overflow:hidden}.work-card:first-child{grid-area:span 2/span 2;min-height:480px}.work-card:nth-child(4),.work-card:nth-child(7){grid-column:span 2}.work-card img{width:100%;height:100%;min-height:inherit;object-fit:cover}.work-card img:not([src]),.work-card img[src=""]{display:none}.work-card:before{z-index:0;content:"";background:linear-gradient(135deg,#0000 0 46%,#ffffff80 46% 48%,#0000 48%),repeating-linear-gradient(90deg,#17201d17 0 1px,#0000 1px 26px);position:absolute;inset:0}.work-card figcaption{z-index:2;color:#fff;background:#17201dc7;border-radius:8px;padding:.55rem .7rem;font-size:.9rem;font-weight:900;position:absolute;bottom:12px;right:12px}.quote{border-top:1px solid var(--line)}.quote-intro{max-width:650px;color:var(--muted);margin:1rem 0 0;font-size:1.08rem;line-height:1.6}.quote-form{box-shadow:var(--shadow);background:#ffffffb8;border:1px solid #17201d24;border-radius:8px;gap:1.25rem;padding:clamp(1.1rem,3vw,2rem);display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.quote-form label:not(.consent-field){color:var(--ink);gap:.45rem;font-size:.92rem;font-weight:800;display:grid}.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:6px}.quote-form input:not([type=checkbox]),.quote-form select{min-height:48px;padding:0 .8rem}.quote-form textarea{resize:vertical;min-height:130px;padding:.8rem}.quote-form input:focus-visible,.quote-form select:focus-visible,.quote-form textarea:focus-visible{outline-offset:2px;outline:3px solid #2e7d5b52}.consent-field{color:var(--muted);align-items:flex-start;gap:.7rem;font-size:.9rem;line-height:1.45;display:flex}.consent-field input{width:1.1rem;height:1.1rem;accent-color:var(--leaf);margin:.1rem 0 0}.form-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.form-actions .button{cursor:pointer;font:inherit;border:0;gap:.65rem}.form-actions .button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.1rem;height:1.1rem}.form-status{color:var(--muted);margin:0;font-size:.9rem}.contact{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:center;gap:clamp(1.5rem,5vw,4rem);display:grid}.contact-map{background:var(--panel);min-height:410px;box-shadow:var(--shadow);border:1px solid #17201d1f;border-radius:8px;margin:0;overflow:hidden}.contact-map iframe{border:0;width:100%;min-height:350px;display:block}.contact-map figcaption{min-height:60px;color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .85rem;font-size:.9rem;line-height:1.35;display:flex}.contact-map figcaption strong{color:var(--ink)}.contact-map figcaption a{border:1px solid var(--leaf);color:var(--leaf);border-radius:6px;flex:none;padding:.55rem .7rem;font-weight:800}.contact-map figcaption a:hover,.contact-map figcaption a:focus-visible{color:#fff;background:var(--leaf)}.contact-panel{gap:.8rem;padding:1rem;display:grid}.contact-panel span,.contact-panel a{border-radius:8px;align-items:center;min-height:52px;padding:0 1rem;font-weight:900;display:flex}.contact-panel span{color:var(--ink);background:#ffffffc2}.contact-panel a{color:#fff;background:var(--leaf);gap:.8rem}.contact-panel a svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:0 0 1.2rem;width:1.2rem;height:1.2rem}.contact-panel a.whatsapp svg{fill:currentColor;stroke:none}.contact-panel a.email{color:var(--ink);background:#dceee4;border:1px solid #2e7d5b42}.contact-panel a.instagram{color:var(--ink);background:var(--sun)}.contact-panel a.whatsapp{color:#fff;background:#168b4b}@media (width<=820px){.site-header{flex-direction:column;align-items:flex-start}nav{justify-content:space-between;width:100%}.hero,.contact{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{min-height:400px}.service-grid,.gallery,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card,.work-card:first-child{grid-area:auto;min-height:340px}.work-card:nth-child(4),.work-card:nth-child(7){grid-column:auto}.section-heading.compact{flex-direction:column;align-items:flex-start}}@media (width<=520px){.site-header,.hero,.section{width:min(100% - 22px,1120px)}nav{gap:.4rem;font-size:.86rem}.brand img{width:150px}.gallery,.form-grid{grid-template-columns:1fr}h1{font-size:clamp(2.6rem,13vw,3.7rem)}.hero-actions,.button{width:100%}.button{justify-content:center}}
