/* Encantando — conversion, accessibility and responsive refinement */
:root{
  --space-section:clamp(64px,7vw,96px);
  --space-card:clamp(22px,3vw,34px);
  --radius-small:12px;
  --radius-card:24px;
  --candy-shadow:
    0 -1px 0 #FFF6EEF2,
    0 2px 0 #D8B36A52,
    0 4px 8px #553D5B26;
}
html{overflow-x:clip}
body{overflow-x:clip}
@keyframes reveal-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.reveal.is-visible{animation:reveal-in .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms) both}
.candy-title,.section-heading h2,.cta-banner h2{
  font-family:var(--candy);
  font-weight:500;
  font-style:normal;
  letter-spacing:0;
  line-height:1.1;
  color:var(--rose-dark);
  text-shadow:var(--candy-shadow);
  -webkit-text-stroke:0;
  text-wrap:balance;
}
.candy-title em,.section-heading h2 em{font-style:normal;color:inherit}
.hero h1.candy-title{font-family:var(--candy);font-weight:500;font-style:normal;letter-spacing:0;line-height:1.1;text-shadow:var(--candy-shadow);-webkit-text-stroke:0}
.title-line{overflow:visible;padding-bottom:.12em;margin-bottom:0}
.site-header,.header-inner,.site-header .brand-logo,.site-header .brand-name,.site-header .brand-signature{transition:height .28s ease,width .28s ease,font-size .28s ease,margin .28s ease,padding .28s ease}
.site-header.is-compact .header-inner{height:78px}
.site-header.is-compact .brand-logo{width:50px;height:50px}
.site-header.is-compact .brand-name{font-size:32px}
.site-header.is-compact .brand-signature{font-size:9px;margin-top:2px}
.site-header.is-compact .header-cta{min-height:38px;padding-block:9px}
.hero-inner{min-height:700px;padding-block:70px;grid-template-columns:.98fr 1.02fr}
.hero h1{font-size:clamp(42px,4.2vw,64px);line-height:1.08;margin-bottom:24px}
.hero .title-line+ .title-line{margin-top:.18em}
.hero-description{max-width:580px;margin-bottom:17px}
.service-note{max-width:540px;text-transform:none;letter-spacing:0;font-size:14px;line-height:1.7;color:var(--muted)}
.market-line{display:flex;align-items:center;gap:9px;margin-top:17px;font-size:14px;font-weight:700;color:var(--ink)}
.hero-actions{margin-top:25px}
.button{min-height:48px;border-radius:12px;letter-spacing:.075em}
.button:focus-visible,.filter:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.section-pad{padding-block:var(--space-section)}
.section-heading{max-width:900px;margin-inline:auto;margin-bottom:44px}
.section-heading h2{font-size:clamp(38px,4.2vw,60px)}
.section-intro{max-width:720px;font-size:17px;line-height:1.75}
.portfolio-difference{max-width:770px;margin:13px auto 0;font-size:14px;line-height:1.75;color:var(--muted)}
.filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:6px 4px 12px;gap:10px}
.filter{flex:0 0 auto;min-height:44px;padding:10px 18px;border:1px solid var(--lilac);border-radius:999px;background:#FFF6EEB5;color:var(--ink);scroll-snap-align:center;text-transform:none;letter-spacing:.02em;font-size:14px}
.filter:hover{background:#BFA7F22B;color:var(--ink)}
.filter.active{background:var(--rose);border-color:var(--rose);color:var(--ink);box-shadow:inset 0 0 0 2px #FFF6EE99}
.portfolio-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.type-card h3{font-family:var(--sans);font-weight:700;color:var(--rose-dark);font-size:24px}
.steps{gap:22px;margin-top:32px}
.step{padding:25px 22px;border:1px solid var(--gold-light);border-radius:var(--radius-card);background:#FFF9F5B5}
.step-number{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.14em;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--gold-light)}
.step h3{font-family:var(--sans);font-size:21px;font-weight:700;color:var(--rose-dark);margin-bottom:10px}
.step p{font-size:15px;line-height:1.65}
.commercial-section{background:linear-gradient(120deg,#FFF6EE,#8FD7F414)}
.commercial-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,6vw,80px);align-items:center;padding:clamp(30px,5vw,58px);border:1px solid var(--gold-light);border-radius:var(--radius-card);background:#FFFBF8D9;box-shadow:var(--shadow)}
.commercial-card .eyebrow{margin-bottom:14px}.commercial-card h2{font-size:clamp(34px,3.7vw,52px)}
.commercial-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 28px}
.commercial-list li{position:relative;padding-left:27px;font-size:15px;line-height:1.55}
.commercial-list li:before{content:'✓';position:absolute;left:0;top:0;color:var(--rose-dark);font-weight:700}
.cta-banner{border-radius:var(--radius-card);border-left-width:1px;padding:clamp(38px,5vw,62px)}
.cta-banner h2{font-size:clamp(38px,4.3vw,58px)}
.testimonials-section{background:linear-gradient(180deg,#FFF6EE,#F7A8C817)}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.testimonials-empty{max-width:660px;margin:auto;padding:24px 28px;border:1px dashed var(--gold);border-radius:var(--radius-small);background:#FFFBF899;text-align:center;color:var(--muted);font-size:14px}
.testimonial-card{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--warm-white)}
.testimonial-card blockquote{margin:0 0 24px;font-size:16px;line-height:1.75}.testimonial-card footer{display:flex;align-items:center;gap:12px}.testimonial-card img{border-radius:50%;object-fit:cover}.testimonial-card cite{display:block;font-style:normal;font-weight:700}.testimonial-location{display:block;color:var(--muted);font-size:13px}
.faq-grid details{content-visibility:auto;contain-intrinsic-size:58px}
.faq-grid summary{min-height:56px}.faq-grid summary:focus-visible{outline:3px solid var(--rose-dark);outline-offset:4px;border-radius:6px}
.floating-contact{width:58px;height:58px}
@media(max-width:1100px){.hero-inner{gap:30px}.commercial-list{grid-template-columns:1fr}.portfolio-bottom{align-items:flex-start}}
@media(max-width:850px){.hero-inner{min-height:0}.commercial-card{grid-template-columns:1fr}.testimonials-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  :root{--space-section:44px}
  html{scroll-padding-top:76px}
  .header-inner{height:78px}.site-header .brand-logo{width:48px;height:48px}.site-header .brand-name{font-size:30px}.site-header .brand-signature{font-size:9px;max-width:175px}
  .site-header.is-compact .header-inner{height:68px}.site-header.is-compact .brand-logo{width:40px;height:40px}.site-header.is-compact .brand-name{font-size:27px}.site-header.is-compact .main-nav{top:67px}
  .main-nav{top:77px}.menu-toggle{width:44px;height:44px;flex:0 0 44px}
  .hero-inner{padding-top:36px;padding-bottom:40px;gap:24px}.hero h1{font-size:clamp(34px,9.2vw,46px);line-height:1.1}.hero-description{line-height:1.65;margin-bottom:14px}.service-note{font-size:13px}.market-line{justify-content:center;margin-top:14px}
  .hero-actions{flex-direction:column;max-width:430px;margin-inline:auto}.hero-actions .button{width:100%;font-size:11px;min-height:48px}.value-list{margin-top:20px}
  .phone-composition{height:315px}.visual-caption{font-size:12px}
  .section-heading{margin-bottom:27px}.section-heading h2{font-size:clamp(32px,9vw,40px)}.section-intro{font-size:15px;line-height:1.65;margin-top:15px}.portfolio-difference{font-size:13px;line-height:1.65}
  .orbit-stage{height:300px}.orbit-controls{margin-bottom:18px}.orbit-controls>span{font-size:12px}.orbit-controls button{min-width:44px;min-height:44px}
  .filters{margin-inline:-18px;padding-inline:18px;scroll-padding-inline:18px}.filter{font-size:13px;min-height:44px;padding-inline:17px}
  .portfolio-bottom{flex-direction:column;gap:12px}.portfolio-actions{width:100%;display:grid;grid-template-columns:1fr}.portfolio-actions .button{width:100%}
  .type-grid{grid-template-columns:1fr 1fr;gap:26px 18px}.type-card h3{font-size:21px}.type-card p{font-size:14px;line-height:1.6}
  .steps{grid-template-columns:1fr 1fr;gap:13px}.step{padding:19px 16px}.step h3{font-size:18px}.step p{font-size:14px}.step-number{margin-bottom:12px}
  .occasions-section{padding-bottom:32px}.occasions-grid{gap:0 18px}
  .commercial-card{padding:27px 21px;gap:26px}.commercial-list{gap:12px}.commercial-list li{font-size:14px}
  .cta-section{padding-block:44px}.cta-banner{padding:32px 23px}.cta-banner h2{font-size:35px}.cta-content p{font-size:15px}.cta-content .button{width:100%}
  .testimonials-grid{grid-template-columns:1fr}.testimonials-empty{padding:20px;font-size:13px}
  .faq-grid summary{min-height:54px;padding-block:16px}.faq-grid details p{font-size:15px;line-height:1.65}
  .floating-contact{width:46px;height:46px;right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px))}.floating-contact svg{width:21px;height:21px}
}
@media(max-width:380px){.hero h1{font-size:34px}.type-grid,.steps{grid-template-columns:1fr}.phone-composition{height:285px}.commercial-card h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.site-header,.header-inner,.site-header .brand-logo,.site-header .brand-name,.site-header .brand-signature{transition:none}.filters{scroll-behavior:auto}.reveal.is-visible{animation:none}}

/* Keep mobile phone previews clear of the invitation button. */
@media(max-width:700px){
  .hero-copy .hero-actions{margin-top:16px}
  .hero-visual .phone-composition{min-height:400px}
}
