/* JD Cáceres · Firma viva. One shared stylesheet for WordPress and preview. */
.entry .document-shard{position:absolute;z-index:2;margin:0;opacity:0;pointer-events:none;transform:none;transition:none;box-shadow:none}.document-shard .signature-button{pointer-events:none}
:root{--ink:#172632;--muted:#52606a;--blue:#294557;--teal:#805336;--gold:#b57848;--paper:#f3f1ed;--line:#89949e40;--ease:cubic-bezier(.2,.8,.2,1);--shadow:0 18px 48px #15273612}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}body.entry-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,a{touch-action:manipulation}h1,h2,h3,p{margin:0 0 24px}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:1.04}h2{font-size:clamp(40px,4.8vw,72px)}h1 em,h2 em{font-family:Georgia,serif;color:var(--teal);font-weight:400}h3{font-weight:500;letter-spacing:-.035em}p{line-height:1.8}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--teal);outline-offset:5px}canvas{pointer-events:none}.micro,.eyebrow,.panel-top,.panel-bottom{font:600 10px/1.65 Consolas,monospace;letter-spacing:.15em}.eyebrow{color:var(--teal);margin-bottom:28px}.section{position:relative;isolation:isolate;padding:112px max(28px,calc((100vw - 1180px)/2));overflow:clip}.section>*{position:relative;z-index:1}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:56px}.section-heading h2{margin:0}.section-heading>p{max-width:300px;color:var(--muted);font-size:14px}.skip-link{position:fixed;z-index:500;top:-80px;left:24px;padding:16px;background:white}.skip-link:focus{top:16px}
.button,.signature-button{position:relative;isolation:isolate;overflow:hidden;border:1px solid #fff8;color:#fff;background:linear-gradient(115deg,#196f82,#3069b8 52%,#6679ad 76%,#168e87);background-size:220% 100%;box-shadow:inset 0 1px #fff9,0 8px 20px #2b6f9630;transition:transform .45s var(--ease),box-shadow .45s,background-position .8s;animation:cta-light 4s ease-in-out infinite}
.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:16px 24px;border-radius:8px;font-size:13px;font-weight:600}.button:before,.signature-button:before{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 38%,#ffffff80 50%,transparent 62%);transform:translateX(-80%);animation:shine 4.5s ease-in-out infinite;z-index:-1}.button:hover,.button:focus-visible{transform:translateY(-4px);box-shadow:inset 0 1px #fff,0 16px 28px #237b9940,0 0 24px #62c7c44a;background-position:100%}.button:active{transform:translateY(1px) scale(.97)}.button span,.text-link span{transition:transform .4s}.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}.text-link{display:inline-flex;gap:24px;align-items:center;border:0;border-bottom:1px solid #67938e;background:transparent;padding:12px 0;font-size:13px;font-weight:600;transition:color .3s,text-shadow .3s,transform .3s}.text-link:hover{color:var(--teal);text-shadow:0 0 18px #2abbad66;transform:translateY(-2px)}.motion-control{border:1px solid #88a9ad66;border-radius:24px;background:#ffffff75;padding:10px 16px;min-height:42px;font-size:11px}.wordmark{display:flex;align-items:center;gap:12px;font:24px/.95 Georgia,serif;letter-spacing:-.04em}.wordmark small{display:block;font:10px "Segoe UI",sans-serif;letter-spacing:.14em;margin-top:7px}.monogram{position:relative;display:grid;place-items:center;width:45px;height:48px;border:1px solid #90b3bbaa;border-radius:12px 3px;background:linear-gradient(140deg,#fff,#c8e3eb);box-shadow:inset 1px 1px white;color:var(--blue);transition:transform .5s}.monogram>span{position:absolute;top:-7px;right:-5px;font-size:15px;color:var(--gold)}.wordmark:hover .monogram{transform:rotateY(-28deg) rotate(-5deg)}
/* Opening: a full-viewport stage with a single contract. */
.entry{position:fixed;inset:0;z-index:100;isolation:isolate;overflow:auto;overflow-x:hidden;display:flex;flex-direction:column;min-height:100svh;background:#eef5f3;transition:opacity 1s,filter 1s}.entry[hidden]{display:none}.entry-top,.entry-bottom{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 5vw}.entry-top{min-height:88px}.entry-bottom{min-height:94px;margin-top:auto}.entry-bottom>.micro,.entry-progress{font:9px Consolas,monospace;letter-spacing:.14em;color:#476970}.entry-atmosphere,.footer-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 22% 60%,#9dbcc5a0,transparent 50%),radial-gradient(ellipse at 85% 12%,#9bb1c4b0,transparent 55%),radial-gradient(ellipse at 66% 87%,#c2c6d495,transparent 40%),#eff6f4}.entry-atmosphere:before,.footer-atmosphere:before{content:"";position:absolute;inset:-30%;border-radius:42%;background:conic-gradient(from 50deg,transparent,#ffffffcf,transparent 30%,#e6c99155,transparent 64%,#5dbbb455,transparent);filter:blur(36px);animation:atmosphere 12s ease-in-out infinite}.entry-atmosphere:after{content:"";position:absolute;width:130%;height:36%;left:-15%;top:43%;border-top:1px solid #fff9;border-bottom:1px solid #8bbfc52b;border-radius:50%;transform:rotate(-16deg);box-shadow:0 -20px 80px #ffffff8c;animation:tide 9s ease-in-out infinite}
#document-particles{position:absolute;inset:0;width:100%;height:100%;z-index:3}.document-stage{position:relative;display:grid;place-items:center;width:100%;flex:1;min-height:560px;padding:24px;perspective:1400px}.crystal-document{position:relative;width:min(400px,85vw);padding:32px 36px 24px;border:1px solid #fffffff0;border-radius:4px 40px 4px 4px;background:linear-gradient(145deg,#fffdf6eb,#ecf6f7de 62%,#d5e3efde);box-shadow:inset 0 0 0 6px #fff5,0 40px 80px #36657e2c,8px 8px 0 #fff4;backdrop-filter:blur(15px);opacity:0;transform:translateY(30px) rotateX(10deg) rotateY(-7deg) scale(.94);transition:none;pointer-events:none}.document-ready .crystal-document{opacity:1;transform:translateY(0) rotateX(0) rotateY(0);pointer-events:auto}.crystal-document:after{content:"";position:absolute;inset:12px -12px -12px 12px;z-index:-1;border:1px solid #ffffffb8;border-radius:4px 32px 4px 4px}.doc-bar{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;font:8px Consolas,monospace;letter-spacing:.1em;color:#516e79}.doc-seal{display:grid;place-items:center;width:46px;height:46px;margin:24px auto 20px;border:1px solid #b3925366;border-radius:50%;font:23px Georgia,serif;color:var(--gold);box-shadow:0 0 0 5px #e0c5841a}.crystal-document h1{text-align:center;font-size:36px;margin:0 0 20px;line-height:1.1;letter-spacing:-.045em}.crystal-document h1 em{font-size:34px}.doc-sub{text-align:center;font-size:13px;color:var(--muted);line-height:1.7}.doc-lines{display:grid;gap:8px;margin:22px 0}.doc-lines span{height:2px;background:linear-gradient(90deg,#c1ac7855,#83a9b355,transparent)}.doc-lines span:nth-child(2){width:88%}.doc-lines span:nth-child(3){width:68%}.document-data{display:flex;justify-content:space-between;font:7px Consolas,monospace;letter-spacing:.12em;margin:24px 0 18px;color:#73725b}.signature-button{display:flex;align-items:center;justify-content:space-between;width:100%;height:66px;border-radius:5px;font:italic 29px Georgia,serif;padding:12px 20px}.signature-button i{font:23px "Segoe UI",sans-serif}.signature-button svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:white;stroke-width:2;stroke-dasharray:600;stroke-dashoffset:600}.is-signing .signature-button svg{stroke-dashoffset:0;transition:stroke-dashoffset .8s}.is-signing .signature-button>span,.is-signing .signature-button i{opacity:0}.signature-note{text-align:center;font-size:9px;margin:13px 0 0;color:#56717a}.entry.is-leaving{opacity:0;filter:blur(12px)}.entry.is-leaving .crystal-document{transform:translateZ(160px) scale(1.16);opacity:0}.entry-open #site-content{visibility:hidden}.entry-direct{min-width:210px}
/* Light and translucent planes throughout the site. */
#site-content{overflow:clip}#contenido{position:relative;isolation:isolate;background:#f3f7f5}#ambient-flow{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;opacity:.85}.header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px max(28px,calc((100vw - 1180px)/2));background:#eaf4ffe8;backdrop-filter:blur(24px);border-bottom:1px solid #fff}.header nav{display:flex;gap:32px}.header nav a{position:relative;padding:10px 0;font-size:15px}.header nav a:after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--gold),var(--teal));transform:scaleX(0);transform-origin:left;transition:transform .35s}.header nav a:hover:after,.header nav a.is-current:after{transform:scaleX(1)}.nav-veil{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.12;display:flex;align-items:center;z-index:-1;background:linear-gradient(90deg,#e6c87855,transparent,#e5cba966)}.nav-veil span{white-space:nowrap;font:12px Consolas,monospace;letter-spacing:.3em;color:#976723;animation:marquee 50s linear infinite}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:36px;min-height:790px;background:radial-gradient(ellipse at 85% 23%,#9bcfd25c,transparent 45%),linear-gradient(115deg,#f7faf7db,#edf5f03d);padding-top:76px;padding-bottom:36px}.hero h2{font-size:clamp(52px,5.7vw,86px);line-height:1.05}.hero h2 em{color:#147f80}.hero-copy>p:not(.eyebrow){max-width:460px;font-size:15px;color:var(--muted)}.actions{display:flex;align-items:center;gap:28px;margin:32px 0}.hero-bottom{display:flex;gap:15px;align-items:center;font-size:11px;line-height:1.8;color:var(--muted)}.tiny-seal{display:grid;place-items:center;width:40px;height:40px;border:1px solid #72a49b66;border-radius:50%;font:17px Georgia,serif;color:var(--teal)}.hero-composition{position:relative;min-height:600px;perspective:1400px}.glass{border:1px solid #ffffffeb;background:linear-gradient(130deg,#ffffffda,#ecf4f3b8);border-radius:14px;box-shadow:inset 1px 1px #fff,var(--shadow);backdrop-filter:blur(18px)}.ledger-panel{position:absolute;top:250px;left:8px;width:335px;padding:26px;rotate:-5deg}.contract-sheet{border-color:#d9c691;background:linear-gradient(145deg,#fffdf5ed,#e3f0eeec 62%,#e6e4f2df)}.panel-top,.panel-bottom{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#627b82}.contract-stamp{display:inline-block;margin:18px 0 4px;padding:6px 9px;border:1px solid #b1904755;color:#936d28;rotate:-3deg;font:8px Consolas,monospace}.ledger-panel h3{font-size:33px;line-height:1.05;margin:20px 0 24px}.ledger-option{display:flex;gap:15px;align-items:center;padding:13px 0;border-top:1px solid #b0b69055;font-size:12px;transition:background .3s,padding .3s}.ledger-option span{color:var(--gold);font:10px Consolas,monospace}.ledger-option b{margin-left:auto;font-weight:400}.ledger-option:hover{padding-inline:9px;background:linear-gradient(90deg,#b8e4dba8,#d9def899);box-shadow:0 0 20px #85caba33}.panel-bottom{margin-top:16px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #7cd7c533}.orbit-note>span{font:7px Consolas,monospace;letter-spacing:.13em}.hero-baseline{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:38px;padding-top:20px;font:9px Consolas,monospace;letter-spacing:.12em;color:var(--muted)}
.ticker{position:relative;overflow:hidden;padding:21px 0;border-block:1px solid #fff9;background:linear-gradient(110deg,#83cfc4,#bddcd8,#e4ddbc,#b5cde6);color:#244e60}.ticker-track{display:flex;width:max-content;animation:marquee 50s linear infinite}.ticker-track>span{white-space:nowrap;font:11px Consolas,monospace;letter-spacing:.17em}.ticker i{margin:0 36px;color:var(--teal)}.ticker:hover .ticker-track{animation-play-state:paused}
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:88px;background:linear-gradient(110deg,#fffaf0d9,#ecf6f280)}.about h2{font-size:clamp(40px,4vw,58px)}.about-copy p{font-size:14px;color:var(--muted)}.about-copy .lead{font-size:22px;color:var(--ink);line-height:1.5}.firm-facts{display:flex;gap:44px;border-top:1px solid var(--line);padding-top:26px}.firm-facts>div{display:flex;align-items:center;gap:16px}.firm-facts b{font:italic 43px Georgia,serif;color:var(--teal)}.firm-facts span{font-size:10px;line-height:1.6}
.services{background:linear-gradient(120deg,#e5f1f0af,#eef4f4a3 60%,#e3e7f1ab)}.catalog-layout{display:grid;grid-template-columns:270px 1fr;gap:56px;align-items:start}.catalog-aside{position:sticky;top:130px;padding:30px;background:linear-gradient(160deg,#fffdf4cf,#c9e7dbaa,#d5e3efab);border-radius:4px 40px 4px 4px}.catalog-aside h3{font-size:32px;line-height:1.2;margin:24px 0}.catalog-aside p{font-size:13px;color:var(--muted)}.catalog-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.catalog-tags span{padding:6px;border:1px solid var(--line);font:7px Consolas,monospace}.mini-sculpture{height:170px;position:relative;display:grid;place-items:center}.mini-sculpture:before,.mini-sculpture:after{content:"";position:absolute;width:130px;height:100px;border-radius:50%;border:14px solid #86c7cd80;border-left-color:#fff;border-bottom-color:#7c9bc08c;box-shadow:inset 3px 3px #fff8,0 15px 30px #40879920;transform:rotate(-35deg);animation:ribbon-turn 12s infinite}.mini-sculpture:after{rotate:60deg;scale:.75}.mini-sculpture span{font:italic 54px Georgia,serif;color:var(--teal)}.dossiers{display:grid;gap:12px}.service-dossier{border:1px solid #fffffff0;border-radius:6px 22px 6px 6px;background:linear-gradient(110deg,#fcfdfaca,#dbeee69c,#dfebf3c2);box-shadow:inset 0 1px #fff,0 8px 24px #527a8310;transition:box-shadow .4s,border-color .4s,transform .4s}.service-dossier:nth-child(3n+2){background:linear-gradient(110deg,#fcfdfacc,#e5e5f3ae,#dfeef0aa)}.service-dossier:nth-child(3n){background:linear-gradient(110deg,#fffdf5cc,#efe5c499,#e2f1eba3)}.service-dossier:not([open]){animation:float-card 10s ease-in-out infinite}.service-dossier:nth-child(2n){animation-delay:-3s}.service-dossier:nth-child(3n){animation-delay:-6s}.service-dossier:hover,.service-dossier:focus-within{border-color:#8bb8b0;box-shadow:-4px 0 var(--teal),0 20px 40px #438a9525;animation-play-state:paused}.service-dossier summary{position:relative;display:flex;align-items:center;gap:20px;padding:25px 22px;cursor:pointer;list-style:none;overflow:hidden}.service-dossier summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.service-index{font:italic 21px Georgia,serif;color:#577b87;flex-shrink:0;width:32px}.service-dossier strong{display:block;font-weight:500;font-size:21px;letter-spacing:-.025em}.service-dossier small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.expand-mark{display:grid;place-items:center;flex-shrink:0;margin-left:auto;width:32px;height:32px;border:1px solid #97b6b3;border-radius:50%;transition:rotate .4s,background .4s;color:var(--teal)}.service-dossier[open] .expand-mark{rotate:45deg;background:#c8e6df}.service-dossier[open]{background:linear-gradient(125deg,#fffef6eb,#edf5f3e8);box-shadow:0 20px 45px #46817b22}.dossier-body{padding:0 30px 30px 74px;animation:reveal .45s var(--ease)}.dossier-body ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;padding-left:16px;margin:0 0 20px;font-size:12px;line-height:1.7;color:var(--muted)}.dossier-body li::marker{color:var(--gold)}.dossier-phrase{position:absolute;bottom:5px;left:75px;right:14px;white-space:nowrap;font:8px Consolas,monospace;letter-spacing:.18em;color:#967534;opacity:0;transform:translateX(20px);transition:opacity .5s,transform .8s}.service-dossier[open] .dossier-phrase,.service-dossier:hover .dossier-phrase{opacity:.65;transform:none}
.perspectives{background:radial-gradient(ellipse at 50% 90%,#9bcec460,transparent 65%),linear-gradient(125deg,#f2f7f3bb,#d8e9ebaa)}.podium{list-style:none;padding:0;margin:50px auto 0;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:20px;max-width:950px}.podium li{--tone:#4c8cad;--height:230px}.podium li:nth-child(2){--tone:#918267;--height:300px}.podium li:nth-child(3){--tone:#318e83;--height:370px}.podium-step{display:flex;flex-direction:column;justify-content:end;position:relative;height:var(--height);padding:30px;border:1px solid #fff;border-radius:16px 16px 2px 2px;background:linear-gradient(135deg,#fffffff2,#d5e9e2a8 60%,#b9d7de9a);box-shadow:inset 1px 1px white,10px 14px 0 #799c9d18,0 28px 46px #2c706727;transition:transform .6s,box-shadow .6s;animation:none}.podium li:nth-child(2) a{animation-delay:-6s}.podium li:nth-child(3) a{animation-delay:-3s}.podium-level{position:absolute;top:20px;left:28px;font:italic 60px Georgia,serif;color:var(--tone)}.podium-step small{font:8px Consolas,monospace;letter-spacing:.18em;margin-bottom:14px}.podium-step strong{font-size:30px;line-height:1.15;font-weight:400;letter-spacing:-.035em}.podium-arrow{position:absolute;right:20px;top:26px;font-size:28px;color:var(--tone)}.podium-step:hover{transform:translateY(-10px);box-shadow:inset 1px 1px white,10px 22px 0 #799c9d10,0 25px 60px #4b9b8050}
.method{background:linear-gradient(110deg,#f7f5e6bf,#e8f3efad,#dae9ecae)}.method-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.method-steps article{--accent:#468db7;position:relative;overflow:hidden;padding:28px 23px;border:1px solid #fff;background:linear-gradient(150deg,#ffffffdb,#d5e9f0aa);border-radius:4px 24px 4px 4px;box-shadow:var(--shadow);animation:none}.method-steps article:nth-child(2){--accent:#7687b5;background:linear-gradient(150deg,#fff,#dddff0a6);animation-delay:-9s}.method-steps article:nth-child(3){--accent:#3c9e8e;background:linear-gradient(150deg,#fff,#c3e5d8b8);animation-delay:-6s}.method-steps article:nth-child(4){--accent:#b28c46;background:linear-gradient(150deg,#fff,#efdfbca6);animation-delay:-3s}.method-steps article:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.step-number{font:italic 36px Georgia,serif;color:var(--accent)}.method-steps h3{font-size:22px;margin:32px 0 16px}.method-steps p{font-size:13px;color:var(--muted);margin:0}
.experience{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:linear-gradient(110deg,#fff9edde,#eef7f190)}.experience>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:430px}.experience-list{display:grid;gap:16px}.experience-list article{padding:26px 28px;border:1px solid #fff;background:#ffffff9e;border-radius:3px 22px 3px 3px;box-shadow:var(--shadow)}.experience-list span{font:9px Consolas,monospace;letter-spacing:.13em;color:var(--gold)}.experience-list h3{font-size:24px;margin:14px 0}.experience-list p{font-size:13px;color:var(--muted);margin:0}.procedures{background:linear-gradient(120deg,#d9ece4bb,#e7e8f1bf)}.procedure-list{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;margin-top:45px}.procedure-list>span{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:70px;border-bottom:1px solid var(--line);font-size:15px;transition:padding .4s,background .4s}.procedure-list>span:hover{padding-inline:16px;background:#ffffff85}.procedure-list i{font-style:normal;color:var(--teal)}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;background:#fafcf3c9}.faq details{border-bottom:1px solid var(--line);padding-inline:16px;transition:background .4s}.faq details:hover,.faq details[open]{background:#fff9}.faq summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:24px 0;font-size:16px}.faq details[open] summary span{rotate:45deg}.faq p{font-size:14px;color:var(--muted)}
.contact{display:grid;grid-template-columns:1fr 1.12fr;align-items:start;gap:64px;background:radial-gradient(ellipse at 90% 80%,#c5d4e875,transparent 65%),linear-gradient(110deg,#e2f1e6cc,#e9f1edd9)}.contact h2{font-size:54px}.contact-copy>p{font-size:14px;color:var(--muted)}.contact-links{display:grid;gap:10px;margin:28px 0}.contact-link{display:flex;align-items:center;gap:14px;padding:9px 0;font-size:14px;overflow-wrap:anywhere}.contact-link b{margin-left:auto;color:var(--gold)}.contact-icon{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border:1px solid #c7ab685e;border-radius:12px;background:linear-gradient(140deg,#fffdf1,#decca675);box-shadow:0 0 0 4px #dcc99518;color:#96732d;animation:float-card 7s infinite}.contact-link:hover{color:var(--teal)}.contact address{font-style:normal;font-size:13px;color:var(--muted);line-height:1.8}.contact address span{display:block;font-size:11px;color:var(--teal);margin:8px 0 16px}.map-frame{height:190px;overflow:hidden;border:1px solid white;border-radius:4px 24px 4px 4px;box-shadow:var(--shadow);margin:18px 0}.map-frame iframe{border:0;width:100%;height:100%}.contact-form{padding:34px;background:linear-gradient(135deg,#ffffffd9,#f8f8ede0,#daebe6b0)}.contact-form h3{font-size:28px;margin:28px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:10px;font-size:12px;margin-bottom:24px}.contact-form input,.contact-form select,.contact-form textarea{min-width:0;width:100%;border:1px solid #9dbcb780;border-radius:5px;background:#ffffffe0;padding:13px;color:var(--ink);font-size:13px;transition:border-color .3s,box-shadow .3s}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--teal);box-shadow:0 0 0 4px #65bca21e}.contact-form textarea{resize:vertical}.form-note,.form-status{font-size:11px;color:var(--muted)}.form-status:empty{display:none}
/* Closing scene and the designer's particle signature. */
.footer{position:relative;isolation:isolate;overflow:hidden;padding:40px max(28px,calc((100vw - 1180px)/2)) 24px;background:#eaf3ef}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:30px;border-bottom:1px solid #aac2b754}.footer-top>.micro{font-size:8px;color:var(--muted)}.creator-link{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;min-height:150px;width:min(360px,100%);margin:10px auto 28px;color:var(--teal)}.creator-link>.micro{position:relative;z-index:2;color:#627675;font-size:9px;letter-spacing:.3em}.creator-name{display:block;font:italic clamp(32px,4vw,48px)/1.3 Georgia,serif;letter-spacing:-.04em;background:linear-gradient(100deg,#1c847b,#4575b1,#aa8845);color:transparent;background-clip:text;transition:opacity .5s}.particles-active .creator-name{opacity:0}.creator-link canvas{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 8px #4caea345);transition:filter .4s}.creator-link:hover canvas{filter:drop-shadow(0 0 12px #479cb9aa)}.creator-invitation{font:8px Consolas,monospace;letter-spacing:.2em;color:#61797b}.creator-invitation i{display:inline-block;margin-left:16px;font-size:16px;font-style:normal;transition:transform .4s}.creator-link:hover .creator-invitation i{transform:translate(4px,-4px)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:24px;padding-right:70px;font:8px Consolas,monospace;letter-spacing:.07em;color:var(--muted)}.footer-bottom small{font:inherit}.wa-contract{position:fixed;right:20px;bottom:18px;z-index:40;display:grid;justify-items:center;gap:6px;font-size:9px;font-weight:600}.wa-paper{position:relative;display:grid;gap:5px;width:49px;height:65px;border:1px solid #fff;border-radius:3px 14px 3px 3px;padding:7px 8px;background:linear-gradient(145deg,#fffff5,#d8ece4);box-shadow:4px 5px 0 #9cb8b04d,0 10px 25px #28645530;transition:transform .5s,box-shadow .5s;animation:float-card 8s infinite}.wa-paper b{font:13px Georgia,serif;color:var(--teal)}.wa-paper i{height:1px;background:#98b3a9}.wa-paper i:nth-of-type(3){width:65%}.wa-paper em{font:italic 10px Georgia,serif;color:var(--gold)}.wa-contract>span:last-child{padding:4px 8px;border-radius:12px;background:#fffdf4;border:1px solid #b4ccbd;color:var(--teal)}.wa-contract:hover .wa-paper{transform:rotate(-9deg) translateY(-5px);box-shadow:6px 8px 0 #9cb8b030,0 15px 30px #28645550}

/* Azure glass: visible data currents, caustics and responsive spectral lighting. */

.section>*{z-index:1}
.button{background:linear-gradient(115deg,#31536d,#326c85 40%,#4c7792 65%,#417b7b);background-size:280% 100%;box-shadow:inset 0 1px #fff9,-7px 8px 22px #178ce444,8px 12px 26px #627aeb33}
.button:hover,.button:focus-visible{box-shadow:inset 0 1px white,-8px 10px 25px #009ce677,8px 12px 30px #7777ed66;transform:translateY(-5px) scale(1.025)}
.button>span{color:white!important;animation:none!important;filter:drop-shadow(0 0 5px #7cddff)}
.text-link:hover{background:linear-gradient(90deg,#ba76461a,#72bea61a);background-size:200%;box-shadow:0 8px 18px #408d7f20;animation:cta-light 3s infinite}
.glass,.service-dossier,.podium-step{transition:box-shadow .4s,border-color .4s,transform .4s;background-size:180% 180%}
.glass:hover,.service-dossier:hover,.service-dossier:focus-within,.podium-step:hover{border-color:#86c8ff;box-shadow:inset 0 1px #fff,-10px 15px 35px #22a7e542,12px 22px 40px #6876e338;background-position:100% 100%}
.service-dossier:hover{background-image:linear-gradient(120deg,#25474b,#395b55 45%,#51432f 80%,#243d48)}
.contact-icon,.expand-mark,.service-index,.panel-top>span:last-child,.podium-arrow,.monogram>span,.button>span,.text-link>span,.wa-paper b,.wa-paper em,.picker-chevron{color:#217bbb;text-shadow:0 0 10px #26b9ff70;animation:icon-neon 4s ease-in-out infinite alternate;transition:transform .4s,filter .4s}
.contact-icon,.expand-mark{background:linear-gradient(135deg,#f5fdff,#badcff,#daf8fb);background-size:200%;box-shadow:0 0 12px #31bdff25}
a:hover .contact-icon,summary:hover .expand-mark,a:hover .podium-arrow,button:hover .picker-chevron{transform:rotate(-8deg) scale(1.15);filter:drop-shadow(0 0 6px #3cbaff)}
.phone-actions{display:flex;gap:18px;margin:8px 0}
.phone-icon-link{display:grid;place-items:center;width:60px;height:60px;border:1px solid #ffffff;border-radius:18px;background:linear-gradient(135deg,#fff,#bfddff,#d1f6ff);background-size:220%;box-shadow:-3px 5px 14px #008cff30,5px 8px 18px #746cea25;animation:cta-light 5s infinite;transition:transform .4s,box-shadow .4s}
.phone-icon-link svg{width:27px;height:27px;fill:none;stroke:#2277ca;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;animation:icon-neon 4s infinite alternate}
.phone-icon-link:hover{transform:translateY(-6px) rotate(-6deg);box-shadow:-5px 10px 24px #008cff55,6px 10px 24px #716ded55}
.creator-link canvas{filter:drop-shadow(0 0 5px #30caff65);animation:creator-breath 5s ease-in-out infinite}
.service-field{min-width:0;margin-bottom:24px;font-size:12px;display:grid;gap:10px;align-content:start}
.service-picker{position:relative;min-width:0}
.service-trigger{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid #8dc9f0;border-radius:10px;padding:12px 14px;color:var(--ink);font-size:13px;background:linear-gradient(115deg,#f7fcff,#cce8ff,#e1e4ff);background-size:220%;box-shadow:inset 0 1px white,0 5px 16px #358fc323;animation:cta-light 6s infinite;transition:box-shadow .3s}
.service-trigger:hover,.service-picker.is-open .service-trigger{box-shadow:0 0 0 3px #67caff30,0 8px 22px #507fe636}
.picker-chevron{font-size:23px}.service-picker.is-open .picker-chevron{rotate:180deg}
.service-options{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:12;max-height:290px;overflow:auto;padding:7px;border:1px solid #fff;border-radius:14px;background:linear-gradient(145deg,#f3fbfffa,#dceafffa);backdrop-filter:blur(24px);box-shadow:-8px 15px 32px #2ba5df33,12px 22px 40px #6776d838;animation:reveal .25s var(--ease)}
.service-options[hidden]{display:none}
.service-options button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 8px;border:0;border-radius:8px;background:transparent;text-align:left;color:var(--ink);font-size:12px;transition:background .2s,transform .2s}
.service-options button:hover,.service-options button:focus-visible,.service-options button[aria-selected="true"]{background:linear-gradient(110deg,#a9e7ff88,#c4cfff99);outline-offset:-2px;transform:translateX(2px)}
.option-number{font:11px Consolas,monospace;color:#207bc3;flex-shrink:0}
.contact-form:focus-within{z-index:5;transform:none!important}
.service-selecting .wa-contract{visibility:hidden;pointer-events:none}
@keyframes azure-current{from{transform:translate(-4%,-3%) scale(1);opacity:.65}to{transform:translate(5%,4%) scale(1.12);opacity:1}}
@keyframes caustic-wave{from{transform:translate(-3%,5%) rotate(-18deg)}to{transform:translate(5%,-7%) rotate(7deg)}}
@keyframes icon-neon{from{color:#0879b4;filter:drop-shadow(0 0 2px #29b6ff33)}to{color:#5363d6;filter:drop-shadow(0 0 5px #28c4ec88)}}
@keyframes creator-breath{50%{filter:drop-shadow(0 0 8px #3ba5ec80);translate:0 -2px}}

[data-tilt]{transition:transform .5s var(--ease),box-shadow .5s;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--press,1))}.reading .dossiers .service-dossier{animation-play-state:paused}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused [data-tilt]{transform:none!important}
@keyframes atmosphere{50%{transform:rotate(24deg) translate(5%,-4%) scale(1.1)}}@keyframes tide{50%{transform:rotate(-8deg) translateY(50px)}}@keyframes shine{0%,50%{transform:translateX(-85%)}85%,100%{transform:translateX(85%)}}@keyframes cta-light{50%{background-position:100% 50%}}@keyframes float-plane{50%{translate:0 -16px;rotate:2deg}}@keyframes ribbon-turn{50%{transform:rotateX(48deg) rotateY(-22deg) rotate(65deg)}}@keyframes float-card{50%{translate:0 -7px}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes podium-light{0%,65%,100%{translate:0 0}30%{translate:0 -9px;box-shadow:inset 1px 1px white,10px 14px 0 #799c9d18,0 24px 44px #479a8a55}}@keyframes step-light{0%,65%,100%{translate:0 0}30%{translate:0 -7px;box-shadow:0 18px 32px #4c98943b}}
@media(min-width:1500px){.document-stage{min-height:650px}.crystal-document{width:430px;padding:40px}.crystal-document h1{font-size:40px}}
@media(max-width:1050px){.section{padding:80px 36px}.hero{gap:20px}.hero h2{font-size:62px}.hero-composition{scale:.86;transform-origin:left center}.about,.experience,.contact,.faq{gap:36px}.catalog-layout{grid-template-columns:220px 1fr;gap:30px}.catalog-aside{padding:24px}.dossier-body ul{grid-template-columns:1fr}.method-steps{gap:12px}.method-steps article{padding:24px 18px}.podium-step{padding:25px}.podium-step strong{font-size:25px}.firm-facts{gap:20px;flex-wrap:wrap}.footer-top>.micro{display:none}}
@media(max-width:760px){html{scroll-padding-top:84px}.section{padding:68px 24px}.header{padding:16px 24px}.header nav{display:none;position:absolute;top:80px;left:16px;right:16px;padding:22px;border:1px solid #fff;border-radius:6px 24px 6px 6px;background:#f2f6ecef;backdrop-filter:blur(20px);box-shadow:var(--shadow)}.header nav.is-open{display:grid;gap:12px}.header nav a{font-size:18px;padding:13px}.menu-toggle{display:block;width:44px;height:44px;border:1px solid #afc7bc;border-radius:6px;background:#fff9}.entry-top{padding:18px 20px;min-height:80px}.entry-top>.micro{display:none}.entry-top .wordmark{font-size:20px}.entry-top .motion-control{font-size:9px;padding:8px 12px}.entry-bottom{justify-content:center;padding:20px}.entry-bottom>.micro,.entry-progress{display:none}.document-stage{min-height:540px;padding:20px}.crystal-document{width:min(350px,86vw);padding:24px}.crystal-document h1{font-size:32px}.crystal-document h1 em{font-size:30px}.doc-seal{margin-block:20px 16px}.hero{grid-template-columns:1fr;padding-top:48px}.hero h2{font-size:clamp(50px,9vw,68px)}.hero-composition{scale:1;width:100%;max-width:440px;margin:0 auto;min-height:570px}.ledger-panel{top:230px;left:0;width:310px}.hero-baseline{font-size:8px;gap:20px;margin-top:30px}.hero-baseline>span{max-width:180px}.about,.experience,.contact,.faq{grid-template-columns:1fr;gap:32px}.about h2,.contact h2{font-size:44px}.section-heading{display:block;margin-bottom:36px}.section-heading>p{margin-top:24px}.catalog-layout{grid-template-columns:1fr}.catalog-aside{position:relative;top:0;display:grid;grid-template-columns:100px 1fr;column-gap:20px;padding:24px}.mini-sculpture{grid-row:1/5;height:160px;scale:.65}.catalog-aside h3{font-size:24px;margin:10px 0}.catalog-aside h3 br{display:none}.catalog-aside .micro{font-size:8px}.catalog-aside p,.catalog-tags{display:none}.catalog-aside .text-link{justify-self:start}.service-dossier summary{gap:13px;padding:24px 15px}.service-dossier strong{font-size:18px}.service-index{font-size:18px;width:24px}.service-dossier small{font-size:11px;line-height:1.5}.dossier-body{padding:0 20px 24px 50px}.dossier-phrase{left:52px;font-size:7px}.podium{gap:10px;margin-top:50px}.podium li{--height:190px}.podium li:nth-child(2){--height:235px}.podium li:nth-child(3){--height:280px}.podium-step{padding:15px 12px}.podium-level{font-size:40px;left:12px;top:15px}.podium-step strong{font-size:20px}.podium-step small{font-size:6px;letter-spacing:.05em}.podium-arrow{top:15px;right:10px;font-size:18px}.method-steps{grid-template-columns:1fr 1fr;gap:16px}.procedure-list{grid-template-columns:1fr}.footer{padding:32px 24px 24px}.footer-top{gap:20px}.footer-top .wordmark{font-size:20px}.footer-top .text-link{font-size:11px;gap:12px}.footer-bottom{flex-wrap:wrap;gap:16px;padding-right:55px}.footer-bottom>span{display:none}.creator-link{min-height:145px}.creator-invitation{font-size:7px}.wa-contract{right:12px;bottom:12px}.contact-form{padding:25px}}
@media(max-width:390px){.section{padding-inline:20px}.hero h2{font-size:48px}.hero-composition{min-height:540px}.ledger-panel{width:270px;padding:22px;top:210px}.ledger-panel h3{font-size:29px}.actions{gap:18px;flex-wrap:wrap}.button{padding:15px 20px;gap:22px}.form-row{grid-template-columns:1fr;gap:0}.crystal-document h1{font-size:28px}.crystal-document h1 em{font-size:27px}.doc-sub{font-size:12px}.podium{gap:7px}.podium-step strong{font-size:17px}.podium-step small{font-size:6px}.method-steps{grid-template-columns:1fr}.contact-links{font-size:12px}.contact-link{font-size:12px;gap:10px}.entry-top .monogram{width:35px;height:40px}.entry-top .wordmark{font-size:18px}.entry-top{padding-inline:15px}.document-stage{min-height:510px}.creator-name{font-size:38px}}

/* Guided experience: restrained slate, mineral teal and champagne accents. */
.welcome-name{margin:18px 0 20px}.welcome-name label{display:block;font-size:12px;margin-bottom:8px;color:var(--muted)}
.name-input-row{display:flex;gap:8px}.name-input-row input{min-width:0;width:100%;padding:12px;border:1px solid #9dbbc8;border-radius:8px;background:#f6fbffb8;color:var(--ink);font-size:14px}
.name-input-row button{width:44px;flex-shrink:0;border:1px solid #fff;border-radius:8px;background:linear-gradient(130deg,#335976,#54888f);color:white;font-size:23px}
.welcome-name small{display:block;font-size:10px;line-height:1.5;margin-top:8px;color:var(--muted)}
.ledger-panel:focus-within{transform:none!important;animation-play-state:paused}
.ledger-panel h3{font-size:32px;margin-bottom:14px}
.hero-composition{min-height:800px}
.podium li{position:relative;--sequence-a:#d6e6ef;--sequence-b:#a6c4d7}
.podium li:nth-child(2){--sequence-a:#eae5d8;--sequence-b:#d2c5a7}
.podium li:nth-child(3){--sequence-a:#d7e9e3;--sequence-b:#9abfb7}
.podium li .podium-step{animation:none;transition:translate 1.5s cubic-bezier(.2,.7,.2,1),background 1.5s,box-shadow 1.5s;background:linear-gradient(135deg,#f5f8f9,#e1e9ef)}
.podium li .podium-step.sequence-active{translate:0 -18px;background:linear-gradient(140deg,#fbfcfa,var(--sequence-a) 45%,var(--sequence-b));box-shadow:inset 0 1px white,8px 18px 0 #6d88921c,0 26px 40px #496f8738}
.method-steps article{--sequence-a:#d6e6ef;--sequence-b:#b9cedc;animation:none!important;transition:translate 1.4s,box-shadow 1.4s,background 1.4s}
.method-steps article:nth-child(2){--sequence-a:#e1e5ed;--sequence-b:#bfc9da}
.method-steps article:nth-child(3){--sequence-a:#dfebe7;--sequence-b:#abc9c0}
.method-steps article:nth-child(4){--sequence-a:#ede7da;--sequence-b:#d3c5a7}
.method-steps article.sequence-active{translate:0 -12px;background:linear-gradient(145deg,#fcfdfb,var(--sequence-a) 40%,var(--sequence-b));box-shadow:0 20px 38px #355e7e30,inset 0 1px white}
.context-help{display:grid;place-items:center;width:30px;height:30px;border:1px solid #91b0c5;border-radius:50%;background:linear-gradient(145deg,#fff,#d1e2ec);color:#345e7a;font:italic 17px Georgia,serif;box-shadow:0 3px 12px #4e7b911f;transition:transform .3s,box-shadow .3s}
.context-help:hover{transform:translateY(-3px);box-shadow:0 5px 16px #346f8c42}.method-steps .context-help{margin-top:20px}
.podium li>.context-help{position:absolute;right:20px;bottom:20px;z-index:3}
.dossier-body>.context-help{margin-top:12px}.faq-answer .context-help{position:relative;margin:12px 0 0 auto}
.faq details[open]{background:linear-gradient(125deg,#f7fafc,#e3edf3,#e7eeea);border:1px solid #b9d0dc;border-radius:8px 22px 8px 8px;box-shadow:0 12px 30px #395e7a15}
.faq-answer{position:relative;isolation:isolate;overflow:hidden;padding:20px 16px;border-radius:6px;background:linear-gradient(130deg,#eef5f8d9,#d7e7efad,#e8e5d58c);margin-bottom:18px}
.faq-answer>p{position:relative;z-index:1;margin:0;line-height:1.8}
.faq-data{position:absolute;left:-50%;width:200%;top:35%;font:13px Consolas,monospace;color:#718b9b;opacity:.16;white-space:nowrap;pointer-events:none;rotate:-10deg;animation:marquee 24s linear infinite;z-index:0}
.document-current{position:absolute!important;inset:0;width:100%;height:100%;z-index:0!important;pointer-events:none;opacity:.35}
.method .section-heading,.method .method-steps,.footer>div:not(.footer-atmosphere),.footer>.creator-link{position:relative;z-index:1}
.footer-company{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:48px 0 12px;padding:26px;border:1px solid #ffffffaa;border-radius:5px 25px 5px 5px;background:#f0f5f8aa;backdrop-filter:blur(8px)}
.footer-company h2{font-size:28px;letter-spacing:-.025em;margin:0 0 12px}.footer-company p,.footer-company a,.footer-company address{font-size:13px;line-height:1.8;font-style:normal;color:var(--muted);overflow-wrap:anywhere}
.footer-company p{margin:0}.footer-company a:hover{color:var(--teal)}.footer-company address{margin-top:10px}
.map-card{margin:22px 0;border:1px solid #abc4d3;border-radius:10px 24px 10px 10px;overflow:hidden;background:#f4f8fa;box-shadow:0 12px 32px #31547218}
.map-heading{display:flex;justify-content:space-between;gap:15px;padding:15px 18px;align-items:center;background:linear-gradient(120deg,#e2ecf3,#d4e3e8)}
.map-heading a{font-size:12px;color:#315a77}.map-heading .micro{font-size:9px}
.map-card .map-frame{height:300px;margin:0;border:0;border-radius:0;box-shadow:none;background:#e2eaf0}
.map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:radial-gradient(ellipse at 50% 35%,#fff9,transparent 65%),linear-gradient(140deg,#dce9f0,#c7dce4)}.map-placeholder[hidden],.map-frame iframe[hidden]{display:none}.map-placeholder>span{font-size:42px;color:#567e91}.map-placeholder strong{font-size:15px;color:#31556d}.map-placeholder .button{font-size:12px}.map-card .map-placeholder p{padding:8px 0 18px}
.map-card p{font-size:11px;line-height:1.65;padding:14px 18px;margin:0;color:var(--muted)}
.assistant-dock{position:fixed;left:24px;bottom:22px;z-index:45;display:flex;align-items:start;gap:5px}
.assistant-dock[hidden],.firm-assistant[hidden],.assistant-return[hidden]{display:none}
.assistant-return{position:fixed;left:16px;bottom:18px;z-index:45;padding:12px 16px;border:1px solid #bacdd7;border-radius:24px;background:#f2f7faf2;color:#31536d;box-shadow:0 5px 16px #34597425;font-size:11px}
.assistant-launcher{display:grid;justify-items:center;gap:7px;padding:0;border:0;background:transparent;font-size:10px;color:var(--ink)}
.calculator-bot{position:relative;width:58px;height:75px;display:grid;gap:7px;padding:9px 8px;border:1px solid #fff;border-radius:14px 14px 9px 9px;background:linear-gradient(140deg,#f3f8fc,#bdd2df,#8eafbf);box-shadow:inset 0 1px white,0 10px 22px #36597435;animation:robot-breathe 5s ease-in-out infinite}
.calculator-bot:before,.calculator-bot:after{content:"";position:absolute;top:32px;width:5px;height:19px;border-radius:4px;background:#789aaa}.calculator-bot:before{left:-5px}.calculator-bot:after{right:-5px}
.bot-screen{display:flex;justify-content:center;align-items:center;gap:9px;border:1px solid #b2d3dd;border-radius:6px;background:#284b60;height:22px}
.bot-screen i{display:block;width:5px;height:5px;background:#b7eceb;border-radius:50%;box-shadow:0 0 5px #a1dcf4;animation:robot-blink 7s infinite}
.bot-keys{font:11px/1.3 Consolas,monospace;letter-spacing:6px;text-align:center;padding-left:5px;color:#315c76}
.assistant-dismiss{width:24px;height:24px;border-radius:50%;border:1px solid #bdd0db;background:#f2f7fa;color:#426278;font-size:16px}

.firm-assistant h2{font-size:27px;line-height:1.2;letter-spacing:-.025em;margin:0 0 18px}

.entry-open .assistant-dock,.entry-open .firm-assistant,.service-selecting .assistant-dock{visibility:hidden}
@keyframes robot-breathe{50%{translate:0 -4px;rotate:2deg}}@keyframes robot-blink{0%,44%,48%,100%{scale:1 1}46%{scale:1 .15}}
@media(max-width:760px){.hero-composition{min-height:900px}.footer-company{grid-template-columns:1fr;gap:18px;padding:22px;margin-top:30px}.footer-top{flex-wrap:wrap}.assistant-dock{left:14px;bottom:14px}.footer-bottom{padding-bottom:75px}.podium li>.context-help{right:12px;bottom:12px;width:25px;height:25px}.podium-step{padding-bottom:45px}.document-current{opacity:.25}.map-card .map-frame{height:290px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.crystal-document{opacity:1;transform:none}.particles-active .creator-name{opacity:1}.creator-link canvas{display:none}}

/* Centered local chat: compact, expanded, minimized to eyes. */
body.assistant-open{overflow:hidden}
.firm-assistant{display:none;position:fixed;inset:0;margin:auto;padding:0;width:min(560px,calc(100vw - 32px));height:min(730px,calc(100svh - 40px));max-width:none;max-height:none;border:1px solid #e6eff4;border-radius:18px;color:var(--ink);background:linear-gradient(145deg,#f3f8fb,#e5eef3);box-shadow:0 30px 100px #17344855;overflow:hidden}
.firm-assistant[open]{display:flex;flex-direction:column;animation:chat-arrive .3s var(--ease)}
.firm-assistant::backdrop{background:#213f5a45;backdrop-filter:blur(5px)}
.firm-assistant.is-expanded{width:calc(100vw - 32px);height:calc(100svh - 32px)}
.firm-assistant.is-expanded::backdrop{background:#213f5a60;backdrop-filter:blur(9px)}
.chat-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #b9ccd766;background:linear-gradient(120deg,#edf5f9,#d7e6ef);flex-shrink:0}
.chat-header .micro{font-size:8px}.chat-header h2{font-size:19px;letter-spacing:-.025em;margin:4px 0 0;line-height:1.2}
.chat-avatar{width:45px;height:42px;flex-shrink:0;border:1px solid #b2cbd9;border-radius:12px;background:linear-gradient(135deg,white,#9ebccb);padding:5px}.chat-avatar .bot-screen{width:100%;height:24px;gap:8px}
.chat-window-controls{display:flex;gap:4px;margin-left:auto}.chat-window-controls button{width:34px;height:36px;border:1px solid transparent;border-radius:9px;background:#fff6;font-size:20px;color:#42637a}.chat-window-controls button:hover{background:#c7dde9;border-color:#94b4c9}
.chat-layout{position:relative;display:grid;grid-template-columns:1fr;flex:1;min-height:0}
.chat-catalog{display:none;overflow:auto;padding:20px;background:linear-gradient(160deg,#dbe9f1f5,#edf3f6f5);border-right:1px solid #b5ccda60}
.is-expanded .chat-layout{grid-template-columns:260px 1fr}.is-expanded .chat-catalog{display:block}
.catalog-open:not(.is-expanded) .chat-catalog{display:block;position:absolute;inset:0 15% 0 0;z-index:5;box-shadow:12px 0 35px #24476235;backdrop-filter:blur(20px)}
.chat-catalog .micro{font-size:9px;margin:4px 0 15px}.chat-service-list,.chat-reading-list{display:grid;gap:7px;margin-bottom:24px}
.chat-catalog button{border:1px solid #bfd2de;border-radius:8px;padding:12px;background:#f9fcfbbb;color:#284a62;text-align:left;transition:background .3s,translate .3s}
.chat-catalog button:hover{background:linear-gradient(110deg,#c3dfeb,#d6e1ed);translate:2px 0}.chat-catalog strong{display:block;font-size:12px;font-weight:600}.chat-catalog small{display:block;font-size:10px;line-height:1.5;margin-top:5px;color:#557083}.chat-reading-list button{font-size:12px}
.chat-conversation{display:flex;flex-direction:column;min-width:0;min-height:0;background:radial-gradient(ellipse at 100% 0,#e1edf3,transparent 65%)}
.chat-messages{overflow:auto;flex:1;min-height:0;padding:22px;scroll-behavior:auto}
.chat-message{width:fit-content;max-width:96%;padding:16px 18px;border-radius:4px 18px 18px 18px;border:1px solid #cfdee8;background:#ffffffc9;box-shadow:0 5px 18px #335c7910;margin:0 0 18px;animation:reveal .25s var(--ease);overflow-wrap:anywhere}
.chat-message.user{margin-left:auto;background:linear-gradient(130deg,#d0e4ee,#dce6f2);border-color:#b4cfdf;border-radius:18px 4px 18px 18px}
.message-author{display:block;font:9px Consolas,monospace;letter-spacing:.06em;color:#50748d;margin-bottom:8px}
.chat-message p{font-size:13px;line-height:1.8;margin:0 0 12px}.chat-message p:last-child{margin:0}.chat-message ul{padding-left:18px;margin:12px 0;font-size:12px;line-height:1.8}.chat-message li{margin-bottom:7px}
.chat-source,.chat-contact{display:inline-block;font-size:11px;line-height:1.7;color:#316889;border-bottom:1px solid #a3bfce;margin-top:8px}.chat-source:hover,.chat-contact:hover{color:#154761;background:#d4e8f2}
.chat-suggestions{display:flex;gap:7px;flex-wrap:wrap;padding:0 18px 10px;flex-shrink:0}
.chat-suggestions button{border:1px solid #aac6d7;border-radius:16px;padding:7px 11px;background:linear-gradient(140deg,#f7fafc,#dcebf2);color:#315973;font-size:10px;transition:box-shadow .3s}
.chat-suggestions button:hover{box-shadow:0 3px 10px #4e8caf33}
.chat-compose{padding:0 18px 8px;flex-shrink:0}.chat-input-label{display:block;font-size:11px;color:#4a677a;margin:0 0 7px}
.chat-compose>div{display:flex;gap:8px;padding:5px;background:#fff;border:1px solid #a5c4d6;border-radius:12px;box-shadow:0 3px 12px #46738e12}
.chat-compose input{width:100%;min-width:0;border:0;background:transparent;padding:9px;font-size:13px;color:#23485f;outline-offset:0}
.chat-compose button{width:40px;min-height:40px;flex-shrink:0;border:0;border-radius:9px;background:linear-gradient(140deg,#315974,#4c818c);color:white;font-size:23px}
.chat-disclaimer{font-size:9px;line-height:1.5;color:#60798a;margin:0;padding:0 20px 10px;flex-shrink:0}
.chat-tools{display:flex;align-items:center;justify-content:end;gap:12px;padding:10px 18px;background:#e4edf3;border-top:1px solid #c5d8e3;flex-wrap:wrap;flex-shrink:0}
.chat-greeting{margin-right:auto;font-size:10px;color:#4b6c81}.chat-tools button{border:0;border-bottom:1px solid #afc4d1;padding:5px 0;background:transparent;font-size:10px;color:#46677c}
.eyes-mode .calculator-bot{width:52px;height:28px;padding:0;background:none;border:0;box-shadow:none;animation:robot-breathe 6s infinite}
.eyes-mode .calculator-bot:before,.eyes-mode .calculator-bot:after,.eyes-mode .bot-keys,.eyes-mode .assistant-launcher>span:last-child,.eyes-mode .assistant-dismiss{display:none}
.eyes-mode .bot-screen{height:28px;width:52px;gap:12px;border-radius:18px;box-shadow:0 5px 18px #26486330;background:linear-gradient(140deg,#345771,#477681)}
.eyes-mode .bot-screen i{animation:eye-look 8s ease-in-out infinite}
.footer .document-current{opacity:.52}
@keyframes chat-arrive{from{opacity:0;scale:.97}to{opacity:1;scale:1}}
@keyframes eye-look{0%,100%{translate:0 0;scale:1}25%{translate:3px 0}50%{translate:-3px 0}72%{scale:1}75%{scale:1 .1}78%{scale:1}}
@media(min-width:1000px){.is-expanded .chat-messages{padding:32px max(28px,calc((100vw - 1100px)/2))}.is-expanded .chat-compose,.is-expanded .chat-suggestions,.is-expanded .chat-disclaimer{padding-left:32px;padding-right:32px}.is-expanded .chat-message{max-width:85%}.is-expanded .chat-message p{font-size:15px}}
@media(max-width:760px){.firm-assistant,.firm-assistant.is-expanded{width:calc(100vw - 16px);height:calc(100svh - 20px);border-radius:12px}.is-expanded .chat-layout{grid-template-columns:1fr}.is-expanded .chat-catalog{display:none}.catalog-open .chat-catalog,.catalog-open.is-expanded .chat-catalog{display:block;position:absolute;inset:0 8% 0 0;z-index:5;box-shadow:12px 0 35px #24476235}.chat-header{padding:12px 10px;gap:8px}.chat-header h2{font-size:15px}.chat-header .micro{font-size:7px}.chat-window-controls{gap:2px}.chat-window-controls button{width:30px}.chat-messages{padding:15px}.chat-message{padding:12px 14px}.chat-tools{padding:9px 12px;gap:10px}.chat-greeting{width:100%}.chat-avatar{width:36px;padding:4px}.chat-header h2{max-width:120px}.chat-disclaimer{font-size:8px}.footer .document-current{opacity:.4}}
@media(prefers-reduced-motion:reduce){.firm-assistant[open],.chat-message{animation:none}.eyes-mode .bot-screen i{animation:none}}
/* Ink & copper: an editorial hierarchy, with warm highlights reserved for action. */
.header{background:#101e2af2;color:#edf0f2;border-bottom:1px solid #d7b08530}
.header .monogram{background:linear-gradient(135deg,#263d4e,#101e2a);color:#f0c997;border-color:#9a754954;box-shadow:none}
.header .nav-veil{opacity:.15;background:linear-gradient(100deg,#c08a4418,transparent)}
.header .nav-veil span{color:#d9b586}
.header nav a:after{background:linear-gradient(90deg,#c48052,#f0c589)}
.button,.signature-button{background:linear-gradient(115deg,#884c32,#a9633e 48%,#72503a);background-size:220% 100%;box-shadow:inset 0 1px #ffffff40,0 8px 22px #512c2526;border-color:#dcb28a70}
.button:hover,.button:focus-visible{box-shadow:0 12px 28px #9b5d3438,0 0 16px #e59b552b}
.button>span{color:#fff0d8;text-shadow:none}
.text-link:hover{color:#9c5938;text-shadow:0 0 15px #c88a4530}
#contenido{background:#f3f1ed}
.hero{background:radial-gradient(ellipse at 90% 25%,#3b52684a,transparent 55%),radial-gradient(ellipse at 65% 80%,#96533330,transparent 48%),linear-gradient(130deg,#0b1722,#1b2d3b);color:#f1f0ed;padding-top:84px;min-height:780px}
.hero h2{font-size:clamp(48px,5.1vw,74px);line-height:1.08;letter-spacing:-.045em}
.hero h2 em{color:#e9b57f}
.hero-copy>p:not(.eyebrow),.hero-bottom{color:#bdc8ce}
.hero .eyebrow,.hero-baseline{color:#bc9c79}
.hero .text-link{color:#ecceaa;border-color:#b08b6266}
.hero .tiny-seal{color:#e2b382;border-color:#ba8b5f70}
.hero .status-dot{background:#c89a6a;box-shadow:0 0 12px #e6ac5770}
.hero-composition{min-height:660px;scale:1;transform-origin:center}
.hero .ledger-panel{top:125px;left:12%;width: min(350px,85%);color:var(--ink);rotate:-3deg;background:linear-gradient(140deg,#fffdf8f5,#dddedaed);border-color:#d0b69680;box-shadow:0 32px 70px #0005,inset 0 1px #fff}
.ledger-architecture{position:absolute;inset:0;pointer-events:none;perspective:1000px}
.archive-plane{position:absolute;width:65%;height:330px;right:2%;top:20px;padding:30px;border:1px solid #d0b59566;border-radius:3px;background:linear-gradient(140deg,#61778945,#23364570);box-shadow:10px 20px 40px #0003;transform:rotateY(-15deg) rotateZ(10deg);animation:archive-drift 12s ease-in-out infinite}
.archive-plane span{font:8px Consolas,monospace;letter-spacing:.18em;color:#d8b893}
.archive-plane i{display:block;height:28px;border-bottom:1px solid #a7b6bf35;background:linear-gradient(90deg,transparent 65%,#b0885430 65%,transparent 66%)}
.archive-plane b{font:44px Georgia,serif;display:block;margin-top:35px;color:#b7976c80}
.plane-front{top:82px;right:11%;height:340px;transform:rotateY(-8deg) rotateZ(4deg);background:linear-gradient(150deg,#bd9a6825,#91a4b51a);animation-delay:-5s}
.copper-axis{position:absolute;right:5%;top:0;width:1px;height:88%;background:linear-gradient(transparent,#edbb7966,transparent);transform:rotate(19deg);box-shadow:0 0 28px 7px #d18d4920}
@keyframes archive-drift{50%{translate:0 -12px;rotate:-2deg}}
.hero-baseline{border-color:#cfb08530}
.about,.experience{background:linear-gradient(120deg,#f8f6f1ed,#e8edf0bd)}
.services,.method,.contact{background:linear-gradient(125deg,#e8edf0cf,#f1eee8e8)}
.ticker{background:linear-gradient(110deg,#253b4b,#172a38,#443b33);color:#d3c1aa;border-color:#ffffff15}
.ticker i{color:#c69462}
.contact-icon,.expand-mark{background:linear-gradient(135deg,#f3e8d9,#d8e0e5);box-shadow:0 0 10px #b9864020;color:#8a5834}
.contact-icon,.expand-mark,.service-index,.podium-arrow,.monogram>span,.text-link>span,.picker-chevron{color:#a56a3e;text-shadow:0 0 8px #cc965838;animation-name:copper-icon}
@keyframes copper-icon{to{filter:drop-shadow(0 0 3px #d5995645)}}
.footer{padding-top:48px;background:#0c1924;color:#e9edef}
.footer-atmosphere{background:radial-gradient(ellipse at 88% 65%,#80513320,transparent 55%),linear-gradient(125deg,#101e2b,#09151e)}
.footer-atmosphere:before{background:linear-gradient(115deg,transparent 35%,#b5814930,transparent 65%);border-radius:0;filter:blur(70px);animation-duration:22s}
.footer-top{padding-bottom:28px;border-color:#a8b6be25}
.footer-top .wordmark{font-size:25px}
.footer .monogram{background:linear-gradient(140deg,#314554,#142735);color:#ecc18f;border-color:#9a825f60;box-shadow:none}
.footer-top .text-link{font-size:11px;font-weight:400;color:#b4c0c8;border-color:#8f9da64a}
.footer-company{grid-template-columns:1fr 1fr;gap:64px;background:none;border:0;border-radius:0;backdrop-filter:none;padding:0;margin:42px 0 24px}
.footer-company .micro{display:block;color:#bba287;font-size:9px;margin-bottom:18px;letter-spacing:.16em}
.footer-company h2{font-size:clamp(25px,3vw,36px);line-height:1.3;color:#e0e5e7;letter-spacing:-.035em}
.footer-company a,.footer-company address{color:#b9c4cc;font-size:14px;line-height:1.9}
.footer-company address{margin-top:20px}
.footer-company a:hover{color:#f0bf88}
.creator-link{min-height:128px;width:min(320px,100%);margin:12px auto 28px;border-top:1px solid #b5854f40;border-bottom:1px solid #b5854f26;background:radial-gradient(ellipse,#d47a3610,transparent 70%)}
.creator-link>.micro{color:#bfac97;font-size:8px}
.creator-name{font-size:40px;background:linear-gradient(100deg,#ef765c,#eaa361,#f4d58c);background-clip:text}
.creator-invitation{color:#bda78e;font-size:8px}
.creator-link canvas{filter:drop-shadow(0 0 5px #e89b4a55);animation:creator-warmth 7s ease-in-out infinite}
.creator-link:hover canvas{filter:drop-shadow(0 0 8px #ed945d88)}
@keyframes creator-warmth{50%{filter:drop-shadow(0 0 7px #e4894e66);translate:0 -1px}}
.footer-bottom{color:#a0b0bb;border-color:#a8b6be25;font-size:9px}
.footer .motion-control{background:#24344066;color:#c1ccd3;border-color:#8c9aa544}
.footer .document-current{opacity:.65}
.entry-atmosphere{background:radial-gradient(ellipse at 80% 75%,#a06a3822,transparent 50%),linear-gradient(130deg,#e8edf0,#f0e7d9)}
.entry-atmosphere:after{display:block}
@media(max-width:1050px){.hero .ledger-panel{left:3%;width:90%}.hero h2{font-size:58px}}
@media(max-width:760px){.header nav{background:#152735f5;border-color:#a7b4be33}.menu-toggle{background:#263a49;color:#efdfcd;border-color:#a7b4be55}.hero{padding-top:48px}.hero h2{font-size:clamp(44px,9vw,64px)}.hero-composition{min-height:660px;max-width:440px}.hero .ledger-panel{top:100px;left:7%;width:86%;padding:24px}.archive-plane{height:300px;right:2%;width:72%}.footer-company{grid-template-columns:1fr;gap:24px;margin-top:32px}.footer-top{gap:20px}.footer .creator-link{min-height:128px}.footer-company h2{font-size:28px}.hero-baseline{margin-top:0}.creator-name{font-size:38px}}
@media(max-width:390px){.hero h2{font-size:44px}.hero-composition{min-height:680px}.hero .ledger-panel{left:0;width:100%;top:105px;padding:22px}.archive-plane{right:0;width:84%}.footer-company a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.archive-plane,.creator-link canvas{animation:none}}

/* Final palette — midnight blue / burnt ochre / deep petrol. */
:root{--ink:#f0eee8;--muted:#bac7ca;--blue:#142d40;--teal:#83c9bd;--gold:#e5b47a;--paper:#101f2d;--line:#98afa63b;--shadow:0 20px 48px #00000030;--surface-blue:#1a3345;--surface-petrol:#1d4143;--surface-ochre:#48382a;--accent-copper:#e1a16d;--accent-aqua:#83c9bd}
body{color-scheme:dark}
#contenido{background:var(--paper)}
.section{border-bottom:1px solid #b4b9a817}
.hero{background:radial-gradient(ellipse at 85% 20%,#31646455,transparent 55%),radial-gradient(ellipse at 70% 80%,#80602f38,transparent 50%),linear-gradient(130deg,#0d1c2b,#18333d)}
.about,.experience{background:linear-gradient(120deg,#142b3aef,#203f42e8)}
.services,.contact{background:radial-gradient(ellipse at 5% 50%,#69512d30,transparent 65%),linear-gradient(130deg,#152b3aed,#203a40ee)}
.perspectives,.procedures{background:linear-gradient(125deg,#253d40ed,#44362ced)}
.method{background:linear-gradient(120deg,#403329ed,#163642f2)}
.faq{background:linear-gradient(130deg,#142a38f5,#233f41f2)}
h1 em,h2 em,.hero h2 em{color:var(--accent-copper)}
.eyebrow,.micro,.contract-stamp,.panel-top,.panel-bottom,.document-data,.doc-bar,.doc-sub,.signature-note{color:#c3c6bb}
.glass,.hero .ledger-panel,.crystal-document,.contract-sheet,.catalog-aside,.contact-form,.experience-list article{color:var(--ink);background:linear-gradient(140deg,#29454eea,#1b303ceF 60%,#43382dea);border-color:#b1ad9152;box-shadow:inset 0 1px #d8d6bd26,var(--shadow)}
.hero .ledger-panel{color:var(--ink)}
.crystal-document:after{border-color:#cfb38650}
.entry{background:#101f2c;color:var(--ink)}
.entry-atmosphere{background-image:radial-gradient(ellipse at 20% 65%,#3b8d7866,transparent 54%),radial-gradient(ellipse at 80% 30%,#bc905047,transparent 55%),linear-gradient(115deg,#0c2230ad 0%,#102b3691 48%,#0a273499 100%),url('../images/intro-botanical-construction.webp');background-position:center;background-size:cover}
.entry-atmosphere:before{background:conic-gradient(from 50deg,transparent,#e7f3d745,transparent 30%,#dcad6355,transparent 64%,#75c9bd55,transparent);filter:blur(54px)}
.entry-atmosphere:after{border-color:#dff4df8c #9dd5c84a;box-shadow:0 -20px 80px #b6e7d65c}
.entry-bottom>.micro,.entry-progress{color:#c3c6bb}
.doc-seal{color:var(--gold);border-color:#c5945466}
.monogram{background:linear-gradient(135deg,#28424d,#172f3d);color:#e8c391;border-color:#b48c5755;box-shadow:inset 0 1px #d8d6bd26}
.motion-control{background:#253f4688;color:#d4ddd9;border-color:#99aba44a}
.button,.signature-button{background:linear-gradient(115deg,#74503a,#955c38 38%,#285954 74%,#735333);background-size:260% 100%;color:#fff5e7;border-color:#ddb88d70;animation:palette-flow 9s ease-in-out infinite;box-shadow:inset 0 1px #ffffff30,0 8px 25px #0003}
@keyframes palette-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.button:hover,.signature-button:hover{box-shadow:0 10px 30px #dc955331,0 0 18px #80c8b926}
.text-link{border-color:#8dab9c66;color:#e8bd8a}.text-link:hover{color:#a2e3d7;text-shadow:0 0 15px #83c9bd38}
.hero .text-link,.contact address span{color:#e8bd8a}
.ledger-option:hover,.procedure-list>span:hover{background:linear-gradient(110deg,#a2693735,#5caf9f30);box-shadow:0 0 18px #79bba51a}
.service-dossier,.service-dossier:nth-child(3n+2),.service-dossier:nth-child(3n),.service-dossier[open]{background:linear-gradient(115deg,#223c4a,#284344 65%,#40382d);border-color:#98aba438;box-shadow:inset 0 1px #d4c5a119,0 8px 24px #0002}
.service-dossier:nth-child(3n+2){background:linear-gradient(115deg,#213848,#343c36,#493a2b)}
.service-dossier[open]{background:linear-gradient(125deg,#2d494e,#1c3441 70%,#44372c)}
.service-dossier:hover,.service-dossier:focus-within{border-color:#c8976480;box-shadow:-3px 0 #cf9561,0 14px 34px #69b5a31c}
.dossier-phrase{color:#d9b785}
.contact-icon,.expand-mark,.service-dossier[open] .expand-mark,.context-help{color:#e9bd8b;background:linear-gradient(135deg,#3b514d,#263f4a);border-color:#98b7a34a;box-shadow:0 0 10px #89d6b914}
.service-index,.podium-arrow,.step-number{color:#e3b580}
.mini-sculpture:before,.mini-sculpture:after{border-color:#689a9380 #b58b5f80 #41596680 #c8b78c80;box-shadow:inset 2px 2px #c3cec333,0 15px 30px #0003}
.podium li .podium-step{background:linear-gradient(135deg,#2a464c,#213746);border-color:#b4b69f40;box-shadow:inset 0 1px #d0c3a326,8px 14px 0 #0002,0 22px 40px #0003}
.podium li .podium-step.sequence-active{background:linear-gradient(140deg,#345859,#29434b 50%,#65503a);background-size:200% 100%;animation:palette-flow 8s ease-in-out infinite;box-shadow:inset 0 1px #d7ba7650,8px 18px 0 #0002,0 20px 38px #98b99422}
.podium-level{color:#dfb681}
.method-steps article,.method-steps article:nth-child(2),.method-steps article:nth-child(3),.method-steps article:nth-child(4){--accent:#95c6b9;background:linear-gradient(145deg,#2c474b,#203541);border-color:#b4b69f40}
.method-steps article.sequence-active{background:linear-gradient(145deg,#4b4837,#315752,#243e48);box-shadow:0 16px 35px #0003,inset 0 1px #e0c18b60}
.faq details:hover,.faq details[open]{background:linear-gradient(130deg,#2c464a,#253847);border-color:#9cb39f42;box-shadow:0 12px 30px #0002}
.faq-answer{background:linear-gradient(130deg,#3c4942,#29434b,#453a2d)}
.faq-data{color:#ddc08b}.dossier-body li::marker{color:#cfad7a}
.contact-form input,.contact-form textarea,.contact-form select,.name-input-row input{background:#132b37;color:var(--ink);border-color:#8ca7a15c}
input::placeholder,textarea::placeholder{color:#a5b5b9;opacity:1}
.name-input-row button{background:linear-gradient(130deg,#6e4a31,#32615b);border-color:#b79b6c66;color:#ffead5}
.service-trigger{background:linear-gradient(120deg,#2e4a4c,#493d2e);color:var(--ink);border-color:#b49a715e}
.service-options{background:linear-gradient(135deg,#182e3cfa,#27433efa);border-color:#b49a715e}
.service-options button{color:var(--ink)}.service-options button:hover,.service-options button:focus,.service-options button[aria-selected=true]{background:linear-gradient(110deg,#78533988,#43867566);color:#fff1dc}
.option-number,.picker-chevron{color:#e6b984}
.map-card,.map-card .map-frame{background:#1b333f;border-color:#9d9e7840}
.map-heading{background:linear-gradient(120deg,#24474a,#44392c)}.map-heading a{color:#edc18e}
.map-placeholder{background:radial-gradient(ellipse,#4e736040,transparent 70%),linear-gradient(140deg,#24424b,#26363b)}
.map-placeholder strong,.map-placeholder>span{color:#d7c7a7}
.map-card p{color:var(--muted)}
.wa-paper{background:linear-gradient(145deg,#2c4c4f,#26333c);border-color:#d7b27366;box-shadow:4px 5px 0 #0003,0 10px 25px #0003}
.wa-paper b,.wa-paper em{color:#ebc394}.wa-paper i{background:#9fb9ae}
.wa-contract>span:last-child{background:#1e3942;border-color:#ad956d60;color:#e7cfaa}
.assistant-return,.assistant-dismiss{background:#203c46;color:#ead7b9;border-color:#ae956c60}
.calculator-bot,.chat-avatar{background:linear-gradient(135deg,#3e605d,#1c3544);border-color:#b8a47560}
.firm-assistant{background:linear-gradient(145deg,#1d3845,#203d3d);border-color:#a1b0a54a}
.chat-header,.chat-tools{background:linear-gradient(110deg,#233e4b,#364039);border-color:#a8b3a82a}
.chat-header .micro,.chat-greeting,.chat-tools button,.chat-input-label,.chat-disclaimer{color:#c4cecc}
.chat-window-controls button{background:#4a615b55;color:#e7cfac}
.chat-window-controls button:hover{background:#82614466;border-color:#cca77855}
.chat-catalog{background:linear-gradient(150deg,#223d47fa,#344139fa);border-color:#a8b3a82a}
.chat-catalog button{background:#1a323c;color:#ecebe2;border-color:#91a99e40}
.chat-catalog button:hover{background:linear-gradient(110deg,#604c37,#2c5e55)}
.chat-catalog small{color:#bdcbc8}
.chat-conversation{background:radial-gradient(ellipse at 100% 0,#50736820,transparent 65%)}
.chat-message{background:#213d48;color:#eceee8;border-color:#9fb2a338;box-shadow:0 5px 18px #0002}
.chat-message.user{background:linear-gradient(130deg,#51412f,#294d4a);border-color:#b8a57544}
.message-author{color:#d9be95}
.chat-source,.chat-contact{color:#b4e4d7;border-color:#85b4a575}
.chat-source:hover,.chat-contact:hover{color:#fff0d4;background:#54877444}
.chat-suggestions button{background:linear-gradient(135deg,#334d4d,#4b402f);color:#eedcc1;border-color:#b9a16d50}
.chat-compose>div{background:#102a36;border-color:#a7b8a65e}
.chat-compose input{color:#eceee8}
.chat-compose button{background:linear-gradient(130deg,#845b38,#32645c)}
.skip-link{background:#17303e;color:white}
.footer{background:#0d1d29}.footer-atmosphere{background-image:radial-gradient(ellipse at 80% 50%,#77563044,transparent 65%),linear-gradient(180deg,#0b2635a8 0%,#0d2731c2 45%,#0b202cef 100%),url('../images/footer-tropical-pavilion.webp');background-position:center,center,center 52%;background-size:cover}
.firm-facts b{color:#dfb680}
:focus-visible{outline-color:#a1ddce!important}
@media(max-width:760px){.header nav{background:#142d39f5}.service-options{background:#1d3740}}
@media(prefers-reduced-motion:reduce){.button,.signature-button,.podium li .podium-step.sequence-active{animation:none}}

/* Currents: readable alternating surfaces and section-local motion. */
.current-field{position:absolute!important;inset:0;width:100%;height:100%;z-index:0!important;pointer-events:none;opacity:1}
.about,.services,.experience,.faq,.contact{--ink:#193442;--muted:#4c6468;--teal:#286863;--gold:#86532c;color:var(--ink);color-scheme:light;background:linear-gradient(125deg,#f2ede3,#e4eeea)}
.about h2 em,.services h2 em,.experience h2 em,.contact h2 em{color:#80512f}
.about .eyebrow,.services .eyebrow,.about .firm-facts b{color:#78502e}
.services .section-heading>p,.about-copy p,.experience>div>p,.contact-copy>p,.faq p{color:var(--muted)}
.services .catalog-aside,.services .service-dossier,.contact-form,.experience-list article{--ink:#f0eee8;--muted:#c5d2d0;color:var(--ink)}
.services .catalog-aside .micro{color:#dcc8ad}
.services .service-dossier{position:relative;isolation:isolate}
.services .service-dossier[open]{animation:none;transform:none}
.dossier-phrase{opacity:.28;animation:dossier-current 14s linear infinite;pointer-events:none}
.service-dossier[open] .dossier-phrase{animation-play-state:paused;opacity:.45}
@keyframes dossier-current{0%{translate:12% 0}100%{translate:-18% 0}}
.service-dossier:after,.ledger-panel:after,.contact-form:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(220px circle at var(--light-x,50%) var(--light-y,50%),#83cfc126,transparent 75%);opacity:0;transition:opacity .35s}
.service-dossier:hover:after,.ledger-panel:hover:after,.contact-form:hover:after{opacity:1}
.service-dossier:hover,.service-dossier:focus-within{border-color:#8edcc3;box-shadow:-3px 0 #e69a76,0 15px 35px #1d55562b,0 0 18px #83cfc12b}
.button:hover,.button:focus-visible{background-size:200% 100%;box-shadow:0 13px 30px #ca81533b,0 0 22px #83cfc14a;translate:0 -2px}
.text-link{position:relative}.text-link:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:linear-gradient(90deg,#e69a76,#83cfc1);transform:scaleX(0);transform-origin:left;transition:transform .45s}
.text-link:hover:after,.text-link:focus-visible:after{transform:scaleX(1)}
.about .text-link,.contact-copy .text-link,.contact address span{color:#80512f}
.contact .contact-form{position:relative}
.contact .map-card{--muted:#c5d2d0;color:#efede6}
.contact .contact-links,.contact address{color:#34505a}
.experience-list article{background:linear-gradient(135deg,#23474b,#193440)}
.experience-list p{color:#c5d2d0}
.faq details:hover,.faq details[open]{background:linear-gradient(130deg,#e2e8df,#cce0db);border-color:#73998e55}
.faq-answer{background:linear-gradient(130deg,#d7e6dc,#efe3d2)}
.faq .faq-data{color:#796543}
.method{background:linear-gradient(120deg,#654a32,#283e42 65%,#163543)}
.method-steps{position:relative}
.method-steps:before{content:"";position:absolute;left:0;right:0;top:25%;height:2px;background:linear-gradient(90deg,transparent,#e69a76,#83cfc1,transparent);background-size:250% 100%;animation:palette-flow 9s linear infinite;opacity:.6}
.method-steps article.sequence-active{border-color:#d3b08499;box-shadow:0 16px 35px #0003,0 0 22px #83cfc12b,inset 0 1px #e0c18b60}
.phone-icon-link{background:linear-gradient(135deg,#264d51,#5a4936);border-color:#9cb6a8;box-shadow:0 7px 18px #21494a26;animation:palette-flow 8s infinite;background-size:200%}
.phone-icon-link svg{stroke:#d7bc91;animation:none}
.phone-icon-link:hover{box-shadow:0 10px 24px #3c958c45;transform:translateY(-5px) rotate(-5deg)}
.wa-paper b,.wa-paper em{animation:copper-icon 5s infinite alternate;color:#ebc394;text-shadow:0 0 6px #d7a36844}
.service-dossier .text-link,.contact-form .text-link{color:#e8bd8a}
.hero-copy{background:radial-gradient(ellipse at 35% 45%,#102333aa,transparent 75%)}
.footer-company{background:linear-gradient(90deg,#10243250,transparent)}
.assistant-open .current-field{opacity:.3;transition:opacity .5s}
.motion-paused .dossier-phrase,.motion-paused .method-steps:before{animation-play-state:paused!important}
@media(max-width:760px){.current-field{opacity:.8}.method-steps:before{display:none}}
@media(prefers-reduced-motion:reduce){.dossier-phrase,.method-steps:before{animation:none}.button:hover{translate:none}.current-field{opacity:.6}}

/* Continuous environments and clear assistant views. */
.visual-environment{position:relative;isolation:isolate;overflow:clip}
.environment-light{background:linear-gradient(120deg,#f2ede3,#dceae5)}
.environment-depth{background:linear-gradient(125deg,#193b43,#594430 60%,#203c45)}
.visual-environment>.section{background:none;border:0}
.visual-environment>.current-field{z-index:-1!important}
.environment-light .services,.environment-depth .method{padding-top:64px}
.environment-light .about,.environment-depth .perspectives{padding-bottom:64px}
.entry>.current-field{z-index:0!important}
.entry .document-stage{z-index:1}
.dossier-note{font-size:12px;line-height:1.8;color:#c1ceca;border-left:2px solid #b08b60;padding:12px 16px;background:#9b885310}
*{scrollbar-width:thin;scrollbar-color:#9bb5a4 #183440}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:#183440;border-radius:10px}
::-webkit-scrollbar-thumb{background:linear-gradient(#83cfc1,#c19462);border:2px solid #183440;border-radius:10px}
::-webkit-scrollbar-button{display:none;width:0;height:0}
.service-options,.chat-catalog,.chat-messages{overscroll-behavior:contain;scrollbar-gutter:stable}
.chat-view-tabs{display:flex;gap:8px;padding:10px 18px;background:#213c43}
.chat-view-tabs button{flex:1;min-height:38px;border:1px solid #a2b6a744;border-radius:7px;background:transparent;color:#d4ddd7}
.chat-view-tabs button[aria-pressed=true]{background:linear-gradient(120deg,#385c59,#634a33);border-color:#c5a77a88;color:#fff4e0}
.firm-assistant:not(.is-expanded).catalog-open .chat-layout{display:block}
.firm-assistant:not(.is-expanded).catalog-open .chat-catalog{position:relative;inset:auto;width:100%;height:100%;display:block;box-shadow:none}
.firm-assistant:not(.is-expanded).catalog-open .chat-conversation{display:none}
.catalog-search-label{display:grid;gap:8px;font-size:12px;margin-bottom:18px;color:#d4dcd3}
.catalog-search{width:100%;min-width:0;border:1px solid #9db6a759;background:#142d38;color:#f4eedf;border-radius:7px;padding:12px;font-size:13px}
.chat-catalog button[hidden],.catalog-empty[hidden],.service-options button[hidden]{display:none}
.catalog-empty{font-size:12px;color:#e5c198}
.podium li .podium-step,.method-steps article{transition:translate .85s ease,box-shadow .85s,border-color .85s}
.method-steps article{animation:palette-flow 5s ease-in-out infinite!important;background-size:250% 100%!important}
.method-steps article:nth-child(2){animation-delay:-1.2s!important}
.method-steps article:nth-child(3){animation-delay:-2.4s!important}
.method-steps article:nth-child(4){animation-delay:-3.6s!important}
.method-steps article.sequence-active{background-image:linear-gradient(120deg,#6f5536,#2e6d65,#25404c)!important;translate:0 -16px}
.podium li .podium-step.sequence-active{animation:palette-flow 4s ease-in-out infinite;translate:0 -22px;background:linear-gradient(120deg,#336866,#254759,#755536);background-size:250% 100%;box-shadow:inset 0 1px #edd1a5,0 20px 40px #0004,0 0 28px #8fd1a834}
.method-steps article:hover,.method-steps article:focus-within,.podium-step:hover,.podium-step:focus-visible{animation-play-state:paused!important}
.creator-link{min-height:150px;margin-top:24px;margin-bottom:28px}
.creator-link>.micro{position:absolute;top:13px;color:#d2bda1}
.creator-link canvas{filter:drop-shadow(0 0 6px #e89b4a80)}
.creator-name{font-size:44px}

.map-card .map-frame{background:#e5e7e0;height:340px;color-scheme:light}
.map-frame iframe{display:block;background:#e5e7e0}
@media(min-width:761px){.is-expanded .chat-view-tabs{display:none}}
@media(max-width:760px){
 .firm-assistant.is-expanded.catalog-open .chat-layout{display:block}
 .firm-assistant.is-expanded.catalog-open .chat-catalog{position:relative;inset:auto;width:100%;height:100%;box-shadow:none}
 .firm-assistant.is-expanded.catalog-open .chat-conversation{display:none}

 .chat-window-controls button{min-height:40px}
}

@media(min-width:761px){.is-expanded.catalog-collapsed .chat-layout{grid-template-columns:1fr}.is-expanded.catalog-collapsed .chat-catalog{display:none}}
/* Distinct environments, continuous edges. No per-section caustic overlays. */
.section{border:0}
.environment-light{background:linear-gradient(180deg,#e9eeea 0%,#f0f1e9 35%,#e6eff3 82%,#d7e4eb 100%)}
.environment-light>.about,.environment-light>.services{background:none!important}
.services .catalog-aside,.services .service-dossier,.services .service-dossier:nth-child(n),.contact-form,.experience-list article{--ink:#183443;--muted:#49616b;color:var(--ink);background:linear-gradient(125deg,#f5f6ef,#e4eff0);border-color:#96aca455;box-shadow:inset 0 1px white,0 15px 32px #12384a15}
.services .service-dossier:hover,.services .service-dossier[open]{background:linear-gradient(125deg,#e8f5ed,#d4e8ed 60%,#e2e7d9);color:#173b47}
.services .service-dossier .text-link,.services .catalog-aside .micro,.contact-form .panel-top{color:#35615e}
.services .service-dossier small,.dossier-body ul,.services .catalog-aside p,.dossier-note{color:var(--muted)}
.services .service-dossier .service-index,.services .mini-sculpture span{color:#557573}
.services .dossier-phrase{color:#708b80}
.services .expand-mark{color:#245951;background:linear-gradient(130deg,#d1e7df,#d7e7df)}
.perspectives{background:linear-gradient(180deg,#d7e4eb 0%,#243f55 100px,#122d40 75%,#2a4355);padding-top:160px}
.podium li .podium-step,.podium li .podium-step.sequence-active{color:#163444;border:1px solid #d9e9e0a0;background:linear-gradient(125deg,#bcdfd8,#7fbbb9);box-shadow:inset 0 1px #fff9,7px 14px 0 #0002,0 20px 34px #0002}
.podium li:nth-child(2) .podium-step{background:linear-gradient(125deg,#d7e7df,#a7cbc2)}
.podium li:nth-child(3) .podium-step{background:linear-gradient(125deg,#c6dedb,#91b7b7)}
.podium-level,.podium-arrow{color:#305268}
.podium li .podium-step.sequence-active{background-size:250% 100%;box-shadow:0 0 26px #a2dfcc55,7px 20px 0 #0002}
.method{--ink:#1e3541;--muted:#4f6268;color:var(--ink);background:linear-gradient(180deg,#2a4355 0%,#e8e9e4 120px,#edf1e8 100%);padding-top:180px}
.method h2 em{color:#356360}
.method-steps article,.method-steps article.sequence-active{color:#203e4b;background:linear-gradient(125deg,#f1f8f7,#c7dcd5)!important;border-color:#a2b7b477}
.method-steps article:nth-child(2){background:linear-gradient(125deg,#f1f5ee,#c3dad2)!important}
.method-steps article:nth-child(3){background:linear-gradient(125deg,#edf4ef,#bcd6d1)!important}
.method-steps article:nth-child(4){background:linear-gradient(125deg,#f1f3e9,#cbd9c9)!important}
.method .step-number{color:#526f68}
.experience{background:linear-gradient(180deg,#edf1e8,#edf3ef)}
.procedures{background:linear-gradient(180deg,#edf3ef,#e0eceb);color:#193a47;--line:#879e9744}
.faq{background:linear-gradient(180deg,#e0eceb,#f0f1e9)}
.contact{background:linear-gradient(180deg,#f0f1e9,#e2f0ec 75%,#d3e3e2)}
.contact-form input,.contact-form textarea,.contact-form select{background:#f9fbf7;color:#193d48;border-color:#8ca7a16b}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#62747a}
.contact-form .service-picker{--ink:#f0eee8}
.contact-form .form-note,.contact-form .form-status{color:#4b626a}
.contact-form .service-options{color:#f0eee8}
.footer{background:linear-gradient(180deg,#d3e3e2,#122b3a 125px,#102330);padding-top:170px}
.footer-atmosphere{display:block;z-index:0}
.hero .ledger-panel{--ink:#173747;--muted:#4c666c;color:#173747;background:linear-gradient(135deg,#f8f2e6,#dce9e9);border-color:#f3d8b880}
.hero .ledger-panel .panel-top,.hero .ledger-panel .panel-bottom,.hero .ledger-panel .contract-stamp{color:#645743}
.hero .name-input-row input{background:#f9fcfa;color:#173747}
.hero .name-input-row input::placeholder{color:#61767a}
.ticker{background:linear-gradient(180deg,#18333d,#55727a,#e9eeea);color:#f4eee1;border:0}
.mobile-menu{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:28px;overflow:auto;border:0;color:#f2eadc;background:radial-gradient(ellipse at 90% 80%,#54787377,transparent 60%),linear-gradient(145deg,#102b41,#294c5c);isolation:isolate}
.mobile-menu::backdrop{background:#102333}
.mobile-menu:not([open]){display:none}
.mobile-menu[open]{display:flex;flex-direction:column}
.mobile-menu-top,.mobile-menu nav,.mobile-menu-contact{position:relative;z-index:1}
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font:10px Consolas,monospace;letter-spacing:.1em}
.mobile-menu-top button{min-width:78px;min-height:44px;border:1px solid #b2cec566;border-radius:24px;background:#ffffff12;color:#f9ead5;font-size:13px}
.mobile-menu nav{display:flex;flex-direction:column;gap:14px;margin:auto 0;padding:48px 0}
.mobile-menu nav a{font-size:clamp(30px,7vw,48px);line-height:1.3;padding:12px 0;border-bottom:1px solid #a9c9bf33;animation:menu-link-in .5s both;animation-delay:calc(var(--order)*.08s)}
.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible,.mobile-menu nav a.is-current{color:#efbe85}
.mobile-menu-contact{font-size:15px;padding:18px 0;color:#a6e2d5}
body.mobile-menu-open{overflow:hidden}
@keyframes menu-link-in{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@media(max-width:760px){.method,.perspectives{padding-top:150px}.footer{padding-top:150px}.mobile-menu{padding:24px}}
@media(prefers-reduced-motion:reduce){.mobile-menu nav a{animation:none}}
.experience-list p{color:#49616b}
.motion-paused .method-steps article{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.method-steps article,.podium li .podium-step.sequence-active{animation:none!important}}
/* Mineral refinement: same motion, one blue-green family in the interior. */
:root{--mineral-ink:#203b43;--mineral-teal:#477c7b;--mineral-ochre:#c3b18c}

/* The supplied company mark, cropped to its symbol without altering the source asset. */
.wordmark .brand-symbol{display:block;flex:none;width:48px;height:32px;border:1px solid #b5c6c3a6;border-radius:11px 4px;overflow:hidden;background-color:#f7f8f5;background-image:url('../images/logo.png');background-repeat:no-repeat;background-size:144px auto;background-position:-48px -26px;box-shadow:inset 0 1px #fff,0 7px 18px #0a233223;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.wordmark:hover .brand-symbol,.wordmark:focus-visible .brand-symbol{transform:translateY(-3px) rotate(-4deg);box-shadow:0 10px 24px #1542474a}
@media(max-width:760px){.wordmark .brand-symbol{width:43px;height:29px;background-size:129px auto;background-position:-43px -23px}}
.about h2 em,.services h2 em,.perspectives h2 em,.method h2 em,.experience h2 em,.procedures h2 em,.contact h2 em{color:#356360}
.perspectives h2 em{color:#b7d6cd}
.about .eyebrow,.services .eyebrow,.about .firm-facts b,.experience-list span{color:#55736a}
.services .service-dossier .text-link,.contact-copy .text-link,.contact address span{color:#35615e}
.services .service-dossier:hover,.services .service-dossier:focus-within{border-color:#6caaa0;box-shadow:-3px 0 #a9b698,0 15px 35px #1d555622,0 0 18px #83cfc122}
.podium li .podium-step{background-size:250% 100%}
.method-steps article.sequence-active{border-color:#5c9b8e;box-shadow:0 16px 32px #244f4428,0 0 22px #8cbdac35,inset 0 1px #fff}
.method-steps:before{background:linear-gradient(90deg,transparent,#c3b18c,#83b7a9,transparent);background-size:250% 100%}
.contact .button{background-image:linear-gradient(115deg,#234d54,#3d706a 45%,#506b5e 75%,#345b62)}
.contact .service-trigger,.contact .map-heading{background:linear-gradient(120deg,#2d5157,#426963)}
.contact .phone-icon-link{background:linear-gradient(135deg,#264d51,#4b7068)}
.contact .phone-icon-link svg{stroke:#c8d6bd}
.faq-answer{background:linear-gradient(130deg,#d7e6dc,#e8ebde)}
.dossier-note{border-color:#a8b59b;background:#849c7610}
.services .mini-sculpture:before,.services .mini-sculpture:after{border-color:#89b8ad #c7d9c0 #668d8c #e6eddd}

/* Corporate scenes: restrained imagery, legible contrast and purposeful motion. */
.hero{background:#112d39;color:#f7f6ed}
.hero::before{content:"";position:absolute;inset:-1px;z-index:0;pointer-events:none;background:linear-gradient(90deg,#0b2635e8 0%,#0c2a37c4 35%,#0e313c70 68%,#0f303a38 100%),url('../images/landscape-city.webp') center 55%/cover no-repeat}
.hero::after{display:none}
.hero h2 em{color:#cde5d5;text-shadow:0 0 26px #91d1be42}
.hero-copy>p:not(.eyebrow),.hero-bottom{color:#e2e9e3}
.hero .eyebrow,.hero .text-link,.hero-baseline{color:#ead6aa}
.hero .button{background:linear-gradient(115deg,#2a6a70,#386c68 50%,#8e7653 100%);background-size:230% 100%}
.hero .ledger-panel{box-shadow:0 30px 70px #071b2999,0 0 50px #92c6b42b,inset 0 1px #fff}
.cinematic-image{position:relative;isolation:isolate;overflow:hidden;border:1px solid #ecf7ecae;border-radius:6px 42px 6px 6px;box-shadow:0 28px 56px #15363b29,inset 0 1px #fff;background-color:#456969;background-repeat:no-repeat;background-size:cover}
.cinematic-image::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(0deg,#0a283a9e,transparent 27%)}
.cinematic-image::after{display:none}
.image-caption{position:absolute;z-index:2;left:28px;bottom:22px;color:#f7f8ed;font:600 10px/1.5 Consolas,monospace;letter-spacing:.18em;text-shadow:0 2px 10px #061820}
.firm-visual{grid-column:1/-1;min-height:clamp(300px,37vw,480px);margin-top:4px;background-image:url('../images/corporate-city.webp');background-position:center 51%}
.architecture-rise{position:absolute;inset:0;pointer-events:none;opacity:.42}
.architecture-rise i{position:absolute;bottom:0;width:1px;height:56%;background:linear-gradient(transparent,#f5ffffcc,transparent);box-shadow:0 0 16px #c4f4e6;transform-origin:bottom;opacity:.45}
.architecture-rise i:nth-child(1){left:59%;height:39%;animation-delay:-1s}.architecture-rise i:nth-child(2){left:66%;height:68%;animation-delay:-2.1s}.architecture-rise i:nth-child(3){left:73%;height:51%;animation-delay:-3.3s}.architecture-rise i:nth-child(4){left:80%;height:73%;animation-delay:-4.2s}
.office-visual{height:clamp(300px,35vw,440px);margin:-4px 0 34px;background-image:url('../images/office-team.webp');background-position:center 49%}
.method .method-steps{position:relative}
.contact .service-trigger{position:relative;display:grid;place-items:center;min-height:54px;padding:12px 42px;text-align:center;background:linear-gradient(115deg,#234a54,#3a6866 52%,#947b56);background-size:220% 100%;animation:cta-light 5s ease-in-out infinite;color:#f8f6ea}
.contact .service-trigger>span:first-child{justify-self:center;text-align:center}
.contact .service-trigger .picker-chevron{position:absolute;right:16px;top:50%;transform:translateY(-50%)}
.contact .service-trigger:hover,.contact .service-picker.is-open .service-trigger{box-shadow:0 0 0 3px #97c8b443,0 11px 27px #255b5a50}
@keyframes hero-scene{from{background-size:auto,103% auto;background-position:center,50% 53%}to{background-size:auto,110% auto;background-position:center,53% 49%}}
@keyframes scene-light{to{transform:translateX(75%)}}
@keyframes firm-scene{from{background-position:48% 50%}to{background-position:53% 48%}}
@keyframes office-scene{from{background-position:47% 49%}to{background-position:53% 51%}}
@keyframes building-rise{from{transform:scaleY(.2);opacity:.16}to{transform:scaleY(1);opacity:.8}}
@media(max-width:760px){
 .hero::before{background-image:linear-gradient(180deg,#0b2635d8,#0c2a37a8 57%,#0e313c72),url('../images/landscape-city.webp');background-size:cover}
 .firm-visual{min-height:270px;background-position:62% center}
 .office-visual{height:310px;background-position:54% center}
 .image-caption{left:16px;bottom:15px;font-size:8px;max-width:80%}
}
@media(prefers-reduced-motion:reduce){.hero::before,.hero::after,.cinematic-image,.cinematic-image::after,.architecture-rise i{animation:none!important}}

/* Section-specific image fields; the site copy remains in the foreground. */
.services::before,.perspectives::before,.contact::before,.procedures::before{content:"";position:absolute;z-index:0;pointer-events:none;background-repeat:no-repeat;background-size:cover}
.services::before{inset:0 0 auto;height:min(900px,82%);background-image:linear-gradient(180deg,#e9eeea12 0%,#e9eeea35 54%,#e9eeeaab 85%,#e9eeea 100%),url('../images/services-background.webp');background-position:center top}
.perspectives::before{inset:0;background-image:linear-gradient(90deg,#173c3fc7 0%,#1c47479c 44%,#204b4680 100%),linear-gradient(180deg,#14383fa3 0%,#173b3c59 48%,#183e43bc 100%),url('../images/perspectives-pavilion.webp');background-position:center 52%}
.perspectives h2,.perspectives .section-heading>p{color:#f3f5ed;text-shadow:0 2px 24px #071a25a6}
.contact::before{inset:0;background-image:linear-gradient(90deg,#eff2eaad 0%,#edf3ec82 48%,#dfece538 100%),url('../images/contact-background.webp');background-position:center 50%}
.contact .contact-form{background:#f4f8f1ee;box-shadow:0 20px 48px #183d3c25,inset 0 1px #fff}
.firm-assistant{background-image:linear-gradient(150deg,#173544b8,#183a3aba),url('../images/assistant-background.webp');background-position:center;background-size:cover}
.firm-assistant .chat-header,.firm-assistant .chat-tools,.firm-assistant .chat-view-tabs{background-color:#173842dd;background-image:linear-gradient(110deg,#173842c9,#31544dba),url('../images/assistant-background.webp');background-size:cover;background-position:center 38%}
.firm-assistant .chat-catalog,.firm-assistant .chat-conversation{background-image:linear-gradient(150deg,#142f3da8,#173c3db0),url('../images/assistant-background.webp');background-size:cover;background-position:center}
.firm-assistant .chat-catalog{background-image:linear-gradient(150deg,#1c3b43bc,#24443fbe),url('../images/assistant-background.webp')}
.firm-assistant .chat-message{background:#1b3a47ec;border-color:#a4c9bd54;backdrop-filter:blur(12px)}
.firm-assistant .chat-message.user{background:linear-gradient(130deg,#4c4c38ec,#2b5958ec)}
@keyframes background-breathe{from{background-position:center 47%}to{background-position:center 55%}}
@keyframes assistant-atmosphere{from{background-position:45% center}to{background-position:55% center}}
@media(max-width:760px){
 .services::before{height:490px;background-position:center top}
 .perspectives::before{background-position:57% center}
 .contact::before{background-position:62% center}
 .firm-assistant .chat-catalog,.firm-assistant .chat-conversation{background-position:center}
}
@media(prefers-reduced-motion:reduce){.services::before,.perspectives::before,.contact::before,.firm-assistant .chat-catalog,.firm-assistant .chat-conversation{animation:none!important}}

/* Editorial photography takes priority over decorative motion. */
.environment-light{background:#e9eeea}
.environment-light>.current-field{opacity:.38}
.hero>.current-field,.perspectives>.current-field,.contact>.current-field{opacity:.45}
.experience>.current-field,.procedures>.current-field,.faq>.current-field,.method>.current-field{opacity:.35}
.experience{background:#edf2ed;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px)}
.experience-visual{height:clamp(260px,28vw,370px);margin-top:32px;background-image:url('../images/experience-team.webp');background-position:center;background-size:cover}
.experience-visual::before,.faq-visual::before{display:none}
.experience-list article{background:#f5f8f3;border-color:#d9e6dd;box-shadow:0 12px 28px #173e3a13}
.procedures{background:#eaf0eb}
.procedures::before{inset:0 0 auto;height:430px;background-image:linear-gradient(180deg,#eaf0eb08 0%,#eaf0eb18 67%,#eaf0eb 100%),url('../images/procedures-office.webp');background-position:center 46%}
.procedures h2{max-width:740px;text-shadow:0 2px 20px #eaf0eb}
.procedure-list{margin-top:75px}
.procedure-list>span:hover{background:#f7faf1d9}
.faq{background:#e9f0ec;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px)}
.faq-visual{height:clamp(250px,28vw,370px);margin-top:30px;background-image:url('../images/faq-consultation.webp');background-position:center;background-size:cover}
.services .catalog-aside,.services .service-dossier,.services .service-dossier:nth-child(n){background:#f4f8f3;border-color:#d8e5dc}
.services .service-dossier:hover,.services .service-dossier[open]{background:#e8f3ee}
.service-dossier:not([open]){animation:none}
.method-steps article{animation:none!important;background:#edf5ef!important}
.method-steps article:nth-child(2){background:#e8f1ed!important}
.method-steps article:nth-child(3){background:#e3eee9!important}
.method-steps article:nth-child(4){background:#edf1e7!important}
.method-steps article.sequence-active{background:#d4e9df!important;translate:0 -8px}
.podium li .podium-step.sequence-active{animation:none;background:#add8cd;translate:0 -12px}
.mini-sculpture::before,.mini-sculpture::after,.contact-icon{animation:none}
@media(max-width:760px){
 .experience,.faq{grid-template-columns:1fr}
 .experience-visual,.faq-visual{height:250px;margin-top:22px}
 .procedures::before{height:300px;background-position:56% center}
 .procedures h2{font-size:clamp(38px,9vw,52px);max-width:95%}
 .procedure-list{margin-top:54px}
 .environment-light>.current-field,.hero>.current-field,.perspectives>.current-field,.contact>.current-field,.experience>.current-field,.procedures>.current-field,.faq>.current-field,.method>.current-field{opacity:.22}
}

/* Crystal podium, quieter section join, and visible local wave fields. */
.catalog-mark{height:132px;margin:-6px 0 22px;background:url('../images/logo.png') center/100% auto no-repeat;mix-blend-mode:multiply}
.services>.current-field,.experience>.current-field{opacity:.9}
.services .catalog-aside{background:#f8faf4d9;backdrop-filter:blur(14px)}
.perspectives .podium li .podium-step{isolation:isolate;color:#f6faf5;background:#d8f0e826;border:1px solid #dcf3ed82;backdrop-filter:blur(17px) saturate(1.15);-webkit-backdrop-filter:blur(17px) saturate(1.15);box-shadow:inset 0 1px #ffffff70,0 18px 38px #071f2c65;text-shadow:0 1px 1px #051d29a8;transition:translate .55s var(--ease),box-shadow .55s,border-color .55s,background .55s}
.perspectives .podium li:nth-child(2) .podium-step,.perspectives .podium li:nth-child(3) .podium-step{background:#d8f0e826}
.perspectives .podium li .podium-level,.perspectives .podium li .podium-arrow{color:#effaf4;text-shadow:0 2px 15px #06232da8}
.perspectives .podium li .podium-step.sequence-active{color:#fff;background:linear-gradient(130deg,#94d7cc7a,#d2e4d74b 62%,#cfb88e4d);background-size:180% 180%;border-color:#f5fff0b0;translate:0 -18px;box-shadow:inset 0 1px #fff9,0 25px 48px #061e2da1,0 0 27px #90d5c382;animation:crystal-catch .85s ease-out both}
.perspectives .podium li .podium-step:hover,.perspectives .podium li .podium-step:focus-visible{translate:0 -18px;border-color:#f7fff4;box-shadow:inset 0 1px #fff,0 24px 48px #061e2da1,0 0 26px #8fd6c177}
@keyframes crystal-catch{from{background-position:0% 50%;filter:brightness(1.16)}to{background-position:100% 50%;filter:brightness(1)}}
.method{background:linear-gradient(180deg,#183b49 0%,#31545b 100px,#bfd3d0 345px,#edf2ed 490px);padding-top:190px}
.experience{background:#e7f0eb}
.experience-list article{background:#f9fcf6c7;border-color:#d6e6dd;backdrop-filter:blur(12px);transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}
.experience-list article:hover{transform:translateX(-6px);border-color:#94c6b8;box-shadow:0 18px 36px #214f4729,inset 3px 0 #7baea2}
@media(max-width:760px){.catalog-aside{display:block}.catalog-mark{width:min(100%,220px);height:120px;margin:0 auto 18px}.services>.current-field,.experience>.current-field{opacity:.6}.perspectives .podium li .podium-step{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.method{padding-top:150px;background:linear-gradient(180deg,#183b49 0%,#bfd3d0 280px,#edf2ed 430px)}}
@media(prefers-reduced-motion:reduce){.perspectives .podium li .podium-step.sequence-active{animation:none}}

/* Scene continuity: imagery, currents and readable copy share the full section. */
.entry .doc-seal{width:88px;height:56px;margin:17px auto 15px;border-radius:11px 4px;background:#f8faf6 url('../images/logo.png') -88px -48px/264px auto no-repeat;border:1px solid #d8e1d6;box-shadow:inset 0 1px #fff,0 6px 20px #061e283f}
.perspectives::after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:-2px;height:180px;pointer-events:none;background:linear-gradient(180deg,transparent,#173e43 92%)}
.method{padding-top:152px;background:linear-gradient(180deg,#173846 0%,#315b63 90px,#c1d8d1 225px,#edf2ed 440px)}
.method::before{content:"";position:absolute;inset:0 0 auto;height:460px;z-index:0;pointer-events:none;background:linear-gradient(180deg,#173846a8 0%,#d4e5df81 35%,#edf2edec 90%,#edf2ed 100%),url('../images/method-atrium.webp') center 58%/cover no-repeat;animation:scene-drift 24s ease-in-out infinite alternate}
.method>.current-field,.procedures>.current-field{opacity:.43}
.experience>.current-field,.faq>.current-field{opacity:.24}
.services::after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:0;height:min(950px,34%);pointer-events:none;background:linear-gradient(180deg,#e9eeea 0%,#e9eeeaad 24%,#e9eeea70 56%,#e9eeea 100%),linear-gradient(90deg,#e9eeead1 0%,#e9eeea7a 48%,#e9eeea28 100%),url('../images/services-archive.webp') center 55%/cover no-repeat}
.experience::before,.faq::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-repeat:no-repeat}
.experience::before{background-image:linear-gradient(90deg,#edf4ecdf 0%,#edf4eccc 38%,#edf4ec85 68%,#edf4ec42 100%),url('../images/experience-boardroom.webp');background-position:center 48%}
.faq::before{background-image:linear-gradient(90deg,#eaf2ea6b 0%,#eaf2ea9b 48%,#eaf2eae4 77%,#eaf2eaed 100%),url('../images/faq-lounge.webp');background-position:center 52%;animation:scene-drift 27s ease-in-out infinite alternate}
.procedures::before{inset:0;height:auto;background-image:linear-gradient(180deg,#eaf0eb85 0%,#eaf0ebbc 50%,#eaf0ebdf 100%),url('../images/procedures-office.webp');background-position:center 45%}
@keyframes scene-drift{from{background-position:center 43%;filter:saturate(.92)}to{background-position:54% 49%;filter:saturate(1.04)}}

/* The map never collapses into a blank embed: the Google link remains exact. */
.map-frame{position:relative;min-height:340px;background:#d8e8de;isolation:isolate}
.map-frame iframe{position:absolute;inset:0;z-index:2;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity .5s ease}
.map-frame.map-loaded iframe{opacity:1;pointer-events:auto}
.map-fallback{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 74% 20%,#bbd3c5 0 6%,transparent 30%),repeating-linear-gradient(32deg,transparent 0 51px,#adcabd8e 52px 55px,transparent 56px 94px),repeating-linear-gradient(123deg,#e4eee5 0 45px,#cdded2 46px 49px,#e4eee5 50px 88px)}
.map-fallback::before{content:"";position:absolute;inset:-30% -10%;transform:rotate(-13deg);border-top:18px solid #f9f5e8;border-bottom:12px solid #f9f5e8;box-shadow:0 0 0 2px #8caea280,0 95px 0 0 #f9f5e8,0 -105px 0 0 #f9f5e8;opacity:.8}
.map-fallback::after{content:"";position:absolute;width:420px;height:220px;border:18px solid #a8d0c1a8;border-radius:55% 45% 55% 40%;transform:rotate(-19deg);left:-80px;bottom:-110px;filter:blur(2px)}
.map-place{position:relative;z-index:1;width:min(310px,calc(100% - 30px));padding:20px 22px;background:#f5faf1ea;border:1px solid #fff;border-radius:4px 22px 4px 4px;box-shadow:0 15px 36px #1d544337;backdrop-filter:blur(7px);color:#244c4b}
.map-place span{display:block;font:700 9px Consolas,monospace;letter-spacing:.16em;color:#547d6e}
.map-place strong{display:block;margin:8px 0 4px;font:italic 38px Georgia,serif}
.map-place small{display:block;font-size:11px;line-height:1.5;color:#4f6966}
.map-place a{display:inline-flex;margin-top:17px;padding-bottom:4px;border-bottom:1px solid #4c807a;font-size:12px;font-weight:700;color:#2e6863}
.map-place a:hover,.map-place a:focus-visible{color:#945b31;border-color:#945b31}
.map-loaded .map-fallback{visibility:hidden}
@media(max-width:760px){.entry-bottom{min-height:28px;padding:8px 20px}.method{padding-top:124px;background:linear-gradient(180deg,#173846 0%,#4d777b 80px,#d7e5de 205px,#edf2ed 370px)}.method::before{height:360px;background-position:56% 75%}.perspectives::after{height:110px}.services::after{height:700px}.experience::before,.faq::before{background-position:58% center}.map-frame{min-height:300px}}
@media(max-width:390px){.entry .doc-seal{margin:12px auto}.map-place strong{font-size:32px}}
@media(prefers-reduced-motion:reduce){.method::before,.faq::before{animation:none}}

/* The selection remains visible after the service menu closes. */
.contact .service-trigger.has-selection{border-color:#b6d2bd;background:linear-gradient(115deg,#1c4750,#3c6b60 53%,#6a7757);box-shadow:inset 0 1px #e6fff04a,0 0 0 2px #a9d4bc2b,0 12px 30px #1c514b36}
.contact .service-trigger.has-selection #service-value::before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:9px;border-radius:50%;background:#c4e8d3;color:#194d49;font-size:12px;font-weight:800}
.service-options button[aria-selected="true"]::after{content:"✓";margin-left:auto;color:#dbefc9;font-weight:700}
.contact .service-picker.is-invalid .service-trigger{border-color:#e9b484;box-shadow:0 0 0 3px #e9b48455}
.contact-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-form .form-status:not(:empty){margin-top:12px;font-size:13px;line-height:1.5;color:#eef7e9}
.contact-form button[type="submit"]:disabled{opacity:.65;cursor:wait}

/* Selective animated currents: visible over photography, quiet behind copy. */
.perspectives>.current-field{opacity:.8}
.experience>.current-field{opacity:.62}
.faq>.current-field{opacity:.52}
.contact>.current-field{opacity:.64}
.perspectives .section-heading,.experience>div,.faq>div,.contact>div{position:relative;z-index:1}
@media(max-width:760px){.perspectives>.current-field{opacity:.55}.experience>.current-field,.faq>.current-field,.contact>.current-field{opacity:.38}}

/* Viridian accents and cool-blue panel edges; movement remains behind the content. */
:root{--viridian:#40826d;--viridian-deep:#286958;--viridian-light:#a6d2bd;--edge-blue:#7ca9c1;--shadow-blue:#28577b26}
.button{background:linear-gradient(112deg,#255f58 0%,#40826d 49%,#366d82 100%);background-size:210% 100%;border-color:#abd8c891;box-shadow:inset 0 1px #ffffff80,0 10px 26px #28577b30}
.hero .button,.contact .button{background-image:linear-gradient(112deg,#255f58 0%,#40826d 49%,#366d82 100%);background-size:210% 100%}
.button:hover,.button:focus-visible{border-color:#c1e3e5;box-shadow:inset 0 1px #fff,0 15px 29px #28577b45,0 0 18px #7ca9c15c}
.contact .service-trigger,.contact .service-trigger.has-selection{background:linear-gradient(115deg,#235e58,#40826d 54%,#356981);background-size:210% 100%;border:1px solid #92bfd0a8;box-shadow:inset 0 1px #ffffff61,0 11px 26px #28577b2c}
.contact .service-trigger:hover,.contact .service-trigger:focus-visible,.contact .service-picker.is-open .service-trigger{border-color:#b9dbe6;box-shadow:0 0 0 3px #7ca9c13c,0 14px 28px #28577b39}
.about h2 em,.services h2 em,.method h2 em,.experience h2 em,.procedures h2 em,.contact h2 em{color:var(--viridian-deep)}
.text-link:hover,.contact-link:hover{color:var(--viridian-deep);text-shadow:0 0 14px #40826d30}
.header nav a:hover,.header nav a:focus-visible,.hero .text-link:hover,.footer .text-link:hover{color:#a9dfca;text-shadow:0 0 15px #40826d91}
.services .service-dossier:hover,.services .service-dossier[open],.experience-list article:hover,.method-steps article:hover,.method-steps article:focus-within,.faq details[open],.contact-form:focus-within{border-color:var(--edge-blue);box-shadow:inset 0 1px #fff,0 14px 32px var(--shadow-blue),0 0 0 1px #7ca9c12a}
.method-steps article.sequence-active{background:#d5e8dd!important;border-color:#8eb7ba;box-shadow:0 16px 32px #28577b30,inset 3px 0 var(--viridian)}
.perspectives .podium li .podium-step{border-color:#a9cbd8a8;box-shadow:inset 0 1px #ffffff80,0 18px 38px #11334470,0 0 0 1px #7ca9c120}
.perspectives .podium li .podium-step.sequence-active{background:linear-gradient(130deg,#71b79d72,#a4c8be4c 60%,#8ab4c654);border-color:#d5eaee;box-shadow:inset 0 1px #fff9,0 24px 44px #08273391,0 0 24px #7ca9c173}
.perspectives .podium li .podium-step:hover,.perspectives .podium li .podium-step:focus-visible{border-color:#cae3eb;box-shadow:inset 0 1px #fff,0 23px 44px #08273391,0 0 25px #80aec679}
.faq details[open] .faq-answer{background:linear-gradient(130deg,#f0f7f1d9,#dcebecd6)}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--edge-blue);box-shadow:0 0 0 3px #7ca9c138;outline:0}
@media(prefers-reduced-motion:reduce){.button,.contact .service-trigger{animation:none}}
