
:root{font-family:Arial,Helvetica,sans-serif;color:#222;background:#f2f2ef;--blue:#254d78;--muted:#5b6065}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}a{color:var(--blue)}button,a{touch-action:manipulation}header{max-width:1240px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px solid #222}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#222;font-size:24px;font-weight:bold}.brand-mark{display:grid;place-items:center;background:var(--blue);color:white;width:36px;height:36px;font-size:27px}.nav-button,.secondary{border:1px solid #8e969e;background:white;padding:11px 15px;color:#222}.page-intro{max-width:1240px;margin:26px auto 20px;padding:0 24px}h1{font-size:32px;margin:0 0 10px}.page-intro p{margin:0;color:var(--muted);line-height:1.5}main{max-width:1240px;margin:0 auto 32px;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.quiz-panel{background:white;border:1px solid #aeb2b6;padding:26px;min-height:530px;scroll-margin-top:16px}.topline{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:bold;color:#555;letter-spacing:.6px}.progress{height:5px;background:#dedede;margin:16px 0 26px}.progress span{display:block;height:100%;background:var(--blue)}h2{font-size:27px;line-height:1.25;margin:0 0 12px;outline:none}.intro{color:var(--muted);line-height:1.6;margin:0 0 24px}.choices{display:grid;gap:10px}.two-columns{grid-template-columns:1fr 1fr}.choice{display:flex;text-align:left;padding:16px;border:1px solid #aeb6bf;background:#fafafa;color:#222;width:100%}.choice:hover{background:#edf2f7;border-color:var(--blue)}.choice strong{display:block;font-size:16px}.choice small{display:block;font-size:14px;color:var(--muted);margin-top:7px;line-height:1.45}.budget-note,.disclosure{font-size:12px;line-height:1.6;color:#61666b;margin:20px 0 0}.panel-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:26px;padding-top:14px;border-top:1px solid #ddd;font-size:12px;color:#555}.panel-bottom>span{margin-left:auto}.text-button{background:transparent;border:0;color:var(--blue);font-size:14px;text-decoration:underline;padding:6px 0}.primary,.shop-link{background:var(--blue);color:white;border:1px solid var(--blue);padding:13px 16px;font-size:14px;text-decoration:none;font-weight:bold;text-align:center}.primary:hover,.shop-link:hover{background:#173553}.tag,.match-label{display:block;font-size:11px;font-weight:bold;color:var(--blue);margin-bottom:10px;letter-spacing:.5px}.answer-summary{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.answer-summary span{border:1px solid #bbb;background:#f5f5f5;padding:6px 9px;font-size:13px}.gift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gift-card{border:1px solid #b9bec4;padding:18px;background:#fafafa;display:flex;flex-direction:column;min-width:0}.gift-card-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}.category-label{font-size:11px;color:#555}.budget-chip{font-size:11px;padding:5px 7px;border:1px solid #c4c8cd;background:white}.gift-card h3{font-size:21px;line-height:1.3;margin:0 0 12px}.gift-card>p{font-size:14px;color:#555;line-height:1.6;margin:0 0 16px}.match-reason{border-left:2px solid #9eafbf;padding-left:10px}.gift-card details{margin-top:auto;margin-bottom:18px;font-size:13px;line-height:1.6}.gift-card summary{cursor:pointer;font-weight:bold;color:#333}.gift-card details p{color:#555}.shop-link{display:block;margin-top:auto}.more{display:block;margin:20px auto}.result-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:20px;margin-top:26px}.catalog-group{margin-top:30px}.category-heading{font-size:21px;margin:0 0 14px}.ad-rail{display:grid;gap:20px;min-width:0}.ad-slot{width:100%;max-width:300px;margin:auto}.ad-label{display:block;text-align:center;font-size:10px;color:#62666b;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.ad-placeholder{height:250px;border:1px dashed #a6aaae;background:#e8e8e5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#676b70}.ad-placeholder strong{font-size:17px;font-weight:normal}.ad-placeholder span{font-size:14px}.ad-placeholder small{font-size:11px}.side-note{border-top:1px solid #bfc1c3;padding-top:20px}.side-note img{display:block;width:100%;height:130px;object-fit:cover}.side-note p{font-size:13px;color:#555;line-height:1.5}footer{max-width:1192px;margin:auto;border-top:1px solid #bbb;padding:20px 0 30px;display:flex;justify-content:space-between;gap:24px;font-size:12px;line-height:1.6;color:#555}.about{max-width:700px}.about summary{cursor:pointer;text-align:right;font-weight:bold}.about p{font-size:13px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button[hidden]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-70px;padding:12px;background:var(--blue);color:white;z-index:10}.skip-link:focus{top:12px}.noscript{text-align:center;padding:20px}@media(max-width:900px){main{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.two-columns,.gift-grid{grid-template-columns:1fr}.quiz-panel{padding:22px}footer{margin:0 24px}}@media(max-width:680px){header{padding:18px 16px}.brand{font-size:21px}.nav-button{font-size:12px;padding:9px}.page-intro{padding:0 16px;margin:22px auto 18px}h1{font-size:28px}main{display:block;padding:0 16px}.quiz-panel{padding:20px;min-height:0}h2{font-size:24px}.ad-rail{margin-top:26px;grid-template-columns:1fr}.side-note{display:none}.choice{padding:15px}.result-actions{align-items:stretch;flex-direction:column;gap:12px}footer{margin:0 16px;flex-direction:column;gap:12px}.about summary{text-align:left}}

.listing{padding:12px;border:1px solid #bbc4ce;background:#eef2f5;margin:0 0 16px}.listing span,.listing strong,.listing small{display:block}.listing span{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#526474;margin-bottom:7px}.listing strong{font-size:14px;line-height:1.5}.listing small{font-size:11px;line-height:1.5;color:#555;margin-top:7px}.footer-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.document-main{display:block}.document-panel{background:white;border:1px solid #bbb;padding:28px;line-height:1.7}.document-panel>p,.document-panel>ul{max-width:760px}.document-panel h2{font-size:23px;margin-top:28px}.document-panel h3{font-size:18px}.category-nav{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.category-nav a{border:1px solid #b8bdc3;padding:7px 10px;text-decoration:none;font-size:13px}.catalog-disclosure{font-size:13px;background:#eef2f5;padding:12px}.document-main .gift-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.document-main .gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.document-panel{padding:20px}.document-main .gift-grid{grid-template-columns:1fr}}

.brand-mark{font-size:18px}.brand{letter-spacing:-.4px}@media(max-width:680px){.brand{font-size:16px;gap:7px}.brand-mark{width:28px;height:28px;font-size:14px}header{gap:10px;flex-wrap:wrap}}

/* Clear introduction and comfortable touch targets on smaller screens. */
.welcome-banner{max-width:1192px;margin:24px auto;background:#e7edf3;border:1px solid #a6b5c5;border-left:5px solid var(--blue);padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px 30px}
.welcome-label{display:block;font-size:11px;font-weight:bold;letter-spacing:1px;color:var(--blue);margin-bottom:9px}
.welcome-steps{margin:0;padding-left:22px;font-size:14px;line-height:1.5;display:grid;gap:8px}
.welcome-steps li{padding-left:3px}.welcome-note{grid-column:1/-1;font-size:12px;border-top:1px solid #bdc8d2;padding-top:12px}
.brand-mark{flex-shrink:0}.nav-button,.text-button,.secondary,.primary,.shop-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.shop-link{display:flex}.footer-links a{padding:10px 0}.gift-card{overflow-wrap:anywhere}
@media(max-width:1240px){.welcome-banner{margin-left:24px;margin-right:24px}}
@media(max-width:900px){main{grid-template-columns:minmax(0,1fr)}.ad-rail{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px}.side-note{display:none}}
@media(max-width:680px){.welcome-banner{margin:18px 16px;padding:18px;grid-template-columns:1fr;gap:14px}.welcome-banner h1{font-size:27px}.welcome-banner p{font-size:14px}.welcome-banner .welcome-note{font-size:12px}.welcome-steps{font-size:13px}.ad-rail{grid-template-columns:1fr}.nav-button{font-size:13px}.quiz-panel{padding:18px}.topline{letter-spacing:0}.brand{min-height:44px}}
