/* FOMO DIRECTORY / THE YELLOW PAGES — readable vintage-print prototype */
:root{--dir-ink:#241b0b;--dir-muted:#5d4b26;--dir-yellow:#f3d84e;--dir-stock:#fff2af;--dir-paper:#fff6ca;--dir-rule:#7e652a}
body.directory-page{margin:0;min-height:100vh;background:#e4cf6a;color:var(--dir-ink);font:17px/1.55 Georgia,'Times New Roman',serif;overflow-x:hidden}
.directory-page *, .directory-page *::before,.directory-page *::after{box-sizing:border-box}
.directory-page a{color:#2b210b;text-decoration-color:#a3791b;text-decoration-thickness:1px;text-underline-offset:3px}
.directory-page a:hover{text-decoration-thickness:2px}
.directory-page a:focus-visible{outline:3px solid #062c4c;outline-offset:4px}
.directory-page p{color:#302711}
.directory-page header.directory-bar,.directory-page footer{background:#252016;color:#fff7d1;padding:15px 25px;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.045em}
.directory-page .directory-bar-inner{max-width:1160px;display:flex;gap:15px;justify-content:space-between;align-items:center;margin:auto;flex-wrap:wrap}
.directory-page .directory-bar a,.directory-page footer a{color:#fff3c2;text-decoration:none}
.directory-page .dir-skip{position:absolute;left:-9999px;top:4px;background:#fff;color:#111;padding:12px;z-index:40}
.directory-page .dir-skip:focus{left:4px}
.directory-page main{max-width:1200px;margin:0 auto;background:linear-gradient(125deg,#fff2ac 0%,#ffe98b 48%,#fff1b0 100%);min-height:75vh;padding:38px clamp(22px,5vw,70px) 70px;box-shadow:0 17px 38px #67511936;border-left:1px solid #d5b248;border-right:1px solid #d5b248}
.directory-page .eyebrow,.directory-page .section-kicker{font:900 11px/1.4 Arial,sans-serif;color:#655014;letter-spacing:.15em}
.directory-masthead{text-align:center;padding:0 0 22px;border-bottom:5px double #29210e}
.directory-masthead .eyebrow{margin-bottom:22px}
.directory-page h1{font:800 clamp(42px,8vw,105px)/.96 Georgia,serif;letter-spacing:-.06em;margin:0;color:#181307;border:0;padding:0}
.directory-page h1 span{font-weight:400;font-style:italic}
.directory-page .directory-masthead h2{font:900 clamp(20px,3vw,37px)/1.2 Arial,sans-serif;letter-spacing:.16em;margin:12px 0;color:#181307}
.directory-masthead>p:not(.eyebrow){font:italic clamp(14px,2vw,18px)/1.4 Georgia,serif;color:#483919}
.directory-rule,.directory-section-head{display:flex;flex-wrap:wrap;gap:8px 15px;justify-content:space-between;border-top:1px solid #4c3c1b;border-bottom:1px solid #4c3c1b;padding:7px 0;margin-top:20px;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.09em;color:#51401d}
.directory-page h3{font:700 clamp(26px,4vw,40px)/1.09 Georgia,serif;letter-spacing:-.03em;color:#251b0b;margin:8px 0 12px}
.directory-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,4vw,55px);padding:40px 0}
.directory-intro-copy{align-self:center}.directory-intro-copy>p{max-width:570px}
.directory-cta{background:#211a0c;color:#ffed95!important;padding:14px 16px;display:inline-block;margin:10px 0 0;border-radius:4px;font:800 12px/1.3 Arial,sans-serif;text-decoration:none;letter-spacing:.02em}
.directory-cta:hover{background:#413016}
.directory-listing-example{background:#fff8d5;border:2px solid #5d4720;padding:23px;box-shadow:8px 8px 0 #c1a346;min-width:0}
.example-ribbon{font:900 10px Arial,sans-serif;color:#685226;letter-spacing:.13em;border-bottom:1px solid #80652e;padding-bottom:12px;margin-bottom:16px}
.example-company{display:flex;align-items:center;gap:14px}.example-logo{width:58px;height:58px;background:#241b0b;color:#fff4b2;display:grid;place-items:center;font:900 34px Georgia,serif;flex:none}
.example-company strong{display:block;font:800 23px/1.15 Georgia,serif}.example-company small{display:block;font:800 10px Arial,sans-serif;margin-top:5px;color:#64552d;letter-spacing:.08em}
.directory-listing-example>p{font-size:15px;margin:14px 0}
.example-link{font:700 13px Arial,sans-serif;text-decoration:underline;color:#423418;overflow-wrap:anywhere}
.example-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:18px}
.example-thumbnails span{aspect-ratio:4/3;background:#e3d1a0;border:1px solid #ab9160;display:grid;place-items:center;font:700 9px Arial,sans-serif;color:#7f6940}
.directory-listing-example>.example-caption{font:12px/1.4 Arial,sans-serif;color:#645838;margin-bottom:0}
.directory-classifieds,.directory-listings{border-top:4px double #483719;padding-top:5px;margin-top:15px}
.directory-classifieds .directory-section-head,.directory-listings .directory-section-head{margin-top:4px;border-top:0}
.directory-classifieds>h3,.directory-listings>h3{margin:20px 0}
.ad-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:15px}
.ad-large{background:#fff9e4;border:3px solid #251c0b;display:flex;flex-direction:column;gap:12px;padding:23px;min-width:0;text-align:center;justify-content:center}
.ad-large>small,.ad-small>small{font:900 10px Arial,sans-serif;color:#59451f;letter-spacing:.09em}
.ad-large>strong{font:900 clamp(33px,5vw,69px)/.96 Georgia,serif;color:#1d1609;letter-spacing:-.055em}
.ad-large>span{font:italic 18px Georgia,serif}
.ad-art{display:flex;gap:18px;align-items:center;justify-content:center;padding:20px;background:repeating-linear-gradient(45deg,#c9c0a1 0 2px,#f9f5e6 2px 8px);border:1px solid #5f5132}
.ad-art span{background:#271f13;color:#fff2bc;font:900 clamp(22px,3.2vw,43px)/1 Georgia,serif;padding:6px 7px}
.ad-minor{display:grid;grid-template-rows:1fr 1fr;gap:15px;min-width:0}
.ad-small{border:2px solid #5e4b28;padding:24px 15px;display:flex;flex-direction:column;gap:9px;justify-content:center;background:#f1e4b0}
.ad-small strong{font:800 clamp(23px,2.8vw,36px)/1.1 Georgia,serif;color:#30230d}
.ad-small span{font:italic 15px Georgia,serif}
.ad-vacant{background:#f8edbd;border-style:dashed}
.directory-listings{margin-top:48px}
.directory-listings>p{max-width:900px}
.directory-page ul.profile-list{list-style:none;padding:5px 0;margin:15px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;border-top:2px solid #382b16}
.directory-page ul.profile-list li{padding:13px 6px 12px;border-bottom:1px dotted #8e773e;min-width:0;background:transparent}
.directory-page ul.profile-list a{font:700 18px/1.3 Georgia,serif;color:#1c1a0d;overflow-wrap:anywhere}
.directory-page ul.profile-list small{display:block;font:700 11px/1.6 Arial,sans-serif;color:#594820;margin-top:4px;letter-spacing:.03em}
.directory-bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;border-top:5px double #3b2c15;margin-top:45px;padding-top:25px}
.directory-bottom h3{margin:8px 0}.directory-bottom p{max-width:650px}
.directory-doc-links{display:flex;flex-direction:column;gap:9px}.directory-doc-links a{font:800 13px/1.3 Arial,sans-serif;white-space:normal}
.directory-page footer{font-weight:500}.directory-page footer span{font-size:10px;letter-spacing:0}
/* The same pale-print framing also makes the individual static example profiles legible. */
.directory-page main>dl{border-top:2px solid #5b4620;border-bottom:2px solid #5b4620;margin:23px 0;padding:15px 0;display:grid;grid-template-columns:180px 1fr;gap:10px 15px}
.directory-page dt{font:800 12px/1.5 Arial,sans-serif;color:#413217;text-transform:uppercase;letter-spacing:.09em}
.directory-page dd{margin:0;color:#352813;font-size:15px}
.directory-page main>h1:not(.directory-masthead h1){font-size:clamp(39px,6vw,70px);line-height:1.03;letter-spacing:-.04em;padding-bottom:15px;border-bottom:5px double #4b3715;margin-bottom:24px}
@media(max-width:780px){.directory-intro,.directory-bottom{grid-template-columns:1fr}.ad-layout{grid-template-columns:1fr}.directory-page .directory-listing-example{max-width:650px}.directory-page .directory-bar-inner{gap:10px}}
@media(max-width:620px){.directory-page main{padding:26px 17px 50px}.directory-page header.directory-bar,.directory-page footer{padding:12px 16px}.directory-masthead h1{font-size:clamp(38px,11vw,67px)}.directory-page .directory-masthead h2{letter-spacing:.06em;font-size:21px}.directory-page ul.profile-list{grid-template-columns:1fr}.directory-page .directory-rule{font-size:9px;flex-direction:column;text-align:center}.ad-art{gap:6px}.ad-art span{font-size:20px}.directory-page main>dl{grid-template-columns:1fr;gap:5px}}

/* V1.8-audit: placeholder labels 3.47:1 -> >=4.5:1 */
.example-thumbnails span{color:#5a4724}
