.cards{display:grid;gap:24px}.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.package-card,.article-card,.contact-card,.info-card,.mission-card{background:#fff;border:1px solid #e4ebe5;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 25px rgba(30,60,40,.05)}.card img,.package-card>img,.article-card>img{width:100%;aspect-ratio:16/10;object-fit:cover}.card>div,.article-card>div{padding:24px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.package-card{display:grid;grid-template-columns:1fr 1fr}.package-body{padding:32px}.package-body .btn{margin-top:8px}.rate-preview{padding:16px;margin:22px 0;background:var(--cream);border-radius:14px}.rate-preview strong,.rate-preview span{display:block}.rate-preview span{font-size:.85rem;color:var(--muted)}.combo-note{margin-top:26px;padding:20px 24px;background:var(--green-950);color:#fff;border-radius:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.combo-note span{color:#bfd0c4;font-size:.9rem}.combo-note a{font-weight:800;color:#fff}.agenda-list{display:grid;gap:10px}.agenda-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e3ebe4;border-radius:14px;padding:18px 20px}.agenda-row strong,.agenda-row span{display:block}.agenda-row>div span{font-size:.85rem;color:var(--muted)}.article-card .date,.date{font-size:.78rem;color:var(--green-600);font-weight:800}.article-card h3{margin-top:8px}.form-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px}.form-card,.info-card,.contact-card{padding:30px}.form-card{border:1px solid #e3ebe4;border-radius:20px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:grid;gap:7px;font-weight:750;margin-bottom:16px}input,select,textarea{width:100%;padding:12px 14px;border:1px solid #cfdad1;border-radius:11px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 3px rgba(61,122,88,.12)}fieldset{border:0;padding:0;margin:18px 0}legend{font-weight:800;margin-bottom:10px}.check-card{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px;border:1px solid #dbe6dd;border-radius:13px;cursor:pointer}.check-card input{width:auto}.check-card strong,.check-card small{display:block}.check-card small{color:var(--muted)}.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px}.alert.error{background:#fff0f0;color:#9b2c2c}.success-box{max-width:760px;text-align:center;margin:60px auto;padding:60px 30px;border-radius:24px;background:var(--cream)}.success-box>strong{display:block;font-size:2rem;color:var(--green-800);margin:8px 0 24px}.detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.detail-hero{padding:80px 0;background:var(--cream)}.detail-grid>img{border-radius:28px;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}.detail-content{display:grid;grid-template-columns:1.5fr .9fr;gap:70px}.rate-box{padding:28px;border-radius:20px;background:var(--cream);height:max-content}.rate-box table{width:100%;border-collapse:collapse;margin-bottom:24px}.rate-box th,.rate-box td{padding:10px 0;border-bottom:1px solid #d7dfd8;text-align:left}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-grid img{aspect-ratio:1;object-fit:cover;border-radius:14px}.article-detail{padding:90px 0}.article-detail .container{max-width:900px}.article-detail h1{font-size:clamp(2.6rem,6vw,5rem);margin-top:14px}.article-detail .lead{font-size:1.2rem;max-width:760px}.featured{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:22px;margin:30px 0}.article-prose{font-size:1.08rem}.about-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:40px}.mission-card,.contact-card{padding:30px}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.contact-card span{color:var(--green-600);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.contact-card h2{font-size:1.5rem;margin-top:8px}