/* MOREAU LINK — premium institutional identity, derived from user-provided logo */
:root {
  --black:#0a100c; --black2:#121c14; --forest:#1a2a1e; --green:#97c767;
  --green-bright:#addb82; --green-dark:#47672d; --paper:#f7f8f3;
  --cream:#eeefe8; --white:#ffffff; --ink:#152018; --muted:#647267;
  --line:#dde3d8; --serif:Georgia, 'Times New Roman', serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--green);outline-offset:5px;border-radius:2px}
img{max-width:100%;height:auto}
svg{height:19px;width:19px;flex:none}
.container{width:min(100% - 72px,1240px);margin-inline:auto}
.skip-link{position:absolute;left:20px;top:-100px;z-index:1000;background:var(--green);color:var(--black);padding:12px 18px;font-weight:700}
.skip-link:focus{top:16px}
/* Header */
.site-header{background:var(--black);color:#f2f4ef;border-bottom:1px solid #283429;position:relative;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:96px}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand-mark{display:block;width:73px;height:53px;object-fit:contain}
.brand-type{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.brand-type strong{font-size:16px;font-weight:750;letter-spacing:.14em;line-height:1.14}
.brand-type>span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#9cafa0;line-height:1.5}
.main-nav{display:flex;align-items:center;gap:35px}
.main-nav a{font-size:12px;letter-spacing:.03em;font-weight:600;color:#c5cfc4;transition:color .2s}
.main-nav a:hover,.footer-links a:hover{color:var(--green)}
.header-contact{display:inline-flex;align-items:center;gap:14px;border:1px solid #4b5d48;border-radius:3px;padding:13px 17px;font-size:12px;font-weight:650;white-space:nowrap;transition:background .2s,border-color .2s}
.header-contact:hover{background:#223323;border-color:var(--green)}
.header-contact svg{width:15px;height:15px;color:var(--green)}
/* Shared headings */
h1,h2,h3,p{margin-top:0}
.eyebrow{display:inline-flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.19em;font-weight:750;font-size:10px;line-height:1.6}
.eyebrow-line{display:block;flex:0 0 auto;width:24px;height:1px;background:currentColor;opacity:.85}
.eyebrow-light{color:var(--green)}.eyebrow-dark{color:var(--green-dark)}
h1,h2{letter-spacing:-.055em;line-height:1.11;font-weight:610}
h1 em,h2 em{font-style:normal;font-family:var(--serif);font-weight:400;letter-spacing:-.055em}
/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse 720px 600px at 78% 49%,#19241b 0%,#0a100c 69%);color:white}
.hero::after{content:'';position:absolute;top:0;right:30%;height:100%;width:1px;background:linear-gradient(transparent,rgba(151,199,103,.07),transparent);pointer-events:none}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(370px,.84fr);gap:60px;align-items:center;padding-block:97px 100px}
.hero-copy{position:relative;z-index:2}
.hero h1{font-size:clamp(50px,5.2vw,79px);margin:34px 0 30px;max-width:840px}
.hero h1 em{display:inline-block;color:var(--green);white-space:normal}
.hero-lead{font-size:16px;line-height:1.9;color:#bdcabe;max-width:630px;margin-bottom:31px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}
.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:16px 23px;border-radius:3px;min-height:54px;font-size:12px;letter-spacing:.04em;font-weight:760;line-height:1.2;transition:transform .2s,background-color .2s,border-color .2s}
.button svg{transition:transform .2s}
.button:hover{transform:translateY(-2px)}.button:hover svg{transform:translateX(3px)}
.button-green{background:var(--green);color:var(--black)}.button-green:hover{background:#b4da91}
.text-link{display:inline-flex;align-items:center;gap:11px;font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px}
.text-link-light{color:#f0f4ef}.text-link-light:hover{color:var(--green)}
.hero-footnote{display:flex;align-items:flex-start;gap:16px;border-top:1px solid #2a3a2c;margin-top:78px;padding-top:23px;max-width:500px;font-size:11px;letter-spacing:.025em;color:#899c8d}
.hero-footnote-marker{font-weight:850;color:var(--green);letter-spacing:.1em;white-space:nowrap}
/* Brand artwork */
.hero-art{position:relative;z-index:1}
.art-inner{background:radial-gradient(circle at 50% 45%,#18281b 0%,#0d160f 47%,#090d0a 87%);position:relative;min-height:505px;overflow:hidden;border:1px solid #384b36;display:flex;flex-direction:column;justify-content:space-between}
.art-inner::before,.art-inner::after{content:'';position:absolute;z-index:1;width:32px;height:32px;border-color:var(--green);opacity:.55;pointer-events:none}
.art-inner::before{top:20px;left:20px;border-top:1px solid;border-left:1px solid}.art-inner::after{right:20px;bottom:20px;border-bottom:1px solid;border-right:1px solid}
.art-topline,.art-bottomline{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;color:#90a793;font-size:10px;font-weight:690;letter-spacing:.2em;padding:35px 39px}
.art-topline span:first-child{color:var(--green)}
.art-bottomline{padding-top:0;font-size:10px;line-height:1.9}.art-bottomline span:last-child{text-align:right}
.logo-stage{min-height:300px;display:flex;justify-content:center;align-items:center;position:relative;padding:15px 25px}
.logo-stage img{position:relative;z-index:2;width:min(100%,340px);filter:drop-shadow(0 7px 20px rgba(0,0,0,.1))}
.stage-halo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92%,390px);aspect-ratio:1;border:1px solid rgba(151,199,103,.15);border-radius:50%;box-shadow:0 0 0 42px rgba(151,199,103,.025),0 0 0 84px rgba(151,199,103,.015)}
.art-caption{display:flex;align-items:center;gap:15px;margin-top:20px;color:#98ac9b;font-size:10px;letter-spacing:.08em}
.caption-line{height:1px;width:32px;background:var(--green)}
/* Four fields band */
.expertise-bar{background:#1b291d;color:#f4f5ef;border-top:1px solid #2e422e}
.expertise-bar-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.expertise-bar-grid span{display:flex;gap:15px;align-items:center;padding:23px 14px 23px 0;font-size:11px;letter-spacing:.04em;font-weight:650}
.expertise-bar-grid span+span{padding-left:24px;border-left:1px solid #385039}
.expertise-bar-grid b{font-size:10px;color:var(--green);letter-spacing:.07em}
/* Expertise cards */
.section{padding:120px 0}
.expertise-section{background:var(--paper)}
.section-intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:50px}
.section-intro-grid h2,.approach-content h2{font-size:clamp(39px,4.2vw,61px);margin:24px 0 0}
.section-intro-grid h2 em,.approach-content h2 em{color:#58793f}
.intro-copy{font-size:15px;line-height:1.9;color:var(--muted);max-width:450px;margin:0 0 6px}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.service-card{position:relative;border:1px solid var(--line);background:#fff;padding:37px 40px 42px;min-height:296px;transition:border-color .18s,transform .18s}
.service-card:hover{border-color:#9ab38b;transform:translateY(-3px)}
.service-card:first-child{background:#e9eee4;border-color:#d9e3d1}
.service-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.service-num{font-size:10px;color:#567644;font-weight:800;letter-spacing:.15em}
.service-arrow{font-size:20px;color:#739a59;line-height:1}
.service-card h3{font-size:clamp(23px,2.2vw,30px);font-weight:620;line-height:1.26;letter-spacing:-.035em;margin:29px 0 14px}
.service-card p{max-width:450px;font-size:13.5px;line-height:1.85;color:#657268;margin:0}
/* About */
.approach-section{background:#e9eee4}
.approach-grid{display:grid;grid-template-columns:minmax(300px,.9fr) 1.1fr;gap:90px;align-items:center}
.approach-graphic{min-height:568px;background:var(--forest);color:white;position:relative;overflow:hidden;padding:39px 43px;display:flex;flex-direction:column;justify-content:space-between}
.approach-graphic::before{content:'';position:absolute;inset:14px;border:1px solid rgba(151,199,103,.16)}
.approach-graphic-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.17em;color:#abc2a9;position:relative;z-index:2}
.approach-accent{position:absolute;right:-17px;top:50%;transform:translateY(-53%);font-family:var(--serif);font-size:clamp(260px,29vw,410px);font-style:italic;line-height:1;font-weight:400;color:#304b32;opacity:.78;user-select:none}
.approach-graphic>p{font-size:clamp(30px,3.1vw,44px);font-weight:570;line-height:1.24;letter-spacing:-.06em;position:relative;z-index:2;align-self:flex-start;margin:0}
.approach-graphic p em{font-family:var(--serif);font-weight:400;color:var(--green);font-style:normal}
.approach-bottom{font-size:9px;letter-spacing:.16em;color:#a9bda9;position:relative;z-index:2}
.approach-content h2{margin-bottom:28px}
.approach-content>p{font-size:14px;line-height:1.9;color:#566659}
.approach-content>p.approach-lead{font-size:15px;color:#36483a}
.principles{margin-top:32px;border-top:1px solid #cbd8c6}
.principles>div{display:flex;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid #cbd8c6}
.principles span{font-size:10px;letter-spacing:.09em;color:#5b8350;font-weight:800;width:25px}
.principles strong{font-size:13px;font-weight:670}
/* Contact */
.contact-section{padding:115px 0;background:var(--paper)}
.contact-panel{border:1px solid #2e482e;background:#111d14;color:white;padding:70px 7.5%;display:grid;grid-template-columns:1.18fr .82fr;gap:70px;align-items:center;position:relative;overflow:hidden}
.contact-panel:after{content:'';position:absolute;top:-100px;right:-120px;width:330px;height:330px;border:1px solid #315333;border-radius:50%;box-shadow:0 0 0 45px rgba(151,199,103,.028),0 0 0 92px rgba(151,199,103,.02);pointer-events:none}
.contact-panel h2{font-size:clamp(38px,4.1vw,58px);margin:23px 0 22px}
.contact-panel h2 em{color:var(--green)}
.contact-panel p{max-width:550px;color:#b7c8b6;font-size:14px;line-height:1.9;margin-bottom:0}
.contact-info{position:relative;z-index:2;display:flex;flex-direction:column;gap:27px;align-items:start}
.contact-info .button{min-width:215px}
.contact-detail{display:flex;flex-direction:column;gap:3px}
.contact-detail span{color:#8fa38f;font-weight:750;font-size:9px;letter-spacing:.19em}
.contact-detail a{font-size:15px;font-weight:600;color:#f3f6ef;overflow-wrap:anywhere}
.contact-detail a:hover{color:var(--green)}
/* Footer */
.site-footer{background:#080d09;color:#c0ccc0;padding:64px 0 27px;border-top:1px solid #293d2b}
.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;padding-bottom:54px}
.footer-identity img{display:block;width:170px;height:auto;object-fit:contain;margin-top:-18px;margin-bottom:6px}
.footer-identity p{font-size:12px;line-height:1.85;color:#96a596;max-width:370px;margin:0}
.footer-label{display:block;font-size:10px;color:var(--green);text-transform:uppercase;font-weight:750;letter-spacing:.16em;margin-bottom:17px}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-links a{font-size:12px;color:#c1cec1;transition:color .2s;overflow-wrap:anywhere}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #28362a;padding-top:23px;font-size:10px;color:#829385;letter-spacing:.035em}
/* Legal pages */
.inner-hero{background:radial-gradient(ellipse at 82% 70%,#1b2d1d 0%,#0a100c 60%);color:#fff;padding:90px 0 94px;border-bottom:1px solid #394639}
.inner-hero h1{font-size:clamp(51px,5.2vw,73px);margin:25px 0 16px}
.inner-hero h1 em{color:var(--green);font-style:normal;font-family:var(--serif);font-weight:400}
.inner-hero p{font-size:15px;color:#b8c9ba;line-height:1.85;max-width:660px;margin:0}
.legal-section{background:var(--paper);padding:78px 0 115px}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:85px;align-items:start}
.legal-sidebar{position:sticky;top:35px;border-top:2px solid var(--green);padding-top:22px}
.legal-sidebar-label{letter-spacing:.15em;font-size:13px;font-weight:800}
.legal-sidebar p{color:var(--muted);font-size:12px;line-height:1.8;padding-bottom:18px;margin-top:10px}
.legal-sidebar-rule{height:1px;background:var(--line);margin-bottom:22px}
.legal-sidebar a{color:#52763d;font-weight:700;display:flex;gap:8px;align-items:center;font-size:12px}
.legal-sidebar a svg{transform:rotate(180deg);width:15px}
.legal-content{min-width:0}
.legal-block{padding:0 0 34px;margin-bottom:35px;border-bottom:1px solid var(--line)}
.legal-block:last-child{border-bottom:0;margin-bottom:0}
.legal-block h2{font-size:clamp(22px,2.2vw,28px);letter-spacing:-.04em;line-height:1.25;font-weight:630;margin-bottom:23px}
.legal-block p,.legal-block li{font-size:13.5px;color:#526054;line-height:1.9}
.legal-block dl{margin:0;display:grid;grid-template-columns:190px minmax(0,1fr);gap:11px 21px}
.legal-block dt{font-size:12px;font-weight:750;color:#243c28}
.legal-block dd{margin:0;color:#536456;font-size:12.5px;overflow-wrap:anywhere;line-height:1.7}
.legal-block a{color:#4b7135;text-decoration:underline;text-underline-offset:4px}
.legal-block a:hover{color:#253b1d}
.legal-block .meta{font-size:11px;color:#879687}
@media (max-width:1130px){.main-nav{gap:19px}.hero-layout{gap:28px;grid-template-columns:minmax(0,1.08fr) minmax(315px,.92fr)}.hero h1{font-size:clamp(48px,5.1vw,70px)}.approach-grid{gap:54px}.contact-panel{gap:35px}}
@media (max-width:940px){.container{width:min(100% - 52px,1240px)}.site-header .header-inner{gap:15px}.brand-mark{width:60px;height:45px}.brand-type strong{font-size:13px}.brand-type>span{font-size:8px}.main-nav{gap:14px}.main-nav a{font-size:11px}.header-contact{font-size:11px;padding:10px 12px}.hero-layout{grid-template-columns:1fr;padding-top:82px;gap:57px}.hero-art{max-width:580px;width:100%}.hero h1{max-width:720px}.art-inner{min-height:440px}.hero-footnote{margin-top:43px}.approach-grid{grid-template-columns:1fr 1fr;gap:35px}.approach-graphic{min-height:530px;padding:30px}.legal-layout{grid-template-columns:190px minmax(0,1fr);gap:43px}}
@media (max-width:700px){.container{width:min(100% - 38px,1240px)}.header-inner{flex-wrap:wrap;padding:13px 0 10px;min-height:auto;gap:6px 14px}.brand-mark{width:54px;height:43px}.brand-type strong{font-size:13px}.header-contact{margin-left:auto}.main-nav{order:3;flex:1 0 100%;justify-content:space-between;padding:12px 0 3px;border-top:1px solid #263528;margin-top:9px}.main-nav a{font-size:11px}.hero-layout{padding-block:63px 68px;gap:44px}.hero h1{font-size:clamp(43px,9vw,65px);margin:26px 0 23px}.hero-lead{font-size:14px;line-height:1.9}.hero-actions{gap:22px}.hero-footnote{margin-top:42px}.art-inner{min-height:400px}.logo-stage{min-height:235px}.art-topline,.art-bottomline{padding:24px}.expertise-bar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expertise-bar-grid span{padding:17px 0;gap:10px;font-size:10px}.expertise-bar-grid span+span{padding-left:16px}.expertise-bar-grid span:nth-child(3){border-left:0;padding-left:0;border-top:1px solid #385039}.expertise-bar-grid span:nth-child(4){border-top:1px solid #385039}.section{padding:78px 0}.section-intro-grid{grid-template-columns:1fr;gap:15px;margin-bottom:29px}.section-intro-grid h2,.approach-content h2{font-size:clamp(37px,8vw,53px)}.intro-copy{font-size:14px}.services-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:auto;padding:27px}.service-card h3{font-size:26px;margin:22px 0 12px}.approach-grid{grid-template-columns:1fr;gap:38px}.approach-graphic{min-height:390px;padding:29px}.approach-accent{font-size:310px}.approach-graphic>p{font-size:38px}.contact-section{padding:76px 0}.contact-panel{grid-template-columns:1fr;gap:29px;padding:40px 29px}.contact-panel h2{font-size:clamp(36px,7vw,50px)}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-identity{grid-column:1/-1}.footer-identity img{width:140px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}.legal-section{padding:53px 0 80px}.legal-layout{grid-template-columns:1fr;gap:33px}.legal-sidebar{position:static;border-top:1px solid var(--line);padding-top:19px}.legal-sidebar p{padding-bottom:0}.legal-sidebar-rule{display:none}.inner-hero{padding:67px 0 76px}.legal-block dl{grid-template-columns:1fr;gap:5px}.legal-block dd{margin-bottom:11px}.legal-block h2{font-size:23px}}
@media (max-width:390px){.header-contact{padding:9px 9px;gap:4px;font-size:10px}.header-contact svg{width:13px}.brand{gap:3px}.brand-mark{width:49px}.brand-type strong{font-size:11px}.brand-type>span{letter-spacing:.08em;font-size:8px}.hero h1{font-size:42px}.art-topline,.art-bottomline{padding:18px}.expertise-bar-grid span{font-size:9px}.footer-main{gap:22px}.service-card h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
