.catalog-hero{background:#eef7f4;padding-top:58px;padding-bottom:52px}.catalog-hero h1{font-size:clamp(42px,5vw,70px);max-width:900px;color:var(--ink)}.catalog-hero>p:last-child{font-size:20px;margin-top:20px;color:var(--muted)}.catalog-controls{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:20px;align-items:end;margin-bottom:25px}.catalog-controls label{font-size:14px;font-weight:650}.catalog-controls input,.catalog-controls select{font:inherit;font-size:16px;display:block;width:100%;margin-top:8px;padding:14px 12px;border:1px solid #aebfbd;border-radius:8px;background:#fff;color:var(--ink)}.catalog-controls .inline-link{margin-bottom:12px}.catalog-controls :focus-visible{outline:3px solid var(--teal);outline-offset:3px}#result-count{font-size:15px;color:var(--muted);margin-bottom:25px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.listing{border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.listing-image{background:#f0f6f7;min-height:180px;display:flex;justify-content:center;align-items:center;padding:20px}.listing:nth-child(3n+2) .listing-image{background:#e8f2ed}.listing:nth-child(3n) .listing-image{background:#e9f0f8}.listing-image img{width:100%;height:160px;object-fit:contain;mix-blend-mode:multiply}.catalog-wordmark{font-size:24px;font-weight:700;letter-spacing:-.04em;color:#446d6e;text-align:center}.listing-body{padding:24px;display:flex;flex-direction:column;flex:1}.listing-body .eyebrow{font-size:12px}.listing-body h2{font-size:23px;line-height:1.3;overflow-wrap:anywhere}.listing-type{font-size:14px;margin:15px 0 20px;color:var(--muted)}.listing-body .inline-link{margin-top:auto;align-self:start}.catalog-note{font-size:14px;color:var(--muted);margin-top:32px;max-width:850px}.detail-hero{background:#f0f7f4}.detail-layout{display:flex;justify-content:space-between;align-items:center;gap:50px;margin-top:40px}.detail-layout>div{max-width:780px}.detail-layout h1{font-size:clamp(36px,4.5vw,68px);overflow-wrap:anywhere}.detail-category{font-size:20px;margin:22px 0}.detail-image{max-width:35%;height:300px;object-fit:contain;mix-blend-mode:multiply}.detail-resources{max-width:1150px;margin:auto}.detail-resources h2{font-size:35px;margin-bottom:30px}.resource-row{padding:24px;border:1px solid var(--line);border-radius:12px;margin-bottom:15px;display:flex;justify-content:space-between;gap:25px}.resource-row:hover{background:#eef7f4}.resource-row strong{font-size:18px}.resource-row span{font-size:14px;color:var(--muted)}@media(max-width:900px){.catalog-controls{grid-template-columns:1fr 1fr}.catalog-grid{grid-template-columns:1fr 1fr}.detail-image{max-width:32%}}@media(max-width:600px){.catalog-controls,.catalog-grid{grid-template-columns:1fr}.catalog-controls{gap:15px}.catalog-hero h1{font-size:42px}.catalog-hero>p:last-child{font-size:18px}.detail-layout{flex-direction:column;align-items:start;gap:25px}.detail-image{max-width:100%;width:100%;height:240px}.resource-row{flex-direction:column;gap:8px;padding:20px}.detail-resources h2{font-size:30px}.listing-image{min-height:150px}}

.company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.company-card{display:flex;flex-direction:column;align-items:start;min-height:215px;padding:30px;border:1px solid var(--line);border-radius:16px;background:#f1f7f5;transition:background .2s,transform .2s}.company-card:nth-child(3n+2){background:#eef4fa}.company-card:nth-child(3n){background:#f4f6e9}.company-card:hover{background:#e0eee8;transform:translateY(-3px)}.company-card h2{font-size:27px;line-height:1.2;font-weight:750;overflow-wrap:anywhere}.company-domain{font-size:14px;color:var(--muted);margin:14px 0 25px;overflow-wrap:anywhere}.company-visit{font-size:16px;font-weight:700;margin-top:auto;border-bottom:1px solid currentColor}.company-help{margin-top:45px;padding-top:35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px}.company-help h2{font-size:32px}@media(max-width:900px){.company-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.company-grid{grid-template-columns:1fr}.company-card{min-height:180px;padding:25px}.company-card h2{font-size:26px}.company-help{flex-direction:column;align-items:start}.company-help h2{font-size:28px}}

.page-split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.page-copy p,.page-lead{font-size:18px;line-height:1.8;color:var(--muted);margin-bottom:22px}.page-lead{margin-top:25px}.page-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.principles{background:#f1f7f5}.page-cards article{padding:30px;background:white;border:1px solid var(--line);border-radius:18px}.page-cards h2{font-size:30px;margin:20px 0 16px}.page-cards p{font-size:17px;color:var(--muted)}.contact-panel{background:#edf5fa;border:1px solid #d5e5ed;border-radius:22px;padding:38px}.contact-panel h2{font-size:38px}.contact-email{display:inline-block;font-size:clamp(17px,2vw,23px);font-weight:650;margin:24px 0;border-bottom:1px solid currentColor;overflow-wrap:anywhere}.contact-panel>p:not(.eyebrow){margin-bottom:24px}.contact-panel .small-note{font-size:14px;margin-top:22px;color:var(--muted)}.contact-follow{background:#eef7f4;display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-follow h2{font-size:36px}.contact-follow p:not(.eyebrow){margin-top:18px;color:var(--muted)}.booking-panel{background:#eaf5ef}.booking-steps{padding-left:23px;margin:28px 0;font-size:18px}.booking-steps li{padding:8px 0 8px 8px}@media(max-width:750px){.page-split,.page-cards{grid-template-columns:1fr;gap:30px}.contact-panel{padding:27px}.contact-follow{flex-direction:column;align-items:start}.contact-panel h2{font-size:33px}.page-copy p,.page-lead{font-size:17px}}

.inquiry-section{background:#f4f8f8}.inquiry-section>p{max-width:780px;margin:20px 0;color:var(--muted)}.inquiry-frame{display:block;width:100%;height:850px;border:0;background:white;border-radius:18px;margin-top:30px}.inquiry-section .small-note{font-size:14px}.inquiry-section .inline-link{font-size:14px}@media(max-width:600px){.inquiry-frame{height:1050px}}

.legal-copy{max-width:960px;margin:auto}.legal-copy h1{font-size:clamp(38px,6vw,64px)}.legal-copy h2{font-size:24px;margin:2rem 0 1rem}.legal-copy p,.legal-copy li{font-size:17px;line-height:1.75}.legal-copy ul{padding-left:1.5rem}.legal-copy a{overflow-wrap:anywhere}

.company-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:auto}.company-actions .company-visit{margin-top:0}.library-access-note{font-size:14px;color:var(--muted)}
