
: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;
}
.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{font-size:.78rem;font-weight:950;letter-spacing:.14em;color:var(--sol-gold)}
.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-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)}
@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:relative}
	.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}
}

/* 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.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-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-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}
@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-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,.96) 0%,rgba(255,251,243,.88) 58%,rgba(255,251,243,.58) 100%),
			url("/wp-content/themes/sol-symposium-ollie-child/assets/images/helsinki-hero-background.webp");
		background-position:68% 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 2}
.sol-hotel-photo-3{grid-column:span 5;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 4;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{
		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{
		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-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;
}
