
/* Solé — Wedding Toast page (blocks lazyblock/wedding-*). Loaded only on pages that contain one of them. */
.sole-wt{
  --sw-deep:#0b3f42; --sw-deep-2:#104b4e; --sw-deep-3:#072e30; --sw-cream:#fffaf0; --sw-sun:#FEA700; --sw-shell:#857A4A;
  --sw-rule:rgba(11,63,66,.18); --sw-rule-light:rgba(255,250,240,.18);
  --serif:Georgia,"Times New Roman",serif; --labor:"Labor","Inter",Arial,Helvetica,sans-serif; --sans:"Inter",Arial,Helvetica,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  position:relative;width:100%;color:var(--sw-deep);font-family:var(--sans);font-size:17px;line-height:1.55;background:var(--sw-cream);overflow-x:clip;
}
.sole-wt,.sole-wt *,.sole-wt *::before,.sole-wt *::after{box-sizing:border-box}
/* Theme globals (style.css) that would leak into the blocks: headings margin/size, p colour/line-height, strong colour/font */
:where(.sole-wt) :is(h1,h2,h3,p,figure,blockquote){margin:0} /* zero specificity: class rules below set their own margins */
.sole-wt.sole-wt p{line-height:inherit}
.sole-wt strong{color:inherit;font-family:inherit;letter-spacing:inherit}
.sole-wt a{white-space:normal}
.sole-wt .sole-wt-btn,.sole-wt .sole-wt-link{white-space:nowrap}
.sole-wt img{display:block;max-width:100%;height:auto}
.sole-wt a{color:inherit;text-decoration:none}
.sole-wt a:focus-visible,.sole-wt button:focus-visible,.sole-wt summary:focus-visible{outline:2px solid var(--sw-sun);outline-offset:4px}
.sole-wt-container{width:min(100%,1460px);margin-inline:auto;padding-inline:80px}
.sole-wt-eyebrow{margin:0 0 20px;font-family:var(--labor);font-size:13px;line-height:1.2;letter-spacing:2.5px;text-transform:uppercase;color:var(--sw-sun)}
.sole-wt-heading{margin:0;max-width:560px;font-family:var(--serif);font-weight:400;letter-spacing:-.025em;font-size:clamp(42px,3.7vw,64px);line-height:.96;color:var(--sw-deep)}
.sole-wt-heading--light{color:var(--sw-cream)}
.sole-wt-copy,.sole-wt .sole-wt-copy p{margin:0;color:var(--sw-shell);font-size:17px;line-height:1.55}
.sole-wt .sole-wt-copy p+p{margin-top:14px}
.sole-wt-copy--light,.sole-wt .sole-wt-copy--light p{color:rgba(255,250,240,.78)}
.sole-wt-link{display:inline-flex;align-items:center;gap:10px;font-family:var(--labor);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--sw-deep);position:relative;padding-bottom:6px}
.sole-wt-link::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.35;transform-origin:left;transition:transform .5s var(--ease)}
.sole-wt-link:hover::before{transform:scaleX(0);transform-origin:right}
.sole-wt-link::after{content:"↗";font-family:Arial,sans-serif;color:var(--sw-sun);font-size:14px;transition:transform .4s var(--ease)}
.sole-wt-link:hover::after{transform:translate(3px,-3px)}
.sole-wt-link--light{color:var(--sw-cream)}
.sole-wt-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:0 24px;background:var(--sw-sun);color:var(--sw-deep);font-family:var(--labor);font-size:11px;letter-spacing:1.8px;text-transform:uppercase}
.sole-wt-btn>*{position:relative;z-index:1}
.sole-wt-btn::before{content:"";position:absolute;inset:0;background:var(--sw-cream);transform:translateY(101%);transition:transform .5s var(--ease)}
.sole-wt-btn:hover::before{transform:translateY(0)}
.sole-wt-btn::after{content:"↗";position:relative;z-index:1;font-family:Arial,sans-serif;font-size:20px;transition:transform .4s var(--ease)}
.sole-wt-btn:hover::after{transform:translate(3px,-3px)}

