:root{--bg:#f7f3eb;--text:#1a1a1a;--accent:#6d2f22;--serif:Georgia,"Times New Roman",serif;--border:rgba(0,0,0,0.08);--max-size:2.5rem}*{box-sizing:border-box}body,html{margin:0;padding:0;background-color:var(--bg);color:var(--text);font-family:var(--serif);min-height:100vh;text-align:center;overflow-x:hidden}a{color:inherit;text-decoration:none}.site-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh}.site-header{padding:3rem 4rem;border-bottom:1px solid var(--border)}.site-header .brand{font-size:var(--max-size);font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#000;line-height:1;margin:0}.site-main{position:relative;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.site-main:before{content:"";position:absolute;inset:0;background-image:url(/wolf-watermark.jpg);background-size:contain;background-repeat:no-repeat;background-position:50%;opacity:.07;pointer-events:none;z-index:0}.directory{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));grid-gap:2rem;gap:2rem;width:100%;max-width:760px;margin:0 auto}.directory-card{display:flex;flex-direction:column;gap:.6rem;padding:1.5rem;text-align:left;background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.12);border-radius:6px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.directory-card:focus-visible,.directory-card:hover{border-color:var(--accent);box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px);outline:none}.directory-title{font-size:1.35rem;line-height:1.2}.directory-description{flex:1 1;font-size:1rem;line-height:1.45;color:#444}.directory-domain{margin-top:.6rem;font-size:.95rem;letter-spacing:.02em;color:var(--accent)}@media (max-width:768px){.site-header{padding:2rem 1rem}.site-header .brand{font-size:1.8rem}.site-main{padding:3rem 1rem}}.tc{position:relative;z-index:1;width:100%;max-width:760px;margin:0 auto;text-align:left}.tc-title{font-size:1.8rem;font-weight:500;margin:0 0 .75rem;text-align:center}.tc-intro{font-size:1.05rem;line-height:1.5;color:#444;margin:0 auto 2rem;max-width:600px;text-align:center}.tc-section{background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.12);border-radius:6px;padding:1.25rem 1.5rem .5rem;margin-bottom:1.5rem}.tc-section h3{font-size:1.2rem;font-weight:500;color:var(--accent);margin:0 0 .5rem}.tc-row{display:grid;grid-template-columns:minmax(0,1fr) auto 9.5rem;align-items:center;grid-gap:.25rem 1rem;gap:.25rem 1rem;padding:.7rem 0;border-top:1px solid var(--border)}.tc-section h3+.tc-row{border-top:none}.tc-label{font-size:1rem;line-height:1.35}.tc-note{display:block;font-size:.85rem;color:#666;margin-top:.2rem}.tc-letter{font-size:.8rem;color:#888;font-style:italic;white-space:nowrap}.tc-value{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tc-input-wrap{display:inline-flex;align-items:center;gap:.3rem;width:100%;padding:.35rem .6rem;background:#fff8d6;border:1px solid #d9c98a;border-radius:4px}.tc-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px rgba(109,47,34,.15)}.tc-affix{color:#777;font-size:.9rem}.tc-input{flex:1 1;min-width:0;width:100%;border:none;background:transparent;font:inherit;font-size:1rem;text-align:right;color:var(--text);outline:none;-moz-appearance:textfield}.tc-input::-webkit-inner-spin-button,.tc-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tc-output{padding-right:.6rem}.tc-subtotal .tc-label,.tc-subtotal .tc-output{font-weight:600}.tc-total .tc-label,.tc-total .tc-output{font-size:1.2rem;font-weight:600;color:var(--accent)}.tc-reset{display:block;margin:0 auto 2rem;padding:.6rem 1.2rem;font:inherit;font-size:.95rem;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:4px;cursor:pointer}.tc-reset:focus-visible,.tc-reset:hover{background:var(--accent);color:#fff}.tc-disclaimer{font-size:.9rem;line-height:1.5;color:#555;text-align:center;max-width:600px;margin:0 auto 1.5rem}.tc-back{text-align:center;color:var(--accent);margin:0}@media (max-width:600px){.tc-section{padding:1rem 1rem .25rem}.tc-row{grid-template-columns:minmax(0,1fr) 8rem}.tc-letter{display:none}}