@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.aspect-\[3\/2\]{aspect-ratio:3/2}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-square{aspect-ratio:1}.overflow-hidden{overflow:hidden}.rounded-sm{border-radius:var(--radius-sm)}}:root{color-scheme:light;--background:#faf9f7;--surface:#f2f0ec;--foreground:#191614;--muted:#5f584f;--line:#d5cfc6;--accent:#8b5135;--display:Georgia, "Times New Roman", serif;--sans:"Instrument Sans", ui-sans-serif, system-ui, sans-serif;--header-height:4.5rem}:root.dark{color-scheme:dark;--background:#0e0c0b;--surface:#1d1917;--foreground:#f2f0ec;--muted:#c3b9ac;--line:#4b423b;--accent:#e0ab78}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem)}body{background:var(--background);color:var(--foreground);font:400 1rem/1.55 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{text-decoration:none}button{cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2{font-family:var(--display);letter-spacing:-.05em;font-weight:700;line-height:1.02}h2{font-size:clamp(2.5rem,5.3vw,4.4rem)}.shell{width:min(100% - clamp(2.5rem,10vw,10.5rem),72rem);margin-inline:auto}.skip-link{z-index:10;color:var(--background);background:var(--foreground);padding:.55rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{z-index:4;background:var(--background);position:sticky;top:0}.header-inner{min-height:var(--header-height);border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;grid-template-areas:"brand nav actions";align-items:center;gap:.65rem 1.5rem;display:grid}.wordmark{grid-area:brand;gap:.22rem;width:max-content;line-height:1;display:grid}.wordmark span{font:700 clamp(1.14rem,2vw,1.48rem)/1.05 var(--display);letter-spacing:.07em;text-transform:uppercase}.wordmark small{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:.61rem;font-weight:600}.header-nav{grid-area:nav;gap:clamp(1rem,3vw,2.4rem);display:flex}.header-nav a{min-height:2.75rem;color:var(--muted);align-items:center;font-size:.875rem;font-weight:600;display:grid}.header-nav a:hover,.footer a:hover{color:var(--accent)}.header-nav a[aria-current=page]{text-underline-offset:.35em;color:var(--foreground);text-decoration:underline}.header-actions{grid-area:actions;justify-self:end;align-items:center;gap:.6rem;display:flex}.button,.icon-button{border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex}.button{gap:.65rem;min-height:2.75rem;padding:.65rem 1.12rem;font-size:.875rem;font-weight:600;line-height:1.15}.button:hover,.icon-button:hover{border-color:var(--foreground)}.primary,.filter-button[aria-pressed=true]{border-color:var(--foreground);background:var(--foreground);color:var(--background)}.primary:hover{border-color:var(--accent);background:var(--accent)}.icon-button{width:2.75rem;height:2.75rem}.hero{padding-block:clamp(3rem,7.25vw,6.6rem) clamp(3.5rem,8vw,7rem)}.hero h1{font-size:clamp(3rem,8.1vw,7.25rem)}.hero-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:end;gap:clamp(2.2rem,4.7vw,4.4rem);margin-top:clamp(1.5rem,3.8vw,3.5rem);display:grid}.hero-copy{padding-bottom:.22rem}.hero-copy p:first-child{max-width:28ch;font-size:clamp(1.08rem,2.05vw,1.55rem);line-height:1.4}.hero-location{color:var(--muted);margin-top:.65rem;font-size:.92rem}.hero-actions{flex-wrap:wrap;gap:.55rem;margin-top:1.5rem;display:flex}.hero-actions .button{min-height:3rem;padding-inline:1.25rem}.hero-photos{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(.36rem,1.05vw,.82rem);display:grid}.hero-photos .hero-frame{aspect-ratio:4/5}.hero-frame-1{margin-top:clamp(.75rem,3.1vw,2.5rem)}.hero-frame-3{margin-top:clamp(.45rem,1.75vw,1.5rem)}.frame{background:var(--surface)}.frame img{object-fit:cover;object-position:50% 46%;width:100%;height:100%;display:block}.frame img.frame-portal{transform:scale(1.45)}.frame img.frame-flores{object-position:50% 40%}.frame img.frame-maternidad{object-position:50% 37%}.frame img.frame-familia{object-position:50% 54%}.frame img.frame-campo{object-position:50% 64%}.portfolio{border-top:1px solid var(--line);padding-block:clamp(2.4rem,5vw,4.85rem) clamp(3.5rem,8vw,7.5rem)}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.1rem 2rem;display:flex}.filters{flex-wrap:wrap;gap:.45rem;display:flex}.filter-button{padding-inline:.85rem;font-size:.8rem}.masonry{columns:1;column-gap:1rem;margin-top:clamp(1.65rem,4.25vw,3.5rem)}@media(min-width:640px){.masonry{columns:2}}@media(min-width:1024px){.masonry{columns:3}}.masonry>li{break-inside:avoid;margin-bottom:1.25rem}.masonry:has(>li:only-child){columns:1;max-width:24rem}.gallery-photo{cursor:zoom-in;text-align:left;width:100%;display:block}.gallery-photo .frame{transition:opacity .25s}.gallery-photo:hover .frame{opacity:.84}.photo-label{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding-block:.6rem .48rem;font-size:.88rem;font-weight:500;display:flex}.photo-label svg{color:var(--muted)}.about{border-block:1px solid var(--line);background:var(--surface);padding-block:clamp(3rem,7.3vw,6.65rem)}.about-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1fr);align-items:center;gap:clamp(1.8rem,6.7vw,5.8rem);display:grid}.about-portrait{aspect-ratio:1.25}.about-location{margin-top:1.1rem;font-weight:600}.about-location+p{max-width:35ch;color:var(--muted);margin-top:.4rem}.reveal-ready{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(14px)}.reveal-ready.is-visible,.reveal-ready:focus-within{opacity:1;transform:none}.contact{text-align:center;justify-items:center;gap:1.5rem;width:max-content;max-width:calc(100% - 2.5rem);padding-block:clamp(3.5rem,8vw,7.5rem);display:grid}.contact .button{padding-inline:1.35rem}.contact-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.whatsapp.primary{color:#fff;background:#0b6849;border-color:#0b6849}.whatsapp.primary:hover{background:#084c39;border-color:#084c39}.footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;padding-block:1.3rem 1.7rem;font-size:.87rem;display:flex}.footer-brand{font:700 1.12rem var(--display)}.lightbox{color-scheme:dark;color:#f2f0ec;background:#171310;border:1px solid #433a34;border-radius:.45rem;width:min(54rem,100% - 2rem);max-height:calc(100dvh - 2rem);margin:auto;position:fixed}.lightbox::backdrop{background:#0c0a09e3}.lightbox-content{padding:3.45rem clamp(.8rem,2.75vw,1.7rem) .7rem;position:relative}.lightbox-photo{object-fit:contain;width:100%;height:min(63dvh,40rem)}.lightbox figcaption{border-top:1px solid #4b423b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.2rem .8rem;margin-top:.8rem;padding-top:.55rem;display:flex}.lightbox figcaption span{font:700 clamp(1.05rem,2.2vw,1.4rem)/1.2 var(--display)}.lightbox figcaption a{color:#ded3c8;align-items:center;gap:.4rem;min-height:2.5rem;font-size:.8rem;display:inline-flex}.lightbox figcaption a:hover{color:#e0ab78}.lightbox .icon-button{border-color:#4b423b}.lightbox .icon-button:hover{color:#e0ab78;border-color:#e0ab78}.photo-close{position:absolute;top:.4rem;right:.5rem}.photo-pagination{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:.75rem;padding-top:.45rem;font-size:.85rem;display:flex}.photo-pagination span{text-align:center;min-width:3rem}.client-main{min-height:calc(100svh - var(--header-height) - 5rem);padding-block:clamp(3rem,8vw,7rem)}.client-main h1{font-size:clamp(2.8rem,6.7vw,5.8rem)}.client-main h1[tabindex]:focus{outline:none}.client-login{max-width:39rem;margin-inline:auto}.client-login>p{max-width:45ch;color:var(--muted);margin-top:1.15rem}.client-login .client-demo{color:var(--foreground);font-size:.9rem}.client-form{margin-top:2.1rem}.client-form label{margin-bottom:.48rem;font-size:.9rem;font-weight:600;display:block}.client-code{flex-wrap:wrap;align-items:stretch;gap:.65rem;display:flex}.client-code input{background:var(--surface);border:1px solid var(--line);border-radius:.65rem;flex:13rem;min-width:0;padding:.82rem 1rem}.client-code .button{min-height:3.1rem}.client-help{min-height:2.75rem;color:var(--muted);align-items:center;gap:.45rem;margin-top:.85rem;font-size:.88rem;display:inline-flex}.client-help:hover{color:var(--accent)}.client-error{color:var(--accent);margin-top:.75rem;font-size:.92rem}.client-empty{color:var(--muted);margin-top:1.5rem}.client-heading{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;padding-bottom:1.2rem;display:flex}.client-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.client-photos{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:1.55rem 1rem;margin-top:clamp(1.45rem,4vw,2.7rem);display:grid}.client-photo{aspect-ratio:4/3;background:var(--surface);cursor:zoom-in;border-radius:.25rem;width:100%;display:block;overflow:hidden}.client-photo img{object-fit:cover;width:100%;height:100%;display:block}.client-photo:hover img{opacity:.87}.client-download{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.35rem .9rem;min-height:2.75rem;padding-block:.42rem;font-size:.85rem;display:flex}.client-download:hover{color:var(--accent)}.download-label{align-items:center;gap:.35rem;display:inline-flex}.client-more{text-align:center;margin-top:1.65rem}.client-main .button:disabled{cursor:wait;opacity:.7}@media(max-width:767px){:root{--header-height:6.35rem}.header-inner{grid-template-columns:1fr auto;grid-template-areas:"brand actions""nav nav";align-content:center;gap:0 .65rem;padding-top:.55rem}.header-nav a{min-height:2.5rem}.hero-layout{grid-template-columns:1fr}.hero h1{font-size:clamp(2.35rem,10vw,4.7rem)}.hero-photos{max-width:36rem}.about-layout{grid-template-columns:1fr}.about-portrait{max-width:34rem}}@media(max-width:440px){.client-code .button{justify-content:space-between;width:100%}}@media(max-width:355px){.header-contact{padding-inline:.65rem}.header-actions{gap:.3rem}.wordmark span{font-size:1rem}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}
