@font-face{font-family:Montserrat;src:url('assets/Montserrat.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--paper:#f7f5e9;--ink:#161616;--blue:#0739bc;--red:#ef173c;--line:#d4d0c2}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2{font-weight:400;line-height:1.08;letter-spacing:-.05em}h3{font-weight:500;line-height:1.3}section{scroll-margin-top:30px}.header{height:112px;padding:14px 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:3}.brand img{width:69px;height:77px;object-fit:contain;mix-blend-mode:multiply}.header nav{display:flex;gap:38px;font-size:.9rem}.header nav a:hover,.text-link:hover,footer>a:hover{color:var(--blue)}.header-contact{border-bottom:1px solid;font-size:.9rem;padding-bottom:4px}.eyebrow{font-size:.78rem;letter-spacing:.14em;font-weight:500;line-height:1.7}.hero{display:grid;grid-template-columns:1.12fr 1fr;position:relative;min-height:745px;overflow:hidden}.hero-copy{padding:70px 8% 58px 10%;z-index:1}.hero h1{font-size:clamp(3.5rem,6.2vw,6.8rem);margin:28px 0 30px}.hero h1 span{color:var(--blue)}.intro{max-width:465px;font-size:1.08rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white;padding:17px 25px;font-size:.9rem;font-weight:500;line-height:1.5;transition:background .2s}.button:hover{background:#052a88}.text-link{font-size:.875rem;border-bottom:1px solid;padding-bottom:4px}.hero-note{font-size:.85rem;margin-top:38px;max-width:410px;color:#58574f}.hero-image{position:relative;margin:40px 62px 40px 0;min-height:610px}.hero-image>img{height:100%;width:100%;object-fit:cover;object-position:55% center}.photo-caption{position:absolute;bottom:20px;left:20px;background:var(--paper);padding:7px 13px;font-size:.75rem}.paint{pointer-events:none;position:absolute}.hero-paint{right:-28px;top:0;width:103px;height:100%;object-fit:cover}.statement{padding:115px 8%;display:grid;grid-template-columns:1.15fr 1fr;column-gap:11%}.statement>.eyebrow{grid-column:1/-1;margin-bottom:30px;color:var(--blue)}h2{font-size:clamp(2.4rem,4vw,4.1rem)}.statement-copy{padding-top:4px;max-width:500px}.statement-copy p+p{margin-top:23px}.educational{padding:0 8% 105px;display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.section-heading>.eyebrow{margin-bottom:20px}.learning-list article{display:flex;gap:28px;padding:26px 0;border-top:1px solid var(--line)}.number{font-size:.85rem;color:var(--blue);padding-top:3px}.learning-list h3{font-size:1.2rem;margin-bottom:12px}.learning-list p{font-size:.95rem}.collective-image{margin:0 5.5%;height:580px;position:relative;overflow:hidden}.collective-image>img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.image-label{position:absolute;left:0;bottom:0;background:var(--paper);padding:25px 35px}.image-label p{font-size:1.6rem;line-height:1.3}.image-label span{font-size:.88rem}.school{padding:115px 8%;display:grid;grid-template-columns:1fr 1.1fr;gap:12%}.school .eyebrow{margin-bottom:22px;color:var(--blue)}.school-details article+article{margin-top:38px}.school h3{font-size:1.25rem;margin-bottom:15px}.gallery-section{padding:0 5.5% 110px}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin:0 2.8% 36px}.gallery-heading h2{font-size:clamp(2rem,3vw,3rem)}.gallery-heading p{font-size:.85rem;max-width:350px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-item{border:0;padding:0;text-align:left;background:transparent;cursor:zoom-in;color:var(--ink);overflow:hidden}.gallery-item img{width:100%;aspect-ratio:4/4.5;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item span{display:block;padding-top:13px;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.information{padding:85px 8% 100px;border-top:1px solid var(--line)}.information>.eyebrow{color:var(--blue);margin-bottom:32px}.price-row{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.price strong{display:block;font-size:clamp(4.5rem,8vw,8rem);font-weight:300;letter-spacing:-.06em;line-height:1.1}.price>span{font-size:1.2rem}.price-description h2{font-size:2.2rem;margin-bottom:25px}.price-description p{max-width:530px}.price-description .small{font-size:.875rem;margin-top:25px;color:#5c5b54}.contact{color:white;position:relative;overflow:hidden;background:var(--blue)}.contact-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.37)}.contact-inner{position:relative;padding:85px 8% 70px}.contact .eyebrow{margin-bottom:27px}.contact h2{font-size:clamp(3rem,5.5vw,5.8rem)}.contact-inner>p:not(.eyebrow){max-width:550px;margin-top:25px}.button-light{background:var(--paper);color:var(--ink);margin-top:32px}.button-light:hover{background:white}.contact-number{font-size:.9rem}.contact-number a{border-bottom:1px solid #fff8}footer{padding:34px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>a:not(.brand){font-size:.85rem}dialog{padding:32px 25px 20px;border:0;background:var(--paper);max-width:94vw;max-height:94vh;overflow:auto}dialog::backdrop{background:#000b}dialog img{max-height:76vh;max-width:85vw;width:auto;margin:auto;object-fit:contain}dialog p{margin-top:15px;font-size:.9rem}dialog .close{position:absolute;right:5px;top:0;line-height:1;width:36px;height:36px;border:0;background:var(--paper);font-size:30px;cursor:pointer}
@media(min-width:1600px){body{max-width:1800px;margin:auto}}
@media(max-width:1000px){.header{padding:10px 5%}.hero-copy{padding-left:9%;padding-right:6%}.hero-image{margin-right:40px}.hero-paint{width:70px}.hero-actions{gap:20px}.statement,.educational,.school,.price-row{gap:7%}.gallery{grid-template-columns:repeat(2,1fr);gap:28px}.gallery-item img{aspect-ratio:4/3}.collective-image{height:480px}}
@media(max-width:700px){html{scroll-padding-top:15px}.header{height:93px;padding:10px 6%;gap:20px}.header nav{gap:16px;font-size:.78rem}.header nav a:first-child{display:none}.header-contact{font-size:.78rem}.brand img{width:55px;height:65px}.hero{display:block;min-height:0}.hero-copy{padding:45px 7% 42px}.hero h1{font-size:4rem;line-height:1.02;margin-top:25px}.hero .eyebrow{max-width:300px}.intro{font-size:1rem}.hero-note{margin-top:25px}.hero-image{margin:0 7% 35px;min-height:0;height:420px}.hero-paint{display:none}.statement,.educational,.school{display:block;padding:65px 7%}.statement>.eyebrow{margin-bottom:20px}.statement-copy{margin-top:30px}.educational{padding-top:0}.learning-list{margin-top:32px}.collective-image{margin:0;height:400px}.image-label{padding:20px 7%}.image-label p{font-size:1.35rem}.school-details{margin-top:35px}.gallery-section{padding:0 7% 60px}.gallery-heading{display:block;margin:0 0 25px}.gallery-heading p{margin-top:18px}.gallery{gap:25px 14px}.gallery-item img{aspect-ratio:3/4}.gallery-item span{font-size:.72rem}.information{padding:55px 7%}.price-row{display:block}.price-description{margin-top:40px}.price-description h2{font-size:1.8rem}.contact-inner{padding:60px 7%}.contact h2{font-size:3.25rem}.contact-inner>p:not(.eyebrow){font-size:.95rem}footer{padding:25px 7%;flex-wrap:wrap}footer p{display:none}.eyebrow{font-size:.75rem}.button{font-size:.87rem}dialog{padding:35px 10px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.technique{padding:0 8% 110px;display:grid;grid-template-columns:1fr 1.35fr;gap:7%;align-items:center}.technique .eyebrow{color:var(--blue);margin-bottom:20px}.technique h2{margin-bottom:28px}.technique-copy>p:last-child{line-height:1.8}.technique-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#161616;object-fit:contain}.technique-video video:focus-visible{outline:3px solid var(--blue);outline-offset:6px}@media(max-width:1000px){.technique{grid-template-columns:1fr;gap:35px}.technique-copy{max-width:720px}}@media(max-width:700px){.technique{padding:0 7% 65px}.header nav{gap:12px}.header nav a[href="#informazioni"]{display:none}}

footer{background:var(--paper)}footer .brand img{filter:brightness(1.15);mix-blend-mode:multiply}.contact-form-section{padding:85px 8%;display:grid;grid-template-columns:1fr 1.1fr;gap:10%;border-bottom:1px solid var(--line)}.contact-form-section .eyebrow{color:var(--blue);margin-bottom:20px}.contact-form-section h2{font-size:clamp(2rem,3vw,3.3rem);margin-bottom:25px}.contact-form-section a{text-decoration:underline}.contact-form-section label{display:block;font-size:.9rem;font-weight:500;margin-bottom:20px}.contact-form-section input,.contact-form-section textarea{display:block;width:100%;font:inherit;font-size:1rem;color:var(--ink);padding:12px;margin-top:8px;border:1px solid #898779;background:transparent;border-radius:0}.contact-form-section input:focus,.contact-form-section textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.contact-form-section textarea{resize:vertical}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form-section button{border:0;cursor:pointer}.form-note,#form-status{font-size:.875rem;margin-top:16px;line-height:1.6}@media(max-width:700px){.contact-form-section{padding:60px 7%;display:block}.contact-form-section form{margin-top:35px}.form-fields{display:block}.photo-caption{right:12px;left:12px;width:fit-content;max-width:calc(100% - 24px)}}

footer{flex-wrap:wrap}footer p.copyright{display:block;flex-basis:100%;font-size:.8125rem;line-height:1.7;color:#58574f;margin-top:12px;padding-top:20px;border-top:1px solid var(--line)}

.audience-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}.audience-heading>p{max-width:520px}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:55px}.audience-grid article{padding-top:25px;border-top:1px solid var(--line)}.audience-grid h3{font-size:1.3rem;margin-bottom:16px}.hosting-copy{margin-top:55px;max-width:850px}.hosting-copy h3{font-size:1.25rem;margin-bottom:16px}.header nav{gap:25px}@media(max-width:700px){.audience-heading{display:block}.audience-heading>p{margin-top:30px}.audience-grid{display:block;margin-top:35px}.audience-grid article+article{margin-top:30px}.header nav a[href="#spazi"]{display:none}}

.audience-switch{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;padding:10px 16px;font-size:.875rem;font-weight:500;line-height:1.5;margin-left:24px;white-space:nowrap}.audience-switch:hover{background:#052a88}.header nav{margin-left:auto;margin-right:30px}.header-contact{flex-shrink:0}@media(max-width:1000px){.header nav{gap:16px;margin-right:20px}.audience-switch{margin-left:18px}}@media(max-width:700px){.header{gap:12px;padding-left:6%;padding-right:6%;height:auto;min-height:93px}.header nav{display:none}.header-contact{margin-left:auto;font-size:.8125rem}.audience-switch{margin-left:0;font-size:.8125rem;padding:10px 12px}}

.social-experience{padding:85px 8%;border-top:1px solid var(--line)}.social-heading{max-width:850px}.social-heading .eyebrow{color:var(--blue);margin-bottom:24px}.social-heading>p:last-child{margin-top:30px;max-width:720px}.social-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:50px}.social-topics article{border-top:1px solid var(--line);padding-top:25px}.social-topics h3,.social-planning h3{font-size:1.25rem;margin-bottom:18px}.social-topics p+p{margin-top:20px}.social-planning{max-width:850px;margin-top:50px}@media(max-width:900px){.social-topics{grid-template-columns:1fr;gap:35px}}@media(max-width:700px){.social-experience{padding:60px 7%}}

.about-guido{padding:85px 8%;display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:center;border-top:1px solid var(--line)}.about-guido .eyebrow{color:var(--blue);margin-bottom:22px}.about-guido h2{margin-bottom:32px}.about-copy>p+p{margin-top:22px}.about-guido>img{display:block;width:100%;height:auto;object-fit:cover}@media(max-width:700px){.about-guido{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding:60px 7%}}

.header nav{gap:18px}@media(max-width:1100px){.header nav a[href="#informazioni"]{display:none}}


/* Dynamic gallery */
.gallery-experience{padding:25px 5.5% 115px;overflow:hidden}
.gallery-experience .gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:0 2.8% 36px}
.gallery-experience .gallery-heading .eyebrow{color:var(--blue);margin-bottom:14px}
.gallery-experience .gallery-heading h2{font-size:clamp(2.4rem,4vw,4.4rem)}
.gallery-experience .gallery-heading>p{font-size:.9rem;max-width:440px;line-height:1.7}

.gallery-feature{
  position:relative;display:block;width:94.4%;margin:0 auto 24px;padding:0;border:0;
  background:#111;cursor:zoom-in;overflow:hidden;text-align:left;color:#fff
}
.gallery-feature>img{width:100%;height:min(68vh,720px);min-height:520px;object-fit:cover;object-position:center 54%;transition:transform .55s ease}
.gallery-feature:hover>img{transform:scale(1.012)}
.gallery-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.74) 100%)}
.gallery-feature-caption{position:absolute;z-index:2;left:34px;bottom:30px;max-width:520px;display:grid;gap:5px}
.gallery-feature-caption small{font-size:.7rem;letter-spacing:.16em;font-style:normal;font-weight:600}
.gallery-feature-caption strong{font-size:clamp(2rem,3.5vw,4rem);font-weight:400;line-height:1}
.gallery-feature-caption em{font-size:.9rem;font-style:normal;line-height:1.55;color:#f5f1e9}

.gallery-carousel{position:relative;width:94.4%;margin:0 auto}
.gallery-track{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);
  gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;padding:0 0 6px
}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-slide{
  scroll-snap-align:start;border:0;padding:0;background:transparent;text-align:left;
  color:var(--ink);cursor:zoom-in;overflow:hidden
}
.gallery-slide img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .4s ease}
.gallery-slide:hover img{transform:scale(1.025)}
.gallery-slide span{display:block;padding-top:12px;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}
.gallery-arrow{
  position:absolute;z-index:4;top:42%;transform:translateY(-50%);
  width:46px;height:46px;border:1px solid #c9c5b8;background:var(--paper);color:var(--ink);
  cursor:pointer;font-size:1.2rem;display:grid;place-items:center;transition:.2s ease
}
.gallery-arrow:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.gallery-prev{left:-23px}.gallery-next{right:-23px}
.gallery-progress{width:94.4%;height:2px;background:#d7d2c5;margin:22px auto 0;overflow:hidden}
.gallery-progress span{display:block;width:18%;height:100%;background:var(--blue);transition:transform .45s ease,width .45s ease}

.gallery-lightbox:focus-visible{outline:3px solid var(--blue);outline-offset:5px}

@media(max-width:1000px){
  .gallery-track{grid-auto-columns:calc((100% - 18px)/2)}
  .gallery-feature>img{height:600px;min-height:0}
}
@media(max-width:700px){
  .gallery-experience{padding:15px 7% 70px}
  .gallery-experience .gallery-heading{display:block;margin:0 0 25px}
  .gallery-experience .gallery-heading>p{margin-top:18px}
  .gallery-feature{width:100%;margin-bottom:18px}
  .gallery-feature>img{height:520px;min-height:0}
  .gallery-feature-caption{left:20px;right:20px;bottom:20px}
  .gallery-feature-caption strong{font-size:2.4rem}
  .gallery-carousel{width:100%}
  .gallery-track{grid-auto-columns:82%;gap:13px}
  .gallery-slide img{aspect-ratio:4/5}
  .gallery-arrow{width:40px;height:40px;top:40%}
  .gallery-prev{left:-10px}.gallery-next{right:-10px}
  .gallery-progress{width:100%;margin-top:16px}
}
@media(prefers-reduced-motion:reduce){
  .gallery-track{scroll-behavior:auto}
  .gallery-feature>img,.gallery-slide img{transition:none}
}


/* Homepage hero video */
.hero-video{background:#111;overflow:hidden}
.hero-video>video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:700px){
  .hero-video>video{object-position:center center}
}
@media(prefers-reduced-motion:reduce){
  .hero-video>video{animation:none}
}

/* Instagram footer link */
.instagram-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:inherit;text-decoration:none;font-size:.78rem;letter-spacing:.04em;transition:opacity .2s ease}
.instagram-link:hover{opacity:.65}
.instagram-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
