:root{
  --pine:#12352E; --pine-2:#1C4A41; --brass:#B8893B; --brass-2:#9A7130;
  --paper:#F3F5F4; --white:#FFFFFF; --line:#D5DDDA; --mute:#55655F; --ok:#1E7A50; --err:#B3261E;
  --serif:"Instrument Serif", Georgia, serif; --sans:"Inter Tight", system-ui, -apple-system, "Segoe UI", sans-serif;
  --wrap:1120px; --gut:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--pine);font-family:var(--sans);font-size:1.0625rem;line-height:1.6}
a{color:var(--pine-2)} a:hover{color:var(--brass-2)}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px;border-radius:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--pine);color:#fff;padding:8px 14px}
.skip:focus{left:8px}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.01em;margin:0 0 .45em}
h1{font-size:clamp(2.8rem,7.2vw,5.6rem)}
h2{font-size:clamp(2rem,4.2vw,3.1rem)}
h3{font-size:1.15rem;margin:0 0 .4em;font-weight:600}
p{margin:0 0 1em;max-width:64ch}
.lead{font-size:1.25rem;color:var(--mute);max-width:52ch}

.head{border-bottom:1px solid var(--line)}
.head .wrap{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:16px}
.mark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--pine);font-family:var(--serif);font-size:1.7rem;line-height:1}
.mark svg{width:34px;height:34px}
.head nav a{color:var(--pine);text-decoration:none;font-weight:500}

.hero{padding:clamp(56px,9vw,120px) 0 clamp(48px,7vw,88px)}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,5vw,72px);align-items:end}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}
.certificate{background:var(--pine);color:#E7EEEB;border-radius:6px;padding:28px;padding-right:56px;position:relative;box-shadow:inset 0 0 0 1px #2C5A50, inset 0 0 0 8px var(--pine), inset 0 0 0 9px #3B6A5F}
.certificate .cap{font-family:var(--serif);font-size:1.6rem;color:#fff;line-height:1.1;margin-bottom:14px}
.certificate dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:.95rem}
.certificate dt{color:#9FB7AF}
.certificate dd{margin:0;color:#fff}
.certificate .seal{position:absolute;right:-18px;top:-30px;width:76px;height:76px;border-radius:50%;background:var(--brass);display:grid;place-content:center;color:var(--pine);font-family:var(--serif);font-size:1.05rem;text-align:center;line-height:1;box-shadow:0 0 0 4px var(--paper)}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--pine);color:#fff!important;text-decoration:none;font:inherit;font-weight:600;padding:13px 24px;border-radius:4px;border:0;cursor:pointer}
.btn:hover{background:var(--pine-2)}
.btn.brass{background:var(--brass);color:var(--pine)!important}
.btn.brass:hover{background:var(--brass-2);color:#fff!important}

section{padding:clamp(48px,7vw,96px) 0}
.band{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--pine);margin-top:28px}
@media (max-width:820px){.three{grid-template-columns:1fr}}
.three article{padding:22px 24px 8px 0}
.three article+article{border-left:1px solid var(--line);padding-left:24px}
@media (max-width:820px){.three article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}}
.three .where{font-size:.9rem;color:var(--brass-2);font-weight:600;margin-bottom:6px}
.three p{color:var(--mute);font-size:1rem}
.notice{border-left:4px solid var(--brass);background:#FBF7EE;padding:16px 20px;margin-top:28px;max-width:760px}
.notice p{margin:0;font-size:.98rem}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.form{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:clamp(22px,3.5vw,32px)}
.form label{display:block;font-weight:600;font-size:.95rem;margin:0 0 6px}
.form label small{font-weight:400;color:var(--mute)}
.form .f{margin-bottom:16px}
.form input,.form select,.form textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:4px;background:var(--paper);color:var(--pine)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--pine);outline:none;background:#fff}
.form textarea{min-height:110px;resize:vertical}
.form .hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.form .consent{font-size:.88rem;color:var(--mute)}
.form-status{margin-top:12px;font-weight:600}
.form-status.ok{color:var(--ok)} .form-status.err{color:var(--err)}

.prose{max-width:740px}
.prose h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:1.4em}
.page-head{padding:56px 0 24px;border-bottom:1px solid var(--line)}

.foot{background:var(--pine);color:#B9CBC5;padding:40px 0;font-size:.94rem}
.foot a{color:#fff;text-decoration:none} .foot a:hover{text-decoration:underline}
.foot .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between}
.foot nav{display:flex;gap:20px}
@media (max-width:480px){.certificate .seal{right:-4px;width:66px;height:66px;font-size:.95rem}}
