@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#121b27;--night:#111824;--blue:#192535;--paper:#f9f8f5;--cream:#efede6;--line:#dedfd9;--muted:#64707a;--lime:#d8fa66;--white:#fff;--orange:#f1bca5;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}button{cursor:pointer}.shell{width:min(100% - 72px,1320px);margin:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;left:-100%;top:0;background:#fff;z-index:1000;padding:1rem}.skip:focus{left:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.052em}h1{font-size:clamp(3.35rem,6.35vw,7.25rem);line-height:1.055}h2{font-size:clamp(2.65rem,5vw,5.5rem);line-height:1.11}h3{font-size:clamp(1.25rem,1.8vw,1.7rem);line-height:1.18}em{font-style:normal;color:#8eac49}p{line-height:1.73}.eyebrow{display:inline-block;font-size:11px;letter-spacing:.19em;font-weight:800;text-transform:uppercase}.site-header{height:88px;background:#fff;border-bottom:1px solid #edf0ec;position:sticky;top:0;z-index:100}.header-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand-icon{background:var(--night);color:var(--lime);width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:900;letter-spacing:-.1em;position:relative}.brand-icon span{position:absolute;font-size:16px;right:4px;top:2px}.brand-word{font-family:Manrope,sans-serif;font-size:18px;font-weight:900;line-height:1;letter-spacing:-.045em}.brand-word small{display:block;margin-top:4px;letter-spacing:.31em;font-size:10px}.site-header nav{display:flex;align-items:center;gap:clamp(9px,1.4vw,24px)}.site-header nav>a{font-size:12px;font-weight:800;white-space:nowrap;transition:color .2s}.site-header nav>a:hover,.site-header nav>a.is-active{color:#7a9532}.site-header nav .nav-contact{margin-left:7px;padding:13px 16px;background:var(--night);border-radius:100px;color:#fff}.site-header nav .nav-contact:hover{color:var(--lime)}.nav-contact span{color:var(--lime);margin-left:9px}.menu-toggle{display:none;background:transparent;border:0;padding:10px}.menu-toggle span{display:block;width:26px;height:2px;background:#111;margin:5px}.btn{min-height:49px;display:inline-flex;gap:25px;align-items:center;justify-content:space-between;border-radius:100px;font-weight:800;font-size:13px;letter-spacing:-.01em;padding:16px 22px;border:1px solid transparent;transition:transform .2s,background .2s;white-space:nowrap}.btn:hover{transform:translateY(-3px)}.btn-lime{background:var(--lime);color:var(--night)}.btn-outline{border-color:#68717a;color:#fff}.btn-outline-dark{border-color:#bbc0c4;color:var(--night)}.btn-dark{background:var(--night);color:#fff}.btn-light{background:#fff;color:var(--night)}.button-row{display:flex;gap:12px;flex-wrap:wrap}.text-link{display:inline-flex;gap:26px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:13px;font-weight:800}.text-link span{font-size:20px}.home-hero{background:var(--night);color:#fff;overflow:hidden}.hero-grid{min-height:655px;display:grid;grid-template-columns:1.2fr .8fr;gap:0;align-items:center}.hero-copy{padding:86px 35px 72px 0;position:relative;z-index:2}.hero-copy .eyebrow{color:var(--lime)}.hero-copy h1{margin:25px 0;font-size:clamp(3.45rem,5.3vw,6.8rem)}.hero-copy em{color:var(--lime)}.outline-word{color:transparent;-webkit-text-stroke:1px #e9eee4}.hero-copy>p{font-size:clamp(15px,1.35vw,19px);max-width:620px;color:#c7ced5;line-height:1.8;margin-bottom:30px}.hero-meta{display:flex;flex-wrap:wrap;gap:40px;margin-top:68px;color:#aeb8c3;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.hero-meta span{display:grid;gap:5px}.hero-meta b{color:var(--lime);font-size:22px;letter-spacing:-.05em}.hero-scene{min-height:560px;align-self:stretch;position:relative;display:flex;align-items:center;justify-content:center}.hero-scene:before{content:'';position:absolute;width:680px;height:680px;border-radius:100%;background:radial-gradient(circle,#384f4e 0%,#152b32 47%,transparent 68%);left:-65px;top:0}.hero-orbit{border:1px solid #58666a;border-radius:50%;position:absolute;inset:48px -80px 30px -80px;transform:rotate(-30deg)}.orbit-b{inset:110px -135px 80px -115px;transform:rotate(43deg)}.hero-photo-frame{height:470px;width:310px;position:relative;z-index:2;transform:rotate(7deg);border:9px solid #f7f6ee;border-radius:154px 154px 120px 120px;box-shadow:0 30px 80px #0008;overflow:hidden}.hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:top}.photo-label{position:absolute;bottom:24px;left:18px;font-size:10px;letter-spacing:.1em;background:var(--lime);padding:9px 14px;color:var(--night);font-weight:900;border-radius:99px}.scene-sticker{position:absolute;z-index:3;left:-7%;bottom:80px;border-radius:50%;height:158px;width:158px;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-11deg);font-size:19px;line-height:1.15;font-weight:900;color:var(--night);background:var(--lime)}.scene-sticker span{position:absolute;top:15px;font-size:22px}.scene-caption{position:absolute;right:-37px;bottom:85px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.24em;color:#9aa4b0}.marquee{background:var(--lime);color:var(--night);padding:18px 0;overflow:hidden}.marquee div{min-width:max-content;text-align:center;font-size:13px;font-weight:900;letter-spacing:.14em;word-spacing:16px}.marquee span{margin:0 20px}.section{padding:112px 0}.section-light{background:var(--paper)}.section-dark{background:var(--night);color:#fff}.section-cream{background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:52px}.section-head h2{margin:18px 0 0}.section-head-side{width:270px;flex-shrink:0;color:var(--muted);font-size:14px}.section-dark .section-head-side{color:#a7b1bb}.section-head-side p{margin:0 0 19px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-tile{background:#fff;border:1px solid #e3e5e2;min-height:350px;padding:31px;display:flex;flex-direction:column;border-radius:15px;transition:transform .25s,background .25s}.service-tile:hover{transform:translateY(-7px);background:#f7faee}.service-no{font-size:10px;font-weight:800;letter-spacing:.14em;color:#849091}.service-icon{font-size:50px;line-height:1;margin:47px 0 24px}.service-tile h3{font-size:24px;min-height:58px;margin-bottom:9px}.service-tile p{font-size:13px;color:#667179;line-height:1.75}.tile-foot{border-top:1px solid #e1e5e0;margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;color:#7b8588;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.tile-foot b{color:var(--night);font-size:18px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:33px 19px}.project-card{display:block;min-width:0}.project-graphic{height:310px;overflow:hidden;border-radius:16px;background:#d4ddcf;position:relative;isolation:isolate}.project-card:nth-child(4n + 2) .project-graphic{background:#c2cbd7}.project-card:nth-child(4n + 3) .project-graphic{background:#e9c4b6}.project-card:nth-child(4n + 4) .project-graphic{background:#c1c5a8}.project-ghost{position:absolute;top:20px;left:30px;font-size:clamp(95px,14vw,185px);font-family:Manrope;font-weight:900;letter-spacing:-.15em;color:#ffffff70;z-index:-1}.project-art{position:absolute;inset:12% 21%;border-radius:35% 35% 8% 8%;transform:rotate(-13deg);background:#344d50;box-shadow:35px 28px 0 #9dac7c}.art-1{background:#1b2b41;transform:rotate(9deg);border-radius:18px 95px 18px 95px;box-shadow:-28px 30px 0 #7293a4}.art-2{background:#8f453f;transform:rotate(-8deg);border-radius:130px 20px 20px 20px;box-shadow:38px -17px 0 #e1a98a}.art-3{background:#56633b;transform:rotate(13deg);border-radius:25px 100px 25px 100px;box-shadow:-34px -12px 0 #a0a87b}.art-dot{position:absolute;left:20%;top:16%;width:30%;aspect-ratio:1;background:var(--lime);border-radius:50%}.art-line{position:absolute;right:-20%;bottom:19%;width:90%;height:3px;background:#fff;transform:rotate(-26deg)}.project-open{position:absolute;right:18px;top:18px;background:#fff;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:var(--night);font-size:20px;z-index:3}.project-info{padding:18px 2px;display:grid;grid-template-columns:1fr auto;gap:0 10px;align-items:center}.project-info>span:first-child{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.65;grid-column:1/-1}.project-info h3{margin:7px 0 0;font-size:27px}.project-view{font-size:12px;opacity:.75}.project-card:hover .project-art{transform:rotate(0) scale(1.05);transition:transform .35s}.home-manifesto{padding:112px 0;background:var(--lime)}.manifesto-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:12%;align-items:end}.manifesto-grid h2{margin:25px 0 30px}.manifesto-grid em{color:#52652c}.manifesto-grid>p{font-size:18px;line-height:1.65}.talent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.mini-photo{aspect-ratio:3/4;overflow:hidden;position:relative;border-radius:13px;background:#c6cabd}.mini-photo img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .45s}.mini-photo span{position:absolute;right:13px;top:13px;border-radius:50%;background:var(--lime);width:37px;height:37px;display:grid;place-items:center}.mini-talent:hover img{transform:scale(1.06)}.mini-label{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:13px 0}.mini-label strong{font-size:19px}.mini-label small{color:#6d7780;font-size:11px}.after-grid{margin-top:35px}.web-feature{background:#223443;color:#fff;padding:115px 0;overflow:hidden}.web-feature-grid{display:grid;grid-template-columns:1fr .85fr;gap:8%;align-items:center}.web-feature h2{margin:20px 0}.web-feature h2 em{color:var(--lime)}.web-feature p{color:#c8d4db;max-width:530px;margin-bottom:30px}.browser-illustration{transform:rotate(5deg);border-radius:17px;background:#f7f6f1;box-shadow:35px 35px 0 #d8fa6620;overflow:hidden;color:var(--night)}.browser-chrome{height:39px;border-bottom:1px solid #ddd;display:flex;align-items:center;gap:6px;padding:0 17px}.browser-chrome i{height:9px;width:9px;background:#aaa;border-radius:50%}.browser-chrome span{background:#e9ebe5;font-size:10px;margin:auto;border-radius:30px;padding:4px 80px;color:#667}.browser-inner{padding:35px;background:linear-gradient(145deg,#ede3d3,#f7f6f1)}.browser-inner>span{font-size:11px;letter-spacing:.3em}.browser-inner strong{display:block;font-family:Manrope;font-size:clamp(50px,6vw,100px);line-height:.95;letter-spacing:-.09em;margin:32px 0}.browser-inner strong span{color:#ff8e66}.browser-blocks{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.browser-blocks b{height:58px;border-radius:5px;background:#cad19b}.browser-blocks b:nth-child(2){background:#98a9b7}.browser-blocks b:nth-child(3){background:#d7aa93}.brand-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.brand-strip span{border:1px solid #dde0db;background:#fff;border-radius:10px;min-height:95px;display:grid;place-items:center;padding:10px;font-size:17px;font-weight:900;letter-spacing:-.04em;text-align:center}.mini-cta{background:#d8fa66;padding:65px 0}.mini-cta .shell{display:flex;justify-content:space-between;gap:35px;align-items:center}.mini-cta span{font-size:12px;font-weight:800;letter-spacing:.12em}.mini-cta h2{font-size:clamp(27px,3.3vw,48px);margin:0}.mini-cta h2 em{color:#6e8b2d}.site-footer{background:#101722;color:#fff;padding:100px 0 0}.footer-intro{display:flex;justify-content:space-between;align-items:end;gap:25px;padding-bottom:80px;border-bottom:1px solid #3c4551}.footer-intro h2{margin:15px 0 0}.footer-intro em{color:var(--lime)}.footer-columns{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding:60px 0}.footer-columns div{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.footer-columns .footer-brand{font-family:Manrope;font-size:25px;font-weight:900;letter-spacing:-.06em}.footer-columns .footer-brand strong{color:var(--lime)}.footer-columns p{font-size:13px;color:#a4b0be;max-width:350px}.footer-columns a{font-size:13px;color:#c9d3de}.footer-columns a:hover{color:var(--lime)}.footer-columns div>strong{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#9cabb9}.footer-bottom{border-top:1px solid #384250;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#8d9aaa}.interior-hero{padding:90px 0 100px;background:var(--paper);overflow:hidden}.interior-hero .crumb{font-size:12px;color:#7c858c;margin-bottom:56px}.crumb a:hover{text-decoration:underline}.crumb span{margin:0 6px}.interior-hero .eyebrow{color:#6a8430}.interior-hero h1{max-width:1100px;margin:20px 0 25px}.interior-hero h1 em{color:#91a64e}.interior-hero .lead{max-width:720px;font-size:18px;color:#5a6670}.interior-rule{height:1px;background:#dce0db;margin:80px auto -100px;width:min(100% - 72px,1320px)}.split-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.story-shape{aspect-ratio:1;max-height:600px;border-radius:160px 20px 160px 20px;background:#1a2b3c;position:relative;display:grid;place-items:center;color:var(--lime)}.story-shape span{font-family:Manrope;font-size:clamp(130px,18vw,230px);font-weight:900;letter-spacing:-.15em}.story-shape b{position:absolute;bottom:35px;font-size:12px;letter-spacing:.2em}.split-story p{color:#68747e}.split-story .btn{margin-top:20px}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.values-grid article{border:1px solid #39424e;border-radius:15px;padding:30px;min-height:270px}.values-grid article>span{color:var(--lime);font-size:11px}.values-grid h3{margin:85px 0 10px}.values-grid p{color:#adb5be;font-size:13px}.service-feature{display:grid;grid-template-columns:1fr .9fr;gap:9%;align-items:center}.service-feature h2{margin:20px 0}.service-feature p{color:#5d6970;font-size:17px}.service-feature .btn{margin-top:12px}.feature-panel{aspect-ratio:1.05;border-radius:18px;background:#dfe7c9;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.feature-panel:after{content:'';position:absolute;inset:12%;border:1px solid #ffffffb0;border-radius:50%;transform:scale(1.5)}.feature-panel>span{position:absolute;left:24px;top:24px;font-weight:800;font-size:11px;letter-spacing:.17em}.feature-panel>div{font-size:clamp(180px,21vw,350px);font-weight:900;font-family:Manrope;line-height:1;color:#2f473e;transform:rotate(-16deg)}.feature-panel>strong{position:absolute;bottom:20px;right:20px;font-size:13px;letter-spacing:.12em}.feature-1{background:#cedee4}.feature-2{background:#ead2c2}.feature-3{background:#d6d3e8}.feature-4{background:#d7e9df}.feature-5{background:#e8daca}.feature-list{border-top:1px solid #d2d5cf}.feature-list>div{display:grid;grid-template-columns:50px 1fr 40px;gap:15px;align-items:center;padding:30px 0;border-bottom:1px solid #d2d5cf}.feature-list>div span:first-child{font-size:11px;color:#7c8789;font-weight:800}.feature-list strong{font-family:Manrope;font-size:clamp(21px,2.2vw,31px);letter-spacing:-.04em}.feature-list>div span:last-child{text-align:right;font-size:22px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.steps>div{border:1px solid #3e4750;border-radius:12px;padding:25px;min-height:240px}.steps b{display:block;font-size:39px;color:var(--lime);margin-bottom:70px}.steps h3{margin:0 0 9px}.steps p{color:#b8c2ce;font-size:13px}.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:35px}.filter{background:#fff;border:1px solid #d7dbd6;border-radius:50px;padding:12px 20px;font-size:12px;font-weight:800}.filter:hover,.filter.selected{background:var(--night);color:#fff;border-color:var(--night)}[hidden]{display:none!important}.project-detail-hero{background:#ebeee8}.project-hero-art{height:550px}.project-detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:9%;align-items:center}.project-detail-grid aside h2{margin:15px 0}.project-detail-grid aside p{color:#5c6871}.project-detail-grid aside .btn{margin-top:18px}.management-intro{max-width:850px;margin-bottom:55px}.management-intro h2{margin:20px 0}.management-intro p{font-size:17px;color:#66717a}.showcase{background:#101720;position:relative;color:#fff;overflow:hidden;isolation:isolate;padding:70px 0 85px}.showcase-bg{position:absolute;inset:-5%;z-index:-2;background-size:cover;background-position:center;filter:blur(12px) saturate(.65);transition:background-image .4s}.showcase-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101720ed,#101720b5),linear-gradient(0deg,#101720e5,#10172055)}.showcase-overline{display:flex;justify-content:space-between;align-items:center;color:var(--lime)}.showcase-overline>span:last-child{font-size:10px;letter-spacing:.17em}.showcase-viewport{height:480px;display:flex;align-items:center;justify-content:space-between;gap:5px}.showcase-track{position:relative;flex:1;height:450px;max-width:900px;perspective:1000px}.showcase-slide{width:29%;height:320px;position:absolute;left:50%;top:50%;transform:translate(calc(-50% + var(--pos,0)*94%), -50%) scale(.9);border-radius:12px;overflow:hidden;transition:transform .55s,opacity .45s,height .45s;z-index:1;box-shadow:0 25px 70px #0005;background:#25313b}.showcase-slide.active{height:410px;transform:translate(-50%,-50%) scale(1.12);z-index:3}.showcase-slide.away{opacity:0;pointer-events:none}.showcase-slide img{height:100%;width:100%;object-fit:cover;object-position:top}.showcase-slide:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#10151cf0)}.showcase-slide>span{position:absolute;z-index:1;bottom:23px;left:19px;display:flex;flex-direction:column;gap:4px}.showcase-slide b{font-family:Manrope;font-size:25px;letter-spacing:-.04em}.showcase-slide small{font-size:12px;color:#e0e0dc}.showcase-arrow{background:#ffffff10;border:1px solid #ffffff60;color:#fff;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:23px;z-index:6;transition:background .2s}.showcase-arrow:hover{background:var(--lime);color:var(--night)}.showcase-bottom{display:flex;justify-content:space-between;align-items:end;gap:50px}.showcase-text{max-width:650px}.showcase-index{font-size:12px;letter-spacing:.18em;color:var(--lime)}.showcase-name{font-size:clamp(38px,5vw,76px);margin:8px 0}.showcase-topic{font-size:11px;color:var(--lime);letter-spacing:.14em;text-transform:uppercase;font-weight:800}.showcase-description{font-size:15px;color:#d5dce2;max-width:610px;margin:18px 0 25px}.showcase-dots{display:flex;gap:5px;flex-wrap:wrap}.showcase-dot{background:none;border:0;color:#b1bac4;border-bottom:2px solid #637080;font-size:14px;font-weight:800;padding:12px}.showcase-dot.active{color:var(--lime);border-color:var(--lime)}.profile-hero{padding:80px 0 115px;background:var(--paper)}.profile-layout{display:grid;grid-template-columns:.85fr 1fr;gap:10%;align-items:center}.profile-image{position:relative;height:min(70vw,680px);border-radius:220px 220px 12px 12px;overflow:hidden;background:#bbc2ba}.profile-image img{height:100%;width:100%;object-fit:cover;object-position:top}.profile-image span{position:absolute;bottom:20px;left:23px;background:var(--lime);color:var(--night);padding:11px 14px;font-size:10px;letter-spacing:.13em;font-weight:900}.profile-copy .crumb{font-size:12px;color:#828a90;margin-bottom:54px}.profile-copy .eyebrow{color:#758f3b}.profile-copy h1{margin:15px 0 3px}.profile-copy h1 span{color:#9bb34c;font-size:.5em;margin-left:15px}.profile-handle{color:#6b7e87;font-size:20px}.profile-copy h2{font-size:clamp(37px,4vw,58px);margin:36px 0 20px}.profile-copy>p:not(.profile-handle){font-size:17px;color:#66727a;max-width:620px}.profile-copy .button-row{margin-top:35px}.profile-back{margin-top:45px;font-size:13px;font-weight:800}.profile-back a:hover{text-decoration:underline}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}.contact-info h2{margin:25px 0}.contact-info>p{font-size:16px;color:#65727b}.contact-lines{margin-top:50px;display:grid;gap:30px}.contact-lines div{display:grid;gap:7px;padding-bottom:22px;border-bottom:1px solid #d6dbd5}.contact-lines small{font-size:10px;color:#839090;letter-spacing:.15em;font-weight:800}.contact-lines a,.contact-lines strong{font-size:17px;font-weight:800;overflow-wrap:anywhere}.contact-mark{font-size:190px;color:#aac567;line-height:1;margin-top:55px}.contact-form{background:#fff;border:1px solid #e6e9e4;border-radius:18px;padding:45px;box-shadow:0 25px 75px #1523330b}.form-title span{font-size:11px;letter-spacing:.12em;font-weight:800;color:#73803b}.form-title h3{font-size:28px;margin:16px 0 32px}.contact-form label{display:grid;gap:8px;font-size:12px;font-weight:800;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;background:#f9faf7;border:1px solid #dce2dc;border-radius:8px;padding:15px 16px;outline:none;color:var(--night);font-size:13px}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#7ea341;box-shadow:0 0 0 3px #d8fa6650}.contact-form .consent{display:flex;align-items:start;gap:10px;font-weight:500;font-size:12px;color:#53616b}.consent input{margin-top:3px;accent-color:#739b2f}.form-hint{font-size:11px;color:#869193;margin:14px 0 0}
@media(max-width:1200px){.site-header nav{gap:12px}.site-header nav>a{font-size:11px}.brand-word{font-size:15px}.shell{width:min(100% - 48px,1320px)}.hero-copy h1{font-size:clamp(3rem,5vw,5rem)}.scene-sticker{left:-18%}}
@media(max-width:930px){.site-header{height:76px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;box-shadow:0 18px 40px #0002;flex-direction:column;align-items:stretch;padding:18px 24px 26px;gap:0}.site-header nav.open{display:flex}.site-header nav>a{font-size:14px;padding:15px;border-bottom:1px solid #eef0ed}.site-header nav .nav-contact{margin:14px 0 0;text-align:center}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:75px 0 15px}.hero-copy h1{font-size:clamp(3.5rem,8vw,6rem)}.hero-scene{min-height:500px}.hero-photo-frame{height:410px;width:275px}.scene-sticker{left:11%;bottom:65px}.scene-caption{right:7%}.services-grid{grid-template-columns:repeat(2,1fr)}.talent-grid{grid-template-columns:repeat(3,1fr)}.section-head{align-items:start}.section-head-side{width:220px}.split-story,.service-feature,.project-detail-grid,.contact-layout{gap:5%}.profile-layout{gap:5%}.profile-image{height:630px}.web-feature-grid{gap:4%}.mini-cta .shell{flex-wrap:wrap}.showcase-track{max-width:640px}.showcase-slide{width:42%}.showcase-slide.active{transform:translate(-50%,-50%) scale(1.05)}}
@media(max-width:650px){.shell{width:min(100% - 36px,1320px)}h1{font-size:clamp(3.15rem,12vw,5rem)}h2{font-size:clamp(2.4rem,9.5vw,4rem)}.section{padding:74px 0}.hero-copy{padding-top:66px}.hero-copy h1{font-size:clamp(3.2rem,10vw,5rem)}.hero-copy>p{font-size:15px}.hero-meta{gap:25px;margin-top:45px}.hero-scene{min-height:455px}.hero-photo-frame{height:370px;width:250px}.scene-sticker{height:108px;width:108px;font-size:13px;left:0;bottom:60px}.scene-sticker span{font-size:15px;top:8px}.marquee{padding:14px 0}.marquee div{font-size:10px}.section-head{display:block;margin-bottom:33px}.section-head-side{width:auto;margin-top:15px}.services-grid{grid-template-columns:1fr}.service-tile{min-height:280px;padding:25px}.service-icon{margin:25px 0}.projects-grid{grid-template-columns:1fr}.project-graphic{height:260px}.project-info h3{font-size:23px}.manifesto-grid,.web-feature-grid,.split-story,.service-feature,.project-detail-grid,.contact-layout,.profile-layout{grid-template-columns:1fr}.home-manifesto,.web-feature{padding:78px 0}.manifesto-grid{gap:30px}.talent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mini-label{display:block}.mini-label small{display:block;margin-top:2px}.mini-label strong{font-size:17px}.browser-illustration{margin-top:35px;transform:rotate(2deg)}.brand-strip{grid-template-columns:repeat(2,1fr)}.brand-strip span{min-height:75px;font-size:13px}.mini-cta{padding:55px 0}.site-footer{padding-top:75px}.footer-intro{display:block}.footer-intro .btn{margin-top:30px}.footer-columns{grid-template-columns:1fr 1fr;gap:40px 20px}.footer-columns div:first-child{grid-column:1/-1}.footer-bottom{display:block;line-height:2}.interior-hero{padding:65px 0 70px}.interior-hero .crumb{margin-bottom:35px}.interior-hero .lead{font-size:16px}.interior-rule{margin:48px auto -70px}.story-shape{max-height:375px;margin-bottom:20px;border-radius:120px 10px 120px 10px}.values-grid{grid-template-columns:1fr 1fr}.values-grid article{padding:20px;min-height:200px}.values-grid h3{margin-top:40px}.steps{grid-template-columns:1fr 1fr}.steps>div{min-height:200px}.steps b{margin-bottom:45px}.feature-panel{order:-1}.project-detail-grid{gap:35px}.project-hero-art{height:320px}.showcase{padding:55px 0 68px}.showcase-overline>span:last-child{display:none}.showcase-viewport{height:360px;gap:3px}.showcase-track{height:360px}.showcase-slide{width:75%;height:255px;transform:translate(calc(-50% + var(--pos,0)*64%), -50%) scale(.8)}.showcase-slide.active{height:320px;transform:translate(-50%,-50%) scale(1)}.showcase-arrow{width:32px;height:32px;font-size:17px}.showcase-bottom{display:block}.showcase-description{font-size:13px}.showcase-dots{margin-top:30px}.showcase-dot{padding:10px}.profile-hero{padding:45px 0 85px}.profile-image{height:480px;max-width:420px}.profile-copy .crumb{margin:35px 0}.contact-form{padding:23px}.form-grid{grid-template-columns:1fr}.contact-mark{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Caribbean Agency V4 — pont ciblé entre les conteneurs/widgets Elementor natifs et la maquette fournie. */
body{margin:0!important;font-family:'DM Sans',Arial,sans-serif}
body .elementor{font-family:'DM Sans',Arial,sans-serif}
body .elementor .e-con{--container-default-padding-block-start:0px;--container-default-padding-inline-end:0px;--container-default-padding-block-end:0px;--container-default-padding-inline-start:0px;--container-widget-spacing:0px;--gap:0px;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;max-width:none;min-width:0}
body .elementor .elementor-element.elementor-widget{margin:0;min-width:0}
body .elementor .elementor-widget-heading .elementor-heading-title{font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;margin:0}
body .elementor .elementor-widget-heading :is(h1,h2,h3,h4,h5,h6){font-family:Manrope,'DM Sans',sans-serif;font-weight:800;letter-spacing:-.052em}
body .elementor .elementor-widget-heading h1{font-size:clamp(3.35rem,6.35vw,7.25rem);line-height:1.055}
body .elementor .elementor-widget-heading h2{font-size:clamp(2.65rem,5vw,5.5rem);line-height:1.11}
body .elementor .elementor-widget-heading h3{font-size:clamp(1.25rem,1.8vw,1.7rem);line-height:1.18}
body .elementor .elementor-widget-heading .elementor-heading-title em{color:#8eac49}
body .elementor .elementor-widget-text-editor p{margin:0 0 1em;line-height:1.73;color:inherit}
body .elementor .elementor-widget-image .elementor-widget-container{height:100%}
body .elementor .elementor-widget-image img{display:block;max-width:100%;height:auto}
body .elementor .elementor-widget-button{--container-widget-width:auto;width:auto;max-width:100%;flex:0 0 auto;align-self:flex-start}
body .elementor .elementor-widget-button .elementor-button{font-family:'DM Sans',Arial,sans-serif;text-decoration:none;box-shadow:none;transition:transform .2s,background .2s}
body .elementor .elementor-widget-button.btn .elementor-button{min-height:49px;display:inline-flex;gap:22px;align-items:center;justify-content:space-between;border-radius:100px;font-weight:800;font-size:13px;letter-spacing:-.01em;padding:16px 22px;border:1px solid transparent;white-space:nowrap}
body .elementor .elementor-widget-button.btn-lime .elementor-button{background:#d8fa66;color:#111824;border-color:#d8fa66}
body .elementor .elementor-widget-button.btn-outline .elementor-button{background:transparent;border-color:#68717a;color:#fff}
body .elementor .elementor-widget-button.btn-outline-dark .elementor-button{background:transparent;border-color:#bbc0c4;color:#111824}
body .elementor .elementor-widget-button.btn-dark .elementor-button{background:#111824;color:#fff}
body .elementor .elementor-widget-button.btn-light .elementor-button{background:#fff;color:#111824}
body .elementor .elementor-widget-button.btn .elementor-button:hover{transform:translateY(-3px)}
body .elementor .elementor-widget-button.text-link .elementor-button{background:transparent;color:inherit;padding:0;border:0;font-size:13px;font-weight:800}
body .elementor .elementor-widget-button.nav-contact .elementor-button{background:#111824;color:#fff;padding:13px 16px;border-radius:100px;font-size:12px;font-weight:800}
body .elementor .elementor-widget-button:not(.btn):not(.nav-contact):not(.showcase-arrow):not(.showcase-dot):not(.filter):not(.menu-toggle):not(.ca-v4-overlay-link) .elementor-button{background:transparent;color:inherit;border:0;padding:0;text-align:left}
body .elementor .elementor-element.hero-grid,body .elementor .elementor-element.services-grid,body .elementor .elementor-element.projects-grid,body .elementor .elementor-element.manifesto-grid,body .elementor .elementor-element.talent-grid,body .elementor .elementor-element.web-feature-grid,body .elementor .elementor-element.brand-strip,body .elementor .elementor-element.footer-columns,body .elementor .elementor-element.split-story,body .elementor .elementor-element.values-grid,body .elementor .elementor-element.service-feature,body .elementor .elementor-element.steps,body .elementor .elementor-element.project-detail-grid,body .elementor .elementor-element.profile-layout,body .elementor .elementor-element.contact-layout,body .elementor .elementor-element.contact-lines{display:grid!important}
body .elementor .elementor-element.header-in,body .elementor .elementor-element.button-row,body .elementor .elementor-element.hero-meta,body .elementor .elementor-element.hero-scene,body .elementor .elementor-element.section-head,body .elementor .elementor-element.service-tile,body .elementor .elementor-element.tile-foot,body .elementor .elementor-element.mini-label,body .elementor .elementor-element.footer-intro,body .elementor .elementor-element.footer-bottom,body .elementor .elementor-element.showcase-overline,body .elementor .elementor-element.showcase-viewport,body .elementor .elementor-element.showcase-bottom,body .elementor .elementor-element.showcase-dots,body .elementor .elementor-element.filterbar,body .elementor .elementor-element.browser-chrome,body .elementor .elementor-element.feature-panel{display:flex!important}
body .elementor .elementor-element.hero-grid{grid-template-columns:1.2fr .8fr!important;gap:0!important;align-items:center;min-height:655px}
body .elementor .elementor-element.hero-copy{padding:86px 35px 72px 0;position:relative;z-index:2}
body .elementor .hero-copy .eyebrow{color:#d8fa66;font-size:11px;letter-spacing:.19em;font-weight:800}
body .elementor .hero-copy .elementor-widget-heading h1{margin:25px 0;font-size:clamp(3.45rem,5.3vw,6.8rem);font-weight:800;line-height:1.055;color:#fff}
body .elementor .hero-copy .elementor-widget-heading h1 em{color:#d8fa66!important}
body .elementor .hero-copy .elementor-widget-heading h1 .outline-word{color:transparent!important;-webkit-text-stroke:1.1px #f5f6f2}
body .elementor .hero-copy > .elementor-widget-text-editor p{font-size:clamp(15px,1.35vw,19px);max-width:620px;color:#c7ced5;line-height:1.8;margin-bottom:30px}
body .elementor .elementor-element.button-row{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:12px}
body .elementor .elementor-element.hero-meta{display:flex!important;flex-direction:row!important;gap:40px;margin-top:68px;flex-wrap:wrap}
body .elementor .hero-meta .elementor-widget-heading{width:auto!important;--container-widget-width:auto}
body .elementor .hero-meta .elementor-heading-title{display:grid!important;gap:5px;color:#aeb8c3;font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase}
body .elementor .hero-meta .elementor-heading-title b{color:#d8fa66;font-size:22px;letter-spacing:-.05em}
body .elementor .elementor-element.hero-scene{display:flex!important;align-items:center;justify-content:center;min-height:560px;position:relative}
body .elementor .elementor-element.hero-photo-frame{width:310px!important;height:470px!important;min-height:470px;overflow:hidden;border:9px solid #f7f6ee;border-radius:154px 154px 120px 120px;transform:rotate(7deg);z-index:2;box-shadow:0 30px 80px #0008;display:flex!important;align-items:stretch;justify-content:stretch}
body .elementor .hero-photo-frame .elementor-widget-image{width:100%;height:100%;--container-widget-width:100%;align-self:stretch}
body .elementor .hero-photo-frame .elementor-widget-image img{width:100%;height:100%;object-fit:cover;object-position:top}
body .elementor .hero-photo-frame .photo-label{position:absolute!important;z-index:3;bottom:20px;left:-5px;transform:rotate(-5deg);width:auto!important;color:#111824;background:#d8fa66;border-radius:100px;padding:8px 13px;font-size:10px;font-weight:800;letter-spacing:.05em}
body .elementor .elementor-element.scene-sticker{position:absolute!important;z-index:5;left:-7%;bottom:80px;width:158px!important;height:158px!important;min-height:158px;border-radius:50%;background:#d8fa66;color:#111824;transform:rotate(-11deg);display:flex!important;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:18px;gap:0;font-size:19px;font-weight:900;line-height:1.15}
body .elementor .scene-sticker .elementor-widget-heading{width:auto!important;--container-widget-width:auto}
body .elementor .scene-sticker .elementor-heading-title{font-size:18px;font-weight:900;line-height:1.1;color:#111824!important}
body .elementor .scene-sticker .ca-v4-sticker-text{margin-top:20px!important}
body .elementor .scene-sticker .elementor-widget-heading:last-child{position:absolute;top:5px;right:28px}
body .elementor .scene-sticker .elementor-widget-heading:last-child .elementor-heading-title{font-size:22px}
body .elementor .scene-caption{position:absolute;z-index:3;right:0;top:50%;writing-mode:vertical-rl;width:auto!important;letter-spacing:.18em;font-size:10px;color:#b3c0ca}
body .elementor .elementor-element.marquee{background:#d8fa66;display:flex!important;align-items:center;justify-content:center;padding:17px 20px}
body .elementor .marquee .elementor-widget-heading{width:100%}
body .elementor .marquee .elementor-heading-title{font-size:12px;letter-spacing:.16em;font-weight:800;color:#111824;text-align:center}
body .elementor .elementor-element.shell{width:min(calc(100% - 72px),1320px);max-width:1320px;margin-left:auto;margin-right:auto}
body .elementor .elementor-element.section{padding-block:90px}
body .elementor .elementor-element.section-head{flex-direction:row;justify-content:space-between;gap:35px}
body .elementor .elementor-element.services-grid{grid-template-columns:repeat(3,1fr);gap:16px}
body .elementor .elementor-element.projects-grid{grid-template-columns:repeat(2,1fr);gap:18px}
body .elementor .elementor-element.talent-grid{grid-template-columns:repeat(4,1fr);gap:18px}
body .elementor .elementor-element.footer-columns{grid-template-columns:2fr 1fr 1fr;gap:50px}
body .elementor .elementor-element.site-header{height:88px;background:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid #edf0ec}
body .elementor .elementor-element.header-in{height:100%;align-items:center;justify-content:space-between;flex-direction:row;gap:25px}
body .elementor .elementor-element.brand{display:inline-flex!important;flex-direction:row;align-items:center;gap:11px;width:auto}
body .elementor .brand .elementor-widget-heading{width:auto!important;--container-widget-width:auto}
body .elementor .brand-icon{background:#111824!important;color:#d8fa66!important;width:46px!important;min-width:46px!important;height:46px!important;border-radius:12px;display:flex!important;align-items:center;justify-content:center;font-size:25px;font-weight:900}
body .elementor .brand-icon .elementor-heading-title{color:#d8fa66!important;font-weight:900!important;font-size:25px!important;line-height:1!important}
body .elementor .brand-word{font-family:Manrope,sans-serif;font-size:18px;font-weight:900}
body .elementor .brand-word .elementor-heading-title small{display:block;font-size:10px;letter-spacing:.31em}
body .elementor .elementor-element#site-nav{display:flex!important;flex-direction:row;align-items:center;gap:clamp(9px,1.4vw,24px);width:auto}
body .elementor #site-nav .elementor-widget-button{width:auto!important;--container-widget-width:auto}
body .elementor #site-nav .elementor-button{font-size:12px;font-weight:800;white-space:nowrap;background:transparent;color:#111824;border:0;padding:0}
body .elementor #site-nav .nav-contact .elementor-button{background:#111824;color:#fff;padding:13px 16px;border-radius:100px}
body .elementor .menu-toggle{display:none}
body .elementor .menu-toggle .elementor-button{background:transparent;color:#111824;border:0;font-size:25px;padding:8px}
body .elementor .ca-v4-overlay-link{position:absolute!important;inset:0;z-index:5;width:100%!important;max-width:100%!important;height:100%!important;opacity:0;pointer-events:auto}
body .elementor .ca-v4-overlay-link .elementor-widget-container,body .elementor .ca-v4-overlay-link .elementor-button-wrapper,body .elementor .ca-v4-overlay-link .elementor-button{width:100%!important;height:100%!important;display:block;padding:0!important}
body .elementor .elementor-element.ca-v4-linked-container,body .elementor .elementor-element.service-tile,body .elementor .elementor-element.project-card,body .elementor .elementor-element.mini-talent,body .elementor .elementor-element.brand{position:relative}
body .elementor .elementor-element.service-tile{display:flex!important;flex-direction:column;align-items:stretch}
body .elementor .elementor-element.footer-intro{align-items:center;justify-content:space-between;flex-direction:row}
body .elementor .elementor-element.footer-bottom{align-items:center;justify-content:space-between;flex-direction:row}
body .elementor .footer-columns>.elementor-element{display:flex!important;flex-direction:column;gap:14px;align-items:flex-start}
body .elementor .footer-brand{display:flex!important;flex-direction:row;align-items:center;gap:6px}
body .elementor .footer-brand .elementor-widget-heading{width:auto}
body .elementor .elementor-element.site-footer{background:#111824;color:#fff}
body .elementor .ca-v4-contact-form .wpcf7{width:100%}
body .elementor .ca-v4-contact-form :is(input,select,textarea){display:block;width:100%;border:1px solid #c9d0d5;border-radius:8px;padding:14px;background:#fff;color:#111824;margin-top:6px}
body .elementor .ca-v4-contact-form input[type=submit]{background:#111824;color:#fff;width:auto;cursor:pointer;padding:15px 24px;border-radius:30px}
body .elementor .elementor-element.showcase-bg{position:absolute;inset:0;background-size:cover;background-position:center}
body .elementor .elementor-element.showcase-veil{position:absolute;inset:0}
body .elementor .showcase-slide .elementor-widget-image img{height:100%;width:100%;object-fit:cover}
@media(max-width:930px){
 body .elementor .elementor-element.hero-grid{grid-template-columns:1fr!important}
 body .elementor .elementor-element.hero-copy{padding:75px 0 15px}
 body .elementor .elementor-element.hero-photo-frame{width:275px!important;height:410px!important;min-height:410px}
 body .elementor .elementor-element.services-grid{grid-template-columns:repeat(2,1fr)}
 body .elementor .elementor-element.talent-grid{grid-template-columns:repeat(3,1fr)}
 body .elementor .elementor-element.site-header{height:76px}
 body .elementor .menu-toggle{display:block!important}
 body .elementor .elementor-element#site-nav{display:none!important;position:absolute;top:76px;left:0;right:0;width:100%;background:#fff;padding:18px 24px 26px;flex-direction:column!important;align-items:stretch;gap:0;box-shadow:0 18px 40px #0002}
 body .elementor .elementor-element#site-nav.open{display:flex!important}
 body .elementor #site-nav .elementor-button{font-size:14px;padding:12px 0}
 body .elementor #site-nav .nav-contact .elementor-button{margin-top:14px;text-align:center}
}
@media(max-width:640px){
 body .elementor .elementor-element.shell{width:min(calc(100% - 34px),1320px)}
 body .elementor .elementor-element.hero-copy{padding:45px 0 20px}
 body .elementor .hero-copy .elementor-widget-heading h1{font-size:clamp(2.7rem,11vw,4.5rem)}
 body .elementor .elementor-element.hero-scene{min-height:420px}
 body .elementor .elementor-element.hero-photo-frame{width:235px!important;height:345px!important;min-height:345px}
 body .elementor .elementor-element.scene-sticker{width:118px!important;height:118px!important;min-height:118px;left:0;bottom:50px}
 body .elementor .scene-sticker .elementor-heading-title{font-size:13px}
 body .elementor .elementor-element.services-grid,body .elementor .elementor-element.projects-grid,body .elementor .elementor-element.talent-grid,body .elementor .elementor-element.footer-columns,body .elementor .elementor-element.contact-layout{grid-template-columns:1fr!important}
 body .elementor .elementor-element.section-head,body .elementor .elementor-element.footer-intro{flex-direction:column;align-items:flex-start}
 body .elementor .elementor-element.section{padding-block:58px}
}
/* Correction des marges et doubles bordures inhérentes aux wrappers Elementor. */
body .elementor .elementor-widget-button.btn{background:transparent!important;padding:0!important;border:0!important;min-height:0!important;display:block!important;border-radius:0!important}
body .elementor .elementor-widget-button.nav-contact{background:transparent!important;padding:0!important;border:0!important}
body .elementor .scene-sticker .ca-v4-sticker-text .elementor-heading-title{position:static!important;top:auto!important;left:auto!important;font-size:18px!important;line-height:1.14!important;display:block}
body .elementor .scene-sticker .ca-v4-sticker-star .elementor-heading-title{position:static!important;font-size:22px!important}
