:root{--navy-900:#1d2834;--navy-800:#253544;--navy-700:#2c3e50;--navy-600:#526170;--navy-500:#76828d;--blue-700:#5f7d96;--blue-500:#7ea7c8;--blue-300:#abc6db;--blue-100:#d8e5ef;--gold-700:#b48361;--gold-600:#d59b72;--gold-500:#e7a87c;--gold-300:#efc6aa;--gold-100:#f8e7da;--sand:#f5e5d2;--cream:#faf5ee;--white:#fff;--ink:#1d2834;--ink-soft:#5c6773;--font-display:Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--container:1200px;--gutter:clamp(1.25rem, 4vw, 2.5rem);--radius-s:10px;--radius-m:18px;--radius-l:28px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}main>section[id]{scroll-margin-top:5.5rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-body);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);color:var(--navy-800);margin:0 0 .5em;font-weight:500;line-height:1.15}h1{letter-spacing:-.01em;font-size:clamp(2.4rem,5.5vw,4.2rem)}h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}h3{margin-bottom:.4em;font-size:1.25rem}p{color:var(--ink-soft);margin:0 0 1em;line-height:1.65}a{color:inherit}.accent{color:var(--gold-600)}.eyebrow{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-600);margin:0 0 .8em;font-size:.8rem;font-weight:600}.eyebrow--light{color:var(--gold-300)}.skip-link{background:var(--navy-800);color:var(--white);z-index:1000;border-radius:0 0 var(--radius-s) 0;padding:.75em 1.25em;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.btn{font-family:var(--font-body);cursor:pointer;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:.9em 1.6em;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--navy-800);color:var(--white);box-shadow:0 8px 20px -8px #1a27338c}.btn--primary:hover{background:var(--navy-700)}.btn--ghost{color:var(--navy-800);background:0 0;border-color:#202a3340}.btn--ghost:hover{border-color:var(--navy-800)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(4rem,9vw,7rem)}.section--tint{background:var(--cream)}.section__title{max-width:34ch}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;margin-top:2.5rem;display:grid}.card{background:var(--white);border-radius:var(--radius-m);color:inherit;transition:transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);border:1px solid #202a3314;flex-direction:column;padding:2rem 1.75rem;text-decoration:none;display:flex;box-shadow:0 20px 40px -30px #1a273359}.card:hover{border-color:#e7a87c80;transform:translateY(-3px);box-shadow:0 24px 44px -28px #1a273373}.card p{flex-grow:1}.card__meta{color:var(--gold-700);margin-top:1rem;font-size:.85rem;font-weight:700}.card__icon{background:var(--gold-100);border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1.25rem;display:inline-flex}.card__icon svg{width:26px;height:26px;fill:var(--gold-700);stroke:var(--gold-700)}.card__icon--blue{background:var(--blue-100)}.card__icon--blue svg{fill:var(--blue-700);stroke:var(--blue-700)}.team{grid-template-columns:1fr;align-items:center;gap:3rem;display:grid}@media (width>=900px){.team{grid-template-columns:.9fr 1.1fr}}.check-list{gap:.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.check-list li{color:var(--ink-soft);padding-left:1.75rem;position:relative}.check-list li:before{content:"";background:var(--gold-500);border-radius:50%;width:.9em;height:.9em;position:absolute;top:.4em;left:0}.team__photo img{border-radius:var(--radius-l);object-fit:cover;aspect-ratio:4/5;width:100%}.stats{flex-wrap:wrap;gap:2.25rem;margin-top:2rem;display:flex}.stats strong{font-family:var(--font-display);color:var(--navy-800);font-size:2rem;display:block}.stats span{color:var(--ink-soft);font-size:.85rem}.contact{grid-template-columns:1fr;gap:3rem;display:grid}@media (width>=900px){.contact{grid-template-columns:1fr 1fr}}.contact-list{gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.contact-list strong{color:var(--navy-800);letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;display:block}.contact-list span{color:var(--ink-soft)}.contact-list a{color:var(--blue-700);text-underline-offset:.15em;font-weight:600;text-decoration:underline}.contact-list a:hover{color:var(--navy-800)}.contact__form{background:var(--cream);border-radius:var(--radius-l);align-content:start;gap:1.1rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid}.field{gap:.4rem;display:grid}.field label{color:var(--navy-800);font-size:.85rem;font-weight:600}.field input,.field textarea{font:inherit;border-radius:var(--radius-s);background:var(--white);resize:vertical;border:1px solid #202a332e;padding:.75em .9em}.field input:focus,.field textarea:focus{outline:2px solid var(--gold-500);outline-offset:1px}.field__note{color:var(--ink-soft);margin:0;font-size:.8rem}.site-header{inset-inline:0;z-index:100;transition:background-color .3s var(--ease), box-shadow .3s var(--ease), padding .3s var(--ease);padding-block:1.1rem;position:fixed;top:0}.site-header.is-scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;padding-block:.7rem;box-shadow:0 10px 30px -20px #1a273366}.site-header__inner{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.brand{align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand__mark{width:40px;height:auto}.brand__word{font-family:var(--font-display);letter-spacing:.06em;color:var(--navy-800);font-size:1.15rem}.site-header:not(.is-scrolled) .brand__word,.site-header:not(.is-scrolled) .nav a{color:var(--white);text-shadow:0 2px 12px #00000040}.nav{gap:2rem;font-size:.95rem;font-weight:500;display:none}.nav a{color:var(--navy-800);text-decoration:none;transition:opacity .2s}.nav a:hover{opacity:.7}.nav a[aria-current=page],.nav-mobile a[aria-current=page]{color:var(--gold-700);font-weight:700}.nav-cta{display:none}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;display:inline-flex}.nav-toggle span{height:2px;color:var(--navy-800);background:currentColor;border-radius:2px}.site-header:not(.is-scrolled) .nav-toggle span{background:var(--white)}.nav-mobile{background:var(--white);padding:1.5rem var(--gutter) 2rem;flex-direction:column;gap:1.1rem;display:none;box-shadow:0 20px 30px -20px #1a27334d}.nav-mobile a:not(.btn){color:var(--navy-800);font-weight:500;text-decoration:none}.nav-mobile .btn{margin-top:.4rem}.nav-mobile.is-open{display:flex}@media (width>=900px){.nav{display:flex}.nav-cta{display:inline-flex}.nav-toggle{display:none}}.hero{align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero__media{z-index:0;position:absolute;inset:0}.hero__media img{object-fit:cover;width:100%;height:100%}.hero__scrim{background:linear-gradient(#1a2733c7 0%,#1a27339e 45%,#1a2733db 100%);position:absolute;inset:0}.hero__content{z-index:1;max-width:46rem;padding-top:6rem;position:relative}.hero__content h1{color:var(--white)}.hero__lead{color:#ffffffd9;max-width:38ch;font-size:1.1rem}.hero__actions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.hero .btn--ghost{color:var(--white);border-color:#ffffff80}.hero .btn--ghost:hover{border-color:var(--white)}.hero__scrollcue{z-index:1;border:2px solid #fff9;border-radius:999px;width:26px;height:42px;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero__scrollcue span{background:var(--white);border-radius:999px;width:4px;height:8px;animation:1.8s ease-in-out infinite scrollcue;position:absolute;top:8px;left:50%;transform:translate(-50%)}@keyframes scrollcue{0%{opacity:1;transform:translate(-50%)}70%{opacity:0;transform:translate(-50%,14px)}to{opacity:0;transform:translate(-50%,14px)}}.gallery{grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem;display:grid}@media (width>=800px){.gallery{grid-template-columns:1.6fr 1fr;align-items:stretch}}.gallery__display{border-radius:var(--radius-l);background:var(--navy-900);min-height:320px;position:relative;overflow:hidden}.gallery__display img{object-fit:cover;width:100%;height:100%;min-height:320px;display:block}.gallery__display img.is-fading{animation:gallery-fade .35s var(--ease)}@keyframes gallery-fade{0%{opacity:0}to{opacity:1}}.gallery__caption{color:var(--white);background:linear-gradient(#1a273300 0%,#1a2733d9 100%);margin:0;padding:2.5rem 1.5rem 1.25rem;font-size:.95rem;position:absolute;inset:auto 0 0}.gallery__tabs{grid-template-columns:repeat(2,1fr);align-content:start;gap:.75rem;display:grid}@media (width>=800px){.gallery__tabs{grid-template-columns:1fr}}.gallery__tab{font:inherit;text-align:left;border-radius:var(--radius-m);background:var(--white);color:var(--navy-800);cursor:pointer;transition:border-color .2s var(--ease), background-color .2s var(--ease), transform .2s var(--ease);border:1px solid #202a331f;padding:1rem 1.1rem;font-size:.9rem;font-weight:600}.gallery__tab:hover{border-color:var(--gold-500)}.gallery__tab.is-active{background:var(--navy-800);border-color:var(--navy-800);color:var(--white);transform:translate(4px)}@media (width>=800px){.gallery__tab.is-active{transform:translate(6px)}}.services-hero{background:var(--navy-900);padding:clamp(7rem,16vw,9rem) 0 clamp(3rem,8vw,4rem)}.services-hero h1{color:var(--white);max-width:24ch}.services-hero__lead{color:#ffffffbf;max-width:60ch;font-size:1.05rem}.cat-pills{z-index:50;background:var(--white);border-bottom:1px solid #202a3314;padding-block:.9rem;position:sticky;top:0}.cat-pills__inner{scrollbar-width:none;-ms-overflow-style:none;gap:.6rem;display:flex;overflow-x:auto}.cat-pills__inner::-webkit-scrollbar{display:none}.cat-pill{background:var(--cream);color:var(--navy-800);white-space:nowrap;transition:background-color .2s var(--ease), color .2s var(--ease);border-radius:999px;flex:none;padding:.5em 1em;font-size:.85rem;font-weight:600;text-decoration:none}.cat-pill:hover{background:var(--gold-100)}.service-accordion{gap:1rem;margin-top:2.5rem;display:grid}.service-cat{background:var(--white);border-radius:var(--radius-m);border:1px solid #202a331a;padding:.25rem clamp(1rem,3vw,1.75rem);scroll-margin-top:6.5rem}.service-cat summary{cursor:pointer;align-items:center;gap:1rem;padding-block:1.1rem;font-weight:600;list-style:none;display:flex}.service-cat summary::-webkit-details-marker{display:none}.service-cat__icon{background:var(--gold-100);border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;display:inline-flex}.service-cat__icon.card__icon--blue{background:var(--blue-100)}.service-cat__icon svg{width:22px;height:22px;fill:var(--gold-700);stroke:var(--gold-700)}.service-cat__icon.card__icon--blue svg{fill:var(--blue-700);stroke:var(--blue-700)}.service-cat__title{color:var(--navy-800);flex-grow:1;font-size:1.05rem}.service-cat__count{color:var(--ink-soft);flex:none;font-size:.8rem;font-weight:500}.service-cat summary:after{content:"";border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);width:.6em;height:.6em;transition:transform .25s var(--ease);flex:none;margin-left:.25rem;transform:rotate(45deg)}.service-cat[open] summary:after{transform:rotate(-135deg)}.service-list{border-top:1px solid #202a3314;gap:0;margin:0;padding:0 0 1.25rem;list-style:none;display:grid}.service-list li{border-bottom:1px dashed #202a331a;justify-content:space-between;gap:1rem;padding:.85rem .25rem;display:flex}.service-list li:last-child{border-bottom:none}.service-list__name{color:var(--ink)}.service-list__price{color:var(--navy-800);white-space:nowrap;flex:none;font-weight:700}.services-cta{border-radius:var(--radius-l);background:var(--cream);text-align:center;margin-top:3rem;padding:clamp(2rem,5vw,3rem)}.services-cta h2{margin-bottom:.4rem}.services-cta p{margin-bottom:1.5rem}.smiles{min-height:70svh;color:var(--white);align-items:center;padding-block:clamp(5rem,14vw,9rem);display:flex;position:relative}.smiles__media{z-index:0;position:absolute;inset:0}.smiles__media img{object-fit:cover;object-position:center 30%;width:100%;height:100%}.smiles__media:after{content:"";background:linear-gradient(90deg,#1a2733e0 0%,#1a27338c 55%,#1a273340 100%);position:absolute;inset:0}.smiles__content{z-index:1;max-width:32rem;position:relative}.smiles__content h2,.smiles__content p{color:var(--white)}.smiles__content p{color:#fffc}.site-footer{background:var(--navy-900);color:#ffffffb3;padding-block:3rem}.site-footer__inner{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.brand--footer .brand__word{color:var(--white)}.site-footer__tag{letter-spacing:.08em;text-transform:uppercase;color:var(--gold-300);margin:.25rem 0 1rem;font-size:.85rem}.site-footer__copy{color:#ffffff80;margin:0;font-size:.8rem}.js-reveal .reveal{opacity:0;transform:translateY(18px)}.reveal{transition:opacity .7s var(--ease), transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.card.reveal{transition-delay:calc(var(--reveal-index,0) * 60ms)}.whatsapp-fab{z-index:150;width:58px;height:58px;transition:transform .25s var(--ease), box-shadow .25s var(--ease);background:#25d366;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed;bottom:clamp(1rem,4vw,1.75rem);right:clamp(1rem,4vw,1.75rem);box-shadow:0 10px 24px -8px #00000073}.whatsapp-fab:hover{transform:translateY(-3px)scale(1.04);box-shadow:0 14px 30px -8px #00000080}.whatsapp-fab svg{width:32px;height:32px}@media (prefers-reduced-motion:reduce){.whatsapp-fab:hover{transform:none}}