/* reveal */
.sole-wt-js .sole-wt-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.sole-wt-reveal.is-in{opacity:1;transform:none}
.sole-wt-reveal-img{position:relative;overflow:hidden}
.sole-wt-js .sole-wt-reveal-img::before{content:"";position:absolute;inset:0;z-index:3;background:var(--curtain,var(--sw-cream));transform:scaleY(1);transform-origin:top;transition:transform 1.1s var(--ease);pointer-events:none}
.sole-wt-reveal-img.is-in::before{transform:scaleY(0)}
.sole-wt-high{--curtain:#0b3f42}
.sole-wt-reveal-img img{transform:scale(1.12);transition:transform 1.6s var(--ease)}
.sole-wt-reveal-img.is-in img{transform:scale(1)}
.sole-wt [data-d="1"]{transition-delay:.12s}.sole-wt [data-d="2"]{transition-delay:.24s}.sole-wt [data-d="3"]{transition-delay:.36s}

/* HERO */
.sole-wt-hero{position:relative;min-height:100vh;min-height:100svh;background:var(--sw-deep);color:var(--sw-cream);overflow:hidden;display:grid}
.sole-wt-hero__bg{position:absolute;inset:0}
.sole-wt-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:35% 50%;transform:scale(1.08);animation:sole-wt-kb 18s var(--ease) forwards}
@keyframes sole-wt-kb{to{transform:scale(1)}}
.sole-wt-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(7,46,48,.94) 0%,rgba(7,46,48,.84) 36%,rgba(7,46,48,.3) 62%,rgba(7,46,48,.25) 100%),linear-gradient(0deg,rgba(7,46,48,.85) 0%,transparent 35%)}
.sole-wt-hero__content{position:relative;z-index:1;align-self:center;justify-self:end;padding:140px 80px 160px;max-width:860px;width:100%}
.sole-wt-hero__kicker{display:block;margin:0 0 28px;font-size:14px;letter-spacing:3px}
.sole-wt-hero__title{margin:0;max-width:720px;font-family:var(--serif);font-weight:400;font-size:clamp(56px,7vw,118px);line-height:.92;letter-spacing:-.04em;color:var(--sw-cream)}
.sole-wt-hero__title .sole-wt-w{display:inline-block;overflow:hidden;vertical-align:bottom}
.sole-wt-js .sole-wt-hero__title .sole-wt-w span{display:inline-block;transform:translateY(110%);animation:sole-wt-up 1.1s var(--ease) forwards}
.sole-wt-hero__title .sole-wt-w:nth-child(2) span{animation-delay:.08s}.sole-wt-hero__title .sole-wt-w:nth-child(3) span{animation-delay:.16s}.sole-wt-hero__title .sole-wt-w:nth-child(4) span{animation-delay:.24s}.sole-wt-hero__title .sole-wt-w:nth-child(5) span{animation-delay:.32s}
@keyframes sole-wt-up{to{transform:none}}
.sole-wt-hero__desc{max-width:480px;margin-top:30px;color:rgba(255,250,240,.84);font-size:18px}
.sole-wt-js .sole-wt-hero__desc{opacity:0;animation:sole-wt-fade 1s .5s var(--ease) forwards}
.sole-wt-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:38px}
.sole-wt-js .sole-wt-hero__actions{opacity:0;animation:sole-wt-fade 1s .7s var(--ease) forwards}
.sole-wt-hero__actions .sole-wt-btn{width:270px}
@keyframes sole-wt-fade{to{opacity:1}}
.sole-wt-hero__meta{position:absolute;z-index:1;left:80px;right:80px;bottom:120px;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:flex-end;font-family:var(--labor);font-size:11px;letter-spacing:1.45px;text-transform:uppercase;color:rgba(255,250,240,.7)}
.sole-wt-js .sole-wt-hero__meta{opacity:0;animation:sole-wt-fade 1s 1s var(--ease) forwards}
.sole-wt-hero__scroll{display:flex;align-items:center;gap:12px}
.sole-wt-hero__scroll i{display:block;width:1px;height:48px;background:rgba(255,250,240,.5);position:relative;overflow:hidden}
.sole-wt-hero__scroll i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--sw-sun);animation:sole-wt-drop 2.2s var(--ease) infinite}
@keyframes sole-wt-drop{to{top:100%}}
.sole-wt-mark{position:absolute;left:80px;bottom:200px;width:110px;opacity:.9;animation:sole-wt-spin 40s linear infinite}
@keyframes sole-wt-spin{to{transform:rotate(360deg)}}

