
:root{
	--sol-navy:#082B4C;
	--sol-deep:#041D33;
	--sol-gold:#D2A24C;
	--sol-sand:#F3E8D6;
	--sol-cream:#FBF8F2;
	--sol-ink:#17202A;
	--sol-muted:#67727C;
	--sol-white:#fff;
	--sol-shadow:0 24px 70px rgba(4,29,51,.12);
}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
.sol-site-header{
	position:sticky;top:0;z-index:100;
	background:rgba(251,248,242,.92);
	backdrop-filter:blur(14px);
	border-bottom:1px solid rgba(8,43,76,.08);
}
.sol-header-inner{min-height:82px;padding:0 24px}
.sol-wordmark{gap:12px!important;align-items:center}
.sol-mark{
	display:grid;place-items:center;width:48px;height:48px;border-radius:50%;
	background:var(--sol-navy);color:var(--sol-gold);font-weight:900;letter-spacing:-.06em;
}
.sol-wordmark-title,.sol-wordmark-sub{margin:0!important;line-height:1.05}
.sol-wordmark-title{font-size:.78rem;font-weight:900;letter-spacing:.08em;color:var(--sol-navy)}
.sol-wordmark-sub{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--sol-gold)}
.sol-nav a{font-weight:700;font-size:.92rem}
.sol-nav-cta a{
	background:var(--sol-gold)!important;color:var(--sol-deep)!important;
	padding:.62rem 1rem!important;border-radius:999px!important;
}

