:root{--paper:#fbf8f2;--card:#fff;--pine:#2f4a3c;--sage:#7c9a82;--sage-soft:#e3ece4;--butter:#f5c664;--sky:#cfe3e8;--ink:#33413a;--muted:#6b7a70;--radius:18px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Nunito Sans,system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.15}a,h1,h2,h3{color:var(--pine)}.container{max-width:880px;margin:0 auto;padding:0 1.25rem}.guideline{display:inline-block;padding-bottom:.35em;background-image:linear-gradient(var(--sage) 0 0),repeating-linear-gradient(90deg,var(--sage) 0 10px,transparent 10px 18px),linear-gradient(var(--sage) 0 0);background-repeat:no-repeat;background-size:100% 2px,100% 1.5px,100% 2px;background-position:left calc(100% - 0px),left calc(100% - 7px),left calc(100% - 14px)}.hero{padding:4.5rem 0 3rem;text-align:center}.eyebrow{display:inline-block;font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--pine);background:var(--butter);border-radius:999px;padding:.35rem .9rem;margin-bottom:1.4rem}.hero h1{font-size:clamp(2.6rem,7vw,4rem);font-weight:600;margin-bottom:1rem}.hero .title-line{font-size:1.2rem;font-weight:700;color:var(--pine);margin-top:1.1rem}.hero .subtitle{color:var(--muted);margin-top:.3rem}.credentials{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.6rem}.credential{background:var(--card);border:1.5px solid var(--sage-soft);border-radius:999px;padding:.4rem 1rem;font-size:.88rem;font-weight:600;color:var(--pine)}.headshot{width:168px;height:168px;border-radius:50%;background:var(--sky);border:5px solid var(--card);box-shadow:0 8px 24px rgba(47,74,60,.14);margin:0 auto 1.8rem;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-size:3rem;color:var(--pine);overflow:hidden}section{padding:3rem 0}section h2{font-size:1.9rem;margin-bottom:1.1rem}.card{background:var(--card);border:1.5px solid var(--sage-soft);border-radius:var(--radius);padding:1.8rem}.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem;margin-top:1.4rem}.link-card{display:block;text-decoration:none;background:var(--card);border:1.5px solid var(--sage-soft);border-radius:var(--radius);padding:1.4rem;transition:transform .15s ease,box-shadow .15s ease}.link-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(47,74,60,.12)}.link-card .emoji{font-size:1.7rem}.link-card h3{margin:.5rem 0 .25rem;font-size:1.15rem}.link-card p{color:var(--muted);font-size:.92rem}.btn{display:inline-block;background:var(--pine);color:#fff;text-decoration:none;font-weight:700;padding:.9rem 1.8rem;border-radius:999px;border:none;font-size:1.05rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.btn:hover{background:#3d5e4c;transform:translateY(-1px)}.btn-secondary{background:var(--butter);color:var(--pine)}.btn-secondary:hover{background:#f0ba4d}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem}.landing-card{max-width:520px;width:100%;text-align:center;background:var(--card);border:1.5px solid var(--sage-soft);border-radius:24px;padding:2.8rem 2rem;box-shadow:0 14px 40px rgba(47,74,60,.1)}.landing-card .emoji{font-size:2.8rem;display:block;margin-bottom:1rem}.landing-card h1{font-size:1.9rem;margin-bottom:.8rem}.landing-card p{color:var(--muted);margin-bottom:1.6rem}.landing-card .from{margin-top:1.6rem;margin-bottom:0;font-size:.88rem}.landing-card .from a{color:var(--muted)}.qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.4rem;gap:1.4rem;margin-top:1.6rem}.qr-card{background:var(--card);border:1.5px solid var(--sage-soft);border-radius:var(--radius);padding:1.6rem;text-align:center}.qr-card h3{margin-bottom:.2rem}.qr-card .route{color:var(--muted);font-size:.88rem;margin-bottom:1rem}.qr-card svg{background:#fff;padding:8px;border-radius:8px}footer{text-align:center;color:var(--muted);font-size:.88rem;padding:2.5rem 1rem 3rem}@media print{.no-print{display:none!important}body{background:#fff}.qr-card{border:1px solid #ccc;page-break-inside:avoid;break-inside:avoid}}@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}