:root{--red:#d63e3e;--ink:#171717;--muted:#555;--blue:#597591}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:4px}h1,h2,h3,p{margin:0}p{line-height:1.6}h2{font-size:30px;line-height:1.25;font-weight:500;text-transform:uppercase}h3{font-size:20px;line-height:1.4;font-weight:600}.wrap{width:calc(100% - 80px);max-width:1200px;margin-inline:auto}.header{height:100px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(40px,calc((100vw - 1200px)/2));background:#ffffffed;border-bottom:1px solid #efefef;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.logo{display:inline-flex;flex-shrink:0}.logo img{width:225px;height:auto;max-height:78px;object-fit:contain}.header nav{display:flex;align-items:center;gap:24px;white-space:nowrap}.header nav a{font-size:14px;color:#353a42;padding:12px 0;transition:color .2s}.header nav a:hover{color:var(--red)}.header-contact{display:flex;align-items:center;gap:16px;white-space:nowrap}.header-phone{color:var(--red);font-size:20px}.header-phone small{display:block;color:#8b939c;font-size:12px;margin-bottom:4px}.wa{background:#82c779;color:white;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:25px}.menu-toggle{display:none}.hero{background:#f1f1f1;padding:56px 0}.hero-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:50px;align-items:center}.welcome{font-size:32px;line-height:1.2}.hero .hero-brand{color:var(--red);font-size:86px;letter-spacing:-2px;line-height:1.1;margin:10px 0 4px}.hero h1{text-transform:none;font-size:27px;font-weight:600;line-height:1.2}.hero-description{font-size:17px;margin:23px 0;color:#444}.hero-photo{width:100%;height:510px;object-fit:cover;border-radius:20px;display:block}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #ffffff80;border-radius:12px;padding:15px 23px;font-size:15px;font-weight:500;position:relative;isolation:isolate;overflow:hidden;cursor:pointer;transition:box-shadow .25s,transform .25s,background .25s}.primary{color:white;background:linear-gradient(135deg,#e45151,#cc3535);box-shadow:inset 0 1px 0 #ffffff50,0 4px 12px #d63e3e16}.button:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at var(--x,50%) var(--y,0%),#ffffff60,transparent 65%);opacity:0;transition:opacity .25s}.button:hover:before,.button:focus-visible:before{opacity:1}.button:hover,.button:focus-visible{box-shadow:0 0 0 3px #d63e3e0c,0 6px 23px #d63e3e38;transform:translateY(-2px)}.button:active{transform:none}.button span{font-size:21px}.glass{border:1px solid #ffffffa0;box-shadow:inset 0 1px 0 #ffffff60,0 6px 22px #1c293708;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:20px}.intro{background:linear-gradient(135deg,#627e99,#55718d);color:white;text-align:center;padding:58px 90px;margin-top:80px}.intro h2{margin-bottom:22px}.intro p{max-width:820px;margin:auto;font-size:17px;line-height:1.5;color:#f3f5f7}.section{padding-top:90px}.about{display:grid;grid-template-columns:1fr 1.08fr;gap:55px;align-items:center}.about-image{position:relative;padding:36px 0 0 70px}.about-image>img{width:100%;height:350px;object-fit:cover;border-radius:20px}.experience{position:absolute;left:0;top:0;width:200px;padding:25px 15px;color:white;text-align:center;background:linear-gradient(140deg,#e44c4c,#d63e3e);font-size:24px}.experience strong{display:block;font-size:83px;line-height:1.2}.about h2{margin-bottom:24px}.about p{font-size:16px;margin-top:16px;color:#444}.section-lead{font-size:17px;max-width:860px;margin-top:24px;color:#444}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:40px}.steps article>span{display:block;font-size:44px;font-weight:600;color:var(--red);margin-bottom:20px}.steps h3{text-transform:uppercase;font-size:17px}.steps p{margin-top:14px;font-size:15px;color:#555}.audiences{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.audiences article{background:linear-gradient(140deg,#f3f5f7,#eef1f4);border-color:#e5e9ed;padding:28px}.audiences h3{color:var(--red);margin-bottom:14px}.audiences p{font-size:16px;color:#454545}.note{font-size:14px;color:#666;margin-top:20px}.join-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;margin-top:35px}.number-list,.contract{list-style:none;padding:0;margin:0;counter-reset:item}.number-list li{counter-increment:item;display:flex;gap:25px;align-items:center;padding:17px 0;line-height:1.5;font-size:17px}.number-list li:before,.contract li:before{content:counter(item,decimal-leading-zero);color:var(--red);font-size:30px;flex-shrink:0}.notice{padding:30px;background:#f3f4f5;align-self:center;border-color:#e8eaed}.notice h3{color:var(--red);margin-bottom:15px}.notice p{font-size:16px;color:#555}.notice strong{font-size:15px;display:block;margin-top:20px;line-height:1.5;font-weight:500}.price-section{background:#f3f3f3;margin-top:85px;padding:55px 0}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:30px}.price{font-size:54px;color:var(--red);font-weight:600;margin-bottom:18px}.price-grid p{font-size:16px;color:#444}.price-grid .button{margin-top:25px}.conditions{border-left:1px solid #ddd;padding-left:50px}.conditions h3{font-size:21px;margin:5px 0 12px}.conditions h3:not(:first-child){margin-top:25px}.contract{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:40px}.contract li{counter-increment:item;font-size:16px;line-height:1.6}.contract li:before{display:block;margin-bottom:16px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-bottom:90px;align-items:center}.contact-section h2{font-size:33px;line-height:1.3}.contact-section>div>p{margin-top:25px;font-size:21px;color:var(--red)}.contact-phone{display:block;font-size:28px;margin-top:28px}.contact-wa{display:inline-block;color:#55795c;margin-top:15px;font-size:16px}.contact-form{background:linear-gradient(130deg,#f4f5f6e8,#fafafae8);border-color:#e7e8e9;padding:32px}.contact-form h3{font-size:25px}.contact-form>p{font-size:13px;line-height:1.6;color:#666;margin:12px 0 22px}.contact-form>label{display:block;font-size:13px;margin:17px 0 8px}.contact-form>label>span{color:#777}.contact-form>input{width:100%;background:#ffffffbd;border:1px solid #ddd;border-radius:9px;padding:15px;font-size:15px;color:#222}.contact-form>input:focus{border-color:var(--red)}.contact-form input::placeholder{color:#909090}.contact-form .consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;margin:20px 0}.consent input{accent-color:var(--red);width:16px;height:16px;margin:2px 0 0;flex-shrink:0}.consent a{text-decoration:underline}.contact-form .button{width:100%}.form-status:empty{display:none}.form-status a{text-decoration:underline}.footer{padding:30px 0;border-top:1px solid #eee;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer .logo img{width:170px}.footer-nav{display:flex;gap:20px;font-size:13px}.footer>a:not(.logo){color:var(--red)}.footer small,.footer .privacy-link{font-size:12px;color:#777!important}.skip{position:fixed;top:-100px;left:15px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}.legal{max-width:900px;padding-bottom:70px}.legal h1{font-size:38px;margin:20px 0 35px}.legal h2{font-size:24px;margin-top:30px;text-transform:none}.legal p{margin:12px 0;font-size:15px;overflow-wrap:anywhere}.eyebrow{font-size:12px;color:#888;letter-spacing:1px}.error-page{min-height:60vh}.error-page h1{font-size:55px;margin:25px 0}.error-page p{margin-bottom:25px}main{overflow:clip}
@media(max-width:1100px){.header{gap:16px;padding-inline:30px}.logo img{width:175px}.header nav{gap:16px}.header nav a{font-size:12px}.header-phone{font-size:16px}.header-contact{gap:10px}.wa{width:30px;height:30px;font-size:22px}.hero-grid{gap:35px}.hero .hero-brand{font-size:72px}.hero h1{font-size:23px}.welcome{font-size:28px}.hero-photo{height:440px}.hero-description{font-size:15px}.hero-description br{display:none}.wrap{width:calc(100% - 60px)}.intro{padding:45px 65px}.contact-section{gap:45px}.steps{gap:24px}.steps h3{font-size:15px}}
@media(max-width:800px){.header{height:82px;padding:0 22px}.logo img{width:160px}.header-contact{margin-left:auto}.wa{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:12px 0 12px 8px;border:0;background:transparent;cursor:pointer}.menu-toggle span{width:23px;height:2px;background:#333}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;left:0;right:0;top:82px;padding:20px 30px;background:#fffffff5;border-bottom:1px solid #eee;box-shadow:0 10px 20px #0000000b}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:2px}.header nav a{font-size:15px;padding:12px 0}.hero{padding:40px 0}.hero-grid{gap:25px}.hero .hero-brand{font-size:58px}.hero h1{font-size:20px}.welcome{font-size:23px}.hero-photo{height:390px}.hero-description{font-size:14px}.hero h1 br{display:none}.button{font-size:14px;padding:14px 19px}.intro{padding:40px;margin-top:55px}.intro p{font-size:16px}h2{font-size:26px}.section{padding-top:65px}.about{gap:30px}.about-image{padding:35px 0 0 25px}.experience{width:140px;font-size:20px;padding:20px 10px}.experience strong{font-size:66px}.about-image>img{height:370px}.about p{font-size:14px}.steps{grid-template-columns:1fr 1fr;gap:32px}.audiences{gap:15px}.audiences article{padding:22px}.audiences h3{font-size:18px}.audiences p{font-size:14px}.join-grid{gap:30px}.price-section{padding:45px 0;margin-top:65px}.price-grid{gap:35px}.conditions{padding-left:30px}.price{font-size:42px}.contract{grid-template-columns:1fr 1fr}.contact-section{gap:30px}.contact-section h2{font-size:28px}.contact-phone{font-size:23px}.contact-form{padding:24px}.footer-nav{flex-wrap:wrap}.footer{gap:20px}}
@media(max-width:580px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 36px)}.header{height:74px;padding-inline:18px;gap:12px}.logo img{width:132px}.header-phone{font-size:14px}.header-phone small{font-size:9px}.header nav{top:74px}.menu-toggle{padding-left:0}.menu-toggle span{width:21px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero{padding:35px 0}.welcome{font-size:27px}.hero .hero-brand{font-size:72px;margin:7px 0}.hero h1{font-size:24px;line-height:1.25;max-width:420px}.hero-description{font-size:16px;margin:20px 0}.hero-photo{height:auto;aspect-ratio:1.13;object-fit:cover;border-radius:16px}.hero .button{padding:15px 22px}.intro{margin-top:45px;padding:30px 23px;border-radius:16px}.intro h2{font-size:25px}.intro p{font-size:15px}.section{padding-top:55px}h2{font-size:27px}.about{grid-template-columns:1fr;gap:30px}.about-image{padding:28px 0 0 45px}.about-image>img{height:290px}.experience{width:145px}.about p{font-size:16px}.section-lead{font-size:16px;margin-top:20px}.steps{gap:28px 20px;margin-top:30px}.steps article>span{font-size:38px;margin-bottom:15px}.steps h3{font-size:15px}.steps p{font-size:14px}.audiences{grid-template-columns:1fr;gap:15px}.audiences article{padding:25px}.audiences h3{font-size:21px}.audiences p{font-size:16px}.note{font-size:13px}.join-grid{grid-template-columns:1fr;gap:25px;margin-top:20px}.number-list li{font-size:16px;gap:20px}.notice{padding:25px}.price-section{margin-top:50px;padding:40px 0}.price-grid{grid-template-columns:1fr;gap:30px}.price{font-size:47px}.conditions{padding:25px 0 0;border-left:0;border-top:1px solid #ddd}.contract{gap:26px 20px;margin-top:30px}.contract li{font-size:14px}.contact-section{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.contact-section h2{font-size:28px}.contact-phone{font-size:27px}.contact-section>div>p{font-size:20px}.contact-form>input{font-size:16px}.footer{display:flex;align-items:flex-start;flex-direction:column;gap:22px}.footer-nav{gap:15px 20px}.footer .logo img{width:160px}.legal h1{font-size:30px}.legal h2{font-size:23px}}
@media(max-width:360px){.header-phone{font-size:12px}.logo img{width:110px}.header{gap:10px}.hero .hero-brand{font-size:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@supports not (backdrop-filter:blur(1px)){.header{background:#fff}.contact-form{background:#f6f6f6}}

.wa{background:transparent}.wa img{display:block;width:100%;height:100%}

/* Clear menu feedback and outlined content sections. */
.header nav a {
  border-radius: 7px;
  transition: color .2s, background-color .2s, box-shadow .2s;
}
.header nav a:hover,
.header nav a:focus-visible {
  color: #bd3030;
  background: #fce9e9;
  box-shadow: 0 0 0 8px #fce9e9, 0 4px 16px #d63e3e18;
}
main > .section.wrap,
.price-section > .wrap {
  margin-top: 54px;
  padding: 36px;
  border: 1px solid #b9c5d0;
  border-radius: 20px;
  background: linear-gradient(135deg, #fff, #fafbfc);
  box-shadow: 0 5px 20px #233a5008, inset 0 1px 0 #fff;
}
main > .intro {
  border: 1px solid #415f7d;
  box-shadow: 0 5px 20px #233a5010, inset 0 1px 0 #ffffff50;
}
.hero { border-bottom: 1px solid #d7dde2; }
.price-section { margin-top: 0; padding: 0; background: transparent; }
.price-section > .wrap { background: #f5f5f5; }
main > .contact-section { margin-bottom: 54px; }
.steps article, .contract li {
  border: 1px solid #d3dbe2;
  border-radius: 14px;
  padding: 22px;
  background: #ffffffb3;
}
.steps, .contract { gap: 20px; }
.audiences article, .notice, .contact-form { border-color: #c4cfd8; }
@media(max-width:800px) {
  main > .section.wrap, .price-section > .wrap { padding: 28px; margin-top: 40px; }
  .header nav a { padding-inline: 12px; }
  .header nav a:hover, .header nav a:focus-visible { box-shadow: inset 3px 0 0 var(--red); }
  .steps article, .contract li { padding: 18px; }
}
@media(max-width:580px) {
  main > .section.wrap, .price-section > .wrap { padding: 25px 20px; margin-top: 30px; border-radius: 16px; }
  .steps, .contract { grid-template-columns: 1fr; gap: 14px; }
  .steps article { padding: 20px; }
  .steps article > span { margin-bottom: 10px; }
  main > .contact-section { margin-bottom: 30px; }
  .contact-form { padding: 20px 15px; }
  .price { font-size: clamp(32px, 10vw, 47px); }
  .contact-phone { font-size: clamp(19px, 6vw, 27px); }
}

/* Direct contact without a request form. */
.whatsapp-contact{padding:32px;background:#f5faf6;border-color:#c4d8c9}
.whatsapp-contact>img{display:block;margin-bottom:20px}
.whatsapp-contact h3{font-size:25px}
.whatsapp-contact p{margin:16px 0 24px;color:#555;font-size:16px}
.whatsapp-button{background:linear-gradient(135deg,#278747,#1d713b);color:#fff;width:100%;box-shadow:inset 0 1px 0 #ffffff50,0 4px 14px #227a4020}
.whatsapp-button:hover,.whatsapp-button:focus-visible{box-shadow:0 0 0 3px #27874715,0 6px 23px #27874738}
@media(max-width:580px){.whatsapp-contact{padding:24px 18px}.whatsapp-contact h3{font-size:22px}.whatsapp-button{gap:12px;padding-inline:15px;font-size:14px}}

.contact-direct{width:auto;margin-top:22px}

/* One-time entrance animations; no hidden state before observer initialization. */
@keyframes panel-appear {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes card-appear {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .scroll-reveal {
    animation: panel-appear 650ms cubic-bezier(.22, 1, .36, 1) both;
  }
  .scroll-reveal .steps article,
  .scroll-reveal .audiences article,
  .scroll-reveal .contract li {
    animation: card-appear 480ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 100ms) both;
  }
  .scroll-reveal:focus-within,
  .scroll-reveal:focus-within .steps article,
  .scroll-reveal:focus-within .audiences article,
  .scroll-reveal:focus-within .contract li {
    animation: none;
  }
}
@media print {
  .scroll-reveal, .scroll-reveal * { animation: none !important; opacity: 1 !important; transform: none !important; }
}

/* Small interactions keep the original colours and layout. */
main > .section.wrap, main > .intro, .price-section > .wrap,
.steps article, .audiences article, .contract li, .notice, .contact-form {
  transition: border-color .25s, box-shadow .25s;
}
@media (hover: hover) {
  main > .section.wrap:hover, main > .intro:hover, .price-section > .wrap:hover {
    border-color: #d86b6b;
    box-shadow: 0 6px 26px #d63e3e12, inset 0 0 0 1px #d63e3e09;
  }
  .steps article:hover, .audiences article:hover, .contract li:hover, .notice:hover, .contact-form:hover {
    border-color: #d86b6b;
    box-shadow: 0 5px 20px #d63e3e17;
  }
}
.header nav a.is-current {
  color: #bd3030;
  background: #fce9e9;
  box-shadow: 0 0 0 8px #fce9e9, 0 4px 16px #d63e3e12;
}
.photo-frame { overflow: hidden; border-radius: 20px; }
.photo-frame img { display: block; transition: transform .65s cubic-bezier(.22,1,.36,1); }
.about-image .photo-frame img { width: 100%; height: 350px; object-fit: cover; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .photo-frame:hover img { transform: scale(1.035); }
}
.back-to-top {
  position: fixed; right: 24px; bottom: 24px; z-index: 15;
  width: 48px; height: 48px; border: 1px solid #e9b5b5; border-radius: 14px;
  background: #fffffff0; color: #bd3030; font-size: 26px; cursor: pointer;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 5px 20px #00000012;
  transition: background .2s, box-shadow .2s;
}
.back-to-top[hidden] { display: none; }
.back-to-top:hover { background: #fce9e9; box-shadow: 0 5px 24px #d63e3e25; }
@media(max-width:800px) {
  .header nav a.is-current { box-shadow: inset 3px 0 0 var(--red); }
  .about-image .photo-frame img { height: 370px; }
}
@media(max-width:580px) {
  .photo-frame { border-radius: 16px; }
  .about-image .photo-frame img { height: 290px; }
  .back-to-top { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); width: 44px; height: 44px; }
}
@media print { .back-to-top { display: none; } }

/* Search-friendly service pages retain the site's existing visual language. */
.hero .hero-brand { font-weight: 700; }
.service-links { display:flex; flex-wrap:wrap; gap:12px 24px; width:100%; font-size:14px; }
.service-links a, .service-more { color:#b62f2f; text-decoration:underline; text-underline-offset:4px; }
.service-more { display:inline-block; margin-top:18px; font-size:14px; }
.faq details { border-top:1px solid #d3dbe2; padding:18px 0; }
.faq details:first-of-type { margin-top:25px; }
.faq summary { cursor:pointer; font-size:18px; line-height:1.5; font-weight:500; }
.faq details p { margin-top:14px; color:#555; max-width:850px; }
.service-page { padding-top:35px; padding-bottom:60px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; font-size:13px; color:#666; margin-bottom:28px; }
.breadcrumbs a { text-decoration:underline; }
.service-page h1 { font-size:42px; line-height:1.2; max-width:950px; }
.service-lead { font-size:19px; margin-top:24px; max-width:900px; color:#555; }
.service-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin:26px 0 36px; }
.service-content { padding:30px; margin:24px 0; border:1px solid #b9c5d0; border-radius:18px; background:#fafbfc; }
.service-content h2 { font-size:27px; text-transform:none; }
.service-content p { margin-top:18px; max-width:950px; color:#444; }
.business-info { width:100%; font-style:normal; font-size:14px; line-height:1.7; color:#555; }
.business-info a { text-decoration:underline; text-underline-offset:3px; }
.contact-section .business-info { margin-top:24px; }
@media(max-width:580px) {
 .service-page h1 { font-size:31px; }
 .service-lead { font-size:17px; }
 .service-content { padding:24px 20px; }
 .service-content h2 { font-size:24px; }
 .faq summary { font-size:16px; }
}
