@charset "utf-8";

@font-face{font-family:'Caudex'; src:url(../Fonts/Caudex-Regular.ttf) format('truetype'); font-weight:400; font-style:normal; font-display:swap;}
@font-face{font-family:'Caudex'; src:url(../Fonts/Caudex-Bold.ttf) format('truetype'); font-weight:700; font-style:normal; font-display:swap;}
@font-face{font-family:'Montserrat'; src:url(../Fonts/Montserrat-Regular.ttf) format('truetype'); font-weight:400; font-style:normal; font-display:swap;}
@font-face{font-family:'Montserrat'; src:url(../Fonts/Montserrat-Medium.ttf) format('truetype'); font-weight:500; font-style:normal; font-display:swap;}
@font-face{font-family:'Montserrat'; src:url(../Fonts/Montserrat-SemiBold.ttf) format('truetype'); font-weight:600; font-style:normal; font-display:swap;}
@font-face{font-family:'Montserrat'; src:url(../Fonts/Montserrat-Bold.ttf) format('truetype'); font-weight:700; font-style:normal; font-display:swap;}

:root{
  --teal:#043738;
  --teal-dark:#032c2b;
  --gold:#C09B4D;
  --lime:#ABCD31;
  --purple:#7D4E9F;
  --orange:#F09926;
  --beige:#D9D1C4;
  --cream:#EDE6DA;
  --ink:#14332F;
  --grey-tile:#D7D7D9;

  --serif:'Caudex',Georgia,serif;
  --sans:'Montserrat',Arial,sans-serif;

  --h2:clamp(32px,2.4vw,46px);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:40px;}
