:root{--hero:url(img/hero.jpg)}
:root{--bg:#fff9f4;--card:#fff;--ink:#2b3a45;--blue:#3e6a86;--tan:#a98f6f;--line:#e6d9c9}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Serif',Georgia,serif;line-height:1.6}
a{color:var(--blue)}
nav{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:center;padding:12px;z-index:5}
nav a{text-decoration:none;font-weight:700;font-size:.95rem}
.hero{text-align:center;padding:64px 20px 48px}
.hero small{letter-spacing:.2em;color:var(--tan);text-transform:uppercase}
.hero h1{font-size:clamp(2.2rem,7vw,4rem);color:var(--blue);margin:.2em 0;font-style:italic}
.hero p{max-width:560px;margin:0 auto 24px;color:var(--tan);font-size:1.1rem}
.orn{height:20px;width:300px;max-width:90%;margin:14px auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='20' viewBox='0 0 300 20'%3E%3Cline x1='4' y1='10' x2='120' y2='10' stroke='%23a98f6f' stroke-width='2'/%3E%3Cline x1='180' y1='10' x2='296' y2='10' stroke='%23a98f6f' stroke-width='2'/%3E%3Ccircle cx='4' cy='10' r='3' fill='%233e6a86'/%3E%3Ccircle cx='296' cy='10' r='3' fill='%233e6a86'/%3E%3Ccircle cx='130' cy='10' r='5' fill='%23a98f6f'/%3E%3Ccircle cx='170' cy='10' r='5' fill='%23a98f6f'/%3E%3Cg fill='%233e6a86'%3E%3Cellipse cx='150' cy='10' rx='3' ry='9'/%3E%3Cellipse cx='150' cy='10' rx='3' ry='9' transform='rotate%2860 150 10%29'/%3E%3Cellipse cx='150' cy='10' rx='3' ry='9' transform='rotate%28120 150 10%29'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}.logo{width:min(480px,90%);height:auto}
.btn{display:inline-block;padding:12px 24px;border-radius:30px;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;margin:4px}
.btn.alt{background:none;border:2px solid var(--blue);color:var(--blue)}
section{max-width:980px;margin:0 auto;padding:40px 20px}
h2{text-align:center;color:var(--tan);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center}
.card h3{margin:0 0 6px;color:var(--blue)}.card p{margin:0;font-size:.95rem}
.tabs{position:relative;display:flex;gap:8px;overflow-x:auto;padding:16px 0;flex:1;min-width:0;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tw{display:flex;align-items:center;gap:8px}.tw .ar{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--blue);font-size:1.5rem;line-height:36px;text-align:center;text-decoration:none;padding:0}.tw .ar:hover{background:var(--blue);color:#fff}
.tabs a{flex:none;font-size:.9rem;padding:8px 16px;border-radius:20px;border:1px solid var(--line);background:var(--card);text-decoration:none}
.tabs a.on{background:var(--blue);color:#fff}
form{display:flex;gap:8px}
input[type=search]{flex:1;font:inherit;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
button{font:inherit;padding:0 20px;border-radius:12px;border:0;background:var(--blue);color:#fff;cursor:pointer}
.sub{color:var(--tan);font-weight:700;margin:22px 0 4px;text-transform:uppercase;letter-spacing:.06em}
.cat{margin:18px 0 0;color:var(--blue)}.pic{display:block;margin:10px auto 6px;max-width:min(340px,80%);height:auto}.mw{display:flex;gap:28px;align-items:flex-start}.ml{flex:1;min-width:0}.mw .pic{flex:0 0 38%;max-width:38%;margin:10px 0 0;position:sticky;top:80px}@media(max-width:700px){.mw{flex-direction:column;align-items:stretch}.mw .pic{max-width:min(340px,80%);margin:10px auto;position:static}}
.it{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.it b{color:var(--blue)}
footer{text-align:center;padding:30px 20px;color:var(--tan);font-size:.85rem}

:root{--dk:#2b3a45}
.top{background:var(--dk);color:#fff;font-size:.8rem;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px clamp(16px,5vw,60px)}.top a{color:#fff;text-decoration:none}
.nb{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px clamp(16px,5vw,60px)}
.nb img{height:46px;width:auto;display:block}
.nv{display:flex;gap:22px;flex-wrap:wrap}.nv a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.nv a:hover{color:var(--tan)}
.hero2{min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:60px 20px;background:linear-gradient(rgba(35,50,60,.6),rgba(35,50,60,.6)),var(--hero) center/cover}
.hero2 h1,.tt,.callb h2,.ft h3,.sc span{font-family:Cinzel,'Noto Serif',serif;font-weight:400;text-transform:uppercase}
.hero2 h1{font-size:clamp(2.2rem,8vw,4.6rem);margin:0;letter-spacing:.04em}
.hero2 p{letter-spacing:.25em;text-transform:uppercase;font-size:.85rem;margin:14px 0 26px}
.hero2 .btn,.ft .btn{background:var(--tan);color:#fff}
.tt{display:inline-block;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:8px 28px;color:var(--ink);margin:6px 0 0;letter-spacing:.06em;font-size:1.6rem}
.sp{max-width:1100px;margin:0 auto;padding:70px 20px;text-align:center}.sp small{display:block;color:var(--tan);font-style:italic}
.cards4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:36px}
.sc{position:relative;aspect-ratio:2/3;background:var(--card);border:3px solid var(--tan);overflow:hidden;text-decoration:none}
.sc img{width:100%;height:100%;object-fit:contain;padding:12px 12px 52px;transition:transform .3s}.sc:hover img{transform:scale(1.05)}
.sc span{position:absolute;left:0;right:0;bottom:0;background:rgba(62,106,134,.92);color:#fff;letter-spacing:.1em;padding:12px;text-align:center}
.vis{padding:90px 20px;background:linear-gradient(rgba(35,50,60,.5),rgba(35,50,60,.5)),var(--hero) center 80%/cover}
.vc{max-width:560px;margin:0 auto;background:#fff;padding:36px 30px;text-align:center}.vc p{margin:16px 0 0}
.callb{background:var(--dk);color:#fff;text-align:center;padding:50px 20px}.callb h2{color:#fff;margin:0;font-size:clamp(1.3rem,4vw,2rem);letter-spacing:.04em}.callb a{color:#fff;text-decoration:none}
.ft{background:var(--dk);color:#fff}.fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:1100px;margin:0 auto;padding:50px 20px;text-align:center;gap:30px}
.ft h3{color:var(--tan);margin:0 0 14px}.ft p{margin:6px 0}.ft a{color:#fff}.ft .btn.alt{background:none;border:2px solid #fff}
.cp{border-top:1px solid rgba(255,255,255,.15);text-align:center;padding:16px;font-size:.85rem}

.pb{padding:80px 20px;text-align:center;color:#fff;background:linear-gradient(rgba(35,50,60,.65),rgba(35,50,60,.65)),var(--hero) center/cover}
.pb h1{font-family:Cinzel,'Noto Serif',serif;font-weight:400;text-transform:uppercase;margin:0;font-size:clamp(1.8rem,6vw,3rem);letter-spacing:.05em}
.nv a.on{color:var(--tan);border-bottom:2px solid var(--tan)}
.hm{max-width:1100px;margin:0 auto;padding:70px 20px;text-align:center}.hm small{display:block;color:var(--tan);font-style:italic}
.hg{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px 40px;margin-top:36px;text-align:left}
.hi{display:flex;gap:18px;align-items:flex-start}
.hi img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:2px solid var(--tan);flex:none;background:var(--bg)}
.hi h3{margin:0 0 6px;font-family:Cinzel,'Noto Serif',serif;font-weight:400;text-transform:uppercase;color:var(--blue);border-bottom:1px dotted var(--tan);padding-bottom:4px}
.hi ul{list-style:none;margin:0;padding:0;font-size:.92rem}.hi li{display:flex;justify-content:space-between;gap:10px;padding:2px 0}.hi li b{color:var(--blue)}
.gl{max-width:1100px;margin:0 auto;padding:50px 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.gl figure{margin:0;background:var(--bg);border:3px solid var(--tan)}.gl img{width:100%;aspect-ratio:1;object-fit:contain;padding:10px;display:block}
.gl figcaption{background:var(--blue);color:#fff;padding:8px;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;text-align:center}
.cf{display:grid;gap:12px;text-align:left;max-width:560px;margin:20px auto 0}.cf input,.cf textarea{font:inherit;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);width:100%}.cf textarea{min-height:130px;resize:vertical}.cf button{padding:12px 24px;justify-self:start;font-weight:700}.cf label{font-size:.9rem;color:var(--tan);font-weight:700}.hp{position:absolute;left:-9999px}.ok{color:#2e7d32;font-weight:700}.er{color:#b3261e;font-weight:700}
.ab{max-width:1000px;margin:0 auto;padding:60px 20px;display:flex;gap:40px;align-items:center}.ab>img{flex:0 0 40%;max-width:40%;height:auto}.ab small{display:block;color:var(--tan);font-style:italic}.ab p{text-align:left}@media(max-width:700px){.ab{flex-direction:column}.ab>img{max-width:80%}}
.map{width:100%;height:340px;border:0;margin-top:24px}.ct{max-width:980px;margin:0 auto;padding:50px 20px;text-align:center}
