/*
Theme Name: Twenty Twenty-Five
Description: Personal hub for Dan Hardee.
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 7.2
Text Domain: dan-hardee
*/

:root {
	--dan-black:#090909;
	--dan-panel:#11110f;
	--dan-cream:#f3efe5;
	--dan-paper:#f6f3eb;
	--dan-muted:#b8b2a7;
	--dan-gold:#f2b705;
	--dan-line:#302e29;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--dan-black); color:var(--dan-paper); }
a { text-underline-offset:.16em; }
.wp-site-blocks { min-height:100vh; display:flex; flex-direction:column; }
.wp-site-blocks > main { flex:1 0 auto; }

.dan-site-header {
	position:sticky;
	top:0;
	z-index:50;
	margin:0 !important;
	border-bottom:1px solid var(--dan-line);
	background:rgba(9,9,9,.95);
	backdrop-filter:blur(12px);
}
.dan-site-header-inner {
	width:min(1180px,calc(100% - 32px));
	min-height:68px;
	margin:0 auto !important;
	display:flex !important;
	align-items:center;
	gap:24px;
}
.dan-wordmark {
	margin:0 !important;
	font-size:1.05rem;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
	white-space:nowrap;
}
.dan-wordmark a { color:var(--dan-paper) !important; text-decoration:none !important; }
.dan-nav { margin-left:auto !important; }
.dan-nav .wp-block-navigation__container { gap:24px !important; }
.dan-nav a {
	color:#d0cbc2 !important;
	font-size:.72rem;
	font-weight:800;
	letter-spacing:.1em;
	text-transform:uppercase;
	text-decoration:none !important;
}
.dan-nav a:hover { color:var(--dan-gold) !important; }
.dan-header-contact .wp-block-button__link {
	border:1px solid var(--dan-gold);
	border-radius:0 !important;
	background:var(--dan-gold) !important;
	color:var(--dan-black) !important;
	padding:.62rem .82rem;
	font-size:.7rem;
	font-weight:900;
	letter-spacing:.08em;
	text-transform:uppercase;
	white-space:nowrap;
}

.dan-home-hero { overflow:hidden; }
.dan-home-hero > .wp-block-columns { min-height:520px; }
.dan-home-hero h1 { letter-spacing:-.045em; }
.dan-home-hero .wp-block-button__link { min-height:46px; display:inline-flex; align-items:center; }
.dan-hub-portrait {
	position:relative;
	margin:0 auto !important;
	max-width:390px;
}
.dan-hub-portrait img {
	position:relative;
	z-index:1;
	display:block;
	width:100% !important;
	height:auto !important;
	max-height:500px;
	object-fit:contain;
	object-position:center bottom;
	filter:drop-shadow(0 24px 35px rgba(0,0,0,.42));
}

.dan-home-work .wp-block-column > .wp-block-group {
	height:100%;
	transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.dan-home-work .wp-block-column > .wp-block-group:hover {
	transform:translateY(-4px);
	border-color:var(--dan-gold) !important;
	background:#0d0d0c !important;
}
.dan-home-work h3 { line-height:1.05; }
.dan-home-work a { color:var(--dan-gold); text-decoration:none; }
.dan-home-work a:hover { text-decoration:underline; }

.dan-home-about { border-top:1px solid var(--dan-line); }
.dan-home-social h2 {
	color:var(--dan-black) !important;
}

.dan-home-social .wp-block-button__link {
	border:1px solid #090909;
	font-weight:800;
	min-width:110px;
	text-align:center;
}
.dan-home-social .wp-block-button__link:hover {
	background:var(--dan-gold) !important;
	color:var(--dan-black) !important;
}
.dan-home-contact { border-top:1px solid var(--dan-line); }
.dan-home-contact .wp-block-button__link { min-height:48px; display:inline-flex; align-items:center; }

.dan-site-footer {
	margin:0 !important;
	border-top:1px solid var(--dan-line);
	background:#050505;
}
.dan-site-footer-inner {
	width:min(1180px,calc(100% - 32px));
	margin:0 auto !important;
	padding:28px 0;
	display:flex !important;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	color:#918c84;
	font-size:.72rem;
}
.dan-footer-links {
	display:flex;
	flex-wrap:wrap;
	gap:12px 18px;
}
.dan-footer-links a { color:#c7c2b8; text-decoration:none; }
.dan-footer-links a:hover { color:var(--dan-gold); }

.dan-generic-page {
	width:min(820px,calc(100% - 32px));
	margin:0 auto !important;
	padding:64px 0;
}

@media (max-width: 781px) {
	.dan-site-header-inner { min-height:60px; gap:12px; }
	.dan-wordmark { font-size:.9rem; }
	.dan-nav { display:none !important; }
	.dan-header-contact { margin-left:auto !important; }
	.dan-header-contact .wp-block-button__link { padding:.55rem .65rem; font-size:.62rem; }
	.dan-home-hero { padding-top:34px !important; padding-bottom:24px !important; }
	.dan-home-hero > .wp-block-columns { min-height:0; gap:10px !important; }
	.dan-home-hero h1 { font-size:clamp(3rem,14vw,4.15rem) !important; }
	.dan-home-hero p { line-height:1.5; }
	.dan-home-hero .wp-block-buttons { gap:8px !important; }
	.dan-home-hero .wp-block-button { width:100%; }
	.dan-home-hero .wp-block-button__link { width:100%; justify-content:center; }
	.dan-hub-portrait { max-width:210px; margin-top:6px !important; }
	.dan-hub-portrait img { max-height:260px; }
	.dan-hub-portrait:before { display:none; }
	.dan-home-work,
	.dan-home-about,
	.dan-home-social,
	.dan-home-contact { padding-top:40px !important; padding-bottom:44px !important; }
	.dan-home-work h2,
	.dan-home-about h2,
	.dan-home-social h2,
	.dan-home-contact h2 { font-size:clamp(2rem,10vw,2.75rem) !important; }
	.dan-home-social .wp-block-button { flex:1 1 44%; }
	.dan-home-social .wp-block-button__link { width:100%; min-width:0; }
	.dan-site-footer-inner { align-items:flex-start; flex-direction:column; }
}
