/* Small, deliberate interactions. The approved colour palette stays unchanged. */
.button,.nav-contact,.profile-cards>a,.service-grid article,.feature-grid article{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
@media(hover:hover) and (pointer:fine){
  .button:hover,.nav-contact:hover{transform:translateY(-1px)}
  .service-grid article:hover,.profile-cards>a:hover{border-color:#baa7c8;box-shadow:0 8px 22px #30293606}
  .text-link,.inline-links a,.footer-link{transition:color .16s ease,border-color .16s ease}
}
.question-list details[open]>p{animation:answer-in .2s ease-out}
@keyframes answer-in{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.event-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:85px;align-items:center}
.event-photo{margin:0;max-width:440px}
.event-photo img{width:100%;height:auto;aspect-ratio:800/887;object-fit:cover;border:1px solid #ded5e5;border-radius:4px}
.event-photo figcaption{font-size:11px;line-height:1.7;color:var(--muted);margin-top:15px}
.event-copy h2{font-size:clamp(36px,4vw,50px);margin-top:23px;line-height:1.16}
.event-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--muted);margin-top:20px;max-width:550px}
.event-copy>p.event-lead{font-size:22px;line-height:1.55;color:var(--ink);margin-top:27px;letter-spacing:-.4px}
.booking-sheet,.dashboard-sheet{background:#fff;border:1px solid #ded4e5;border-radius:3px;padding:22px}
.booking-heading{padding-bottom:21px;border-bottom:1px solid #eee6f3}
.booking-heading>span,.dashboard-heading>small{font-size:7px;letter-spacing:1px;color:#8a739b;display:block}
.booking-heading strong,.dashboard-heading strong{font-size:24px;line-height:1.2;letter-spacing:-.7px;color:#6a4b80;font-weight:600;display:block;margin-top:12px}
.booking-step{padding:15px 0;border-bottom:1px solid #eee6f3}
.booking-step:last-child{border:0;padding-bottom:0}
.booking-step small,.connection-grid small{font-size:7px;letter-spacing:1px;color:#897295}
.booking-step p{font-size:13px;line-height:1.7;color:#725b81;margin-top:5px}
.connection-grid{display:grid;justify-items:center}
.connection-grid>div{background:#fff;border:1px solid #e0d4e9;border-radius:3px;padding:16px 20px;width:100%}
.connection-grid strong{display:block;font-size:15px;font-weight:600;color:#6a507b;margin-top:5px}
.connection-grid>.connection-centre{background:#e8deef;border-color:#d4c4df}
.connection-line{display:block;height:15px;width:1px;background:#c6b3d3}
.visual-footnote{font-size:10px;color:#786582;line-height:1.8;margin-top:18px}
.dashboard-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}
.dashboard-columns>div{background:#f5f0f8;border:1px solid #ece3f2;padding:14px 10px;min-height:125px}
.dashboard-columns span{display:block;font-size:8px;color:#7e648f;margin-bottom:15px}
.dashboard-columns i{display:block;height:14px;margin-top:8px;background:#d9c9e3;border-radius:2px}
.dashboard-columns>div:nth-child(2) i{background:#c1aad1}
.dashboard-columns>div:nth-child(3) i{background:#ac8fc0}
.dashboard-sheet>p{font-size:10px;line-height:1.8;color:#786582;margin-top:18px}
@media(max-width:900px){.event-grid{gap:45px}.event-copy h2{font-size:39px}.event-copy>p.event-lead{font-size:20px}}
@media(max-width:700px){
  .event-grid{grid-template-columns:1fr;gap:32px}.event-photo{max-width:440px;width:100%}.event-copy h2{font-size:35px;margin-top:20px}.event-copy>p:not(.eyebrow){font-size:14px;margin-top:18px}.event-copy>p.event-lead{font-size:21px;margin-top:22px}
  .booking-sheet,.dashboard-sheet{padding:19px}.booking-heading strong,.dashboard-heading strong{font-size:23px}.booking-step p{font-size:12px}.connection-grid strong{font-size:14px}.dashboard-columns{gap:8px}.dashboard-columns>div{padding:13px 8px;min-height:115px}.dashboard-columns span{font-size:7px}
}
@media(max-width:350px){.booking-sheet,.dashboard-sheet{padding:16px}.booking-heading strong,.dashboard-heading strong{font-size:20px}.dashboard-columns{gap:6px}.dashboard-columns span{font-size:6px}.event-copy h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.question-list details[open]>p{animation:none}.button:hover,.nav-contact:hover{transform:none}}

/* A direct view of the services, without an imitation website or dashboard. */
.home-services-display{grid-column:1/-1;margin-top:43px;padding:31px 32px 0;background:#f6f3f7;border:1px solid #e2dbe7;border-radius:8px}
.home-services-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:65px;padding-bottom:28px}
.home-services-intro .eyebrow{font-size:8px;letter-spacing:1.2px}
.home-services-intro h2{font-size:34px;line-height:1.13;letter-spacing:-1.1px;margin-top:17px}
.home-services-intro>p{font-size:14px;line-height:1.85;color:var(--muted);max-width:445px;justify-self:end}
.home-service-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-service-route{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:24px 23px 23px;background:#fff;border:1px solid #e4dce9;border-radius:5px;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s ease,border-color .26s ease}
.route-top{position:absolute;right:23px;top:24px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.route-number{display:none}
.route-top svg{width:30px;height:30px;color:#75518d;display:block}
.home-service-route h3{font-size:25px;line-height:1.2;letter-spacing:-.7px;margin-top:0;padding-right:42px}
.home-service-route>p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:13px;margin-bottom:22px}
.route-detail{font-size:11px;line-height:1.8;color:#7d688a;margin-top:auto;padding-top:13px;border-top:1px solid #eee8f2}
.home-service-route::after{content:'';position:absolute;bottom:-1px;left:22px;right:22px;height:2px;background:#9474ad;transform:scaleX(0);transform-origin:left;transition:transform .26s ease}
.home-services-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:24px;padding:17px 0 19px;border-top:1px solid #e5dfe9;font-size:9px;letter-spacing:.5px;color:#82738c}
.experience-note{padding-bottom:17px;border-bottom:1px solid #ddd5cc}

/* The WhatsApp mark carries the green; the control stays light and quiet. */
.button.button-whatsapp,.whatsapp-float,.card-actions>a.whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:58px;padding:10px 19px 10px 11px;border:1px solid #d4dfd7;border-radius:100px;background:#fff;color:var(--ink);box-shadow:0 2px 8px #223c2c06;font-size:14px;font-weight:600;line-height:1.45;text-align:left;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease,border-color .24s ease,background-color .24s ease}
.wa-mark{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:50%;background:#285c46;color:white}
.wa-logo{display:block;width:21px;height:21px;fill:currentColor}
.whatsapp-float{justify-content:flex-start;box-shadow:0 6px 24px #223c2c14;padding-right:21px}
.button.button-whatsapp:hover,.whatsapp-float:hover,.card-actions>a.whatsapp:hover{background:#fff;color:var(--ink);border-color:#b4c9bb}
.portrait,.about-hero-portrait,.event-photo,.case-image,.project-image,.card-person>img{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease}
@media(hover:hover) and (pointer:fine){
  .button.button-whatsapp:hover,.whatsapp-float:hover,.card-actions>a.whatsapp:hover{transform:translateY(-3px);box-shadow:0 9px 24px #223c2c16}
  .home-service-route:hover,.home-service-route:focus-visible{transform:translateY(-5px);border-color:#c6b4d3;box-shadow:0 12px 26px #35233f0b}
  .home-service-route:hover::after,.home-service-route:focus-visible::after{transform:scaleX(1)}
  .portrait:hover,.about-hero-portrait:hover,.event-photo:hover,.case-image:hover,.project-image:hover,.card-person>img:hover{transform:translateY(-4px);box-shadow:0 13px 28px #30293612}
  .project-image:hover img{transform:scale(1.01)}
}
@media(max-width:900px){.home-services-intro{gap:35px}.home-services-display{padding:26px 25px 0}.home-service-routes{grid-template-columns:1fr;gap:13px}.home-service-route{padding:21px 23px}.home-service-route h3{font-size:25px}.route-detail{font-size:11px}}
@media(max-width:700px){
  .home-services-display{margin-top:32px;padding:23px 21px 0}.home-services-intro{grid-template-columns:1fr;gap:19px;padding-bottom:24px}.home-services-intro h2{font-size:31px;margin-top:14px}.home-services-intro>p{justify-self:start;font-size:14px;line-height:1.85}.home-services-intro .eyebrow{font-size:7px;letter-spacing:.8px}.home-service-routes{grid-template-columns:1fr;gap:14px}.home-service-route{padding:21px}.route-top{position:absolute;top:20px;right:20px}.route-number{display:none}.route-top svg{width:25px;height:25px}.home-service-route h3{font-size:24px;margin-top:0;padding-right:37px}.home-service-route>p{font-size:14px;line-height:1.8;margin-top:12px;margin-bottom:17px}.route-detail{font-size:9px;padding-top:12px}.home-services-foot{display:grid;grid-template-columns:1fr 1fr;row-gap:10px;margin-top:22px;padding-block:17px 20px;font-size:9px}.whatsapp-float{justify-content:center;font-size:14px;min-height:58px}.button.button-whatsapp{font-size:13px;gap:10px}.wa-mark{width:33px;height:33px}.wa-logo{width:20px;height:20px}.button.button-whatsapp.button-large{font-size:14px}
}
@media(max-width:350px){.home-services-display{padding-inline:16px}.home-service-route{padding:19px 17px}.route-top{right:17px;top:19px}.home-service-route h3{font-size:22px}.route-detail{font-size:8px}.button.button-whatsapp,.whatsapp-float{font-size:12px;gap:9px;padding-right:14px;padding-left:10px}.button.button-whatsapp.button-large{font-size:12px}.wa-mark{width:31px;height:31px}}
@media(prefers-reduced-motion:reduce){.home-service-route:hover,.home-service-route:focus-visible,.button.button-whatsapp:hover,.whatsapp-float:hover,.card-actions>a.whatsapp:hover,.portrait:hover,.about-hero-portrait:hover,.event-photo:hover,.case-image:hover,.project-image:hover,.card-person>img:hover,.project-image:hover img{transform:none}}
/* Compact editorial homepage, with a real design example and a short workflow. */
.home-page .hero{grid-template-columns:1.05fr 1fr;gap:0 76px;align-items:center;padding-top:50px;max-width:1120px}
.home-page .hero>.eyebrow{grid-column:1/-1;margin-bottom:30px}
.home-page .hero h1{font-size:clamp(43px,5vw,69px);margin:0;line-height:1.08}
.home-lead{font-size:24px;line-height:1.5;letter-spacing:-.6px;margin-top:26px;color:var(--ink)}
.home-description{font-size:15px;line-height:1.9;color:var(--muted);max-width:370px;margin-top:18px}
.home-hero-copy .hero-email{display:inline-block;font-size:12px;margin-top:22px;padding-bottom:5px;border-bottom:1px solid #baa6c8;color:var(--blue)}
.local-price{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;max-width:365px}
.local-price strong{font-size:16px;font-weight:600;display:block}.local-price span{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.8}
.home-visual{background:#f0eaf5;border:1px solid #e5dbea;border-radius:14px;padding:19px;box-shadow:0 18px 65px #4930570b;position:relative;min-width:0}
.visual-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px;font-size:8px;letter-spacing:1px;color:#70547e}
.visual-monogram{font-size:15px;letter-spacing:-1px;font-weight:700;color:#6d4d87}
.visual-website{display:block;background:#fff;border:1px solid #e7dfea;border-radius:8px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.visual-image{aspect-ratio:1.85;overflow:hidden;background:#f6f1ed}.visual-image img{width:100%;height:auto;display:block;transition:transform .6s ease}
.visual-caption{padding:17px 18px;display:flex;flex-direction:column;gap:7px}.visual-caption strong{font-size:16px;font-weight:500;letter-spacing:-.4px}.visual-caption span{font-size:10px;color:var(--muted)}
.visual-flow{background:#fffdfd;border:1px solid #e7dfea;border-radius:8px;margin-top:15px;padding:20px 18px}
.visual-flow-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.visual-flow-heading>span{font-size:17px;letter-spacing:-.4px;font-weight:500}.visual-flow-heading>small{font-size:8px;color:#85728e}
.visual-flow ol{list-style:none;display:grid;grid-template-columns:1fr;gap:0;padding:0;margin:15px 0 0}.visual-flow li{font-size:11px;display:flex;align-items:center;gap:12px;padding:9px 0;color:#6b547c;position:relative}
.flow-dot{width:9px;height:9px;border:2px solid #aa8abc;border-radius:50%;display:block;flex-shrink:0;background:#eee6f3;position:relative;z-index:1}
.visual-flow li:not(:last-child)::after{content:'';position:absolute;left:4px;top:23px;height:16px;width:1px;background:#d5c5df}
.home-page .home-services-display{margin-top:65px}
.header .submenu-toggle{width:auto;height:auto;padding:8px 0;font:inherit;color:inherit;gap:0;white-space:nowrap;border-bottom:1px solid transparent;border-radius:0}
.header .submenu-toggle[aria-expanded=true],.header .submenu-toggle:hover{color:var(--blue);border-bottom-color:#b9a3c8}
.header .submenu-toggle.is-current{color:var(--blue)}
.about-more .text-link{margin-top:23px}.about-copy .professional-links{margin-top:20px;gap:12px;display:flex;flex-wrap:wrap}
.professional-links>a{position:relative;overflow:hidden;border:1px solid #d2c2dc;border-radius:5px;padding:10px 15px;color:var(--blue);font-size:12px;background:#fff;transition:transform .25s,box-shadow .25s}
.professional-links>a::after,.whatsapp-float::after{content:'';position:absolute;inset:-60% -40%;background:linear-gradient(105deg,transparent 40%,#ffffff9c 50%,transparent 60%);transform:translateX(-110%);pointer-events:none}
.whatsapp-float{overflow:hidden;background:linear-gradient(145deg,#fff,#f5faf7);box-shadow:inset 0 1px 0 #fff,0 5px 20px #254b3512}
@media(hover:hover) and (pointer:fine){.visual-website:hover{transform:translateY(-3px);box-shadow:0 9px 20px #39254410}.visual-website:hover img{transform:scale(1.018)}.professional-links>a:hover{transform:translateY(-3px);box-shadow:0 6px 15px #4a2d6010}.professional-links>a:hover::after,.whatsapp-float:hover::after{animation:hla-sheen .7s ease both}}
@keyframes hla-sheen{to{transform:translateX(110%)}}
@keyframes hla-arrive{from{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes hla-step{0%,20%{opacity:.3;transform:translateY(5px)}100%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.home-visual{animation:hla-arrive .7s ease-out both}.visual-flow li{animation:hla-step .8s ease-out both}.visual-flow li:nth-child(1){animation-delay:.4s}.visual-flow li:nth-child(2){animation-delay:.8s}.visual-flow li:nth-child(3){animation-delay:1.2s}.home-visual:hover .flow-dot{transition:background .25s;background:#9470ad}}
@media(max-width:1000px){.home-page .hero{gap:0 35px}.home-page .hero h1{font-size:49px}.visual-flow-heading{align-items:start;flex-direction:column;gap:6px}.home-lead{font-size:22px}}
@media(max-width:700px){.home-page .hero{padding-top:35px;display:block}.home-page .hero>.eyebrow{margin-bottom:22px;font-size:8px}.home-page .hero h1{font-size:clamp(42px,10.7vw,64px)}.home-description{font-size:14px;max-width:100%}.home-lead{font-size:22px;margin-top:22px}.local-price{max-width:none;margin-top:24px}.home-visual{margin-top:34px;padding:15px}.visual-topline{font-size:7px}.visual-flow-heading{flex-direction:row;align-items:center}.visual-flow-heading>small{font-size:7px}.visual-image{aspect-ratio:1.7}.home-page .home-services-display{margin-top:38px}.header .submenu-toggle{width:100%;justify-content:flex-start;padding:12px 0}.professional-links>a{font-size:11px}.visual-caption strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.visual-website:hover,.visual-website:hover img,.professional-links>a:hover{transform:none}.professional-links>a:hover::after,.whatsapp-float:hover::after{animation:none}}
