/* Dalla Terra alla Forma — homepage structural exceptions.
 * Typography, colors and ordinary spacing live in theme.json or block attributes.
 */
.dtf-section{padding:clamp(60px,6vw,92px) clamp(22px,6vw,88px)}
.home:has(.dtf-page-loader:not(.is-hidden)){overflow:hidden}
.dtf-page-loader{position:fixed;z-index:9999;inset:0;display:grid;place-content:center;gap:30px;background:#eee4d5;color:#593d2f;opacity:1;visibility:visible;transition:opacity .55s ease,visibility .55s ease}
.dtf-page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.dtf-page-loader__scene{position:relative;width:min(62vw,270px);height:190px}
.dtf-page-loader__soil{position:absolute;right:0;bottom:9px;left:0;height:34px;border-radius:50%;background:radial-gradient(ellipse at center,#76513c 0 28%,#9a7257 29% 56%,transparent 58%);opacity:.88;transform:scaleX(.75);animation:dtf-soil 2.15s ease both}
.dtf-page-loader__clay{position:absolute;bottom:28px;left:50%;width:92px;height:64px;border-radius:52% 48% 44% 46%;background:linear-gradient(135deg,#ae7d5f,#81553e);box-shadow:inset 10px 5px 18px rgb(255 236 213 / 18%);transform:translateX(-50%) scale(.22);transform-origin:50% 100%;animation:dtf-clay 2.15s cubic-bezier(.2,.7,.2,1) both}
.dtf-page-loader__hand{position:absolute;z-index:2;top:65px;width:92px;height:30px;border-radius:999px;background:#d8ac89;box-shadow:inset 0 -5px 8px rgb(108 68 44 / 12%);animation-duration:2.15s;animation-timing-function:cubic-bezier(.2,.7,.2,1);animation-fill-mode:both}
.dtf-page-loader__hand::after{content:"";position:absolute;top:4px;width:40px;height:22px;border-radius:999px;background:inherit}
.dtf-page-loader__hand--left{left:-24px;transform:rotate(7deg);animation-name:dtf-hand-left}.dtf-page-loader__hand--left::after{right:-24px}
.dtf-page-loader__hand--right{right:-24px;transform:rotate(-7deg);animation-name:dtf-hand-right}.dtf-page-loader__hand--right::after{left:-24px}
.dtf-page-loader__vessel{position:absolute;bottom:29px;left:50%;width:84px;height:104px;border:8px solid #8d5f45;border-top-width:6px;border-radius:12px 12px 34px 34px;box-sizing:border-box;opacity:0;transform:translateX(-50%) scale(.6,.18);transform-origin:50% 100%;animation:dtf-vessel 2.15s cubic-bezier(.2,.7,.2,1) both}
.dtf-page-loader__vessel::before{content:"";position:absolute;top:-12px;left:50%;width:76px;height:17px;border:6px solid #704733;border-radius:50%;background:#a97859;transform:translateX(-50%);box-sizing:border-box}
.dtf-page-loader__copy{position:relative;width:220px;height:24px;margin:0 auto;color:#76513c;font-size:var(--wp--preset--font-size--small);font-weight:650;letter-spacing:.18em;text-align:center;text-transform:uppercase}
.dtf-page-loader__copy span{position:absolute;inset:0;opacity:0;animation:dtf-loader-copy 2.15s ease both}.dtf-page-loader__copy span:nth-child(2){animation-delay:.62s}.dtf-page-loader__copy span:nth-child(3){animation-delay:1.25s}
@keyframes dtf-soil{0%{opacity:0;transform:scaleX(.2)}22%,100%{opacity:.88;transform:scaleX(.75)}}
@keyframes dtf-clay{0%,12%{transform:translateX(-50%) scale(.2)}35%{transform:translateX(-50%) scale(1)}63%{transform:translateX(-50%) scale(.72,1.18)}78%,100%{opacity:0;transform:translateX(-50%) scale(.68,1.42)}}
@keyframes dtf-hand-left{0%,27%{opacity:0;transform:translateX(-42px) rotate(7deg)}40%{opacity:1}58%{transform:translateX(72px) rotate(1deg)}72%,100%{opacity:0;transform:translateX(24px) rotate(7deg)}}
@keyframes dtf-hand-right{0%,27%{opacity:0;transform:translateX(42px) rotate(-7deg)}40%{opacity:1}58%{transform:translateX(-72px) rotate(-1deg)}72%,100%{opacity:0;transform:translateX(-24px) rotate(-7deg)}}
@keyframes dtf-vessel{0%,57%{opacity:0;transform:translateX(-50%) scale(.6,.18)}76%{opacity:1}100%{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes dtf-loader-copy{0%,8%,38%,100%{opacity:0;transform:translateY(5px)}14%,32%{opacity:1;transform:none}}
.home .wp-block-post-content>*{margin-block-start:0}
.home .wp-site-blocks>.wp-block-template-part:last-child{margin-block-start:0}
.dtf-intro,.dtf-courses,.dtf-contact{background-image:radial-gradient(circle at 20% 30%,rgb(77 52 37 / 10%) 0 .8px,transparent 1.25px),radial-gradient(circle at 72% 64%,rgb(125 82 50 / 8%) 0 .7px,transparent 1.1px),repeating-linear-gradient(8deg,rgb(91 60 39 / 2.5%) 0 1px,transparent 1px 9px),linear-gradient(112deg,rgb(255 255 255 / 9%),transparent 38%,rgb(111 77 52 / 5%));background-size:17px 19px,29px 31px,100% 100%,100% 100%;background-attachment:scroll}
.dtf-teacher{background-image:radial-gradient(circle,rgb(255 244 219 / 6%) 0 .65px,transparent .9px),linear-gradient(115deg,rgb(255 255 255 / 2.5%),transparent 45%,rgb(0 0 0 / 4%));background-size:21px 23px,100% 100%}
.dtf-display{margin:0;font-size:var(--wp--preset--font-size--gigantic);line-height:.98;letter-spacing:-.038em}
.dtf-display em,.dtf-contact__title em{color:var(--wp--preset--color--primary);font-weight:400}
.dtf-display--small{font-size:var(--wp--preset--font-size--huge)}

/* Slight crop on every background video to hide the faint black letterboxing baked into the source clips. */
.wp-block-cover{overflow:hidden}
.wp-block-cover__video-background{transform:scale(1.08)}
.dtf-lab__video video{transform:scale(1.08)}

.dtf-hero{position:relative;min-height:min(880px,100svh)!important}
.dtf-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(244 240 232 / 93%) 0%,rgb(244 240 232 / 72%) 34%,rgb(244 240 232 / 8%) 66%,transparent);pointer-events:none}
.dtf-hero__intro{position:absolute;inset:0;z-index:1;overflow:hidden;margin:0;opacity:1;transition:opacity 1.4s ease}
.dtf-hero__intro.is-hiding{opacity:0;pointer-events:none}
.dtf-hero__intro img{width:100%;height:100%;object-fit:cover;display:block;animation:dtf-hero-intro-pan 4.8s cubic-bezier(0.22,1,0.36,1) forwards}
@keyframes dtf-hero-intro-pan{from{transform:scale(1.1) translate3d(0,1.4%,0)}to{transform:scale(1) translate3d(0,0,0)}}
.dtf-hero .wp-block-cover__inner-container{position:relative;z-index:2;padding:clamp(180px,23vh,245px) max(clamp(22px,6vw,88px),calc((100vw - 1280px)/2 + clamp(22px,6vw,88px))) clamp(70px,10vh,110px)!important}
.dtf-hero .wp-block-cover__inner-container>*{margin-left:0!important;margin-right:0!important}
.dtf-hero__title{max-width:10.5ch;margin:0;color:#352d29;font-size:var(--wp--preset--font-size--gigantic);font-weight:450;line-height:.84;letter-spacing:-.048em}
.dtf-hero__lead{max-width:520px;margin:28px 0 0;color:#4d433e;font-size:var(--wp--preset--font-size--large);line-height:1.65}
.dtf-hero .wp-block-buttons{margin-top:34px;gap:12px}
.dtf-hero .wp-block-button__link{padding:13px 22px;font-size:var(--wp--preset--font-size--small);font-weight:650;letter-spacing:.08em;text-transform:uppercase}

.dtf-intro__grid{gap:clamp(50px,10vw,150px);align-items:flex-start}
.dtf-intro{position:relative;isolation:isolate;overflow:hidden}
.dtf-intro::before{content:"";position:absolute;z-index:-1;top:-18%;right:-9%;width:clamp(260px,40vw,620px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgb(225 149 91 / 16%) 0 34%,rgb(225 149 91 / 0%) 70%);filter:blur(8px);pointer-events:none}
.dtf-intro::after{content:"";position:absolute;z-index:-1;right:3%;bottom:-10%;width:clamp(180px,28vw,430px);height:58%;background:repeating-radial-gradient(ellipse at 100% 100%,rgb(86 96 61 / 8%) 0 2px,transparent 3px 32px);transform:rotate(-12deg);opacity:.65;pointer-events:none}
.dtf-prose{color:var(--wp--preset--color--foreground-muted)}
.dtf-prose__lead{color:var(--wp--preset--color--foreground);font-family:var(--wp--preset--font-family--heading);font-size:var(--wp--preset--font-size--x-large);line-height:1.45}

.dtf-courses{padding-inline:max(0px,calc((100vw - 1280px)/2))}
.dtf-section-heading{max-width:900px!important;margin:0 0 42px;padding-inline:clamp(22px,5vw,70px)}
.dtf-course-row{display:grid;min-height:500px;grid-template-columns:1.08fr .92fr;border-top:1px solid var(--wp--preset--color--border)}
.dtf-courses .dtf-course-row{margin-top:0}
.dtf-course-row--reverse{grid-template-columns:.92fr 1.08fr}
.dtf-course-row--reverse .dtf-course-row__image{order:2}
.dtf-course-row__image{height:100%;min-height:500px;margin:0;overflow:hidden}
.dtf-course-row__image img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.dtf-course-row__image{position:relative}
.dtf-course-row__image::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgb(255 236 196 / 10%),transparent 42%,rgb(89 55 35 / 8%));mix-blend-mode:soft-light;pointer-events:none}
.dtf-course-row:hover .dtf-course-row__image img{transform:scale(1.025)}
.dtf-course-row__copy{display:flex;padding:clamp(40px,5vw,72px);flex-direction:column;justify-content:center}
.dtf-course-row__copy{background-image:radial-gradient(circle at 30% 40%,rgb(88 57 39 / 4.5%) 0 .65px,transparent .95px);background-size:19px 21px}
.dtf-course-row__copy h3{margin:0 0 24px;font-size:var(--wp--preset--font-size--huge);line-height:.98}
.dtf-course-row__copy>p:not(.dtf-eyebrow):not(.dtf-meta){max-width:480px;color:var(--wp--preset--color--foreground-muted)}
.dtf-meta{font-size:var(--wp--preset--font-size--small);letter-spacing:.13em;text-transform:uppercase}
.dtf-course-row__copy .wp-block-buttons{margin-top:28px}

.dtf-quote-video{width:100%!important;max-width:100%!important;min-height:clamp(360px,46vh,520px)!important;margin-inline:0!important}
.dtf-quote-video .wp-block-cover__inner-container{max-width:1050px;padding:44px 24px}
.dtf-quote{margin:0;border:0!important;padding:0!important}
.dtf-quote p{font-family:var(--wp--preset--font-family--heading);font-size:var(--wp--preset--font-size--huge);font-style:italic;line-height:1.04}

.dtf-teacher__grid{gap:clamp(50px,9vw,130px)}
.dtf-lab{display:block;padding:0}
.dtf-lab>.dtf-lab__grid{width:100%;max-width:none;margin:0;gap:0}
.dtf-lab__copy{display:flex;min-height:clamp(620px,65vw,780px);padding:clamp(60px,6vw,92px) clamp(40px,5vw,76px) clamp(60px,6vw,92px) max(clamp(22px,6vw,88px),calc((100vw - 1280px)/2));box-sizing:border-box;flex-direction:column;justify-content:center}
.dtf-lab__media{min-height:clamp(620px,65vw,780px)}
.dtf-lab__video{width:100%;height:100%;margin:0}
.dtf-lab__video{position:relative;overflow:hidden;background:#d9c6ad}
.dtf-lab__video::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgb(255 240 205 / 12%),rgb(228 151 91 / 7%) 52%,rgb(103 111 75 / 6%));mix-blend-mode:soft-light;pointer-events:none}
.dtf-lab__video video{display:block;width:100%;height:100%;min-height:clamp(620px,65vw,780px);object-fit:cover;opacity:.93;filter:saturate(.88) sepia(.06) brightness(1.035) contrast(.96)}
.dtf-lab__copy>p:not(.dtf-eyebrow),.dtf-teacher__copy>p:not(.dtf-eyebrow){color:var(--wp--preset--color--foreground-muted)}
.dtf-teacher__copy>p:not(.dtf-eyebrow){color:color-mix(in srgb,var(--wp--preset--color--on-primary) 78%,transparent)}
.dtf-teacher__gallery{display:grid!important;grid-template-columns:1fr .72fr!important;gap:20px!important;align-items:end}
.dtf-teacher__gallery figure{width:100%!important;margin:0!important}
.dtf-teacher__gallery figure:first-child{height:600px}
.dtf-teacher__gallery figure:last-child{height:390px}
.dtf-teacher__gallery img{width:100%!important;height:100%!important;object-fit:cover}

.dtf-gallery .dtf-display{max-width:14ch;margin-bottom:42px}
.dtf-gallery .wp-block-migb-masonry-gallery{margin-top:0}
.dtf-gallery .single-gallery-image{overflow:hidden;background:var(--wp--preset--color--surface)}
.dtf-gallery .single-gallery-image img{display:block;width:100%;transition:transform .7s ease}
.dtf-gallery .single-gallery-image:hover img{transform:scale(1.018)}

.dtf-contact{position:relative;isolation:isolate;overflow:hidden;text-align:center}
.dtf-contact::before,.dtf-contact::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none}
.dtf-contact::before{top:-35%;left:-9%;width:clamp(260px,42vw,650px);aspect-ratio:1;background:radial-gradient(circle,rgb(225 149 91 / 18%),transparent 68%)}
.dtf-contact::after{right:-12%;bottom:-55%;width:clamp(300px,48vw,760px);aspect-ratio:1;background:radial-gradient(circle,rgb(86 96 61 / 12%),transparent 68%)}
.dtf-contact__title{margin:25px 0 35px;font-size:var(--wp--preset--font-size--gigantic);line-height:.92;letter-spacing:-.045em}
.dtf-contact__lead{color:var(--wp--preset--color--foreground-muted);font-family:var(--wp--preset--font-family--heading);font-size:var(--wp--preset--font-size--large)}
.dtf-contact .wp-block-buttons{margin-top:35px}
.dtf-contact .dtf-meta{margin-top:28px}
.dtf-contact__grid{gap:clamp(36px,7vw,90px);align-items:center;text-align:left}
.dtf-contact__grid .dtf-contact__title{font-size:min(var(--wp--preset--font-size--gigantic),6rem)}
.dtf-contact__grid .wp-block-buttons{justify-content:flex-start!important}
.dtf-contact__directions{padding:32px clamp(20px,4vw,40px);border:1px solid var(--wp--preset--color--border);border-radius:12px;background:var(--wp--preset--color--surface-alt)}
.dtf-osm-map{margin-top:20px;overflow:hidden;border:1px solid var(--wp--preset--color--border);border-radius:10px;aspect-ratio:16/11}
.dtf-osm-map iframe{display:block;width:100%;height:100%;border:0}

.dtf-scroll-cue{position:fixed;z-index:30;right:clamp(24px,2.5vw,42px);bottom:clamp(24px,3vw,38px);display:grid;width:28px;height:72px;padding:0;place-content:center;border:0;background:transparent;color:var(--wp--preset--color--primary-strong);cursor:pointer;opacity:1;transition:opacity .24s ease,transform .25s ease,background-color .25s ease}
.dtf-scroll-cue:hover{transform:translateY(-2px)}
.dtf-scroll-cue.is-switching{opacity:0;transform:translateY(5px)}
.dtf-scroll-cue__dots{display:flex;gap:7px;align-items:center;flex-direction:column}
.dtf-scroll-cue__dots i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:dtf-dot 1.35s ease-in-out infinite}
.dtf-scroll-cue__dots i:nth-child(2){animation-delay:.16s}.dtf-scroll-cue__dots i:nth-child(3){animation-delay:.32s}
.dtf-scroll-cue__arrow{display:none;font-size:19px;line-height:1}
.dtf-scroll-cue.is-back-to-top{width:42px;height:42px;border:1px solid rgb(77 52 37 / 22%);border-radius:50%;background:rgb(244 240 232 / 86%);box-shadow:0 8px 24px rgb(56 49 45 / 9%);backdrop-filter:blur(8px)}
.dtf-scroll-cue.is-back-to-top .dtf-scroll-cue__dots{display:none}.dtf-scroll-cue.is-back-to-top .dtf-scroll-cue__arrow{display:block}
@keyframes dtf-dot{0%,70%,100%{opacity:.22;transform:translateY(0)}35%{opacity:1;transform:translateY(3px)}}

.dtf-reveal-pending{animation:none!important;opacity:0!important;transform:translateY(22px)!important;transition:opacity .75s ease,transform .85s cubic-bezier(.2,.7,.2,1)}
.dtf-reveal-pending.fadeIn{transform:none!important}
.dtf-reveal-pending.dtf-reveal-visible{opacity:1!important;transform:none!important}

.dtf-contact a[href^="tel:"],
.dtf-contact a[href^="mailto:"],
.dtf-site-footer a[href^="tel:"],
.dtf-site-footer a[href^="mailto:"],
.dtf-site-footer a[aria-label*="Instagram"]{display:inline-flex;gap:.55em;align-items:center}
.dtf-contact a[href^="tel:"]::before,.dtf-site-footer a[href^="tel:"]::before,
.dtf-contact a[href^="mailto:"]::before,.dtf-site-footer a[href^="mailto:"]::before,
.dtf-site-footer a[aria-label*="Instagram"]::before{content:"";display:inline-block;width:1.05em;height:1.05em;flex:0 0 auto;background:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:contain}
.dtf-contact a[href^="tel:"]::before,.dtf-site-footer a[href^="tel:"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24c1.1.36 2.3.54 3.6.54a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.6 21 3 13.4 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.18 2.45.54 3.57a1 1 0 0 1-.25 1.02z'/%3E%3C/svg%3E")}
.dtf-contact a[href^="mailto:"]::before,.dtf-site-footer a[href^="mailto:"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2m9 7 8-5H4z'/%3E%3C/svg%3E")}
.dtf-site-footer a[aria-label*="Instagram"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' fill-rule='evenodd' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zm5 3a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6m5.5-2.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2'/%3E%3C/svg%3E")}

@media(max-width:781px){
  .dtf-section{padding-block:72px}
  .dtf-section.dtf-lab{padding-block:0}
  .dtf-intro__grid,.dtf-teacher__grid{gap:45px}
  .dtf-course-row,.dtf-course-row--reverse{display:grid;grid-template-columns:1fr}
  .dtf-course-row--reverse .dtf-course-row__image{order:0}
  .dtf-course-row__image{height:360px;min-height:360px}
  .dtf-course-row__copy{padding:52px 24px 70px}
  .dtf-teacher__gallery figure:first-child{height:430px}
  .dtf-teacher__gallery figure:last-child{height:280px}
  .dtf-hero::after{background:linear-gradient(90deg,rgb(244 240 232 / 94%),rgb(244 240 232 / 68%))}
  .dtf-hero .wp-block-cover__inner-container{padding:170px 22px 64px!important}
  .dtf-lab__grid{display:flex;flex-direction:column}
  .dtf-lab__copy{min-height:auto;padding:72px 23px}
  .dtf-lab__media,.dtf-lab__video video{height:440px;min-height:440px}
}

@media(max-width:480px){
  .dtf-teacher__gallery{grid-template-columns:1fr!important}
  .dtf-teacher__gallery figure:first-child,.dtf-teacher__gallery figure:last-child{height:390px}
}

@media(prefers-reduced-motion:reduce){
  .dtf-course-row__image img{transition:none}
  .dtf-course-row:hover .dtf-course-row__image img{transform:none}
  .animated,.hidden-animated{animation:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
  .dtf-hero__intro{transition:none}
  .dtf-hero__intro img{animation:none}
  .dtf-gallery .single-gallery-image img{transition:none}
  .dtf-gallery .single-gallery-image:hover img{transform:none}
  .dtf-scroll-cue__dots i{animation:none}
  .dtf-reveal-pending{opacity:1!important;transform:none!important;transition:none}
  .dtf-page-loader{display:none}
}
