/*
Homepage-specific layout.

The root page is intentionally compact: it should explain what QPPV.com covers,
expose the main search intents quickly, and let readers expand only the areas
that are useful to them.
*/

.home-page{
max-width:1080px;
margin:0 auto;
}

.home-hero{
background:var(--surface);
border:1px solid var(--border);
border-top:2px solid var(--primary);
border-radius:18px;
box-shadow:var(--shadow);
padding:26px 28px;
margin-bottom:22px;
}

.home-hero-badge{
display:inline-block;
margin-bottom:10px;
color:var(--primary);
font-size:.76rem;
font-weight:750;
letter-spacing:.08em;
text-transform:uppercase;
}

.home-hero h1{
max-width:850px;
margin:0 0 10px;
font-size:clamp(1.85rem,4vw,2.7rem);
line-height:1.12;
letter-spacing:-.025em;
}

.home-hero-text{
max-width:850px;
margin:0;
color:var(--muted);
font-size:1rem;
line-height:1.58;
}

.home-hero-audience{
max-width:850px;
margin:8px 0 0;
color:var(--muted);
font-size:.86rem;
line-height:1.45;
}

.home-hero-actions{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:18px;
}

.home-cta{
min-height:42px;
padding:9px 15px;
border-radius:10px;
border:1px solid var(--border);
font:inherit;
font-size:.88rem;
font-weight:700;
line-height:1.2;
cursor:pointer;
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
text-decoration:none !important;
}

.home-cta-primary{
background:var(--primary);
border-color:var(--primary);
color:#111318;
}

.home-cta-primary:hover{
color:#111318;
filter:brightness(1.04);
}

.home-cta-secondary{
background:var(--surface2);
color:var(--text);
}

.home-cta-secondary:hover{
border-color:var(--primary);
color:var(--primary);
}

.home-hero .hero-utility-actions{
justify-content:flex-start;
width:auto;
margin-top:12px;
padding-top:12px;
gap:8px;
}

.home-hero .hero-utility-action{
padding:7px 11px;
font-size:.78rem;
}

.home-hero .hero-action-status{
display:block;
min-height:0;
margin-top:6px;
font-size:.76rem;
}

.home-section{
margin-bottom:28px;
}

.home-section-heading{
display:flex;
align-items:baseline;
justify-content:space-between;
gap:14px;
margin-bottom:10px;
border-bottom:1px solid var(--border);
padding-bottom:8px;
}

.home-section-heading h2{
display:block;
margin:0;
padding:0;
border:0;
font-size:1.35rem;
line-height:1.25;
}

.home-section-heading a{
font-size:.82rem;
font-weight:700;
white-space:nowrap;
text-decoration:none;
}

.home-section-heading a:hover{
text-decoration:underline;
}

.home-intro-card{
background:var(--surface);
border:1px solid var(--border);
border-radius:14px;
padding:17px 18px;
}

.home-intro-card p{
margin:0;
color:var(--muted);
font-size:.94rem;
line-height:1.6;
}

.home-intro-card strong{
color:var(--text);
}

.home-intro-link{
display:inline-block;
margin-top:9px;
font-size:.83rem;
font-weight:700;
text-decoration:none;
}

.home-intro-link:hover{
text-decoration:underline;
}

.home-drawers{
display:grid;
gap:9px;
}

.home-drawer{
background:var(--surface);
border:1px solid var(--border);
border-radius:14px;
overflow:hidden;
}

.home-drawer[open]{
border-color:color-mix(in srgb,var(--border) 68%,var(--primary));
}

.home-drawer summary{
list-style:none;
cursor:pointer;
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
min-height:62px;
padding:12px 16px;
}

.home-drawer summary::-webkit-details-marker{
display:none;
}

.home-drawer summary:focus-visible{
outline:2px solid var(--primary);
outline-offset:-3px;
}

.home-drawer[open] summary{
border-bottom:1px solid var(--border);
}

.home-drawer-heading{
min-width:0;
display:flex;
flex-direction:column;
gap:2px;
}

.home-drawer-title{
color:var(--text);
font-size:.98rem;
font-weight:750;
line-height:1.25;
}

.home-drawer-subtitle{
color:var(--muted);
font-size:.78rem;
line-height:1.35;
}

