:root{--green:#087b3c;--leaf:#72bf44;--yellow:#ffd431;--ink:#303532;--muted:#56605a;--pale:#eef7e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}a{color:var(--green);text-underline-offset:4px}.wrap{max-width:1180px;margin:auto;padding:0 32px}header{border-top:8px solid var(--leaf);border-bottom:1px solid #dce6d8;background:white}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:18px;padding-bottom:18px}header img{width:235px;max-width:40%;height:auto}.header-actions{display:flex;align-items:center;gap:26px}.contact-link{font-weight:700;text-decoration:none}.button{display:inline-block;border:0;background:var(--green);color:#fff;text-decoration:none;padding:14px 23px;border-radius:999px;font:700 16px/1.4 Arial,sans-serif;text-align:center;cursor:pointer}.button:hover{background:#075e30}.button:disabled{background:#59645c;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #254f9f;outline-offset:4px}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;line-height:1.08;letter-spacing:-1.3px;color:var(--ink)}h1{font-size:clamp(44px,5.8vw,76px);margin:17px 0 25px;font-weight:800}h2{font-size:clamp(29px,3.2vw,42px);margin:10px 0 24px}h3{font-size:24px;letter-spacing:-.5px;margin:15px 0 10px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-weight:800;font-size:12px;color:var(--green)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding-top:65px;padding-bottom:70px}.lead{font-size:20px;max-width:580px}.note{font-size:14px;color:var(--muted)}.event-photo{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.event-photo img{width:100%;height:350px;object-fit:cover;object-position:52% center;border-radius:80px 15px 80px 15px;border-bottom:10px solid var(--yellow)}figcaption{font-size:13px;color:var(--muted);margin:12px 8px}.section{background:var(--pale);padding:60px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:34px}.num{display:block;font-size:12px;font-weight:800;letter-spacing:1px;color:var(--green);border-top:4px solid var(--leaf);padding-top:18px}.information{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:65px;padding-bottom:65px}.booking{background:var(--yellow);text-align:center;padding:55px 25px}.booking p{max-width:650px;margin:0 auto 25px}footer{text-align:center;padding:30px 22px;font-size:14px;color:var(--muted)}.contact-main{padding-top:60px;padding-bottom:65px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.contact-main h1{font-size:clamp(42px,5vw,64px)}.event{background:var(--pale);padding:28px;border-left:6px solid var(--leaf);margin:30px 0}.event h2{font-size:28px}.form-panel{padding:32px;border:1px solid #c9d7c3;border-top:7px solid var(--leaf);border-radius:12px}.form-panel h2{font-size:30px}.field{margin-bottom:18px}label{display:block;font-size:15px;font-weight:700;margin-bottom:7px}input,textarea{width:100%;padding:12px;border:1px solid #82947e;border-radius:5px;font:inherit;background:white;color:var(--ink)}textarea{min-height:150px;resize:vertical}.optional,.privacy{font-size:13px;color:var(--muted)}.trap{position:absolute;left:-10000px}.status{font-size:14px}.error{color:#9d2020}.success{color:var(--green)}.skip{position:absolute;top:-100px;left:10px;padding:12px;background:white;z-index:5}.skip:focus{top:10px}@media(max-width:850px){.wrap{padding-left:24px;padding-right:24px}.hero{gap:28px}.header-actions{gap:16px}.hero h1{font-size:52px}.event-photo img{height:330px}.information,.contact-grid{gap:32px}.steps{gap:24px}.form-panel{padding:24px}}@media(max-width:620px){header .wrap{flex-direction:column;gap:15px}header img{width:210px;max-width:85%}.header-actions{gap:18px;flex-wrap:wrap;justify-content:center;font-size:14px}.hero,.information,.contact-grid,.steps{grid-template-columns:1fr}.hero{padding-top:38px;padding-bottom:35px;gap:25px}.hero h1{font-size:52px}.event-photo img{height:245px;border-radius:50px 12px 50px 12px}.section{padding:38px 0}.information{padding-top:40px;padding-bottom:40px;gap:25px}.steps{gap:20px}.contact-main{padding-top:35px}.form-panel{padding:22px}.lead{font-size:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