body{margin:0; font-family:var(--sans); font-size:15px; line-height:1.55; color:var(--ink); background:#fff;}
h1,h2,h3{margin:0; font-family:var(--serif); font-weight:700;}
p{margin:0 0 16px;}
img{max-width:100%;}
ul{margin:0; padding:0; list-style:none;}
a{color:inherit; text-decoration:none; transition:all .3s ease;}
.sr-only{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}

.container{max-width:1410px; margin:0 auto; padding:0 20px; box-sizing:content-box;}

.btn{display:inline-flex; align-items:center; gap:clamp(10px,0.73vw,14px); padding:12px 28px; border-radius:50px; font-family:var(--sans); font-weight:500; font-size:clamp(14px,0.89vw,17px); line-height:1.2; white-space:nowrap; cursor:pointer;}
.btn .arr{width:clamp(30px,2.2vw,42px); height:17px; flex-shrink:0;}
.btn-gold{background:var(--gold); color:var(--teal);}
.btn-gold:hover{background:#ad8a41; color:var(--teal);}
.btn-shadow{box-shadow:4px 6px 10px rgba(0,0,0,.35);}
.btn-outline-light{border:1.5px solid #fff; color:#fff; background:transparent;}
.btn-outline-light:hover{background:rgba(255,255,255,.18); color:#fff;}
.btn-lime{background:var(--lime); color:#fff;}
.btn-lime:hover{background:#9cbd23; color:#fff;}
.btn-outline-teal{border:1.5px solid var(--teal); color:var(--teal); background:transparent;}
.btn-outline-teal:hover{background:rgba(4,55,56,.08);}

.dots{display:flex; gap:14px;}
.dots span{width:20px; height:20px; border-radius:50%; background:#fff;}
.dots span.is-active{background:var(--teal); box-shadow:0 0 0 3px #fff inset;}

.explore-dots,.pillars-dots{display:none;}

.swiper .swiper-button-prev,.swiper .swiper-button-next{width:clamp(38px,2.4vw,46px); height:clamp(38px,2.4vw,46px); border-radius:50%; background:#fff; color:var(--teal); box-shadow:0 4px 14px rgba(0,0,0,.3); opacity:0; transition:opacity .3s ease;}
.swiper .swiper-button-prev::after,.swiper .swiper-button-next::after{font-size:clamp(14px,0.9vw,17px); font-weight:700;}
.swiper.swiper-initialized:hover .swiper-button-prev,.swiper.swiper-initialized:hover .swiper-button-next{opacity:1;}
.swiper:not(.swiper-initialized) .swiper-button-prev,.swiper:not(.swiper-initialized) .swiper-button-next{display:none;}

.wave{display:block; line-height:0;}
.wave svg{display:block; width:100%; height:clamp(80px,7.3vw,140px);}

.site-header{position:sticky; top:0; z-index:100; background:linear-gradient(90deg,#011010 0%,#011313 29%,#022A2A 47%,#033131 57%,#043536 68%,#053738 78%);}
.head-row{display:flex; align-items:center; height:clamp(168px,13vw,250px); padding-right:clamp(24px,13.3vw,255px);}
.brand{flex-shrink:0; line-height:0;}
.brand img{display:block; width:clamp(380px,29.2vw,560px); height:auto;}

.main-nav{margin-left:clamp(4px,0.7vw,14px);}
.main-nav > ul{display:flex; align-items:center; gap:clamp(13px,1.35vw,26px);}
.main-nav a{font-size:clamp(13px,0.81vw,15.5px); font-weight:500; color:#fff; white-space:nowrap;}
.main-nav a:hover{color:var(--gold);}
.main-nav a.is-active{color:var(--gold); text-decoration:underline; text-underline-offset:6px;}

.main-nav li{position:relative;}
.has-sub > a::after{content:''; display:inline-block; margin-left:7px; width:6px; height:6px; border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor; transform:rotate(45deg) translate(-1px,-2px); vertical-align:middle; transition:transform .3s ease;}
.sub-menu{position:absolute; top:100%; left:0; z-index:60; min-width:230px; padding:10px 0; background:var(--teal-dark); border-radius:0 0 10px 10px; box-shadow:0 14px 26px rgba(0,0,0,.35); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .25s ease, transform .25s ease, visibility .25s ease;}
.main-nav li:hover > .sub-menu,.main-nav li:focus-within > .sub-menu{opacity:1; visibility:visible; transform:none;}
.sub-menu a{display:block; padding:9px 20px;}
.sub-menu .has-sub > a::after{transform:rotate(-45deg) translate(-2px,0);}
.sub-menu .sub-menu{top:-10px; left:100%; border-radius:0 10px 10px 10px; transform:translateX(8px);}

.head-cta{margin-left:auto;}

.head-social{display:flex; align-items:center; gap:clamp(6px,0.39vw,7.5px); margin-left:clamp(14px,1.35vw,26px);}
.head-social a{display:flex; align-items:center; justify-content:center; width:clamp(30px,2.031vw,39px); height:clamp(30px,2.031vw,39px); border-radius:50%; background:#fff;}
.head-social svg{width:100%; height:100%; fill:var(--teal-dark);}
.head-social a:hover{background:var(--gold);}

.nav-toggle{display:none; position:relative; width:34px; height:26px; margin-left:auto; padding:0; background:none; border:0; cursor:pointer;}
.nav-toggle span{position:absolute; left:0; right:0; top:50%; height:3px; margin-top:-1.5px; background:#fff; border-radius:2px; transition:transform .3s ease, opacity .3s ease;}
.nav-toggle span:nth-child(1){transform:translateY(-10px);}
.nav-toggle span:nth-child(3){transform:translateY(10px);}

.nav-toggle.is-open span:nth-child(1){transform:rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){opacity:0;}
.nav-toggle.is-open span:nth-child(3){transform:rotate(-45deg);}

.hero{position:relative; min-height:clamp(540px,40.6vw,780px); background:url(../images/web/hero-abbey.jpg) center 35%/cover no-repeat; overflow:hidden;}
.hero::before{content:""; position:absolute; inset:0; background:linear-gradient(100deg,rgba(3,44,43,.95) 0%,rgba(4,55,56,.72) 38%,rgba(4,55,56,.28) 68%,rgba(4,55,56,.12) 100%);}

.hero::after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:clamp(90px,7.8vw,150px); background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 150' preserveAspectRatio='none'><path d='M0 150 L0 120 C 560 150 900 20 1400 14 C 1650 12 1820 40 1920 20 L1920 150 Z' fill='%23EDE6DA'/></svg>") center/100% 100% no-repeat;}
.hero-inner{position:relative; z-index:2; padding-top:clamp(60px,5.2vw,100px);}
.hero h1{max-width:clamp(500px,39.6vw,760px); font-size:clamp(38px,3.33vw,64px); line-height:1.16; color:#fff;}
.hero .content p{max-width:clamp(420px,33.3vw,640px); margin:clamp(20px,1.77vw,34px) 0 0; font-size:clamp(16px,1.15vw,22px); line-height:1.55; color:#fff;}
.hero-btns{display:flex; gap:clamp(16px,1.35vw,26px); margin-top:clamp(28px,2.4vw,46px);}

.watch-story{position:absolute; right:clamp(60px,15.1vw,290px); bottom:clamp(90px,8.3vw,160px); z-index:3; display:flex; align-items:center; gap:14px; font-size:15px; font-weight:600; color:var(--cream);}
.watch-story .play{display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; border:2.5px solid var(--cream);}
.watch-story .play svg{width:22px; height:22px; fill:var(--cream);}
.watch-story:hover{color:var(--gold);}

.pillars{position:relative; background:var(--teal); padding-bottom:clamp(26px,4.45vw,85px);}

.pillars-swiper{margin-top:clamp(-105px,-5.5vw,-60px); position:relative; z-index:3;}

.pillar-row{display:grid; grid-template-columns:repeat(4,clamp(140px,10.16vw,195px)); column-gap:clamp(74px,6.3vw,121px); justify-content:center;}
.pillar{display:flex; flex-direction:column; align-items:flex-start; text-align:left;}
.pillar-circle{width:clamp(140px,10.16vw,195px); height:clamp(140px,10.16vw,195px); border-radius:50%; object-fit:cover; box-shadow:0 10px 22px rgba(0,0,0,.3);}

.pillar h3{width:auto; max-width:206px; margin:clamp(18px,1.35vw,26px) 0 0; font-family:var(--sans); font-weight:700; font-size:clamp(14px,0.86vw,16.5px); color:#fff;}
.pillar p{width:auto; max-width:206px; margin:10px 0 0; font-size:clamp(12px,0.71vw,13.5px); line-height:1.6; color:rgba(255,255,255,.87);}

.card-wrap{background:var(--teal); padding-bottom:clamp(66px,6.8vw,130px);}
.white-card{background:#fff; border-radius:26px; padding:clamp(40px,4.1vw,78px) clamp(28px,6vw,115px) clamp(36px,3.8vw,72px);}

.vision{display:grid; grid-template-columns:clamp(300px,22.9vw,440px) 1fr; column-gap:clamp(40px,5.7vw,110px); align-items:start;}
.vision-copy h2{font-size:var(--h2); color:var(--teal); margin-bottom:clamp(22px,1.7vw,32px);}
.vision-copy p{font-size:clamp(13.5px,0.81vw,15.5px); line-height:1.6; color:var(--ink);}
.vision-copy .btn{margin-top:clamp(16px,1.35vw,26px);}
.vision-photos{position:relative; min-height:clamp(355px,25.5vw,490px);}
.vision-photos .vp-back{position:absolute; top:0; right:0; width:clamp(330px,24.4vw,468px); height:clamp(345px,25.4vw,488px); object-fit:cover; object-position:center top;}
.vision-photos .vp-front{position:absolute; left:0; top:clamp(198px,14.6vw,280px); width:clamp(236px,17.5vw,335px); height:clamp(166px,12.2vw,235px); object-fit:cover; border:clamp(8px,0.63vw,12px) solid var(--cream); box-shadow:0 10px 26px rgba(0,0,0,.22);}

.explore{margin-top:clamp(34px,2.7vw,52px);}
.explore h2{font-size:var(--h2); color:var(--teal);}
.explore .content p{margin:clamp(11px,0.85vw,16px) 0 0; font-size:clamp(13.5px,0.81vw,15.5px); color:var(--ink);}

.tile-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:clamp(24px,2vw,38px);}
.tile{position:relative; height:clamp(275px,20.3vw,390px); margin:0; overflow:hidden;}
.tile img{display:block; width:100%; height:100%; object-fit:cover;}

.tile-grid .tile:nth-child(6) img{object-position:center 70%;}
.tile-num{position:absolute; top:14px; left:16px; font-family:var(--serif); font-size:clamp(17px,1.15vw,22px); color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.35);}
.tile figcaption{position:absolute; left:18px; bottom:14px; font-family:var(--serif); font-size:clamp(20px,1.4vw,27px); color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.45);}

.tile-hover{position:absolute; inset:0; display:flex; flex-direction:column; background:var(--purple); border-top:6px solid var(--lime); padding:14px clamp(16px,1.35vw,26px) 24px; opacity:0; transform:translateY(14px); transition:opacity .35s ease, transform .35s ease;}
.tile:hover .tile-hover,.tile:focus-within .tile-hover{opacity:1; transform:none;}

.tile.is-amphi .tile-hover{opacity:1; transform:none;}
.tile-hover .tile-num{position:static; display:block; text-shadow:none;}

.tile-hover h3{margin-top:auto; font-size:clamp(22px,1.56vw,30px); color:#fff;}
.tile-hover p{margin:clamp(9px,0.73vw,14px) 0 0; font-size:clamp(12px,0.7vw,13.5px); line-height:1.5; color:#fff;}

.hold-event{position:relative; padding:clamp(60px,5.2vw,100px) 0 clamp(48px,4.4vw,85px); background:url(../images/web/aerial-park.jpg) center 30%/cover no-repeat; text-align:center;}
.hold-event::before{content:""; position:absolute; inset:0; background:rgba(23,50,50,.72);}
.hold-event .container{position:relative;}
.hold-event h2{font-size:var(--h2); line-height:1.3; color:#fff;}
.hold-event p{margin:clamp(16px,1.35vw,26px) 0 0; font-size:clamp(13.5px,0.79vw,15px); line-height:1.6; color:#fff;}
.hold-event .btn{margin-top:clamp(24px,2.1vw,40px);}

.whats-on{background:var(--purple); padding-top:clamp(36px,2.8vw,54px);
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.045) 0 90px,rgba(255,255,255,0) 90px 200px);}
.whats-on > .container{max-width:1240px;}
.wo-head{display:flex; justify-content:space-between; align-items:flex-start; padding-bottom: 28px;}
.wo-head h2{font-size:clamp(34px,2.6vw,50px); color:#fff;}
.wo-head p{margin:clamp(16px,1.35vw,26px) 0 0; font-size:clamp(13.5px,0.79vw,15px); line-height:1.6; color:#fff;}
.wo-side{display:flex; flex-direction:column; align-items:flex-end; gap:clamp(16px,1.35vw,26px); padding-top:8px;}

.wo-swiper{margin:clamp(20px,1.5vw,28px) -24px -32px; padding:0 24px 32px;}
.wo-dots{justify-content:center; margin-top:clamp(18px,1.35vw,26px);}
@media (min-width:721px){
  .whats-on > .container{position:relative;}

  .dots.wo-dots{position:absolute; left:auto; right:20px; top:calc(52px + clamp(16px,1.35vw,26px)); bottom:auto; width:auto; margin:0;}
}
.event-card{position:relative; display:grid; grid-template-columns:clamp(340px,26.3vw,505px) 1fr; column-gap:clamp(26px,2.35vw,45px); margin-top:clamp(18px,1.35vw,26px); padding:24px; background:#fff; border-radius:18px; box-shadow:0 8px 20px rgba(0,0,0,.18);}
.swiper-slide .event-card:first-child{margin-top:0;}
.ev-photo{width:100%; height:clamp(186px,14vw,268px); object-fit:cover; border-radius:12px;}
.ev-copy{padding:clamp(4px,0.5vw,10px) clamp(180px,12vw,230px) 0 0;}
.ev-copy h3{font-size:clamp(28px,2.1vw,40px); color:#12312d;}
.ev-copy p{margin:clamp(12px,1.15vw,22px) 0 0; max-width:380px; font-size:clamp(13.5px,0.79vw,15px); line-height:1.55; color:#333;}
.ev-when{display:flex; align-items:center; gap:18px; margin-top:clamp(14px,1.35vw,26px);}
.date-badge{display:flex; flex-direction:column; align-items:center; justify-content:center; width:68px; height:68px; border-radius:8px; background:var(--teal); color:#fff; font-weight:700; font-size:15px; line-height:1.15;}
.date-badge b{font-size:19px;}
.date-badge sup{font-size:10px;}
.ev-when p{margin:0; font-weight:700; font-size:clamp(13.5px,0.79vw,15px); line-height:1.5; color:#12312d;}
.ev-book{position:absolute; right:clamp(30px,2.9vw,56px); top:clamp(80px,6.1vw,118px); min-width:clamp(160px,10.4vw,200px); justify-content:center;}

.whats-on .wave-white svg{height:clamp(66px,5vw,96px);}

.rise-cafe{padding:clamp(22px,1.7vw,32px) 0 clamp(18px,1.6vw,30px); text-align:center;}
.rise-cafe h2{font-size:clamp(36px,2.8vw,54px); color:var(--teal);}
.rise-cafe .content p{margin:0 0 16px; font-size:clamp(13.5px,0.79vw,15px); line-height:1.6;}
.rise-cafe .content p:first-child{margin:clamp(14px,1.15vw,22px) 0 20px;}
.blob-row{display:flex; justify-content:center; align-items:flex-start; margin-top:8px;}
.blob-row img{display:block; width:clamp(714px,52.6vw,1010px);}
.rise-cafe .btn{margin-top:clamp(18px,1.5vw,28px);}

.abbey{background:var(--teal); padding-bottom:0;}
.abbey .container{max-width:1240px;}
.abbey .wave-teal{margin-top:-1px; background:#fff;}
.abbey .wave-teal svg{height:clamp(90px,7.8vw,150px);}
.abbey-row{display:grid; grid-template-columns:clamp(320px,23.4vw,450px) 1fr; column-gap:clamp(50px,5.2vw,100px); align-items:start; padding-top:clamp(8px,0.73vw,14px); padding-bottom:0;}
.abbey-copy h2{font-size:var(--h2); color:#fff; margin-bottom:clamp(24px,2.1vw,40px);}
.abbey-copy p{font-size:clamp(13.5px,0.79vw,15px); line-height:1.6; color:#fff;}
.abbey-copy .btn{margin-top:clamp(18px,1.55vw,30px); margin-bottom:clamp(16px,1.25vw,24px);}

.abbey-art{position:relative; width:clamp(448px,33.3vw,640px); margin-left:auto; padding-top:clamp(63px,4.7vw,90px); font-size:clamp(0.7px,0.052vw,1px);}
.abbey-art img{display:block; width:100%;}
.fact{position:absolute;}
.fact-label{font-family:var(--serif); font-size:clamp(19px,1.4vw,27px); color:var(--gold); white-space:nowrap;}
.fact-line{position:absolute; width:1.5px; background:var(--gold);}
.fact-dot{position:absolute; width:10px; height:10px; border-radius:50%; background:var(--gold);}

.fact-1{left:10em; top:38em;}
.fact-1 .fact-line{left:118em; top:16px; height:122em;}
.fact-1 .fact-dot{left:114em; top:calc(16px + 118em);}
.fact-2{left:196em; top:142em;}
.fact-2 .fact-line{left:112em; top:18px; height:126em;}
.fact-2 .fact-dot{left:108em; top:calc(18px + 122em);}
.fact-3{left:390em; top:0;}
.fact-3 .fact-line{left:110em; top:18px; height:128em;}
.fact-3 .fact-dot{left:106em; top:calc(18px + 124em);}

.gallery{max-width:100%; margin:0 auto;}
.gallery-swiper .swiper-wrapper{transition-timing-function:linear;}
.g-tile{display:flex; align-items:center; justify-content:center; height:clamp(270px,20vw,385px); background:#fff;}
.g-tile.alt{background:var(--grey-tile);}
.g-tile svg{width:clamp(80px,5.7vw,110px); height:clamp(80px,5.7vw,110px); color:#c3c3c7;}
.g-tile.alt svg{color:#fff;}

.news{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='1400'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.10' stroke-width='44'%3E%3Ccircle cx='700' cy='700' r='90'/%3E%3Ccircle cx='700' cy='700' r='185'/%3E%3Ccircle cx='700' cy='700' r='280'/%3E%3Ccircle cx='700' cy='700' r='375'/%3E%3Ccircle cx='700' cy='700' r='470'/%3E%3Ccircle cx='700' cy='700' r='565'/%3E%3Ccircle cx='700' cy='700' r='660'/%3E%3C/g%3E%3C/svg%3E") no-repeat left -520px top -260px / 1400px 1400px,
  var(--orange); padding:clamp(26px,2.3vw,44px) 0 clamp(26px,2.3vw,44px); text-align:center;
  background-image:repeating-radial-gradient(circle at -8% 30%,rgba(255,255,255,.05) 0 70px,rgba(255,255,255,0) 70px 160px);}
.news h2{font-size:var(--h2); color:var(--teal);}
.news > .container > .content p{margin:clamp(14px,1.35vw,26px) 0 0; font-size:clamp(13.5px,0.79vw,15px); line-height:1.6; color:#123a35;}

.news-swiper{margin:clamp(21px,1.7vw,32px) -24px -32px; padding:0 24px 32px;}
.blog-card{background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 8px 20px rgba(0,0,0,.15); text-align:left;}
.blog-card > img{display:block; width:100%; height:clamp(160px,12vw,230px); object-fit:cover;}
.blog-body{padding:18px clamp(18px,1.45vw,28px) 24px;}
.blog-body h3{font-size:clamp(20px,1.35vw,26px); color:#12312d;}
.blog-body p{margin:10px 0 0; font-size:13px; line-height:1.5; color:#333;}
.read-more{display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-size:13px; font-weight:700; color:#12312d;}
.read-more svg{width:14px; height:14px;}
.read-more:hover{color:var(--teal);}
.news-dots{justify-content:center; margin-top:clamp(18px,1.35vw,26px);}

.join{margin-top:clamp(24px,2vw,38px);}
.join p{margin:clamp(12px,1.05vw,20px) 0 0; font-size:clamp(13.5px,0.79vw,15px); line-height:1.6; color:#123a35;}
.join-form{display:flex; justify-content:center; margin-top:clamp(20px,1.55vw,30px);}
.join-form input{width:clamp(320px,24.5vw,470px); height:clamp(54px,3.3vw,64px); padding:0 30px; border:0; border-radius:40px 0 0 40px; font-family:var(--sans); font-size:clamp(15px,0.89vw,17px); color:var(--ink); background:#fff;}
.join-form input::placeholder{color:#8a8a8a;}
.join-form button{height:clamp(54px,3.3vw,64px); padding:0 clamp(28px,2.3vw,44px); border:0; border-radius:0 40px 40px 0; background:var(--teal); font-family:var(--sans); font-size:clamp(15px,0.89vw,17px); color:#fff; cursor:pointer;}
.join-form button:hover{background:#065a56;}
.join-social{display:flex; justify-content:center; gap:clamp(6px,0.39vw,7.5px); margin-top:clamp(18px,1.45vw,28px);}
.join-social a{display:flex; align-items:center; justify-content:center; width:clamp(30px,2.031vw,39px); height:clamp(30px,2.031vw,39px); border-radius:50%; background:var(--teal);}
.join-social svg{width:100%; height:100%; fill:var(--orange);}
.join-social a:hover{background:#065a56;}

.partners{padding:clamp(20px,1.6vw,30px) 0 clamp(12px,1vw,18px); text-align:center;}
.partners h2{font-size:var(--h2); color:var(--teal); margin-bottom:clamp(18px,1.45vw,28px);}
.partner-row{display:flex; align-items:center; justify-content:center; gap:clamp(22px,2.2vw,42px);}
.partner-row img{display:block; width:auto; height:clamp(42px,3.8vw,72px);}
.partner-row li:nth-child(1) img{height:clamp(38px,3.33vw,64px);}
.partner-row li:nth-child(2) img{height:clamp(50px,4.5vw,86px);}
.partner-row li:nth-child(3) img{height:clamp(44px,4vw,76px);}
.partner-row li:nth-child(4) img{height:clamp(36px,3.23vw,62px);}
.partner-row li:nth-child(5) img{height:clamp(34px,3vw,58px);}
.partner-row li:nth-child(6) img{height:clamp(43px,3.85vw,74px);}
.partner-row li:nth-child(7) img{height:clamp(41px,3.65vw,70px);}

.map img{display:block; width:100%; height:auto;}

.plan{background:var(--beige); padding:clamp(34px,3vw,58px) 0 clamp(30px,2.7vw,52px); text-align:center;}
.plan h2{font-size:var(--h2); color:var(--teal);}
.plan .content p{margin:clamp(12px,1.15vw,22px) 0 0; font-size:clamp(13.5px,0.79vw,15px); color:#123a35;}

.plan-swiper{margin-top:clamp(26px,2.2vw,42px);}
.plan-row{text-align:left;}
.plan-item{display:flex; flex-direction:column; align-items:flex-start; padding:0 10px 0 clamp(20px,3.1vw,60px);}
.plan-icon{width:clamp(44px,3vw,58px); height:clamp(44px,3vw,58px); color:var(--teal);}
.plan-item h3{margin-top:clamp(16px,1.35vw,26px); font-size:clamp(18px,1.2vw,23px); color:var(--teal);}
.plan-item p{margin:clamp(9px,0.73vw,14px) 0 0; font-size:clamp(12px,0.7vw,13.5px); line-height:1.55; color:#123a35;}
.plan-dots{justify-content:center; margin-top:clamp(25px,2vw,39px);}
.plan-dots span{box-shadow:0 0 0 2px rgba(4,55,56,.25);}
.plan-btns{display:flex; justify-content:center; gap:clamp(18px,1.45vw,28px); margin-top:clamp(25px,2vw,39px);}

.faqs{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='1400'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.09' stroke-width='44'%3E%3Ccircle cx='700' cy='700' r='90'/%3E%3Ccircle cx='700' cy='700' r='185'/%3E%3Ccircle cx='700' cy='700' r='280'/%3E%3Ccircle cx='700' cy='700' r='375'/%3E%3Ccircle cx='700' cy='700' r='470'/%3E%3Ccircle cx='700' cy='700' r='565'/%3E%3Ccircle cx='700' cy='700' r='660'/%3E%3C/g%3E%3C/svg%3E") no-repeat right -420px center / 1400px 1400px,
  var(--teal);
  padding:clamp(50px,4.5vw,86px) 0 clamp(30px,2.6vw,50px);}
.faqs h2{text-align:center; font-size:clamp(30px,2.2vw,42px); color:var(--gold); margin-bottom:clamp(32px,2.9vw,55px);}
.faq-list{max-width:1240px; margin:0 auto;}
.faq-item + .faq-item{margin-top:clamp(17px,1.25vw,24px);}
.faq-head{display:flex; align-items:center; justify-content:space-between; width:100%; padding:clamp(13px,0.9vw,17px) clamp(20px,1.55vw,30px); border:0; border-radius:10px; background:rgba(255,255,255,.18); font-family:var(--serif); font-size:clamp(18px,1.25vw,24px); color:var(--gold); text-align:left; cursor:pointer;}
.faq-head:hover{background:rgba(255,255,255,.26);}
.faq-head .chev{width:26px; height:26px; transition:transform .3s ease;}
.faq-item.is-open .faq-head .chev{transform:rotate(180deg);}
.faq-panel{max-height:0; overflow:hidden; transition:max-height .35s ease; color:#fff; font-size:15px; line-height:1.6; padding:0 30px;}
.faq-item.is-open .faq-panel{max-height:400px; padding:16px 30px 22px;}

.site-footer{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='1400'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.08' stroke-width='44'%3E%3Ccircle cx='700' cy='700' r='90'/%3E%3Ccircle cx='700' cy='700' r='185'/%3E%3Ccircle cx='700' cy='700' r='280'/%3E%3Ccircle cx='700' cy='700' r='375'/%3E%3Ccircle cx='700' cy='700' r='470'/%3E%3Ccircle cx='700' cy='700' r='565'/%3E%3Ccircle cx='700' cy='700' r='660'/%3E%3C/g%3E%3C/svg%3E") no-repeat left -560px bottom -560px / 1400px 1400px,
  var(--teal);
  padding:clamp(36px,3.2vw,62px) 0 clamp(40px,3.5vw,68px);}
.ft-row{display:grid; grid-template-columns:clamp(280px,21.9vw,420px) 1fr clamp(260px,19.8vw,380px); align-items:start; column-gap:clamp(30px,3.1vw,60px);}
.ft-brand img{display:block; width:clamp(280px,20.3vw,390px); height:auto;}
.ft-mid{padding-top:10px;}
.ft-social{display:flex; gap:clamp(6px,0.39vw,7.5px);}
.ft-social a{display:flex; align-items:center; justify-content:center; width:clamp(30px,2.031vw,39px); height:clamp(30px,2.031vw,39px); border-radius:50%; background:var(--gold);}
.ft-social svg{width:100%; height:100%; fill:var(--teal);}
.ft-social a:hover{background:#ad8a41;}
.ft-links{margin-top:clamp(16px,1.35vw,26px);}
.ft-links li{margin-bottom:10px;}
.ft-links a{font-size:15px; color:#fff;}
.ft-links a:hover{color:var(--gold); text-decoration:underline;}
.ft-contact{padding-top:12px;}
.ft-contact p{margin:0 0 18px; font-size:16px; color:#fff; line-height:1.6;}
.ft-contact a{color:var(--gold);}
.ft-contact a:hover{text-decoration:underline;}
.ft-contact p:last-child{margin-top:clamp(16px,1.35vw,26px); margin-bottom:0;}

@media (max-width:1199px){
  .head-row{height:110px; flex-wrap:nowrap; padding-right:20px;}
  .brand img{width:250px;}
  .main-nav{display:none; position:absolute; top:110px; left:0; right:0; z-index:50; margin:0; background:var(--teal-dark); padding:10px 0 20px;}
  .main-nav.is-open{display:block;}
  .main-nav > ul{flex-direction:column; align-items:flex-start; gap:0;}
  .main-nav > ul > li{width:100%;}
  .main-nav a{display:block; padding:12px 24px; font-size:17px;}

  .sub-menu{position:static; display:none; opacity:1; visibility:visible; transform:none; min-width:0; padding:0; border-radius:0; box-shadow:none; background:rgba(0,0,0,.22);}
  .main-nav li.is-sub-open > .sub-menu{display:block;}
  .sub-menu a{padding:11px 24px 11px 42px; font-size:16px;}
  .sub-menu .sub-menu a{padding-left:62px; font-size:15px;}
  .sub-menu .has-sub > a::after{transform:rotate(45deg) translate(-1px,-2px);}
  .main-nav .has-sub.is-sub-open > a::after{transform:rotate(225deg) translate(-1px,-2px);}
  .head-cta,.head-social{display:none;}
  .site-header{position:relative;}
  .nav-toggle{display:flex;}

  .hero{min-height:560px;}
  .hero h1{font-size:42px;}
  .hero-inner{padding-top:70px;}
  .pillar-row{grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:clamp(20px,3.2vw,44px);}
  .pillar-circle{width:min(170px,100%); height:auto;}
  .pillar h3,.pillar p{max-width:min(206px,100%);}
  .vision{grid-template-columns:1fr;}
  .vision-photos{margin-top:50px; min-height:0; display:flex; gap:20px; flex-wrap:wrap;}
  .vision-photos .vp-back,.vision-photos .vp-front{position:static; width:100%; max-width:468px; height:auto;}
  .tile-grid{grid-template-columns:repeat(2,1fr);}
  .tile{height:340px;}
  .wo-head{flex-direction:column; gap:30px;}
  .wo-side{align-items:flex-start;}
  .event-card{grid-template-columns:1fr;}
  .ev-photo{height:clamp(200px,30vw,300px);}
  .ev-copy{padding-right:0;}
  .ev-book{position:static; margin-top:20px; justify-self:start;}
  .blob-row{flex-wrap:wrap;}
  .abbey-row{grid-template-columns:1fr;}
  .abbey-art{margin:0 auto; width:min(640px,100%); font-size:min(1px,0.15vw);}
  .plan-item{padding-left:0;}
  .ft-row{grid-template-columns:1fr; row-gap:44px;}
}

@media (max-width:720px){
  .hero h1{font-size:34px;}
  .hero-sub{font-size:18px;}
  .hero-btns{flex-wrap:wrap;}
  .watch-story{position:static; margin-top:40px;}
  .white-card{padding:44px 24px 56px;}

  .tile-grid{display:flex; gap:0;}
  .tile{height:390px;}
  .explore-dots{display:flex; justify-content:center; margin-top:22px;}
  .explore-dots span{background:var(--grey-tile);}
  .wo-head h2,.news h2,.plan h2,.rise-cafe h2,.abbey-copy h2,.vision-copy h2,.explore h2,.hold-event h2{font-size:32px;}
  .g-tile{height:240px;}
  .join-form{flex-direction:column; align-items:stretch; gap:14px;}
  .join-form input,.join-form button{width:100%; border-radius:40px;}
  .partner-row{flex-wrap:wrap;}
  .faq-head{font-size:19px;}
}

@media (max-width:767.98px){
  .pillar-row{display:flex; gap:0;}
  .pillar-circle{width:min(160px,42vw); height:min(160px,42vw);}
  .pillars-dots{display:flex; justify-content:center; margin-top:26px;}

  .dots{gap:10px;}
  .dots span{width:14px; height:14px;}
  .dots span.is-active{box-shadow:0 0 0 2px #fff inset;}
}

@media (max-width:767.98px){
  .pillar{align-items:center; text-align:center;}
  .pillar h3,.pillar p{max-width:260px;}
}
