*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f6f1;color:#17281f;font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #79b392;outline-offset:3px}.shell{max-width:1120px;margin:0 auto;padding:0 22px}.header{display:flex;align-items:center;justify-content:space-between;padding:23px 0;gap:16px}.wordmark{font-weight:850;letter-spacing:-.055em;font-size:23px;text-decoration:none}.wordmark span{color:#b7cf5b}.nav{display:flex;gap:20px;align-items:center;font-size:14px}.nav a{text-decoration:none}.nav a:hover{text-decoration:underline}.dark{background:#18382a;color:#f7faef}.hero{border-radius:25px;padding:56px 49px 48px;position:relative;overflow:hidden}.hero::after{content:"";position:absolute;right:-85px;top:-80px;border:1px solid #71967d;border-radius:50%;height:320px;width:320px;box-shadow:0 0 0 54px rgba(212,241,174,.04),0 0 0 112px rgba(212,241,174,.03);pointer-events:none}.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:#bfd899;margin:0 0 14px}.hero h1{font:500 clamp(42px,6.3vw,77px)/.99 Georgia,serif;letter-spacing:-.048em;max-width:760px;margin:0 0 24px;position:relative;z-index:1}.hero p{max-width:600px;color:#d9e6dc;font-size:18px;position:relative;z-index:1}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}.btn,button{font:inherit;cursor:pointer}.btn{display:inline-flex;justify-content:center;align-items:center;border-radius:10px;padding:13px 19px;text-decoration:none;font-size:14px;font-weight:800;border:1px solid transparent}.btn.light{background:#c9e78a;color:#18382a}.btn.line{border-color:#8da795;color:#f7faef}.btn.ink{background:#1b3a2c;color:white}.section{padding:60px 0 0}.section h2{font:500 clamp(30px,4vw,48px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:0 0 11px}.section .intro{max-width:700px;color:#52675a;margin:0 0 26px}.finder{background:#fff;border:1px solid #dce4da;border-radius:20px;padding:25px;box-shadow:0 14px 50px rgba(19,47,33,.045)}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.filters label{display:block;font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.filters select{width:100%;border:1px solid #bdcec0;background:#f8faf7;padding:13px;border-radius:10px;color:#173021;font-size:15px}.micro{color:#64766a;font-size:13px;margin:16px 0 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:20px}.card{background:#fff;border:1px solid #dce4da;border-radius:18px;padding:23px;display:flex;flex-direction:column;min-height:320px}.eyebrow{font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:#53735c;font-weight:850}.card h3{font:500 27px/1.1 Georgia,serif;letter-spacing:-.035em;margin:14px 0}.card p{color:#56685c;font-size:14px}.card .bottom{margin-top:auto;padding-top:20px}.textlink{color:#17603b;font-weight:750;text-decoration:none}.textlink:hover{text-decoration:underline}.sample{background:#ecf3e8;border-radius:20px;padding:32px;margin-top:30px}.sample h3{font:500 31px Georgia,serif;margin:8px 0}.sample .cols{display:grid;grid-template-columns:1fr 1fr;gap:25px}.sample p{margin:7px 0 14px}.sample a{color:#195b38}.offer{margin-top:65px;border-radius:24px;background:#e4efd9;padding:37px;display:grid;grid-template-columns:1.4fr .8fr;gap:28px}.offer h2{font:500 43px/1.03 Georgia,serif;margin:7px 0 12px}.offer p{color:#4b6352}.offer .price{font:500 61px Georgia,serif;margin:0}.offer .price-note{font-size:13px;color:#435e4c}.foot{border-top:1px solid #d4e0d4;padding:25px 0 50px;color:#5f7163;font-size:13px;margin-top:56px}.details{margin-top:24px}.brief{background:white;border:1px solid #dce4da;border-radius:18px;padding:32px;margin-bottom:23px;break-inside:avoid}.brief h2{font:500 34px/1.12 Georgia,serif;letter-spacing:-.03em}.brief .lead{color:#617164}.field{margin-top:19px}.field h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 5px}.field p{margin:0;color:#415449}.field ul{margin:4px 0;padding-left:19px}.field a{color:#17603b;word-break:break-all}.hide{display:none!important}@media(max-width:810px){.hero{padding:39px 25px}.filters,.cards,.sample .cols,.offer{grid-template-columns:1fr}.nav{gap:10px}.nav a:nth-child(2){display:none}.offer{padding:27px}.sample{padding:23px}}@media print{.header,.nav,.btn,.filters,.foot{display:none}.shell{max-width:none}.brief{break-inside:avoid;box-shadow:none}body{background:white}}
/* ---- finder: search field ---- */
.searchfield{margin-bottom:16px}
.searchfield label{display:block;font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}
.searchwrap{position:relative;display:flex;align-items:center}
.searchicon{position:absolute;left:15px;width:18px;height:18px;fill:none;stroke:#6e8476;stroke-width:1.9;stroke-linecap:round;pointer-events:none}
.searchwrap input{width:100%;border:1px solid #bdcec0;background:#f8faf7;padding:14px 44px;border-radius:10px;font:inherit;font-size:16px;color:#173021;-webkit-appearance:none;appearance:none}
.searchwrap input::placeholder{color:#7d9084}
.searchwrap input::-webkit-search-cancel-button,.searchwrap input::-webkit-search-decoration{-webkit-appearance:none;display:none}
.clearq{position:absolute;right:9px;border:0;background:#e3ebe0;color:#3b5544;width:30px;height:30px;border-radius:50%;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}
.clearq:hover{background:#d3e0cf}

/* ---- finder: bar, legend, notice ---- */
.finderbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:17px}
.finderbar .micro{margin:0;font-weight:750;color:#3f5a48;font-size:13.5px}
.btn.small{padding:10px 15px;font-size:13px;border-radius:9px}
.btn.ghost{background:transparent;border-color:#bdcec0;color:#2c4636;padding:10px 15px;font-size:13px;font-weight:800}
.btn.ghost:hover{background:#eef4ea}
.btn.line-green{border-color:#a5c2ac;color:#17603b;background:#fff}
.btn.line-green:hover{background:#f1f7ee}
.legend{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:12.5px;color:#64766a;margin:18px 0 0;padding-top:16px;border-top:1px solid #e7ece4}
.notice{margin-top:18px;background:#f4f8ef;border:1px solid #dbe7cf;border-left:4px solid #8ab766;border-radius:12px;padding:15px 17px;color:#3d5444;font-size:14px}
.notice strong{color:#24422f}

/* ---- finder: cards ---- */
.cardtop{display:flex;justify-content:space-between;align-items:center;gap:10px}
.badge{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;white-space:nowrap}
.badge.free{background:#dcefc4;color:#2d5a2a}
.badge.paid{background:#edf1ec;color:#4a6151;border:1px solid #d5dfd5}
.card h3{margin:13px 0 10px}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;margin:16px 0 0}
.meta div{min-width:0}
.meta dt{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#6a7d70;font-weight:850;margin:0}
.meta dd{margin:3px 0 0;font-size:13.5px;font-weight:750;color:#1d3b2b}
.meta.wide{background:#f2f7ee;border-radius:14px;padding:16px 18px;margin-top:18px}
.actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center}
button.textlink{border:0;background:none;padding:0;font:inherit;font-size:14px;font-weight:750;color:#17603b;cursor:pointer}
button.textlink:hover{text-decoration:underline}

/* ---- finder: pack callout ---- */
.packnote{margin-top:21px;background:#18382a;color:#eef5e6;border-radius:16px;padding:21px 23px;display:flex;justify-content:space-between;align-items:center;gap:17px;flex-wrap:wrap}
.packnote p{margin:0;font-size:14px;color:#d5e3d2;max-width:62ch}
.packnote strong{color:#fff}
.packnote .btn.ink{background:#c9e78a;color:#18382a}

/* ---- preview panel ---- */
body.locked{overflow:hidden}
.overlay{position:fixed;inset:0;z-index:60;background:rgba(17,38,27,.58);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
.overlay[hidden]{display:none}
.panel{position:relative;background:#fff;border-radius:20px;padding:30px 32px 32px;width:100%;max-width:620px;max-height:90vh;overflow:auto;box-shadow:0 30px 80px rgba(11,31,20,.32)}
.panel .cardtop{padding-right:36px}
.panel h2{font:500 clamp(27px,4.4vw,34px)/1.1 Georgia,serif;letter-spacing:-.03em;margin:15px 0 0}
.panel .actions{margin-top:24px}
.panelclose{position:absolute;top:15px;right:15px;width:34px;height:34px;border:1px solid #dce4da;background:#f6f8f4;color:#2f4a38;border-radius:50%;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}
.panelclose:hover{background:#e9efe6}

@media(max-width:810px){
  .filters select,.searchwrap input{font-size:16px;min-height:48px}
  .finderbar{align-items:stretch}
  .finderbar .btn.ghost{width:100%}
  .actions{gap:11px}
  .actions .btn{flex:1 1 150px;justify-content:center}
  .meta.wide{grid-template-columns:1fr}
  .packnote{flex-direction:column;align-items:flex-start}
  .packnote .btn{width:100%}
  .overlay{padding:0;align-items:flex-end}
  .panel{max-width:none;max-height:93vh;border-radius:18px 18px 0 0;padding:26px 22px 28px}
}
@media print{.overlay,.packnote,.notice,.legend{display:none}}
