/* Soul Therapy Dogs · HOME · WordPress/Astra */
.std-home {
  --std-navy: #102a46;
  --std-night: #061827;
  --std-red: #c93b3d;
  --std-rose: #eda7a8;
  --std-paper: #f5f2ec;
  --std-ink: #172431;
  --std-muted: #63707a;
  overflow-x: clip;
  overflow-y: visible;
  width: 100%;
  color: var(--std-ink);
  background: var(--std-paper);
  font-family: "Montserrat", Arial, sans-serif;
}
.std-home, .std-home * { box-sizing: border-box; }
.std-home a { color: inherit; text-decoration: none; }
.std-home button { color: inherit; font: inherit; }
.std-home img { display: block; width: 100%; }
.std-home h1, .std-home h2, .std-home h3, .std-home p { margin-top: 0; }
.std-home h1, .std-home h2, .std-home h3 { font-family: inherit; font-weight: 700; }
.std-home [hidden] { display: none !important; }

/* Astra: pagina a filo e header trasparente */
body.home #content, body.home .ast-container, body.home .site-content .ast-container { width: 100%; max-width: none; padding: 0; }
body.home .entry-content, body.home .entry-content > .wp-block-html { margin: 0; }
body.home .entry-content > .wp-block-html + .wp-block-html { margin-block-start: 0; }
.std-home-block { margin: 0; }
body.home #masthead, body.home .std-overlay-header { position: absolute; z-index: 90; top: 0; left: 0; width: 100%; }
body.home .ast-primary-header-bar, body.home .std-overlay-header { color: #fff; border-bottom: 1px solid #ffffff2b; background: transparent; }
body.home .main-header-menu > .menu-item > .menu-link, body.home .ast-builder-menu-1 .menu-item > .menu-link { color: #fff; }
body.home .custom-logo { width: auto; max-width: 230px; max-height: 64px; object-fit: contain; background: transparent; }

.std-progress { position: fixed; z-index: 120; top: 0; left: 0; width: 100%; height: 3px; transform: scaleX(var(--std-progress, 0)); transform-origin: left; background: var(--std-red); }
.std-section { padding: clamp(90px, 10vw, 150px) clamp(22px, 7vw, 108px); }
.std-section-number { color: #8d989f; font-size: 9px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.std-eyebrow { margin-bottom: 22px; color: var(--std-red); font-size: 10px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.std-eyebrow--light { color: #fff; }
.std-eyebrow--light::before { content: ""; display: inline-block; width: 32px; height: 1px; margin: 0 12px 3px 0; background: var(--std-red); }
.std-home h2 em, .std-home h1 em { color: var(--std-rose); font-weight: 600; }

/* Hero */
.std-hero { position: relative; min-height: 104svh; overflow: hidden; color: #fff; background: var(--std-night); }
.std-hero__media, .std-hero__shade, .std-hero__grid { position: absolute; inset: 0; }
.std-hero__media { inset: -5% 0; transform: translate3d(0, var(--std-parallax, 0px), 0) scale(1.04); will-change: transform; }
.std-hero__media img { height: 110%; object-fit: cover; object-position: 60% 35%; filter: saturate(.78) contrast(1.04); }
.std-hero__shade { background: linear-gradient(90deg, rgba(3,17,28,.9), rgba(6,27,46,.7) 44%, rgba(6,27,46,.15) 78%), linear-gradient(0deg, rgba(4,20,34,.68), transparent 56%); }
.std-hero__grid { opacity: .22; background-image: linear-gradient(#ffffff13 1px, transparent 1px), linear-gradient(90deg, #ffffff13 1px, transparent 1px); background-size: 8vw 8vw; mask-image: linear-gradient(90deg, #000, transparent 78%); }
.std-hero__content { position: relative; z-index: 3; width: min(920px, 72vw); padding: clamp(185px, 23vh, 255px) 5vw 140px; }
.std-hero h1 { margin-bottom: 28px; color: #fff; font-size: clamp(65px, 7.8vw, 126px); line-height: .86; letter-spacing: -.075em; }
.std-hero__text { max-width: 650px; margin-bottom: 35px; color: #e8eef2; font-size: clamp(16px, 1.3vw, 20px); line-height: 1.7; }
.std-buttons { display: flex; align-items: center; gap: 28px; }
.std-button { min-height: 58px; padding: 17px 23px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-size: 12px; font-weight: 800; transition: transform .25s ease, background .25s ease; }
.std-button:hover, .std-button:focus-visible { transform: translateY(-3px); }
.std-button--primary { color: #fff !important; background: var(--std-red); }
.std-button span { margin-left: 11px; }
.std-round-link { display: flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 800; }
.std-round-link i { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #ffffff70; border-radius: 50%; font-size: 10px; font-style: normal; }
.std-index { position: absolute; z-index: 4; right: 5vw; bottom: 9vh; width: 310px; padding: 24px; border: 1px solid #ffffff36; background: #0d2b45a3; backdrop-filter: blur(18px); }
.std-index__kicker { display: block; margin-bottom: 15px; color: var(--std-rose); font-size: 9px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.std-index div { padding: 11px 0; display: grid; grid-template-columns: 38px 1fr; border-top: 1px solid #ffffff24; }
.std-index strong { color: var(--std-rose); font-size: 10px; }
.std-index span { font-size: 12px; font-weight: 700; }
.std-hero__note { position: absolute; z-index: 4; left: 5vw; right: 5vw; bottom: 24px; display: flex; justify-content: space-between; font-size: 8px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }

/* Ticker e introduzione */
.std-ticker { overflow: hidden; color: #fff; background: var(--std-red); }
.std-ticker > div { width: max-content; padding: 17px 0; display: flex; align-items: center; gap: 31px; animation: std-marquee 28s linear infinite; }
.std-ticker span { font-size: 15px; font-weight: 600; }
.std-ticker b { font-size: 9px; }
@keyframes std-marquee { to { transform: translateX(-48%); } }
.std-manifesto { display: grid; grid-template-columns: .5fr 1.4fr .8fr; gap: 5vw; align-items: end; }
.std-manifesto h2, .std-heading h2 { margin-bottom: 0; font-size: clamp(44px, 5.7vw, 82px); line-height: .98; letter-spacing: -.06em; }
.std-manifesto__copy { margin: 0; color: var(--std-muted); font-size: 16px; line-height: 1.8; }

/* Persone */
.std-people { padding: clamp(90px, 9vw, 140px) clamp(22px, 7vw, 108px); color: #fff; background: var(--std-night); }
.std-home .std-people .std-heading h2 { color: #fff; }
.std-heading { display: grid; grid-template-columns: .45fr 1.35fr .7fr; gap: 5vw; align-items: end; }
.std-heading > p { margin: 0; color: #cad4db; font-size: 14px; line-height: 1.7; }
.std-heading--dark { color: var(--std-ink); }
.std-heading--dark > p { color: var(--std-muted); }
.std-people__grid { margin-top: 75px; display: grid; grid-template-columns: 1.35fr .85fr; gap: 18px; }
.std-person { position: relative; min-height: 690px; overflow: hidden; background: var(--std-navy); }
.std-person > img { position: absolute; inset: 0; height: 112%; object-fit: cover; object-position: center 30%; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.std-person:hover > img { transform: scale(1.035); }
.std-person--july > img { object-position: center 24%; }
.std-card-shade { position: absolute; inset: 0; background: linear-gradient(0deg, #061827f5 5%, #0618274a 62%, transparent); }
.std-person__content { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: clamp(28px, 4vw, 55px); }
.std-person__content > span { display: block; margin-bottom: 20px; color: var(--std-rose); font-size: 9px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.std-person__content h3 { margin-bottom: 22px; color: #fff; font-size: clamp(36px, 4.2vw, 62px); line-height: .96; letter-spacing: -.05em; }
.std-person__content p { max-width: 660px; color: #cbd6dd; font-size: 14px; line-height: 1.75; }
.std-person__content a { display: inline-block; margin-top: 12px; padding-bottom: 7px; border-bottom: 1px solid var(--std-red); font-size: 11px; font-weight: 800; }
.std-badge { position: absolute; z-index: 2; top: 34px; right: 34px; padding: 10px 13px; border: 1px solid #ffffff34; border-radius: 999px; color: #dce7ed; font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

/* Attività */
.std-activities { background: #f6f3ed; }
.std-filters { margin: 52px 0 26px; display: flex; gap: 9px; flex-wrap: wrap; }
.std-filters button { padding: 11px 15px; border: 1px solid #bfc7cb; border-radius: 999px; background: transparent; font-size: 10px; font-weight: 800; cursor: pointer; transition: .2s ease; }
.std-filters button:hover, .std-filters button:focus-visible, .std-filters button.is-active { border-color: var(--std-red); color: #fff; background: var(--std-red); }
.std-filters--light { margin-top: 0; }
.std-filters--light button { color: #d9e2e8; border-color: #ffffff35; }
.std-activity-grid { display: grid; grid-template-columns: 1.15fr .85fr; grid-auto-rows: minmax(360px, 42vw); gap: 14px; }
.std-activity { position: relative; min-height: 420px; overflow: hidden; color: #fff; background: var(--std-navy); }
.std-activity > img { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.std-activity:hover > img { transform: scale(1.045); }
.std-activity .std-card-shade { background: linear-gradient(0deg, #061827e8 5%, transparent 72%); }
.std-activity__meta { position: absolute; top: 25px; left: 26px; right: 26px; display: flex; justify-content: space-between; font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.std-activity__meta b { color: var(--std-rose); }
.std-activity__copy { position: absolute; left: 28px; right: 28px; bottom: 28px; }
.std-activity__copy h3 { max-width: 650px; margin-bottom: 14px; color: #fff; font-size: clamp(27px, 3.1vw, 48px); line-height: 1.03; letter-spacing: -.04em; }
.std-activity__copy p { max-width: 570px; margin-bottom: 18px; color: #d8e1e7; font-size: 12px; line-height: 1.65; }
.std-activity__copy a { font-size: 9px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }

/* Credenziali */
.std-credentials { padding: clamp(90px, 10vw, 150px) clamp(22px, 7vw, 108px); display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; color: #fff; background: var(--std-navy); }
.std-credentials__intro { position: sticky; top: 110px; height: fit-content; }
.std-credentials__intro h2 { margin: 22px 0 30px; color: #fff; font-size: clamp(42px, 5vw, 74px); line-height: 1; letter-spacing: -.055em; }
.std-credentials__intro > p:last-child { max-width: 560px; color: #c1ced7; font-size: 14px; line-height: 1.75; }
.std-credential-list article { min-height: 122px; padding: 24px 4px; display: grid; grid-template-columns: 75px 1fr 35px; gap: 20px; align-items: center; border-top: 1px solid #ffffff2b; }
.std-credential-list article:last-child { border-bottom: 1px solid #ffffff2b; }
.std-credential-list article > span { color: var(--std-rose); font-size: 10px; font-weight: 900; }
.std-credential-list h3 { margin-bottom: 7px; color: #fff; font-size: clamp(18px, 2vw, 26px); line-height: 1.25; }
.std-credential-list p { margin: 0; color: #aebec9; font-size: 11px; }
.std-credential-list b { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #ffffff38; border-radius: 50%; color: var(--std-rose); font-size: 11px; }
.std-note { margin: 24px 0 0; color: #8fa1ad; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

/* Guidance */
.std-expertise { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items: center; }
.std-expertise__image { min-height: 760px; overflow: hidden; }
.std-expertise__image img { height: 112%; object-fit: cover; transform: translate3d(0, var(--std-parallax, 0px), 0) scale(1.035); will-change: transform; }
.std-expertise__copy h2 { margin: 18px 0 24px; font-size: clamp(45px, 5.5vw, 80px); line-height: .96; letter-spacing: -.06em; }
.std-expertise__copy > p:not(.std-eyebrow) { color: var(--std-muted); font-size: 15px; line-height: 1.75; }
.std-expertise__copy ul { margin: 40px 0 0; padding: 0; list-style: none; }
.std-expertise__copy li { padding: 20px 0; display: grid; grid-template-columns: 47px 1fr; border-top: 1px solid #c7ced1; }
.std-expertise__copy li:last-child { border-bottom: 1px solid #c7ced1; }
.std-expertise__copy li > span { color: var(--std-red); font-size: 9px; font-weight: 900; }
.std-expertise__copy strong { font-size: 14px; }
.std-expertise__copy li p { margin: 7px 0 0; color: var(--std-muted); font-size: 12px; line-height: 1.6; }

/* Articoli */
.std-insights { background: #e5edf0; }
.std-insight-grid { margin-top: 65px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.std-insight { min-height: 430px; padding: 32px; display: flex; flex-direction: column; border: 1px solid #aebcc3; background: #eef4f6; transition: transform .3s ease, background .3s ease; }
.std-insight:hover { transform: translateY(-8px); background: #fff; }
.std-insight > div { display: flex; justify-content: space-between; color: var(--std-red); font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.std-insight h3 { margin: 80px 0 22px; font-size: clamp(25px, 2.7vw, 38px); line-height: 1.05; letter-spacing: -.045em; }
.std-insight p { color: var(--std-muted); font-size: 13px; line-height: 1.75; }
.std-insight a { margin-top: auto; padding-top: 23px; border-top: 1px solid #bdc8cd; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.std-insight a span { float: right; }

/* Pannelli Home ES */
.std-link-panels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; background: #e5edf0; }
.std-link-panels > a { min-height: 390px; padding: 35px; display: flex; flex-direction: column; border: 1px solid #aebcc3; background: #eef4f6; transition: transform .3s ease, background .3s ease; }
.std-link-panels > a:hover { transform: translateY(-8px); background: #fff; }
.std-link-panels span { color: var(--std-red); font-size: 9px; font-weight: 900; }
.std-link-panels h2 { margin: 76px 0 20px; font-size: clamp(28px, 3vw, 44px); letter-spacing: -.045em; }
.std-link-panels p { color: var(--std-muted); font-size: 13px; line-height: 1.7; }
.std-link-panels b { margin-top: auto; font-size: 10px; text-transform: uppercase; }

/* CTA contatto */
.std-contact { position: relative; min-height: 93svh; padding: 120px 7vw; display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--std-night); }
.std-contact__bg { position: absolute; inset: -6% 0; }
.std-contact__bg img { height: 112%; object-fit: cover; object-position: 55% 38%; opacity: .7; transform: translate3d(0, var(--std-parallax, 0px), 0) scale(1.04); will-change: transform; }
.std-contact__shade { position: absolute; inset: 0; background: linear-gradient(90deg, #061827e8 5%, #061827a8 48%, #06182721 85%); }
.std-contact__copy { position: relative; z-index: 2; max-width: 930px; }
.std-contact__copy h2 { margin-bottom: 26px; color: #fff; font-size: clamp(55px, 7.3vw, 112px); line-height: .9; letter-spacing: -.07em; text-shadow: 0 2px 24px #061827a8; }
.std-contact__copy > p:not(.std-eyebrow):not(.std-contact__email) { max-width: 660px; margin-bottom: 34px; color: #e5edf1; font-size: 16px; line-height: 1.75; text-shadow: 0 1px 14px #061827; }
.std-contact__email { margin: 22px 0 0; color: #fff; font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
.std-contact__meta { position: absolute; z-index: 2; right: 5vw; bottom: 40px; display: flex; gap: 28px; font-size: 8px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.std-whatsapp { position: fixed; z-index: 110; right: 22px; bottom: 22px; min-height: 56px; padding: 8px 17px 8px 9px; display: flex; align-items: center; gap: 10px; color: #fff !important; background: #25d366; border: 1px solid #ffffff9c; border-radius: 999px; box-shadow: 0 14px 35px #06182755; font-size: 11px; font-weight: 800; transition: transform .22s ease; }
.std-whatsapp:hover, .std-whatsapp:focus-visible { transform: translateY(-4px); }
.std-whatsapp span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #128c4a; background: #fff; font-size: 21px; }

/* Animazioni */
.std-home [data-std-reveal] { opacity: 0; transform: translateY(42px); transition: opacity .8s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.std-home [data-std-reveal].is-visible { opacity: 1; transform: none; }

/* Gutenberg: keep previews stable and editable. */
.editor-styles-wrapper .std-home [data-std-reveal],
body.block-editor-page .std-home [data-std-reveal] { opacity: 1; transform: none; transition: none; }
.editor-styles-wrapper .std-hero__media,
.editor-styles-wrapper .std-expertise__image img,
.editor-styles-wrapper .std-contact__bg img,
body.block-editor-page .std-hero__media,
body.block-editor-page .std-expertise__image img,
body.block-editor-page .std-contact__bg img { transform: none !important; will-change: auto; }
.editor-styles-wrapper .std-hero,
body.block-editor-page .std-hero { min-height: 680px; max-height: 680px; }
.editor-styles-wrapper .std-contact,
body.block-editor-page .std-contact { min-height: 620px; max-height: 620px; }
.editor-styles-wrapper .std-expertise__image,
body.block-editor-page .std-expertise__image { min-height: 480px; }
.editor-styles-wrapper .std-ticker > div,
body.block-editor-page .std-ticker > div { animation-play-state: paused; }
.editor-styles-wrapper .std-progress,
.editor-styles-wrapper .std-whatsapp,
body.block-editor-page .std-progress,
body.block-editor-page .std-whatsapp { position: absolute; }

@media (max-width: 1050px) {
  .std-index { display: none; }
  .std-hero__content { width: 86vw; }
  .std-manifesto, .std-heading { grid-template-columns: .35fr 1.35fr; }
  .std-manifesto__copy, .std-heading > p { grid-column: 2; }
  .std-credentials { gap: 5vw; }
  .std-insight { padding: 26px; }
}

@media (max-width: 720px) {
  body.home .custom-logo { max-width: 153px; max-height: 47px; }
  .std-hero { min-height: 900px; }
  .std-hero__media img { object-position: 57% center; }
  .std-hero__shade { background: linear-gradient(0deg, rgba(4,20,34,.88) 7%, rgba(5,25,42,.56) 51%, rgba(5,25,42,.06)); }
  .std-hero__grid { background-size: 25vw 25vw; mask-image: linear-gradient(0deg, #000, transparent 74%); }
  .std-hero__content { position: absolute; left: 0; bottom: 75px; width: 100%; padding: 42px 19px; }
  .std-hero h1 { font-size: clamp(52px, 16vw, 75px); line-height: .9; }
  .std-hero__text { font-size: 14px; line-height: 1.65; }
  .std-buttons { align-items: flex-start; flex-direction: column; gap: 20px; }
  .std-hero__note { left: 19px; right: 19px; bottom: 18px; font-size: 7px; }
  .std-ticker > div { gap: 23px; }
  .std-ticker span { font-size: 13px; }
  .std-section, .std-people, .std-credentials { padding: 82px 19px; }
  .std-manifesto, .std-heading { display: block; }
  .std-section-number { margin-bottom: 50px; }
  .std-manifesto h2, .std-heading h2 { font-size: 44px; }
  .std-home .std-people .std-heading h2,
  .std-home .std-people .std-heading h2 * {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .28);
  }
  .std-manifesto__copy, .std-heading > p { margin-top: 25px; font-size: 14px; }
  .std-people__grid { margin-top: 48px; grid-template-columns: 1fr; }
  .std-person { min-height: 580px; }
  .std-person--july { min-height: 500px; }
  .std-person__content { padding: 27px; }
  .std-person__content h3 { font-size: 38px; }
  .std-badge { top: 22px; right: 20px; }
  .std-filters { margin-top: 35px; }
  .std-filters button { padding: 10px 12px; font-size: 9px; }
  .std-activity-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .std-activity { min-height: 500px; }
  .std-activity__copy h3 { font-size: 31px; }
  .std-credentials { display: block; }
  .std-credentials__intro { position: static; }
  .std-credentials__intro h2 { font-size: 43px; }
  .std-credentials > div:last-child { margin-top: 55px; }
  .std-credential-list article { grid-template-columns: 52px 1fr 31px; gap: 12px; }
  .std-credential-list h3 { font-size: 18px; }
  .std-expertise { display: flex; flex-direction: column; gap: 60px; }
  .std-expertise__image { width: 100%; min-height: 510px; }
  .std-expertise__image img { height: 110%; }
  .std-expertise__copy h2 { font-size: 47px; }
  .std-insight-grid, .std-link-panels { margin-top: 48px; grid-template-columns: 1fr; }
  .std-insight { min-height: 370px; }
  .std-insight h3 { margin-top: 55px; font-size: 29px; }
  .std-link-panels > a { min-height: 330px; }
  .std-contact { min-height: 820px; padding: 90px 19px; align-items: flex-end; }
  .std-contact__bg img { object-position: 58% center; opacity: .78; }
  .std-contact__shade { background: linear-gradient(0deg, rgba(4,20,34,.9) 7%, rgba(4,20,34,.48) 56%, rgba(4,20,34,.06)); }
  .std-contact__copy { margin-bottom: 80px; }
  .std-contact__copy h2 { font-size: 50px; }
  .std-contact__copy > p:not(.std-eyebrow):not(.std-contact__email) { font-size: 14px; }
  .std-contact__meta { left: 19px; right: auto; bottom: 28px; flex-direction: column; gap: 7px; }
  .std-whatsapp { right: 13px; bottom: 13px; min-height: 53px; padding: 7px; }
  .std-whatsapp b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .std-whatsapp span { width: 39px; height: 39px; }
}

@media (prefers-reduced-motion: reduce) {
  .std-home { scroll-behavior: auto; }
  .std-hero__media, .std-expertise__image img, .std-contact__bg img { transform: none; }
  .std-ticker > div { animation: none; }
  .std-home [data-std-reveal] { opacity: 1; transform: none; transition: none; }
}