/* TICKER */
.sole-wt-ticker{position:absolute;left:0;right:0;bottom:0;z-index:2;background:var(--sw-sun);color:var(--sw-deep);overflow:hidden;min-height:72px;display:flex;align-items:center;border-top:1px solid rgba(11,63,66,.12)}
.sole-wt-ticker__track{display:flex;gap:0;white-space:nowrap;animation:sole-wt-tick 38s linear infinite;will-change:transform}
.sole-wt-ticker:hover .sole-wt-ticker__track{animation-play-state:paused}
.sole-wt-ticker__track span{display:inline-flex;align-items:center;gap:28px;padding:0 28px;font-family:var(--labor);font-size:14px;letter-spacing:1.8px;text-transform:uppercase}
.sole-wt-ticker__track span::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--sw-deep);opacity:.55}
@keyframes sole-wt-tick{to{transform:translateX(-50%)}}

/* INTRO */
.sole-wt-intro{padding:150px 0 140px;background:var(--sw-cream);position:relative}
.sole-wt-intro__grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(390px,1.14fr);gap:clamp(70px,8vw,135px);align-items:center}
.sole-wt-intro__content{max-width:470px}
.sole-wt-intro .sole-wt-copy{max-width:440px;margin-top:28px;font-size:19px;line-height:1.5}
.sole-wt-intro .sole-wt-link{margin-top:28px}
.sole-wt-intro__media{position:relative;margin:0;padding-top:30px;padding-right:18px;max-width:610px;justify-self:end}
.sole-wt-intro__media::before{content:"";position:absolute;inset:0 0 auto auto;width:48%;height:34%;border-top:2px solid var(--sw-sun);border-right:2px solid var(--sw-sun)}
.sole-wt-intro__frame{overflow:hidden}
.sole-wt-intro__media img{width:100%;aspect-ratio:.92/1;object-fit:cover;object-position:center 70%;will-change:transform}
.sole-wt-caption{margin-top:10px;color:var(--sw-shell);font-family:var(--labor);font-size:11px;letter-spacing:1.35px;text-transform:uppercase}
.sole-wt-intro__big{position:absolute;left:0;right:0;top:36px;text-align:center;font-family:var(--serif);font-size:clamp(120px,22vw,300px);line-height:1;color:var(--sw-sun);opacity:.08;letter-spacing:-.05em;pointer-events:none;user-select:none}

/* HIGHLIGHTS */
.sole-wt-high{padding:120px 0 130px;background:var(--sw-deep);color:var(--sw-cream)}
.sole-wt-high__header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:70px;align-items:end;margin-bottom:48px}
.sole-wt-high__intro{max-width:390px;justify-self:end}
.sole-wt-high__grid{display:grid;grid-template-columns:minmax(0,1.46fr) minmax(320px,1fr);grid-template-rows:1fr 1fr;gap:22px}
.sole-wt-card{position:relative;min-height:245px;overflow:hidden;background:var(--sw-deep-2)}
.sole-wt-card--large{grid-row:1/span 2;min-height:560px}
.sole-wt-card.sole-wt-reveal-img::before{z-index:5}
.sole-wt-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.sole-wt-card:hover img{transform:scale(1.06)}
.sole-wt-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,24,25,.01) 35%,rgba(4,24,25,.82) 100%)}
.sole-wt-card__overlay{position:absolute;z-index:2;inset:auto 0 0;padding:26px 28px;transform:translateY(8px);transition:transform .6s var(--ease)}
.sole-wt-card:hover .sole-wt-card__overlay{transform:none}
.sole-wt-card__label{display:block;margin-bottom:8px;font-family:var(--labor);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sw-sun)}
.sole-wt-card h3{margin:0;font-family:var(--serif);font-weight:400;font-size:28px;line-height:1;letter-spacing:-.025em;color:var(--sw-cream)}
.sole-wt .sole-wt-card p{max-width:430px;margin:8px 0 0;color:rgba(255,250,240,.73);font-size:16px;line-height:1.5;opacity:0;transition:opacity .6s var(--ease)}
.sole-wt .sole-wt-card:hover p{opacity:1}
.sole-wt .sole-wt-card--large p{opacity:1}

