@layer base{:root{--color-ink:#111;--color-surface:#f3ece6;--color-paper:#fff;--color-accent:#f37a1f;--color-muted:#454545;--color-border:#333;--box-padding:.25rem .5rem;--box-border:1px dashed #333;--box-font-size:.875rem;--box-background-color:#fff9;--border-thin:1px solid;--shadow:.375rem .375rem 0 var(--color-ink);--popover-z:1000;--section-border:2px solid black}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts-manrope.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.sr-only{display:none}html{scroll-behavior:smooth;color:var(--color-ink);scrollbar-gutter:stable}body{background:var(--color-surface);min-width:100dvw;min-height:100dvh;color:var(--color-ink);font-family:Manrope,Arial,sans-serif;line-height:1.5}.section{gap:2rem;padding:3rem max(2rem,50% - 37rem)}button[type=submit]:not(:disabled){cursor:pointer}h1{margin-bottom:1.5rem;font-size:clamp(2rem,8vw - .5rem,4rem)}h2{margin-bottom:1.25rem;font-size:clamp(1.5rem,6vw - .375rem,3rem)}h3{margin-bottom:.75rem;font-size:clamp(1.25rem,.3125rem + 3vw,2rem)}p{margin-bottom:1rem}p,a,li{font-size:clamp(1rem,.6875rem + 1vw,1.25rem)}.big{font-size:clamp(1.25rem,.3125rem + 3vw,2rem)}.small{font-size:clamp(.75rem,.4375rem + 1vw,1rem)}a{color:var(--color-ink);text-decoration:none}button{color:currentColor}main{& .heading{text-align:center;border:2px solid var(--color-ink);background-color:var(--color-accent);box-shadow:var(--shadow);margin-top:2rem;padding-block:.5rem;padding-inline:1.5rem}& ul{margin-inline-start:2rem;margin-bottom:1rem}& p:has(+ul){margin-bottom:0}& .spec-needs{text-align:center;margin-bottom:2rem}}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.mobile-phone{z-index:10;width:3rem;height:3rem;color:var(--color-ink);border:.0625rem solid var(--color-ink);background:#cfc;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:1rem;left:1rem}.mobile-phone svg{fill:currentColor;width:1.25rem;height:1.25rem}@media (width<=47.99rem){.hero{min-height:auto;padding:2rem 1rem}.hero-card,.service>div{padding:1.5rem}.service{grid-template-columns:1fr;gap:1.5rem;padding:2rem 1rem}.service-terrassement,.service-assainissement,.service-verts{grid-template-areas:"heading""image""copy"}.service h2{padding:1rem}.service img{min-height:18rem}.contact-section{padding-inline:1rem}.project-cta{padding:3rem 1rem}.project-cta-contact{flex-direction:column;margin-block:1.5rem}.site-footer{grid-template-columns:1fr;padding:2rem 1rem}.footer-social h2{margin-bottom:1rem}.footer-legal{margin-top:2rem}.footer-brand img,.footer-brand p{justify-self:start}}@media (width>=81.25rem){.mobile-phone{visibility:hidden;display:none}}.shadow{box-shadow:var(--shadow)}a.callout-button,button.callout-button{background-color:var(--color-paper);border:2px solid #000;border-radius:2px;justify-content:center;gap:1rem;width:fit-content;padding-block:.5rem;padding-inline:1rem;transition:transform 50ms;display:flex;box-shadow:4px 4px #000;&:active,&:focus-visible{box-shadow:none;background-color:orange;transform:translate(4px,4px)}}}@layer admin,utilities;.box{padding:var(--box-padding);border:var(--box-border);font-size:var(--box-font-size);background-color:var(--box-background-color);justify-content:center;align-items:center;gap:1rem;width:fit-content;display:flex}.public-portfolio{overflow-wrap:anywhere;flex-direction:column;gap:2rem;max-width:74rem;margin-inline:auto;padding:clamp(1rem,3vw,2rem);display:flex}.portfolio-entry__footer{grid-area:cta;justify-content:center;margin-block:1rem 2rem;display:flex}.public-project{flex-direction:column;gap:.5rem;display:flex}.public-project__cover{background-color:var(--color-paper);border:1px solid #333;width:100%;padding:.5rem;& img{object-fit:contain}}.public-project__header{& h2{background-color:var(--color-paper);box-shadow:var(--shadow);border:2px solid #000;padding:.5rem 1rem}}.public-project__metadata{justify-content:center;gap:1rem;display:flex}.public-project__description{background-color:var(--color-paper);border:1px solid #333;padding:1rem}.public-project__gallery{margin-top:2rem}.public-project__gallery-elements{flex-flow:wrap;gap:1rem;display:flex}.public-project__gallery-element{background-color:var(--color-paper);border:1px solid #333;width:320px;height:200px;margin:auto;display:block;overflow:hidden;& figure{position:relative}& img{object-fit:contain;width:320px;height:200px}& figcaption{text-align:center;background-color:#fffc;border-top:1px solid #333;width:100%;padding:.25rem .5rem;font-style:italic;position:absolute;bottom:0}}.public-project__gallery-element:hover,.public-project__gallery-element:active,.public-project__gallery-element:focus-visible{transform:translate(-2px,-2px);box-shadow:2px 2px #000}.contact-form{margin:auto;flex-direction:column;justify-content:center;gap:1rem;width:100%;max-width:90%;margin-block:2rem;display:flex;& button{margin:auto}}.contact-form__field{flex-direction:column;gap:.25rem;display:flex;&:has(.contact-form__field-input[required],.contact-form__field-textarea[required]) .contact-form__field-label:after{content:"*";color:red;margin-left:.5rem;display:inline-block}}.contact-form__field-label{font-weight:700;display:block}.contact-form__field-input{border:1px solid #333;border-radius:4px;width:100%;padding:.5rem}.contact-form__field-textarea{border:1px solid #333;min-height:10rem;padding:.5rem}.public-list{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex;& article{border:2px solid #333;width:fit-content;height:fit-content;transition:transform 50ms}& article:hover,& article:focus-visible{transform:translateY(-4px)}& figure{width:320px;height:200px;padding:0;position:relative;& img{object-fit:cover;width:100%;height:100%}}& figcaption{text-align:center;background-color:var(--color-paper);margin-inline:.5rem;border:2px solid #000;width:calc(100% - 2rem);margin-left:1rem;padding:.25rem .5rem;font-size:1rem;font-weight:700;position:absolute;bottom:.5rem}}
