@charset "UTF-8";
:root{--ink:#101c20;--text:#1a2b2f;--lime:#d9f477;--lime-dark:#3f5419;--muted:#586b6f;--paper:#f6f8f5;--line:#dce4de;--max:1280px;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #719332;outline-offset:5px}[hidden]{display:none!important}::selection{color:var(--ink);background:var(--lime)}.wrap{width:min(var(--max),88%);margin:auto}.section{padding:104px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em}.small{font-size:13px}.muted{color:var(--muted)}.section-dark{background:var(--ink);color:#f8fbf5}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}h1{font-size:clamp(44px,4.55vw,70px);line-height:1.075;letter-spacing:-.055em;margin:0 0 26px;font-weight:700}h2{font-size:clamp(32px,3.3vw,49px);line-height:1.13;margin:20px 0 0;font-weight:600}h3{font-size:25px;line-height:1.2;font-weight:600}em{font-style:normal;color:var(--lime)}.skip-link{position:absolute;top:0;left:20px;transform:translateY(-130%);z-index:20;background:var(--lime);color:var(--ink);padding:12px 20px}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:10;background:#f6f8f5f5;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{width:min(var(--max),88%);margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:30px}.brand{font-size:45px;letter-spacing:-3px;font-weight:800;line-height:1;display:inline-block}.brand span{color:#536f21}.header-inner nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:600}.header-inner nav>a:not(.nav-cta){padding:12px 0}.header-inner nav>a:hover{color:#536f21}.nav-cta{border:1px solid #2a3e40;padding:10px 20px;border-radius:99px}.menu-toggle{display:none}.hero{padding:35px 0 0;overflow:hidden}.hero-top{display:flex;justify-content:space-between;color:#aabbbc;gap:20px;font-size:12px}.hero-location{font-size:13px}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;padding:64px 0 62px}.hero-copy>p{font-size:18px;color:#b8c9cb;max-width:520px;line-height:1.65}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 20px}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:14px 23px;border-radius:99px;background:var(--lime);color:var(--ink);font-size:14px;line-height:1.4;font-weight:700;min-height:50px;transition:transform .2s,background .2s}.button:hover{background:#c9e764;transform:translateY(-2px)}.button-outline{background:transparent;border-color:#566669;color:#edf4ed}.button-outline:hover{background:#26373b}.hero-copy .hero-note{font-size:12px;color:#95aaac;margin-bottom:0}.hero-bottom{border-top:1px solid #33474b;padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#b4c3c3}.hero-bottom span:before{content:'+';display:inline-block;color:var(--lime);margin-right:11px}.workbench{background:#fbfcf8;color:var(--text);border:1px solid #506366;border-radius:14px;box-shadow:0 25px 65px #0005;transform:rotate(-1.5deg);transition:transform .3s}.workbench:hover{transform:rotate(0)}.workbench-top{display:flex;justify-content:space-between;align-items:center;padding:14px 19px;border-bottom:1px solid var(--line);gap:12px;font-size:9px;letter-spacing:.07em;color:#687a78}.window-marks{display:flex;gap:5px}.window-marks i{width:6px;height:6px;background:#bac7bf;border-radius:50%}.workbench-symbol{font-size:14px;font-weight:700}.workbench-content{padding:23px}.bench-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px}.pill{background:#e5f4bc;color:#43581d;padding:3px 9px;border-radius:40px;font-size:10px}.bench-kicker{font-weight:600}.bench-tabs{display:flex;gap:5px;margin:19px 0 23px;background:#edf1e9;border-radius:8px;padding:4px}.bench-tabs button{border:0;color:#596f6b;background:transparent;flex:1;font-size:12px;padding:9px 4px;border-radius:5px}.bench-tabs button[aria-pressed=true]{background:#fff;color:#1d352b;box-shadow:0 2px 5px #17382212;font-weight:700}.bench-title{display:flex;gap:13px;align-items:center;margin-bottom:21px}.app-monogram{font-size:24px;line-height:1;letter-spacing:-2px;background:#d9efac;border-radius:12px;width:49px;height:49px;display:grid;place-items:center;font-weight:800}.app-monogram.blue{background:#c9e6ed}.app-monogram.peach{background:#f4d7ba}.bench-title h2{font-size:23px;letter-spacing:-.03em;margin:0 0 2px}.bench-title p{font-size:12px;color:#627770;margin:0}.bench-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}.bench-metrics>div{background:#eff3eb;padding:13px;border-radius:9px}.bench-metrics span{font-size:10px;color:#657b70;display:block}.bench-metrics strong{font-size:12px;display:block;margin-top:5px}.feature-list>div{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #e4eae2;font-size:12px}.feature-icon{font-size:10px;color:#6f8568;background:#eef3e9;padding:3px 6px;border-radius:4px}.feature-kind{margin-left:auto;font-size:10px;color:#6b7f71}.bench-link{display:block;font-size:12px;font-weight:700;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.bench-caption{font-size:10px;color:#687b70;margin:17px 0 0}.bench-foot{display:flex;justify-content:space-between;gap:10px;font-size:9px;border-top:1px solid var(--line);padding:12px 20px;color:#677b70}.preview-panel+.preview-panel{margin-top:30px}.js .preview-panel+.preview-panel{margin-top:0}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:end;margin-bottom:42px}.section-heading>p{max-width:410px;color:var(--muted);margin:0 0 3px;font-size:17px}.section-heading .eyebrow,.about .eyebrow,.faq-section .eyebrow{color:#617968}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;position:relative;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}.service-card:hover{transform:translateY(-5px);border-color:#98ae7c}.service-card.featured{background:#eaf3da;border-color:#ccdfac}.service-symbol{background:#f0f4eb;color:#3c5b26;font-size:23px;letter-spacing:-1px;border-radius:12px;display:grid;place-items:center;width:52px;height:52px;font-weight:600}.featured .service-symbol{background:#d3e8af}.card-number{position:absolute;top:34px;right:28px;font-size:12px;color:#798f78}.service-card h3{font-size:29px;letter-spacing:-1px;margin:26px 0 15px;line-height:1.12}.service-card p{color:#596f68;font-size:15px;line-height:1.7}.service-card ul{list-style:none;padding:0;margin:5px 0 23px}.service-card li{font-size:13px;padding:9px 0;border-bottom:1px solid #dde7d7}.service-link{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px;margin-top:auto}.portfolio{background:#eaf0e9}.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.project-toolbar p{margin:0;color:#64796c}.project-filters{display:flex;gap:8px;flex-wrap:wrap}.project-filters button{border:1px solid #c6d4c6;border-radius:99px;font-size:13px;background:transparent;color:#52694f;padding:8px 16px}.project-filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}.project-card{border:1px solid #d6e0d3;background:#fafcf8;border-radius:var(--radius);overflow:hidden;scroll-margin-top:115px;transition:box-shadow .25s,transform .25s}.project-card:hover{box-shadow:0 12px 32px #12321f12;transform:translateY(-4px)}.project-visual{padding:22px;min-height:260px;display:flex;flex-direction:column;background:#cfe89e}.visual-top{display:flex;justify-content:space-between;gap:12px;font-size:9px;font-weight:700;letter-spacing:.06em;color:#334b2c}.visual-center{display:flex;align-items:center;gap:15px;margin:auto 0;padding:25px 0}.visual-monogram{font-size:90px;line-height:1;font-weight:800;letter-spacing:-8px;color:#25472c}.visual-monogram span{color:#fcfff0}.visual-center p{font-size:22px;letter-spacing:-.8px;line-height:1.15;margin:0;font-weight:500}.visual-pills{display:flex;flex-wrap:wrap;gap:5px}.visual-pills span{font-size:10px;border:1px solid #466c4e50;padding:3px 9px;border-radius:30px}.visual-soins{background:#bbdce5}.visual-soins .visual-top{color:#335264}.visual-soins .visual-monogram{color:#295469}.visual-soins .visual-pills span{border-color:#426b7b50}.visual-cafeteria{background:#f0d6b8}.visual-cafeteria .visual-top{color:#745438}.visual-cafeteria .visual-monogram{color:#785536}.project-content{padding:25px}.project-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:600;letter-spacing:.06em;color:#6b8069}.project-content h3{font-size:25px;margin:13px 0}.project-content>p{font-size:14px;color:#5b7067;line-height:1.7}.project-tags{display:flex;gap:6px;flex-wrap:wrap;margin:19px 0}.project-tags span{font-size:11px;border:1px solid #d5e1d1;padding:3px 9px;border-radius:5px;color:#61755c}details summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}details summary::-webkit-details-marker{display:none}details summary:after{content:'+';font-size:21px;font-weight:400;flex-shrink:0}details[open] summary:after{content:'−'}.project-content details{border-top:1px solid #dce6d7;padding-top:14px}.project-content summary{font-size:13px}.project-content details ul{font-size:13px;color:#536d5c;padding-left:18px}.project-content details li{margin:9px 0}.portfolio-note{font-size:12px;color:#617964;margin:22px 0 0}.portfolio-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 0 0;margin-top:36px;border-top:1px solid #cbd8c8}.portfolio-cta p{font-size:20px;line-height:1.5;letter-spacing:-.5px;margin:0;color:#5d725e}.portfolio-cta strong{color:var(--text);font-weight:600}.button-dark{background:var(--ink);color:var(--lime)}.button-dark:hover{background:#253b37}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:90px}.about h2{margin-bottom:28px}.about p{color:#61726c;max-width:565px;font-size:15px}.about .about-intro{font-size:20px;line-height:1.5;color:#253c33;max-width:440px}.about-values{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.about-values span{border:1px solid #d0ddcb;border-radius:99px;padding:6px 13px;font-size:12px;color:#516747}.process{background:#edf2e8;border-radius:var(--radius);padding:33px}.process ol{list-style:none;padding:0;margin:15px 0 0}.process li{display:flex;gap:22px;border-bottom:1px solid #d3decd;padding:25px 0}.process li:last-child{border:0;padding-bottom:0}.step-number{font-size:12px;background:#dcebc5;border-radius:8px;width:33px;height:33px;display:grid;place-items:center;flex-shrink:0;margin-top:1px;color:#4b6728}.process h3{font-size:22px;margin:3px 0 10px}.process p{font-size:14px;margin:0}.faq-section{padding-top:0}.faq-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:75px}.faq h2{margin-top:20px}.faq details{border-top:1px solid #d3dfce;padding:21px 0}.faq details:last-child{border-bottom:1px solid #d3dfce}.faq summary{font-size:15px;letter-spacing:-.2px}.faq details p{font-size:14px;color:#5c7364;margin:14px 28px 0 0}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:75px;align-items:start}.contact-copy h2{font-size:clamp(39px,3.7vw,54px);margin:20px 0 27px}.contact-copy>p{font-size:16px;color:#b4c6c3;max-width:390px}.email{font-size:25px;letter-spacing:-.7px;border-bottom:1px solid #5d786b;display:inline-block;margin:15px 0 36px}.email:hover{color:var(--lime)}.contact-reassurance{border-top:1px solid #374b44;padding-top:23px;max-width:370px}.contact-reassurance p{font-size:13px;color:#9bb2a6;margin-bottom:9px}.contact-card{border:1px solid #43584e;border-radius:var(--radius);padding:33px;background:#192b28}.contact-card>h3{font-size:25px;margin:0 0 7px}.form-intro{font-size:14px;color:#a6bcb0;margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;margin-bottom:20px;color:#dce8dd}input,select,textarea{display:block;width:100%;background:#223830;border:1px solid #4d6656;color:#f2f6ec;padding:12px 13px;border-radius:7px;font-size:16px;line-height:1.4;margin-top:7px}input::placeholder,textarea::placeholder{color:#a4b7a5}input:focus,select:focus,textarea:focus{outline:2px solid var(--lime);outline-offset:2px}textarea{resize:vertical;min-height:140px}.form-privacy{font-size:12px;color:#afc1b2;line-height:1.7;margin-bottom:22px}.contact-form>.button{width:100%}.contact-form>.small{font-size:11px;color:#a5b9a6;text-align:center;margin:12px 0 0}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.notice{border:1px solid #aacd75;color:#dfefca;padding:16px;border-radius:9px;margin:0 0 25px;font-size:14px}.notice.error{border-color:#dca18c;color:#ffc7b3}.legal-trigger{border:0;padding:0;background:none;color:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:4px}.footer-top{display:flex;align-items:center;gap:45px;padding:37px 0}.footer-top p{color:#63796a;font-size:13px;line-height:1.6;margin:0}.back-top{font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-left:auto}.footer-bottom{border-top:1px solid #d6e0d0;padding:20px 0;display:flex;gap:20px;justify-content:space-between;color:#6b7d68;font-size:11px}.footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}dialog{border:1px solid #c3d3b9;border-radius:16px;max-width:680px;width:90%;padding:36px;background:var(--paper);color:var(--text)}dialog h2{font-size:29px;margin:0 0 22px}dialog p{font-size:15px}dialog::backdrop{background:#0e2018bb;backdrop-filter:blur(4px)}.close{float:right;border:0;background:none;font-size:30px;line-height:1;margin:0 0 20px 20px;color:var(--text)}
@media(min-width:1500px){.hero-grid{gap:90px}.workbench{max-width:510px;margin-left:auto;width:100%}}@media(max-width:1080px){.wrap,.header-inner{width:90%}.hero-grid{gap:35px}.hero-actions{gap:9px}.hero-actions .button{font-size:13px;padding:12px 17px}.header-inner nav{gap:20px}.service-card{padding:25px}.service-card h3{font-size:26px}.project-grid{gap:15px}.project-visual{padding:18px;min-height:230px}.visual-center{gap:10px}.visual-monogram{font-size:68px;letter-spacing:-5px}.visual-center p{font-size:19px}.visual-top{font-size:8px}.project-content{padding:20px}.project-content h3{font-size:22px}.about-grid,.contact-grid,.faq-grid{gap:40px}.contact-card{padding:25px}.hero-bottom{font-size:11px}}
@media(max-width:760px){html{scroll-padding-top:95px}.section{padding:65px 0}.header-inner{min-height:76px;flex-wrap:wrap;gap:0}.brand{font-size:40px}.header-inner nav{width:100%;display:flex;flex-wrap:wrap;gap:8px 22px;padding:10px 0 20px;align-items:center}.js .header-inner nav{display:none}.js .header-inner nav.is-open{display:flex}.js .menu-toggle{display:flex;gap:12px;align-items:center;background:transparent;border:1px solid #c6d4c2;border-radius:99px;padding:7px 14px;font-size:13px;color:var(--text)}.header-inner .nav-cta{font-size:13px;padding:8px 12px}.hero{padding-top:27px}.hero-top{font-size:11px}.hero-location{display:none}.hero-grid{grid-template-columns:1fr;padding:40px 0;gap:35px}.hero-copy h1{font-size:clamp(42px,8vw,60px);max-width:600px}.hero-copy>p{font-size:16px;max-width:540px}.hero-actions .button{font-size:13px;padding:13px 18px}.hero-copy .hero-note{font-size:11px}.workbench{transform:none;max-width:490px;width:100%;margin:0 auto}.workbench-content{padding:20px}.workbench-top{padding:12px 17px}.bench-metrics strong{font-size:13px}.hero-bottom{flex-direction:column;gap:10px;padding:22px 0;font-size:12px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.section-heading>p{font-size:16px;max-width:540px}.section-heading h2{margin-top:15px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:27px}.service-card h3{font-size:30px}.service-card h3 br{display:none}.service-card p{max-width:550px}.service-card ul{margin-bottom:21px}.service-card li{font-size:14px}.service-link{font-size:15px}.project-grid{grid-template-columns:1fr;gap:24px}.project-visual{min-height:255px;padding:24px}.visual-top{font-size:10px}.visual-center{gap:20px}.visual-monogram{font-size:95px}.visual-center p{font-size:28px}.visual-pills span{font-size:12px}.project-content{padding:26px}.project-content h3{font-size:27px}.project-content>p{font-size:15px}.project-content summary{font-size:14px}.project-content details li{font-size:14px}.project-meta{font-size:11px}.project-tags span{font-size:12px}.project-toolbar{display:block}.project-filters{gap:7px}.project-filters button{font-size:12px;padding:8px 12px}.project-toolbar p{margin-top:12px;font-size:12px}.portfolio-note{font-size:12px}.portfolio-cta{align-items:start;flex-direction:column;gap:20px;margin-top:28px}.portfolio-cta p{font-size:19px}.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about p{font-size:16px}.about h2{margin-bottom:23px}.process{padding:28px}.about-values span{font-size:13px}.faq-section{padding-top:0}.faq-grid{gap:28px}.faq summary{font-size:16px}.faq details p{font-size:15px}.contact-copy h2{font-size:43px}.contact-copy>p{max-width:520px}.contact-reassurance{display:none}.email{margin:5px 0 0;font-size:24px}.contact-card{padding:25px}.contact-card h3{font-size:26px}.footer-top{flex-wrap:wrap;gap:20px}.footer-top p{font-size:12px}.back-top{margin-left:0;width:100%;font-size:13px}.footer-bottom{flex-direction:column;gap:15px;font-size:12px}.footer-bottom>div{gap:20px}.form-privacy{font-size:13px}dialog{padding:27px}dialog h2{font-size:26px}}
@media(max-width:380px){.form-row{grid-template-columns:1fr;gap:0}.hero-copy h1{font-size:39px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.bench-foot{flex-wrap:wrap}.bench-title h2{font-size:21px}.bench-heading{font-size:11px}.workbench-content{padding:16px}.visual-top{font-size:9px}.visual-center p{font-size:25px}.contact-copy h2{font-size:37px}.contact-card{padding:20px}.project-filters button{font-size:11px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.workbench{transform:none}}

.hero-grid>*,.section-heading>*,.about-grid>*,.contact-grid>*,.faq-grid>*,.form-row>*{min-width:0}input,select,textarea{min-width:0}h1,h2,h3,.email{overflow-wrap:anywhere}

/* Réalisation RAVO — Villas & Hôtels */
.visual-hotel{background:#244d46;color:#f1f5e8}.visual-hotel .visual-top{color:#c5ddd0}.visual-hotel .visual-monogram{color:#d9edb9}.visual-hotel .visual-monogram span{color:#8db8a0}.visual-hotel .visual-pills span{border-color:#a4c2ad70;color:#dceada}.visual-hotel .visual-center p{font-size:24px}.hotel-link{display:inline-block;margin-top:20px}.new-tab{font-size:11px;font-weight:400;white-space:nowrap}@media(min-width:761px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