/* EXPERIENCES */
.sole-wt-menu{padding:120px 0 130px;background:var(--sw-deep-3);color:var(--sw-cream)}
.sole-wt-menu__header{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:70px;align-items:end;margin-bottom:60px}
.sole-wt-menu__header .sole-wt-copy{max-width:390px;justify-self:end;padding-bottom:4px}
.sole-wt-exp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--sw-rule-light);border-left:1px solid var(--sw-rule-light)}
.sole-wt-x{position:relative;padding:36px 28px 40px;border-right:1px solid var(--sw-rule-light);border-bottom:1px solid var(--sw-rule-light);display:flex;flex-direction:column;min-height:560px;transition:background .6s var(--ease)}
.sole-wt-x::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--sw-sun);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.sole-wt-x:hover{background:var(--sw-deep-2)}
.sole-wt-x:hover::before{transform:scaleX(1)}
.sole-wt-x__num{font-family:var(--serif);font-size:clamp(64px,6vw,96px);line-height:.8;color:var(--sw-sun);letter-spacing:-.04em;margin-bottom:28px}
.sole-wt-x h3{margin:0 0 8px;font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.05;letter-spacing:-.025em;color:var(--sw-cream)}
.sole-wt-x__meta{display:block;margin-bottom:22px;font-family:var(--labor);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,250,240,.5)}
.sole-wt .sole-wt-x p{margin:0;color:rgba(255,250,240,.7);font-size:15.5px;line-height:1.55;flex:1}
.sole-wt-x__price{margin-top:30px;padding-top:22px;border-top:1px solid var(--sw-rule-light)}
.sole-wt-x__price strong{display:block;font-family:var(--serif);font-weight:400;font-size:34px;line-height:1;color:var(--sw-sun)}
.sole-wt-x__price span{display:block;margin-top:8px;font-size:12.5px;color:rgba(255,250,240,.55)}
.sole-wt-x__tag{position:absolute;top:28px;right:28px;font-family:var(--labor);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sw-deep);background:var(--sw-sun);padding:6px 10px}
.sole-wt-menu__note{margin-top:40px;max-width:760px;color:rgba(255,250,240,.55);font-size:14px;line-height:1.6}

/* VALUES */
.sole-wt-values{padding:130px 0 130px;background:var(--sw-cream)}
.sole-wt-values__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1fr) minmax(0,.7fr);gap:clamp(48px,6vw,96px);align-items:start}
.sole-wt-values__img{margin:0;align-self:stretch}
.sole-wt-values__img img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center 60%}
.sole-wt-values__grid .sole-wt-heading{max-width:430px;font-size:clamp(40px,3.4vw,58px)}
.sole-wt-values__grid .sole-wt-copy{margin-top:26px;max-width:400px}
.sole-wt-value{display:grid;grid-template-columns:38px minmax(0,1fr);gap:16px;padding:22px 0 24px;border-bottom:1px solid var(--sw-rule)}
.sole-wt-value:first-child{padding-top:0}
.sole-wt-value__num{color:var(--sw-sun);font-family:var(--labor);font-size:12px;padding-top:6px}
.sole-wt-value h3{margin:0 0 6px;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.12;letter-spacing:-.025em;color:var(--sw-deep)}
.sole-wt .sole-wt-value p{margin:0;color:var(--sw-shell)}
.sole-wt-quote{margin-top:56px;padding:34px 0 0;border-top:1px solid var(--sw-rule);font-family:var(--serif);font-size:clamp(22px,1.9vw,28px);line-height:1.3;letter-spacing:-.015em;color:var(--sw-deep);max-width:520px}
.sole-wt-quote small{display:block;margin-top:16px;font-family:var(--labor);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sw-shell)}