.home-drawer-chevron{
width:9px;
height:9px;
flex:0 0 auto;
border-right:2px solid var(--muted);
border-bottom:2px solid var(--muted);
transform:rotate(45deg) translateY(-2px);
transition:transform .16s ease,border-color .16s ease;
}

.home-drawer[open] .home-drawer-chevron{
transform:rotate(225deg) translate(-1px,-1px);
border-color:var(--primary);
}

.home-drawer-links{
display:flex;
flex-direction:column;
}

.home-drawer-link{
min-height:46px;
padding:10px 16px;
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
border-bottom:1px solid var(--border);
color:var(--text);
font-size:.88rem;
font-weight:650;
line-height:1.3;
text-decoration:none !important;
}

.home-drawer-link:last-child{
border-bottom:0;
}

.home-drawer-link:hover{
background:var(--surface2);
color:var(--primary);
}

.home-drawer-link-arrow{
flex:0 0 auto;
color:var(--muted);
font-size:1rem;
}

.home-drawer-link:hover .home-drawer-link-arrow{
color:var(--primary);
}

.home-recent-list{
background:var(--surface);
border:1px solid var(--border);
border-radius:14px;
overflow:hidden;
}

.home-recent-row{
min-height:58px;
padding:10px 14px;
display:grid;
grid-template-columns:minmax(0,1fr) auto;
align-items:center;
gap:12px;
border-bottom:1px solid var(--border);
color:var(--text);
text-decoration:none !important;
}

.home-recent-row:last-child{
border-bottom:0;
}

.home-recent-row:hover{
background:var(--surface2);
}

.home-recent-copy{
min-width:0;
display:flex;
flex-direction:column;
gap:2px;
}

.home-recent-section{
color:var(--primary);
font-size:.66rem;
font-weight:750;
letter-spacing:.055em;
line-height:1.2;
text-transform:uppercase;
}

.home-recent-title{
color:var(--text);
font-size:.88rem;
font-weight:650;
line-height:1.35;
}

.home-recent-arrow{
color:var(--muted);
font-size:1rem;
}

.home-recent-row:hover .home-recent-title,
.home-recent-row:hover .home-recent-arrow{
color:var(--primary);
}

@media (max-width:768px){
.home-page{
max-width:none;
}

.home-hero{
padding:18px 17px;
margin-bottom:18px;
border-radius:14px;
}

.home-hero-badge{
margin-bottom:7px;
font-size:.66rem;
}

.home-hero h1{
margin-bottom:8px;
font-size:1.48rem;
line-height:1.16;
}

.home-hero-text{
font-size:.89rem;
line-height:1.48;
}

.home-hero-audience{
margin-top:6px;
font-size:.76rem;
}

.home-hero-actions{
margin-top:14px;
gap:8px;
}

.home-cta{
min-height:39px;
padding:8px 12px;
font-size:.8rem;
}

.home-hero .hero-utility-actions{
margin-top:10px;
padding-top:10px;
}

.home-hero .hero-utility-action{
flex:0 0 auto;
min-width:0;
padding:7px 10px;
font-size:.74rem;
}

.home-section{
margin-bottom:22px;
}

.home-section-heading{
margin-bottom:8px;
padding-bottom:7px;
}

.home-section-heading h2{
font-size:1.16rem;
}

.home-intro-card{
padding:14px 15px;
border-radius:12px;
}

.home-intro-card p{
font-size:.84rem;
line-height:1.5;
}

.home-intro-link{
margin-top:7px;
font-size:.78rem;
}

.home-drawers{
gap:7px;
}

.home-drawer{
border-radius:12px;
}

.home-drawer summary{
min-height:56px;
padding:10px 13px;
}

.home-drawer-title{
font-size:.9rem;
}

.home-drawer-subtitle{
font-size:.72rem;
}

.home-drawer-link{
min-height:43px;
padding:9px 13px;
font-size:.82rem;
}

.home-recent-row{
min-height:54px;
padding:9px 12px;
}

.home-recent-title{
font-size:.8rem;
line-height:1.3;
}

.home-recent-section{
font-size:.61rem;
}
}

@media (max-width:420px){
.home-hero-actions{
display:grid;
grid-template-columns:1fr 1fr;
}

.home-cta{
width:100%;
}

.home-section-heading a{
font-size:.75rem;
}
}
