/*
Theme Name: CornellaClub Premium
Theme URI: https://cornellaclub.com
Author: CornellaClub.com
Author URI: https://cornellaclub.com
Description: A premium, independent presentation theme for the privately owned CornellaClub.com domain.
Version: 1.0.1
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cornellaclub
Tags: one-column, custom-background, custom-logo, custom-menu, featured-images, translation-ready
*/

:root {
	--cc-ink: #07110f;
	--cc-ink-soft: #0d1b17;
	--cc-panel: #11221d;
	--cc-panel-light: #17342a;
	--cc-mint: #9ce7bd;
	--cc-green: #39b878;
	--cc-white: #f5f8f5;
	--cc-muted: #a5b4ad;
	--cc-line: rgba(208, 239, 220, 0.16);
	--cc-shadow: 0 24px 80px rgba(0, 0, 0, 0.26);
	--cc-radius: 18px;
	--cc-max: 1200px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--cc-ink);
	color: var(--cc-white);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.admin-bar .site-header { top: 32px; }

a { color: inherit; }
a:hover { color: var(--cc-mint); }
img { max-width: 100%; height: auto; }
button, input, textarea { font: inherit; }

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: #fff;
	clip: auto !important;
	clip-path: none;
	color: #000;
	display: block;
	font-size: 14px;
	height: auto;
	left: 5px;
	padding: 15px 23px;
	top: 5px;
	width: auto;
	z-index: 100000;
}

.container { width: min(calc(100% - 48px), var(--cc-max)); margin-inline: auto; }
.narrow-container { width: min(calc(100% - 48px), 820px); margin-inline: auto; }

.site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
	border-bottom: 1px solid rgba(255,255,255,.09);
	background: rgba(7,17,15,.32);
	backdrop-filter: blur(12px);
}
.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 84px;
	gap: 24px;
}
.site-branding { display: flex; align-items: center; gap: 12px; min-width: 0; }
.custom-logo-link { display: block; max-width: 150px; }
.custom-logo { max-height: 48px; width: auto; }
.site-title {
	color: var(--cc-white);
	font-size: 15px;
	font-weight: 750;
	letter-spacing: .14em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}
.site-title:hover { color: var(--cc-white); }
.site-description { display: none; }
.main-navigation ul { display: flex; align-items: center; gap: 27px; list-style: none; margin: 0; padding: 0; }
.main-navigation a { color: var(--cc-muted); font-size: 13px; font-weight: 650; text-decoration: none; }
.main-navigation a:hover, .main-navigation .current-menu-item > a { color: var(--cc-white); }
.menu-toggle { display: none; border: 1px solid var(--cc-line); border-radius: 8px; background: transparent; color: var(--cc-white); cursor: pointer; padding: 8px 11px; }

.hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: min(860px, 100vh);
	overflow: hidden;
	background:
		radial-gradient(ellipse at 75% 40%, rgba(61, 185, 121, .27), transparent 33%),
		radial-gradient(ellipse at 27% 5%, rgba(158, 235, 194, .13), transparent 23%),
		linear-gradient(110deg, rgba(4, 13, 11, .98) 0%, rgba(7, 21, 17, .87) 55%, rgba(6, 15, 13, .76) 100%);
}
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(5, 15, 12, .1), var(--cc-ink)),
		linear-gradient(90deg, transparent 45%, rgba(166, 240, 197, .08) 45.1%, transparent 45.5%),
		repeating-linear-gradient(0deg, transparent 0, transparent 60px, rgba(176, 235, 198, .045) 61px, transparent 62px);
	opacity: .9;
	pointer-events: none;
}
.hero.has-background-image { background-image: linear-gradient(90deg, rgba(4,13,11,.94), rgba(5,15,12,.57)), var(--cc-hero-image); background-position: center; background-size: cover; }
.hero-glow { position: absolute; right: -10%; bottom: -40%; width: 65vw; height: 80vh; border: 1px solid rgba(173, 239, 199, .12); border-radius: 50%; transform: rotate(-15deg); box-shadow: 0 -20px 100px rgba(72, 192, 125, .1); }
.hero-content { position: relative; z-index: 1; padding: 165px 0 105px; max-width: 930px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 27px; color: var(--cc-mint); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow::before { content: ""; display: inline-block; width: 25px; height: 1px; background: var(--cc-mint); }
.hero h1 { max-width: 1000px; margin: 0; color: var(--cc-white); font-size: clamp(44px, 8vw, 112px); font-weight: 760; letter-spacing: -.065em; line-height: .96; text-wrap: balance; }
.hero-subtitle { max-width: 680px; margin: 31px 0 17px; color: var(--cc-mint); font-size: clamp(19px, 2.5vw, 28px); letter-spacing: -.025em; line-height: 1.25; }
.hero-description { max-width: 620px; margin: 0; color: #c0ccc5; font-size: 17px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 37px; }
.button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 49px; padding: 12px 21px;
	border: 1px solid var(--cc-green); border-radius: 999px; background: var(--cc-green); color: #05110b;
	font-size: 12px; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease;
}
.button:hover { background: var(--cc-mint); border-color: var(--cc-mint); color: #05110b; transform: translateY(-2px); }
.button-secondary { border-color: rgba(212, 241, 222, .28); background: rgba(255,255,255,.025); color: var(--cc-white); }
.button-secondary:hover { background: rgba(255,255,255,.12); color: var(--cc-white); }
.hero-scroll { position: absolute; bottom: 27px; left: 50%; color: var(--cc-muted); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; transform: translateX(-50%); }

.section { padding: 116px 0; }
.section-dark { background: var(--cc-ink); }
.section-soft { background: linear-gradient(180deg, #0b1915, #0d211a); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 45px; }
.section-kicker { margin: 0 0 13px; color: var(--cc-green); font-size: 11px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.section h2 { max-width: 680px; margin: 0; font-size: clamp(32px, 5vw, 61px); letter-spacing: -.055em; line-height: 1.04; }
.section-intro { max-width: 410px; margin: 0; color: var(--cc-muted); }
.cards { display: grid; gap: 16px; }
.cards-four { grid-template-columns: repeat(4, 1fr); }
.cards-six { grid-template-columns: repeat(3, 1fr); }
.feature-card, .use-card { position: relative; min-height: 217px; padding: 26px; border: 1px solid var(--cc-line); border-radius: var(--cc-radius); background: linear-gradient(145deg, rgba(24,53,42,.78), rgba(10,28,22,.65)); overflow: hidden; transition: border-color .25s ease, transform .25s ease; }
.feature-card::after, .use-card::after { content: ""; position: absolute; right: -35px; bottom: -55px; width: 140px; height: 140px; border: 1px solid rgba(156,231,189,.12); border-radius: 50%; }
.feature-card:hover, .use-card:hover { border-color: rgba(156,231,189,.45); transform: translateY(-4px); }
.card-index { color: var(--cc-green); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.feature-card h3, .use-card h3 { margin: 30px 0 8px; font-size: 20px; letter-spacing: -.02em; }
.feature-card p { margin: 0; color: var(--cc-muted); font-size: 14px; line-height: 1.55; }
.use-card { min-height: 174px; background: rgba(255,255,255,.035); }
.use-card h3 { margin-top: 19px; font-size: 18px; }
.use-card p { max-width: 250px; margin: 0; color: var(--cc-muted); font-size: 14px; }

.showcase { padding: 135px 0; background: #07130f; text-align: center; overflow: hidden; }
.showcase-inner { position: relative; }
.showcase-inner::before { content: ""; position: absolute; top: 48%; left: 50%; width: 85vw; height: 85vw; max-width: 920px; max-height: 920px; border: 1px solid rgba(156,231,189,.12); border-radius: 50%; transform: translate(-50%, -50%); }
.showcase-label { position: relative; margin: 0 0 25px; color: var(--cc-green); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.showcase-domain { position: relative; margin: 0; color: var(--cc-white); font-size: clamp(38px, 8vw, 104px); font-weight: 760; letter-spacing: -.08em; line-height: .98; }
.showcase-subtitle { position: relative; margin: 29px 0 12px; color: var(--cc-mint); font-size: 20px; }
.showcase-note { position: relative; margin: 0; color: var(--cc-muted); }

.opportunity { background: linear-gradient(115deg, #16392c, #0e211a 60%, #08140f); }
.opportunity-layout { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 80px; }
.opportunity h2 { margin-bottom: 28px; }
.opportunity-copy p { max-width: 570px; margin: 0 0 17px; color: #c5d3ca; font-size: 20px; line-height: 1.5; }
.opportunity-mark { display: grid; place-items: center; aspect-ratio: 1; max-width: 430px; margin-inline: auto; border: 1px solid rgba(156,231,189,.2); border-radius: 50%; background: radial-gradient(circle, rgba(64,178,113,.24), transparent 58%); box-shadow: 0 0 100px rgba(65,190,120,.14); }
.opportunity-mark span { color: var(--cc-mint); font-size: clamp(40px, 6vw, 75px); font-weight: 750; letter-spacing: -.08em; line-height: .9; text-align: center; }

.acquisition { position: relative; padding: 105px 0; background: var(--cc-mint); color: #07130e; overflow: hidden; }
.acquisition::after { content: "CC"; position: absolute; right: 4vw; top: -55px; color: rgba(4,34,20,.07); font-size: 260px; font-weight: 900; letter-spacing: -.15em; line-height: 1; }
.acquisition-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.acquisition h2 { max-width: 670px; margin: 0; font-size: clamp(32px, 5vw, 65px); letter-spacing: -.06em; line-height: 1; }
.acquisition p { max-width: 400px; margin: 0; font-size: 17px; }
.button-dark { border-color: #06150d; background: #06150d; color: var(--cc-mint); white-space: nowrap; }
.button-dark:hover { border-color: #10281c; background: #10281c; color: var(--cc-mint); }

.contact-section { background: #0b1915; }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.contact-copy p { max-width: 380px; color: var(--cc-muted); }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field-full { grid-column: 1 / -1; }
.contact-form label { display: block; margin-bottom: 7px; color: #c7d5cd; font-size: 12px; font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid var(--cc-line); border-radius: 9px; background: rgba(255,255,255,.04); color: var(--cc-white); outline: none; padding: 13px 14px; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--cc-mint); box-shadow: 0 0 0 3px rgba(156,231,189,.1); }
.contact-form textarea { min-height: 150px; resize: vertical; }
.form-submit { grid-column: 1 / -1; margin-top: 5px; }
.modal-open { overflow: hidden; }
.contact-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 999998 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100vw !important;
	height: 100vh !important;
	padding: 20px !important;
	margin: 0 !important;
	background: rgba(0, 0, 0, .70) !important;
	overflow: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.contact-modal.is-hidden {
	display: none !important;
}

.contact-modal-card {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	z-index: 999999 !important;
	flex: 0 1 650px !important;
	width: min(90vw, 650px) !important;
	max-width: 650px !important;
	max-height: calc(100vh - 40px) !important;
	margin: auto !important;
	overflow-y: auto !important;
	padding: 40px !important;
	border: 0 !important;
	border-radius: 18px !important;
	background: #ffffff !important;
	box-shadow: 0 20px 60px rgba(0,0,0,.30) !important;
	color: #26342d !important;
	text-align: center !important;
	transform: none !important;
}

.contact-modal-icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 18px;
	border: 2px solid #20B15A;
	border-radius: 50%;
	color: #20B15A;
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
}

.contact-modal-error .contact-modal-icon {
	border-color: #d34e4e;
	color: #d34e4e;
}

.contact-modal-card h2 {
	margin: 0;
	color: #20B15A;
	font-size: clamp(22px, 4vw, 31px);
	font-weight: 900;
	line-height: 1.15;
}

.contact-modal-error .contact-modal-card h2 {
	color: #c63d3d;
}

.contact-modal-message {
	margin: 15px 0 20px;
	color: #3f4d46;
	font-size: 16px;
	line-height: 1.55;
}

.reference-block {
	margin: 18px 0 21px;
	padding: 16px 14px;
	border-radius: 11px;
	background: #f0f7f2;
}

.reference-block span {
	display: block;
	margin-bottom: 7px;
	color: #53635a;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.inquiry-reference {
	display: block;
	color: #1f8c50;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: clamp(19px, 4vw, 25px);
	letter-spacing: .04em;
	user-select: all;
}

.reference-copy {
	margin-top: 12px;
	border: 0;
	background: transparent;
	color: #218b4e;
	cursor: pointer;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
}

.reference-copy:hover {
	color: #126b38;
}

.whatsapp-prompt {
	margin: 16px 0 20px;
	color: #3f4d46;
	font-size: 14px;
	line-height: 1.55;
}

.whatsapp-prompt a {
	color: #218b4e;
	font-weight: 800;
	text-decoration: none;
}

.contact-modal .button {
	min-height: 44px;
	margin: 4px;
	border-color: #249453;
	background: #249453;
	color: #fff;
	font-size: 11px;
}

.contact-modal .button:hover {
	border-color: #176b3a;
	background: #176b3a;
	color: #fff;
}

.contact-modal-close {
	position: absolute;
	top: 11px;
	left: 16px;
	border: 0;
	background: transparent;
	color: #69766f;
	cursor: pointer;
	font-size: 29px;
	line-height: 1;
}

.contact-modal-close:hover {
	color: #1f2c25;
}

.contact-modal-ok {
	min-width: 105px;
}

@media (max-width: 700px) {
	.contact-modal {
		padding: 15px !important;
	}

	.contact-modal-card {
		width: calc(100vw - 30px) !important;
		max-width: 500px !important;
		max-height: calc(100vh - 30px) !important;
		padding: 32px 22px !important;
	}

	.contact-modal-card h2 {
		font-size: 25px;
	}

	.contact-modal-message {
		font-size: 15px;
	}
}

.site-footer { border-top: 1px solid var(--cc-line); background: #06100d; padding: 48px 0 28px; }
.footer-top { display: flex; justify-content: space-between; gap: 35px; padding-bottom: 40px; }
.footer-brand { max-width: 390px; }
.footer-brand .site-title { display: inline-block; margin-bottom: 12px; }
.footer-brand p, .footer-bottom { color: var(--cc-muted); font-size: 13px; }
.footer-social { display: flex; gap: 18px; flex-wrap: wrap; align-content: start; }
.footer-social a { color: var(--cc-mint); font-size: 12px; font-weight: 700; text-decoration: none; }
.footer-bottom { display: flex; justify-content: space-between; gap: 22px; padding-top: 20px; border-top: 1px solid var(--cc-line); font-size: 12px; }
.footer-bottom p { margin: 0; }

.content-area { min-height: 55vh; padding: 150px 0 100px; }
.entry-title { font-size: clamp(36px, 6vw, 70px); letter-spacing: -.06em; line-height: 1; }
.entry-content { color: #c4d1c9; }
.entry-content a { color: var(--cc-mint); }
.entry-content img { border-radius: 12px; }
.entry-meta { color: var(--cc-muted); font-size: 13px; }
.page-links { margin-top: 30px; }

@media (max-width: 900px) {
	.cards-four { grid-template-columns: repeat(2, 1fr); }
	.opportunity-layout, .contact-layout { gap: 45px; }
	.opportunity-layout { grid-template-columns: 1fr; }
	.opportunity-mark { width: min(70vw, 380px); }
	.acquisition-inner { align-items: start; flex-direction: column; }
	.contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	body.admin-bar .site-header { top: 46px; }
	.container, .narrow-container { width: min(calc(100% - 34px), var(--cc-max)); }
	.header-inner { min-height: 70px; }
	.menu-toggle { display: block; }
	.main-navigation { display: none; position: absolute; top: 70px; left: 17px; right: 17px; padding: 12px; border: 1px solid var(--cc-line); border-radius: 12px; background: #0b1d17; }
	.main-navigation.is-open { display: block; }
	.main-navigation ul { align-items: stretch; flex-direction: column; gap: 0; }
	.main-navigation a { display: block; padding: 11px; }
	.hero-content { padding: 137px 0 85px; }
	.hero h1 { font-size: clamp(43px, 13vw, 78px); }
	.hero-description { font-size: 15px; }
	.hero-scroll { display: none; }
	.section { padding: 75px 0; }
	.section-heading { align-items: start; flex-direction: column; gap: 16px; margin-bottom: 30px; }
	.cards-four, .cards-six { grid-template-columns: 1fr; }
	.feature-card, .use-card { min-height: auto; }
	.showcase { padding: 90px 0; }
	.showcase-domain { font-size: 13vw; }
	.acquisition { padding: 75px 0; }
	.contact-form { grid-template-columns: 1fr; }
	.field-full, .form-submit { grid-column: auto; }
	.footer-top, .footer-bottom { align-items: start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}