/* BAND */
.sole-wt-band{position:relative;min-height:88vh;min-height:88svh;display:grid;align-items:center;background:var(--sw-deep);color:var(--sw-cream);overflow:hidden}
.sole-wt-band__img{position:absolute;inset:-12% 0;will-change:transform}
.sole-wt-band__img img{width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:.62}
.sole-wt-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,25,.05) 0%,rgba(4,24,25,.55) 45%,rgba(4,24,25,.9) 100%)}
.sole-wt-band .sole-wt-container{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;padding-top:100px;padding-bottom:100px}
.sole-wt-band__text{grid-column:2}
.sole-wt-band .sole-wt-heading{max-width:560px;font-size:clamp(44px,4.2vw,72px)}
.sole-wt-band .sole-wt-copy{margin-top:26px;max-width:480px;font-size:18px}
.sole-wt-band__mark{position:absolute;z-index:1;left:-6%;top:50%;width:min(40vw,480px);transform:translateY(-50%);opacity:.09;animation:sole-wt-spin 60s linear infinite reverse}

/* GALLERY */
.sole-wt-gallery{padding:110px 0 120px;background:var(--sw-cream);overflow:hidden}
.sole-wt-gallery__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}
.sole-wt-gallery__count{font-family:var(--labor);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sw-shell)}
.sole-wt-strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:80px;padding:0 80px 24px;margin:0 -80px;scrollbar-width:none;cursor:grab}
.sole-wt-strip::-webkit-scrollbar{display:none}
.sole-wt-strip.drag{cursor:grabbing;scroll-snap-type:none}
.sole-wt-strip figure{flex:0 0 auto;margin:0;scroll-snap-align:start;overflow:hidden;position:relative}
.sole-wt-strip figure img{height:clamp(380px,52vh,620px);width:auto;object-fit:cover;transition:transform 1.2s var(--ease)}
.sole-wt-strip figure:hover img{transform:scale(1.04)}
.sole-wt-strip figcaption{margin-top:12px;font-family:var(--labor);font-size:11px;letter-spacing:1.35px;text-transform:uppercase;color:var(--sw-shell)}
.sole-wt-strip figure:nth-child(2) img{height:clamp(300px,42vh,500px)}
.sole-wt-strip figure:nth-child(2){align-self:flex-end;padding-bottom:30px}

/* EXTENSIONS */
.sole-wt-ext{padding:0 0 130px;background:var(--sw-cream)}
.sole-wt-ext__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(440px,1.15fr);gap:clamp(70px,9vw,145px);align-items:start;padding-top:120px;border-top:1px solid var(--sw-rule)}
.sole-wt-ext__grid .sole-wt-heading{max-width:430px;font-size:clamp(40px,3.4vw,58px)}
.sole-wt-ext__grid .sole-wt-copy{margin-top:26px;max-width:400px}
.sole-wt-ext__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--sw-rule)}
.sole-wt-ext__row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--sw-rule);font-size:16px;transition:padding-left .4s var(--ease)}
.sole-wt-ext__row:hover{padding-left:8px}
.sole-wt-ext__row span:last-child{color:var(--sw-shell);white-space:nowrap;font-family:var(--serif);font-size:18px}
.sole-wt-ext__img{margin:40px 0 0;max-width:360px}
.sole-wt-ext__img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 70%}
.sole-wt-ext__weather{margin-top:36px;padding:24px 26px;background:rgba(254,167,0,.12);border-left:2px solid var(--sw-sun);color:var(--sw-deep);font-size:16px;line-height:1.55}

