
/* REHEART portal sections — service catalogue, discovery, and editorial topics */
.portal-section {position:relative;padding:86px 0 92px;border-bottom:1px solid rgba(116,132,114,.18)}
.portal-section::before{content:"";position:absolute;top:0;left:0;width:118px;height:1px;background:linear-gradient(90deg,#b8a27b,transparent)}
.portal-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:33px}
.portal-heading .portal-kicker{font:600 14px/1.4 var(--font-english,Georgia,serif);letter-spacing:.19em;color:#a08a62}
.portal-heading h2{margin:10px 0 9px;font:500 clamp(27px,3vw,39px)/1.55 var(--font-heading,serif);color:#294c3a;letter-spacing:.04em}
.portal-heading p{font-size:13px;line-height:2;color:#67786b;margin:0}
.portal-side-note{font-size:12px;line-height:1.95;color:#7a897d;max-width:265px;margin:0 0 3px}
.service-catalogue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.catalog-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:rgba(255,254,249,.95);border:1px solid rgba(215,216,201,.9);border-radius:18px;box-shadow:0 15px 35px rgba(35,51,38,.04);transition:transform .2s,box-shadow .2s}
.catalog-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px rgba(35,51,38,.085)}
.catalog-art{position:relative;height:143px;padding:21px 24px;overflow:hidden;background:linear-gradient(124deg,#e9f0e6,#f1efdf)}
.catalog-art::before{content:"";position:absolute;inset:auto -12% -125% 9%;height:250px;border-radius:50%;background:#b1c8b0aa;border:1px solid #d7dcca;transform:rotate(-15deg)}
.catalog-art::after{content:"";position:absolute;inset:14% -10% auto auto;width:58%;height:138px;border:1px solid #ffffffe0;border-radius:50%;transform:rotate(-19deg)}
.catalog-art .brand-kicker{position:relative;z-index:1;font:600 11px/1.3 var(--font-english,Georgia,serif);letter-spacing:.17em;color:#64766c}
.catalog-art .catalog-monogram{position:relative;z-index:1;display:block;margin-top:9px;font:500 clamp(24px,2.7vw,38px)/1.5 var(--font-heading,serif);color:#304d41}
.catalog-card.reheart .catalog-art{background:linear-gradient(115deg,#e5e9dd,#dce8df 56%,#f1eee2)}
.catalog-card.reheart .catalog-art::before{background:#7f9d89ac}
.catalog-card.coming{border-style:dashed;background:rgba(248,247,240,.65);box-shadow:none}
.catalog-card.coming:hover{transform:none;box-shadow:none}
.catalog-card.coming .catalog-art{background:linear-gradient(130deg,#f4f1e7,#ebeae3)}
.catalog-card.coming .catalog-art::before{background:#dad7c6a1}
.catalog-card.coming .catalog-monogram{color:#768879}
.catalog-body{padding:23px 24px 24px;display:flex;flex-direction:column;flex:1;gap:0}
.catalog-eyebrow{font:600 11px/1.4 var(--font-english,Georgia,serif);color:#94815f;letter-spacing:.16em}
.catalog-body h3{font:500 21px/1.55 var(--font-heading,serif);color:#294c3a;margin:10px 0 9px}
.catalog-desc{font-size:12px;line-height:2;color:#687a6c;margin:0 0 14px;min-height:70px}
.catalog-tags{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 18px}
.catalog-tags span{display:inline-block;padding:5px 8px;border-radius:3px;background:#edf1e9;color:#637a69;font-size:10px;line-height:1.4}
.catalog-foot{border-top:1px solid #e8e9df;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.catalog-foot small{font-size:11px;color:#768778;line-height:1.55}
.catalog-link{font-weight:650;color:#2e5943;font-size:12px;white-space:nowrap}
.catalog-link:hover{text-decoration:underline;text-underline-offset:5px}
.catalog-coming-note{font-size:12px;color:#778b7b;font-weight:600}
.catalog-helper{margin:22px 0 0;font-size:11px;line-height:1.9;color:#859186}
.portal-finder{background:linear-gradient(145deg,rgba(239,242,234,.88),rgba(249,248,242,.95));border-radius:22px;border:1px solid rgba(210,219,208,.9);padding:31px clamp(19px,3.4vw,44px) 37px;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.finder-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:5px;border-radius:14px;background:rgba(255,254,251,.8);border:1px solid #e1e6dc;max-width:max-content}
.finder-tab{border:0;border-radius:10px;background:transparent;color:#62786a;padding:12px 21px;font-size:12px;font-weight:600;cursor:pointer}
.finder-tab[aria-selected=true]{color:#fff;background:#335b45;box-shadow:0 4px 15px #32574424}
.finder-panel{margin-top:26px}
.finder-panel[hidden]{display:none}
.finder-prompt{font:500 19px/1.7 var(--font-heading,serif);color:#30503e;margin:0 0 16px}
.finder-options{display:flex;gap:10px;flex-wrap:wrap}
.finder-option{border:1px solid #d8dfd2;border-radius:999px;background:rgba(255,255,253,.91);color:#465f50;padding:11px 17px;font:500 12px/1.5 var(--font-body,sans-serif);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.finder-option:hover{border-color:#97ad98;transform:translateY(-2px)}
.finder-option[aria-pressed=true]{background:#335b45;color:#fff;border-color:#335b45}
.finder-results{margin-top:27px;border-top:1px solid #d8dfd4;padding-top:23px}
.finder-results-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}
.finder-results-head strong{font-size:13px;color:#365843}
.finder-reset{border:0;background:transparent;color:#587b65;text-decoration:underline;text-underline-offset:4px;font:600 12px/1.5 var(--font-body,sans-serif);cursor:pointer}
.finder-matches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.finder-match{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 19px;border-radius:12px;background:#fffefa;border:1px solid #dfe6dc;color:#305041;transition:border-color .2s}
.finder-match:hover{border-color:#9bb6a3}
.finder-match[hidden]{display:none}
.finder-match strong{display:block;font-size:14px;margin-bottom:5px}
.finder-match small{font-size:11px;line-height:1.75;color:#7b897d}
.finder-match .arrow{font:26px/1 Georgia,serif;color:#97ad9c}
.finder-disclaimer{margin:15px 0 0;font-size:11px;line-height:1.9;color:#7f8c7f}
.portal-journal-hint{font-size:12px;line-height:1.9;color:#6c8070;margin-top:22px}
@media(max-width:1080px){
  .portal-side-note{display:none}
  .service-catalogue{gap:12px}
  .catalog-body{padding:20px}
  .catalog-body h3{font-size:19px}
  .catalog-desc{min-height:86px}
}
@media(max-width:770px){
  .portal-section{padding:68px 0 72px}
  .service-catalogue{grid-template-columns:1fr;gap:15px}
  .catalog-card{display:grid;grid-template-columns:minmax(110px,32%) minmax(0,1fr)}
  .catalog-art{height:100%;min-height:225px;display:flex;flex-direction:column;justify-content:center;padding:20px}
  .catalog-art .catalog-monogram{font-size:clamp(21px,4vw,32px)}
  .catalog-desc{min-height:0}
  .catalog-body{padding:20px}
  .finder-tabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:none;gap:3px}
  .finder-tab{padding:11px 6px;font-size:11px}
  .finder-matches{grid-template-columns:1fr}
}
@media(max-width:480px){
  .portal-section{padding:58px 0 63px}
  .portal-heading{margin-bottom:23px}
  .catalog-card{display:flex}
  .catalog-art{min-height:0;height:110px;justify-content:initial}
  .catalog-art .catalog-monogram{font-size:27px;margin-top:4px}
  .catalog-desc{font-size:12px}
  .portal-finder{padding:19px 15px 24px;border-radius:17px}
  .finder-prompt{font-size:17px}
  .finder-option{padding:10px 13px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .catalog-card,.finder-option,.finder-match{transition:none!important;transform:none!important}
}
