:root{--ink:#11110f;--paper:#f2f0ea;--lime:#d7e34a;--line:#262623;--warm:#d5c5b5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px}.site-header{height:92px;padding:24px 4.4vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:3;left:0;right:0}.brand{display:block;width:148px;height:38px;overflow:hidden}.brand img,footer img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.site-nav{display:flex;gap:30px}.site-nav a,.eyebrow,.hero-scroll,.vertical-note,.image-credit,footer{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.08em}.site-nav a{color:inherit;text-decoration:none;text-transform:uppercase}.menu-button{display:none}.hero{min-height:100vh;display:grid;grid-template-columns:57% 43%;position:relative}.hero-copy{padding:184px 8vw 90px 11.2vw;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{margin:0 0 38px;text-transform:uppercase}.hero h1,h2{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.055em;line-height:.94;margin:0}.hero h1{font-size:clamp(61px,7.35vw,122px);max-width:770px}.hero h1 em,h2 em{font-weight:500}.intro{font-size:17px;line-height:1.5;max-width:350px;margin:38px 0}.circle-link{width:126px;height:126px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:12px;line-height:1.25;position:relative;transition:transform .25s}.circle-link span{position:absolute;right:22px;bottom:22px;font-size:18px}.circle-link:hover{transform:rotate(-8deg) scale(1.04)}.hero-image{background:linear-gradient(0deg,rgba(10,10,7,.24),rgba(10,10,7,.06)),url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=1300&q=85") center/cover;min-height:100vh;position:relative}.vertical-note{position:absolute;left:25px;top:50%;writing-mode:vertical-rl;transform:rotate(180deg);color:white}.image-credit{position:absolute;right:27px;bottom:27px;text-align:right;line-height:1.45;color:white}.hero-scroll{position:absolute;bottom:28px;left:4.4vw}.hero-scroll span{padding-left:11px;font-size:18px}.section-pad{padding:125px 8.2vw}.services{background:var(--ink);color:var(--paper)}.services-heading{display:grid;grid-template-columns:1fr 260px;gap:70px;align-items:end}.services h2{font-size:clamp(46px,5.8vw,90px)}.services-heading>p{font-size:15px;line-height:1.55;margin:0 0 7px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:100px;border-top:1px solid #6f6f67}.service-grid article{padding:23px 30px 10px 0;min-height:310px;display:flex;flex-direction:column;border-right:1px solid #6f6f67}.service-grid article+article{padding-left:30px}.service-grid article:last-child{border-right:0}.service-grid span{font-family:"DM Mono",monospace;font-size:11px;color:var(--lime)}.service-grid h3{font-family:"Playfair Display",serif;font-weight:500;line-height:.98;letter-spacing:-.04em;font-size:42px;margin:55px 0 17px}.service-grid p{font-size:14px;line-height:1.55;max-width:250px;margin:0}.service-grid a{margin-top:auto;color:var(--paper);font-size:11px;text-decoration:none;text-transform:uppercase}.service-grid b{color:var(--lime);font-size:17px;padding-left:10px}.manifesto{display:grid;grid-template-columns:43% 57%;min-height:700px}.manifesto-photo{background:linear-gradient(135deg,rgba(25,25,20,.12),rgba(25,25,20,.35)),url("https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=1000&q=85") center/cover}.manifesto-copy{padding:130px 9vw 100px}.manifesto h2{font-size:clamp(43px,5vw,78px);max-width:770px}.manifesto-copy>p:not(.eyebrow){font-size:16px;line-height:1.55;max-width:420px;margin:35px 0 0}.text-link{display:inline-flex;gap:25px;border-bottom:1px solid var(--ink);padding-bottom:10px;margin-top:47px;color:var(--ink);text-decoration:none;text-transform:uppercase;font-family:"DM Mono",monospace;font-size:10px}.text-link span{font-size:16px;line-height:8px}.quote{background:var(--lime);text-align:center;min-height:460px;display:flex;flex-direction:column;justify-content:center;align-items:center}.quote p{font-family:"Playfair Display",serif;font-size:clamp(40px,5.7vw,88px);line-height:.96;letter-spacing:-.05em;margin:0}.quote span{font-family:"DM Mono",monospace;font-size:10px;margin-top:38px}.contact{background:var(--warm);min-height:670px;position:relative}.contact h2{font-size:clamp(58px,7vw,112px)}.contact-mail{display:inline-flex;align-items:center;gap:20px;color:inherit;text-decoration:none;font-family:"DM Mono",monospace;font-size:clamp(16px,2vw,28px);border-bottom:1px solid var(--ink);padding:12px 2px;margin-top:65px}.contact-mail span{font-size:25px}.contact-small{position:absolute;right:8.2vw;bottom:100px;font-family:"DM Mono",monospace;font-size:10px;line-height:1.6;text-transform:uppercase}footer{height:84px;background:var(--ink);color:var(--paper);padding:20px 4.4vw;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase}footer img{filter:invert(1);width:112px;height:28px}footer a{color:var(--paper);text-decoration:none}@media(max-width:760px){.site-header{height:76px;padding:19px 23px}.brand{width:112px;height:29px}.site-nav{display:none}.site-nav.is-open{display:flex;position:absolute;top:68px;right:23px;background:var(--paper);padding:18px;flex-direction:column;gap:15px;box-shadow:0 8px 25px #0002}.menu-button{width:37px;height:37px;padding:7px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:6px}.menu-button span{display:block;height:1px;background:var(--ink);width:100%}.hero{display:block;min-height:920px}.hero-copy{padding:146px 23px 44px;min-height:540px}.hero h1{font-size:59px}.intro{font-size:15px;margin:28px 0}.circle-link{width:106px;height:106px}.hero-image{min-height:380px}.hero-scroll{display:none}.services,.section-pad{padding:78px 23px}.services-heading{display:block}.services h2{font-size:49px}.services-heading>p{margin-top:26px}.service-grid{display:block;margin-top:58px}.service-grid article,.service-grid article+article{min-height:250px;padding:20px 0 28px;border-right:0;border-bottom:1px solid #6f6f67}.service-grid h3{font-size:39px;margin:38px 0 14px}.manifesto{display:flex;flex-direction:column}.manifesto-photo{height:430px}.manifesto-copy{padding:78px 23px}.manifesto h2{font-size:48px}.quote{min-height:350px;padding:55px 23px}.quote p{font-size:47px}.contact{min-height:610px}.contact h2{font-size:60px}.contact-small{position:static;margin-top:58px;font-size:10px}footer{height:auto;min-height:125px;gap:18px;align-items:flex-start;flex-direction:column;padding:24px 23px}footer p{margin:0}}
:root{--paper:#fff}

/* Keep the navigation accessible throughout the page. */
.site-header{position:fixed;z-index:10;top:0;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid #11110f12}

/* Two-level header: languages above, primary navigation centered below. */
.site-header{height:150px;padding:0 4.4vw;display:grid;grid-template-rows:46px 1fr;align-items:center}.brand{position:absolute;top:13px;left:4.4vw;height:26px;width:102px}.header-languages{position:absolute;top:14px;right:4.4vw;display:flex;gap:12px;align-items:center;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.08em}.header-languages a{color:inherit;text-decoration:none}.header-languages a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}.site-nav{grid-row:2;justify-self:end;align-self:center;gap:clamp(25px,4vw,68px)}.site-nav a{font-size:12px;font-weight:700;letter-spacing:.1em}

@media(max-width:760px){.site-header{height:76px;padding:19px 23px;display:flex}.brand{position:static;width:112px;height:29px}.header-languages{display:none}.site-nav{grid-row:auto;justify-self:auto}.site-nav.is-open{top:68px}}

#inici,#esdeveniments,#team-buildings,#contacte{scroll-margin-top:170px}.site-nav .nav-contact{background:var(--ink);color:var(--paper);padding:12px 17px;margin:-12px 0}
@media(max-width:760px){#inici,#esdeveniments,#team-buildings,#contacte{scroll-margin-top:92px}.site-nav .nav-contact{margin:0;padding:0;background:transparent;color:var(--ink)}}

/* Use the same editorial typeface as the main statement in the navigation. */
.site-nav a{font-family:"Playfair Display",serif;font-size:18px;font-weight:500;letter-spacing:-.025em;text-transform:none}

/* Clean, contemporary navigation that lets the editorial headline lead. */
.site-nav a{font-family:"DM Sans",sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* Desktop: keep the primary navigation in the header's second row, aligned right. */
@media(min-width:761px){.site-header{height:130px;grid-template-columns:1fr auto;grid-template-rows:46px 1fr}.brand{position:static;grid-column:1;grid-row:2;justify-self:start;align-self:center}.site-nav{position:static;right:auto;top:auto;grid-column:2;grid-row:2;justify-self:end;align-self:center}}

/* Entry points: two editorial surfaces instead of conventional service cards. */
.entry-points{background:var(--ink);color:var(--paper)}.entry-points-heading{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:60px;align-items:end}.entry-points h2{font-size:clamp(46px,5.55vw,84px);max-width:830px}.entry-points-heading>p{font-size:15px;line-height:1.55;margin:0 0 8px;max-width:220px}.entry-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;margin-top:78px}.entry-card{min-height:590px;padding:28px 30px;position:relative;overflow:hidden;display:flex;flex-direction:column;isolation:isolate}.entry-card::before,.entry-card::after{content:"";position:absolute;z-index:-1;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.entry-events{background:var(--warm);color:var(--ink)}.entry-events::before{width:min(45vw,610px);height:min(45vw,610px);border:1px solid #11110f66;border-radius:50%;right:-12%;top:-22%}.entry-events::after{width:54%;height:45%;right:0;bottom:0;background:var(--paper);clip-path:polygon(100% 0,100% 100%,0 100%);opacity:.7}.entry-teams{background:var(--lime);color:var(--ink);min-height:520px;margin-top:70px}.entry-teams::before{width:75%;height:75%;right:-26%;top:-13%;border:1px solid #11110f;border-radius:50%}.entry-teams::after{width:40%;height:40%;left:-8%;bottom:-9%;background:var(--ink);border-radius:50%}.entry-number,.entry-label{margin:0;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.09em}.entry-number{color:var(--ink);opacity:.66}.entry-label{margin-top:34px;font-weight:500}.entry-card-copy{margin-top:auto;position:relative;z-index:1;max-width:430px}.entry-card h3{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(54px,6.2vw,92px);line-height:.87;letter-spacing:-.06em;margin:0}.entry-card-copy>p{font-size:16px;line-height:1.48;max-width:315px;margin:26px 0 35px}.entry-card a{display:inline-flex;gap:18px;align-items:center;color:inherit;border-bottom:1px solid currentColor;padding-bottom:10px;text-decoration:none;text-transform:uppercase;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.06em}.entry-card a span{font-size:18px;line-height:.5;transition:transform .25s}.entry-word{position:absolute;right:22px;bottom:22px;font-family:"DM Sans",sans-serif;font-size:clamp(64px,10vw,165px);font-weight:700;line-height:.75;letter-spacing:-.1em;opacity:.16;pointer-events:none}.entry-teams .entry-word{right:auto;left:24px;top:26px;bottom:auto;writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(58px,8vw,118px)}.entry-card:hover::before{transform:scale(1.08) rotate(8deg)}.entry-card:hover::after{transform:translate(-10px,-10px)}.entry-card:hover a span{transform:translate(4px,-4px)}
.entry-points{background:var(--ink);color:var(--paper)}.entry-points-heading{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:60px;align-items:end}.entry-points h2{font-size:clamp(46px,5.55vw,84px);max-width:830px}.entry-points-heading>p{font-size:15px;line-height:1.55;margin:0 0 8px;max-width:220px}.entry-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;margin-top:78px}.entry-card{min-height:590px;padding:28px 30px;position:relative;overflow:hidden;display:flex;flex-direction:column;isolation:isolate}.entry-card::before,.entry-card::after{content:"";position:absolute;z-index:-1;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.entry-events{background:#c9927a;color:var(--ink)}.entry-events::before{width:min(45vw,610px);height:min(45vw,610px);border:1px solid #11110f66;border-radius:50%;right:-12%;top:-22%}.entry-events::after{width:54%;height:45%;right:0;bottom:0;background:var(--paper);clip-path:polygon(100% 0,100% 100%,0 100%);opacity:.42}.entry-teams{background:#aeb4a1;color:var(--ink);min-height:520px;margin-top:70px}.entry-teams::before{width:75%;height:75%;right:-26%;top:-13%;border:1px solid #11110f;border-radius:50%}.entry-teams::after{width:40%;height:40%;left:-8%;bottom:-9%;background:var(--ink);border-radius:50%}.entry-number,.entry-label{margin:0;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.09em}.entry-number{color:var(--ink);opacity:.66}.entry-label{margin-top:34px;font-weight:500}.entry-card-copy{margin-top:auto;position:relative;z-index:2;max-width:430px}.entry-card h3{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(54px,6.2vw,92px);line-height:.87;letter-spacing:-.06em;margin:0}.entry-card-copy>p{font-size:16px;line-height:1.48;max-width:315px;margin:26px 0 35px}.entry-card a{display:inline-flex;gap:18px;align-items:center;color:inherit;border-bottom:1px solid currentColor;padding-bottom:10px;text-decoration:none;text-transform:uppercase;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.06em}.entry-card a span{font-size:18px;line-height:.5;transition:transform .25s}.production-map{position:absolute;z-index:1;top:23%;right:7%;width:62%;min-height:178px;padding:19px;display:flex;align-content:space-between;justify-content:space-between;flex-wrap:wrap;gap:14px;border:1px solid #11110f66;background:linear-gradient(90deg,transparent 49.8%,#11110f3d 50%,transparent 50.2%),linear-gradient(transparent 49.8%,#11110f3d 50%,transparent 50.2%)}.production-map::before{content:"";position:absolute;left:-13%;right:-13%;top:50%;border-top:1px solid #11110f}.production-map span{position:relative;z-index:1;padding:4px 6px;background:#c9927a;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.07em}.team-route{position:absolute;z-index:1;top:20%;right:8%;width:76%;height:184px;margin:0;padding:0;list-style:none}.team-route::before{content:"";position:absolute;left:8%;right:8%;top:50%;height:74px;border-top:1px solid #11110f;border-radius:50%;transform:rotate(-8deg)}.team-route li{position:absolute;padding:5px 7px;background:#aeb4a1;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.07em}.team-route li::before{content:"";position:absolute;width:7px;height:7px;left:50%;bottom:-15px;border:1px solid #11110f;border-radius:50%;background:#aeb4a1}.team-route li:nth-child(1){left:0;top:15%;transform:rotate(-8deg)}.team-route li:nth-child(2){left:23%;top:46%;transform:rotate(4deg)}.team-route li:nth-child(3){left:50%;top:19%;transform:rotate(-4deg)}.team-route li:nth-child(4){right:8%;top:51%;transform:rotate(7deg)}.team-route li:nth-child(5){right:0;top:9%;transform:rotate(-5deg)}.entry-card:hover::before{transform:scale(1.08) rotate(8deg)}.entry-card:hover::after{transform:translate(-10px,-10px)}.entry-card:hover a span{transform:translate(4px,-4px)}
@media(max-width:760px){.entry-points{padding:78px 23px}.entry-points-heading{display:block}.entry-points h2{font-size:48px}.entry-points-heading>p{margin:25px 0 0}.entry-grid{display:block;margin-top:52px}.entry-card,.entry-teams{min-height:465px;margin:0 0 14px;padding:22px}.entry-card h3{font-size:64px}.entry-card-copy>p{font-size:15px;margin:22px 0 29px}.entry-label{margin-top:25px}.entry-events::before{width:360px;height:360px;right:-30%;top:-19%}.entry-teams::before{width:380px;height:380px}.entry-word{font-size:100px;right:18px;bottom:20px}.entry-teams .entry-word{left:18px;top:22px;font-size:80px}}
@media(max-width:760px){.production-map{top:20%;right:5%;width:77%;min-height:142px;padding:13px;gap:9px}.production-map span,.team-route li{font-size:8px}.team-route{top:19%;right:5%;width:86%;height:150px}.team-route li::before{bottom:-12px}}

/* Editorial service entries: one calm visual universe, led by photography. */
.services-editorial{background:#f4f2ed;color:#302722;padding:126px 4.4vw 150px}.services-editorial-intro{display:flex;justify-content:space-between;align-items:flex-start;max-width:1360px;margin:0 auto 103px}.services-editorial-intro .eyebrow{margin:0}.services-editorial-intro>p:last-child{margin:0;max-width:210px;font-size:14px;line-height:1.5}.editorial-service{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(45px,8vw,150px);align-items:end}.editorial-service+.editorial-service{margin-top:156px}.editorial-service-photo{overflow:hidden;background:#d9d5ce;position:relative}.editorial-service-photo::after{content:"";position:absolute;inset:0;background:#3027220b;pointer-events:none;transition:background .4s}.editorial-service-events .editorial-service-photo{aspect-ratio:1.13/1}.editorial-service-team{grid-template-columns:.82fr 1.18fr;align-items:start}.editorial-service-team .editorial-service-photo{aspect-ratio:1.22/1;margin-top:94px}.editorial-service-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.editorial-service-events .editorial-service-photo img{object-position:62% center}.editorial-service-team .editorial-service-photo img{object-position:center}.editorial-service-copy{padding-bottom:4px}.editorial-service-team .editorial-service-copy{max-width:510px;padding-top:8px}.service-index{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.08em;margin:0 0 47px}.editorial-service h2{font-family:"Playfair Display",serif;font-size:clamp(58px,6.6vw,106px);font-weight:500;letter-spacing:-.062em;line-height:.88;margin:0}.editorial-service-team h2{font-size:clamp(47px,5.15vw,80px);max-width:630px}.editorial-service h2 em{font-weight:500}.service-support{max-width:330px;margin:31px 0 0;font-size:16px;line-height:1.52}.editorial-link{display:inline-flex;align-items:center;gap:22px;margin-top:60px;padding-bottom:10px;border-bottom:1px solid #302722;color:#302722;text-decoration:none;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.editorial-link span{font-size:18px;line-height:.5;transition:transform .25s}.editorial-service:hover .editorial-service-photo img{transform:scale(1.025)}.editorial-service:hover .editorial-link span{transform:translate(4px,-4px)}
@media(max-width:760px){.services-editorial{padding:78px 23px 96px}.services-editorial-intro{display:block;margin-bottom:66px}.services-editorial-intro>p:last-child{margin-top:22px}.editorial-service,.editorial-service-team{display:flex;flex-direction:column;gap:38px;align-items:stretch}.editorial-service-events .editorial-service-photo,.editorial-service-team .editorial-service-photo{width:100%;aspect-ratio:1/1.08;margin:0}.editorial-service-events .editorial-service-photo img{object-position:65% center}.editorial-service-team .editorial-service-photo img{object-position:44% center}.editorial-service-events .editorial-service-copy{order:2}.editorial-service-team .editorial-service-copy{padding:0;max-width:none}.editorial-service-team .editorial-service-photo{order:2}.editorial-service+.editorial-service{margin-top:104px}.service-index{margin-bottom:31px}.editorial-service h2{font-size:62px}.editorial-service-team h2{font-size:50px;line-height:.92}.service-support{font-size:15px;margin-top:25px}.editorial-link{margin-top:40px}}

/* Distinct editorial rhythms: events are vertical and composed; team experiences are wide and open. */
.editorial-service-events{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(52px,9vw,165px)}.editorial-service-events .editorial-service-photo{aspect-ratio:.78/1}.editorial-service-team{grid-template-columns:minmax(270px,.66fr) minmax(0,1.34fr);gap:clamp(46px,7vw,130px)}.editorial-service-team .editorial-service-photo{aspect-ratio:1.72/1;margin-top:76px}.editorial-service-team .editorial-service-photo img{object-position:center}.service-name{font-family:"Playfair Display",serif;font-size:clamp(29px,3vw,45px);font-weight:500;letter-spacing:-.045em;line-height:.95;margin:0 0 23px}.editorial-service-events .service-name{margin-bottom:27px}.editorial-service-events h2{font-size:clamp(54px,5.45vw,86px);max-width:620px}.editorial-service-team h2{font-size:clamp(45px,4.6vw,72px)}
@media(max-width:760px){.editorial-service-events .editorial-service-copy{order:1}.editorial-service-events .editorial-service-photo{order:2}.editorial-service-events .editorial-service-photo,.editorial-service-team .editorial-service-photo{aspect-ratio:1.32/1}.editorial-service-events .editorial-service-photo img{object-position:center}.editorial-service-team .editorial-service-photo img{object-position:center}.service-name{font-size:34px;margin-bottom:20px}.editorial-service-events h2{font-size:58px}.editorial-service-team h2{font-size:49px}}

/* Shared SABOA chocolate: one editorial panel for the complete services composition. */
.services-editorial{padding-top:0}.services-editorial-intro{min-height:350px;margin:0 -4.4vw 118px;padding:70px 4.4vw;max-width:none;background:#302722;color:#f4f2ed;align-items:start}.services-editorial-intro .eyebrow{color:#f4f2ed}.services-editorial-intro>p:last-child{color:#f4f2ed}.service-index{color:#302722}.editorial-link{position:relative;border-color:#302722;transition:color .25s,background-color .25s,padding .25s}.editorial-link:hover{background:#302722;color:#f4f2ed;padding:11px 14px 10px;margin-left:-14px;margin-bottom:-1px}.editorial-link:hover span{transform:translate(4px,-4px)}
@media(max-width:760px){.services-editorial-intro{min-height:238px;margin:0 -23px 66px;padding:46px 23px}.services-editorial-intro>p:last-child{margin-top:22px}.editorial-link:hover{padding:9px 11px 8px;margin-left:-11px}}

/* Compact editorial introduction for the services section. */
.services-editorial-intro{display:block;min-height:0;margin:0 -4.4vw 86px;padding:106px 4.4vw;background:#302722;color:#f4f2ed}.services-editorial-intro h2{max-width:800px;margin:35px 0 0;font-family:"Playfair Display",serif;font-size:clamp(48px,5.8vw,88px);font-weight:500;letter-spacing:-.058em;line-height:.92}.services-editorial-intro h2 em{font-weight:500}
@media(max-width:760px){.services-editorial-intro{min-height:0;margin:0 -23px 62px;padding:72px 23px}.services-editorial-intro h2{margin-top:27px;font-size:48px}}

/* Service introduction: concise explanatory copy, kept within the shared editorial rhythm. */
.services-intro-copy{max-width:710px;margin-top:34px;font-size:clamp(18px,1.75vw,25px);letter-spacing:-.025em;line-height:1.34}.services-intro-copy p{margin:0}.services-intro-copy p+p{max-width:650px;margin-top:24px;font-size:clamp(16px,1.35vw,20px);line-height:1.45}
@media(max-width:760px){.services-intro-copy{margin-top:27px;font-size:20px;line-height:1.38}.services-intro-copy p+p{margin-top:22px;font-size:16px;line-height:1.46}}

/* A restrained reading measure keeps the justified services introduction even and legible. */
.services-intro-copy{max-width:690px}.services-intro-copy p{text-align:justify;text-align-last:left;hyphens:none;word-break:normal;overflow-wrap:normal}.services-intro-copy p+p{max-width:640px}

/* A quiet corporate footer, structured as contact first and legal information second. */
.site-footer{display:block;height:auto;min-height:0;padding:44px 4.4vw 20px;background:#302722;color:#f4f2ed;text-transform:none}.footer-inner{width:100%;max-width:1360px;margin:0 auto}.footer-contact p{margin:0}.footer-brand{font-family:"Playfair Display",serif;font-size:clamp(28px,2.3vw,38px);font-weight:500;letter-spacing:-.05em;line-height:1}.footer-contact>p:last-child{margin-top:18px;font-family:"DM Sans",sans-serif;font-size:14px;letter-spacing:0;line-height:1.62}.footer-contact a{color:#f4f2ed;text-decoration:none}.footer-divider{height:1px;margin:32px 0 18px;background:#f4f2ed3d}.footer-legal{display:flex;align-items:center;justify-content:space-between;gap:28px;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.055em;line-height:1.5}.footer-legal p{margin:0}.footer-legal nav{display:flex;flex-wrap:wrap;gap:18px}.footer-legal a{color:#f4f2ed;text-decoration:none;opacity:.7;transition:opacity .2s ease}.footer-legal a:hover,.footer-legal a:focus-visible{opacity:1}
@media(max-width:760px){.site-footer{padding:40px 23px 20px}.footer-brand{font-size:32px}.footer-contact>p:last-child{margin-top:16px;font-size:14px}.footer-divider{margin:28px 0 16px}.footer-legal{display:block;font-size:9px;letter-spacing:.045em}.footer-legal nav{margin-top:14px;gap:13px 16px}}

/* Primary navigation gains a little more legibility and a restrained active state. */
.header-languages{font-size:11px}.site-nav>a,.team-nav-trigger>a{position:relative;font-size:12px;opacity:.82;transition:opacity .2s ease}.site-nav>a::after,.team-nav-trigger>a::after{content:"";position:absolute;right:0;bottom:-8px;left:0;height:1px;background:currentColor;opacity:0;transform:scaleX(.45);transform-origin:center;transition:opacity .2s ease,transform .2s ease}.site-nav>a.is-active,.team-nav-trigger>a.is-active{opacity:1}.site-nav>a.is-active::after,.team-nav-trigger>a.is-active::after{opacity:.65;transform:scaleX(1)}
@media(max-width:760px){.header-languages{font-size:11px}.site-nav>a,.team-nav-trigger>a{font-size:12px}.site-nav>a::after,.team-nav-trigger>a::after{bottom:-5px}}

/* Section labels stay secondary, with just enough extra scale for easier scanning. */
.services-editorial-intro>.eyebrow,.service-index,.manifesto-process .eyebrow,.contact>.eyebrow{font-size:11.5px}

/* Gastronomy category: the shared SABOA shell frames a quieter editorial page. */
.category-page{background:#f4f2ed;color:#302722}.category-page .site-header{color:#302722}.gastronomy-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);min-height:clamp(660px,82vh,880px);padding:clamp(184px,17vw,248px) 8.2vw clamp(88px,9vw,140px);gap:clamp(56px,8vw,144px);align-items:center}.gastronomy-hero-copy{max-width:570px}.gastronomy-hero-copy .eyebrow,.gastronomy-intro .eyebrow,.gastronomy-section-heading .eyebrow,.gastronomy-advice .eyebrow{font-size:11.5px;margin:0 0 37px}.gastronomy-hero h1,.gastronomy-intro h2,.gastronomy-experiences h2,.gastronomy-advice h2{margin:0;font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.06em;line-height:.9}.gastronomy-hero h1{font-size:clamp(58px,6.2vw,106px)}.gastronomy-hero-copy>p:last-child{max-width:365px;margin:43px 0 0;font-size:clamp(17px,1.35vw,20px);letter-spacing:-.02em;line-height:1.48}.gastronomy-hero-image{min-height:0;margin:0;overflow:hidden;aspect-ratio:1.15/1;background:#d9d5ce}.gastronomy-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.gastronomy-intro{display:grid;grid-template-columns:minmax(230px,.56fr) minmax(0,1fr);gap:clamp(48px,9vw,154px);padding:clamp(106px,12vw,180px) 8.2vw;align-items:start;background:#d9d5ce}.gastronomy-intro h2{font-size:clamp(45px,4.7vw,78px)}.gastronomy-intro div>p{max-width:560px;margin:42px 0 0;font-size:clamp(18px,1.55vw,23px);letter-spacing:-.025em;line-height:1.47}.gastronomy-experiences{padding:clamp(108px,12vw,178px) 8.2vw;background:#f4f2ed}.gastronomy-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:50px;max-width:1360px;margin:0 auto}.gastronomy-experiences h2{font-size:clamp(48px,5.1vw,84px)}.gastronomy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:1360px;margin:clamp(72px,8vw,118px) auto 0;border-top:1px solid #30272250}.gastronomy-grid article{min-height:310px;padding:30px 8% 36px 0;border-bottom:1px solid #30272250}.gastronomy-grid article:nth-child(odd){padding-right:12%;border-right:1px solid #30272250}.gastronomy-grid article:nth-child(even){padding-left:12%}.gastronomy-grid span{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.08em}.gastronomy-grid h3{margin:55px 0 18px;font-family:"Playfair Display",serif;font-size:clamp(37px,3.4vw,55px);font-weight:500;letter-spacing:-.05em;line-height:.94}.gastronomy-grid p{max-width:320px;margin:0;font-size:16px;letter-spacing:-.01em;line-height:1.52}.gastronomy-advice{padding:clamp(106px,11vw,168px) 8.2vw;background:#302722;color:#f4f2ed}.gastronomy-advice h2{font-size:clamp(48px,5.45vw,90px);max-width:850px}.gastronomy-advice>p:not(.eyebrow){margin:34px 0 0;font-size:clamp(18px,1.5vw,22px);line-height:1.45}.gastronomy-advice .circle-link{margin-top:58px;background:#f4f2ed;color:#302722}
@media(max-width:760px){.gastronomy-hero{display:block;min-height:0;padding:138px 23px 74px}.gastronomy-hero-copy .eyebrow,.gastronomy-intro .eyebrow,.gastronomy-section-heading .eyebrow,.gastronomy-advice .eyebrow{margin-bottom:29px}.gastronomy-hero h1{font-size:56px}.gastronomy-hero-copy>p:last-child{margin-top:31px;font-size:17px}.gastronomy-hero-image{margin-top:52px;aspect-ratio:1.08/1}.gastronomy-intro{display:block;padding:76px 23px}.gastronomy-intro h2{font-size:48px}.gastronomy-intro div>p{margin-top:31px;font-size:18px}.gastronomy-experiences{padding:78px 23px}.gastronomy-section-heading{display:block}.gastronomy-experiences h2{font-size:50px}.gastronomy-grid{display:block;margin-top:57px}.gastronomy-grid article,.gastronomy-grid article:nth-child(odd),.gastronomy-grid article:nth-child(even){min-height:0;padding:25px 0 31px;border-right:0}.gastronomy-grid h3{margin-top:39px;font-size:42px}.gastronomy-grid p{font-size:16px}.gastronomy-advice{padding:78px 23px}.gastronomy-advice h2{font-size:51px}.gastronomy-advice>p:not(.eyebrow){margin-top:28px;font-size:18px}.gastronomy-advice .circle-link{margin-top:43px}}

/* The gastronomy introduction is a centred editorial pause beneath its hero. */
.gastronomy-intro{display:block;padding:clamp(118px,13vw,194px) 23px;text-align:center;background:#d9d5ce}.gastronomy-intro .eyebrow{margin-bottom:42px}.gastronomy-intro div{max-width:880px;margin:0 auto}.gastronomy-intro h2{font-size:clamp(43px,4.7vw,76px)}.gastronomy-intro div>p{max-width:630px;margin:43px auto 0;font-size:clamp(17px,1.38vw,20px);line-height:1.55}
@media(max-width:760px){.gastronomy-intro{padding:82px 23px}.gastronomy-intro .eyebrow{margin-bottom:29px}.gastronomy-intro h2{font-size:43px;line-height:.95}.gastronomy-intro div>p{margin-top:30px;font-size:17px;line-height:1.53}}

/* MasterChef gains a quiet photographic emphasis without changing the grid rhythm. */
.gastronomy-grid article{min-height:340px}.gastronomy-featured-card{position:relative;isolation:isolate;overflow:hidden;color:#f4f2ed}.gastronomy-card-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}.gastronomy-featured-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#30272208 26%,#302722b8 100%);pointer-events:none}.gastronomy-featured-label{position:absolute;top:18px;left:18px;padding:9px 11px;border-radius:5px;background:#f4f2ede8;color:#302722;font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:.09em;line-height:1.1}.gastronomy-card-copy{position:absolute;right:12%;bottom:36px;left:0}.gastronomy-featured-card .gastronomy-card-copy>span{color:#f4f2ed}.gastronomy-featured-card h3,.gastronomy-featured-card p{color:#f4f2ed}
@media(max-width:760px){.gastronomy-grid article,.gastronomy-grid article:nth-child(odd),.gastronomy-grid article:nth-child(even){min-height:280px}.gastronomy-featured-label{top:16px;left:0;padding:8px 10px;font-size:9px}.gastronomy-card-copy{right:0;bottom:30px}.gastronomy-featured-card .gastronomy-card-copy h3{margin-top:32px}}

/* Six equal hospitality cards, with photography carrying the visual rhythm. */
.gastronomy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,30px);border:0}.gastronomy-grid article,.gastronomy-grid article:nth-child(odd),.gastronomy-grid article:nth-child(even){display:flex;min-height:0;padding:0;border:0;background:#fff;flex-direction:column}.gastronomy-card-media{position:relative;overflow:hidden;aspect-ratio:1.35/1;background:#d9d5ce}.gastronomy-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}.gastronomy-card:hover .gastronomy-card-media img{transform:scale(1.025)}.gastronomy-featured-label{top:16px;left:16px;padding:9px 11px;border-radius:5px;background:#f4f2ede8;color:#302722;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:500;letter-spacing:.09em;line-height:1.1}.gastronomy-card-content{display:flex;height:238px;padding:26px 27px 24px;flex:none;flex-direction:column}.gastronomy-card-content>span{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.08em}.gastronomy-card-content h3{margin:28px 0 14px;font-family:"Playfair Display",serif;font-size:clamp(31px,2.35vw,42px);font-weight:500;letter-spacing:-.05em;line-height:.94}.gastronomy-card-content p{margin:0;font-size:15px;line-height:1.48}.gastronomy-card-content a{display:inline-flex;gap:10px;margin-top:auto;padding-top:23px;color:#302722;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.055em;text-decoration:none;text-transform:uppercase}.gastronomy-card-content a span{font-size:15px;line-height:.6;transition:transform .2s ease}.gastronomy-card-content a:hover span,.gastronomy-card-content a:focus-visible span{transform:translateX(3px)}
@media(max-width:1050px){.gastronomy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gastronomy-card-content{height:228px}}
@media(max-width:760px){.gastronomy-grid{grid-template-columns:1fr;gap:20px}.gastronomy-grid article,.gastronomy-grid article:nth-child(odd),.gastronomy-grid article:nth-child(even){min-height:0;padding:0}.gastronomy-card-media{aspect-ratio:1.36/1}.gastronomy-card-content{height:248px;padding:23px 22px 24px}.gastronomy-card-content h3{margin-top:25px;font-size:36px}.gastronomy-card-content a{padding-top:25px}.gastronomy-featured-label{top:15px;left:15px}}

/* Individual Team Building activity template: calm, editorial and reusable. */
.activity-page{background:#f4f2ed}.activity-breadcrumb{display:flex;gap:9px;padding:clamp(145px,14vw,194px) 8.2vw 0;color:#302722;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.075em;line-height:1.4}.activity-breadcrumb a{color:inherit;text-decoration:none}.activity-breadcrumb a:hover,.activity-breadcrumb a:focus-visible{text-decoration:underline;text-underline-offset:4px}.activity-hero{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(56px,8vw,146px);align-items:center;padding:clamp(70px,8vw,118px) 8.2vw clamp(108px,12vw,176px)}.activity-hero-copy{max-width:540px}.activity-hero-copy .eyebrow{margin:0 0 36px}.activity-hero h1,.activity-detail h2,.activity-gallery h2,.activity-advice h2{margin:0;font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.06em;line-height:.92}.activity-hero h1{font-size:clamp(60px,6.3vw,108px)}.activity-hero-copy>p:last-child{max-width:400px;margin:41px 0 0;font-size:clamp(17px,1.35vw,20px);line-height:1.5}.activity-hero-image{margin:0;overflow:hidden;aspect-ratio:1.14/1;background:#d9d5ce}.activity-hero-image img,.activity-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover}.activity-practical{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:clamp(70px,7.8vw,112px) 8.2vw;background:#302722;color:#f4f2ed}.activity-practical div{min-height:150px;padding:0 clamp(26px,3vw,54px);border-left:1px solid #f4f2ed38}.activity-practical div:first-child{padding-left:0;border-left:0}.activity-practical p{margin:0;font-family:"DM Sans",sans-serif;font-size:11px;font-weight:500;letter-spacing:.1em}.activity-practical strong{display:block;max-width:300px;margin-top:35px;font-family:"Playfair Display",serif;font-size:clamp(28px,2.65vw,44px);font-weight:400;letter-spacing:-.045em;line-height:1.02}.activity-detail{max-width:1360px;margin:0 auto;padding:clamp(100px,11vw,166px) 8.2vw}.activity-detail .eyebrow,.activity-gallery .eyebrow,.activity-advice .eyebrow{margin:0 0 36px}.activity-detail h2,.activity-gallery h2{font-size:clamp(48px,5vw,82px)}.activity-empty-space{width:min(100%,700px);height:clamp(82px,8vw,120px);margin-top:50px;border-top:1px solid #3027223d}.activity-fit{background:#d9d5ce;max-width:none;padding-left:calc((100% - min(1360px,83.6vw))/2);padding-right:calc((100% - min(1360px,83.6vw))/2)}.activity-flow{background:#f4f2ed}.activity-gallery{padding:clamp(100px,11vw,166px) 8.2vw;background:#fff}.activity-gallery-heading{max-width:1360px;margin:0 auto}.activity-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,30px);max-width:1360px;margin:clamp(62px,7vw,104px) auto 0}.activity-gallery-grid figure{margin:0;overflow:hidden;aspect-ratio:1.38/1;background:#d9d5ce}.activity-advice{padding:clamp(110px,12vw,180px) 8.2vw;background:#302722;color:#f4f2ed}.activity-advice h2{max-width:980px;font-size:clamp(48px,5.45vw,90px)}.activity-advice>p:not(.eyebrow){max-width:560px;margin:36px 0 0;font-size:clamp(18px,1.5vw,22px);line-height:1.48}.activity-advice .circle-link{margin-top:58px;background:#f4f2ed;color:#302722}
@media(max-width:760px){.activity-breadcrumb{flex-wrap:wrap;padding:128px 23px 0;font-size:9px}.activity-hero{display:block;padding:53px 23px 78px}.activity-hero-copy .eyebrow{margin-bottom:29px}.activity-hero h1{font-size:58px}.activity-hero-copy>p:last-child{margin-top:31px;font-size:17px}.activity-hero-image{margin-top:52px;aspect-ratio:1.08/1}.activity-practical{grid-template-columns:1fr;padding:0 23px}.activity-practical div,.activity-practical div:first-child{min-height:0;padding:29px 0 30px;border-left:0;border-top:1px solid #f4f2ed38}.activity-practical div:first-child{border-top:0}.activity-practical strong{margin-top:18px;font-size:32px}.activity-detail{padding:78px 23px}.activity-detail .eyebrow,.activity-gallery .eyebrow,.activity-advice .eyebrow{margin-bottom:28px}.activity-detail h2,.activity-gallery h2{font-size:48px}.activity-empty-space{height:76px;margin-top:39px}.activity-fit{padding:78px 23px}.activity-gallery{padding:78px 23px}.activity-gallery-grid{grid-template-columns:1fr;gap:18px;margin-top:50px}.activity-gallery-grid figure{aspect-ratio:1.25/1}.activity-advice{padding:82px 23px}.activity-advice h2{font-size:50px}.activity-advice>p:not(.eyebrow){margin-top:29px;font-size:18px}.activity-advice .circle-link{margin-top:44px}}

/* Hero photograph: full-bleed crop with the action kept at the centre of the frame. */
.hero-image{background:none;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:0}.vertical-note,.image-credit{z-index:1}
@media(max-width:760px){.hero-image{min-height:0;aspect-ratio:4/5}.hero-photo{object-position:center 45%}}

@media(min-width:761px){.brand{width:116px;height:30px}}

/* Hero secondary statement: present but clearly beneath the principal headline. */
.hero-message{max-width:520px;margin:48px 0 50px;font-size:clamp(23px,2.2vw,34px);font-weight:500;letter-spacing:-.035em;line-height:1.13}
@media(max-width:760px){.hero-message{max-width:340px;margin:31px 0 37px;font-size:24px;line-height:1.16}.editorial-service-team .service-support{margin-top:0}}

/* Events description follows the service title without competing with it. */
.service-events-description{max-width:470px;margin-top:0;font-size:clamp(18px,1.6vw,23px);line-height:1.42}
@media(max-width:760px){.service-events-description{max-width:390px;font-size:18px;line-height:1.46}}

/* Give the events editorial line room to breathe before its supporting copy. */
.editorial-service-events h2{font-size:clamp(48px,4.75vw,74px);margin-bottom:38px}
@media(max-width:760px){.editorial-service-events h2{font-size:50px;margin-bottom:31px}}.events-editorial-note{margin:30px 0 0;font-size:clamp(15px,1.22vw,18px);letter-spacing:-.015em;line-height:1.46;color:#302722}
@keyframes events-running-line{to{transform:translateX(-50%)}}
@media(max-width:760px){.events-editorial-note{margin-top:25px;font-size:16px;line-height:1.48}}
.editorial-service-events .events-editorial-note{margin-top:32px;font-family:"DM Mono",monospace;font-size:clamp(11px,.9vw,13px);letter-spacing:.045em;line-height:1.62}
@media(max-width:760px){.editorial-service-events .events-editorial-note{margin-top:28px;font-size:11px;line-height:1.65}}
.editorial-service-events .events-editorial-note{margin-top:19px}.editorial-service-events .editorial-link{margin-top:82px}
@media(max-width:760px){.editorial-service-events .events-editorial-note{margin-top:18px}.editorial-service-events .editorial-link{margin-top:62px}}.editorial-service-events .editorial-link{margin-top:68px}
@media(max-width:760px){.editorial-service-events .editorial-link{margin-top:53px}}.editorial-service-events .events-editorial-note{margin-top:25px}.editorial-service-events .editorial-link{font-size:11px;letter-spacing:.08em}
@media(max-width:760px){.editorial-service-events .events-editorial-note{margin-top:24px}.editorial-service-events .editorial-link{font-size:11px}}



/* Team building: a distinct editorial hierarchy, without changing its visual structure. */
.editorial-service-team .team-building-primary{max-width:570px;margin:0;font-family:"Playfair Display",serif;font-size:clamp(39px,3.85vw,60px);font-weight:500;letter-spacing:-.058em;line-height:.94}.editorial-service-team .team-building-support{max-width:385px;margin:48px 0 0;font-size:clamp(16px,1.25vw,19px);line-height:1.48}.editorial-service-team .team-building-origin{margin:25px 0 0;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.045em;line-height:1.55}.editorial-service-team .team-building-origin+.editorial-link{margin-top:58px}
@media(max-width:760px){.editorial-service-team .team-building-primary{font-size:36px;line-height:.97}.editorial-service-team .team-building-support{max-width:345px;margin-top:40px;font-size:16px;line-height:1.5}.editorial-service-team .team-building-origin{margin-top:23px;font-size:11px}.editorial-service-team .team-building-origin+.editorial-link{margin-top:50px}}

/* Final Team building headline scale. */
.editorial-service-team .team-building-primary{font-size:clamp(46px,4.6vw,72px)}
@media(max-width:760px){.editorial-service-team .team-building-primary{font-size:44px}}

/* Team Building navigation: a quiet, accessible editorial submenu. */
.site-nav{align-items:center}.nav-dropdown{position:relative}.team-nav-trigger{display:flex;align-items:center;gap:7px}.team-menu-toggle{width:16px;height:22px;padding:0;border:0;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.team-menu-toggle span{width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}.nav-dropdown.is-open .team-menu-toggle span,.nav-dropdown:hover .team-menu-toggle span,.nav-dropdown:focus-within .team-menu-toggle span{transform:rotate(225deg) translate(-1px,-1px)}.team-submenu{position:absolute;top:calc(100% + 18px);right:-16px;z-index:12;display:flex;flex-direction:column;gap:16px;min-width:270px;padding:24px 16px 25px;background:var(--paper);opacity:0;visibility:hidden;transform:translateY(-5px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s}.nav-dropdown.is-open .team-submenu,.nav-dropdown:hover .team-submenu,.nav-dropdown:focus-within .team-submenu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.team-submenu a.site-nav a,.team-submenu a{display:block;width:max-content;max-width:100%;color:inherit;font-family:"DM Sans",sans-serif;font-size:11px;font-weight:500;letter-spacing:.11em;line-height:1.35;text-decoration:none;text-transform:uppercase;opacity:.74;transition:opacity .2s}.team-submenu a:hover,.team-submenu a:focus-visible{opacity:1}.team-submenu .team-submenu-all{padding-bottom:15px;border-bottom:1px solid #30272255;font-weight:700;opacity:1}.site-nav a:focus-visible,.team-menu-toggle:focus-visible{outline:1px solid currentColor;outline-offset:5px}
@media(max-width:760px){.site-nav.is-open{min-width:245px}.site-nav.is-open .nav-dropdown{width:100%}.site-nav.is-open .team-nav-trigger{justify-content:space-between}.site-nav.is-open .team-menu-toggle{width:25px}.team-submenu{position:static;display:none;gap:17px;min-width:0;padding:22px 0 2px;opacity:1;visibility:visible;transform:none;pointer-events:auto;background:transparent}.nav-dropdown.is-open .team-submenu{display:flex}.team-submenu a{font-size:10px;letter-spacing:.1em}.team-submenu .team-submenu-all{padding-bottom:14px}}

.mobile-languages{display:none}
@media(max-width:760px){.site-nav.is-open .mobile-languages{position:static;display:flex;width:100%;margin-top:3px;padding-top:15px;border-top:1px solid #30272238;gap:10px;font-size:10px}.site-nav.is-open .mobile-languages a{font-size:10px;font-weight:500;letter-spacing:.1em}.site-nav.is-open .mobile-languages a[aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:4px}}

.nav-dropdown.is-escape-closed .team-submenu{opacity:0;visibility:hidden;transform:translateY(-5px);pointer-events:none}@media(max-width:760px){.nav-dropdown.is-escape-closed .team-submenu{display:none}}

/* Keep desktop hover continuous from the trigger into the submenu. */
@media(min-width:761px){.nav-dropdown::after{content:"";position:absolute;top:100%;right:-16px;width:calc(100% + 16px);height:18px;z-index:11}.nav-dropdown.is-hover-open .team-submenu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}}

/* A restrained active state makes each Team Building category easier to scan. */
.team-submenu a{position:relative;transform-origin:left center;transition:transform 200ms ease-out,opacity 200ms ease-out}.team-submenu a::before{content:"";position:absolute;left:-8px;top:8%;width:1px;height:84%;background:currentColor;opacity:0;transform:scaleY(.6);transform-origin:center;transition:transform 200ms ease-out,opacity 200ms ease-out}.team-submenu a:hover,.team-submenu a:focus-visible{opacity:1;transform:translateX(5px) scale(1.06)}.team-submenu a:hover::before,.team-submenu a:focus-visible::before{opacity:.58;transform:scaleY(1)}.team-submenu:has(a:hover) a:not(:hover),.team-submenu:focus-within a:not(:focus){opacity:.66}

/* Team Building becomes an editorial index with one changing visual surface. */
.editorial-service-team{grid-template-columns:minmax(310px,.78fr) minmax(420px,1.22fr);gap:clamp(58px,8.5vw,148px);align-items:start}.editorial-service-team .editorial-service-copy{max-width:540px;padding-top:0}.editorial-service-team .service-name{margin:0 0 27px}.editorial-service-team .team-building-primary{font-size:clamp(47px,4.5vw,72px);max-width:590px}.editorial-service-team .team-building-support{max-width:390px;margin-top:42px}.team-category-list{display:flex;flex-direction:column;align-items:flex-start;gap:17px;margin-top:58px}.team-category-link{position:relative;display:inline-block;color:#302722;font-family:"DM Sans",sans-serif;font-size:clamp(17px,1.45vw,22px);font-weight:500;letter-spacing:-.025em;line-height:1.16;text-decoration:none;transform-origin:left center;transition:transform 260ms ease-out,opacity 260ms ease-out}.team-category-link::before{content:"";position:absolute;left:-12px;top:7%;width:1px;height:86%;background:#302722;opacity:0;transform:scaleY(.6);transform-origin:center;transition:transform 260ms ease-out,opacity 260ms ease-out}.team-category-link:hover,.team-category-link:focus-visible{opacity:1;transform:translateX(5px) scale(1.06)}.team-category-link:hover::before,.team-category-link:focus-visible::before{opacity:.62;transform:scaleY(1)}.team-category-list:has(.team-category-link:hover) .team-category-link:not(:hover),.team-category-list:focus-within .team-category-link:not(:focus){opacity:.66}.team-category-link:focus-visible{outline:0}.team-experience-visual{width:100%;min-width:0}.team-experience-photo{position:relative;overflow:hidden;aspect-ratio:1.36/1;background:#d9d5ce}.team-experience-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;transform:scale(1);transition:opacity 260ms ease-out,transform 260ms ease-out}.team-experience-photo img.is-changing{opacity:0;transform:scale(1.015)}.team-experience-examples,.team-mobile-examples{min-height:1.6em;margin:20px 0 0;color:#302722;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.045em;line-height:1.55}.team-all-link{margin-top:66px}.team-experience-mobile{display:none}
@media(max-width:760px){.editorial-service-team{display:block}.editorial-service-team .editorial-service-copy{max-width:none;padding:0}.editorial-service-team .team-building-primary{font-size:44px;line-height:.96}.editorial-service-team .team-building-support{max-width:340px;margin-top:34px;font-size:16px}.editorial-service-team>.team-experience-visual{display:none}.team-category-list{gap:0;margin-top:47px;width:100%;border-top:1px solid #30272233}.team-category-link{display:block;width:100%;padding:17px 0;border-bottom:1px solid #30272233;font-size:18px}.team-category-link::before{left:-8px;top:24%;height:52%}.team-category-link.is-active{transform:translateX(5px) scale(1.04)}.team-category-link.is-active::before{opacity:.62;transform:scaleY(1)}.team-experience-mobile{display:none;width:100%;padding:4px 0 20px}.team-experience-mobile.is-active{display:block}.team-experience-mobile .team-experience-photo{aspect-ratio:1.26/1;margin-top:10px}.team-mobile-examples{margin-top:16px;font-size:10px}.team-all-link{margin-top:46px}.team-category-list:has(.team-category-link.is-active) .team-category-link:not(.is-active){opacity:.68}}
@media(prefers-reduced-motion:reduce){.team-category-link,.team-category-link::before,.team-experience-photo img{transition:none}.team-category-link:hover,.team-category-link:focus-visible,.team-category-link.is-active{transform:none}.team-experience-photo img.is-changing{opacity:1;transform:none}}

/* The categories carry the second editorial beat of the Team Building section. */
.team-category-list{gap:clamp(22px,1.8vw,30px);margin-top:42px}.team-category-link{font-family:"Playfair Display",serif;font-size:clamp(20px,1.95vw,30px);font-weight:500;letter-spacing:-.048em;line-height:1.08}.team-category-link::before{left:-16px}
@media(max-width:760px){.team-category-list{gap:0;margin-top:34px}.team-category-link{padding:20px 0;font-size:clamp(19px,5.3vw,23px);line-height:1.1}.team-category-link::before{left:-10px}}

/* Activity examples sit below the image as a quiet, aligned editorial caption. */
.team-experience-examples,.team-mobile-examples{width:100%;max-width:100%;min-height:0;margin:24px 0 0;padding:0 0 21px;color:#3f3a36;font-family:"Playfair Display",serif;font-size:clamp(20px,1.58vw,26px);font-weight:400;font-synthesis:none;letter-spacing:-.014em;line-height:1.2;white-space:normal}
@media(max-width:760px){.team-mobile-examples{margin-top:20px;padding-bottom:18px;font-size:clamp(18px,5.2vw,24px);line-height:1.28}}.editorial-service-events .events-editorial-note{margin-top:clamp(48px,4.5vw,64px)}

/* La manera de fer: a consistent section label and a controlled reading measure. */
.manifesto-copy>.manifesto-intro{max-width:570px;margin:42px 0 0;font-size:clamp(17px,1.35vw,20px);line-height:1.58}
@media(max-width:760px){.manifesto-copy>.manifesto-intro{max-width:360px;margin-top:34px;font-size:16px;line-height:1.58}}

/* La manera de fer: an editorial index rather than a process diagram. */
.manifesto-process{grid-template-columns:minmax(0,.92fr) minmax(320px,.72fr);min-height:0;gap:clamp(92px,12vw,218px);align-items:start;padding:clamp(88px,8.5vw,124px) 8.2vw;background:#302722;color:#f4f2ed}.manifesto-process .manifesto-copy{max-width:560px;padding:0}.manifesto-process .manifesto-title{max-width:560px;font-size:clamp(36px,3.9vw,60px);font-weight:500;letter-spacing:-.055em;line-height:.94;white-space:nowrap}.manifesto-process .manifesto-copy>.manifesto-intro{max-width:560px;margin-top:46px;color:#f4f2ed;font-family:"DM Sans",sans-serif;font-size:clamp(19px,1.55vw,23px);font-weight:400;letter-spacing:-.02em;line-height:1.45;text-align:left;text-wrap:pretty;hyphens:none}.manifesto-process .manifesto-highlight{max-width:560px;margin:clamp(54px,5.3vw,80px) 0 0;color:#f4f2ed;font-family:"Playfair Display",serif;font-size:clamp(36px,3.2vw,42px);font-weight:400;letter-spacing:-.045em;line-height:1.03}.project-moments{display:flex;flex-direction:column;align-self:start;margin:0;padding:0;list-style:none}.project-moments li{display:block;padding:0 0 clamp(21px,2.05vw,30px)}.project-moments li+li{padding-top:clamp(20px,1.85vw,27px)}.project-moments li:not(:last-child){border-bottom:1px solid #f4f2ed2e}.project-moments span{display:block;color:#f4f2ed;opacity:.54;font-family:"Playfair Display",serif;font-size:clamp(54px,5.3vw,82px);font-weight:400;letter-spacing:-.06em;line-height:.75}.project-moments p{margin:16px 0 0;color:#f4f2ed;font-family:"DM Sans",sans-serif;font-size:clamp(16px,1.25vw,19px);font-weight:400;letter-spacing:-.015em;line-height:1.28}
@media(max-width:760px){.manifesto-process{display:block;padding:66px 23px}.manifesto-process .manifesto-copy{max-width:360px;padding:0}.manifesto-process .manifesto-title{max-width:360px;font-size:46px;white-space:normal}.manifesto-process .manifesto-copy>.manifesto-intro{max-width:360px;margin-top:36px;font-size:18px;line-height:1.48;text-align:left;hyphens:none}.manifesto-process .manifesto-highlight{max-width:360px;margin-top:54px;font-size:30px;line-height:1.05}.project-moments{margin-top:54px}.project-moments li{padding-bottom:21px}.project-moments li+li{padding-top:20px}.project-moments span{font-size:54px}.project-moments p{margin-top:15px;font-size:16px;line-height:1.3}}

/* Give the editorial statement its own headline-level presence. */
.manifesto-process .manifesto-highlight{max-width:560px;font-size:clamp(38px,3.45vw,46px);line-height:1.14}
@media(max-width:760px){.manifesto-process .manifesto-highlight{max-width:360px;font-size:34px;line-height:1.12}}

/* Dedicated second-headline treatment for the editorial statement. */
@media(min-width:761px){.manifesto-process .manifesto-highlight{max-width:560px;font-family:"Playfair Display",serif;font-size:clamp(3rem,3.8vw,4rem);font-weight:400;line-height:1.1}}

/* This statement is intentionally isolated from the generic manifesto paragraph rule. */
.manifesto-process .manifesto-copy > p.manifesto-editorial-statement{max-width:100%;margin:clamp(54px,5.3vw,80px) 0 0;color:#f4f2ed;font-family:"Playfair Display",serif;font-weight:400;letter-spacing:-.045em;line-height:1.02}
@media(min-width:1100px){.manifesto-process .manifesto-copy > p.manifesto-editorial-statement{font-size:clamp(2.16rem,2.95vw,3.35rem)}}
@media(min-width:761px) and (max-width:1099px){.manifesto-process .manifesto-copy > p.manifesto-editorial-statement{font-size:clamp(1.86rem,3.06vw,2.62rem)}}
@media(max-width:760px){.manifesto-process .manifesto-copy > p.manifesto-editorial-statement{max-width:360px;margin-top:54px;font-size:clamp(1.5rem,6.1vw,2.1rem);line-height:1.08}}

/* MasterChef: a concise activity sheet, not a long-form landing page. */
.activity-page .activity-breadcrumb{padding-top:clamp(132px,12vw,164px)}.activity-page .activity-hero--compact{min-height:0;padding-top:clamp(42px,4.8vw,70px);padding-bottom:clamp(54px,6vw,82px);align-items:center}.activity-page .activity-hero--compact .activity-hero-image{aspect-ratio:1.42/1}.activity-page .activity-hero--compact .activity-hero-copy>p:last-child{margin-top:30px}.activity-page .activity-practical{max-width:1360px;margin:0 auto;padding:0;background:transparent;color:#302722;border-top:1px solid #30272252;border-bottom:1px solid #30272252}.activity-page .activity-practical div{min-height:0;padding:clamp(26px,3vw,38px) clamp(22px,3vw,52px);border-left:1px solid #30272238}.activity-page .activity-practical div:first-child{padding-left:0;border-left:0}.activity-page .activity-practical div:last-child{padding-right:0}.activity-page .activity-practical p{font-size:10px;font-weight:500;letter-spacing:.11em}.activity-page .activity-practical strong{margin-top:13px;font-size:clamp(26px,2.25vw,38px);line-height:1.05}.activity-page .activity-gallery{padding:clamp(48px,5vw,72px) 8.2vw;background:#f4f2ed}.activity-page .activity-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.7vw,24px);margin-top:0}.activity-page .activity-gallery-grid figure{aspect-ratio:1.35/1}.activity-text{max-width:1360px;margin:0 auto;padding:clamp(68px,7vw,96px) 8.2vw}.activity-text .eyebrow{margin:0 0 29px}.activity-text h2{margin:0;font-family:"Playfair Display",serif;font-size:clamp(44px,4.35vw,70px);font-weight:500;letter-spacing:-.06em;line-height:.94}.activity-text>p:last-child{max-width:645px;margin:34px 0 0;font-size:clamp(17px,1.25vw,19px);line-height:1.55}.activity-pagination{display:flex;justify-content:space-between;gap:30px;max-width:1360px;margin:0 auto;padding:22px 8.2vw;border-top:1px solid #30272245;border-bottom:1px solid #30272245}.activity-pagination a{color:#302722;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.055em;text-decoration:none;text-transform:uppercase}.activity-pagination a:hover,.activity-pagination a:focus-visible{text-decoration:underline;text-underline-offset:5px}.activity-page .activity-advice{margin-top:0;padding:clamp(74px,7.6vw,108px) 8.2vw}.activity-page .activity-advice h2{font-size:clamp(46px,4.8vw,76px)}.activity-page .activity-advice>p:not(.eyebrow){max-width:510px;margin-top:27px}.activity-page .activity-advice .circle-link{margin-top:40px}
@media(max-width:760px){.activity-page .activity-breadcrumb{padding-top:121px}.activity-page .activity-hero--compact{padding:35px 23px 48px}.activity-page .activity-hero--compact .activity-hero-image{margin-top:38px;aspect-ratio:1.25/1}.activity-page .activity-practical{margin:0 23px}.activity-page .activity-practical div,.activity-page .activity-practical div:first-child{padding:19px 0 20px;border-left:0;border-top:1px solid #30272238}.activity-page .activity-practical div:first-child{border-top:0}.activity-page .activity-practical strong{margin-top:10px;font-size:29px}.activity-page .activity-gallery{padding:35px 23px}.activity-page .activity-gallery-grid{grid-template-columns:1fr;gap:16px}.activity-page .activity-gallery-grid figure{aspect-ratio:1.3/1}.activity-text{padding:65px 23px}.activity-text .eyebrow{margin-bottom:25px}.activity-text h2{font-size:45px}.activity-text>p:last-child{margin-top:27px;font-size:17px}.activity-pagination{gap:18px;margin:0 23px;padding:20px 0}.activity-pagination a{font-size:9px;line-height:1.5}.activity-pagination a:last-child{text-align:right}.activity-page .activity-advice{padding:70px 23px}.activity-page .activity-advice h2{font-size:48px}.activity-page .activity-advice>p:not(.eyebrow){margin-top:25px}.activity-page .activity-advice .circle-link{margin-top:38px}}

/* MasterChef compact pass: essential information appears within the first desktop view. */
.activity-page .activity-breadcrumb{padding-top:clamp(136px,11vw,154px)}
.activity-page .activity-hero--compact{padding-top:clamp(24px,2.5vw,38px);padding-bottom:clamp(32px,3.2vw,48px);gap:clamp(38px,5vw,78px)}
.activity-page .activity-hero--compact .activity-hero-image{aspect-ratio:1.65/1}
.activity-page .activity-hero--compact .activity-hero-copy>p:last-child{margin-top:21px}
.activity-page .activity-practical div{padding-top:clamp(20px,2vw,28px);padding-bottom:clamp(20px,2vw,28px)}
.activity-page .activity-gallery{padding-top:clamp(38px,3.8vw,54px);padding-bottom:clamp(38px,3.8vw,54px)}
.cluedo-stage-photo{object-position:center 48%}.cluedo-investigation-photo{object-position:center 48%}.cluedo-props-photo{object-position:center 24%}
.activity-text{padding-top:clamp(52px,5vw,70px);padding-bottom:clamp(52px,5vw,70px)}
.activity-text>p:last-child{margin-top:26px}
.activity-pagination{padding-top:18px;padding-bottom:18px}.activity-pagination-next{margin-left:auto;text-align:right}
.activity-page .activity-advice{padding-top:clamp(62px,6vw,84px);padding-bottom:clamp(62px,6vw,84px)}
@media(max-width:760px){.activity-page .activity-breadcrumb{padding-top:136px}.activity-page .activity-hero--compact{padding-top:24px;padding-bottom:34px}.activity-page .activity-hero--compact .activity-hero-image{margin-top:28px;aspect-ratio:1.35/1}.activity-page .activity-hero--compact .activity-hero-copy>p:last-child{margin-top:22px}.activity-page .activity-practical div,.activity-page .activity-practical div:first-child{padding-top:16px;padding-bottom:17px}.activity-page .activity-gallery{padding-top:30px;padding-bottom:30px}.activity-text{padding-top:53px;padding-bottom:53px}.activity-page .activity-advice{padding-top:62px;padding-bottom:62px}}

/* Team Building activity navigation: shared breathing room and restrained motion. */
.activity-page .activity-pagination{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);margin-bottom:40px;padding-top:38px;padding-bottom:38px}
.activity-page .activity-pagination a{display:inline-flex;gap:12px;align-items:center;width:fit-content;max-width:100%;line-height:1.45;text-decoration:none}
.activity-page .activity-pagination-prev{justify-self:start}
.activity-page .activity-pagination-next{grid-column:2;justify-self:end;margin-left:0;text-align:right}
.activity-page .activity-pagination-label{transition:font-style .2s ease,color .2s ease}
.activity-page .activity-pagination-arrow{font-family:"DM Sans",sans-serif;font-size:16px;line-height:1;transition:transform .2s ease}
@media(hover:hover) and (pointer:fine){.activity-page .activity-pagination a:hover,.activity-page .activity-pagination a:focus-visible{text-decoration:none}.activity-page .activity-pagination a:hover .activity-pagination-label,.activity-page .activity-pagination a:focus-visible .activity-pagination-label{font-style:italic}.activity-page .activity-pagination-prev:hover .activity-pagination-arrow,.activity-page .activity-pagination-prev:focus-visible .activity-pagination-arrow{transform:translateX(-4px)}.activity-page .activity-pagination-next:hover .activity-pagination-arrow,.activity-page .activity-pagination-next:focus-visible .activity-pagination-arrow{transform:translateX(4px)}}
@media(max-width:760px){.activity-page .activity-pagination{gap:18px;margin-bottom:32px;padding-top:30px;padding-bottom:30px}.activity-page .activity-pagination a{gap:8px;align-items:flex-start}.activity-page .activity-pagination-label{overflow-wrap:anywhere}.activity-page .activity-pagination-arrow{font-size:14px;line-height:1.35}}
@media(prefers-reduced-motion:reduce){.activity-page .activity-pagination-label,.activity-page .activity-pagination-arrow{transition:none}.activity-page .activity-pagination a:hover .activity-pagination-arrow,.activity-page .activity-pagination a:focus-visible .activity-pagination-arrow{transform:none}}


/* Gastronomia category: bring the activity index closer to the first view. */
.category-page .gastronomy-hero{min-height:0;padding:clamp(116px,10.5vw,150px) 8.2vw clamp(42px,3.8vw,58px);gap:clamp(42px,6vw,88px)}
.category-page .gastronomy-hero-image{aspect-ratio:1.48/1}
.category-page .gastronomy-hero-copy .eyebrow{margin-bottom:25px}
.category-page .gastronomy-hero-copy>p:last-child{margin-top:25px}
.category-page .gastronomy-intro{padding:clamp(56px,5.4vw,78px) 23px}
.category-page .gastronomy-intro .eyebrow{margin-bottom:26px}
.category-page .gastronomy-intro h2{font-size:clamp(41px,4.25vw,68px)}
.category-page .gastronomy-intro div>p{margin-top:25px}
.category-page .gastronomy-experiences{padding-top:clamp(52px,5vw,72px);padding-bottom:clamp(80px,8vw,116px)}
.category-page .gastronomy-grid{margin-top:clamp(38px,4vw,58px)}
@media(max-width:760px){.category-page .gastronomy-hero{padding:112px 23px 48px}.category-page .gastronomy-hero-copy .eyebrow{margin-bottom:23px}.category-page .gastronomy-hero-copy>p:last-child{margin-top:23px}.category-page .gastronomy-hero-image{margin-top:32px;aspect-ratio:1.22/1}.category-page .gastronomy-intro{padding:52px 23px}.category-page .gastronomy-intro .eyebrow{margin-bottom:23px}.category-page .gastronomy-intro h2{font-size:41px}.category-page .gastronomy-intro div>p{margin-top:24px}.category-page .gastronomy-experiences{padding:54px 23px 72px}.category-page .gastronomy-grid{margin-top:36px}}


/* Gastronomia category: one direct editorial path from the hero to the activities. */
.category-page .gastronomy-experiences{padding-top:clamp(48px,4.4vw,64px)}
.category-page .gastronomy-section-heading{display:flex;justify-content:center;text-align:center}
.category-page .gastronomy-section-heading h2{max-width:740px;font-size:clamp(44px,4.6vw,72px)}
.category-page .gastronomy-grid{margin-top:clamp(30px,3.2vw,46px)}
@media(max-width:760px){.category-page .gastronomy-experiences{padding-top:44px}.category-page .gastronomy-section-heading h2{font-size:42px}.category-page .gastronomy-grid{margin-top:30px}}


/* Gastronomia: a quiet editorial threshold before the activity index. */
.category-page .gastronomy-experiences{padding-top:clamp(34px,3.2vw,46px)}
.category-page .gastronomy-editorial-rule{max-width:1360px;height:1px;margin:0 auto;background:#30272238}
.category-page .gastronomy-section-heading{margin-top:clamp(70px,5.8vw,90px)}
.category-page .gastronomy-section-heading h2{font-size:clamp(38px,3.7vw,58px)}
.category-page .gastronomy-grid{margin-top:clamp(50px,3.9vw,60px)}
@media(max-width:760px){.category-page .gastronomy-experiences{padding-top:30px}.category-page .gastronomy-section-heading{margin-top:48px}.category-page .gastronomy-section-heading h2{font-size:35px}.category-page .gastronomy-grid{margin-top:34px}}


/* Gastronomia: the section title itself becomes the editorial transition. */
.category-page .gastronomy-experiences{padding-top:clamp(28px,2.7vw,40px)}
.category-page .gastronomy-editorial-rule{display:none}
.category-page .gastronomy-section-heading{max-width:1360px;margin:0 auto;text-align:left}
.category-page .gastronomy-section-heading h2{display:flex;align-items:flex-end;justify-content:flex-start;gap:clamp(18px,2.1vw,34px);max-width:none;margin:0}
.category-page .gastronomy-section-count{display:block;font-family:"Playfair Display",serif;font-size:clamp(92px,10vw,150px);font-weight:400;letter-spacing:-.085em;line-height:.7}
.category-page .gastronomy-section-copy{display:block;padding-bottom:clamp(3px,.5vw,8px);font-family:"Playfair Display",serif;font-size:clamp(34px,3.15vw,50px);font-weight:400;letter-spacing:-.06em;line-height:.9}
.category-page .gastronomy-grid{margin-top:clamp(34px,3vw,46px)}
@media(max-width:760px){.category-page .gastronomy-experiences{padding-top:28px}.category-page .gastronomy-section-heading h2{display:block}.category-page .gastronomy-section-count{font-size:clamp(72px,21vw,94px);line-height:.74}.category-page .gastronomy-section-copy{margin-top:9px;padding:0;font-size:clamp(31px,9.2vw,42px);line-height:.92}.category-page .gastronomy-grid{margin-top:28px}}


/* Gastronomia art direction: one quiet editorial chapter from the index to the CTA. */
.category-page .gastronomy-hero{background:#fff}
.category-page .gastronomy-experiences,.category-page .gastronomy-advice{background:#f4f2ed;background:color-mix(in srgb,#f4f2ed 94%,#302722)}
.category-page .gastronomy-experiences{padding-top:clamp(24px,2.4vw,34px);padding-bottom:clamp(66px,6.4vw,92px)}
.category-page .gastronomy-grid{margin-top:clamp(28px,2.6vw,40px)}
.category-page .gastronomy-advice{margin:0;padding:clamp(62px,6vw,86px) 8.2vw clamp(70px,6.7vw,96px);color:#302722}
.category-page .gastronomy-advice>p:not(.eyebrow){margin-top:25px}
.category-page .gastronomy-advice .circle-link{margin-top:39px;background:#302722;color:#f4f2ed}
@media(max-width:760px){.category-page .gastronomy-experiences{padding-top:24px;padding-bottom:54px}.category-page .gastronomy-grid{margin-top:25px}.category-page .gastronomy-advice{padding:58px 23px 68px}.category-page .gastronomy-advice>p:not(.eyebrow){margin-top:23px}.category-page .gastronomy-advice .circle-link{margin-top:34px}}


/* Gastronomia hero: clear value, then a quiet assurance. */
.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{max-width:365px;margin:25px 0 0;font-size:clamp(17px,1.35vw,20px);letter-spacing:-.02em;line-height:1.48}
.category-page .gastronomy-hero-description{max-width:465px;margin:24px 0 0;font-family:"DM Sans",sans-serif;font-size:clamp(17px,1.32vw,20px);letter-spacing:-.018em;line-height:1.5}
.category-page .gastronomy-hero-assurance{max-width:455px;margin-top:28px;padding-left:17px;border-left:1px solid #30272288}
.category-page .gastronomy-hero-assurance p{margin:0;font-family:"DM Sans",sans-serif;letter-spacing:-.015em;line-height:1.46}
.category-page .gastronomy-hero-assurance p:first-child{font-size:clamp(17px,1.3vw,19px);font-weight:600}
.category-page .gastronomy-hero-assurance p+p{margin-top:9px;font-size:16px;font-weight:400}
@media(max-width:760px){.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{margin-top:23px;font-size:17px}.category-page .gastronomy-hero-description{margin-top:22px;font-size:17px}.category-page .gastronomy-hero-assurance{margin-top:25px;padding-left:14px}.category-page .gastronomy-hero-assurance p:first-child{font-size:17px}.category-page .gastronomy-hero-assurance p+p{font-size:16px}}


/* Gastronomia hero: an editorial thought followed by a quiet invitation onward. */
.category-page .gastronomy-hero{position:relative}
.category-page .gastronomy-hero-quote{max-width:470px;margin:28px 0 0;font-family:"Playfair Display",serif;font-size:clamp(27px,2.55vw,39px);font-weight:400;letter-spacing:-.055em;line-height:.98}
.category-page .gastronomy-hero-quote-support{max-width:430px;margin:17px 0 0;font-family:"DM Sans",sans-serif;font-size:clamp(16px,1.18vw,18px);letter-spacing:-.015em;line-height:1.48}
.category-page .gastronomy-hero-scroll{bottom:19px;left:8.2vw;color:#302722;font-size:8px;letter-spacing:.09em;text-decoration:none}
.category-page .gastronomy-hero-scroll span{padding-left:8px;font-size:14px}
@media(max-width:760px){.category-page .gastronomy-hero-quote{margin-top:25px;font-size:28px;line-height:1.01}.category-page .gastronomy-hero-quote-support{margin-top:15px;font-size:16px}.category-page .gastronomy-hero-scroll{position:static;display:inline-flex;align-items:center;margin-top:28px;font-size:8px}.category-page .gastronomy-hero-scroll span{font-size:13px}}


/* Gastronomia hero hierarchy: the quote supports the title instead of competing with it. */
.category-page .gastronomy-hero-quote{max-width:330px;margin:39px 0 0 25px;font-size:clamp(19px,1.75vw,27px);line-height:1.05}
.category-page .gastronomy-hero-quote-support{max-width:335px;margin:12px 0 0 25px;font-size:clamp(15px,1.02vw,16px);line-height:1.47}
@media(max-width:760px){.category-page .gastronomy-hero-quote{max-width:280px;margin:32px 0 0 20px;font-size:22px;line-height:1.07}.category-page .gastronomy-hero-quote-support{max-width:290px;margin:11px 0 0 20px;font-size:15px;line-height:1.45}}

/* Gastronomia hero: hierarchy through measure, alignment and image presence. */
.category-page .gastronomy-hero{align-items:start;gap:clamp(38px,4.8vw,72px)}
.category-page .gastronomy-hero-copy{max-width:430px;padding-top:clamp(10px,1.15vw,18px)}
.category-page .gastronomy-hero-image{align-self:start;aspect-ratio:1.28/1}
.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{margin-top:22px}
.category-page .gastronomy-hero-quote{margin-top:44px}
.category-page .gastronomy-hero-quote-support{margin-top:10px}
@media(max-width:760px){.category-page .gastronomy-hero-copy{max-width:360px;padding-top:0}.category-page .gastronomy-hero-image{margin-top:38px;aspect-ratio:1.14/1}.category-page .gastronomy-hero-quote{margin-top:38px}.category-page .gastronomy-hero-quote-support{margin-top:10px}}

/* Gastronomia hero: one quiet editorial thought beneath its single title. */
.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{max-width:355px;margin-top:20px;color:#302722b8;font-size:clamp(15px,1.08vw,17px);line-height:1.45}
.category-page .gastronomy-hero-editorial{max-width:390px;margin:clamp(38px,3.7vw,52px) 0 0;font-family:"DM Sans",sans-serif;font-size:clamp(18px,1.38vw,22px);font-weight:500;letter-spacing:-.025em;line-height:1.35}
.category-page .gastronomy-hero-scroll{bottom:18px}
@media(max-width:760px){.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{margin-top:19px;font-size:16px}.category-page .gastronomy-hero-editorial{max-width:325px;margin-top:34px;font-size:clamp(18px,4.8vw,21px);line-height:1.38}.category-page .gastronomy-hero-scroll{margin-top:42px}}

/* Gastronomia hero: final compositional refinement only. */
.category-page .gastronomy-hero{gap:clamp(30px,3.9vw,56px)}
.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{margin-top:27px}
.category-page .gastronomy-hero-editorial{font-size:clamp(17px,1.24vw,20px);font-weight:400;color:#302722d1}
@media(max-width:760px){.category-page .gastronomy-hero{gap:0}.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{margin-top:25px}.category-page .gastronomy-hero-editorial{font-size:clamp(17px,4.5vw,19px);font-weight:400}.category-page .gastronomy-hero-image{margin-top:30px}}

/* Gastronomia hero: a shorter rhythm that hands off quickly to the activity index. */
.category-page .gastronomy-hero{padding-top:clamp(122px,9.5vw,136px);padding-bottom:clamp(34px,3vw,46px);overflow:visible}
.category-page .gastronomy-hero-image{aspect-ratio:1.38/1}
.category-page .gastronomy-hero-scroll{position:static;display:inline-flex;align-items:center;margin-top:clamp(42px,4vw,56px)}
@media(max-width:760px){.category-page .gastronomy-hero{padding-top:112px;padding-bottom:38px}.category-page .gastronomy-hero-image{margin-top:30px;aspect-ratio:1.22/1}.category-page .gastronomy-hero-scroll{margin-top:38px}}

/* Category breadcrumb: keep the contextual path visible above the hero from first paint. */
.category-page:not(.activity-page) .gastronomy-hero-copy>.eyebrow{position:relative;z-index:1;color:#302722;overflow:visible;opacity:1;visibility:visible;transform:none}

/* Gastronomia hero subtitle: clearer context without competing with its title. */
.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{margin-top:30px;color:#302722e0;font-family:"DM Sans",sans-serif;font-weight:500;letter-spacing:.012em}
.category-page .gastronomy-hero-editorial{margin-top:clamp(28px,2.6vw,36px)}
@media(max-width:760px){.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{margin-top:28px}.category-page .gastronomy-hero-editorial{margin-top:27px}}

/* Gastronomia hero: final legibility adjustment for the contextual subtitle and invitation. */
.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{margin-top:44px;font-size:clamp(17px,1.25vw,20px)}
.category-page .gastronomy-hero-scroll{font-size:10px}
.category-page .gastronomy-hero-scroll span{font-size:15px}
@media(max-width:760px){.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{margin-top:42px;font-size:18px}.category-page .gastronomy-hero-scroll{font-size:10px}.category-page .gastronomy-hero-scroll span{font-size:14px}}

/* Gastronomia hero subtitle: use the full text column while retaining a natural wrap. */
.category-page .gastronomy-hero-copy>.gastronomy-hero-tagline{width:auto;max-width:100%;white-space:normal}

/* Gastronomia activity index: a little more editorial breathing room. */
.category-page .gastronomy-section-heading h2{gap:clamp(26px,2.7vw,44px)}
.category-page .gastronomy-grid{margin-top:clamp(40px,3.6vw,54px)}
@media(max-width:760px){.category-page .gastronomy-section-copy{margin-top:17px}.category-page .gastronomy-grid{margin-top:34px}}

/* Gastronomia activity index: a calmer chapter break before the six experiences. */
.category-page .gastronomy-experiences{padding-top:clamp(42px,3.8vw,56px)}
.category-page .gastronomy-section-heading h2{gap:clamp(30px,3.1vw,52px)}
.category-page .gastronomy-grid{margin-top:clamp(52px,4.6vw,70px)}
@media(max-width:760px){.category-page .gastronomy-experiences{padding-top:40px}.category-page .gastronomy-section-copy{margin-top:19px}.category-page .gastronomy-grid{margin-top:44px}}

/* Gastronomia activity index: a final touch more space before the grid. */
.category-page .gastronomy-grid{margin-top:clamp(64px,5.2vw,84px)}
@media(max-width:760px){.category-page .gastronomy-grid{margin-top:54px}}

/* Gastronomia closing CTA: a compact conversation rather than another hero. */
.category-page .gastronomy-experiences{padding-bottom:clamp(40px,4vw,60px)}
.category-page .gastronomy-advice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(38px,6vw,104px);padding:clamp(44px,4.5vw,62px) 8.2vw;border-top:1px solid #30272238}
.category-page .gastronomy-advice .eyebrow{margin:0 0 22px}
.category-page .gastronomy-advice h2{max-width:510px;font-size:clamp(36px,3.55vw,54px);line-height:.96}
.category-page .gastronomy-advice-copy>p:not(.eyebrow){max-width:300px;margin:20px 0 0;font-size:17px;line-height:1.45}
.category-page .gastronomy-advice .circle-link{width:150px;height:150px;margin:0;font-size:13px}
.category-page .gastronomy-advice .circle-link span{right:25px;bottom:25px}
@media(max-width:760px){.category-page .gastronomy-experiences{padding-bottom:38px}.category-page .gastronomy-advice{display:block;padding:48px 23px 54px}.category-page .gastronomy-advice .eyebrow{margin-bottom:20px}.category-page .gastronomy-advice h2{font-size:39px}.category-page .gastronomy-advice-copy>p:not(.eyebrow){margin-top:18px;font-size:16px}.category-page .gastronomy-advice .circle-link{width:132px;height:132px;margin-top:34px;font-size:12px}.category-page .gastronomy-advice .circle-link span{right:22px;bottom:22px}}

/* Gastronomia closing CTA: an intimate ending built with proportion rather than dividers. */
.category-page .gastronomy-experiences{padding-bottom:clamp(26px,2.7vw,40px)}
.category-page .gastronomy-advice{width:min(calc(100% - 16.4vw),1060px);margin:0 auto;padding:clamp(36px,3.8vw,50px) 0;border-top:0}
.category-page .gastronomy-advice h2{font-size:clamp(32px,3vw,46px)}
.category-page .gastronomy-advice-copy>p:not(.eyebrow){max-width:350px;font-size:clamp(18px,1.28vw,20px);font-weight:500;line-height:1.42}
@media(max-width:760px){.category-page .gastronomy-experiences{padding-bottom:25px}.category-page .gastronomy-advice{width:auto;margin:0;padding:40px 23px 46px}.category-page .gastronomy-advice h2{font-size:36px}.category-page .gastronomy-advice-copy>p:not(.eyebrow){font-size:17px}}

/* Gastronomia closing CTA: typography and rhythm only. */
.category-page .gastronomy-advice{display:block;width:auto;max-width:620px;margin:0 8.2vw;padding:clamp(42px,4.2vw,58px) 0;background:transparent}
.category-page .gastronomy-advice h2{max-width:500px}
.category-page .gastronomy-advice-link{display:inline-flex;margin-top:34px;padding-bottom:8px;border-bottom:1px solid #302722;color:#302722;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.065em;line-height:1.2;text-decoration:none;text-transform:uppercase;transition:opacity .2s ease}
.category-page .gastronomy-advice-link:hover,.category-page .gastronomy-advice-link:focus-visible{opacity:.62}
@media(max-width:760px){.category-page .gastronomy-advice{max-width:none;margin:0 23px;padding:42px 0 48px}.category-page .gastronomy-advice-link{margin-top:31px;font-size:10px}}

/* Gastronomia closing CTA: a restrained circle within the shared editorial container. */
.category-page .gastronomy-advice{display:grid;width:auto;max-width:none;margin:0;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(78px,9vw,154px);padding:clamp(42px,4.2vw,58px) calc(8.2vw + clamp(16px,2.2vw,34px)) clamp(42px,4.2vw,58px) 8.2vw}
.category-page .gastronomy-advice .circle-link{width:132px;height:132px;margin:0;background:#302722;color:#f4f2ed;font-size:12px}
.category-page .gastronomy-advice .circle-link span{right:22px;bottom:22px}
@media(max-width:760px){.category-page .gastronomy-advice{display:block;margin:0;padding:42px 23px 48px}.category-page .gastronomy-advice .circle-link{width:118px;height:118px;margin-top:32px;font-size:11px}.category-page .gastronomy-advice .circle-link span{right:19px;bottom:19px}}

/* Team Building category closing CTA: shared editorial action. */
.category-page .category-advice-cta{display:grid;width:clamp(260px,26vw,390px);gap:15px;align-self:center;color:#302722;font-family:"DM Mono",monospace;font-size:12px;letter-spacing:.08em;line-height:1.2;text-decoration:none;text-transform:uppercase;transition:color .2s ease}
.category-page .category-advice-cta__rule{display:flex;align-items:center;gap:14px;width:100%}
.category-page .category-advice-cta__rule i{height:1px;background:currentColor;opacity:.72;flex:1}
.category-page .category-advice-cta__rule b{font-family:"DM Sans",sans-serif;font-size:20px;font-weight:400;line-height:1;transition:transform .2s ease}
@media(hover:hover) and (pointer:fine){.category-page .category-advice-cta:hover,.category-page .category-advice-cta:focus-visible{color:#76503d}.category-page .category-advice-cta:hover .category-advice-cta__rule b,.category-page .category-advice-cta:focus-visible .category-advice-cta__rule b{transform:translateX(5px)}}
@media(max-width:760px){.category-page .category-advice-cta{width:100%;max-width:390px;margin-top:32px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.category-page .category-advice-cta,.category-page .category-advice-cta__rule b{transition:none}.category-page .category-advice-cta:hover .category-advice-cta__rule b,.category-page .category-advice-cta:focus-visible .category-advice-cta__rule b{transform:none}}


/* MasterChef: experiència i informació útil */
.activity-page .masterchef-experience {
  max-width: 1360px;
}

.masterchef-phases {
  width: min(100%, 860px);
  margin: clamp(2.625rem, 4.4vw, 3.75rem) 0 0;
  padding: 0;
  list-style: none;
}

.masterchef-phases > li {
  display: grid;
  grid-template-columns: clamp(3.5rem, 5vw, 4.375rem) minmax(0, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2.375rem);
  padding: clamp(1.375rem, 2.2vw, 1.875rem) 0;
  border-top: 1px solid rgb(48 39 34 / 18%);
}

.masterchef-phases > li:last-child {
  border-bottom: 0;
}

.masterchef-phase-number {
  color: rgb(48 39 34 / 55%);
  font-family: "Playfair Display", serif;
  font-size: clamp(2.125rem, 3.25vw, 3rem);
  font-weight: 400;
  line-height: 1;
}

.masterchef-phases h3 {
  margin: 0;
  color: #302722;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(1.125rem, 1.55vw, 1.4375rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.masterchef-phases p {
  max-width: 40.625rem;
  margin: 0.625rem 0 0;
  color: #3f3a36;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(0.9375rem, 1.12vw, 1.0625rem);
  line-height: 1.55;
}

.masterchef-phase-optional {
  display: inline-block;
  margin-left: 0.5rem;
  color: rgb(48 39 34 / 60%);
  font-family: "DM Mono", monospace;
  font-size: 0.5625rem;
  font-weight: 500;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
}

.masterchef-note {
  width: min(100%, 47.5rem);
  margin: clamp(2.625rem, 4.5vw, 3.875rem) 0 0;
  padding-top: clamp(1.5rem, 2.5vw, 2.125rem);
  border-top: 1px solid rgb(48 39 34 / 18%);
}

.masterchef-experience > .masterchef-note {
  margin-top: clamp(2.75rem, 4vw, 3.5rem);
  padding-top: 0;
  border-top: 0;
}

.masterchef-note .eyebrow {
  margin: 0 0 1rem;
  font-size: clamp(0.75rem, 0.85vw, 0.875rem);
  letter-spacing: 0.08em;
}

.masterchef-note ul {
  display: grid;
  gap: 0.625rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.masterchef-note li {
  position: relative;
  padding-left: 1.25rem;
  color: #3f3a36;
  font-family: "DM Sans", sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
}

.masterchef-note li::before {
  position: absolute;
  left: 0;
  color: #302722;
  content: "✓";
  font-weight: 500;
}


.team-category-card:focus-visible {
  outline: 1px solid #302722;
  outline-offset: 4px;
}

@media (hover: hover) and (pointer: fine) {
  .masterchef-note .eyebrow,
  .masterchef-note li::before {
    transition: transform 180ms ease, letter-spacing 180ms ease;
  }

  .masterchef-note:hover .eyebrow {
    letter-spacing: 0.095em;
    transform: translateX(3px);
  }

  .masterchef-note:hover li::before {
    transform: translateX(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .masterchef-note .eyebrow,
  .masterchef-note li::before {
    transition: none;
  }

  .masterchef-note:hover .eyebrow,
  .masterchef-note:hover li::before {
    transform: none;
  }

  .masterchef-note:hover .eyebrow {
    letter-spacing: 0.08em;
  }
}

/* Company anniversaries — scoped editorial detail page. */
.event-anniversary-page { --saboa-brown: #302722; background: #f4f2ed; color: var(--saboa-brown); }
.event-anniversary-page main { padding-top: 130px; }
.anniversary-hero { position: relative; min-height: min(720px, calc(100vh - 130px)); overflow: hidden; background: var(--saboa-brown); color: #fff; }
.anniversary-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.anniversary-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(18 14 12 / 82%) 0%, rgb(18 14 12 / 60%) 29%, rgb(18 14 12 / 17%) 58%, transparent 78%); }
.anniversary-hero-copy { position: relative; z-index: 1; display: flex; min-height: inherit; width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(72px, 8vw, 118px) var(--event-gutter) clamp(62px, 7vw, 98px); flex-direction: column; align-items: flex-start; justify-content: center; }
.anniversary-back { margin-bottom: clamp(40px, 5vw, 72px); color: inherit; font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .065em; text-decoration: none; text-transform: uppercase; }
.anniversary-back:hover,.anniversary-back:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.anniversary-hero h1 { max-width: 670px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(62px, 6.7vw, 104px); font-weight: 500; letter-spacing: -.055em; line-height: .9; }
.anniversary-accent { width: 52px; height: 1px; margin-top: 32px; background: var(--saboa-brown); filter: brightness(2.15); }
.anniversary-hero-copy > p { max-width: 455px; margin: 28px 0 0; font-size: clamp(17px, 1.4vw, 21px); line-height: 1.55; }
.anniversary-value,.anniversary-possibilities { width: min(100%, var(--event-container-max)); margin-inline: auto; padding-inline: var(--event-gutter); }
.anniversary-value { padding-top: clamp(90px, 9vw, 132px); padding-bottom: clamp(82px, 8vw, 116px); }
.anniversary-value h2,.anniversary-possibilities h2 { margin: 0; font-family: "Playfair Display", serif; font-weight: 500; letter-spacing: -.05em; line-height: .98; }
.anniversary-value h2 { max-width: 900px; font-size: clamp(34px, 2.9vw, 44px); }
.anniversary-value-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: clamp(38px, 4vw, 56px); border-bottom: 1px solid rgb(48 39 34 / 18%); }
.anniversary-value-grid article { min-height: 245px; padding: 0 clamp(34px, 4vw, 62px) 52px; border-left: 1px solid rgb(48 39 34 / 18%); }
.anniversary-value-grid article:first-child { padding-left: 0; border-left: 0; }
.anniversary-value-grid article:last-child { padding-right: 0; }
.anniversary-value-marker { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; padding-bottom: 23px; }
.anniversary-value-accent { display: block; width: 44px; height: 1px; background: var(--saboa-brown); opacity: .58; transform-origin: left center; }
.anniversary-value-number { display: block; color: var(--saboa-brown); font-family: "DM Mono", monospace; font-size: 10px; font-weight: 500; letter-spacing: .08em; }
.anniversary-value-grid h3 { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(26px, 2vw, 30px); font-weight: 500; letter-spacing: -.025em; line-height: 1.08; }
.anniversary-value-grid p { max-width: 320px; margin: 22px 0 0; font-size: 16px; line-height: 1.62; }
.anniversary-possibilities { padding-bottom: 0; }
.anniversary-possibilities-intro { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); gap: clamp(44px, 6vw, 90px); align-items: start; }
.anniversary-possibilities-intro h2 { padding-left: 30px; border-left: 1px solid var(--saboa-brown); font-size: clamp(32px, 2.8vw, 42px); }
.anniversary-possibilities-intro p { max-width: 640px; margin: 2px 0 0; font-size: 17px; line-height: 1.62; }
.anniversary-gallery { position: relative; margin-top: clamp(48px, 5vw, 72px); }
.anniversary-gallery-viewport { position: relative; }
.anniversary-gallery-arrow { position: absolute; z-index: 4; top: var(--anniversary-gallery-arrow-top,50%); display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 1px solid rgb(255 255 255 / 72%); border-radius: 50%; color: #fff; background: rgb(48 39 34 / 42%); backdrop-filter: blur(3px); font-size: 17px; cursor: pointer; transform: translateY(-50%); transition: color .22s ease,background-color .22s ease,opacity .22s ease,transform .22s ease; }
.anniversary-gallery-prev { left: 10px; }
.anniversary-gallery-next { right: 10px; }
.anniversary-gallery-arrow:hover,.anniversary-gallery-arrow:focus-visible { color: #fff; background: var(--saboa-brown); }
.anniversary-gallery-prev:hover,.anniversary-gallery-prev:focus-visible { transform: translate(-3px,-50%); }
.anniversary-gallery-next:hover,.anniversary-gallery-next:focus-visible { transform: translate(3px,-50%); }
.anniversary-gallery-arrow:disabled { visibility: hidden; opacity: 0; pointer-events: none; }
.anniversary-gallery-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 12px) / 5); column-gap: 12px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: none; }
.anniversary-gallery-track::-webkit-scrollbar { display: none; }
.anniversary-gallery-item { min-width: 0; outline: none; scroll-snap-align: start; }
.anniversary-gallery-item h3 { min-height: 34px; margin: 0 0 12px; font-family: "DM Mono", monospace; font-size: 12px; font-weight: 500; letter-spacing: .055em; line-height: 1.4; text-align: center; }
.anniversary-gallery-item figure { position: relative; margin: 0; overflow: hidden; aspect-ratio: 1 / 1.06; background: #d9d5ce; }
.anniversary-gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.anniversary-gallery-item:nth-child(2) img { object-position: center 55%; }
.anniversary-gallery-item figcaption { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 22px 18px; color: #fff; background: linear-gradient(0deg,rgb(18 14 12 / 88%) 0%,rgb(18 14 12 / 45%) 58%,transparent 100%); opacity: 0; transform: translateY(7px); transition: opacity .28s ease,transform .28s ease; }
.anniversary-gallery-item figcaption p { margin: 0; font-size: 13px; line-height: 1.46; }
.anniversary-gallery-item:hover figcaption,.anniversary-gallery-item:focus-visible figcaption,.anniversary-gallery-item:focus-within figcaption { opacity: 1; transform: translateY(0); }
.anniversary-gallery-item:hover img,.anniversary-gallery-item:focus-visible img { transform: scale(1.025); }
.anniversary-gallery-item:focus-visible figure { outline: 2px solid var(--saboa-brown); outline-offset: -2px; }
@media (max-width: 980px) {
  .anniversary-gallery-track { grid-auto-columns: calc((100% - 2 * 12px) / 3); }
  .anniversary-possibilities-intro { grid-template-columns: .9fr 1.1fr; gap: 46px; }
}

@media (max-width: 760px) {
  .event-anniversary-page main { padding-top: 76px; }
  .anniversary-hero { min-height: 620px; }
  .anniversary-hero > img { object-position: 58% center; }
  .anniversary-hero-shade { background: linear-gradient(90deg,rgb(18 14 12 / 80%) 0%,rgb(18 14 12 / 46%) 72%,transparent 100%); }
  .anniversary-hero-copy { justify-content: flex-end; padding: 70px var(--event-gutter) 58px; }
  .anniversary-back { margin-bottom: 42px; font-size: 9px; }
  .anniversary-hero h1 { max-width: 330px; font-size: clamp(53px, 16vw, 69px); }
  .anniversary-accent { margin-top: 25px; }
  .anniversary-hero-copy > p { max-width: 330px; margin-top: 23px; font-size: 16px; }
  .anniversary-value,.anniversary-possibilities { padding-inline: var(--event-gutter); }
  .anniversary-value { padding-top: 72px; padding-bottom: 66px; }
  .anniversary-value h2 { font-size: clamp(34px, 10vw, 40px); }
  .anniversary-value-grid { display: block; margin-top: 52px; }
  .anniversary-value-grid article,.anniversary-value-grid article:first-child,.anniversary-value-grid article:last-child { min-height: 0; padding: 30px 0 34px; border-top: 1px solid rgb(48 39 34 / 18%); border-left: 0; }
  .anniversary-value-marker { margin-bottom: 8px; padding-bottom: 18px; }
  .anniversary-value-grid h3 { font-size: clamp(25px, 7vw, 29px); }
  .anniversary-value-grid p { margin-top: 22px; font-size: 15px; }
  .anniversary-possibilities { padding-bottom: 0; }
  .anniversary-possibilities-intro { display: block; }
  .anniversary-possibilities-intro h2 { padding-left: 20px; font-size: clamp(34px, 10vw, 40px); }
  .anniversary-possibilities-intro p { margin-top: 31px; font-size: 16px; }
  .anniversary-gallery { margin-top: 48px; }
  .anniversary-gallery-track { grid-auto-columns: 82%; gap: 14px; scroll-padding-left: 0; }
  .anniversary-gallery-item h3 { margin-bottom: 10px; font-size: 11px; }
  .anniversary-gallery-item figcaption { position: static; min-height: 148px; padding: 16px 2px 0; color: var(--saboa-brown); background: transparent; opacity: 1; transform: none; }
  .anniversary-gallery-item figcaption p { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .anniversary-gallery-arrow,.anniversary-gallery-item img,.anniversary-gallery-item figcaption { transition: none; }
  .anniversary-gallery-arrow:hover,.anniversary-gallery-arrow:focus-visible { transform: translateY(-50%); }
}

.anniversary-value-grid.has-value-motion article { --anniversary-value-delay: 0ms; }
.anniversary-value-grid.has-value-motion article:nth-child(2) { --anniversary-value-delay: 55ms; }
.anniversary-value-grid.has-value-motion article:nth-child(3) { --anniversary-value-delay: 110ms; }
.anniversary-value-grid.has-value-motion .anniversary-value-number,
.anniversary-value-grid.has-value-motion h3,
.anniversary-value-grid.has-value-motion p { opacity: 0; }
.anniversary-value-grid.has-value-motion h3,
.anniversary-value-grid.has-value-motion p { transform: translateY(8px); }
.anniversary-value-grid.has-value-motion .anniversary-value-accent { transform: scaleX(0); }
.anniversary-value-grid.has-value-motion.is-value-visible .anniversary-value-number { opacity: 1; transition: opacity 480ms ease var(--anniversary-value-delay); }
.anniversary-value-grid.has-value-motion.is-value-visible .anniversary-value-accent { transform: scaleX(1); transition: transform 480ms cubic-bezier(.22,.61,.36,1) var(--anniversary-value-delay); }
.anniversary-value-grid.has-value-motion.is-value-visible h3 { opacity: 1; transform: translateY(0); transition: opacity 520ms ease calc(var(--anniversary-value-delay) + 40ms), transform 520ms cubic-bezier(.22,.61,.36,1) calc(var(--anniversary-value-delay) + 40ms); }
.anniversary-value-grid.has-value-motion.is-value-visible p { opacity: 1; transform: translateY(0); transition: opacity 520ms ease calc(var(--anniversary-value-delay) + 85ms), transform 520ms cubic-bezier(.22,.61,.36,1) calc(var(--anniversary-value-delay) + 85ms); }

@media (prefers-reduced-motion: reduce) {
  .anniversary-value-grid.has-value-motion .anniversary-value-number,
  .anniversary-value-grid.has-value-motion h3,
  .anniversary-value-grid.has-value-motion p { opacity: 1; transform: none; transition: none; }
  .anniversary-value-grid.has-value-motion .anniversary-value-accent { transform: none; transition: none; }
}

/* Convencions & Kick-offs — first editorial slice only. */
.event-conventions-page { --saboa-brown: #302722; background: #fff; color: var(--saboa-brown); }
.event-conventions-page main { padding-top: 130px; }
.conventions-hero { position: relative; min-height: min(650px, calc(100vh - 130px)); overflow: hidden; background: var(--saboa-brown); color: #fff; }
.conventions-hero-media { position: absolute; inset: 0; overflow: hidden; }
.conventions-hero-media img { position: absolute; top: 0; left: 0; width: 100%; height: 147.85%; object-fit: cover; object-position: center top; }
.conventions-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(18 14 12 / 84%) 0%, rgb(18 14 12 / 58%) 31%, rgb(18 14 12 / 17%) 61%, transparent 82%); }
.conventions-hero-copy { position: relative; z-index: 1; display: flex; min-height: inherit; width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(64px, 7vw, 96px) var(--event-gutter) clamp(58px, 6vw, 82px); flex-direction: column; align-items: flex-start; justify-content: center; }
.conventions-back { margin-bottom: clamp(36px, 4vw, 56px); color: inherit; font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .065em; text-decoration: none; text-transform: uppercase; }
.conventions-back:hover,.conventions-back:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.conventions-hero h1 { max-width: 760px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(60px, 6.5vw, 98px); font-weight: 500; letter-spacing: -.055em; line-height: .9; }
.conventions-hero-copy > p { max-width: 500px; margin: 30px 0 0; font-size: clamp(17px, 1.35vw, 20px); line-height: 1.55; }
.conventions-intro { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); gap: clamp(44px, 6vw, 92px); width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(76px, 7vw, 104px) var(--event-gutter) clamp(82px, 7.5vw, 112px); align-items: start; }
.conventions-intro-heading { padding-right: clamp(36px, 5vw, 76px); border-right: 1px solid rgb(48 39 34 / 18%); }
.conventions-intro h2 { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(38px, 3.55vw, 54px); font-weight: 400; letter-spacing: -.05em; line-height: 1.02; }
.conventions-intro-copy { max-width: 650px; }
.conventions-intro-copy p { margin: 0; font-size: 16px; line-height: 1.62; }
.conventions-intro-copy p + p { margin-top: 22px; }
.conventions-intro-copy .conventions-intro-lead { font-size: clamp(17px, 1.35vw, 19px); font-weight: 500; line-height: 1.56; }
.conventions-journey { background: #f8f6f3; color: var(--saboa-brown); }
.conventions-journey-inner { width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(74px, 7vw, 104px) var(--event-gutter) clamp(84px, 8vw, 118px); }
.conventions-journey h2 { margin: 0 0 clamp(52px, 5.5vw, 78px); font-family: "Playfair Display", serif; font-size: clamp(39px, 4vw, 58px); font-weight: 400; letter-spacing: -.045em; line-height: 1; text-align: center; }
.conventions-timeline { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0 0 clamp(54px, 5.5vw, 76px); }
.conventions-timeline::before { position: absolute; top: 66px; right: 10%; left: 10%; height: 1px; background: rgb(48 39 34 / 26%); content: ""; }
.conventions-moment { position: relative; display: grid; min-width: 0; padding: 0 clamp(10px, 1.5vw, 24px); border: 0; background: transparent; color: inherit; font: inherit; text-align: center; cursor: pointer; }
.conventions-moment-number { color: var(--saboa-brown); font-family: "Playfair Display", serif; font-size: 26px; line-height: 1; }
.conventions-moment-name { margin-top: 11px; font-family: "DM Mono", monospace; font-size: 10px; font-weight: 500; letter-spacing: .04em; }
.conventions-moment-node { position: relative; z-index: 1; width: 15px; height: 15px; margin: 18px auto 23px; border: 1px solid rgb(48 39 34 / 70%); border-radius: 50%; background: #f8f6f3; transition: background-color 220ms ease-out,border-color 220ms ease-out; }
.conventions-moment-copy { max-width: 190px; margin: 0 auto; font-size: 13px; line-height: 1.55; }
.conventions-moment.is-active .conventions-moment-node { border-color: var(--saboa-brown); background: var(--saboa-brown); }
.conventions-moment:focus-visible { outline: 1px solid var(--saboa-brown); outline-offset: 8px; }
.conventions-feature { position: relative; height: clamp(320px, 28vw, 380px); overflow: hidden; border-radius: 34px; background: var(--saboa-brown); color: #fff; touch-action: pan-y; }
.conventions-feature-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity 220ms ease-out; }
.conventions-feature-shade { position: absolute; inset: 0; background: linear-gradient(90deg,transparent 25%,rgb(19 15 13 / 13%) 48%,rgb(19 15 13 / 88%) 100%); }
.conventions-feature-copy { position: absolute; z-index: 1; top: 50%; right: clamp(58px, 8vw, 116px); width: min(32%, 350px); transform: translateY(-50%); transition: opacity 220ms ease-out; }
.conventions-feature-heading { display: flex; gap: 16px; margin: 0; align-items: baseline; font-family: "DM Mono", monospace; }
.conventions-feature-number { color: #c6a17e; font-family: "Playfair Display", serif; font-size: 29px; }
.conventions-feature-name { font-size: 13px; font-weight: 500; letter-spacing: .05em; }
.conventions-feature-description { margin: 24px 0 0; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.55; }
.conventions-feature-arrow { position: absolute; z-index: 2; top: 50%; display: grid; width: 48px; height: 48px; padding: 0; border: 1px solid rgb(255 255 255 / 55%); border-radius: 50%; background: rgb(20 16 14 / 28%); color: #fff; font-size: 19px; place-items: center; transform: translateY(-50%); transition: background-color 200ms ease-out,border-color 200ms ease-out; cursor: pointer; }
.conventions-feature-arrow:hover,.conventions-feature-arrow:focus-visible { border-color: #fff; background: rgb(20 16 14 / 62%); }
.conventions-feature-arrow-prev { left: 22px; }
.conventions-feature-arrow-next { right: 22px; }
.conventions-feature.is-changing .conventions-feature-image,.conventions-feature.is-changing .conventions-feature-copy { opacity: 0; }
.conventions-services { background: #fff; color: var(--saboa-brown); }
.conventions-services-inner { display: grid; grid-template-columns: minmax(260px,.62fr) minmax(0,1.38fr); gap: clamp(54px, 7vw, 108px); width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(78px, 7.5vw, 112px) var(--event-gutter) clamp(84px, 8vw, 120px); align-items: center; }
.conventions-services-copy { max-width: 410px; }
.conventions-services h2 { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(39px, 3.7vw, 56px); font-weight: 400; letter-spacing: -.05em; line-height: 1.03; }
.conventions-services-rule { display: block; width: 43px; height: 1px; margin: 34px 0 30px; background: var(--saboa-brown); opacity: .72; }
.conventions-services-copy p { max-width: 320px; margin: 0; font-size: 15px; line-height: 1.65; }
.conventions-services-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
.conventions-service { position: relative; aspect-ratio: 1.34 / 1; min-width: 0; margin: 0; overflow: hidden; background: var(--saboa-brown); }
.conventions-service img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.conventions-service::before { position: absolute; z-index: 1; inset: 0; background: rgb(18 14 12 / 8%); content: ""; opacity: 0; pointer-events: none; transition: opacity 300ms ease; }
.conventions-service::after { position: absolute; inset: 38% 0 0; background: linear-gradient(180deg,transparent,rgb(18 14 12 / 70%)); content: ""; }
.conventions-service figcaption { position: absolute; z-index: 2; right: 17px; bottom: 15px; left: 17px; color: #fff; font-family: "DM Sans", sans-serif; font-size: clamp(10px, .88vw, 13px); font-weight: 500; letter-spacing: .015em; line-height: 1.35; transition: transform 300ms ease; }
@media (hover: hover) and (pointer: fine) {
  .conventions-service:hover img { transform: scale(1.025); }
  .conventions-service:hover::before { opacity: 1; }
  .conventions-service:hover figcaption { transform: translateY(-5px); }
}
.conventions-closing { background: #fff; }

@media (max-width: 980px) {
  .conventions-intro { grid-template-columns: minmax(300px,.88fr) minmax(0,1.12fr); gap: 46px; }
  .conventions-services-inner { grid-template-columns: 1fr; gap: 50px; }
  .conventions-services-copy { max-width: 530px; }
  .conventions-services-copy p { max-width: 420px; }
}

@media (max-width: 760px) {
  .event-conventions-page main { padding-top: 76px; }
  .conventions-hero { min-height: 620px; }
  .conventions-hero-media img { left: 50%; width: auto; min-width: 100%; transform: translateX(-50%); }
  .conventions-hero-shade { background: linear-gradient(90deg,rgb(18 14 12 / 84%) 0%,rgb(18 14 12 / 49%) 76%,transparent 100%); }
  .conventions-hero-copy { justify-content: flex-end; padding: 68px var(--event-gutter) 56px; }
  .conventions-back { margin-bottom: 38px; font-size: 9px; }
  .conventions-hero h1 { max-width: 340px; font-size: clamp(48px, 14.8vw, 64px); }
  .conventions-hero-copy > p { max-width: 340px; margin-top: 25px; font-size: 16px; }
  .conventions-intro { display: block; padding: 66px var(--event-gutter) 74px; }
  .conventions-intro-heading { padding: 0 0 36px; border-right: 0; border-bottom: 1px solid rgb(48 39 34 / 18%); }
  .conventions-intro h2 { font-size: clamp(37px, 10.4vw, 44px); }
  .conventions-intro-copy { padding-top: 34px; }
  .conventions-intro-copy p { font-size: 15px; }
  .conventions-intro-copy .conventions-intro-lead { font-size: 17px; }
  .conventions-journey-inner { padding: 64px var(--event-gutter) 76px; }
  .conventions-journey h2 { margin-bottom: 42px; font-size: clamp(36px, 10vw, 44px); }
  .conventions-timeline { display: flex; margin: 0 calc(-1 * var(--event-gutter)) 38px; padding: 8px var(--event-gutter) 18px; gap: 18px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .conventions-timeline::-webkit-scrollbar { display: none; }
  .conventions-timeline::before { display: none; }
  .conventions-moment { flex: 0 0 148px; padding: 0; scroll-snap-align: center; }
  .conventions-moment-number { font-size: 24px; }
  .conventions-moment-name { margin-top: 9px; }
  .conventions-moment-node { width: 11px; height: 11px; margin: 15px auto 17px; }
  .conventions-moment-copy { font-size: 12px; }
  .conventions-feature { height: clamp(300px, 84vw, 330px); border-radius: 24px; }
  .conventions-feature-shade { background: linear-gradient(180deg,transparent 32%,rgb(19 15 13 / 88%) 100%); }
  .conventions-feature-copy { top: auto; right: 58px; bottom: 38px; left: 58px; width: auto; transform: none; }
  .conventions-feature-description { margin-top: 15px; font-size: 16px; }
  .conventions-feature-arrow { top: auto; bottom: 34px; width: 38px; height: 38px; transform: none; }
  .conventions-feature-arrow-prev { left: 10px; }
  .conventions-feature-arrow-next { right: 10px; }
  .conventions-services-inner { gap: 42px; padding: 68px var(--event-gutter) 76px; }
  .conventions-services h2 { font-size: clamp(37px, 10.4vw, 46px); }
  .conventions-services-rule { margin: 28px 0 25px; }
  .conventions-services-copy p { font-size: 15px; }
  .conventions-services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; }
  .conventions-service { aspect-ratio: 1.08 / 1; }
  .conventions-service figcaption { right: 12px; bottom: 11px; left: 12px; font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .conventions-moment-node,.conventions-feature-image,.conventions-feature-copy,.conventions-feature-arrow,.conventions-service img,.conventions-service::before,.conventions-service figcaption { transition: none; }
  .conventions-service:hover img,.conventions-service:hover figcaption { transform: none; }
  .conventions-service:hover::before { opacity: 0; }
}

/* Family Days: fitxa editorial d'Esdeveniments. */
.event-family-days-page { --saboa-brown: #302722; background: #fff; color: var(--saboa-brown); }
.event-family-days-page main { padding-top: 130px; }
.family-days-hero { position: relative; min-height: 67vh; overflow: hidden; background: var(--saboa-brown); color: #fff; }
.family-days-hero-media { position: absolute; inset: 0; overflow: hidden; }
.family-days-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
.family-days-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(18 14 12 / 79%) 0%, rgb(18 14 12 / 52%) 33%, rgb(18 14 12 / 13%) 66%, transparent 84%); }
.family-days-hero-copy { position: relative; z-index: 1; display: flex; min-height: inherit; width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(52px, 6vw, 82px) var(--event-gutter) clamp(48px, 5.4vw, 74px); flex-direction: column; align-items: flex-start; justify-content: center; }
.family-days-back { margin-bottom: clamp(30px, 3.4vw, 46px); color: inherit; font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .065em; text-decoration: none; text-transform: uppercase; }
.family-days-back:hover,.family-days-back:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.family-days-hero h1 { max-width: 800px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(54px, 6vw, 88px); font-weight: 500; letter-spacing: -.055em; line-height: .9; }
.family-days-hero-copy > p { max-width: 500px; margin: 30px 0 0; font-size: clamp(17px, 1.35vw, 20px); line-height: 1.55; }
.family-days-origin { display: grid; grid-template-columns: minmax(0, 40fr) minmax(0, 55fr); grid-template-rows: auto 1fr; column-gap: 5%; width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(72px, 6.5vw, 94px) var(--event-gutter) clamp(76px, 7vw, 102px); align-items: start; }
.family-days-origin h2 { grid-column: 1; margin: 0 0 clamp(25px, 2.5vw, 34px); font-family: "Playfair Display", serif; font-size: clamp(44px, 4.3vw, 62px); font-weight: 400; letter-spacing: -.052em; line-height: 1.02; }
.family-days-origin-copy { grid-column: 1; max-width: 520px; margin: 0; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.65; text-align: justify; text-align-last: left; text-justify: inter-word; hyphens: none; word-break: normal; overflow-wrap: normal; }
.family-days-origin-media { position: relative; grid-column: 2; grid-row: 1 / 3; width: 100%; height: 100%; min-height: 420px; margin: 0; overflow: hidden; border-radius: 10px; background: #eeeae5; }
.family-days-origin-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }

.family-days-moments { background: #f8f6f3; color: var(--saboa-brown); }
.family-days-moments-inner { width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(78px, 7.5vw, 110px) var(--event-gutter) clamp(88px, 8vw, 118px); }
.family-days-moments h2 { max-width: none; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(46px, 4.25vw, 64px); font-weight: 400; letter-spacing: -.05em; line-height: 1.02; }
.family-days-moments-hint { margin: clamp(25px, 2.8vw, 38px) 0 clamp(42px, 4.5vw, 62px); font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .065em; }
.family-days-moments-stage { --active-x: 10%; --active-y: 77%; --detail-x: 14%; --detail-y: 51%; --detail-shift-x: 0%; position: relative; aspect-ratio: 16 / 8.35; overflow: hidden; border-radius: 10px; background: var(--saboa-brown); }
.family-days-moments-stage > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.family-days-moments-shade { position: absolute; inset: 0; background: radial-gradient(circle 120px at var(--active-x) var(--active-y), transparent 0, transparent 45%, rgb(18 14 12 / 10%) 100%); opacity: .72; pointer-events: none; transition: background-position 260ms ease-out, opacity 260ms ease-out; }
.family-days-hotspot { position: absolute; z-index: 3; top: var(--y); left: var(--x); display: grid; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; color: #fff; font-family: "DM Mono", monospace; font-size: 13px; letter-spacing: .055em; place-items: center; transform: translate(-50%, -50%); cursor: pointer; }
.family-days-hotspot span { display: grid; width: 34px; height: 34px; border-radius: 50%; background: rgb(48 39 34 / 84%); place-items: center; transition: background-color 240ms ease-out, transform 240ms ease-out; }
.family-days-hotspot:hover span,.family-days-hotspot:focus-visible span { background: rgb(48 39 34 / 94%); transform: scale(1.06); }
.family-days-hotspot.is-active span { background: rgb(48 39 34 / 98%); transform: scale(1.08); }
.family-days-hotspot:focus-visible { outline: 0; }
.family-days-hotspot:focus-visible span { outline: 1px solid rgb(255 255 255 / 74%); outline-offset: 2px; }
.family-days-moments-mobile { display: none; }
.family-days-moment-detail { position: absolute; z-index: 2; top: var(--detail-y); left: var(--detail-x); width: min(32%, 400px); color: #fff; transform: translate(var(--detail-shift-x), 0); transition: opacity 220ms ease-out, transform 220ms ease-out, top 220ms ease-out, left 220ms ease-out; }
.family-days-moment-detail::before { position: absolute; z-index: -1; inset: -24px -30px -28px; background: radial-gradient(ellipse at center, rgb(18 14 12 / 48%) 0%, rgb(18 14 12 / 25%) 56%, transparent 78%); content: ""; pointer-events: none; }
.family-days-moment-heading { display: flex; gap: 16px; margin: 0; align-items: baseline; font-family: "DM Mono", monospace; }
.family-days-moment-heading span { color: #e2c5a8; font-family: "Playfair Display", serif; font-size: 27px; }
.family-days-moment-heading strong { font-size: 11px; font-weight: 500; letter-spacing: .055em; }
.family-days-moment-copy { max-width: 440px; margin: 18px 0 0; font-size: clamp(14px, 1.15vw, 17px); line-height: 1.56; }
.family-days-moments.is-changing .family-days-moment-detail { opacity: 0; transform: translate(var(--detail-shift-x), 5px); }

.family-days-planning { background: var(--saboa-brown); color: #fff; }
.family-days-planning-inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(58px, 8vw, 118px); width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(50px, 5vw, 68px) var(--event-gutter) clamp(52px, 5.2vw, 72px); align-items: center; }
.family-days-planning h2 { max-width: 620px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(43px, 4.3vw, 62px); font-weight: 400; letter-spacing: -.05em; line-height: 1.02; }
.family-days-planning-copy { max-width: 610px; padding-top: 0; }
.family-days-planning-copy p { margin: 0; font-size: clamp(15px, 1.12vw, 17px); line-height: 1.68; }
.family-days-planning-copy > span { display: block; width: 42px; height: 1px; margin: clamp(21px, 2.2vw, 29px) 0; background: #e2c5a8; }
.family-days-planning-copy p:last-child { max-width: 570px; font-size: clamp(17px, 1.42vw, 20px); line-height: 1.58; }
.family-days-planning.has-planning-motion .family-days-planning-heading,
.family-days-planning.has-planning-motion .family-days-planning-copy { opacity: 0; transform: translateY(10px); }
.family-days-planning.has-planning-motion.is-visible .family-days-planning-heading,
.family-days-planning.has-planning-motion.is-visible .family-days-planning-copy { opacity: 1; transform: translateY(0); transition: opacity 560ms ease-out, transform 560ms ease-out; }
.family-days-planning.has-planning-motion.is-visible .family-days-planning-copy { transition-delay: 80ms; }

.family-days-benefits { background: #fff; color: var(--saboa-brown); }
.family-days-benefits-inner { width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(68px, 6.5vw, 92px) var(--event-gutter) clamp(72px, 7vw, 98px); }
.family-days-benefits h2 { max-width: 860px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(46px, 4.7vw, 70px); font-weight: 400; letter-spacing: -.05em; line-height: 1.02; }
.family-days-benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(42px, 5.5vw, 82px); margin-top: clamp(44px, 4.8vw, 62px); }
.family-days-benefit-heading { display: flex; min-height: 88px; align-items: baseline; gap: 12px; }
.family-days-benefit-marker { flex: 0 0 auto; margin: 0; color: var(--saboa-brown); font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .065em; line-height: 1.4; }
.family-days-benefit h3 { min-height: 0; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(24px, 1.85vw, 29px); font-weight: 400; letter-spacing: -.03em; line-height: 1.08; }
.family-days-benefit > p:last-child { max-width: 360px; margin: 14px 0 0; font-size: 15px; line-height: 1.68; }
@media (hover: hover) and (pointer: fine) {
  .family-days-benefit h3 { transition: color 280ms cubic-bezier(.22, 1, .36, 1), transform 280ms cubic-bezier(.22, 1, .36, 1); }
  .family-days-benefit-marker { transition: color 280ms cubic-bezier(.22, 1, .36, 1); }
  .family-days-benefit:hover h3 { color: var(--saboa-brown); transform: translateX(7px); }
  .family-days-benefit:hover .family-days-benefit-marker { color: #c6a17e; }
}
.family-days-benefits.has-benefits-motion .family-days-benefit-marker,
.family-days-benefits.has-benefits-motion .family-days-benefit h3,
.family-days-benefits.has-benefits-motion .family-days-benefit > p:last-child { opacity: 0; }
.family-days-benefits.has-benefits-motion .family-days-benefit-marker { transform: translateY(5px); }
.family-days-benefits.has-benefits-motion .family-days-benefit h3 { color: #4f4946; transform: translateY(8px); }
.family-days-benefits.has-benefits-motion .family-days-benefit > p:last-child { transform: translateY(4px); }
.family-days-benefits.has-benefits-motion .family-days-benefit.is-benefit-visible .family-days-benefit-marker,
.family-days-benefits.has-benefits-motion .family-days-benefit.is-benefit-visible h3,
.family-days-benefits.has-benefits-motion .family-days-benefit.is-benefit-visible > p:last-child { opacity: 1; transform: translateY(0); }
.family-days-benefits.has-benefits-motion .family-days-benefit.is-benefit-visible .family-days-benefit-marker { animation: family-benefit-marker-in 400ms cubic-bezier(.22, 1, .36, 1) var(--benefit-delay, 0ms) backwards; }
.family-days-benefits.has-benefits-motion .family-days-benefit.is-benefit-visible h3 { color: var(--saboa-brown); animation: family-benefit-title-in 440ms cubic-bezier(.22, 1, .36, 1) calc(var(--benefit-delay, 0ms) + 65ms) backwards; }
.family-days-benefits.has-benefits-motion .family-days-benefit.is-benefit-visible > p:last-child { animation: family-benefit-copy-in 430ms cubic-bezier(.22, 1, .36, 1) calc(var(--benefit-delay, 0ms) + 125ms) backwards; }
@keyframes family-benefit-marker-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes family-benefit-title-in { from { color: #4f4946; opacity: 0; transform: translateY(8px); } to { color: var(--saboa-brown); opacity: 1; transform: translateY(0); } }
@keyframes family-benefit-copy-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.family-days-benefit:nth-child(2) { --benefit-delay: 75ms; }
.family-days-benefit:nth-child(3) { --benefit-delay: 150ms; }
@media (hover: hover) and (pointer: fine) {
  .family-days-benefits .family-days-benefit.is-benefit-visible:hover h3 { transform: translateX(7px); }
}
.family-days-closing { background: #fff; color: var(--saboa-brown); }

@media (min-width: 981px) {
  .family-days-moments h2 { white-space: nowrap; }
}

@media (max-width: 1399px) {
  .family-days-origin-copy { text-align: left; }
}

@media (max-width: 980px) {
  .family-days-moments h2 { max-width: 860px; }
  .family-days-planning-inner { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 46px; }
  .family-days-benefits-grid { grid-template-columns: 1fr; max-width: 650px; gap: 42px; }
  .family-days-benefit-heading { min-height: 0; }
}

@media (max-width: 760px) {
  .event-family-days-page main { padding-top: 76px; }
  .family-days-hero { min-height: 520px; }
  .family-days-hero-shade { background: linear-gradient(90deg, rgb(18 14 12 / 80%) 0%, rgb(18 14 12 / 46%) 76%, transparent 100%); }
  .family-days-hero-copy { justify-content: flex-end; padding: 64px var(--event-gutter) 52px; }
  .family-days-back { margin-bottom: 36px; font-size: 9px; }
  .family-days-hero h1 { max-width: 340px; font-size: clamp(44px, 13.2vw, 54px); }
  .family-days-hero-copy > p { max-width: 330px; margin-top: 24px; font-size: 16px; }
  .family-days-origin { display: block; padding: 58px var(--event-gutter) 70px; }
  .family-days-origin h2 { font-size: clamp(40px, 11.8vw, 49px); }
  .family-days-origin-copy { margin: 26px 0 38px; font-size: 16px; }
  .family-days-origin-media { aspect-ratio: 4 / 3; height: auto; min-height: 0; border-radius: 8px; }
  .family-days-origin-media img { object-position: 52% center; }
  .family-days-moments-inner { padding: 64px var(--event-gutter) 76px; }
  .family-days-moments h2 { font-size: clamp(39px, 11vw, 47px); }
  .family-days-moments-hint { margin: 23px 0 36px; font-size: 9px; }
  .family-days-moments-stage { aspect-ratio: 4 / 3; border-radius: 8px; }
  .family-days-moments-stage > img { object-position: 57% center; }
  .family-days-hotspot { display: none; }
  .family-days-moments-shade { display: none; }
  .family-days-moments-mobile { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 25px; }
  .family-days-moments-mobile button { position: relative; padding: 12px 4px 15px; border: 0; border-bottom: 1px solid rgb(48 39 34 / 22%); background: transparent; color: rgb(48 39 34 / 54%); font-family: "DM Mono", monospace; font-size: 10px; cursor: pointer; }
  .family-days-moments-mobile button::after { position: absolute; right: 50%; bottom: -1px; left: 50%; height: 1px; background: var(--saboa-brown); content: ""; transition: right 220ms ease-out, left 220ms ease-out; }
  .family-days-moments-mobile button.is-active { color: var(--saboa-brown); }
  .family-days-moments-mobile button.is-active::after { right: 18%; left: 18%; }
  .family-days-moments-mobile button:focus-visible { outline: 1px solid var(--saboa-brown); outline-offset: 4px; }
  .family-days-moment-detail { top: auto; right: 0; bottom: 0; left: 0; width: auto; padding: 72px 20px 20px; transform: none; }
  .family-days-moment-detail::before { inset: 0; background: linear-gradient(180deg, transparent 0%, rgb(18 14 12 / 76%) 100%); }
  .family-days-moment-heading span { font-size: 24px; }
  .family-days-moment-copy { max-width: none; margin-top: 14px; font-size: 14px; line-height: 1.48; }
  .family-days-moments.is-changing .family-days-moment-detail { transform: translateY(5px); }
  .family-days-planning-inner { display: block; padding: 52px var(--event-gutter) 58px; }
  .family-days-planning h2 { font-size: clamp(39px, 11vw, 47px); }
  .family-days-planning-copy { max-width: 36rem; padding-top: 31px; }
  .family-days-planning-copy p { font-size: 15px; }
  .family-days-planning-copy > span { margin: 22px 0; }
  .family-days-planning-copy p:last-child { font-size: 17px; }
  .family-days-benefits-inner { padding: 58px var(--event-gutter) 68px; }
  .family-days-benefits h2 { font-size: clamp(39px, 11vw, 47px); }
  .family-days-benefits-grid { gap: 34px; margin-top: 38px; }
  .family-days-benefit-heading { gap: 10px; }
  .family-days-benefit h3 { font-size: clamp(23px, 6.9vw, 28px); }
  .family-days-benefit > p:last-child { max-width: 36rem; margin-top: 12px; font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .family-days-moments-shade,.family-days-hotspot span,.family-days-moment-detail,.family-days-moments-mobile button::after { transition: none; }
  .family-days-planning.has-planning-motion .family-days-planning-heading,
  .family-days-planning.has-planning-motion .family-days-planning-copy { opacity: 1; transform: none; transition: none; }
  .family-days-benefits.has-benefits-motion .family-days-benefit-marker,
  .family-days-benefits.has-benefits-motion .family-days-benefit h3,
  .family-days-benefits.has-benefits-motion .family-days-benefit > p:last-child { color: inherit; opacity: 1; transform: none; transition: none; }
  .family-days-benefits.has-benefits-motion .family-days-benefit.is-benefit-visible .family-days-benefit-marker,
  .family-days-benefits.has-benefits-motion .family-days-benefit.is-benefit-visible h3,
  .family-days-benefits.has-benefits-motion .family-days-benefit.is-benefit-visible > p:last-child { animation: none; }
  .family-days-benefit h3,.family-days-benefit-marker { transition: none; }
  .family-days-benefit:hover h3 { transform: none; }
}

/* Jornades d’equip & Offsites: composició editorial pròpia dins d’Esdeveniments. */
.event-offsites-page { --saboa-brown: #302722; --saboa-cream: #f4f2ed; background: #fff; color: var(--saboa-brown); }
.event-offsites-page main { padding-top: 130px; }
.offsites-hero { position: relative; min-height: min(680px, 72vh); overflow: hidden; background: var(--saboa-brown); color: #fff; }
.offsites-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.offsites-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(18 14 12 / 76%) 0%, rgb(18 14 12 / 50%) 38%, rgb(18 14 12 / 9%) 72%, transparent 100%); }
.offsites-hero-copy { position: relative; z-index: 1; display: flex; min-height: inherit; width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(60px, 6vw, 86px) var(--event-gutter) clamp(54px, 5.5vw, 78px); flex-direction: column; align-items: flex-start; justify-content: center; }
.offsites-breadcrumb { display: flex; margin: 0 0 clamp(34px, 3.8vw, 50px); gap: 8px; font-family: "DM Mono", monospace; font-size: 9px; letter-spacing: .065em; line-height: 1.5; text-transform: uppercase; }
.offsites-breadcrumb a { color: inherit; text-decoration: none; }
.offsites-breadcrumb a:hover,.offsites-breadcrumb a:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.offsites-hero h1 { max-width: 900px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(58px, 6.2vw, 92px); font-weight: 500; letter-spacing: -.057em; line-height: .93; }
.offsites-hero-copy > .event-hero-description { max-width: 570px; margin: 30px 0 0; font-size: clamp(17px, 1.35vw, 20px); line-height: 1.55; }

.offsites-intro { width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(66px, 6vw, 88px) var(--event-gutter) clamp(72px, 6.5vw, 96px); }
.offsites-intro-copy { width: 100%; margin: 0; }
.offsites-intro-copy p { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(24px, 2.1vw, 31px); letter-spacing: -.025em; line-height: 1.42; }
.offsites-intro-copy p:first-child { width: 74%; }
.offsites-intro-copy p + p { width: 68%; margin-top: clamp(12px, 1.3vw, 18px); padding: 0; font-family: "DM Sans", sans-serif; font-size: clamp(16px, 1.25vw, 18px); letter-spacing: 0; line-height: 1.7; }

.offsites-possibilities { background: #fff; color: var(--saboa-brown); }
.offsites-possibilities-heading { position: relative; margin: 0; padding: 0 0 17px; }
.offsites-possibilities-heading::after { position: absolute; bottom: 0; left: 0; width: 42px; height: 1px; background: currentColor; content: ""; opacity: .48; }
.offsites-possibilities h2 { margin: 0; font-family: "DM Mono", monospace; font-size: clamp(15px, 1.12vw, 17px); font-weight: 500; letter-spacing: .055em; line-height: 1.45; }
.offsites-composition { display: grid; grid-template-columns: minmax(290px, 31fr) minmax(300px, 31fr) minmax(24px, 3fr) minmax(320px, 35fr); min-height: clamp(650px, 52vw, 760px); background: var(--saboa-cream); }
.offsites-option { position: relative; min-width: 0; outline: 0; transition: opacity 280ms cubic-bezier(.22, 1, .36, 1); }
.offsites-option-social { background: var(--saboa-cream); color: var(--saboa-brown); }
.offsites-option-work { background: var(--saboa-brown); color: var(--saboa-cream); }
.offsites-option-inner { display: flex; height: 100%; padding: clamp(56px, 5.4vw, 78px) clamp(38px, 4.7vw, 72px) clamp(54px, 5vw, 72px); flex-direction: column; justify-content: flex-start; }
.offsites-option h3 { max-width: 350px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(38px, 3.3vw, 50px); font-weight: 400; letter-spacing: -.052em; line-height: 1.02; }
.offsites-option-social h3 { margin-top: clamp(38px, 3.7vw, 54px); }
.offsites-option-work .offsites-option-inner { padding-top: clamp(166px, 13.3vw, 192px); }
.offsites-route { position: relative; display: grid; margin: clamp(32px, 3.3vw, 46px) 0 0; padding: 0; gap: clamp(20px, 1.8vw, 26px); list-style: none; }
.offsites-route::before { position: absolute; top: 8px; bottom: 8px; left: 3px; width: 1px; background: currentColor; content: ""; opacity: .3; transform-origin: top; }
.offsites-route li { position: relative; display: grid; margin: 0; padding-left: 27px; gap: 4px; line-height: 1.35; }
.offsites-route li::before { position: absolute; z-index: 1; top: 8px; left: 0; width: 7px; height: 7px; border: 0; border-radius: 50%; background: currentColor; content: ""; opacity: .54; transform: translateY(-50%); }
.offsites-route li:first-child::before { width: 9px; height: 9px; opacity: 1; }
.offsites-option-social .offsites-route li:first-child::before { background: #d3a366; }
.offsites-option-social .offsites-route li.is-key::before { width: 8px; height: 8px; opacity: .82; }
.offsites-option-work .offsites-route { gap: clamp(14px, 1.25vw, 18px); }
.offsites-option-work .offsites-route::after { position: absolute; z-index: 1; top: 0; left: 2px; width: 3px; height: 34px; background: #d3a366; content: ""; transform-origin: top; }
.offsites-option-work .offsites-route li::before { display: none; }
.offsites-route-kicker { font-family: "DM Mono", monospace; font-size: clamp(9px, .72vw, 11px); font-weight: 500; letter-spacing: .075em; line-height: 1.4; }
.offsites-route-copy { font-family: "Playfair Display", serif; font-size: clamp(17px, 1.35vw, 20px); letter-spacing: -.018em; line-height: 1.3; }
.offsites-option-work .offsites-route li.is-focus .offsites-route-kicker { color: #d3a366; }
.offsites-option-work .offsites-route li.is-focus .offsites-route-copy { font-size: clamp(18px, 1.42vw, 21px); }
.offsites-central-photo { position: relative; min-width: 0; height: 100%; margin: 0; overflow: hidden; background: #d5c5b5; }
.offsites-central-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transition: opacity 320ms cubic-bezier(.22, 1, .36, 1); }
.offsites-central-photo img.is-active { opacity: 1; }
.offsites-gutter { background: var(--saboa-cream); }
.offsites-mobile-photo { display: none; }
.offsites-possibilities[data-active-option="social"] .offsites-option-work,
.offsites-possibilities[data-active-option="work"] .offsites-option-social { opacity: .76; }

.offsites-possibilities.has-offsites-motion .offsites-route::before,
.offsites-possibilities.has-offsites-motion .offsites-option-work .offsites-route::after { transform: scaleY(0); }
.offsites-possibilities.has-offsites-motion .offsites-route li { opacity: 0; transform: translateY(7px); }
.offsites-possibilities.has-offsites-motion.is-visible .offsites-route::before,
.offsites-possibilities.has-offsites-motion.is-visible .offsites-option-work .offsites-route::after { transform: scaleY(1); transition: transform 620ms cubic-bezier(.22, 1, .36, 1) 80ms; }
.offsites-possibilities.has-offsites-motion.is-visible .offsites-route li { opacity: 1; transform: translateY(0); transition: opacity 400ms cubic-bezier(.22, 1, .36, 1), transform 400ms cubic-bezier(.22, 1, .36, 1); }
.offsites-possibilities.has-offsites-motion.is-visible .offsites-route li:nth-child(1) { transition-delay: 100ms; }
.offsites-possibilities.has-offsites-motion.is-visible .offsites-route li:nth-child(2) { transition-delay: 155ms; }
.offsites-possibilities.has-offsites-motion.is-visible .offsites-route li:nth-child(3) { transition-delay: 210ms; }
.offsites-possibilities.has-offsites-motion.is-visible .offsites-route li:nth-child(4) { transition-delay: 265ms; }
.offsites-possibilities.has-offsites-motion.is-visible .offsites-route li:nth-child(5) { transition-delay: 320ms; }
.offsites-possibilities.has-offsites-motion.is-visible .offsites-route li:nth-child(6) { transition-delay: 375ms; }

.offsites-spaces { background: var(--saboa-cream); color: var(--saboa-brown); }
.offsites-spaces-inner { display: grid; grid-template-columns: minmax(0, 3fr) minmax(280px, 1.55fr); grid-template-areas: "gallery copy"; width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(88px, 8vw, 120px) var(--event-gutter) clamp(94px, 8.5vw, 128px); gap: clamp(64px, 7vw, 104px); align-items: center; }
.offsites-spaces-gallery { grid-area: gallery; min-width: 0; }
.offsites-spaces-frame { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: #ded7ce; }
.offsites-spaces-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transition: opacity 320ms cubic-bezier(.22, 1, .36, 1); }
.offsites-spaces-frame img.is-active { opacity: 1; }
.offsites-spaces-arrow { position: absolute; z-index: 5; top: 50%; display: flex; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #f5efe7; align-items: center; justify-content: center; font-family: "DM Sans", sans-serif; font-size: 0; line-height: 1; cursor: pointer; transform: translateY(-50%); }
.offsites-spaces-arrow[hidden] { display: none; }
.offsites-spaces-arrow::before { position: absolute; width: 38px; height: 38px; border: 1px solid rgb(245 239 231 / 22%); border-radius: 50%; background: rgb(68 47 36 / 62%); box-shadow: 0 2px 8px rgb(22 15 12 / 16%); content: ""; transition: background-color 230ms ease; }
.offsites-spaces-arrow::after { position: relative; z-index: 1; width: 19px; height: 10px; margin: 0; padding: 0; background: currentColor; clip-path: polygon(0 46%, 72% 46%, 72% 10%, 100% 50%, 72% 90%, 72% 54%, 0 54%); content: ""; transition: transform 230ms cubic-bezier(.22, 1, .36, 1); }
.offsites-spaces-prev::after { transform: scaleX(-1); }
.offsites-spaces-arrow:hover::before { background: rgb(68 47 36 / 74%); }
.offsites-spaces-prev:hover::after { transform: translateX(-2px) scaleX(-1); }
.offsites-spaces-next:hover::after { transform: translateX(2px); }
.offsites-spaces-arrow:focus-visible { outline: 1px solid rgb(245 239 231 / 78%); outline-offset: 2px; }
.offsites-spaces-prev { left: 20px; }
.offsites-spaces-next { right: 20px; }
.offsites-spaces-status { display: flex; margin: 17px 0 0; align-items: center; justify-content: space-between; font-family: "DM Mono", monospace; font-size: 10px; font-weight: 500; letter-spacing: .075em; line-height: 1.5; }
.offsites-spaces-copy { grid-area: copy; max-width: 390px; padding-bottom: 18px; }
.offsites-spaces-copy h2 { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(38px, 3.15vw, 46px); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.offsites-spaces-copy p { margin: clamp(25px, 2.6vw, 36px) 0 0; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.7; }
.offsites-spaces-rule { display: block; width: 62px; height: 1px; margin-top: clamp(25px, 2.6vw, 36px); background: currentColor; opacity: .42; }

.offsites-gastronomy { background: var(--saboa-cream); color: var(--saboa-brown); }
.offsites-gastronomy-inner { display: grid; grid-template-columns: minmax(255px, .82fr) minmax(0, 2.18fr); width: min(100%, var(--event-container-max)); margin: 0 auto; padding: 0 var(--event-gutter) clamp(92px, 8vw, 120px); gap: clamp(44px, 4vw, 58px); align-items: stretch; }
.offsites-gastronomy-copy { display: flex; min-width: 0; max-width: 330px; flex-direction: column; }
.offsites-gastronomy-copy h2 { max-width: 100%; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(38px, 3.15vw, 46px); font-weight: 400; letter-spacing: -.045em; line-height: 1; white-space: nowrap; }
.offsites-gastronomy-copy > p { max-width: 300px; margin: 25px 0 0; font-size: 16px; line-height: 1.65; }
.offsites-gastronomy-rule { display: block; width: 58px; height: 1px; margin-top: 29px; background: currentColor; opacity: .42; }
.offsites-gastronomy-list { display: flex; margin: 35px 0 0; padding: 0; flex: 1; flex-direction: column; justify-content: space-between; list-style: none; }
.offsites-gastronomy-list li { display: inline-flex; width: max-content; max-width: 100%; align-items: center; color: #4b4642; font-family: "DM Mono", monospace; font-size: 12px; font-weight: 500; letter-spacing: .075em; line-height: 1.4; outline-offset: 5px; transform: scale(1); transform-origin: left center; transition: color 250ms ease, font-weight 250ms ease, transform 250ms ease; }
.offsites-gastronomy-list li:hover,
.offsites-gastronomy-list li:focus-visible,
.offsites-gastronomy-list li.is-linked { color: var(--saboa-brown); font-weight: 700; transform: scale(1.08); }
.offsites-gastronomy-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; gap: clamp(7px, .75vw, 11px); }
.offsites-gastronomy-gallery figure { aspect-ratio: 2 / 3; margin: 0; overflow: hidden; outline-offset: 4px; }
.offsites-gastronomy-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 300ms cubic-bezier(.22, 1, .36, 1); }
.offsites-gastronomy-gallery figure.is-linked img { transform: scale(1.015); }
.offsites-gastronomy-gallery figure:nth-child(1) img { object-position: 53% center; }
.offsites-gastronomy-gallery figure:nth-child(2) img { object-position: 50% center; }
.offsites-gastronomy-gallery figure:nth-child(3) img { object-position: 53% center; }
.offsites-gastronomy-gallery figure:nth-child(4) img { object-position: 52% center; }

.offsites-team-building { background: var(--saboa-cream); color: var(--saboa-brown); }
.offsites-team-building-main { display: grid; grid-template-columns: minmax(0, .82fr) minmax(340px, 1.18fr); width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(0px, .5vw, 8px) var(--event-gutter) clamp(72px, 6.5vw, 96px); gap: clamp(64px, 7vw, 104px); align-items: start; }
.offsites-team-building-copy { display: flex; max-width: 510px; padding: 0; flex-direction: column; align-items: flex-start; }
.offsites-team-building-copy h2 { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(38px, 3.15vw, 46px); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.offsites-team-building-copy h2 br { display: none; }
.offsites-team-building-lead { max-width: 470px; margin: clamp(28px, 3vw, 42px) 0 0; font-family: "Playfair Display", serif; font-size: clamp(27px, 2.55vw, 38px); letter-spacing: -.035em; line-height: 1.15; }
.offsites-team-building-text { max-width: 430px; margin: clamp(26px, 2.4vw, 34px) 0 0; font-size: clamp(15px, 1.15vw, 17px); line-height: 1.65; }
.offsites-team-building-cta { display: inline-flex; align-items: center; gap: 24px; margin-top: clamp(32px, 3vw, 42px); padding: 0 0 10px; border-bottom: 1px solid var(--saboa-brown); color: var(--saboa-brown); font-family: "DM Mono", monospace; font-size: 12px; font-weight: 600; letter-spacing: .085em; line-height: 1.4; text-decoration: none; cursor: pointer; transition: color 230ms ease, border-color 230ms ease; }
.offsites-team-building-cta span:last-child { font-size: 20px; font-weight: 400; line-height: .7; transition: transform 230ms ease; }
.offsites-team-building-cta:hover,.offsites-team-building-cta:focus-visible { color: #11110f; border-color: #11110f; }
.offsites-team-building-cta:hover span:last-child,.offsites-team-building-cta:focus-visible span:last-child { transform: translateX(4px); }
.offsites-team-building-cta:focus-visible { outline: 1px solid var(--saboa-brown); outline-offset: 6px; }
.offsites-team-building-photo { min-width: 0; aspect-ratio: 13 / 10; margin: 0; overflow: hidden; }
.offsites-team-building-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1); transition: transform 320ms cubic-bezier(.22, 1, .36, 1); }
.offsites-team-building-photo:hover img { transform: scale(1.012); }

.offsites-closing { background: #fff; color: var(--saboa-brown); }
.offsites-closing-inner { width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(72px, 6.5vw, 94px) var(--event-gutter) clamp(62px, 5.5vw, 82px); }
.offsites-closing-overview { display: grid; grid-template-columns: minmax(0, .82fr) minmax(340px, 1.18fr); gap: clamp(64px, 7vw, 104px); align-items: start; }
.offsites-closing-statement { max-width: 470px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(26px, 2.1vw, 31px); letter-spacing: -.04em; line-height: 1.16; }
.offsites-closing-checklist { display: grid; grid-template-rows: repeat(3, auto); grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin: 0; padding: 0; column-gap: clamp(34px, 4vw, 62px); row-gap: 27px; list-style: none; }
.offsites-closing-checklist li { display: grid; grid-template-columns: 1px minmax(0, 1fr); gap: 14px; align-items: start; font-size: clamp(15px, 1.1vw, 16px); line-height: 1.55; }
.offsites-closing-checklist li span { position: relative; display: block; width: 1px; height: 24px; overflow: visible; color: transparent; font-size: 0; }
.offsites-closing-checklist li span::before { position: absolute; top: 5px; left: 0; width: 1px; height: 14px; background: var(--saboa-brown); content: ""; opacity: 1; }
.offsites-closing-checklist li span::after { content: none; }
@media (max-width: 1180px) and (min-width: 761px) {
  .offsites-composition { grid-template-columns: minmax(230px, 31fr) minmax(260px, 31fr) 22px minmax(270px, 35fr); min-height: 620px; }
  .offsites-option-inner { padding-right: 30px; padding-left: 30px; }
  .offsites-option h3 { font-size: clamp(34px, 4.2vw, 46px); }
  .offsites-route li { padding-left: 23px; font-size: 13px; }
  .offsites-spaces-inner { grid-template-columns: minmax(0, 1.85fr) minmax(250px, 1fr); gap: 48px; }
  .offsites-spaces-copy h2 { font-size: clamp(38px, 4vw, 43px); }
  .offsites-gastronomy-inner { grid-template-columns: minmax(255px, .82fr) minmax(0, 2.18fr); gap: 44px; }
  .offsites-gastronomy-copy h2 { font-size: clamp(38px, 4vw, 43px); }
  .offsites-team-building-copy h2 { font-size: clamp(38px, 4vw, 43px); }
}

@media (max-width: 980px) and (min-width: 761px) {
  .offsites-gastronomy-inner { display: flex; padding-top: 0; padding-bottom: 88px; gap: 48px; flex-direction: column; align-items: stretch; }
  .offsites-gastronomy-copy { max-width: 430px; }
  .offsites-gastronomy-gallery { gap: 10px; }
  .offsites-team-building-main { grid-template-columns: minmax(0, .9fr) minmax(300px, 1.1fr); gap: 48px; }
  .offsites-team-building-copy h2 br { display: initial; }
  .offsites-closing-overview { grid-template-columns: minmax(0, .9fr) minmax(300px, 1.1fr); gap: 48px; }
  .offsites-closing-checklist { grid-auto-flow: row; grid-template-rows: none; grid-template-columns: 1fr; row-gap: 15px; }
}

@media (max-width: 760px) {
  .event-offsites-page main { padding-top: 76px; }
  .offsites-hero { min-height: 540px; }
  .offsites-hero-image { object-position: 62% center; }
  .offsites-hero-shade { background: linear-gradient(90deg, rgb(18 14 12 / 79%) 0%, rgb(18 14 12 / 48%) 72%, rgb(18 14 12 / 12%) 100%); }
  .offsites-hero-copy { justify-content: flex-end; padding: 64px var(--event-gutter) 50px; }
  .offsites-breadcrumb { max-width: 330px; margin-bottom: 31px; font-size: 8px; }
  .offsites-hero h1 { max-width: 350px; font-size: clamp(44px, 13vw, 57px); }
  .offsites-hero-copy > .event-hero-description { max-width: 340px; margin-top: 24px; font-size: 16px; }
  .offsites-intro { padding: 64px var(--event-gutter) 76px; }
  .offsites-intro-copy { width: auto; margin: 0; }
  .offsites-intro-copy p { font-size: clamp(23px, 7vw, 29px); line-height: 1.4; }
  .offsites-intro-copy p:first-child,.offsites-intro-copy p + p { width: 100%; }
  .offsites-intro-copy p + p { margin-top: 24px; padding: 0; font-size: 16px; line-height: 1.65; }
  .offsites-possibilities-heading { padding: 0 0 14px; }
  .offsites-possibilities-heading::after { width: 36px; }
  .offsites-possibilities h2 { max-width: 300px; font-size: 13px; }
  .offsites-composition { display: block; min-height: 0; }
  .offsites-option { opacity: 1 !important; }
  .offsites-option-inner { height: auto; padding: 54px var(--event-gutter) 58px; }
  .offsites-option h3 { font-size: clamp(38px, 11vw, 48px); }
  .offsites-route { margin-top: 39px; gap: 27px; }
  .offsites-option-work .offsites-route { gap: 21px; }
  .offsites-route li { padding-left: 27px; font-size: 15px; }
  .offsites-mobile-photo { display: block; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; }
  .offsites-mobile-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
  .offsites-central-photo,.offsites-gutter { display: none; }
  .offsites-option-work .offsites-option-inner { padding-top: 62px; }
  .offsites-spaces-inner { display: flex; padding: 68px var(--event-gutter) 74px; gap: 42px; flex-direction: column; align-items: stretch; }
  .offsites-spaces-copy { max-width: 340px; padding: 0; order: 1; }
  .offsites-spaces-copy h2 { font-size: clamp(42px, 12.5vw, 52px); }
  .offsites-spaces-copy p { margin-top: 22px; font-size: 16px; line-height: 1.65; }
  .offsites-spaces-rule { width: 52px; margin-top: 24px; }
  .offsites-spaces-gallery { order: 2; }
  .offsites-spaces-frame { aspect-ratio: 4 / 3; }
  .offsites-spaces-arrow { width: 42px; height: 42px; }
  .offsites-spaces-arrow::before { width: 34px; height: 34px; }
  .offsites-spaces-arrow::after { width: 18px; height: 9px; }
  .offsites-spaces-prev { left: 10px; }
  .offsites-spaces-next { right: 10px; }
  .offsites-spaces-status { margin-top: 14px; font-size: 9px; }
  .offsites-gastronomy-inner { display: flex; padding: 0 var(--event-gutter) 76px; gap: 42px; flex-direction: column; align-items: stretch; }
  .offsites-gastronomy-copy { max-width: 340px; }
  .offsites-gastronomy-copy h2 { font-size: clamp(42px, 12.5vw, 52px); }
  .offsites-gastronomy-copy > p { margin-top: 22px; font-size: 15px; }
  .offsites-gastronomy-rule { width: 52px; margin-top: 24px; }
  .offsites-gastronomy-list { margin-top: 30px; gap: 18px; }
  .offsites-gastronomy-list li { font-size: 11px; }
  .offsites-gastronomy-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .offsites-gastronomy-gallery figure { aspect-ratio: 3 / 4; }
  .offsites-team-building-main { display: flex; padding: 0 var(--event-gutter) 68px; flex-direction: column; }
  .offsites-team-building-copy { max-width: none; padding: 0; order: 1; }
  .offsites-team-building-copy h2 { font-size: clamp(42px, 12.5vw, 52px); }
  .offsites-team-building-copy h2 br { display: initial; }
  .offsites-team-building-lead { margin-top: 28px; font-size: clamp(27px, 8vw, 34px); }
  .offsites-team-building-text { margin-top: 24px; font-size: 15px; }
  .offsites-team-building-cta { margin-top: 35px; padding-top: 0; }
  .offsites-team-building-photo { margin-top: 42px; order: 2; }
  .offsites-closing-inner { padding: 62px var(--event-gutter) 58px; }
  .offsites-closing-overview { display: block; }
  .offsites-closing-statement { max-width: 345px; font-size: clamp(26px, 7.5vw, 30px); }
  .offsites-closing-checklist { display: grid; grid-template-columns: 1fr; grid-template-rows: none; margin-top: 35px; grid-auto-flow: row; row-gap: 18px; }
  .offsites-closing-checklist li { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .offsites-option,.offsites-central-photo img,.offsites-route::before,.offsites-option-work .offsites-route::after,.offsites-route li { transition: none !important; }
  .offsites-possibilities.has-offsites-motion .offsites-route::before,
  .offsites-possibilities.has-offsites-motion .offsites-option-work .offsites-route::after { transform: none; }
  .offsites-possibilities.has-offsites-motion .offsites-route li { opacity: 1; transform: none; }
  .offsites-spaces-frame img,.offsites-spaces-arrow,.offsites-gastronomy-list li,.offsites-gastronomy-gallery img,.offsites-team-building-cta,.offsites-team-building-cta span,.offsites-team-building-photo img { transition: none; }
  .offsites-gastronomy-list li.is-linked { transform: none; }
  .offsites-gastronomy-gallery figure.is-linked img { transform: none; }
  .offsites-team-building-photo:hover img { transform: none; }
}

.event-afterworks-page { --saboa-brown: #302722; --saboa-cream: #f4f2ed; background: #fff; color: var(--saboa-brown); }
.event-afterworks-page main { padding-top: 130px; }
.afterworks-hero { position: relative; min-height: min(600px, 66vh); overflow: hidden; background: var(--saboa-brown); color: #fff; }
.afterworks-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; filter: contrast(1.035) saturate(1.02); }
.afterworks-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(18 14 12 / 70%) 0%, rgb(18 14 12 / 40%) 40%, rgb(18 14 12 / 8%) 76%, transparent 100%); }
.afterworks-hero-copy { position: relative; z-index: 1; display: flex; min-height: inherit; width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(58px, 6vw, 84px) var(--event-gutter) clamp(54px, 5.5vw, 76px); flex-direction: column; align-items: flex-start; justify-content: center; }
.afterworks-breadcrumb { display: flex; margin: 0 0 clamp(32px, 3.8vw, 52px); align-items: center; gap: 8px; font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .06em; line-height: 1.5; text-transform: uppercase; }
.afterworks-breadcrumb a { color: inherit; text-decoration: none; }
.afterworks-breadcrumb a:hover,.afterworks-breadcrumb a:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.afterworks-hero h1 { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(72px, 8vw, 118px); font-weight: 400; letter-spacing: -.055em; line-height: .88; }
.afterworks-hero-copy > .event-hero-description { margin: clamp(27px, 2.8vw, 38px) 0 0; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.25; }
.afterworks-intro { background: #fff; }
.afterworks-intro-inner { display: grid; grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(48px, 4.5vw, 66px) var(--event-gutter); gap: clamp(42px, 5vw, 72px); align-items: start; }
.afterworks-intro-inner::before { width: 1px; height: 100%; min-height: 92px; background: rgb(48 39 34 / 22%); content: ""; grid-column: 2; grid-row: 1; }
.afterworks-intro-inner p { max-width: 520px; margin: 0; font-size: clamp(15px, 1.15vw, 17px); line-height: 1.68; }
.afterworks-intro-inner p:first-child { grid-column: 1; grid-row: 1; }
.afterworks-intro-inner p:last-child { grid-column: 3; grid-row: 1; }
.afterworks-meeting { background: var(--saboa-cream); }
.afterworks-meeting-inner { width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(58px, 5.5vw, 78px) var(--event-gutter) clamp(68px, 6vw, 88px); }
.afterworks-meeting h2 { margin: 0 0 clamp(42px, 4.5vw, 62px); color: var(--saboa-brown); font-family: "DM Mono", monospace; font-size: clamp(13px, 1.05vw, 16px); font-weight: 500; letter-spacing: .28em; line-height: 1.4; text-align: center; }
.afterworks-meeting-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 3.2vw, 48px); }
.afterworks-place figure { aspect-ratio: 16 / 10; margin: 0; overflow: hidden; }
.afterworks-place img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1); transition: transform 320ms cubic-bezier(.22, 1, .36, 1); }
.afterworks-place:hover img { transform: scale(1.012); }
.afterworks-place h3 { margin: clamp(24px, 2.2vw, 31px) 0 0; font-family: "Playfair Display", serif; font-size: clamp(34px, 3.4vw, 50px); font-weight: 400; letter-spacing: -.04em; line-height: 1.05; }
.afterworks-place p { max-width: 520px; margin: 17px 0 0; font-size: clamp(15px, 1.1vw, 16px); line-height: 1.62; }
.afterworks-services { background: #f8f6f3; }
.afterworks-services-inner { width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(58px, 5.5vw, 76px) var(--event-gutter) clamp(64px, 5.8vw, 84px); }
.afterworks-services h2 { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(30px, 2.35vw, 34px); font-weight: 400; letter-spacing: -.035em; line-height: 1.12; text-align: center; }
.afterworks-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(58px, 5.5vw, 78px); column-gap: clamp(42px, 5vw, 72px); row-gap: clamp(46px, 4.5vw, 62px); }
.afterworks-services-grid article { display: grid; grid-template-columns: 1px minmax(0, 1fr); gap: 20px; align-items: start; }
.afterworks-services-grid article::before { width: 1px; height: 28px; margin-top: 2px; background: var(--saboa-brown); content: ""; transform: scaleY(.55); transform-origin: top; transition: transform 280ms cubic-bezier(.22, 1, .36, 1); }
.afterworks-services-grid h3 { margin: 0; color: #4b4642; font-family: "DM Mono", monospace; font-size: 11px; font-weight: 500; letter-spacing: .14em; line-height: 1.45; transition: color 280ms ease; }
.afterworks-services-grid p { max-width: 260px; margin: 12px 0 0; font-size: 15px; line-height: 1.55; }
.afterworks-services-grid article:hover::before { transform: scaleY(1); }
.afterworks-services-grid article:hover h3 { color: var(--saboa-brown); }
.afterworks-cta { background: #fff; }

@media (max-width: 760px) {
  .event-afterworks-page main { padding-top: 76px; }
  .afterworks-hero { min-height: 520px; }
  .afterworks-hero-image { object-position: 52% center; }
  .afterworks-hero-shade { background: linear-gradient(90deg, rgb(18 14 12 / 73%) 0%, rgb(18 14 12 / 37%) 76%, rgb(18 14 12 / 12%) 100%); }
  .afterworks-hero-copy { justify-content: flex-end; padding: 62px var(--event-gutter) 50px; }
  .afterworks-breadcrumb { margin-bottom: 34px; font-size: 9px; }
  .afterworks-hero h1 { font-size: clamp(58px, 19vw, 82px); }
  .afterworks-hero-copy > .event-hero-description { margin-top: 24px; font-size: clamp(22px, 6.7vw, 28px); }
  .afterworks-intro-inner { display: block; padding: 46px var(--event-gutter) 50px; }
  .afterworks-intro-inner::before { display: none; }
  .afterworks-intro-inner p { font-size: 15px; }
  .afterworks-intro-inner p + p { margin-top: 27px; }
  .afterworks-meeting-inner { padding: 54px var(--event-gutter) 62px; }
  .afterworks-meeting h2 { margin-bottom: 38px; font-size: 12px; letter-spacing: .22em; }
  .afterworks-meeting-grid { grid-template-columns: 1fr; gap: 54px; }
  .afterworks-place figure { aspect-ratio: 4 / 3; }
  .afterworks-place h3 { margin-top: 22px; font-size: clamp(34px, 10vw, 43px); }
  .afterworks-place p { margin-top: 14px; font-size: 15px; }
  .afterworks-services-inner { padding: 52px var(--event-gutter) 58px; }
  .afterworks-services h2 { font-size: clamp(28px, 8.5vw, 33px); }
  .afterworks-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 48px; column-gap: 24px; row-gap: 38px; }
  .afterworks-services-grid article { gap: 14px; }
  .afterworks-services-grid p { margin-top: 9px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .afterworks-place img,.afterworks-services-grid article::before,.afterworks-services-grid h3 { transition: none; }
  .afterworks-place:hover img { transform: none; }
}

.event-jubilacions-page { --saboa-brown: #302722; --saboa-cream: #f4f2ed; background: #fff; color: var(--saboa-brown); }
.event-jubilacions-page main { padding-top: 130px; }
.jubilacions-hero { position: relative; min-height: min(610px, 67vh); overflow: hidden; background: var(--saboa-brown); color: #fff; }
.jubilacions-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.jubilacions-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(18 14 12 / 75%) 0%, rgb(18 14 12 / 54%) 31%, rgb(18 14 12 / 18%) 62%, rgb(18 14 12 / 5%) 100%); }
.jubilacions-hero-copy { position: relative; z-index: 1; display: flex; min-height: inherit; width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(58px, 6vw, 84px) var(--event-gutter) clamp(54px, 5.5vw, 76px); flex-direction: column; align-items: flex-start; justify-content: center; }
.jubilacions-breadcrumb { display: flex; margin: 0 0 clamp(34px, 4vw, 54px); align-items: center; gap: 8px; font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }
.jubilacions-breadcrumb a { color: inherit; text-decoration: none; }
.jubilacions-breadcrumb a:hover,.jubilacions-breadcrumb a:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.jubilacions-hero h1 { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(66px, 7vw, 104px); font-weight: 400; letter-spacing: -.05em; line-height: .92; }
.jubilacions-hero-copy > .event-hero-description { margin: clamp(24px, 2.5vw, 34px) 0 0; font-family: "Playfair Display", serif; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.24; }
.jubilacions-intro { background: var(--saboa-cream); }
.jubilacions-intro-inner { width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(62px, 6vw, 84px) var(--event-gutter) clamp(34px, 3.2vw, 46px); }
.jubilacions-intro p { max-width: 790px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(25px, 2.25vw, 34px); letter-spacing: -.025em; line-height: 1.38; }
.jubilacions-moment { background: var(--saboa-cream); }
.jubilacions-moment-inner { width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(36px, 3.4vw, 48px) var(--event-gutter) clamp(46px, 4.2vw, 60px); }
.jubilacions-moment h2 { display: flex; margin: 0 0 clamp(40px, 4vw, 56px); align-items: center; gap: clamp(26px, 3.5vw, 50px); color: var(--saboa-brown); font-family: "DM Mono", monospace; font-size: clamp(13px, 1.05vw, 16px); font-weight: 500; letter-spacing: .26em; line-height: 1.4; white-space: nowrap; }
.jubilacions-moment h2::after { height: 1px; max-width: 72%; background: rgb(48 39 34 / 16%); content: ""; flex: 1; }
.jubilacions-moment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 2.5vw, 38px); align-items: start; }
.jubilacions-moment-item figure { aspect-ratio: 1 / .91; margin: 0; overflow: hidden; }
.jubilacions-moment-item img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1); transition: transform 320ms cubic-bezier(.22, 1, .36, 1); }
.jubilacions-moment-item:hover img { transform: scale(1.012); }
.jubilacions-moment-item h3 { margin: clamp(21px, 2vw, 27px) 0 0; font-family: "DM Mono", monospace; font-size: clamp(12px, 1vw, 14px); font-weight: 500; letter-spacing: .04em; line-height: 1.45; }
.jubilacions-moment-item p { max-width: 390px; margin: 13px 0 0; font-size: clamp(15px, 1.05vw, 16px); line-height: 1.58; }
.jubilacions-services { background: var(--saboa-cream); }
.jubilacions-services-inner { width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(32px, 3vw, 44px) var(--event-gutter) clamp(76px, 7vw, 102px); }
.jubilacions-services h2 { display: flex; margin: 0; align-items: center; gap: clamp(26px, 3.5vw, 50px); font-family: "DM Mono", monospace; font-size: clamp(13px, 1.05vw, 16px); font-weight: 500; letter-spacing: .26em; line-height: 1.4; white-space: nowrap; }
.jubilacions-services h2::after { height: 1px; max-width: 72%; background: rgb(48 39 34 / 16%); content: ""; flex: 1; }
.jubilacions-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(52px, 5vw, 72px); column-gap: clamp(42px, 5vw, 72px); row-gap: clamp(44px, 4.2vw, 58px); }
.jubilacions-services-grid article { display: grid; grid-template-columns: 1px minmax(0, 1fr); gap: 20px; align-items: start; }
.jubilacions-services-grid article::before { width: 1px; height: 30px; margin-top: 2px; background: var(--saboa-brown); content: ""; transform: scaleY(.5); transform-origin: top; transition: transform 280ms cubic-bezier(.22, 1, .36, 1); }
.jubilacions-services-grid h3 { margin: 0; color: #4b4642; font-family: "DM Mono", monospace; font-size: 11px; font-weight: 500; letter-spacing: .14em; line-height: 1.45; transition: color 280ms ease; }
.jubilacions-services-grid p { max-width: 300px; margin: 12px 0 0; font-size: 15px; line-height: 1.55; }
.jubilacions-services-grid article:hover::before { transform: scaleY(1); }
.jubilacions-services-grid article:hover h3 { color: var(--saboa-brown); }
.jubilacions-cta { background: #fff; }

@media (max-width: 980px) and (min-width: 761px) {
  .jubilacions-moment-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .jubilacions-moment-item h3 { font-size: 12px; }
  .jubilacions-moment-item p { font-size: 14px; }
  .jubilacions-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 42px; }
}

@media (max-width: 760px) {
  .event-jubilacions-page main { padding-top: 76px; }
  .jubilacions-hero { min-height: 520px; }
  .jubilacions-hero-image { object-position: 62% center; }
  .jubilacions-hero-shade { background: linear-gradient(90deg, rgb(18 14 12 / 76%) 0%, rgb(18 14 12 / 50%) 70%, rgb(18 14 12 / 20%) 100%); }
  .jubilacions-hero-copy { justify-content: flex-end; padding: 62px var(--event-gutter) 50px; }
  .jubilacions-breadcrumb { margin-bottom: 32px; font-size: 9px; }
  .jubilacions-hero h1 { font-size: clamp(48px, 15vw, 68px); }
  .jubilacions-hero-copy > .event-hero-description { max-width: 310px; margin-top: 22px; font-size: clamp(21px, 6.4vw, 27px); }
  .jubilacions-intro-inner { padding: 50px var(--event-gutter) 30px; }
  .jubilacions-intro p { font-size: clamp(23px, 7vw, 29px); line-height: 1.4; }
  .jubilacions-moment-inner { padding: 30px var(--event-gutter) 38px; }
  .jubilacions-moment h2 { margin-bottom: 36px; gap: 18px; font-size: 11px; letter-spacing: .2em; white-space: normal; }
  .jubilacions-moment-grid { gap: 48px; }
  .jubilacions-moment-item { display: block; }
  .jubilacions-moment-item figure { aspect-ratio: 1 / .91; }
  .jubilacions-moment-item h3 { margin-top: 20px; font-size: 12px; }
  .jubilacions-moment-item p { margin-top: 11px; font-size: 15px; }
  .jubilacions-services-inner { padding: 28px var(--event-gutter) 64px; }
  .jubilacions-services h2 { gap: 18px; font-size: 11px; letter-spacing: .2em; white-space: normal; }
  .jubilacions-services-grid { grid-template-columns: 1fr; margin-top: 42px; row-gap: 34px; }
  .jubilacions-services-grid article { gap: 15px; }
  .jubilacions-services-grid p { margin-top: 9px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .jubilacions-moment-item img,.jubilacions-services-grid article::before,.jubilacions-services-grid h3 { transition: none; }
  .jubilacions-moment-item:hover img { transform: none; }
}

/* Vaixell víking: la mateixa jerarquia de galeria que MasterChef. */
.vaixell-viking-page .activity-hero-image {
  background: transparent;
}

.vaixell-viking-page .activity-hero-image .vaixell-viking-hero-photo {
  object-fit: contain;
  object-position: center;
}

.vaixell-viking-card-photo {
  object-position: center 58%;
}

.construccio-cotxes-card-photo {
  object-position: center 64%;
}

.bicicletes-solidaries-card-photo {
  object-position: center 66%;
}

@media (min-width: 1024px) {
  .vaixell-viking-page .activity-hero--compact {
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  }

  .vaixell-viking-page .activity-hero--compact .activity-hero-copy {
    max-width: 43rem;
  }

  .vaixell-viking-page .activity-hero--compact h1 {
    font-size: clamp(4rem, 5.35vw, 5.75rem);
    white-space: nowrap;
  }
}

.vaixell-viking-page .vaixell-viking-gallery .activity-gallery-grid figure:first-child img {
  object-fit: contain;
  object-position: center 43%;
}

.vaixell-viking-page .vaixell-viking-gallery .activity-gallery-grid figure:first-child {
  background: transparent;
}

.vaixell-viking-page .masterchef-experience .vaixell-viking-gallery {
  width: 100%;
  padding: clamp(2.5rem, 4.5vw, 4rem) 0 0;
  background: transparent;
}

.vaixell-viking-page .vaixell-viking-gallery .activity-gallery-grid figure:nth-child(2) img {
  object-position: 18% 43%;
}

.vaixell-viking-page .vaixell-viking-gallery .activity-gallery-grid figure:nth-child(3) img {
  object-position: 24% 48%;
}

@media (max-width: 760px) {
  .vaixell-viking-page .activity-hero--compact .activity-hero-image {
    aspect-ratio: 1.24 / 1;
  }

  .vaixell-viking-page .vaixell-viking-gallery .activity-gallery-grid figure:first-child img {
    object-position: center 45%;
  }

  .vaixell-viking-page .vaixell-viking-gallery .activity-gallery-grid figure:nth-child(2) img {
    object-position: 16% 40%;
  }

  .vaixell-viking-page .vaixell-viking-gallery .activity-gallery-grid figure:nth-child(3) img {
    object-position: 20% 48%;
  }
}

/* Construcció de cotxes: mateix sistema fotogràfic editorial de les activitats actualitzades. */
.construccio-cotxes-page .activity-hero-image .construccio-cotxes-hero-photo {
  object-position: center 68%;
}

.construccio-cotxes-page .masterchef-experience .construccio-cotxes-gallery {
  width: 100%;
  padding: clamp(2.5rem, 4.5vw, 4rem) 0 0;
  background: transparent;
}

.construccio-cotxes-page .construccio-cotxes-gallery .activity-gallery-grid figure:first-child img {
  object-position: 58% 62%;
}

.construccio-cotxes-page .construccio-cotxes-gallery .activity-gallery-grid figure:nth-child(2) img {
  object-position: center 72%;
}

.construccio-cotxes-page .construccio-cotxes-gallery .activity-gallery-grid figure:nth-child(3) img {
  object-position: 61% 63%;
}

/* Bicicletes solidàries: enquadraments del sistema fotogràfic compartit. */
.bicicletes-solidaries-page .activity-hero-image .bicicletes-solidaries-hero-photo {
  object-position: center 64%;
}

.bicicletes-solidaries-page .masterchef-experience .bicicletes-solidaries-gallery {
  width: 100%;
  padding: clamp(2.5rem, 4.5vw, 4rem) 0 0;
  background: transparent;
}

.bicicletes-solidaries-page .bicicletes-solidaries-gallery .activity-gallery-grid figure:first-child img {
  object-position: center 62%;
}

.bicicletes-solidaries-page .bicicletes-solidaries-gallery .activity-gallery-grid figure:nth-child(2) img {
  object-position: center 54%;
}

.bicicletes-solidaries-page .bicicletes-solidaries-gallery .activity-gallery-grid figure:nth-child(3) img {
  object-position: center 55%;
}

.olimpiades-card-photo {
  object-position: center 54%;
}

.olimpiades-page .olimpiades-hero-photo {
  object-position: center 60%;
}

.olimpiades-page .olimpiades-gallery .activity-gallery-grid figure:first-child {
  background: transparent;
}

.olimpiades-page .olimpiades-gallery .activity-gallery-grid figure:first-child img {
  object-fit: cover;
  object-position: center 62%;
}

.olimpiades-page .olimpiades-gallery .activity-gallery-grid figure:nth-child(2) img {
  object-position: center 52%;
}

.olimpiades-page .olimpiades-gallery .activity-gallery-grid figure:nth-child(3) img {
  object-position: center 48%;
}

@media (max-width: 760px) {
  .construccio-cotxes-page .activity-hero-image .construccio-cotxes-hero-photo {
    object-position: center 70%;
  }

  .construccio-cotxes-page .construccio-cotxes-gallery .activity-gallery-grid figure:first-child img {
    object-position: 59% 64%;
  }

  .construccio-cotxes-page .construccio-cotxes-gallery .activity-gallery-grid figure:nth-child(2) img {
    object-position: center 74%;
  }

  .construccio-cotxes-page .construccio-cotxes-gallery .activity-gallery-grid figure:nth-child(3) img {
    object-position: 63% 64%;
  }

  .bicicletes-solidaries-page .activity-hero-image .bicicletes-solidaries-hero-photo {
    object-position: center 68%;
  }

  .bicicletes-solidaries-page .bicicletes-solidaries-gallery .activity-gallery-grid figure:first-child img {
    object-position: center 64%;
  }

  .bicicletes-solidaries-page .bicicletes-solidaries-gallery .activity-gallery-grid figure:nth-child(2) img {
    object-position: center 52%;
  }

  .bicicletes-solidaries-page .bicicletes-solidaries-gallery .activity-gallery-grid figure:nth-child(3) img {
    object-position: center 53%;
  }

  .olimpiades-card-photo {
    object-position: center 52%;
  }

  .olimpiades-page .olimpiades-hero-photo {
    object-position: center 58%;
  }

  .olimpiades-page .olimpiades-gallery .activity-gallery-grid figure:first-child img {
    object-position: center 61%;
  }

  .olimpiades-page .olimpiades-gallery .activity-gallery-grid figure:nth-child(2) img {
    object-position: center 50%;
  }

  .olimpiades-page .olimpiades-gallery .activity-gallery-grid figure:nth-child(3) img {
    object-position: center 48%;
  }
}

@media (max-width: 760px) {
  .masterchef-phases {
    margin-top: 2.25rem;
  }

  .masterchef-phases > li {
    grid-template-columns: 2.875rem minmax(0, 1fr);
    gap: 0.9375rem;
    padding: 1.25rem 0;
  }

  .masterchef-phase-number {
    font-size: 2rem;
  }

  .masterchef-phases h3 {
    font-size: 1.0625rem;
  }

  .masterchef-note {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
  }

  .masterchef-experience > .masterchef-note {
    margin-top: 2.5rem;
    padding-top: 0;
  }
}


/* MasterChef: galeria editorial */
.activity-page .masterchef-experience {
  padding-bottom: clamp(2.125rem, 3.5vw, 2.875rem);
}

.activity-page .masterchef-gallery {
  padding-top: clamp(1.625rem, 3vw, 2.5rem);
  padding-bottom: clamp(3.25rem, 5vw, 4.5rem);
}

.activity-page .masterchef-gallery .activity-gallery-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.875rem, 1.7vw, 1.5rem);
}

.activity-page .masterchef-gallery .activity-gallery-grid figure {
  aspect-ratio: 1.42 / 1;
}

.activity-page .masterchef-gallery .activity-gallery-grid figure:first-child {
  grid-column: 1 / -1;
  aspect-ratio: 2.15 / 1;
}

@media (max-width: 760px) {
  .activity-page .masterchef-experience {
    padding-bottom: 2.125rem;
  }

  .activity-page .masterchef-gallery {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
  }

  .activity-page .masterchef-gallery .activity-gallery-grid {
    grid-template-columns: 1fr;
  }

  .activity-page .masterchef-gallery .activity-gallery-grid figure,
  .activity-page .masterchef-gallery .activity-gallery-grid figure:first-child {
    grid-column: auto;
    aspect-ratio: 1.3 / 1;
  }
}


/* MasterChef: microinteracció dels passos */
.masterchef-phases > li,
.masterchef-phases > li::before,
.masterchef-phase-number,
.masterchef-phases h3,
.masterchef-phases p {
  transition: transform 250ms ease, color 250ms ease, opacity 250ms ease;
}

.masterchef-phases > li {
  position: relative;
}

.masterchef-phases > li::before {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: #302722;
  content: "";
  opacity: 0;
  transform: scaleX(0.985);
  transform-origin: left center;
}

.masterchef-phases > li:last-child::before {
  display: none;
}

.masterchef-phases > li:hover::before,
.masterchef-phases > li:focus-within::before {
  opacity: 0.32;
  transform: scaleX(1);
}

.masterchef-phases > li:hover .masterchef-phase-number,
.masterchef-phases > li:focus-within .masterchef-phase-number {
  color: rgb(48 39 34 / 72%);
  transform: scale(1.035);
}

.masterchef-phases > li:hover h3,
.masterchef-phases > li:focus-within h3 {
  transform: scale(1.03);
  transform-origin: left center;
}

.masterchef-phases > li:hover p,
.masterchef-phases > li:focus-within p {
  color: #302722;
}

@media (prefers-reduced-motion: reduce) {
  .masterchef-phases > li,
  .masterchef-phases > li::before,
  .masterchef-phase-number,
  .masterchef-phases h3,
  .masterchef-phases p {
    transition: none;
  }
}


/* MasterChef: franja d'informació pràctica */
.activity-page .masterchef-practical {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 8.2vw;
  border: 0;
  background: #302722;
  color: #f4f2ed;
}

.activity-page .masterchef-practical div,
.activity-page .masterchef-practical div:first-child,
.activity-page .masterchef-practical div:last-child {
  min-height: clamp(7.5rem, 9vw, 9.5rem);
  padding: clamp(1.625rem, 2.6vw, 2.625rem) clamp(1.75rem, 3.4vw, 4rem);
  border-left-color: rgb(244 242 237 / 14%);
}

.activity-page .masterchef-practical div:first-child {
  padding-left: 0;
  border-left: 0;
}

.activity-page .masterchef-practical div:last-child {
  padding-right: 0;
}

.activity-page .masterchef-practical p {
  color: rgb(244 242 237 / 76%);
  font-size: 0.625rem;
  letter-spacing: 0.12em;
}

.activity-page .masterchef-practical strong {
  max-width: 22rem;
  margin-top: clamp(0.75rem, 1.15vw, 1rem);
  color: #f4f2ed;
  font-size: clamp(1.7rem, 2.65vw, 2.75rem);
  line-height: 1.04;
}

.activity-page .masterchef-practical div:last-child strong {
  font-size: clamp(1.55rem, 2.35vw, 2.45rem);
}

@media (max-width: 760px) {
  .activity-page .masterchef-practical {
    margin: 0;
    padding: 0 23px;
  }

  .activity-page .masterchef-practical div,
  .activity-page .masterchef-practical div:first-child,
  .activity-page .masterchef-practical div:last-child {
    min-height: 0;
    padding: 1.25rem 0 1.375rem;
    border-top-color: rgb(244 242 237 / 14%);
    border-left: 0;
  }

  .activity-page .masterchef-practical div:first-child {
    border-top: 0;
  }

  .activity-page .masterchef-practical strong {
    margin-top: 0.625rem;
    font-size: 1.75rem;
  }
}


/* MasterChef: alineació del subtítol del hero */
.activity-page .activity-hero--compact .activity-hero-copy > p:last-child {
  margin-left: 0;
  padding-left: 0;
  text-indent: 0;
}


/* MasterChef: composició equilibrada del subtítol */
.activity-page .activity-hero--compact .activity-hero-copy > p:last-child {
  max-width: 29rem;
  text-align: left;
  text-align-last: auto;
  text-wrap: pretty;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}


/* Team Building: tancament editorial compartit */
.activity-page .activity-advice {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(15rem, 3fr);
  gap: clamp(4rem, 12vw, 12rem);
  align-items: center;
  margin: 0;
  padding: clamp(5.75rem, 9vw, 8.5rem) 8.2vw;
  background: #f4f2ed;
  color: #302722;
}

.activity-advice-copy { min-width: 0; }

.activity-page .activity-advice h2 {
  max-width: 44rem;
  font-size: clamp(2.75rem, 3.7vw, 4rem);
  line-height: .98;
}

.activity-page .activity-advice-copy > p {
  max-width: 37rem;
  margin: 1.5rem 0 0;
  color: #302722;
  font-size: clamp(1.05rem, 1.35vw, 1.25rem);
  line-height: 1.5;
}

.activity-finder-link {
  display: inline-flex;
  min-width: 0;
  justify-self: end;
  flex-direction: column;
  color: #302722;
  text-decoration: none;
}

.activity-finder-label {
  font-family: "DM Mono", monospace;
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .09em;
  line-height: 1.4;
}

.activity-finder-action {
  display: flex;
  gap: clamp(1rem, 2vw, 2rem);
  align-items: baseline;
  margin-top: .55rem;
}

.activity-finder-title {
  display: grid;
  font-family: "Playfair Display", serif;
  font-size: clamp(2.65rem, 3.8vw, 4rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: 1;
}

.activity-finder-title-regular,
.activity-finder-title-italic {
  grid-area: 1 / 1;
  transition: opacity 200ms ease;
}

.activity-finder-title-italic {
  font-style: italic;
  font-weight: 500;
  opacity: 0;
}

.activity-finder-arrow {
  font-family: "DM Sans", sans-serif;
  font-size: clamp(2rem, 2.65vw, 3rem);
  font-weight: 300;
  line-height: 1;
  transition: transform 200ms ease;
}

.activity-finder-link:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: .5rem;
}

@media (hover: hover) and (pointer: fine) {
  .activity-finder-link:hover .activity-finder-title-regular { opacity: 0; }
  .activity-finder-link:hover .activity-finder-title-italic { opacity: 1; }
  .activity-finder-link:hover .activity-finder-arrow { transform: translate(.2rem, -.2rem); }
}

.activity-page .site-footer {
  padding-top: clamp(3.5rem, 5vw, 4.5rem);
  border-top: 1px solid rgb(244 242 237 / 14%);
}

@media (max-width: 760px) {
  .activity-page .activity-advice {
    grid-template-columns: 1fr;
    gap: 3.25rem;
    padding: 4.5rem 23px 4.75rem;
  }

  .activity-page .activity-advice h2 { font-size: 2.75rem; }
  .activity-page .activity-advice-copy > p { margin-top: 1.25rem; font-size: 1.05rem; }
  .activity-finder-link { justify-self: start; }
  .activity-finder-title { font-size: 3rem; }
  .activity-finder-arrow { font-size: 2.25rem; }
  .activity-page .site-footer { padding-top: 3.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .activity-finder-title-regular,
  .activity-finder-title-italic,
  .activity-finder-arrow { transition: none; }
}


/* Targetes d'activitat: enllaç complet i hover editorial */
.gastronomy-grid > a.gastronomy-card {
  display: flex;
  min-height: 0;
  flex-direction: column;
  background: #fff;
  color: #302722;
  cursor: pointer;
  text-decoration: none;
}

.gastronomy-card-media img {
  transition: transform 250ms ease;
}

.gastronomy-card-content h3,
.gastronomy-card-cta,
.gastronomy-card-cta span {
  transition: transform 250ms ease, color 250ms ease;
}

.gastronomy-card-content h3 {
  transform-origin: left center;
}

.gastronomy-card-cta {
  display: inline-flex;
  gap: 10px;
  margin-top: auto;
  padding-top: 23px;
  color: #302722;
  font-family: "DM Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.gastronomy-card-cta span {
  font-size: 15px;
  line-height: 0.6;
}

.gastronomy-card:hover .gastronomy-card-media img,
.gastronomy-card:focus-visible .gastronomy-card-media img {
  transform: scale(1.025);
}

.gastronomy-card:hover .gastronomy-card-content h3,
.gastronomy-card:focus-visible .gastronomy-card-content h3 {
  transform: scale(1.03);
}

.gastronomy-card:hover .gastronomy-card-cta span,
.gastronomy-card:focus-visible .gastronomy-card-cta span {
  transform: translateX(4px);
}

.gastronomy-card:focus-visible {
  outline: 1px solid #302722;
  outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {
  .gastronomy-card-media img,
  .gastronomy-card-content h3,
  .gastronomy-card-cta,
  .gastronomy-card-cta span {
    transition: none;
  }
}


/* Enllaços editorials d'activitat a la home */
.team-activity-example {
  position: relative;
  display: inline-block;
  color: inherit;
  text-decoration: none;
  transition: color 220ms ease, opacity 220ms ease;
}

.team-activity-example::after {
  position: absolute;
  right: 0;
  bottom: -0.16em;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  opacity: 0;
  transform: scaleX(0.72);
  transform-origin: left center;
  transition: opacity 220ms ease, transform 220ms ease;
}

.team-activity-example:hover,
.team-activity-example:focus-visible {
  color: #302722;
  opacity: 0.78;
}

.team-activity-example:hover::after,
.team-activity-example:focus-visible::after {
  opacity: 0.52;
  transform: scaleX(1);
}

.team-activity-example:focus-visible {
  outline: 0;
}

@media (prefers-reduced-motion: reduce) {
  .team-activity-example,
  .team-activity-example::after {
    transition: none;
  }
}


/* Taller de tapes: enquadrament del hero */
.taller-de-tapes-page .activity-hero-image img {
  object-position: center 46%;
}

.taller-de-tapes-page .masterchef-gallery figure:first-child img {
  object-position: center 55%;
}

.taller-de-tapes-page .masterchef-gallery figure:nth-child(2) img {
  object-position: center 36%;
}

.taller-de-tapes-page .masterchef-gallery figure:nth-child(3) img {
  object-position: center 56%;
}

@media (max-width: 760px) {
  .taller-de-tapes-page .activity-hero-image img {
    object-position: center 48%;
  }

  .taller-de-tapes-page .masterchef-gallery figure:first-child img {
    object-position: center 54%;
  }

  .taller-de-tapes-page .masterchef-gallery figure:nth-child(2) img {
    object-position: center 34%;
  }

  .taller-de-tapes-page .masterchef-gallery figure:nth-child(3) img {
    object-position: center 55%;
  }
}


/* Taller de còctels: composició editorial de la galeria */
.taller-de-coctels-page .activity-hero-image img {
  object-position: center 42%;
}

.taller-de-coctels-page .masterchef-experience .cocktails-gallery {
  padding: clamp(2rem, 3.5vw, 2.875rem) 0 clamp(2.25rem, 4vw, 3.25rem);
}

.taller-de-coctels-page .masterchef-experience .cocktails-gallery .activity-gallery-grid figure:first-child img {
  object-position: center 44%;
}

.taller-de-coctels-page .masterchef-experience .cocktails-gallery .activity-gallery-grid figure:nth-child(2) img {
  object-position: center 48%;
}

.taller-de-coctels-page .masterchef-experience .cocktails-gallery .activity-gallery-grid figure:nth-child(3) img {
  object-position: center 60%;
}

@media (max-width: 760px) {
  .taller-de-coctels-page .activity-hero-image img {
    object-position: center 40%;
  }

  .taller-de-coctels-page .masterchef-experience .cocktails-gallery {
    padding: 1.75rem 0 2.25rem;
  }
}


.tast-de-vins-page .masterchef-note li strong,
.tast-de-cerveses-page .masterchef-note li strong {
  display: block;
  color: #302722;
  font-weight: 500;
}

.tast-de-vins-page .masterchef-note li span,
.tast-de-cerveses-page .masterchef-note li span {
  display: block;
  margin-top: 0.125rem;
}

/* Gastronomia: enquadrament exclusiu de la targeta Taller de còctels */
.gastronomy-card .coctels-card-image {
  object-position: center 43%;
}

@media (max-width: 760px) {
  .gastronomy-card .coctels-card-image {
    object-position: center 46%;
  }
}

/* Gastronomia: enquadrament exclusiu de la targeta MasterChef */
.gastronomy-card .masterchef-card-image {
  object-position: center 54%;
}

@media (max-width: 760px) {
  .gastronomy-card .masterchef-card-image {
    object-position: center 52%;
  }
}

/* Gastronomia: enquadrament exclusiu de la targeta Taller de paelles */
.gastronomy-card .paelles-card-image {
  object-position: center 52%;
}

@media (max-width: 760px) {
  .gastronomy-card .paelles-card-image {
    object-position: center 50%;
  }
}

/* Taller de paelles: enquadrament del hero */
.taller-de-paelles-page .activity-hero-image img {
  object-position: center 50%;
}

@media (max-width: 760px) {
  .taller-de-paelles-page .activity-hero-image img {
    object-position: center 48%;
  }
}

/* Tast de cerveses: enquadrament del hero */
.tast-de-cerveses-page .activity-hero-image img {
  object-position: center 48%;
}

@media (max-width: 760px) {
  .tast-de-cerveses-page .activity-hero-image img {
    object-position: center 46%;
  }
}

/* Gastronomia: enquadrament exclusiu de la targeta Tast de vins */
.gastronomy-card .vins-card-image {
  object-position: center 52%;
}

@media (max-width: 760px) {
  .gastronomy-card .vins-card-image {
    object-position: center 50%;
  }
}

/* Gastronomia: enquadrament exclusiu de la targeta Tast de cerveses */
.gastronomy-card .cerveses-card-image {
  object-position: center 50%;
}

/* Gastronomia: enquadrament exclusiu de la targeta Taller de tapes */
.gastronomy-card .tapes-card-image {
  object-position: center 50%;
}

/* Tast de vins: galeria editorial ordenada */
.tast-de-vins-page .activity-hero-image img {
  object-position: center 58%;
}

@media (max-width: 760px) {
  .tast-de-vins-page .activity-hero-image img {
    object-position: center 60%;
  }
}
/* Gastronomia: enquadrament exclusiu de la nova fotografia del hero. */
.category-page .gastronomy-hero-image img {
  object-position: center 48%;
}

@media (max-width: 760px) {
  .category-page .gastronomy-hero-image img {
    object-position: center 50%;
  }
}
/* Índexs de categoria: gest editorial més contingut. */
.category-page .gastronomia-section-count,
.category-page .creativitat-section-count {
  font-size: clamp(74px, 8vw, 120px);
}

@media (max-width: 760px) {
  .category-page .gastronomia-section-count,
  .category-page .creativitat-section-count {
    font-size: clamp(58px, 16.8vw, 75px);
  }
}
/* Creativitat / Pintura i vi: enquadraments de les fotografies aprovades. */
.gastronomy-hero-image .creativitat-hero-image {
  object-position: center 48%;
}
.gastronomy-hero-image .escape-category-hero-photo {
  object-position: center 52%;
}
.gastronomy-hero-image .music-category-hero-photo {
  object-position: center 52%;
}

.gastronomy-hero-image .grans-reptes-category-hero-photo {
  object-position: 52% 68%;
}

.gastronomy-card .art-wine-card-image {
  object-position: center 50%;
}

.activity-hero-image .art-wine-hero-image {
  object-position: center 50%;
}

.activity-gallery-grid .art-wine-gallery-ambient {
  object-position: center 50%;
}

@media (max-width: 760px) {
  .gastronomy-hero-image .creativitat-hero-image {
    object-position: center 45%;
  }
  .gastronomy-hero-image .escape-category-hero-photo {
    object-position: 52% center;
  }
  .gastronomy-hero-image .music-category-hero-photo {
    object-position: 42% center;
  }

  .gastronomy-hero-image .grans-reptes-category-hero-photo {
    object-position: 54% 72%;
  }

  .activity-hero-image .art-wine-hero-image {
    object-position: center 48%;
  }
}

/* Gimcanes urbanes: selecció immediata i desenvolupament compacte */
.urban-games-page {
  scroll-behavior: smooth;
}

.urban-games-choice { padding:clamp(1.5rem,2.2vw,2.25rem) 8.2vw clamp(3.5rem,4.5vw,5rem); }

.urban-games-choice > h2 {
  max-width: none;
  margin: 0 0 clamp(1.75rem,2.5vw,2.5rem);
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem,3vw,3.25rem);
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: 1;
  text-align:center;
  text-transform: uppercase;
}

.urban-games-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem,2vw,2rem);
}

.urban-game-entry { display:flex; min-width:0; flex-direction:column; color:#302722; background:#f4f2ed; }

.urban-game-surface {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1.85;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #302722;
  color: #f4f2ed;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.urban-game-surface:focus-visible { outline: 2px solid #302722; outline-offset: .4rem; }
.urban-game-front,.urban-game-back { position:absolute; inset:0; display:block; transition:opacity 260ms ease,transform 260ms ease; }
.urban-game-front { opacity:1; transform:scale(1); }
.urban-game-front img { display:block; width:100%; height:100%; object-fit:cover; }
.urban-game-entry:first-child .urban-game-front img { object-position:center 48%; }
.urban-game-front::after { position:absolute; inset:auto 0 0; height:38%; background:linear-gradient(transparent,rgb(0 0 0 / 55%)); content:""; }
.urban-game-photo-action,.urban-game-back-action { position:absolute; right:1.25rem; bottom:1.1rem; z-index:1; display:inline-flex; align-items:center; gap:.45rem; padding:.7rem .85rem; border:1px solid #f4f2ed; background:#f4f2ed; color:#302722; font-family:"DM Mono",monospace; font-size:clamp(.68rem,.75vw,.78rem); font-weight:500; letter-spacing:.065em; line-height:1; transition:background-color 180ms ease,color 180ms ease,transform 180ms ease; }
.urban-game-photo-action span,.urban-game-back-action span { display:inline-block; font-size:1.05em; transition:transform 180ms ease; }
.urban-game-surface:hover .urban-game-photo-action,.urban-game-surface:focus-visible .urban-game-photo-action,.urban-game-surface:hover .urban-game-back-action,.urban-game-surface:focus-visible .urban-game-back-action { background:#302722; color:#f4f2ed; transform:translateY(-2px); }
.urban-game-surface:hover .urban-game-photo-action span,.urban-game-surface:focus-visible .urban-game-photo-action span { transform:rotate(90deg); }
.urban-game-surface:hover .urban-game-back-action span,.urban-game-surface:focus-visible .urban-game-back-action span { transform:rotate(-90deg); }
.urban-game-back { display:flex; flex-direction:column; gap:clamp(.55rem,1vw,.9rem); padding:clamp(1.25rem,2.1vw,2.1rem); overflow:auto; opacity:0; transform:scale(.985); background:#302722; }
.urban-game-back-section { display:grid; gap:.55rem; font-family:"Playfair Display",serif; font-size:clamp(.82rem,1.03vw,1rem); line-height:1.35; }
.urban-game-back-label { font-family:"DM Mono",monospace; font-size:.58rem; letter-spacing:.09em; }
.urban-game-back-history { padding-right:clamp(4.75rem,7vw,6.5rem); }
.urban-game-back-history > span:nth-child(2) { font-size:clamp(.92rem,1.18vw,1.12rem); line-height:1.32; }
.urban-game-back-history > span:nth-child(3) { font-size:clamp(.74rem,.9vw,.88rem); line-height:1.4; opacity:.78; }
.urban-game-back-secondary { gap:.35rem; margin-top:clamp(.35rem,.8vw,.7rem); }
.urban-game-back-action { top:clamp(1rem,1.6vw,1.4rem); right:clamp(1rem,1.6vw,1.4rem); bottom:auto; padding:.5rem .6rem; border-color:rgb(244 242 237 / 55%); background:transparent; color:#f4f2ed; font-size:clamp(.56rem,.62vw,.64rem); }
.urban-game-back-highlight { font-family:"Playfair Display",serif; font-size:clamp(1rem,1.35vw,1.35rem); font-style:italic; line-height:1.2; }
.urban-game-back-concepts,.urban-game-back-meta { font-family:"DM Mono",monospace; font-size:clamp(.52rem,.63vw,.62rem); letter-spacing:.055em; line-height:1.5; }
.urban-game-back-concepts { margin-top:auto; padding-top:.75rem; border-top:1px solid rgb(244 242 237 / 22%); }
.urban-game-back-meta { padding-right:5rem; opacity:.75; }
.urban-game-surface.is-revealed .urban-game-front { opacity:0; transform:scale(1.015); }
.urban-game-surface.is-revealed .urban-game-back { opacity:1; transform:scale(1); }

.urban-game-number {
  margin: 0 0 .55rem;
  font-family: "DM Mono", monospace;
  font-size: .7rem;
  letter-spacing: .08em;
}

.urban-game-entry h3 {
  margin: 0;
  font-family: "Playfair Display", serif;
  font-size: clamp(1.8rem,2.4vw,2.75rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .98;
  text-transform: uppercase;
}

.urban-game-deck {
  max-width: 31rem;
  margin: .8rem 0 0;
  font-size: clamp(.9rem,1.05vw,1.05rem);
  line-height: 1.42;
}

.urban-game-info { min-height:clamp(9.5rem,12vw,11rem); padding:clamp(1.15rem,1.7vw,1.6rem); border-right:1px solid #3027221f; border-left:1px solid #3027221f; }

.urban-game-meta {
  margin: 0;
  padding:.9rem clamp(1rem,1.5vw,1.4rem);
  background:#302722;
  color:#f4f2ed;
  font-family: "DM Mono", monospace;
  font-size:clamp(.52rem,.62vw,.64rem);
  letter-spacing: .045em;
  line-height:1.35;
  white-space:nowrap;
  text-transform:uppercase;
}

.urban-game-meta span {
  margin: 0 .35rem;
  opacity: .45;
}

@media (prefers-reduced-motion: reduce) {
  .urban-game-front,.urban-game-back,.urban-game-photo-action,.urban-game-back-action,.urban-game-photo-action span,.urban-game-back-action span { transition:none; }
  .urban-game-surface:hover .urban-game-photo-action,.urban-game-surface:focus-visible .urban-game-photo-action,.urban-game-surface:hover .urban-game-back-action,.urban-game-surface:focus-visible .urban-game-back-action,.urban-game-surface:hover .urban-game-photo-action span,.urban-game-surface:focus-visible .urban-game-photo-action span,.urban-game-surface:hover .urban-game-back-action span,.urban-game-surface:focus-visible .urban-game-back-action span { transform:none; }
}

@media (max-width: 760px) {
  .urban-games-choice {
    padding: 2rem 23px 4rem;
  }

  .urban-games-choice > h2 {
    margin-bottom:1.75rem;
    font-size:clamp(2.15rem,10.5vw,3.15rem);
    line-height:.95;
  }

  .urban-games-choice-grid {
    grid-template-columns: 1fr;
    gap:2.25rem;
  }

  .urban-game-surface {
    aspect-ratio:1.4;
  }

  .urban-game-photo-action,.urban-game-back-action { right:.9rem; bottom:.85rem; padding:.65rem .75rem; font-size:.68rem; }

  .urban-game-entry h3 {
    font-size:2.25rem;
  }

  .urban-game-info { min-height:0; padding:1.2rem 1.1rem 1.3rem; }
  .urban-game-meta { padding:.85rem 1.1rem; font-size:.55rem; white-space:normal; }

  .urban-game-back { gap:.55rem; padding:1.15rem; }
  .urban-game-back-section { font-size:clamp(.74rem,3.25vw,.9rem); line-height:1.28; }
  .urban-game-back-history { padding-right:4.4rem; }
  .urban-game-back-history > span:nth-child(2) { font-size:clamp(.84rem,3.6vw,.98rem); }
  .urban-game-back-history > span:nth-child(3) { font-size:clamp(.7rem,3vw,.82rem); }
  .urban-game-back-secondary { gap:.3rem; margin-top:.35rem; }
  .urban-game-back-action { top:.8rem; right:.8rem; bottom:auto; padding:.45rem .5rem; font-size:.55rem; }
  .urban-game-back-highlight { font-size:1rem; }
  .urban-game-back-concepts,.urban-game-back-meta { font-size:.5rem; }
}

/* Pintura i vi: aclariment secundari de la ubicació. */
.art-wine-location-note {
  display: block;
  margin-top: 6px;
  font-family: "DM Sans", sans-serif;
  font-size: 0.46em;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
}

/* Taller de màgia: jerarquia interna del titular del hero. */
.magic-title-subtitle {
  display: block;
  margin-top: 0.18em;
  font: inherit;
  font-size: 0.55em;
  letter-spacing: -0.045em;
  line-height: 1.05;
}
@media (min-width: 900px) {
  .magic-title-subtitle {
    white-space: nowrap;
  }
}
@media (max-width: 760px) {
  .magic-title-subtitle {
    margin-top: 0.22em;
    font-size: 0.55em;
    white-space: nowrap;
  }
}

/* Taller de màgia: enquadrament de les fotografies. */
.magic-hero-photo {
  object-position: center 48%;
}
.magic-final-photo {
  object-position: 58% center;
}
@media (max-width: 760px) {
  .magic-hero-photo {
    object-position: center 46%;
  }
  .magic-final-photo {
    object-position: 60% center;
  }
}

/* Taller de màgia: enquadrament de la imatge de targeta. */
.gastronomy-card-media .magic-card-image {
  object-position: center 58%;
}

/* Taller de ceràmica: enquadrament de les fotografies. */
.gastronomy-card-media .ceramics-card-photo {
  object-position: 66% center;
}
.ceramics-hero-photo {
  object-position: center 66%;
}
.ceramics-panorama-photo {
  object-position: center 58%;
}
.ceramics-handle-photo {
  object-position: center 55%;
}
.ceramics-studio-photo {
  object-position: center 45%;
}

/* Creativitat: manté el breadcrumb en una capa estable des de la càrrega inicial. */
.creativity-activity-page .activity-breadcrumb {
  position: relative;
  z-index: 1;
  overflow: visible;
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* Batucada: enquadrament narratiu de les quatre fotografies. */
.gastronomy-card-media .batucada-card-photo {
  object-position: center 52%;
}
.gastronomy-card-media .body-percussion-card-photo {
  object-position: center 48%;
}
.gastronomy-card-media .haka-card-photo {
  object-position: center 48%;
}
.gastronomy-card-media .music-bingo-card-photo {
  object-position: center 51%;
}
.gastronomy-card-media .escape-box-card-photo {
  object-position: center 56%;
}
.batucada-hero-photo {
  object-position: center 48%;
}
.batucada-circle-photo {
  object-position: center center;
}
.batucada-detail-photo {
  object-position: center center;
}
.batucada-final-photo {
  object-position: center 45%;
}

/* Percussió corporal: gestos i grups visibles en tots els formats. */
.body-percussion-hero-photo {
  object-position: center 46%;
}
.body-percussion-hands-photo {
  object-position: center center;
}
.body-percussion-movement-photo {
  object-position: center 48%;
}
.body-percussion-circle-photo {
  object-position: center 52%;
}

/* Haka: cares, braços i expressió preservats en cada retall. */
.haka-hero-photo {
  object-position: center 48%;
}
.haka-woman-photo {
  object-position: 54% center;
}
.haka-circle-photo {
  object-position: center center;
}
.haka-final-photo {
  object-position: 48% center;
}

/* Bingo musical: participants, cartrons i cartolina visibles en cada retall. */
.music-bingo-hero-photo {
  object-position: center 52%;
}
.music-bingo-cards-photo {
  object-position: center center;
}
.music-bingo-singer-photo {
  object-position: center 48%;
}
.music-bingo-poster-photo {
  object-position: center center;
}

/* Escape Box: caixa, tauletes i equips preservats en cada enquadrament. */
.escape-box-hero-photo {
  object-position: center 55%;
}
.escape-box-setup-photo {
  object-position: center 54%;
}
.escape-box-teams-photo {
  object-position: center 48%;
}
.escape-box-solving-photo {
  object-position: center 50%;
}
@media (max-width: 760px) {
  .gastronomy-card-media .batucada-card-photo {
    object-position: center 50%;
  }
  .gastronomy-card-media .body-percussion-card-photo {
    object-position: center 46%;
  }
  .gastronomy-card-media .haka-card-photo {
    object-position: center 47%;
  }
  .gastronomy-card-media .music-bingo-card-photo {
    object-position: center 50%;
  }
  .gastronomy-card-media .escape-box-card-photo {
    object-position: 52% center;
  }
  .batucada-hero-photo {
    object-position: 48% center;
  }
  .batucada-circle-photo {
    object-position: center center;
  }
  .batucada-detail-photo {
    object-position: 45% center;
  }
  .batucada-final-photo {
    object-position: center 44%;
  }
  .body-percussion-hero-photo {
    object-position: center 44%;
  }
  .body-percussion-hands-photo {
    object-position: 46% center;
  }
  .body-percussion-movement-photo {
    object-position: center 46%;
  }
  .body-percussion-circle-photo {
    object-position: center 50%;
  }
  .haka-hero-photo {
    object-position: center 47%;
  }
  .haka-woman-photo {
    object-position: 55% center;
  }
  .haka-circle-photo {
    object-position: center center;
  }
  .haka-final-photo {
    object-position: 48% center;
  }
  .music-bingo-hero-photo {
    object-position: center 50%;
  }
  .music-bingo-cards-photo {
    object-position: center center;
  }
  .music-bingo-singer-photo {
    object-position: 48% center;
  }
  .music-bingo-poster-photo {
    object-position: center center;
  }
  .escape-box-hero-photo {
    object-position: center 54%;
  }
  .escape-box-setup-photo {
    object-position: center 52%;
  }
  .escape-box-teams-photo {
    object-position: center 44%;
  }
  .escape-box-solving-photo {
    object-position: center 48%;
  }
  .gastronomy-card-media .ceramics-card-photo {
    object-position: 68% center;
  }
  .ceramics-hero-photo {
    object-position: center 64%;
  }
  .ceramics-panorama-photo {
    object-position: center 58%;
  }
  .ceramics-handle-photo {
    object-position: center 54%;
  }
  .ceramics-studio-photo {
    object-position: center 44%;
  }
}

/* Dinàmiques de grup: hero amb els dos equips i l’espai de joc centrats. */
.dinamiques-grup-page .dinamiques-grup-hero-photo {
  object-fit: cover;
  object-position: center 50%;
}

@media (max-width: 760px) {
  .dinamiques-grup-page .dinamiques-grup-hero-photo {
    object-position: center 50%;
  }
}

/* Cohesió grupal: seqüència fotogràfica i enquadraments */
.cohesio-grupal-card-photo,
.cohesio-grupal-page .cohesio-grupal-hero-photo,
.cohesio-grupal-page .cohesio-grupal-gallery img {
  object-fit: cover;
}

.cohesio-grupal-card-photo {
  object-position: center 48%;
}

.cohesio-grupal-page .cohesio-grupal-hero-photo {
  object-position: center 55%;
}

.cohesio-grupal-page .cohesio-grupal-gallery .activity-gallery-grid figure:first-child img {
  object-position: center 50%;
}

.cohesio-grupal-page .cohesio-grupal-gallery .activity-gallery-grid figure:nth-child(2) img {
  object-position: center 48%;
}

.cohesio-grupal-page .cohesio-grupal-gallery .activity-gallery-grid figure:nth-child(3) img {
  object-position: center 50%;
}

@media (max-width: 760px) {
  .cohesio-grupal-card-photo {
    object-position: center 46%;
  }

  .cohesio-grupal-page .cohesio-grupal-hero-photo {
    object-position: center 54%;
  }

  .cohesio-grupal-page .cohesio-grupal-gallery .activity-gallery-grid figure:first-child img {
    object-position: center 48%;
  }

  .cohesio-grupal-page .cohesio-grupal-gallery .activity-gallery-grid figure:nth-child(2) img {
    object-position: center 46%;
  }

  .cohesio-grupal-page .cohesio-grupal-gallery .activity-gallery-grid figure:nth-child(3) img {
    object-position: center 50%;
  }
}

/* Briefing editorial */
.briefing-page {
  background: #f4f2ed;
  color: var(--ink);
}

.briefing-main {
  padding: clamp(10.25rem, 11.5vw, 11.5rem) clamp(1.25rem, 5vw, 5rem) clamp(5rem, 8vw, 7rem);
}

.briefing-intro,
.briefing-form {
  width: min(1180px, 100%);
  margin-inline: auto;
}

.briefing-intro {
  margin-bottom: clamp(2.75rem, 3.5vw, 4rem);
}

.briefing-intro .eyebrow {
  margin-bottom: 0.9rem;
}

.briefing-intro h1 {
  max-width: 860px;
  margin: 0;
  font-family: "Playfair Display", serif;
  font-size: clamp(2.8rem, 3.85vw, 4.1rem);
  font-weight: 500;
  line-height: 0.94;
  letter-spacing: -0.055em;
}

.briefing-intro h1 span {
  display: block;
}

.briefing-form .briefing-section:first-child {
  margin-top: 0;
}

.briefing-section {
  display: grid;
  grid-template-columns: minmax(190px, 0.7fr) minmax(0, 2fr);
  gap: clamp(2.5rem, 7vw, 8rem);
  margin-top: clamp(3.75rem, 5vw, 5rem);
}

.briefing-section h2 {
  margin: 0;
  font-family: "DM Mono", monospace;
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.briefing-section-content {
  min-width: 0;
}

.briefing-identity {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.45rem clamp(2rem, 5vw, 5rem);
}

.briefing-field {
  display: flex;
  position: relative;
  flex-direction: column;
  gap: 0.45rem;
  color: var(--ink);
}

.briefing-field > span {
  font-family: "DM Sans", sans-serif;
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  font-weight: 500;
  line-height: 1.25;
}

.briefing-field input,
.briefing-field textarea {
  width: 100%;
  min-height: 3rem;
  padding: 0.6rem 0;
  border: 0;
  border-bottom: 1px solid rgba(47, 37, 30, 0.4);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.briefing-field textarea {
  min-height: 8.5rem;
  resize: vertical;
  line-height: 1.6;
}

.briefing-field input::placeholder,
.briefing-field textarea::placeholder {
  color: rgba(47, 37, 30, 0.42);
}

.briefing-field input:focus,
.briefing-field textarea:focus {
  border-bottom-color: #302722;
  box-shadow: inset 0 -1px 0 #302722;
}

.briefing-questions {
  display: grid;
  gap: clamp(1.8rem, 2.75vw, 2.65rem);
}

.briefing-question-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.briefing-field-date input {
  color-scheme: light;
}

.briefing-field-message > small {
  max-width: 680px;
  color: rgba(47, 37, 30, 0.7);
  font-size: 0.92rem;
  line-height: 1.55;
}

.briefing-submit-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(2rem, 5vw, 5rem);
  margin-top: clamp(2rem, 3vw, 3rem);
}

.briefing-submit-primary {
  width: min(100%, 25rem);
}

.briefing-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 20rem);
  min-height: 4.25rem;
  padding: 1rem 1.5rem;
  border: 1px solid #5a3b2d;
  border-radius: 0;
  background: transparent;
  color: #5a3b2d;
  cursor: pointer;
  font-family: "DM Mono", monospace;
  font-size: 0.82rem;
  letter-spacing: 0.075em;
  line-height: 1.2;
  text-align: left;
  transition: background-color 200ms ease, color 200ms ease;
}

.briefing-submit span {
  display: inline-block;
  margin: 0;
  transition: transform 200ms ease;
}

.briefing-submit:hover,
.briefing-submit:focus-visible {
  background: #5a3b2d;
  color: #f4f2ed;
}

.briefing-submit:hover span,
.briefing-submit:focus-visible span {
  transform: translateX(4px);
}

.briefing-submit:disabled {
  cursor: wait;
  opacity: 0.62;
}

.briefing-form-status {
  min-height: 1.5em;
  margin: 0.8rem 0 0;
  color: rgba(47, 37, 30, 0.78);
  font-family: "DM Mono", monospace;
  font-size: 0.72rem;
  letter-spacing: 0.025em;
  line-height: 1.5;
}

.briefing-form-status:empty {
  min-height: 0;
  margin: 0;
}

.briefing-form-status[data-state="error"] {
  color: #6b4939;
}

.briefing-privacy {
  max-width: 22rem;
  margin: 0.9rem 0 0;
  color: rgba(47, 37, 30, 0.66);
  font-size: 0.78rem;
  line-height: 1.5;
}

.briefing-privacy a {
  color: inherit;
  text-underline-offset: 0.2em;
}

.briefing-direct-contact {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.55;
  text-align: right;
}

.briefing-copy-email {
  display: inline-block;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #302722;
  cursor: pointer;
  font-family: inherit;
  font-size: 1.28rem;
  font-weight: 500;
  line-height: inherit;
  text-decoration: underline;
  text-underline-offset: 0.22em;
  transition: color 180ms ease, text-underline-offset 180ms ease;
}

.briefing-copy-email:hover,
.briefing-copy-email:focus-visible {
  color: #6b4939;
  text-underline-offset: 0.32em;
}

@media (max-width: 760px) {
  .briefing-main {
    padding-top: 7.25rem;
  }

  .briefing-intro {
    margin-bottom: 3rem;
  }

  .briefing-intro h1 {
    font-size: clamp(2.35rem, 9.6vw, 3.3rem);
  }

  .briefing-intro h1 span {
    display: inline;
  }

  .briefing-intro h1 span:first-child::after {
    content: " ";
  }

  .briefing-section {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    margin-top: 3.75rem;
  }

  .briefing-identity {
    grid-template-columns: 1fr;
    gap: 1.65rem;
  }

  .briefing-field {
    gap: 0.6rem;
  }

  .briefing-questions {
    gap: 2rem;
  }

  .briefing-submit-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .briefing-direct-contact {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .briefing-field input,
  .briefing-field textarea,
  .briefing-submit {
    transition: none;
  }

  .briefing-submit span {
    transition: none;
  }

  .briefing-copy-email {
    transition: none;
  }
}

/* Team Building desktop: align the category list with the interactive image. */
@media (min-width: 761px) {
  .team-category-list {
    gap: clamp(13px, 1.15vw, 18px);
    margin-top: clamp(24px, 2.25vw, 32px);
  }

  .team-category-link:hover,
  .team-category-link:focus-visible {
    transform: translateX(7px);
  }
}

/* Team Building hero: introduction, category selector, activities and image form one block. */
.editorial-service-team {
  display: block;
}

.editorial-service-team .editorial-service-copy {
  max-width: 640px;
  padding: 0;
}

.team-experience-component {
  width: 100%;
  margin-top: clamp(48px, 5vw, 76px);
}

.team-category-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.2vw, 34px) clamp(34px, 5vw, 78px);
  width: 100%;
  margin: 0;
}

.team-category-link {
  width: fit-content;
  cursor: pointer;
}

.team-category-link.is-active {
  transform: translateX(7px);
}

.team-category-link.is-active::before {
  opacity: .62;
  transform: scaleY(1);
}

.team-experience-component .team-experience-examples {
  min-height: 1.6em;
  margin: clamp(30px, 3vw, 44px) 0 clamp(18px, 1.8vw, 26px);
  opacity: 1;
  transition: opacity 240ms ease-out;
}

.team-experience-component .team-experience-examples.is-changing {
  opacity: 0;
}

.team-experience-component .team-experience-photo {
  width: 100%;
  aspect-ratio: 2.25 / 1;
}

.team-experience-component .team-all-link {
  margin-top: clamp(34px, 3.6vw, 52px);
}

@media (max-width: 760px) {
  .editorial-service-team .editorial-service-copy {
    max-width: none;
  }

  .team-experience-component {
    margin-top: 38px;
  }

  .team-category-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
    border-top: 1px solid #30272233;
  }

  .team-category-link {
    width: 100%;
    padding: 17px 0;
    font-size: clamp(17px, 4.8vw, 21px);
  }

  .team-category-link.is-active {
    transform: translateX(5px);
  }

  .team-experience-component .team-experience-examples {
    margin: 26px 0 17px;
  }

  .team-experience-component .team-experience-photo {
    aspect-ratio: 1.28 / 1;
  }

  .team-experience-component .team-all-link {
    margin-top: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .team-experience-component .team-experience-examples {
    transition: none;
  }
}

/* Team Building category mosaic: six real categories in one compact editorial composition. */
.editorial-service-team .editorial-service-copy {
  max-width: 620px;
}

.editorial-service-team .team-building-support {
  margin-top: 30px;
}

.team-category-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: clamp(255px, 24vw, 335px);
  gap: clamp(8px, .85vw, 13px);
  width: 100%;
  margin-top: clamp(42px, 4.2vw, 64px);
}

.team-category-card {
  position: relative;
  grid-column: span 6;
  overflow: hidden;
  background: #d9d5ce;
  color: #fff;
  isolation: isolate;
  cursor: pointer;
  text-decoration: none;
}

.team-category-card:nth-child(1),
.team-category-card:nth-child(4) {
  grid-column: span 7;
}

.team-category-card:nth-child(2),
.team-category-card:nth-child(3) {
  grid-column: span 5;
}

.team-category-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.001);
  transition: transform 480ms cubic-bezier(.2,.65,.3,1);
}

.team-category-shade {
  position: absolute;
  inset: auto auto 0 0;
  width: 88%;
  height: 82%;
  z-index: 1;
  background: radial-gradient(ellipse at left bottom, rgb(35 28 24 / .58) 0, rgb(35 28 24 / .25) 42%, transparent 74%);
  opacity: .7;
  transition: opacity 300ms ease;
}

.team-category-content {
  position: absolute;
  inset: auto clamp(20px, 2.1vw, 32px) clamp(20px, 2vw, 30px);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.team-category-count {
  margin-bottom: 9px;
  font-family: "DM Mono", monospace;
  font-size: 10px;
  letter-spacing: .075em;
}

.team-category-card .team-category-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  width: auto;
  color: inherit;
  font-family: "Playfair Display", serif;
  font-size: clamp(26px, 2.8vw, 43px);
  font-weight: 500;
  letter-spacing: -.052em;
  line-height: .98;
  text-decoration: none;
  transform: none;
}

.team-category-card .team-category-link::before {
  display: none;
}

.team-category-arrow {
  display: inline-block;
  font-family: "DM Sans", sans-serif;
  font-size: .62em;
  font-weight: 400;
  transition: transform 260ms ease;
}

.team-category-activities {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  max-width: min(100%, 570px);
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition: max-height 320ms ease, margin 320ms ease, opacity 240ms ease, transform 320ms ease;
}

.team-category-activities > span {
  color: inherit;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(12px, 1.05vw, 15px);
  line-height: 1.2;
  text-decoration: none;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity 210ms ease, transform 260ms ease;
}

.team-category-activities > span:nth-child(2) { transition-delay: 25ms; }
.team-category-activities > span:nth-child(3) { transition-delay: 50ms; }
.team-category-activities > span:nth-child(4) { transition-delay: 75ms; }
.team-category-activities > span:nth-child(5) { transition-delay: 100ms; }
.team-category-activities > span:nth-child(6) { transition-delay: 125ms; }

@media (hover: hover) and (pointer: fine) {
  .team-category-card:hover > img,
  .team-category-card:focus-visible > img {
    transform: scale(1.025);
  }

  .team-category-card:hover .team-category-shade,
  .team-category-card:focus-visible .team-category-shade {
    opacity: .82;
  }

  .team-category-card:hover .team-category-arrow,
  .team-category-card:focus-visible .team-category-arrow {
    transform: translateX(6px);
  }

  .team-category-card:hover .team-category-activities,
  .team-category-card:focus-visible .team-category-activities {
    max-height: 175px;
    margin-top: 15px;
    opacity: 1;
    transform: translateY(0);
  }

  .team-category-card:hover .team-category-activities > span,
  .team-category-card:focus-visible .team-category-activities > span {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 900px) {
  .team-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: clamp(240px, 40vw, 320px);
  }

  .team-category-card,
  .team-category-card:nth-child(n) {
    grid-column: span 1;
  }
}

@media (hover: none), (pointer: coarse) {
  .team-category-card.is-expanded > img {
    transform: scale(1.02);
  }

  .team-category-card.is-expanded .team-category-shade {
    opacity: .82;
  }

  .team-category-card.is-expanded .team-category-arrow {
    transform: translateX(5px);
  }

  .team-category-card.is-expanded .team-category-activities {
    max-height: 185px;
    margin-top: 14px;
    opacity: 1;
    transform: translateY(0);
  }

  .team-category-card.is-expanded .team-category-activities > span {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 600px) {
  .editorial-service-team .team-building-support {
    margin-top: 28px;
  }

  .team-category-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: min(72vw, 285px);
    margin-top: 36px;
  }

  .team-category-card .team-category-link {
    font-size: clamp(27px, 8.2vw, 36px);
  }

  .team-category-activities > span {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .team-category-card > img,
  .team-category-shade,
  .team-category-arrow,
  .team-category-activities,
  .team-category-activities > span {
    transition: none;
  }
}

/* La manera de fer: align both columns as one vertical composition. */
.manifesto-process .manifesto-copy > .manifesto-intro {
  text-align: left;
}

@media (min-width: 761px) {
  .manifesto-process .project-moments {
    align-self: start;
    height: clamp(390px, 31vw, 450px);
    margin-top: clamp(100px, 8.5vw, 128px);
  }

  .manifesto-process .project-moments li {
    position: relative;
    display: grid;
    flex: 1 1 0;
    grid-template-columns: clamp(68px, 6.4vw, 94px) minmax(0, 1fr);
    align-items: center;
    padding: 0;
    border-bottom: 0;
    transition: opacity 300ms ease;
  }

  .manifesto-process .project-moments li + li {
    padding-top: 0;
  }

  .manifesto-process .project-moments li:not(:last-child)::after,
  .manifesto-process .project-moments li:not(:last-child)::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
  }

  .manifesto-process .project-moments li:not(:last-child)::after {
    background: #f4f2ed2e;
  }

  .manifesto-process .project-moments li:not(:last-child)::before {
    z-index: 1;
    background: #f4f2ed73;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 320ms cubic-bezier(.22,.61,.36,1);
  }

  .manifesto-process .project-moments span {
    transition: opacity 300ms ease;
  }

  .manifesto-process .project-moments p {
    margin: 0;
    transition: transform 300ms cubic-bezier(.22,.61,.36,1);
  }

  .manifesto-process .project-moments li:hover span,
  .manifesto-process .project-moments li:focus-within span {
    opacity: .78;
  }

  .manifesto-process .project-moments li:hover p,
  .manifesto-process .project-moments li:focus-within p {
    transform: translateX(5px);
  }

  .manifesto-process .project-moments li:hover::before,
  .manifesto-process .project-moments li:focus-within::before {
    transform: scaleX(1);
  }

  .manifesto-process .project-moments:has(li:hover) li:not(:hover) {
    opacity: .82;
  }
}

@media (prefers-reduced-motion: reduce) {
  .manifesto-process .project-moments li,
  .manifesto-process .project-moments li::before,
  .manifesto-process .project-moments span,
  .manifesto-process .project-moments p {
    transition: none;
  }

  .manifesto-process .project-moments li:hover p,
  .manifesto-process .project-moments li:focus-within p {
    transform: none;
  }
}

/* Que fem: compact visual summary aligned exactly with the explanatory copy. */
.services-intro-body {
  display: grid;
  grid-template-columns: minmax(0, 690px) minmax(260px, 360px);
  align-items: stretch;
  gap: clamp(72px, 9vw, 150px);
  max-width: 1210px;
  margin-top: 34px;
}

.services-intro-body .services-intro-copy {
  width: 100%;
  max-width: 690px;
  margin-top: 0;
}

.services-concepts {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: min(100%, 330px);
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.services-concepts li {
  position: relative;
  display: grid;
  grid-template-columns: clamp(62px, 5.2vw, 78px) minmax(0, 1fr);
  align-items: center;
  min-height: clamp(52px, 4.8vw, 65px);
  transition: opacity 300ms ease;
}

.services-concepts li:not(:last-child)::after,
.services-concepts li:not(:last-child)::before {
  content: "";
  position: absolute;
  bottom: clamp(-18px, -1.25vw, -12px);
  left: 0;
  width: 86%;
  height: 1px;
}

.services-concepts li:not(:last-child)::after {
  background: #f4f2ed29;
}

.services-concepts li:not(:last-child)::before {
  z-index: 1;
  background: #f4f2ed70;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 300ms cubic-bezier(.22,.61,.36,1);
}

.services-concepts span {
  color: #f4f2ed;
  font-family: "Playfair Display", serif;
  font-size: clamp(50px, 4.35vw, 65px);
  font-weight: 400;
  letter-spacing: -.06em;
  line-height: .8;
  opacity: .42;
  transition: opacity 300ms ease;
}

.services-concepts p {
  margin: 0;
  color: #f4f2ed;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(15px, 1.2vw, 18px);
  letter-spacing: -.015em;
  line-height: 1.25;
  transition: transform 300ms cubic-bezier(.22,.61,.36,1);
}

@media (hover: hover) and (pointer: fine) {
  .services-concepts li:hover span {
    opacity: .66;
  }

  .services-concepts li:hover p {
    transform: translateX(4px);
  }

  .services-concepts li:hover::before {
    transform: scaleX(1);
  }

  .services-concepts:has(li:hover) li:not(:hover) {
    opacity: .86;
  }
}

@media (max-width: 760px) {
  .services-intro-body {
    display: block;
    margin-top: 27px;
  }

  .services-intro-body .services-intro-copy {
    max-width: 690px;
  }

  .services-concepts {
    width: min(100%, 330px);
    height: 230px;
    margin-top: 44px;
  }

  .services-concepts li {
    grid-template-columns: 64px minmax(0, 1fr);
    min-height: 52px;
  }

  .services-concepts li:not(:last-child)::after,
  .services-concepts li:not(:last-child)::before {
    bottom: -12px;
  }

  .services-concepts span {
    font-size: 50px;
  }

  .services-concepts p {
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .services-concepts li,
  .services-concepts li::before,
  .services-concepts span,
  .services-concepts p {
    transition: none;
  }

  .services-concepts li:hover p {
    transform: none;
  }
}

/* Events: compact Home introduction with no category index or preview media. */
.editorial-service-events { position: relative; display: block; min-height: 0; padding-top: clamp(86px, 8vw, 124px); padding-bottom: clamp(72px, 6.5vw, 102px); }
.editorial-service-events .editorial-service-copy { width: min(100%, 1280px); max-width: none; margin-inline: auto; padding: 0; }
.events-main-column { width: min(100%, 700px); }
.events-heading-block { width: 100%; margin: 0; }
.events-heading-block .service-index, .events-heading-block h2, .events-heading-block .service-events-description { margin-left: 0; }
.events-heading-block h2 { max-width: 690px; }
.events-heading-block .service-events-description { width: min(100%, 540px); margin-top: clamp(32px, 3.2vw, 46px); }
.editorial-service-events .events-editorial-note { width: max-content; max-width: 100%; margin: clamp(42px, 4vw, 58px) 0 0; font-family: "DM Mono", monospace; font-size: clamp(11px, .9vw, 13px); letter-spacing: .045em; line-height: 1.62; }
.editorial-service-events .editorial-link { margin: clamp(42px, 4vw, 58px) 0 0; }
@media (max-width: 760px) { .editorial-service-events { padding-top: 72px; padding-bottom: 66px; } .events-heading-block .service-events-description { margin-top: 30px; } .editorial-service-events .events-editorial-note, .editorial-service-events .editorial-link { margin-top: 38px; } }

/* Corporate events: four quiet, image-ready editorial cards on the Home. */
.editorial-service-events .events-main-column { width: 100%; max-width: none; }
.editorial-service-events .events-heading-block h2 { max-width: 760px; }
.services-editorial-intro { margin-bottom: 36px; }
.editorial-service-events { padding-top: 42px; }
.editorial-service-events .service-index { margin-bottom: 22px; }
.editorial-service-events .service-name { margin: 0 0 27px; font-size: clamp(30px, 3vw, 44px); }
.editorial-service-events .service-events-description { max-width: 520px; margin-top: clamp(30px, 3vw, 42px); }
.editorial-service-events .events-editorial-note { margin-top: clamp(24px, 2.5vw, 34px); }
.company-events-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.25vw, 20px); margin-top: clamp(58px, 5.5vw, 82px); }
.company-event-card { aspect-ratio: 1 / 1; min-width: 0; display: grid; grid-template-rows: 42% 58%; overflow: hidden; border: 1px solid rgba(48, 39, 34, .22); color: inherit; text-decoration: none; transition: border-color .3s ease, transform .3s ease; }
.company-event-media { display: block; min-height: 0; border-bottom: 1px solid rgba(48, 39, 34, .14); }
.company-event-body { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr auto; column-gap: 13px; min-height: 0; padding: clamp(16px, 1.55vw, 24px); }
.company-event-number { grid-column: 1; grid-row: 1; padding-top: .45em; font-family: "DM Mono", monospace; font-size: 9px; letter-spacing: .08em; }
.company-event-title { grid-column: 2; grid-row: 1; max-width: 210px; font-family: "Playfair Display", serif; font-size: clamp(20px, 1.65vw, 27px); font-weight: 500; letter-spacing: -.045em; line-height: 1.02; }
.company-event-description { grid-column: 2; grid-row: 2; align-self: end; max-width: 230px; margin-top: 14px; font-size: clamp(12px, .92vw, 14px); line-height: 1.42; }
.company-event-arrow { grid-column: 2; grid-row: 3; justify-self: end; margin-top: 10px; font-size: 18px; line-height: 1; transition: transform .3s ease; }
.company-event-card:hover, .company-event-card:focus-visible { border-color: rgba(48, 39, 34, .48); transform: translateY(-2px); }
.company-event-card:hover .company-event-arrow, .company-event-card:focus-visible .company-event-arrow { transform: translateX(5px); }
.editorial-service-events .company-events-cta { margin-top: clamp(42px, 4vw, 58px); }
@media (max-width: 1050px) { .company-events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .services-editorial-intro { margin-bottom: 24px; } .editorial-service-events { padding-top: 38px; } .editorial-service-events .service-index { margin-bottom: 19px; } .editorial-service-events .service-name { margin-bottom: 23px; font-size: 32px; } .editorial-service-events .service-events-description { margin-top: 27px; } .editorial-service-events .events-editorial-note { margin-top: 24px; } .company-events-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 46px; } .company-event-card { grid-template-rows: 40% 60%; } .company-event-body { padding: 19px; } .company-event-title { font-size: clamp(23px, 7vw, 29px); } .company-event-description { font-size: 14px; } .editorial-service-events .company-events-cta { margin-top: 38px; } }
@media (prefers-reduced-motion: reduce) { .company-event-card, .company-event-arrow { transition: none; } .company-event-card:hover, .company-event-card:focus-visible, .company-event-card:hover .company-event-arrow, .company-event-card:focus-visible .company-event-arrow { transform: none; } }

/* Home events: photographic editorial composition based on the approved mock-up. */
.editorial-service-events { padding-top: clamp(42px, 4vw, 58px); padding-bottom: clamp(44px, 4vw, 56px); }
.editorial-service-events .events-heading-block { max-width: 660px; }
.editorial-service-events .service-index { margin: 0 0 clamp(50px, 4.6vw, 68px); }
.editorial-service-events .events-heading-block h2 { max-width: 640px; margin: 0; font-size: clamp(58px, 6.15vw, 94px); line-height: .91; letter-spacing: -.058em; }
.events-home-question { margin: clamp(38px, 3.6vw, 48px) 0 0; color: var(--ink); font-family: "Playfair Display", serif; font-size: clamp(25px, 2.35vw, 35px); font-weight: 500; letter-spacing: -.04em; line-height: 1.1; }
.editorial-service-events .service-events-description { max-width: 510px; margin-top: clamp(24px, 2.2vw, 30px); font-size: clamp(16px, 1.3vw, 19px); line-height: 1.48; text-align: left; hyphens: none; word-break: normal; overflow-wrap: normal; }
.company-events-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.3vw, 20px); margin-top: clamp(46px, 4.5vw, 62px); }
.company-event-card { position: relative; isolation: isolate; display: block; aspect-ratio: 3 / 4; overflow: hidden; border: 0; border-radius: 4px; color: #f6f1ea; background: #302722; transform: none; }
.company-event-card::after { content: ""; position: absolute; z-index: 1; inset: 28% 0 0; background: linear-gradient(to bottom, transparent 0%, rgba(20, 16, 13, .22) 30%, rgba(20, 16, 13, .86) 100%); transition: opacity .38s ease; pointer-events: none; }
.company-event-media { position: absolute; inset: 0; display: block; border: 0; }
.company-event-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .42s cubic-bezier(.22,.61,.36,1); }
.company-event-card:nth-child(1) .company-event-media img { object-position: 50% 48%; }
.company-event-card:nth-child(2) .company-event-media img { object-position: 50% 39%; }
.company-event-card:nth-child(3) .company-event-media img { object-position: 50% 46%; }
.company-event-card:nth-child(4) .company-event-media img { object-position: 69% 50%; }
.company-event-body { position: absolute; z-index: 2; inset: 0; display: flex; flex-direction: column; align-items: flex-start; min-height: 0; padding: clamp(19px, 1.7vw, 27px); }
.company-event-number { margin-top: auto; padding: 0 0 11px; font-size: 10px; color: rgba(246, 241, 234, .82); }
.company-event-number::after { content: ""; display: block; width: 18px; height: 1px; margin-top: 9px; background: rgba(246, 241, 234, .8); }
.company-event-title { max-width: calc(100% - 54px); font-family: "Playfair Display", serif; font-size: clamp(23px, 1.72vw, 30px); font-weight: 400; letter-spacing: -.028em; color: inherit; line-height: 1.05; }
.company-event-description { max-width: calc(100% - 54px); max-height: 0; margin: 0; overflow: hidden; opacity: 0; transform: translateY(9px); font-size: clamp(12px, .92vw, 14px); line-height: 1.42; transition: opacity .35s ease, transform .35s ease, max-height .4s ease, margin-top .35s ease; }
.company-event-arrow { position: absolute; right: clamp(19px, 1.7vw, 27px); bottom: clamp(19px, 1.7vw, 27px); width: 18px; height: 18px; margin: 0; color: inherit; }
.company-event-arrow svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: square; stroke-linejoin: miter; }
.company-event-card:hover, .company-event-card:focus-visible { border-color: transparent; transform: none; }
.company-event-card:hover::after, .company-event-card:focus-visible::after { opacity: 1; }
.company-event-card:hover .company-event-media img, .company-event-card:focus-visible .company-event-media img { transform: scale(1.035); }
.company-event-card:hover .company-event-description, .company-event-card:focus-visible .company-event-description { max-height: 90px; margin-top: 13px; opacity: 1; transform: translateY(0); }
.events-editorial-closing { margin-top: clamp(52px, 4.8vw, 68px); }
.events-editorial-closing .events-closing-label { margin: 0 0 5px; font-family: "DM Mono", monospace; font-size: clamp(10px, .82vw, 12px); letter-spacing: .09em; line-height: 1.4; text-transform: uppercase; }
.events-editorial-closing .events-closing-statement { margin: 0; color: #302722; font-family: "DM Mono", monospace; font-size: clamp(12px, 1vw, 15px); font-weight: 600; letter-spacing: .075em; line-height: 1.35; text-transform: uppercase; }
.events-discover-link { position: relative; display: inline-flex; align-items: center; gap: 12px; margin-top: clamp(24px, 2.4vw, 34px); padding-bottom: 8px; color: var(--ink); font-family: "DM Mono", monospace; font-size: clamp(10px, .88vw, 13px); font-weight: 500; letter-spacing: .075em; line-height: 1.2; text-transform: uppercase; text-decoration: none; transition: color .3s ease; }
.events-discover-link::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: currentColor; transform-origin: left; transition: transform .3s ease; }
.events-discover-link span { transition: transform .3s ease; }
.events-discover-link:hover, .events-discover-link:focus-visible { color: var(--ink); opacity: .72; }
.events-discover-link:hover::after, .events-discover-link:focus-visible::after { transform: scaleX(1.06); }
.events-discover-link:hover span, .events-discover-link:focus-visible span { transform: translate(3px, -3px); }
@media (max-width: 1050px) { .company-events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .company-event-card { aspect-ratio: 4 / 5; } }
@media (max-width: 760px) { .company-event-card:nth-child(1) .company-event-media img { object-position: 50% 48%; } .company-event-card:nth-child(2) .company-event-media img { object-position: 50% 35%; } .company-event-card:nth-child(3) .company-event-media img { object-position: 50% 44%; } .company-event-card:nth-child(4) .company-event-media img { object-position: 67% 50%; } .editorial-service-events { padding-top: 36px; padding-bottom: 42px; } .editorial-service-events .service-index { margin-bottom: 40px; } .editorial-service-events .events-heading-block h2 { max-width: 390px; font-size: clamp(50px, 15vw, 67px); } .events-home-question { margin-top: 31px; font-size: 27px; } .editorial-service-events .service-events-description { max-width: 390px; margin-top: 21px; font-size: 17px; } .company-events-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 40px; } .company-event-card { aspect-ratio: 4 / 5; } .company-event-body { padding: 22px; } .company-event-title { max-width: calc(100% - 58px); font-size: clamp(26px, 7.5vw, 33px); } .company-event-description { max-width: calc(100% - 58px); max-height: 100px; margin-top: 13px; opacity: 1; transform: none; font-size: 14px; } .company-event-arrow { right: 22px; bottom: 22px; } .events-editorial-closing { margin-top: 38px; } }
@media (prefers-reduced-motion: reduce) { .company-event-media img, .company-event-description, .events-discover-link, .events-discover-link::after, .events-discover-link span { transition: none; } .company-event-card:hover .company-event-media img, .company-event-card:focus-visible .company-event-media img, .events-discover-link:hover span, .events-discover-link:focus-visible span { transform: none; } }

/* Sopars de Gala: estructura base de la pàgina. */
.event-gala-page { --saboa-brown: #302722; --saboa-cream: #f4f2ed; background: #fff; color: var(--saboa-brown); }
.event-gala-page main { padding-top: 130px; }
.gala-hero { position: relative; min-height: min(610px, 67vh); overflow: hidden; background: var(--saboa-brown); color: #fff; }
.gala-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 52% center; }
.gala-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(18 14 12 / 75%) 0%, rgb(18 14 12 / 54%) 31%, rgb(18 14 12 / 18%) 62%, rgb(18 14 12 / 5%) 100%); }
.gala-hero-copy { position: relative; z-index: 1; display: flex; min-height: inherit; width: min(100%, var(--event-container-max)); margin: 0 auto; padding: clamp(58px, 6vw, 84px) var(--event-gutter) clamp(54px, 5.5vw, 76px); flex-direction: column; align-items: flex-start; justify-content: center; }
.gala-breadcrumb { display: flex; margin: 0 0 clamp(34px, 4vw, 54px); align-items: center; gap: 8px; font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }
.gala-breadcrumb a { color: inherit; text-decoration: none; }
.gala-breadcrumb a:hover,.gala-breadcrumb a:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.gala-hero h1 { max-width: 760px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(60px, 6.5vw, 98px); font-weight: 400; letter-spacing: -.05em; line-height: .92; }
.gala-hero-copy > .event-hero-description { margin: clamp(24px, 2.5vw, 34px) 0 0; font-family: "Playfair Display", serif; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.24; }
.gala-formats { display: grid; width: 100%; margin: 0; padding: clamp(78px, 7vw, 108px) 0 clamp(96px, 8vw, 126px); background: var(--saboa-cream); grid-template-columns: minmax(0, var(--event-container-max)); justify-content: center; }
.gala-formats-intro { width: 100%; max-width: none; margin: 0; padding-inline: var(--event-gutter); }
.gala-formats-intro h2 { max-width: 620px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(42px, 4.5vw, 66px); font-weight: 400; letter-spacing: -.052em; line-height: .9; }
.gala-formats-intro > p { max-width: 590px; margin: clamp(18px, 1.8vw, 26px) 0 0; font-size: clamp(17px, 1.35vw, 20px); letter-spacing: -.015em; line-height: 1.45; }
.gala-format-list { display: grid; width: 100%; margin-top: clamp(18px, 2vw, 30px); padding-inline: var(--event-gutter); grid-template-columns: 1.08fr .96fr 1.08fr; gap: clamp(12px, 1.15vw, 18px); align-items: start; }
.gala-format { position: relative; min-width: 0; overflow: hidden; isolation: isolate; outline: none; }
.gala-format:nth-child(1),.gala-format:nth-child(3) { margin-top: clamp(46px, 5vw, 72px); aspect-ratio: 1.12 / 1; }
.gala-format:nth-child(2) { aspect-ratio: .78 / 1; }
.gala-format::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(180deg, transparent 46%, rgb(14 10 8 / 9%) 62%, rgb(14 10 8 / 68%) 100%); transition: background .4s ease; pointer-events: none; }
.gala-format:hover::after,.gala-format:focus-visible::after { background: linear-gradient(180deg, rgb(14 10 8 / 5%) 0%, rgb(14 10 8 / 24%) 42%, rgb(14 10 8 / 82%) 100%); }
.gala-format:focus-visible { outline: 2px solid var(--saboa-brown); outline-offset: 4px; }
.gala-format-photo { position: absolute; inset: 0; overflow: hidden; background: #d8d3cb; }
.gala-format-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gala-format:nth-child(1) .gala-format-photo img { object-position: 62% center; }
.gala-format:nth-child(2) .gala-format-photo img { object-position: 50% center; }
.gala-format:nth-child(3) .gala-format-photo img { object-position: 50% center; }
.gala-format-copy { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: flex; padding: clamp(22px, 2.2vw, 32px); flex-direction: column; justify-content: flex-end; color: #fff; pointer-events: none; }
.gala-format h3 { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(27px, 2.5vw, 38px); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.gala-format-lead,.gala-format-copy > p:last-child { max-height: 0; margin: 0; overflow: hidden; opacity: 0; transform: translateY(10px); transition: max-height .42s ease, margin .42s ease, opacity .3s ease, transform .42s ease; }
.gala-format-lead { max-width: 360px; font-family: "Playfair Display", serif; font-size: clamp(17px, 1.35vw, 20px); letter-spacing: -.02em; line-height: 1.28; }
.gala-format-copy > p:last-child { max-width: 390px; font-size: clamp(13px, .95vw, 15px); line-height: 1.5; }
.gala-format:hover .gala-format-lead,.gala-format:focus-visible .gala-format-lead { max-height: 100px; margin-top: clamp(18px, 1.8vw, 25px); opacity: 1; transform: translateY(0); }
.gala-format:hover .gala-format-copy > p:last-child,.gala-format:focus-visible .gala-format-copy > p:last-child { max-height: 120px; margin-top: clamp(12px, 1.2vw, 17px); opacity: 1; transform: translateY(0); }
.gala-surroundings { width: 100%; padding: clamp(88px, 8vw, 124px) 0 clamp(98px, 9vw, 138px); background: #fff; color: var(--saboa-brown); }
.gala-surroundings-intro,.gala-surroundings-layout { width: min(100%, var(--event-container-max)); margin-inline: auto; padding-inline: var(--event-gutter); }
.gala-surroundings-intro h2 { max-width: 760px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(34px, 3.5vw, 50px); font-weight: 400; letter-spacing: -.052em; line-height: .96; }
.gala-surroundings-intro p { max-width: 650px; margin: clamp(20px, 2vw, 28px) 0 0; font-size: clamp(17px, 1.35vw, 20px); letter-spacing: -.015em; line-height: 1.48; }
.gala-surroundings-layout { display: grid; margin-top: clamp(46px, 5vw, 72px); grid-template-columns: minmax(0, 1.72fr) minmax(300px, .78fr); gap: clamp(42px, 5vw, 78px); align-items: stretch; }
.gala-surroundings-visual { position: relative; width: min(82%, 720px); aspect-ratio: 4 / 3; justify-self: center; overflow: hidden; background: #e8e2d8; }
.gala-surroundings-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: opacity 180ms ease; }
.gala-surroundings-visual img.is-changing { opacity: .35; }
.gala-surroundings-content { display: flex; min-width: 0; flex-direction: column; justify-content: center; gap: clamp(22px, 2.2vw, 30px); }
.gala-surroundings-selector { display: grid; border-top: 1px solid rgba(47,37,31,.3); }
.gala-surroundings-selector button { position: relative; display: grid; width: 100%; min-height: 58px; padding: 13px 2px; border: 0; border-bottom: 1px solid rgba(47,37,31,.3); align-items: center; background: transparent; color: rgba(47,37,31,.5); font-family: "DM Mono", monospace; font-size: clamp(11px, .88vw, 13px); font-weight: 500; letter-spacing: .075em; line-height: 1.35; text-align: left; cursor: pointer; transition: color 180ms ease, padding-left 180ms ease; }
.gala-surroundings-selector button:hover,.gala-surroundings-selector button:focus-visible,.gala-surroundings-selector button.is-active { color: var(--saboa-brown); }
.gala-surroundings-selector button.is-active { padding-left: 18px; }
.gala-surroundings-selector button.is-active::before { position: absolute; width: 7px; height: 7px; margin-left: -18px; border-radius: 50%; background: currentColor; content: ""; }
.gala-surroundings-selector button:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
.gala-surroundings-panel { padding-top: 0; outline: none; }
.gala-surroundings-panel p { max-width: 420px; margin: 0; font-size: clamp(16px, 1.2vw, 18px); line-height: 1.58; }
.gala-themes { width: 100%; padding: clamp(92px, 8vw, 128px) 0 clamp(54px, 5vw, 72px); overflow: hidden; background: var(--saboa-cream); color: var(--saboa-brown); }
.gala-themes-inner { width: min(100%, var(--event-container-max)); margin-inline: auto; padding-inline: var(--event-gutter); }
.gala-themes-intro { display: grid; grid-template-columns: minmax(0, .92fr) minmax(340px, .78fr); column-gap: clamp(54px, 7vw, 108px); align-items: start; }
.gala-themes-intro h2 { max-width: 600px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(42px, 4.6vw, 68px); font-weight: 400; letter-spacing: -.052em; line-height: .94; }
.gala-themes-copy { max-width: 520px; padding-top: .2em; }
.gala-themes-copy p { margin: 0; font-size: clamp(16px, 1.2vw, 18px); line-height: 1.56; }
.gala-themes-copy p + p { margin-top: clamp(16px, 1.7vw, 24px); }
.gala-themes-keywords { grid-column: 1 / -1; margin: clamp(38px, 4.2vw, 60px) 0 0; font-family: "DM Mono", monospace; font-size: clamp(11px, .95vw, 14px); font-weight: 500; letter-spacing: .095em; line-height: 1.5; }
.gala-themes-moodboard { position: relative; min-height: clamp(590px, 57vw, 810px); margin-top: clamp(34px, 3.6vw, 52px); }
.gala-themes-image { position: absolute; margin: 0; overflow: hidden; background: #ddd5ca; }
.gala-themes-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.gala-themes-image-main img { object-position: 55% center; }
.gala-themes-image-secondary-one img { object-position: 43% center; }
.gala-themes-image-secondary-two img { object-position: 50% center; }
.gala-themes-image-main { top: 0; left: 20%; width: 57%; height: 79%; z-index: 1; }
.gala-themes-image-secondary-one { top: 20%; left: 0; width: 27%; height: 48%; z-index: 2; }
.gala-themes-image-secondary-two { right: 0; bottom: 0; width: 29%; height: 43%; z-index: 2; }
.gala-rhythm { width: 100%; padding: clamp(54px, 5vw, 72px) 0 clamp(84px, 7.5vw, 112px); background: var(--saboa-cream); color: var(--saboa-brown); }
.gala-rhythm-inner { display: grid; width: min(100%, var(--event-container-max)); margin-inline: auto; padding-inline: var(--event-gutter); grid-template-columns: minmax(220px, .55fr) minmax(420px, 1.45fr); gap: clamp(36px, 4.5vw, 68px); align-items: start; }
.gala-rhythm h2 { max-width: 330px; margin: 0; padding: 0; align-self: start; font-family: "Playfair Display", serif; font-size: clamp(30px, 2.6vw, 36px); font-weight: 400; letter-spacing: -.035em; line-height: 1.05; text-box-edge: cap alphabetic; text-box-trim: trim-start; }
.gala-rhythm-copy { max-width: 720px; margin: 0; padding: 0; align-self: start; }
.gala-rhythm-lead { margin: 0; padding: 0; font-family: "Playfair Display", serif; font-size: clamp(40px, 3.6vw, 50px); font-weight: 400; letter-spacing: -.04em; line-height: 1.08; text-box-edge: cap alphabetic; text-box-trim: trim-start; }
.gala-rhythm-copy > p:last-child { max-width: 650px; margin: clamp(24px, 2.5vw, 34px) 0 0; font-size: clamp(16px, 1.2vw, 18px); line-height: 1.58; }
@media (max-width: 760px) {
  .event-gala-page main { padding-top: 76px; }
  .gala-hero { min-height: 520px; }
  .gala-hero-image { object-position: 62% center; }
  .gala-hero-shade { background: linear-gradient(90deg, rgb(18 14 12 / 76%) 0%, rgb(18 14 12 / 50%) 70%, rgb(18 14 12 / 20%) 100%); }
  .gala-hero-copy { justify-content: flex-end; padding: 62px var(--event-gutter) 50px; }
  .gala-breadcrumb { margin-bottom: 32px; font-size: 9px; }
  .gala-hero h1 { max-width: 340px; font-size: clamp(48px, 14vw, 64px); }
  .gala-hero-copy > .event-hero-description { max-width: 310px; margin-top: 22px; font-size: clamp(21px, 6.4vw, 27px); }
  .gala-formats { padding: 64px var(--event-gutter) 86px; }
  .gala-formats-intro { width: 100%; max-width: 350px; padding-inline: 0; }
  .gala-formats-intro h2 { font-size: clamp(40px, 11.8vw, 48px); line-height: .92; }
  .gala-formats-intro > p { max-width: 350px; margin-top: 18px; font-size: 17px; }
  .gala-format-list { display: grid; padding-inline: 0; grid-template-columns: 1fr; gap: 18px; margin-top: 30px; }
  .gala-format:nth-child(1),.gala-format:nth-child(2),.gala-format:nth-child(3) { margin-top: 0; aspect-ratio: 4 / 5; }
  .gala-format-copy { padding: 24px 21px; }
  .gala-format h3 { font-size: clamp(29px, 8.5vw, 36px); }
  .gala-format-lead { font-size: 18px; }
  .gala-format-copy > p:last-child { font-size: 14px; }
  .gala-surroundings { padding: 70px var(--event-gutter) 86px; }
  .gala-surroundings-intro,.gala-surroundings-layout { padding-inline: 0; }
  .gala-surroundings-intro h2 { max-width: 340px; font-size: clamp(31px, 8.8vw, 37px); }
  .gala-surroundings-intro p { max-width: 350px; margin-top: 18px; font-size: 17px; }
  .gala-surroundings-layout { display: flex; margin-top: 36px; flex-direction: column; gap: 28px; }
  .gala-surroundings-visual { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 5; }
  .gala-surroundings-content { gap: 30px; }
  .gala-surroundings-selector { grid-template-columns: 1fr 1fr; }
  .gala-surroundings-selector button { min-height: 72px; padding: 15px 10px 15px 0; }
  .gala-surroundings-selector button:nth-child(odd) { border-right: 1px solid rgba(47,37,31,.3); }
  .gala-surroundings-selector button:nth-child(even) { padding-left: 14px; }
  .gala-surroundings-selector button.is-active { padding-left: 18px; }
  .gala-surroundings-selector button:nth-child(even).is-active { padding-left: 32px; }
  .gala-surroundings-panel { min-height: 150px; padding-top: 0; }
  .gala-surroundings-panel p { font-size: 16px; }
  .gala-themes { padding: 72px 23px 52px; }
  .gala-themes-inner { padding-inline: 0; }
  .gala-themes-intro { display: block; }
  .gala-themes-intro h2 { max-width: 330px; font-size: clamp(38px, 11vw, 46px); }
  .gala-themes-copy { max-width: 350px; padding-top: 22px; }
  .gala-themes-copy p { font-size: 16px; }
  .gala-themes-copy p + p { margin-top: 16px; }
  .gala-themes-keywords { max-width: 340px; margin-top: 30px; font-size: 10px; line-height: 1.7; }
  .gala-themes-moodboard { display: grid; min-height: 0; margin-top: 30px; grid-template-columns: 1.12fr .88fr; grid-template-rows: auto auto; gap: 12px; }
  .gala-themes-image { position: relative; inset: auto; width: auto; height: auto; }
  .gala-themes-image-main { grid-column: 1 / -1; aspect-ratio: 4 / 5; }
  .gala-themes-image-secondary-one { aspect-ratio: 4 / 5; }
  .gala-themes-image-secondary-two { aspect-ratio: 1 / 1.25; margin-top: 30px; }
  .gala-rhythm { padding: 46px 23px 78px; }
  .gala-rhythm-inner { display: block; padding-inline: 0; }
  .gala-rhythm h2 { max-width: 260px; font-size: 30px; }
  .gala-rhythm-copy { max-width: 350px; margin-top: 38px; }
  .gala-rhythm-lead { font-size: clamp(34px, 10vw, 40px); }
  .gala-rhythm-copy > p:last-child { margin-top: 24px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .gala-format::after,.gala-format-lead,.gala-format-copy > p:last-child,.gala-surroundings-visual img,.gala-surroundings-selector button { transition: none; } }

/* About SABOA: typographic grid using the established dark brown and cream. */
.about-page { --paper: #f4f2ed; background: #f4f2ed; color: #302722; }
.about-page-main { min-height: 100vh; padding-top: 92px; }
.about-hero, .about-principles { width: min(83.6vw, 1360px); margin-inline: auto; }
.about-hero { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(300px, 1fr); column-gap: clamp(44px, 5.5vw, 84px); padding: clamp(56px, 5.5vw, 82px) 0 clamp(38px, 4vw, 56px); }
.about-hero .eyebrow { grid-column: 1; grid-row: 1; margin: 0 0 clamp(30px, 3vw, 43px); color: #302722; }
.about-hero h1 { grid-column: 1; grid-row: 2; max-width: 680px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(48px, 4.7vw, 72px); font-weight: 500; letter-spacing: -.06em; line-height: .94; }
.about-hero-subtitle { grid-column: 1; grid-row: 3; margin: clamp(18px, 1.8vw, 26px) 0 0; color: #302722; font-family: "Playfair Display", serif; font-size: clamp(23px, 2vw, 31px); letter-spacing: -.04em; line-height: 1.05; }
.about-hero-media { grid-column: 2; grid-row: 2 / span 3; align-self: start; justify-self: end; width: min(100%, 430px); aspect-ratio: 6 / 5; margin: 0; overflow: hidden; }
.about-hero-media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 49% center; }
.about-introduction { grid-column: 1; grid-row: 4; width: min(100%, 720px); margin-top: clamp(27px, 2.6vw, 38px); font-family: "DM Sans", sans-serif; font-size: clamp(15px, 1.08vw, 17px); line-height: 1.62; text-align: left; hyphens: none; word-break: normal; overflow-wrap: normal; }
.about-introduction p { margin: 0; }
.about-introduction p + p { margin-top: .55em; }
.about-principles { border-top: 1px solid rgba(48, 39, 34, .62); }
.about-principle { position: relative; display: grid; grid-template-columns: clamp(96px, 9.5vw, 145px) minmax(245px, .7fr) minmax(520px, 1.8fr); gap: clamp(26px, 3.5vw, 56px); padding: clamp(40px, 4.3vw, 64px) 0; }
.about-principle::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: rgba(48, 39, 34, .62); transform-origin: left center; }
.about-principle-number { position: relative; margin: 0; padding-right: clamp(24px, 3vw, 46px); color: #302722; font-family: "Playfair Display", serif; font-size: clamp(68px, 7vw, 108px); letter-spacing: -.065em; line-height: .78; }
.about-principle-number::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 1px; background: rgba(48, 39, 34, .58); transform-origin: top center; }
.about-principle h2 { margin: 0; color: #302722; font-size: clamp(34px, 3.15vw, 49px); line-height: 1.02; }
.about-principle-copy { max-width: 760px; font-size: clamp(15px, 1.1vw, 17px); line-height: 1.58; text-align: left; hyphens: none; word-break: normal; overflow-wrap: normal; }
.about-principle-copy > p { margin: 0; }
.about-principle-copy > p + p:not(.about-principle-kicker) { margin-top: 1em; }
.about-principle-kicker { width: max-content; max-width: 100%; margin-top: clamp(26px, 2.6vw, 38px) !important; padding-bottom: 12px; border-bottom: 1px solid rgba(48, 39, 34, .65); color: #302722; font-family: "Playfair Display", serif; font-size: clamp(22px, 2vw, 30px); letter-spacing: -.035em; line-height: 1.12; text-transform: uppercase; text-align: left; }
.about-principle-underline { color: #302722; font-family: "Playfair Display", serif; font-size: clamp(17px, 1.45vw, 22px); text-align: left; }
.about-principle-highlight { color: #302722; font-family: "Playfair Display", serif; font-size: clamp(26px, 2.45vw, 38px); letter-spacing: -.035em; line-height: 1.12; text-align: left; }
.about-process { display: flex; flex-wrap: wrap; align-items: center; gap: 10px clamp(13px, 1.4vw, 22px); margin-top: clamp(28px, 3vw, 44px) !important; font-family: "DM Mono", monospace; font-size: clamp(10px, .82vw, 12px); font-weight: 500; letter-spacing: .055em; line-height: 1.4; text-transform: uppercase; text-align: left; }
.about-process span { font-size: 17px; font-weight: 400; }
.about-closing { display: flex; align-items: flex-end; justify-content: space-between; gap: 70px; margin-top: clamp(76px, 7vw, 108px); padding: clamp(42px, 4.5vw, 66px) 8.2vw; background: #302722; color: #f4f2ed; }
.about-closing p { margin: 0 0 13px; font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .1em; }
.about-closing h2 { margin: 0; color: inherit; font-size: clamp(35px, 3.5vw, 54px); line-height: .98; }
.about-closing a { display: inline-flex; align-items: center; gap: 32px; padding-bottom: 9px; border-bottom: 1px solid rgba(244, 242, 237, .75); color: inherit; font-family: "DM Mono", monospace; font-size: clamp(12px, 1.1vw, 16px); letter-spacing: .065em; text-decoration: none; text-transform: uppercase; transition: border-color .3s ease, opacity .3s ease; }
.about-closing a span { font-size: 19px; transition: transform .3s ease; }
.about-closing a:hover, .about-closing a:focus-visible { border-color: #f4f2ed; opacity: .86; }
.about-closing a:hover span, .about-closing a:focus-visible span { transform: translate(3px, -3px); }
@media (max-width: 980px) { .about-hero { grid-template-columns: minmax(0, 1.35fr) minmax(240px, .9fr); column-gap: 36px; } .about-hero h1 { font-size: clamp(48px, 6.3vw, 62px); } .about-hero-media { width: min(100%, 320px); } .about-introduction { width: 100%; } .about-principle { grid-template-columns: 92px minmax(200px, .65fr) minmax(360px, 1.35fr); gap: 25px; } }
@media (max-width: 760px) { .about-page-main { padding-top: 76px; } .about-hero, .about-principles { width: auto; margin-inline: 23px; } .about-hero { display: block; padding: 58px 0 44px; } .about-hero .eyebrow { margin-bottom: 31px; } .about-hero h1 { font-size: clamp(47px, 13.5vw, 62px); line-height: .94; } .about-hero-subtitle { margin-top: 24px; font-size: 27px; } .about-hero-media { width: 100%; margin: 35px 0 0; aspect-ratio: 6 / 5; } .about-introduction { width: 100%; margin-top: 39px; font-size: 16px; line-height: 1.62; text-align: left; hyphens: none; word-break: normal; overflow-wrap: normal; } .about-principle { grid-template-columns: 72px 1fr; gap: 24px 20px; padding: 38px 0 44px; } .about-principle-number { grid-row: 1 / span 2; padding-right: 17px; font-size: 58px; } .about-principle h2 { font-size: 35px; } .about-principle-copy { grid-column: 2; max-width: none; font-size: 15px; line-height: 1.58; text-align: left; hyphens: none; word-break: normal; overflow-wrap: normal; } .about-principle-kicker { font-size: 21px; } .about-principle-highlight { font-size: 26px; } .about-process { gap: 9px 12px; font-size: 9px; } .about-closing { align-items: flex-start; flex-direction: column; gap: 42px; margin-top: 64px; padding: 43px 23px 47px; } .about-closing h2 { font-size: 38px; } }
@media (prefers-reduced-motion: reduce) { .about-closing a, .about-closing a span { transition: none; } .about-closing a:hover span, .about-closing a:focus-visible span { transform: none; } }

/* About SABOA: restrained, one-time hierarchy reveals. */
.about-page.has-about-motion .about-hero .eyebrow,
.about-page.has-about-motion .about-hero h1,
.about-page.has-about-motion .about-hero-subtitle,
.about-page.has-about-motion .about-introduction { opacity: 0; transform: translateY(12px); }
.about-page.has-about-motion.is-about-loaded .about-hero .eyebrow,
.about-page.has-about-motion.is-about-loaded .about-hero h1,
.about-page.has-about-motion.is-about-loaded .about-hero-subtitle,
.about-page.has-about-motion.is-about-loaded .about-introduction { opacity: 1; transform: translateY(0); transition: opacity .7s ease, transform .7s ease; }
.about-page.has-about-motion.is-about-loaded .about-hero .eyebrow { transition-delay: .04s; }
.about-page.has-about-motion.is-about-loaded .about-hero h1 { transition-delay: .13s; }
.about-page.has-about-motion.is-about-loaded .about-hero-subtitle { transition-delay: .22s; }
.about-page.has-about-motion.is-about-loaded .about-introduction { transition-delay: .31s; }
.about-page.has-about-motion .about-principle::after { transform: scaleX(0); }
.about-page.has-about-motion .about-principle-number::after { transform: scaleY(0); }
.about-page.has-about-motion .about-principle-number,
.about-page.has-about-motion .about-principle h2,
.about-page.has-about-motion .about-principle-copy { opacity: 0; transform: translateY(10px); }
.about-page.has-about-motion .about-principle.is-about-visible::after { transform: scaleX(1); transition: transform .7s cubic-bezier(.22,.61,.36,1); }
.about-page.has-about-motion .about-principle.is-about-visible .about-principle-number::after { transform: scaleY(1); transition: transform .58s ease .06s; }
.about-page.has-about-motion .about-principle.is-about-visible .about-principle-number,
.about-page.has-about-motion .about-principle.is-about-visible h2,
.about-page.has-about-motion .about-principle.is-about-visible .about-principle-copy { opacity: 1; transform: translateY(0); transition: opacity .66s ease, transform .66s ease; }
.about-page.has-about-motion .about-principle.is-about-visible h2 { transition-delay: .08s; }
.about-page.has-about-motion .about-principle.is-about-visible .about-principle-copy { transition-delay: .14s; }
.about-page.has-about-motion .about-principle.is-about-visible .about-principle-kicker,
.about-page.has-about-motion .about-principle.is-about-visible .about-principle-highlight { transition-delay: .22s; }
@media (prefers-reduced-motion: reduce) { .about-page.has-about-motion .about-hero .eyebrow, .about-page.has-about-motion .about-hero h1, .about-page.has-about-motion .about-hero-subtitle, .about-page.has-about-motion .about-introduction, .about-page.has-about-motion .about-principle-number, .about-page.has-about-motion .about-principle h2, .about-page.has-about-motion .about-principle-copy { opacity: 1; transform: none; transition: none; } .about-page.has-about-motion .about-principle::after, .about-page.has-about-motion .about-principle-number::after { transform: none; transition: none; } }

/* Events to Team Building: compact spacing and a one-time editorial reveal. */
.editorial-service-events + .editorial-service-team {
  margin-top: clamp(56px, 5vw, 76px);
}

.editorial-service-team.has-team-intro-motion .service-index,
.editorial-service-team.has-team-intro-motion .service-name,
.editorial-service-team.has-team-intro-motion .team-building-primary,
.editorial-service-team.has-team-intro-motion .team-building-support {
  opacity: 0;
  transform: translateY(10px);
}

.editorial-service-team.has-team-intro-motion.is-team-intro-visible .service-index,
.editorial-service-team.has-team-intro-motion.is-team-intro-visible .service-name,
.editorial-service-team.has-team-intro-motion.is-team-intro-visible .team-building-primary,
.editorial-service-team.has-team-intro-motion.is-team-intro-visible .team-building-support {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .66s ease, transform .66s ease;
}

.editorial-service-team.has-team-intro-motion.is-team-intro-visible .service-name { transition-delay: .08s; }
.editorial-service-team.has-team-intro-motion.is-team-intro-visible .team-building-primary { transition-delay: .16s; }
.editorial-service-team.has-team-intro-motion.is-team-intro-visible .team-building-support { transition-delay: .24s; }

@media (max-width: 1040px) {
  .editorial-service-events + .editorial-service-team {
    margin-top: clamp(48px, 5.5vw, 64px);
  }
}

@media (max-width: 760px) {
  .editorial-service-events + .editorial-service-team {
    margin-top: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-service-team.has-team-intro-motion .service-index,
  .editorial-service-team.has-team-intro-motion .service-name,
  .editorial-service-team.has-team-intro-motion .team-building-primary,
  .editorial-service-team.has-team-intro-motion .team-building-support {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Home hero: a light editorial CTA with consistent SVG arrows. */
.hero-copy .hero-message {
  margin-bottom: 34px;
}

.hero-copy > .hero-editorial-cta {
  position: relative;
  display: inline-flex;
  margin-top: 52px;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 44px;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  padding: 10px 0 9px;
  border-radius: 0;
  background: transparent;
  color: #302722;
  font-family: "DM Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .085em;
  line-height: 1.2;
  text-align: left;
  text-transform: uppercase;
  transform: none;
  transition: color .3s ease;
}

.hero-copy > .hero-editorial-cta::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(1);
  transform-origin: left center;
  transition: transform .3s ease;
}

.hero-copy > .hero-editorial-cta .hero-editorial-cta-icon {
  position: static;
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.25;
  stroke-linecap: square;
  stroke-linejoin: miter;
  transition: transform .3s ease;
}

.hero-copy > .hero-editorial-cta:hover,
.hero-copy > .hero-editorial-cta:focus-visible {
  color: #302722;
  transform: none;
}

.hero-copy > .hero-editorial-cta:hover::after,
.hero-copy > .hero-editorial-cta:focus-visible::after {
  transform: scaleX(1.06);
}

.hero-copy > .hero-editorial-cta:hover .hero-editorial-cta-icon,
.hero-copy > .hero-editorial-cta:focus-visible .hero-editorial-cta-icon {
  transform: translate(3px, -3px);
}

.hero-scroll {
  display: flex;
  align-items: center;
  gap: 11px;
}

.hero-scroll .hero-scroll-icon {
  width: 16px;
  height: 16px;
  padding: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.15;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

@media (max-width: 760px) {
  .hero-copy > .hero-editorial-cta {
    margin-top: 38px;
    min-height: 44px;
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-copy > .hero-editorial-cta,
  .hero-copy > .hero-editorial-cta::after,
  .hero-copy > .hero-editorial-cta .hero-editorial-cta-icon {
    transition: none;
  }

  .hero-copy > .hero-editorial-cta:hover .hero-editorial-cta-icon,
  .hero-copy > .hero-editorial-cta:focus-visible .hero-editorial-cta-icon {
    transform: none;
  }
}

/* Compact final contact band: intimate closing CTA rather than a second hero. */
.contact {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 400px);
  grid-template-areas:
    "label actions"
    "title actions"
    "location actions";
  column-gap: clamp(56px, 7vw, 112px);
  min-height: 0;
  padding: clamp(52px, 4.7vw, 68px) 8.2vw clamp(50px, 4.5vw, 64px);
  align-content: center;
}
.contact > .eyebrow { grid-area: label; margin-bottom: clamp(13px, 1.2vw, 18px); }
.contact h2 { grid-area: title; font-size: clamp(38px, 3.45vw, 56px); }
.contact-actions { grid-area: actions; align-self: center; margin: 0; }
.contact-mail { width: max-content; margin: 0; padding: 13px 18px; background: var(--ink); color: var(--paper); border: 0; font-size: 11px; letter-spacing: .08em; transition: background-color 280ms ease, transform 280ms cubic-bezier(.22, .61, .36, 1); }
.contact-mail span { transition: transform 300ms cubic-bezier(.22, .61, .36, 1); }
.contact-mail:hover, .contact-mail:focus-visible { background: #272723; transform: scale(1.012); }
.contact-mail:hover span, .contact-mail:focus-visible span { transform: translate(3px, -3px); }
.contact-small { grid-area: location; position: static; align-self: start; width: min(100%, 520px); max-width: none; margin: clamp(16px, 1.5vw, 22px) 0 0; font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }
.contact-location-label { display: block; font-weight: 500; }
.contact-location-note { display: block; margin-top: 6px; color: rgb(48 39 34 / 74%); font: inherit; letter-spacing: inherit; line-height: inherit; text-transform: uppercase; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.contact-email-secondary {
  margin: 14px 0 0;
  color: rgb(35 29 26 / 88%);
  font-family: "DM Mono", monospace;
  line-height: 1.5;
}

.contact-email-label {
  display: block;
  margin-bottom: 6px;
  font-size: 9px;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.contact-email-copy {
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgb(48 39 34 / 32%);
  background: transparent;
  color: #211b18;
  font-family: "DM Mono", monospace;
  font-size: clamp(16px, 1.3vw, 19px);
  letter-spacing: .02em;
  cursor: pointer;
  text-decoration: none;
  transition: color 220ms ease, border-color 220ms ease;
}

.contact-email-copy:hover,
.contact-email-copy:focus-visible {
  color: #4b3025;
  border-color: currentColor;
}

@media (max-width: 760px) {
  .contact { display: block; min-height: 0; padding: 48px 23px 46px; }
  .contact > .eyebrow { margin-bottom: 15px; }
  .contact h2 { font-size: 38px; }
  .contact-actions { margin-top: 18px; }
  .contact-email-secondary { margin-top: 14px; }
  .contact-small { width: 100%; margin-top: 20px; }
  .contact-location-note { margin-top: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-mail, .contact-mail span { transition: none; }
  .contact-mail:hover, .contact-mail:focus-visible { transform: none; }
  .contact-mail:hover span, .contact-mail:focus-visible span { transform: none; }
}


/* Events editorial introduction */
.events-page-body { background: var(--paper); color: var(--ink); }
.events-page-main { min-height: 0; padding-top: 130px; }

.events-intro-hero,
.events-idea {
  width: min(100%, 1360px);
  margin: 0 auto;
  padding-right: 4.4vw;
  padding-left: 4.4vw;
}

.events-intro-hero {
  display: grid;
  grid-template-columns: minmax(0, 62fr) minmax(0, 38fr);
  min-height: 350px;
}

.events-intro-hero-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(34px, 4vw, 54px) clamp(34px, 5.5vw, 76px) clamp(34px, 4vw, 54px) 0;
}

.events-intro-hero .eyebrow {
  margin: 0 0 clamp(17px, 1.8vw, 24px);
  font-family: "DM Mono", monospace;
  font-size: 10px;
  letter-spacing: .08em;
}

.events-intro-hero h1,
.events-idea h2 {
  margin: 0;
  font-family: "Playfair Display", serif;
  font-weight: 500;
  letter-spacing: -.06em;
  color: var(--ink);
}

.events-intro-hero h1 {
  max-width: 100%;
  font-size: clamp(56px, 5.8vw, 84px);
  line-height: .91;
}

.events-intro-hero-tagline {
  width: min(100%, 360px);
  margin: clamp(18px, 2.1vw, 28px) 0 0;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(18px, 1.45vw, 22px);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.28;
}

.events-intro-hero-media {
  min-width: 0;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--warm);
}

.events-intro-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
}

.events-idea {
  padding-top: clamp(62px, 6.5vw, 92px);
  padding-bottom: clamp(92px, 9vw, 132px);
}

.events-idea-layout {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(40px, 5.2vw, 76px);
  align-items: start;
}

.events-idea h2 {
  max-width: 540px;
  font-size: clamp(50px, 4.8vw, 72px);
  line-height: .95;
}

.events-idea-copy {
  max-width: 640px;
  padding-top: clamp(5px, .7vw, 10px);
  font-family: "DM Sans", sans-serif;
  font-size: clamp(16px, 1.2vw, 19px);
  line-height: 1.58;
  text-align: justify;
  text-align-last: left;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.events-idea-copy p { margin: 0; }
.events-idea-copy p + p { margin-top: 1.45em; }

@media (max-width: 900px) {
  .events-intro-hero-copy { padding-right: 34px; }
  .events-idea-layout { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 36px; }
  .events-idea h2 { font-size: clamp(46px, 5.7vw, 56px); }
  .events-idea-copy { max-width: none; padding-top: 0; text-align: left; }
}

@media (max-width: 760px) {
  .events-page-main { padding-top: 76px; }
  .events-intro-hero,
  .events-idea { padding-right: 23px; padding-left: 23px; }
  .events-intro-hero { display: block; min-height: 0; }
  .events-intro-hero-copy { padding: 32px 0 30px; }
  .events-intro-hero .eyebrow { margin-bottom: 15px; }
  .events-intro-hero h1 { font-size: clamp(48px, 14vw, 64px); }
  .events-intro-hero-tagline { width: min(100%, 290px); margin-top: 19px; font-size: 17px; }
  .events-intro-hero-media { height: clamp(190px, 58vw, 235px); }
  .events-idea { padding-top: 62px; padding-bottom: 88px; }
  .events-idea-layout { display: block; }
  .events-idea h2 { font-size: clamp(43px, 12.5vw, 56px); }
  .events-idea-copy { max-width: 37rem; padding-top: 30px; font-size: 16px; line-height: 1.6; }
}

/* Interactive Events catalogue — page-scoped overrides. */
.events-page-body { --saboa-brown: #302722; }
.events-catalog,
.events-idea { width: min(100%, 1360px); margin-inline: auto; padding-inline: 4.4vw; }
.events-catalog { padding-top: clamp(52px, 5vw, 76px); padding-bottom: clamp(46px, 4.4vw, 64px); }
.events-catalog-layout { display: grid; grid-template-columns: minmax(0, 41fr) minmax(0, 59fr); gap: clamp(34px, 3.8vw, 54px); align-items: start; }
.events-catalog-controls { min-width: 0; }
.events-catalog-heading { max-width: 100%; }
.events-catalog-eyebrow { margin: 0 0 24px; color: var(--saboa-brown); font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.events-catalog-title { max-width: 100%; margin: 0; color: var(--ink); font-family: "Playfair Display", serif; font-size: 74px; font-weight: 500; line-height: .94; letter-spacing: -.055em; white-space: nowrap; }
.events-catalog-intro { max-width: 470px; margin: 21px 0 0; font-size: 18px; line-height: 1.46; }
.events-selector-question { margin: 45px 0 0; color: var(--ink); font-family: "DM Sans", sans-serif; font-size: 19px; font-weight: 600; letter-spacing: .035em; line-height: 1.35; }
.events-selector-question + .events-primary-tabs { margin-top: 24px; }
.events-primary-tabs { display: flex; justify-content: flex-start; gap: clamp(36px, 4.3vw, 62px); }
html[lang="en"] .events-primary-tabs { width: fit-content; max-width: 100%; justify-content: flex-start; gap: clamp(22px, 2vw, 28px); }
.events-primary-tab { position: relative; flex: 0 0 auto; padding: 0; border: 0; color: rgb(48 39 34 / 48%); background: transparent; font: inherit; font-size: 15px; font-weight: 500; letter-spacing: .025em; text-transform: uppercase; cursor: pointer; transition: color 200ms ease; }
.events-primary-tab::after { display: none; }
.events-primary-tab:hover { color: var(--saboa-brown); }
.events-primary-tab[aria-selected="true"] { color: var(--saboa-brown); }
.events-options { padding-top: 32px; }
.events-pills,
.events-formats { display: flex; flex-wrap: wrap; gap: 12px; }
.events-pills { display: flex; gap: 10px 12px; align-items: start; }
.events-pill,
.events-format-link { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 12px; padding: 9px 18px; border: 1px solid rgb(48 39 34 / 30%); border-radius: 999px; color: var(--ink); background: transparent; font: inherit; font-size: 12px; line-height: 1.2; text-decoration: none; cursor: pointer; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.events-pill { min-height: 43px; padding: 9px 20px; border-color: rgb(48 39 34 / 18%); border-radius: 22px; font-size: 13px; }
.events-pill:hover { border-color: var(--saboa-brown); color: #fff; background: var(--saboa-brown); }
.events-format-link:hover { border-color: var(--saboa-brown); background: rgb(48 39 34 / 5%); }
.events-pill.is-active { border-color: var(--saboa-brown); color: var(--saboa-brown); background: transparent; }
.events-pill-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--saboa-brown); }
.events-pill.is-active .events-pill-dot { background: #fff; }
.events-formats-wrap { margin-top: 46px; }
.events-format-link span:last-child { color: var(--saboa-brown); font-size: 16px; }
.events-feature { position: relative; min-height: 0; aspect-ratio: 1.32 / 1; overflow: hidden; border-radius: 42px 42px 0 42px; background: var(--saboa-brown); transition: opacity 180ms ease; }
.events-feature.is-changing { opacity: .35; }
.events-feature-image,
.events-feature-shade { position: absolute; inset: 0; }
.events-feature-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.events-feature-image[src$="home-events-overhead.png"] { object-position: 50% 48%; }
.events-feature-image[src$="home-events-cake-25.png"] { object-position: 50% 44%; }
.events-feature-image[src$="saboa-events-editorial.png"] { object-position: 52% 50%; }
.events-feature-image[src$="home-events-garden.png"] { object-position: 50% 48%; }
.events-feature-shade { background: linear-gradient(0deg, rgb(0 0 0 / 52%) 0%, rgb(0 0 0 / 18%) 24%, transparent 48%); }
.events-feature-content { position: absolute; z-index: 1; right: auto; bottom: 0; left: 0; width: min(72%, 460px); box-sizing: border-box; padding: 0 clamp(32px, 3vw, 40px) clamp(32px, 3vw, 40px); color: #fff; }
.events-feature-title { display: -webkit-box; max-width: 100%; margin: 0 0 -.14em; padding-bottom: .14em; overflow: hidden; color: #fff; font-family: "Playfair Display", serif; font-size: 32px; font-weight: 400; line-height: 1.02; letter-spacing: -.025em; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.events-feature-link { display: inline-flex; align-items: center; gap: 13px; margin-top: 24px; color: #fff; font-family: "DM Mono", monospace; font-size: 11px; font-weight: 500; letter-spacing: .065em; line-height: 1.4; text-decoration: none; text-transform: uppercase; }
.events-feature-link span { font-family: "DM Sans", sans-serif; font-size: 16px; line-height: 1; }
.events-idea { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(42px, 7vw, 108px); padding-top: clamp(82px, 8vw, 118px); padding-bottom: clamp(104px, 10vw, 152px); }
.events-idea h2 { max-width: 560px; font-size: clamp(48px, 5vw, 70px); }
.events-idea-copy { max-width: 650px; padding-top: 14px; font-size: 16px; line-height: 1.72; }
.events-primary-tab:focus-visible,
.events-pill:focus-visible,
.events-format-link:focus-visible,
.events-feature-link:focus-visible { outline: 2px solid var(--saboa-brown); outline-offset: 4px; }
@media (max-width: 1180px) and (min-width: 1001px) {
  .events-catalog-title { font-size: 62px; }
  .events-catalog-intro { font-size: 17px; }
  .events-primary-tab { font-size: 14px; }
  .events-pill,
  .events-format-link { padding-inline: 15px; }
}
@media (max-width: 1100px) and (min-width: 1001px) {
  html[lang="en"] .events-primary-tabs { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 22px; }
  html[lang="en"] .events-primary-tab { min-width: 0; text-align: left; white-space: normal; }
}
@media (min-width: 1001px) {
  .events-pills[data-events-category="reunir-equip"] { max-width: 380px; }
}
@media (max-width: 1280px) and (min-width: 1181px) {
  .events-catalog-title { font-size: 66px; }
}
@media (max-width: 1000px) {
  .events-primary-tabs { gap: clamp(28px, 5vw, 48px); }
  html[lang="en"] .events-primary-tabs { width: fit-content; max-width: 100%; gap: 24px; }
  .events-catalog-layout { grid-template-columns: 1fr; gap: 38px; align-items: stretch; }
  .events-feature { min-height: min(56vw, 500px); aspect-ratio: 1.72 / 1; }
  .events-feature-content { width: min(72%, 460px); }
  .events-idea { grid-template-columns: 1fr; gap: 34px; }
  .events-idea-copy { padding-top: 0; text-align: left; }
}
@media (max-width: 760px) {
  .events-catalog,
  .events-idea { padding-inline: 23px; }
  .events-catalog { padding-top: 42px; padding-bottom: 72px; }
  .events-catalog-eyebrow { margin-bottom: 18px; }
  .events-catalog-title { font-size: clamp(46px, 12.2vw, 64px); }
  .events-catalog-intro { margin-top: 18px; font-size: 17px; }
  .events-selector-question { margin-top: 34px; font-size: 18px; }
  .events-selector-question + .events-primary-tabs { margin-top: 21px; }
  .events-primary-tabs { justify-content: flex-start; gap: 18px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  html[lang="en"] .events-primary-tabs { display: grid; width: 100%; grid-template-columns: minmax(0, 1.55fr) minmax(0, .8fr) minmax(0, 1fr); gap: 10px; overflow: visible; }
  .events-primary-tabs::-webkit-scrollbar { display: none; }
  .events-primary-tab { padding-bottom: 0; font-size: 13px; white-space: nowrap; }
  html[lang="en"] .events-primary-tab { line-height: 1.25; text-align: left; white-space: normal; }
  .events-catalog-layout { gap: 30px; }
  .events-options { padding-top: 27px; }
  .events-pills { display: flex; width: calc(100vw - 46px); max-width: 100%; gap: 10px 8px; }
  .events-pill { min-height: 42px; padding: 9px 17px; font-size: 12px; }
  .events-format-link { min-height: 44px; padding: 10px 18px; font-size: 12px; }
  .events-formats-wrap { margin-top: 34px; }
  .events-feature { min-height: 390px; aspect-ratio: auto; border-radius: 28px 28px 0 28px; }
  .events-feature-shade { background: linear-gradient(0deg, rgb(0 0 0 / 58%) 0%, rgb(0 0 0 / 18%) 30%, transparent 58%); }
  .events-feature-content { display: block; width: min(86%, 360px); min-height: 0; padding: 0 28px 30px; }
  .events-feature-title { max-width: 100%; font-size: 30px; }
  .events-feature-link { margin-top: 20px; font-size: 10px; }
  .events-feature-link span { font-size: 14px; }
  .events-idea { padding-top: 68px; padding-bottom: 94px; }
  .events-idea h2 { font-size: clamp(45px, 13vw, 58px); }
}
@media (prefers-reduced-motion: reduce) {
  .events-primary-tab,
  .events-primary-tab::after,
  .events-pill,
  .events-format-link,
  .events-feature { transition: none; }
}

/* Events process: a restrained scroll-led editorial sequence. */
.events-catalog { padding-bottom: clamp(22px, 2vw, 28px); }
.events-idea { position: relative; display: block; width: min(100%, 1360px); height: auto; min-height: 0; padding-top: clamp(20px, 1.7vw, 24px); padding-bottom: clamp(90px, 9vw, 132px); }
.events-idea-sticky { position: static; }
.events-idea-layout { display: grid; grid-template-columns: minmax(390px, .86fr) minmax(0, 1.14fr); gap: clamp(52px, 7vw, 108px); align-items: start; }
.events-idea-heading { min-width: 0; }
.events-idea-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: var(--saboa-brown); font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .085em; line-height: 1.4; text-transform: uppercase; }
.events-idea-eyebrow span { font-size: 14px; }
.events-idea h2 { max-width: none; color: var(--ink); font-size: clamp(45px, 4.35vw, 64px); line-height: .94; white-space: nowrap; }
.events-idea-guide { position: relative; height: 190px; margin-top: 38px; }
.events-idea-guide-line { position: absolute; top: 0; bottom: 0; left: 1px; width: 1px; background: rgb(48 39 34 / 22%); transform: scaleY(var(--events-process-progress, 0)); transform-origin: top; }
.events-idea-pieces { position: absolute; top: 8px; left: 28px; right: 0; display: grid; gap: 22px; height: auto; }
.events-idea-piece { position: static; color: rgb(48 39 34 / 34%); font-family: "DM Mono", monospace; font-size: 12px; font-weight: 500; letter-spacing: .1em; line-height: 1.4; opacity: 1; transform: translateY(5px); }
.events-idea-piece.is-active { color: var(--saboa-brown); transform: translateY(0); }
.events-idea-content { max-width: 650px; padding-top: 4px; }
.events-idea-lead { margin: 0; color: var(--saboa-brown); font-family: "Playfair Display", serif; font-size: clamp(29px, 2.65vw, 40px); letter-spacing: -.04em; line-height: 1.08; }
.events-idea-copy { max-width: 620px; margin-top: clamp(34px, 3.3vw, 48px); padding-top: 0; font-size: clamp(15px, 1.08vw, 17px); line-height: 1.62; text-align: left; }
.events-idea-copy p { margin: 0; }
.events-idea-copy p + p { margin-top: 1.35em; }
.events-idea-closing { max-width: 620px; margin: clamp(36px, 3.4vw, 50px) 0 0; color: var(--saboa-brown); font-family: "Playfair Display", serif; font-size: clamp(28px, 2.7vw, 41px); letter-spacing: -.04em; line-height: 1.08; }
.events-idea-closing::after { content: ""; display: block; width: 48px; height: 1px; margin-top: 20px; background: var(--saboa-brown); }
.events-idea-cta { display: inline-flex; align-items: center; gap: 18px; margin-top: clamp(32px, 3vw, 44px); padding: 0 0 10px; border-bottom: 1px solid var(--saboa-brown); color: var(--saboa-brown); font-family: "DM Mono", monospace; font-size: 13px; font-weight: 500; letter-spacing: .06em; line-height: 1.4; text-decoration: none; }
.events-idea-cta span { font-size: 18px; line-height: 1; transition: transform .22s ease; }
.events-idea-cta:hover span,
.events-idea-cta:focus-visible span { transform: translateX(4px); }
.events-idea-cta:focus-visible { outline: 2px solid var(--saboa-brown); outline-offset: 5px; }
.events-idea.has-process-motion .events-idea-guide-line { transition: transform .18s linear; }
.events-idea.has-process-motion .events-idea-piece { transition: color .22s ease, transform .22s ease; }

@media (min-width: 761px) {
  .events-idea { margin-bottom: clamp(72px, 7vw, 104px); }
}

@media (max-width: 1000px) and (min-width: 761px) {
  .events-idea-layout { grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr); gap: 42px; }
  .events-idea h2 { font-size: clamp(42px, 5vw, 52px); }
  .events-idea-lead { font-size: 30px; }
  .events-idea-copy { font-size: 15px; }
  .events-idea-closing { font-size: 30px; }
}

@media (max-width: 760px) {
  .events-catalog { padding-bottom: 44px; }
  .events-idea { width: auto; height: auto; min-height: 0; margin-inline: 23px; padding: 36px 0 90px; }
  .events-idea-sticky { position: static; }
  .events-idea-layout { display: flex; flex-direction: column; gap: 0; }
  .events-idea-eyebrow { margin-bottom: 14px; }
  .events-idea h2 { font-size: clamp(42px, 11.7vw, 50px); line-height: .96; white-space: nowrap; }
  .events-idea-guide { height: auto; margin-top: 32px; padding-left: 24px; }
  .events-idea-guide-line { top: 4px; bottom: 4px; transform: none; }
  .events-idea-pieces { position: static; display: grid; gap: 18px; height: auto; }
  .events-idea-piece { position: static; display: flex; min-height: 32px; align-items: center; opacity: 1; transform: none; }
  .events-idea-content { width: 100%; max-width: 37rem; padding-top: 42px; }
  .events-idea-lead { font-size: clamp(27px, 8vw, 34px); }
  .events-idea-copy { margin-top: 34px; font-size: 16px; line-height: 1.62; }
  .events-idea-closing { margin-top: 38px; font-size: clamp(28px, 8.5vw, 35px); }
  .events-idea-cta { margin-top: 34px; font-size: 12px; }
  .events-idea.has-process-motion .events-idea-piece { opacity: 1; transform: translateY(5px); }
  .events-idea.has-process-motion .events-idea-piece.is-active { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .events-idea { height: auto; min-height: 0; padding-bottom: clamp(90px, 9vw, 132px); }
  .events-idea-sticky { position: static; }
  .events-idea-guide { height: auto; }
  .events-idea-guide-line { transform: none; }
  .events-idea-pieces { position: static; display: flex; height: auto; flex-wrap: wrap; gap: 12px 26px; padding: 25px 0 0 26px; }
  .events-idea-piece { position: static; opacity: 1; transform: none; }
  .events-idea-piece { color: var(--saboa-brown); transform: none; transition: none; }
}
/* Home: shared editorial grid and rhythm. Keep section-specific compositions intact. */
:root {
  --home-editorial-max: 1280px;
  --home-editorial-gutter: max(23px, calc((100vw - var(--home-editorial-max)) / 2));
}

.services-editorial {
  padding-right: var(--home-editorial-gutter);
  padding-bottom: clamp(96px, 8vw, 128px);
  padding-left: var(--home-editorial-gutter);
}

.services-editorial-intro {
  max-width: none;
  margin-right: calc(var(--home-editorial-gutter) * -1);
  margin-bottom: clamp(32px, 3vw, 44px);
  margin-left: calc(var(--home-editorial-gutter) * -1);
  padding: clamp(82px, 7vw, 106px) var(--home-editorial-gutter);
}

.services-intro-body {
  grid-template-columns: minmax(0, 690px) minmax(260px, 340px);
  gap: clamp(54px, 7vw, 108px);
  width: min(100%, var(--home-editorial-max));
  max-width: none;
}

.editorial-service,
.editorial-service-events .editorial-service-copy {
  width: min(100%, var(--home-editorial-max));
  max-width: var(--home-editorial-max);
}

.editorial-service-events .events-heading-block h2 {
  font-size: clamp(56px, 5.6vw, 86px);
}

.editorial-service-team .team-building-primary {
  font-size: clamp(47px, 4.7vw, 72px);
}

.manifesto-process {
  grid-template-columns: minmax(0, .98fr) minmax(340px, .82fr);
  gap: clamp(56px, 7vw, 112px);
  padding: clamp(84px, 7.5vw, 112px) var(--home-editorial-gutter);
}

.manifesto-process .manifesto-copy {
  max-width: 610px;
}

.manifesto-process .manifesto-title {
  max-width: 610px;
  font-size: clamp(39px, 4vw, 62px);
}

.manifesto-process .manifesto-copy > .manifesto-intro {
  max-width: 590px;
  font-size: clamp(19px, 1.6vw, 24px);
}

.project-moments span {
  font-size: clamp(58px, 5.5vw, 86px);
}

.project-moments p {
  font-size: clamp(17px, 1.3vw, 20px);
}

.contact {
  padding-right: var(--home-editorial-gutter);
  padding-left: var(--home-editorial-gutter);
}

@media (max-width: 1040px) {
  .services-intro-body {
    grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr);
    gap: clamp(42px, 6vw, 68px);
  }

  .manifesto-process {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr);
    gap: clamp(42px, 5vw, 62px);
  }
}

@media (max-width: 760px) {
  :root {
    --home-editorial-gutter: 23px;
  }

  .services-editorial {
    padding-bottom: 84px;
  }

  .services-editorial-intro {
    margin-bottom: 24px;
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .services-intro-body {
    display: block;
    width: 100%;
  }

  .editorial-service-events .events-heading-block h2 {
    font-size: clamp(49px, 14.5vw, 64px);
  }

  .editorial-service-team .team-building-primary {
    font-size: clamp(44px, 12vw, 58px);
  }

  .manifesto-process {
    display: block;
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .contact {
    padding: 52px var(--home-editorial-gutter) 48px;
  }
}

/* Home hero: main copy and scroll cue share one structural left axis. */
.hero {
  --hero-content-axis: 4.4vw;
}

.hero-copy {
  padding-right: 14.8vw;
  padding-left: var(--hero-content-axis);
}

.hero-scroll {
  left: var(--hero-content-axis);
}

@media (max-width: 760px) {
  .hero-copy {
    padding-right: calc(46px - var(--hero-content-axis));
    padding-left: var(--hero-content-axis);
  }
}

/* Legal pages: restrained editorial reading layout. */
.legal-page{background:#f4f2ed;color:#302722}
.legal-main{padding:clamp(145px,11.8vw,170px) 8.2vw clamp(62px,6.5vw,88px)}
.legal-heading,.legal-content{width:min(100%,860px);margin:0 auto}
.legal-heading h1{max-width:820px;margin:0;font-family:"Playfair Display",serif;font-size:clamp(32px,3.15vw,47px);font-weight:500;letter-spacing:-.06em;line-height:.98}
.legal-updated{margin:12px 0 0;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase}
.legal-introduction{max-width:720px;margin:clamp(18px,1.7vw,24px) 0 0;font-size:clamp(18px,1.5vw,21px);line-height:1.55}
.legal-content{margin-top:clamp(26px,2.7vw,38px)}
.legal-content section{padding:clamp(22px,2.3vw,32px) 0;border-top:1px solid #30272238}
.legal-content section:last-child{padding-bottom:0}
.legal-content h2{margin:0 0 15px;font-family:"Playfair Display",serif;font-size:clamp(26px,2.45vw,35px);font-weight:500;letter-spacing:-.045em;line-height:1.02}
.legal-content p,.legal-content li{font-size:16px;line-height:1.72}
.legal-content p{margin:0}
.legal-content p+p,.legal-content ul+p{margin-top:11px}
.legal-content ul{margin:11px 0 0;padding-left:1.25em}
.legal-content li+li{margin-top:7px}
.legal-content a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
.footer-legal nav>span{color:#f4f2ed;opacity:.45}
@media(max-width:760px){.legal-main{padding:96px 23px 58px}.legal-heading,.legal-content{width:100%}.legal-heading h1{font-size:30px}.legal-updated{margin-top:11px;line-height:1.5}.legal-introduction{margin-top:18px;font-size:18px}.legal-content{margin-top:26px}.legal-content section{padding:22px 0}.legal-content h2{margin-bottom:14px;font-size:27px}.legal-content p,.legal-content li{font-size:16px;line-height:1.65}}