/* STEPS */
.sole-wt-steps{padding:120px 0 130px;background:var(--sw-sun);color:var(--sw-deep);position:relative;overflow:hidden}
.sole-wt-steps__header{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:70px;align-items:end;margin-bottom:64px}
.sole-wt-steps .sole-wt-eyebrow{color:var(--sw-deep);opacity:.7}
.sole-wt-steps__header .sole-wt-copy{max-width:390px;justify-self:end;color:var(--sw-deep)}
.sole-wt-steps__grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.sole-wt-steps__line{position:absolute;left:0;right:0;top:0;height:1px;background:rgba(11,63,66,.3)}
.sole-wt-steps__line i{position:absolute;left:0;top:0;height:100%;width:100%;background:var(--sw-deep);transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease)}
.sole-wt-steps.is-in .sole-wt-steps__line i{transform:scaleX(1)}
.sole-wt-step{padding-top:28px;position:relative}
.sole-wt-step::before{content:"";position:absolute;left:0;top:-5px;width:11px;height:11px;border-radius:50%;background:var(--sw-deep);transform:scale(0);transition:transform .6s var(--ease)}
.sole-wt-steps.is-in .sole-wt-step::before{transform:scale(1)}
.sole-wt-steps.is-in .sole-wt-step:nth-child(2)::before{transition-delay:.4s}.sole-wt-steps.is-in .sole-wt-step:nth-child(3)::before{transition-delay:.8s}.sole-wt-steps.is-in .sole-wt-step:nth-child(4)::before{transition-delay:1.2s}.sole-wt-steps.is-in .sole-wt-step:nth-child(5)::before{transition-delay:1.6s}
.sole-wt-step__num{font-family:var(--labor);font-size:12px;letter-spacing:1.5px;color:var(--sw-deep);opacity:.65}
.sole-wt-step h3{margin:12px 0 10px;font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.05;letter-spacing:-.025em}
.sole-wt .sole-wt-step p{margin:0;font-size:16px;line-height:1.5;color:rgba(11,63,66,.85)}
.sole-wt-steps__mark{position:absolute;right:-60px;bottom:-90px;width:380px;opacity:.12;filter:brightness(0) saturate(100%) invert(16%) sepia(27%) saturate(1200%) hue-rotate(140deg)}

/* FAQ */
.sole-wt-faq{padding:120px 0 130px;background:var(--sw-cream)}
.sole-wt-faq__grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(70px,9vw,145px);align-items:start}
.sole-wt-faq__grid .sole-wt-heading{max-width:390px;font-size:clamp(40px,3.1vw,54px)}
.sole-wt-faq__img{margin:40px 0 0;max-width:320px}
.sole-wt-faq__img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 55%}
.sole-wt-faq__items{border-top:1px solid var(--sw-rule)}
.sole-wt-faq details{border-bottom:1px solid var(--sw-rule)}
.sole-wt-faq summary{list-style:none;cursor:pointer;min-height:66px;display:grid;grid-template-columns:1fr 18px;gap:16px;align-items:center;color:var(--sw-deep);font-size:19px;line-height:1.35;transition:color .3s}
.sole-wt-faq summary:hover{color:var(--sw-shell)}
.sole-wt-faq summary::-webkit-details-marker{display:none}
.sole-wt-faq summary::after{content:"";justify-self:end;width:12px;height:12px;background:linear-gradient(var(--sw-deep),var(--sw-deep)) center/12px 1px no-repeat,linear-gradient(var(--sw-deep),var(--sw-deep)) center/1px 12px no-repeat;transition:transform .4s var(--ease)}
.sole-wt-faq details[open] summary::after{transform:rotate(45deg)}
.sole-wt-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.sole-wt-faq details[open] .sole-wt-faq__a{grid-template-rows:1fr}
.sole-wt-faq__a>div{overflow:hidden}
.sole-wt .sole-wt-faq__a p{margin:0;padding:0 42px 22px 0;color:var(--sw-shell)}

/* CONTACT */
.sole-wt-contact{padding:140px 0;background:var(--sw-deep);color:var(--sw-cream);position:relative;overflow:hidden}
.sole-wt-contact .sole-wt-container{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:70px;align-items:center;position:relative;z-index:1}
.sole-wt-contact .sole-wt-heading{font-size:clamp(46px,4.6vw,80px);max-width:640px}
.sole-wt-contact__ways{display:grid;gap:26px;justify-items:start}
.sole-wt-contact__meta{font-family:var(--labor);font-size:11px;letter-spacing:1.45px;text-transform:uppercase;color:rgba(255,250,240,.6);line-height:2}
.sole-wt-contact__photo{position:absolute;inset:0 0 0 50%;opacity:.28}
.sole-wt-contact__photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.sole-wt-contact__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--sw-deep) 0%,rgba(11,63,66,.2) 60%,rgba(11,63,66,.5) 100%)}

