/* MEF-WEB-003 V1.2. Central rose terracotta tokens; stable asset path retained. Institutional logo untouched. */
:root{
  --ink:#201a2a;--muted:#6f667a;--primary:#a65560;--primary-hover:#904a54;
  --link:#904a54;--copper-light:#c89383;--rose:#b76e73;
  --pink:var(--link);--pink-light:#faf1f0;--paper:#fcfaf8;--warm:#faf1f0;
  --lavender:#faf1f0;--line:#eadfe2;--ui-line:#aa6874;--focus:#904a54;
  --radius:22px;--header-height:140px;
}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
body{background:#fff;text-rendering:optimizeLegibility}
a{color:var(--link)}
a,button,input,select,textarea,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--focus);outline-offset:4px;
}
button,input,select,textarea{scroll-margin-block:calc(var(--header-height) + 24px) 100px}
.container{max-width:1240px}
.staging-bar{background:var(--paper);color:#6f667a;border-bottom:1px solid #eee5e8}
.staging-bar a{color:#6f667a}
.brand-sector{color:var(--link);font-weight:650;letter-spacing:.2em}
.site-header{background:#fffffff5;border-color:#eee5e8;box-shadow:0 5px 28px #733b4703}
.site-header .nav-cta{border-color:var(--ui-line);transition:border-color .2s,background .2s}
.site-header .nav-cta:hover{background:var(--paper);border-color:var(--link)}
.menu-toggle{border-color:var(--ui-line);border-radius:12px}
.button,.wp-block-button__link{
  background:var(--primary);border-color:var(--primary);color:#fff;
  box-shadow:0 3px 10px #904a540a;transition:transform .18s,background .18s,box-shadow .18s;
}
.button:hover,.wp-block-button__link:hover{background:var(--primary-hover);color:#fff;box-shadow:0 7px 20px #904a5415;transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button.secondary{background:#fff;color:var(--ink);border-color:var(--ui-line);box-shadow:none}
.button.secondary:hover{color:var(--link);border-color:var(--link);background:var(--paper)}
.text-link{gap:15px}
.text-link:hover{text-decoration:underline;text-underline-offset:6px}
.eyebrow{color:var(--link);font-size:12px;letter-spacing:.14em}
.hero{padding-block:clamp(50px,5vw,86px);background:#fff}
.hero-grid{gap:clamp(32px,5vw,70px)}
.hero h1{letter-spacing:-.06em}
.hero h1 em{color:var(--rose)}
.hero .hero-lead,.page-intro{max-width:70ch}
.conversation-art{
  background:radial-gradient(ellipse at 45% 42%,#c8938314,transparent 62%),linear-gradient(145deg,#fcfaf8,#faf1f0 75%,#fff);
  border:1px solid #eee5e8;box-shadow:inset 0 1px 0 #fff;
}
.conversation-art::before{
  content:'';position:absolute;inset:4%;border-radius:28px;pointer-events:none;z-index:-1;
  background:repeating-radial-gradient(ellipse at 18% 100%,transparent 0 32px,#904a5408 33px 34px,transparent 35px 68px);
}
.art-grid{background-image:linear-gradient(#904a5406 1px,transparent 1px),linear-gradient(90deg,#904a5406 1px,transparent 1px);background-size:44px 44px}
.art-circle{border-color:#dfc4cb;box-shadow:0 0 0 42px #ffffff66,0 0 0 43px #ebdce1}
.art-word{color:#b76e7320}
.art-badge{background:#fffffff0;border-color:#eadfe2;color:#6f667a}
.dialogue-card{border-color:#eadfe2;box-shadow:0 20px 50px #733b470c}
.dialogue-card.two{background:var(--primary);color:#fff;border-color:var(--primary)}
.dialogue-card.two small{color:#fff}
.dialogue-card.one{transform:rotate(-2deg)}
.dialogue-card.two{transform:rotate(2deg)}
.art-caption{text-align:end}
.path-panel,.course-card,.portal-cards>article{border-color:#e9dce1;box-shadow:0 1px 0 #fff}
.path-panel.pink{background:#fcf6f7}
.path-panel h3{letter-spacing:-.04em}
.language-tile:hover,.language-switch a:hover,.language-switch a[aria-current]{background:var(--paper);color:var(--link)}
.language-code,.tag{background:var(--paper);color:var(--link)}
.course-card:hover{border-color:#bc8d98;box-shadow:0 12px 32px #733b470a}
.practice-promo{background:linear-gradient(120deg,#fcfaf8,#faf1f0);border-color:#e9dce1}
.practice-preview{border-color:#e9dce1;box-shadow:0 20px 40px #733b4708}
.sample-choice.good{background:#faf1f0;border-color:var(--primary)}
.quality-links a:after{content:none}
.quality-links a{color:var(--ink)}
.quality-links a:hover{color:var(--link)}
.quality-visual{background:var(--paper);border-color:#e9dce1}
.cta-panel{background:var(--pink-light);border:1px solid #eadfe2}
.site-footer{background:var(--paper);border-color:#eadfe2}
.footer-columns a:hover,.footer-legal a:hover{color:var(--link);text-decoration:underline}
.footer-quality img{mix-blend-mode:normal}
.guide-launcher{border-color:var(--ui-line);color:var(--link);box-shadow:0 5px 24px #733b4710}
.guide-launcher:hover{background:var(--paper)}
.guide-dialog{max-height:calc(var(--visual-viewport-height,100dvh) - 32px)}
.guide-choices button,.guide-close{border-color:var(--ui-line)}
.guide-choice:hover{border-color:var(--link);background:var(--paper)}
.guide-dialog::backdrop{background:#201a2a77}
.guide-human{margin-block:26px 18px;padding-block-start:22px;border-top:1px solid #ddc7ce}
.guide-human>p:first-child{font-weight:600;color:var(--ink);margin-bottom:14px}
.guide-human .small-note{color:var(--muted);font-size:13px;line-height:1.65;margin-top:16px}
.field input,.field textarea,.field select{border:1px solid var(--ui-line);background:#fff;border-radius:11px;color:var(--ink);max-width:100%}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--link)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--link)}
.field [aria-invalid=true]{border:2px solid #a5163e}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}
.privacy-field input{accent-color:var(--primary)}
.form-notice{background:var(--paper);border:1px solid #eadfe2;color:var(--muted)}
.form-success{background:#f4f7f0}
.mef-contact-page .page-heading{padding-top:12px;padding-bottom:40px}
.mef-contact-page .page-heading h1{font-size:clamp(2.6rem,5.2vw,4.9rem);max-width:1000px;letter-spacing:-.055em}
.mef-contact-page .page-intro{max-width:790px;font-size:clamp(1.1rem,1.7vw,1.3rem)}
.contact-direct-access{margin-block:22px 0}.contact-direct-access a{max-width:100%;text-align:start}
#contact-form{scroll-margin-top:calc(var(--header-height) + 20px)}
.contact-intro{max-width:1100px;margin-block:18px 36px}
.contact-intro h2{max-width:35ch;font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:18px}
.contact-intro p{color:var(--muted);max-width:70ch}
.contact-form-section>p{max-width:70ch}
.contact-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:36px 64px;counter-reset:contact-path}
.contact-path{
  min-width:0;display:flex;flex-direction:column;align-items:start;position:relative;
  border:1px solid #e9dce1;border-radius:22px;padding:clamp(24px,3vw,36px);background:#fff;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.contact-path:before{counter-increment:contact-path;content:'0' counter(contact-path);color:var(--link);font-size:12px;font-weight:650;letter-spacing:.1em;margin-bottom:26px}
.contact-path:nth-child(2){background:#fcfaf8}
.contact-path:nth-child(3){background:#fcf6f7}
.contact-path:hover,.contact-path:focus-within{border-color:#bc8d98;box-shadow:0 12px 28px #733b4707;transform:translateY(-2px)}
.contact-path h2,.contact-path h3{font-size:clamp(1.45rem,2.4vw,1.9rem);letter-spacing:-.035em;margin-bottom:16px}
.contact-path p{color:var(--muted);font-size:16px;line-height:1.7;max-width:54ch;flex-grow:1}
.contact-path a{font-size:14px;line-height:1.5;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.contact-path .button{gap:12px;text-align:start;padding:12px 19px}
.mef-contact-page .form-panel{max-width:900px;border-top:1px solid #e9dce1;padding-top:42px}
.mef-contact-page .form-panel>h2{font-size:clamp(2rem,3.5vw,3rem)}
.contact-level-note{padding:17px 20px;border-inline-start:2px solid var(--primary);background:var(--paper);color:var(--muted);font-size:15px;margin-bottom:26px}
.contact-specialist-links,.contact-support-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-block:30px}
.contact-specialist-links a,.contact-support-links a{min-height:44px;display:inline-flex;align-items:center}
.mef-contact-page .mef-form{scroll-margin-top:calc(var(--header-height) + 20px)}
.mef-contact-page .form-notice{font-size:12px;max-width:75ch}
body .mef-games{--game-accent:var(--primary);--game-soft:var(--pink-light);--game-line:var(--ui-line)}
body .mef-games .mef-games__button:not(.mef-games__button--primary):not(:disabled):hover{background:var(--pink-light);border-color:var(--link);color:var(--ink)}
body .mef-games .mef-games__option:hover{background:var(--pink-light);border-color:var(--link)}
body .mef-games [tabindex="-1"]:focus{outline-color:var(--focus)}
body .mef-games .mef-games__button--primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}
body .mef-games :focus-visible,body .mef-games .mef-games__option:has(input:focus-visible),body .mef-puzzles :focus-visible,body .mef-puzzles .mef-puzzles__cell:focus-within{outline-color:var(--focus)}
body .mef-puzzles{--puzzle-accent:var(--primary);--puzzle-border:var(--ui-line)}
body .mef-puzzles .mef-puzzles__primary{background:var(--primary);border-color:var(--primary);color:#fff}
body .mef-puzzles .mef-puzzles__primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}
body .mef-puzzles__notice{border-inline-start-color:var(--primary)}
body .mef-puzzles__cell--active{background:var(--pink-light);border-color:var(--primary)}
body .mef-puzzles__clues button[aria-pressed=true]{border-color:var(--primary);background:var(--pink-light);box-shadow:inset 3px 0 var(--primary)}
body .mef-puzzles button:hover{background:var(--pink-light);border-color:var(--link)}
.footer-social{display:flex;gap:18px;flex-wrap:wrap;margin-block:20px 0}
.footer-social a{min-height:44px;display:inline-flex;gap:9px;align-items:center;font-size:13px;color:var(--link);text-decoration:none}
.footer-social a:hover{text-decoration:underline}
.footer-social svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}
@media(min-width:981px){.site-header nav{min-width:0;flex-wrap:wrap;justify-content:flex-end}}
@media(min-width:1920px){
 .hero{padding-block:94px}.page-heading{padding-top:12px}
 .home-content .container,.site-header .container,.mef-contact-page .page-heading.container,.mef-contact-page .page-content.container{width:min(1500px,calc(100% - 96px));max-width:1500px}
 .hero-grid{gap:clamp(64px,4.5vw,110px)}.hero .conversation-art{min-height:510px}
 .contact-intro{max-width:1200px}.contact-paths{gap:24px;max-width:1200px}
}
@media(max-width:980px){
 .site-header nav{max-height:var(--menu-available-height,calc(var(--visual-viewport-height,100dvh) - var(--header-height) - 16px));overscroll-behavior:contain}
 .contact-paths{gap:16px}.contact-path{padding:27px}.contact-path h3{font-size:24px}
 .form-interaction-active .guide-launcher{visibility:hidden}
}
@media(max-width:720px){
 .hero{padding-top:42px}.hero h1{font-size:clamp(3rem,12vw,4.5rem)}
 .hero .hero-lead{font-size:18px}.international-hero h1{font-size:clamp(2.2rem,8.7vw,3.6rem)}
 .mef-contact-page .contact-direct-access{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
 .mef-contact-page .contact-direct-access:not(:has(.guide-launcher))::after{content:'';display:block;height:44px;flex:none}
 .mef-contact-page .contact-direct-access .guide-launcher{position:static;inset:auto;inset-inline:auto;z-index:auto;width:auto;height:auto;min-height:44px;border-radius:999px;padding:10px 14px;font-size:13px;justify-content:center;max-width:100%}
 .mef-contact-page .contact-direct-access .guide-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;white-space:normal}
 .mef-contact-page .page-heading{padding-top:0;padding-bottom:25px}
 .mef-contact-page .page-heading h1{font-size:clamp(2.45rem,10vw,3.4rem)}
 .mef-contact-page .page-intro{font-size:18px;line-height:1.65}
 .contact-paths{grid-template-columns:1fr;margin-block:22px 30px;gap:12px}
 .contact-path{padding:22px}.contact-path:before{margin-bottom:14px}.contact-path h2,.contact-path h3{margin-bottom:12px}
 .contact-path p{font-size:16px}.contact-path .button{width:auto;font-size:14px;text-align:start}
 .mef-contact-page .form-panel{padding-top:30px}.contact-intro{margin-top:8px}
 .contact-intro h2{font-size:29px}.contact-intro{margin-bottom:26px}.contact-specialist-links,.contact-support-links{gap:8px 20px}
 .hero .conversation-art{display:flex;flex-direction:column;gap:20px;padding:58px 18px 24px;min-height:0}
 .hero .conversation-art .dialogue-card{position:relative;inset:auto;max-width:100%;width:fit-content;margin:0;padding:17px 19px}
 .hero .conversation-art .dialogue-card.one{align-self:flex-start;transform:rotate(-1deg)}
 .hero .conversation-art .dialogue-card.two{align-self:flex-end;transform:rotate(1deg)}
 .hero .conversation-art .dialogue-card.three{align-self:stretch;width:auto;padding:15px 18px;transform:none}
 .hero .conversation-art .dialogue-card.three strong{font-size:15px}
 .guide-launcher{inset-inline-end:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:48px;height:48px;min-height:48px;border-radius:50%;padding:0;justify-content:center}
 .guide-launcher .guide-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
 .guide-launcher>span[aria-hidden]{font-size:19px}
 .site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
 .mef-contact-page .form-panel .button{font-size:15px}
}
@media(max-width:359px){.staging-bar{padding-inline:12px}.nav-wrap{padding-inline:14px}.brand-sector{font-size:9px}.container{width:calc(100% - 28px)}.contact-path{padding:22px}.hero h1{font-size:2.85rem}}
html[dir=rtl] .contact-path{text-align:start}
html[dir=rtl] .contact-path:before{letter-spacing:0}
@media(prefers-reduced-motion:no-preference){
 .motion-allowed .is-in-view{animation:mef-quiet-arrival .6s cubic-bezier(.2,.7,.3,1) 1}
 .motion-allowed .conversation-art.is-in-view::before{animation:mef-wave-arrival 1.6s ease-out 1}
 @keyframes mef-quiet-arrival{from{transform:translateY(6px)}to{transform:translateY(0)}}
 @keyframes mef-wave-arrival{from{transform:translateY(8px)}to{transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}
 .button:hover,.course-card:hover,.contact-path:hover,.contact-path:focus-within{transform:none}
}
@media(prefers-contrast:more){.contact-path,.course-card,.path-panel,.guide-launcher{border-color:var(--ui-line)}.text-link,.footer-columns a{text-decoration:underline}}
@media(forced-colors:active){.conversation-art::before,.art-grid,.art-circle,.art-word{display:none}.button,.contact-path,.guide-launcher{border:1px solid ButtonText}}
/* Reserve the asynchronous games surface before its module runs. A minimum,
   rather than a fixed height, keeps reflow and text enlargement unrestricted. */
[data-mef-games]{display:flow-root;min-block-size:640px}
@media print{.contact-path{break-inside:avoid;box-shadow:none}.contact-paths{display:block}.contact-path{margin-block:15px}.conversation-art::before{display:none}}

body .mef-puzzles .mef-puzzles__primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}
