:root{--navy:#14283e;--ink:#17293c;--cream:#f8f5ee;--paper:#fffdf8;--copper:#985229;--line:#dfd6c9}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Tahoma,Arial,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}header{background:var(--paper);border-bottom:1px solid var(--line)}.header{min-height:95px;display:flex;align-items:center;gap:48px}.brand img{width:245px;height:auto;display:block}.header nav{display:flex;gap:32px;margin-inline-start:auto;font-size:15px;font-weight:bold}.header nav a:hover,.section-head a:hover{color:var(--copper)}.header-link{color:var(--copper);font-weight:bold;white-space:nowrap}.hero{background:#eee8dd;overflow:hidden}.hero-inner{min-height:510px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.hero h1{font-size:clamp(42px,5vw,68px);line-height:1.35;margin:0 0 20px;letter-spacing:-2px}.hero h1 em,.statement em{color:var(--copper);font-style:normal}.hero p{max-width:530px;color:#4d5559;font-size:19px;margin-bottom:32px}.button{display:inline-flex;align-items:center;gap:30px;background:var(--navy);color:#fff;padding:14px 23px;font-weight:bold}.button:hover{background:#28435c}.hero-art{align-self:stretch;display:flex;justify-content:center;align-items:end;background:repeating-linear-gradient(45deg,transparent 0 28px,#e3d4c3 29px 30px,transparent 31px 58px)}.arch{width:72%;height:90%;border:2px solid #bc855e;border-bottom:0;border-radius:50% 50% 0 0;background:linear-gradient(145deg,#23394c,#102438);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e5af83;position:relative}.arch:before{content:'';position:absolute;inset:12px 12px 0;border:1px solid #a87552;border-bottom:0;border-radius:50% 50% 0 0}.arch span{font-size:55px}.book{font-size:44px;line-height:1.5;text-align:center;color:#f4e6d2;font-family:Georgia,serif}.section{padding:78px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.section-head a{color:var(--copper);font-weight:bold}small{color:var(--copper);font-weight:bold;font-size:14px}.section h1,.section h2{font-size:36px;line-height:1.4;margin:4px 0 10px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{background:var(--paper);border:1px solid var(--line)}.card img,.blank{width:100%;height:205px;object-fit:cover;display:block;background:#e7ded2}.cardtext{padding:24px}.cardtext span,.category{color:var(--copper);font-size:13px;font-weight:bold}.card h3{font-size:20px;line-height:1.6;margin:10px 0}.card p{color:#60656a;font-size:14px;line-height:1.8}.card b{color:var(--copper);font-size:14px}.topics{background:#eee9df}.topic-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}.topic-list a{display:flex;gap:18px;align-items:center;border-bottom:1px solid #cfc3b3;padding:22px 0}.topic-list a span{font-size:13px;color:#805131}.topic-list a b{margin-inline-start:auto;color:var(--copper)}.statement{display:flex;justify-content:space-between;align-items:center;padding:65px 0}.statement p{font-size:34px;font-weight:bold;line-height:1.5}.outline{background:transparent;color:var(--navy);border:1px solid var(--navy)}footer{background:var(--navy);color:#fff}.footer{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;padding:55px 0;font-size:14px}.footer p{color:#d7dce1}.archive-head{margin-bottom:40px}.archive-head form{display:flex;max-width:570px;margin:24px 0}.archive-head input{font:inherit;flex:1;min-width:0;border:1px solid var(--line);padding:12px;background:#fff}.archive-head button{font:inherit;background:var(--navy);color:white;border:0;padding:0 25px;cursor:pointer}.pagination{display:flex;justify-content:center;gap:30px;margin-top:50px}.pagination a{color:var(--copper);font-weight:bold}.narrow{max-width:800px}.article{padding:60px 0 90px}.article h1{font-size:clamp(30px,4vw,48px);line-height:1.5;margin:12px 0}.back{color:var(--copper);font-weight:bold}.meta{color:#64696b}.cover{width:100%;max-height:440px;object-fit:cover;margin:25px 0}.prose{font-size:18px;line-height:2.1;overflow-wrap:anywhere}.prose h2,.prose h3{line-height:1.6;margin-top:2em}.prose a{color:#8a4520;text-decoration:underline}.prose img{height:auto}.prose table{display:block;max-width:100%;overflow:auto}aside{padding:20px;background:#eee6d9;border-right:4px solid var(--copper);margin-top:45px}@media(max-width:760px){.wrap{width:min(100% - 32px,1180px)}.header{min-height:unset;gap:15px;flex-wrap:wrap;padding:16px 0}.brand img{width:205px}.header nav{order:3;width:100%;justify-content:space-between;gap:10px;font-size:13px}.header-link{margin-inline-start:auto;font-size:12px}.hero-inner{grid-template-columns:1fr;gap:20px;padding-top:50px}.hero h1{font-size:42px}.hero p{font-size:16px}.hero-art{height:230px}.arch{width:55%}.book{font-size:25px}.arch span{font-size:35px}.section{padding:50px 0}.section h1,.section h2{font-size:29px}.cards{grid-template-columns:1fr}.card img,.blank{height:200px}.topic-list{grid-template-columns:1fr}.statement{display:block;padding:40px 0 60px}.statement p{font-size:26px}.footer{grid-template-columns:1fr;gap:15px}.article{padding-top:40px}.prose{font-size:17px}}

/* Keep original image framing in both the library and the directory. */
.card img { height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #efe9df; }
.article .cover { height: auto; max-height: none; }
.header { gap: clamp(20px, 3vw, 48px); }
.header nav { gap: clamp(14px, 2vw, 32px); }
.directory-intro { max-width: 680px; margin-bottom: 42px; }
.directory-intro p { color: #4d5559; font-size: 18px; }
.section .directory-heading { font-size: 23px; margin-bottom: 20px; }
.healer-preview { padding-bottom: 22px; }
.healer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.healer-card { display: flex; flex-direction: column; min-width: 0; background: var(--paper); border: 1px solid var(--line); }
.healer-portrait { display: block; width: 100%; height: 245px; object-fit: contain; background: #ede6da; }
.healer-details { display: flex; flex-direction: column; align-items: start; flex: 1; padding: 20px 24px; }
.healer-label { margin: 0; color: var(--copper); font-size: 13px; font-weight: bold; }
.healer-card h3 { font-size: 22px; line-height: 1.5; margin: 6px 0 14px; }
.healer-specialties { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 20px; padding: 0; }
.healer-specialties li { padding: 2px 8px; background: #f1ebe0; font-size: 12px; }
.healer-contact { margin-top: auto; padding: 9px 14px; gap: 10px; font-size: 14px; }
@media (max-width: 950px) { .header-link { display: none; } }
@media (max-width: 760px) {
  .header nav { gap: 8px; flex-wrap: wrap; }
  .healer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .healer-details { padding: 16px; }
}
@media (max-width: 540px) { .healer-grid { grid-template-columns: 1fr; } }

.article-recommendation {
  margin-block: 12px 28px;
  padding-block-start: 18px;
  border-block-start: 1px solid var(--line);
}
.article-recommendation h2 { margin: 0 0 14px; font-size: 23px; }
.article-recommendation .healer-grid { grid-template-columns: minmax(0, 1fr); }
.article-recommendation .healer-card { flex-direction: row; align-items: stretch; }
.article-recommendation .healer-portrait { width: 156px; height: auto; max-height: 240px; flex-shrink: 0; }
.article-recommendation .healer-details { min-width: 0; }
.recommendation-directory { display: inline-block; margin-block-start: 12px; color: var(--copper); font-weight: bold; }
@media (max-width: 480px) {
  .article-recommendation .healer-portrait { width: 88px; }
  .article-recommendation .healer-card h3 { font-size: 19px; }
}
