.search-public-page {
    --search-bg: #070a0e;
    --search-panel: #0c1117;
    --search-line: rgba(255,255,255,.1);
    --search-muted: #9ea7b0;
    --accent: #c69a62;
    background: var(--search-bg);
    color: #f0ece6;
}

.search-page-shell {
    min-height: 100svh;
    overflow: clip;
    background:
        radial-gradient(circle at 15% 4%, rgba(80,132,161,.14), transparent 28rem),
        radial-gradient(circle at 82% 25%, rgba(198,154,98,.08), transparent 32rem),
        var(--search-bg);
}

.search-topbar {
    position: fixed;
    inset: 0 0 auto;
    z-index: 70;
    height: 5rem;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 0 clamp(1.25rem, 4vw, 4rem);
    border-bottom: 1px solid var(--search-line);
    background: rgba(7,10,14,.78);
    backdrop-filter: blur(20px);
}

.search-back,
.search-wordmark {
    color: inherit;
    text-decoration: none;
}

.search-back {
    width: max-content;
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: var(--search-muted);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.search-back span:first-child { color: var(--accent); font-size: 1rem; }
.search-wordmark { justify-self: center; font-family: Georgia,"Times New Roman",serif; font-size: 1rem; letter-spacing: .34em; margin-left: .34em; }
.search-area-name { justify-self: end; color: var(--search-muted); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.search-back:hover,.search-back:focus-visible,.search-wordmark:hover,.search-wordmark:focus-visible { color: #fff; outline: none; }

.search-hero {
    position: relative;
    min-height: calc(100svh - 5rem);
    margin-top: 5rem;
    display: grid;
    align-items: center;
    isolation: isolate;
    overflow: clip;
    padding: clamp(3rem,7vh,6rem) clamp(1.25rem,7vw,8rem) clamp(5rem,9vh,7rem);
    border-bottom: 1px solid var(--search-line);
}

@supports (height: 100dvh) {
    .search-hero { min-height: calc(100dvh - 5rem); }
}

.search-hero::before {
    content: "";
    position: absolute;
    z-index: -3;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(7,10,14,.97) 0%, rgba(7,10,14,.84) 54%, rgba(7,10,14,.4) 100%),
        radial-gradient(circle at 78% 48%, rgba(198,154,98,.13), transparent 27rem),
        linear-gradient(145deg, #121b24, #080b0f 62%);
}

.search-hero-grid {
    position: absolute;
    z-index: -2;
    inset: 0;
    opacity: .22;
    background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 5rem 5rem;
    mask-image: linear-gradient(90deg, transparent, #000 35%, #000);
}

.search-hero-glow {
    position: absolute;
    z-index: -1;
    right: 8%;
    top: 22%;
    width: min(32rem, 48vw);
    aspect-ratio: 1;
    border: 1px solid rgba(198,154,98,.18);
    border-radius: 50%;
    box-shadow: 0 0 8rem rgba(198,154,98,.09), inset 0 0 5rem rgba(78,133,163,.05);
}

.search-hero-glow::before,
.search-hero-glow::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.search-hero-glow::before { inset: 16%; }
.search-hero-glow::after { inset: 36%; }

.search-hero-content { width: min(72rem,100%); margin-inline: auto; }
.search-eyebrow { display:block; margin-bottom: 1rem; color: var(--accent); font-size: .68rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.search-hero h1 { max-width: 9ch; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3rem,7vw,6.6rem); font-weight:400; line-height:.92; letter-spacing:-.045em; text-wrap:balance; }
.search-hero-content > p { max-width: 48rem; margin: 1.4rem 0 0; color: var(--search-muted); font-size: clamp(1rem,1.4vw,1.2rem); line-height: 1.7; }

.search-form { margin-top: clamp(2rem,5vh,3.5rem); }
.search-form-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,.34fr) auto; border:1px solid rgba(198,154,98,.42); background:rgba(8,12,17,.76); box-shadow:0 1.5rem 5rem rgba(0,0,0,.22); backdrop-filter:blur(16px); }
.search-form label { display:grid; align-content:center; min-width:0; min-height:4.9rem; padding:.65rem 1.15rem; }
.search-form label + label { border-left:1px solid rgba(198,154,98,.24); }
.search-form label > span { margin-bottom:.35rem; color:#9ea7b0; font-size:.6rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.search-form input,.search-form select { width:100%; min-width:0; border:0; padding:0; background:transparent; color:#f3eee8; font:inherit; font-size:1rem; }
.search-form input::placeholder { color:#69727b; }
.search-form select { color-scheme:dark; cursor:pointer; }
.search-form input:focus,.search-form select:focus { outline:none; }
.search-form-fields:focus-within { border-color:#d3aa72; box-shadow:0 0 0 3px rgba(198,154,98,.12),0 1.5rem 5rem rgba(0,0,0,.22); }
.search-form button { min-width:9rem; display:inline-flex; align-items:center; justify-content:center; gap:.75rem; border:0; border-left:1px solid rgba(198,154,98,.42); padding:0 1.5rem; background:linear-gradient(135deg,#e4bd7b,#be8345); color:#15100a; font:inherit; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:filter .2s,transform .2s; }
.search-form button:hover,.search-form button:focus-visible { filter:brightness(1.08); outline:none; }
.search-form button:active { transform:translateY(1px); }
.search-form button i { font-style:normal; font-size:1rem; }

.search-scroll-cue { position:absolute; right:clamp(1.25rem,5vw,5rem); bottom:clamp(1.2rem,2.4vh,2rem); display:grid; justify-items:center; gap:.65rem; color:color-mix(in srgb,var(--accent) 72%,#f3eee6); text-decoration:none; }
.search-scroll-cue span { font-size:.62rem; font-weight:650; letter-spacing:.24em; text-transform:uppercase; }
.search-scroll-cue i { width:1.1rem; height:1.1rem; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); animation:search-cue 2.2s ease-in-out infinite; }
@keyframes search-cue { 0%,100%{translate:0 0;opacity:.68}50%{translate:0 .34rem;opacity:1} }

.search-content { width:min(82rem,calc(100% - clamp(2rem,10vw,8rem))); margin-inline:auto; padding:clamp(5rem,10vw,9rem) 0; scroll-margin-top:6rem; }
.search-section-heading { display:grid; grid-template-columns:4.5rem minmax(0,1fr); gap:1.5rem; align-items:start; margin-bottom:clamp(2.5rem,6vw,4.5rem); }
.search-section-heading > span { padding-top:.55rem; color:var(--accent); font-family:Georgia,"Times New Roman",serif; font-size:1.1rem; }
.search-section-heading small { display:block; margin-bottom:.7rem; color:var(--search-muted); font-size:.65rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.search-section-heading h2 { max-width:18ch; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.3rem,5vw,4.8rem); font-weight:400; line-height:1; letter-spacing:-.035em; text-wrap:balance; }

.search-type-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--search-line); border-left:1px solid var(--search-line); }
.search-type-card { min-height:14rem; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(1.4rem,3vw,2.2rem); border-right:1px solid var(--search-line); border-bottom:1px solid var(--search-line); background:linear-gradient(145deg,rgba(255,255,255,.025),transparent); }
.search-type-card > span { color:#e8dfd4; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.4rem,2.4vw,2.1rem); }
.search-type-card p { margin:2rem 0 0; color:var(--search-muted); line-height:1.65; }

.search-result-list { border-top:1px solid var(--search-line); }
.search-result-card { position:relative; display:grid; grid-template-columns:4.5rem minmax(0,1fr) auto; gap:1.5rem; align-items:center; min-height:12rem; padding:1.8rem 1rem; border-bottom:1px solid var(--search-line); color:inherit; text-decoration:none; transition:background .2s,border-color .2s; }
.search-result-card:hover,.search-result-card:focus-visible { background:linear-gradient(90deg,rgba(198,154,98,.08),rgba(255,255,255,.015)); border-color:rgba(198,154,98,.4); outline:none; }
.search-result-number { align-self:start; padding-top:.3rem; color:var(--accent); font-family:Georgia,"Times New Roman",serif; }
.search-result-copy { min-width:0; }
.search-result-copy small { display:block; margin-bottom:.65rem; color:var(--accent); font-size:.63rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.search-result-card h3 { max-width:23ch; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.8rem,3.5vw,3.4rem); font-weight:400; line-height:1.04; letter-spacing:-.025em; text-wrap:balance; }
.search-result-card p { max-width:55rem; margin:1rem 0 0; color:#b2bac1; line-height:1.65; }
.search-result-excerpt { display:-webkit-box; max-width:58rem; margin-top:.7rem; overflow:hidden; color:#737d86; font-size:.84rem; line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.search-result-arrow { padding:1rem; color:var(--accent); font-style:normal; font-size:1.2rem; transition:transform .2s; }
.search-result-card:hover .search-result-arrow,.search-result-card:focus-visible .search-result-arrow { transform:translateX(.3rem); }
.search-empty { display:grid; grid-template-columns:4.5rem minmax(0,1fr); gap:1.5rem; padding:2.5rem 1rem; border-top:1px solid var(--search-line); border-bottom:1px solid var(--search-line); }
.search-empty > span { color:var(--accent); font-family:Georgia,"Times New Roman",serif; }
.search-empty h3 { margin:0 0 .7rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.7rem,3vw,2.6rem); font-weight:400; }
.search-empty p { margin:0; color:var(--search-muted); line-height:1.65; }
.search-footer { width:min(82rem,calc(100% - clamp(2rem,10vw,8rem))); }

@media (max-width: 860px) {
    .search-type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .search-form-fields { grid-template-columns:minmax(0,1fr) minmax(11rem,.42fr); }
    .search-form button { min-height:3.6rem; grid-column:1/-1; border-left:0; border-top:1px solid rgba(198,154,98,.42); }
}

@media (max-width: 680px) {
    .search-topbar { height:4.4rem; grid-template-columns:1fr auto; padding:0 1rem; }
    .search-back span:last-child,.search-area-name { display:none; }
    .search-wordmark { justify-self:end; font-size:.8rem; }
    .search-hero { min-height:calc(100svh - 4.4rem); margin-top:4.4rem; padding:2.5rem 1.25rem 5.25rem; align-items:end; }
    @supports (height:100dvh) { .search-hero { min-height:calc(100dvh - 4.4rem); } }
    .search-hero-glow { width:80vw; right:-24%; top:8%; }
    .search-hero-grid { background-size:3.5rem 3.5rem; }
    .search-hero h1 { font-size:clamp(2.8rem,14vw,4.6rem); }
    .search-hero-content > p { font-size:.96rem; line-height:1.6; }
    .search-form { margin-top:1.8rem; }
    .search-form-fields { grid-template-columns:1fr; }
    .search-form label { min-height:4.25rem; }
    .search-form label + label { border-left:0; border-top:1px solid rgba(198,154,98,.24); }
    .search-scroll-cue { right:1.25rem; bottom:max(1.1rem,env(safe-area-inset-bottom)); }
    .search-scroll-cue span { font-size:.56rem; }
    .search-content { width:calc(100% - 2rem); padding:4.5rem 0; }
    .search-section-heading { grid-template-columns:2.2rem minmax(0,1fr); gap:.7rem; margin-bottom:2.3rem; }
    .search-section-heading h2 { font-size:clamp(2rem,10vw,3.1rem); }
    .search-type-grid { grid-template-columns:1fr; }
    .search-type-card { min-height:11rem; }
    .search-result-card { grid-template-columns:2.2rem minmax(0,1fr); gap:.7rem; min-height:0; padding:1.5rem .25rem; }
    .search-result-arrow { display:none; }
    .search-result-card h3 { font-size:clamp(1.65rem,8vw,2.4rem); }
    .search-empty { grid-template-columns:2.2rem minmax(0,1fr); gap:.7rem; padding:2rem .25rem; }
    .search-footer { width:calc(100% - 2rem); }
}

@media (prefers-reduced-motion: reduce) {
    .search-scroll-cue i { animation:none; }
    .search-result-card,.search-result-arrow,.search-form button { transition:none; }
}