/* Keep the desktop navigation and account controls together on the right. */
@media(min-width:901px){
	.sol-header-inner{
		justify-content:flex-start!important;
		column-gap:.45rem;
	}
	.sol-header-inner .sol-brand-link{margin-right:auto}
	.sol-header-inner .sol-nav{margin-left:auto}
	.sol-header-inner > .wp-block-woocommerce-customer-account,
	.sol-header-inner > .wp-block-woocommerce-mini-cart{
		margin-left:0!important;
		margin-right:0!important;
	}
	.sol-header-inner .wp-block-woocommerce-customer-account + .wp-block-woocommerce-mini-cart{
		margin-left:-.15rem!important;
	}
}
.sol-main{margin-top:0!important}
.sol-hero{
	position:relative;overflow:hidden;
	background:
		radial-gradient(circle at 85% 20%,rgba(210,162,76,.22),transparent 28%),
		linear-gradient(125deg,var(--sol-deep),var(--sol-navy));
	color:white;padding:clamp(70px,10vw,130px) 24px;
}
.sol-hero:after{
	content:"";position:absolute;inset:auto -10vw -35vw auto;width:65vw;height:65vw;border-radius:50%;
	border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 6vw rgba(255,255,255,.025),0 0 0 12vw rgba(210,162,76,.03);
}
.sol-hero-grid{align-items:center;gap:clamp(40px,7vw,110px)}
.sol-kicker,.sol-eyebrow{font-weight:900;letter-spacing:.17em;font-size:.76rem;color:var(--sol-gold);margin-bottom:1.3rem}
.sol-hero-title{color:white!important;font-size:clamp(3.1rem,6.4vw,6.4rem)!important;letter-spacing:-.055em;margin:.2rem 0 1.2rem;line-height:.92!important}
.sol-hero-title span{color:var(--sol-gold)}
.sol-hero-date{font-size:.95rem;font-weight:800;letter-spacing:.12em;color:#e8eef3}
.sol-hero-lead{font-size:clamp(1.15rem,2vw,1.45rem);max-width:700px;color:#dfe8ee;line-height:1.55}
.sol-hero-buttons{margin-top:2rem;gap:14px}
.sol-btn-primary .wp-block-button__link{background:var(--sol-gold)!important;color:var(--sol-deep)!important;border:2px solid var(--sol-gold);padding:.92rem 1.35rem}
.sol-btn-outline .wp-block-button__link{background:transparent!important;color:inherit!important;border:2px solid currentColor!important;padding:.92rem 1.35rem}
.sol-btn-dark .wp-block-button__link{background:var(--sol-deep)!important;color:white!important;padding:.92rem 1.35rem}
.sol-tagline{margin-top:2.4rem;font-size:.9rem;font-weight:900;letter-spacing:.23em;color:var(--sol-gold)}
.sol-hero-art{display:grid;place-items:center;min-height:420px}
.sol-orbit{position:relative;width:min(430px,78vw);aspect-ratio:1;border-radius:50%}
.sol-orbit-ring{position:absolute;border:1px solid rgba(255,255,255,.28);border-radius:50%;inset:8%}
.sol-orbit-ring.ring-2{inset:20%;border-color:rgba(210,162,76,.5)}
.sol-orbit-ring.ring-3{inset:34%;border-color:rgba(255,255,255,.28)}
.sol-orbit-core{
	position:absolute;inset:38%;display:grid;place-items:center;align-content:center;border-radius:50%;
	background:var(--sol-gold);color:var(--sol-deep);box-shadow:0 0 70px rgba(210,162,76,.33);
}
.sol-orbit-core span{font-size:2rem;font-weight:950;letter-spacing:-.07em}
.sol-orbit-core small{font-size:.68rem;font-weight:900;letter-spacing:.15em}
.sol-orbit-dot{position:absolute;width:18px;height:18px;border-radius:50%;background:white;box-shadow:0 0 0 7px rgba(255,255,255,.08)}
.sol-orbit-dot.dot-a{top:11%;left:48%}.sol-orbit-dot.dot-b{right:9%;top:55%;background:var(--sol-gold)}.sol-orbit-dot.dot-c{left:11%;bottom:22%}
.sol-info-strip{background:white;padding:28px 24px;border-bottom:1px solid rgba(8,43,76,.08)}
.sol-info-grid{gap:0}
.sol-info-grid>.wp-block-group{padding:8px 26px;border-right:1px solid #e7e7e7}
.sol-info-grid>.wp-block-group:last-child{border-right:0}
.sol-info-grid p{margin:.15rem 0;color:var(--sol-muted);font-size:.91rem}
.sol-stat{font-weight:950!important;color:var(--sol-navy)!important;font-size:1.3rem!important;letter-spacing:-.02em}
.sol-section{padding:clamp(72px,9vw,125px) 24px}
.sol-about{background:var(--sol-cream)}
.sol-two-col{gap:clamp(42px,7vw,110px)}
.sol-section h2{font-size:clamp(2.3rem,4.2vw,4.5rem);letter-spacing:-.045em;margin:.3rem 0 1.3rem}
.sol-body-lg{font-size:1.28rem;line-height:1.55}
.sol-pillars{background:white}
.sol-pillar-grid{gap:22px}
.sol-pillar-card{padding:34px;border:1px solid rgba(8,43,76,.1);border-radius:20px;background:var(--sol-cream);min-height:300px}
.sol-pillar-card h3{font-size:1.8rem;margin:.3rem 0 .8rem}
.sol-number{font-size:.8rem;font-weight:950;letter-spacing:.14em;color:var(--sol-gold)}
.sol-program{background:#f2f4f6}
.sol-program-note{padding:18px 22px;border-left:4px solid var(--sol-gold);background:white;color:var(--sol-muted);border-radius:0 12px 12px 0}
.sol-day-grid{margin-top:42px;gap:24px}
.sol-day-card{padding:38px;background:white;border-radius:22px;box-shadow:var(--sol-shadow)}
.sol-day-card-gold{background:var(--sol-sand)}
.sol-day-label{
	display:inline-flex;
	align-items:center;
	margin:0 0 .8rem!important;
	padding:.55rem .85rem;
	border-radius:999px;
	background:var(--sol-navy);
	color:white;
	font-size:clamp(.9rem,1.2vw,1.05rem);
	font-weight:950;
	letter-spacing:.12em;
	line-height:1.2;
	box-shadow:0 6px 16px rgba(8,43,76,.14);
}
.sol-day-card h3{font-size:2rem}
.sol-schedule-list{padding-left:1.2rem}
.sol-schedule-list li{padding:.45rem 0;border-bottom:1px solid rgba(8,43,76,.08)}
.sol-abstracts{background:var(--sol-deep);color:white}
.sol-cta-panel{gap:60px;align-items:center}
.sol-abstracts h2{color:white!important}
.sol-eyebrow-light{color:#f0c56f}
.sol-tickets{background:var(--sol-cream)}
.sol-section-heading{text-align:center;margin-bottom:46px}
.sol-ticket-grid{gap:22px;align-items:stretch}
.sol-ticket-card{
	position:relative;padding:34px;border-radius:22px;background:white;border:1px solid rgba(8,43,76,.1);
	box-shadow:0 14px 40px rgba(4,29,51,.06)
}
.sol-ticket-featured{border:2px solid var(--sol-gold);transform:translateY(-8px)}
.sol-ticket-badge{display:inline-block;background:var(--sol-gold);color:var(--sol-deep);font-weight:950;font-size:.68rem;letter-spacing:.13em;padding:.45rem .7rem;border-radius:999px}
.sol-ticket-badge-muted{background:#edf0f2;color:var(--sol-muted)}
.sol-ticket-card h3{font-size:1.6rem;margin:1rem 0 .2rem}
.sol-price{font-size:clamp(2.8rem,4vw,4rem);font-weight:950;letter-spacing:-.06em;color:var(--sol-navy);margin:.4rem 0 0}
.sol-small{font-size:.85rem;color:var(--sol-muted);margin-top:0}
.sol-check-list{list-style:none;padding:0;margin:1.8rem 0}
.sol-check-list li{position:relative;padding:.45rem 0 .45rem 1.6rem}
.sol-check-list li:before{content:"✓";position:absolute;left:0;color:var(--sol-gold);font-weight:950}
.sol-gala-card{margin-top:42px;padding:42px;border-radius:24px;background:var(--sol-sand);gap:60px;align-items:center}
.sol-award-logo-link{
	display:block;
	max-width:520px;
	margin-top:0!important;
	margin-right:auto!important;
	margin-bottom:28px!important;
	margin-left:max(0px,calc((100% - var(--wp--style--global--content-size,760px))/2))!important;
	line-height:0;
}
.sol-award-logo{display:block;width:100%;height:auto}
.sol-gala-presenter-note{margin-top:22px!important;padding:16px 18px;border-left:4px solid var(--sol-gold);border-radius:0 12px 12px 0;background:rgba(255,255,255,.58);color:var(--sol-navy)}
.sol-gala-copy .wp-block-buttons{margin-top:24px!important;margin-bottom:0!important}
.sol-gala-price{text-align:center;padding:24px;background:rgba(255,255,255,.55);border-radius:18px}
.sol-helsinki{
	background:
		linear-gradient(90deg,rgba(4,29,51,.97),rgba(8,43,76,.87)),
		linear-gradient(135deg,#082B4C,#123f68);
	color:white
}
.sol-helsinki h2{color:white!important}
.sol-helsinki-grid{gap:70px;align-items:center}
.sol-final-cta{text-align:center;background:white}
.sol-final-cta h2{max-width:980px;margin-left:auto;margin-right:auto}
.sol-tagline-dark{color:var(--sol-navy)}
.sol-footer{background:var(--sol-deep);color:#cfdbe4;padding:48px 24px}
.sol-footer h3{color:white!important;margin-bottom:.2rem}
.sol-footer p{margin:.3rem 0}
.sol-footer a{color:white}
.sol-footer-tagline{color:var(--sol-gold)!important;font-weight:950;letter-spacing:.16em}
.wp-block-button__link{transition:transform .15s ease,box-shadow .15s ease}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(4,29,51,.18)}

/* Submit an Abstract page */
.sol-abstract-hero{
	position:relative;overflow:hidden;padding:clamp(82px,11vw,145px) 24px;
	background:
		linear-gradient(90deg,rgba(4,29,51,.98) 0%,rgba(4,29,51,.92) 48%,rgba(4,29,51,.48) 100%),
		url("/wp-content/themes/sol-symposium-ollie-child/assets/images/oodi-abstracts-background-v2.webp") center right/cover no-repeat;
	color:white
}
.sol-abstract-hero h1{color:white!important;font-size:clamp(3rem,6vw,6rem);letter-spacing:-.055em;line-height:.95;margin:.25rem 0 1.4rem}
.sol-abstract-hero-lead{max-width:780px;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.6;color:#e3ebf0}
.sol-abstract-hero .wp-block-buttons{margin-top:2rem;gap:14px}
.sol-presenter-eligibility{padding:clamp(52px,7vw,82px) 24px;background:var(--sol-gold)}
.sol-presenter-eligibility-inner{gap:clamp(34px,6vw,80px);align-items:center}
.sol-presenter-eligibility .sol-eyebrow{color:var(--sol-deep)}
.sol-presenter-eligibility h2{font-size:clamp(2rem,3.5vw,3.3rem);margin:.3rem 0 1.1rem}
.sol-submission-steps{padding:30px;border-radius:20px;background:rgba(255,255,255,.7)}
.sol-submission-steps p{position:relative;margin:0;padding:0 0 20px 48px}
.sol-submission-steps p:last-of-type{padding-bottom:0}
.sol-submission-steps p span{position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sol-deep);color:white;font-weight:900}
.sol-submission-steps p strong{color:var(--sol-navy);font-size:1.05rem}
.sol-submission-steps .wp-block-buttons{margin-top:1.5rem}
.sol-abstract-intro{background:var(--sol-cream)}
.sol-abstract-formats{background:white}
.sol-abstract-card-grid{gap:22px;align-items:stretch}
.sol-abstract-card{padding:34px;border:1px solid rgba(8,43,76,.1);border-radius:20px;background:var(--sol-cream)}
.sol-abstract-card h3{font-size:1.8rem;margin:.35rem 0 1rem}
.sol-abstract-guidance{background:#f2f4f6}
.sol-guideline-box{padding:34px;border-radius:20px;background:white;box-shadow:var(--sol-shadow)}
.sol-guideline-box h3{font-size:1.45rem;margin-top:0}
.sol-review-section{background:var(--sol-deep);color:#dfe8ee}
.sol-review-section h2{color:white!important}
.sol-review-grid{gap:18px;margin-top:2.2rem}
.sol-review-grid p{margin:0;padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.05)}
.sol-review-grid strong{color:white;font-size:1.1rem}
.sol-review-note{margin-top:2rem;padding:18px 22px;border-left:4px solid var(--sol-gold);background:rgba(255,255,255,.07)}
.sol-magazine-note{margin-top:1.5rem;padding:30px;border:1px solid rgba(210,162,76,.45);border-radius:18px;background:rgba(210,162,76,.1)}
.sol-magazine-note .sol-number{margin:0 0 .55rem;color:#f0c56f}
.sol-magazine-note h3{margin:.2rem 0 .7rem;color:white!important;font-size:clamp(1.45rem,2.5vw,2rem)}
.sol-magazine-note p:last-child{margin-bottom:0}
.sol-submission-section{background:var(--sol-sand)}
.sol-submission-panel{text-align:center;padding:clamp(34px,6vw,70px);border-radius:26px;background:white;box-shadow:var(--sol-shadow)}
.sol-submission-reminder{padding:15px 18px;border-radius:12px;background:var(--sol-sand)}
.sol-submission-reminder a{text-decoration:underline;text-underline-offset:3px;font-weight:700}
.sol-submission-panel .wp-block-post-content{margin-top:2rem;text-align:left}
.sol-presenter-code{margin:2rem 0;padding:24px;border:2px solid var(--sol-gold);border-radius:16px;background:var(--sol-cream)}
.sol-presenter-code h2{margin-top:0}
.sol-presenter-code-value{font-size:1.5rem;letter-spacing:.04em;color:var(--sol-navy)}
.sol-submission-panel .wpcf7{text-align:left}
.sol-submission-panel .wpcf7 label{display:block;margin-bottom:1.15rem;color:var(--sol-navy);font-weight:750}
.sol-submission-panel .wpcf7 .sol-form-label{display:block;margin-bottom:.4rem;color:var(--sol-navy);font-weight:750}
.sol-submission-panel .wpcf7 .sol-form-label + .wpcf7-form-control-wrap{display:block;margin-bottom:1.15rem}
.sol-submission-panel .wpcf7 .wpcf7-acceptance{display:block;margin:1rem 0}
.sol-submission-panel .wpcf7 .wpcf7-acceptance label{display:flex;gap:.7rem;align-items:flex-start;margin:0;font-weight:500;line-height:1.5}
.sol-submission-panel .wpcf7 .wpcf7-acceptance input[type="checkbox"]{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.22rem;accent-color:var(--sol-gold)}
.sol-submission-panel .wpcf7 input:not([type="submit"]):not([type="checkbox"]),.sol-submission-panel .wpcf7 select,.sol-submission-panel .wpcf7 textarea{box-sizing:border-box;width:100%;margin-top:.4rem;padding:.85rem 1rem;border:1px solid rgba(8,43,76,.24);border-radius:10px;background:white;color:var(--sol-ink);font:inherit}
.sol-submission-panel .wpcf7 textarea{min-height:150px;resize:vertical}
.sol-submission-panel .wpcf7 input:focus,.sol-submission-panel .wpcf7 select:focus,.sol-submission-panel .wpcf7 textarea:focus{outline:3px solid rgba(210,162,76,.3);border-color:var(--sol-gold)}
.sol-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sol-cf7-step h3{font-size:clamp(1.6rem,3vw,2.2rem)}
.sol-cf7-step-kicker{color:var(--sol-gold);font-size:.78rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.sol-field-help{margin:-.8rem 0 1.2rem;color:var(--sol-muted);font-size:.88rem}
.sol-submission-panel .wpcf7-submit{padding:.92rem 1.35rem;border:2px solid var(--sol-gold);border-radius:999px;background:var(--sol-gold);color:var(--sol-deep);font-weight:800;cursor:pointer}
/* Ultra Addons multi-step navigation */
.sol-submission-panel .wpcf7 button.uacf7-next,.sol-submission-panel .wpcf7 button.uacf7-prev,.sol-submission-panel .wpcf7 input.uacf7-next,.sol-submission-panel .wpcf7 input.uacf7-prev{
	min-width:128px;margin-top:1.25rem;padding:.9rem 1.45rem;border:2px solid var(--sol-gold);border-radius:999px;
	background:var(--sol-gold);color:var(--sol-deep);box-shadow:0 8px 20px rgba(4,29,51,.12);
	font:inherit;font-weight:850;line-height:1.2;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease
}
.sol-submission-panel .wpcf7 button.uacf7-prev,.sol-submission-panel .wpcf7 input.uacf7-prev{margin-right:.7rem;border-color:var(--sol-navy);background:white;color:var(--sol-navy)}
.sol-submission-panel .wpcf7 button.uacf7-next:hover,.sol-submission-panel .wpcf7 input.uacf7-next:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(4,29,51,.18);background:#dfb45f}
.sol-submission-panel .wpcf7 button.uacf7-prev:hover,.sol-submission-panel .wpcf7 input.uacf7-prev:hover{transform:translateY(-2px);background:var(--sol-navy);color:white}
.sol-submission-panel .wpcf7 button.uacf7-next:focus-visible,.sol-submission-panel .wpcf7 button.uacf7-prev:focus-visible,.sol-submission-panel .wpcf7 input.uacf7-next:focus-visible,.sol-submission-panel .wpcf7 input.uacf7-prev:focus-visible{outline:3px solid rgba(210,162,76,.38);outline-offset:3px}
/* Ultra Addons country field: preserve space for the flag selector. */
.sol-submission-panel .wpcf7 .iti,.sol-submission-panel .wpcf7 .uacf7-country-container,.sol-submission-panel .wpcf7 .uacf7_country_dropdown{width:100%}
.sol-submission-panel .wpcf7 .iti input,.sol-submission-panel .wpcf7 input.uacf7_country_dropdown{padding-left:58px!important}
.sol-submission-panel .wpcf7 input[name="presenter-country"]{padding-left:66px!important}
.sol-submission-panel .wpcf7 .iti__selected-country-primary,.sol-submission-panel .wpcf7 .iti__selected-flag{box-sizing:border-box;min-width:48px;background:rgba(8,43,76,.06)}
.sol-submission-panel .wpcf7 .select2-container{width:100%!important;margin-top:.4rem}
.sol-submission-panel .wpcf7 .select2-container .select2-selection--single{box-sizing:border-box;height:auto;min-height:52px;padding:.65rem .85rem;border:1px solid rgba(8,43,76,.24);border-radius:10px;background:white}
.sol-submission-panel .wpcf7 .select2-container .select2-selection__rendered{padding-left:0;line-height:1.7;color:var(--sol-ink)}
.sol-submission-panel .wpcf7 .select2-container .select2-selection__arrow{top:50%;right:10px;transform:translateY(-50%)}
@media(max-width:600px){.sol-form-grid{grid-template-columns:1fr}.sol-submission-panel .wpcf7 button.uacf7-next,.sol-submission-panel .wpcf7 button.uacf7-prev,.sol-submission-panel .wpcf7 input.uacf7-next,.sol-submission-panel .wpcf7 input.uacf7-prev{width:100%;margin-right:0}}
@media(max-width:900px){
	.sol-header-inner{min-height:70px}
	.sol-wordmark-title{font-size:.68rem}.sol-wordmark-sub{font-size:.62rem}
	.sol-hero{padding-top:72px}
	.sol-hero-art{min-height:320px}
	.sol-info-grid>.wp-block-group{border-right:0;border-bottom:1px solid #eee}
	.sol-ticket-featured{transform:none}
}
@media(max-width:600px){
	.sol-site-header{position:sticky;top:0;z-index:1000}
	.sol-header-inner{padding:0 16px}
	.sol-mark{width:42px;height:42px}
	.sol-hero,.sol-section{padding-left:18px;padding-right:18px}
	.sol-hero-title{font-size:3rem!important}
	.sol-hero-art{display:none}
	.sol-gala-card,.sol-day-card,.sol-ticket-card,.sol-pillar-card{padding:26px}
	.sol-tagline{letter-spacing:.13em}
	.sol-abstract-hero{padding-left:18px;padding-right:18px;background-position:62% center}
	.sol-presenter-eligibility{padding-left:18px;padding-right:18px}
	.sol-abstract-card,.sol-guideline-box{padding:26px}
	.sol-submission-panel{padding:30px 22px}
}

/* v0.1.2 brand artwork integration */
.sol-brand-link{display:block;line-height:0;max-width:330px}
.sol-header-logo{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.sol-brand-hero-card{width:min(520px,100%);margin:auto;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.28);border:1px solid rgba(210,162,76,.35)}
.sol-brand-hero-card img{display:block;width:100%;height:auto}
.sol-helsinki{position:relative;overflow:hidden}
.sol-helsinki-image-wrap{max-width:1240px;margin:0 auto 54px;border-radius:26px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.25);border:1px solid rgba(210,162,76,.25)}
.sol-helsinki-image{display:block;width:100%;height:clamp(280px,42vw,520px);object-fit:cover;object-position:center}
@media(max-width:780px){
 .sol-brand-link{max-width:235px}
 .sol-header-logo{min-width:0}
 .sol-brand-hero-card{max-width:420px}
}

/* v0.6.0 editorial pages: Our Story and Why Attend? */
.sol-page-hero{
	position:relative;
	isolation:isolate;
	min-height:clamp(520px,66vh,720px);
	display:flex;
	align-items:flex-end;
	padding:clamp(6rem,11vw,10rem) max(24px,calc((100vw - 1240px)/2)) clamp(4rem,7vw,6.5rem);
	background-color:var(--sol-navy-2);
	background-position:center;
	background-size:cover;
	overflow:hidden;
}
.sol-page-hero:before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	background:linear-gradient(90deg,rgba(4,29,51,.95) 0%,rgba(4,29,51,.78) 48%,rgba(4,29,51,.26) 100%);
}
.sol-page-hero:after{
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:38%;
	height:7px;
	background:var(--sol-gold);
}
.sol-page-hero-story{background-image:url("/wp-content/themes/sol-symposium-ollie-child/assets/images/hero-global-learning.webp")}
.sol-page-hero-attend{background-image:url("/wp-content/themes/sol-symposium-ollie-child/assets/images/hero-networking.webp")}
.sol-page-hero-legal{min-height:420px;background:linear-gradient(125deg,#041d33 0%,#082b4c 58%,#174c70 100%)}
.sol-page-hero-inner{width:100%;margin:0!important}
.sol-page-kicker{margin:0 0 1rem;color:var(--sol-gold);font-size:.82rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
.sol-page-hero h1{max-width:900px;margin:0;color:#fff!important;font-size:clamp(3.2rem,7vw,6.8rem)!important;line-height:.94!important;letter-spacing:-.055em}
.sol-page-hero-lead{max-width:720px;margin:1.6rem 0 0;color:#e6edf2;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.55}
.sol-page-hero-buttons{margin-top:2rem}
.sol-editorial-shell{padding:clamp(4rem,8vw,8rem) 24px;background:var(--sol-cream)}
.sol-editorial-layout{display:grid;grid-template-columns:220px minmax(0,760px);justify-content:center;gap:clamp(3rem,7vw,7rem)}
.sol-editorial-nav{position:sticky;top:120px;align-self:start;display:flex;flex-direction:column;border-left:1px solid rgba(8,43,76,.18)}
.sol-editorial-nav span,.sol-editorial-nav a{padding:.6rem 0 .6rem 1.2rem}
.sol-editorial-nav span{margin-bottom:.4rem;color:var(--sol-gold);font-size:.72rem;font-weight:850;letter-spacing:.16em}
.sol-editorial-nav a{color:var(--sol-muted);font-size:.92rem;font-weight:700;line-height:1.25}
.sol-editorial-nav a:hover{color:var(--sol-navy);border-left:3px solid var(--sol-gold);margin-left:-2px}
.sol-legal-content{font-size:1rem;line-height:1.75}
.sol-legal-updated{margin:0 0 2.25rem;color:var(--sol-muted);font-size:.9rem}
.sol-legal-intro{margin-bottom:clamp(2.5rem,5vw,4rem)!important}
.sol-legal-section{scroll-margin-top:7rem;padding:0 0 2.25rem;margin:0 0 2.5rem;border-bottom:1px solid rgba(8,43,76,.14)}
.sol-legal-section:last-child{margin-bottom:0;border-bottom:0}
.sol-legal-section h2{margin-top:0;font-size:clamp(1.75rem,3vw,2.35rem)!important;letter-spacing:-.025em}
.sol-legal-section li+li{margin-top:.65rem}
.sol-legal-highlight{padding:clamp(1.5rem,4vw,2.5rem);border:1px solid rgba(188,145,48,.38);border-radius:14px;background:#fffaf0}
.sol-legal-table{overflow-x:auto;margin:1.5rem 0}
.sol-legal-table table{min-width:620px;border-collapse:collapse}
.sol-legal-table th,.sol-legal-table td{padding:.9rem 1rem;border:1px solid rgba(8,43,76,.16);text-align:left;vertical-align:top}
.sol-legal-table th{background:var(--sol-navy);color:#fff}
.sol-footer-legal{font-size:.84rem;opacity:.82}
.sol-story-section{scroll-margin-top:120px;padding-bottom:clamp(3.5rem,7vw,6rem);margin-bottom:clamp(3.5rem,7vw,6rem);border-bottom:1px solid rgba(8,43,76,.15)}
.sol-story-section:last-child{margin-bottom:0;border-bottom:0}
.sol-story-section h2{font-size:clamp(2.25rem,4.2vw,3.8rem)!important;letter-spacing:-.04em;margin:.25rem 0 1.8rem}
.sol-story-academy-logo{display:block;width:min(100%,500px);margin:0 0 clamp(2rem,5vw,3.5rem)!important;line-height:0;transition:opacity .2s ease;text-align:left}
.is-layout-constrained > .sol-story-academy-logo{margin-left:0!important;margin-right:0!important}
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) .sol-story-academy-logo{margin-left:0!important;margin-right:0!important}
.sol-story-academy-logo:hover{opacity:.82}
.sol-story-academy-logo:focus-visible{outline:3px solid var(--sol-gold);outline-offset:6px}
.sol-story-academy-logo img{display:block;width:100%;height:auto}
.sol-story-award-logo{display:block;width:min(100%,440px);margin:0 0 2.25rem!important;line-height:0;transition:transform .2s ease,opacity .2s ease;text-align:left}
.is-layout-constrained > .sol-story-award-logo{margin-left:0!important;margin-right:0!important}
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) .sol-story-award-logo{margin-left:0!important;margin-right:0!important}
.sol-story-award-logo:hover{transform:translateY(-2px);opacity:.86}
.sol-story-award-logo:focus-visible{outline:3px solid var(--sol-gold);outline-offset:6px}
.sol-story-award-logo img{display:block;width:100%;height:auto}
.sol-story-section p:not(.sol-section-number):not(.sol-emphasis-line){font-size:1.1rem;line-height:1.78}
.sol-story-section p a{color:var(--sol-navy);text-decoration:underline;text-decoration-color:var(--sol-gold);text-decoration-thickness:2px;text-underline-offset:3px}
.sol-story-section p a:hover{color:#125889}
.sol-story-section>p:not(.sol-section-number):not(.sol-emphasis-line):not(:last-child){margin-bottom:1.35rem}
.sol-section-number,.sol-benefit-number{color:var(--sol-gold);font-size:.76rem;font-weight:900;letter-spacing:.14em;line-height:1.35;text-transform:uppercase}
.sol-pull-quote{margin:2rem 0 2.5rem;padding:1.5rem 0 1.5rem 2rem;border-left:5px solid var(--sol-gold)}
.sol-pull-quote p{margin:0!important;color:var(--sol-navy);font-size:clamp(1.8rem,4vw,3rem)!important;font-weight:800;line-height:1.15!important;letter-spacing:-.03em}
.sol-emphasis-line{margin:2rem 0 0;padding:1.5rem 1.75rem;background:var(--sol-sand);color:var(--sol-navy);font-size:1.25rem;font-weight:750;line-height:1.55;border-radius:4px}
.sol-founder-profile{display:grid;grid-template-columns:170px minmax(0,1fr);gap:clamp(1.4rem,3vw,2.25rem);align-items:start;margin-top:clamp(2.5rem,5vw,4rem);padding:clamp(1.25rem,3vw,2rem);background:#fff;border-top:5px solid var(--sol-gold);box-shadow:0 14px 38px rgba(8,43,76,.08)}
.sol-founder-portrait{box-sizing:border-box;width:170px;margin:0;overflow:hidden;background:var(--sol-sand);border:5px solid var(--sol-navy);border-radius:22px;aspect-ratio:4/5;box-shadow:0 9px 24px rgba(8,43,76,.16)}
.sol-founder-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.sol-founder-copy h3{margin:.25rem 0 1rem;color:var(--sol-navy);font-size:clamp(1.8rem,3vw,2.45rem)!important;line-height:1.05;letter-spacing:-.035em}
.sol-story-section .sol-founder-role{margin:0!important;color:var(--sol-gold);font-size:.72rem!important;font-weight:900;letter-spacing:.14em;line-height:1.35!important;text-transform:uppercase}
.sol-story-section .sol-founder-bio{margin:0;color:#4f5d68;font-size:1rem!important;line-height:1.7!important}
.sol-profile-contact{display:flex;flex-wrap:wrap;gap:.55rem 1.15rem;margin:1rem 0 0;font-style:normal}
.sol-profile-contact a{display:inline-flex;align-items:baseline;gap:.38rem;color:var(--sol-navy);font-size:.86rem;font-weight:700;line-height:1.4;text-decoration:none!important;overflow-wrap:anywhere}
.sol-profile-contact a:hover{text-decoration:underline!important;text-decoration-color:var(--sol-gold)!important;text-decoration-thickness:2px!important;text-underline-offset:3px}
.sol-profile-contact a:focus-visible{outline:3px solid rgba(210,162,76,.45);outline-offset:3px;border-radius:2px}
.sol-profile-contact span{color:var(--sol-gold);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.sol-story-section .sol-founder-invitation{margin:1.25rem 0 0!important;padding:.8rem 0 .8rem 1rem;border:0;border-left:4px solid var(--sol-navy);color:var(--sol-navy)}
.sol-story-section .sol-founder-invitation p{margin:0!important;color:inherit;font-size:1.05rem!important;line-height:1.55!important}
.sol-collaborator-profile{margin-top:1.5rem;border-top-color:var(--sol-navy)}
.sol-profile-mission-title{margin:1.5rem 0 .4rem!important;color:var(--sol-navy);font-size:1rem!important;line-height:1.35;letter-spacing:.01em}
.sol-story-section .sol-profile-mission{margin-top:.35rem!important;border-left-color:var(--sol-gold)}
@media(max-width:650px){
	.sol-founder-profile{grid-template-columns:1fr;gap:1.05rem;padding:1.1rem}
	.sol-founder-portrait{width:150px;border-width:4px;border-radius:18px}
	.sol-founder-copy{text-align:left}
}
.sol-question-pair{gap:1rem;margin:2rem 0}
.sol-question-pair>div{padding:1.6rem;background:var(--sol-navy);border-top:4px solid var(--sol-gold)}
.sol-question-pair p{margin:0 0 .5rem!important;color:#cbd7df;font-size:.86rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.sol-question-pair h3{margin:0;color:#fff!important;font-size:1.35rem!important;line-height:1.25}
.sol-attend-intro{padding:clamp(3.5rem,7vw,6rem) 24px;background:var(--sol-sand);text-align:center}
.sol-attend-intro .sol-body-lg{margin:0;font-size:clamp(1.3rem,2.5vw,1.75rem);line-height:1.6;color:var(--sol-navy)}
.sol-attend-benefits{padding:clamp(4rem,8vw,8rem) 24px;background:var(--sol-cream)}
.sol-benefits-title{max-width:1100px;margin:0 auto clamp(4.5rem,8vw,7rem)!important;color:var(--sol-navy);font-size:clamp(3.2rem,6.5vw,6rem)!important;line-height:.98;letter-spacing:-.055em}
.sol-benefit-grid{gap:1.25rem}
.sol-benefit-card{box-sizing:border-box;min-height:100%;padding:clamp(1.6rem,3vw,2.4rem);background:#fff;border:1px solid rgba(8,43,76,.12);border-top:5px solid var(--sol-navy);box-shadow:0 12px 35px rgba(8,43,76,.06);display:flex;flex-direction:column}
.sol-benefit-card h2{margin:.6rem 0 1.1rem;font-size:clamp(1.45rem,2.4vw,2rem)!important;letter-spacing:-.025em;line-height:1.12}
.sol-benefit-card>p:last-of-type{margin-top:.35rem;margin-bottom:0;color:#4f5d68;line-height:1.7}
.sol-benefit-card-gold{background:var(--sol-sand);border-top-color:var(--sol-gold)}
.sol-benefit-card-wide{grid-column:span 2;background:var(--sol-navy)}
.sol-benefit-card-wide h2{color:#fff!important}.sol-benefit-card-wide>p:last-of-type{color:#dce5eb}
.sol-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:auto!important;padding-top:1.5rem}
.sol-reaction-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:76px;min-height:44px;padding:.5rem .85rem;border:2px solid rgba(8,43,76,.22);border-radius:999px;background:rgba(255,255,255,.78);color:var(--sol-navy);font:inherit;font-size:.95rem;font-weight:850;line-height:1;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.sol-reaction-button:hover{transform:translateY(-2px);border-color:var(--sol-navy);box-shadow:0 7px 18px rgba(8,43,76,.12)}
.sol-reaction-button:focus-visible{outline:3px solid var(--sol-gold);outline-offset:3px}
.sol-reaction-button.is-active{background:var(--sol-navy);border-color:var(--sol-navy);color:#fff;box-shadow:0 6px 16px rgba(8,43,76,.2)}
.sol-reaction-fire.is-active{background:var(--sol-gold);border-color:var(--sol-gold);color:var(--sol-navy)}
.sol-reaction-button.is-saving{opacity:.6;cursor:wait;transform:none}
.sol-reaction-button:disabled{pointer-events:none}
.sol-reaction-icon{font-size:1.18rem;line-height:1}
.sol-reaction-count{min-width:1ch;font-variant-numeric:tabular-nums}
.sol-benefit-card-wide .sol-reaction-button{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.1);color:#fff}
.sol-benefit-card-wide .sol-reaction-button:hover{border-color:#fff}
.sol-benefit-card-wide .sol-reaction-button.is-active{background:#fff;border-color:#fff;color:var(--sol-navy)}
.sol-benefit-card-wide .sol-reaction-fire.is-active{background:var(--sol-gold);border-color:var(--sol-gold);color:var(--sol-navy)}
.sol-reaction-error{flex-basis:100%;color:#a12525;font-size:.82rem;font-weight:700;line-height:1.4}
@media(prefers-reduced-motion:reduce){.sol-reaction-button{transition:none}.sol-reaction-button:hover{transform:none}}
.sol-page-cta{padding:clamp(5rem,9vw,8rem) 24px;background:var(--sol-navy);text-align:center}
.sol-page-cta h2{margin:.5rem auto 1.5rem;max-width:950px;color:#fff!important;font-size:clamp(2.6rem,5.5vw,5rem)!important;letter-spacing:-.045em;line-height:1}
.sol-page-cta-copy{max-width:800px;margin:0 auto 1.35rem;color:#dce5eb;font-size:1.15rem;line-height:1.7}
.sol-page-cta-copy:last-of-type{margin-bottom:0}
.sol-page-cta .wp-block-buttons{margin-top:2.2rem;gap:14px}
.sol-btn-light .wp-block-button__link{background:#fff!important;color:var(--sol-navy)!important}

/* Homepage entry-point heroes for the two editorial pages. */
.sol-home-page-links{padding:clamp(4.5rem,8vw,7.5rem) 24px;background:var(--sol-navy-2)}
.sol-home-page-links-heading{margin:0 auto clamp(2rem,4vw,3.25rem)!important;text-align:center}
.sol-home-page-links-heading h2{margin:.4rem auto 0;color:var(--sol-navy)!important;font-size:clamp(2.35rem,4.5vw,4rem)!important;letter-spacing:-.04em;line-height:1.05}
.sol-home-hero-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);max-width:1240px!important;margin-inline:auto}
.sol-home-hero-card{position:relative;isolation:isolate;display:flex;align-items:flex-end;box-sizing:border-box;min-height:clamp(430px,48vw,590px);padding:clamp(1.75rem,4vw,3.25rem);overflow:hidden;background-position:center;background-size:cover;color:#fff!important;text-decoration:none!important;box-shadow:0 20px 55px rgba(0,0,0,.22)}
.sol-home-hero-story{background-image:url("/wp-content/themes/sol-symposium-ollie-child/assets/images/hero-global-learning.webp")}
.sol-home-hero-attend{background-image:url("/wp-content/themes/sol-symposium-ollie-child/assets/images/hero-networking.webp")}
.sol-home-hero-card-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,29,51,.06) 15%,rgba(4,29,51,.94) 100%);transition:background .3s ease}
.sol-home-hero-card:after{content:"";position:absolute;left:0;bottom:0;width:34%;height:6px;background:var(--sol-gold);transition:width .3s ease}
.sol-home-hero-card-content{display:flex;flex-direction:column;align-items:flex-start;max-width:520px}
.sol-home-hero-card small{margin-bottom:.75rem;color:var(--sol-gold);font-size:.75rem;font-weight:900;letter-spacing:.16em}
.sol-home-hero-card strong{font-size:clamp(2.8rem,5vw,5rem);font-weight:850;letter-spacing:-.055em;line-height:.95}
.sol-home-hero-card-content>span{margin-top:1.15rem;color:#e4ebf0;font-size:1.05rem;line-height:1.6}
.sol-home-hero-card b{margin-top:1.5rem;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}
.sol-home-hero-card i{display:inline-block;margin-left:.4rem;font-style:normal;transition:transform .2s ease}
.sol-home-hero-card:hover .sol-home-hero-card-shade{background:linear-gradient(180deg,rgba(4,29,51,.12) 5%,rgba(4,29,51,.98) 100%)}
.sol-home-hero-card:hover:after{width:100%}
.sol-home-hero-card:hover i{transform:translateX(5px)}
.sol-home-hero-card:focus-visible{outline:4px solid var(--sol-gold);outline-offset:5px}

@media(max-width:900px){
	.sol-editorial-layout{grid-template-columns:1fr}
	.sol-editorial-nav{display:none}
	.sol-benefit-card-wide{grid-column:auto}
	.sol-home-hero-links{grid-template-columns:1fr}
	.sol-home-hero-card{min-height:460px}
}
@media(max-width:600px){
	.sol-page-hero{min-height:500px;padding:7rem 18px 4rem;background-position:62% center}
	.sol-page-hero:before{background:linear-gradient(90deg,rgba(4,29,51,.96),rgba(4,29,51,.72))}
	.sol-page-hero h1{font-size:3.15rem!important}
	.sol-editorial-shell,.sol-attend-intro,.sol-attend-benefits,.sol-page-cta{padding-left:18px;padding-right:18px}
	.sol-story-section p:not(.sol-section-number):not(.sol-emphasis-line){font-size:1.0625rem}
	.sol-benefit-card{padding:1.5rem}
	.sol-home-page-links{padding-left:18px;padding-right:18px}
	.sol-home-hero-card{min-height:420px;padding:1.6rem}
}


/* v0.1.3 pricing comparison row */
.sol-ticket-grid{
	display:grid !important;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
	align-items:stretch;
}
.sol-ticket-card{
	display:flex;
	flex-direction:column;
	height:100%;
}
.sol-ticket-card .wp-block-buttons{
	margin-top:auto;
	padding-top:1rem;
}
.sol-ticket-card .wp-block-button{
	width:100%;
}
.sol-ticket-card .wp-block-button__link{
	width:100%;
	box-sizing:border-box;
	text-align:center;
}
.sol-phase-note{
	margin:.6rem 0 1rem;
	font-size:.78rem;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:var(--sol-muted);
}
.sol-ticket-grid-four .sol-ticket-card:not(:first-child) .sol-phase-note{
	width:100%;
	text-align:center!important;
}
.sol-ticket-featured{
	position:relative;
	z-index:2;
}
.sol-ticket-featured:before{
	content:"";
	position:absolute;
	inset:-8px;
	border:1px solid rgba(210,162,76,.3);
	border-radius:28px;
	pointer-events:none;
}
@media (max-width: 900px){
	.sol-ticket-grid{
		grid-template-columns:1fr !important;
		max-width:680px;
		margin-left:auto;
		margin-right:auto;
	}
	.sol-ticket-featured{transform:none}
}


/* v0.1.4 navigation spacing */
.sol-nav .wp-block-navigation__container{
	gap:0.25rem;
}
.sol-nav .wp-block-navigation-item__content{
	display:block;
	padding:0.65rem 0.85rem;
	border-radius:999px;
	transition:background-color .15s ease,color .15s ease;
}
.sol-nav .wp-block-navigation-item:not(.sol-nav-cta) .wp-block-navigation-item__content:hover{
	background:rgba(8,43,76,.07);
}
.sol-nav-cta .wp-block-navigation-item__content{
	padding:0.72rem 1.15rem !important;
}
@media(max-width:900px){
	.sol-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
		padding:.7rem .85rem;
	}
}


/* v0.1.5 Research / Practice / Impact comparison row */
.sol-pillar-grid{
	display:grid !important;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
	align-items:stretch;
}
.sol-pillar-card{
	height:100%;
	box-sizing:border-box;
}
@media(max-width:780px){
	.sol-pillar-grid{
		grid-template-columns:1fr !important;
	}
}


/* v0.1.6 detailed programme */
.sol-program-days{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:26px;
	margin-top:46px;
	align-items:start;
}
.sol-program-day{
	background:white;
	border-radius:24px;
	overflow:hidden;
	box-shadow:var(--sol-shadow);
	border:1px solid rgba(8,43,76,.08);
}
.sol-program-day-gold{
	background:#fffaf0;
	border-color:rgba(210,162,76,.35);
}
.sol-program-day-head{
	padding:30px 32px 18px;
}
.sol-program-day-head h3{
	font-size:1.7rem;
	margin:.25rem 0 .5rem;
}
.sol-program-table{
	border-top:1px solid rgba(8,43,76,.09);
}
.sol-program-row{
	display:grid;
	grid-template-columns:112px minmax(0,1fr);
	gap:18px;
	padding:15px 32px;
	border-bottom:1px solid rgba(8,43,76,.075);
	align-items:start;
}
.sol-program-row time{
	color:var(--sol-gold);
	font-weight:900;
	font-size:.88rem;
	white-space:nowrap;
}
.sol-program-row strong{
	display:block;
	color:var(--sol-navy);
	line-height:1.35;
}
.sol-program-row small{
	display:block;
	margin-top:4px;
	color:var(--sol-muted);
	line-height:1.35;
}
.sol-program-period{
	padding:15px 32px;
	background:rgba(8,43,76,.06);
	border-left:4px solid var(--sol-gold);
	border-bottom:1px solid rgba(8,43,76,.075);
}
.sol-program-period strong{
	display:block;
	color:var(--sol-navy);
	font-size:.95rem;
	letter-spacing:.07em;
	text-transform:uppercase;
}
.sol-program-period small{
	display:block;
	margin-top:5px;
	color:var(--sol-muted);
	font-size:.88rem;
	line-height:1.45;
}
.sol-program-break{
	background:rgba(8,43,76,.035);
}
.sol-program-gala{
	background:var(--sol-deep);
}
.sol-program-gala strong,
.sol-program-gala small{color:white}
.sol-program-gala time{color:var(--sol-gold)}
.sol-program-total{
	margin:0!important;
	padding:20px 32px 26px;
	color:var(--sol-navy);
}
.sol-program-summary{
	margin-top:28px;
	background:var(--sol-navy);
	color:white;
	border-radius:22px;
	overflow:hidden;
}
.sol-program-summary>.wp-block-group{
	padding:24px 28px;
	text-align:center;
	border-right:1px solid rgba(255,255,255,.12);
}
.sol-program-summary>.wp-block-group:last-child{border-right:0}
.sol-program-summary .sol-stat{color:var(--sol-gold)!important;font-size:2rem!important}
.sol-program-summary p{margin:.2rem 0}
.sol-program-summary .sol-stat-note{font-size:.78rem;color:rgba(255,255,255,.68);letter-spacing:.04em}
@media(max-width:1000px){
	.sol-program-days{grid-template-columns:1fr}
}
@media(max-width:600px){
	.sol-program-row{
		grid-template-columns:1fr;
		gap:4px;
		padding:14px 20px;
	}
	.sol-program-day-head{padding:24px 20px 14px}
	.sol-program-total{padding:18px 20px 22px}
	.sol-program-summary{grid-template-columns:1fr!important}
	.sol-program-summary>.wp-block-group{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
}


/* v0.1.7 four participation options */
.sol-ticket-grid-four{
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.sol-ticket-grid-four .sol-ticket-card{
	padding:30px 26px;
}
.sol-ticket-grid-four .sol-ticket-card h3{
	font-size:1.42rem;
}
.sol-ticket-grid-four .sol-price{
	font-size:clamp(2.5rem,3vw,3.5rem);
}
.sol-earlybird-note{
	display:inline-block;
	margin-top:1.2rem;
	padding:.85rem 1rem;
	border-radius:14px;
	background:var(--sol-sand);
	color:var(--sol-navy);
}
.sol-regular-price{
	margin:.1rem 0 1rem;
	color:var(--sol-muted);
	font-size:.88rem;
	font-weight:700;
}
.sol-ticket-stock{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	margin:.9rem 0 .2rem!important;
	color:#28623c;
	font-size:.84rem;
	font-weight:850;
	text-align:center;
}
.sol-ticket-stock:before{
	content:"";
	width:.58rem;
	height:.58rem;
	flex:0 0 .58rem;
	border-radius:50%;
	background:#3b9959;
	box-shadow:0 0 0 4px rgba(59,153,89,.12);
}
.sol-ticket-stock-low{color:#8a5a0a}
.sol-ticket-stock-low:before{background:var(--sol-gold);box-shadow:0 0 0 4px rgba(210,162,76,.16)}
.sol-ticket-stock-sold-out{color:#9a3030}
.sol-ticket-stock-sold-out:before{background:#b64242;box-shadow:0 0 0 4px rgba(182,66,66,.12)}
.sol-ticket-badge-dark{
	background:var(--sol-navy);
	color:white;
}
.sol-ticket-keynote{
	border-color:rgba(8,43,76,.25);
}
.sol-price-footnote{
	max-width:900px;
	margin:26px auto 0!important;
	color:var(--sol-muted);
	font-size:.9rem;
}
@media(max-width:1180px){
	.sol-ticket-grid-four{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}
}
@media(max-width:720px){
	.sol-ticket-grid-four{
		grid-template-columns:1fr !important;
	}
}


/* v0.1.8 bottom CTA button spacing */
.sol-final-cta .wp-block-buttons{
	gap:18px;
	margin-top:30px;
	margin-bottom:30px;
}
.sol-final-cta .wp-block-button{
	margin:0;
}
@media(max-width:600px){
	.sol-final-cta .wp-block-buttons{
		gap:14px;
		margin-top:24px;
		margin-bottom:24px;
	}
}


/* v0.1.9 photographic hero with real HTML text */
.sol-hero-photo{
	position:relative;
	min-height:clamp(650px,78vh,850px);
	padding:0 24px!important;
	display:flex;
	align-items:center;
	background-image:
		linear-gradient(90deg,rgba(255,251,243,.95) 0%,rgba(255,251,243,.90) 28%,rgba(255,251,243,.52) 48%,rgba(255,251,243,.05) 70%),
		url("/wp-content/themes/sol-symposium-ollie-child/assets/images/helsinki-hero-background.webp");
	background-size:cover;
	background-position:center center;
	color:var(--sol-navy);
	overflow:hidden;
}
.sol-hero-photo:after{display:none}
.sol-hero-photo-inner{
	width:100%;
	padding-top:clamp(70px,9vw,110px);
	padding-bottom:clamp(70px,9vw,110px);
}
.sol-hero-brand-row{
	gap:22px!important;
	align-items:center!important;
	max-width:920px;
}
.sol-hero-emblem{
	width:clamp(125px,14vw,205px);
	height:auto;
	flex:0 0 auto;
}
.sol-hero-brand-copy{
	max-width:720px;
}
.sol-hero-international{
	margin:0 0 .4rem!important;
	font-size:clamp(.9rem,1.5vw,1.35rem);
	font-weight:700;
	letter-spacing:.28em;
	color:var(--sol-navy);
}
.sol-hero-photo-title{
	margin:0!important;
	font-size:clamp(2.2rem,4.4vw,4.9rem)!important;
	line-height:.98!important;
	letter-spacing:-.045em!important;
	color:var(--sol-navy)!important;
	white-space:nowrap;
}
.sol-hero-photo-subtitle{
	margin:.18rem 0 0!important;
	font-size:clamp(2rem,4vw,4.35rem)!important;
	line-height:1!important;
	letter-spacing:-.035em!important;
	color:var(--sol-gold)!important;
	white-space:nowrap;
}
.sol-hero-location{
	display:flex;
	align-items:center;
	gap:.75rem;
	margin:1.2rem 0 .35rem!important;
	padding-left:clamp(147px,16vw,227px);
	font-size:clamp(1rem,1.7vw,1.42rem);
	font-weight:850;
	letter-spacing:.22em;
	color:var(--sol-navy);
}
.sol-hero-location b{color:var(--sol-gold)}
.sol-hero-tagline-photo{
	margin:.2rem 0 0!important;
	padding-left:clamp(147px,16vw,227px);
	font-size:clamp(.95rem,1.45vw,1.22rem);
	font-weight:800;
	letter-spacing:.15em;
	color:var(--sol-navy);
}
.sol-hero-meta{
	margin-top:2.25rem;
	gap:14px!important;
	padding-left:clamp(147px,16vw,227px);
}
.sol-hero-date-card,.sol-hero-place-card{
	margin:0!important;
	display:flex;
	flex-direction:column;
	min-width:210px;
	padding:.9rem 1.05rem;
	border-radius:14px;
	background:rgba(255,255,255,.82);
	border:1px solid rgba(8,43,76,.12);
	box-shadow:0 8px 28px rgba(4,29,51,.08);
	backdrop-filter:blur(7px);
}
.sol-hero-date-card{
	background:rgba(8,43,76,.94);
	color:white;
}
.sol-hero-date-card .sol-meta-label{color:#f3c86f}
.sol-meta-label{
	font-size:.64rem;
	font-weight:900;
	letter-spacing:.18em;
	color:var(--sol-gold);
	margin-bottom:.18rem;
}
.sol-hero-meta strong{
	font-size:clamp(.95rem,1.35vw,1.18rem);
	letter-spacing:.035em;
}
.sol-hero-photo-buttons{
	margin-top:1.15rem;
	gap:14px;
	padding-left:clamp(147px,16vw,227px);
}
.sol-btn-navy .wp-block-button__link{
	background:var(--sol-navy)!important;
	color:white!important;
	border:2px solid var(--sol-navy)!important;
	padding:.92rem 1.35rem;
}
@media(max-width:1000px){
	.sol-hero-photo{
		background-image:
			linear-gradient(90deg,rgba(255,251,243,.96) 0%,rgba(255,251,243,.87) 52%,rgba(255,251,243,.22) 100%),
			url("/wp-content/themes/sol-symposium-ollie-child/assets/images/helsinki-hero-background.webp");
		background-position:62% center;
	}
	.sol-hero-photo-title,.sol-hero-photo-subtitle{white-space:normal}
}
@media(max-width:760px){
	.sol-hero-photo{
		min-height:auto;
		padding:0 18px!important;
		background-image:
			linear-gradient(180deg,rgba(255,251,243,.84) 0%,rgba(255,251,243,.70) 58%,rgba(255,251,243,.34) 100%),
			url("/wp-content/themes/sol-symposium-ollie-child/assets/images/helsinki-hero-background.webp");
		background-position:92% center;
	}
	.sol-hero-brand-row{
		flex-direction:column;
		align-items:flex-start!important;
		gap:12px!important;
	}
	.sol-hero-emblem{width:118px}
	.sol-hero-location,
	.sol-hero-tagline-photo,
	.sol-hero-meta,
	.sol-hero-photo-buttons{
		padding-left:0;
	}
	.sol-hero-location{
		flex-wrap:wrap;
		letter-spacing:.14em;
	}
	.sol-hero-meta{
		align-items:stretch!important;
	}
	.sol-hero-date-card,.sol-hero-place-card{
		min-width:0;
		width:100%;
		box-sizing:border-box;
	}
	.sol-hero-photo-buttons{
		flex-direction:column;
		align-items:stretch!important;
	}
	.sol-hero-photo-buttons .wp-block-button{
		width:100%;
	}
	.sol-hero-photo-buttons .wp-block-button__link{
		width:100%;
		box-sizing:border-box;
		text-align:center;
	}
}


/* v0.2.0 venue section with replaceable Hotel Tripla placeholders */
.sol-venue{background:var(--sol-cream)}
.sol-venue-intro{gap:clamp(38px,6vw,80px);align-items:center}
.sol-venue-main-image,.sol-venue-gallery-image{margin:0;position:relative}
.sol-venue-main-image img,.sol-venue-gallery-image img{
	display:block;width:100%;height:auto;object-fit:cover;border-radius:22px;
	box-shadow:var(--sol-shadow)
}
.sol-venue-main-image img{aspect-ratio:14/9}
.sol-venue-gallery-image img{aspect-ratio:9/6.5}
.sol-venue-main-image figcaption,.sol-venue-gallery-image figcaption{
	position:absolute;left:16px;bottom:16px;
	padding:.5rem .75rem;border-radius:999px;
	background:rgba(4,29,51,.9);color:white;
	font-size:.72rem;font-weight:850;letter-spacing:.06em
}
.sol-venue-location{margin-top:1.5rem;color:var(--sol-navy)}
.sol-venue-gallery{gap:22px;margin-top:42px}
.sol-venue-highlights{
	gap:22px;margin-top:26px;
}
.sol-venue-highlights>.wp-block-group{
	padding:26px;background:white;border:1px solid rgba(8,43,76,.09);border-radius:18px
}
.sol-venue-highlights h3{margin:.25rem 0 .5rem}
@media(max-width:760px){
	.sol-venue-gallery{grid-template-columns:1fr!important}
	.sol-venue-highlights{grid-template-columns:1fr!important}
}


/* v0.2.1 hero left alignment + full-bleed event ribbon */
.sol-hero-photo-inner{
	max-width:none!important;
	width:100%!important;
	margin-left:0!important;
	margin-right:0!important;
	padding-left:clamp(38px,5vw,88px)!important;
	padding-right:24px!important;
	box-sizing:border-box;
}
.sol-hero-brand-row{
	margin-left:0!important;
}
.sol-hero-location,
.sol-hero-tagline-photo{
	padding-left:clamp(147px,16vw,227px);
}
.sol-hero-photo-buttons{
	margin-top:2.1rem;
	margin-bottom:1.45rem;
	padding-left:clamp(147px,16vw,227px);
}
.sol-hero-ribbon{
	position:relative;
	left:calc(-1 * clamp(38px,5vw,88px));
	width:max-content;
	max-width:calc(100vw - 18px);
	display:flex;
	align-items:center;
	gap:24px;
	padding:14px 42px 14px clamp(38px,5vw,88px);
	background:rgba(4,29,51,.96);
	color:white;
	box-shadow:0 12px 35px rgba(4,29,51,.18);
	clip-path:polygon(0 0,calc(100% - 30px) 0,100% 50%,calc(100% - 30px) 100%,0 100%);
}
.sol-ribbon-item{
	display:flex;
	align-items:center;
	gap:12px;
	white-space:nowrap;
}
.sol-ribbon-item>span:last-child{
	display:flex;
	flex-direction:column;
}
.sol-ribbon-item small{
	color:var(--sol-gold);
	font-size:.58rem;
	font-weight:950;
	letter-spacing:.17em;
	line-height:1.2;
	margin-bottom:2px;
}
.sol-ribbon-item strong{
	color:white;
	font-size:clamp(.88rem,1.15vw,1.08rem);
	letter-spacing:.025em;
	line-height:1.2;
}
.sol-ribbon-icon{
	color:var(--sol-gold);
	font-size:1.25rem;
}
.sol-ribbon-divider{
	width:1px;
	height:34px;
	background:rgba(210,162,76,.75);
	flex:0 0 auto;
}
@media(max-width:1000px){
	.sol-hero-photo-inner{
		padding-left:32px!important;
	}
	.sol-hero-ribbon{
		left:-32px;
		padding-left:32px;
	}
}
@media(max-width:760px){
	.sol-hero-photo-inner{
		padding-left:0!important;
		padding-right:0!important;
	}
	.sol-hero-location,
	.sol-hero-tagline-photo,
	.sol-hero-photo-buttons{
		padding-left:0;
	}
	.sol-hero-ribbon{
		left:-18px;
		width:calc(100% + 36px);
		max-width:none;
		box-sizing:border-box;
		padding:14px 28px 14px 18px;
		clip-path:none;
		flex-direction:column;
		align-items:flex-start;
		gap:10px;
	}
	.sol-ribbon-divider{
		width:100%;
		height:1px;
	}
	.sol-ribbon-item{
		white-space:normal;
	}
}


/* v0.2.2 inviting second hero / welcome section */
.sol-welcome-strip{
	position:relative;
	overflow:hidden;
	padding:clamp(68px,7vw,100px) 24px;
	background:
		radial-gradient(circle at 90% 10%,rgba(210,162,76,.15),transparent 30%),
		linear-gradient(180deg,#ffffff 0%,#fbf8f2 100%);
	border-bottom:1px solid rgba(8,43,76,.08);
}
.sol-welcome-strip:before{
	content:"";
	position:absolute;
	width:360px;
	height:360px;
	border:1px solid rgba(8,43,76,.06);
	border-radius:50%;
	right:-120px;
	top:-180px;
	box-shadow:
		0 0 0 55px rgba(8,43,76,.025),
		0 0 0 110px rgba(210,162,76,.025);
	pointer-events:none;
}
.sol-welcome-intro{
	text-align:center;
	margin-bottom:42px;
}
.sol-welcome-intro h2{
	font-size:clamp(2.35rem,4.5vw,4.6rem);
	margin:.2rem 0 1rem;
	letter-spacing:-.045em;
}
.sol-welcome-intro .sol-body-lg{
	max-width:850px;
	margin-left:auto;
	margin-right:auto;
	color:var(--sol-muted);
}
.sol-welcome-grid{
	display:grid!important;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
}
.sol-welcome-card{
	position:relative;
	min-height:250px;
	padding:30px 26px;
	border-radius:22px;
	background:white;
	border:1px solid rgba(8,43,76,.09);
	box-shadow:0 12px 34px rgba(4,29,51,.06);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.sol-welcome-card:hover{
	transform:translateY(-5px);
	box-shadow:0 20px 44px rgba(4,29,51,.10);
	border-color:rgba(210,162,76,.42);
}
.sol-welcome-icon{
	width:52px;
	height:52px;
	display:grid;
	place-items:center;
	border-radius:15px;
	background:var(--sol-navy);
	color:var(--sol-gold);
	font-size:1.45rem;
	font-weight:950;
	margin-bottom:20px;
}
.sol-welcome-card h3{
	font-size:1.35rem;
	margin:.2rem 0 .7rem;
}
.sol-welcome-card p{
	color:var(--sol-muted);
	margin-bottom:0;
}
.sol-welcome-card-gold{
	background:linear-gradient(145deg,#e2b65e,#c89436);
	border-color:transparent;
}
.sol-welcome-card-gold .sol-welcome-icon{
	background:rgba(4,29,51,.96);
	color:white;
}
.sol-welcome-card-gold h3,
.sol-welcome-card-gold p{
	color:var(--sol-deep)!important;
}
@media(max-width:1100px){
	.sol-welcome-grid{
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
}
@media(max-width:650px){
	.sol-welcome-strip{
		padding-left:18px;
		padding-right:18px;
	}
	.sol-welcome-grid{
		grid-template-columns:1fr!important;
	}
	.sol-welcome-card{
		min-height:0;
	}
}


/* v0.2.3 programme refinements */
.sol-program-change-note{
	margin-top:.85rem!important;
	font-size:.88rem;
	font-style:italic;
	color:var(--sol-muted);
}
.sol-program-lunch{
	background:rgba(210,162,76,.08);
}


/* v0.2.4 consistent button breathing room throughout the site */
.sol-main .wp-block-buttons{
	gap:16px;
	margin-top:24px;
	margin-bottom:24px;
}
.sol-main .wp-block-button{
	margin:0;
}
.sol-main .wp-block-button__link{
	min-height:48px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:.9rem 1.35rem;
	line-height:1.2;
}

/* Buttons inside cards need space from the content above, but not excessive outer margins. */
.sol-ticket-card .wp-block-buttons,
.sol-gala-price .wp-block-buttons{
	margin-top:auto;
	margin-bottom:0;
	padding-top:22px;
}

/* Standalone calls to action */
.sol-abstracts .wp-block-buttons{
	margin-top:26px;
	margin-bottom:4px;
}
.sol-final-cta .wp-block-buttons{
	gap:18px;
	margin-top:32px;
	margin-bottom:32px;
}
.sol-hero-photo-buttons{
	gap:14px!important;
	margin-top:28px!important;
	margin-bottom:24px!important;
}

/* Header navigation CTA is navigation, so don't inherit content-button spacing. */
.sol-site-header .wp-block-buttons,
.sol-site-header .wp-block-button{
	margin:0;
}

@media(max-width:600px){
	.sol-main .wp-block-buttons{
		gap:12px;
		margin-top:20px;
		margin-bottom:20px;
	}
	.sol-main .wp-block-button__link{
		min-height:50px;
	}
	.sol-final-cta .wp-block-buttons{
		margin-top:26px;
		margin-bottom:26px;
	}
}


/* v0.2.5 center Gala Dinner CTA */
.sol-gala-price .wp-block-buttons{
	width:100%;
	display:flex;
	justify-content:center !important;
	align-items:center;
}
.sol-gala-price .wp-block-button{
	margin-left:auto;
	margin-right:auto;
}
.sol-gala-price .wp-block-button__link{
	margin-left:auto;
	margin-right:auto;
}


/* v0.2.6 six-image Hotel Tripla collage */
.sol-venue-copy{
	text-align:center;
	margin-bottom:38px;
}
.sol-venue-copy .sol-body-lg{
	max-width:780px;
	margin-left:auto;
	margin-right:auto;
}
.sol-hotel-collage{
	display:grid;
	grid-template-columns:repeat(12,1fr);
	grid-auto-rows:150px;
	gap:14px;
	max-width:1240px;
	margin:0 auto 34px;
}
.sol-hotel-photo{
	margin:0;
	overflow:hidden;
	border-radius:18px;
	box-shadow:0 14px 36px rgba(4,29,51,.12);
	background:#e9ecee;
}
.sol-hotel-photo img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .35s ease;
}
.sol-hotel-photo:hover img{
	transform:scale(1.025);
}
.sol-hotel-photo-1{grid-column:span 7;grid-row:span 3}
.sol-hotel-photo-2{grid-column:span 5;grid-row:span 3}
.sol-hotel-photo-3{grid-column:span 4;grid-row:span 2}
.sol-hotel-photo-4{grid-column:span 4;grid-row:span 2}
.sol-hotel-photo-5{grid-column:span 4;grid-row:span 2}
.sol-hotel-photo-6{grid-column:span 6;grid-row:span 2}
.sol-hotel-photo-7{grid-column:span 6;grid-row:span 2}
@media(max-width:900px){
	.sol-hotel-collage{
		grid-template-columns:repeat(2,1fr);
		grid-auto-rows:220px;
	}
	.sol-hotel-photo-1,
	.sol-hotel-photo-2,
	.sol-hotel-photo-3,
	.sol-hotel-photo-4,
	.sol-hotel-photo-5,
	.sol-hotel-photo-6,
	.sol-hotel-photo-7{
		grid-column:span 1;
		grid-row:span 1;
	}
	.sol-hotel-photo-1{grid-column:span 2}
}
@media(max-width:560px){
	.sol-hotel-collage{
		grid-template-columns:1fr;
		grid-auto-rows:220px;
		gap:10px;
	}
	.sol-hotel-photo-1,
	.sol-hotel-photo-2,
	.sol-hotel-photo-3,
	.sol-hotel-photo-4,
	.sol-hotel-photo-5,
	.sol-hotel-photo-6,
	.sol-hotel-photo-7{
		grid-column:span 1;
	}
}


/* v0.2.8 footer emblem */
.sol-footer-brand{
	gap:18px!important;
	align-items:center!important;
}
.sol-footer-emblem{
	display:block;
	width:82px;
	height:auto;
	flex:0 0 auto;
}
@media(max-width:600px){
	.sol-footer-brand{
		align-items:flex-start!important;
	}
	.sol-footer-emblem{
		width:68px;
	}
}


/* v0.2.9 tighter and more consistent section rhythm */
.sol-section{
	padding-top:clamp(58px,6vw,88px);
	padding-bottom:clamp(58px,6vw,88px);
}
.sol-welcome-strip{
	padding-top:clamp(54px,5.5vw,82px);
	padding-bottom:clamp(54px,5.5vw,82px);
}
.sol-welcome-intro{
	margin-bottom:32px;
}
.sol-about .sol-two-col{
	gap:clamp(34px,5vw,72px);
}
.sol-pillars{
	padding-top:clamp(52px,5.5vw,80px);
	padding-bottom:clamp(52px,5.5vw,80px);
}
.sol-program .sol-section-heading,
.sol-tickets .sol-section-heading{
	margin-bottom:36px;
}
.sol-program-days{
	margin-top:34px;
}
.sol-abstracts{
	padding-top:clamp(50px,5vw,76px);
	padding-bottom:clamp(50px,5vw,76px);
}
.sol-gala-card{
	margin-top:34px;
}
.sol-venue-copy{
	margin-bottom:30px;
}
.sol-hotel-collage{
	margin-bottom:28px;
}
.sol-venue-highlights{
	margin-top:22px;
}
.sol-final-cta{
	padding-top:clamp(54px,5.5vw,82px);
	padding-bottom:clamp(54px,5.5vw,82px);
}

/* Avoid block-editor/theme defaults creating extra vertical gaps at section boundaries. */
.sol-main > .wp-block-group{
	margin-block-start:0;
	margin-block-end:0;
}
.sol-section > :first-child,
.sol-welcome-strip > :first-child{
	margin-top:0;
}
.sol-section > :last-child,
.sol-welcome-strip > :last-child{
	margin-bottom:0;
}

@media(max-width:600px){
	.sol-section{
		padding-top:48px;
		padding-bottom:48px;
	}
	.sol-welcome-strip,
	.sol-final-cta{
		padding-top:46px;
		padding-bottom:46px;
	}
}


/* v0.3.0 accommodation options */
.sol-accommodation{
	background:#f4f6f7;
}
.sol-accommodation-note{
	max-width:820px;
	margin:1rem auto 0!important;
	color:var(--sol-muted);
	font-size:.88rem;
	font-style:italic;
}
.sol-accommodation-grid{
	display:grid!important;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
	align-items:stretch;
}
.sol-stay-card{
	display:flex;
	flex-direction:column;
	height:100%;
	box-sizing:border-box;
	padding:32px;
	border-radius:22px;
	background:white;
	border:1px solid rgba(8,43,76,.10);
	box-shadow:0 12px 36px rgba(4,29,51,.06);
}
.sol-stay-card h3{
	font-size:1.65rem;
	margin:.4rem 0 .5rem;
}
.sol-stay-label{
	margin:0!important;
	font-size:.7rem;
	font-weight:950;
	letter-spacing:.13em;
	color:var(--sol-gold);
}
.sol-stay-price{
	margin:.7rem 0 1rem!important;
	font-size:clamp(2.4rem,3vw,3.5rem);
	font-weight:950;
	letter-spacing:-.055em;
	line-height:1;
	color:var(--sol-navy);
}
.sol-stay-price span{
	font-size:.9rem;
	font-weight:750;
	letter-spacing:0;
	color:var(--sol-muted);
	margin-left:.25rem;
}
.sol-stay-detail{
	margin-top:1rem;
	color:var(--sol-muted);
	font-size:.92rem;
}
.sol-stay-card .wp-block-buttons{
	margin-top:auto!important;
	padding-top:22px;
	margin-bottom:0!important;
}
.sol-stay-card .sol-hostel-buttons{
	display:flex!important;
	flex-wrap:wrap!important;
	gap:12px!important;
}
.sol-stay-card .sol-hostel-buttons .wp-block-button{
	flex:1 1 0;
}
.sol-stay-card .sol-hostel-buttons .wp-block-button__link{
	width:100%;
	box-sizing:border-box;
}
.sol-stay-card .sol-hostel-buttons .sol-hostel-all{
	flex-basis:100%;
}
.sol-stay-featured{
	border:2px solid var(--sol-gold);
	background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);
	transform:translateY(-7px);
}
@media(max-width:950px){
	.sol-accommodation-grid{
		grid-template-columns:1fr!important;
		max-width:720px;
		margin-left:auto;
		margin-right:auto;
	}
	.sol-stay-featured{transform:none}
}


/* v0.3.1 editorial imagery across key hero sections */
.sol-welcome-intro-media{
	text-align:left;
	display:grid!important;
	grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
	gap:clamp(34px,5vw,70px);
	align-items:center;
	margin-bottom:40px;
}
.sol-welcome-copy .sol-body-lg{
	margin-left:0;
	margin-right:0;
	max-width:700px;
}
.sol-welcome-image{
	margin:0;
	border-radius:24px;
	overflow:hidden;
	box-shadow:0 24px 60px rgba(4,29,51,.16);
	min-height:360px;
}
.sol-welcome-image img{
	display:block;
	width:100%;
	height:100%;
	min-height:360px;
	object-fit:cover;
	object-position:center;
}
.sol-about-visual{
	max-width:1240px;
	margin:34px auto 0;
	border-radius:24px;
	overflow:hidden;
	box-shadow:0 22px 54px rgba(4,29,51,.12);
}
.sol-about-visual img{
	display:block;
	width:100%;
	height:clamp(260px,32vw,430px);
	object-fit:cover;
	object-position:center 62%;
}
.sol-final-cta-photo{
	position:relative;
	overflow:hidden;
	background:
		linear-gradient(90deg,rgba(4,29,51,.97) 0%,rgba(4,29,51,.90) 46%,rgba(4,29,51,.48) 72%,rgba(4,29,51,.24) 100%),
		url("/wp-content/themes/sol-symposium-ollie-child/assets/images/hero-networking.webp") center/cover no-repeat!important;
	color:white;
	text-align:left!important;
}
.sol-final-cta-photo h2{
	color:white!important;
	margin-left:0!important;
	margin-right:0!important;
	max-width:800px!important;
}
.sol-final-cta-photo .sol-eyebrow{
	color:var(--sol-gold);
}
.sol-final-cta-photo .sol-tagline-dark{
	color:var(--sol-gold)!important;
}
.sol-final-cta-photo > .wp-block-group{
	position:relative;
	z-index:2;
	margin-left:0!important;
}
.sol-final-cta-photo .wp-block-buttons{
	justify-content:flex-start!important;
}
.sol-final-cta-photo .sol-btn-outline .wp-block-button__link{
	color:white!important;
	border-color:white!important;
}
@media(max-width:900px){
	.sol-welcome-intro-media{
		grid-template-columns:1fr!important;
	}
	.sol-welcome-image{
		min-height:300px;
	}
	.sol-welcome-image img{
		min-height:300px;
	}
}
@media(max-width:650px){
	.sol-about-visual{
		margin-top:26px;
		border-radius:18px;
	}
	.sol-final-cta-photo{
		background:
			linear-gradient(180deg,rgba(4,29,51,.96),rgba(4,29,51,.84)),
			url("/wp-content/themes/sol-symposium-ollie-child/assets/images/hero-networking.webp") center/cover no-repeat!important;
	}
}


/* v0.3.2 accommodation tier refinements */
.sol-stay-price-tbc{
	font-size:clamp(2rem,2.8vw,3rem)!important;
	letter-spacing:-.035em!important;
}
.sol-stay-featured:before{
	content:"Featured";
	position:absolute;
	top:18px;
	right:18px;
	padding:.38rem .65rem;
	border-radius:999px;
	background:var(--sol-gold);
	color:var(--sol-deep);
	font-size:.62rem;
	font-weight:950;
	letter-spacing:.11em;
	text-transform:uppercase;
}
.sol-stay-featured{
	position:relative;
}


/* v0.3.3 consolidation: hero alignment + word labels */

/* Hero Part 1: no duplicate logo, keep all text and CTAs further left */
.sol-hero-brand-row{
	gap:0!important;
	max-width:780px;
	margin-left:0!important;
}
.sol-hero-brand-copy{
	max-width:760px;
}
.sol-hero-location,
.sol-hero-tagline-photo,
.sol-hero-photo-buttons{
	padding-left:0!important;
	margin-left:0!important;
}
.sol-hero-photo-buttons{
	justify-content:flex-start!important;
}

/* Ribbon must visually connect to the left edge of the viewport */
.sol-hero-ribbon{
	left:calc(-1 * clamp(38px,5vw,88px))!important;
	margin-left:0!important;
}
@media(max-width:1000px){
	.sol-hero-ribbon{left:-32px!important}
}
@media(max-width:760px){
	.sol-hero-ribbon{left:-18px!important}
}

/* Replace numeric card labels with short verbal hooks */
.sol-word-label{
	font-size:.74rem!important;
	font-weight:950!important;
	letter-spacing:.15em!important;
	color:var(--sol-gold)!important;
	text-transform:uppercase;
	margin-bottom:.35rem!important;
}
.sol-venue-highlights .sol-word-label,
.sol-pillar-card .sol-word-label{
	white-space:nowrap;
}


/* v0.3.4 program summary: three equal columns */
.sol-program-summary{
	display:grid !important;
	grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	align-items:stretch;
}
.sol-program-summary > .wp-block-group{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-height:150px;
	padding:26px 20px;
	text-align:center;
	border-right:1px solid rgba(255,255,255,.14);
	border-bottom:0;
}
.sol-program-summary > .wp-block-group:last-child{
	border-right:0;
}
@media(max-width:650px){
	.sol-program-summary{
		grid-template-columns:1fr !important;
	}
	.sol-program-summary > .wp-block-group{
		min-height:120px;
		border-right:0;
		border-bottom:1px solid rgba(255,255,255,.14);
	}
	.sol-program-summary > .wp-block-group:last-child{
		border-bottom:0;
	}
}


/* v0.3.6 approved white/gold footer emblem */
.sol-footer-emblem{
	width:118px!important;
	max-height:92px;
	object-fit:contain;
}
@media(max-width:600px){
	.sol-footer-emblem{
		width:92px!important;
		max-height:76px;
	}
}


/* v0.3.8 center welcome feature cards */
.sol-welcome-card{
	text-align:center;
}
.sol-welcome-card .sol-welcome-icon{
	margin-left:auto;
	margin-right:auto;
}
.sol-welcome-card h3,
.sol-welcome-card p{
	text-align:center;
}


/* v0.4.0 Call for Abstracts with Oodi background + opacity gradient */
.sol-abstracts-oodi{
	position:relative;
	overflow:hidden;
	background:
		linear-gradient(
			90deg,
			rgba(4,29,51,.98) 0%,
			rgba(4,29,51,.95) 32%,
			rgba(4,29,51,.78) 52%,
			rgba(4,29,51,.38) 72%,
			rgba(4,29,51,.14) 100%
		),
		url("/wp-content/themes/sol-symposium-ollie-child/assets/images/oodi-abstracts-background-v2.webp") center right/cover no-repeat!important;
	min-height:430px;
	display:flex;
	align-items:center;
}
.sol-abstracts-oodi .sol-cta-panel{
	position:relative;
	z-index:2;
	width:100%;
}
.sol-abstracts-oodi .sol-cta-panel > .wp-block-group{
	max-width:620px;
}
.sol-abstracts-oodi h2,
.sol-abstracts-oodi p{
	text-shadow:0 2px 14px rgba(4,29,51,.18);
}
@media(max-width:800px){
	.sol-abstracts-oodi{
		background:
			linear-gradient(
				90deg,
				rgba(4,29,51,.97) 0%,
				rgba(4,29,51,.91) 58%,
				rgba(4,29,51,.55) 100%
			),
			url("/wp-content/themes/sol-symposium-ollie-child/assets/images/oodi-abstracts-background-v2.webp") center/cover no-repeat!important;
	}
}
@media(max-width:600px){
	.sol-abstracts-oodi{
		min-height:0;
		background:
			linear-gradient(rgba(4,29,51,.91),rgba(4,29,51,.91)),
			url("/wp-content/themes/sol-symposium-ollie-child/assets/images/oodi-abstracts-background-v2.webp") center/cover no-repeat!important;
	}
}


/* v0.4.1 FINAL CONSOLIDATION LAYER
   Keeps all approved landing-page changes together and overrides older branch rules. */

/* Global section rhythm */
.sol-main > .wp-block-group{margin-block-start:0!important;margin-block-end:0!important}
.sol-section{padding-top:clamp(58px,6vw,88px)!important;padding-bottom:clamp(58px,6vw,88px)!important}
@media(max-width:600px){.sol-section{padding-top:48px!important;padding-bottom:48px!important}}

/* Hero Part 1: no duplicate emblem; left-aligned copy, buttons and full-bleed ribbon */
.sol-hero-brand-row{gap:0!important;max-width:780px!important;margin-left:0!important}
.sol-hero-brand-copy{max-width:760px!important}
.sol-hero-location,.sol-hero-tagline-photo,.sol-hero-photo-buttons{padding-left:0!important;margin-left:0!important}
.sol-hero-photo-buttons{justify-content:flex-start!important;gap:14px!important;margin-top:28px!important;margin-bottom:24px!important}
.sol-hero-ribbon{
    left:calc(-1 * clamp(38px,5vw,88px))!important;
    margin-left:0!important;
    width:max-content!important;
}
@media(max-width:1000px){.sol-hero-ribbon{left:-32px!important}}
@media(max-width:760px){.sol-hero-ribbon{left:-18px!important;width:calc(100% + 36px)!important}}

/* All content buttons: adequate spacing */
.sol-main .wp-block-buttons{gap:16px!important;margin-top:24px!important;margin-bottom:24px!important}
.sol-main .wp-block-button{margin:0!important}
.sol-main .wp-block-button__link{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.35rem}
.sol-ticket-card .wp-block-buttons,.sol-gala-price .wp-block-buttons{margin-top:auto!important;margin-bottom:0!important;padding-top:22px!important}
.sol-final-cta .wp-block-buttons{gap:18px!important;margin-top:32px!important;margin-bottom:32px!important}

/* Hero Part 2 welcome image and centered feature cards */
.sol-welcome-intro-media{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:clamp(34px,5vw,70px)!important;align-items:center!important}
.sol-welcome-card{text-align:center!important}
.sol-welcome-card .sol-welcome-icon{margin-left:auto!important;margin-right:auto!important}
.sol-welcome-card h3,.sol-welcome-card p{text-align:center!important}
@media(max-width:900px){.sol-welcome-intro-media{grid-template-columns:1fr!important}}

/* Research / Practice / Impact cards in one row */
.sol-pillar-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
.sol-pillar-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column}
.sol-pillar-media{margin:0!important;aspect-ratio:3/2;overflow:hidden;background:#dfe5e8}
.sol-pillar-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.sol-pillar-card:hover .sol-pillar-media img{transform:scale(1.025)}
.sol-pillar-content{padding:30px 32px 32px;flex:1}
.sol-pillar-content>p:last-child{margin-bottom:0}
.sol-word-label{font-size:.74rem!important;font-weight:950!important;letter-spacing:.15em!important;color:var(--sol-gold)!important;text-transform:uppercase!important;margin-bottom:.35rem!important}
@media(max-width:780px){.sol-pillar-grid{grid-template-columns:1fr!important}.sol-pillar-card{min-height:0}.sol-pillar-media{display:none}.sol-pillar-content{padding:26px}}
@media(prefers-reduced-motion:reduce){.sol-pillar-media img{transition:none}.sol-pillar-card:hover .sol-pillar-media img{transform:none}}

/* Program day summary: three parallel stats */
.sol-program-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
.sol-program-summary>.wp-block-group{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:150px!important;padding:26px 20px!important;text-align:center!important;border-right:1px solid rgba(255,255,255,.14)!important;border-bottom:0!important}
.sol-program-summary>.wp-block-group:last-child{border-right:0!important}
@media(max-width:650px){
 .sol-program-summary{grid-template-columns:1fr!important}
 .sol-program-summary>.wp-block-group{min-height:120px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important}
 .sol-program-summary>.wp-block-group:last-child{border-bottom:0!important}
}

/* Call for abstracts: Oodi background with readability gradient */
.sol-abstracts-oodi{
    position:relative!important;
    overflow:hidden!important;
    background:
      linear-gradient(90deg,rgba(4,29,51,.98) 0%,rgba(4,29,51,.95) 32%,rgba(4,29,51,.78) 52%,rgba(4,29,51,.38) 72%,rgba(4,29,51,.14) 100%),
      url("/wp-content/themes/sol-symposium-ollie-child/assets/images/oodi-abstracts-background-v2.webp") center right/cover no-repeat!important;
    min-height:430px!important;
    display:flex!important;
    align-items:center!important;
}
.sol-abstracts-oodi .sol-cta-panel{position:relative!important;z-index:2!important;width:100%!important}
@media(max-width:600px){
 .sol-abstracts-oodi{
   min-height:0!important;
   background:
     linear-gradient(rgba(4,29,51,.91),rgba(4,29,51,.91)),
     url("/wp-content/themes/sol-symposium-ollie-child/assets/images/oodi-abstracts-background-v2.webp") center/cover no-repeat!important;
 }
}

/* Pricing options row */
.sol-ticket-grid-four{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
@media(max-width:1180px){.sol-ticket-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.sol-ticket-grid-four{grid-template-columns:1fr!important}}

/* Gala CTA centered */
.sol-gala-price .wp-block-buttons{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important}
.sol-gala-price .wp-block-button,.sol-gala-price .wp-block-button__link{margin-left:auto!important;margin-right:auto!important}

/* Venue words / gallery / highlights */
.sol-venue-highlights{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
@media(max-width:760px){.sol-venue-highlights{grid-template-columns:1fr!important}}

/* Accommodation: three distinct tiers */
.sol-accommodation-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
@media(max-width:950px){.sol-accommodation-grid{grid-template-columns:1fr!important;max-width:720px;margin-left:auto!important;margin-right:auto!important}}

/* Final CTA: networking photo background */
.sol-final-cta-photo{
    position:relative!important;
    overflow:hidden!important;
    background:
      linear-gradient(90deg,rgba(4,29,51,.97) 0%,rgba(4,29,51,.90) 46%,rgba(4,29,51,.48) 72%,rgba(4,29,51,.24) 100%),
      url("/wp-content/themes/sol-symposium-ollie-child/assets/images/hero-networking.webp") center/cover no-repeat!important;
    color:white!important;
    text-align:left!important;
}
.sol-final-cta-photo h2{color:white!important;margin-left:0!important;margin-right:0!important;max-width:800px!important}
.sol-final-cta-photo .wp-block-buttons{justify-content:flex-start!important}

/* Footer approved white/gold emblem */
.sol-footer-brand{gap:18px!important;align-items:center!important}
.sol-footer-emblem{width:118px!important;max-height:92px!important;object-fit:contain!important}
@media(max-width:600px){.sol-footer-emblem{width:92px!important;max-height:76px!important}}

/* v0.4.3 — a little magic for tickets and accommodation */
.sol-tickets,
.sol-accommodation{
	position:relative;
	isolation:isolate;
	overflow:hidden;
}
.sol-tickets:before,
.sol-accommodation:before{
	content:"";
	position:absolute;
	z-index:-1;
	width:520px;
	height:520px;
	border-radius:50%;
	filter:blur(2px);
	pointer-events:none;
}
.sol-tickets:before{
	top:100px;
	right:-260px;
	background:radial-gradient(circle,rgba(210,162,76,.18) 0%,rgba(210,162,76,.06) 42%,transparent 70%);
}
.sol-accommodation:before{
	top:60px;
	left:-270px;
	background:radial-gradient(circle,rgba(57,128,157,.16) 0%,rgba(57,128,157,.05) 44%,transparent 70%);
}
.sol-tickets .sol-section-heading:after,
.sol-accommodation .sol-section-heading:after{
	content:"✦";
	display:block;
	width:86px;
	margin:24px auto 0;
	color:var(--sol-gold);
	font-size:1rem;
	line-height:1;
	letter-spacing:0;
	background:linear-gradient(90deg,rgba(210,162,76,0),rgba(210,162,76,.65) 40%,transparent 40%,transparent 60%,rgba(210,162,76,.65) 60%,rgba(210,162,76,0));
}

/* Ticket cards become a connected family of passes. */
.sol-ticket-grid-four{
	position:relative;
	gap:18px!important;
}
.sol-ticket-card{
	overflow:hidden;
	border:1px solid rgba(8,43,76,.12);
	box-shadow:0 18px 45px rgba(4,29,51,.08);
	transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.sol-ticket-card:after{
	content:"0" counter(sol-ticket);
	position:absolute;
	top:23px;
	right:23px;
	color:rgba(8,43,76,.16);
	font-size:.72rem;
	font-weight:950;
	letter-spacing:.12em;
}
.sol-ticket-grid-four{counter-reset:sol-ticket}
.sol-ticket-grid-four>.sol-ticket-card{counter-increment:sol-ticket}
.sol-ticket-card:before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:5px;
	border:0;
	border-radius:0;
	background:linear-gradient(90deg,var(--sol-gold),#f0cf84 58%,rgba(240,207,132,.15));
	pointer-events:none;
}
.sol-ticket-card:nth-child(2):before{background:linear-gradient(90deg,#557f96,#9fb8c5 58%,rgba(159,184,197,.12))}
.sol-ticket-card:nth-child(3):before{background:linear-gradient(90deg,#2f6883,#79a6b8 58%,rgba(121,166,184,.12))}
.sol-ticket-card:nth-child(4):before{background:linear-gradient(90deg,var(--sol-navy),var(--sol-gold) 70%,rgba(210,162,76,.15))}
.sol-ticket-grid-four>.sol-ticket-card:first-child h3{text-align:center}
.sol-ticket-card .sol-price{
	position:relative;
	display:inline-block;
	width:max-content;
}
.sol-ticket-card .sol-price:after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-7px;
	height:3px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--sol-gold),transparent);
}
.sol-ticket-card:hover{
	transform:translateY(-7px);
	border-color:rgba(210,162,76,.45);
	box-shadow:0 24px 60px rgba(4,29,51,.14);
}
.sol-ticket-featured:hover{transform:translateY(-12px)}
.sol-ticket-keynote{
	background:linear-gradient(155deg,#fff 0%,#fff 66%,rgba(8,43,76,.055) 100%);
}

/* Accommodation cards read as three distinct Helsinki experiences. */
.sol-stay-card{
	position:relative;
	overflow:hidden;
	padding-top:78px;
	box-shadow:0 18px 44px rgba(4,29,51,.08);
	transition:transform .25s ease,box-shadow .25s ease;
}
.sol-stay-card:after{
	content:"01  /  SOCIAL";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:48px;
	display:flex;
	align-items:center;
	padding:0 32px;
	box-sizing:border-box;
	background:linear-gradient(110deg,#eaf1f1,#f7faf9);
	color:var(--sol-navy);
	font-size:.65rem;
	font-weight:950;
	letter-spacing:.16em;
}
.sol-stay-card:nth-child(2):after{
	content:"02  /  SEASIDE";
	background:linear-gradient(110deg,#dcecf1,#f3f8fa);
}
.sol-stay-card:nth-child(3):after{
	content:"03  /  TOGETHER";
	background:linear-gradient(110deg,var(--sol-navy),#174d70 70%,var(--sol-gold));
	color:white;
}
.sol-stay-card .sol-stay-label:before{
	content:"✦";
	margin-right:.5rem;
	font-size:.72rem;
}
.sol-stay-card:hover{
	transform:translateY(-7px);
	box-shadow:0 25px 58px rgba(4,29,51,.14);
}
.sol-stay-featured:hover{transform:translateY(-12px)}
.sol-stay-featured:before{
	top:61px;
	right:22px;
	z-index:2;
	box-shadow:0 5px 16px rgba(210,162,76,.22);
}
.sol-stay-price{
	padding-bottom:16px;
	border-bottom:1px solid rgba(8,43,76,.09);
}
@media(max-width:950px){
	.sol-ticket-card:hover,.sol-ticket-featured:hover,.sol-stay-card:hover,.sol-stay-featured:hover{transform:none}
}
@media(max-width:600px){
	.sol-stay-card{padding-top:72px}
	.sol-stay-card:after{padding:0 26px}
	.sol-stay-featured:before{top:59px}
}
@media(prefers-reduced-motion:reduce){
	.sol-ticket-card,.sol-stay-card{transition:none}
	.sol-ticket-card:hover,.sol-ticket-featured:hover,.sol-stay-card:hover,.sol-stay-featured:hover{transform:none}
}


/* v0.4.2 public launch and responsive chrome */
.sol-header-inner,
.sol-footer-inner,
.sol-footer-brand,
.sol-footer-event-brand,
.sol-footer-event-brand > .wp-block-group{
	min-width:0;
}
.sol-footer-inner{gap:32px 48px}
.sol-footer-brand{flex:1 1 600px}
.sol-footer-event-brand{gap:18px!important;align-items:center!important}
.sol-footer-event-link{display:block;flex:0 0 auto;line-height:0}
.sol-footer-event-brand h3 a{color:inherit;text-decoration:none}
.sol-footer-links{
	margin-top:18px;
	margin-left:157px!important;
}
.sol-footer-contact-academy-link{display:inline-block;margin:.55rem 0 .35rem;line-height:0}
.sol-footer-contact-academy-logo{display:block;width:260px;max-width:100%;height:auto}
.sol-footer h3,
.sol-footer h4,
.sol-footer p{overflow-wrap:anywhere}
.sol-footer-details{flex:0 1 390px}
.sol-footer-details h4{
	color:var(--sol-gold)!important;
	font-size:.78rem;
	font-weight:900;
	letter-spacing:.12em;
	margin:0 0 .45rem;
	text-transform:uppercase;
}
.sol-footer-details h4:not(:first-child){margin-top:1.4rem}
.sol-footer-details p{line-height:1.65}

@media(max-width:1080px){
	.sol-brand-link{max-width:275px}
	.sol-nav .wp-block-navigation-item__content{padding:.6rem .65rem}
}

@media(max-width:780px){
	.sol-header-inner{min-height:70px;padding:8px 18px;gap:16px}
	.sol-brand-link{
		width:min(235px,calc(100vw - 92px));
		max-width:none;
		flex:0 1 auto;
	}
	.sol-nav{flex:0 0 auto}
	.sol-footer-inner{
		display:grid!important;
		grid-template-columns:1fr;
		justify-items:start!important;
	}
	.sol-footer-details{width:100%}
}

@media(max-width:520px){
	.sol-footer{padding:40px 18px}
	.sol-footer-brand{
		width:100%;
	}
	.sol-footer-event-brand{display:grid!important;grid-template-columns:76px minmax(0,1fr);gap:14px!important}
	.sol-footer-emblem{width:76px!important}
	.sol-footer h3{font-size:1.1rem;line-height:1.2}
	.sol-footer-tagline{font-size:.78rem;letter-spacing:.11em}
}

/* Make the WooCommerce shop catalogue comfortable to scan. */
body:is(.woocommerce-shop,.tax-product_cat) main .wp-block-query-title{
	font-size:clamp(3rem,5vw,5rem)!important;
	line-height:1!important;
}
body:is(.woocommerce-shop,.tax-product_cat) .woocommerce-breadcrumb{
	font-size:1.125rem;
	line-height:1.5;
}
body:is(.woocommerce-shop,.tax-product_cat) .woocommerce-result-count,
body:is(.woocommerce-shop,.tax-product_cat) .woocommerce-ordering select{
	font-size:1.125rem;
	line-height:1.5;
}
body:is(.woocommerce-shop,.tax-product_cat) .wc-block-product .ollie-product-button-hover{
	margin-bottom:clamp(1.5rem,2vw,2rem)!important;
}
body:is(.woocommerce-shop,.tax-product_cat) .wc-block-product .wp-block-post-title{
	font-size:clamp(1.35rem,1.6vw,1.65rem)!important;
	line-height:1.2!important;
}
body:is(.woocommerce-shop,.tax-product_cat) .wc-block-product .wc-block-components-product-price{
	font-size:1.25rem;
	line-height:1.45;
}
body:is(.woocommerce-shop,.tax-product_cat) .wc-block-product .wc-block-components-product-button,
body:is(.woocommerce-shop,.tax-product_cat) .wc-block-product .wc-block-components-product-button__button{
	font-size:1rem!important;
}
body:is(.woocommerce-shop,.tax-product_cat) .wc-block-product .wc-block-components-product-sale-badge{
	font-size:.95rem!important;
}

@media(max-width:600px){
	body:is(.woocommerce-shop,.tax-product_cat) .woocommerce-result-count,
	body:is(.woocommerce-shop,.tax-product_cat) .woocommerce-ordering select{font-size:1rem}
	body:is(.woocommerce-shop,.tax-product_cat) .wc-block-product .wp-block-post-title{font-size:1.3rem!important}
	body:is(.woocommerce-shop,.tax-product_cat) .wc-block-product .wc-block-components-product-price{font-size:1.15rem}
}

/* Give the primary image on product pages room away from the page edges. */
body.single-product main .wp-block-woocommerce-product-gallery{
	margin:clamp(1.25rem,2.5vw,2rem);
}

@media(max-width:781px){
	body.single-product main .wp-block-woocommerce-product-gallery{
		margin:1.25rem;
	}
}

/* Add comfortable spacing throughout WooCommerce cart tables. */
body.woocommerce-cart main .wp-block-post-title,
body.woocommerce-cart main .wp-block-query-title{
	font-size:clamp(3rem,5vw,5rem)!important;
	line-height:1!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart table{
	font-size:1.125rem;
	line-height:1.5;
}
body.woocommerce-cart .wc-block-components-product-name{
	font-size:1.3rem!important;
	line-height:1.3;
	font-weight:750;
}
body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value{
	font-size:1.125rem;
}
body.woocommerce-cart table th,
body.woocommerce-cart table td,
body.woocommerce-cart .wc-block-cart-items th,
body.woocommerce-cart .wc-block-cart-items td,
body.woocommerce-cart .wc-block-components-totals-item{
	padding:1rem 1.25rem!important;
}

@media(max-width:600px){
	body.woocommerce-cart .wp-block-woocommerce-cart,
	body.woocommerce-cart table{font-size:1rem}
	body.woocommerce-cart .wc-block-components-product-name{font-size:1.15rem!important}
	body.woocommerce-cart table th,
	body.woocommerce-cart table td,
	body.woocommerce-cart .wc-block-cart-items th,
	body.woocommerce-cart .wc-block-cart-items td,
	body.woocommerce-cart .wc-block-components-totals-item{
		padding:.8rem!important;
	}
}

/* Add consistent spacing to Checkout order-summary tables. */
body.woocommerce-checkout table th,
body.woocommerce-checkout table td,
body.woocommerce-checkout .wc-block-components-order-summary-item,
body.woocommerce-checkout .wc-block-components-totals-item{
	padding:1rem 1.25rem!important;
}

@media(max-width:600px){
	body.woocommerce-checkout table th,
	body.woocommerce-checkout table td,
	body.woocommerce-checkout .wc-block-components-order-summary-item,
	body.woocommerce-checkout .wc-block-components-totals-item{
		padding:.8rem!important;
	}
}

/* Give the Checkout form and summary room inside their columns. */
body.woocommerce-checkout main > h1,
body.woocommerce-checkout main .wp-block-post-title:first-child{
	margin-top:clamp(1.75rem,3vw,3rem)!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout{
	box-sizing:border-box;
	padding:clamp(1.5rem,3vw,3rem)!important;
}
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar{
	box-sizing:border-box;
	padding:clamp(1.25rem,2.5vw,2.25rem)!important;
}
body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step{
	margin-bottom:2rem;
}
body.woocommerce-checkout .wc-block-components-checkout-step__container{
	padding-top:.5rem;
}
body.woocommerce-checkout .wc-block-checkout__actions{
	margin-top:16px;
}

.sol-checkout-site-logo{
	flex:0 1 330px;
	width:330px;
	max-width:55vw;
	margin:0;
}
.sol-checkout-site-logo a,
.sol-checkout-site-logo img{
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
}

@media(max-width:781px){
	body.woocommerce-checkout .wp-block-woocommerce-checkout{
		padding:1rem!important;
	}
	body.woocommerce-checkout .wc-block-checkout__main,
	body.woocommerce-checkout .wc-block-checkout__sidebar{
		padding:1rem!important;
	}
}

/* More comfortable reading size on phones and small tablets. */
@media(max-width:780px){
	body{font-size:1.0625rem}
	.sol-site-header{
		isolation:isolate;
		background:rgba(251,248,242,.98);
		-webkit-backdrop-filter:none!important;
		backdrop-filter:none!important;
	}
	.sol-nav,
	.sol-nav .wp-block-navigation__responsive-container-open{
		position:relative;
		z-index:100001;
		color:var(--sol-navy);
	}
	.sol-nav .wp-block-navigation__responsive-container-open svg{
		width:30px;
		height:30px;
		fill:currentColor;
	}
	.sol-nav .wp-block-navigation__responsive-container.is-menu-open{
		position:fixed!important;
		inset:0!important;
		z-index:100000!important;
	}
	.sol-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
		position:fixed!important;
		top:18px!important;
		right:18px!important;
		z-index:100002!important;
		color:var(--sol-navy);
		width:44px;
		height:44px;
		display:grid;
		place-items:center;
	}
	.sol-nav:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-block-navigation__responsive-container-open{
		visibility:hidden;
		pointer-events:none;
	}
	body.admin-bar .sol-nav .wp-block-navigation__responsive-container.is-menu-open{
		top:var(--wp-admin--admin-bar--height,46px)!important;
	}
	body.admin-bar .sol-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
		top:calc(var(--wp-admin--admin-bar--height,46px) + 18px)!important;
	}
	.sol-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
		font-size:1.0625rem;
	}
}