/* floating CTA */
.sole-wt-float{position:fixed;right:28px;bottom:28px;z-index:50;transform:translateY(140%);transition:transform .6s var(--ease)}
.sole-wt-float.show{transform:none}
.sole-wt-float .sole-wt-btn{min-height:54px;padding:0 22px;box-shadow:0 18px 40px rgba(4,24,25,.25)}

@media (max-width:1100px){
  .sole-wt-container{padding-inline:40px}
  .sole-wt-hero__content{padding:120px 40px 180px}
  .sole-wt-hero__meta{left:40px;right:40px}
  .sole-wt-mark{left:40px}
  .sole-wt-intro__grid,.sole-wt-values__grid,.sole-wt-ext__grid,.sole-wt-faq__grid,.sole-wt-high__header,.sole-wt-menu__header,.sole-wt-steps__header,.sole-wt-contact .sole-wt-container{grid-template-columns:minmax(0,1fr);gap:40px}
  .sole-wt-values__img{display:none}.sole-wt-faq__img,.sole-wt-ext__img{display:none}
  .sole-wt-contact__photo{inset:0;opacity:.14}
  .sole-wt-intro__media,.sole-wt-high__intro,.sole-wt-menu__header .sole-wt-copy,.sole-wt-steps__header .sole-wt-copy{justify-self:start}
  .sole-wt-exp{grid-template-columns:repeat(2,1fr)}
  .sole-wt-x{min-height:0}
  .sole-wt-steps__grid{grid-template-columns:repeat(2,1fr)}
  .sole-wt-strip{padding:0 40px 24px;margin:0 -40px;scroll-padding-inline:40px}
  .sole-wt-band .sole-wt-container{grid-template-columns:minmax(0,1fr)}.sole-wt-band__text{grid-column:1}
}
@media (max-width:720px){
  .sole-wt-container{padding-inline:20px}
  .sole-wt-hero__content{padding:110px 20px 220px}
  .sole-wt-hero__title{font-size:clamp(48px,14vw,72px)}
  .sole-wt-hero__meta{left:20px;right:20px;bottom:100px;flex-direction:column;align-items:flex-start;gap:14px}
  .sole-wt-mark{display:none}
  .sole-wt-hero__bg::after{background:linear-gradient(0deg,rgba(7,46,48,.96) 0%,rgba(7,46,48,.78) 55%,rgba(7,46,48,.35) 100%)}
  .sole-wt-hero__bg img{object-position:50% 20%}
  .sole-wt-intro,.sole-wt-high,.sole-wt-menu,.sole-wt-values,.sole-wt-faq,.sole-wt-contact,.sole-wt-gallery,.sole-wt-steps{padding-top:80px;padding-bottom:88px}
  .sole-wt-ext{padding-bottom:88px}.sole-wt-ext__grid{padding-top:80px}
  .sole-wt-high__grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}
  .sole-wt-card,.sole-wt-card--large{grid-row:auto;min-height:320px}
  .sole-wt .sole-wt-card p{opacity:1}
  .sole-wt-exp{grid-template-columns:minmax(0,1fr)}
  .sole-wt-ext__list{grid-template-columns:minmax(0,1fr)}
  .sole-wt-steps__grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .sole-wt-steps__line{display:none}
  .sole-wt-step{padding-top:0;border-top:1px solid rgba(11,63,66,.3);padding-top:18px}
  .sole-wt-step::before{display:none}
  .sole-wt-strip{padding:0 20px 24px;margin:0 -20px;scroll-padding-inline:20px}
  .sole-wt-strip figure img{height:60vw}
  .sole-wt-strip figure:nth-child(2) img{height:50vw}
  .sole-wt-float{right:16px;bottom:16px}
}
@media (prefers-reduced-motion:reduce){
  .sole-wt *,.sole-wt *::before,.sole-wt *::after{animation:none!important;transition:none!important}
  .sole-wt-js .sole-wt-reveal{opacity:1;transform:none}.sole-wt-js .sole-wt-reveal-img::before{display:none}.sole-wt-js .sole-wt-reveal-img{opacity:1}.sole-wt-reveal-img img{transform:none}
  .sole-wt-js .sole-wt-hero__title .sole-wt-w span,.sole-wt-js .sole-wt-hero__desc,.sole-wt-js .sole-wt-hero__actions,.sole-wt-js .sole-wt-hero__meta{opacity:1;transform:none}
  .sole-wt-steps .sole-wt-steps__line i,.sole-wt-steps .sole-wt-step::before{transform:scale(1)}
}

