@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#f4f4ef;--ink:#242824;--muted:#62665e;--line:#d6d8cf;--orange:#d94d1b;--dark:#232823}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--orange);outline-offset:6px}a:hover{color:var(--orange)}.header{height:106px;display:flex;align-items:center;justify-content:space-between;margin:0 5%;border-bottom:1px solid var(--line);gap:32px}.brand{display:flex;gap:14px;align-items:center;font-weight:800;letter-spacing:.07em;font-size:19px;line-height:1.3}.brand small{display:block;font-size:10px;letter-spacing:.18em;font-weight:500;margin-top:6px}.brand-mark{font-size:51px;letter-spacing:-8px;line-height:1;font-family:Arial,sans-serif;padding-right:10px}.brand-mark span{color:var(--orange)}nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:550}.nav-cta{border-bottom:1px solid var(--ink);padding:10px 0}.nav-cta span{margin-left:22px}.hero{padding:68px 5% 0;display:grid;grid-template-columns:1.02fr 1fr;gap:24px 44px;max-width:1800px;margin:auto}.hero-copy{padding-top:10px;padding-bottom:20px}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:650;margin:0 0 30px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}h1{font-size:clamp(44px,4.6vw,78px);line-height:1.13;font-weight:500;letter-spacing:-.055em;margin-bottom:28px}em{font-style:normal;color:var(--orange)}.intro{max-width:440px;color:var(--muted);font-size:18px;line-height:1.7;margin-bottom:32px}.button{display:inline-flex;align-items:center;gap:35px;padding:16px 22px;font-size:14px;font-weight:500}.dark{background:var(--ink);color:white}.dark:hover{background:var(--orange);color:white}.hero-note{display:flex;align-items:center;gap:16px;margin-top:47px;font-size:13px;line-height:1.6}.hero-note p{margin:0}.note-line{height:39px;width:3px;background:var(--orange)}.hero-visual{position:relative;background:#292d2a;min-height:490px;overflow:hidden}.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.image-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:16px;color:#fff;background:linear-gradient(transparent,#0009);padding:70px 22px 21px;font-size:10px;letter-spacing:.1em}.hero-bottom{grid-column:1/-1;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:19px 0 26px;margin-top:12px;font-size:12px;letter-spacing:.06em}.hero-bottom a{letter-spacing:0;font-size:14px}.hero-bottom a span{margin-left:28px}.section{padding:100px 5%;scroll-margin-top:10px}.section-top{display:grid;grid-template-columns:1fr 2.05fr;gap:40px;margin-bottom:54px}.section-top .eyebrow{padding-top:9px}.section-top h2{font-size:clamp(32px,3vw,48px);font-weight:500;line-height:1.22;letter-spacing:-.04em;margin-bottom:20px}.section-top p:not(.eyebrow){max-width:560px;color:var(--muted);margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:30px 34px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:background .2s}.service:hover{background:#fff}.number{font-size:13px;color:var(--orange);font-weight:600;display:block;margin-bottom:25px}.service h3{font-size:23px;font-weight:550;line-height:1.35;letter-spacing:-.025em;margin-bottom:20px}.service p{font-size:15px;color:var(--muted);line-height:1.75;margin-bottom:28px;max-width:340px}.tag{font-size:10px;letter-spacing:.12em;margin-top:auto;font-weight:600}.approach{background:var(--dark);color:var(--paper)}.approach .eyebrow{color:#ff9a69}.approach .section-top p:not(.eyebrow){color:#bec5b9}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:65px}.steps article{border-top:1px solid #60675c;padding-top:25px}.steps span{color:#ff9a69;font-size:12px;letter-spacing:.09em}.steps h3{font-weight:500;font-size:25px;line-height:1.4;margin:25px 0 18px;letter-spacing:-.02em}.steps p{color:#bec5b9;font-size:15px;max-width:330px}.method-foot{display:flex;justify-content:space-between;border-top:1px solid #51594d;margin-top:50px;padding-top:30px;gap:30px}.method-foot span{font-size:11px;letter-spacing:.1em}.method-foot p{font-size:14px;color:#bec5b9;margin:0}.position{display:grid;grid-template-columns:1fr 1.1fr;gap:20px 100px}.position .eyebrow{grid-column:1/-1;margin-bottom:12px}.position h2{font-size:clamp(34px,3.5vw,56px);line-height:1.2;letter-spacing:-.04em;font-weight:500;margin:0}.position h2 span{color:var(--muted)}.position>p:last-child{max-width:485px;align-self:center;color:var(--muted);font-size:18px;margin:0}.contact{margin:0 5%;padding:64px 50px;background:#e7e8df;display:grid;grid-template-columns:1.7fr 1fr;gap:40px}.contact h2{font-size:clamp(32px,3.4vw,51px);font-weight:500;line-height:1.2;letter-spacing:-.04em;margin-bottom:25px}.contact>div>p:last-child{color:var(--muted);margin:0}.contact-person{border-left:1px solid #c3c7b9;padding-left:40px;align-self:center}.contact-monogram{font-size:40px;color:var(--orange);font-weight:700;letter-spacing:-4px}.contact-person h3{font-size:21px;margin:12px 0 5px}.contact-person p{font-size:14px;color:var(--muted);margin-bottom:22px}.contact-pending{font-size:13px;border-top:1px solid #c3c7b9;padding-top:15px;display:block;color:var(--muted)}footer{padding:55px 5% 25px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}footer .footer-brand{font-weight:750;font-size:16px;letter-spacing:.04em}footer .footer-brand span{display:block;font-weight:400;font-size:12px;letter-spacing:0;margin-top:5px;color:var(--muted)}footer>p,footer>a:not(.footer-brand){font-size:13px;margin:0}footer small{flex-basis:100%;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:20px}@media(min-width:1600px){.header,.section,footer{padding-left:max(5%,calc((100vw - 1620px)/2));padding-right:max(5%,calc((100vw - 1620px)/2))}.header{padding:0}}@media(max-width:1000px){.header{height:90px}nav{gap:20px}.hero{gap:30px;padding-top:45px}.hero-visual{min-height:430px}h1{font-size:48px}.hero-copy .eyebrow{font-size:10px}.service{padding:25px}.section{padding-top:75px;padding-bottom:75px}.section-top{grid-template-columns:1fr 2.3fr}.position{gap:25px 45px}.contact{padding:45px 30px}.contact-person{padding-left:25px}.image-caption span:last-child{display:none}}@media(max-width:700px){html{scroll-padding-top:20px}.header{height:auto;min-height:88px;flex-wrap:wrap;padding:15px 0;gap:15px}.brand{font-size:16px}.brand-mark{font-size:43px}.brand small{font-size:9px}nav{justify-content:space-between;width:100%;gap:12px;font-size:12px}.nav-cta span{margin-left:8px}.hero{grid-template-columns:1fr;padding-top:38px;gap:25px}.hero-copy .eyebrow{font-size:11px;max-width:300px}h1{font-size:clamp(40px,10.5vw,62px)}.intro{font-size:17px}.hero-note{margin-top:30px}.hero-visual{min-height:350px;aspect-ratio:1.2}.hero-bottom{margin:0;gap:20px;align-items:center}.hero-bottom>span{font-size:10px;max-width:130px}.hero-bottom a{font-size:12px}.hero-bottom a span{margin-left:10px}.section{padding-top:60px;padding-bottom:60px}.section-top{grid-template-columns:1fr;gap:8px;margin-bottom:32px}.section-top .eyebrow{margin-bottom:16px}.section-top h2{font-size:34px}.services{grid-template-columns:1fr}.service{padding:28px}.service h3 br{display:none}.service h3{font-size:23px}.service p{max-width:none}.number{margin-bottom:12px}.service .tag{font-size:11px}.steps{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps h3{margin:15px 0;font-size:25px}.steps p{max-width:none}.method-foot{flex-direction:column;margin-top:30px;gap:20px}.position{grid-template-columns:1fr;gap:22px}.position h2{font-size:39px}.position>p:last-child{font-size:16px}.contact{grid-template-columns:1fr;padding:38px 24px}.contact h2{font-size:34px}.contact-person{border-left:0;border-top:1px solid #c3c7b9;padding:22px 0 0}.contact-monogram{display:none}.contact-person h3{margin-top:0}.contact p br{display:none}footer{align-items:flex-start}footer>p{flex-basis:100%}footer small{line-height:1.7}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Eco Conseil Consulting identity, contact and project portfolio. */
.header{height:160px}.brand{flex-shrink:0}.site-logo{display:block;width:154px;height:154px;object-fit:contain;mix-blend-mode:multiply}.footer-logo{display:block;width:140px;height:140px;object-fit:contain;mix-blend-mode:multiply}nav a[aria-current="page"]{color:var(--orange);text-decoration:underline;text-underline-offset:7px}.contact-links{border-top:1px solid #c3c7b9;padding-top:16px;display:flex;flex-direction:column;gap:12px}.contact-links a{font-size:16px;overflow-wrap:anywhere;display:block}.contact-links a:first-child{font-weight:600}.contact-links a span{margin-left:8px}.projects-intro{padding-bottom:45px}.projects-intro .intro{max-width:660px;margin-bottom:0}.projects-empty{margin:0 5% 85px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:55px 0 60px}.projects-empty h2{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.3;letter-spacing:-.035em;margin:18px 0}.projects-empty p{max-width:590px;color:var(--muted);margin-bottom:30px}.projects-empty .eyebrow{display:block}footer{padding-top:30px}@media(max-width:1000px){nav{gap:18px;font-size:13px}}@media(max-width:700px){.header{height:auto;justify-content:center;padding:0 0 18px;gap:0}.site-logo{width:145px;height:145px}nav{flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:14px}nav .nav-cta{flex-basis:100%;text-align:center;border-bottom:0;padding-bottom:0}.contact-links a{font-size:16px}.projects-empty{margin-bottom:55px;padding:35px 0}.projects-intro h1{font-size:clamp(40px,10.5vw,62px)}}
/* Real project stories and supplied photography. */
.project-collection{margin:0 5% 80px}.project-case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:60px;border-top:1px solid var(--line);padding:62px 0;align-items:start}.project-case:last-child{border-bottom:1px solid var(--line)}.project-story .eyebrow{font-size:12px;line-height:1.7;margin-bottom:22px}.project-story h2{font-size:clamp(32px,3.1vw,46px);font-weight:500;letter-spacing:-.04em;line-height:1.2;margin-bottom:24px}.project-story p{font-size:16px;color:var(--muted);line-height:1.75}.project-story .project-lead{font-size:19px;line-height:1.5;color:var(--ink);margin-bottom:24px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:26px 0 0}.project-tags li{border:1px solid var(--line);padding:5px 10px;font-size:12px}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-gallery figure{margin:0;min-width:0}.project-gallery a{display:block;background:#e7e8df}.project-gallery img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}.project-gallery figcaption{font-size:13px;color:var(--muted);line-height:1.5;padding-top:12px}.landscape-gallery{grid-template-columns:1fr;gap:22px}.landscape-gallery img{aspect-ratio:4/3}.project-gallery a:hover{outline:1px solid var(--orange);outline-offset:3px}@media(min-width:1300px){.landscape-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-self:center}.project-case:has(.landscape-gallery){grid-template-columns:minmax(0,1fr) minmax(0,1.8fr)}}@media(max-width:1000px){.project-case{grid-template-columns:1fr;gap:30px;padding:45px 0}.project-story{max-width:760px}.project-gallery{max-width:800px;width:100%}.landscape-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.project-collection{margin-bottom:50px}.project-story h2{font-size:35px}.project-gallery{gap:14px}.project-gallery figcaption{font-size:12px}.landscape-gallery{grid-template-columns:1fr}.project-tags li{font-size:12px}}
