html{scroll-padding-top:80px}
.scroll{display:block;position:relative;top:auto;left:auto;width:0;height:0;scroll-margin-top:90px}
.nav a{text-transform:uppercase}
.lang a,.m-lang a{cursor:pointer;opacity:.55;transition:opacity .3s;color:inherit}
.lang a.active,.m-lang a.active{opacity:1;text-decoration:underline;text-underline-offset:5px}
.lang a:hover,.m-lang a:hover{opacity:.85}

/* CF7 normalization */
.wpcf7-form p{margin:0 0 20px}
.wpcf7-form label{display:block}
.wpcf7-form .wpcf7-submit{width:100%;cursor:pointer;font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:16px 22px;border-radius:1px;margin-top:6px;transition:.3s;background:var(--milk);color:var(--graphite);border:1px solid var(--milk)}
.wpcf7-form .wpcf7-submit:hover{background:#fff;transform:translateY(-2px)}
.wpcf7-spinner{margin:10px auto 0;display:block}
.wpcf7-not-valid-tip{color:#f0a99c;font-size:12px;margin-top:6px;font-weight:400}
.wpcf7 form .wpcf7-response-output{border:1px solid rgba(255,255,255,.3);color:#cdd2cf;font-size:13px;line-height:1.6;padding:12px 16px;margin:6px 0 0;border-radius:2px}
.wpcf7 form.sent .wpcf7-response-output{display:none!important}
.fm textarea,.form textarea{min-height:96px}

/* form success modal */
.fmodal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(28,31,32,.6);backdrop-filter:blur(4px)}
.fmodal[hidden]{display:none}
.fmodal__box{background:var(--milk);max-width:440px;width:100%;border-radius:4px;padding:clamp(34px,5vw,52px);text-align:center;position:relative;box-shadow:0 40px 90px -30px rgba(47,52,54,.6);animation:fmIn .28s ease}
@keyframes fmIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.fmodal__close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--muted)}
.fmodal__icon{width:64px;height:64px;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 22px}
.fmodal__icon svg{width:30px;height:30px}
.fmodal__box h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,32px);margin-bottom:12px}
.fmodal__box p{color:var(--muted);line-height:1.8;margin-bottom:26px}
.fmodal__ok{margin:0 auto}
body.fmodal-open{overflow:hidden}

body.tpl-flow{display:flex;flex-direction:column;min-height:100vh}
body.tpl-flow .site-main{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;padding:140px 0 90px}
.tpl-inner{max-width:820px;margin:0 auto;width:100%;padding:0 clamp(22px,5vw,72px)}
.err404{text-align:center}
.err404 .code{font-family:var(--serif);font-weight:500;font-size:clamp(96px,20vw,210px);line-height:.85;color:var(--sage);opacity:.4;margin-bottom:8px}
.err404 .eyebrow{display:block;margin-bottom:16px}
.err404 h1{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,48px);line-height:1.1;margin-bottom:18px}
.err404 p{color:var(--muted);line-height:1.9;max-width:540px;margin:0 auto 30px}
.err404 .links{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center;margin-top:40px}
.err404 .links a{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:6px;transition:.25s}
.err404 .links a:hover,.err404 .links a.active{color:var(--graphite);border-color:var(--sage)}
.page-text h1{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,52px);line-height:1.1;margin-bottom:26px}
.page-text .rich{line-height:1.9;color:#3a403f}
.page-text .rich p{margin-bottom:18px}
.page-text .rich h2{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.6vw,32px);margin:32px 0 14px}
.page-text .rich h3{font-family:var(--serif);font-weight:500;font-size:clamp(19px,2.2vw,24px);margin:26px 0 12px}
.page-text .rich a{color:var(--sage);border-bottom:1px solid var(--border)}
.page-text .rich ul,.page-text .rich ol{margin:0 0 18px 22px}
.page-text .rich li{margin-bottom:8px}
.page-text .rich img{margin:18px 0;height:auto}
.page-text .rich blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.4vw,28px);line-height:1.4;color:var(--sage);border-left:2px solid var(--sage);padding-left:24px;margin:24px 0}
.admin-bar .site-header{top:32px}
@media screen and (max-width:782px){.admin-bar .site-header{top:46px}}
.admin-bar .mobile-nav{padding-top:122px}