/* Page-level (body class added by inc/wedding-toast.php): theme header sits over the dark hero, keep the logo readable */
body.sole-wedding-toast-page{background:#fffaf0}

/* Touch / narrow screens: same rules proven on weddinginpositano.com and chicmama.it for smooth scrolling.
   No parallax, no translate-on-reveal (short fade only), no curtain/zoom on images, no continuous hero zoom. */
@media (max-width:760px),(hover:none) and (pointer:coarse){
  .sole-wt-js .sole-wt-reveal{transform:none;transition:opacity .45s ease-out}
  .sole-wt-js .sole-wt-reveal-img::before{display:none}
  .sole-wt-js .sole-wt-reveal-img{opacity:0;transition:opacity .45s ease-out}
  .sole-wt-reveal-img.is-in{opacity:1}
  .sole-wt-reveal-img img{transform:none;transition:none}
  .sole-wt-hero__bg img{transform:none;animation:none}
  .sole-wt-band__img{inset:0;will-change:auto}
  .sole-wt-intro__media img{will-change:auto}
  .sole-wt-card img,.sole-wt-strip figure img{transition:none}
  .sole-wt-strip{cursor:auto}
}

/* Block-markup specifics (added with the Lazy Blocks templates) */
.sole-wt-card img{object-position:var(--sw-pos,center)}
.sole-wt-gallery__title{font-size:clamp(36px,3vw,52px)}
.sole-wt-contact__text{margin-top:24px;max-width:480px}
.sole-wt-reveal-img img.sole-wt-plx{transition:none}
.sole-wt-strip:focus-visible{outline:2px solid var(--sw-sun);outline-offset:4px}
.sole-wt-float.sole-wt{width:auto;background:transparent;overflow:visible}

/* Class-only <p> rules lose to the theme's global p:not(.cta p) (specificity 0,1,1): restate colour/line-height with p.class under .sole-wt */
.sole-wt p.sole-wt-eyebrow{color:var(--sw-sun);line-height:1.2}
.sole-wt .sole-wt-steps p.sole-wt-eyebrow{color:var(--sw-deep)}
.sole-wt p.sole-wt-hero__desc{color:rgba(255,250,240,.84);line-height:1.55}
.sole-wt p.sole-wt-menu__note{color:rgba(255,250,240,.55);line-height:1.6}
.sole-wt p.sole-wt-contact__meta{color:rgba(255,250,240,.6);line-height:2}
.sole-wt p.sole-wt-ext__weather{color:var(--sw-deep);line-height:1.55}

/* Inside the theme's .entry-content (constrained layout: max-width, side padding, content-box, auto margins !important) the page sections must run edge to edge.
   Same escape the theme already uses for Breakfast (css/breakfast.css), but width:100% instead of 100vw so no horizontal scrollbar appears next to a classic scrollbar. */
.entry-content.is-layout-constrained>.sole-wt:not(.sole-wt-float),.entry-content.is-layout-constrained>[class*="wp-block-lazyblock-wedding-"]{width:100%;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important}
.entry-content.is-layout-constrained>[class*="wp-block-lazyblock-wedding-"]>.sole-wt{width:100%;max-width:none}
.entry-content.is-layout-constrained>.sole-wt-float{max-width:none!important;margin:0!important;padding:0!important}
