/* ==========================================================================
   Site search — header modal, results page, shared pill buttons
   Brand: navy #13385E · blue #1C558E · yellow #FEC03A · Anton / Source Sans Pro
   ========================================================================== */

:root{
	--dd-navy:#13385E;
	--dd-blue:#1C558E;
	--dd-yellow:#FEC03A;
	--dd-ink:#1d2733;
	--dd-muted:#5b6876;
	--dd-line:#e3e7ec;
	--dd-soft:#f4f6f8;
}

/* ── Pills (search filters + portfolio filters) ───────────────────────── */
.dd-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 12px}
.dd-pill{
	appearance:none;-webkit-appearance:none;
	display:inline-flex;align-items:center;gap:8px;
	min-height:30px;padding:5px 21px;
	border:1px solid var(--dd-yellow);border-radius:999px;
	background:var(--dd-yellow);color:var(--dd-navy);
	font:600 14px/1.2 'Source Sans Pro',sans-serif;letter-spacing:.02em;text-transform:uppercase;
	cursor:pointer;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;
	text-decoration:none;
}
.dd-pill:hover{background:#fff;color:var(--dd-navy)}
.dd-pill.is-active,.dd-pill[aria-pressed="true"]{background:#fff;border-color:var(--dd-navy);color:var(--dd-navy)}
.dd-pill:focus-visible{outline:2px solid var(--dd-navy);outline-offset:3px}
.dd-pill:active{transform:translateY(1px)}
.dd-pill__count{font-weight:700;font-size:12px;opacity:.75}

/* ── Modal ─────────────────────────────────────────────────────────────── */
.dd-search[hidden]{display:none}
.dd-search{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-start;justify-content:center;padding:clamp(16px,8vh,96px) 16px 16px}
.dd-search__backdrop{position:absolute;inset:0;background:rgba(19,56,94,.72);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s}
.dd-search.is-open .dd-search__backdrop{opacity:1}
.dd-search__panel{
	position:relative;width:min(760px,100%);max-height:calc(100vh - clamp(32px,12vh,140px));
	display:flex;flex-direction:column;background:#fff;border-top:6px solid var(--dd-yellow);
	box-shadow:0 24px 60px rgba(0,0,0,.28);transform:translateY(-12px);opacity:0;transition:transform .22s ease,opacity .22s ease;
}
.dd-search.is-open .dd-search__panel{transform:none;opacity:1}
.dd-search__head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}
.dd-search__title{font-size:28px;margin:0}
.dd-search__close{appearance:none;border:0;background:transparent;font-size:34px;line-height:1;color:var(--dd-navy);cursor:pointer;width:44px;height:44px;margin-right:-10px;border-radius:50%;transition:background .2s}
.dd-search__close:hover{background:var(--dd-soft)}
.dd-search__close:focus-visible{outline:2px solid var(--dd-navy)}
.dd-search__form{display:flex;gap:0;padding:16px 24px 18px;border-bottom:1px solid var(--dd-line)}
.dd-search__input{
	flex:1;min-width:0;height:54px;padding:0 16px;border:1px solid #9aa7b4;border-right:0;border-radius:0;
	font:400 19px/1 'Source Sans Pro',sans-serif;color:var(--dd-ink);background:#fff;
}
.dd-search__input:focus{outline:none;border-color:var(--dd-navy);box-shadow:inset 0 0 0 1px var(--dd-navy)}
.dd-search__input::-webkit-search-cancel-button{cursor:pointer}
.dd-search__submit.main-btn{height:54px;padding:0 26px;cursor:pointer;font:600 16px 'Source Sans Pro',sans-serif;color:#000}
.dd-search__status{padding:0 24px;font-size:14px;color:var(--dd-muted);min-height:0}
.dd-search__status:not(:empty){padding-top:12px}
.dd-search__results{overflow:auto;overscroll-behavior:contain;padding:6px 12px;margin:0}
.dd-search__results:empty{display:none}
.dd-search__group{padding:12px 12px 4px;font:700 12px/1 'Source Sans Pro',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--dd-muted)}
.dd-search__item a{display:flex;gap:14px;align-items:center;padding:10px 12px;border-radius:4px;color:var(--dd-ink);transition:background .15s}
.dd-search__item a:hover,.dd-search__item.is-active a{background:var(--dd-soft)}
.dd-search__item.is-active a{box-shadow:inset 3px 0 0 var(--dd-yellow)}
.dd-search__thumb{flex:0 0 56px;width:56px;height:56px;background:var(--dd-soft) center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#9aa7b4}
.dd-search__thumb img{width:56px;height:56px;object-fit:cover;display:block}
.dd-search__text{min-width:0;display:flex;flex-direction:column;gap:2px}
.dd-search__type{font:700 11px/1 'Source Sans Pro',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--dd-blue)}
.dd-search__name{font-weight:600;font-size:17px;line-height:1.3;color:var(--dd-navy)}
.dd-search__excerpt{font-size:14px;line-height:1.45;color:var(--dd-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dd-search mark,.dd-results mark{background:rgba(254,192,58,.45);color:inherit;padding:0 1px;border-radius:2px}
.dd-search__foot{padding:12px 24px 18px;border-top:1px solid var(--dd-line);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--dd-muted)}
.dd-search__foot:empty{display:none}
.dd-search__all{font-weight:700;color:var(--dd-navy)}
.dd-search__all:hover{color:var(--dd-yellow)}
.dd-search__keys kbd{display:inline-block;min-width:20px;padding:1px 5px;border:1px solid var(--dd-line);border-bottom-width:2px;border-radius:3px;font:600 11px/1.4 'Source Sans Pro',sans-serif;text-align:center;color:var(--dd-muted)}
.dd-search__spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--dd-line);border-top-color:var(--dd-navy);border-radius:50%;animation:dd-spin .7s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes dd-spin{to{transform:rotate(360deg)}}
html.dd-search-open,html.dd-search-open body{overflow:hidden}

@media(max-width:600px){
	.dd-search{padding:0}
	.dd-search__panel{max-height:100vh;height:100%;width:100%}
	.dd-search__head{padding:16px 16px 0}
	.dd-search__form{padding:12px 16px 14px}
	.dd-search__input{height:50px;font-size:17px}
	.dd-search__submit.main-btn{height:50px;padding:0 16px}
	.dd-search__keys{display:none}
}
@media (prefers-reduced-motion:reduce){
	.dd-search__panel,.dd-search__backdrop{transition:none}
}

/* ── Results page ─────────────────────────────────────────────────────── */
.dd-results{padding:60px 0 80px;min-height:500px}
.dd-results__head{text-align:center;max-width:760px;margin:0 auto 34px}
.dd-results__title{font-size:44px;color:var(--dd-navy);line-height:1.15;word-break:break-word}
.dd-results__head .yellow-und{margin-bottom:46px}
.dd-results .dd-search-inline{display:flex;max-width:620px;margin:0 auto}
.dd-results .dd-search-inline .search-field{flex:1;min-width:0;height:50px;border:1px solid #9aa7b4;border-right:0;padding:0 14px;font:400 17px 'Source Sans Pro',sans-serif;margin:0}
.dd-results .dd-search-inline .search-field:focus{outline:none;border-color:var(--dd-navy);box-shadow:inset 0 0 0 1px var(--dd-navy)}
.dd-results .dd-search-inline .search-submit{width:auto;max-width:none;padding:0 28px;cursor:pointer;font:600 16px 'Source Sans Pro',sans-serif;color:#000}
.dd-results .dd-search-inline .search-submit:hover{background:#fff;color:#FEC03A}
.dd-results__filters{margin:0 auto 26px}
.dd-results__meta{text-align:center;color:var(--dd-muted);font-size:14px;margin-bottom:18px}
.dd-results__list{max-width:900px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.dd-result{min-width:0}
.dd-result__title,.dd-result__excerpt{overflow-wrap:anywhere}
.dd-result__link{display:flex;gap:20px;align-items:flex-start;padding:18px;border:1px solid var(--dd-line);background:#fff;color:var(--dd-ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.dd-result__link:hover{border-color:var(--dd-yellow);box-shadow:0 8px 22px rgba(19,56,94,.08);transform:translateY(-1px)}
.dd-result__link:focus-visible{outline:2px solid var(--dd-navy);outline-offset:2px}
.dd-result__media{flex:0 0 160px;width:160px;height:120px;background:var(--dd-soft);display:flex;align-items:center;justify-content:center;color:#9aa7b4;font-size:28px;overflow:hidden}
.dd-result__media img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.dd-result__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.dd-result__type{font:700 12px/1 'Source Sans Pro',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--dd-blue)}
.dd-result__title{font:400 24px/1.15 'Anton',sans-serif;color:var(--dd-navy);transition:color .2s}
.dd-result__link:hover .dd-result__title{color:#0f2c4a}
.dd-result__excerpt{font-size:16px;line-height:1.55;color:#333}
.dd-result__url{font-size:13px;color:var(--dd-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dd-results__empty{max-width:620px;margin:10px auto 0;text-align:center;font-size:17px;line-height:1.6}
.dd-results__empty-title{font:400 30px/1.2 'Anton',sans-serif;color:var(--dd-navy);margin-bottom:8px}
.dd-results__suggest{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}
.dd-results__suggest a{display:inline-block;padding:8px 18px;border:1px solid var(--dd-navy);color:var(--dd-navy);font-weight:600}
.dd-results__suggest a:hover{background:var(--dd-navy);color:#fff}
.dd-pagination{max-width:900px;margin:34px auto 0}
.dd-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:0}
.dd-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border:1px solid var(--dd-yellow);background:#fff;color:var(--dd-navy);font-weight:600}
.dd-pagination a.page-numbers{background:var(--dd-yellow)}
.dd-pagination a.page-numbers:hover{background:#fff;color:var(--dd-navy)}
.dd-pagination .page-numbers.current{background:var(--dd-navy);border-color:var(--dd-navy);color:#fff}
.dd-pagination .page-numbers.dots{border-color:transparent;background:transparent}

@media(max-width:767px){
	.dd-results{padding:40px 0 60px}
	.dd-results__title{font-size:34px}
	.dd-result__link{gap:14px;padding:14px}
	.dd-result__media{flex-basis:88px;width:88px;height:88px}
	.dd-result__title{font-size:20px}
	.dd-result__excerpt{font-size:15px}
	.dd-pagination .nav-links{flex-direction:row}
	.dd-pagination .nav-links a{margin-top:0}
}
